CICS data objects

CICS provides a number of different objects that CICS programs and transactions can use to exchange data with one another.

CICS provides these data objects:
Communication areas
A communication area (COMMAREA) is a single block of storage that is used to pass data between programs. A program can pass just one COMMAREA to another program. The recommended maximum size of a communication areas is 24 KB, although the absolute maximum size is 32 KB.
Containers and channels
A container is a named block of data that is used for passing information between programs. A program can pass any number of containers to another program using a logical grouping of containers known as a channel. Containers are not limited to a maximum size of 32 KB.
Containers that are associated with a business transaction services (BTS) process are recoverable; they can be rolled back to their state at the start of a transaction.
Temporary storage queues
A temporary storage queue is a named queue of data items that can be written, rewritten, read, and reread, in any sequence. The recommended maximum size of a data item is 24 KB, although the absolute maximum size is 32 KB.
You can define temporary storage queues as recoverable.
Transient data queues
A transient data queue is a named queue of data items that can be written and read once only. The maximum size of a data item can be up to 32 KB.
Transient data queues must be read sequentially, and each item can be read only once; after a transaction reads an item, that item is removed from the queue and is not available to any other transaction.
CICS provides two types of transient data queues:
  • Intrapartition transient data queues are used primarily for communication between CICS programs.
  • Extrapartition transient data queues are used primarily for communication between a CICS program and a sequential device, such as a QSAM data set or a printer.
You can define intrapartition transient data queues as recoverable.
CICS also provides a variety of facilities to store data in and between transactions. For more information, see Storing data in a transaction.