gtps1m2v | System Macros |
Use this system macro to do the following:
Together, the GROUP and INDEX macros are used offline to build descriptor (BKD) records, which can be loaded to the online TPF system. These descriptors provide instructions, values, and displacements that are used by recoup processing to chain chase data structures and check which file pools are being used. See TPF Database Reference for more information about descriptors.
Format
|
BCH=TAGLOC BCH=(N,32)
BCH is specified only when the backward chain is the last-in chain and when the OFL parameter is coded.
The CPUID parameter can specify one of the following:
The actual number of ECBs that may be active for this descriptor may be greater depending on how the descriptor macros are coded.
If USE=BASE is specified and no ECB parameter is specified, n defaults to BZNESR-1.
If USE=DSCR is specified and no ECB parameter is specified, n defaults to 0.
Example: A fixed record contains some data indicating that there is no active structure (of pool records) currently attached to the fixed record. You can bypass chain chase processing from this particular fixed record for this recoup run.
Notes:
The INDX parameter can only be used when USE=BASE is coded on the GROUP macro.
When the DSCR parameter in the INDEX macro points to a GROUP macro, it indicates that a pool record has embedded pool addresses and needs additional description by a new set of descriptor parameters. When this occurs, the only parameters necessary on the GROUP macro are MAC, ID, and NBR.
Notes:
Record Type | Days | Alpha |
---|---|---|
PNID and ING | 1 | Total number of ING records assigned for each flight. |
IND | 1 | Number of days in the detail period. |
INM | 1 | 1 |
PNIG | 1 | Number of Alpha groups in the TPF system (#ALPHA) |
TSS | 1 | 1 |
OFL=TAGLOC OFL=(N,24)
Notes:
Entry Requirements
Because this macro is declarative, there are no entry requirements.
Return Conditions
None.
Programming Considerations
Examples
GROUP REG=R7,USE=DATA REG=R7 Base register for the online use. USE=DATA Indication that this GROUP call is for online use.
The following example shows the GROUP macro describing a fixed or anchor record of the data structure being chain chased:
GROUP MAC=LK4KC,ID=00FF,ECB=10,MET=(GY,@NSCKAA,F), TIME=420,NBR=4,GCODE=LINKCHK,USE=BASE,VER=11 MAC=LK4KC LK4KC is the name of data macro describing the record. ID=00FF 00FF is the record identification of the fixed record. ECB=10 No more than 10 ECBs to chase the anchor records MET=(GY,@NSCKAA,F) GY is the address of a global record and @NSCKAA is the global name that has the address. F indicates the address is a file address. TIME=420 420 seconds will be allowed for all ECBs to complete processing of this structure. NBR=4 4 INDEX statement will follow this GROUP statement. GCODE=LINKCHK LINKCHK is the label of user exit code. USE=BASE This GROUP macro is describing a fixed record. VER=11 This is version 11 of this record.
The following example shows the GROUP macro describing a record that was an embedded pool of another record defined previously:
GROUP MAC=MC0MC,ID=MC,NBR=1,USE=DSCR MAC=MC0MC MC0MC is the name of data macro describing the record. ID=MC MC is the record identification of the pool record. NBR=1 1 INDEX statement will follow this GROUP statement. USE=DSCR This GROUP macro is describing a record that was retrieved as an embedded pool address of another record.
The following example shows the GROUP macro describing a record that was an embedded pool of another record defined previously but defaults are used:
GROUP ID=OM,USE=DSCR ID=OM OM is the record identification of the pool record. USE=DSCR This GROUP macro is describing a record that was retrieved as an embedded pool address of another record. Defaults were used were ECB=0, MAC=Same data macro of previous record, NBR=1, SUFFIX=' ', TIME=0.
The following example shows the GROUP macro describing a fixed or anchor record sequential in nature.
GROUP MAC=CI0CO,ID=CO,ECB=10,MET=SEQ,TYP=#RCBRA, NBR=4,TIME=480,USE=BASE MAC=CI0CO CI0CO is the name of data macro describing the record. ID=CO CO is the record identification of the fixed record. ECB=10 No more than 10 ECBs to chase the anchor records MET=SEQ The method of access is sequential and defaults are used for first, last and ord subparameters. Starts with ordinal 0 and ends with a FACE error. Processing will continue until a FACE error is indicated. TYP=#RCBRA #RCBRA is the FACE record type. TIME=480 480 seconds will be allowed for all ECBs to complete processing of this structure. NBR=4 4 INDEX statement will follow this GROUP statement. USE=BASE This GROUP macro is describing a fixed record.
The following example shows how the GROUP and INDEX macros are used together online:
GROUP REG=R7,USE=DATA INDEX REG=R2 This example shows the use of the GROUP and INDEX to access different fields in the BKDx records.
GROUP and INDEX macros are combined to describe fixed and pool record structures currently existing on a user database. Together, they logically describe a structure.
AAA GROUP USE=BASE,NBR=2 INDEX TYP=C INDEX TYP=F,DSCR=BBB BBB GROUP USE=DSCR,NBR=2 INDEX TYP=C INDEX TYP=F,DSCR=CCC CCC GROUP USE=DSCR,NBR=1 INDEX TYP=CIn offline programs, GROUP and INDEX macros are used to build BKDx records.
The USE parameter on the GROUP macro establishes a particular data record as either fixed (USE=BASE) or pool (USE=DSCR). Subsequent INDEX macros related to the GROUP macro immediately preceding it describe additional embedded pools that are chained together by coding its DSCR parameter. This DSCR parameter points to a subsequent GROUP macro with its USE parameter coded as USE=DSCR. The subsequent GROUP macro would then have related INDEX macros that would either continue the chained data record structure by using its DSCR parameter coded to point to a subsequent group (for example, AAA to BBB to CCC), or would end the chain of data records by eliminating the DSCR parameter from the subsequent INDEX macro at any point in a data record chain.
The following example has two anchor chains, XRRT and NCB, indicated by the USE=BASE parameter.
BEGIN NAME=xxxx,VERSION=zz,IBM=YES DC AL2(2) NUMBER OF DESCRIPTORS DC S(XRRT) FIRST DESCRIPTOR DC S(NCB) SECOND DESCRIPTOR XRRT GROUP MAC=UT2RT,ID=UT,ECB=31,TYP=#UT2RT,MET=SEQ, NBR=1,TIME=240,USE=BASE INDEX TYP=V,FI=UT2DAT,FA=(,UT2RRS-UT2DAT),CNT=(2,UT2EID), ID=US,DSCR=XRRS,LI=L'UT2DAT XRRS GROUP ID=US,NBR=1,USE=DSCR INDEX TYP=C,ID=US NCB GROUP MAC=NC0CB,USE=BASE,ID=CB,ECB=32,MET=SEQ, TYP=#NCBRI,NBR=2,TIME=600 INDEX TYP=F,FA=NC0FRST,ID=MI INDEX TYP=F,FA=NC0CUR,ID=OM,DSCR=OM OM GROUP USE=DSCR,NBR=1,ID=OM INDEX TYP=C,ID=OM FINIS END
TPFCS5 GROUP ID=FC13,NBR=1,IND=C,USE=TPFCS INDEX TYP=F,FA=( ,8),ID=FC13