システム変数の考え方

システム変数とは、すべてのLANSA区画で使用されるグローバル変数です。全体で共通の、動的に値が変化しうる情報を格納するために使います。

例えば「現在の日付」は、全体で共通であり、しかもその値は毎日変わります。そこで、現在の日付に「*TODAYS_DATE」という名前のシステム変数を割り当てることができます。

一度このシステム変数を作成すると、その名前を以下のようにLANSA内の多くの場所で使用することができます。

妥当性規則の記述にシステム変数を使うと、次のような利点があります。

例えば「DATDUE」というフィールドに、その日の日付しか設定できないようにするとしましょう。この場合、妥当性規則は、次のようにさまざまな書き方ができます。

出荷バージョンのLANSAには多くのシステム変数が搭載されていますが、システム変数の主な目標は、各企業に特有の情報へのアクセスを支援することです。例えば、次のシステム変数を作成して、自社特有の要件に一致させることができます。

システム変数

説明

タイプ

長さ

小数点の位置

*PERIOD

現在の会計年度

N

4

0

*LASTPERIOD

直前の会計年度

N

4

0

*NEXTPERIOD

次の会計年度

N

4

0

*BEGINMONTH

今月の初日

N

6

0

*ENDMONTH

今月の末日

N

6

0

*SYDOFFICE

シドニー支店の名称と住所コード

A

7

 

*MEBOFFICE

メルボルン支店の名称と住所コード

A

7

 

*COMPANY

総勘定元帳で使う企業番号

A

2

 

 

上述のシステム変数はLANSAに同梱されないことに注意してください。これらは、独自のシステム変数を作成するための例です。

LANSAにシステム変数を定義する場合、取り出し方法を指定する必要があります。これは、システム変数をいつ派生または評価するかを示します。STATICまたはDYNAMICを指定できます。さらに、「呼び出しによる値の設定」パラメータは、システム変数を「評価」するLANSAファンクションまたは3GLプログラムを特定します。変数値を適切に設定、維持できるかどうかはこのファンクション/プログラム次第なので、その処理内容は重要です。

注:システム変数は、LANSAシステム・レベルに存在するため、すべての区画で共有されます。システム変数の値をある LANSA 区画で変更すれば、その新しい値はすべての区画で使用されます。