Previous Topic: Sharing Transactions Among SessionsNext Topic: Concurrency Control and Isolation Levels


Effect of Teleprocessing Statements and Events

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:

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.