Sie können die Programmschnittstelle auf der Seite der administrierten Anwendungen als reine Nachrichtenschnittstelle verwenden. Die Steuerung der Administration liegt dann ganz bei der Administrations-Anwendung. Diese versorgt die zum jeweiligen Administrationsaufruf notwendigen vier Bereiche vollständig und schickt sie mit MPUT NT/NE an die administrierte Anwendung.
Die administrierte Anwendung setzt die gelieferten Daten nur auf die Syntax der Administrationsschnittstelle um und ruft sie anschließend auf. D.h. sie prüft weder die bei MGET gelieferten Daten noch die Returncodes und Rückgaben des Aufrufs. Das folgende Diagramm skizziert ein solches Programm.
/**************************************************************************/ /* Dialog-Programm fuer die administrierte Anwendung */ /* */ /* Das Programm stellt vier Puffer fuer den Empfang bereit: */ /* parameter_area, identification_area, selection_area, data_area */ /**************************************************************************/ INIT MGET NT in parameter_area /* vollstaendig versorgter Parameter- */ /* bereich fuer die Administrations- */ /* schnittstelle */ MGET NT in identification_area /* identification_area ist je nach */ /* opcode des Parameterbereichs */ /* versorgt */ MGET NT in selection_area /* selection_area ist abhaengig von */ /* gewuenschter Aktion versorgt, ggf. */ /* nur mit Laenge 0 */ MGET NE in data_area /* Daten, falls erforderlich, sonst */ /* mit Laenge 0 versorgt */ KDCADMI (¶meter_area, /* Das Programm ruft die KDCADMI auf, */ &identification_area, /* ohne die Daten zu pruefen */ &selection_area, &data_area); MPUT NT parameter_area /* parameter_area mit den Returncodes */ /* und den anderen Rueckgaben */ MPUT NE data_area /* data_area mit den Rueckgabedaten */ /* oder Laenge 0, falls keine Daten */ /* zurueckgegeben werden */ PEND FI /* Vorgang beenden, Information geht */ /* zurueck an Administrationsanwendung*/
Die Administrations-Anwendung muss entsprechend viele Nachrichtenteile senden. Bei einem UPIC-Client kann das z.B. so aussehen:
/**************************************************************************/ /* UPIC-Programm fuer die Administrations-Anwendung */ /* */ /* Das Programm sendet vier Nachrichtenteile */ /**************************************************************************/ Enable_UTM_UPIC Initialize_Conversation [Set_TP_Name] /* ggf. TAC setzen */ Set_Conversation_Security_Type /* Administrationsberechtigten User */ Set_Conversation_Security_User_ID /* bei openUTM anmelden */ Set_Conversation_Security_Password memcpy (...) /* Alle Datenbereiche versorgen */ ... memcpy (...) Send_Data parameter_area /* Parameterbereich senden */ Send_Data identification_area /* Identifikationsbereich senden */ Send_Data selection_ara /* Selektionsbereich senden */ Send_Data data_area /* Datenbereich senden */ Receive parameter_area /* Enthaelt die Returncodes/Rueckgaben*/ Receive data_area /* Datenbereich mit gewuenschter */ /* Information */ Disable_UTM_UPIC
Wie ein solcher UPIC-Client generiert werden kann, ist im Abschnitt "Administration über UPIC-Client" beschrieben.
Wenn die Administrations-Anwendung auf einer anderen Plattform als die administrierte Anwendung läuft, werden die Zeichen der gelieferten Bereiche eventuell umcodiert. Solange diese Bereiche nur abdruckbare Zeichen enthalten wie z.B. Identifikationsbereich, Selektionsbereich und Datenbereich, treten keine Probleme auf. Beim Parameterbereich (parameter_area), der auch nicht-abdruckbare Zeichen und numerische Werte enthält, müssen Sie einen Umsetz-Mechanismus verwenden:
In beiden Anwendungen definieren Sie einen eigenen Parameterbereich, der nur abdruckbare Zeichen enthält.
Die Administrations-Anwendung setzt die Werte des richtigen Parameterbereichs in abdruckbare Zeichen um, legt sie im eigenen Parameterbereich ab und schickt diesen an die administrierte Anwendung.
Die administrierten Anwendungen schreiben die empfangenen Werte in den eigenen Parameterbereich, setzen sie in die richtigen numerischen Werte um und kopieren sie in den Parameterbereich, der für den Administrationsaufruf verwendet wird.