COBOL2002 言語 拡張仕様編


16.3.1 手続き部見出し(C言語インタフェース機能)

形式

[図データ]

機能

BY VALUE指定は,C言語で記述されたプログラムからパラメタを値渡しで受け取るときに指定する。また,COBOLプログラムからパラメタを値渡しで受け取るときにも指定する。

構文規則
  1. データ名2,データ名3は,添字付け,修飾,部分参照されてはいけない。

  2. データ名2は,可変長集団項目を指定してはならない。

  3. 手続き部見出しのRETURNING指定は,呼び出し元へ返す値が設定されるデータ項目を指定する。

  4. データ名3は,連絡節でレベル01記述項またはレベル77記述項として定義されていなければならない。

  5. データ名3は,データ名1またはデータ名2と重複してはならない。

一般規則
  1. BY REFERENCE指定,BY VALUE指定は,別のBY REFERENCE指定,BY VALUE指定が現れるまでそれに続くデータ名に対して有効となる。

  2. 最初のデータ名の前にどの指定もない場合,BY REFERENCE指定が仮定される。

  3. BY REFERENCE指定は,CALL文のBY REFERENCE指定,BY CONTENT指定に対応していなければならない。

  4. RETURNING指定をすると,RETURN-CODE特殊レジスタを用いて呼び出し元へ復帰情報を返せない。

  5. 呼び出し元プログラムと呼び出し先プログラムが,COBOLプログラムの場合,CALL文にRETURNING指定がされていないならば,PROCEDURE DIVISIONにRETURNING指定をしてはいけない。CALL文にRETURNING指定がされているならば,PROCEDURE DIVISIONにRETURNING指定をしなければならない。

  6. PROCEDURE DIVISIONのRETURNING指定のデータ項目と,呼び出し元のCALL文のRETURNING指定のデータ項目の長さおよび用途は同じでなければならない。

  7. データ名3は,メインプログラム(-Mainオプションによってmain関数が生成されたプログラム)の場合,8バイトを超えるデータ項目を指定してはならない。