BY CONTENT 句

BY CONTENT 句を通して渡されるパラメーター値は、CALL ステートメントの実行時に評価されます。 この値は、呼び出し先プログラムの対応パラメーターに割り当てられます。

BY CONTENT が渡される ILE COBOL の各項目に関しては、呼び出し側プログラム中でその項目のコピーが作られ、このコピーのポインターを呼び出し先プログラムに渡します。 呼び出し先プログラムの中でそのパラメーターに加えられた変更は、呼び出し側プログラムのデータ項目には影響を与えません。 各パラメーターの文字数は等しくなければなりませんが、データ記述は同一である必要はありません。

ID-2
ファイル・セクション、作業用ストレージ・セクシ ョン、ローカル・ストレージ・セクションまたはリンケージ・セクション で、レベル 01、レベル 77、または基本データ項目として定義する必要があります。 関数 ID であってはなりません。
IBM Extension
この句は下記のものになります。
  • データ部のあらゆるレベルのデータ項目
  • ポインター・データ項目 (USAGE IS POINTER として暗黙に、または明示的に定義された項目)
  • プロシージャー・ポインター・データ項目
  • DBCS データ項目
  • 国別データ項目
  • 浮動小数点データ項目
  • 日時データ項目
End of IBM Extension
IBM Extension
ADDRESS OF 特殊レジスター
この特殊レジスターについては ADDRESS OF 特殊レジスター ページを参照してください。
ADDRESS OF データ項目
この項目については ADDRESS OF ページを参照してください。
LENGTH OF 特殊レジスター
LENGTH OF 特殊レジスターには、ID で参照されるデータ項目によって使用されるバイト数が含まれます。 詳細については LENGTH OF 特殊レジスターを参照してください。
リテラル-2
リテラル-3 は、下記のものになります。
  • 非数字リテラル
  • 表意定数
  • ブール・リテラル
  • DBCS リテラル
  • 変更の始まり 国別リテラル 変更の終わり
ファイル名-1
ファイル名-1 は、FD 記入項目内に示さなければなりません。 これはポインター・データ項目を渡します。
OMITTED
パラメーターに BY CONTENT が渡されるときの標準のパラメーターの場合、データ項目のコピーへのポインターは、呼び出し先プログラムに渡されます。 OMITTED が指定されていると、呼び出し先プログラムに NULL ポインターが渡されます。 この場合には、呼び出し先プログラムはそのデフォルト値を使用します。

OMITTED を指定できるのは、プロシージャーの LINKAGE TYPE を指定したプログラムに対する呼び出しに限られます。

End of IBM Extension