パラーメーターをプログラムに渡すには、CALL 文の USING 指定でパラメーターを指定します。次に例を示します。
CALL "program-name" USING parameter-1, ..., parameter-n
同様に、呼び出し先のプログラムは、手続き部ヘッダーの USING 句または ENTRY 文でパラメーターを指定します。パラメーターの名前は、呼び出し先のプログラムと呼び出し元のプログラムで同じである必要はありませんが、パラメーターの順序は同じにする必要があります。各パラメーターは、呼び出し先のプログラムと呼び出し元のプログラムの両方で、同じデータ型とサイズを宣言する必要があります。
パラメーターは次の形式で渡すことができます。次のパラメーターを渡すことができます。
たとえば、次の文は parameter-1 のアドレスを渡します。
CALL "program-name" USING BY CONTENT parameter-1
各バイナリの計算項目 (COMP、BINARY、COMP-4、COMP-5、および COMP-X) は、COMP-5 データ項目として渡されます。つまり、データ項目へのポインターとしてではなく、データ項目としてマシンの順序で表されます。COMP-5 項目のサイズは、USING BY VALUE 指定の SIZE 修飾子が使用されるかどうかにより異なります。使用される場合、COMP-5 データ項目のサイズは、元の項目のサイズに応じて 4 バイトまたは 8 バイトのいずれかです。SIZE 修飾子が指定されない場合は、デフォルトのサイズの 4 バイトが使用されます。
浮動小数点および小数部の計算項目 (COMP-1、COMP-2、COMP-3、および PACKED DECIMAL) は、変換されずにそのままスタックにコピーされます。
たとえば、次の文は 2 バイトの値「5」を渡します。
CALL "program-name" USING BY VALUE 5 SIZE 2.
渡されるすべてのパラメーターのサイズ合計は 1020 バイトを越えてはなりません。各 BY REFERENCE および BY CONTENT パラメーターは 4 バイトをを占有します。