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


国別文字表意定数の使用

国別文字を必要とするコンテキストでは、表意定数の ALL 国別リテラル を使用できます。ALL 国別リテラル は、国別リテラルを構成する連続したエンコード・ユニットの連結によって生成される、ストリングの全部または一部を表します。

国別文字を必要とするコンテキスト (MOVE ステートメント、暗黙移動、または、国別オペランドを持つ比較条件など) では、表意定数 QUOTESPACEHIGH-VALUELOW-VALUE または ZERO を使用できます。こうしたコンテキストでは、表意定数は国別文字 (UTF-16) 値を表します。

国別文字を必要とするコンテキストで表意定数 HIGH-VALUE を使用すると、その値は NX'FFFF' です。国別文字を必要とするコンテキストで LOW-VALUE を使用すると、その値は NX'0000' です。 NCOLLSEQ(BIN) コンパイラー・オプションが有効な場合にのみ 国別文字を必要とするコンテキストで、HIGH-VALUE または LOW-VALUE を使用できます。

制限事項: HIGH-VALUE または HIGH-VALUE から割り当てられた値を 使用する場合、あるデータ表現から別のデータ表現への値の変換 (例えば、USAGE DISPLAYUSAGE NATIONAL との間の変換、 または CHAR(EBCDIC) コンパイラー・オプションが有効な場合は ASCII と EBCDIC との間の変換) が起こるような仕方で使用してはなりません。 X'FF' (EBCDIC 照合シーケンスが使用されているときの、 英数字コンテキストでの HIGH-VALUE の値) は有効な EBCDIC または ASCII 文字を表しませんし、NX'FFFF' は有効な国別文字を表しません。 このような値を別の表現に変換すると、置換文字が 使用されることになります (X'FF' でも NX'FFFF' でもなくなります)。 次の例を見てください。

01 natl-data  PIC NN  Usage National.
01 alph-data  PIC XX.
. . .
    MOVE HIGH-VALUE TO natl-data, alph-data
    IF natl-data = alph-data. . .

上の IF ステートメントは、オペランドのそれぞれが HIGH-VALUE に設定された場合であっても、偽と評価されます。基本英数字オペランドが国別オペランドと比較される前に、英数字オペランドは、一時国別データ項目に移動させられたかのように扱われ、英数字文字は対応する国別文字に変換されます。しかし、X'FF' が UTF-16 に変換される場合、UTF-16 項目は置換文字値を取得するので、NX'FFFF' と比較して等しいとはみなされません。

関連タスク
国別 (Unicode) 表現との間の変換
国別 (UTF-16) データの比較

関連参照
CHAR
NCOLLSEQ
表意定数 (「COBOL for Windows 言語解説書」)
DISPLAY-OF (「COBOL for Windows 言語解説書」)


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

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