Specifies that the collating sequence for alphanumeric data is
determined by the program, according to the following rules:
- The order in which literals appear specifies the ordinal number,
in ascending sequence, of the characters in this collating sequence.
- Each numeric literal specified must be an unsigned integer.
- Each numeric literal must have a value that corresponds to a valid
ordinal position within the collating sequence in effect.
Appendix C. EBCDIC and ASCII collating sequences
lists the ordinal number for characters in the single-byte EBCDIC
and ASCII collating sequences.
- Each character in an alphanumeric literal represents that actual
character in the character set. (If the alphanumeric literal
contains more than one character, each character, starting with the
leftmost, is assigned a successively ascending position within this
collating sequence.)
- Any characters that are not explicitly specified assume positions
in this collating sequence higher than any of the explicitly
specified characters.
The relative order within the collating
sequence of these unspecified characters is their
relative order in the collating sequence indicated by the COLLSEQ
compiler option.
- Within one alphabet-name clause, a given character must not be
specified more than once.
- Each alphanumeric literal associated with a THROUGH or ALSO phrase
must be one character in length.
-
When
the THROUGH phrase is specified, the contiguous characters in the
native character set beginning with the character specified by literal-1
and ending with the character specified by literal-2 are
assigned successively ascending positions in this collating
sequence.
This sequence can be either ascending or descending within the
original native character set. That is, if “Z” THROUGH
“A” is specified, the ascending values, left-to-right, for
the uppercase letters are:
ZYXWVUTSRQPONMLKJIHGFEDCBA
-
When
the ALSO phrase is specified, the characters specified as literal-1,
literal-3, ... are assigned to the same position in this
collating sequence. For example, if you specify:
“D” ALSO “N” ALSO “%”
the characters D, N, and % are all considered to be in the same
position in the collating sequence.
- When the ALSO phrase is specified and alphabet-name-1
is referenced in a SYMBOLIC CHARACTERS clause, only literal-1
is used to represent the character in the character set.
- The character that has the highest ordinal position in this
collating sequence is associated with the figurative constant
HIGH-VALUE. If more than one character has the highest position
because of specification of the ALSO phrase, the last character
specified (or defaulted to when any characters are not explicitly
specified) is considered to be the HIGH-VALUE character for
procedural statements such as DISPLAY and as the sending field in a
MOVE statement. (If the ALSO phrase example given above were
specified as the high-order characters of this collating sequence,
the HIGH-VALUE character would be %.)
- The character that has the lowest ordinal position in this
collating sequence is associated with the figurative constant
LOW-VALUE. If more than one character has the lowest position
because of specification of the ALSO phrase, the first character
specified is the LOW-VALUE character. (If the ALSO phrase example
given above were specified as the low-order characters of the
collating sequence, the LOW-VALUE character would be D.)
When
literal-1, literal-2, or literal-3 is
specified, the alphabet-name must not be referred to in a CODE-SET
clause (see CODE-SET clause).
literal-1, literal-2, and literal-3
must be alphanumeric or numeric literals. All must have the same
category.
A floating-point literal, a national literal, a DBCS
literal, or a symbolic-character figurative constant must not be
specified.