MBCS Conversion During z/OS to z/OS Copy

The following is an example for copying from one z/OS node to another and converting the IBM®-930 code set to IBM-1047 via UTF-8.

STEP01  COPY  FROM  (PNODE DISP=SHR                         -
                     DSN=TEST3.MBCS0001.IBM930              -
                     SYSOPTS="CODEPAGE=(IBM-930,UTF-8)" )   -
              TO    (SNODE DISP=(,CATLG)                    -
                     UNIT=SYSDA SPACE=(CYL,(3,3))           -
                     VOL=SER=USER01                         -
                     DCB=(RECFM=VB,LRECL=90,BLKSIZE=24000)  -
                     DSN=CHICAGO.MBCS0001.IBM1047           -
                     SYSOPTS="CODEPAGE=(UTF-8,IBM-1047)" )

First, the IBM-930 code set data is converted to the UTF-8 encoding on the sending node. The UTF-8 encoded data is then transferred to the receiving node, which converts the UTF-8 data to the IBM-1047 code set and writes a z/OS sequential file.

The RECFM of the file is specified as Variable Format (RECFM=VB) to allow for a flexible output record length. Also, to allow for a possible increase in data length due to conversion, the LRECL of the receiving file must be larger than the LRECL of the sending file. In the example shown, the LRECL of the sending file is 80. For this particular MBCS conversion, the receiving file was successfully created by specifying LRECL as 90. Other conversions may require a larger value to avoid an SVSJ032I error during the Copy. If RECFM=VB, BLKSIZE for the output file must be at least as large as LRECL+4.