16.3.2 CALL文(BY VALUE指定)(C言語インタフェース機能)
- 形式
-
書き方1
書き方2
注※
CALL文で定数1が指定されたときだけ指定できる。
- 機能
-
BY VALUE指定は,COBOLプログラムからCOBOLプログラムまたはC言語で記述されたプログラムを呼び出す場合に,COBOLプログラムまたはC言語のプログラムでパラメタを値渡しで受け取るときに指定する。
- 構文規則
- 一般規則
-
-
BY REFERENCE指定,BY VALUE指定は,別のBY REFERENCE指定,BY VALUE指定が現れるまで,それに続くデータ名に対して有効となる。
-
最初のデータ名の前にBY VALUE,BY REFERENCE,BY CONTENTのどの指定もない場合,BY REFERENCE指定が仮定される。
-
PROCEDURE DIVISIONのBY REFERENCE指定は,CALL文のBY REFERENCE指定,BY CONTENT指定に対応していなければならない。
-
CALL BY VALUEの定数とPROCEDURE BY VALUEの受け取り側作用対象との関係およびBY VALUE指定のデータ項目とC言語の引数指定の関係については,マニュアル「COBOL2002 ユーザーズガイド」またはマニュアル「COBOL2002 使用の手引 手引編」を参照のこと。
-
呼び出し元プログラムと呼び出し先プログラムが,COBOLプログラムの場合,CALL文でRETURNING指定をすると,呼び出し先で復帰情報が設定されていても,呼び出し元の,RETURN-CODE特殊レジスタで復帰情報を参照できない。
-
呼び出し元プログラムと呼び出し先プログラムがCOBOLプログラムの場合,手続き部見出しにRETURNING指定がされていないならば,CALL文にRETURNING指定をしてはいけない。手続き部見出しにRETURNING指定がされているならば,CALL文にRETURNING指定をしなければならない。
CALL文のRETURNING指定のデータ項目と,呼び出し先プログラムの手続き部見出しのデータ項目の長さおよび用途は同じでなければならない。
-
同一外部プログラムを複数のCALL文に指定した場合,RETURNINGの指定ありと,指定なしが混在してはならない。また,RETURNINGの指定がある場合はそれぞれのRETURNINGに指定されたデータ項目の長さおよび用途は同じでなければならない。
-
外部プログラムを呼び出す場合,RETURNINGに指定されたデータ項目の属性で戻り値を参照する。
-
- 【標準仕様との関連】
-
「COBOL2002 言語 標準仕様編」 「10.8.4 CALL文」