Ein CPI-C-Client, der das Trägersystem UPIC nutzt, kann zusammen mit einer Benutzernachricht Formatnamen an einen UTM-Service senden und Formatnamen von einem UTM-Service empfangen.
Die mit der Benutzernachricht übergebenen Formatnamen können zur Beschreibung des Datenformats der Benutzerdaten dienen. Die Benutzerdaten und Formatnamen werden zwischen Client und Server transparent übertragen, d.h. sie können beliebige Bit-Kombinationen enthalten, die vom Empfänger der Nachricht interpretiert werden müssen. Dabei wird die Benutzernachricht nicht von einem Formatierungssystem anhand des Formatnamens bearbeitet.
Die zwischen UPIC und openUTM ausgetauschten Formatnamen sind in der Regel frei wählbar, ebenso wie die Struktur. Die Strukturinformation ist dann von Bedeutung, wenn für Terminals geschriebene Programme auch mit UPIC-Clients kommunizieren sollen. In diesem Fall spielt das Formatkennzeichen eine Rolle, das aus einem Präfix (-, +, # oder *) und dem eigentlichen Formatnamen besteht.
UPIC-Client und UTM-Programm verwenden die Formatnamen, die in der UTM-Anwendung definiert sind, um die Strukturierungsmerkmale einer Nachricht festzulegen. Zu jedem Formatkennzeichen, das die UTM-Anwendung kennt, existiert in der UTM-Anwendung eine Datenstruktur (Adressierungshilfe). Durch diese Funktion kann ein UPIC-Client auch UTM-Anwendungen aufrufen, die mit Terminals über Formate kommunizieren. Dazu muss das Client-Programm das Formatkennzeichen übergeben, dass das UTM-Programm erwartet. Die Benutzernachricht muss dann entsprechend dem Formatkennzeichen aufgebaut sein.
Analog überträgt die UTM-Anwendung beim Senden von Formatdaten das Formatkennzeichen an das Client-Programm, das die Struktur des Nachrichtenbereichs beschreibt.
CPI-C-Aufrufe zum Austausch von Formatdaten
Da die CPI-C-Schnittstelle kein eigenes Konzept zur Übergabe von Formatnamen an der Schnittstelle hat, benutzt UPIC die Funktionen
Send_Mapped_Data()
Receive_Mapped_Data()
um Nachrichten zusammen mit Formatnamen zu senden bzw. zu empfangen.
Zum Senden von Formatdaten an die UTM-Anwendung ruft das Client-Programm die Funktion Send_Mapped_Data() auf. Im Feld map_name des Aufrufs übergibt der Client das Formatkennzeichen als Strukturierungsmerkmal der Nachricht, die an die UTM-Anwendung gesendet wird.
Die Nachricht muss entsprechend des in der Server-Anwendung definierten Formats strukturiert sein. Send_Mapped_Data ist im Abschnitt „Send_Mapped_Data - Daten und Formatkennzeichen senden“ beschrieben.
Liefert der UTM-Service ein Format zurück, dann muss das Client-Programm Receive_Mapped_Data() aufrufen, um die Nachricht zusammen mit dem Formatkennzeichen vom UTM-Service zu empfangen. Im Feld map_name übergibt UPIC das Formatkennzeichen, das der Server zur Strukturierung der Nachricht verwendet hat. Im Client-Programm wird die Nachricht entsprechend der vom UTM-Service verwendeten Strukturierung interpretiert. Receive_Mapped_Data() ist im Abschnitt „Receive_Mapped_Data - Daten und Formatkennzeichen von einem UTM-Service empfangen“ beschrieben.
Sollen mehrere Teilformate an einen UTM-Service gesendet werden, dann muss das Client-Programm für jedes Teilformat einen eigenen Send_Mapped_Data-Aufruf absetzen. Der UTM-Service liest jedes Teilformat mit einem eigenen MGET NT-Aufruf.
Entsprechend gilt: besteht eine Nachricht vom UTM-Service aus mehreren Teilformaten, dann muss das Client-Programm für jedes Teilformat einen Receive_Mapped_Data-Aufruf absetzen.
Bild 9: Austausch von Formaten
Detaillierte Informationen zum Arbeiten mit Formaten in einer UTM-Anwendung finden Sie im openUTM-Handbuch „Anwendungen programmieren mit KDCS“.
UTM-Formatkennzeichen und -Formattypen
Die zwischen einem UPIC-Client-Programm und einem UTM-Teilprogramm ausgetauschten Formatnamen können aus bis zu acht beliebigen Zeichen bestehen. Wichtig ist, dass beide Kommunikationspartner über Struktur und Bedeutung der mit dem Formatnamen übertragenen Benutzerdaten einig sind.
Wenn ein Client-Programm ein UTM-Teilprogramm im BS2000 aufruft, das auch mit Terminals über Formatkennzeichen kommuniziert, muss das Formatkennzeichen den Regeln der von openUTM unterstützten Formatierungssysteme entsprechen. Diese Formatkennzeichen bestehen aus:
einem ein Byte langen Präfix, das den Typ des Formats angibt (mögliche Werte sind
*, +, #, -
)einem bis zu 7 Zeichen langen Formatnamen.
Die Formattypen unterscheiden sich wie folgt:
*Formate:
Die Anzeigeattribute der Formatfelder können nicht durch ein UTM-Teilprogramm geändert werden. Es wird nur der Inhalt der Datenfelder übertragen.
+Formate und #Formate:
Ein UTM-Teilprogramm kann die Anzeigeattribute der Datenfelder bzw. globale Attribute ändern. Den Datenfeldern sind deshalb Attributfelder bzw. -blöcke zugeordnet. Wird ein +Format oder #Format ausgetauscht, dann muss das Client-Programm diese Attributfelder berücksichtigen.
-Formate
sind Formate, die mit dem Event-Exit FORMAT formatiert werden.
Näheres zu Formatkennzeichen und -typen finden Sie im openUTM-Handbuch „Anwendungen programmieren mit KDCS“.