Send data on an APPC mapped conversation.

SEND (APPC)
>>-SEND--+--------------+--------------------------------------->
'-CONVID(name)-'
>--+------------------------------------------+--+--------+----->
'-FROM(data-area)--+-LENGTH(data-value)--+-' +-INVITE-+
'-FLENGTH(data-value)-' '-LAST---'
>--+---------+--+-------------+--------------------------------><
+-CONFIRM-+ '-STATE(cvda)-'
'-WAIT----'
Conditions: INVREQ, LENGERR, NOTALLOC, SIGNAL, TERMERR
Description
SEND sends data to a conversation
partner on an APPC mapped conversation.
Options
- CONFIRM
- indicates
that an application using a synchronization level 1 or 2 conversation requires
a response from the remote application. A remote CICS® application can respond positively
by executing an ISSUE CONFIRMATION command, or negatively, by executing an
ISSUE ERROR command, in which case the sending application has EIBERR and
EIBERRCD set. CICS does not return control to the sending application until
the response is received.
- CONVID(name)
- identifies
the conversation to which the command relates. The 4-character name identifies
either the token returned by a previously executed ALLOCATE command in EIBRSRCE
in the EIB, or the token representing the principal session (returned by a
previously executed ASSIGN command).
For compatibility with earlier releases,
SESSION is accepted as a synonym for CONVID. New programs should use CONVID.
If
this option is omitted, the principal facility is assumed.
- FLENGTH(data-value)
An alternative to LENGTH. For architectural reasons, this option
is limited to a maximum of 32K for all terminal-related SEND commands.
- FROM(data-area)
- specifies
the data to be written to the logical unit, or a partner transaction.
- INVITE
- For
the SEND (APPC) command, 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.
For the other SEND commands, INVITE specifies that the
next terminal control command executed for this facility is a RECEIVE. This
allows optimal flows to occur.
- LAST
- specifies
that this is the last SEND command for a transaction.
- LENGTH(data-value)
- specifies
the length, as a halfword binary value, of the data to be written. For a description
of a safe upper limit, see LENGTH options in CICS commands.
- 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
- specifies
that processing of the command must be completed before any subsequent processing
is attempted.
If the WAIT option is not specified, control is returned
to the application program when processing of the command has started. A subsequent
input or output request (terminal control, BMS, or batch data interchange)
to the terminal associated with the task causes the application program to
wait until the previous request has been completed.
Conditions
Some
of the following conditions may occur in combination. If more than one occurs,
only the first is passed to the application program. EIBRCODE, however, is
set to indicate all the conditions that occurred.
- INVREQ
- RESP2 values:
- 200
- A distributed program link server application attempted to send on its
function-shipping session (its principal facility).
For SEND (APPC), a
distributed program link server application specified the function-shipping
session (its principal facility) on the CONVID option.
also occurs (RESP2 not set) in any of the following situations:
- The CONFIRM option has been specified, but the APPC conversation is not
sync level 1 or 2.
- The SEND command has been used on an APPC conversation that is not a mapped
conversation or that is not using the EXEC CICS interface.
Default action: terminate the task abnormally.
- LENGERR
- occurs
if an out-of-range value is supplied in the LENGTH or FLENGTH option.
Default
action: terminate the task abnormally.
- NOTALLOC
- occurs
if the CONVID value in the command does not relate to a conversation that
is owned by the application, or if the facility specified in the command is
not owned by the application.
Default action: terminate the task abnormally.
- SIGNAL
- occurs
when an inbound SIGNAL data-flow control command has been received from a
logical unit or session. EIBSIG is always set when an inbound signal is received.
Default action: ignore the condition.
- TERMERR
- occurs
for a session-related error. Any action on that conversation other than a
FREE causes an ATCV abend.
A CANCEL TASK request by a user node error
program (NEP) may cause this condition if the task has an outstanding terminal
control request active when the node abnormal condition program handles the
session error.
Default action: terminate the task abnormally with
abend code ATNI.