Program control

The CICS® program control facility governs the flow of control between application programs in a CICS system.

Java and C++

The application programming interface described here is the CICS API, which is not used in Java™ programs. For information about Java programs using the JCICS classes to access program control services, see Java programming using JCICS and the JCICS Javadoc documentation. For information about C++ programs using the CICS C++ classes, see Using the CICS C++ OO foundation classes.

Program control using the CICS API

The name of the application referred to in a program control command must have been defined as a program to CICS. You can use program control commands as follows:
  • You can link one of your application programs to another, anticipating subsequent return to the requesting program (LINK command). The COMMAREA, CHANNEL, and INPUTMSG options of this command allow data to be passed to the requested application program.
  • You can link one of your application programs to another program in a separate CICS region, anticipating subsequent return to the requesting program (LINK command). The COMMAREA or CHANNEL option of this command allows data to be passed to the requested application program. This is referred to as distributed program link (DPL). (You cannot use the INPUTMSG and INPUTMSGLEN options of a LINK command when using DPL. See CICS intercommunication for more information about DPL.
  • You can transfer control from one of your application programs to another, with no return to the requesting program (XCTL command). The COMMAREA, CHANNEL, and INPUTMSG options of this command allow data to be passed to the requested application program. (You cannot use the INPUTMSG and INPUTMSGLEN options of an XCTL command when using DPL. See CICS intercommunication for more information about DPL.
  • You can return control from one of your application programs to another, or to CICS (RETURN command). The COMMAREA, CHANNEL, and INPUTMSG options of this command allow data to be passed to a newly initiated transaction. You cannot use the INPUTMSG and INPUTMSGLEN options of a RETURN command when using DPL. See CICS intercommunication for more information about DPL.
  • You can load a designated application program, table, or map into main storage (LOAD command).

    If you use the HOLD option with the LOAD and RELEASE command to load a program, table, or map that is not read-only, you could create inter-transaction affinities that could adversely affect your ability to perform dynamic transaction routing.

    To help you identify potential problems with programs that issue these commands, you can use the CICS Interdependency Analyzer. See CICS Interdependency Analyzer for more information about this utility and see Affinity for more information about transaction affinity.

  • You can delete a previously loaded application program, table, or map from main storage (RELEASE command).

You can use the RESP option to deal with abnormal terminations.



dfhp37s.html | Timestamp icon Last updated: Thursday, 27 June 2019