Mit dem Aufruf INIT (initialize program) melden Sie ein Teilprogramm bei openUTM an. Dabei gibt es folgende Varianten:
INIT (ohne Angabe in KCOM)
Teilprogramm initialisierenINIT PU (Program Unit)
Teilprogramm initialisieren und zusätzliche Informationen anfordern.INIT MD (Modifiy)
Teilprogramm initialisieren und Größe des KB-Programmbereichs ändern.
Für diese Varianten gilt Folgendes:
Der INIT-Aufruf leitet die Zusammenarbeit des Teilprogrammlaufs mit openUTM ein. Er ist der erste KDCS-Aufruf, der in einem Teilprogrammlauf erlaubt ist, d.h. vor dem INIT-Aufruf dürfen Sie keine anderen KDCS- oder Datenbank-Aufrufe geben.
Der Aufruf INIT bzw. INIT PU darf je Teilprogrammlauf nur einmal abgesetzt werden
INIT MD darf in einem Teilprogramm mehrmals angegeben werden. Wenn Sie den Aufruf INIT MD als ersten INIT-Aufruf im Teilprogramm angeben, wird er behandelt wie ein INIT ohne Operationsmodifikation.
Der Kommunikationsbereich (KB) und der Standard Primäre Arbeitsbereich (SPAB) dürfen zwischen dem Start des Teilprogrammlaufs und dem ersten INIT-Aufruf nicht verwendet werden.
Nach dem ersten INIT stellt openUTM dem Teilprogrammlauf den gesamten Kommunikationsbereich (KB) einschließlich des KB-Programmbereichs in der in KCLKBPRG/ kclcapa angegebenen Länge zur Verfügung.
Der Aufruf INIT MD dient dazu, die Länge des KB-Programmbereichs im Teilprogrammlauf nachträglich zu verändern. Dies ist z.B. dann sinnvoll, wenn sich erst im Lauf der Verarbeitung ergibt, wie groß der KB-Programmbereich ist, den openUTM beim PEND-Aufruf sichern soll.
Beispiel: Im KB-Programmbereich sollen Daten gesichert werden, die aus einer Datenbank gelesen werden. Wird die Länge des KB-Programmbereichs durch INIT MD an die gelesene Datenmenge angepasst, dann hat dies den Vorteil, dass openUTM am Sicherungspunkt nicht unnötig viele Daten oder zuwenig Daten sichert.Falls Sie den Aufruf INIT mit der Operationsmodifikation PU (Program Unit) verwenden, stellt openUTM dem Teilprogramm zusätzlich im Nachrichtenbereich Informationen über Anwendung, System und Kommunikationspartner zur Verfügung.
Versorgen des 1. Parameters (KDCS-Parameterbereich)
Die folgende Tabelle zeigt die notwendigen Angaben im KDCS-Parameterbereich.
Funktion des Aufrufs | Einträge im KDCS-Parameterbereich | ||||
---|---|---|---|---|---|
KCOP | KCOM | KCLKBPRG/kclcapa | KCLPAB/kclspa | KCLI | |
Initialisieren des Teilprogramms | "INIT" | — | Länge des KB-Programmbereichs (wenn verwendet) | Länge des SPAB (wenn verwendet ) | — |
Initialisieren des Teilprogramms und Anfordern von Informationen | "INIT" | "PU" | Länge des KB-Programmbereichs (wenn verwendet) | Länge des SPAB (wenn verwendet) | Länge des Nachrichtenbereichs |
Länge des KB-Programmbereichs ändern | "INIT" | "MD" | Länge des KB-Programmbereichs | — | — |
Die Länge des KB-Programmbereichs darf nicht größer sein als die Maximallänge, die für diese Anwendung bei der Generierung festgelegt wurde (Operand KB in der MAX-Anweisung bei KDCDEF).
Die Länge des SPAB darf nicht länger sein als bei der Generierung vorgesehen (Operand SPAB in der MAX-Anweisung bei KDCDEF).
Versorgung des 2. Parameters (nur notwendig bei INIT PU)
Hier geben Sie die Adresse des Nachrichtenbereichs an, in den openUTM die angeforderte Information schreiben soll.
Für die Strukturierung des Nachrichtenbereichs stehen Ihnen Sprach-spezifische Datenstrukturen zur Verfügung. Für COBOL sind diese im COPY-Element KCINIC definiert, für C/C++ in der Include-Datei kcini.h.
Im Header der Datenstruktur geben Sie die Versionsnummer der Struktur an und wählen aus, welche Information openUTM zurückliefern soll. Die Beschreibung der übrigen Felder (Rückgabeinformationen) finden Sie im Abschnitt „Struktur des Nachrichtenbereichs bei INIT PU".
Versorgen der Parameter | |
Feldname im KDCS-Parameterbereich | Inhalt |
"INIT" | |
— /"PU"/"MD" | |
Länge in Byte | |
— /Länge in Byte | |
— / Länge in Byte (bei INIT PU) |
Versorgen des Headers des Nachrichtenbereichs (nur notwendig bei INIT PU) | |
Feldname im Nachrichtenbereich | Inhalt |
Versionsnummer (7) | |
Anfordern von Datum und Uhrzeit (Y/N) | |
Anfordern von Anwendungsinformation (Y/N) | |
Anfordern von Locale Information (Y/N) | |
Anfordern von OSI TP Informationen (Y/N) | |
Anfordern von Verschlüsselungs-Informationen (Y/N) | |
Anfordern von verschiedenen Informationen (Y/N) | |
Anfordern von HTTP Informationen (Y/N) |
KDCS-Aufruf | |
KDCS-Parameterbereich | — / Nachrichtenbereich (bei INIT PU) |
C/C++-Makroaufrufe | |
Parameter | |
KDCS_INIT | (kclcapa,kclspa) |
KDCS_INITPU | (nb,kclcapa,kclspa,kcli) |
KDCS_INITMD | (kclcapa) |
Rückgaben von openUTM | |
---|---|
Nachrichtenbereich (nur bei INIT PU) | Inhalt |
INIT PU Informationen | |
aktuelle Vorgangs-Daten | |
Feldname im KB-Rückgabebereich | |
KCRLM (nur bei INIT PU) | Länge der übergebenen Informationen |
Returncode | |
interner Returncode | |
Formatkennzeichen/Leerzeichen | |
Vorgangs-Id/Reset-Id/Leerzeichen | |
KB-Programmbereich | |
Daten |
Im KDCS-Parameterbereich machen Sie für den INIT-Aufruf folgende Einträge:
KCOP
im Feld KCOP den Operationscode INIT.
KCOM
im Feld KCOM die Operationsmodifikation:
PU: wenn openUTM im Nachrichtenbereich zusätzliche Informationen bereitstellen soll
MD: wenn die Länge des KB-Programmbereichs verändert werden soll
KCLKBPRG/kclcapa
im Feld KCLKBPRG/kclcapa die Länge des KB-Programmbereichs in Bytes (wenn verwendet). Sie darf nicht größer sein, als bei der Generierung vorgesehen (Operand KB in der MAX-Anweisung), sonst wird der generierte Wert genommen.
nur bei INIT oder INIT PU:
KCLPAB/kclspa
im Feld KCLPAB/kclspa die Länge des im Teilprogrammlauf verwendeten Standard Primären Arbeitsbereichs (SPAB) in Bytes. Sie darf nicht größer sein, als bei der Generierung vorgesehen (Operand SPAB in der MAX-Anweisung).
nur bei INIT PU:
KCLI
im Feld KCLI die Länge des Nachrichtenbereichs, in den openUTM die Information übertragen soll. Die Länge geben Sie als Anzahl Bytes an. Die von openUTM in den Nachrichtenbereich übertragene Information hat maximal die Länge KCLI. Um die gesamte verfügbare Information zu erhalten, müssen Sie in der aktuellen Schnittstellenversion den Wert 372 angeben.
Versorgen des Headers des Nachrichtenbereichs (nur notwendig bei INIT PU):
KCVER/if_ver
Im Feld KCVER/if_ver geben Sie die Versionsnummer der Datenstruktur an, die aktuelle Version ist 7.
KCDATE/dattim_info
Das Feld KCDATE/dattim_info versorgen Sie mit Y, falls Sie Informationen über Datum und Uhrzeit des Starts der Anwendung und des Teilprogrammlaufs haben wollen, sonst geben Sie N an.
KCAPPL/appl_info
Das Feld KCAPPL/appl_info versorgen Sie mit Y, wenn Sie Informationen über Anwendung, System und Kommunikationspartner anfordern, sonst geben Sie N an.
KCLOCALE/locale_info
Das Feld KCLOCALE/locale_info versorgen Sie mit Y, wenn Sie Informationen über die Sprachumgebung der Benutzerkennung anfordern, sonst geben Sie N an.
KCOSITP/ositp_info
Das Feld KCOSITP/ositp_info versorgen Sie mit Y, wenn Sie OSI TP-spezifische Informationen benötigen, sonst geben Sie N an.
KCENCR/encr_info
Das Feld KCENCR/encr_info versorgen Sie mit Y, wenn Sie Informationen über Verschlüsselungsverfahren benötigen, die zwischen dem Client und der UTM-Anwendung gefahren werden, sonst geben Sie N an. (Der Verschlüsselungsmechanismus kann vereinbart werden. Siehe openUTM-Handbuch „Anwendungen generieren“.)
KCMISC/misc_info
Das Feld KCMISC/misc_info versorgen Sie mit Y, wenn Sie verschiedene Informationen (z.B. Anzahl der Asynchron-Nachrichten in der Queue des Benutzers, Passwortgültigkeit, Zeitpunkt der letzten Anmeldung) benötigen, sonst geben Sie N an.
KCHTTP/http_info
Das Feld KCHTTP/http_info versorgen Sie mit Y, wenn Sie HTTP-spezifische Informationen benötigen, sonst geben Sie N an.
Beim KDCS-Aufruf geben Sie an:
1. Parameter
Die Adresse des KDCS-Parameterbereichs.
2. Parameter
(nur notwendig bei INIT PU): Die Adresse des Nachrichtenbereichs, in den openUTM die Information schreiben soll (siehe "Versorgung des 2. Parameter").
Makronamen
Wie Sie Makroaufrufe für C/C++ nutzen, ist in Abschnitt „C/C++-Makroschnittstelle" ausführlich beschrieben.
openUTM gibt zurück:
Nachrichtenbereich
nur bei INIT PU: Die von openUTM übertragenen Informationen maximal in der in KCLI angegebenen Länge.
KB-Kopfbereich
im KB-Kopfbereich die aktuellen Daten des KB-Kopfes (siehe Tabelle).
KCRLM
nur bei INIT PU: im Feld KCRLM die tatsächliche Länge der bei UTM vorhandenen Information. Falls im Feld KCLI ein kleinerer Wert angegeben wurde, wird die Information in der in KCLI angegebenen Länge zurückgegeben und KCRCCC auf 07Z gesetzt. Bei KCRCCC >= 40Z werden keine Informationen übertragen, deshalb ist in diesen Fällen KCRLM=0.
KCRCCC
im Feld KCRCCC den KDCS-Returncode, siehe nächste Seite.
KCRCDC
im Feld KCRCDC den internen Returncode von openUTM (siehe openUTM-Handbuch „Meldungen, Test und Diagnose“).
KCRMF/kcrfn
nur bei INIT oder INIT PU:
Bei einer Nachricht von einem Terminal:
Leerzeichen (im Zeilenmodus) oder den Formatnamen (im Formatmodus) der letzten Bildschirmausgabe, also den Namen der beim MPUT des letzten Dialog-Schritts im Feld KCMF/kcfn angegeben wurde.
Bestand die letzte Ausgabe aus mehreren Teilformaten, so enthält KCRMF/kcrfn den Namen des ersten Teilformats, in das Daten eingegeben wurden. Wurden in keines der Teilformate Daten eingegeben, so enthält KCRMF/kcrfn den Namen des ersten Teilformats.Nur auf BS2000-Systemen: Wurde bei der letzten Bildschirmausgabe ein Editprofil verwendet, so enthält KCRMF/kcrfn dieses Editprofil.
Bei einer Nachricht von einer TS-Anwendung oder einem Teilprogramm der gleichen Anwendung: Leerzeichen.
Wenn eine Rücksetznachricht vorliegt (nach PEND RS): Leerzeichen.
bei einer Nachricht vom LU6.1-Partner oder UPIC-Client:
Das Formatkennzeichen des ersten Nachrichtenteils, das der LU6.1-Partner oder UPIC-Client beim Senden angegeben hat.
Besonderheit im LU6.1-Auftraggeber-Vorgang:
Leerzeichen, falls für die in KCRPI angegebene Vorgangs-Id eine Statusinformation vorliegt.
bei verteilter Verarbeitung über OSI TP:
Wurde der Teilprogrammlauf auf Grund eines verteilten Dialogs gestartet, so enthält KCRMF/kcrfn im Auftraggeber-Vorgang den Namen der abstrakten Syntax, die der Nachricht vom Auftraggeber zugeordnet wurde; enthält das Feld Leerzeichen, dann ist als abstrakte Syntax die UDT-Syntax ausgewählt.
Im Auftragnehmer-Vorgang enthält KCRMF/kcrfn den Namen der abstrakten Syntax, die der Nachricht von dem in KCRPI beschriebenen AN-Vorgang zugeordnet wurde; enthält das Feld Leerzeichen, dann ist als abstrakte Syntax die UDT-Syntax ausgewählt, oder von dem Partner liegt eine Fehlernachricht vor.
KCRPI
nur bei INIT oder INIT PU:
Bei einer Nachricht von einem UPIC-Client-Programm, Terminal, einer TS-Anwendung oder einem Teilprogramm der gleichen Anwendung: Leerzeichen.
Wenn eine Rücksetznachricht vorliegt: die Reset-Id.
Im Auftraggeber-Vorgang bei verteilter Verarbeitung:
die Vorgangs-Id des Auftragnehmer-Vorgangs, wenn eine Nachricht vom Auftragnehmer vorliegt.im Auftragnehmer-Vorgang bei verteilter Verarbeitung: Leerzeichen.
KCKBPRG/kclcapa
in KCKBPRG/kclcapa (KB-Programmbereich) die Daten des Vorgangs, falls der Programmlauf Vorgangs-spezifische Daten von einem anderen Programm übernimmt. Ist es der erste Teilprogrammlauf eines Vorgangs, so ist der Bereich undefiniert bzw. mit dem generierten Füllzeichen belegt. Wurde im Vorgängerteilprogramm in KCLKBPRG/kclcapa die Länge Null angegeben, so werden keine Daten an den Folge-Teilprogrammlauf übergeben.
KDCS-Returncodes im Feld KCRCCC beim INIT-Aufruf
Im Programm sind auswertbar:
000 | Die Operation wurde durchgeführt. |
01Z | Die in KCLKBPRG/kclcapa angegebene Länge überschreitet den bei der Generierung der Anwendung angegebenen Wert. |
02Z | Bei INIT oder INIT PU: |
07Z | Bei INIT PU: |
48Z | Bei INIT PU: |
Weitere Returncodes sind dem DUMP zu entnehmen:
71Z | Bei INIT oder INIT PU: Der INIT-Aufruf wurde in diesem Programmlauf bereits gegeben. |
73Z | Eine Längenangabe ist negativ. Bei INIT PU: KCLI ist ungültig. |
77Z | Der Nachrichtenbereich fehlt oder ist in der angegebenen Länge nicht zugreifbar. |
88Z | Ungültige Schnittstellenversion. |
89Z | Bei INIT PU oder INIT MD: |
Rückgaben von openUTM im Kopf des KDCS-Kommunikationsbereichs
Unter anderem gibt openUTM nach dem INIT-Aufruf zurück: den TAC des Vorgangsbeginns, den aktueller TAC, Datum, Uhrzeit und den LTERM-Partner des Absenders.
Im Feld KCLKBPB/kclpa steht die generierte Länge des KB-Programmbereichs. Welche Angaben openUTM im KB-Kopf zurückgibt, zeigt die folgende Tabelle:
Feldname COBOL | Feldname C/C++ | Inhalt (von openUTM eingetragen) |
---|---|---|
KCBENID | kcuserid | UTM-Benutzerkennung, unter der der Service initiiert wurde. |
Vorgangs-spezifische Daten: | ||
KCTACVG | kccv_tac | TAC, der verwendet wurde, um diesen Vorgang zu starten |
KCTAGVG | kccv_day | Tag des Vorgangsbeginns |
KCMONVG | kccv_month | Monat des Vorgangsbeginns |
KCJHRVG | kccv_year | Jahr des Vorgangsbeginns |
KCTJHVG | kccv_doy | Industrietag des Vorgangsbeginns |
KCSTDVG | kccv_hour | Stunde des Vorgangsbeginns |
KCMINVG | kccv_minute | Minute des Vorgangsbeginns |
KCSEKVG | kccv_second | Sekunde des Vorgangsbeginns |
KCKNZVG | kccv_status | Vorgangskennzeichen
|
Die Vorgangskennzeichen D, Z, E können nur im Exit VORGANG auftreten, das Vorgangskennzeichen L tritt nur im Exit SHUT auf. | ||
Teilprogramm-spezifische Daten: | ||
KCTACAL | kcpr_tac | TAC, mit dem das Programm adressiert wurde |
KCSTDAL | kcpr_hour | Stunde des Teilprogrammbeginns |
KCMINAL | kcpr_minute | Minute des Teilprogrammbeginns |
KCSEKAL | kcpr_second | Sekunde des Teilprogrammbeginns |
KCAUSWEIS | kccard | Ausweis-Kennzeichen: A (Ausweis steckt) oder Leerzeichen |
KCTAIND | kctaind | Transaktionskennzeichen: F (erste) oder N (Folgetransaktion) |
KCLOGTER | kclogter | LTERM-Name; |
KCTERMN | kctermn | Kennzeichen des Kommunikationspartners, |
KCLKBPB | kclpa | Maximallänge des KB-Programmbereichs, wie sie bei der Generierung festgelegt wurde. |
Daten bezüglich Vorgangs-Kellerung: | ||
KCHSTA | kchsta | Stapelhöhe, d.h. Anzahl der gekellerten Vorgänge aus der Sicht des aktuellen Vorgangs (0 bis 15). |
KCDSTA | kcdsta | Veränderung der Stapelhöhe: + (Zunahme), - (Abnahme) oder 0 (unverändert, auch bei erneuter Kellerung nach Rückkehr aus einem eingeschobenen Vorgang) |
KCPRIND | kcprind | Programmindikator: A = Asynchron-Vorgang, D = Dialog-Vorgang |
KCOF1 | kcof1 | OSI TP-Funktionen in einem OSI TP-Auftragnehmer-Vorgang |
KCCP | kccp | Indikator für das Client-Protokoll:
|
KCTARB | kctarb | Information über Rücksetzen einer OSI TP-Transaktion |
KCYEARVG | kccv_year4 | Jahr des Vorgangsstarts (vierstellig) |
Eigenschaften des KB-Programmbereichs und des SPAB
Der KB-Programmbereich ist einem Vorgang zugeordnet, der SPAB einem Teilprogrammlauf.
Bei Vorgangsbeginn ist der Inhalt des KB-Programmbereichs und des SPAB undefiniert bzw. mit dem generierten Füllzeichen belegt.
Ein solches Füllzeichen kann z.B. die Fehlersuche beim Test erleichtern oder zu Datenschutzzwecken eingesetzt werden. Mit diesem Zeichen werden SPAB und KB-Programmbereich beim Start eines Prozesses vorbelegt und am Ende eines Verarbeitungsschritts überschrieben, siehe openUTM-Handbuch „Anwendungen generieren“.Wurde beim INIT eines Teilprogramms ein KB-Programmbereich mit einer Länge von n Bytes angegeben und wird im darauffolgenden Teilprogrammlauf ein größerer KB-Programmbereich von m Bytes (m > n) angefordert, so sind die letzten (m-n)-Bytes des KB-Programmbereichs ebenfalls undefiniert bzw. mit dem generierten Füllzeichen belegt.
Besonderheiten des INIT-Aufrufs bei verteilter Verarbeitung
INIT-Aufruf im Auftraggeber-Vorgang
Wurde die verteilte Transaktion zurückgesetzt, dann gibt openUTM beim INIT des ersten Teilprogramms einer Folgetransaktion das Vorgangskennzeichen "R" zurück (im Feld KCKNZVG/kccv_status des KB-Kopfes). In diesem Fall liegt meist eine Statusinformation vom Auftragnehmer-Vorgang vor.
In dem Folge-Teilprogramm liefert der INIT-Aufruf im Auftraggeber-Vorgang zusätzlich folgende Informationen im KDCS-Rückgabebereich:
KCRPI enthält die Vorgangs-Id des Auftragnehmer-Vorgangs, der dieses Teilprogramm gestartet hat.
KCRMF/kcrfn enthält das Formatkennzeichen, das der Auftragnehmer-Vorgang im ersten Nachrichtenteil an den Auftraggeber-Vorgang eingetragen hat, sonst Leerzeichen.
Der erste MGET-Aufruf zum Lesen des Ergebnisses muss mit KCRN=KCRPI und KCMF=KCRMF (bzw.: kcfn=kcrfn) erfolgen.
INIT-Aufruf im Auftragnehmer-Vorgang
Bei den Einträgen im KB-Kopf ergeben sich folgende Änderungen:
KCBENID/kcuserid
Bei LU6.1-Protokoll: enthält den lokalen Sessionnamen (LSES-Name, siehe LSES-Anweisung bei KDCDEF).
Bei OSI TP-Protokoll mit Security-Typ "N": lokaler Name der Association (siehe Operand ASSOCIATION-NAMES in der KDCDEF-Anweisung OSI-LPAP), sonst Benutzerkennung.KCAUSWEIS/kccard
enthält Leerzeichen, d.h. Ausweisleser wird nicht unterstützt.
KCLOGTER
enthält den logischen Namen der Partner-Anwendung (LPAP-Name bzw. OSI-LPAP-Name, siehe LPAP-Anweisung bei LU6.1-Protokoll, bzw. OSI-LPAP-Anweisung bei OSI TP-Protokoll: bei KDCDEF).
KCTERMN
enthält das Kennzeichen (Terminal Mnemonic) der Partner-Anwendung, (siehe Operand TERMN= der CON-Anweisung bei LU6.1-Protokoll, bzw. der OSI-LPAP-Anweisung bei OSI TP-Protokoll: bei KDCDEF).
KCOF1
zeigt in einem OSI TP AN-Vorgang die OSI TP-Funktionen an, die für den Dialog mit dem AG ausgewählt wurden. Folgende Werte sind möglich:
Leerzeichen
der aktuelle Vorgang ist kein Auftragnehmer-Vorgang, oder zur Kommunikation mit dem AG-Vorgang wird nicht das OSI TP-Protokoll verwendet
B
Basisfunktionen
H
Basis- und Handshake-Funktionen
C
Basis- und Commit-Funktionen mit Chained Transactions
O
(other combination)
für den Dialog mit dem AG wurde keine Standardkombination von OSI TP-Funktionen ausgewählt. Die ausgewählten OSI TP-Funktionen sind nur mit einem INIT PU-Aufruf lesbar.KCCP (client protocol)
zeigt das für die Kommunikation verwendete Protokoll:
1
LU.1
2
OSI TP
KCTARBzeigt in einem OSI TP-Vorgang an, ob bei einem früheren PGWT-Aufruf eine Situation eingetreten war, die ein Rücksetzen der Transaktion erfordert:
Leerzeichen
es ist keine Situation eingetreten, die ein Rücksetzen der Transaktion erfordert.
Y
bei einem früheren PGWT-Aufruf ist eine Situation eingetreten, die ein Vorsetzen der Transaktion nicht erlaubt, und die Transaktion wurde bisher nicht zurückgesetzt. Es ist noch Kommunikation mit den Partner-Vorgängen erlaubt. Ein Aufruf zum Vorsetzen der Transaktion führt zum abnormalen Vorgangsende.
Im KB-Rückgabebereich liefert das Feld KCRMF/kcrfn Informationen über den Partner-Vorgang.
Rückgaben im Nachrichtenbereich bei INIT PU
Wird der INIT-Aufruf mit der Operationsmodifikation PU verwendet, dann stellt openUTM dem Teilprogramm zusätzlich im Nachrichtenbereich Informationen über Anwendung, System und Kommunikationspartner zur Verfügung.
Für die Strukturierung des Nachrichtenbereichs stehen Ihnen Sprach-spezifische Datenstrukturen zur Verfügung. Für COBOL sind diese im COPY-Element KCINIC definiert, für C/C++ in der Include-Datei kcini.h. Im Kopf der Datenstruktur müssen Sie angeben, welche Informationen openUTM zurückliefern soll.
Folgende Informationen stellt openUTM zur Verfügung:
die generierten Längen für den KB-Programmbereich und den Standard Primären Arbeitsbereich. Diese Information liefert der INIT PU-Aufruf in jeder Variante zurück.
Datum und Uhrzeit des Anwendungsstarts und des Starts des Teilprogrammlaufs
Informationen zu Anwendung und System
Informationen über den Kommunikationspartner:
In einem Dialog-Vorgang sind das Informationen über:
Namen des Kommunikationspartners,
Rechnernamen des Kommunikationspartners,
Namen der UTM-Anwendung, über den die Verbindung zum
Kommunikationspartner aufgebaut wurde (BCAMAPPL-Name)
In einem Asynchron-Vorgang werden stattdessen Leerzeichen übergeben.
Informationen über die Sprachumgebung der Benutzerkennung, unter der der Vorgang gestartet wurde.
Unix-, Linux- und Windows-Systeme:
Diese Information umfasst Sprach- und Territorialkennzeichen sowie $LANG-Variable. Sprach- und Territorialkennzeichen werden zur Laufzeit des Programms aus der $LANG-Variablen gewonnen. Beispiel: Aus $LANG=En_US.ASCII erzeugt openUTM das Sprachkennzeichen En und das Territorialkennzeichen US.
In einem Asynchron-Vorgang wird die Sprachumgebung des Benutzers übergeben, der den Vorgang gestartet hat.
BS2000-Systeme:
Diese Information umfasst:
Sprach- und Territorialkennzeichen sowie den Zeichensatz des Benutzers. Ist noch kein Benutzer angemeldet, übergibt openUTM Sprach- und Territorialkennzeichen sowie den Zeichensatz des LTERM-Partners.
den Namen des Zeichensatzes der Nachricht
die Information, ob der Benutzer an einem 7- oder 8-Bit-Terminal konnektiert ist.
In einem lokal gestarteten Asynchron-Vorgang wird das Locale des Benutzers übergeben, der den Vorgang gestartet hat. Die Information über die 8-Bit-Fähigkeit des Terminals enthält in einem solchen Asynchron-Vorgang den Wert "7" und der Zeichensatzname der Nachricht enthält Leerzeichen.
Informationen über den Auftraggeber-Vorgang bei der Kommunikation über OSI TP.
Informationen über Verschlüsselungsverfahren, die zwischen der UTM-Anwendung und dem Client verwendet werden.
Verschiedene Informationen, z.B. die Anzahl der Asynchron-Nachrichten in der Queue des Benutzers, die Gültigkeit des Passwortes, Zeitpunkt der letzten Anmeldung des Benutzers, Eigenschaften des LTERM und OSI-LPAP-Partner, von dem der Vorgang gestartet wurde, bezüglich LTERM-Gruppen und LTERM-/LPAP-Bündeln.
Informationen über Asynchron-Nachrichten für den Benutzer.
Struktur des Nachrichtenbereichs bei INIT PU (gemäß KCINIC bzw. kcini.h)
Feldname | Feldname | Länge | Beschreibung | ||||||
---|---|---|---|---|---|---|---|---|---|
Header: Versionsnummer und angeforderte Informationen | |||||||||
KCVER | if_ver | 2 | vor dem Aufruf zu versorgen: | ||||||
KCDATE | dattim_info | 1 | vor dem Aufruf zu versorgen: | ||||||
KCAPPL | appl_info | 1 | vor dem Aufruf zu versorgen: | ||||||
KCLOCALE | locale_info | 1 | vor dem Aufruf zu versorgen: | ||||||
KCOSITP | ositp_info | 1 | vor dem Aufruf zu versorgen: | ||||||
KCENCR | encr_info | 1 | vor dem Aufruf zu versorgen: | ||||||
KCMISC | misc_info | 1 | vor dem Aufruf zu versorgen: | ||||||
KCHTTP | http_info | 1 | vor dem Aufruf zu versorgen: Anfordern von HTTP-Informationen (Y/N) | ||||||
7 | Reserviert für spätere Erweiterungen | ||||||||
Allgemeine Informationen, die immer zurückgegeben werden | |||||||||
KCGPAB | gen_spab_lth | 2 | generierte Länge des SPAB | ||||||
KCGNB | gen_nb_lth | 2 | generierte Länge des Nachrichtenbereichs | ||||||
Informationen über Datum und Uhrzeit des Starts der Anwendung und des Teilprogrammlaufs | |||||||||
KCADAY | as_dt_day | 2 | Tag des Anwendungsstarts | ||||||
KCAMONTH | as_dt_month | 2 | Monat des Anwendungsstarts | ||||||
KCAYEAR | as_dt_year | 4 | Jahr des Anwendungsstarts | ||||||
KCADOY | as_dt_doy | 3 | Tag des Jahres des Anwendungsstarts | ||||||
KCAHOUR | as_tm_hour | 2 | Stunde des Anwendungsstarts | ||||||
KCAMIN | as_tm_minute | 2 | Minute des Anwendungsstarts | ||||||
KCASEC | as_tm_second | 2 | Sekunde des Anwendungsstarts | ||||||
KCASEAS | as_season | 1 | Zeit des Anwendungsstarts ist in Normalzeit (W) oder Sommerzeit (S) angegeben, stellt das Betriebssystem keine Informationen über Sommer-/Normalzeit zur Verfügung, werden Leerzeichen ausgegeben. | ||||||
KCPDAY | ps_dt_day | 2 | Tag des Programmstarts | ||||||
KCPMONTH | ps_dt_month | 2 | Monat des Programmstarts | ||||||
KCPYEAR | ps_dt_year | 4 | Jahr des Programmstarts | ||||||
KCPDOY | ps_dt_doy | 3 | Tag des Jahres des Programmstarts | ||||||
KCPHOUR | ps_tm_hour | 2 | Stunde des Programmstarts | ||||||
KCPMIN | ps_tm_minute | 2 | Minute des Programmstarts | ||||||
KCPSEC | ps_tm_second | 2 | Sekunde des Programmstarts | ||||||
KCPSEAS | ps_season | 1 | Zeit des Programmstarts ist in Normalzeit (W) oder Sommerzeit (S) angegeben, stellt das Betriebssystem keine Informationen über Sommer-/Normalzeit zur Verfügung, werden Leerzeichen ausgegeben. | ||||||
KCTMZONE | time_zone | 12 | Unix-, Linux- und Windows-Systeme: | ||||||
BS2000-Systeme: s HH:MM hh:mm | |||||||||
Information zu Anwendung, System und Kommunikationspartner | |||||||||
KCAPPLNM | applnm | 8 | Name der UTM-Anwendung. | ||||||
KCHOSTNM | hostm | 8 | BS2000-Systeme: | ||||||
KCHOSTNM | hostm | 8 | Unix-, Linux- und Windows-Systeme:
| ||||||
KCPTRMNM | ptrmnm | 8 | Bei einem Dialog-Vorgang:
Bei einem Asynchron-Vorgang: Leerzeichen. | ||||||
KCPRONM | pronm | 8 | Bei einem Dialog-Vorgang:
Bei einem Asynchron-Vorgang: Leerzeichen. | ||||||
KCBCAPNM | bcapnm | 8 | Bei einem Dialog-Vorgang:
Bei einem Asynchron-Vorgang: Leerzeichen | ||||||
KCVERS | version | 6 | openUTM-Version Vnn.nx (z.B. V07.0A). | ||||||
KCIVER | iversion | 2 | Versionsnummer der KDCS-Schnittstelle, zeigt den Stand der verfügbaren Funktionserweiterungen der KDCS-Schnittstelle an; in openUTM V7.0 den Wert 9. | ||||||
KCIVAR | ivariant | 1 | Kennzeichen für die Produktvariante von openUTM: | ||||||
KCHSTNML | hostnm_long | 64 | BS2000-Systeme:
| ||||||
Unix-, Linux- und Windows-Systeme:
| |||||||||
KCPRONML | pronm_long | 64 | Bei einem Dialog-Vorgang:
Bei einem Asynchron-Vorgang: Leerzeichen. | ||||||
Information über das Locale der Benutzerkennung, die den Vorgang gestartet hat | |||||||||
KCUSLANG | us_lang_id | 2 | Sprachkennzeichen des Benutzers; ist noch kein Benutzer angemeldet:Sprachkennzeichen des LTERM-Partners. | ||||||
KCUSTERR | us_terr_id | 2 | Territorialkennzeichen des Benutzers; ist noch kein Benutzer angemeldet:Territorialkennzeichen des LTERM-Partners. | ||||||
Nur auf Unix-, Linux- und Windows-Systemen: | |||||||||
KCUSNLSL | us_nlslang | 16 | $LANG-Variable des Benutzers. | ||||||
10 | Leerzeichen. | ||||||||
Nur auf BS2000-Systemen: | |||||||||
KCUSCCSN | us_ccsname | 8 | Zeichensatz des Benutzers; ist noch kein Benutzer angemeldet: Zeichensatz des LTERM-Partners. | ||||||
8 | Leerzeichen. | ||||||||
KCCSCURR | curr_ccs | 8 | Zeichensatz der vom Terminal erhaltenen Nachricht (CCSN des am Terminal aktiven Zeichensatzes). | ||||||
KCDEVCAP | dev_cap | 1 | Information, ob das Terminal ein 7- oder 8-Bit-fähiges Gerät ist. Die Angabe erfolgt in der Form "7" oder "8" (abdruckbar). | ||||||
OSI TP-Informationen | |||||||||
KCFUPOL | fupol | 1 | Anzeige, ob die Functional Unit "Polarized Control" ausgewählt ist (Y/N). | ||||||
KCFUHSH | fuhsh | 1 | Anzeige, ob die Functional Unit "Handshake" ausgewählt ist (Y/N). | ||||||
KCFUCOM | fucom | 1 | Anzeige, ob die Functional Unit "Commit" ausgewählt ist (Y/N). | ||||||
KCFUCHN | fuchn | 1 | Anzeige, ob die Functional Unit "Chained Transactions" ausgewählt ist (Y/N). | ||||||
KCENDTA | endta | 1 | Dieses Feld zeigt an, ob am Ende des aktuellen Verarbeitungsschritts ein Transaktionsende angefordert werden darf und mit welchen Aufrufen dies gegebenenfalls geschehen muss.
| ||||||
KCSEND | send | 1 | Dieses Feld zeigt an, ob in dem Verarbeitungsschritt eine Nachricht an den AG-Vorgang gesendet werden darf.
| ||||||
Verschlüsselungs-Informationen | |||||||||
KCPTERM | pterm_enclev | 1 | Generierte minimale Verschüsselungsebene des Clients in der zugehörigen PTERM- oder TPOOL-Anweisung:
| ||||||
KCCLIENT | client_enclev | 1 | Maximaler vom Client unterstützter Verschüsselungsmechanismus:
| ||||||
KCSESS | session_enclev | 1 | Auf der aktuellen Session zwischen Client un Server vereinbarter Verschüsselungsmechanismus:
| ||||||
KCCNVTAC | convtac_enclev | 1 | Generierte minimale Verschlüsselungsebene der TACs, mit dem der Vorgang gestartet wurde. Dieses Feld ist auch im Asynchron-Vorgang versorgt:
| ||||||
KCCONV | conv_enclev | 1 | Dieses Feld zeigt an, ob für den Vorgang eine Verschlüsselung vereinbart wurde. Dieser Wert wird durch den UPIC-Client ausgewählt oder durch die Verschlüsselungsebene des Transaktionscodes des Vorgangs bestimmt, nicht durch die der Session.
| ||||||
KCINPMSG | inputmsg_enclev | 1 | Dieses Feld zeigt an, ob die Dialog-Eingabenachricht vom Client verschlüsselt war oder nicht:
| ||||||
verschiedene Informationen über den Benutzer, der den Vorgang gestartet hat (KCBENID,kcuserid), das LTERM oder (OSI-)LPAP, von dem aus der Vorgang gestartet wurde (KCLOGTER,kclogter) und die Anwendung | |||||||||
KCUMSGS | amsgs_user | 10 | Anzahl der Asynchron-Nachrichten in der Queue des Benutzers. | ||||||
KCPWVMAX | pw_val_max | 2 | Anzahl der Tage, die das Passwort des Benutzers noch gültig ist.
| ||||||
KCPWVMIN | pw_val_min | 2 | Anzahl der Tage, die das Passwort des Benutzers nur administrativ geändert werden kann, aber z.B. nicht über einen SIGN CP Aufruf (Mindestgültigkeitsdauer des Passwortes).
| ||||||
KCLSTSGN | last_sign | 14 | Datum und Uhrzeit der letzten Anmeldung. Datum und Uhrzeit werden in der Form YYYMMDDHHMMSS angegeben.
| ||||||
KCBNDLMS | bundle_master | 8 | Name des Masters des LTERM-/LPAP-Bündel, wenn das LTERM/(OSI-)LPAP ein Slave dieses Bündel ist. | ||||||
KCISGRMS | is_group_master | 1 | Das Feld zeigt an, ob das LTERM (oder der Master des LTERM-Bündel) der Master einer LTERM-Gruppe ist.
| ||||||
KCLTCP | lterm_client_prot | 1 | Das Feld zeigt das Client-Protokoll des LTERM:
| ||||||
KCAPPLST | application_state | 1 | Das Feld zeigt den Status der Anwendung:
| ||||||
KCKRBCAP | kerberos_capability | 1 | In einem Dialog-Vorgang zeigt das Feld an, ob der Client kerberos-fähig ist:
In einem Asynchron-Vorgang: Leerzeichen. | ||||||
KCCDINFO | info_cd_available | 1 | Nur auf BS2000-Systemen:
Im Asynchron-Vorgang ist INFO CD nicht erlaubt: Leerzeichen | ||||||
HTTP-Informationen können nur in Dialog-Vorgängen versorgt werden, die von einem HTTP- oder HTTPS-Client aufgerufen wurden, d.h. im Feld KCCP im KBKOPF ist der Wert 7 oder 9 eingetragen). | |||||||||
KCHTMTD | httpMethod | 1 | HTTP-Methode: 1=GET, 2=PUT, 3=POST, 4=DELETE | ||||||
KCHTVERS | httpVersion | 1 | HTTP-Version: 1=1.1 | ||||||
KCSCHEME | scheme | 1 | Schema: 1=HTTP, 2=HTTPS | ||||||
KCHTEXIT | httpExit | 1 | Zeigt an, ob ein benutzerspezischer, der system-spezifische oder kein HTTP-Exit aufgerufen wird (U/S/N) | ||||||
KCCDCONV | codeConversion | 1 | Code-Konvertierung der Ein- und Ausgabe-Nachricht:
|