类条件
类条件确定数据项的内容是字母,字母下限,字母上限,数字, DBCS , KANJI ,还是仅包含由 CLASS 子句指定的字符集中的字符 (如 ENVIRONMENT DIVISION 的 SPECIAL-NAMES 段中所定义)。
- identifier-1
- 必须引用使用下列其中一种用法描述的数据项:
- DISPLAY , NATIONAL , $TAG1 COMPUTATIONAL-3 $TAG2 或 PACKED-DECIMAL (如果指定了 NUMERIC)
- DISPLAY-1 (如果指定了 DBCS 或 KANJI)
- 指定 ALPHY , ALPH-UPPER 或 ALPH-LOWER 时的 DISPLAY 或N国际
- 指定类名时的 DISPLAY
当指定了 NUMERIC 时,不能是类字母。
当指定了ALPH门, ALPH-UPPER 或 ALPH-LOWER 时,不能是类数字。
表 1 列出了对每种类型的标识有效的类条件的格式。
如果 identifier-1 是函数标识,那么它必须引用字母数字,本地函数或日期时间函数。
可以在可以使用基本字母数字项的类条件中使用字母数字组项, 但 如果该组包含一个或多个已签名的基本项,那么不能使用 NUMERIC 类条件。
- NATIONAL
- identifier-1 完全由N国际字符组成,具有以下规则:
- 对于N国际数据项,要测试的标识必须显式或隐式地描述为 USAGE NATIONAL。
- 将对项的数据部分执行范围检查以获取有效的N国际字符表示。
- NOT
- 使用时, NOT 和下一个关键字定义要对真值执行的类测试。 例如, NOT NUMERIC 是用于确定 NUMERIC 类测试结果为 false (换言之,该项包含非数字数据) 的标准检验。
- NUMERIC
- identifier-1 完全由 0 到 9 的字符组成,带有或不带操作符号。
如果其 PICTURE 不包含操作符号,那么仅当内容为数字且操作符号不存在时,才会将正在测试的标识确定为数字。
如果其 PICTURE 确实包含操作符号,那么仅当项是基本项,内容是数字并且存在有效的操作符号时,才会将正在测试的标识确定为数字。
- 字母
- identifier-1 完全由小写或大写字母字符 A 到 Z 以及空格的任意组合组成。
- 字母-下限
- identifier-1 完全由小写拉丁字母字符 a 到 z 和空格的任意组合组成。
- 字母-上限
- identifier-1 完全由大写字母字符 A 到 Z 和空格的任意组合组成。
- 类名
- identifier-1 完全由 SPECIAL-NAMES 段中类名定义中列出的字符组成。
- DBCS
- identifier-1 完全由 DBCS 字符组成。 identifier-1 包含对应于有效 EBCDIC DBCS 字符的 DBCS 字符。
将对项执行范围检查以获取有效的字符表示。 对于每个 DBCS 字符的两个字节,有效范围为 X'41 '到 X'FE' ,对于 DBCS 空白,有效范围为 X'4040 '。 (这些范围用于 Enterprise COBOL for z/OS®的等效 DBCS 字符表示,而不是工作站 DBCS 字符的实际 DBCS 字符值范围。)
- 日语汉字
- identifier-1 包含对应于有效 EBCDIC DBCS 字符的 DBCS 字符。
将对项执行范围检查以获取有效的字符表示。 有效范围是:第一个字节从X'41'到 X'7E' ,第二个字节从X'41'到X'FE',DBCS空格为X'4040'。 (这些范围用于 Enterprise COBOL for z/OS的等效 DBCS 字符表示,而不是工作站 DBCS 字符的实际 DBCS 字符值范围。)
| identifier-1 引用的数据项的类型 | 类条件的有效格式 | |
|---|---|---|
| 字母 | 字母
字母-小写 字母-大写 类名 |
非字母
非字母-下限 非字母-上限 非 类名 |
| 字母数字,字母数字-已编辑或数字-已编辑 | 字母
字母-下限 字母-上限 数字 类名 |
非字母
非字母-下限 非字母-上限 非数字 非 类名 |
External-decimal
或 internal-decimal |
NUMERIC | 非数字 |
| DBCS | DBCS
KANJI |
非 DBCS
NOT KANJI |
| 本国 | 数字
字母 字母-下限 字母-上限 国家 |
非数字
非字母 非字母-下限 非字母-上限 非国家 |
| 数值 | NUMERIC
类名 |
不是数字
NOT 类名 |
| 日期时间 | NUMERIC
类名 |
不是数字
NOT 类名 |
