仮想列を定義する方法は2通りあります。

  • LANSA拡張定義
  • RPGやCで記述したプログラムによる定義

拡張定義による方法では次のようなことができます。

  • 部分文字列の抽出。詳細については、『LANSA テクニカル リファレンスガイド』サブストリングを参照してください。
  • 連結。詳細については、『LANSA テクニカル リファレンスガイド』連結を参照してください。
  • 数値計算。詳細については、『LANSA テクニカル リファレンスガイド』数値計算を参照してください。
  • 日付の変換。詳細については、『LANSA テクニカル リファレンスガイド』日付変換を参照してください。
  • コード・フラグメント。詳細については、『LANSA テクニカル リファレンスガイド』コード・フラグメントを参照してください。

一方、RPGやCで記述したプログラムによる方法(『LANSA テクニカル リファレンスガイド』仮想ロジックを参照)は、次のような複雑な処理をしたい場合に向いています。

  • タイプや長さの変換
  • 日付から年齢への変換
  • 実行時データ変換

LANSAトリガー・ファンクションを使って仮想列を定義することも可能です。トリガー・ファンクションはRDMLで記述するものであり、RPGやCで記述する代わりに使えるのです。

仮想列はリポジトリに定義します。列単位、テーブル単位妥当性規則を与えることも可能です。また、基底列に妥当性規則が設定されていれば、仮想列にも適用されます。このように、仮想列は、リポジトリの他の列と同じように使えます。

仮想列は、実テーブル中には存在しないので、LANSA外から直接使うことはできません。LANSA OAM (オブジェクト・アクセス・モジュール) の働きで、存在するように見せかけているのです。したがって、仮想列にアクセスできるのは、LANSA Open を使うクライアント・アプリケーションや、LANSA OAMを使うアプリケーションに限ります。



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

実列と仮想列の違い

仮想列の考え方

  • No labels