Die Programm-Anweisungen von CALLUTM werden über die SDF-Benutzeroberfläche des BS2000-Systems gelesen und vom Kommandoprozessor SDF verarbeitet. Das Programm CALLUTM hat neben den SDF-Standardanweisungen die in der folgenden Tabelle aufgelisteten Programm-Anweisungen.
Nr. | Programm-Anweisung | Funktion |
1. | CREATE-CONFIGURATION | Umgebung für den Programmablauf definieren und die Verbindung zur UTM-Anwendung auswählen. Diese Anweisung muss als erste Anweisung abgesetzt werden. |
2. | SELECT-SERVICE | Einen Service (Transaktionscode) in der UTM-Anwendung starten. Es kann eine Nachricht (Operanden oder Parameterwerte) mitgegeben werden. |
3. | CONTINUE-SERVICE
| Einen noch nicht beendeten Service fortsetzen. Die Anweisung dient dazu, bei Services mit mehreren Verarbeitungsschritten, nach Beendigung eines Verarbeitungsschritts den folgenden Verarbeitungsschritt zu starten. Es kann eine Nachricht mitgegeben werden. |
4. | DEALLOCATE-CONVERSATION | Die Conversation zur UTM-Anwendung beenden. Ein in der UTM-Anwendung noch offener Service, der zu dieser Conversation gehört, wird abnormal beendet. |
5. | SHOW-CONFIGURATION | Programmablauf-Umgebung, die mit CREATE-CONFIGURATION oder MODIFY-CONFIGURATION eingestellt wurde, anzeigen lassen. |
6. | MODIFY-CONFIGURATION | Programmablauf-Umgebung, die mit CREATE-CONFIGURATION eingestellt wurde, modifizieren. |
7. | CALLUTM-ERROR-STEP | Verarbeitung der Anweisungen für CALLUTM innerhalb einer Prozedur oder im Batch steuern. |
CREATE-CONFIGURATION muss immer die erste Anweisung nach dem Programmstart sein. Insbesondere muss CREATE-CONFIGURATION vor SELECT-SERVICE abgesetzt werden.
Die Anweisungen 5. und 6. können an einer beliebigen Stelle zwischen CREATE-CONFIGURATION und dem Ende des Programmlaufs abgesetzt werden.
Die Anweisungen sind im Folgenden in alphabetischer Reihenfolge detailliert beschrieben.
Metasyntax
Bei der Beschreibung der Anweisungen wird die SDF-Syntax-Darstellung verwendet. In der folgenden Tabelle sind die Darstellungselemente beschrieben, die zusätzlich zu der im Abschnitt "Darstellungsmittel" beschriebenen Metasyntax verwendet werden.
Kennzeichnung | Bedeutung | Beispiele | |||||||||||||||||||||||||||||||||||||||||||||||||
< > | Spitze Klammern kennzeichnen Variablen, deren Wertevorrat durch Datentypen und ihre Zusätze beschrieben wird. | POSITION = <integer 1..256> | |||||||||||||||||||||||||||||||||||||||||||||||||
/ | Der Schrägstrich trennt alternative Operandenwerte. | SET-TEST-MODE = *NO / *YES | |||||||||||||||||||||||||||||||||||||||||||||||||
(...) | Runde Klammern kennzeichnen Operandenwerte, die eine Struktur einleiten. | ,SET-SERVICE-JV = *YES (...) / *NO | |||||||||||||||||||||||||||||||||||||||||||||||||
Einrückung | Die Einrückung kennzeichnet die Abhängigkeit zu dem jeweils übergeordneten Operanden. |
| |||||||||||||||||||||||||||||||||||||||||||||||||
| Der Strich kennzeichnet zusammengehörende Operanden einer Struktur. Sein Verlauf zeigt Anfang und Ende einer Struktur an. |
| |||||||||||||||||||||||||||||||||||||||||||||||||
Kurzname: | Der darauf folgende Name ist ein garantierter Aliasname des Anweisungsnamens. | Kurzname: CONFATTR |
CALLUTM-ERROR-STEP
Die Anweisung CALLUTM-ERROR-STEP steuert die Verarbeitung der Anweisungen für CALLUTM innerhalb einer Prozedur oder im Batch:
Wenn während des Programmlaufs ein Fehler auftritt (kein SDF-Syntax-Fehler), z.B. die adressierte openUTM-Anwendung läuft nicht mehr, liest CALLUTM die nächsten Anweisungen so lange von SYSDTA bis die Anweisung CALLUTM-ERROR-STEP gefunden wird. Dann wird der Programmlauf mit der nächsten Anweisung fortgesetzt. Andernfalls wird CALLUTM beendet.
Die Anweisung hat keine Operanden.
Beispiel
//CREATE-CONFIGURATION ...
// ... // ... //SELECT-SERVICE SERVICE-NAME = KDCINF, SERVICE-DATA = C'STAT' (1) //SELECT-SERVICE SERVICE-NAME = KDXINF, SERVICE-DATA = C'USER' (2) //SELECT-SERVICE SERVICE-NAME = KDCINF, - (3) // SERVICE-DATA = C'USER,L=KDCCON' //CALLUTM-ERROR-STEP (4) //SELECT-SERVICE SERVICE-NAME = KDCINF, SERVICE-DATA = C'TAC' (5)
Erläuterung:
Anweisung (1) wird ausgeführt.
Anweisung (2) bringt Fehler, da TAC KDXINF nicht definiert ist.
Anweisung (3) wird nicht ausgeführt.
Die Verarbeitung wird mit Anweisung (5) wieder aufgenommen.
CONTINUE-SERVICE
Mit CONTINUE-SERVICE können Sie einen Vorgang in der UTM-Anwendung, der mit SELECT-SERVICE angestoßen wurde und aus mehreren Schritten besteht, fortsetzen. CONTINUE-SERVICE geben Sie an, wenn der Service nach Beendigung eines Dialog-Schritts eine Nachricht an CALLUTM gesendet hat und der Vorgang noch nicht beendet ist, weil noch weitere Verarbeitungsschritte durchgeführt werden müssen/können. Für den folgenden Verarbeitungsschritt können Daten an den Service übergeben werden.
CONTINUE-SERVICE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operandenbeschreibung siehe Anweisung SELECT-SERVICE.
Beispiel
In diesem Beispiel wird auf das Beispiel-Administrationsprogramm SUSRMAX Bezug genommen, das zusammen mit openUTM ausgeliefert wird (siehe Abschnitt „Beispielprogramme"). Der Dialog mit SUSRMAX läuft in den folgenden Teilschritten ab:
SUSRMAX wird gestartet und liefert eine Nachricht zurück, die zur Auswahl einer Funktion auffordert:
-> //SELECT-SERVICE SERVICE-NAME=SUSRMAX <date: 10-19-2017 time: 10:18:55 application: DB400 host: BS2HOSTA tac: SUSRMAX ------------------------------------------------------------------- available commands: 0 = end | 1 = show-connected-users 2 = show-users-in-conversation | 3 = show-changeable-max-values 4 = change-max-values | please make a selection
Der Vorgang wird mit CONTINUE-SERVICE fortgesetzt, es wird die Funktion „1 = show-connected-users“ ausgewählt (SERVICE-DATA='1'). openUTM liefert die geforderten Informationen zurück.
-> //CONTINUE-SERVICE SERVICE-DATA='1' <- ... ... Ausgabe ...
Die UTM-Nachricht zur Auswahl einer weiteren Funktion soll erneut ausgegeben werden.
-> //CONTINUE-SERVICE <- ... ... Ausgabe der Funktionsauswahl-Nachricht wie unter 1. ...
Der Vorgang wird mit CONTINUE-SERVICE fortgesetzt, es wird die Funktion „2 = show-users-in-conversation“ ausgewählt (SERVICE-DATA='2'). openUTM liefert die geforderten Informationen zurück.
-> //CONTINUE-SERVICE SERVICE-DATA='2' <- ... ... Ausgabe ...
SUSRMAX soll beendet werden (Funktion „0 = end“).
-> //CONTINUE-SERVICE SERVICE-DATA='0' <date: 10-19-2017 time: 10:20:18 application: DB400 host: BS2HOSTA tac: SUSRMAX ---------------------------------------------------------------- conversation terminated ---------------------------------------------------------------- -> //
CREATE-CONFIGURATION
Mit der Anweisung CREATE-CONFIGURATION wird die Umgebung für den Programmablauf definiert und die Verbindung zur UTM-Anwendung ausgewählt, d.h. Sie legen Folgendes fest:
wie sich das Programm beim Trägersystem UPIC anmeldet
zu welcher UTM-Anwendung eine Verbindung aufgebaut werden soll
welche UTM-Benutzerkennung beim Aufbau der Conversation übergeben wird
ob und in welchem Umfang eine Protokolldatei geführt wird
ob der UPICTRACE mitlaufen soll.
CREATE-CONFIGURATION muss die erste Anweisung nach dem Programmstart sein. Wird CREATE-CONFIGURATION innerhalb des Programmlaufs wiederholt abgesetzt, dann werden eventuell offene Protokolldateien geschlossen und offene Services zurückgesetzt. Es wird intern ein DEALLOCATE durchgeführt.
Die mit CREATE-CONFIGURATION eingestellten Werte können Sie innerhalb eines Programmlaufs mit MODIFY-CONFIGURATION ändern.
CREATE-CONFIGURATION | Kurzname: CONFATTR | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
LOCAL-NAME = <alphanum-name 1..8> | ||
Lokaler Name, mit dem sich CALLUTM beim Trägersystem UPIC anmeldet. Der Name muss in der UPICFILE definiert sein. | ||
SYMB-DEST-NAME = <alphanum-name 8..8> | ||
Symbolischer Partnername der UTM-Anwendung, zu der eine Verbindung aufgebaut werden soll. Der Name muss in der UPICFILE definiert sein. | ||
USER-ID = | ||
UTM-Benutzerkennung, die zum Einrichten der Conversation benutzt wird. | ||
*NONE | ||
Es wird ohne Security-Funktionen gearbeitet. | ||
<alphanum-name 1..8>( ) / <c-string_1..8_with-low> / < x-string 1..16> | ||
UTM-Benutzerkennung. Die Benutzerkennung muss in der UTM-Anwendung existieren. PASSWORD = *NONE PASSWORD = <c-string 1..16> oder <x-string 1..32> | ||
WRITE-LOGGING-FILE = | ||
Bestimmt, ob und in welchem Umfang der Datenfluss vom Client zum Server und zurück (Daten der Services) protokolliert werden soll. | ||
*NO | ||
Es wird nicht protokolliert. | ||
*YES ( ) | ||
Es wird protokolliert. LOGGING-FILENAME = <full-filename-without-gen-vers 1..54> OPEN-MODE = *EXTEND OPEN-MODE = *REPLACE LOGGING-INFO = *SEND LOGGING-INFO = *RECEIVE LOGGING-INFO = *ALL RECORD-LENGTH = *STD / <integer 1..252> | ||
WRITE-UPIC-TRACE = | ||
gibt an, ob der UPIC-Trace gestartet wird. | ||
*NO | ||
Der UPIC-Trace wird nicht eingeschaltet. | ||
*YES | ||
Der UPIC-Trace wird eingeschaltet. | ||
CONFIGURATION-ID = 1 | ||
Dient der Identifikation der Konfiguration. Es ist nur der Wert 1 zulässig. | ||
SET-TEST-MODE= | ||
Testmodus ein- bzw. ausschalten. | ||
*NO | ||
Der Testmodus wird nicht eingeschaltet. Es werden keine UPIC-Aufrufe nach SYSOUT ausgegeben. | ||
*YES | ||
Testmodus wird eingeschaltet. Alle UPIC-Aufrufe von CALLUTM werden auf SYSOUT ausgegeben. | ||
SET-ENCRYPTION-LEVEL= | ||
Gibt an, ob und wie auf der Verbindung Daten verschlüsselt werden sollen. Ist für die Client-Verbindung auf der Server-Seite Verschlüsselung generiert, muss hier der entsprechende Encryption-Level aus der Generierung angegeben werden. Ist auf der Server-Seite für einen TAC Verschlüsselung generiert, der hier aufgerufen werden soll, muss auf der Client-Seite ebenfalls der Encryption-Level angegeben werden. | ||
*NO | ||
Keine Verschlüsselung. | ||
<integer 1..4> | ||
Encryption-Level aus der Generierung |
Beispiel
//CREATE-CONFIGURATION LOCAL-NAME=UPCPT#T0,SYMB-DEST-NAME=DBSADMT0, - // WRITE-LOGGING-FILE=*YES(L-F=LOG.CALLUTM)
DEALLOCATE-CONVERSATION
Mit dieser Anweisung wird die Conversation zur Partner-Anwendung beendet. Ein eventuell noch offener Service in der UTM-Anwendung wird abnormal beendet.
DEALLOCATE-CONVERSATION |
CONFIGURATION-ID = 1 / <integer 1..1> |
CONFIGURATION-ID muss nicht angegeben werden (Standardeinstellung). Es darf nur CONFIGURATION-ID=1 angegeben werden.
Beispiel
//DEALLOCATE-CONVERSATION
MODIFY-CONFIGURATION
Mit MODIFY-CONFIGURATION können Werte der aktuell eingestellten Programmablauf-Umgebung modifiziert werden, die mit CREATE-CONFIGURATION oder durch ein vorheriges MODIFY-CONFIGURATION gesetzt wurden.
MODIFY-CONFIGURATION | Kurzname: MODATTR | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operandenbeschreibung siehe Anweisung CREATE-CONFIGURATION.
Beispiel
Es wird die Protokollierung ausgeschaltet.
-> //MOD-CONF WRITE-LOGGING-FILE=*NO <- CUA0050: configuration modified -> //
SELECT-SERVICE
Mit SELECT-SERVICE wird in der UTM-Anwendung ein Service gestartet. Es können Daten mitgegeben werden, d.h. Operanden und Parameterwerte, die der Service für die Bearbeitung benötigt. Zudem kann eine Jobvariable bestimmt werden, die die Empfangs-Nachricht, einen Teil davon oder einen angegebenen String nach Ausführung der Anweisung aufnimmt. Ist die Jobvariable noch nicht katalogisiert, wird sie neu angelegt.
Wird mit SELECT-SERVICE ein Service aufgerufen, der in mehreren Verarbeitungsschritten abläuft und zwischen den einzelnen Verarbeitungsschritten Dialog-Nachrichten an CALLUTM übergibt, dann sind nach dem Aufrufen des Services und vor dem Beenden des Vorgangs außer den SDF-Standardanweisungen nur die folgenden Anweisungen erlaubt:
CONTINUE-SERVICE
zum Fortsetzen des Service nach dem Empfang einer Dialog-NachrichtDEALLOCATE-CONVERSATION
zum Abbruch der Verbindung und zur (abnormalen) Beendigung des Service in der UTM-Anwendung.SHOW-CONFIGURATION
zum Lesen der aktuell eingestellten Konfigurationsdaten.
SELECT-SERVICE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
SERVICE-NAME = <alphanum-name 1..8>/<c-string-with-lower-case> | ||
der Transaktionscode, mit dem ein Vorgang in der UTM-Anwendung gestartet werden soll. Das kann auch ein Administrationskommando oder ein anderer Administrations-TAC sein. | ||
SERVICE-DATA = | ||
Nachricht, die an den Service in der UTM-Anwendung übergeben werden soll. | ||
*NO | ||
Es werden keine Daten mitgegeben. | ||
list-poss(42): <c-string-with-lower-case 1..1800> | ||
Nachricht, die an den fernen Service übergeben werden soll. Die Nachricht muss als C-String, d.h. in Hochkommas eingeschlossen, übergeben werden. | ||
SET-SERVICE-JV = | ||
Versorgen einer Jobvariablen. | ||
*NO | ||
Es wird keine Jobvariable versorgt. | ||
*YES ( ) | ||
Es wird eine Jobvariable versorgt. JV-IDENTIFICATION = *JV-NAME ( ) JV-NAME = <full-filename-without-genereration-version 1..54> POSITION = 1 POSITION = <integer 1..256> LENGTH = *REST LENGTH = <integer 1..256> JV-IDENTIFICATION = *LINK-NAME ( ) LINK-NAME = <alphanum-name 1..7> POSITION = wie oben bei *JV-NAME ( ) LENGTH = wie oben bei *JV-NAME ( ) PASSWORD = *NONE PASSWORD = <c-string 1..4> / <x-string 1..8> VALUE = *RECEIVE-MSG (POSITION = 1/<integer 1..4000>) VALUE = <c-string 1..256> / <x-string 1..512> |
Hinweis zur Verwendung von Jobvariablen:
Vor Ausführung der Anweisung wird die Jobvariable ab der angegebenen Position und in der angegebenen Länge mit Leerzeichen initialisiert. Tritt bei diesem Zugriff auf die Jobvariable ein Fehler auf, wird die Anweisung als ganzes nicht ausgeführt.
Beispiel
Es wird das Administrationskommando KDCSHUT WARN, TIME=01 aufgerufen.
//SELECT-SERVICE SERVICE-NAME=KDCSHUT, SERVICE-DATA='WARN,TIME=01'
Es werden mit dem Kommando KDCINF die Eigenschaften der Benutzerkennung UPCUSER gelesen (KDCINF USER,LIST=UPCUSER). Die Ausgabe soll in die Jobvariable JV.USER geschrieben werden (ab Spalte 81).
//SELECT-SERVICE SERVICE-NAME=KDCINF, - // SERVICE-DATA='USER,LIST=(UPCUSER)', - // SET-SERVICE-JV=*YES ( - // JV-ID=*JV-NAME ( - // JV-NAME=JV.USER, - // POSITION=81 ) - // ) - // VALUE=*RECEIVE-MSG(POSITION=161)
Ergebnis
Nach Ausführung der Anweisung ist dann die Jobvariable JV.USER ab Spalte 81 folgendermaßen belegt:
......Spalte 81 Spalte 123 .............| | .............UPCUSER0_____________OFF_____N______________ .............8________0_______0__UPCLT#T0_______. .............| | .....Spalte 124 Spalte 160 ist next line X'15'
Bedeutung des Inhalts (siehe Abschnitt "Ausgabe von KDCINF (Beispiele)"(type=USER)):
UPCUSER (Wert von USER):
Name der Benutzerkennung.OFF (Wert von STATUS):
Die Benutzerkennung ist gesperrt.N (Wert von OSERV):
Die Benutzerkennung bearbeitet z.Zt. keinen Vorgang.8 (Wert von NR.TACS):
Unter dieser Benutzerkennung wurden bisher 8 Transaktionsaufträge eingegeben.0 (Wert von SECCNT):
Anzahl der Sicherheitsverletzungen unter dieser Benutzerkennung.UPCLT#T0 (Wert von LTERM):
Name des LTERM-Partners, über den sich die Benutzerkennung anmeldet.
SHOW-CONFIGURATION
Mit SHOW-CONFIGURATION können Sie sich die Werte anzeigen lassen, die in der letzten CREATE-CONFIGURATION- oder MODIFY-CONFIGURATION-Anweisung festgelegt wurden.
SHOW-CONFIGURATION | Kurzname: SHOWATTR |
CONFIGURATION-ID = 1 / <integer_1..1> ,OUTPUT = *SYSOUT /*LOGGING-FILE |
CONFIGURATION-ID = 1 | ||
dient der Identifikation der Konfiguration. Es ist nur der Wert 1 zulässig. | ||
OUTPUT= | ||
gibt an, wo die angeforderten Daten ausgegeben werden sollen. | ||
*SYSOUT | ||
Die angeforderten Daten werden auf SYSOUT ausgegeben. | ||
*LOGGING-FILE | ||
Die angeforderten Daten sollen in die Protokolldatei geschrieben werden (siehe CREATE-CONFIGURATION; Operand WRITE-LOGGING-FILE). Wurde in CREATE-CONFIGURATION bzw. MODIFY-CONFIGURATION keine Protokolldatei definiert, dann wird die Ausgabe der Daten auf SYSOUT umgelenkt. |
Beispiel
-> //SHOW-CONF OUTPUT=*SYSOUT <- -- current configuration data: --------------------------------- local name = UPCPT#T0 symbolic destination name = DBSADMT0 partner name (from upicfile) = DBSUPAT0 program name is enabled to UPIC no user identification given logging file name = LOG.CALLUTM open mode = replace record length = 79 logging info = transmitted and received messages file is open upic trace is switched off program monitoring job variable is not specified encryption is not available -- end configuration data -------------------------------------- ->