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 Testing indicators .
- 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. |