Hi Gurus,
I have a requests to sort data based on AS 400 sorting order. below is example: the data is sorted by ascending order. could anybody explain how AS 400 sort data?
IMM00007
07918607
1242
423
Hi Gurus,
I have a requests to sort data based on AS 400 sorting order. below is example: the data is sorted by ascending order. could anybody explain how AS 400 sort data?
IMM00007
07918607
1242
423
It may just be a simple numeric sort, similar to how Unix will too if you ask it to. Letters are seen as sorted before numbers, however zero (a zero value, even if 75 characters long) will be before them all. A shorter number of leading zeros is sorted before longer ones, of the same value.
You might illustrate it with this:-
printf "a
1
b
000000000000000000000000000000000000000
g
3
c
09
0"|sort -n
I hope that this helps,
Robin
"collating sequence" is the key!
While most language (locale) settings in Unix are based on the ASCII sequence (numbers before characters), IBM seems to stick to the EBCDIC sequence (numbers after characters).
Maybe it is tunable? Search for "as400 how to set collating sequence"