Use the TPPCC general macro with the SEND_ERROR verb specified to inform
the remote program that the local TPF transaction program detected an
error.
Upon successful completion of this verb, the local TPF transaction program
is in send state, and the remote program is in receive
state. The transaction program's logic defines any further
action.
Format
- label
- A symbolic name can be assigned to the macro statement.
- SEND_ERROR
- Directs the TPPCC macro to perform the SEND_ERROR verb function.
- RESID
- Specifies the symbolic name of a field or a register pointing to a
field. This is a 4-byte field in which the resource ID is
supplied. This resource ID must be the one assigned on the initial
ALLOCATE for this conversation or one that was assigned by an incoming
ATTACH.
- TYPE
- Specifies the type of error indication to be sent. The valid types
are:
- PROG
- Specifies that the TPF transaction program detected an error that is to be
reported to the remote transaction program.
- SVC
- Specifies that a TPF service program detected an error that is to be
reported to the remote LU service program.
- LOGDATA
- Specifies whether the error indication is logged. NO is the only
supported option. TPF does not support the YES option defined by the LU
6.2 architecture.
- RCODE
- Specifies the symbolic name of a field or a register pointing to a
field. This is a 6-byte field in which the return code is
placed. The return code consists of a 2-byte primary return code
followed by a 4-byte secondary return code. The actual values returned
are listed in Return Conditions.
- RTSRCVD
- Specifies the symbolic name of a 1-byte field or a register that contains
a value that indicates whether a REQUEST_TO_SEND has been received. The
REQUEST_TO_SEND_RECEIVED indication can contain:
- LU62_RTSEND_RCVDYES
- Indicates a REQUEST_TO_SEND indication has been received from the remote
transaction program. The remote program issued REQUEST_TO_SEND
requesting the local TPF transaction program to enter receive state
and placing the remote transaction program in send state.
Any other value indicates that a REQUEST_TO_SEND notification has not been
received.
Entry Requirements
- The conversation must be in one of the following states:
send
receive
received-confirm
received-confirm-send
received-confirm-deallocate
- See Entry Requirements for the entry requirements relating to the TPPCC macro in
general.
Return Conditions
- The results of the verb are indicated by the value returned in
RCODE. The valid return codes are listed in the following section,
"Return Codes".
- See Return Conditions for the return conditions relating to the TPPCC macro in
general.
- The following tables contain a list of the primary and secondary return
codes that can be returned to the program that issued the SEND_ERROR
verb. A complete list of return codes and their definitions can be
found in Table 11 and in Table 12.
Table 14. Return Codes for Conversation in SEND State
Symbolic Name
| Primary Code
| Secondary Code
|
LU62RC_OK
| 0000
|
|
LU62RC_POSTED_DATA
| ....
| 00000000
|
LU62RC_POSTED_NODATA
| ....
| 00000001
|
LU62RC_PARAMETER_CHECK
| 0001
|
|
LU62RC_PK_BAD_TCBID
| ....
| 00000001
|
LU62RC_PK_BAD_CONVID
| ....
| 00000002
|
LU62RC_STATE_CHECK
| 0002
|
|
LU62RC_SKSENDE_BADSTATE
| ....
| 00000111
|
LU62RC_ALLOC_ERROR
| 0003
|
|
LU62RC_TP_NOT_AVAIL_RETRY
| ....
| 084B6031
|
LU62RC_TP_NOT_AVAIL_NO_RETRY
| ....
| 084C0000
|
LU62RC_TPN_NOT_RECOGNIZED
| ....
| 10086021
|
LU62RC_PIP_NOT_SPECIFIED_CORRECTLY
| ....
| 10086032
|
LU62RC_CONV_TYPE_MISMATCH
| ....
| 10086034
|
LU62RC_SYNLVL_NOTSUPORT
| ....
| 10086041
|
LU62RC_DLLOC_ABEND_PGM
| 0006
|
|
LU62RC_DLLOC_ABEND_SVC
| 0007
|
|
LU62RC_DLLOC_ABEND_TMR
| 0008
|
|
LU62RC_PGMERR_PURGING
| 000E
|
|
LU62RC_CONVFAIL_RETRY
| 000F
|
|
LU62RC_CONVFAIL_NORETRY
| 0010
|
|
LU62RC_SVCERR_PURGING
| 0013
|
|
LU62RC_TPF_ABEND
| FFFF
|
|
Table 15. Return Codes for Conversation in RECEIVE State
Symbolic Name
| Primary Code
| Secondary Code
|
LU62RC_OK
| 0000
|
|
LU62RC_PARAMETER_CHECK
| 0001
|
|
LU62RC_PK_BAD_TCBID
| ....
| 00000001
|
LU62RC_PK_BAD_CONVID
| ....
| 00000002
|
LU62RC_DLLOC_NORMAL
| 0009
|
|
LU62RC_CONVFAIL_RETRY
| 000F
|
|
LU62RC_CONVFAIL_NORETRY
| 0010
|
|
LU62RC_TPF_ABEND
| FFFF
|
|
Table 16. Return Codes for Conversation in CONFIRM State.
Symbolic Name
| Primary Code
| Secondary Code
|
LU62RC_OK
| 0000
|
|
LU62RC_PARAMETER_CHECK
| 0001
|
|
LU62RC_PK_BAD_TCBID
| ....
| 00000001
|
LU62RC_PK_BAD_CONVID
| ....
| 00000002
|
LU62RC_CONVFAIL_RETRY
| 000F
|
|
LU62RC_CONVFAIL_NORETRY
| 0010
|
|
LU62RC_TPF_ABEND
| FFFF
|
|
Programming Considerations
- If you specify a register for a keyword value, the register must be
enclosed in parentheses and in the range R1-R7.
- The value supplied in RESID must be the resource ID returned by the
ALLOCATE verb one that was assigned by an incoming ATTACH.
- The transaction programs can use this verb for various application level
functions. For example, the program can issue this verb to truncate an
incomplete logical record, to inform the remote program of an error it
detected in data it received, or to reject a confirmation request.
- If the local TPF transaction program issues the SEND_ERROR verb while in
receive state, purging of all buffered input occurs. The
incoming information that is purged includes both data (logical records) and
confirmation requests. In addition, if the confirmation request was due
to a DEALLOCATE TYPE=CONFIRM verb issued by the remote transaction program,
the DEALLOCATE request is also purged. After issuing the SEND_ERROR
verb from receive state, the local transaction program will be in
send state, and the remote transaction program will be in
receive state.
- When the value of the RTSRCVD parameter is LU62_RTSND_RCVDYES, the remote
program is requesting the local TPF transaction program to enter
receive state and thereby place the remote program in
send state. The local TPF transaction program enters
receive state by issuing a RECEIVE verb or a PREPARE_TO_RECEIVE
verb. The remote partner program enters the corresponding
send state when it issues a RECEIVE verb and receives the SEND
indicator on the WHATRCV parameter.
- This verb resets or cancels posting. If posting is active and the
conversation has been posted, posting is reset. If posting is active
and the conversation has not been posted, posting is canceled.
- The truncation implied by the use of this verb can cause any of the
following to be truncated:
- Data, sent by means of the SEND_DATA verb
- Confirmation requests, sent by means of CONFIRM, PREPARE_TO_RECEIVE, or
DEALLOCATE
- Deallocation request, sent by means of DEALLOCATE TYPE=CONFIRM.
- See Programming Considerations for the programming considerations relating to the TPPCC
macro in general.
Examples
SYMB100 TPPCC SEND_ERROR, X
RESID=(R3), X
TYPE=PROG, X
LOGDATA=NO, X
RCODE=EBW064, X
RTSRCVD=EBSW01