In CICS®, asynchronous processing can be done in two ways:
You can use the START command to schedule a transaction in a remote system in much the same way as you would in a single CICS system. This type of asynchronous processing is essentially a form of CICS function shipping, and as such, is usually transparent to the application. CICS recognizes that a transaction is remote in one of two ways:
A CICS transaction that is initiated by a remotely-issued start request can use the RETRIEVE command to retrieve any data associated with the request. Data transfer is restricted to a single record passing from the initiating transaction to the initiated transaction.
A CICS transaction can use the EXEC CICS ASSIGN STARTCODE command to determine how it was initiated.
Asynchronous processing is more fully discussed under Asynchronous processing using START/RETRIEVE commands.
When you use DTP to attach a remote transaction, you also allocate a session and start a conversation. This permits you to send data directly and, if you want, to receive data from the remote transaction. Your transaction design determines the format and volume of the data you exchange. For example, you can use repeated SEND commands to pass multi-record files. However short the conversation, during the time it is in progress, the processing is synchronous. Error recovery and syncpoint functions are available using the normal DTP commands.
When you have exchanged data, you terminate the conversation and quit the local transaction, leaving the remote transaction to continue processing asynchronously.
DTP can be used for CICS--non-CICS communication, as well as for CICS--CICS communication.
If data conversion is required, the DTP application must contain logic to handle this.
Distributed transaction programming is more fully discussed under Distributed transaction programming.