ILE COBOL 解説書

+----------------------------------IBM 拡張----------------------------------+

BY VALUE 句

BY VALUE 句が指定された場合は、送り出しデータ項目への参照ではなく、パラメーターの値が引き渡されます。 呼び出し先プログラムは、BY VALUE パラメーターに対応する仮パラメーターを変更できます。 ただし、呼び出し先プログラムは送り出しデータ項目の一時コピーにアクセスできるため、その変更はパラメーターには影響しません。

BY VALUE パラメーターはもともと非 COBOL プログラム (C など) との通信に使用することを意図したものですが、COBOL から COBOL への呼び出しにも使用できます。 この場合、BY VALUE は、CALL USING 句におけるパラメーターと PROCEDURE DIVISION USING 句におけるそれに対応する仮パラメーターの両方に対して指定または暗黙に指定しなければなりません。

BY CONTENT 句、BY VALUE 句および BY REFERENCE 句は、他の BY CONTENT 句、BY VALUE 句または BY REFERENCE 句を見つけるまでそれらに続くパラメーターに適用されます。 これらの句が最初のパラメーターより前に現れない場合は、BY REFERENCE が想定されます。

BY VALUE 句は、リンケージ・タイプのプログラムを使用して呼び出されたプログラムには使用できません。

ID-3
ファイル・セクション、作業用ストレージ・セクシ ョン、ローカル・ストレージ・セクションまたはリンケージ・セクション で、レベル 01、レベル 77、または基本データ項目として定義する必要があります。

この句は、下記のものになります。

ADDRESS OF 特殊レジスター
この特殊レジスターについては "ADDRESS OF 特殊レジスター" ページを参照してください。
ADDRESS OF データ項目
この項目については "ADDRESS OF" ページを参照してください。
LENGTH OF 特殊レジスター
LENGTH OF 特殊レジスターには、ID で参照されるデータ項目によって使用されるバイト数が含まれます。 詳細は LENGTH OF 特殊レジスターを参照してください。
リテラル-3
リテラル-3 は、下記のものになります。
浮動リテラル-1
SIZE 句が指定されていない限り、浮動小数点リテラルは、8 バイトの内部浮動小数点 (COMP-2) として渡されます。 浮動小数点項目に対して、サイズ句は 4 でも 8 でも可能です。
整数-1
符号付きまたは符号なしの整数です。

整数-1 は 2 進数値として渡されます。整数-2 を指定しないと、整数-1 が 4 バイトの 2 進数値として渡されます。 整数-2 は、整数-1 のサイズを指定します。 これは、1、2、4 または 8 のいずれかです。

+------------------------------End of IBM 拡張-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]