bdfp1m2nProgramming Concepts and Reference

DBTLG-Write a File or Subfile to Tape

Use this macro to write a file, or part of a file, to a real-time tape, a general tape, or a sequential data set.

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.

TAPE=tapename
specifies the tape or sequential data set to which you want the file to be written, where tapename is a 3-character symbolic tape name.

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.

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

faddr
is the label of a 4-byte field that contains the file address of the prime block of the subfile.

A/faddr
is the label of a 4-byte field that contains the storage address of the file address of the prime block of the subfile.

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.

CHKA=rcc
checks the record code check (RCC) value in each block, where rcc is the label of a 1-byte field that contains the RCC character.

NOCHK
specifies that you do not want to check the record code check (RCC) value of the blocks.

DELETE
deletes all the LRECs in the file after the file is written to tape or sequential data set. Any previously chained blocks are returned to pool. If the file is a pool file, all prime blocks are released.

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.

FULLFILE
writes LRECs from the whole input file (not from a single subfile) to tape or sequential data set.

INCLUDE
writes additional subfiles to tape or sequential data set. The DBTLG macro writes the subfiles to tape or sequential data set in sequence.

fname
is the name of the additional subfile or subfiles that you want to write to tape.

LIST=loc
specifies a list of subfiles that you want to write to tape in addition to the file or subfile specified with the REF parameter, where loc is the location of a 22-byte field containing a list of as many as 10 file IDs. Specify one of the following:

loc
is the label of the field that contains the list.

A/loc
is the label of a 4-byte field containing the storage address of the field that contains the list.

The list starts with a 2-byte field that contains a halfword count of the number of file IDs referenced, each subsequent 2-byte field contains a file ID.

Note:
The list contains the file IDs, not the file names.

ALL
writes all the detail subfiles referenced by LRECs in the main subfile or file to tape.

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.

INITIALISE
initializes the DASD file after writing it to tape. Any blocks that are chained to the prime block are released.

All the LRECs in the prime block are deleted, and the next available byte (NAB) in the header indicates the first byte directly after the header.

The TPFDF product retains the prime block of a pool file. The prime block consists of a block that is empty, apart from the header and file identifier.

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

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

None.

Error Return

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

Programming Considerations

Examples

Related Macros