In the CICS address space, each database session is represented by a session control block.
This control block controls and identifies session status. It contains the address of the request and the response buffers for the session, and indicates whether the session is idle and available for use, or whether a request is active and a response is pending.
Because CLI uses “shared” storage for its control blocks, a session can continue across pseudo-conversational boundaries.
The initial transaction in the pseudo-conversation must log on to the database.
Transactions that are a part of this conversation need not log on again, but can continue to use the same session until the task completes.
If the application does not explicitly request CLI to log off and release the memory obtained on its behalf, the Task Related User Exit routine obtains control and performs this cleanup when the pseudo conversation completes.
The conversation can complete as a result of an abend of one of the transactions in the pseudo conversation, or as a result of a final return to CICS.