仮想フィールドの入出力

仮想フィールドの値をどの時点で求めるか、適切に定義することが重要です。例えば日付の書式を変換して画面に表示する場合、出力専用の仮想フィールドが使えるでしょう。一方、書式を変換して実フィールドに格納するために使う、入力用の仮想フィールドも考えられます。仮想フィールドの派生時期を適切に定義することは、事前結合フィールドやトリガーを組み合わせて使う場合、さらに重要です。データをファイルから入力した後、出力する前に値を求めるようにしたい場合は、次のように定義します。

Derive value when record is read = DISPLAY ONLY

これは、ファイルからデータを読み込んだ時点で仮想フィールドを生成する旨を表します。この指定を行うと、情報が設定されて表示に利用できます。例えばデータが「YYYY/MM/DD」という書式で格納されており、したがって文字列として整列すれば日付順に並ぶとします。しかし印刷/表示の際は「DD/MM/YY」という書式を使いたいとしましょう。この仮想フィールドの値は、入力時、すなわちファイルからデータを読み込んだ時点で決まります。

Populate real field when writing to file = UPDATE FILE

このオプションは、仮想フィールドに入力された情報が、実フィールドの定義に使用されるファイル・フィールドに書き込まれることを意味しています。仮想フィールドとはユーザーの入力フィールドであり、ファイル内の実フィールドに情報を書き込みます。例えば、ユーザーが日付をDD/MM/YYで入力すると、YY/MM/DDに変換されてファイルに格納されます。

要約すると、次のようになります。

次のトピックも参照してください。

LANSA テクニカル リファレンスガイド』の「ファイル読込み後に仮想フィールドの値を設定

LANSA テクニカル リファレンスガイド』の「ファイル書込み前に実フィールド゙へ値を設定