Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

KDCAPPL - Change properties and limit values for an operation

KDCAPPL allows you to perform the following actions:

  • Change the timer settings and maximum values that you have generated in the KDCDEF control statement MAX.

  • Define the number of processes (TASKS) that can be involved in an application simultaneously. If you wish to reduce the current number of processes, you should refer to the information provided in chapter "Possible measures".

  • Define the maximum number of processes that are permitted to process asynchronous services or services with blocking function calls (e.g. the KDCS call PGWT) simultaneously. The maximum possible number of these processes depends on the total number of processes in the application and on the maximum number of processes defined in the KDCDEF statement MAX that are entitled to process services of this kind.

  • Control cache memory paging.

  • Switch the accounting and calculation phase of the UTM accounting procedure on and off

  • Enable and disable data compression

  • Establish a connection to all printers for which messages are present.

  • Exchange the entire application program during live operation. This enables you, without terminating the application, to change program units and to take new program units that you have included dynamically in the configuration and add them to the application program.

    In standalone UTM applications on BS2000 systems, load modules whose versions have previously been modified with KDCPROG are therefore also swapped in the Common Memory Pool.

  • Switch over the system log files for the application (SYSOUT and SYSLST or stderr and stdout) during live operation. This avoids a hard disc bottleneck, since it allows log files to be evaluated and files which are no longer required to be deleted or archived.

  • In addition, you can also enable or disable provision of data to the openSM2 software monitor for the application.


Period of validity of the changes

The changes made with KDCAPPL last for no longer than the duration of the current application run.

Exception:

A program exchange (PROGRAM operand) remains effective beyond the end of the current application run, i.e. when the application is next started, the most recently loaded version of the application program is reloaded. In the case of a restart, UTM attempts to load the new application program even if a previous attempt to initiate a program exchange (in the previous application run) was unsuccessful.


Effect in cluster operation

The effect on cluster applications is described in the sections devoted to the individual operands since some of the changes made with KDCAPPL apply locally to the node whereas others take effect globally in the cluster. Changes made locally in a node apply at the most for the duration of the current node application run.

Changes made globally in the cluster apply at the most for the duration of the current UTM cluster application run.


KDCAPPL     [ ,ACCOUNT={ ON | OFF } ]

           [  CACHE=%_utm_pages ]

           [ ,CALC={ ON | OFF } ]

           [ ,CONCTIME=con_control_time_sec ]

           [ ,CONRTIME=con_request_time_min ]

           [ ,DATA-COMPRESSION={ ON | OFF } ]

           [ ,MAXASYN=number_tasks ]

           [ ,MAX-CONN-USERS=number_users ]

           [ ,PGWTTIME=wait_time_sec ]

           [ ,PROGRAM={NEW | OLD | SAME} ]

           [ ,PTCTIME=wait_time_sec ]

           [ ,RESWAIT-PR=wait_time_sec ]

           [ ,RESWAIT-TA=wait_time_sec ]

           [ ,SPOOLOUT=ON ]

           [ ,SYSPROT=NEW ]

           [ ,TASKS=number_tasks ]

           [ ,TASKS-IN-PGWT=number_tasks ]

           [ ,TERMWAIT=wait_time_sec ]

           [ ,SM2={ ON | OFF } ]


For administration using message queuing you must specify KDCAPPLA.

ACCOUNT=

enables and disables the UTM accounting phase.



In UTM cluster applications, the operand applies globally in the cluster.

On BS2000 systems enabling the accounting phase only becomes effective if record type UTMA is enabled on BS2000 Accounting. The command KDCAPPL ACC=ON is not rejected if record type UTMA is not enabled, since openUTM only detects this when writing an accounting record.

The value set in the KDCDEF control statement in ACCOUNT ACC= applies when the application is started.

For further details on UTM Accounting see also the openUTM manual “Using UTM Applications”.

Note for BS2000 systems

  • With KDCAPPL ACC=ON it is also possible to reenable the accounting phase in openUTM after BS2000 Accounting has failed, if BS2000 Accounting is available again.

  • In RAV (accounting procedure for computer centers) you can specify which tariffs are to be charged for specific periods of time when evaluating the accounting records.

CACHE=%_utm_pages



Defines the maximum percentage of pages in cache memory that can be stored on KDCFILE when bottlenecks develop.

In UTM cluster applications, the operand applies globally in the cluster.

CACHE allows you to adjust the percentage defined during KDCDEF generation in the MAX statement for the duration of the current application run. UTM swaps out at least 8 UTM pages in a paging operation, even a smaller value is calculated.

Minimum value: 0 (in this case, 8 pages are swapped out)
Maximum value: 100

If a value < 100 was specified at generation for number in the CACHESIZE operand of the MAX statement, rounding errors can occur at that output of %_utm_pages of a subsequent KDCAPPL command.

CALC=


Enables the calculation phase of UTM Accounting.

In UTM cluster applications, the operand applies globally in the cluster.


ON

Enables the calculation phase.
On BS2000 systems the calculation phase is enabled when the accounting record type UTMK is enabled on BS2000 Accounting.


OFF

Disables the calculation phase again.

When the application is started, the value set in ACCOUNT ACC= in the KDCDEF control statement applies.

For further details on UTM Accounting see also the openUTM manual “Using UTM Applications”.

CONCTIME=con_control_time_sec



(Connection Control Time
Time taken in seconds to monitor the setup of a session (LU6.1) or an association (OSI TP). If the session or association is not established within the specified period of time, UTM shuts down the connection. This prevents a transport connection from remaining disabled due to a failure to establish a session or association.

In UTM cluster applications, the operand applies globally in the cluster.

CONCTIME=0 means

  • session setup is not monitored in the case of LU6.1 session

  • in the case of OSI TP connections, UTM waits up to 60 seconds for an association to be set up.

Maximum value: 32767 
Minimum value: 0

CONRTIME=con_request_time_min



(connection request time
Time in minutes for which UTM should continue attempting to re-establish a connection to a partner server or to a client or printer after a connection has been lost.

In UTM cluster applications, the operand applies globally in the cluster.

CONRTIME relates to connections to the following partners:

  • Printers to which UTM automatically establish a connection when the application starts up. This assumes that the connection had not already been established by means of system administration functions.

  • Printers to which UTM establishes a connection as soon as the number of print jobs for the current printer exceeds the generated control value (LTERM partner with plev > 0). UTM only attempts to re-establish a connection if the number of print jobs left after the lost connection is greater than or equal to the control value. 
    If in such a case CONRTIME != 0, UTM attempts to establish a connection to the printer if the connection was previously shut down explicitly by means of system administration functions.

  • TS applications which connect to the UTM application via LTERM partners (entered with ptype='APPLI' or 'SOCKET') and to which UTM automatically establishes a connection when the application is started, unless this connection has already been cleared by the administrator.

  • Partner applications to which UTM automatically establishes a connection at the start, unless such a connection has already been established by the administrator or shut down by UTM due to a timeout (idletime).

  • Message routers (MUX) on BS2000 systems, to which UTM should automatically establish a connection when the application is started if this connection has not already been cleared down previously by administration.

If no connection is established between partners configured with automatic connection setup (when an application is started or when an administration function requests a connection), UTM attempts to establish a new connection, or to re-establish the connection at the intervals specified in CONRTIME.

If CONRTIME=0, UTM makes no attempt to re-establish a connection.

Maximum value: 32767 
Minimum value: 0

DATA-COMPRESSION



Enables or disables data compression. Any modification applies beyond the end of an application.

The UTM pages saved per compression can be queried by means of KDCINF STAT command (see section "type=STATISTICS" in chapter "Output from KDCINF (examples)"), the program interface (see chapter "kc_curr_par_str - Current values of the application parameters"), or WinAdmin/WebAdmin.

In UTM cluster applications, the operand applies globally in the cluster.


ON

Switches data compression on.
Data compression can be enabled using administration facilities only if it is permitted by means of generation (see openUTM manual “Generating Applications”, KDCDEF statement MAX DATA-COMPRESSION=).


OFF

Switches data compression off.

MAXASYN=number_tasks



Specifies the maximum number of processes in the application that are allowed to accept jobs for asynchronous transaction codes at the same time (see KC_MODIFY_OBJECT, obj_type=KC_TASKS_PAR as of chapter "obj_type=KC_MAX_PAR", mod_max_asyntasks parameter).

In UTM cluster applications, the operand applies locally in the node.

MAX-CONN-USERS=number_users



Defines the maximum number of users who can have connections to a UTM application at the same time. This restriction enables you to prevent your application from becoming overloaded.

In UTM cluster applications, the operand applies locally in the node.

openUTM checks the number of active users when another user signs on, and rejects the connection attempt if the number of users defined in number_users are already signed on. This restriction does not apply to user IDs with administration privileges.

If, at the time of your KDCAPPL call, more than number_users users are working on the system, none of these users are forced to quit their application. However, no further connections will be permitted until the number of connected users falls to less than number_users.

If an application has been generated without user IDs, number_users restricts the number of dialog partners who can be connected to the application simultaneously. If a number is specified for number_users which is greater than the number of generated dialog LTERM partners, number_users has no effect. Dialog LTERM partners are all the LTERM partners generated with USAGE=D, LTERM partners of the LTERM pools and - with BS2000 - the LTERM partners UTM generates internally for multiplex connections.

number_users = 0 means that there is no restriction on the number of users or dialog partners working on the system.

Maximum value:

  • BS2000 systems: 500000

  • Unix, Linux and Windows systems: The value that was specified in the KDCDEF statement MAX CONN-USERS

Minimum value: 0 (no restriction).

PGWTTIME=wait_time_sec



Changes the maximum time in seconds defined during generation for which a program unit can wait for messages to arrive after a blocking function call; it also displays the currently set value for this wait time. The wait time is generated in the KDCDEF statement MAX with the operand PGWTTIME. Blocking function calls are calls where control is not returned until a response has been received by the program unit (e.g. the KDCS call PGWT).

In UTM cluster applications, the operand applies globally in the cluster.

During this wait time, a process in the UTM application is reserved exclusively for this program unit.

Maximum value: 32767
Minimum value: 60

PROGRAM=



Exchanges the entire application program during live operation (see the corresponding openUTM manual “Using UTM Applications”).

Requirements for exchanging a program using KDCAPPL PROGRAM=

  • In the new application program, none of the earlier program units must be missing. UTM will terminate with errors (PEND ER) any jobs accepted for a transaction code for which no program unit exists after the program has been exchanged.

  • You should not initiate a program exchange until all previously entered UTM administration calls have been duly processed.
    In particular, a program exchange should not be initiated until any program exchange already initiated has been fully processed, i.e. until the program exchange is complete for all processes in the application.

  • On BS2000 systems, a prerequisite for program exchange is that the application must have been generated with at least one LOAD-MODULE statement.

  • In order to be able to exchange a UTM application program on Unix, Linux or Windows systems while the system is running, the various versions of the application program (including the currently loaded program) should be administered in the file generation directory PROG using the UTM tool KDCPROG. The file generation directory must have been created with KDCPROG and it must be in the filebase directory of your application. You can use PROG=OLD or NEW to switch to the previous or next file generation.
    Program exchange is described in the openUTM manual “Using UTM Applications on Unix, Linux and Windows Systems”

In UTM cluster applications, the operand applies globally in the cluster for all the node applications that are currently running.

Other KDCAPPL operands have no effect in conjunction with PROGRAM. KDCAPPL PROGRAM= is rejected if a program is being exchanged at the time this call is submitted.

Only the values NEW and SAME are allowed on BS2000 systems. Both values have the same effect.


NEW

The entire application program is to be exchanged.

BS2000 systems

KDCAPPL PROGRAM=NEW is not permitted if the application has been started in interactive mode.

In a UTM application on a BS2000 system the application program is unloaded in all processes and then re-loaded. When this is done, the current versions of the load modules are loaded. If a load module is generated with *HIGHEST-EXISTING, then the highest version of the load module existing in the library is loaded.

Program units in common memory pools are also exchanged at the same time. The version of load modules to be loaded during a program exchange must be declared in advance with KDCPROG. Before the program is exchanged, several such load modules in the common memory pool can be earmarked for exchange by several KDCPROG calls.

In a standalone UTM application, it is possible to mark multiple load modules in the Common Memory Pool for exchange by means of multiple KDCPROG calls prior to exchange.

Termination of the application program followed by a reboot also causes all load modules generated with load mode ONCALL to be unloaded from the application.

This means that static parts of the application can also be exchanged when the application is linked before.

In a UTM cluster application, application program exchange is initiated automatically as soon as the version of a load module in a Common Memory Pool is modified (via KDCPROG).

Unix, Linux and Windows systems

In a UTM application on Unix, Linux and Windows systems, openUTM loads the application program from the next highest file generation present in the file generation directory filebase/PROG (Unix and Linux systems) or filebasePROG (Windows systems) if the UTM tool KDCPROG is used to administer the different versions of the application program (including the one that is currently loaded) in the PROG file generation directory.
If you have not created a file generation directory, then KDCAPPL PROG=NEW reloads the application program (utmwork) that is located in the base directory filebase.


SAME

On Unix, Linux and Windows systems, openUTM loads the application program from the same file generation as is located in the file generation directory filebase/PROG (Unix and Linux systems) or filebase\PROG (Windows systems) if the different versions of the application program (including the currently loaded program) are administered using the UTM tool KDCPROG in the PROG file generation directory.

If you have not created a file generation directory, then KDCAPPL PROG=SAME reloads the application program (utmwork) that is located in the base directory filebase.

On BS2000 systems, SAME has the same effect as NEW.


OLD

(Only on Unix, Linux and Windows systems)
openUTM loads the application program from the next lowest file generation present in the file generation directory filebase/PROG (Unix and Linux systems) or filebasePROG (Windows systems) if the UTM tool KDCPROG is used to administer the different versions of the application program (including the one that is currently loaded) in the PROG file generation directory.
This means, for example, that you can switch back to the original application program if errors are detected during operation with the new application program.
If you have not created a file generation directory, then KDCAPPL PROG=OLD reloads the application program (utmwork) that is located in the base directory filebase.

openUTM will not accept a new program exchange until the exchange has been completed for all the processes.

If errors occur in the first process when the new application program is started then openUTM issues the message K075 and loads the original application program again.

When the exchange of the application program has been terminated for all the processes, openUTM issues message K074.

On Unix, Linux and Windows systems, you can query the generation of the currently loaded application program, for example with KDCINF SYSP.

PTCTIME=wait_time_sec



Only for applications with distributed processing: 
wait_time_sec is the maximum time in seconds which a local job-receiving service can wait for confirmation from the job-submitting service in PTC mode (prepare to commit, transaction status P). After this period has elapsed, the connection to the job submitter is shut down, the transaction is rolled back in the local job-receiving service and the service is terminated. This occasionally gives rise to a mismatch.

If KDCSHUT WARN or GRACE has already been issued for the application and the value of PTCTIME is not 0, then the waiting time is chosen independently of PTCTIME in such a way that the transaction is rolled back before the application is terminated in order to avoid abnormal termination of the application with ENDPET, if possible.

In UTM cluster applications, the operand applies globally in the cluster.

The value 0 indicates that the system can wait for an unrestricted length of time for a confirmation.

Maximum value: 32767 
Minimum value: 0

RESWAIT-PR=wait_time_sec



The maximum time in seconds that one process can wait for resources that are being used by another process. If this period of time is exceeded, the application terminates with an error message.

In UTM cluster applications, the operand applies globally in the cluster .

If you specify RESWAIT-PR, please note that the value for wait_time_sec must be at least as long as the longest processing time (real time) required for the following cases:

  • In the case of transport system applications that are not SOCKET applications (clients with PTYPE=APPLI), the resources can remain locked for the duration of one processing step, including the VORGANG exit at the start and/or end of the process.

  • At the end of the process, the resources are locked until the VORGANG exit program stops running.

Maximum value: 32767 
Minimum value: 300

RESWAIT-TA=wait_time_sec



Maximum time in seconds for which a program unit is to wait for a resource that is being used by another transaction: GSSBs, ULSs, TLSs. 
If the resource does not become available after this time has elapsed, the an appropriate KCRCCC return code is sent to the application program.

In UTM cluster applications, the operand applies globally in the cluster.

The wait time specified in wait_time_sec is meaningless if the lock is effected by a multi-step transaction which is waiting for an input message after a PEND KP or a PGWT KP call. In this event, all program units with access to the locked resource immediately receive a KCRCCC return code (without wait time wait_time_sec).

RESWAIT-TA= 0 indicates that the process is not to wait. Any program unit run which attempts to access the locked resource immediately receives a KCRCCC return code. The real wait time depends on the precision with which the information exchange wait times are set in the operating system.

Maximum value: 32767 
Minimum value: 0

SPOOLOUT=ON



Causes UTM to establish a connection to all printers for which messages exist at the time of the call and which are not yet connected to the application. This enables you to output all messages to those printers to which it is possible to establish a connection (e.g. before terminating the application).

In UTM cluster applications, the operand applies locally in the node.

SYSPROT=NEW



The log files of the application are switched over.

In UTM cluster applications, the operand applies globally in the cluster for all the node applications that are currently running. The names of the new log files are formed as follows:

BS2000 systems:

SYSOUT: prefix.O.YYMMDD.HHMMSS.TSN 
SYSLST: prefix.L.YYMMDD.HHMMSS.TSN

Only SYSLST is switched over if the application is started interactively.

prefix

Prefix which you entered for the start parameter SYSPROT when the UTM application was started (see openUTM manual “Using UTM Applications on BS2000 Systems”).

Default value in standalone UTM applications:
Name of the application as defined in MAX APPLINAME during KDCDEF generation.

Default value in UTM cluster applications:
Name of the application defined in MAX APPLINAME during the KDCDEF generation, followed by a dot and the computer name from the CLUSTER-NODE statement for the relevant node.

YYMMDD


Date at which the file was switched over.

HHMMSS


Time at which the file was switched over.

TSN

TSN of the task

Unix, Linux and Windows systems:

stdout: prefix.out.YY-MM-DD.HHMMSS 
stderr: prefix.err.YY-MM-DD.HHMMSS

prefix

The prefix you specified for the start parameter SYSPROT when starting the UTM application (see openUTM manual “Using UTM Applications on Unix, Linux and Windows Systems”).

Default: utmp

YY-MM-DD


Date at which the file was switched over.

HHMMSS


Time at which the file was switched over.

TASKS=number_tasks



Specifies the current number of processes in the application. UTM switches processes on or off accordingly (see KC_MODIFY_OBJECT, obj_type=KC_TASKS_PAR as of chapter "obj_type=KC_MAX_PAR"mod_max_tasks parameter).

In UTM cluster applications, the operand applies locally in the node.

Maximum value: 
The maximum value for TASKS defined during generation (KDCDEF control statement MAX...,TASKS=...)

Minimum value:

  • If MAX TASKS-IN-PGWT=0: 1

  • If MAX TASKS-IN-PGWT>0:
    TASKS WAITING IN PGWT +1, but at least 2
    (TASKS WAITING IN PGWT can be queried with KDCINF SYSP).

A certain amount of time is required for starting and terminating the UTM processes. After entering KDCAPPL TASKS= you should therefore first wait for the result of the call, then use KDCINF SYSPARM to check it before issuing any more KDCAPPL TASKS= calls. Failure to do so can lead to start errors.

TASKS-IN-PGWT=number_tasks



Defines the number of processes in the UTM application that are allowed to process program units in which blocking calls (e.g. the KDCS call PGWT) are permitted (see KC_MODIFY_OBJECT, obj_type=KC_TASKS_PAR as of  chapter "obj_type=KC_MAX_PAR", mod_max_tasks_in_pgwt parameter).

In UTM cluster applications, the operand applies locally in the node.

The command is rejected if you enter TASKS-IN-PGWT=0, although MAX TASKS-IN-PGWT >0 was generated.

TERMWAIT=wait_time_sec



Maximum time in seconds allowed to elapse in a multi-step transaction (i.e. in the PEND KP program) between output to a dialog partner (terminal, UPIC client, TS application or job-submitting service in a partner application) and the ensuing dialog response. If this time exceeds wait_time_sec the transaction is rolled back. The connection to the dialog partner is shut down.

In UTM cluster applications, the operand applies globally in the cluster.

Maximum value: 32767
Minimum value: 60

SM2=



Switches the data supply to openSM2 on and off. It is only possible to supply data to openSM2 if the generation parameters permit openSM2 event logging to be switched on (KDCDEF statement MAX, operand SM2=ON or OFF). If SM2=NO is generated, the administrator will not be able to switch on the data supply to openSM2.

The following applies in UTM cluster applications:
The operand applies globally to the cluster. If a node application is started with a new generation then the value from the new generation applies for this node application as well as for all other newly starting node applications.


ON

openUTM supplies data to openSM2.


OFF

openUTM does not supply data to openSM2.

Output from KDCAPPL

The new and old values of the parameter are always displayed (with the exception of KDCAPPL PROG=).

                       NEW     OLD
TERMWAIT               ...     ...
RESWAIT-PR             ...     ...
RESWAIT-TA             ...     ...
CONRTIME               ...     ...
CURR TASKS             ...     ...
MAXASYN                ...     ...
TASKS-IN-PGWT          ...     ...
CACHE                  ...     ...
ACCOUNT                ...     ...
CALC                   ...     ...
SM2                    ...     ...
MAX-CONN-USERS         ...     ...
PGWTTIME               ...     ...
CONCTIME               ...     ... (1.)
PTCTIME                ...     ... (1.)
PROGRAM FGG            ...     ... (2.)
  1. The lines for PTCTIME and CONCTIME are only output via LU6.1 or OSI TP for an application with distributed processing.

  2. The line for PROGRAM FGG is only output if in a UTM application on a Unix, Linux or Windows system the entire application program is to be exchanged by means of KDCPROG. In such cases, the new generation number of the application program is output under NEW and the old generation number is output under OLD. Once all the processes in the program have been exchanged, UTM issues message K074.