2.8.4 3GLパラメータ
任意
プログラムに渡す追加のパラメータがある場合は、パラメータを指定します。
追加のパラメータは3GLプログラムを呼び出す場合にのみ使用することができ、妥当性検査ファンクションを呼び出す場合には使用できません。
ルール
追加のパラメータとして指定できるものは、以下のとおりです。
- 'NSW'、'BALMAIN'などの引用符で囲まれた英数字リテラル
- 1、14.23、-1.141217などの数字リテラル
- *BLANKS、*ZERO、*DATEなどのシステム変数名、またはユーザーのインストール時に定義されている他のシステム変数
- 英数字列(英字リテラル、英字列、英字システム変数、または英字プロセス・パラメータ)の場合、パラメータは英字(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)として渡され、長さと小数点以下の桁数はそのリポジトリの定義と同じになります。列の値は作業域に渡されるため、妥当性検査プログラム内のパラメータの値を変更して列の値を変更することはできないことに注意してください。
|
|
さらに、次のトピックも参照してください。
2.8.3 呼び出しプログラム:3GLプログラム