Class Condition
The class condition determines whether the content of a data item is alphabetic, alphabetic-lower, alphabetic-upper, numeric, or contains only the characters in the set of characters specified by the CLASS clause as defined in the SPECIAL-NAMES paragraph of the Environment Division.
Class Condition - Format >>-identifier--+----+--+-----+--+-NUMERIC----------+----------->< '-IS-' '-NOT-' +-ALPHABETIC-------+ +-ALPHABETIC-LOWER-+ +-ALPHABETIC-UPPER-+ | (1) | +-NATIONAL---------+ | (1) | +-DBCS-------------+ | (1) | +-KANJI------------+ '-class-name-------'
- IBM® Extension
- identifier
- Must
reference a data item whose usage is DISPLAY. When the identifier
is a group item of zero length and NOT is specified in the class condition,
the result is always true. If NOT is not specified, the result is
always false.
If identifier is a function identifier, it must reference an alphanumeric, DBCS, or date-time function.
- NOT
- When used, NOT and the next keyword define the class test to be executed for truth value. For example, NOT NUMERIC is a truth test for determining that a data item is nonnumeric.
- NUMERIC
- The data item consists entirely of the characters 0 through 9, with or without an operational sign.
If its PICTURE does not contain an operational sign, the item being tested is determined to be numeric only if the contents are numeric and an operational sign is not present.
If its PICTURE does contain an operational sign, the item being tested is determined to be numeric only if the item is an elementary item, the contents are numeric, and a valid operational sign is present.
In the EBCDIC character set, valid embedded operational positive signs are hexadecimal F, C, E, and A. Negative signs are hexadecimal D and B. The preferred positive sign is hexadecimal F, and the preferred negative sign is hexadecimal D. For items described with the SIGN IS SEPARATE clause, valid operational signs are + (hex 4E) and - (hex 60).
IBM ExtensionIBM Extension For numeric and date-time data items, the identifier being tested can be described implicitly or explicitly as USAGE DISPLAY, USAGE PACKED-DECIMAL, USAGE COMP, or USAGE COMP-3. End of IBM Extension
End of IBM Extension - ALPHABETIC
- The data item referenced by the identifier consists entirely of any combination of the lowercase or uppercase alphabetic characters A through Z, and the space.
- ALPHABETIC-LOWER
- The data item referenced by the identifier consists entirely of any combination of the lowercase alphabetic characters a through z, and the space.
- ALPHABETIC-UPPER
- The data item referenced by the identifier consists entirely of any combination of the uppercase alphabetic characters A through Z, and the space.
- class-name
- The data item referenced by the
identifier consists entirely of the characters listed in the definition
of class-name in the SPECIAL-NAMES paragraph.
The class-name test must not be used with an identifier described as numeric.
NATIONAL
Identifier consists entirely of NATIONAL characters, with the
following rules: - For NATIONAL data items, the identifier being tested must be described explicitly or implicitly as USAGE NATIONAL.
- A range check is performed on the data portion of the item for valid NATIONAL character representation. The valid ranges are X'0000' through X'D7FF' and X'E000' through X'FFFF'.

- DBCS
- Identifier consists entirely of DBCS characters, with the following
rules:
- For DBCS data items, the identifier being tested must be described explicitly or implicitly as USAGE DISPLAY-1.
- A range check is performed on the data portion of the item for valid DBCS character representation. The valid range is X'41' through X'FE' for both bytes. X'4040' is a DBCS blank.
- KANJI
- Identifier consists entirely of DBCS characters, with the following
rules:
- For DBCS data items, the identifier being tested must be described explicitly or implicitly as USAGE DISPLAY-1.
- A range check is performed on the data portion of the item for valid DBCS character representation. The valid range is X'41' through X'7F' for the first byte, and X'41' through X'FE' for the second byte. X'4040' is a DBCS blank.
The class test is not valid for items whose usage is INDEX, POINTER, or PROCEDURE-POINTER because these items do not belong to any class or category.
IBM Extension The class condition cannot be used for external floating-point (USAGE DISPLAY) or internal floating-point (USAGE COMP-1 and USAGE COMP-2) items. End of IBM Extension
Table 1 shows valid forms of the class test.
| Type of Identifier | Valid Forms of the Class Test | |
|---|---|---|
Alphabetic |
ALPHABETIC |
NOT ALPHABETIC |
Alphanumeric, |
ALPHABETIC |
NOT ALPHABETIC |
External-Decimal |
NUMERIC |
NOT NUMERIC |
![]() IBM Extension IBM Extension
National End of IBM Extension ![]() |
![]() NUMERIC ![]() |
![]() NOT NUMERIC ![]() |
IBM Extension IBM Extension
DBCS End of IBM Extension |
|
|
IBM Extension IBM Extension
Date-Time End of IBM Extension End of IBM Extension |
|
|
