Syncpointing (LU 6.2)

Synchronization level 2 is supported on LU 6.2 links by CICS® on Open Systems and CICS/400. It is not supported by CICS Transaction Server for Windows. LU 6.2 sessions between CICS Transaction Server for Windows and CICS on System/390® are bound at synchronization level 1 (synclevel 1), which allows the exchange of private synchronization requests and responses, but not the use of CICS syncpointing commands. However, for function shipping, CICS has defined session-local protocols that allow limited use of syncpoint commands. The effects of this are:

CICS has defined session-local protocols for use when function shipping occurs at synclevel 1. The following examples describe the use of these protocols.

Function shipping from CICS on System/390 to CICS Transaction Server for Windows

A and B are two CICS on System/390 systems communicating with each other at synclevel 2 (SL 2 in the figure). B communicates at synclevel 1 (SL 1 in the figure) with three CICS Transaction Server for Windows systems, X, Y, and Z.

Figure 3. Synchronization between CICS on System/390 and CICS Transaction Server for Windows. CICS Transaction Server for Windows systems do not support synclevel 2 over LU 6.2 links.
Synchronization between CICS on System/390 and CICS Transaction Server for Windows

Provided there are no failures (transaction, session, or LU (either end of each link)) during the commit stage (while recoverable resource changes are being committed by each partner), data integrity is assured at either end of each link.

If there is a failure during the A-B commit stage, all resource updates can be backed out. However, if there is a failure during the commit stage on the B-X, B-Y, or B-Z sessions, the system requesting synchronization has no way of knowing if its partner has committed the changes to its resources.

The implications of this are best explained by an example.

Example

A transaction in B (defined with the INDOUBT(BACKOUT) attribute) is function shipping file update requests to A, X, Y, and Z. The function-shipping transaction requests synchronization by issuing an EXEC CICS RETURN command. CICS commits the changes on the synclevel 2 session (B-A) first, and then the changes on each synclevel 1 session in turn.

If a failure occurs during the B-A commit stage, the changes on all systems are rolled back. If a failure occurs during the commit stage on any of the synclevel 1 links (B-X, B-Y, or B-Z), a message is issued, and synclevel 1 processing continues on the remaining links, with the aim of committing as many synclevel 1 resources as possible. User-defined procedures are needed to resynchronize function-shipped updates.

Suggestion

If you use function shipping between CICS on System/390 and CICS Transaction Server for Windows, you incur the risk described here. If this risk is unacceptable, you should use distributed transaction processing. You can then build your own integrity into the programs at either end of the link.

DPL or function shipping from CICS Transaction Server for Windows to CICS on System/390

DPL and function shipping incorporate synclevel 1 logic. The CICS Transaction Server for Windows system initiates the commit procedure by requesting CICS on System/390 to commit data changes. The CICS Transaction Server for Windows system then commits the changes itself when it receives confirmation of CICS on System/390 commitment.

Figure 4 illustrates synclevel 1 support in a simple example. You can, of course, have a number of connected CICS systems. In the case of multiple connected systems, the commit request is propagated through all the system connections.

When using DPL, you should take syncpoints from the CICS Transaction Server for Windows system. If you take a syncpoint in the linked-to System/390 program, the syncpoint request is not propagated back to the CICS Transaction Server for Windows system.

Figure 4. Sync level 1 logic in a CICS Transaction Server for Windows--CICS on System/390 link
Sync level 1 logic in a CICS Transaction Server for Windows--CICS on System/390 link

Related concepts
Path length and resource definition tradeoffs
Overview of CICS System/390-non-System/390 intercommunication
[[ Contents Previous Page | Next Page Index ]]