IBM Support

Need to copy a file with French Canadian characters to another platform.

Technical Blog Post


Abstract

Need to copy a file with French Canadian characters to another platform.

Body

Do you have a need to send a file that has French Canadian characters (or any other accented character) from a mainframe (EBCDIC format) to a Unix (ASCII) platform or Windows (ASCII)?  

 

The default XLATE table does not convert the accented characters to the desired character on the Unix or Windows node. In fact there are other characters such as square brackets ( [ ] ) and curly braces ( { } ) that do not translate correctly in the default translate table if the data is translate with a code page other than IBM-037 on the mainframe.

 

Code page UTF-8 is accepted as a universal code page between all platforms. And ASCII is UTF-8. But there can still be issue when trying to translate special character, especially accented letters when going to from the mainframe to the Unix or Window platform which are usually double-byte characters.

 

Code page ISO8859-1 can be used to translate into single byte characters correctly. The IBM mainframe code page that is the same as the ISO8859-1 is IBM-819.

 

This way you can do the conversion on the mainframe before the data is transmitted to the Unix or Windows node. The sysopts coded on the FROM portion of the COPY statement would be coded as:

 

SYSOPTS="CODEPAGE=(IBM-037,IBM-819)"            

 

Send the file with no additional translation. The TO portion of the COPY statement would be coded as:

 

Unix:

SYSOPTS=":XLATE=NO:STRIP.BLANKS=NO:DATATYPE=BINARY:"

 

Windows

SYSOPTS="XLATE(NO) STRIP.BLANKS(NO) DATATYPE(BINARY)"

 

To copy a file with French Canadian character from C:D for z/OS to C:D for Unix:

 

COPYPROC  PROCESS                                             -

  PNODE=#PNODE                                                -

  SNODE=CDC1SFGT                                               

 

COPYDSN  COPY  FROM (PNODE DSN=&CDINDS DISP=SHR               -

       SYSOPTS="CODEPAGE=(IBM-285,IBM-819)" )                 -

             TO   (SNODE DSN=&CDOUTDS                         -

       SYSOPTS=":DATATYPE=TEXT:XLATE=NO:STRIP.BLANKS=NO:")    -

                   COMPRESS EXTENDED

 

There is no need for a codepage on the Unix because the translation has been accomplished on the mainframe before transmitting the file to the Unix node.

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS4PJT","label":"IBM Sterling Connect:Direct"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

UID

ibm11123635