Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

LTAC - Transaktionscode für Partner-Anwendung definieren

Mit der Steueranweisung LTAC definieren Sie in der lokalen Anwendung einen Transaktionscode für einen Vorgang, ein fernes Service-Programm oder eine ferne TAC-Queue in einer Partner-Anwendung. LTAC-Anweisungen können sowohl für die Kommunikation über das LU6.1-Protokoll als auch für die Kommunikation über das OSI TP-Protokoll generiert werden.

Dem lokalen Transaktionscode wird entweder

  • (bei einstufiger Adressierung) der Name eines Transaktionscodes in einer bestimmten Partner-Anwendung zugeordnet. Dadurch adressiert der lokale Transaktionscode sowohl die Partner-Anwendung als auch den Transaktionscode in dieser Anwendung, oder

  • (bei zweistufiger Adressierung) der Name eines Transaktionscodes in irgendeiner Partner-Anwendung zugeordnet. In welcher Partner-Anwendung das mit dem lokalen Transaktionscode angesprochene Service-Programm ablaufen soll, muss explizit an der Programmschnittstelle angegeben werden.

LTAC

 ltacname 
 [ ,{ ACCESS-LIST=keysetname | LOCK=lockcode } ] 
 [ ,LPAP=lpapname ]
 [ ,LTACUNIT=ltacunit ]
 [ ,RTAC={ C'rtacname' | 
           rtacname | 
           recipient_TPSU_title [ ,CODE={ ST AN D ARD |
                                          PRINTABLE-STRING |
                                          T61-STRING |
                                         
INTEGER } 
                                ] 
         } 
 ]
 [ ,STATUS = { ON | OFF } ]
 [ ,TYPE={ D | A } ]
 [ ,WAITTIME=( time1,time2 ) ]

ltacname

Name eines lokalen Transaktionscodes für das ferne Service-Programm

ACCESS-LIST=

keysetname

Mit ACCESS-LIST= legen Sie die Zugriffsrechte fest, die ein Benutzer der lokalen UTM-Anwendung haben muss, um einen Auftrag an das ferne Service-Programm senden zu dürfen. Ob der Auftrag in der fernen Anwendung ausgeführt wird, hängt auch von den dort definierten Zugriffsrechten ab.
ACCESS-LIST darf nicht zusammen mit dem Operanden LOCK=lockcode angegeben werden.

Für keysetname müssen Sie den Namen eines Keysets angeben. Das Keyset muss mit einer KSET-Anweisung definiert werden.

Ein Benutzer kann auf den LTAC nur dann zugreifen, wenn das Keyset des Benutzers (USER ...,KSET=), das Keyset des LTERM-Partners, über den der Benutzer angemeldet ist, und das in keysetname angegebene Keyset mindestens einen gemeinsamen Keycode enthalten.

Geben Sie weder ACCESS-LIST=keysetname noch LOCK=lockcode an, dann ist der LTAC nicht geschützt und jeder Benutzer der lokalen UTM-Anwendung kann das ferne Service-Programm starten.

Standard: kein Keyset

LOCK=

lockcode

darf nicht zusammen mit dem Operanden ACCESS-LIST= angegeben werden.

Mit LOCK= definieren Sie den Lockcode des fernen Service-Programms. Ein mit Lockcode gesicherter Service kann von einem Teilprogramm nur dann adressiert werden, wenn das Teilprogramm unter einer Benutzerkennung (KCBENID) und von einem Client oder einer Partner-Anwendung (KCLOGTER) aus gestartet wurde, in deren Keyset ein mit dem Lockcode übereinstimmender Keycode enthalten ist.

Geben Sie weder ACCESS-LIST=keysetname noch LOCK=lockcode an, dann ist der LTAC nicht geschützt und jeder Benutzer der lokalen UTM-Anwendung kann das ferne Service-Programm starten.

Standard: 0 (kein Lockcode)
Maximalwert: Wert von MAX ...,KEYVALUE=number

LPAP=

lpapname

gibt an, zu welcher Partner-Anwendung das Service-Programm gehört.
Name des LPAP-Partners, der dieser Partner-Anwendung zugeordnet ist, oder Name eines LU6.1-LPAP-Bündels oder eines OSI-LPAP-Bündels.

Wird der Operand LPAP= nicht angegeben, so muss der Name der Partner-Anwendung im Funktionsaufruf APRO (im Feld KCPA) spezifiziert werden.

LTACUNIT=

ltacunit

legt die Anzahl der Verrechnungseinheiten fest, die in der Abrechnungsphase  des UTM-Accounting für jeden Aufruf dieses LTACs berechnet wird. Die Verrechnungseinheiten werden auf den Verrechnungseinheitenzähler der Benutzerkennung aufaddiert, die den LTAC aufgerufen hat.
Die Angabe ist nur ganzzahlig möglich. Dieser Operand hat nur Bedeutung, wenn mit der Funktion „UTM-Accounting“ gearbeitet wird. Siehe dazu das openUTM-Handbuch „Einsatz von UTM-Anwendungen“.

Standardwert: 1
Minimalwert: 0
Maximalwert: 4095

RTAC=

Name des Transaktionscodes für das ferne Service-Programm in der Partner-Anwendung. Mit ltacname wird in der lokalen Anwendung ein Service-Programm adressiert, das in der Partner-Anwendung unter dem hier angegebenen Transaktionscode (recipient TPSU-title) bekannt ist.

Bei asynchroner Kommunikation kann auch der Name einer TAC-Queue der Partner-Anwendung angegeben werden.

Standard: rtacname=ltacname

    C‘rtacname‘ |
    rtacname |
    recipient_TPSU_title

Der Name des Transaktionscodes für das ferne Service-Programm in der Partner-Anwendung (recipient_TPSU_title) kann als String oder als Zahl angegeben werden. Ein String kann in der Form C‘rtacname‘ oder rtacname eingegeben werden.

Der Standard zu OSI TP unterscheidet für recipient_TPSU_title die Codetypen Printable String, T.61-String und Integer, die von openUTM intern für die Darstellung des RTAC-Namens verwendet werden.

    CODE=

       STANDARD

Wird recipient_TPSU_title als String angegeben, darf er max. 8 Zeichen lang sein und nur Zeichen enthalten, die für TAC-Namen zulässig sind. Siehe dazu auch Abschnitt „Format der Namen".

Für die Kommunikation über das LU6.1 Protokoll muss CODE=STD verwendet werden. Wenn die Partner-Anwendung eine UTM-Anwendung ist, sollte CODE=STD verwendet werden.

Für die Kommunikation über das OSI TP-Protokoll wird intern CODE=PRINTABLE-STRING verwendet.

Standard: STANDARD

       PRINTABLE-STRING

Der String recipient_TPSU_title kann max. 64 Zeichen lang sein. Groß- und Kleinbuchstaben werden unterschieden.

Ist die Partner-Anwendung eine UTM-Anwendung, darf recipient_TPSU_title max. 8 Zeichen lang sein und nur Zeichen enthalten, die für TAC-Namen zulässig sind. Ein String, der diesen Anforderungen nicht entspricht, kann nur bei heterogener Kopplung über OSI TP-Protokoll verwendet werden.

Für den Codetyp PRINTABLE-STRING sind folgende Zeichen erlaubt:

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

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

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

und die folgenden Sonderzeichen:

Apostroph

'

Bindestrich

-

Leerzeichen

<SPACE>

Doppelpunkt

:

Fragezeichen

?

Gleichheitszeichen

=

Komma

,

Pluszeichen

+

Punkt

.

Runde Klammer auf

(

Runde Klammer zu

)

Schrägstrich

/

       T61-STRING 

Für den Codetyp T61-STRING unterstützt openUTM alle Zeichen des Codetyps PRINTABLE-STRING und zusätzlich folgende Sonderzeichen:

Dollarzeichen

$

Grösserzeichen

>

Kleinerzeichen

<

Kaufmännisches Und

Klammeraffe

@

Nummernzeichen

#

Prozentzeichen

%

Semikolon

;

Stern

*

Unterstrich

_



       INTEGER 

Als recipient_TPSU_title kann eine ganze positive Zahl zwischen 0 und 67108863 angegeben werden.

Diese Form ist nur für Partner-Anwendungen zulässig, die keine UTM-Anwendungen sind und über OSI TP-Protokoll kommunizieren.

STATUS=

legt fest, ob der ltacname für das ferne Service-Programm nach Start der lokalen Anwendung gesperrt ist oder nicht.

Die Angabe bei STATUS= gilt so lange, bis sie mit dem Administrationskommando KDCLTAC geändert wird.

    ON

Der Transaktionscode ltacname ist nicht gesperrt, d.h. Aufträge für das entsprechende ferne Service-Programm werden angenommen.

Standard: ON

    OFF

Der Transaktionscode ltacname ist gesperrt, d.h. Aufträge für das ferne Service-Programm werden nicht angenommen.

TYPE=

definiert, ob das ferne Service-Programm im Dialog oder asynchron genutzt wird.

    D

Das ferne Service-Programm wird im Dialog genutzt.

Standard: D

    A

Das ferne Service-Programm bzw. die ferne TAC-Queue wird asynchron genutzt.

WAITTIME=

(time1,time2)

Maximale Wartezeiten für Sessionbelegung festlegen. Durch geeignete Wahl dieser Wartezeiten können Sie die Wartezeit eines Benutzers am Terminal begrenzen, der den fernen Service anfordert.

    time1

Zeit in Sekunden, die beim Start eines fernen Service-Programms auf das Belegen einer Session (evtl. einschließlich Verbindungsaufbau) bzw. auf den Aufbau einer Association gewartet werden soll.

  • time1 != 0 bei Asynchron-TACs:
    Ein Asynchron-Auftrag wird in die Message Queue der Partner-Anwendung eingetragen.

  • time1 != 0 bei Dialog-TACs:
    Ein Dialog-Auftrag wird angenommen, sofern eine logische Verbindung zur Partner-Anwendung besteht.

  • time1 = 0 bei Asynchron-TACs:
    Ein nicht-zeitgesteuerter Asynchron-Auftrag (FPUT-Auftrag) wird nur dann in die Message Queue der Partner-Anwendung eingetragen, wenn zur Partner-Anwendung eine logische Verbindung besteht. Besteht keine Verbindung wird der FPUT-Aufruf mit Returncode 40Z, KD13 abgewiesen.

  • time1 = 0 bei Dialog-TACs:
    Falls keine Session bzw. Association generiert ist, für die die lokale Anwendung Contention Winner ist, wird der Dialog-Auftrag (APRO DM- Aufruf) mit 40Z, KD11 abgewiesen. Existieren Sessions/Associations, für die die lokale Anwendung Contention Winner ist, aber beim Programmende ist keine frei, dann wird die Transaktion zurückgesetzt.

Bei Asynchron-Aufträgen an OSI TP-Partner wird time1 intern immer auf 60 Sekunden gesetzt, unabhängig von tatsächlich eingestellten Wert.

Besteht keine logische Verbindung zur Partner-Anwendung, dann werden Dialog-Aufträge abgewiesen, unabhängig davon, welchen Wert time1 hat. Gleichzeitig wird ein Verbindungsaufbau initiiert.

    time2

Maximale Zeit in Sekunden, die auf das Eintreffen einer Antwort vom Auftragnehmer gewartet wird.
time2 = 0 bedeutet „Warten ohne Zeitbegrenzung“.
time2 ist nur für Dialog-LTACs relevant, die Wartezeiten für Asynchron-LTACs werden mit UTMD ... CONCTIME=(...,time2) festgelegt.

Wird in time2 ein Wert > 0 angegeben, dann ignoriert openUTM diesen Wert, wenn ein KDCSHUT WARN oder GRACE gegeben wurde und der lokale Vorgang das Transaktionsende eingeleitet hat. In diesem Fall wählt openUTM die Wartezeit so, dass die Transaktion zurückgesetzt wird, bevor die Anwendung beendet wird, um eine abnormale Anwendungsbeendigung mit ENDPET möglichst zu vermeiden.

Standardwert: WAITTIME = (30,0)
Minimalwert: WAITTIME = (0,0)
Maximalwert: WAITTIME = (32767,32767)

Die Wartezeiten können durch die UTM-Administration geändert werden (z.B. mit dem Kommando KDCLTAC).