Channels and containers
The newer way for CICS programs to pass data: named containers of any size, grouped into a channel.
Also written CICS container, CICS channel, PUT CONTAINER, GET CONTAINER
Channels and containers are a newer way of passing data between CICS programs, designed to remove the limits of the COMMAREA. A container is a named block of data. A channel is a named group of containers that travels together.
A program puts data into a container with EXEC CICS PUT CONTAINER, giving the container a name such as ACCOUNT-DETAILS, and naming the channel it belongs to. It then runs another program with LINK or XCTL and passes the channel. The called program reads each container it needs with GET CONTAINER.
There are three main advantages. Containers can be far larger than 32 KB. Data can be split into separate, named pieces, so a program reads only the containers it needs. And CICS can convert text data between code pages as it is passed, which helps when data comes from other systems.
Many CICS web services and JSON interfaces pass their data in containers. In older applications you will mostly see COMMAREAs, and both styles often exist side by side.
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
- COMMAREAThe communication area: a block of data a CICS program passes to another program, or keeps for the next step of a conversation.
- LINK and XCTLTwo CICS commands for running another program: LINK runs it and comes back, XCTL hands over and does not come back.
- EXEC CICSThe way a program asks CICS to do something, such as read a record, send a screen or call another program.
- CICSThe transaction manager that runs online mainframe applications, and the software behind a great many screens bank staff use.
- z/OS ConnectIBM software that makes mainframe programs and data available as REST APIs, so web and mobile applications can use them.