Function shipping examples

These examples illustrate the lifetime of the mirror transaction and the information flowing between the application and its mirror.

The examples contrast the action of the mirror transaction when accessing protected and unprotected resources on behalf of the application program, over MRO, ISC, or IPIC links, with and without MRO long-running mirror tasks.
Figure 1. ISC function shipping: simple inquiry. In this example, no resource is being changed; the session is freed and the mirror task is stopped immediately.
The picture consists of three columns. The left column represents System A, the right System B, and the middle column what flows between the two systems. An application on System A issues an EXEC CICS READ FILE request. An Attach CSM*, 'READ' request is sent to System B. System B attaches the mirror transaction, which performs the READ and sends a reply to System A. Because no resources are being changed, the mirror frees the session and stops. System A frees the session and passes B's reply to the application, which continues processing.
Figure 2. MRO or IPIC function shipping: simple inquiry. In this example, no resource is being changed. Because long-running mirror tasks are not specified, the session is freed by System B and the mirror task is therefore stopped immediately.
The picture consists of three columns. The left column represents System A, the right System B, and the middle column what flows between the two systems. An application on System A issues an EXEC CICS READ FILE request. An Attach CSM*, 'READ' request is sent to System B. System B attaches the mirror transaction, which performs the READ and sends a reply to System A. Because no resources are being changed, and long-running mirror tasks are not specified on System B, the mirror frees the session and stops. System A frees the session and passes B's reply to the application, which continues processing.
Figure 3. MRO or IPIC function shipping: simple inquiry. In this example, no resource is being changed. However, because long-running mirror tasks are specified, the session is held by System B, and the mirror task waits for the next request.
The picture consists of three columns. The left column represents System A, the right System B, and the middle column what flows between the two systems. An application on System A issues an EXEC CICS READ FILE request. An Attach CSM*, 'READ' request is sent to System B. System B attaches the mirror transaction, which performs the READ and sends a reply to System A. Because long-running mirror tasks are specified on System B, even though no resources are being changed the mirror does not free the session and terminate but instead waits for the next request. System A passes B's reply to the application, which continues processing.
Figure 4. ISC, MRO, or IPIC function shipping: update. Because the mirror must wait for the REWRITE, it becomes long-running and is not terminated until SYNCPOINT is received. Note that the enqueue on the updated record is not held beyond the REWRITE command if the file is not recoverable.
The picture consists of three columns. The left column represents System A, the right System B, and the middle column what flows between the two systems. An application on System A issues an EXEC CICS READ UPDATE FILE request. An Attach CSM*, 'READ UPDATE' request is sent to System B. System B attaches the mirror transaction, which performs the READ UPDATE and sends a reply to System A. The mirror then waits for the REWRITE, so becoming long-running. System A passes B's reply to the application, which issues an EXEC CICS REWRITE FILE request. The REWRITE request is sent to System B. On System B, the mirror performs the REWRITE, sends a reply to System A, and waits, still holding the enqueue on the updated record. System A passes B's reply to the application, which issues an EXEC CICS SYNCPOINT request which is sent to System B. On System B, the mirror takes the sync point, releases the enqueue, frees the session, and terminates. A positive response is sent to System A,On System A, the sync point is completed and the application continues.
Figure 5. ISC, MRO, or IPIC function shipping: update with ABEND.
The picture consists of three columns. The left column represents System A, the right System B, and the middle column what flows between the two systems. An application on System A issues an EXEC CICS READ UPDATE FILE request. An Attach CSM*, 'READ UPDATE' request is sent to System B. System B attaches the mirror transaction, which performs the READ UPDATE and sends a reply to System A. The mirror then waits for the REWRITE, so becoming long-running. System A passes B's reply to the application, which issues an EXEC CICS REWRITE FILE request. The REWRITE request is sent to System B. On System B, the mirror performs the REWRITE, sends a reply to System A, and waits. System A passes B's reply to the application, which issues an EXEC CICS SYNCPOINT request which is sent to System B. On System B, the mirror attempts to take the sync point but an abend occurs. The mirror backs out and terminates. A negative response and an abend message are sent to System A. The session is freed. On System A, the application is backed out and the abend message routed to CSMT.

Figure 5 is like Figure 4, except that an abend occurs during sync point processing.

Figure 6. MRO or IPIC function shipping: update using MROFSE or IPCONN MIRRORLIFE(TASK) to extend the life of the mirror transactions. Because the mirror must wait for the REWRITE, it becomes long-running. On an MRO connection setting MROFSE=YES on System A prevents the mirror task on System B from being terminated after sync point. The mirror task on System B only terminates when the task on System A terminates. To extend the life of mirror transactions using IPIC connections, use the MIRRORLIFE(TASK) option on the IPCONN resource definition on System B.
The picture consists of three columns. The left column represents System A, the right System B, and the middle column what flows between the two systems. An application on System A issues an EXEC CICS READ UPDATE FILE request. An Attach CSM*, 'READ UPDATE' request is sent to System B. System B attaches the mirror transaction, which performs the READ UPDATE and sends a reply to System A. The mirror then waits for the REWRITE, so becoming long-running. System A passes B's reply to the application, which issues an EXEC CICS REWRITE FILE request. The REWRITE request is sent to System B. On System B, the mirror performs the REWRITE, sends a reply to System A, and waits, still holding the enqueue on the updated record. System A passes B's reply to the application, which issues an EXEC CICS SYNCPOINT request which is sent to System B. On System B, the mirror takes the sync point, releases the enqueue, frees the session, and then waits for the next request. A positive response is sent to System A, On System A, the sync point is completed and the application continues.

Concept Concept

Feedback


Timestamp icon Last updated: Saturday, 7 April 2018


http://publib.boulder.ibm.com/infocenter/cicsts/v4r2/topic/com.ibm.cics.ts.intercommunication.doc//com.ibm.cics.ts.intercommunication.doc/topics/dfht10t.html