Rational Developer for System z
COBOL for Windows バージョン 7.5 言語解説書


国別の比較

国別比較は、国別クラスの 2 つのオペランドの国別文字値の比較です。

比較条件が国別クラスではないオペランドを指定しているときは、比較の前にそのオペランドが国別カテゴリーのデータ項目へ変換されます。以下のリストで、 オペランドの国別カテゴリーへの変換について説明します。

DBCS
DBCS オペランドは、DBCS オペランドと同じ長さの国別カテゴリーの一時データ項目へ移動されるかのように処理されます。 DBCS 文字は、対応する国別文字に変換されます。変換に使用されるソース・コード・ページは、DBCS オペランドが EBCDIC データ項目か ASCII データ項目かによって異なります。DBCS オペランドが EBCDIC データ項目である (すなわち、コンパイラー・オプション CHAR(EBCDIC) が有効で、オペランドに NATIVE 句が指定されていない) 場合、そのオペランドで有効な EBCDIC コード・ページが使用されます。それ以外の場合、オペランドで有効なロケールによって示されるコード・ページが使用されます。詳細については、付録G. ロケールの考慮事項を参照してください。
使用法が DISPLAY の英字、英数字、英数字編集、および数字編集
オペランドは、そのオペランド内の文字位置数を表すために必要な長さの国別カテゴリーの一時データ項目へ移動されるかのように処理されます。英数字は、対応する国別文字に変換されます。変換に使用されるソース・コード・ページは、英数字オペランドが EBCDIC データ項目か ASCII データ項目かによって異なります。英数字オペランドが EBCDIC データ項目である (すなわち、コンパイラー・オプション CHAR(EBCDIC) が有効で、オペランドに NATIVE 句が指定されていない) 場合、そのオペランドで有効な EBCDIC コード・ページが使用されます。それ以外の場合、オペランドで有効なロケールによって示されるコード・ページが使用されます。詳細については、付録G. ロケールの考慮事項を参照してください。
整数
整数オペランドは、整数の桁数と同じ長さの英数字カテゴリーの一時データ項目へ移動されるかのように処理されます。符号なしの値が使用されます。次に、この一時データ項目は英数字オペランドとして変換されます。
外部浮動小数点
display 浮動小数点項目は、数値としてではなく、英数字カテゴリーのデータ項目であるかのように処理されてから、英数字オペランドとして変換されます。

国別浮動小数点データ項目は、数値としてではなく、国別カテゴリーのデータ項目であるかのように処理されます。

変換に関する暗黙の移動は、MOVE ステートメントの規則に従って実行されます。

生成された国別カテゴリーのデータ項目は、2 つの国別オペランドの比較で使用されます。

2 つの国別オペランドの比較

比較に使用されるメソッドは、NCOLLSEQ コンパイラー・オプションの設定によって決定されます。

NCOLLSEQ(BINARY) コンパイラー・オプションが有効な場合、照合シーケンスは国別文字のバイナリー値によって決定されます。比較は以下のように進行します。

NCOLLSEQ(LOCALE) コンパイラー・オプションが有効な場合、照合シーケンスはランタイムのロケールによって決定されます。比較のために、後続のスペースはオペランドから切り捨てられます。ただし、全桁スペースのオペランドは単一のスペースに切り詰められます。ロケールに基づく比較では、必ずしも文字単位の比較を行う必要はありません。短いオペランドがスペースで拡張される場合、ロケールに基づく比較でなければ、文化的に想定される結果にならないことがあります。ロケールの詳細については、付録G. ロケールの考慮事項を参照してください。

PROGRAM COLLATING SEQUENCE 文節は、国別オペランドの比較には影響を及ぼしません。


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

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