Miscellaneous parameters
Use the miscellaneous parameters to define the remaining characteristics of your file.
- 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,
identifies the file as version 3. Other versions of the file can be defined with a different block layout.FVN=3Note: 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: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.- 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.
- 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=0Note: 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=1For 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=2For 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:
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):- The SSU override values (if they are specified)
- The standard DBDEF override values (if they are specified) of RBV, WRS, and so on.
- 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.
