COMMAREA
The communication area: a block of data a CICS program passes to another program, or keeps for the next step of a conversation.
Also written DFHCOMMAREA, communication area, EIBCALEN
The COMMAREA, or communication area, is how CICS programs pass data. It is used in two main ways.
The first is between programs. When one program runs another with LINK or XCTL, it can pass a COMMAREA, and the called program sees it in its LINKAGE SECTION under the name DFHCOMMAREA.
The second is between the steps of a pseudo-conversational transaction. When the program ends with RETURN TRANSID and a COMMAREA, CICS keeps the data. When the user presses a key, the next task starts with that data. This is how the program remembers what the user was doing, even though no program was running while they read the screen.
The length of the COMMAREA arrives in the EIBCALEN field. A length of zero means no data was passed, which programs often use to mean "this is the first time, show the first screen". A COMMAREA is limited to about 32 KB. For larger amounts of data, newer programs use channels and containers instead.
Where can I learn this hands-on?
Right here, at ZedBank. You take a junior job at a simulated bank and learn each part of the work by doing it, with Zed beside you. There's nothing to install.
Start at ZedBankRelated
- Pseudo-conversationalThe CICS programming style where a program ends after sending each screen, rather than waiting for the user to reply.
- CICS transactionOne unit of online work in CICS: the whole exchange of receiving a request, doing the work, and sending a response.
- LINKAGE SECTIONThe part of a COBOL program's DATA DIVISION that describes data passed in from outside, such as from a calling program.
- EIBThe EXEC Interface Block: a set of fields CICS fills in for every task, telling the program about the current transaction.
- CICSThe transaction manager that runs online mainframe applications, and the software behind a great many screens bank staff use.
- EXEC CICSThe way a program asks CICS to do something, such as read a record, send a screen or call another program.