The following diagrams illustrate the syntax for specifying database defaults:
<defaults specification>
── DEFAULTS ── ( ─┬──────────────────┬─────────────────────────────────► └─<global default>─┘ ►─┬──────────────────────────────┬─ ) ─────────────────────────────────┤ │ ┌◄────────┬──────┬─────────┐ │ │ │ └◄─ , ─┘ │ │ └─┴─┬─<data set default>───┬─┴─┘ ├─<set-subset default>─┤ └─<item default>───────┘
<global default>
┌◄──────────────────┬──────┬─────────────────────┐ │ └◄─ , ─┘ │ ──┴─┬─/1\─<buffers>──────────────────────────────┬─┴────────────────────┤ ├─/1\─ CCSVERSION = <ccsversion name> ───────┤ ├─/1\─ CHECKSUM ─┬───────────────────────────┤ │ └─ = ─┬─ FALSE ─────────────┤ │ └─ TRUE ──────────────┤ ├─/1\─ DATAENCRYPT ─┬────────────────────────┤ │ └─ = ─┬─ TRUE ───────────┤ │ └─ FALSE ──────────┤ ├─/1\─ DATAENCRYPTKEYSET ────────────────────┤ │ └─ = ─┬─ NEWKEYSET ─────┤ │ ├─ REPLACEKEYS ───┤ │ └─ COPYKEYSET ────┤ ├─/1\─ DATAMASK ─────┬───────────────────────┤ │ └─ = ─┬─ FALSE ─────────┤ │ └─ TRUE ──────────┤ ├─/1\─<disk/pack>────────────────────────────┤ ├─/1\─ DUMPENCRYPT ─┬────────────────────────┤ │ └─ = ─┬─ FALSE ──────────┤ │ └─ TRUE ───────────┤ ├─/1\─ DUMPSTAMP ─┬──────────────────────────┤ │ └─ = ─┬─ FALSE ────────────┤ │ └─ TRUE ─────────────┤ ├─/1\─ ILOB COMPRESSION ─┬───────────────────┤ │ └─ = ─┬─ LZW ───────┤ │ └─ FALSE ─────┤ ├─/1\─ LOGACCESS ─┬──────────────────────────┤ │ └─ = ─┬─ FALSE ────────────┤ │ └─ TRUE ─────────────┤ ├─/1\─ LOGACCESSDMVERBS = <dmverb definition>┤ ├─/1\─ MEMORY RESIDENT ─┬────────────────────┤ │ └─ = ─┬─ FALSE ──────┤ │ └─ TRUE ───────┤ ├─/1\─ OBFUSCATELEVEL = <unsigned integer>───┤ ├─/1\─ REBLOCK ─┬────────────────────────────┤ │ └─ = ─┬─ FALSE ──────────────┤ │ └─ TRUE ───────────────┤ ├─/1\─ REBLOCKFACTOR = <unsigned integer> ───┤ ├─/1\─ RECORDCOUNT ──┬───────────────────────┤ │ └─ = ─┬─ FALSE ─────────┤ │ └─ TRUE ──────────┤ ├─/1\─ SECURITYGUARD = <file title> ─────────┤ ├─/1\─ STRENCRYPT ──┬────────────────────────┤ │ └─ = ─┬─ TRUE ───────────┤ │ └─ FALSE ──────────┤ ├─/1\─ <VSSOPTIMIZE>───┬─────────────────────┤ │ └─ = ─┬─ FALSE ───────┤ │ └─ TRUE ────────┤ ├─/1\─ VSSWARN ───┬──────────────────────────┤ │ └─ = ─┬─ FALSE ────────────┤ │ └─ TRUE ─────────────┤ └────────────────────────────────────────────┘
![]() |
<data set default> |
┌◄────────────────────┬──────┬─────────────────────┐ │ └◄─ , ─┘ │ ── DATA SET ( ─┴─┬─/1\─<buffers>────────────────────────────────┬─┴─ ) ─► ├─/1\─ CHECKSUM ─┬─────────────────────────────┤ │ └─ = ─┬─ FALSE ───────────────┤ │ └─ TRUE ────────────────┤ ├─/1\─ DATAENCRYPT ─┬──────────────────────────┤ │ └─ = ─┬─ TRUE ─────────────┤ │ └─ FALSE ────────────┤ ├─/1\─ DATAEXCHANGE ┬──────────────────────────┤ │ └─ = ─┬─ FALSE ────────────┤ │ └─ TRUE ─────────────┤ ├─/1\─ DATAMASK ────┬──────────────────────────┤ │ └─ = ─┬─ FALSE ────────────┤ │ └─ TRUE ─────────────┤ ├─/1\─ DIGITCHECK ─┬───────────────────────────┤ │ └─ = ─┬─ FALSE ─────────────┤ │ └─ TRUE ──────────────┤ ├─/1\─<disk/pack>──────────────────────────────┤ ├─/1\─ DUMPENCRYPT ─┬──────────────────────────┤ │ └─ = ─┬─ FALSE ────────────┤ │ └─ TRUE ─────────────┤ ├─/1\──DUMPSTAMP────────┬──────────────────────┤ │ └─ = ─┬─ FALSE ────────┤ │ └─ TRUE ─────────┤ ├─/1\──EXTENDED────────┬───────────────────────┤ │ └─ = ─┬─ FALSE ─────────┤ │ └─ TRUE ──────────┤ ├─/1\─ ILOB COMPRESSION ───┬───────────────────┤ │ └─ = ─┬─ LZW ───────┤ │ └─ FALSE ─────┤ ├─/1\─ LOCK TO MODIFY DETAILS ─┬───────────────┤ │ └─ = ─┬─ FALSE ─┤ │ └─ TRUE ──┤ ├─/1\─ LOGACCESS ──────────────┬───────────────┤ │ └─ = ─┬─ FALSE ─┤ │ └─ TRUE ──┤ ├─/1\─LOGACCESSDMVERBS = <dmverb definition>───┤ ├─/1\─ MEMORY RESIDENT ─┬──────────────────────┤ │ └─ = ─┬─ FALSE ────────┤ │ └─ TRUE ─────────┤ ├─/1\─POPULATIONINCR─=┬─<1-100>┬─────────────┬┬┤ │ │ └(┬DISPLAY──┬)┘││ │ │ └NODISPLAY┘ ││ │ └────── 0 ──────────────┘│ ├─/1\─POPULATIONWARN─=┬─<1-99>─┬─────────────┬┬┤ │ │ └(┬DISPLAY──┬)┘││ │ │ └NODISPLAY┘ ││ │ └────── 0 ──────────────┘│ ├─/1\─ REBLOCK ─┬──────────────────────────────┤ │ └─ = ─┬─ FALSE ────────────────┤ │ └─ TRUE ─────────────────┤ ├─/1\─ REBLOCKFACTOR = <unsigned integer> ─────┤ ├─/1\─ RECORDCOUNT ──┬─────────────────────────┤ │ └─ = ─┬─ FALSE ───────────┤ │ └─ TRUE ────────────┤ ├─/1\─ SECURITYGUARD = <file title> ───────────┤ ├─/1\─ <VSSOPTIMIZE> ───┬──────────────────────┤ │ └─ = ─┬─ FALSE ────────┤ │ └─ TRUE ─────────┤ ├─/1\─ VSSWARN ──┬─────────────────────────────┤ │ └─ = ─┬─ FALSE ───────────────┤ │ └─ TRUE ────────────────┤ └──────────────────────────────────────────────┘
<set-subset default>
┌◄────────────────── , ──────────────────┐ ── SET ( ─┴─┬─/1\─<buffers>──────────────────────┬─┴─ ) ───────────────┤ ├─/1\─ CHECKSUM ─┬───────────────────┤ │ └─ = ─┬─ FALSE ─────┤ │ └─ TRUE ──────┤ ├─/1\─<disk/pack>────────────────────┤ ├─/1\─ DUMPENCRYPT ─┬────────────────┤ │ └─ = ─┬─ FALSE ──┤ │ └─ TRUE ───┤ ├─/1\─ DUMPSTAMP ─┬──────────────────┤ │ └─ = ─┬─ FALSE ────┤ │ └─ TRUE ─────┤ ├─/1\─MEMORY RESIDENT─┬──────────────┤ │ └─ = ─┬─ ALL ──┤ │ ├─ COARSE┤ │ └─ FALSE ┤ ├─/1\─ RECORDCOUNT ──┬───────────────┤ │ └─ = ─┬─ FALSE──┤ │ └─ TRUE ──┤ ├─/1\─ SECURITYGUARD = <file title> ─┤ ├─/1\ ─ VSSWARN ──┬──────────────────┤ │ └─ = ─┬─ FALSE ────┤ │ └─ TRUE ─────┤ ├─/1\ ─ <VSSOPTIMIZE>─┬──────────────┤ │ └─ = ─┬─ FALSE─┤ │ └─ TRUE ─┤ └────────────────────────────────────┘
<item default>
──┬─ ALPHA ( INITIALVALUE ─┬──────┬─┬─ BLANKS ─────┬─ ) ────────────┬──┤ │ ├─ IS ─┤ ├─ HIGH-VALUE ─┤ │ │ └─ = ──┘ └─ LOW-VALUE ──┘ │ ├─ BOOLEAN ( INITIALVALUE ─┬──────┬─┬─ FALSE ─┬─ ) ───────────────┤ │ ├─ IS ─┤ ├─ TRUE ──┤ │ │ └─ = ──┘ └─ 0 ─────┘ │ ├─ REAL ( INITIALVALUE ─┬──────┬─┬─ HIGH-VALUE ─┬─ ) ─────────────┤ │ ├─ IS ─┤ ├─ LOW-VALUE ──┤ │ │ └─ = ──┘ └─ 0 ──────────┘ │ │ ┌◄───────────────────── , ─────────────────────┐ │ └─ NUMBER ( ─┴─┬─ INITIALVALUE ─┬──────┬─┬─ HIGH-VALUE ───┬─┴─ ) ─┘ │ ├─ IS ─┤ ├─ LOW-VALUE ────┤ │ └─ = ──┘ └─ 0 ────────────┤ └─ DIGITCHECK ─┬──────┬─┬──────────────────┤ ├─ IS ─┤ ├─ REQUIRED ITEMS ─┤ └─ = ──┘ └─ ALL ITEMS ──────┘
<dmverb definition>
──┬──── <dmverb list>────────────────────────────────┬─────────────────┤ └───── ALL───────┬─────────────────────────────────┤ └────── EXCEPT ──<dmverb list>────┘
<dmverb list>
┌◄──────── , ─────────┐ ──┴── ( ─ <dmverb> ──) ─┴───────────────────────────────────────────────┤
<dmverb>
────┬─ ASSIGN ───────────────────────────────────┬──────────────────────┤ ├─ ASSIGNLOB ────────────────────────────────┤ ├─ CREATESTORE ──────────────────────────────┤ ├─ DELETE ───────────────────────────────────┤ ├─ DELETELOB ────────────────────────────────┤ ├─ FIND ─────────────────────────────────────┤ ├─ FINDLOB ──────────────────────────────────┤ ├─ FREE ─────────────────────────────────────┤ ├─ GENERATE ─────────────────────────────────┤ ├─ INSERT ───────────────────────────────────┤ ├─ LOCK ─────────────────────────────────────┤ ├─ LOCKSTORE ────────────────────────────────┤ ├─ REMOVE ───────────────────────────────────┤ └─ SECURE ───────────────────────────────────┘
<buffers>
── BUFFERS = <unsigned integer> ─┬────────────────────┬────────────────┤ ├─ PER USER ─────────┤ └─ + <user buffers> ─┘
<user buffers>
──<unsigned integer>───────────────────────────────────────────────────► ►─┬──────────────────────────────────────────────────────────────────┬─┤ ├─ PER USER ───────────────────────────────────────────────────────┤ └─ PER RANDOM USER ─┬──────────────────────────────────────────────┤ └─ OR <unsigned integer> PER SERIAL USER ──────┘
<disk/pack>
┌◄──────── , ────────┐ ──┴─┬─/1\─<diskkind>─┬─┴───────────────────────────────────────────────┤ └─/1\─<diskname>─┘
<diskkind>
──┬──────────┬─┬─ disk ─────┬──────────────────────────────────────────┤ └─ kind = ─┘ ├─ pack ─────┤ └─ diskpack ─┘
<diskname>
──┬─ pack ───────┬─ = ──<familyname>───────────────────────────────────┤ ├─ diskpack ───┤ ├─ packname ───┤ └─ familyname ─┘
<VSSOPTIMIZE>
────────────────────────┬─ VSS2OPTIMIZE ─┬─────────────────────────────┤ └─ VSS3OPTIMIZE ─┘
The following table describes the elements of the syntax diagrams:
Option |
Description |
||||
---|---|---|---|---|---|
Global defaults apply to every audit trail, control file, guard file, global item, data set, set, and subset in the database. |
|||||
If a data set default or set-subset default appears, then all structures of the specified type inherit the default attributes. The default attributes can be overridden when a data set, set, or subset is declared. The default attributes can also be overridden using physical specifications for the structure. If conflicting values are specified for a single attribute, the conflict is resolved in the following order of precedence:
In the default specification, DATASET, DATA-SET, or DATA can be used in place of the DASDL keyword DATA SET. |
|||||
If an item default statement appears, then all items of the specified type inherit the default item attributes. Item defaults apply to both global items and items declared in data sets. If conflicting values are specified for a single attribute, the conflict is resolved in the following order of precedence:
|
|||||
The BUFFERS option controls the number of buffers the system allocates for the structure. This number of buffers is in addition to any buffers the system allocates and deallocates for each program that invokes the structure. Default values for the BUFFERS option are as follows: The maximum number of system buffers that can be specified at the database default level is 1048575 plus an additional 254 for each random user and for each serial user. To modify the number of system buffers for a specific structure, use the BUFFERS option at the data set or set level. You can also use the Visible DBS CHANGE command. To avoid using excessive memory, take care when setting buffers for sectioned structures. The number of buffers available for the structure is the number of buffers specified, multiplied by the number of sections in the structure. Structure BUFFER specifications are ignored when the OVERLAYGOAL parameter is not the number 0, except when any of the following conditions occur:
ALLOWEDCORE is the ultimate limiting factor for any or all structures. Regardless of the 512 value or calculated value for SYSTEM BUFFERS + RANDOM BUFFERS PER USER for any individual structure, when ALLOWEDCORE is reached, OVERLAYs will begin and a new buffer allocation will be restricted. When the aggregate of all buffers for all users exceeds the ALLOWEDCORE value, overlaying of buffers starts. |
|||||
You can use the BUFFERS option with the REBLOCK option to perform serial optimization (readahead or reblocking). Both readahead and reblocking cause a decrease in total elapsed time. To use the BUFFERS option to activate serial optimization, assign the option a value greater than or equal to 2. To deactivate serial optimization, assign the option a value less than 2. Readahead is a type of serial optimization that allows the Accessroutines to read blocks before they are needed. Readahead reduces the time required to access records serially by decreasing buffer wait time, which in turn causes a decrease in total elapsed time. For data sets, readahead causes the next physical block of data to be retrieved. When records are accessed serially through a set or a subset, the next set or subset table is retrieved. The data set records pointed to by entries in that set or subset table are also retrieved and placed in the data buffers of the data set. Reblocking is another type of serial optimization that you activate by using the REBLOCK option. Reblocking enables you to optimize both random and serial access to a structure; that is, you can maintain two block sizes for the same structure simultaneously as follows:
The capability of maintaining two block sizes is called reblocking. Depending on the REBLOCKFACTOR option value, reblocking can cause the Accessroutines to read data using an enlarged block rather than the block size specified in the BLOCKSIZE option. The benefit of reblocking is that the larger block size increases the amount of serially accessed records placed in the buffers for each physical read operation. The REBLOCK and REBLOCKFACTOR options can affect whether readahead occurs. When the REBLOCK option is turned on and the value of the REBLOCKFACTOR option is set to a value greater than 1, readahead logic is turned off for data set accessing. The system performs this action even if the value of the BUFFERS option stipulates that readahead is to be activated. Readahead logic reads one block (of BLOCKSIZE value) at a time. Readahead logic cannot read the enlarged blocks created by reblocking. When readahead logic is turned off and the value of the REBLOCKFACTOR option is 2 or greater, one physical I/O operation reads as much or more information as readahead logic would read. |
|||||
The REBLOCK option is not valid for sets and subsets. When accessing data through sets or subsets, readahead logic is used, as follows:
However, when a data set is in the same order as the order of its accessing set or subset, reblocking is used if the value of the In database statistics, a read operation using the reblocking mechanism is counted as a readahead. REBLOCKFACTOR option is greater than 1. The Accessroutines detects whether a program is accessing a structure randomly or serially. When a structure is being accessed serially and 2 or more serial buffers are specified, the Accessroutines allocates the appropriate number of serial buffers for the program; otherwise, the specified number of random buffers is allocated. (The size of the serial buffers depends on the REBLOCK attribute.) The Accessroutines detects serial access on a program‑by‑program basis. If several consecutive accesses are made to the same block or to logically adjacent next blocks, the program enters serial mode. In serial mode, the program performs a readahead or reblock operation each time another block is required. Note that the access of the logically adjacent prior block is not considered to be serial access. If a program oscillates between serial and random access, the Accessroutines detects this and makes it increasingly more difficult for the program to change modes. This prevents spurious readaheads and buffer allocation and deallocation. |
|||||
The CCSVERSION option enables the user to localize a database for a particular version in a coded character set. If the global CCSVERSION option is used, then every alpha item in the database uses the same ccsversion. The user must select a ccsversion that is compatible with the coded character set in use on the system. If a ccsversion is designated that is not the system default ccsversion, a warning is issued at compile time. At run time, if the ccsversion does not match the system default ccsversion, an open error (OPENERROR) occurs. |
|||||
![]() |
The CHECKSUM option is used to detect I/O errors. A checksum is a value computed for each block by applying an equivalence operator to each word in the block. When the block is physically written, the checksum value is stored in a checksum word appended to the end of the block. When the block is read, the checksum is recomputed and the result is compared to the stored value. A checksum error occurs if the two values are not equal. For databases not using XE features, if the CHECKSUM option is not specified (either in the Defaults section or at the structure level), the CHECKSUM option is FALSE by default. Specifying CHECKSUM or CHECKSUM = TRUE sets the option. The recommended setting is TRUE. For databases using XE features, the CHECKSUM option is required for all structures that use the EXTENDED attribute. If the CHECKSUM option is not specified (either in the Defaults section or at the structure level), then
For existing structures that add the EXTENDED attribute, a record format reorganization is required to add The global CHECKSUM default can be overridden in either the global data set and set defaults section, or at the structure level for data sets and their associated sets. If the CHECKSUM option is not specified at the structure level, the option is FALSE for new structures if the EXTENDED attribute for the structure is FALSE and
Global specifications of CHECKSUM are still in effect for any new non-XE structures. Be sure to take into account the explicit or implicit setting of the CHECKSUM option when calculating data set BLOCKSIZE and set-subset TABLESIZE specifications. |
||||
DATAENCRYPT |
The DATAENCRYPT option enables you to encrypt data items within an Enterprise Database Server database. You can set this option at the global or data set default. You can also set the option at the structure level in the physical options for data sets or for selected items in a data set. The DATAENCRYPT option is not allowed for restart data sets, internal structures, or partitioned data sets. Only alpha, numeric, real and group data item types are valid for database encryption. The items inside a group cannot specify the DATAENCRYPT option; the group item must be encrypted. If a data set or remap has the DATAENCRYPT option specified, then alpha, numeric, real and group items in the data set or remap are data encrypted; the other data types will not be encrypted. A remap cannot define the DATAENCRYPT option or redefine the DATAENCRYPT option of a data set record. If a database has the DATAENCRYPT option defined as a global default, all of the data sets are encrypted. If there are any items with the DATAENCRYPT option in the data set, these items will be encrypted and moved to the end of the record. This is done to maximize the performance and minimize the disk usage. The record size will be increased and the size will depend on the encryption algorithm specified. The encrypted data will always be different in each record even if the records contain the same original (unencrypted) value. If there are any Filler data items along with the items with DATAENCRYPT option in the data set, the Filler in the record is located after all non-encrypted data items and encrypted data items. When substituting a filler item with new data items type, a reorganization is required. A reorganization must be performed when changing the DATAENCRYPT option from TRUE to FALSE or FALSE to TRUE. The key items in a set or subset can have the DATAENCRYPT option specified but not the key items in an Access. The key data cannot contain encrypted data items. For more information about using the DATAENCRYPT option with key items, refer to Sets, Subsets, and Accesses. |
||||
DATAENCRYPTKEYSET |
When a database has encrypted items, the DATAENCRYPTKEYSET option must be specified to cause the system to create an encryption key set for the database. The option can be specified for a new DASDL compilation or a DASDL UPDATE compilation. When the DATAENCRYPTKEYESET option is specified and the database does not have an associated key set, a new key set is created. If the database already has an associated key set, the existing key set will be used. The name of the key set is stored as a part of the control file and can be listed using the LIST or WRITE statement in DMUTILITY. The key set contains the database encryption keys and an RSA Master Key. The database encryption keys are the AES-256 keys that are used to encrypt data in the database. There are 16 database encryption keys in a key set. The RSA Master Key is an RSA 4096-bit key that is used to protect the database encryption keys. The users are responsible for backing up the key set manually using the Security Center. A syntax error will be issued by the DASDL compiler if the database contains any encrypted items but the DATAENCRYPTKEYSET option is not specified. For security purposes, users can change the existing key set by choosing either the NEWKEYSET or REPLACEKEYSETS option listed below. However, when the key set has been changed, it can no longer be used to decrypt an old database backup. Therefore, it is strongly recommended that a full database backup be taken after the key set is changed. Select one of the following options:
|
||||
DATAENCRYPTKEYSET (cont.) |
|
||||
The DATAMASK option enables you to obscure or unidentify specific data within an Enterprise Database Server database ensuring the data security is maintained, and sensitive customer information is not leaked outside of authorized environments. You can set this option at the global database or data set level. You can also set the option at the structure level in the physical options for data sets or for the selected items in a data set. The DATAMASK option is not allowed for restart data sets, internal structures, or partitioned data sets. Only alpha, numeric, and real data item types are valid for data masking. However, the reserved internal items with type alpha, numeric and real, are not allowed for data masking. To change the CCSVERSION option to an item with the DATAMASK option set, the DATAMASK option must be reset first before changing the CCSVERSION option. This process requires two separate DASDL updates. The size of the item with type Numeric must be greater than 1 if it has the DATAMASK option set. If a data set or remap has the DATAMASK option specified, then the entire alpha, numeric and real items in the data set or remap are data scrambled; the other data types will not be scrambled. A remap cannot define the DATAMASK option or redefine the DATAMASK option of a data set record. If a database has the DATAMASK option defined, then all of the data sets are obscured. For adding a new group item, DATAMASK items can only be specified for individual items within the group. This process requires two separate DASDL updates. The first DASDL update is to add the group item, this update requires a database reorganization. The second DASDL update enables the setting of the DATAMASK option to individual item(s) within the group item. At the end, an additional compilation is required. A reorganization must be performed when changing the DATAMASK option from TRUE to FALSE, or FALSE to TRUE. Key or key data cannot have the DATAMASK option specified. An item specified with the DATAMASK option is not allowed to be used with the WHERE or SELECT condition. |
|||||
The disk/pack attribute controls the location of database files. The location of the audit trail, control file, guard file, data sets, sets, and subsets can be specified using a global default. All files created by the database management system are placed on the indicated device. Guard files are created by the user using the SYSTEM/GUARDFILE utility. The user must ensure that the guard file is created on the device specified in the global default statement. The location of data sets, sets, and subsets can be controlled separately using data set defaults and set-subset defaults. Global defaults are overridden for these structures if data set defaults or set-subset defaults appear. In the absence of any specification, database files are assigned to disk. When DISKPACK or PACK is stipulated, but no family name appears, the files are assigned to a system resource pack. When a family name follows DISKPACK or PACK, the database files are assigned to the indicated pack name. Database files can also be assigned to a named pack by using the PACKNAME or FAMILYNAME option with KIND = DISKPACK or KIND = PACK. The PACKNAME and FAMILYNAME options are synonymous. The value for the <disk/pack> attribute can also be changed by performing a DMCONTROL operation. If you decide to change the family name by way of a DASDL update after you have changed the name by using a DMCONTROL operation, you must perform a control file override. The override enables the system to recognize that the family name in the DASDL update takes precedence over the name you specified in the DMCONTROL operation. For additional information about the DMCONTROL operation and its OVERRIDE FAMILY option, refer to the Enterprise Database Server Utilities Operations Guide. |
|||||
The DUMPENCRYPT option enables automatic tape encryption during a DMUTILITY DUMP operation. When this option is set to TRUE, an explicit request is issued for a structure or structures to be encrypted automatically by DMUTILITY. At run time, you can override the DUMPENCRYPT option by using the DMUTILITY DUMP specifications. If you choose to encrypt data sets, sets, and subsets during a DMUTILITY DUMP operation, the DUMPENCRYPT option provides a method for DMUTILITY dump scripts to continue running with minimal or no syntax change. You can set this option at the global database, data set, or set level. You can also set the option at the structure level in the physical options for data sets and their associated sets.
The DUMPENCRYPT option defaults to FALSE. Refer to the Enterprise Database Server Utilities Operations Guide for examples and additional information about the DUMPENCRYPT option. |
|||||
The DIGITCHECK option allows you to verify that a NUMBER item contains only digits during a STORE operation. If a NUMBER item with DIGITCHECK set contains a nondigit hexadecimal (leading signs of 4 ‘C' and 4 ‘D' are allowed), a DATAERROR 01 exception is returned. The DIGITCHECK option is reset by default. This option is useful when a database is transported between different enterprise servers. When a NUMBER item, which is stored as a packed decimal, contains nondigits, the value of the same data can be different for different enterprise servers under certain circumstances. This difference in values can occur when a NUMBER item is specified as a DESCENDING key. Using the DIGITCHECK option guarantees that NUMBER items contain only correctly formed packed decimal values. If the NULL value of the NUMBER item is not the default value or the high value, you might need to perform extra checking when the data is stored. DIGITCHECK can be set in <data set default> or <item default>, but not in both. If the DIGITCHECK option is set in <data set default>, all explicitly or implicitly required NUMBER items in that data set are examined. It is set for all data sets by specifying DIGITCHECK or DIGITCHECK = TRUE. If the DIGITCHECK option is set in the <item default> variable, it can be set for REQUIRED ITEMS or for ALL ITEMS. If DIGITCHECK is set for REQUIRED ITEMS, then all explicitly or implicitly required NUMBER items are examined. If DIGITCHECK is set for ALL ITEMS, then all NUMBER items are examined. Note that DIGITCHECK can also be set for an individual structure or an individual item. Refer to Data Set Physical Options in Data Set Declaration for additional information. If conflicting values are specified for this attribute, the conflict is resolved in the following order of precedence:
Refer to “Using the REQUIRED Keyword” in Data Set Declaration for information regarding required items. |
|||||
![]() |
The DUMPSTAMP option is available with XE features only. The DUMPSTAMP option allows the use of the incremental and accumulated dump feature in DMUTILITY. This option allocates a new word to each block to store the last update timestamp of each data block. This option is valid for data sets, sets, and subsets. The incremental and accumulated dump feature in DMUTILITY uses the timestamp value to detect when data blocks have been modified. This information is then used to determine whether each data block is to be included in the incremental or accumulated dump. When you choose to back up data sets, sets, and subsets using the incremental or accumulated dump feature, you must set the DUMPSTAMP option. You can set the default at the global database, data set, or set level or at the structure level in the physical options for data sets and their associated sets. Specifying DUMPSTAMP or DUMPSTAMP=TRUE sets the option. Setting DUMPSTAMP to TRUE for existing structures requires a file format reorganization to add the DUMPSTAMP word, but no recompilation of application programs is necessary. Once the DUMPSTAMP option is set, it remains set unless the CHECKSUM option is reset. In this case, the DUMPSTAMP option is automatically reset by DASDL, and the incremental and accumulated dump capabilities are disabled. A file format reorganization is required when the DUMPSTAMP setting is changed. INDEPENDENTTRANS and CHECKSUM must also be set when DUMPSTAMP is set to TRUE. The DUMPSTAMP option is not allowed for partitioned data sets. Provided that the CHECKSUM option is set, the DUMPSTAMP option is set by default under either of the following conditions:
Refer to the Enterprise Database Server Utilities Operations Guide for additional information about the incremental and accumulated dump feature. |
||||
The ILOB COMPRESSION option provides a capability to compress the data of an internal LOB item. There is only one compression algorithm per database. You must set the ILOB COMPRESSION option with the INTERNAL LOBS option. An error occurs if this is not done. Changing the ILOB COMPRESSION option requires a database reorganization. However, changing the option to FALSE from LZW or blank is not supported. The applications that access the internal LOB do not need to be recompiled. Refer to the ASSIGN Statement in the ALGOL Programming Reference Manual, Volume 2, or the ASSIGN Statement in the COBOL ANSI-85 Programming Reference Manual, Volume 2 for additional information about using LOB with compression. |
|||||
The LOGACCESS option provides database access information. LOGACCESS is reset by default. It is set by specifying LOGACCESS or LOGACCESS=TRUE. This log cannot be used for recovery purposes. Refer to the Enterprise Database Server Utilities Operations Guide under “Logging Data Access” for additional information. |
|||||
The LOGACCESSDMVERBS option only allows logging for the DMVERBS that you select. This option requires that the LOGACCESS option be set for the structure. You can change the DMVERB list by specifying a DMCONTROL LOGACCESS statement. The <dmverb list> is the list of permitted verbs. The ALL option specifies all DMVERBS. While the <dmverb list> displayed in the control file listing for the structure includes FINDLOB, ASSIGNLOB and DELETELOB, these DMVERBS only apply to XE structures. When specifying the EXCEPT <dmverb list> option, the <dmverb list> construct following the word EXCEPT indicates the DMVERBS that are to be removed from the list of DMVERBS that were permitted by the ALL option. |
|||||
Once the MEMORY RESIDENT option is set for a structure, the buffers used by the structure stay in memory until the last user of a structure closes the database or until the MEMORY RESIDENT option is explicitly reset through the Visible DBS facility. The DASDL compiler does not allow specifying MEMORY RESIDENT in the global database defaults or the global data set defaults if any of the following occurs:
You cannot specify the MEMORY RESIDENT option for a global data set, restart data set or any implicit structures. If you specify the MEMORY RESIDENT option at the global default, the structures of the disallowed types will not be set. Changing the MEMORY RESIDENT option during a DASDL update increases the update level. The new update level requires the control file and tailored software to be recompiled. Note that if the database has Remote Database Backup enabled, then any global default or global data set default for the MEMORY RESIDENT option is ignored at runtime. The COARSE option is meaningful only for an index sequential set; it means only the coarse tables are kept in memory. If you use the ALL option, the entire structure is made memory resident. Note that the buffers become permanent residents only when they are accessed. Memory is not prefilled. |
|||||
The OBFUSCATELEVEL option instructs the Enterprise Database Server to select the methodology of masking the data content. The OBFUSCATELEVEL option value must be an integer from 1 to 3. The default value of OBFUSCATELEVEL option is 1. If the OBFUSCATELEVEL option value is 1, this indicates the entire database is using the same methodology of masking data. If the OBFUSCATELEVEL value is 2, this indicates each structure in the database is using a different method to scramble the data content. OBFUSCATELEVEL value of 3 is only allowed for XE structures. Each record of the structure will use its own methodology to scramble data. DASDL does not allow changing the OBFUSCATELEVEL to 3 while at the same time changing the structure(s) to XE (from a non-XE structure). A reorganization must be performed when changing the OBFUSCATELEVEL option from one level to another. |
|||||
POPULATIONINCR ![]() |
The POPULATIONINCR option enables the Enterprise Database Server to automatically increase the size of a structure beyond the limits declared in the database DASDL source file. Expansion is accomplished by allowing the number of areas in the structure to increase with a maximum of 1000 areas. Structures requiring more than 1000 areas can be accommodated by using the sectioning mechanism. Each automatic increase is applied to the AREAS target. For example, a structure that started with a maximum population equal to 100 areas and a POPULATIONINCR value of 100 would first be expanded by 100% of 100 areas; resulting in a new target of 200 areas. The next expansion would be 100% of 200 areas, resulting in the new target of 400 areas and so on. Even though the POPULATIONINCR option is specified once per structure, it is applied individually to each member file of an XE structure. As a result, member files of a sectioned structure can report unique values for AREAS and AREASINUSE when this option is used. The actual number of records that can be stored within a structure is based upon the number of areas designated for the structure and the structure type. For instance, the record calculation for
Therefore, even if a population is specified, the actual run-time evaluation of the allowed number of records might differ from the specified number. This effect is particularly noticeable when the specified population is small compared to the number of records that can be contained in an area. The value for POPULATIONINCR can also be changed dynamically while the database is running by using the POPULATIONINCR Visible DBS command. To change the value for POPULATIONINCR using a DASDL update after you change the value using the STRUCTURE CHANGE POPULATIONINCR Visible DBS command, perform a control file override. The override enables the system to recognize that the DASDL update value takes precedence over the value you specified with the Visible DBS command. For additional information about the POPULATIONINCR Visible DBS command or the DMCONTROL OVERRIDE POPULATIONINCR option, refer to the Enterprise Database Server Utilities Operations Guide. The POPULATIONINCR option cannot be specified for the global data set. The POPULATIONINCR option cannot be specified for a sectioned direct data set. For a sectioned data set, record calculation is for all sections in the data set. |
||||
POPULATIONINCR (cont.) |
The following parameters are available for use with the POPULATIONINCR option:
You can use the POPULATIONINCR option at both the database and the structure level. Specifications applied at the structure level take precedence over those at the database level. Two possible side effects of increasing population through the population increase mechanism (rather than by performing a reorganization to increase the area size) are as follows:
|
||||
POPULATIONINCR (cont.) |
Physical file limitations can prevent the full requested increase from occurring. Under those circumstances, the following additional message is emitted: MYDB: WARNING - Rows 975 through 1000 have been made available to CUSTOMERS. 1000 AREAS is the maximum number allowed by the system. Automatic expansion is no longer available to this structure until it has been reorganized. When this warning occurs, avoid limit errors and unplanned database downtime by reorganizing the structure and increasing the AREASIZE option value as soon as practicable. Once the area size is increased, the population increase mechanism can again be used to increase the structure automatically Typically, the allocation of areas is the result of creating new records in the database. However, new areas can also be allocated as the result of delete operations. Therefore, a large number of record deletions can also cause the automatic population increase to occur. This increase can result in an exception condition if the structure is near the limit of 1000 areas.
While updating the AREAS value for a data set where the POPULATIONINCR option is set, note that an automatic population increase might have increased the control file AREAS value. The DMCONTROL program determines whether to use the old control file value or the new DASDL value based on the assumption that the automatic increase mechanism has been invoked at least once. If a reorganization of the structure is required, the user-specified value from the DASDL is inserted in the new control file, regardless of whether the specified value is enough to hold all records in the data set. The population increment timestamp is reset. If a reorganization of the structure is not required but the user has changed the value of AREAS, the larger of the user-specified DASDL value or the control file value is used for the new control file AREAS value in the new control file. If the user-specified value is used, the timestamp is reset; otherwise, it is retained. If the user-specified AREAS value is not enough and the population increase mechanism is enabled, then the Reorganization program itself causes the automatic population increase mechanism to be invoked. |
||||
POPULATIONINCR (cont.) |
If the population increase mechanism is not enabled, then the Reorganization program might receive a fatal limit error. If the automatic population increase mechanism has never been invoked, the DASDL AREAS specification is always used. The messages associated with this option appear in the form of waiting entries on the operator display terminal (ODT). An asynchronous WFL job is used to emit the messages so as not to affect transaction processing operations. Messages remain as waiting entries until they are acknowledged. Should the system halt/load prior to acknowledgment of a message, the use of the asynchronous WFL job enables the message to reappear when the system recovers from the halt/load. Once an automatic population increase takes place for a structure, its state information continues to reflect the most recent occurrence until one of the following conditions occurs:
To determine whether an automatic population increase has occurred for a database or structure, run DMUTILITY and DBANALYZER or run dbaTOOLS. |
||||
![]() |
The POPULATIONWARN option instructs the Enterprise Database Server to issue a notification when a data set reaches a percentage of its allowed population. (The population calculations are based on areas.) Notification is placed in the control file and, by default, is also sent to the operator display terminal (ODT) in the form of a task that is placed in the waiting mix. In general, knowing when structures are approaching their population limit enables steps to be taken to avoid having applications receive limit errors and to avoid the resulting unplanned database downtime. The POPULATIONWARN option is off by default. That is, the control file is not updated and no notifications are issued. The value for POPULATIONWARN can also be changed dynamically while the database is running by using the POPULATIONWARN Visible DBS command. If you decide to change the value for POPULATIONWARN by way of a DASDL update after you change the value by using the STRUCTURE CHANGE POPULATIONWARN Visible DBS command, you must perform a control file override. The override enables the system to recognize that the DASDL update value takes precedence over the value you specified with the Visible DBS command. For additional information about the POPULATIONWARN Visible DBS command or the DMCONTROL OVERRIDE POPULATIONWARN option, refer to the Enterprise Database Server Utilities Operations Guide. The POPULATIONWARN option cannot be specified for the global data set. The POPULATIONWARN option cannot be specified for a sectioned direct data set. |
||||
POPULATIONWARN (cont.) |
The following parameters are available for use with the POPULATIONWARN option:
The POPULATIONWARN option can be used at both the database and the structure level. Specifications applied at the structure level take precedence over those at the database level. When the designated percentage of total structure capacity is reached
|
||||
POPULATIONWARN (cont.) |
MYDB: WARNING - CUSTOMER has reached 75% of its capacity of 750 rows. Use the IB (Instruction Block) system command to display the text of the message. Once the warning condition for a structure has been met— even if automatic population increases occur—further warnings are not issued for that structure until the related control file information has been reset. To reset the control file information for a structure, perform either a
The actual number of records that can be stored within a structure is based upon the number of areas designated for the structure and the structure type. For instance, the record calculation for variable-format data sets is based on the maximum allowed record size, and the record calculation for the compact data sets is based on the average record size. Therefore, even if a population is specified, the actual run-time evaluation of the allowed number of records might differ from the specified number. This effect is particularly noticeable when the specified population is small compared to the number of records that can be contained in an area. |
||||
REBLOCKFACTOR |
The REBLOCK and REBLOCKFACTOR options enable you to optimize both random and serial access to a structure; that is, you can maintain two block sizes for the same structure simultaneously, as follows:
The capability of maintaining two block sizes is called reblocking.
The REBLOCK attribute controls whether the Accessroutines employs reblocking at run time. Reblocking occurs only when REBLOCK is set for the structure. REBLOCK is reset by default. It is set by specifying REBLOCK or REBLOCK = TRUE. The size of the blocks used during reblocking is determined by the BLOCKSIZE and REBLOCKFACTOR physical attributes. In terms of reblocking, BLOCKSIZE controls the size of the smaller block used for random access. REBLOCKFACTOR controls the number of small blocks contained in each large block used for serial access. If a structure is not reblocked, all blocks are of the size specified in the BLOCKSIZE option. The most critical choice you must make for reblocking is the block size. Choosing a block size often requires a trade-off between pack space versus core utilization and I/O time. Try to minimize the block size as much as possible without wasting too much pack space. The choice of the reblock factor is not as critical as the block size. The larger the reblock factor, the less I/O time required for serial users. However, there is a point at which an increase in the reblock factor does not decrease the overall elapsed time of serial programs. If serial programs are run when system resources are limited, a smaller reblock factor helps minimize core usage. The REBLOCKFACTOR option is valid only if the REBLOCK option is set for the structure. Otherwise, REBLOCKFACTOR is ignored. The value for REBLOCKFACTOR can be an unsigned integer between 1 and 60, inclusive. The default value for REBLOCKFACTOR is the smaller of either the number 2 or the number of blocks per area. Specifying the value 1 for REBLOCKFACTOR is allowed for compatibility reasons, but might actually cause poorer run time performance than if REBLOCKFACTOR were not specified. |
||||
REBLOCKFACTOR (cont.) |
If REBLOCK is set for a structure but REBLOCKFACTOR is not specified, the DASDL compiler computes a default reblock factor to give a large block size of approximately 1000 words. Set or reset reblocking through the Visible DBS facility for any structure that has REBLOCK set in the DASDL description. Both REBLOCK and REBLOCKFACTOR can be modified through the Visible DBS facility. This gives the user a tremendous amount of control over core utilization, especially during critical periods such as high volume daily access. REBLOCK can be set only when the serial buffers specification is greater than or equal to 2. If REBLOCK is TRUE in DASDL and the serial buffers specification is greater than or equal to 2, REBLOCK is initialized to SET in the control file; otherwise, it is initialized to RESET. The BUFFERS specification can be changed through the Visible DBS facility. If REBLOCK is reset in DASDL, neither REBLOCK nor REBLOCKFACTOR can be modified through the Visible DBS facility. If a program oscillates between serial and random access, the Accessroutines detects this and make it increasingly more difficult for the program to change modes. This prevents spurious readaheads and buffer overlays. REBLOCK and REBLOCKFACTOR are valid only for direct and standard data sets. The system activates reblocking when all the following conditions exist:
Reblocking is deactivated when the number of records remaining to be read is less than the size of a large block even if the program is still accessing the structure serially. |
||||
The RECORDCOUNT option enables you to collect the number of records in the structure without locking the global structure of the database. This option is only valid for a disjoint dataset and set. A reorganization is required when RECORDCOUNT is changed from reset to set. However, it only requires performing a DMCONTROL UPDATE operation to disable the option. For additional information about the DMCONTROL operation and its UPDATE option, refer to the Enterprise Database Server Utilities Operations Guide. The RECORDCOUNT information is stored in the control file under each structure and can be retrieved through the DMUTILITY LIST/WRITE command.
|
|||||
Caution The RECORDCOUNT value is not valid while a structure is being reorganized. Additionally, for a Remote Database Backup secondary database, the value is not valid for a reorganized structure until Tracker completes application of the reorganization and emits a message stating, “RESTART POINT CREATED AFTER SUCCESSFULLY TRACKING THRU A REORG REGION.” |
|||||
The SECURITYGUARD option sets the SECURITYGUARD file attribute to the name and location of the guard file that controls direct access to the database files by programs other than the Accessroutines. Standard system security rules prevail. The following conditions are some of the causes of security errors: |
|||||
The STRENCRYPT option enables you to encrypt an entire selected data set within an Enterprise Database Server database. This prevents any tool capable of reading files from a disk from accessing the data in clear text.
When the STRENCRYPT option is set for a data set, all of the items within the data set are encrypted regardless of their data type. Additionally, any index sequential sets and subsets that belong to the data set are automatically encrypted. You can specify this option in global default or at the structure level in the physical options for the data set. If you define the STRENCRYPT option as a global default, all disjoint standard data sets with fixed formats and their index sequential spanning sets and subsets are encrypted.
The block size is increased by the encryption algorithm; encrypted data must be a multiple of 16 bytes in length (in addition to 30 bytes for the algorithm). If the VSS2OPTIMIZE or VSS3OPTIMIZE option is set with a specification of BLOCKSZ for the structure with the STRENCRYPT option, you must adjust the block size of the structure to maintain the VSS2OPTIMIZE or VSS3OPTIMIZE setting. If you change the STRENCRYPT option setting for an existing structure (for example, from TRUE to FALSE or FALSE to TRUE) you must perform a file format change reorganization to convert the data of the structure to a different format. A reorganization of a set or subset must be generated from its data set. Note that reorganization cannot generate a manual subset with encrypted keys. User programs do not need to be recompiled. |
|||||
The VSSWARN option provides a run-time indication of discrepancy between the blocking attributes of a structure and the storage device type upon which it resides. This option is specifically associated with VSS-2 devices. When the VSSWARN option is set to TRUE, the Accessroutines generates a durable warning message if the blocking attributes of the structure are not optimized for the operational characteristics of the members of the pack family. The message is sent as a task that is placed in the waiting mix. You can view the message by using the IB (Instruction Block) system command. The VSSWARN option is most useful when a VSS-2 device is unexpectedly configured in a 180-byte aligned pack family. The default is FALSE. |
|||||
The VSS2OPTIMIZE option, when set to TRUE, is an explicit request for an existing structure (or structures) that uses the default blocking attributes of DASDL to be automatically reorganized for VSS-2 optimization. A setting of FALSE indicates to ignore an existing structure (or structures) that is not optimized. A setting of FALSE cannot be used to “unoptimize” a structure. VSS-2 optimized structures are aligned on block boundaries that are multiples of 60 words. Placing VSS-2 optimized structures on 180-byte aligned disks does not impact performance. New structures, whether created as part of new databases or added to existing databases, are by default automatically optimized for VSS-2 if they allow DASDL to supply the blocking specifications. Specifying this option for these new structures serves as documentation only. The default applies to existing structures and is FALSE. |
|||||
VSS3OPTIMIZE |
VSS3OPTIMIZE supports MCP 4096-byte physical sector disks. The VSS3OPTIMIZE option, when set to TRUE, aligns structures on block boundaries that are multiples of 660 words. The specified BLOCKSIZE option value must be a multiple of 22 segments. For existing structures that use the default blocking attributes of DASDL, setting VSS3OPTIMIZE to TRUE, automatically reorganizes for VSS-3 optimization. Setting VSS3OPTIMIZE to FALSE ignores existing structures that are not optimized. Setting VSS3OPTIMIZE to FALSE does not “unoptimize” a structure. The REAPPLYCOMPLETED option determines audit I/O when an ENDTRANSACTION occurs. Since the audit I/O size is typically not a multiple of 660 words, storing the audit on VSS-3 disks is not recommended. If the audit must be on VSS-3 disks, you can maximize performance by ensuring that the VSS3OPTIMIZE option is set for the audit trail or as a global default. When VSS3OPTIMIZE is declared as a global database default, a data set default, or a set default, the internal Enterprise Database Server files are VSS-3 optimized for a new database. However, if the database is being updated, existing internal structures will not become VSS-3 optimized to prevent reorganization required for those internal structures. If new internal structures are added to the database during the update, they will be optimized for VSS-3. The VSS2OPTIMIZE and VSS3OPTIMIZE options are mutually exclusive. VSS3OPTIMIZE structures are aligned on block boundaries that are multiples of 660 words while VSS2OPTIMIZE structures are aligned on block boundaries that are multiples of 60 words. If both the VSS2OPTIMIZE option and VSS3OPTIMIZE option are specified at the same level, DASDL gives a syntax error. New structures (whether created as part of new databases or added to existing databases), are not, by default, automatically optimized for VSS-3. This differs from the VSS2OPTIMIZE option. The VSS3OPTIMIZE default applies to existing structures and is FALSE. When both the VSS3OPTIMIZE and BLOCKSIZE options are specified, the DASDL compiler uses them to calculate the optimal block size in words.If the calculation results in wasting more than one segment (30 words), the DASDL compiler will ignore the VSS3OPTIMIZE option. To preserve the VSS3OPTIMIZE option, users can either remove the BLOCKSIZE option, add a new filler item or expand an existing filler item. For an existing structure, changing the block size requires a file format conversion reorganization. The following database files are not affected by the global VSS3OPTIMIZE option. These files are not updated frequently enough for optimization to be beneficial.
|
||||
The DIGITCHECK option allows you to verify that a NUMBER item contains only digits during a STORE operation. If a NUMBER item with DIGITCHECK set contains a nondigit hexadecimal (leading signs of 4 ‘C' and 4 ‘D' are allowed), a DATAERROR 01 exception is returned. The DIGITCHECK option is reset by default. This option is useful when a database is transported between different enterprise servers. When a NUMBER item, which is stored as a packed decimal, contains nondigits, the value of the same data can be different for different enterprise servers under certain circumstances. This difference in values can occur when a NUMBER item is specified as a DESCENDING key. Using the DIGITCHECK option guarantees that NUMBER items contain only correctly formed packed decimal values. If the NULL value of the NUMBER item is not the default value or the high value, you might need to perform extra checking when the data is stored. DIGITCHECK can be set in <data set default> or <item default>, but not in both. If the DIGITCHECK option is set in <data set default>, all explicitly or implicitly required NUMBER items in that data set are examined. It is set for all data sets by specifying DIGITCHECK or DIGITCHECK = TRUE. If the DIGITCHECK option is set in the <item default> variable, it can be set for REQUIRED ITEMS or for ALL ITEMS. If DIGITCHECK is set for REQUIRED ITEMS, then all explicitly or implicitly required NUMBER items are examined. If DIGITCHECK is set for ALL ITEMS, then all NUMBER items are examined. Note that DIGITCHECK can also be set for an individual structure or an individual item. Refer to Data Set Physical Options in Data Set Declaration for additional information. If conflicting values are specified for this attribute, the conflict is resolved in the following order of precedence:
Refer to “Using the REQUIRED Keyword” in Data Set Declaration for information regarding required items. |
|||||
EXTENDED |
The EXTENDED attribute is not allowed for the restart data set.
The EXTENDED data set attribute, when set to TRUE, causes all user-declared data sets except the restart data set to have records that contain two additional words at the beginning of the record:
User programs need to be aware of these two additional words when moving data to and from the data set record area. If not specified, the EXTENDED attribute is FALSE by default. The EXTENDED attribute default value can be overridden at the data set level. If the database is audited and the EXTENDED attribute is set to TRUE for at least one structure, then the INDEPENDENTTRANS database option must also be specified. If the database is unaudited, the EXTENDED attribute can be set to TRUE, but the INDEPENDENTTRANS database option must not be set. An embedded data set and its owner data set must have the same value set for the EXTENDED attribute. Sets and subsets that span an EXTENDED data set implicitly have the EXTENDED default set to true. The EXTENDED attribute is not allowed for the Restart data set. The following internal data set structures do not have the EXTENDED attribute set by way of a physical data set specification:
In addition, global default settings for the EXTENDED attribute do not have any effect on the preceding internal structures. |
||||
The INITIALVALUE option controls the value assigned to data items when a new record is created. The only values allowed are those shown. Field items and virtual items cannot be assigned an initial value; thus, the default initial value will not apply to them. |
|||||
The LOCK TO MODIFY DETAILS option can be used to ensure that user programs lock the master record before they add, delete, or modify records belonging to the master. This guarantees that two programs cannot concurrently modify records subordinate to the same master. The LOCK TO MODIFY DETAILS option is reset by default. It is set by specifying LOCK TO MODIFY DETAILS or LOCK TO MODIFY DETAILS = TRUE. |