The class condition establishes whether or not the value of the operand is numeric or alphabetic. The operand is numeric if it contains only the digits 0 to 9 with or without the operational sign. An operand is alphabetic if it holds only the letters A to Z & space. The format of the class condition is as shown below:
The rules shown below apply in the situation of the class condition.
(i) The usage of the identifier should be DISPLAY or some forms of the DISPLAY.
(ii) For the NUMERIC option the identifier should be either numeric or alphanumeric.When the data item is defined with the operational sign then the appearance of the sign is considered as normal.
(iii) For the alphabetic option, the identifier should be either alphabetic or alphanumeric.
(iv) The identifier might be a group item. Though, for the NUMERIC option, the group item should not consists elementary items explained with an operational sign.
The class condition is very helpful for the validation of the input data. In COBOL, the data is read in the record region in similar form as recorded on the external medium regardless of the specified class of the individual fields in the record. For illustration, if we are reading the value of the numeric field from a card and the corresponding position in the card contains non-numeric characters, then the system will not detect it to be an error. Rather than, the nonnumeric characters will be stored in the character positions of the numeric field. This error may even pass ignored as during any subsequent numeric operation (like numeric MOVE or arithmetic operation), only the numeric portion of the characters in the field be used. And hence, the possible punching mistake in the data card can go and detected unless the proper care is taken. One may avoid a few of these blunders through the use of the class condition.