Miscellaneous parameters

Use the miscellaneous parameters to define the remaining characteristics of your file.

Read syntax diagramSkip visual syntax diagram,ACPDB=YES,ACPDB=NO,ALWAYS=NO,ALWAYS=YES,APL=C' appl',DATABASE= dbname,ALIAS= aliasname1,VERSION=0,VERSION= version,DELEMPTY=NO,DELEMPTY=YES,DEV=A,DEV=BCD,EMPTYCHECK=NO,EMPTYCHECK=YES,ENCRYPTALLOW=NO,ENCRYPTALLOW=YES,FVN=0,FVN= versionnbr,IBMSHIP=NO,IBMSHIP=YES,KEYCHECK=NO,KEYCHECK=YES,MAXLLR= maxllr,PACKINHI=COND,PACKINHI=NO,PACKINHI=YES,PF0=LS2,PF0=SS,PF0=LD,PF0=LD6,PF0=SS6,PF1=SS,PF1=LS,PF1=LD,PF1=LD6,PF1=SS6,PF2=LS,PF2=SS,PF2=LD,PF2=LD6,PF2=SS6,PLI=100,PLI= packlimit,REMOTEALLOW=NO,REMOTEALLOW=YES,SIZECHK=NO,SIZECHK=YES,SSU=N,SSU=CU,(MDBF,EXCLUDE,SSU=(ssunames)),,(MDBF,SSU=(ssunames),overrides),SUFFIX= suffix,TM=NO,TM=YES,TRS= trailersize,UNIQUE=YESNO
Notes:
  • 1 If the ALIAS parameter is not specified, the alias name defaults to the value that is specified on the FILE parameter on the DBDEF macro.
  • 2 For W-type files, the default value for the PF0 parameter is SS.
ACPDB
Specifies whether this is a z/TPFDF file.
NO
Specifies that this a non-z/TPFDF file. The z/TPFDF product uses the DBDEF macro definitions for chain chasing during the processing of recoup and CRUISE, but cannot access or manipulate the file by using other macros and functions.
YES
Specifies that this is a z/TPFDF file. The z/TPFDF product uses the DBDEF macro definitions for chain chasing during the processing of recoup and CRUISE, and can access and manipulate the file by using other macros and functions. The file type must be R, W, T, or P. For more information about file types, see File names (DSECT names).
ALWAYS
Specifies one of the following values:
NO
Specifies that this file is not always open. Applications must close this file by using the DBCLS macro or the dfcls function before the ECB exits.
YES
Defines that this file is always open until the ECB exits. This ensures that after a subfile is opened, it will not be closed by the DBCLS macro or the dfcls function unless the ALWAYS parameter or the DFCLS_ALWAYS value is specified on the API call. This is true even if the REF=ALL parameter or the DFCLS_ALL value is specified.
Notes:
  • If any always open subfiles are still open when an ECB exits, the DB0112 system error that would normally occur will be inhibited for such subfiles. Any updates to the subfile that have not been filed will be lost.
  • Always open subfiles that were retrieved by using the HOLD parameter or the DFOPN_HOLD value must be closed by the application before the ECB exits.
APL=C'appl'
Overrides any application type that was specified in the first character of the 6-character DSECT name, where appl is a one-character type of application. For example:
APL=C'G'

For more information about application types, see File names (DSECT names).

DATABASE=dbname
Specifies a database name for the file, where dbname is up to an 8-character uppercase alphanumeric name. The following values are not allowed as database names:
  • ALL
  • DATABASE
  • USER
Note: Do not specify the DATABASE parameter for algorithm information files (ALGINFOFOR parameter is specified) or for B+Tree node files (NODE=YES is specified).
ALIAS=aliasname
Specifies an alias name for the file, where aliasname is up to a 16-character mixed-case alphanumeric name.
VERSION=version
Specifies the version of the DBDEF, where version is up to a 4-digit decimal value.
DELEMPTY
Specifies one of the following values:
YES
Specifies that the z/TPFDF product will delete empty blocks without packing the subfile. Specifying DELEMPTY=YES requires the following considerations:
  • The file must be R-type or W-type.
  • Backward chaining must be indicated by setting the FULLBCH=YES parameter or setting bit 0 of global set symbol &SW00OP1 to 1.
  • The DBDEF NODE parameter must be NO.
  • The DBDEF FVN parameter must be 0.
NO
Specifies that the z/TPFDF product will delete empty blocks only when the subfile is packed.
Note: When specifying DELEMPTY=YES for a W-type file that is the container for T-type LRECs, application segments that are using DBDEL of that T-type DSECT must be reassembled.
DEV
Specifies the device type used by the z/TPFDF product with the z/TPF GETFC macro.
Note: A, B, C, and D refer to different DASD types defined when the system is initialized. For more information, see z/TPF and z/TPFDF System Generation.
EMPTYCHECK
Specifies one of the following values:
NO
Does not check the subfile completely to ensure that it is empty.
YES
Checks the subfile completely to ensure that it is empty. If specified, SW00RT2 #BIT5 is set to 0 if the subfile is not empty and set to 1 if it is empty.
Note: The application can override the DBDEF EMPTYCHECK value by specifying the EMPTYCHECK value on the DBDEL macro or the DFDEL_EMPTYCHECK value on the dfdel function.
ENCRYPTALLOW
Specifies one of the following values:
YES
Specifies that the data blocks for this file can be encrypted if an encryption trailer is allocated for the subfiles and encryption is enabled for this file.
NO
Specifies that the data blocks for this file cannot be encrypted.
Notes:
  • When z/TPFDF utilities process subfiles with a file version other than 0 defined in the DBDEF, the encryption setting for file version 0 is used.
  • If you specify YES for this parameter, extra space is reserved in the trailer of each data block as follows:
    • When subfiles are initialized by using the ZUDFM INIT command, the encryption trailer is automatically reserved.
    • Existing subfiles must be expanded by using the CRUISE pack function with the ENCRYPTMIG parameter specified as YES.
  • If the trailer size is expanded, the maximum LREC size is reduced accordingly.
FVN=versionnbr
Identifies the version of a file, where versionnbr is a number in the range 0 - 254. For example,
FVN=3
identifies the file as version 3. Other versions of the file can be defined with a different block layout.
Note: The first DBDEF statement for an ID must be defined with file version 0 explicitly or implicitly. Otherwise, no DBDEF entries for the ID will be indexed in the central database table and all entries for the ID will be skipped during ZUDFM DEF command processing with the INIT parameter specified. Additional macro statements for different versions of a file must then be defined contiguously following the statement for file version 0 but can be in any order.
IBMSHIP
Specifies one of the following values:
YES
Specifies that this file is shipped by IBM.
NO
Specifies that this file is not shipped by IBM.
KEYCHECK
Specifies one of the following values:
YES
Validates the default keys before replacing or modifying an LREC, which will prevent corruption of the file organization.
Note: If you use global modification when KEYCHECK=YES and any of the fields being modified overlap any default key fields for that primary key in the file, the z/TPFDF product issues a system error (DB0139) and processing ends. All records that were changed before processing ended remain changed.
NO
Does not validate the default keys before replacing or modifying an LREC.
MAXLLR=maxllr
Specifies the maximum length that is allowed for a large logical record (LLR). If the MAXLLR parameter is not specified, the value of the #LLRMLR equate in the ACPDBE macro is used. If both the MAXLLR parameter and the #LLRMLR equate are specified, the value of the MAXLLR parameter is used. The minimum value for this parameter is 4096.
PACKINHI
Specifies whether packing is inhibited for this file during recoup chain-chase:
COND
Packing is inhibited during recoup chain-chase only if this file includes a forward index path. Packing is inhibited for these files because recoup might not process index LRECs if they are moved to a block that was already chain chased. The COND value provides the highest level of data integrity by minimizing the chance that recoup will not chain chase subfiles referenced by index LRECs, which would result in lost file addresses. However, this can increase pool usage and LREC access time during recoup phase 1 for files that include a forward index path.
NO
Packing is not inhibited for this file during recoup chain-chase. The NO value minimizes pool usage and LREC access time during recoup phase 1. However, there is a risk that recoup might not process index LRECs if this file has a forward index path, which can result in lost file addresses.
YES
Packing is inhibited for this file during recoup chain-chase even if this file does not include a forward index path. The YES value provides the highest level of data integrity by minimizing the chance that recoup will not chain chase subfiles referenced by index LRECs, which would result in lost file addresses. However, if this file does not include a forward index path, this can unnecessarily increase pool usage and LREC access time during recoup phase 1.
Notes:
  • The default for the PACKINHI parameter is specified by setting symbol &INHIDEF in the DBLCL macro.
  • By default, the packing is inhibited from the start of the recoup chain-chase phase until the end. To minimize this time you must use the DBTAG parameter to group IDs that need to be inhibited from packing. For more information about the DBTAG parameter, see Forward index path (recoup and CRUISE) parameters.
  • Inhibit packing for a file that contains large logical records (LLRs) that are deleted or replaced during recoup processing.
For more information about the &INHIDEF symbol, see Setting symbols in the DBLCL macro. For more information about forward indexing, see Forward index path (recoup and CRUISE) parameters.
PF0
Specifies the type of pool file addresses that are associated with pool file 0 (PF0). The pool file type that is associated with PF0 is used by a z/TPFDF macro or function when the POOLTYP=0 parameter is specified with that macro or function. For example, when PF0=SS is specified, the following macro call creates a short-term pool file:
DBCRE REF=IR00DFX,POOLTYP=0
Note: For W-type files, the default is always short-term (SS) and must not be changed.
LS
Long-term non-duplicated pool.
SS
Short-term pool.
LD
Long-term duplicate pool.
LD6
Long-term duplicate pool, FARF6 address.
Notes:
  • Use this pool setting for new FARF6 files.
  • After the database definition is loaded, initialize the new file with the ZUDFM INIT command to ensure that the headers are formatted correctly for z/TPFDF FARF6 processing.
  • Do not use this pool setting for files that are in the process of being migrated. The DBDEF SW00OP5 bit settings are used to determine the pool type to be used for files that are being migrated.
  • Do not use this pool setting for files that use FARF6 overflow chains but continue to use FARF3/4/5 prime pool file addresses.
  • If LD6 is specified for any PFx parameter, F6HDR=YES is set implicitly. Code F6HDR=YES in the DBDEF to avoid confusion. You must ensure that the corresponding DSECT uses 8-byte file address headers and trailers.
SS6
Short-term pool, FARF6 address.
Notes:
  • Use this pool setting for new FARF6 files.
  • After the database definition is loaded, initialize the new file with the ZUDFM INIT command to ensure that the headers are formatted correctly for z/TPFDF FARF6 processing.
  • Do not use this pool setting for files that are being migrated. The DBDEF SW00OP5 bit settings are used to determine the pool type to be used for files that are being migrated.
  • Do not use this pool setting for files that use FARF6 overflow chains but continue to use FARF3, FARF4, or FARF5 prime pool file addresses.
  • If SS6 is specified for any PFx parameter, F6HDR=YES is set implicitly. Code F6HDR=YES in the DBDEF to avoid confusion. You must ensure that the corresponding DSECT uses 8-byte file address headers and trailers.
PF1
Specifies the type of pool file addresses that are associated with pool file 1 (PF1). The pool file type that is associated with PF1 is used by a z/TPFDF macro or function when the POOLTYP=1 parameter is specified with that macro or function. For example, when PF1=SS is specified, the following macro call creates a short-term pool file.
DBCRE REF=IR00DFX,POOLTYP=1

For more information about the settings that can be used with the PF1 parameter, see the PF0 parameter description.

PF2
Specifies the type of pool file addresses that are associated with pool file 2 (PF2). The pool file type that is associated with PF2 is used by a z/TPFDF macro or function when the POOLTYP=2 parameter is specified with that macro or function. For example, when PF2=SS is specified, the following macro call creates a short-term pool file.
DBCRE REF=IR00DFX,POOLTYP=2

For more information about the settings that can be used with the PF2 parameter, see the PF0 parameter description.

PLI=packlimit
Specifies the packing limit as a percentage, where packlimit is a decimal number in the range 50 - 100.
You can use the PLI parameter to specify the amount of space that each block in the subfile is packed to. If you specify 50 for this parameter, half of the space in each block is used. If you specify 100 for this parameter, all of the space is used. The values for different blocks are as follows:
  • 50 - 100 for L1 and L2 size blocks
  • 75 - 100 for L4 size blocks

The value of the PLI parameter must be greater than the value that is specified for the PIN parameter; otherwise, the file is always below the packing threshold and is packed continuously.

Note: Using the PLI parameter does not ensure that B+Tree files are packed unless there are no nodes in the B+Tree index. To ensure that B+Tree files are packed, use one of the following methods:
  • The ZUDFM PACK command
  • A ZFCRU command with the PACK parameter specified
  • The DBCLS macro with the PACK parameter specified
  • The dfcls function with the DFCLS_PACK value specified
REMOTEALLOW
Specifies whether subfiles for this file can be stored in a remote data store. Specify one of the following values:
NO
Specifies that subfiles for this file cannot be stored in a remote data store.
YES
Specifies that subfiles for this file can be stored in a remote data store.

For more information, see Requirements to use z/TPFDF remote subfile support.

SIZECHK
Specifies one of the following values:
NO
Specifies that z/TPFDF macros and functions that use search keys search each LREC in the current core block.
YES
Specifies that z/TPFDF macros and functions that use search keys obtain a core block and copy the current LREC into that core block before searching the LREC in the copied core block. Specifying SIZECHK=YES prevents the z/TPFDF product from comparing a search key past the end of a data block, which could cause a z/TPF system error. Comparing a search key past the end of a data block could occur if one or more of the following conditions occur:
  • The last field in an LREC of the data block has a variable length.
  • Short variable length LRECs are used in the data block.
  • A long variable length search key is specified with a z/TPFDF macro or function.
  • A search key that is longer than the length of the searched LREC is specified with a z/TPFDF macro or function.
Note: Although specifying SIZECHK=YES prevents the unlikely possibility of a system error, it significantly impacts system performance and additional system resources are required.
SSU
Specifies the subsystem user.
N
Ignores MDBF parameter statements that are coded in the DBDEF.
C
The file is common; MDBF parameter statements cannot be coded.
U
The file is unique.
To aid in migrating database definitions from an MDBF system to a non-MDBF system, specify SSU=N to override any MDBF parameter statements that are coded in the DBDEF.
       DBDEF FILE=zzzzzz,   standard DBDEF
             .........,     additional DBDEF parameters
             SSU=N,         ignore any MDBF parameters
             (MDBF,SSU=(DF,LH,AE),WRS=L4),
             (MDBF,SSU=(RF),WRS=L1,EO#=99),
             (MDBF,SSU=(RT),WRS=L1,EO#=9)
(MDBF,EXCLUDE,SSU=(ssunames))
Prevents the specified subsystem users from issuing z/TPFDF macros and functions, where ssunames is a list of valid SSUs such as AF,LH,BA,AA. For example,
       DBDEF FILE=zzzzzz,   standard DBDEF
             .........,     additional DBDEF parameters
             SSU=U,         file is not common
             (MDBF,SSU=(AA,BA,UA),RBV=#TPFDB03),
             (MDBF,EXCLUDE,SSU=(RF))
Notes:
  • MDBF parameter statements are used only when SSU=U is specified.
  • If an application program issues a z/TPFDF macro or functions from an excluded subsystem user, the application will end with a DB0137 system error.

    Therefore, in the previous example, if an application program issues a z/TPFDF macro when it is in SSU RF, the application will end with a DB0137 system error.

  • It is important to code the EXCLUDE information so z/TPFDF utilities run only on the subsystem users that you select. The ZUDFM, ZFCRU, and ZRECP commands will not run on files in a subsystem user that was excluded.
  • The specified subsystem user must be defined in the SSUDEF copy member or the DBDEF macro will send an error when it is assembled.
(MDBF,SSU=(ssunames),overrides)
Provides unique parameters for the specified subsystem users.
ssunames
Specifies a list of valid SSUs such as AF,LH,BA,AA.
overrides
Specifies a list of override values for the specified subsystem users (SSUs). The ARS, BOR, EO#, EOR, ILV, INB, NLR, NOC, OP1, OP2, OP3, PF0, PF1, PF2, PIN, PLI, PTN, RBV, RCT, and the DBDEF WRS parameters are allowed.
Note: Because of the different characteristics of algorithms, algorithms can only be overridden (by using the RBV override parameter) by specific algorithms that share similar characteristics (are in the same group). For example, #TPFDB09 cannot override #TPFDB01 because the expected algorithm arguments are different. #TPFDB01 expects an alphabetic character while #TPFDB09 expects 8 bytes of data.

Table 1 shows the groups of algorithms that can override each other. The size of the algorithm string (defined by the DBDEF ALG parameter or in the DSECT macro for the file) must be large enough to allow the algorithm to be overridden. For example, if ALG=1 is specified in the detail file, you cannot override the #TPFDB01 algorithm with the #TPFDB02 algorithm in the index file (even though they are in the same group) because the file was defined to allow only a one-byte algorithm. To avoid this problem, define the algorithm to be as large as the maximum length of the algorithm group.

Table 1. Algorithm groups for overriding
Group   Maximum length
1 #TPFDB01 #TPFDB06

#TPFDB02 #TPFDB07

#TPFDB03 #TPFDFB08

3
2 #TPFDB0A #TPFDB0B 2
3 #TPFDB04 N/A
4 #TPFDB05 4
5 #TPFDB0C 2
6 #TPFDB0D N/A
7 #TPFDB09 #TPFDB10

#TPFDB11

8
8 #TPFDB0F 10
9 #TPFDB12 255
More than one MDBF definition can be defined for a particular file. For example:
       DBDEF FILE=dsname,   standard DBDEF
             .........,     additional DBDEF parameters
             (MDBF,SSU=(AA,BA,UA),RBV=#TPFDB03),
             (MDBF,SSU=(DF,LH,AE),WRS=L4),
             (MDBF,SSU=(RF),WRS=L1,EO#=99),
             (MDBF,SSU=(RT),WRS=L1,EO#=9)
Each SSU takes one of the following values for the file (in order of precedence):
  1. The SSU override values (if they are specified)
  2. The standard DBDEF override values (if they are specified) of RBV, WRS, and so on.
  3. The &SW00... values specified in the file DSECT.

If you want to code a DBDEF subsystem user override, the name of the subsystem user must be listed in SSUDEF. The SSUDEF copy member is installation-specific and lists the subsystem users that can be included in an override.

For each subsystem user, a variable is added to SSUDEF as follows:
  &SSUV(1)  SETC 'RED'     SSU mnemonic name        (MU0NAM in MS0UT)
  &SSUV(2)  SETC 'BLUE'    SSU mnemonic name        (MU0NAM in MS0UT)
  &SSUV(3)  SETC 'OR'      SSU mnemonic name        (MU0NAM in MS0UT)

  &SSUV(n)  SETC 'GOLD'    SSU mnemonic name        (MU0NAM in MS0UT)
If the variable to define a particular subsystem user is not set up, the DBDEF macro issues an MNOTE at assembly time.
Notes:
  • A maximum of 256 subsystem users can be listed in SSUDEF.
  • The DBDEF EXCLUDE parameter, which specifies subsystem users that cannot issue z/TPFDF macros on a particular file, is considered an override. Therefore, these subsystem users must also be listed in SSUDEF.
  • SSUDEF can be updated to include subsystem users from systems with different MDBF configurations. This allows the DBDEFs to be assembled once against the common SSUDEF and loaded to the two different systems.
SUFFIX=suffix
Specifies the suffix that can make a file unique, where suffix is an alphanumeric character or characters. Some P-type file definitions can generate the same symbols for different files or file versions. Use the SUFFIX parameter to add a suffix to the labels to make the labels exclusive to a file version.
If you code the SUFFIX parameter with a DBDEF macro statement, ensure that the DSECT for the P-type file also supports a SUFFIX parameter because the DSECT for the P-type file is invoked internally by the DBDEF macro with the supplied suffix. For example,
        DBDEF FILE=FRED1,FVN=0,
          generates
          FREDID   DS H
          FREDFCH  DS F
              ......
              ......
        DBDEF FILE=FRED1,FVN=1,SUFFIX=A,
          also generates FREDID and FREDFCH, but adds an 'A' to them
          FREDIDA  DS H
          FREDFCHA DS F
              ......
TM
Specifies one of the following:
NO
Specifies that commit scopes are not used during checkpoint and close processing.
Note: If this file uses recoup optimized chain chasing, z/TPFDF might use commit scopes during checkpoint and close processing when the recoup optimized chain chase information is updated for the subfile.
YES
Specifies that commit scopes are used during checkpoint and close processing. This option is valuable when many files are to be filed out during checkpoint and close processing (for example, detac mode, extensive B+Tree indexing updates, and requests to pack indexes). See z/TPFDF Programming Concepts and Reference for more information about commit scopes.
Note: The application can override the DBDEF TM value by specifying a TM value with the DBCKP or DBCLS macros, or the dfckp or dfcls function.
TRS=trailersize
Specifies the trailer size at the bottom of each block, where trailersize is 0 or a number equal to or greater than 36.
Notes:
  • Standard-format files that do not use algorithm #TPFDB0D have a default TRS value of 36. If F6HDR=YES is set in the DBDEF, then the default TRS value is 44.
  • Standard-format files that use algorithm #TPFDB0D have a default TRS value of 0.
  • For customer-format files, the TRS value has no meaning.
  • You cannot specify this parameter when the ENCRYPTALLOW=YES parameter is specified.
UNIQUE
Specify YES to ensure that all LRECs added to a subfile are unique even if the UNIQUE parameter is not specified with a DBADD macro or dfadd function statement. The default for non-B+Tree data files is UNIQUE=NO. The default for B+Tree data files is UNIQUE=YES.
Note: UNIQUE=NO is not allowed for B+Tree data files.

For more information about commit scopes, see z/TPFDF Programming Concepts and Reference.

For more information about DASD types, see z/TPF and z/TPFDF System Generation.