INITIALIZE(初期化)文は,数字データならゼロ,英数字データなら空白というように,特定の型のデータ領域にあらかじめ決められた値を設定する.
【書き方】
(1) | 定数-1及び一意名-2のデータ項目は,送出し側を表し,一意名-1のデータ項目は,受取り側を表す. |
(2) | REPLACING指定に記述する各項類は,対応する一意名-2のデータ項目又は定数-1を送出し側作用対象として用いるMOVE文の受取り側作用対象として許される項類でなければならない. |
(3) | 同じ項類をREPLACING指定で繰り返すことはできない. |
(4) | 一意名-1のデータ項目又は一意名-1に従属する項目の記述は,OCCURS句のDEPENDING指定を含んではならない. |
(5) | 指標データ項目を,INITIALIZE文の作用対象に書いてはならない. |
(6) | 一意名-1のデータ項目に対するデータ記述項は,RENAMES句を含んでいてはならない. |
(1) | 語REPLACINGに続く予約語は,データの字類の概念で定めたデータの項類に対応する. |
||||
(2) | 一意名-1が基本項目でも集団項目でも,基本項目を受取り側とする一連のMOVE文が書かれたかのように,以下の規則に従って処理される.REPLACING指定を記述した場合は,次とする.
この初期化は,次のように行われる.一意名-2のデータ項目又は定数-1が,暗黙のMOVE文の送出し側作用対象として扱われる. このようなすべての受取り側の基本項目は,集団項目中の表項目すべての繰返しを含めて初期化される.ただし,一般規則(3)及び(4)で記述する領域は除く. |
||||
(3) | 指標データ項目及び基本FILLERデータ項目は,INITIALIZE文の実行に影響されない. |
||||
(4) | 受取り側の一意名に従属し,REDEFINES句を含む項目又はそのような項目に従属する項目は,この処理の対象とならない.しかし,受取り側の一意名は,それ自身REDEFINES句を持っていてもよいし,REDEFINES句を持つ項目に従属していてもよい. |
||||
(5) | REPLACING指定を書かないと,項類が英字,英数字,英数字編集,日本語又は日本語編集のデータ項目には空白が設定され,項類が数字,数字編集又はブールのデータ項目にはぜロが設定される.この場合,初期化される各データ項目を受取り側とし,空白又はゼロを送出し側の定数とする基本項目間のMOVE文であるかのように処理が行われる. |
||||
(6) | すべての場合において,一意名-1のデータ項目は,INITIALIZE文の一意名-1の出現順序(左から右へ)に従って,指定された値が設定される.この順序において,一意名-1が集団項目ならば,処理される基本項目は,その集団項目中でそれらの定義順に初期化される. |
||||
(7) | 一意名-1が一意名-2と同じ記憶領域を占有するときは,たとえそれらが同じデータ記述項によって定義されていても,この文の実行結果は規定しない. |