Miscellaneous parameters
- ACPDB
- specifies whether this is a TPFDF file.
- NO
- specifies that this a non-TPFDF file. The v product uses the DBDEF macro definitions for chain chasing during the processing of recoup and CRUISE, but cannot access or manipulate the file using other macros and functions.
- YES
- specifies that this is a TPFDF file. The TPFDF product uses the DBDEF macro definitions for chain chasing during the processing of recoup and CRUISE, and can access and manipulate the file using other macros and functions. The file type must be R, W, T, or P. See File Names (DSECT Names) for more information about file types.
- 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'See File Names (DSECT Names) for more information about application types. - DDA
- specifies the distributed data access support. Note: DDA is not allowed for P-type files.
- DELEMPTY
- specifies one of the following:
- YES
- specifies that the TPFDF product will delete empty blocks without packing the subfile. Setting
DELEMPTY=YES requires the following:
- The file must be R-type or W-type.
- Backward chaining must be indicated by bit 0 of global set symbol &SW00OP1.
- The DBDEF NODE parameter must be NO.
- The DBDEF FVN parameter must be 0.
- NO
- specifies that the TPFDF product will delete empty blocks only when the subfile is packed.
Note: When specifiying DELEMPTY=YES for a W-type file that is the container for T-type LRECs (T-type DSECTs), application segments that are using DBDEL of that T-type DSECT must be reassembled. - FVN=versionnbr
- identifies the version of a file, where versionnbr is a number from 0-254. For example,
FVN=3identifies the file as version 3. Other versions of the file can be defined with a different block layout.Note: The DBDEF macro statements for the different versions of a file should be defined contiguously using increasing file version numbers. Only the first file version (FVN=0) is indexed in the DBDEF index table. - GREG
- specifies the register call for global base.
- REGR
- specifies that R14 is the base register for global area 1.
- REGC
- specifies that R14 is the base register for global area 3.
- REGS
- specifies that R14 is the base register for global area 3.
- KEYCHECK
- specifies one of the following:
- YES
- validates the default keys before replacing or modifying an LREC that will prevent corruption of
the file organization. Notes:
- 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 TPFDF product issues a system error (DB0139) and processing ends. All records that were changed before processing ended remain changed.
- Before you can use global modification with KEYCHECK=YES in an ALCS environment, enable C language support. See TPFDF Installation and Customization for more information.
- NO
- does not validate the default keys before replacing or modifying the LREC.
- PACKINHI
- specifies if packing should be inhibited for this file during recoup phase 1:
- COND
- packing is inhibited only if this file includes a forward index path (see Forward Index Path Parameters) and bit 1 of &SW00OP2 is 0, indicating that pool blocks are reused during a pack operation. Packing is inhibited for these files because it is possible for recoup to miss index LRECs if they are moved to a block that has already been chain chased.
- NO
- packing is not inhibited for this file during recoup phase 1.
- YES
- packing is inhibited for this file during recoup phase 1.
Note:- The default for the PACKINHI parameter is specified by set symbol &INHIDEF in the DBLCL macro. See TPFDF Installation and Customization for more information about the DBLCL macro.
- This parameter has no affect in an ALCS environment.
- PF0
- specifies the type of pool blocks that are associated with pool file 0 (PF0). The pool block
type associated with PF0 is used by a TPFDF macro or function when the POOLTYP=0 parameter is
specified with that macro or function. For example, when PF0=SS:
DBOPN REF=IR00DFX,POOLTYP=0opens a short-term pool block.Note: For W-type files, the default is always short-term (SS) and must not be changed.- LS
- Long-term nonduplicated pool.
- SS
- Short-term pool.
- LD
- Long-term duplicate pool.
- LD6
- Long-term duplicate pool, FARF6 address. Note: Use this pool setting for new FARF6 files or for files that have been completely migrated to FARF6 addressing for both prime and overflows. If this setting is specified, you must ensure that the corresponding DSECT uses 8-byte file address headers and trailers. It should not be used 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. Files that use FARF6 overflow chains but continue to use FARF3/4/5 prime file addresses should not use this setting.
- PF1
- specifies the type of pool blocks that are associated with pool file 1 (PF1). The pool block
type associated with PF1 is used by a TPFDF macro or function when the POOLTYP=1 parameter is
specified with that macro or function. For example, when PF1=SS:
DBOPN REF=IR00DFX,POOLTYP=1opens a short-term pool block. - PF2
- specifies the type of pool blocks that are associated with pool file 2 (PF2). The pool block
type associated with PF2 is used by a TPFDF macro or function when the POOLTYP=2 parameter is
specified with that macro or function. For example, when PF2=SS:
DBOPN REF=IR00DFX,POOLTYP=2opens a short-term pool block. - PLI=packlimit
- specifies the packing limit in percentage, where packlimit is a decimal number from 50-100.
You can use PLI to specify the amount of space to which each block in the subfile should be packed. The value of PLI can be specified between 50% and 100%.
A value of 50% results in half of the space in each block being taken up. A value of 100% results in all of the space being taken up. The values for PLI are:
- 50-100, for L1 and L2 size blocks
- 75-100, for L4 size blocks.
Always specify a PLI value greater than the PIN value; 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:- The ZUDFM OAP command
- A ZFCRU command with the pack option
- The DBCLS macro with the pack option
- The dfcls function with the pack option.
- SIZECHK
- Specifies one of the following:
- NO
- specifies that TPFDF macros and functions that use search keys, search each LREC in the current core block.
- YES
- specifies that 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 TPFDF product from comparing a search key past the end of a data block,
which could cause a TPF system error. Comparing a search key past the end of a data block could
occur if any of the following are true:
- 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 TPFDF macro or function.
- A search key that is longer than than the length of the searched LREC is specified with a TPFDF macro or function.
Note: While 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 coded in the DBDEF.
- C
- The file is common; MDBF parameter statements cannot be coded.
- U
- The file is unique. The U parameter only applies for the TPF system.
To aid in migrating database definitions from an MDBF system to a non-MDBF system, the SSU parameter can be set to 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 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))Note:- The MDBF parameter only applies for the TPF system.
- If an application program issues a 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 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 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 has been 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
WRS DBDEF parameters are allowed. Note: Because of the different characteristics of algorithms, algorithms can only be overridden (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 36 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 was 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 #TPFDB02 #TPFDB06 #TPFDB02 #TPFDB07
#TPFDB03 #TPFDB08
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
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), 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.
Note:- The MDBF parameter only applies for the TPF system.
- A maximum of 128 subsystem users can be listed in SSUDEF.
- The DBDEF EXCLUDE parameter, which specifies subsystem users that cannot issue 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.
- 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
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 functions. See TPFDF Programming Concepts and Reference for more information about these macros and functions.
- TRS=trailersize
- specifies the trailer size at the bottom of each block, where trailersize is either 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 TRS=36.
- Standard-format files that use algorithm #TPFDB0D have a default TRS value of TRS=0.
- For customer-format files, the TRS value has no meaning.
- 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. See
TPFDF Programming Concepts and Reference for more information about the UNIQUE parameter of
the DBADD macro or dfadd function. 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.
- EMPTYCHECK
- specifies one of the following:
- 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 an EMPTYCHECK value with the DBDEL macro or the dfdel function. See TPFDF Programming Concepts and Reference for more information about this macro and function.
