仮想列の値をどの時点で求めるか、適切に定義することが重要です。例えば日付の書式を変換して画面に表示する場合、出力専用の仮想列が使えるでしょう。一方、書式を変換して実列に格納するために使う、入力用の仮想列も考えられます。仮想列の派生時期を適切に定義することは、事前結合列やトリガーを組み合わせて使う場合、さらに重要です。データをテーブルから入力した後、出力する前に値を求めるようにしたい場合は、次のように定義します。
レコード読み取り時に派生する値 = 表示のみ
これは、テーブルからデータを読み込んだ時点で仮想列を生成する旨を表します。この指定を行うと、情報が設定されて表示に利用できます。例えばデータが「YYYY/MM/DD」という書式で格納されており、したがって文字列として整列すれば日付順に並ぶとします。しかし印刷/表示の際は「DD/MM/YY」という書式を使いたいとしましょう。この仮想列の値は、入力時、すなわちテーブルからデータを読み込んだ時点で決まります。
テーブル書き込み時に実列に値を入れる = テーブル更新
このオプションは、仮想列に入力された情報が、実列の定義に使用されるテーブル・列に書き込まれることを意味しています。仮想列とはユーザーの入力列であり、テーブル内の実列に情報を書き込みます。例えば、ユーザーが日付をDD/MM/YYで入力すると、YY/MM/DDに変換されてテーブルに格納されます。
要約すると、次のようになります。
次のトピックも参照してください。
『LANSA テクニカル リファレンスガイド』の「テーブル読込み後に仮想列の値を設定」
『LANSA テクニカル リファレンスガイド』の「テーブル書込み前に実列゙へ値を設定」