Bei einer heterogenen Kopplung zu einer UTM-Anwendung ist zu beachten, dass in den Systemen von Client und Server u. U. mit unterschiedlichen Codes gearbeitet wird, da Unix-, Linux- und Windows-Systeme ASCII-kompatible Codes und BS2000-Systeme einen EBCDIC-Code verwenden, z.B.:
Eine Client-Anwendung, die auf einem Unix-, Linux- oder Windows-System abläuft, kommuniziert mit einer UTM-Anwendung auf einem BS2000-System.
Eine Client-Anwendung, die auf einem BS2000-System abläuft, kommuniziert mit einer UTM-Anwendung auf einem Unix-, Linux- oder Windows-System.
Bei einer solchen heterogenen Kopplung können Nachrichten, die aus abdruckbaren Zeichen bestehen, konvertiert werden. Die Konvertierung von Binärdaten kann nicht durch UTM durchgeführt werden; eine Umwandlung von Binärdaten kann nur duch das Teilprogramm resp. das Client Programm durchgeführt werden. Die Konvertierung kann auf der Client-Seite oder auf der Server-Seite erfolgen. Sie müssen darauf achten, dass die Konvertierung nur einmal erfolgt.
Soll die Konvertierung im Client erfolgen, dann stehen beim Trägersystem UPIC zwei Möglichkeiten zur Verfügung:
Die CPI-C-Aufrufe Convert_Incoming() und Convert_Outgoing()
In diesem Fall werden die Daten vom Programm konvertiert. Mit Convert_Incoming können Sie eine empfangene Nachricht in den lokal verwendeten Code konvertieren (siehe Abschnitt „Convert_Incoming - Konvertieren vom Code des Senders in lokalen Code“). Mit Convert_Outgoing() können Sie die zu sendenden Daten (vor dem Senden) vom lokalen Code in den Code des Empfängers konvertieren (siehe Abschnitt „Convert_Outgoing - Konvertieren von lokalem Code in den Code des Empfängers“).Automatische Code-Konvertierung vom Trägersystem UPIC
Die automatische Code-Konvertierung schalten Sie für die Kopplung zu einem bestimmten Server über die Conversation Characteristic CHARACTER_CONVERTION ein. CHARACTER_CONVERTION kann wie folgt eingeschaltet werden:indem Sie im Side Information-Eintrag oder in der
upicfile
für diesen Server ein entsprechendes Kennzeichen setzen (siehe Abschnitt „Side Information für standalone UTM-Anwendungen“),oder über den Set_Convertion-Aufruf.
UPIC konvertiert bei eingeschalteter Code-Konvertierung alle Daten, die von diesem Server eintreffen, vor der Übergabe an das Client-Programm in den lokal verwendeten Code, und alle Daten, die vom Client-Programm an den Server gesendet werden, vor dem Senden in den Code des Servers. Das Client-Programm muss sich um die Konvertierung nicht mehr kümmern; Convert_Incoming() und Convert_Outgoing() dürfen nicht mehr aufgerufen werden.
Durch die automatische Code-Konvertierung wird die Möglichkeit geschaffen, mit einem einzigen CPI-C-Programm sowohl mit einer UTM-Anwendung auf Unix-, Linux- oder Windows-Systemen auf Basis des ASCII-kompatiblen Codes als auch mit einer UTM-Anwendung auf einem BS2000-System auf Basis eines EBCDIC-Codes zu kommunizieren (falls die Benutzerdaten keine Binärinformation enthalten, die bei der Codeumsetzung verfälscht würden).
Beachten Sie, dass die Nachrichten bei einer heterogenen Kopplung nur einmal konvertiert werden. Es dürfen nur Nachrichten konvertiert werden, die abdruckbare Zeichen enthalten. Bei einer homogenen Kopplung und bei der Kopplung Windows-System <-> Unix- oder Linux-System darf gar nicht konvertiert werden.