How to change the Alternate Collating Sequence Table (EZTPAQTT)

Document ID : KB000121729
Last Modified Date : 03/12/2018
Show Technical Document Details
Introduction:
How to change the Alternate Collating Sequence Table (EZTPAQTT)
Instructions:
The alternate collating sequence table default name is EZTPAQTT.
This sample is using CA Easytrieve 11.6 with an alternative Swedish sequence table (EZTPAQTS).
 
This is the source of the original table:
...
EZTPAQTT CSECT                                                     
SORTTAB  DS    0F                                                   
*                0 1 2 3 4 5 6 7 8 9 A B C D E F                  
         DC    X'000102030405060708090A0B0C0D0E0F'    x'00' to '0F'
         DC    X'101112131415161718191A1B1C1D1E1F'    x'10' to '1F'
         DC    X'202122232425262728292A2B2C2D2E2F'    x'20' to '2F'
         DC    X'303132333435363738393A3B3C3D3E3F'    x'30' to '3F'
         DC    X'404142434445464748494A4B4C4D4E4F'    x'40' to '4F'
         DC    X'505152535455565758595A5B5C5D5E5F'    x'50' to '5F'
         DC    X'606162636465666768696A6B6C6D6E6F'    x'60' to '6F'
         DC    X'707172737475767778797A7B7C7D7E7F'    x'70' to '7F'
         DC    X'808182838485868788898A8B8C8D8E8F'    x'80' to '8F'
         DC    X'909192939495969798999A9B9C9D9E9F'    x'90' to '9F'
         DC    X'A0A1A2A3A4A5A6A7A8A9AAABACADAEAF'    x'A0' to 'AF'
         DC    X'B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF'    x'B0' to 'BF'
         DC    X'C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF'    x'C0' to 'CF'
         DC    X'D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF'    x'D0' to 'DF'
         DC    X'E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF'    x'E0' to 'EF'
         DC    X'F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF'    x'F0' to 'FF'
         END                                                       
...
This is the new EZTPAQTS source member:
...
EZTPAQTS CSECT                                                     
SORTTAB  DS    0F                                                  
*                0 1 2 3 4 5 6 7 8 9 A B C D E F                  
         DC    X'000102030405060708090A0B0C0D0E0F'    x'00' to '0F'
         DC    X'101112131415161718191A1B1C1D1E1F'    x'10' to '1F'
         DC    X'202122232425262728292A2B2C2D2E2F'    x'20' to '2F'
         DC    X'303132333435363738393A3B3C3D3E3F'    x'30' to '3F'
         DC    X'404142434445464748494A4B4C4D4E4F'    x'40' to '4F'
         DC    X'505152535455565758595AEA5C5D5E5F'    x'50' to '5F'
         DC    X'60616263646566676869AC6B6C6D6E6F'    x'60' to '6F'
         DC    X'707172737475767778797AEBEC7D7E7F'    x'70' to '7F'
         DC    X'808182838485868788898A8B8C8D8E8F'    x'80' to '8F'
         DC    X'909192939495969798999A9B9C9D9E9F'    x'90' to '9F'
         DC    X'A0A1A2A3A4A5A6A7A8A9AAABACADAEAF'    x'A0' to 'AF'
         DC    X'B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF'    x'B0' to 'BF'
         DC    X'ABC1C2C3C4C5C6C7C8C9CACBCCCDCECF'    x'C0' to 'CF'
         DC    X'AAD1D2D3D4D5D6D7D8D9DADBDCDDDEDF'    x'D0' to 'DF'
         DC    X'E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF'    x'E0' to 'EF'
         DC    X'F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF'    x'F0' to 'FF'
         END                                                       
...
 
 
This is the ASM/LINK job:
...
//SC#ASM   EXEC PGM=ASMA90,PARM='LIST,XREF(SHORT),OBJ,NODECK'         
//STEPLIB  DD  DISP=SHR,DSN=ASMA.SASMMOD1                             
//SYSLIB   DD  DISP=SHR,DSN=ASMA.SASMMAC1                             
//         DD  DISP=SHR,DSN=SYS1.MACLIB                               
//         DD  DISP=SHR,DSN=SYS1.MODGEN                               
//         DD  DISP=SHR,DSN=your.EZTP.R116.CBAAJCL              
//SYSIN    DD DISP=SHR,DSN=your.EZTP.R116.CBAAJCL(EZTPAQTS)     
//SYSPRINT DD SYSOUT=*                                                
//SYSLIN   DD DISP=SHR,DSN=your.TEST.OBJ(EZTPAQTS)                   
//SYSUT1   DD UNIT=SYSDA,SPACE=(4600,(350,800),,CONTIG),              
//            DCB=BLKSIZE=4088                                        
//SYSUT2   DD UNIT=SYSDA,SPACE=(4600,(350,800),,CONTIG),              
//            DCB=BLKSIZE=4088                                        
//SYSUT3   DD UNIT=SYSDA,SPACE=(4600,(350,800),,CONTIG),              
//            DCB=BLKSIZE=4088                                        
//*------------------------------------------------------------------*
//SC#LINK  EXEC PGM=IEWL,REGION=0M,COND=(7,LT,SC#ASM),                
//            PARM=(MAP,LET,LIST,XREF)                                
//SYSLMOD  DD DISP=SHR,DSN=your.EZTP.R116.CBAALOAD(EZTPAQTS)    
//SYSUT1   DD UNIT=SYSDA,DCB=BLKSIZE=1024,SPACE=(10240,(200,700))     
//SYSUT2   DD UNIT=SYSDA,DCB=BLKSIZE=1024,SPACE=(10240,(200,700))     
//OBJECT   DD DISP=SHR,DSN=your.TEST.OBJ                             
//SYSPRINT DD SYSOUT=*                                                
//SYSLIN   DD DISP=SHR,DSN=your.TEST.OBJ(EZTPAQTS)                   
//         DD DDNAME=SYSIN                                            
//SYSIN    DD *                                                        
  NAME EZTPAQTS(R)                                                    
/*                                                                    
...
 
When using the default table, the sequence is:
...
...
Now, for example, if you would like X'5B' (Å) before X'7B' (Ä) and both after X'E9' (Z), then you have to change 5B to EA and 7B to EB à
...
*                0 1 2 3 4 5 6 7 8 9 A B C D E F                  
         DC    X'505152535455565758595AEA5C5D5E5F'    x'50' to '5F'
         DC    X'60616263646566676869AC6B6C6D6E6F'    x'60' to '6F'
         DC    X'707172737475767778797AEBEC7D7E7F'    x'70' to '7F'
...
The third and last upper case character is X'7C' (Ö) which becomes EC.
The same is true for the lower case characters - D0 (å), C0 (ä) and 6A (ö) will be changed to AA, AB and AC - all right after z (X'A9').
Then the result will be:
...
...
 
The source sample:
...
PARM SORT ALTSEQ (YES EZTPAQTS)    
*                                   
FILE INFILE01                      
LAST-NAME    1     20       A      
*                                  
FILE RPT01 PRINTER                 
*                                  
JOB INPUT INFILE01                 
PRINT NAMES                        
*                                  
REPORT NAMES PRINTER RPT01         
SEQUENCE LAST-NAME                 
TITLE 1  'SWEDISH SEQUENCE TEST'   
LINE LAST-NAME                     
...
This is the input data:
...
Ändersson
Anderssån
Åndersson
Andersson
Anderssän
Öndersson
Anderssön
...
On z/OS, using hex display and code page 278, the input data looks like this à
...
...
 
Additional Information:
See https://docops.ca.com/ca-easytrieve/11-6/en/using/alternate-collating-sequence-table too, please.