Pseudo conversation


In a batch system, the system is in a continuous wait status to perform the tasks given by the user even during idle time. But in the CICS region, the system sends or displays something to the terminal (SEND), and if the same requires user action, then the system terminates (RETURN) the connection for the task.

When the user enters the data, the system automatically re-establishes the connection for the task to receive the data (RECEIVE). This technique is called Pseudo Conversation, which effectively saves CPU utilization. From the system's point of view, it effectively utilizes CPU time by terminating and reinitiating the task processing.

Pseudo Conversation = Terminating & Reinitiating

CICS application program communicates with the user by using pseudo conversation. Let us discuss this with a simple example:

Scenario - Many of you know the ATM works with the mainframe on the back end. So, let's understand the pseudo conversation with ATM processing.


Assume the user goes to the ATM and inserts the card into the ATM machine (terminal). Once the user inserts the card into the terminal, it connects to the mainframe server to get the account details. The mainframe server initiates the transaction to get the account details from DB2 or the file system using the card details. Once the details are retrieved, the mainframe sends them to the ATM machine to display on the screen for further processing (asking for the PIN, etc) and terminate the connection.

The mainframe does not know when the user will enter his PIN for validation (maybe it will take 15 seconds, 30 seconds, or even more). So, the mainframe terminates the transaction processing after details are sent to the ATM machine (terminal). Meanwhile, the system might be busy doing some other work.

map heirarchy

Once the user enters the data or interacts with the terminal, the mainframe establishes the connection back to complete the request. This terminating and reinitiation process will continue until the transaction is fully completed from the user's end.

Commands used in pseudo conversation -


The below are the list of commands majorly used in pseudo conversation -

Command Description
SEND Sends the data to the screen.

It also terminates the control from the program (make the control returns to the CICS after sending).

Sending data is of three types -
RETURN with TRANID Used to establish the connection back. (Reinitiates the program).
RECEIVE Receives the data entered on the screen by the user.