bdfp1m1zProgramming Concepts and Reference

DBADR-Provide the File Address of a Prime Block

Use this macro to get the file address of a prime block in a fixed file.

You can also use the DBADR macro to specify a range of ordinals to be used in subsequent fullfile processing.

Format




REF=dsectvv
specifies the file or subfile that you want to access, where dsectvv is the DSECT name and an optional 2-character version.

REF=refname
specifies the file or subfile that you want to access, where refname is a label that references the DSECT name in one of the following formats:

refname
is the label of an 8-byte field that contains the 6-byte DSECT name and an optional 2-character version.

A/refname
is the label of a 4-byte field that contains the storage address of the DSECT name and an optional 2-character version.

FILE=dsect
specifies the file or subfile that you want to access, where dsect is the DSECT name.

R3=address
specifies the location of the SW00SR slot for this subfile, where address is the label of a field that contains the address of the SW00SR slot. Register 3 will be loaded with this address.
Note:
Do not use this parameter; it is provided only for migration purposes. Use the REF parameter to specify the file that you want to access.

ALG=algarg
identifies the subfile that you want to access, where algarg specifies an algorithm argument.

The TPFDF product uses the algorithm argument to determine the subfile (ordinal number) that is to be accessed. Specify the algorithm argument based on the type of algorithm that is defined in the DSECT or DBDEF macro for the file. If the DSECT or DBDEF macro defines the #TPFDB04 or the #TPFDB0D algorithm, do not use this parameter.

If the subfile you are accessing is contained in a detail file or intermediate index file defined with the #TPFDBFF algorithm, the TPFDF product uses the algorithm argument to locate the subfile. See TPFDF Database Administration for more information about how the TPFDF product uses the algorithm argument to locate the subfile.

Specify algarg as one of the following:

Note:
Do not modify the area of storage containing the algorithm argument until the subfile is closed.

ORD=ordnum
identifies the subfile that you want to access, where ordnum is one of the following:

ordnum
is the label of a 4-byte field that contains the ordinal number of the subfile.

A/ordnum
is the label of a 4-byte field that contains the storage address of the ordinal number of the subfile.

If the file is partitioned or interleaved, specify the relative ordinal number within the partition or interleave. If the file is not partitioned or interleaved, specify the file address compute program (FACE) ordinal number.

BEGALG=begalgstr
calculates the begin ordinal number for use in a subsequent macro that specifies the FULLFILE parameter, where begalgstr is one of the following:

begalgstr
is the label of a field that contains the algorithm string used to calculate the ordinal number.

A/begalgstr
is the label of a 4-byte field that contains the storage address of the algorithm string used to calculate the ordinal number.

ENDALG=endalgstr
calculates the end ordinal number for use in a subsequent macro that specifies the FULLFILE parameter, where endalgstr is one of the following:

endalgstr
is the label of a field that contains the algorithm string used to calculate the ordinal number.

A/endalgstr
is the label of a 4-byte field that contains the storage address of the algorithm string used to calculate the ordinal number.

BEGORD=bordnum
specifies the begin ordinal number for use in a subsequent macro that specifies the FULLFILE parameter, where bordnum is one of the following:

bordnum
is the label of a field that contains the ordinal number.

A/bordnum
is the label of a 4-byte field that contains the storage address of the ordinal number.
Note:
This parameter is provided only for migration purposes. Use the BEGALG parameter to specify the begin ordinal number.

ENDORD=eordnum
specifies the end ordinal number for use in a subsequent macro that specifies the FULLFILE parameter, where eordnum is one of the following:

eordnum
is the label of a field that contains the ordinal number.

A/eordnum
is the label of a 4-byte field that contains the storage address of the ordinal number.
Note:
This parameter is provided only for migration purposes. Use the ENDALG parameter to specify the end ordinal number.

WRAPAROUND
reads LRECs from the start of the file to the end until it has read the whole file. Use this parameter value only when you intend to use fullfile processing.

For example, consider a file that contains five subfiles and the current subfile is number 3. If you specify the WRAPAROUND parameter, and then call a DBRED macro with the FULLFILE parameter, LRECs would be read from the subfiles in the order: 3, 4, 0, 1, 2.

ERROR=spmlbl
branches to the specified location if a serious error is detected when processing the macro, where spmlbl is a TPFDF structured program macro (SPM) label defined with the #LOCA macro. See TPFDF and TPF Structured Programming Macros for more information about the #LOCA macro. See Identifying Return Indicators and Errors for more information about serious errors.

ERRORA=asmlbl
branches to the specified location if a serious error is detected when processing the macro, where asmlbl is an assembler label. See Identifying Return Indicators and Errors for more information about serious errors.

INTERLV=intrlvnum
specifies the number of the interleave that you want to use, where interlvnum is one of the following:

If you specify this parameter, the maximum interleave number must be defined in the DSECT or DBDEF macro. See TPFDF Database Administration for more information about interleaves.

PARTITN=partitnum
specifies the number of the partition that you want to use, where partitnum is one of the following:

If you specify this parameter, the number of partitions and the end ordinal must be defined in the DSECT or DBDEF macro. See TPFDF Database Administration for more information about partitions.

Note:
Do not use this parameter with the #TPFDB0F algorithm. This algorithm calculates the partition used from the algorithm argument. See TPFDF Database Administration for more information about algorithms.

NODUMP
specifies that you do not want the TPFDF product to issue any of the following system errors while processing this macro:

See Messages (System Error, Online, Offline) and Master Glossary for more information about these system errors.

Note:
Using the NODUMP parameter is not recommended because it can prevent system errors from being issued that indicate a critical problem.

NOPGM
specifies not to change the program stamp in a block when filing it.

PATH=pathnum
specifies the path number for a detail subfile using index support, where pathnum is the path number or the label of a 2-byte field that contains the path number. The number of index paths used is defined by your database administrator. If there is only one index path, do not specify this parameter.

See TPFDF Database Administration for more information about path numbers.

SUFFIX=char
allows you to use the same DSECT to map two different areas of storage, where char is the suffix character.

Entry Requirements

None.

Normal Return

The DBADR macro does not change the current LREC even if you specify a different value for the ALG parameter with the DBADR macro from that which was used to locate the LREC.

Error Return

 See Identifying Return Indicators and Errors for information about how to check the error indicators. 

Programming Considerations

Examples

Related Macros