You can specify an alternate sequence in the altseq parameter
of the HPSORTINIT or HPMERGEINIT intrinsic. (The default
sequence is ASCII.) Only ASCII type is allowed to request alternate sequences;
when you specify an alternate collating sequence, you must set the
keys parameter data type to zero (byte data).
The altseq parameter accepts a array.
The first element of the array is set by the following table.
The rows of the table show the type of data you are sorting, and
the columns of the table show the type of sequence you want. For
alternate sequences, set the first element of the altseq
parameter to CHR(0).
Data Type
Collating Sequence
ASCII
EBCDIC
ALTERNATE
ASCII
CHR(255)
CHR(2)
CHR(0)
EBCDIC
CHR(1)
CHR(255)
Undefined
In the second element of the array, specify a number one less than the total
number of characters in the collating sequence (n - 1). ASCII
has 256 characters, for example, so for ASCII (the default), the second element
would be CHR(255).
If the first element is CHR(0), the rest of the elements of the
altseq parameter array contain your actual collating sequence.
The collating sequence may be explicitly specified or read from a file. The
sequence must start in the third element of the altseq array.
You can create a file that contains a collating sequence,
using the SORT/XL or MERGE/XL utilities. For example, if you want
to create the collating sequence mentioned above (AaBbCc ... ) with
the SORT/XL utility, you would do the following:
:FILE DISPLOUT=ALTSEQ,NEW; SAVE; REC=-80,,F,ASCII; DEV=DISC
:RUN SORT.PUB.SYS
>DATA IS ASCII, SEQUENCE IS ASCII
>ALTSEQ MERGE "A-Z" with "a-z"
>SHOW TABLE, OFFLINE
>EXIT
Now you have created an ASCII file named ALTSEQ that contains
the new collating sequence in a table, a decimal list, and an octal list.
Edit the file to contain only the decimal list of the sequence.
From your sorting or merging program, read in the sequence from
the file ALTSEQ, and put the character representations of the values
into elements 3-258 of the parameter altseq.
For more information about using SORT-MERGE/XL to create alternate
collating sequences, refer to SORT-MERGE/XL General User's Guide.