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 ステートメントの実行前および実行後に 20 個の 12 バイト・エレメント Trans-out(n) のそれぞれが含んでいる内容を示しています。
| Trans-out(n) (実行前) | Trans-out(n) (実行後) |
|---|---|
| R13105025375 | XXb0303030031 |
|
|
同様に INITIALIZE ステートメントを使用して、国別グループとして定義されたテーブルをロードできます。 例えば、上記の TABLE-ONE で GROUP-USAGE NATIONAL 節を指定した場合で、 Trans-code および Part-number の PICTURE 節に X ではなく N が指定されている場合、以下のステートメントは、上記の INITIALIZE ステートメントと同じ効果を持つことになります (ただし、 TABLE-ONE のデータは代わりに UTF-16 でエンコードされます)。
Initialize TABLE-ONE Replacing Numeric Data By 3
National Data By N"X"
REPLACING NUMERIC 句は、浮動小数点データ項目も初期化します。
INITIALIZE ステートメントの REPLACING 句を同様に使用して、テーブル内の基本データ項目 ALPHABETIC、DBCS、ALPHANUMERIC-EDITED、NATIONAL-EDITED、および NUMERIC-EDITED のすべてを初期化できます。
INITIALIZE ステートメントでは、値を可変長テー ブル (つまり、OCCURS DEPENDING ON 節を使用して定義されたテーブル) に割り当てることはできません。
関連タスク
構造の初期化 (INITIALIZE)
テーブルの定義時の値の割り当て (VALUE)
可変長テーブルへの値の割り当て
テーブルのループ処理
データ項目とグループ項目の使用
国別グループの使用
関連参照
INITIALIZE ステートメント (Enterprise COBOL 言語解説書)