Need a Translate Table? – Unicode Services Edition

By | February 21, 2014

In an earlier post I discussed generating translate tables using CDRA and promised that I might cover doing the same using Unicode Services.  Well, here is the update.

In many respects, using the Unicode Services character conversion routine CUNLCNV is quite a bit simpler than the CDRA interface.

cunitbl.c

The header is in SYS1.SCUNHF so include that in the compiler search list.

                                             
// JCLLIB ORDER=CBC.SCCNPRC                    
//*                                            
//CC        EXEC EDCCLG,                       
// LIBPRFX='CEE',                              
// LNGPRFX='CBC',                              
// INFILE='xxxxxxxx.SRC.C(CUNITBL)',             
// OUTFILE='xxxxxxxx.SRC.LOAD(CUNITBL),DISP=SHR',
// CPARM='OPTFILE(DD:CCOPTS)',                 
// LPARM='MAP,RENT,XREF',                      
// GPARM='1047 037'                            
//*                                            
//COMPILE.CCOPTS DD *                          
LIST                                           
SOURCE                                         
XREF                                           
LOCALE                                         
NOMARGIN                                       
NOSEQUENCE                                     
OPT(3)                                         
ARCH(10)                                       
TUNE(10)                                       
HOT                                            
NOSEARCH                                       
SEARCH(//'SYS1.SCUNHF')
//*                                                     
//LKED.SYSLIB DD                                        
//            DD DISP=SHR,DSN=SYS1.CSSLIB               
//GO.SYSPRINT DD SYSOUT=*                               
//GO.SYSOUT   DD SYSOUT=*                               
//*                                                     
//GO2      EXEC PGM=*.CC.LKED.SYSLMOD,PARM='-s 1047 037'
//SYSPRINT DD SYSOUT=*
   Conversion Table for 01047 to 00037                              
      -0  -1  -2  -3  -4  -5  -6  -7  -8  -9  -A  -B  -C  -D  -E  -F
 0- : 00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F
 1- : 10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F
 2- : 20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F
 3- : 30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F
 4- : 40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F
 5- : 50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  B0
 6- : 60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F
 7- : 70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F
 8- : 80  81  82  83  84  85  86  87  88  89  8A  8B  8C  8D  8E  8F
 9- : 90  91  92  93  94  95  96  97  98  99  9A  9B  9C  9D  9E  9F
 A- : A0  A1  A2  A3  A4  A5  A6  A7  A8  A9  AA  AB  AC  BA  AE  AF
 B- : 5F  B1  B2  B3  B4  B5  B6  B7  B8  B9  AD  BD  BC  BB  BE  BF
 C- : C0  C1  C2  C3  C4  C5  C6  C7  C8  C9  CA  CB  CC  CD  CE  CF
 D- : D0  D1  D2  D3  D4  D5  D6  D7  D8  D9  DA  DB  DC  DD  DE  DF
 E- : E0  E1  E2  E3  E4  E5  E6  E7  E8  E9  EA  EB  EC  ED  EE  EF
 F- : F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  FA  FB  FC  FD  FE  FF
   Conversion Table for 01047 to 00037                              
      -0  -1  -2  -3  -4  -5  -6  -7  -8  -9  -A  -B  -C  -D  -E  -F
 0- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 1- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 2- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 3- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 4- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 5- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  B0
 6- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 7- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 8- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 9- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 A- : --  --  --  --  --  --  --  --  --  --  --  --  --  BA  --  --
 B- : 5F  --  --  --  --  --  --  --  --  --  AD  BD  --  BB  --  --
 C- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 D- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 E- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
 F- : --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --

For further discussion, read the earlier post regarding CDRA.

Leave a Reply

Your email address will not be published. Required fields are marked *