パラメーターを呼び出し先サブプログラムに渡す必要がある場合に、CALL ステートメントの中に含まれます。 呼び出し先サブプログラムが COBOL で書かれた場合は、 呼び出し先サブプログラムの手続き部ヘッダーにも USING 句が含まれていなければなりません。 両方の USING 句にあるオペランドの数は同一でなければなりません。 プログラムの LINKAGE TYPE が指定された CALL ステートメントの場合、オペランドの最大数は 255 であり、またプロシージャーの LINKAGE TYPE の場合はオペランドの最大数が 400 となっています。
CALL ステートメントの USING 句にある ID の順番、および呼び出し先サブプログラムの手続き部ヘッダー中の対応する USING 句にある ID の順序によって、 呼び出し側プログラムおよび呼び出し先プログラムで使用される ID の間の対応が決まります。 この対応は名前によらず、位置によるものです。 USING 句の詳細は USING 句を参照してください。
渡されるデータの属性は、呼び出し先サブプログラムの要件によって決定されます。 呼び出し先プログラムにいくつかのパラメーターが必要な場合、 そのパラメーターを構成するグループ項目でなく、個々のパラメーターの一致するものを指定しなければなりません。
+----------------------------------IBM 拡張----------------------------------+
いくつかのプロシージャー (たとえば、ILE CEEDATE および CEEDAYS API) では、1 つまたは複数のパラメーターの操作記述子が使用可能である必要があります。 この要件は、SPECIAL-NAMES の段落で、適切なパラメーターを指定した USING 句と一緒にプロシージャー用の LINKAGE TYPE 文節を組み込むことにより満たす必要があります。 さらに、このようなパラメーターはすべて DISPLAY または DISPLAY-1 の USAGE を使用して基本データ項目として定義される必要があり、参照変更はできません。
+------------------------------End of IBM 拡張-------------------------------+
CALL ステートメントの USING 句の中で参照されるパラメーター値は、CALL ステートメントが実行されるときに、呼び出し先サブプログラムで利用できるようになります。
USING 句の例
呼び出し側プログラムの記述 (PGMA) | 呼び出し先プログラムの記述 (PGMB) |
---|---|
WORKING-STORAGE SECTION. 01 ARG-LIST. 05 PARTCODE PIC A. 05 PARTNO PIC X(4). 05 U-SALES PIC 9(5). . . . PROCEDURE DIVISION. . . . CALL PGMB USING ARG-LIST. |
LINKAGE SECTION. 01 PARAM-LIST. 10 PART-ID PIC X(5). 10 SALES PIC 9(5). . . . PROCEDURE DIVISION USING PARAM-LIST. |