CICS · 2026-10-11

CICS Transaction Flow for Beginners

Learn how a CICS transaction moves from terminal input to program execution and response display.

CICS is used for online transaction processing on mainframes. While batch jobs process large volumes in scheduled runs, CICS programs respond to user actions in real time.

What is a CICS transaction?

A transaction is a short code entered by a user or invoked by an application. The transaction code maps to a program. When the transaction starts, CICS loads or links to the program and manages the runtime environment.

Example:

Transaction code: CUST
Program: CUSTINQ
Purpose: Customer inquiry

Basic transaction flow

A simple CICS screen flow:

1. User enters a transaction code.
2. CICS identifies the associated program.
3. Program sends a map/screen.
4. User enters data.
5. Program receives input.
6. Program validates and retrieves data.
7. Program sends response screen.

Common CICS commands

Developers often see:

EXEC CICS RECEIVE MAP('CUSTMAP') MAPSET('CUSTSET') END-EXEC.
EXEC CICS SEND MAP('CUSTMAP') MAPSET('CUSTSET') END-EXEC.
EXEC CICS RETURN END-EXEC.

Other common commands include READ, WRITE, REWRITE, LINK, XCTL, and START.

Pseudo-conversational design

CICS applications should avoid holding resources while waiting for user input. In pseudo-conversational design, the program sends a screen and returns control to CICS. When the user responds, CICS starts the next part of the flow.

This improves scalability because the system does not keep a program active for every user while they think or type.

Practical support view

When supporting CICS issues, check:

Conclusion

CICS is event-driven mainframe processing. Understanding transaction mapping, screen send/receive flow, and pseudo-conversational design gives beginners a strong foundation for online application support and development.

← Back to all articles