Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


メソッドの呼び出し (INVOKE)

Java クライアントでは、COBOL でインプリメントされたクラスのオブジェクト・インスタンスを作成し、標準 Java 構文を使用して、それらのオブジェクトでメソッドを呼び出すことができます。 COBOL クライアントでは、INVOKE ステートメントをコーディングすることにより、Java または COBOL クラスで定義されたメソッドを呼び出すことができます。

Invoke Account "createAccount"
   using by value 123456
   returning anAccount
Invoke anAccount "credit" using by value 500.

上の最初の例の INVOKE ステートメントは、クラス名 Account を使用して、createAccount という名前のメソッドを呼び出します。 このメソッドは、Account クラスで定義または継承されている必要があります。また、次のいずれかの型である必要があります。

using by value 123456 という句は、123456 が、メソッドの入力引数であり、値により受け渡されることを表します。 入力引数 123456 と戻されるデータ項目 anAccount は、(多重定義されているかもしれない) createAccount メソッドの仮パラメーターおよび戻りの型の定義に それぞれ準拠している必要があります。

2 番目の INVOKE ステートメントは、戻されるオブジェクト参照 anAccount を使用して、インスタンス・メソッド credit (Account クラスに定義されている) を呼び出します。入力引数 500 は、(おそらく多重定義された) credit メソッドの 仮パラメーターの定義に準拠しなければなりません。

実行時におけるその値がターゲット・メソッドのシグニチャー内のメソッド名と一致する リテラルとして、または ID として呼び出すメソッドの名前をコーディングします。 メソッド名は、英数字または国別リテラルであるか、あるいはカテゴリー英字、英数字、または国別のデータ項目でなければならず、解釈されるときには大/小文字が区別されます。

INVOKE ステートメントを (上記の 2 番目の例のステートメントのように) オブジェクト参照を使用してコーディングする場合、そのステートメントは次の 2 つの形式のうちのいずれかで始まります。

Invoke objRef "literal-name"  . . .
Invoke objRef identifier-name . . .

メソッド名が ID である場合には、オブジェクト参照 (objRef) を、指定する型の ない USAGE OBJECT REFERENCE として、すなわち、汎用オブジェクト 参照として、定義しなければなりません。

呼び出されたメソッドが、オブジェクト参照の参照先のクラスでサポートされない場合、重大度 3 の言語環境プログラム条件が実行時に発生します。ただし、INVOKE ステートメントで ON EXCEPTION 句をコーディングした場合は別です。

オプションの範囲終了符号 END-INVOKEINVOKE ステートメントで 使用することができます。

INVOKE ステートメントは RETURN-CODE 特殊レジスターを設定しません。

関連参照
INVOKE ステートメント (Enterprise COBOL 言語解説書)


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)