|
Purpose This macroinstruction sends data,
flushes the SEND buffer, and then sends a confirmation request to
the partner application program. If a positive confirmation acknowledgment
is received, the local conversation state is changed from SEND to
RECEIVE state.
Usage This macroinstruction combines the
functions of two macroinstructions, APPCCMD CONTROL=SEND, QUALIFY=DATA
followed by APPCCMD CONTROL=PREPRCV, QUALIFY=CONFIRM. VTAM® flushes the SEND buffer and sends the data
that is specified on the macroinstruction. A confirmation request
follows. The application program must ensure that the data sent completes
a logical record.
If a positive acknowledgment to the confirmation
request is received, the conversation is placed in RECEIVE state.
When this macroinstruction completes without error, the state of the
conversation is contained in the CONSTATE field.
This macroinstruction
corresponds to the verbs SEND_DATA followed by PREPARE_TO_RECEIVE
(TYPE=CONFIRM) described in the LU 6.2 architecture.
Context This macroinstruction can be issued
from the SEND or PENDING_SEND conversation state. This macroinstruction
is not allowed on full-duplex conversations.
This macroinstruction
is not allowed for conversations pending deallocation for persistent
LU-LU sessions.
Syntax
(1)
>>-+---------+--APPCCMD-- --CONTROL--=--PREPRCV--,--QUALIFY--=--DATACON------>
'-name-- -'
(2)
>--,--RPL--=--+-rpl_address_field----------+-------------------->
'-(--rpl_address_register--)-'
>--+-----------------------------------------------------------+-->
| (3) |
'-,--AAREA--=--+-rpl_extension_address_field----------+-----'
'-(--rpl_extension_address_register--)-'
>--+-----------------------------------------------+------------>
| (3) |
'-,--ACB--=--+-acb_address_field----------+-----'
'-(--acb_address_register--)-'
>--+---------------------------------------------------------------------+-->
| (3) |
'-,--AREA--=--+-data_area_or_buffer_list_address_field----------+-----'
'-(--data_area_or_buffer_list_address_register--)-'
>--+---------------------------+-------------------------------->
| (3) |
'-,--BRANCH--=--+-NO--+-----'
'-YES-'
>--+-------------------------------+---------------------------->
| (1) |
'-,--CONMODE--=--+-BUFFCA-+-----'
+-CS-----+
+-LLCA---+
'-SAME---'
>--+---------------------------------------------------------+-->
| (1) |
'-,--CONVID--=--+-32-bit_resource_id_field----------+-----'
'-(--32-bit_resource_id_register--)-'
>--+-----------------------------+------------------------------>
| (1) |
'-,--CONXMOD--=--+-CA---+-----'
+-CS---+
'-SAME-'
>--+--------------------------+--------------------------------->
| (3) |
'-,--CRYPT--=--+-NO--+-----'
'-YES-'
>--+-------------------------------------------------------------+-->
| (4) (3) |
+-,--ECB--=--+-INTERNAL-------------------+-------------------+
| +-ecb_address_field----------+ |
| '-(--ecb_address_register--)-' |
| (5) (3) |
'-,--EXIT--=--+-exit_routine_address_field----------+---------'
'-(--exit_routine_address_register--)-'
>--+----------------------------+------------------------------->
| (3) |
'-,--LOCKS--=--+-LONG--+-----'
'-SHORT-'
>--+-------------------------------------------------+---------->
| (6) (3) |
'-,--OPTCD--=--(------+-+-ASY-----+----------+--)-'
| | (3) | |
| '-SYN-----' |
| (3) |
+-+-BUFFLST------+-----+
| | (3) | |
| +-NBUFFLST-----+ |
| | (3) | |
| '-XBUFLST------' |
| (3) (7) |
'-+-KEEPSRB----------+-'
| (3) (8) |
'-NKEEPSRB---------'
>--+--------------------------------------------------+--------><
| (3) |
'-,--RECLEN--=--+-data_length----------------+-----'
'-(--data_length_register--)-'
Notes: - Operand value might be placed in its RPL extension
field either by specification on an ISTRPL6 macroinstruction operand
or by explicitly setting the field using the ISTRPL6X DSECT.
- See Coding default values for
information on coding operands on the RPL or APPCCMD macroinstruction.
- Operand value might be placed in its RPL field
either by specification on an RPL macroinstruction operand or by explicitly
setting the field using the IFGRPL DSECT.
- ECB is meaningful only for asynchronous operations.
- EXIT is meaningful only for asynchronous operations.
- You can code more than one suboperand on OPTCD,
but no more than one from each group.
- KEEPSRB is meaningful only for synchronous operations.
- NKEEPSRB is meaningful only for synchronous operations.
Input parameters Following are descriptions
of the input parameters: - AAREA=rpl_extension_address_field
- AAREA=(rpl_extension_address_register)
- Specifies the address of
the LU 6.2 RPL extension that will be associated with this APPCCMD
macroinstruction. This field is labeled RPLAAREA in the RPL.
- ACB=acb_address_field
- ACB=(acb_address_register)
- Specifies the address of
an access method control block that identifies the application program
that is issuing the APPCCMD macroinstruction. VTAM associates conversations with application
programs using the conversation ID (CONVID). The application program
associates conversations with transaction programs. Application programs
cannot issue APPCCMD macroinstructions in address spaces other than
the ACB address space. This field is labeled RPLDACB in the RPL.
- AREA=data_area_or_buffer_list_address_field
- AREA=(data_area_or_buffer_list_address_register)
- Specifies
the address of a data buffer or buffer list.
- If OPTCD=NBUFFLST, AREA specifies the address of an area containing
the data to be sent. Unless an HPDT request has proceeded this macroinstruction
on this conversation, VTAM tracks
the logical records supplied by the application program, examining
the logical-record length (LL) field associated with each logical
record. (It does not inspect the data portion of the logical record.)
- If OPTCD=BUFFLST, AREA specifies the address of a buffer list.
Each entry in the buffer list points to the data to be sent. Unless
an HPDT request has proceeded this macroinstruction on this conversation, VTAM tracks the logical records
supplied by the application program, examining the logical-record
length (LL) field associated with each logical record. (It does not
inspect the data portion of the logical record.)
- If OPTCD=XBUFLST, AREA specifies the address of an extended buffer
list. The data to be sent resides in CSM buffers. Once XBUFLST has
been specified on an APPCCMD, VTAM does
not track logical records supplied by the application on this or subsequent
requests, for the duration of the conversation. Each entry in the
extended buffer list is 48 bytes. RU boundaries and logical record
boundaries are independent of the buffer boundaries. Each entry in
the buffer list can specify any displacement in a CSM buffer. VTAM uses the CSM token rather
than the storage address to track a given CSM buffer. Note that a
CSM token cannot be repeated in an extended buffer list.
If multiple
areas of a CSM buffer are to be used on an APPCCMD, the CSM buffer
must first be segmented by using the IVTCSM REQUEST=ASSIGN_BUFFER
macroinstruction, which obtains additional tokens for the storage
area. The tokens are provided on the extended buffer list and specified
on the APPCCMD macroinstruction.
This field is labeled RPLAREA in the RPL.
- BRANCH
- Specifies
whether authorized path processing is to be used for application programs
running in supervisor state under a TCB. Application programs running
in TCB-mode supervisor state can use BRANCH=YES to obtain authorized
path services. The indicator resides within the RPLEXTDS field of
the RPL.
- BRANCH=NO
- Authorized path processing is not to be used. For application
programs running in problem state (non-supervisor state) under a TCB,
BRANCH=NO is the only option.
- BRANCH=YES
- Authorized path processing is to be used. For application programs
running under an SRB rather than under a TCB, the macroinstruction
is processed in this manner automatically, regardless of the actual
setting of the BRANCH field.
- CONMODE
- Specifies
the mode for receiving normal information upon completion of the APPCCMD.
This field is labeled RPL6CMOD in the RPL extension.
- CONMODE=BUFFCA
- Specifies that the conversation is to be placed in buffer-continue-any
mode. It indicates that APPCCMD CONTROL=RECEIVE, QUALIFY=ANY|IANY
can be used to receive data and that the application program is to
receive data independently of the logical-record format of the data.
BUFFCA corresponds to FILL=BUFFER on the APPCCMD CONTROL=RECEIVE,
QUALIFY=SPEC|ISPEC macroinstruction.
- CONMODE=CS
- Specifies that the conversation is to be placed in continue-specific
mode. It indicates that only APPCCMD CONTROL=RECEIVE, QUALIFY=SPEC|ISPEC
can be used to receive data on this conversation. When the application
program issues APPCCMD CONTROL=RECEIVE, QUALIFY=SPEC|ISPEC, it must
indicate whether the data is to be received in terms of the logical-record
format of the data or independently of the logical-record format of
the data.
- CONMODE=LLCA
- Specifies that the conversation is to be placed in logical-record-continue-any
mode. It indicates that APPCCMD CONTROL=RECEIVE, QUALIFY=ANY|IANY
can be used to receive data on this conversation and that the application
program is to receive data in terms of the logical-record format of
the data. LLCA corresponds to FILL=LL on the APPCCMD CONTROL=RECEIVE,
QUALIFY=SPEC|ISPEC macroinstruction.
- CONMODE=SAME
- Specifies that the continuation mode of the conversation is to
remain unchanged.
- CONVID=32-bit_resource_id_field
- CONVID=(32-bit_resource_id_register)
- Specifies
the resource ID of the conversation. This field is labeled RPL6CNVD
in the RPL extension.
- CONXMOD
- Specifies
the mode for receiving expedited information upon completion of the
APPCCMD. This field is labeled RPL6CXMD in the RPL extension.
- CONXMOD=CA
- Specifies that the mode for expedited information is to be put
in such a state that expedited information can be received by either
a specific-type macroinstruction or an any-type macroinstruction,
such as, APPCCMD CONTROL=RCVEXPD, QUALIFY=SPEC|ISPEC or APPCCMD CONTROL=RCVEXPD,
QUALIFY=ANY|IANY.
- CONXMOD=CS
- Specifies that the mode for expedited information is to be put
in such a state that expedited information can be received only by
a specific-type macroinstruction, such as, APPCCMD CONTROL=RCVEXPD,
QUALIFY=SPEC or ISPEC.
- CONXMOD=SAME
- Specifies that the conversation mode for expedited information
is to remain unchanged at the completion of this macroinstruction.
- CRYPT
- Specifies whether
data at the location indicated by the AREA is to be encrypted before
it is sent on the conversation. This field is labeled RPLTCRYP in
the RPL.
- CRYPT=NO
- Do not encrypt data before it is sent.
- CRYPT=YES
- Encrypt the data before it is sent. Specify CRYPT=YES only if
encryption is allowed on the mode to which the conversation is allocated.
(Refer to z/OS Communications Server: SNA Programmer's
LU 6.2 Guide for a description of how VTAM determines the level of cryptography.)
Note: If CRYPT=YES is specified, VTAM does
not use HPDT services to transfer data, even if OPTCD=XBUFLST is specified.
Instead, the normal send or receive path is used.
- ECB
- Valid
only if OPTCD=ASY. Specifies how the application program requests
to be informed of the completion of the APPCCMD macroinstruction.
You cannot specify both ECB and EXIT on a single APPCCMD macroinstruction.
The indicator resides within the RPLOPT1 field of the RPL.
- ECB=INTERNAL
- Specifies that VTAM is
to post an internal ECB when the APPPCCMD macroinstruction completes.
- ECB=ecb_address_field
- ECB=(ecb_address_register)
- Specifies that VTAM is
to post an event control block (ECB) when an asynchronous APPCCMD
completes. Event_control_block_address is
the location of the ECB to be posted. The ECB can be any fullword
of storage aligned on a fullword boundary.
- EXIT=exit_routine_address_field
- EXIT=(exit_routine_address_register)
- Valid
only if OPTCD=ASY. It indicates the address of a routine to be scheduled
when the APPCCMD completes. You cannot specify both ECB and EXIT on
a single APPCCMD macroinstruction. The indicator resides within the
RPLEXTDS field of the RPL.
- LOCKS
- Specifies
when the execution of the macroinstruction is complete following execution
of the CONFIRM function. This field corresponds to the LOCKS parameter
on the PREPARE_TO_RECEIVE verb, as described in the LU 6.2 architecture.
(Refer to z/OS Communications Server: SNA Programmer's
LU 6.2 Guide for more information on the use of this function.)
This field is labeled RPL6LOCK in the RPL extension.
- LOCKS=LONG
- Specifies that the function of this macroinstruction is complete
when information, such as data, is received from the partner application.
The receipt of data presumes an affirmative reply to the confirmation
request. The local application program must issue an APPCCMD CONTROL=RECEIVE
in order to get the information that caused the macroinstruction to
complete.
- LOCKS=SHORT
- Specifies that the function of this macroinstruction is complete
when a positive response is received to the confirmation request.
Note: The partner cannot determine whether LOCKS=LONG or SHORT was
specified. The APPCCMD CONTROL=SEND, QUALIFY=CONFRMD must be specified
in either case.
- OPTCD
- Specifies
the following processing options that can be selected for the macroinstruction
request:
- OPTCD=SYN
- Specifies that control is to be returned synchronously to the
application program when the function of the APPCCMD has completed.
The indicator resides within the RPLOPT1 field of the RPL.
- OPTCD=ASY
- Specifies that control is to be returned to the application program
immediately and that the application program is to be informed later
of the completion of the macroinstruction by the posting of an ECB
or the scheduling of an exit. The indicator resides within the RPLOPT1
field of the RPL.
- OPTCD=KEEPSRB
- Specifies that for a synchronous request issued in SRB mode, VTAM returns to the application
under the same SRB in which VTAM was
invoked. The indicator resides within the RPLOPT11 field of the RPL.
- OPTCD=NKEEPSRB
- Specifies that for a synchronous request issued in SRB mode, VTAM does not return to the application
under the same SRB in which VTAM was
invoked. The indicator resides within the RPLOPT11 field of the RPL.
- OPTCD=BUFFLST
- Specifies that the data
supplied by the application program is contained within multiple buffers.
This option allows the application program to provide data from discontiguous
buffer areas. The indicator resides within the RPLOPT6 field of the
RPL.
If OPTCD=BUFFLST is chosen, the AREA field of the RPL points
to a buffer list that is a contiguous set of 16-byte control blocks,
called buffer list entries. (Refer to z/OS Communications Server: SNA Programmer's
LU 6.2 Guide for a detailed description of these buffer
list entries.) The RECLEN field of the RPL specifies a buffer list
length that is a nonzero multiple of 16 bytes. RU boundaries are independent
of the buffer boundaries. VTAM creates
RUs based upon the maximum SEND RU size regardless of whether the
data is taken from one buffer, part of a buffer, or multiple buffers.
Logical records are also independent of the buffer boundaries.
- OPTCD=NBUFFLST
- Specifies that the data supplied by the application program is
contained within a single buffer area. The AREA field specifies the
address of the buffer and the RECLEN field specifies the length of
the buffer. The indicator resides within the RPLOPT6 field of the
RPL.
- OPTCD=XBUFLST
- Specifies that the HPDT interface is to be used. The AREA field
of the RPL points to an extended buffer list containing 48-byte buffer
list entries. Each entry in the buffer list points to a CSM buffer
to be used for sending data. (Refer to z/OS Communications Server: SNA Programmer's
LU 6.2 Guide for a detailed description of these buffer
list entries.) The RECLEN field of the RPL specifies a buffer list
length that is a nonzero multiple of 48 bytes.
The following requirements
apply to APPCCMD macroinstructions used to send data from an application-supplied
extended buffer list: - Applications using HPDT must use authorized path processing. Therefore,
BRANCH=NO cannot be specified when OPTCD=XBUFLST.
- Entries in the extended buffer list must not contain any negative
values. If a negative value exists in the entry, then the macroinstruction
is rejected with an RCPRI, RCSEC combination of X'002C', X'0010' (INVALID
DATA ADDRESS OR LENGTH).
The indicator is labeled RPLXBFL and resides within
the RPLOPT6 field of the RPL.
- RECLEN=data_length
- RECLEN=(data_length_register)
- Specifies
the length of the data to be sent or the length of the buffer list
containing the data to be sent. This field is labeled RPLRLEN in the
RPL.
- If OPTCD=NBUFFLST, RECLEN specifies the number of bytes of data
to be sent from the data area specified by AREA.
- If OPTCD=BUFFLST, RECLEN specifies the length of the buffer list
that in turn points to the data to be sent. RECLEN must be a nonzero
multiple of 16 bytes. (Buffer list entries consist of 16 bytes.)
- If OPTCD=XBUFLST, RECLEN specifies the length of the extended
buffer list that in turn points to the data to be sent. RECLEN must
be a nonzero multiple of 48 bytes. (Extended buffer list entries consist
of 48 bytes.)
- RPL=rpl_address_field
- RPL=(rpl_address_register)
- Specifies
the address of the request parameter list that contains information
to be used during the processing of the APPCCMD macroinstruction.
RPL and RPL extension fields modified by macroinstruction Following
are descriptions of RPL and RPL extension fields: - CONSTATE
- The
field in the RPL6 extension that indicates the state of the conversation.
It is labeled RPL6CCST in the RPL extension.
This field can have
the following values: - X'01'
- SEND
- X'02'
- RECEIVE
- X'03'
- RECEIVE_CONFIRM
- X'04'
- RECEIVE_CONFIRM_SEND
- X'05'
- RECEIVE_CONFIRM_DEALLOCATE
- X'07'
- PENDING_END_CONVERSATION_LOG
- X'08'
- END_CONVERSATION
- X'09'
- PENDING_SEND
- X'0A'
- PENDING_RECEIVE_LOG
- EXPDLEN
- The
field in the RPL6 that shows the length of the expedited data waiting
to be received. This field has meaning only when EXPDRCV=YES. This
field is labeled RPL6EXDL in the RPL extension.
- EXPDRCV
- The
field in the RPL6 that indicates whether expedited data is waiting
to be received. This field is labeled RPL6EXDR in the RPL extension.
- FDB2
- The
field in the RPL in which a global VTAM secondary
return code is returned to the application program. It is labeled
RPLFDB2 in the RPL.
- FMH5LEN
- The
field in the RPL extension that returns the length of the FMH-5 waiting
to be received by the application program. If multiple FMH-5s are
waiting to be received, FMH5LEN specifies the length of the longest
FMH-5 FMH-5 to be received by the application program. This field
has meaning only when FMH5RCV=YES. It is labeled RPL6MH5L in the RPL
extension.
- FMH5RCV
- The
field in the RPL extension that returns an indication of whether an
FMH-5 has been received. The indication is either YES or NO (RPL6RMH5
set on or off). This field is labeled RPL6RMH5 in the RPL extension.
- YES (B'1')
- One or more FMH-5s have been received from partner application
programs. The FMH5RCV field continues to be set to YES as long as
an FMH-5 is waiting to be received by the application program. The
application program must issue an APPCCMD CONTROL=RCVFMH5 to receive
an FMH-5.
- NO (B'0')
- No FMH-5s are waiting to be received by the application program.
- LOGRCV
- The
field in the RPL extension that returns an indication of whether error
log data is expected. The indication is either YES or NO (RPL6RLOG
set on or off). This field is labeled RPL6RLOG in the RPL extension.
- YES (B'1')
- An FMH-7 was received that specified that error log data follows.
The application program must issue APPCCMD CONTROL=RECEIVE, QUALIFY=SPEC|ISPEC
in order to retrieve the log data. It is the responsibility of the
application program to perform an optional receive check after issuing
APPCCMD CONTROL=RECEIVE, QUALIFY=SPEC|ISPEC to determine whether the
expected log data was sent by the partner application program. The
data must be error log data and it must be in the form of a GDS variable.
LOGRCV=YES only if the RCPRI field of the RPL extension contains
one of the following values: - X'0004'
- ALLOCATION_ERROR
- X'0014'
- DEALLOCATE_ABEND_PROGRAM
- X'0018'
- DEALLOCATE_ABEND_SERVICE
- X'001C'
- DEALLOCATE_ABEND_TIMER
- X'0030'
- PROGRAM_ERROR_NO_TRUNC
- X'0034'
- PROGRAM_ERROR_PURGING
- X'0038'
- PROGRAM_ERROR_TRUNC
- X'003C'
- SERVICE_ERROR_NO_TRUNC
- X'0040'
- SERVICE_ERROR_PURGING
- X'0044'
- SERVICE_ERROR_TRUNC
- X'005C'
- USER_ERROR_CODE_RECEIVED
- NO (B'0')
- Either no error indicator was received or an error indicator was
received but indicated that no log data follows.
- RCPRI
- The
field in the RPL extension in which an APPCCMD-specific primary return
code is returned to the application program. This field has meaning
only when RTNCD=X'00' and FDB2=X'0B'. This field
is labeled RPL6RCPR in the RPL extension.
- RCSEC
- The
field in the RPL extension in which an APPCCMD-specific secondary
return code is returned to the application program. This field has
meaning only when RTNCD=X'00' and FDB2=X'0B'. This
field is labeled RPL6RCSC in the RPL extension. The combination of
the RCPRI and RCSEC fields indicates the result of the macroinstruction
processing.
- RPLXSRV
- A field in the RPL that is set if VTAM accepts
all the CSM buffers from the application on an HPDT request. If the
APPCCMD completes unsuccessfully and the completion status is stored
in the RPL, the application must examine RPLXSRV. Some TPEND exits
are driven where the RPL is canceled and not posted complete. It
is the application's responsibility to examine the RPLXSRV bit and
determine if CSM storage needs to be freed.
For more information
about application recovery options when RPLXSRV is not set, refer
to z/OS Communications Server: SNA Programmer's
LU 6.2 Guide.
The RPLXSRV indicator is contained
in the RPLEXTDS field in the RPL.
- RTNCD
- The
field in the RPL in which a global VTAM primary
return code is returned to the application program. This field is
labeled RPLRTNCD in the RPL.
- SENSE
- The
field in the RPL extension that returns a 32-bit sense code. This
field has meaning only if the RCPRI field is set to a nonzero value.
The sense code also can be set when the return code is RESOURCE_FAILURE_NO_RETRY.
This code indicates why the session for the conversation was deactivated.
Not all RCPRI values have sense data associated with them. If the
RCPRI field indicates USER_ERROR_CODE_RECEIVED, the SENSE field contains
an FMH-7 sense code that was not recognized by VTAM. This field is labeled RPL6SNSI in the
RPL extension.
- SIGDATA
- The field in the RPL extension
in which the signal code and signal extension fields of a received
SIGNAL RU are returned to the application program. This field has
meaning only when SIGRCV=YES. It is labeled RPL6SGNL in the RPL extension.
X'00010001' indicates a REQUEST_TO_SEND notification
has been received from the remote application program.
Note: The
SIGDATA field is reserved if, on the macroinstruction that initiated
the conversation (APPCCMD CONTROL=ALLOC or APPCCMD CONTROL=RCVFMH5),
the application specified RTSRTRN=EXPD.
- SIGRCV
- The field in the RPL extension
that returns an indication of whether an application program's partner
has requested permission to send. This field and the SIGDATA field
correspond to the REQUEST_TO_SEND_RECEIVED parameter described in
the LU 6.2 architecture.
Note: The SIGRCV field is reserved if, on
the macroinstruction that initiated the conversation (APPCCMD CONTROL=ALLOC
or APPCCMD CONTROL=RCVFMH5), the application specified RTSRTRN=EXPD.
The
indication is either YES or NO (RPL6RSIG bit set on or off). This
field is labeled RPL6RSIG in the RPL extension. - YES (B'1')
- A SIGNAL RU has been received from the partner application program.
The values carried in the signal code and signal extension fields
of the SIGNAL RU are returned to the application program in the SIGDATA
field.
- NO (B'0')
- No SIGNAL RU has been received from the partner application program.
When SIGRCV=NO, the SIGDATA field contains no meaningful information.
- STSHBF
- The
field in the RPL extension that returns the address of the current
buffer. It is used with STSHDS to give the current position (address
and displacement) in the application-supplied data buffer or buffer
list (the area pointed to by the AREA field of the RPL) when a temporary
storage shortage occurs while data is being sent. All data prior to
this buffer has been sent. This field is labeled RPL6STBF in the RPL
extension.
- STSHDS
- The
field in the RPL extension that returns the displacement into the
current buffer. It is used with STSHBF to give the current position
(address and displacement) in the application-supplied data buffer
or buffer list (the area pointed to by the AREA field of the RPL)
when a temporary storage shortage occurs while data is being sent.
All data prior to this buffer has been sent. This field is labeled
RPL6STDS in the RPL extension.
- USERFLD
- Specifies
4 bytes of user data that the application program requests be associated
with a conversation. Whenever an APPCCMD completes, VTAM places in the USERFLD field of the RPL
extension the 4 bytes that were supplied on the APPCCMD CONTROL=ALLOC
macroinstruction (if the conversation was initiated by the local application
program) or the APPCCMD CONTROL=RCVFMH5 macroinstruction (if the conversation
was initiated by a remote application program). This field is labeled
RPL6USR in the RPL extension.
State changes These changes are applicable
when RCPRI indicates OK.
The conversation enters RECEIVE state
after successful completion of the macroinstruction.
See Return codes for state changes associated with
other return codes.
Return codes The following (RCPRI, RCSEC)
combinations can be returned to the application program when it issues
this APPCCMD. See Return codes for a
description of these return codes.
RCPRI |
RCSEC |
Meaning |
---|
X'0000' |
X'0000' |
OK (REMOTE PROGRAM REPLIED AFFIRMATIVELY) |
X'0004' |
X'0002' |
ALLOCATION_ERROR—CONVERSATION_TYPE_ MISMATCH |
X'0004' |
X'0003' |
ALLOCATION_ERROR—PIP_NOT_ALLOWED |
X'0004' |
X'0004' |
ALLOCATION_ERROR—PIP_NOT_SPECIFIED_CORRECTLY |
X'0004' |
X'0005' |
ALLOCATION_ERROR—SECURITY_NOT_VALID |
X'0004' |
X'0007' |
ALLOCATION_ERROR—SYNC_LEVEL_NOT_SUPPORTED_ BY_PROGRAM |
X'0004' |
X'0008' |
ALLOCATION_ERROR—TPN_NOT_RECOGNIZED |
X'0004' |
X'0009' |
ALLOCATION_ERROR—TRANS_PGM_NOT_AVAIL_NO_ RETRY |
X'0004' |
X'000A' |
ALLOCATION_ERROR—TRANS_PGM_NOT_AVAIL_RETRY |
X'0004' |
X'000B' |
ALLOCATION_ERROR—CANNOT_RECONNECT_TRANS_ PGM_NO_RETRY |
X'0004' |
X'000C' |
ALLOCATION_ERROR—CANNOT_RECONNECT_TRANS_ PGM_RETRY |
X'0004' |
X'000D' |
ALLOCATION_ERROR—RECONNECT_NOT_SUPPORTED_ BY_PGM |
X'0014' |
X'0000' |
DEALLOCATE_ABEND_PROGRAM |
X'0018' |
X'0000' |
DEALLOCATE_ABEND_SERVICE |
X'001C' |
X'0000' |
DEALLOCATE_ABEND_TIMER |
X'0024' |
X'0000' |
LOGICAL_RECORD_BOUNDARY_ERROR |
X'002C' |
X'0002' |
PARAMETER_ERROR—INVALID_CONVERSATION_ID |
X'002C' |
X'0003' |
PARAMETER_ERROR—INVALID_LL |
X'002C' |
X'000C' |
PARAMETER_ERROR—ZERO_EXIT_FIELD |
X'002C' |
X'000D' |
PARAMETER_ERROR—ZERO_ECB_FIELD |
X'002C' |
X'000E' |
PARAMETER_ERROR—REQUEST_INVALID_FOR_ ADDRESS_SPACE |
X'002C' |
X'000F' |
PARAMETER_ERROR—CONTROL_BLOCK_INVALID |
X'002C' |
X'0010' |
PARAMETER_ERROR—INVALID_DATA_ADDRESS_OR_ LENGTH |
X'002C' |
X'0011' |
PARAMETER_ERROR—PREVIOUS_MACROINSTRUCTION_ OUTSTANDING |
X'002C' |
X'0012' |
PARAMETER_ERROR—BUFFER_LIST_LENGTH_INVALID |
X'002C' |
X'001F' |
PARAMETER_ERROR—APPCCMD_ISSUED_FOR_ NON-APPC |
X'002C' |
X'0024' |
PARAMETER_ERROR—PS_HEADER_NOT_SUPPLIED |
X'002C' |
X'0025' |
PARAMETER_ERROR—PS_HEADER_LENGTH_IS_ INSUFFICIENT |
X'002C' |
X'0028' |
PARAMETER_ERROR—CRYPTOGRAPHY_NOT_ALLOWED_ ON_MODE |
X'002C' |
X'0032' |
PARAMETER_ERROR— UNEXPECTED_VECTOR_PROVIDED_ON_APPCCMD |
X'0034' |
X'0000' |
PROGRAM_ERROR_PURGING |
X'0040' |
X'0000' |
SERVICE_ERROR_PURGING |
X'0048' |
X'0000' |
RESOURCE_FAILURE_NO_RETRY |
X'004C' |
X'0000' |
RESOURCE_FAILURE_RETRY |
X'0050' |
X'0000' |
STATE_ERROR |
X'005C' |
X'0000' |
USER_ERROR_CODE_RECEIVED—FOLLOWING_ NEGATIVE_RESPONSE |
X'0070' |
X'0000' |
TEMPORARY_STORAGE_SHORTAGE_OR_RESOURCE_ SHORTAGE |
X'0078' |
X'0000' |
VTAM_INACTIVE_FOR_YOUR_ACB |
X'007C' |
X'0000' |
REQUEST_ABORTED |
X'0088' |
X'0000' |
CANCELLED_BY_REJECT_OR_DEALLOCATE_ABEND |
X'0090' |
X'0000' |
APPLICATION_NOT_APPC_CAPABLE |
X'0094' |
X'0000' |
INVALID_CONDITION_FOR_SENDING_DATA |
X'0098' |
X'0000' |
STORAGE_SHORTAGE_WHILE_SENDING_DATA |
X'00A0' |
X'0004' |
REQUEST_NOT_ALLOWED—CONTROL/QUALIFY_VALUE_ NOT_VALID_FOR_FULL-DUPLEX_CONVERSATIONS |
X'00A0' |
X'0006' |
PROGRAM_NOT_AUTHORIZED_FOR_ REQUESTED_FUNCTION |
X'00A8' |
X'0000' |
ENVIRONMENT_ERROR_OS_LEVEL_DOES_NOT_SUPPORT_ REQUESTED_FUNCTION |
X'00A8' |
X'0001' |
ENVIRONMENT_ERROR—SUSPEND_FAILURE |
X'00A8' |
X'0002' |
ENVIRONMENT_ERROR—RESUME_FAILURE |
X'00B4' |
X'0001' |
CSM_DETECTED_ERROR—NOT_SPECIFIED |
X'00B4' |
X'0002' |
CSM_DETECTED_ERROR— INVALID_BUFFER_TOKEN_SPECIFIED |
X'00B4' |
X'0003' |
CSM_DETECTED_ERROR— INVALID_INSTANCE_ID_SPECIFIED |
|