During communication between the UTM application and a client or a partner application on a different platform, it is possible that the two communication partners will be using different codes, as Unix, Linux and Windows systems use ASCII-compatible codes and BS2000 systems use an EBDDIC code. To simplify communication between the partners, you can initiate automatic code conversion for clients and partner applications via generation:
BS2000 systems: TS applications of type SOCKET and HTTP clients
Unix, Linux and Windows systems:
OpenCPIC clients and TS applications of type SOCKET and APPLI.
Server-server communication with LU6.1 and OSI TP partners
You must remember that only printable messages may be exchanged, as binary data may become errored if converted.
You can use up to four different code conversion in a UTM application. openUTM provides code conversion tables for this purpose.
The code conversion is controlled using the operand MAP of the PTERM, TPOOL, OSI-CON and SESCHA statements, and - for HTTP clients - by use of the statements CHAR-SET and HTTP-DESCRIPTOR.
PTERM/TPOOL ... MAP= USER | SYSTEM | SYS1 | SYS2 | SYS3 | SYS4
OSI-CON ... MAP = USER | SYSTEM | SYS1 | SYS2 | SYS3 | SYS4
SESCHA ... MAP = USER | SYSTEM | SYS1 | SYS2 | SYS3 | SYS4
CHAR-SET SYS1 | SYS2 | SYS3 | SYS4, ....
HTTP-DESCRIPTOR ..., CONVERT-TEXT = *YES
Code conversion tables
openUTM converts the data using the code conversion tables provided. These tables convert the data as follows:
BS2000, Unix- and Linux systems:
SYS1/SYS/SYSTEM: ISO8859-i <-> EBCDIC.DF.04.i (EDF04i)
SYS2: ISO8859-1 <-> EBCDIC.DF.04.DRV (EDF04DRV)
SYS3: ISO646-IRV <-> EBCDIC.03.DF.03.IRV (EDF03IRV))
SYS4: ISO646-IRV <-> EBCDIC.03.DF.03.DRV (EDF03DRV).
Windows systems:
SYS1/SYS/SYSTEM: Windows-1252 <-> EBCDIC.DF.04.F (EDF04F)
SYS2: Windows-1252 <-> EBCDIC.DF.04.DRV (EDF04DRV)
SYS3: ISO646-IRV <-> EBCDIC.03.DF.03.IRV (EDF03IRV))
SYS4: ISO646-IRV <-> EBCDIC.03.DF.03.DRV (EDF03DRV).
The first code conversion is referred to below as the standard code conversion.
The first and second code conversion are conversions between two 8-bit codes. The third and fourth code conversion are conversions between two 7-bit codes.
The code conversion tables provided can be modified or replaced with custom tables. In this guide, conversion between an EBCDIC code and an ASCII code is always assumed, although theoretically you can also convert between any EBCDIC codes.
The conversion tables are located:
In the assembler source KDCEA on BS2000 systems,
In the C source kcsaeea.c on Unix, Linux and Windows systems.
The sources contain eight conversion tables for the four code conversions.
Additional information about code conversion can be found in the openUTM manual „Programming Applications with KDCS”. There you also find hints how to operate modified code tables or own code tables. |