Data Passing between Programs/Transactions

In a real time environment, a single program can’t able to finish the task and a series of programs required to complete the task fully. Those series of programs/transactions require to pass the input, processing data from one program/transaction to another program/transaction.

This mechanism called as Data passing mechanism and CICS provides various options to pass the data from one to another program/transaction. The data passing in CICS environment can be done in two ways –

  1. Data passing between programs
  2. Data passing between transactions

Data passing between programs -

CICS provides the below options to pass the data between the CICS application programs –

Option Description
COMMAREA The COMMAREA is abbreviated as communication area. The COMMAREA option of LINK and XCTL commands specifies the data area name in which the data is passed from the current running program to the called program. The COMMAREA option of a RETURN command specifies the data area name in which data is passed to the transaction identified in the TRANSID option.
Channel The modern method of transferring data between CICS programs is called as channel. Channels have several advantages over COMMAREAs. Channels can be passed between the programs instead of COMMAREAs on LINK, XCTL and RETURN commands.
Inputmsg The INPUTMSG option of LINK, XCTL and RETURN commands is another way of passing the data area from the currently executing program to another program. In this case, the invoked program gets the data by processing a RECEIVE command. This option enables to invoke front-end application programs that were written to be invoked directly from a terminal and contain RECEIVE commands to obtain initial terminal input.

Data passing between transactions -

Below are the two options to pass the data between the transactions –

  • Main storage areas
  • CICS recoverable resources

Main storage areas -

The advantages of main storage areas are when the recovery is not important, or when passing data between programs servicing the same task. Main storage areas that can use to pass data between transactions include -

  • The communication area (COMMAREA)
  • The common work area (CWA)
  • Temporary storage (main)
  • The terminal control table user area (TCTUA)

CICS recoverable resources -

Recoverable resources can be backout when required. The recoverable resources used for communication between transactions include -

  • Temporary storage (auxiliary)
  • Transient data queues
  • User files
  • DL/I and DB2 databases (user-maintained)
  • Coupling facility data tables