Use the TPPCC general macro with the WAIT verb specified to wait for
posting to occur on any mapped or basic conversation from a list of
conversations. Posting of a conversation occurs when posting is active
for the conversation and information that the conversation can receive, such
as data, conversation status, or a request for confirmation is
available.
Format
- label
- A symbolic name can be assigned to the macro statement.
- WAIT
- Directs the TPPCC macro to perform the WAIT verb function.
- RESIDL
- Specifies the symbolic name of a field or a register pointing to a
field. This is a variable length field that contains the resource IDs
of the conversations for which posting is expected. The resource IDs
must be the resource IDs assigned on the initial ALLOCATE for the
conversations or assigned by an incoming ATTACH. The variable length
field is in the format:
- Resource ID - 4 bytes repeated for each conversation
- Delimiter - 4 bytes of binary zeros.
- Note:
- This list can contain as many as twenty entries, which allows space for
nineteen resource IDs and the delimiter.
- 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.
- RESPSTD
- 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 of a posted
conversation is returned.
Entry Requirements
- The conversations must be in receive state.
- 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 table contains a list of the primary and secondary return
codes that can be returned to the program that issued the WAIT verb. A
complete list of return codes and their definitions can be found in Table 11 and in Table 12.
Symbolic Name
| Primary Code
| Secondary Code
|
LU62RC_OK
| 0000
|
|
LU62RC_POSTED_DATA
| ....
| 00000000
|
LU62RC_POSTED_NOTDATA
| ....
| 00000001
|
LU62RC_PARAMETER_CHECK
| 0001
|
|
LU62RC_PK_BAD_TCBID
| ....
| 00000001
|
LU62RC_PK_BAD_CONVID
| ....
| 00000002
|
LU62RC_PK_EMPTY_RESIDL
| ....
| 00000003
|
LU62RC_STATE_CHECK
| 0002
|
|
LU62RC_NOT_RCV_STATE
| ....
| 00000122
|
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_DLLOC_NORMAL
| 0009
|
|
LU62RC_POSTING_NOTACTIV
| 000B
|
|
LU62RC_PGMERR_NOTRUNC
| 000C
|
|
LU62RC_PGMERR_TRUNC
| 000D
|
|
LU62RC_PGMERR_PURGING
| 000E
|
|
LU62RC_CONVFAIL_RETRY
| 000F
|
|
LU62RC_CONVFAIL_NORETRY
| 0010
|
|
LU62RC_SVCERR_NOTRUNC
| 0011
|
|
LU62RC_SVCERR_TRUNC
| 0012
|
|
LU62RC_SVCERR_PURGING
| 0013
|
|
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 values supplied in RESIDL must be the resource IDs returned by the
ALLOCATE verb or IDs that were assigned by an incoming ATTACH.
- This verb is intended for use in conjunction with the POST_ON_RECEIPT
verb. The use of these verbs allows a program to perform synchronous
receiving from multiple conversations. The program issues
POST_ON_RECEIPT for each conversation and then issues this verb for all the
conversations in the resource list. The WAIT is satisfied when any
conversation in the list has information available to be received.
- The value returned in RESPSTD is one of the resource IDs specified in
RESIDL. The resource ID returned identifies the conversation that has
been posted.
- Posting may or may not be active for the resource IDs specified in
RESIDL. This verb waits for posting to occur on any conversation's
resource ID in the list that has posting active.
- The return code indicates the posting state for the conversation
identified in the RESPSTD parameter. A secondary return code of
LU62RC_POSTED_DATA indicates that a data message is available for
receipt. A secondary return code of LU62RC_POSTED_NOTDATA indicates
that information other than a data message is available, such as a
confirmation request of a SEND indication.
- Posting is reset for the conversation returned in the RESPSTD
parameter. The TPF transaction program must issue the RECEIVE verb in
order to receive the available information.
- This verb uses TPF's EVENT and POST facility to suspend the ECB until
posting has occurred on one of the conversations. Since the ECB is
suspended, all unnecessary resources should be released before this verb is
issued. Failure to do so can cause serious system performance
degradation.
- If posting does not occur within a certain amount of time, the TPF/APPC
support issues a DEALLOCATE TYPE=ABEND to terminate all the conversations in
the list. The amount of time that the system waits is determined by the
value you specify for the TPWAIT parameter on the SNAKEY macro. See
TPF ACF/SNA Network Generation for information about
the SNAKEY macro.
- See Programming Considerations for the programming considerations relating to the TPPCC
macro in general.
Examples
SYMB100 TPPCC WAIT, X
RESIDL=EBW004, X
RCODE=EBW064, X
RESPSTD=(R7)