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 - Transaction codes of remote services (LTAC)

The data structure kc_ltac_str is defined for the object type KC_LTAC. In the case of KC_GET_OBJECT, UTM returns the properties of transaction codes that are defined in the local application for remote service programs in kc_ltac_str.

LTAC objects can be dynamically created with KC_CREATE_OBJECT, deleted with KC_DELETE_OBJECT, or modified with KC_MODIFY_OBJECT.

mod 1

Data structure 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 The contents of the field can be modified with KC_MODIFY_OBJECT; see "obj_type=KC_LTAC"

The fields in the data structure have the following meanings:

lc_name

Contains the local transaction code that was defined for the remote service program (LTAC name).

lpap

Specifies to which partner application the service program belongs. lpap contains the name of the LPAP or OSI-LPAP partner assigned to the partner application, or the name of a master LPAP partner.

If lpap contains blanks, then the LTAC is not assigned explicitly to any partner application. An assignment must then be carried out via the KDCS call APRO.

rtac ( remote tac )

Name of the transaction code for the service or service program in the partner application (recipient TPSU title; RTAC name). The name can be a string or a number. The name is returned in the following data structure:


union kc_rtac

char name64[64];

char name8[8];


The field of the union in which the RTAC name is stored depends on the code type assigned to the RTAC name. The code type is returned in the code_type field.

rtac_lth

Specifies how long the name (recipient TPSU title) returned in rtac is. The number of bytes used is specified in rtac.

Minimum value: '1'
Maximum value: '64'

code_type

Specifies which code type will be used internally by UTM for the RTAC name. Based on the code_type you can determine in which field of the union the RTAC name is stored.


'I'

(INTEGER)
The TAC name in rtac is a positive integer between 0 and 67108863.

The RTAC name will be returned in the name8 field of the rtac union (the first 8 bytes of the union are right-justified).

RTAC names of code type INTEGER are only permitted for partner applications that are not UTM applications and that communicate using the OSI TP protocol.

'P'

(PRINTABLE-STRING)
The TAC name in rtac is specified as a string. It is a maximum of 64 characters long. It is case sensitive.

A TAC name with the PRINTABLE-STRING code type can contain the following characters:

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

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

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

  • the special characters - : ? = , + . ( ) / (blank)

The TAC name will be returned in the name64 field of the rtac union. The elements in kc_rtac.name64 after the length specified in rtac_lth are filled with blanks.

'T'

T61-STRING

rtac contains a T61 string. For the T61-STRING code type UTM supports all characters of the PRINTABLE-STRING code type in addition to the following special characters:
$ > < & @ # % ; * _

The TAC name will be returned in the name64 field of the rtac union. The elements in kc_rtac.name64 after the length specified in rtac_lth are filled with blanks.


RTAC names for which the STANDARD code type was specified at dynamic creation or at KDCDEF generation are stored internally, depending on the characters used, as a PRINTABLE-STRING or a T61-STRING. For this reason, either PRINTABLE-STRING or T61-STRING is output for RTACs generated with 'S' or STANDARD.

state    Contains the status of the transaction codes in lc_name:


'Y'

The transaction code is not disabled. Jobs for the corresponding remote service will be accepted.

'N'

The transaction code is disabled. Jobs for the corresponding remote service will not be accepted.


accesswait_sec

The time to wait in seconds after a remote service (LTAC call) requests the appropriation of a session (possibly including the establishing of the connection) or the maximum time to wait for an association to be established.

A wait time accesswait_sec != 0 for asynchronous jobs (LTAC with ltac_type='A') means that the job will always be placed in the local message queue for the partner application. Dialog jobs are accepted.

A wait time accesswait_sec=0 means:
Dialog TACs will be rejected if no session or association to the partner application is generated for which the local application is the "contention loser".
For asynchronous TACs, the asynchronous job will be rejected with a return code in the FPUT call if there is no logical connection to the partner application. If a logical connection to the partner application exists, then the message will be placed in the local message queue.

Dialog jobs are rejected, independent of the value in accesswait_sec, if no logical connection to the partner exists. At the same time, a connection shutdown is initiated.

Minimum value: '0'
Maximum value: '32767'

replywait_sec

The maximum time in seconds that UTM will wait for an response from a remote service. By limiting the wait time you can guarantee that the wait time for clients or users on the terminal will not be indefinite.

replywait_sec = '0' means: no wait time limit.

Minimum value: '0'
Maximum value: '32767'

lock_code

Contains the lock code assigned to the remote service within the local application (access protection). lock_code can contain a number between '0' and '4000'.
In KC_CREATE_OBJECT, the maximum value that can be contained by lock_code is the maximum value defined using the KEYVALUE operand of the KDCDEF statement MAX. '0' means that the LTAC is not protected by a lock code.

When an LTAC object is created, only lock_code or access_list can be specified (see below). If you modify an LTAC object, you can change the current value or remove the lock code by specifying '0'.

If neither lock_code nor access_list is defined, lc_name is not protected and every user of the local application can start the remote service program.

ltac_type

Specifies if the local application with the remote service jobs processes in the dialog or if asynchronous jobs will be passed to the partner service.


'D'

Jobs sent to the partner service are processed in dialog mode.

'A'

The partner service is started asynchronously (by means of message queuing).


used

Contains the number of jobs sent to the remote service since the start of the local application. used also specifies how often the LTAC has been called within the current application run.

The counter is reset to 0 every time the application is started.

ltacunit

Contains the number of accounting units charged for each ltac call in the accounting phase of UTM Accounting. The accounting units are added to the accounting unit counter of the user ID that called ltac.

For more information on accounting see also the openUTM manual “Generating Applications” and openUTM manual “Using UTM Applications”.

access_list

Can contain the name of a key set that describes the access rights of users who are permissible for lc_name.

When an LTAC object is created, only lock_code or access_list can be specified (see above). When you modify an LTAC object, you can change the current entry or remove the key set by specifying 8 blanks.

If neither lock_code nor access_list is defined, lc_name is not protected and any user of the local UTM application can start the remote service program.

deleted

Indicates whether lc_name was deleted from the configuration dynamically.


'Y'

lc_name is deleted.

'N'

lc_name is not deleted.