The asynchronous SEND and RECEIVE interface

This form of asynchronous processing is, in CICS, a special case of distributed transaction processing.

A CICS transaction acquires the use of a session to a remote system, and uses the session for a single transmission (using a SEND command with the LAST option) to initiate a remote transaction and send data to it. The reply from the remote system causes a CICS transaction to be initiated just as if it were a back-end transaction in normal DTP. This transaction, however, can issue only a single RECEIVE command, and must then free the session.

Except for these additional restrictions, you can design your application according to the rules given for distributed transaction processing later in this section.

The general command sequence for asynchronous SEND and RECEIVE application programs is shown in Figure 1.
Figure 1. SEND and RECEIVE asynchronous processing – CICS front end
The picture shows a CICS region and an IMS region, joined by an LUTYPE61 link. On CICS, a transaction, TRANA, issues an EXEC CICS ALLOCATE command to acquire a session to IMS. It then issues three commands—BUILD ATTACH, SEND ATTACHID LAST, and FREE. When the reply is received from IMS, another transaction, TRANB, is started on CICS. TRANB issues the commands RECEIVE, EXTRACT ATTACH, and FREE.