Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Description of CALLUTM program statements

The program statements in CALLUTM are read by the SDF user interface and processed by the SDF command processor. Alongside the standard SDF statements, CALLUTM can also use any of the program statements listed in the table below:

No.

Program statement                         

Function

1.

CREATE-CONFIGURATION

Defines the environment for the program run and selects the connection to the UTM application. This statement must be issued as the first statement.

2.

SELECT-SERVICE

Starts a service (transaction code) in the UTM application. A message (operands or parameter values) can also be issued with this statement.

3.

CONTINUE-SERVICE

Continues a service that is not yet completed. For services which consist of a number of processing steps, this statement starts the next processing step once the previous one is completed. A message can also be issued with this statement.

4.

DEALLOCATE-CONVERSATION

Terminates the conversation with the UTM application. Any service that is still open in the UTM application and that belongs to this conversation will be terminated abnormally.

5.

SHOW-CONFIGURATION

Displays the program runtime environment that was set with CREATE-CONFIGURATION or MODIFY-CONFIGURATION.

6.

MODIFY-CONFIGURATION

Modifies the program runtime environment that was set with CREATE-CONFIGURATION.

7.

CALLUTM-ERROR-STEP

Controls statement processing of CALLUTM in procedure or batch mode.

CREATE-CONFIGURATION must always be the first statement to follow the program start. It is particularly important to ensure that CREATE-CONFIGURATION is issued before the SELECT-SERVICE statement.
Statements 5 and 6 can be issued anywhere between CREATE-CONFIGURATION and the end of the program run.

The statements are listed below in alphabetical order and described in detail.

Notational conventions

The following description of the statements uses SDF syntax notation. The table below outlines the elements that make up this form of notation, which are also described in the general section on in "Notational conventions".

Symbol        

Meaning

Examples                                                                

< >

Angle brackets indicate variables whose values are described in terms of data types and the associated information.

POSITION = <integer 1..256>

/

The slash character separates operand values that can be used as alternatives.

SET-TEST-MODE = *NO / *YES

(...)

Parentheses indicate operand values which begin a structure.

,SET-SERVICE-JV = *YES (...) / *NO

Indentation      

Indentation indicates dependency on the next highest operand.

,SET-SERVICE-JV = *NO / *YES(...)


*YES(...)



|


JV-IDENTIFICATION = ...


|

|

|

A vertical line indicates operands that belong together in a structure. It runs from the start to the end of a structure.
Further substructures can occur within a structure. The number of vertical lines to the left of an operand indicates the structural nesting depth.

, SET-SERVICE-JV = *NO / *YES (...)


*YES (...)



|


JV-ID = *JV-NAME (...) /...



|



*JV-NAME (...)



|




|


JV-NAME =...

Short name:

The following name is a guaranteed alias name for the statement name.

Short name: CONFATTR

CALLUTM-ERROR-STEP

The program statement CALLUTM-ERROR-STEP controls statement processing of CALLUTM in procedure or batch mode:

If an error (other than SDF syntax error) occurred during CALLUTM program run, e.g. if the addressed UTM application is offline, CALLUTM reads the following program statements from SYSDATA, until CALLUTM-ERROR-STEP is recognized. If no CALLUTM-ERROR-STEP is found, CALLUTM will terminate.

The CALLUTM-ERROR-STEP statement has no operands. 


Example

//CREATE-CONFIGURATION ...
// ... 
// ... 
//SELECT-SERVICE SERVICE-NAME = KDCINF, SERVICE-DATA = C'STAT'       (1)
//SELECT-SERVICE SERVICE-NAME = KDXINF, SERVICE-DATA = C'USER'       (2)
//SELECT-SERVICE SERVICE-NAME = KDCINF, -                            (3)
// SERVICE-DATA = C'USER,L=KDCCON' 
//CALLUTM-ERROR-STEP                                                 (4)
//SELECT-SERVICE SERVICE-NAME = KDCINF, SERVICE-DATA = C'TAC'        (5)

Explanation:

Statement (1) is executed.
Statement (2) causes an error, because TAC KDXINF is not defined.
Statement (3) is not executed.
The processing is continued with statement (5).

CONTINUE-SERVICE

CONTINUE-SERVICE allows you to continue a service that was started in the UTM application with SELECT-SERVICE and is made up of several steps. CONTINUE-SERVICE needs to be specified when the service sends a message to CALLUTM after one dialog step is completed but when the service as a whole is not yet completed because other processing steps remain to be executed. Data can be passed to the service for the next processing step.

CONTINUE-SERVICE

SERVICE-DATA = *NO / list-poss(42):<c-string -with-lower-case 1..1800>

,SET-SERVICE-JV = *NO / *YES(...)


*YES(...)



|


JV-IDENTIFICATION = *JV-NAME(...) / *LINK-NAME(...)



|



*JV-NAME(...)



|




|


JV-NAME=<full-filename-without-generation-version 1..54>



|




|


,POSITION = 1 / <integer 1..256>



|




|


,LENGTH = *REST / <integer 1..256>



|



*LINK-NAME



|




|


LINK-NAME =< alphanum-name 1..7>



|




|


,POSITION = 1 / <integer 1..256>



|




|


,LENGTH = *REST / <integer 1..256>



|


,PASSWORD = *NONE /< c-string 1..4> / <x-string 1..8>



|


,VALUE = *RECEIVE-MSG (...) / <c-string-with-lower-case 1..256> / <x-string 1..512>



|



*RECEIVE-MSG(...)



|




|


POSITION = 1 / <integer 1..4000>

For a description of the operands, see the SELECT-SERVICE statement ("Description of CALLUTM program statements (BS2000 systems)").


Example

This example refers to the sample administration program SUSRMAX which is supplied with openUTM (see "Sample programs"). The dialog with SUSRMAX consists of the following steps:

  1. SUSRMAX is started and returns a message prompting you to select a function:

    -> //SELECT-SERVICE SERVICE-NAME=SUSRMAX
       <date: 04-19-2019 time: 11:21:03
       application: DB400    host: BS2HOSTA tac: SUSRMAX
       -------------------------------------------------------------------
       available commands:
       0 = end                          |  1 = show-connected-users
       2 = show-users-in-conversation   |  3 = show-changeable-max-values
       4 = change-max-values            |
       please make a selection
    
  2. The service is continued with CONTINUE-SERVICE; the function “1 = show-connectedusers” is selected (SERVICE-DATA='1'). openUTM returns the requested information.

    -> //CONTINUE-SERVICE SERVICE-DATA='1'
    <-   ...
         ... Output
         ...
    
  3. The UTM message prompting you to select another function is output again.

    -> //CONTINUE-SERVICE
    <-   ...
         ... The function selection message is output as in 1. 
         ...
    
  4. The service is continued with CONTINUE-SERVICE; the function ”2 = show-users-inconversation” is selected (SERVICE-DATA='2'). openUTM returns the requested information.

    -> //CONTINUE-SERVICE SERVICE-DATA='2'
    <-   ...
         ... Output
         ...
    
  5. SUSRMAX is terminated (function “0 = end”).

    -> //CONTINUE-SERVICE SERVICE-DATA='0'
       <date: 04-19-2019 time: 11:22:34
       application: DB400    host: D018ZE08 tac: SUSRMAX
       ----------------------------------------------------------------
       conversation terminated
       ----------------------------------------------------------------
    -> //
    

CREATE-CONFIGURATION

The statement CREATE-CONFIGURATION defines the environment for the program run and selects the connection to the UTM application. In other words, it allows you to determine:

  • how the program is to sign on to the UPIC carrier system

  • the UTM application to which a connection is to be established

  • the UTM user ID to be passed when the conversation is established

  • whether and to what extent a log file is to be written

  • whether UPICTRACE is also to run.

CREATE-CONFIGURATION must be the first statement issued when the program has started. If CREATE-CONFIGURATION is issued repeatedly during the course of the program run, any open log files will be closed and open services will be rolled back. An internal DEALLOCATE is also executed.

You can use MODIFY-CONFIGURATION during a program run to modify the values set with CREATE-CONFIGURATION.

CREATE-CONFIGURATION

Alias: CONFATTR

LOCAL-NAME = <alphanum-name 1..8>

,SYMB-DEST-NAME = <alphanum-name 8..8>

USER-ID = *NONE / <alphanum-name 1..8>(...) / <c-string_1..8_with-low> / < x-string 1..16>


<alphanum-name 1..8>(...) / <c-string_1..8_with-low> / < x-string 1..16>



|


PASSWORD = *NONE /< c-string 1..16 >/< x-string 1..32>

,WRITE-LOGGING-FILE = *NO / *YES (...)


*YES(...)



|


LOGGING-FILENAME = <full-filename-without-generation-version 1..54>



|


,OPEN-MODE = *REPLACE / *EXTEND



|


,LOGGING-INFO = *ALL / *SEND / *RECEIVE



|


,RECORD-LENGTH = *STD / <integer 1..252>

,WRITE-UPIC-TRACE = *NO / *YES

,CONFIGURATION-ID = 1 / <integer 1..1>

,SET-TEST-MODE = *NO / *YES

,SET-ENCRYPTION-LEVEL = *NO / <integer 1..4>

LOCAL-NAME = <alphanum-name 1..8>



Local name under which CALLUTM signs on to the UPIC carrier system. This name must be defined in the UPICFILE.

SYMB-DEST-NAME = <alphanum-name 8..8>



Symbolic partner name of the UTM application to which a connection is to be established. This name must be defined in the UPICFILE.

USER-ID =



UTM user ID used to establish the conversation.


*NONE

No security functions are used.


<alphanum-name 1..8>( ) / <c-string_1..8_with-low> / < x-string 1..16>



UTM user ID. This user ID must exist in the UTM application.

PASSWORD = *NONE
No password is assigned to the user ID set for USER-ID.

PASSWORD = <c-string 1..16> or <x-string 1..32>
If a password is assigned to the user ID set for USER-ID, this password must be entered here as a character string (c-string) or as a hexadecimal string (x-string).

WRITE-LOGGING-FILE =



Determines whether and to what extent the flow of data from the client to the server and back (i.e. service data) is to be logged.


*NO          

No data is logged.


*YES ( )

Data is logged.

LOGGING-FILENAME = <full-filename-without-gen-vers 1..54>
Name of the log file.

OPEN-MODE = *EXTEND
Any existing log file is extended (appended). If no log file exists, a new one is created.

OPEN-MODE = *REPLACE
Any existing log file is overwritten. If no log file exists, a new one is created.

LOGGING-INFO = *SEND
Only data that is sent to a service in the UTM application is logged.

LOGGING-INFO = *RECEIVE
Only the data that CALLUTM receives from a service in the UTM application is logged.

LOGGING-INFO = *ALL
All data that CALLUTM exchanges with a service in the UTM application is logged, i.e. both data that is sent and data that is received.

RECORD-LENGTH = *STD / <integer 1..252> 
Length of the records to be written to the log file. A new record is started whenever “newline” is detected in the send or receive area. “newline” itself is not logged.
*STD stands for a record length of 79 bytes.

WRITE-UPIC-TRACE =



Indicates whether UPIC tracing is to be activated.


*NO

The UPIC trace is not activated.


*YES

The UPIC trace is activated. 

If no *UPICTRA link name to a job variable exists, a new job variable JV.UPICTRACE.CALLUTM is created with the value “-SX” and the link name *UPICTRA is assigned to it.

CONFIGURATION-ID = 1



Serves to identify the configuration. The only permissible value is 1.

SET-TEST-MODE=



Activate/deactivate test mode.


*NO

Test mode is not activated. No UPIC calls are output to SYSOUT.


*YES

Test mode is activated. All UPIC calls from CALLUTM are output to SYSOUT.

SET-ENCRYPTION-LEVEL=



Specifies whether and how data is to be encrypted over the connection.

If encryption has been generated on the server side for the client connection, the relevant encryption level from the generation must be specified here.

If encryption has been generated on the server side for a TAC that is to be called here, the encryption level must also be specified on the client side.


*NO

No encryption.


<integer 1..4>



Encryption level from the generation.


Example

//CREATE-CONFIGURATION LOCAL-NAME=UPCPT#T0,SYMB-DEST-NAME=DBSADMT0, -
//    WRITE-LOGGING-FILE=*YES(L-F=LOG.CALLUTM)

DEALLOCATE-CONVERSATION

This statement terminates the conversation with the partner application. Any service that is still open in the UTM application is terminated abnormally.

DEALLOCATE-CONVERSATION                                                                                         

CONFIGURATION-ID = 1 / <integer 1..1>

CONFIGURATION-ID does not need to be specified (default setting).
Only CONFIGURATION-ID=1 may be specified.


Example

//DEALLOCATE-CONVERSATION 

MODIFY-CONFIGURATION

MODIFY-CONFIGURATION allows you to modify the existing values set with CREATE-CONFIGURATION or a previous MODIFY-CONFIGURATION statement in the program runtime environment.

MODIFY-CONFIGURATION

Alias: MODATTR

LOCAL-NAME = *UNCHANGED / <alphanum-name 1..8>

,SYMB-DEST-NAME = *UNCHANGED / <alphanum-name 8..8>

,USER-ID = *UNCHANGED / <alphanum-name 1..8>


<alphanum-name 1..8>(...)



|


PASSWORD = *UNCHANGED / *NONE /< c-string 1..8> / <x-string 1..16>

,WRITE-LOGGING-FILE = *UNCHANGED / *YES (...)


*YES(...)



|


LOGGING-FILENAME = *UNCHANGED



|


,OPEN-MODE = *UNCHANGED / *REPLACE / *EXTEND



|


,LOGGING-INFO = *UNCHANGED / *ALL / *SEND / *RECEIVE



|


,RECORD-LENGTH = *UNCHANGED / *STD /< integer 1..252>

,WRITE-UPIC-TRACE = *UNCHANGED / *NO / *YES

,CONFIGURATION-ID = 1 / <integer 1..1>

,SET-TEST-MODE = *UNCHANGED / *NO / *YES

,SET-ENCRYPTION-LEVEL = *UNCHANGED / *NO

For a description of the operands, see statement CREATE-CONFIGURATION on "Description of CALLUTM program statements (BS2000 systems)".


Example

Logging is deactivated.

-> //MOD-CONF WRITE-LOGGING-FILE=*NO
<- CUA0050: configuration modified
-> //

SELECT-SERVICE

SELECT-SERVICE starts a service in the UTM application. Data (i.e. operands and parameter values) required by the service for processing can also be supplied. In addition, a job variable can be defined to accept the receive message, segment of the receive message or any specified string once the statement has been executed. If the job variable defined has not yet been cataloged a new one is created.

If you use SELECT-SERVICE to call a service which consists of several processing steps and which passes dialog messages to CALLUTM between the individual processing steps, then, between the time the service is called and the time when it is terminated, you can (with the exception of the standard SDF statements) only issue the following statements:

  • CONTINUE-SERVICE
    Continues the service once a dialog message has been received.

  • DEALLOCATE-CONVERSATION
    Aborts the connection and (abnormally) terminates the service in the UTM application.

  • SHOW-CONFIGURATION
    Reads the current configuration data.

SELECT-SERVICE

SERVICE-NAME = <alphanum-name 1..8>/<c-string-with-lower-case>

,SERVICE-DATA = *NO / list-poss(42): <c-string -with-lower-case 1..1800>

,SET-SERVICE-JV = *NO / *YES(...)


*YES(...)



|


JV-IDENTIFICATION = *JV-NAME(...) / *LINK-NAME(...)



|



*JV-NAME(...)



|




|


JV-NAME=<full-filename-without-generation-version 1..54>



|




|


,POSITION = 1 / <integer 1..256>



|




|


,LENGTH = *REST / <integer 1..256>



|



*LINK-NAME(...)



|




|


LINK-NAME =< alphanum-name 1..7>



|




|


,POSITION = 1 / <integer 1..256>



|




|


,LENGTH = *REST / <integer 1..256>



|


,PASSWORD = *NONE /< c-string 1..4> / <x-string 1..8>



|


,VALUE = *RECEIVE-MSG (...) / <c-string-with-lower-case 1..256> / <x-string 1..512>



|



*RECEIVE-MSG(...)



|




|


POSITION = 1 / <integer 1..4000>

SERVICE-NAME = <alphanum-name 1..8>/<c-string-with-lower-case>



The transaction code with which the service is to be started in the UTM application; can also be an administration command or a different administration TAC.

SERVICE-DATA =



Message to be passed to the service in the UTM application.


*NO

No message data is passed.


list-poss(42): <c-string-with-lower-case 1..1800>



Message to be passed from the remote service. The message must be passed as a C string, i.e. enclosed in quotes.

You can also pass a list of C strings here. The individual elements of the list are sent as partial messages and also received as partial messages by the server.

Number of C strings: up to 42.

Total length of the list: up to 1800 characters

SET-SERVICE-JV =



Supplies data to a job variable.


*NO          

Data is not supplied to a job variable.


*YES ( )

Data is supplied to a job variable.

JV-IDENTIFICATION = *JV-NAME ( )
The job variable is addressed by name.

JV-NAME = <full-filename-without-generation-version 1..54>
Name of the job variable. If the job variable has not yet been cataloged a new one is created.

POSITION = 1
The job variable is set as of column 1.

POSITION = <integer 1..256>
The job variable is set as of the specified column.

LENGTH = *REST
As of POSITION, the full-length job variable can be set.

LENGTH = <integer 1..256>
The job variable is set to the specified length 
(depending on the input value and starting position).

JV-IDENTIFICATION = *LINK-NAME ( )
The job variable is addressed via a link name which must have been set before the statement was executed (e.g. at the start of the program run).

LINK-NAME = <alphanum-name 1..7>
Link name set for the job variable.

POSITION = as for *JV-NAME ( ); see above

LENGTH = as for *JV-NAME ( ); see above

PASSWORD = *NONE
Access to the job variable is not password-protected.

PASSWORD = <c-string 1..4> / <x-string 1..8>
Password used for (read and write) access to the job variable.

VALUE = *RECEIVE-MSG (POSITION = 1/<integer 1..4000>) 
The job variable is reserved with the data received from the UTM application (in accordance with the position and length defined above).
For POSITION you specify the position (column) within the receiving area as of which the data received is to be written to the job variable. If POSITION !=1, the job variable is positioned at the corresponding distance within the receiving area.

VALUE = <c-string 1..256> / <x-string 1..512>
The job variable is reserved with the string passed for this value in accordance with the position and length defined above.


Note on the use of job variables

Before the statement is executed, the job variable is initialized with blanks as of the specified position and to the specified length. If an error occurs during this access to the job variable, the statement as a whole is not executed.


Example

  1. The administration command KDCSHUT WARN, TIME=01 is called.

    //SELECT-SERVICE SERVICE-NAME=KDCSHUT, SERVICE-DATA='WARN,TIME=01'

  2. The command KDCINF reads the properties of the user ID UPCUSER (KDCINF USER,LIST=UPCUSER). The output is to be written to the job variable JV.USER (as of column 81).

    //SELECT-SERVICE SERVICE-NAME=KDCINF,                     -
    //               SERVICE-DATA='USER,LIST=(UPCUSER)',      -
    //               SET-SERVICE-JV=*YES (                    -
    //                      JV-ID=*JV-NAME  (                 -
    //                         JV-NAME=JV.USER,               -
    //                         POSITION=81  )                 -
    //                                   )                    -
    //                      VALUE=*RECEIVE-MSG(POSITION=161)
    

    Result

    Once the statement has executed, the job variable JV.USER will be reserved as follows as of column 81:

    ......column 81                                 column 123
    .............|                                          |
    .............UPCUSER0_____________OFF_____N______________
    .............8________0_______0__UPCLT#T0_______.
    .............|                                  |
    .....column 124                         column 160 is next line X'15'
    

    For an explanation of the meaning of the contents, see also "Output from KDCINF (examples)":

    UPCUSER (value of USER):
    Name of the user ID.

    OFF (value of STATUS):
    The user ID is disabled.

    N (value of OSERV):
    The user ID is not processing any service at present.

    8 (value of NR.TACS):
    Eight transaction jobs have so far been entered under this user ID.

    0 (value of SECCNT):
    Number of security violations under this user ID.

    UPCLT#T0 (value of LTERM):
    Name of the LTERM partner via which the user ID signs on.

SHOW-CONFIGURATION

SHOW-CONFIGURATION allows you to display the values defined by the last CREATE-CONFIGURATION or MODIFY-CONFIGURATION statement.

SHOW-CONFIGURATION                              

                                       Alias: SHOWATTR

CONFIGURATION-ID = 1 / <integer_1..1>

,OUTPUT = *SYSOUT /*LOGGING-FILE

CONFIGURATION-ID = 1



Identifies the configuration. The only permissible value is 1.

OUTPUT=



Specifies the destination to which the requested data is to be output.


*SYSOUT



The requested data is to be output to SYSOUT.


*LOGGING-FILE



The requested data is to be written to the log file (see CREATE-CONFIGURATION; operand WRITE-LOGGING-FILE). If no log file was defined with CREATE-CONFIGURATION or MODIFY-CONFIGURATION, the data output will be rerouted to SYSOUT.

Example

-> //SHOW-CONF OUTPUT=*SYSOUT
<- -- current configuration data: ---------------------------------
   local name = UPCPT#T0
   symbolic destination name = DBSADMT0
   partner name (from upicfile) = DBSUPAT0
   program name is enabled to UPIC
   no user identification given
   logging file name = LOG.CALLUTM
      open mode = replace
      record length =  79
      logging info = transmitted and received messages
      file is open
   upic trace is switched off
   program monitoring job variable is not specified
encryption is not available
-- end configuration data --------------------------------------
->