Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Code-Konvertierung

Bei der Kommunikation zwischen der UTM-Anwendung und einem Client oder einer Partner-Anwendung auf einer anderen Plattform kann es vorkommen, dass die beiden Kommunikationspartner mit unterschiedlichen Codes arbeiten, da Unix-, Linux- und Windows-Systeme ASCII-kompatible Codes und BS2000-Systeme einen EBCDIC-Code verwenden. Um die Kommunikation zwischen den Partnern zu vereinfachen, können Sie per Generierung eine automatische Code-Konvertierung für Clients und Partner-Anwendungen veranlassen:

  • BS2000-Systeme: TS-Anwendungen vom Typ SOCKET und HTTP-Clients

  • Unix-, Linux- und Windows-Systeme:

    • OpenCPIC-Clients und TS-Anwendungen vom Typ APPLI und SOCKET

    • Server-Server-Kommunikation mit LU6.1- und OSI TP-Partnern

Dabei ist jedoch zu beachten, dass nur abdruckbare Nachrichten ausgetauscht werden, da Binärdaten durch eine Code-Umsetzung evtl. verfälscht werden.

Sie können in einer UTM-Anwendung bis zu vier verschiedene Code-Konvertierungen verwenden. openUTM stellt dafür Konvertierungstabellen zur Verfügung.

Die Code-Konvertierung regeln Sie über den Operanden MAP der PTERM-, TPOOL-, OSI-CON- und SESCHA-Anweisungen, sowie - für HTTP-Clients - mittels der Anweisungen CHAR-SET und HTTP-DESCRIPTOR.

PTERM/TPOOL ... MAP= USER | SYSTEM | SYS1 | SYS2 | SYS3 | SYS4

OSI-CON ... MAP = USER | SYSTEM | SYS1 | SYS2 | SYS3 | SYS4 (nur Unix-, Linux- und Windows-Systeme)

SESCHA ... MAP = USER | SYSTEM | SYS1 | SYS2 | SYS3 | SYS4 (nur Unix-, Linux- und Windows-Systeme)

CHAR-SET   SYS1 | SYS2 | SYS3 | SYS4, ....

HTTP-DESCRIPTOR ..., CONVERT-TEXT = *YES

Standardmäßig wird ohne Codeumsetzung gearbeitet, d.h. MAP=USER bzw. CONVERT-TEXT = *NO gesetzt.

Code-Konvertierungstabellen

openUTM konvertiert die Daten gemäß der bereitgestellten Code-Konvertierungstabellen. Diese Tabellen konvertieren die Daten wie folgt:

BS2000-, Unix- und Linux-Systeme:

  • 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-Systeme:

  • 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).

Die erste Code-Konvertierung wird im Folgenden als Standard-Code-Konvertierung bezeichnet.

Die jeweils erste und zweite Code-Konvertierung sind Konvertierungen zwischen zwei 8-Bit-Codes. Die dritte und vierte Code-Konvertierung sind Konvertierungen zwischen zwei 7-Bit-Codes.

Die bereitgestellten Code-Konvertierungstabellen können modifiziert oder durch eigene Tabellen ersetzt werden. In diesem Handbuch wird dabei immer von einer Konvertierung zwischen einem EBCDIC-Code und einem ASCII-Code ausgegangen, obwohl Sie theoretisch auch zwischen beliebigen EBCDIC-Codes konvertieren könnten.

Die Konvertierungstabellen befinden sich:

  • auf BS2000-Systemen in der Assembler-Source KDCEA,

  • auf Unix-, Linux- und Windows-Systemen in der C-Source kcsaeea.c.

In den Sourcen finden Sie acht Konvertierungstabellen für die vier Code-Konvertierungen.

Weitere Informationen zur Code-Konvertierung finden Sie im openUTM-Handbuch „Anwendungen programmieren mit KDCS“. Dort erhalten Sie auch Hinweise, wie Sie geänderte Code-Tabellen oder eigene Code-Tabellen einsetzen können.