Use this macro to copy a subfile. After executing the command, the
TPFDF product closes the subfile and performs all subsequent actions on the
copy.
- 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:
- A register that contains the address of the algorithm argument
- A literal value that specifies the algorithm argument (for example,
ALG==C'SMITH')
- A label in one of the following formats:
- algarg
- is the label of a field that contains the algorithm argument.
- A/algarg
- is the label of a 4-byte field that contains the storage address of the
algorithm argument.
- 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.
- 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:
- A register that contains the address of the interleave number
- An absolute value representing the interleave number
- The label of a 2-byte field that contains the interleave number.
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:
- A register that contains the address of the partition number
- An absolute value representing the partition number
- The label of a 2-byte field that contains the partition number.
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.
- 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.
- POOLTYP
- overrides the pool type defined by the database administrator,
where:
- 0
- uses the pool type defined by the PF0 parameter of the DBDEF macro.
- 1
- uses the pool type defined by the PF1 parameter of the DBDEF macro.
- 2
- uses the pool type defined by the PF2 parameter of the DBDEF macro.
- type
- is the label of a 1-byte field that contains a 0, 1, or 2 to specify to
pool type.
Use the POOLTYP parameter as directed by the database administrator.
- SUFFIX=char
- allows you to use the same DSECT to map two different areas of storage,
where char is the suffix character.
- TOADD=toaddlbl
- copies the subfile to a specified prime block, where toaddlbl is
a 4-byte field containing the address of the prime block.
If you want to create a new pool subfile, do one of the following:
- Do not specify this parameter
- Specify an address of hexadecimal zeros for this parameter.
If you specify the TOADD parameter, the new subfile overwrites any data
that is already there.
If used in a commit scope, the prime block specified by the TOADD parameter
must be opened in the same commit scope as the subfile that is being
copied. See Commit Scopes for more information about commit scopes.
- HELD
- specifies that the entry control block (ECB) is already holding the file
address specified by the TOADD parameter.
The following example copies a subfile to the file address specified at
label EBX040. This file address is already being held by the
ECB.