CICS to IMS using the SEND LAST EXEC command

In a system in which CICS® is the front-end subsystem and IMS the back-end subsystem, IMS supports the use of the CICS synchronous API to allow access to IMS asynchronous transactions. SEND LAST is used to process IMS nonresponse mode and nonconversational transactions, message switches, and the /DISPLAY, /RDISPLAY and /FORMAT commands.

The general CICS application program flow for CICS to IMS using SEND LAST is shown in the following figure.

Figure 1. Application program flow using SEND LAST from CICS to IMS
Begin figure. Program Flow: Input from terminal, ALLOCATE, BUILD ATTACH, SEND (LAST), SYNCPOINT (optional), FREE or RETURN. End figure.

In this example, the CICS application reads the input message from the terminal and establishes a CICS-to-IMS session using the ALLOCATE command.

The CICS application program builds the required ATTACH function management header (the only header required, because this is a synchronous application) by using the BUILD ATTACH EXEC command. The RPROCESS and RRESOURCE fields should be specified in the BUILD ATTACH to identify the terminal and transaction to be used to process the reply. Issuing a SEND command causes the output message to be constructed. A SEND LAST command causes end-bracket to be appended to the message.

The output message is not sent on the session until the next command is executed. The next EXEC command that is issued depends upon the definition of the transaction within IMS, because this command both appends the sync-point request to the message and issues the message on the ISC session. If this transaction is defined to IMS as recoverable, the next command must be SYNCPOINT. SYNCPOINT causes the outbound message to be issued with an RQD2. If the transaction is defined as nonrecoverable, either SYNCPOINT, FREE, or RETURN can be issued next. FREE or RETURN issued immediately after the SEND and without an intervening SYNCPOINT causes the outbound message to be issued with RQE1.

If IMS generates a reply message as a result of receiving this transaction, that reply from IMS is returned with the ATTACH FM header. In order to get the IMS reply message from the session, CICS must issue a RECEIVE (because the reply message carries only ATTACH).