+----------------------------------IBM 拡張----------------------------------+
GIVING と RETURNING は同等です。
データ名-2 は、出力専用のパラメーターです。 プログラムの結果として戻されるデータ項目を指定します。 データ名-2 は、リンケージまたは作業用ストレージ・セクションに定義しなければなりません。 添え字を付けたり参照変更することはできません。
データ名-2 は、内部浮動小数点または外部浮動小数点、DBCS、日付、時刻、ある いはタイム・スタンプのデータ項目のうちのどれであってもかまいません。
プログラムがその呼び出し側に戻されると、データ名-2 の値は CALL RETURNING 句に指定された ID に暗黙に保管されます。
RETURNING 句の存在は、RETURN-CODE 特殊レジスターの設定には影響しません。
呼び出し側プログラムが COBOL の場合、CALL ステートメントの GIVING/RETURNING 句を指定する必要があります。 さらに、その呼び出し側プログラム内のデータ名 2 とそれに対応する CALL RETURNING ID は、同じ数の文字位置で、かつ同じ USAGE 文節、SIGN 文節およびカテゴリーのものでなければなりません。
PROCEDURE DIVISION RETURNING 句は主プログラムでは使用しないでください。 予期しない結果となります。PROCEDURE DIVISION RETURNING 句を指定できるのは、呼び出し先サブプログラムだけです。 主プログラムでは、操作環境に値を戻す RETURN-CODE 特殊レジスターを使用してください。
PROCEDURE DIVISION ヘッダーの RETURNING/GIVING 句に TYPE 句を含めることはできません。
この特殊レジスターについては "ADDRESS OF 特殊レジスター" ページを参照してください。
+------------------------------End of IBM 拡張-------------------------------+