SYNCPOINT

Establishes a syncpoint.

Syntax

SYNCPOINT

Read syntax diagramSkip visual syntax diagramSYNCPOINTROLLBACK

Conditions: INVREQ, ROLLEDBACK

 

Description

Synchronization (sync) points divide a task, usually a long-running one, into smaller logical units of work (LUWs).

Each SYNCPOINT command establishes a syncpoint to mark the completion of an LUW and, unless the ROLLBACK option is specified, causes to be committed all changes to recoverable resources that have been made by the task since its last syncpoint. The point in the flow at which the syncpoint is made, is determined by the Syncpoint attribute that is in the Transaction Definitions (TD). If ROLLBACK is specified, all such changes are to be backed out to the last syncpoint.

Note: For information about long running function shipping transactions, see Application programming for function shipping. This describes the effects of using the EXEC CICS® SYNCPOINT command with these types of transactions.

Options

ROLLBACK
Specifies that all changes to recoverable resources that have been made by the task since its last syncpoint are to be backed out.

This option can be used, for example, to tidy up in a HANDLE ABEND routine, or to revoke database changes after the application program finds unrecoverable errors in its input data.

If the LUW updates remote recoverable resources, the ROLLBACK option is propagated to the backend transaction.

When a distributed transaction processing conversation is in use, the remote application program has the following EXEC Interface Block (EIB) fields set: EIBSYNRB, EIBERR, and EIBERRCD. For the conversation to continue, the remote application program should execute a SYNCPOINT ROLLBACK command.

When the function shipping mirror transaction is involved, the mirror honors the rollback request and revokes the changes.

Conditions

INVREQ
Occurs for the following condition, depending on the options that are specified on the SYNCPOINT command:
  • The SYNCPOINT command was issued from a remotely linked-to program, and that program has not specified LINK SYNCONRETURN (see LINK). See STARTCODE descriptions in ASSIGN CHANNEL and INQUIRE TASK.

    Default action: Terminates the task abnormally.

ROLLEDBACK
Occurs for the following conditions:
  • A SYNCPOINT command is driven into rollback by a remote system that cannot commit the syncpoint.
  • The local system cannot commit the syncpoint.

All changes that have been made to recoverable resources in the current LUW are backed out.

Default action: Terminates the task abnormally.