| 32
バイト以下の文字ストリング定数は、常に 32 バイトとして (右側にブランクが 埋め込まれて)
渡されます。文字定数が 32 バイトより長い場合には、その長さの定 数全体が渡されます。パラメーターが
32 バイトより大きいものとして定義されている場合には、CALL コマンドは正確にそのバイト数分の定義を渡さなければなりません。32 文字より長い定数については、受取側のプログラムで予定されている長さに 合わせるための埋め込みは行われません。
受取側のプログラムは、渡したバイト数より少ないバイト数しか受け取ることができません。(トリミングされます)
受取側のプログラムが、渡したバイト数より多いバイト数を受け取った場合、その結果は予期できません。
10 進定数は、長さ LEN(15 5) のパック 10
進形式で渡されます。15 は値全体の 桁数で、5 は小数部分の桁数です。したがって、12345 というパラメーターが渡さ れるとすれば、受取側のプログラムでは 10 進数フィールドが LEN(15 5) として宣 言されていなければならず、そのパラメーターは 12345.00000 として受け取られま す。呼び出されるプログラムに数値定数を渡す必要があり、かつそのプログラムが「15 5」以外の桁数と精度でその値の受取が想定されている場合には、その定数を 16 進数形式でコーディングすることができます。
論理定数は 32 バイトの長さを持つものとして渡されます。論理値 0 または 1 は第 1 バイトにあり、その他のバイトはブランクです。論理値で動作するプログラムに 0 または 1 以外の値が渡されると、その結果は予期できないものになることがあり ます。
浮動小数点リテラルまたは浮動小数点特殊値
(*NAN、*INF、または *NEGINF)は、8 バイトを占める倍精度の値として渡されます。CL プログラムは浮動小数点数を処理 することはできませんが、浮動小数点数値を文字変数に受け入れて、その変数を浮動 小数点数の処理が可能な HLL プログラムに渡すことはできます。
|