gtpg2m4e | General Macros |
Use this macro to provide the interface for all conversation verbs defined in the LU 6.2 architecture that TPF supports. This section contains a description of the TPPCC macro in its general form, followed by a separate section for each of the valid verbs.
Format
|
Each macro call begins with TPPCC, followed by the positional parameter verbname, which specifies the verb to be executed. This is followed by one or more keyword parameters and values for those parameters. The values specify either a keyword option or a main storage location of a field.
The main storage location of a field can be specified as either the symbolic name of the field or as a register that points to the field. If you specify a register, the register name must be enclosed in parentheses and must be in the range R1-R7.
Table 10 is a summary of the supported verb names and their associated parameters. The table also contains:
More detailed information for each parameter is provided in the individual
verb descriptions later in this chapter.
Table 10. TPF/APPC Conversation Verbs and Valid Keywords
Verb Name | Keyword Parameter | Passed or Returned | Description | Architecture Equivalent |
---|---|---|---|---|
ACTIVATE_ON_ CONFIRMATION | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
VERB | Passed | This specifies the architecture's verb function to be performed in
conjunction with this verb. Valid choices are:
| None | |
PARM | Passed | This specifies the data level (DL) indication or the TOKEN to be passed to the activated program. | None | |
PGM | Passed | This specifies the TPF E-type program to be activated when there is data or other information available to satisfy the CONFIRM request. The program specified must be defined in the TPF transaction program name table (TPNT) as TYPE=AOR. | None | |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
| ||||
ACTIVATE_ON_RECEIPT | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
PARM | Passed | This specifies the data level (DL) indication or the TOKEN to be passed to the activated program. | None | |
PGM | Passed | This specifies the TPF E-type program to be activated when there is data or other information available to satisfy the RECEIVE request. The program specified must be defined in the TPF TPNT as TYPE=AOR. | None | |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
| ||||
ALLOCATE | LUNAME | Passed | This specifies the fully qualified name of the remote LU. | LU_NAME |
TPN | Passed | This specifies the name of the remote transaction program used on this conversation. | TPN | |
RCONTROL | Passed | This specifies the condition on which control is returned to the issuing program. The WSA option specifies to return control when a session is allocated for use by the conversation. The IMM option specifies to return control immediately if no contention-winner session is currently active and available. TPF does not support the other options defined by the LU 6.2 architecture. | RETURN_CONTROL | |
MODE | Passed | This specifies the name used to designate the properties of the session to be allocated. | MODE_NAME | |
TYPE | Passed | This specifies the type of conversation. The BASIC option provides support for the BASIC_CONVERSATION option defined by the LU 6.2 architecture. The MAPPED option provides support for the MAPPED_CONVERSATION option defined by the LU 6.2 architecture. | TYPE | |
PIP | Passed | This specifies whether or not program initialization parameters are supported. NO is the only supported option. TPF does not support the YES option defined by the LU 6.2 architecture. | PIP | |
SYNC | Passed | This specifies the synchronization level allowed on the allocated conversation. Only the NONE and CONFIRM options are supported. TPF does not support the SYNCPT option defined by the LU 6.2 architecture. | SYNC_LEVEL | |
SECURITY | Passed | This specifies the security information used to verify the identity of the end users of the conversation. The option NO provides support for the LU 6.2 architecture's NONE option. This indicates that access security information is omitted on this conversation. TPF does not support the architecture's SAME and PGM options. | SECURITY | |
RESID | Returned | This specifies where the resource ID is to be returned. The resource ID uniquely identifies this conversation from all others and is used when issuing other TPF/APPC verbs for this conversation. The resource ID is 4 bytes long. | RESOURCE | |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
CONFIRM | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
RTSRCVD | Returned | This specifies where the REQUEST_TO_SEND indication is to be returned. | REQUEST_TO_SEND_RECEIVED | |
CONFIRMED | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
DEALLOCATE | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
TYPE | Passed | This specifies the type of deallocation to be done. | TYPE | |
LOGDATA | Passed | This specifies whether or not error information is to be logged. NO is the only option supported. TPF does not support the YES option defined by the LU 6.2 architecture. | LOG_DATA | |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
FLUSH | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
GET_ATTRIBUTES | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
OWNAME | Returned | This specifies where the local LU name is returned. | OWN_FULLY_QUALIFIED_LU_ NAME | |
PLUNAME | Returned | This specifies where the name of the partner LU is returned. The partner LU name and the fully qualified partner LU name are identical. | PARTNER_LU_NAME | |
MODE | Returned | This specifies where the mode name used for this conversation is returned. | MODE_NAME | |
SYNC | Returned | This specifies where the synchronization level used for this conversation is returned. Only the synchronization levels NONE and CONFIRM supported. TPF does not support the SYNCPT level defined by the LU 6.2 architecture. | SYNC_LEVEL | |
GET_TYPE | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
TYPE | Returned | This specifies where the conversation type is returned. | TYPE | |
POST_ON_RECEIPT | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
FILL | Passed | This specifies when posting should occur based on the logical record format. Only the LL option is supported, which specifies that posting occurs when a complete or truncated logical record is received, or when a part of a logical record is received that is at least equal in length to that specified on the LENGTH parameter. TPF does not support the BUFFER option defined by the LU 6.2 architecture. | FILL | |
LENGTH | Passed | This specifies the minimum amount of data that the LU must receive before the conversation can be posted. This parameter is used along with the FILL parameter to determine when to post the conversation. | LENGTH | |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
PREPARE_TO_RECEIVE | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
TYPE | Passed | This specifies the type of PREPARE_TO_RECEIVE to be performed. The FLUSH, CONFIRM and SYNC options provide support for the LU 6.2 architecture's FLUSH, CONFIRM, and SYNC_LEVEL options, respectively. If FLUSH or CONFIRM is specified, the appropriate verb function is performed. If SYNC is specified, the synchronization level specified on the ALLOCATE is used to determine which verb function is to be performed. If the synchronization level was NONE, the FLUSH verb function is performed. If the synchronization level was CONFIRM, the CONFIRM verb function is performed. | TYPE | |
LOCKS | Passed | This specifies when control is to be returned, when the CONFIRM verb is implied. Only the SHORT option is supported, which causes control to be returned upon the receipt of a positive reply to CONFIRM. TPF does not support the LONG option defined by the LU 6.2 architecture. | LOCKS | |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
RECEIVE | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
FILL | Passed | This specifies when the receive should be satisfied based on the logical record format. Only the LL option is supported, which specifies the program is to receive one complete or truncated logical record, or a portion of a logical record that is equal to the length specified by the LENGTH parameter. TPF does not support the BUFFER option defined by the LU 6.2 architecture. | FILL | |
WAIT | Passed | This specifies that the RECEIVE_AND_WAIT verb function should be performed. TPF does not support RECEIVE_IMMEDIATE verb defined by the LU 6.2 architecture. | RECEIVE_AND_WAIT verb | |
LENGTH | Passed and Returned | This specifies the maximum length of data that the TP can receive. When control is returned to the TP, this variable contains the actual amount of data the program received up to the maximum. If the program receives information other than data, this variable remains unchanged. | LENGTH | |
DATA | Passed | This specifies the storage address in which the program is to receive the data. | DATA | |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
RTSRCVD | Returned | This specifies where the REQUEST_TO_SEND indication is to be returned. | REQUEST_TO_SEND_RECEIVED | |
WHATRCV | Returned | This specifies where the WHAT_RECEIVED indication is returned. The WHAT_RECEIVED indication may indicate data, confirmation, or conversation status. | WHAT_RECEIVED | |
REQUEST_TO_SEND | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
SEND_DATA | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb, or the resource ID assigned by an incoming ATTACH. | RESOURCE |
DATA | Passed | This specifies the address of the data to be sent. | DATA | |
LENGTH | Passed | This specifies the length of the data to be sent. This data length is in no way related to the length of a logical record. It is used only to determine the length of the data located at the address specified on the DATA parameter. | LENGTH | |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
RTSRCVD | Returned | This specifies where the REQUEST_TO_SEND indication is to be returned. | REQUEST_TO_SEND_RECEIVED | |
SEND_ERROR | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
TYPE | Passed | This specifies the type of error that has been detected. The PROG option specifies that the transaction program detected an error. The SVC option specifies that a TPF service program detected an error. | TYPE | |
LOGDATA | Passed | This specifies whether or not error information is to be logged. Only the NO option is supported. TPF does not support the YES option defined by the LU 6.2 architecture. | LOG_DATA | |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
RTSRCVD | Returned | This specifies where the REQUEST_TO_SEND indication is to be returned. | REQUEST_TO_SEND_RECEIVED | |
TEST | RESID | Passed | This specifies the resource ID returned by the ALLOCATE verb or the resource ID assigned by an incoming ATTACH. | RESOURCE |
TEST | Passed | This specifies which condition is to be tested. The POSTED option specifies to test whether the conversation has been posted. The RTSRCVD option specifies to test whether a REQUEST_TO_SEND indication has been received. | TEST | |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
WAIT | RESIDL | Passed | This specifies where a list of resource IDs are located. | RESOURCE_LIST |
RCODE | Returned | This specifies where the return code is to be returned. | RETURN_CODE | |
RESPSTD | Returned | This specifies where the resource ID of the conversation posted is returned. | RESOURCE_POSTED | |
|
The primary return code contains the value zero for normal return. In general, when the primary return code is zero, the secondary return code has no meaning. The following verbs are exceptions to this; for these verbs the secondary return code does contain meaningful information on a normal return:
ACTIVATE_ON_CONFIRMATION
ACTIVATE_ON_RECEIPT
TEST
WAIT
The primary return code contains a nonzero value for an error return. In general, the secondary return code provides more detailed error information. Again, there are exceptions to this; some of the primary return codes do no have a secondary code associated with it.
Table 11 contains a list of all the primary return codes and their
meanings, and Table 12 contains a list of all the secondary return codes and their
meanings. Not all return codes are possible for every verb. The
individual TPF/APPC verb descriptions document the valid return codes for that
TPF/APPC verb. The symbolic names of the return code values are defined
in macro TPPCE.
Table 11. TPPCC Primary Return Codes
Symbolic Name | Hex Value | Meaning |
---|---|---|
LU62RC_OK | 0000 | The function completed successfully. |
LU62RC_PARAMETER_CHECK | 0001 | An invalid parameter was detected. Check the secondary return code. |
LU62RC_STATE_CHECK | 0002 | An invalid state was detected. Check the secondary return code. |
LU62RC_ALLOC_ERROR | 0003 | An allocation error occurred. Check the secondary return code. |
LU62RC_DLLOC_ABEND_PGM | 0006 | An error occurred, and the conversation was deallocated. |
LU62RC_DLLOC_ABEND_SVC | 0007 | An error occurred, and the conversation was deallocated. |
LU62RC_DLLOC_ABEND_TMR | 0008 | An error occurred, and the conversation was deallocated. |
LU62RC_DLLOC_NORMAL | 0009 | The conversation was deallocated. |
LU62RC_POSTING_NOTACTIV | 000B | Posting is not active for the specified conversation. |
LU62RC_PGMERR_NOTRUNC | 000C | A program error occurred. Data was not truncated. |
LU62RC_PGMERR_TRUNC | 000D | A program error occurred. Data was truncated. |
LU62RC_PGMERR_PURGING | 000E | A program error occurred. Data was purged. |
LU62RC_CONVFAIL_RETRY | 000F | The conversation failed due to a session outage. |
LU62RC_CONVFAIL_NORETRY | 0010 | The conversation failed due to a protocol error. |
LU62RC_SVCERR_NOTRUNC | 0011 | A service program error occurred. Data was not truncated. |
LU62RC_SVCERR_TRUNC | 0012 | A service program error occurred. Data was truncated. |
LU62RC_SVCERR_PURGING | 0013 | A service program error occurred. Data was purged. |
LU62RC_LLRCV_UNSUCESFUL | 0014 | The condition checked by the TEST verb was not set. See the TEST verb description for further information. |
LU62RC_ALLOC_UNSUCESFUL | 0015 | The ALLOCATE verb with RCONTROL=IMM was not able to allocate a session to this conversation immediately. |
LU62RC_TPF_ABEND | FFFF | This indicates a system abend or time-out. |
Table 12. TPPCC Secondary Return Codes
Symbolic Name | Hex Value | Meaning |
---|---|---|
LU62RC_POSTED_DATA | 00000000 | The conversation was posted. The information available is data. |
LU62RC_POSTED_NOTDATA | 00000001 | The conversation was posted. The information available is not data. |
LU62RC_PK_BAD_TCBID | 00000001 | A parameter check was detected. The transaction control block (TCB) ID is invalid. |
LU62RC_PK_BAD_CONVID | 00000002 | A parameter check was detected. The resource ID is invalid. |
LU62RC_PK_EMPTY_RESIDL | 00000003 | A parameter check was detected. The resource list specified on the WAIT verb is empty. |
LU62RC_ALLOCERR_NORETRY | 00000004 | An allocation error occurred. Do not retry the request. |
LU62RC_ALLOCERR_RETRY | 00000005 | An allocation error occurred. Retry the request. |
LU62RC_INVALID_LENGTH | 00000006 | A parameter check was detected. The LENGTH parameter coded on the POST_ON_RECEIPT, RECEIVE, or SEND_DATA verb exceeds the maximum value of 32,767. |
LU62RC_AOC_INCOMPLETE | 00000009 | The ACTIVATE_ON_CONFIRMATION verb was accepted. The program specified (PGM) is activated when the CONFIRM function is complete. |
LU62RC_AOR_INCOMPLETE | 00000009 | The ACTIVATE_ON_RECEIPT verb was accepted. The program specified (PGM) is activated when data or other information is available for receipt. |
LU62RC_SKCNFRM_BADSTATE | 00000032 | A state check occurred. This can occur if a CONFIRM or an ACTIVATE_ON_CONFIRMATION with VERB=CONFIRM is issued when the conversation is not in send state or while in the middle of sending a logical record. |
LU62RC_SKCNFRM_INVALID | 00000033 | A state check occurred. A CONFIRM or an ACTIVATE_ON_CONFIRMATION with VERB=CONFIRM was issued for a conversation allocated with a SYNC level of NONE. |
LU62RC_SKCNFMD_BADSTATE | 00000041 | A state check occurred. A CONFIRMED was issued, but the conversation is not in received-confirm, received-confirm-send, or received-confirm-deallocate state. |
LU62RC_PKDLLOC_BADTYPE | 00000051 | A parameter check was detected. An ACTIVATE_ON_CONFIRMATION with VERB=DEALLOCATE or a DEALLOCATE with TYPE=CONFIRM was requested on a conversation allocated with SYNC level of NONE. |
LU62RC_SKDLLOC_FLUSH | 00000052 | A state check occurred. This can occur when a DEALLOCATE with TYPE=FLUSH is issued when the conversation is not in send state or while in the middle of sending a logical record. |
LU62RC_SKDLLOC_CONFIRM | 00000053 | A state check occurred. This can occur when an ACTIVATE_ON_CONFIRMATION with VERB=DEALLOCATE or a DEALLOCATE with TYPE=CONFIRM is issued when the conversation is not in send state, or while in the middle of sending a logical record. |
LU62RC_SKDLLOC_ABEND | 00000056 | A state check occurred. A DEALLOCATE with TYPE=ABEND was issued, but the conversation is in end-conversation state. |
LU62RC_SKDLLOC_LOCAL | 00000057 | A state check occurred. A DEALLOCATE with TYPE=LOCAL was issued, but the conversation is not in end-conversation state. |
LU62RC_SKFLUSH_BADSTATE | 00000061 | A state check occurred. A FLUSH was issued, but the conversation is not in send state. |
LU62RC_SKPOSTR_BADSTATE | 00000092 | A state check occurred. A POST_ON_RECEIPT was issued, but the conversation is not in receive state. |
LU62RC_PKPTRCV_INVTYPE | 000000A1 | A parameter check was detected. An ACTIVATE_ON_CONFIRMATION with VERB=PREPARE_TO_RECEIVE or a PREPARE_TO_RECEIVE with TYPE=CONFIRM was requested on a conversation allocated with SYNC level of NONE. |
LU62RC_SKPTRCV_BADSTATE | 000000A3 | A state check occurred. This can occur if a PREPARE_TO_RECEIVE is issued when the conversation is not in send state or while in the middle of sending a logical record. |
LU62RC_SKRECEV_BADSTATE | 000000B1 | A state check occurred. This can occur if a RECEIVE or ACTIVATE_ON_RECEIPT is issued when the conversation is not in send or receive state or while in the middle of sending a logical record. |
LU62RC_SKRTSND_BADSTATE | 000000E1 | A state check occurred. A REQUEST_TO_SEND was issued, but the conversation is not in send, receive, received-confirm, received-confirm-send, or received-confirm-deallocate state. |
LU62RC_PKSENDD_BADLL | 000000F1 | A parameter check was detected. This can occur if a SEND_DATA is issued without a data message block or with an invalid logical length or if there is bad file chaining in the data block. |
LU62RC_PK_BAD_PROG | 000000F2 | A parameter check was detected. An ACTIVATE_ON_CONFIRMATION or ACTIVATE_ON_RECEIPT verb was issued, but the program specified on the PGM parameter is not defined in the TPNT. |
LU62RC_SKSENDD_BADSTATE | 000000F2 | A state check occurred. A SEND_DATA was issued, but the conversation is not in send state. |
LU62RC_INVALID_MODE_NAME | 000000F3 | An allocation error occurred. This error occurs when the mode name specified on the ALLOCATE verb is SNASVCMG. This mode name is reserved for CNOS processing. |
LU62RC_PK_BAD_PARM | 000000F3 | A parameter check was detected. An ACTIVATE_ON_CONFIRMATION or ACTIVATE_ON_RECEIPT verb was issued, but there is no block on the data level specified by the PARM parameter. |
LU62RC_SKSENDE_BADSTATE | 00000111 | A state check occurred. A SEND_ERROR was issued, but the conversation is in an invalid state. |
LU62RC_NOT_RCV_STATE | 00000122 | A state check occurred. This can occur if a TEST with TEST=POSTED or WAIT is issued, but the conversation is not in receive state. This error also occurs when a TEST with TEST=RTSRCVD is issued while the conversation is not in either send or receive state. |
LU62RC_TP_NOT_AVAIL_RETRY | 084B6031 | An allocation error occurred. The transaction program could not be started. One possible cause is the lack of resources. This is a temporary condition; retry the request. |
LU62RC_TP_NOT_AVAIL_NO_RETRY | 084C0000 | An allocation error occurred. The transaction program could not be started. One possible cause is the lack of resources. This is a permanent condition; do not retry the request. |
LU62RC_TPN_NOT_RECOGNIZED | 10086021 | An allocation error occurred. The transaction program name specified on the ALLOCATE verb was not recognized by the remote LU. |
LU62RC_PIP_NOT_SPECIFIED_ CORRECTLY | 10086032 | An allocation error occurred. The remote LU rejected the allocation request because the PIP parameter specified did not agree with the PIP value defined by the remote program. |
LU62RC_CONV_TYPE_MISMATCH | 10086034 | An allocation error occurred. This indicates that the remote LU rejected the allocation request because the remote transaction program does not support the conversation type requested. |
LU62RC_SYNLVL_NOTSUPORT | 10086041 | An allocation error occurred. An ALLOCATE verb was issued with a value for the SYNC option that the remote LU does not support. |
Table 13. Miscellaneous TPPCC Symbolic Values
Symbolic Name | Value | Verb | Meaning |
---|---|---|---|
LU62_SYNCLVL_NONE | 01 | GET_ATTRIBUTES | The synchronization level of this conversation is NONE. |
LU62_SYNCLVL_CONFIRM | 02 | GET_ATTRIBUTES | The synchronization level of this conversation is CONFIRM. |
LU62WR_SEND | 02 | RECEIVE | The conversation received the SEND indication. There is no message block on data level 0 or at the address specified by the DATA parameter. |
LU62WR_DATACOMPLETE | 03 | RECEIVE | The conversation received a complete logical record. There is a message block on data level 0 or at the address specified by the DATA parameter. |
LU62WR_DATAINCOMPLETE | 04 | RECEIVE | The conversation received an incomplete logical record. There is a message block on data level 0 or at the address specified by the DATA parameter. |
LU62WR_CONFIRM | 05 | RECEIVE | The remote transaction program issued a CONFIRM verb. There is no message block on data level 0 or at the address specified by the DATA parameter. |
LU62WR_CONFIRMSEND | 06 | RECEIVE | The remote transaction program issued a PREPARE_TO_RECEIVE verb with the CONFIRM option. There is no message block on data level 0 or at the address specified by the DATA parameter. |
LU62WR_CONFIRMDLLOC | 07 | RECEIVE | The remote transaction program issued a DEALLOCATE verb with the CONFIRM option. There is no message block on data level 0 or at the address specified by the DATA parameter. |
LU62_RTSND_RCVDYES | 80 |
CONFIRM RECEIVE SEND_DATA SEND_ERROR | A REQUEST_TO_SEND was received on this conversation. |
Examples