Effect of Task-level DML Statements and Events
In a batch or DC/UCF environment, task-level commit and rollback statements and task-termination events affect the status of database transactions and SQL sessions, as the following table shows. Their effect on a subordinate SQL session is the same as their effect on its encompassing session.
Statement |
Effect on Top-level SQL Sessions |
Effect on Top-level Database Sessions |
---|---|---|
COMMIT TASK |
Equivalent to issuing a COMMIT CONTINUE on all nonsuspended SQL sessions |
Commits changes made through all transactions except nonshareable transactions whose session is suspended. |
COMMIT TASK ALL |
Equivalent to issuing a COMMIT on all nonsuspended SQL sessions. |
Commits changes made through all transactions except nonshareable transactions whose session is suspended. |
FINISH TASK |
Equivalent to issuing a COMMIT RELEASE on all nonsuspended SQL sessions |
Commits changes made through all transactions except nonshareable transactions whose session is suspended. |
ROLLBACK TASK CONTINUE |
Equivalent to issuing a ROLLBACK on all nonsuspended SQL sessions. All suspended sessions whose shareable transaction is rolled back are marked as requiring rollback. |
Rolls back changes made through all transactions except nonshareable transactions whose session is suspended. |
ROLLBACK TASK |
Equivalent to issuing a ROLLBACK RELEASE on all nonsuspended SQL sessions. All suspended sessions whose shareable transaction is rolled back are marked as requiring rollback. |
Rolls back changes made through all transactions except nonshareable transactions whose session is suspended. |
Normal task termination |
Equivalent to issuing a ROLLBACK RELEASE on all nonsuspended SQL sessions. All suspended sessions whose shareable transaction is rolled back are marked as requiring rollback. |
Rolls back changes made through all transactions except those for which all associated sessions are suspended. |
Abnormal Task Termination Signoff CA ADS Application Error Termination |
Equivalent to issuing a ROLLBACK RELEASE on all SQL sessions |
Rolls back updates made by all transactions associated with the task or user session. |
A task-level commit or rollback statement has no affect on transactions whose database sessions are suspended and for which transaction sharing is not in effect.
CICS Syncpoint and Backout Operations
The effect of a CICS syncpoint or backout operation on an SQL session depends on the parameters used to generate the version of the IDMSCINT interface module with which the program was link-edited and the CICSOPT parameters used to generate its corresponding IDMSINTC interface module.
The options in effect for a program that starts an SQL session determine how that session and its transaction are impacted by CICS syncpoint and backout operations. The parameters that impact their semantics are:
If AUTONLY is not enabled but AUTOCMT is, the work done by the database session is included in the CICS UOW only if the application does not issue commit or rollback DML requests prior to the CICS syncpoint operation.
Enabling AUTONLY without AUTOCMT has no impact on syncpoint operations.
Note: If transaction sharing is enabled, AUTONLY and AUTOCMT are always enabled.
All of these options can be specified through both IDMSCINT and CICSOPT parameters. The CICSOPT parameters can either override their IDMSCINT counterparts or be used as a default.
Note: For more information about these parameters, see the CA IDMS System Operations Guide.
A CICS syncpoint operation occurs when a CICS SYNCPOINT statement is executed by the application and when the CICS task terminates normally. A CICS backout operation occurs when a CICS BACKOUT statement is executed by the application and when the CICS task terminates abnormally.
The following table summarizes the impact of CICS syncpoint and backout operations and task-termination events on SQL sessions and their transactions.
Operation or Event |
Effect |
---|---|
SYNCPOINT Operation |
If AUTOCMT is not in effect for a session, the SYNCPOINT operation has no impact on the session and its transaction. If AUTOCMT is in effect for a session, the uncommitted changes made by the session are committed. The impact on the session is determined by the session's ONCOMT option. |
BACKOUT Operation |
If AUTOCMT is not in effect for a session, the BACKOUT operation has no impact on the session and its transaction. If AUTOCMT is in effect for a session, the uncommitted changes made by the session are backed out. The impact on the session is determined by the session's ONBACK option. |
Normal CICS Task Termination |
All nonsuspended SQL sessions are treated as if a ROLLBACK RELEASE were issued (although their changes may have been committed by the preceding syncpoint operation). Their uncommitted changes are backed out. |
Abnormal CICS Task Termination |
All SQL sessions are treated as if a ROLLBACK RELEASE were issued. Their uncommitted changes are backed out. |
Effect of Task-level DML Statements in CICS
In a CICS environment, task-level commit and rollback statements have the same effect on sessions as in a DC/UCF environment. However, a task-level commit request (COMMIT TASK, COMMIT TASK ALL, or FINISH task) does not commit the work done by sessions whose AUTONLY and AUTOCMT options are enabled.
Just as in a DC/UCF environment, a task-level rollback request (ROLLBACK TASK or ROLLBACK TASK CONTINUE) affects all transactions except nonshareable transactions whose session is suspended.
Copyright © 2013 CA.
All rights reserved.
|
|