Client Runtime Controls

Correct operation of Adabas Transaction Manager depends on the settings of client runtime controls. These are defined and maintained using Online Services. Their settings determine the logic to be used by the ATM Client proxy during transaction processing. These settings should be determined according to production system requirements, and should be tested before being used in production.


Descriptions of Client Runtime Controls

This section describes each TM runtime control:

Client Runtime Controls Overridable
TM ON/OFF: Activate TM Processing Y
System Coordinator Group Name -
Maximum Number of Databases -
Continuous operation mode Y
Coordinate Adabas DBs Outside the Group Y
ET data storage location Y
Generate OP Commands Y
Extended Hold Y
Distributed transaction timeout Y
Adabas transaction dynamics Y
Open distributed transaction support Y
Transaction control by other vendors Y
Transaction control by ET Y
Transaction control by BT Y
Transaction control by CL Y

TM ON/OFF: Activate TM Processing

Parameter Type Use Possible Values Default
Client runtime

Indicates whether or not TM is to provide transaction coordination for this client session.

ON | OFF OFF

Possible values:

Value Description
ON Users will perform distributed transaction processing, and TM is to provide transaction coordination.
OFF TM is not to be used for coordinating transactions for users in this client session.

System Coordinator Group Name

Parameter Type Use Possible Values Default
Client runtime

Identifies the Adabas System Coordinator group in which the client session or TP system will execute.

Any valid Adabas System Coordinator group name A valid group name must be provided

Maximum Number of Databases

Parameter Type Use Possible Values Default
Client runtime Sets the maximum number of databases with which a client session can have an active session at one time. number 4

The setting should include all databases without regard to their DTP parameter settings.

Continuous operation mode

Parameter Type Use Possible Values Default
Client runtime Indicates whether client sessions are to tolerate transient outages of Adabas Transaction Manager services. YES | NO | FORCE FORCE

Possible values:

Value Description
YES One response code 240 sub-code 84 is issued for each client session that is affected; after that transactions are applied/undone with series of ET/BT commands. When the outage ends normal DTP mode automatically resumes.
NO Distributed transactions are not allowed during outages, all receive response code 240 sub-code 84.
FORCE Same as YES without the response code alert.

For more information refer to the section Processing Modes.

Note:
If a client session switches to use continuous operation when the session has a transaction open, the client might receive unexpected response codes. For example, the transaction might be backed out, and response 9 returned to the client. Other response codes, such as response code 240 sub-code 88, might be given, depending on how far the transaction had progressed, and there is a possibility that the transaction will remain unresolved until Adabas Transaction Manager is once again able to carry out its responsibilities. Even so, the setting of value FORCE will ensure minimum disruption and will probably allow most clients to continue processing without noticing the switch.

Coordinate Adabas DBs Outside the Group

From the viewpoint of a client session, an external database is a database that executes outside the scope of the session’s System Coordinator group. The session’s System Coordinator group is identified by the client control System Coordinator Group Name.

Parameter Type Use Possible Values Default
Client runtime Indicates the extent to which Adabas Transaction Manager will provide transaction coordination if the client session changes external databases. YES | RM | NO YES

Possible values:

Value Description
YES The client session is permitted to change external RMs and external non-RMs. Adabas Transaction Manager provides DTP coordination of external RMs using a 2-phase commit protocol. Serial ET/BT coordination is provided for external non-RMs.
RM The client session is permitted to change external RM databases, with DTP coordination provided by TM, as described above. If the client session attempts to change an external non-RM, the command will be rejected with response code 240 sub-code 544.
NO If the client session attempts to change an external RM or an external non-RM, the command will be rejected with response code 240 sub-code 544.

This feature can be used to make it easier to upgrade multi-system environments. Historically it has been difficult to perform software upgrades in sites that deploy Adabas Transaction Manager across several inter-connected systems. This client runtime control makes it possible to upgrade one system at a time. The upgrade can be achieved by creating a new System Coordinator group in one system, replacing the previous software levels. The new client control can then be used to instruct Adabas Transaction Manager to provide DTP coordination across the System Coordinator groups.

ET data storage location

Parameter Type Use Possible Values Default
Client runtime Overrides the TM control of the same name. TM | ADABAS | RM | NONE NONE

Possible values:

Value Description
TM ET data is always stored in and read from the TM recovery file, without regard to the database to which the command was issued.
  • ET data does not belong to one database;

  • There is one copy of a client’s ET data in a system;

  • Eliminates confusion resulting from the existence of different ET data in different databases under the same ETID;

  • Overrides the Natural ETDB parameter;

  • Should not be used if the client runtime control Continuous operation mode will be set to YES or FORCE for any client environment in which ET data is stored or read.

Note:
Do not use this option for clients operating in a multi-system dynamic transaction routing environment.

ADABAS ET data is always be stored in and read from the database to which the command was issued.
  • Treats ET data as belonging to a database or a local database transaction rather than to a distributed transaction;

  • A client can have several different ET data values in different databases at the same time;

  • 3GL application programs using ET data must have knowledge of the database that holds ET data for a given transaction;

  • Honors the Natural ETDB parameter.

RM

ET data is stored during the commit process in all changed databases that are running with DTP=RM.

ET data that is stored by an ET or CL command is always stored in the database to which the command was issued, whether or not that database runs with DTP=RM. If the database runs with DTP=NO, the ET data is written to the database only after any open distributed transaction has been committed.

ET data is always read from the database to which the command was issued.

  • Treats ET data as belonging to a database or a local database transaction rather than to a distributed transaction;

  • A client’s ET data might exist in several databases in a system;

  • A client can have several different ET data values in different databases at the same time;

  • 3GL application programs using ET data must have knowledge of the database that holds ET data for a given transaction;

  • Honors the Natural ETDB parameter.

NONE ET data location is determined by the TM control of the same name.

See also the section entitled ET data and ET identity processing in your Adabas Transaction Manager Programmers Guide documentation.

Generate OP Commands

Parameter Type Use Possible Values Default
Client runtime Indicates whether or not the ATM client proxy is to generate an OP command when a session uses a database without having issued an OP. NO | YES NO

Possible values:

Value Description
NO The ATM client proxy will not generate OP commands on behalf of clients.
YES Whenever a client session uses a new database for which no OP command has been issued, the ATM client proxy will issue an OP command on behalf of the client.

Extended Hold

Parameter Type Use Possible Values Default
Client runtime Indicates whether P and M options on ET and BT commands will be honored when a distributed transaction is terminated by a series of ET or BT commands. YES | NO NO

Possible values:

Value Description
YES P and M options on ET and BT commands will be honored. For any application environment in which prefetch or multifetch command options can be used, the setting YES should be used.
NO P and M options on ET and BT commands will not be honored.

If Adabas Vista is present in an application job or TP environment, the value YES will take effect, regardless of the setting specified for the ExtendedHold client control.

For more information on extended hold processing, see Extended Hold Processing.

Distributed transaction timeout

Parameter Type Use Possible Values Default
Client runtime Overrides the TM distributed transaction time limit. 0 - 16777215 0

When the limit is exceeded, the TM component backs out the transaction. The next time the client issues a transactional Adabas command, a response code 9 (ADARSP009) is returned; prior to that point pending response codes can be viewed online. Refer to Pending Response Codes in the Adabas Transaction Manager Programmers Guide.

Note:
It is strongly recommended this distributed transaction timeout setting is lower than the ADARUN TT settings for all Adabas that are to be involved in distributed transactions, otherwise unpredictable results can occur.

Use of this runtime control overrides the TM control value of the same name.

Adabas transaction dynamics

Parameter Type Use Possible Values Default
Client runtime Adabas transaction dynamics means it is possible for Adabas transactions to persist across TP message-pairs (tasks). This dynamic capability normally applies only when open transaction options are not being used. This is because this dynamic behavior is beyond the capability of other vendors in open transactions and indeed beyond the capability of most TP systems. However, the FORCED setting allows it to be used in special situations, usually only when specifically advised by Software AG.

Note:
The default FULL applies when not using open transaction options. The default TP applies when using open transactions.

TP | FULL | FORCED TP | FULL

Possible values:

Value Description
TP Adabas transactions within TP message-pairs are allowed, but any attempt by an Adabas transaction to persist across a TP message-pair will result in a response code 240 sub-code 596.

Note:
This value is the default value when the client runtime control "Open distributed transaction support" is YES.

FULL Adabas transactions are completely dynamic. This means they can take place within TP message-pairs and they can also persist across TP message-pairs.

Note:
This value is only applicable (and the default value) when the client runtime control "Open distributed transaction support" is NO.

FORCED Adabas transactions within TP message-pairs are allowed. Adabas transactions are also allowed to persist across a TP message-pair, but any counterpart in other vendor systems will not persist with them.

Note:
This value is only applicable when the client runtime control "Open distributed transaction support" is YES and should only be used when advised by Software AG.

Open distributed transaction support

Parameter Type Use Possible Values Default
Client runtime

Indicates whether or not transactions in this client environment are to interoperate with other open vendor transactions.

Only the following environments are able to operate in this way.

  • CICS
    The RMI feature of CICS (CICS syncpoint manager) must be configured and active in your CICS system.

    Note:
    All the following require
    1. z/OS only
    2. TMSYNCMGR=RRMS for TM
    3. RRMS must be active in z/OS

  • Batch
    Only standard single-threaded batch jobs are supported.

  • TSO

  • COM-PLETE

  • IMS TM

YES | NO NO

Possible values:

Value Description
YES Open distributed transaction management is enabled.
NO Distributed transaction management is only needed for Adabas.

Transaction control by other vendors

Parameter Type Use Possible Values Default
Client runtime Determines whether Adabas transaction control (apply, undo) from other vendors is tolerated. YES | NO NO

Possible values:

Value Description
YES Directives (events) from other vendors are allowed to apply or undo in-flight Adabas transactions.
NO Transaction control is restricted to the Adabas domain.

Note:
The rules of most open transaction environments mean that transaction control directives are unilateral. Therefore when a directive occurs it will have the intended effect but the next Adabas transaction will stimulate the alert that this has happened by issuing response 240 sub-code 243 so the application and/or configuration can then be examined and corrected for the future.

Transaction control by ET

Parameter Type Use Possible Values Default
Client runtime Indicates whether ET command is allowed to control the open transaction because some applications are written where open distributed transactions must only be controlled by other vendors leaving ET limited to Adabas only. YES | NO NO

Possible values:

Value Description
YES ET commands signal the open distributed transaction to be applied.
NO ET commands affect the Adabas domain only.

Transaction control by BT

Parameter Type Use Possible Values Default
Client runtime Indicates whether BT command is allowed to control the open transaction because some applications are written where open distributed transactions must only be controlled by other vendors leaving BT limited to Adabas only. YES | NO NO

Possible values:

Value Description
YES BT commands signal the open distributed transaction to be undone.
NO BT commands affect the Adabas domain only.

Transaction control by CL

Parameter Type Use Possible Values Default
Client runtime Indicates whether CL command is allowed to control the open transaction because some applications are written where open distributed transactions must only be controlled by other vendors leaving CL limited to Adabas only. YES | NO NO

Possible values:

Value Description
YES CL commands signal the open distributed transaction to be applied.
NO CL commands affect the Adabas domain only.