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.