クラス条件

クラス条件は、データ項目の内容が英字、英小文字、英大文字、数字であるか、 あるいは環境部の SPECIAL NAMES 段落で定義されているように CLASS 文節によって指定された一連の文字の中の文字だけを含んでいるのかを識別します。

構文図を読む構文図をスキップする
クラス条件 - 形式

>>-ID--+----+--+-----+--+-NUMERIC----------+-------------------><
       '-IS-'  '-NOT-'  +-ALPHABETIC-------+   
                        +-ALPHABETIC-LOWER-+   
                        +-ALPHABETIC-UPPER-+   
                        |          (1)     |   
                        +-NATIONAL---------+   
                        |      (1)         |   
                        +-DBCS-------------+   
                        |       (1)        |   
                        +-KANJI------------+   
                        '-クラス名---------'   

注:
  1. IBM® Extension
ID
使用法が DISPLAY であるデータ項目を参照する必要があります。 ID が長さゼロのグループ項目であり、さらにそれがクラス条件で指定されていないと、結果は常に真となります。 NOT が指定されていなければ、結果は常に偽となります。

ID が関数 ID である場合は、その参照対象は英数字、DBCS、または日時の関数でなければなりません。

NOT
これが使用された場合、NOT および次のキーワードは真理値によって実行されるクラス・テストを定義します。 例えば、NOT NUMERIC は、データ項目が非数字かどうかを判別する真偽テストです。
NUMERIC
このデータ項目は全体として 0 ~ 9 の文字で構成されており、 演算符号は含まれていることもいないこともあります。

テストされる項目の PICTURE に演算符号が含まれていないなら、内容が数字で演算符号が存在しない場 合にだけ、その項目は数字であると判別されます。

テストされる項目の PICTURE に演算符号が含まれているときは、その項目が基本項目であり、 内容が数字で、しかも有効な演算符号が存在する場合にだけ、その項目は数字であると判別されます。

EBCDIC 文字セットにおいて有効な正の組み込み演算符号は、16 進数の F、C、E、A です。 また、負の符号は 16 進数の D と B です。 なお、推奨する正の符号は 16 進数の F、負の符号は 16 進数の D となっています。 SIGN IS SEPARATE 文節に記述される項目の場合、有効な演算符号は + (16 進 4E) と - (16 進 60) です。

IBM Extension

IBM Extension 数字および日時のデータ項目の場合、テストされている ID は、USAGE DISPLAY、USAGE PACKED-DECIMAL、USAGE COMP、または USAGE COMP-3 として明示的あるいは暗黙に記述できます。 End of IBM Extension

End of IBM Extension
ALPHABETIC
ID が参照するデータ項目は、A ~ Z の大小の英文字とスペースの組み合わせで全体が構成されます。
ALPHABETIC-LOWER
ID が参照するデータ項目は、a ~ z の英小文字とスペースの組み合わせで全体が構成されます。
ALPHABETIC-UPPER
ID が参照するデータ項目は、A ~ Z の英大文字とスペースの組み合わせで全体が構成されます。
クラス名
ID が参照するデータ項目は、SPECIAL-NAMES 段落のクラス名の定義に列挙される文字で全体が構成されます。

クラス名テストは、数字として記述された ID に使用してはなりません。

IBM Extension
IBM Extension
変更の始まりNATIONAL変更の終わり
変更の始まり ID は、以下の規則に従って NATIONAL 文字で全体が構成されます。
  • NATIONAL データ項目の場合、テストされている ID は USAGE NATIONAL として明示的あるいは暗黙に記述しなければなりません。
  • NATIONAL 文字表示に有効な項目のデータ位置で、範囲検査が行われます。有効範囲は、X'0000' から X'D7FF' および X'E000' から X'FFFF' です。
変更の終わり
DBCS
ID は、以下の規則に従って DBCS 文字で全体が構成されます。
  • DBCS データ項目の場合、テストされている ID は USAGE DISPLAY-1 として明示的あるいは暗黙に記述しなければなりません。
  • DBCS 文字表示に有効な項目のデータ位置で、範囲検査が行われます。 有効範囲はいずれのバイトとも X'41'~ X'FE' です。X'4040' は DBCS ブランクです。
KANJI
ID は、以下の規則に従って DBCS 文字で全体が構成されます。
  • DBCS データ項目の場合、テストされている ID は USAGE DISPLAY-1 として明示的あるいは暗黙に記述しなければなりません。
  • DBCS 文字表示に有効な項目のデータ位置で、範囲検査が行われます。有効範囲は、最初のバイトは X'41' ~ X'7F'、2 番目のバイトは X'41' ~ X'FE' です。 X'4040' は DBCS ブランクです。
End of IBM Extension
End of IBM Extension

クラス・テストは、使用法が INDEX、POINTER、PROCEDURE-POINTER のいずれかである項目では有効ではありません。 これらの項目はどのクラスやカテゴリーにも属さないからです。

IBM Extension

IBM Extension クラス条件は、外部の浮動小数点項目 (USAGE DISPLAY) または内部浮動小数点項目 (USAGE COMP-1 および USAGE COMP-2) には使用できません。 End of IBM Extension

End of IBM Extension

表 1 に、クラス・テストの有効な形式を示します。

表 1. クラス・テストの有効な形式
ID のタイプ クラス・テストの有効な形式

英字

ALPHABETIC
ALPHABETIC-LOWER
ALPHABETIC-UPPER
クラス名

NOT ALPHABETIC
NOT ALPHABETIC-LOWER
NOT ALPHABETIC-UPPER
NOT クラス名

英数字、
英数字編集、
または数字編集

ALPHABETIC
ALPHABETIC-LOWER
ALPHABETIC-UPPER
NUMERIC
クラス名

NOT ALPHABETIC
NOT ALPHABETIC-LOWER
NOT ALPHABETIC-UPPER
NOT NUMERIC
NOT クラス名

外部 10 進数
内部 10 進数

NUMERIC

NOT NUMERIC

変更の始まり
IBM Extension
IBM Extension

国別
国別編集

End of IBM Extension
End of IBM Extension
変更の終わり
変更の始まり

NUMERIC
ALPHABETIC
ALPHABETIC-LOWER
ALPHABETIC-UPPER
NATIONAL

変更の終わり
変更の始まり

NOT NUMERIC
NOT ALPHABETIC
NOT ALPHABETIC-LOWER
NOT ALPHABETIC-UPPER
NOT NATIONAL

変更の終わり
IBM Extension
IBM Extension

DBCS
DBCS 編集

End of IBM Extension
End of IBM Extension

DBCS
KANJI

NOT DBCS
NOT KANJI

IBM Extension
IBM Extension

日時

End of IBM Extension
End of IBM Extension

NUMERIC
クラス名

NOT NUMERIC
NOT クラス名