Correct operation of the Adabas Transaction Manager and the Adabas Transaction Manager proxy depends on the settings of job parameters. These are defined and maintained using Online Services. Their settings determine the logic to be used by the proxy during transaction processing. These settings should be determined according to production system requirements, and should be tested before being used in production.
At execution time, the Adabas Transaction Manager proxy checks the Adabas System Coordinator system file for job parameters that match the name of the currently executing job. If no exact match is found, a wild-card match is attempted. Failing this, the parameters for job name DEFAULT will be returned. If there is no definition under the name DEFAULT, hard-coded default values in the Adabas Transaction Manager kernel will be used, and console messages will be issued to indicate their values.
It is therefore important to set appropriate values for each job that could load and execute the Adabas Transaction Manager proxy.
Note:
The LGRECNO
parameter setting
requires particular attention. This parameter setting determines the amount of
memory, per user, that is allocated for logging diagnostic information. In a TP
system that services many users, an LGRECNO
parameter
setting of 100, for example, could quickly consume a large amount of memory. In
such systems, choose a small value for the LGRECNO
setting. See the section User
Sessions for more information.
This section describes each ATM job parameter:
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
ATM |
Job |
Indicates whether or not ATM is to provide transaction coordination for this job. |
ON | OFF | ON |
Possible values:
Value | Description |
---|---|
ON | Users will perform distributed transaction processing, and ATM is to provide transaction coordination. |
OFF | ATM is not to be used for coordinating transactions for users in this job. |
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
CORGROUP |
Job |
Identifies the System Coordinator group in which the job or TP system will execute. |
Any valid System Coordinator group name | A valid group name must be provided |
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
GENOP |
Job | Indicates whether or not the ATM 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 proxy will not generate
OP commands on behalf of users.
|
YES | Whenever a user session uses a new database for
which no OP command has been issued, the ATM proxy
will issue an OP command on behalf of the
user.
|
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
HSTSYNC |
Job | Indicates whether or not transactions in this client environment are to be controlled by the host system native transaction manager. | YES | NO | NO |
Possible values:
Value | Description |
---|---|
YES | Transactions in this client environment are to be controlled by the host system native transaction manager. |
NO | Transactions in this client environment are not to be controlled by the host system native transaction manager. |
Note:
This parameter is currently supported only for single-user,
single-TCB batch jobs or TSO sessions, and for IMS/TM systems, running under
z/OS or OS/390.
Note:
The parameters HSTSYNC=YES
and
LCLSYNC=YES
are mutually exclusive.
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
LCLSYNC |
Job | Indicates whether or not transactions in this client environment are to be controlled by the environment native syncpoint manager. | YES | NO | NO |
Possible values:
Value | Description |
---|---|
YES | Transactions in this client environment are to be controlled by the environment native syncpoint manager. |
NO | Transactions in this client environment are not to be controlled by the environment native syncpoint manager. |
Note:
CICS under z/OS, OS/390 or VSE/ESA is the only client environment
for which this parameter is currently supported.
Note:
The parameters LCLSYNC=YES
and
HSTSYNC=YES
are mutually exclusive. However,
LCLSYNC=NO
does not preclude the use of RRMS as an
external transaction coordinator for other jobs, since RRMS interfaces directly
with the ATM daemon and not with the ATM proxy.
When defining a parameter module for a CICS/RMI environment:
LCLSYNC=NO
means that ATM coordinates
transactions in the normal way, but not under the control of the CICS Syncpoint
Manager. That is, even when the RMI is enabled, no transaction coordination
occurs between Adabas and other RMI-enabled resource managers.
LCLSYNC=YES
activates the RMI so that the CICS
Syncpoint Manager coordinates transactions across all resource managers.
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
LGRECNO
|
Job | Indicates whether or not internal logging is to be performed, and if so, how much space, per user, will be used for this purpose. | 0-4096 | 0 |
The ATM proxy is capable of logging internal events for diagnostic purposes. The log buffer area is reused cyclically.
If necessary, Software AG support can provide assistance regarding analysis of the contents of a user’s proxy log buffer.
Possible values:
Value | Description |
---|---|
0 | The proxy will not acquire log buffer areas and will not log internal events. |
1-4096 | The number of entries to be reserved for internal event logging. Each entry requires 96 bytes. |
Note:
Do not specify a high value for a TP system that services a large
number of users since this may result in memory becoming exhausted.
The LGRECNO
parameter has no effect on the
logging that takes place in the ATM daemon address space. Logging by the ATM
daemon is controlled by the ADARUN parameter TMLOG
.
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
MAXDB |
Job | Sets the maximum number of databases with which a user can have an active session at one time. | number | 4 |
The MAXDB
setting includes all databases without
regard to the DTP parameter setting.
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
SERIAL |
Job | Indicates whether or not the ATM proxy is to
switch a user from DTP to serial ET/BT mode if the
local ATM daemon becomes unavailable.
|
YES | NO | FORCE | FORCE |
Possible values:
Value | Description |
---|---|
YES | The ATM proxy is to switch a user from DTP to
serial ET/BT mode if the local ATM daemon becomes
unavailable. A response code will be returned to indicate that the local ATM
daemon is unavailable.
|
NO | The ATM proxy is not to switch a user from DTP
to serial ET/BT mode if the local ATM daemon becomes
unavailable.
|
FORCE | A user is to be switched to serial mode if necessary. No notification is provided. |
For more information regarding DTP and Serial mode processing, refer to the section Processing Modes.
Note:
If ATM automatically switches a user to serial
ET/BT
mode when the user has a transaction open, the
user might receive unexpected response codes, even if the job parameter value
for serial processing is set to FORCE. For example, the transaction might be
backed out, and response 9 returned to the user. Other response codes, such as
response 240 subcode 88, might be given, depending on how far the transaction
had progressed, and there is a possibility that the transaction will remain
unresolved until the ATM daemon is once again able to carry out its
responsibilities. Even so, the setting of value FORCE will ensure minimum
disruption when a switch to serial ET/BT
mode is
necessary, and will probably allow most users to continue processing without
noticing the switch.
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
SVC |
Job | Sets the number of the Adabas SVC used by the ATM daemon that is local to users executing under these job parameters. | number | 249 |
The SYNCMODE
parameter has been replaced by the
TRANMODE
parameter.
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
SYNCONBT
|
Job | Indicates whether or not a
BT command should cause ATM to request a rollback
syncpoint from the external transaction coordinator.
|
YES | NO | YES |
Possible values:
Value | Description |
---|---|
YES | Any BT command will
cause ATM to request a rollback syncpoint from the external transaction
coordinator that controls the current transaction. If there is no external
transaction coordinator in use, this parameter setting is ignored.
|
NO | ATM will not request a rollback syncpoint from
any external coordinator when it processes a BT
command. Furthermore, if ATM itself decides that a backout must be performed,
it will not request a rollback from any external coordinator.
|
Regardless of the SYNCONBT
parameter setting, a
BT
command causes all Adabas changes to be backed
out.
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
SYNCONCL |
Job | Indicates whether or not a
CL command should cause ATM to request a commit
syncpoint from the external transaction coordinator.
|
YES | NO | YES |
Possible values:
Value | Description |
---|---|
YES | Any CL command will
cause ATM to request a commit syncpoint from the external transaction
coordinator that controls the current transaction. If there is no external
transaction coordinator in use, this parameter setting is ignored.
|
NO | ATM will not request a commit syncpoint from any
external coordinator when it processes a CL command.
|
For IMS/TM systems for which the parameter setting
HSTSYNC=YES
is specified, the parameter setting
SYNCONCL=YES
will be ignored, and the parameter setting
SYNCONCL=NO
will take effect.
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
SYNCONET |
Job | Indicates whether or not an
ET command should cause ATM to request a commit
syncpoint from the external transaction coordinator.
|
YES | NO | YES |
Possible values:
Value | Description |
---|---|
YES | Any ET command will
cause ATM to request a commit syncpoint from the external transaction
coordinator that controls the current transaction. If there is no external
transaction coordinator in use, this parameter setting is ignored.
|
NO | ATM will not request a commit syncpoint from any
external coordinator when it processes an ET
command.
|
Regardless of the SYNCONET
parameter
setting, an ET
command causes any pending Adabas
changes to be committed.
For IMS/TM systems for which the parameter setting
HSTSYNC=YES
is specified, the parameter setting
SYNCONET=YES
will be ignored, and the parameter setting
SYNCONET=NO
will take effect.
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
TRANMODE |
Job | Transaction model | MESSAGE | DYNAMIC | MESSAGE |
Possible values:
Value | Description |
---|---|
MESSAGE | The message-based transaction model will be
used. According to this model, a syncpoint always takes place when processing
of a message is complete (normally, this means that screen I/O causes a
syncpoint). Syncpoints caused by ET,BT,OP and
CL commands are handled in the normal way.
Unsolicited syncpoints cause ATM to commit (or back out) changes made to Adabas
databases, and release held ISNs.
|
DYNAMIC | The dynamic transaction model will be used.
According to this model, transactions are delimited by Adabas commands.
Unsolicited commit syncpoints are ignored by ATM; ET
and CL commands cause ATM to commit pending Adabas
changes. Unsolicited rollback syncpoints cause ATM to back out changes from
Adabas databases and release held ISNs.
|
Note:
The setting TRANMODE=MESSAGE
is equivalent to
the setting SYNCMODE=FULL
with ATM version 1.2.
Note:
The setting TRANMODE=DYNAMIC
is equivalent to
the setting SYNCMODE=ADABAS
with ATM version 1.2.
Note:
There is no TRANMODE
setting equivalent to
the setting SYNCMODE=ALL
with ATM version 1.2. The
reason is that there is no distinction between the settings
SYNCMODE=ALL
and SYNCMODE=FULL
with ATM version 7.4, since ATM will always cause held ISNs to be released when
a syncpoint takes place, unless directed to do otherwise by command options and
the XH
parameter.
For more information, see also the section Syncpoint Processing Options.
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
TRNCTL |
Job | Determines the action to be taken whenever an unsolicited syncpoint request is received. | GLOBAL | LOCAL | LOCAL |
The TRNCTL
setting determines what action is to
be taken whenever an unsolicited syncpoint request is received, that is,
whether a decision to commit or back out a global transaction is to be made by
the application program itself using its local ATM proxy, or by a software
component other than ATM or ATM proxy.
Unsolicited syncpoint requests can occur if:
The parameter setting LCLSYNC=YES
is specified
and ATM could receive a request to commit or back out a global transaction
other than through an ET
or
BT
command; or
the ATM daemon executes with the parameter setting
TMSYNCMGR=RRMS
; or
an application could cause a participating trigger to execute,
causing an ET
command to be issued, all without the
knowledge of the user’s local ATM proxy.
Possible values for the TRNCTL
setting are:
Value | Description |
---|---|
LOCAL: |
Decision to commit or back out a global transaction is to be made by the application program itself using its local ATM proxy. If unsolicited syncpoints are not valid in your environment,
specify |
GLOBAL |
Decision to commit or back out a global transaction can be made by
a software component other than ATM or ATM proxy.
Note: |
When running with the parameter setting
LCLSYNC=YES
in a CICS/RMI environment, a decision to
commit or back out a global transaction can occur in several ways:
the application program issues ET
or
BT
;
the application program issues EXEC CICS
SYNCPOINT
(or SYNCPOINT ROLLBACK
);
the CICS task terminates, normally or abnormally, when updates are pending.
In the first case, the ATM proxy is aware of the syncpoint decision.
In all other cases, from the proxy’s point of view, the syncpoint is unsolicited. If the user is at global transaction status, an unsolicited syncpoint has no effect on Adabas databases, other than to cause held ISNs to be released. On the other hand, if an unsolicited syncpoint occurs when Adabas changes are pending, ATM is instructed to commit the changes; in this case also, held ISNs are released.
If such unsolicited syncpoints are acceptable in your CICS system,
specify TRNCTL=GLOBAL
. Otherwise, specify
TRNCTL=LOCAL
to treat unsolicited syncpoint requests as
errors.
Most CICS applications run in pseudo-conversational mode; that is, the
current CICS task terminates when a screen I/O occurs. If ATM CICS/RMI is
installed and active, and the job parameter
TRANMODE=MESSAGE
is in effect, an application that runs
in pseudo-conversational mode cannot keep an Adabas transaction open across
screen I/Os because an implied (unsolicited) commit syncpoint occurs at every
screen I/O. In this mode, it is not possible for a transaction to remain open
across screen I/Os. See the TRANMODE
parameter for
details of a different way of responding to unsolicited syncpoints.
If TRNCTL=LOCAL
is specified and the syncpoint
resulted in Adabas changes being committed, the next Adabas call following a
screen I/O returns response code 243.
Various Natural features including some SYSSEC functions maintain open
Adabas transactions across screen I/Os. In a CICS/RMI environment operating
with the job parameter TRANMODE=MESSAGE
, such functions
are likely to
fail with a NAT3243 error when TRNCTL=LOCAL
;
or
be unable to back out in case of errors when
TRNCTL=GLOBAL
; or
fail with response code 144.
You should therefore execute Natural system functions in one of the following ways:
execute Natural system functions in a system other than CICS, or in a CICS system using a link module in which the RMI is not active; or
execute Natural system functions in a CICS system that operates with
the job parameter TRANMODE=DYNAMIC
; or
execute Natural system functions in conversational mode when using the CICS Resource Manager Interface.
When ATM’s RRMS interface is active, a decision to commit or back out a global transaction can occur in several ways:
the application program issues ET
or
BT
;
the application program issues SRRCMIT
or
SRRBACK
;
the application or some other agent issues
ATRCMIT
or ATRBACK
.
In the first case, the TM proxy is aware of the syncpoint decision. In other cases, from ATM’s point of view, the syncpoint is unsolicited. If the user is at global transaction status, an unsolicited syncpoint has no effect on Adabas databases, other than to cause held ISNs to be released. On the other hand, if an unsolicited syncpoint occurs when Adabas changes are pending, ATM is instructed to commit the changes; in this case, also, held ISNs will be released.
If unsolicited syncpoints are acceptable in your system, specify
TRNCTL=GLOBAL
. Otherwise, specify
TRNCTL=LOCAL
to treat unsolicited syncpoint requests as
errors. If TRNCTL=LOCAL
and an unsolicited syncpoint
causes a user’s Adabas changes to be committed, the next Adabas call issued by
the user returns response code 243.
If ATM runs with TMSYNCMGR=RRMS
, and
HSTSYNC=YES
is specified for IMS/TM systems whose
transactions are coordinated by RRMS, TRNCTL=GLOBAL
must
also be specified for these IMS systems.
Parameter | Parameter Type | Use | Possible Values | Default |
---|---|---|---|---|
XH |
Job | Indicates whether P and M options on
ET and BT commands will
be honored.
|
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 XH
parameter setting.
For more information on extended hold processing, see Extended Hold Processing in section Termination Commands: ET and BT.