FastSort Manual

Using FastSort Commands
FastSort Manual429834-003
3-8
COLLATE Command
To have SORTPROG treat several characters as equal in comparisons, you can assign
them all to the same character position, like this:
";", ALSO ":", ALSO 128, ALSO 129,
If ALSO assigns a range of characters, the number of characters in that range must
equal the number of characters in the preceding range:
"A" THRU "Z", ALSO "a" THRU "z",
Ranges beginning with ALSO do not assign characters to additional byte positions.
The two ranges in the preceding example assign 52 characters to 26 byte positions. A
file that contains these two ranges needs assignments for 230 additional byte
positions.
Only a range that begins with ALSO can assign characters to the same byte positions
as characters in another range. Unless the second range begins with ALSO, two
ranges that include the same character assign the character to two different byte
positions. A range that overlaps another range assigns each of the overlapping
characters to a different byte position.
Invalid Alternate Collating Sequence Files
SORTPROG cannot use the alternate collating sequence from a file that has any of the
following:
An incorrect character assignment
Not enough character assignments
Too many character assignments
When an alternate collating sequence file is invalid for any of these reasons, FastSort
returns an error message. Then, FastSort uses the ASCII sequence to collate the sort
or merge run.
A mixture of string and numeric data types is an incorrect assignment:
"a" THRU %172 ! This is an incorrect assignment.
Examples of Alternate Collating Sequence Files
This subsection contains two sample EDIT files that specify the same alternate
collating sequence and an example of how the alternate sequence affects sorting.
Both files deviate from the ASCII collating sequence because lowercase alphabetic
characters are equivalent to uppercase characters. One file contains these lines:
0 THRU 32, "!""#$%&'()*+,-./",
"0" THRU "9", ":" THRU "@",
"A" THRU "Z", ALSO "a" THRU "z",
"[\]^_ {|}~", 127 THRU 255