Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

kc_ltac_str - Transaktionscodes ferner Services (LTAC)

Für den Objekttyp KC_LTAC ist die Datenstruktur kc_ltac_str definiert. In kc_ltac_str liefert UTM bei KC_GET_OBJECT die Eigenschaften von Transaktionscodes zurück, die in der lokalen Anwendung für ferne Service-Programme definiert sind.

LTAC-Objekte können dynamisch mit KC_CREATE_OBJECT erzeugt, mit KC_DELETE_OBJECT gelöscht oder mit KC_MODIFY_OBJECT modifiziert werden.

mod 1

Datenstruktur kc_ltac_str

-

char lc_name[8];

-

char lpap[8];

-

union kc_rtac rtac;

-

char rtac_lth[2];

-

char code_type;

x(GPR)

char state;

x(GPR)

char accesswait_sec[5];

x(GPR)

char replywait_sec[5];

-

char lock_code[4];

-

char ltac_type;

-

char ltacunit[4];

-

char used[10];

-

char access_list[8];

-

char deleted;

1 Feldinhalt mit KC_MODIFY_OBJECT modifizierbar; siehe im Abschnitt "obj_type=KC_LTAC"

Die Felder der Datenstruktur haben die folgende Bedeutung:

lc_name

enthält den lokalen Transaktionscode, der für das ferne Service-Programm definiert wurde (LTAC-Name).

lpap

gibt an, zu welcher Partner-Anwendung das Service-Programm gehört. lpap enthält den Namen des LPAP- oder OSI-LPAP-Partners, der der Partner-Anwendung zugeordnet ist, oder den Namen eines Master-LPAP-Partners.

Enthält lpap Leerzeichen, dann ist der LTAC keiner Partner-Anwendung explizit zugeordnet. Eine Zuordnung muss dann im KDCS-Aufruf APRO erfolgen. 

rtac

( remote tac )
Name des Transaktionscodes für den Vorgang bzw. das Service-Programm in der Partner-Anwendung (recipient TPSU-title; RTAC-Name). Der Name kann ein String oder eine Zahl sein. Der Name wird in der folgenden Struktur zurückgeliefert:


union kc_rtac

char name64[64];

char name8[8];


In welchem Union-Feld der RTAC-Name steht, ist abhängig vom Codetyp, der dem RTAC-Namen zugeordnet ist. Der Codetyp wird im Feld code_type zurückgeliefert.

rtac_lth

gibt an, wie lang der in rtac zurückgelieferte Name (recipient TPSU-title) ist. Angegeben wird die Anzahl der relevanten Byte in rtac.

Minimalwert: '1'
Maximalwert: '64'

code_type

gibt an, welcher Codetyp von UTM intern für den RTAC-Namen verwendet wird. Anhand von code_type können Sie ablesen, in welchem Union-Feld der RTAC-Name abgelegt ist.


'I'

(INTEGER)
Der TAC-Name in rtac ist eine ganze positive Zahl zwischen 0 und 67108863.

Der RTAC-Name wird im Feld name8 der Union kc_rtac zurückgeliefert (die ersten 8 Byte der Union sind rechtsbündig belegt).

RTAC-Namen vom Codetyp INTEGER sind nur für Partner-Anwendungen zulässig, die keine UTM-Anwendungen sind und über das OSI TP-Protokoll kommunizieren.

'P'

(PRINTABLE-STRING)
Der TAC-Name in rtac ist als String angegeben. Er ist max. 64 Zeichen lang.
Klein-/Großschreibung ist relevant.

Ein TAC-Name mit Codetyp PRINTABLE-STRING kann folgende Zeichen enthalten:

  • A, B, C, . . . , Z

  • a, b, c, . . . , z

  • 0, 1, 2, . . . , 9

  • die Sonderzeichen ' - : ? = , + . ( ) / 'BLANK' (Leerzeichen)

'T'

Der TAC-Name wird im Feld name64 der Union kc_rtac zurückgeliefert. Nach der in rtac_lth angegebenen Länge ist kc_rtac.name64 mit Leerzeichen aufgefüllt.T61-STRING rtac enthält einen T61-String. Für den Codetyp T61-STRING unterstützt UTM alle Zeichen des Codetyps PRINTABLE-STRING und zusätzlich folgende Sonderzeichen: $ > < & @ # % ; * _Der TAC-Name wird im Feld name64 der Union kc_rtac zurückgeliefert. Nach der in rtac_lth angegebenen Länge ist rtac.name64 mit Leerzeichen aufgefüllt.


RTAC-Namen, für die beim dynamischen Erzeugen oder bei der KDCDEF-Generierung der Codetyp 'S' bzw. STANDARD angegeben wurde, werden je nach verwendeten Zeichen intern als PRINTABLE-STRING bzw. als T61-STRING abgelegt. Daher wird hier für RTACs, die mit 'S' bzw. STANDARD erzeugt wurden, entweder PRINTABLE-STRING oder T61-STRING ausgegeben.

state    enthält den Status des Transaktionscodes in lc_name:


'Y'

Der Transaktionscode ist nicht gesperrt. Aufträge für den zugehörigen fernen Service werden angenommen.

'N'

Der Transaktionscode ist gesperrt. Aufträge für den zugehörigen fernen Service werden nicht angenommen.


accesswait_sec

Zeit in Sekunden, die nach dem Anfordern des fernen Services (Aufruf des LTACs) auf das Belegen einer Session (evtl. einschließlich Verbindungsaufbau) bzw. auf den Aufbau einer Association maximal gewartet wird.

Eine Wartezeit accesswait_sec != 0 bedeutet bei Asynchron-Aufträgen (LTAC mit ltac_type='A'), dass der Auftrag immer in die lokale Message Queue für die Partner-Anwendung eingetragen wird. Dialog-Aufträge werden angenommen.

Die Wartezeit accesswait_sec=0 bedeutet:
Dialog-Aufträge werden abgewiesen, wenn zu dem Partner keine Session/Association generiert ist, für die die lokale Anwendung Contention Winner ist.
Bei Asynchron-Aufträgen wird der FPUT-Aufruf mit einem Returncode abgewiesen, falls zur Partner-Anwendung keine logische Verbindung besteht. Besteht eine logische Verbindung zur Partner-Anwendung, dann wird die Nachricht in die lokale Message Queue eingetragen.

Dialog-Aufträge werden unabhängig vom Wert in accesswait_sec abgewiesen, wenn keine logische Verbindung zur Partner-Anwendung besteht. Gleichzeitig wird ein Verbindungsaufbau angestoßen.

Minimalwert: '0'

Maximalwert: '32767'

replywait_sec

Zeit in Sekunden, die UTM maximal auf die Antwort vom fernen Service wartet. Durch Begrenzung der Wartezeit kann gewährleistet werden, dass die Wartezeit für Clients bzw. Benutzer am Terminal nicht beliebig lang werden kann.

replywait_sec='0' bedeutet: Warten ohne Zeitbegrenzung.

Minimalwert: '0'
Maximalwert: '32767' 

lock_code

enthält den Lockcode, der dem fernen Service innerhalb der lokalen Anwendung zugeordnet ist (Zugriffsschutz). lock_code kann eine Zahl zwischen '0' und '4000' enthalten. In KC_CREATE_OBJECT darf lock_code höchstens den mit dem Operanden KEYVALUE der KDCDEF-Anweisung MAX definierten Maximalwert enthalten. '0' bedeutet, dass der LTAC nicht durch einen Lockcode geschützt ist.

Beim Erzeugen eines LTAC-Objekts darf nur lock_code oder access_list spezifiziert werden (siehe unten). Wenn Sie ein LTAC-Objekt modifizieren, können Sie den aktuellen Wert ändern oder den Lockcode entfernen, indem Sie '0' angeben.

Ist weder lock_code noch access_list definiert, ist lc_name nicht geschützt und jeder Benutzer der lokalen UTM-Anwendung kann das ferne Service-Programm starten.

ltac_type

gibt an, ob die lokale Anwendung mit dem fernen Service Aufträge im Dialog bearbeitet oder ob Asynchron-Aufträge an den Partner-Service übergeben werden. 


'D'

Aufträge an den Partner-Service werden im Dialog bearbeitet.

'A'

Der Partner-Service wird asynchron (über Message Queuing) gestartet. 


used

enthält die Anzahl der Aufträge, die seit dem Start der lokalen Anwendung an den
fernen Service gestellt wurden. used gibt also an, wie oft der LTAC innerhalb des
aktuellen Anwendungslaufs aufgerufen wurde.

Der Zähler wird bei jedem Start der Anwendung auf 0 zurückgesetzt.

ltacunit

enthält die Anzahl der Verrechnungseinheiten, die in der Abrechnungsphase des UTM-Accounting für jeden Aufruf von ltac berechnet wird.
Die Verrechnungseinheiten werden auf den Verrechnungseinheitenzähler der Benutzerkennung aufaddiert, die den ltac aufgerufen hat.

Zum Accounting siehe auch openUTM-Handbuch „Anwendungen generieren“ und openUTM-Handbuch „Einsatz von UTM-Anwendungen“.

access_list

kann den Namen eines Keysets enthalten, das die Zugriffsrechte von Benutzern beschreibt, die für lc_name zulässig sind.

Beim Erzeugen eines LTAC-Objekts darf nur lock_code oder access_list spezifiziert werden (siehe oben). Wenn Sie ein LTAC-Objekt modifizieren, können Sie den aktuellen Eintrag ändern oder das Keyset entfernen, indem Sie 8 Leerzeichen angeben.

Ist weder lock_code noch access_list definiert, ist lc_name nicht geschützt und jeder Benutzer der lokalen UTM-Anwendung kann das ferne Service-Programm starten. 

deleted

zeigt an, ob lc_name dynamisch aus der Konfiguration gelöscht wurde.


'Y'

lc_name ist gelöscht.

'N'

lc_name ist nicht gelöscht.


In welchem Union-Feld der RTAC-Name steht, ist abhängig vom Codetyp, der dem RTAC-Namen zugeordnet ist. Der Codetyp wird im Feld code_type zurückgeliefert.