Asynchronous processing--examples

Figure 12. Asynchronous processing--remote transaction initiation. This example shows an MRO connection with long-running mirrors (MROLRM) specified for System A but not for System B. Note the different action of the mirror transaction on the two systems.
  System A                 Transmitted Information   System B    {DFHSIT MROLRM(YES)}  Transaction TRX initiated by terminal T1  EXEC CICS START       TRANSID('TRY')       RTRANSID('TRZ')       RTERMID('T1')      Attach CSM*       FROM(area)         'SCHEDULE' request for       LENGTH(length)      transaction                          ========================->   Attach mirror                                                     transaction.                                                     Perform START request                                                     for transaction TRY.                            'SCHEDULE' reply,last Free session.  Pass      <- ========================  Free session. Terminate return code to                                      mirror. application program.      Session available for     Transaction TRY is Continue processing.      remote requests from      dispatched and starts                           other transactions in     processing.                           system A or B.                                                     EXEC CICS RETRIEVE                                                      INTO (area)                                                       LENGTH(length)                                                       RTRANSID(TR)                                                       RTERMID(T)                                                     (TR has value 'TRZ',                                                      T has value 'T1')                                                      Processing based on                                                     data acquired.                                                     Results put into                                                     TS queue named RQUE.                                                      EXEC CICS START                                                      TRANSID(TR)                                                      TERMID(T)                          Attach CSM*                 QUEUE('RQUE')                          'SCHEDULE' request for     (TR has value 'TRZ',                           transaction                T has value 'T1') Attach mirror            <-======================== transaction.       (continued)
  System A                 Transmitted Information   System B  Perform START request with TRANSID value of 'TRZ' and TERMID value of 'T1'.                           'SCHEDULE' reply Mirror waits for          ======================-> SYNCPOINT.                                          RETURN                          'SYNCPOINT' request,last   (implicit syncpoint)                           <-======================                             positive response Free session.              =====================-> Terminate mirror.   Transaction TRZ is dispatched on terminal T1 and starts processing.  EXEC CICS RETRIEVE      INTO(area)      LENGTH(length)      QUEUE(Q) Q has value 'RQUE'  TRZ now uses function shipping to read and then to delete the remote queue.

Figure 13. Asynchronous processing--remote transaction initiation using NOCHECK. This example shows an ISC connection, or an MRO connection without long-running mirrors.
  System A                 Transmitted Information   System B  Transaction TRX initiated by terminal T1  EXEC CICS START       TRANSID('TRY')       RTRANSID('TRZ')       RTERMID('T1')       FROM(area)       LENGTH(length)       NOCHECK                           Attach CSM* Terminate, and free      'SCHEDULE' request for terminal T1.  T1 could   trans, last (no reply) now initiate another     =======================->    Attach mirror. transaction, but TRZ                                Perform START could not start until                               request for transaction T1 became free again.       session available       TRY.  Free session.                                                     Terminate mirror.                                                     Transaction TRY is                                                     dispatched and starts.                                                     EXEC CICS RETRIEVE                                                      INTO (area)                                                       LENGTH(length)                                                       RTRANSID(TR)                                                       RTERMID(T)                                                     (TR has value 'TRZ',                                                      T has value 'T1')                                                      Data determines                                                     processing.  Reply                                                     put in data area REP.                                                      EXEC CICS START                                                      TRANSID(TR)                                                      FROM(REP)                                                      LENGTH(length)                                                      TERMID(T)                                                      NOCHECK                                                     (TR has value 'TRZ',                                                      T has value 'T1')     (continued)
  System A                 Transmitted Information    System B                           Attach CSM*                          'SCHEDULE' request for     TRY terminates.                          trans, last (no reply) Attach mirror            <-======================= transaction.  Perform START request with TRANSID value of 'TRZ' and TERMID value of 'T1'. Free session.               session available  Terminate mirror.  Transaction TRZ is dispatched on terminal T1 and starts processing.

Figure 13 shows an ISC connection, or an MRO connection without long-running mirrors.

Related concepts
Overview of asynchronous processing
Asynchronous processing methods
System programming considerations
Related tasks
Asynchronous processing using START and RETRIEVE commands
Intercommunication facilities
Application programming for asynchronous processing
[[ Contents Previous Page | Next Page Index ]]