Return an APPC session to CICS® (assembler-language and C programs
only).

GDS FREE (APPC basic)
>>-GDS FREE--CONVID(name)--CONVDATA(data-area)------------------>
>--RETCODE(data-area)--+-------------+-------------------------><
'-STATE(cvda)-'
Description
GDS FREE returns the session to CICS. The issue of this command is valid
only when the conversation is finished, that is, the conversation state is
FREE.
The return code is given in RETCODE (see Table 1). For a
list of return code values, see the CICS Distributed Transaction Programming Guide.
EXEC CICS conditions are never raised on GDS commands.
Options
In general, the arguments can be replaced by absolute or relocatable assembler-language
expressions.
- CONVDATA(data-area)
- specifies the 24-byte application data
area into which conversation-related information is to be moved. A description
of the format of the data area is given in the discussion of CONVDATA fields
in the CICS Distributed Transaction Programming Guide.
- CONVID(name)
- identifies the conversation to be freed. The 4-character name identifies
either the token returned by a previously executed GDS ALLOCATE command, or
the token representing the principal session (returned by a previously executed
GDS ASSIGN command).
- RETCODE(data-area)
- specifies the 6-byte application data
area into which return code information (shown in Table 1)
is to be moved.
- STATE(cvda)
- gets the state of the current conversation. The STATE on a FREE command
returns a cvda code of 00 if there is no longer an active conversation. The
other output cvda values are:
- ALLOCATED
- CONFFREE
- CONFRECEIVE
- CONFSEND
- FREE
- PENDFREE
- PENDRECEIVE
- RECEIVE
- ROLLBACK
- SEND
- SYNCFREE
- SYNCRECEIVE
- SYNCSEND
Table 1. GDS FREE return codesRETCODE (hexadecimal) |
Description |
03 00 |
CONVID is for a session that is not APPC. |
03 00 |
CONVID is for a session that is in use by CPI Communications. |
03 04 |
CONVID is for a conversation that is not basic. |
03 08 |
A state check has occurred. |
04 |
CONVID is for a session that is not allocated to the task,
or that is a relay link. |