クラス条件は、データ項目の内容が英字 (alphabetic) であるか、小文字の英字 (alphabetic-lower) であるか、大文字の英字 (alphabetic-upper) であるか、数字 (numeric) であるか、 DBCS であるか、漢字 (KANJI) であるか、または環境部の SPECIAL-NAMES 段落で定義されている CLASS 文節で指定された文字セットの中の文字だけからなるかを判別します。
NUMERIC を指定した場合は、クラス英字であってはなりません。
ALPHABETIC、ALPHABETIC-UPPER、または ALPHABETIC-LOWER を指定した場合は、クラス数字であってはなりません。
『データ項目のさまざまなタイプに対するクラス条件の有効な形式』(表 22) には、ID のさまざまなタイプで有効なクラス条件の形式が示されています。
ID-1 が関数 ID である場合、ID-1 は英数字関数または国別関数を参照する必要があります。
英数字グループ項目は、基本英数字項目を使用できるクラス条件で使用することができますが、そのグループに 1 つ以上の符号付き基本項目が含まれている場合は、NUMERIC クラス条件を使用できません。
ID-1 が使用法 NATIONAL を指定して記述されている場合、クラス条件は、指定された文字クラスに関連付けられている文字の国別文字表現についてテストします。 例えば、IF national-item IS ALPHABETIC という形式のクラス条件を指定すると、国別文字で表示されている、小文字および大文字のラテン頭文字 A から Z、およびスペースがテストされます。IF national-item is NUMERIC を指定すると、0 から 9 の文字がテストされます。
PICTURE 文節が演算符号を含まない場合は、内容が数字であり、かつ演算符号が存在しない場合に限って、 テストされている ID が数字であると判定されます。
PICTURE 文節が演算符号を含む場合は、その項目が基本項目であり、 その内容が数字でしかも有効な演算符号が付いている場合に限って、 テストされている ID が数字であると判定されます。
文字表示が有効であるかどうかを確認するため、項目に対して範囲検査が実行されます。有効な範囲は、それぞれの DBCS 文字の 2 つのバイトとも、X'41' から X'FE' の範囲で、DBCS のブランクは X'4040' です。 (これらの範囲は、ワークステーションの DBCS 文字の実際の DBCS 文字値の範囲ではなく、Enterprise COBOL for z/OS に対応する DBCS 文字表現です。)
文字表示が有効であるかどうかを確認するため、項目に対して範囲検査が実行されます。有効な値の範囲は、第 1 バイト目が X'41' から X'7E'、第 2 バイト目が X'41' から X'FE'、DBCS のブランクは X'4040' です。 (これらの範囲は、ワークステーションの DBCS 文字の実際の DBCS 文字値の範囲ではなく、Enterprise COBOL for z/OS に対応する DBCS 文字表現です。)
| ID-1 が示すデータ項目のタイプ | クラス条件の有効な形式 | |
|---|---|---|
| 英字 | 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 |
| DBCS | DBCS
KANJI |
NOT DBCS
NOT KANJI |
| 国別 | NUMERIC
ALPHABETIC ALPHABETIC-LOWER ALPHABETIC-UPPER |
NOT NUMERIC
NOT ALPHABETIC NOT ALPHABETIC-LOWER NOT ALPHABETIC-UPPER |
| 数字 | NUMERIC
クラス名 |
NOT NUMERIC
NOT クラス名 |