The CONDITION NAME field attribute clause enables the VAX COBOL compiler to associate one or more condition names with specific values for a field.
1 – Parameters
cond_name The condition. COB_condition_name A COBOL name for the condition. low_val, high_val Field values or ranges of field values associated with the condition name. COB_ext_name A quoted string containing a COBOL external name. See the VAX COBOL Language Reference Manual for information on the legal use of external names.
2 – Syntax Rules
o The condition name must be a string of up to 31 characters from the set A-Z, 0-9,_, and $. The first character in the string must be a letter from A-Z, and the last character can not be _ or $. o COB_condition_name, quoted strings, or external names must be legal VAX COBOL names. However, the CDDL compiler does not check for correct syntax. You must provide a correct value expression. o The values low_val and high_val can be fixed point numbers, floating point numbers, quoted strings, octal numbers, or hexadecimal numbers. o The compiler ignores commas, but you can use them to make value specifications easier to read.
3 – Usage Notes
o Only VAX COBOL supports this feature. Other language processors ignore the CONDITION NAME clause. o Each CONDITION NAME clause defines one condition name. Each condition name can represent a discrete value, a range of values, or any combination of these. o You can use the CONDITION NAME clause as many times as you wish within a field description. o The values low_val and high_val must be legal values as defined by the data type declared for the field. o The length of a literal you specify in a CONDITION NAME clause can not exceed the length declared for the field. o You can specify a fixed point number as the value of any field whose valid VAX COBOL data type is not DATE, TEXT, or UNSPECIFIED. o You can specify a floating point number as the value of a field whose valid VAX COBOL data type is not DATE, TEXT, or UNSPECIFIED. o You can specify a quoted string as the value only of a field whose valid VAX COBOL data type is DATE, TEXT, or UNSPECIFIED. o You can use 8-bit characters in CDDL quoted strings. o You can specify an octal number as the value of any valid VAX COBOL data type. In order to specify an octal number, place single quotation marks (') around the number and precede it with %O; for example, VALUE IS %O'16' o You can specify a hexadecimal number as the value of any valid VAX COBOL data type. In order to specify a hexadecimal number, place single quotation marks (') around it and precede it with %X; for example, VALUE IS %X'3E' o Value n2 must be greater than or equal to value n1 in the field's collating sequence. o Value n4 must be greater than or equal to value n3 in the field's collating sequence.
4 – Example
The following example defines three valid conditions according to the value of the field RECORD_IDENTIFIER. RECORD_IDENTIFIER DATATYPE IS TEXT SIZE IS 1 CHARACTER CONDITION FOR COBOL IS ON_HAND COBOL NAME "ON-HAND" VALUE IS "S" CONDITION FOR COBOL BACKORDER COBOL NAME "BACKORDER" VALUE IS "B" CONDITION FOR COBOL OUT_OF_STOCK COBOL NAME "OUT-OF-STOCK" VALUE IS "O" CONDITION FOR COBOL IS INVALID VALUES ARE "A", "C" THRU "N", "P" THRU "R", "T" THRU "Z".