Send data on an APPC basic conversation (assembler-language and C
programs only).

GDS SEND (APPC basic)
>>-GDS SEND--CONVID(name)--------------------------------------->
>--+------------------------------------------+--+--------+----->
'-FROM(data-area)--+---------------------+-' +-INVITE-+
'-FLENGTH(data-value)-' '-LAST---'
>--+---------+--CONVDATA(data-area)--RETCODE(data-area)--------->
+-CONFIRM-+
'-WAIT----'
>--+-------------+---------------------------------------------><
'-STATE(cvda)-'
Options
In general, the arguments can be replaced by absolute or relocatable assembler-language
expressions.
- CONFIRM
- allows an application working at synchronization level 1 or 2 to
synchronize its processing with that of a process in a remote system. The
actions taken to synchronize processing are defined by the application programs
involved. The CONFIRM option causes RQD2 to be added to the data already sent,
and forces a WAIT. On receipt of the indicator, the remote process takes the
agreed actions and then sends a response. When the WAIT completes, CDBERR
is set to X'00' if the appropriate response has been received.
- 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 which the command relates. 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).
- FLENGTH(data-value)
- specifies the length (as a fullword binary value in the range 1–32 767)
of the data specified in the FROM option.
- FROM(data-area)
- specifies the data that is to be sent.
- INVITE
- allows an application program to add a change-direction indicator to data already sent to a process in a connected APPC system. Control
data is not transmitted by CICS until the subsequent execution of a WAIT or
a SYNCPOINT command, unless CONFIRM or WAIT is also coded on the GDS SEND
INVITE command.
- LAST
- allows an application program to add CEB to
data already sent to a process in a connected APPC system. CEB is not transmitted
by CICS until the subsequent execution of a WAIT or a SYNCPOINT command, unless
CONFIRM or WAIT is also coded on the GDS SEND LAST command. Note that if one
of these commands fails because of a conversation-related
error, the conversation remains in bracket. In such a case, the application
program should execute a GDS RECEIVE command. However, GDS SEND LAST WAIT
(with no data) always causes the conversation to be deallocated.
- 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 cvda values returned
by CICS are:
- ALLOCATED
- CONFFREE
- CONFRECEIVE
- CONFSEND
- FREE
- PENDFREE
- PENDRECEIVE
- RECEIVE
- ROLLBACK
- SEND
- SYNCFREE
- SYNCRECEIVE
- SYNCSEND
- WAIT
- ensures that all data and indicators so far sent on a conversation are
erased from the partner transaction.
If the WAIT option is not used, data
from successive SEND commands is accumulated by CICS, together with any indicators,
in an internal buffer. If the buffer becomes full, most of the accumulated
data is transmitted to the remote system, but the accumulated indicators are
not. Transmission of the accumulated data plus the indicators is forced by
the WAIT or CONFIRM options of the GDS SEND command, or by a GDS WAIT command.
Table 1. GDS SEND 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. |
03 14 |
The CONFIRM option has been used on a sync level 0 conversation. |
03 10 |
LL error (incorrect or incomplete). |
04 |
CONVID is for a session that is not allocated to the task,
or that is a relay link. |
05 00 00 00 7F FF |
The FLENGTH value is outside the range 0 through 32 767. |