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