How to change the Alternate Collating Sequence Table (EZTPAQTT)
search cancel

How to change the Alternate Collating Sequence Table (EZTPAQTT)

book

Article ID: 121729

calendar_today

Updated On:

Products

PanAudit Plus Easytrieve Report Generator PAN/SQL

Issue/Introduction

How to change the Alternate Collating Sequence Table (EZTPAQTT)

Environment

Release:
Component: EZTRVE

Resolution

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:
...

<Please see attached file for image>

height="154" src="file:///C:/Users/guera01/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg" width="183">...
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:
...

<Please see attached file for image>

height="152" src="file:///C:/Users/guera01/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg" width="194">...
 
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 à
...

<Please see attached file for image>

height="410" src="file:///C:/Users/guera01/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg" width="116">...
 

Additional Information

See https://docops.ca.com/ca-easytrieve/11-6/en/using/alternate-collating-sequence-table too, please.