1. ヘッダー
手続き部のヘッダーは、以下の図のように、USING句とRETURNING句で構成されます。
以下は、各設定項目についての説明です。
-
USING句
-
USING句は、プログラムの呼び出し時に、呼び出されたプログラムがパラメータを受け取るために指定します。
-
USINGを介してデータを受け取るためには、プログラムのLINKAGEセクションに、受け取るデータの項目をレベル01またはレベル77の項目として記述します。一方、CALLを使用してサブ・プログラムにデータを転送するためには、呼び出したプログラムのデータ部に転送するパラメータのデータ項目を記述する必要があります。
LINKAGEセクションに指定された項目を参照するには、以下の条件を満たす必要があります。
-
USAGE句に指定されたオペランド
-
SET ADDRESS OF、CALL ... BY REFERENCE ADDRESS OFのオペランド
-
上記の条件を満たしつつ、REDEFINESまたはRENAMESが定義されているオペランド
-
上記の条件を満たしている副項目
-
上記の条件を満たしている条件名と指標名
-
-
USINGを介して非COBOLプログラムとCOBOLプログラムの間でデータを送受信することができます。
-
呼び出すプログラムが渡したパラメータと、呼び出されるプログラムが受け取ったパラメータとの対応関係は、指定したパラメータの名前ではなく位置によって決定されます。呼び出すプログラムと呼び出されるプログラムにおいて、対応される識別子はデータ記述と同じである必要はありませんが、バイト数は一致する必要があります。
-
パラメータの転送方法には、BY REFERENCE(参照による)方法とBY VALUE(値による)方法があります。パラメータの転送方法についての詳細は、[sect_statement_CALL]を参照してください。
-
-
RETURNING句
-
RETURNING句は、呼び出したプログラムに値を渡すために指定します。
-
data-name2は、プログラムのLINKAGEセクションにレベル01からレベル77の項目として記述されている必要があります。
-
RETURNINGデータ項目は、出力専用のデータ項目です。プログラムの初期状態では、このデータ項目の値を予想することができません。そのため、同データ項目を参照する前に必ず初期化してください。RETURNING句についての詳細は、[sect_statement_CALL]を参照してください。
-