You create a channel by naming it on one of the following commands:
- EXEC CICS LINK PROGRAM CHANNEL
- EXEC CICS MOVE CONTAINER CHANNEL TOCHANNEL
- EXEC CICS PUT CONTAINER CHANNEL
- EXEC CICS RETURN TRANSID CHANNEL
- EXEC CICS START TRANSID CHANNEL
- EXEC CICS XCTL PROGRAM CHANNEL
If the channel doesn't already exist, within the current program scope,
it is created.
The most straightforward way to create a channel, and
populate it with containers of data, is to issue a succession of EXEC
CICS PUT CONTAINER(container-name) CHANNEL(channel-name)
FROM(data_area) commands. The first PUT command creates
the channel (if it doesn't already exist), and adds a container to it; the
subsequent commands add further containers to the channel. If the containers
already exist, their contents are overwritten by the new data.
An alternative
way to add containers to a channel is to move them from another channel. To
do this, use the following command:
EXEC CICS MOVE CONTAINER(container-name) AS(container-new-name)
CHANNEL(channel-name1) TOCHANNEL(channel-name2)
Note: - If the CHANNEL or TOCHANNEL option isn't
specified, the current channel is implied—see The current channel.
- The source channel must be in program scope.
- If the target channel doesn't already exist, within the current program
scope, it is created.
- If the source container doesn't exist, an error occurs.
- If the target container doesn't already exist, it is created; if it already
exists, its contents are overwritten.
You can use MOVE CONTAINER, instead of GET CONTAINER and PUT
CONTAINER, as a more efficient way of transferring data between channels.
If
the channel named on the following commands doesn't already exist, within
the current program scope, an empty channel is created:
- EXEC CICS LINK PROGRAM CHANNEL(channel-name)
- EXEC CICS RETURN TRANSID CHANNEL(channel-name)
- EXEC CICS START TRANSID CHANNEL(channel-name)
- EXEC CICS XCTL PROGRAM CHANNEL(channel-name)