Use this general macro to:
- Define entries in the transaction program name table (TPNT).
This is one of the initial tasks you must perform to use the TPF/APPC
support package. The TPNT defines the local TPF transaction program
names that are activated by either the remote transaction programs, the
TPF/APPC ACTIVATE_ON_CONFIRMATION verb, or the TPF/APPC ACTIVATE_ON_RECEIPT
verb. The table resides in a user-replaceable program segment (CHQ0)
and contains:
- The transaction program name carried in the ATTACH message received from a
remote LU 6.2 node, or issued on the ACTIVATE_ON_CONFIRMATION or
ACTIVATE_ON_RECEIPT verb.
- The associated TPF E-type program segment that provides the application
function.
See TPF ACF/SNA Data Communications Reference for
more information about the tasks for installing TPF/APPC support.
- Generate the instructions to search the TPNT for a specified entry.
Format
- label
- is a label for the ITPNT macro. The label is not used and is
ignored if it is specified.
- MF
- specifies the macro form, which can be one of the following:
- L
- generates a TPNT entry.
- E
- generates the instructions necessary to search the TPNT for a specified
TPF transaction name. This is the executable form of the ITPNT
macro.
- F
- generates the final TPNT entry for this segment.
- TYPE
- specifies the type of transaction program name being defined. The
type determines how the transaction program can be activated. Specify
one of the following:
- ATTACH
- When an ATTACH FMH5 containing the transaction program name specified on
the TPN parameter is received from a remote LU, TPF/APPC support uses the
SWISC macro to activate the program specified on the PGM parameter. The
program that is activated must be designed to accept the TPF ATTACH
interface.
- AOR
- When a transaction program issues the TPF/APPC ACTIVATE_ON_RECEIPT or
ACTIVATE_ON_CONFIRMATION verb, TPF/APPC support uses the SWISC macro to
activate the TPF real-time entry control block (ECB) segment specified on the
PGM parameter.
If you specify TYPE=AOR, the values specified for both the PGM and TPN
parameters must be identical and must name an allocated TPF E-type program
name.
- Note:
- See the TPPCC-TPF/APPC Conversation Verb Macro for more information about the ACTIVATE_ON_RECEIPT and
ACTIVATE_ON_CONFIRMATION verbs.
- TPN=tpname
- specifies the local transaction program name known to the TPF
system.
Notes:
- If you specify TYPE=ATTACH, this entry defines the transaction program
name carried in an ATTACH FMH5 record received from a remote transaction
program. In this case, the length of tpname can be from 1 to
64 characters.
- If you specify TYPE=AOR, this entry defines a transaction program segment
name used with the TPF/APPC ACTIVATE_ON_RECEIPT and ACTIVATE_ON_CONFIRMATION
verbs. In this case, tpname must be identical to the value
specified for the PGM parameter.
- If you specify TYPE=AOR and do not specify a value for this parameter,
tpname defaults to the value specified for the PGM parameter.
- PGM=tpgm
- specifies the name of the TPF E-type program associated with the
transaction program name specified for the TPN parameter.
Notes:
- If you specify TYPE=ATTACH, this is the name of the TPF program that is
activated when an ATTACH FMH5 is received from a remote LU.
- If you specify TYPE=AOR, this is the name of the TPF program that is
activated when a message or other information is available to satisfy the
TPF/APPC ACTIVATE_ON_RECEIPT and ACTIVATE_ON_CONFIRMATION verbs.
- If you specify TYPE=AOR and do not specify a value for this parameter,
tpgm defaults to the value specified for the TPN parameter.
- IS
- specifies the I-stream on which the activate transaction program is
executed. Specify one of the following:
- ANY
- specifies that the transaction program can run on any available
I-stream. A SWISC macro is generated and the TPF system chooses any of
the available I-streams. The SWISC load balancing decision is made at
execution time and, therefore, a transaction program defined as IS=ANY can
cause the defined transaction program to run on multiple I-streams
concurrently.
- MAIN
- specifies that the transaction program can run on only the main
I-stream. Specify this parameter when the TPF system is generated to
run in a single I-stream environment.
- isnum
- specifies that the transaction program can run only on a particular
I-stream, where isnum is the I-stream.
- sprog
- is the TPF E-type program to be activated next to continue the search of
TPNT entries if the transaction program name is not found in this part of the
TPNT.
- RETURN
- specifies that this is the last segment of the TPNT to be searched.
If the requested transaction program is not found, control is returned to the
caller with a not found indication.
Entry Requirements
Return Conditions
- When the TPF programs containing these tables are activated, control is
returned to the calling program only if the name of the transaction program
cannot be found, or the VERIFY option was specified.
- If the transaction program name is found and the ACTIVATE option was
specified, a SWISC macro is called to activate the associated TPF
program.
For ATTACH processing, data levels D0 and DF are released before the SWISC
macro is called. For AOR processing, data level DF is released before
the SWISC macro is called, and the data level specified on the original
TPF/APPC ACTIVATE_ON_RECEIPT or ACTIVATE_ON_CONFIRMATION verb is placed on the
same data level for the newly activated ECB, or the TOKEN specified on the
original verb is placed in EBX000.
- If control is returned to the calling program, a value of 0 is placed in
R0 to indicate that the transaction program name was found, or a value of 4 is
placed in R0 to indicate that the transaction program name was not
found.
- See Programming Considerations for additional information on return conditions.
Programming Considerations
- The ITPNT macro is used only in the TPF segments that are used to define
the transaction program name table (TPNT).
- In the segments that are used to define the transaction program name
table, the first ITPNT macro must specify the E option for the MF parameter to
generate the code to search the TPNT. The local TPF transaction program
names are then defined with the L option for the MF parameter. To
indicate the last entry for this segment, the last ITPNT macro must specify
the F option for the MF parameter.
- In a loosely coupled complex, if any remote LUs require sessions with only
1 TPF processor (single image view) and the TPF system will initiate
conversations with these remote LUs, define the service transaction program as
follows:
ITPNT TYPE=ATTACH,PGM=CHRP,TPN=TPF_SERVICE_TP
ITPNT TYPE=AOR,PGM=CHRM,TPN=CHRM
- If all of the local TPF transaction program names do not fit in the TPF
segment CHQ0, additional program names can be added to a continuation
segment. The TPF program name of the continuation segment is specified
with the E option of the MF parameter. See the examples that
follow.
- Note:
- The first segment containing the TPNT entries must be CHQ0.
- If the requested TPF transaction program name is found, and the ACTIVATE
option was specified, the SWISC macro is called to activate the TPF
program. If the VERIFY option was specified, a value of 0 is placed in
R0 before returning to the calling program.
- If the requested TPF transaction program name is not found and
MF=(E,sprog) is specified, control is transferred to the program
specified by sprog to continue the search.
- If the requested TPF transaction program name is not found and
MF=(E,RETURN) is specified, control is returned to the caller with a value of
4 in R0.
Examples
The following example shows a TPNT that is split across 2 real-time
segments, CHQ0 and CHQ1. The first ITPNT macro call in CHQ0 specifies
that the table is continued in segment CHQ1; if the TPF transaction name
is not found in the entries defined in CHQ0, the application will continue
looking in segment CHQ1. The first ITPNT macro call in CHQ1 specifies
that this is the end of the table.
BEGIN NAME=CHQ0
*
* Generate the table lookup code for this segment
*
ITPNT MF=(E,CHQ1) Continue table in CHQ1
*
* Generate the TPNT entries for this segment
*
ITPNT MF=L, X
TPN=FAREQUOTE, X
PGM=FQFQ, X
IS=ANY
*
* Define Program to handle ACTIVATE_ON_RECEIPT
*
ITPNT MF=L, X
TYPE=AOR, X
TPN=CONT, X
PGM=CONT, X
IS=ANY
ITPNT MF=L, X
TPN=BAGGAGE, X
PGM=BAGS, X
IS=ANY
ITPNT MF=L, X
TPN=E_MAIL, X
PGM=MAIL, X
IS=ANY
ITPNT MF=L, X
TPN=FILETRANSFER, X
PGM=XFER, X
IS=ANY
ITPNT MF=F
LTORG
FINIS
END
*------------------------------------------------------------*
BEGIN NAME=CHQ1
*
* Generate the table lookup code for this segment
*
ITPNT MF=(E,RETURN) Last segment of TPNT
*
* Generate the TPNT entries for this segment
*
ITPNT MF=L, X
TPN=HOTEL_RESERVATIONS, X
PGM=HOTL, X
IS=MAIN
ITPNT MF=L, X
TPN=TEST_ECHO_PROGRAM, X
PGM=TEST, X
IS=ANY
ITPNT MF=L, X
TPN=TC_ISTREAM3_TEST, X
PGM=TCT3, X
IS=3
ITPNT MF=L, X
TPN=REPORT_TRANSFER, X
PGM=RPT0, X
IS=ANY
ITPNT MF=F
LTORG
FINIS
END