2.7.4 3GLパラメータ
任意
プログラムに渡す追加のパラメータがある場合は、パラメータを指定します。
追加のパラメータは3GLプログラムを呼び出す場合にのみ使用することができ、妥当性検査ファンクションを呼び出す場合には使用できません。
ルール
追加のパラメータとして指定できるものは、以下のとおりです。
· 'NSW'、'BALMAIN'などの引用符で囲まれた英数字リテラル
· 1、14.23、-1.141217などの数字リテラル
· CUSTNO、INVNUMなどの他のフィールド名
· *BLANKS、*ZERO、*DATEなどのシステム変数名、またはユーザーのインストール時に定義されている他のシステム変数
· *UP01、*UP02などのプロセス・パラメータ
· 英数字フィールド(英字リテラル、英字フィールド、英字システム変数、または英字プロセス・パラメータ)の場合、パラメータは英字(256文字)として渡され、パラメータ値は256バイトのパラメータに左詰めで配置されます。
· 数値フィールド(数値リテラル、数値フィールド、数値システム変数、または数値プロセス・パラメータ)の場合、パラメータはパック15桁で渡され、小数点以下の桁数はパラメータ値と同じになります。つまり、数値リテラルの小数点以下の桁数は、リテラルで指定されたとおりになります(例:1.12はパック15,2、7.12345はパック15,5、143はパック15,0としてそれぞれ渡されます)。また、他のすべての数値パラメータ・タイプについては、小数点以下の桁数は個々の定義と同じものになります。
· 渡されるパラメータのタイプと長さは、指定されたパラメータ値のタイプと長さによって決まります。
· 標準のパラメータと同様に実際の値は作業域に渡されるため、妥当性検査プログラム内のパラメータ値を変更してフィールドの値を変更することはできません。
· LANSAは、呼び出される3GLプログラムに正しいパラメータ・リストがあるかどうかを検査しません。この検査はお客様の方で行ってください。
複雑ロジック検査の一部として呼び出されるすべての3GLプログラムには、標準パラメータが最低でも3つある必要があります。オプションは以下のとおりです。
名前 |
説明 |
戻りコード |
1文字の英数字。プログラムから"1"(正常)または"0"(異常)が返されます。プログラムはこのコードを使用して、複雑ロジック検査が正常に終了したか失敗したかをLANSAに示します。 |
フィールドの名前 |
10文字の英数字。プログラムに渡されます。3番目のパラメータ内に渡されるフィールドの(その値に対する)名前が格納されます。 |
フィールドの値 |
長さとタイプは、フィールドのリポジトリの定義によって決まります。英数字フィールドは、そのリポジトリの定義と同じタイプと長さで渡されます。すべての数値フィールド(タイプPまたはS)はパック(タイプP)として渡され、長さと小数点以下の桁数はそのリポジトリの定義と同じになります。フィールドの値は作業域に渡されるため、妥当性検査プログラム内のパラメータの値を変更してフィールドの値を変更することはできないことに注意してください。 |
さらに、次のトピックも参照してください。