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 - define a transaction code for the partner application

The LTAC control statement allows you to define a local transaction code for a service, a remote service program or a remote TAC queue in a partner application. LTAC statements can be generated for communication based on both the LU6.1 protocol and the OSI TP protocol.

The local transaction code is assigned either

  • the name of a transaction code in a specific partner application (with single-step addressing), in which case the local transaction code addresses both the partner application and the transaction code in this application, or

  • the name of a transaction code in any partner application (with double-step addressing). The partner application in which the service program addressed by the local transaction code is to run must be specified explicitly in the program interface.

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 of a local transaction code defined for the remote service program

ACCESS-LIST=

keysetname

ACCESS-LIST= is used to specify the access authorizations that the user of the local UTM application must have in order to be able to send a job to the remote program. Whether the job is actually carried out by the remote application will depend on the access authorizations that are defined there.

ACCESS-LIST may not be specified in conjunction with the LOCK=lockcode operand.

For keysetname you must enter the name of a key set. The key set must be defined using a KSET statement.

A user can only access the LTAC if the key set of the user (USER ...,KSET=) contains at least one of the key codes contained in the key set (access list) keysetname of the LTACs.

If you enter neither ACCESS-LIST=keysetname nor LOCK=lockcode the LTAC is not protected and any user of the local application is able to start the remote service program.

Default: no key set

LOCK=

lockcode

May not be specified in conjunction with the ACCESS-LIST= operand.

LOCK= specifies the Lock code of the remote service program. A service secured with a lock code can only be addressed by a program unit if the program unit was started under a user ID (KCBENID) and from a client or a partner application (KCLOGTER) whose key set contains a key code that matches the lock code.

If you enter neither ACCESS-LIST=keysetname nor LOCK=lockcode the LTAC is not protected and any user of the local UTM application is able to start the remote service program.

Default: 0 (no lock code)
Maximum value: Value of MAX ...,KEYVALUE=number

LPAP=

lpapname

This identifies the partner application to which the service program belongs. You must enter the name of the LPAP partner assigned to this partner application or the name of an LU6.1-LPAP bundle or an OSI-LPAP bundle.

If the LPAP= operand is not specified, the name of the partner application must be entered in the APRO function call (in the KCPA field).

LTACUNIT=

ltacunit

Specifies the number of accounting units that are calculated for each call of this LTAC in the accounting phase of the UTM accounting. The accounting units are added to the accounting unit counter of the user ID that called the LTAC.
You may only specify integer values. This operand is only relevant if you are using the “UTM Accounting” function. Further information on the UTM Accounting can be found in the openUTM manual “Using UTM Applications”.

Default value: 1
Minimum value: 0
Maximum value: 4095

RTAC=

Name of the transaction code for the remote service program in the partner application. ltacname is used in the local application to address a service program defined under this transaction code (recipient TPSU-title) in the partner application.

In the case of asynchronous communication you can also specify the name of a TAC queue in the partner application.

Default: rtacname=ltacname

    C‘rtacname‘ |
    rtacname |
    recipient_TPSU_title

The name of the transaction code for the remote service program in the partner application (recipient_TPS_title) can be specified in the form of a character string or a number. A character string can be entered in the format C‘rtacname‘ or rtacname.

For recipient_TPSU_title, the OSI TP standard distinguishes between the code types printable string, T.61 string, and integer, which are used internally by openUTM to represent the RTAC name.

    CODE=

        STANDARD

If recipient_TPSU_title is specified in the form of a character string, it can be up to eight characters in length. It can only contain characters that are permitted for TAC names. Further information can be found in section "Format of names".

CODE=STD must be used for communication based on the LU6.1 protocol, and is recommended if the partner application is a UTM application.

For communication based on the OSI TP protocol, CODE=PRINTABLE- STRING is used internally.

Default: STANDARD

        PRINTABLE-STRING

The recipient_TPSU_title string can be up to 64 characters in length, and is case-sensitive.

If the partner application is a UTM application, recipient_TPSU_title can be up to eight characters in length. It can only contain characters permitted for TAC names. If these requirements are not met, the string can only be used for heterogeneous links based on the OSI TP protocol.

The following characters are permitted for the code type PRINTABLE- STRING:

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

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

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

and the following special characters:

apostrophe

hyphen

-

blank

<SPACE>

colon

:

question mark

?

equals sign

=

comma

,

plus sign

+

period

.

left parenthesis

(

right parenthesis

)

slash

/

        T61-STRING

With the code type T61-STRING, openUTM supports all characters of the code type PRINTABLE-STRING as well as the following special characters:

dollar sign

$

greater than sign

>

less than sign

<

ampersand

&

commercial at

@

number sign

#

semicolon

;

percentage sign

%

asterisk

*

underscore

_

        INTEGER

For recipient_TPSU_title, you can specify a positive integer between 0 and 67108863.

This is permitted only for partner applications which are not UTM applications and which communicate on the basis of the OSI TP protocol.

STATUS=

This defines whether or not the ltacname of the remote service program is locked when the local application is started.

The value entered for STATUS= applies until it is changed using the KDCLTAC administration command.

    ON

The transaction code ltacname is not locked, i.e. jobs are accepted for the corresponding service program.

Default: ON

    OFF

The transaction code ltacname is locked, i.e. jobs are not accepted for the remote service program.

TYPE=

This defines whether the remote service program is operated in dialog or asynchronous mode.

    D

The remote service program is operated in dialog mode.

Default: D

    A

The remote service program or the remote TAC queue is operated in asynchronous mode.

WAITTIME=

(time1,time2)

Maximum time spent waiting for a session to be reserved. By appropriately selecting this wait time, you can limit the wait time of a user on the terminal that requests the remote service.

    time1

Number of seconds spent waiting for a session to be reserved (possibly including connection setup) or for an association to be established when starting a remote service program.

  • time1 != 0 for asynchronous TACs:
    An asynchronous job is always placed in the message queue of the partner application.

  • time1 != 0 for dialog TACs:
    A dialog job is accepted if a logical connection exists to the partner application.

  • time1 = 0 for asynchronous TACs:
    An asynchronous job (FPUT job) that is not time-driven is only entered in the message queue of the partner application if there is a logical connection to the partner application. If there is no connection, then the FPUT call is rejected with the return code 40Z, KD13.

  • time1=0 for dialog TACs:
    If there is no session or association generated for which the local application is the contention winner, then the dialog job (APRO DM call) is rejected with 40Z, KD11. If there are sessions/associations for which the local application is the contention winner, but none are free when the program ends, then the transaction is rolled back.

In the case of asynchronous jobs to OSI TP partners time1 is always set internally to 60 seconds, regardless of the value actually set.

If there is no logical connection to the partner application, then dialog jobs are rejected, regardless of the value of time1. The establishment of a connection is initiated at the same time.

    time2

Maximum number of seconds spent waiting for a response from the job receiver. This can be used to restrict the wait time for the terminal user.
time2 = 0 means “wait indefinitely”.
time2 is only relevant for dialog LTACs, the wait times for asynchronous LTACs are defined using UTMD ... CONCTIME=(...,time2).

If a value > 0 is specified in time2 then this value is ignored by openUTM if a KDCSHUT WARN or GRACE has been issued and the local service has initiated the end of the transaction. In this case, openUTM chooses the wait time in such a way that the transaction is rolled back before the application is terminated in order, if possible, to prevent the application from being terminated abnormally with ENDPET.

Default value: WAITTIME = (30,0).
Minimum value: WAITTIME = (0,0)
Maximum value: WAITTIME = (32767,32767)

Wait times can be modified using the UTM administration (e.g. with the KDCLTAC command).