Receiving files character conversion with XCOM for z/OS
search cancel

Receiving files character conversion with XCOM for z/OS

book

Article ID: 9351

calendar_today

Updated On:

Products

XCOM Data Transport XCOM Data Transport - Windows XCOM Data Transport - Linux PC XCOM Data Transport - z/OS

Issue/Introduction

This document explains how to do character conversion on the mainframe while receiving from remote partner.

Environment

  • XCOM™ Data Transport® for Windows 
  • XCOM™ Data Transport® for z/OS
  • XCOM™ Data Transport® for UNIX/Linux PC

Resolution

When transferring a file consisting of ASCII or EBCDIC characters you can do the conversion to the other code on the Windows, Linux or Unix side. 

When you transfer from any platform to XCOM on the Mainframe you have the alternative to convert the file on the mainframe side also. And you can decide if and how ASCII, BINARY and EBCDIC-files are to be processed. Here is the step-by-step explanation of how this can be done:

  1. In the dataset XCOMCNTL you need to create a member containing a Translation Table. The name of that member is free but has to be the same as that specified in the NAME-Parameter in that Translation Table.

    For this document I chose the name FROMWIN to have a hint that this Translation table is for transfers from Windows.

    As an example here is a table for transfers converting from ASCII to EBCDIC. All characters and numbers are transferred but you should check the national & special characters, so translation fits your needs:

    -------------------Member FROMWIN----------------------------------- TYPE=CONVERTNAME=FROMWIN*************************************************************** SINGLE BYTE CHARACTER SET TRANSLATION TABLE* THIS IS A SAMPLE CONVERSION TABLE TO TRANSLATE ASCII-* CHARACTERS INTO EBCDIC-CHARACTERS AND IS PROVIDED ON AN* AS-IS BASIS WITHOUT ANY WARRANTY FOR CORRECT PROCESSING.**************************************************************CNVVAL00=00,01,02,03,37,2D,2E,2F,16,05,25,0B,0C,0D,0E,0FCNVVAL10=10,11,12,13,3C,3D,32,26,18,19,3F,27,1C,1D,1E,1FCNVVAL20=40,5A,7F,7B,5B,6C,50,7D,4D,5D,5C,4E,6B,60,4B,61CNVVAL30=F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,7A,5E,4C,7E,6E,6FCNVVAL40=7C,C1,C2,C3,C4,C5,C6,C7,C8,C9,D1,D2,D3,D4,D5,D6CNVVAL50=D7,D8,D9,E2,E3,E4,E5,E6,E7,E8,E9,AD,E0,BD,5F,6DCNVVAL60=79,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96CNVVAL70=97,98,99,A2,A3,A4,A5,A6,A7,A8,A9,C0,6A,D0,A1,07CNVVAL80=00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00CNVVAL90=00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00CNVVAL90=00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00CNVVALA0=00,00,00,00,00,00,A1,00,00,00,00,00,00,00,00,00CNVVALB0=00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00CNVVALC0=00,1E,1C,00,00,00,00,00,00,00,00,00,00,00,00,00CNVVALD0=00,7B,00,00,00,00,00,00,00,00,00,00,00,00,00,00CNVVALE0=00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00CNVVALF0=00,4F,00,00,00,00,00,00,00,00,00,00,00,00,00,00---------------------------------------------------------------------

    See Customize Code Page Conversion Tables in our online doc and you will find an example for a table which translates upper case EBCDIC characters into lower ones leaving all other characters unchanged.
     
    1. You need a Destination member to specify the Conversion table you want to use. These Destination members are stored in the XCOMCNTL too. So your second step is to create such a member. The name of that member is free to choose. Remember it as you will need exactly that name in parameter GROUP of the Transfer Job (see Step 4).

      Destination members contain information about the partner XCOM on the other side. Here it says that transfers from XCOM™ Data Transport® for Windows, which resides on Host 10.0.0.5, of type ASCII should be translated using the table specified in CVASCII:

      -------------------Member WINDEST------------------------------------
      TYPE=DEST
      *************************************************************
      * DESTINATION MEMBER FOR TRANSFERS FROM WINDOWS ON 10.0.0.5 * *************************************************************
      IPPORT=8044
      IPNAME=<IPNAME>
      CVASCII=FROMWIN
      ------------------------------------------------------------
  2. To activate these two members immediately do the following Modify commands (<xom_serv> is the name of the XCOM-Server Started task):

    F <xcom_serv>,DISABLE,WINDESTF <xcom_serv>,DISABLE,FROMWINF <xcom_serv>,ENABLE,FROMWINF <xcom_serv>,ENABLE,WINDEST

    The output of these commands is written into the Joblog of the XCOM-Server. For any change to become active which was in these members you need to redo these four commands.
    To let these members get active at every Start of the XCOM-Server, add the member names into member XCOMSTRT of XCOMCNTL. Member XCOMSTRT contains all members that are to be automatically enabled at server startup.

     
  3. Do a RECEIVE-Job FROM Windows

    Don't forget to specify the XCOMCNTL in a DD-card named XCOMCNTL.

    This job will receive a file from the host specified in Destination member WINDEST (as specified in SYSIN-Parameter GROUP). As CODE is ASCII the entry CVASCII in that Destination member is reviewed. It contains FROMWIN and therefore the Conversion table FROMWIN will be used. 

Additional Information

For BINARY or EBCDIC transfer no Conversion is done as parameters CVBINARY and CVEBCDIC are not used.