Use the TPPCC general macro with the DEALLOCATE verb specified to
deallocate the specified conversation from the transaction program. An
implied FLUSH is executed and the resource ID becomes unassigned when the
deallocation is complete.
Format
- label
- A symbolic name can be assigned to the macro statement.
- DEALLOCATE
- Directs the TPPCC macro to perform the DEALLOCATE verb function.
- RESID
- Specifies the symbolic name of a field or a register that points 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 deallocation to be performed. The value must
be one of the following:
- SYNC
- Specifies that either the FLUSH or CONFIRM function should be performed
before the conversation is deallocated, depending on the SYNC level specified
at ALLOCATE time.
- FLUSH
- Specifies that the function of the FLUSH verb should be executed, and then
the conversation should be deallocated.
- CONFIRM
- Specifies that the function of the CONFIRM verb should be executed, and
then the conversation should be deallocated.
- LOCAL
- Specifies that the conversation should be deallocated locally. This
type of deallocation can be specified only if the conversation is
already in end-conversation state.
- ABENDP|ABENDS|ABENDT
- The 3 abend parameters specify that the conversation should be
unconditionally deallocated. Logical record truncation can occur when
the conversation is in send state, and data purging can occur when
the conversation is in receive state. The only difference
among the 3 abend codes is the sense codes used to notify the remote
transaction program. ABENDP is intended to be used by the application
transaction program to indicate that it is requesting the deallocation.
ABENDS and ABENDT are intended to be used by the TPF/APPC support routines
when they request the deallocation.
- LOGDATA
- Specifies whether error information should be logged. NO is the
only option supported. 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 that points 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.
Entry Requirements
- The conversation must be in the following state, depending on the type of
deallocation requested:
- Type
- State Required
- FLUSH
- send
- CONFIRM
- send
- LOCAL
- end-conversation
- ABEND
- send, receive, received-confirm,
received-confirm-send, or 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 table contains a list of the primary and secondary return
codes that can be returned to the program that issued the DEALLOCATE
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_PARAMETER_CHECK
| 0001
|
|
LU62RC_PK_BAD_TCBID
| ....
| 00000001
|
LU62RC_PK_BAD_CONVID
| ....
| 00000002
|
LU62RC_PKDLLOC_BADTYPE
| ....
| 00000051
|
LU62RC_STATE_CHECK
| 0002
|
|
LU62RC_SKDLLOC_FLUSH
| ....
| 00000052
|
LU62RC_SKDLLOC_CONFIRM
| ....
| 00000053
|
LU62RC_SKDLLOC_ABEND
| ....
| 00000056
|
LU62RC_SKDLLOC_LOCAL
| ....
| 00000057
|
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
|
|
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 or one that was assigned by an incoming ATTACH.
- When the DEALLOCATE is complete, the conversation identified by the
resource ID is completed, and no further verbs can be issued for that
conversation.
- If the transaction program exits without deallocating a conversation, TPF
does not deallocate that conversation. The program should call this
macro for all conversations before exiting.
- If TYPE=CONFIRM is specified, the normal response from the remote
transaction program is CONFIRMED. However, if the remote issues a
DEALLOCATE TYPE=ABEND, the local transaction program goes into end
conversation state. If the remote transaction program issues a
SEND_ERROR, the local program goes into receive state, and the
conversation continues.
- If TYPE=CONFIRM is specified, TPF's EVENT and POST facility is used
to suspend the ECB until the program receives the confirmation reply.
Since the ECB is suspended, all unnecessary resources should be released
before this verb is issued. Failure to do so can cause serious system
degradation.
- Note:
- You can avoid the problem of suspended ECBs by using the
ACTIVATE_ON_CONFIRMATION verb instead of DEALLOCATE. See TPPCC ACTIVATE_ON_CONFIRMATION for more information.
- If TYPE=CONFIRM is specified and the program does not receive a
confirmation reply within a certain amount of time, the TPF/APPC support
issues an unbind to terminate the conversation. The amount of time that
the system waits is determined by the value you specify for the TPRECV
parameter on the SNAKEY macro. See TPF ACF/SNA
Network Generation for information about the SNAKEY macro.
- The remote transaction program receives the deallocation notification by
means of either a return code or the WHAT_RECEIVED indication. (See the
WHATRCV parameter of the RECEIVE verb; TPPCC RECEIVE).
- See Programming Considerations for the programming considerations relating to the TPPCC
macro in general.
Examples
SYMB100 TPPCC DEALLOCATE, X
RESID=EBW004, X
TYPE=FLUSH, X
LOGDATA=NO, X
RCODE=EBW010