Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


テーブルの初期化 (INITIALIZE)

1 つ以上の INITIALIZE ステートメントをコーディングすることにより、テーブルをロードできます。

例えば、以下に示す TABLE-ONE という名前のテーブルのそれぞれの基本数値データ項目に値 3 を移動するには、次のステートメントをコーディングできます。

INITIALIZE TABLE-ONE REPLACING NUMERIC DATA BY 3.

文字「X」を、TABLE-ONE のそれぞれの基本英数字データ項目に移動するには、次のステートメントをコーディングできます。

INITIALIZE TABLE-ONE REPLACING ALPHANUMERIC DATA BY “X”.

INITIALIZE ステートメントを使用してテーブルを初期化するとき、テーブルはグループ項目として (つまりグループ・セマンティクスを使用して) 処理されます。グループ内の基本データ項目が認識されて処理されます。 例えば、TABLE-ONE が、以下のように定義された英数字グループであるとしましょう。

01  TABLE-ONE.
  02  Trans-out  Occurs 20.
      05  Trans-code       Pic X    Value “R”.
      05  Part-number      Pic XX   Value “13”.
      05  Trans-quan       Pic 99   Value 10.
      05  Price-fields.
          10  Unit-price   Pic 99V  Value 50.
          10  Discount     Pic 99V  Value 25.
          10  Sales-Price  Pic 999  Value 375.
      . . .  
      Initialize TABLE-ONE Replacing Numeric Data By 3
                                     Alphanumeric Data By “X”

以下の表は、上記の INITIALIZE ステートメントの実行前および実行後に 12 個の 12 バイト・エレメント Trans-out(n) のそれぞれが含んでいる内容を示しています。

Trans-out(n) (実行前) Trans-out(n) (実行後)
R13105025375 XXb0303030031
  1. 記号 b は、ブランク・スペースを表します。

同様に INITIALIZE ステートメントを使用して、国別グループとして定義されたテーブルをロードできます。 例えば、上に示す TABLE-ONEGROUP-USAGE NATIONAL 文節を指定した場合で、 Trans-code および Part-numberPICTURE 文節に X ではなく N が指定されている場合、以下のステートメントは、上記の INITIALIZE ステートメントと同じ効果を持つことになります。ただし、 TABLE-ONE のデータは代わりに UTF-16 でエンコードされます。

Initialize TABLE-ONE Replacing Numeric  Data By 3
                               National Data By N“X”

REPLACING NUMERIC 句は、浮動小数点データ項目も初期化します。

INITIALIZE ステートメントの REPLACING 句を同様に使用して、テーブル内の基本データ項目 ALPHABETICDBCSALPHANUMERIC-EDITEDNATIONAL-EDITED、および NUMERIC-EDITED すべてを初期化できます。

INITIALIZE ステートメントでは、値を可変長テーブル (OCCURS DEPENDING ON 文節を使用して定義されたもの) に割り当てることはできません。

例: データ項目の初期化

関連タスク
構造の初期化 (INITIALIZE)
テーブルの定義時の値の割り当て (VALUE)
可変長テーブルへの値の割り当て
テーブルのループ処理
データ項目とグループ項目の使用
国別グループの使用

関連参照
INITIALIZE ステートメント (「COBOL for Windows 言語解説書」)


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

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