COBOL2002 ユーザーズガイド


17.2 復帰コードと返却項目

呼び出し先のプログラムやメソッドが呼び出し元プログラムに値を返すには,RETURN-CODE特殊レジスタ(復帰コード)を使用する方法と,RETURNING指定(返却項目)を使用する方法があります。復帰コードや返却項目は,COBOLプログラムからCOBOLプログラムやC言語のプログラムを呼び出し,呼び出し先プログラムで設定した返却項目を受け取るときに指定します。

規則

COBOLプログラム間で値を返す場合の規則を,次に示します。

呼び出し元プログラム

呼び出し先プログラム/メソッド

PROCEDURE DIVISIONの指定

RETURNING指定あり

RETURNING指定なし

CALL文または

INVOKE文の指定

RETURNING指定あり

×

RETURNING指定なし

×

(凡例)

○:返却項目を正しく受け渡せる

×:返却項目を正しく受け渡せない

注※

RETURNING指定がない場合は,RETURN-CODE特殊レジスタを使用して返却項目を参照または設定します。

  • CALL文またはINVOKE文のRETURNING指定のデータ項目と,呼び出し先プログラムまたはメソッドの手続き部見出しのRETURNING指定のデータ項目の長さ,および用途は同じでなければなりません。

  • 同じ最外側のプログラムを複数のCALL文に指定した場合,RETURNINGの指定ありと,指定なしが混在してはいけません。また,RETURNINGの指定がある場合は,それぞれのRETURNINGに指定されたデータ項目の長さ,および用途が同じでなければなりません。

  • 最外側のプログラムを呼び出す場合,RETURNINGに指定したデータ項目の属性で返却項目を参照します。

  • RETURNING指定でデータ項目に可変長項目を設定した場合,戻り値には常に最大長が受け渡されます。

CALL文のRETURNING指定による情報の受け渡しの例を,次に示します。

[図データ]

呼び出し元プログラムは,呼び出し先プログラムの返却項目(COBOLプログラムの手続き部見出しのRETURNINGに指定したデータ項目)の値を,CALL文のRETURNINGに指定したデータ項目で参照できます。

〈この節の構成〉