作業用記憶域セクション (WORKING-STORAGE SECTION)

作業用記憶域セクション (WORKING-STORAGE SECTION)

REDEFINES 文節

データを再定義するための既存の規則は、DBCS 文字を含むデータにも適用されます。 再定義するまたは再定義したデータの長さを判別する場合、各 DBCS 文字は英数字の 2 倍の長さであることに注意してください。

さらに、再定義されたデータ項目では、必要な場合には必要な場所にシフト制御文字が含まれているようにしてください。

OCCURS 文節

この文節は、DBCS データを保管するテーブルを定義するのに使用します。 ASCENDING/DESCENDING KEY 句を指定した場合、COBOL はテーブルの内容が EBCDIC プログラム照合順序であると見なします。 混合データのシフト制御文字は、照合順序に含まれています。

DBCS 文字を含むテーブルの処理の詳細については テーブル処理 -- SEARCH ステートメントを参照してください。

JUSTIFIED RIGHT 文節

JUSTIFIED RIGHT 文節は、DBCS データを基本受け取り側フィールドの右端にそろえます。 受け取り側フィールドが送り側フィールドより短い場合、COBOL は右端の文字を切り捨てます。 受け取り側フィールドが送り側フィールドより長い場合、COBOL は受け取り側フィールドの左側の使用されない部分にブランクを埋め込みます。

JUSTIFIED 文節は、VALUE 文節の初期設定に影響を与えません。

VALUE 文節

混合リテラルを使用して、数字以外のデータ項目の初期値を指定したり、 レベル 88 条件名項目の値を定義したりすることができます。 DBCS または DBCS 編集データ項目の初期値を指定するには、DBCS リテラルを使用しなければなりません。

リテラル内のシフト制御文字は、次の行への継続に使用されている場合を除いて、そのリテラルのピクチャー・ストリングの一部と見なされます。 混合リテラルを継続する場合、 コンパイラーは 71 桁目または 72 桁目のシフトイン文字、または継続行の最初にある引用符 (") およびシフトアウト文字を、 混合リテラルの一部には含めません。 ただし、その混合リテラルが、PICTURE 文節で指定されたデータ項目のサイズを超えないようにしてください。 超えた場合は切り捨てが行われます。

DBCS リテラルを使用して、DBCS データ項目を初期設定することができます。

レベル 88 条件名項目の VALUE 文節に DBCS 文字を含むリテラルを使用すると、COBOL はその DBCS 文字を英数字として処理します。 したがって、THROUGH オプションの使用も含め、英数字データを指定する際の規則に従ってください。 このオプションでは通常の EBCDIC 照合順序を使用しますが、DBCS データにあるシフト制御文字が照合順序に影響を与えることに注意してください。

PICTURE 文節

混合データ項目、および DBCS データ項目の G または N のどちらかを定義するには、PICTURE 記号 X を使用します。 n 個の DBCS 文字を含む DBCS データ項目は、次のようにして定義します。

PICTURE G(n) または PICTURE N(n)

m 個の SBCS 文字と、n 文字の DBCS 文字ストリング 1 個を含む混合データ項目は、次のようにして定義されます。

PICTURE X(m+2n+2)

混合データ項目には、編集した英数字 PICTURE 記号をすべて使用できます。 編集記号がこれらの項目内の DBCS データに与える影響は、英数字データ項目に与える影響と同じです。 期待した結果が得られたかどうかを確認してください。 純粋な DBCS データ項目では、B 編集記号しか使用できません。

RENAMES 文節

この文節は、基本データ項目の代替グループ化を指定するのに使用します。 英数字データ項目の名前を変更する際の既存の規則は、DBCS データ項目にも適用されます。