システム変数とは、すべてのLANSA区画で使用されるグローバル変数です。全体で共通の、動的に値が変化しうる情報を格納するために使います。
例えば「現在の日付」は、全体で共通であり、しかもその値は毎日変わります。そこで、現在の日付に「*TODAYS_DATE」という名前のシステム変数を割り当てることができます。
一度このシステム変数を作成すると、その名前を以下のようにLANSA内の多くの場所で使用することができます。
妥当性規則の記述にシステム変数を使うと、次のような利点があります。
例えば「DATDUE」というフィールドに、その日の日付しか設定できないようにするとしましょう。この場合、妥当性規則は、次のようにさまざまな書き方ができます。
出荷バージョンのLANSAには多くのシステム変数が搭載されていますが、システム変数の主な目標は、各企業に特有の情報へのアクセスを支援することです。例えば、次のシステム変数を作成して、自社特有の要件に一致させることができます。
|
上述のシステム変数はLANSAに同梱されないことに注意してください。これらは、独自のシステム変数を作成するための例です。
LANSAにシステム変数を定義する場合、取り出し方法を指定する必要があります。これは、システム変数をいつ派生または評価するかを示します。STATICまたはDYNAMICを指定できます。さらに、「呼び出しによる値の設定」パラメータは、システム変数を「評価」するLANSAファンクションまたは3GLプログラムを特定します。変数値を適切に設定、維持できるかどうかはこのファンクション/プログラム次第なので、その処理内容は重要です。
注:システム変数は、LANSAシステム・レベルに存在するため、すべての区画で共有されます。システム変数の値をある LANSA 区画で変更すれば、その新しい値はすべての区画で使用されます。