7.7.2 CALLCHECKについてのコメント/警告
· CALLCHECKコマンドは、BEGINCHECK/ENDCHECK妥当性検査ブロック内にコード化する必要があります。詳細については、これらのコマンドのセクションを参照してください。
· プログラム検査の一部として呼び出されるすべてのプログラムには、少なくとも3つの標準パラメータが必要です。これらのパラメータは暗黙的で、ADD_PARMSパラメータで宣言する必要はありません。
名前 |
記述 |
---|---|
戻りコード |
1文字の英数字。プログラムから"1"(正常)または"0"(異常)が返されます。プログラム検査に合格したか失敗したかをLANSAに示すためにプログラムで使用されます。 |
フィールドの名前 |
10文字の英数字。プログラムに渡されます。3番目のパラメータ内に渡されるフィールドの(その値に対する)名前が格納されます。 |
フィールドの値 |
長さとタイプは、フィールドのデータ・ディクショナリ定義によって決まります。英数字フィールドは、データ・ディクショナリ定義と同じタイプと長さで渡されます。すべての数値フィールド(タイプPまたはS)は、パック10進数(タイプP)で渡され、長さと小数点以下桁数は、データ・ディクショナリ定義に従います。フィールドの値は作業域で渡されるため、妥当性検査プログラムでパラメータ値を変更してフィールド値を変更することはできません。 |
· 追加のパラメータは、ADD_PARMSで指定することにより、プログラムに渡すことができます。
· 追加のパラメータとして以下のものを指定できます。
· 英数字リテラル
· 数値リテラル(1、14.23、-1.141217など)
· 別のフィールド名(#CUSTNO、#INVNUMなど)
· システム変数名(*BLANKS、*ZERO、*DATE、各システムで定義されているその他のシステム変数など)
· プロセス・パラメータ(*UP01、*UP02など)
· 拡張可能なグループ式((#XG_CUST #XG_PROD *EXCLUDING #CUSTNO)など)
· 渡されるパラメータのタイプと長さは、指定されたパラメータ値のタイプと長さによって決まります。
· 英数字フィールド(英字リテラル、英字フィールド、英字システム変数、または英字プロセス・パラメータ)の場合、パラメータは英字(256文字)として渡され、パラメータ値は256バイトのパラメータに左詰めで配置されます。
· 数値フィールド(数値リテラル、数値フィールド、数値システム変数、または数値プロセス・パラメータ)の場合、パラメータはパック15桁で渡され、小数点以下の桁数はパラメータ値と同じになります。
· 数値リテラルの場合、小数点以下桁数は、そのリテラルでの指定に従います(例えば、1.12は(15,2)、7.12345は(15,5)、143は(15,0)のパック10進数として渡されます)。
· その他すべてのタイプの数値パラメータでは、小数点以下桁数は、それぞれの定義に従います。
· 標準パラメータと同様に実際の値は作業域で渡されるため、妥当性検査プログラム内のパラメータ値を変更してフィールド値を変更することはできません。
· 詳細については、『LANSA/AD ユーザーガイド』の「複雑なロジック検査」を参照してください。