CALL ステートメント内の引数の代わりに OMITTED キーワードをコーディングして、1 つ以上の BY REFERENCE 引数が、呼び出し先プログラムに渡されないように指定することができます。
例えば、プログラム sub1 を呼び出すときに、2 番目の引数を 省略するには、次のステートメントをコーディングします。
Call 'sub1' Using PARM1, OMITTED, PARM3
CALL ステートメントの USING 句の引数は、数および位置において呼び出し先プログラムのパラメーターと一致しなければなりません。
呼び出し先プログラムで、対応するパラメーターのアドレスを NULL と比較して、引数が OMITTED として渡されたかどうかをテストすることができます。 以下に例を示します。
Program-ID. sub1.
. . .
Procedure Division Using RPARM1, RPARM2, RPARM3.
If Address Of RPARM2 = Null Then
Display 'No 2nd argument was passed this time'
Else
Perform Process-Parm-2
End-If
関連参照
CALL ステートメント (Enterprise COBOL 言語解説書)
USING 句 (Enterprise COBOL 言語解説書)