CHAR
CHAR は、USAGE DISPLAY および USAGE
DISPLAY-1 データ項目の表記および実行時の処置に影響を与えます。
| CHAR オプションの構文 |
 .-NATIVE-.
>>-CHAR(-+-EBCDIC-+-)------------------------------------------><
'-S390---'
|
デフォルト: CHAR(NATIVE)
省略形: なし
プラットフォームのネイティブの文字表現 (ネイティブの形式) を使用するには、CHAR(NATIVE) を指定します。
COBOL for Windows の場合、ネイティブ形式は、実行時に有効なロケールによって示されるコード・ページによって定義されます。コード・ページは、単一バイト ASCII コード・ページまたは ASCII DBCS コード・ページです。
CHAR(EBCDIC) と CHAR(S390) は同義です。これらは、DISPLAY および DISPLAY-1 データ項目が zSeries の文字表現 (つまり EBCDIC) であることを示します。
ただし、USAGE 文節の NATIVE 句で
定義された DISPLAY および DISPLAY-1 データ項目は、CHAR(EBCDIC) オプションの影響を受けません。
これらは常にプラットフォームのネイティブ形式で格納されます。
CHAR(EBCDIC) コンパイラー・オプションは、実行時の処理に次のような影響を及ぼします。
- USAGE DISPLAY および USAGE DISPLAY-1 項目: USAGE DISPLAY で記述されたデータ項目内の文字は、
単一バイトの EBCDIC 形式として処理されます。
USAGE DISPLAY-1 で記述されたデータ項目内の文字は、
EBCDIC DBCS 形式として処理されます
(後続の記述で、EBCDIC という用語は、
USAGE DISPLAY の単一バイトの EBCDIC 形式および USAGE DISPLAY-1 の EBCDIC DBCS 形式を指しています)。
- ネイティブ形式でエンコードされたデータは、
端末からの ACCEPT で EBCDIC 形式に変換されます。
- EBCDIC データは、端末への DISPLAY でネイティブ形式に変換されます。
- 英数字リテラルおよび DBCS リテラルの内容は、
EBCDIC でエンコードされたデータ項目への割り当てのため、EBCDIC 形式に変換されます。
CHAR(EBCDIC) オプションが有効な場合の文字データの比較に関する規則については、COLLSEQ オプションに関する関連参照内の表を参照してください。
- 編集には EBCDIC 文字を使用します。
- 埋め込みには EBCDIC スペースを使用します。英数字操作 (割り当てや比較など) に使用されるグループ項目は、
グループ内の基本項目の定義に関わらず、単一バイトの EBCDIC スペースで埋め込まれます。
- USAGE DISPLAY 項目への割り当て、またはこの項目との関係条件において、VALUE 文節内で使用される表意定数 SPACE または SPACES は、1 バイトの EBCDIC スペース (つまり X'40') として扱われます。
- DISPLAY-1 項目への割り当て、またはこの項目との関係条件において、VALUE 文節内で使用される表意定数 SPACE または SPACES は、1 バイトの EBCDIC DBCS スペース (つまり X'4040') として扱われます。
- Class テストは、EBCDIC の値範囲に基づいて実行されます。
- USAGE DISPLAY 項目
- CALL identifier、CANCEL
identifier、または形式 6 SET ステートメント内の program-name はネイティブ形式に変換されます (identifier で示されるデータ項目が EBCDIC でエンコードされている場合)。
- ASSIGN USING data-name の data-name で示されるデータ項目内の file-name は、
ネイティブ形式に変換されます (データ項目が EBCDIC でエンコードされている場合)。
- SORT-CONTROL 特殊レジスター内の file-name は、ソートまたはマージ関数に渡される前にネイティブ形式に変換されます
(SORT-CONTROL には、暗黙的な定義 USAGE
DISPLAY があります)。
- ゾーン 10 進数データ (USAGE
DISPLAY を使用した数値 PICTURE 文節) および display
浮動小数点データは、EBCDIC 形式として処理されます。例えば、
PIC S9 value “1” の値は、
X'31' ではなく X'F1' です。
- グループ項目: 英数字グループ項目は、USAGE DISPLAY 項目と同様に扱われます。
(英数字グループ項目の USAGE 文節は、
グループ自体ではなくグループ内の基本項目に適用されます。)
16 進数リテラルが文字データに割り当てられるか、文字データと比較される場合は、16 進数リテラルが EBCDIC 文字を表すものと想定されます。例えば、X'C1' は、値 'A' を持つ英数字項目と等しくなります。
表意定数 HIGH-VALUE または HIGH-VALUES、LOW-VALUE
または LOW-VALUES、SPACE または
SPACES、ZERO または ZEROS、
および QUOTE または QUOTES は論理的に、EBCDIC で
エンコードされたデータ項目の割り当てまたは比較を行うための EBCDIC 文字表現として扱われます。
非数値の DISPLAY 項目間の比較では、照合シーケンスとして、2 進数 (16 進数) 値に基づく
文字順序シーケンスが使用され、1 バイト文字の代替照合シーケンスが指定されている場合は、これによって変更されます。
関連タスク
ロケール付きのコード・ページの指定
関連参照
付録B. zSeries ホスト・データ形式についての考慮事項
COLLSEQ
|