BY REFERENCE 句
BY REFERENCE 句を通して渡されるパラメーター値は、CALL ステートメントの実行時に評価されます。 この値は、呼び出し先プログラムの対応パラメーターに割り当てられます。 各パラメーターの文字数は等しくなければなりませんが、データ記述は同一である必要はありません。
ILE COBOL パラメーターに BY REFERENCE が渡されると、元のデータ項目に対するポインターが、呼び出し先プログラムに渡されます。 このため、呼び出し先プログラムのパラメーターを変更すると、呼び出し側プログラムのデータ項目が変更されることになります。
- ID-2
- ファイル・セクション、作業用ストレージ・セクシ
ョン、ローカル・ストレージ・セクションまたはリンケージ・セクション
で、レベル 01、レベル 77、または基本データ項目として定義する必要があります。 関数 ID であってはなりません。
IBM ExtensionIBM Extension この句は下記のものになります。
- データ部のあらゆるレベルのデータ項目
- ポインター・データ項目 (USAGE IS POINTER として暗黙に、または明示的に定義された項目)
- プロシージャー・ポインター・データ項目
- DBCS データ項目
- 国別データ項目
- 浮動小数点データ項目
- 日時データ項目
End of IBM Extension
IBM Extension
IBM Extension
- ADDRESS OF 特殊レジスター
- この特殊レジスターについては ADDRESS OF 特殊レジスター ページを参照してください。この場合には計算された ADDRESS OF が使用できない点に注意してください。
- ファイル名-1
- ファイル名-1 は、FD 記入項目内に示さなければなりません。 これはヌル・ポインター・データ項目を渡します。
- OMITTED
- パラメーターに BY REFERENCE が渡されるときの標準のパラメーターの場合、
元のデータ項目へのポインターは、呼び出し先プログラムに渡されます。
OMITTED が指定されていると、呼び出し先プログラムに NULL ポインターが渡されます。
この場合には、呼び出し先プログラムはそのデフォルト値を使用します。
OMITTED を指定できるのは、プロシージャーの LINKAGE TYPE を指定したプログラムに対する呼び出しに限られます。
End of IBM Extension