Enterprise Database Server Data and Structure Definition Language (DASDL) Programming Reference Manual

ClearPath MCP 21.0

June 2023

8600 0213-423

Warranty Disclaimer

NO WARRANTIES OF ANY NATURE ARE EXTENDED BY THIS DOCUMENT. Any product or related information described herein is only furnished pursuant and subject to the terms and conditions of a duly executed agreement to purchase or lease equipment or to license software. The only warranties made by Unisys, if any, with respect to the products described in this document are set forth in such agreement. Unisys cannot accept any financial or other responsibility that may be the result of your use of the information in this document or software material, including direct, special, or consequential damages.

You should be very careful to ensure that the use of this information and/or software material complies with the laws, rules, and regulations of the jurisdictions with respect to which it is used.

The information contained herein is subject to change without notice. Revisions may be issued to advise of such changes and/or additions.

Notice to U.S. Government End Users: This software and any accompanying documentation are commercial items which have been developed entirely at private expense. They are delivered and licensed as commercial computer software and commercial computer software documentation within the meaning of the applicable acquisition regulations. Use, reproduction, or disclosure by the Government is subject to the terms of Unisys’ standard commercial license for the products, and where applicable, the restricted/limited rights provisions of the contract data rights clauses.

Unisys and other Unisys product and service names mentioned herein, as well as their respective logos, are trademarks or registered trademarks of Unisys Corporation.
All other trademarks referenced herein are the property of their respective owners.

Table of Contents

Introduction to the Basic Concepts of the Enterprise Database Server
Documentation Updates
What's New?
Overview of Enterprise Database Server Software Components
DASDL Overview
Accessroutines
Audit and Recovery
Application Program Interfaces
Database Reorganization
Control File
DMSUPPORT Library
Overview of Enterprise Database Server Database Components
Data Sets
Sets
Subsets
Data Items
Global Data
Introduction to the Language Components of DASDL
Character Set
Comment
Expression
Arithmetic Expression
Boolean Expression
Family Name
Identifier
Integer and Unsigned Integer
Number and Unsigned Number
Remark
String
Introduction to the Major Syntax Elements of DASDL
Syntax Elements for Defining a Database
Examples of Defining a Database
Using the MODEL and UPDATE Options
MODEL Option
UPDATE Option
Using the Defaults Specification
Preparing for Open Disk Technology
Specifying Database Defaults
Examples of Using the Defaults Specification
Using the Initialize Statement and the Options and Parameters Specifications
Initialize Statement
Options Specification
Examples of Using the Options Specification
Parameters Specification
Using the Code File Specifications
Accessroutines Specification
DMSUPPORT Specification
DMReorganization Specification
Recovery Specification
Data Recovery Specification
Reconstruct Specification
Reorganization Specification
RMSUPPORT Specification
DMCONTROL Specification
DMUTILITY Specification
LOBUTILITY Specification
Using the Audit Trail and Control File Specifications
Audit Trail Specification
Examples of Using the Audit Trail Specifications
Remote Database Backup with VSS-2 or VSS-3
Controlling Audit File Size
Control File Specification
Data Set Declaration
Preparing for Open Disk Technology
Defining the Data Set
Record Description
Record Size
Embedded Structures
Control Items
Data Item Types
Filler Data Items
Group Data Items
Link Data Items
Variable-Format Part
Verify Condition
Data Set Logical Option
Data Set Physical Options
ALLOCATE Option
AREAS and AREASIZE Options
AVERAGE RECORD SIZE Option
BLOCKSIZE Option
BUFFERS Option
CCSVERSION Option
CHECKSUM Option
DATAENCRYPT Option
DATAEXCHANGE Option
DATAMASK Option
DIGITCHECK Option
Disk/Pack Option
DUMPENCRYPT Option
DUMPSTAMP Option
EXTENDED Attribute
ILOB COMPRESSION Option
MEMORY RESIDENT Option
LOCK TO MODIFY DETAILS Option
LOGACCESS Option
LOGACCESSDMVERBS Option
OPEN PARTITIONS Option
PARTITION Option
POPULATION Option
POPULATIONINCR Option
POPULATIONWARN Option
REBLOCK and REBLOCKFACTOR Options
RECORDCOUNT Option
SECTIONS Option
SECURITYGUARD Option
STRENCRYPT Option
SUBBLOCKSIZE Option
VSSWARN Option
VSS2OPTIMIZE Option
VSS3OPTIMIZE Option
Example of Data Set Physical Options
16BITALIAS Option
Database Global Items and Physical Specifications
Database Global Data Items
Database Physical Specifications
Sets, Subsets, and Accesses
Preparing for Open Disk Technology
Sets
Set Name
Data Set Name
REORGANIZE Clause
Set Type
Key Clause
BINARY, LOGICAL, and EQUIVALENT Comparison Options
DUPLICATES Option
Key Data Option
Set Declaration Example
Subsets
Subset Name
Data Set Name
REORGANIZE Clause
Where Condition
Subset Type
Key Clause
BINARY, LOGICAL, and EQUIVALENT Comparison Options
DUPLICATES Option
Key Data Option
Set Name Identifier
Subset Declaration Examples
Scope Rules for Manual Subsets
Set and Subset Physical Options
AREAS and AREASIZE Options
BUFFERS Option
CHECKSUM Option
Disk/Pack Option
DUMPENCRYPT Option
DUMPSTAMP Option
LOADFACTOR Option
MODULUS Option
NOFTLOCK Option
OPEN PARTITIONS Option
POPULATION Option
PRIME Option
RECORDCOUNT Option
SECURITYGUARD Option
TABLESIZE Option
MEMORY RESIDENT Option
16BITALIAS Option
SECTIONS Option
PHYSICAL SECTIONS Option
Section Bounds Specification
VSSWARN Option
VSS2OPTIMIZE Option
VSS3OPTIMIZE Option
Set and Subset Physical Options Example
Accesses
Access Name
Data Set Name
Key Clause
DUPLICATES Option
MODULUS Option
SECTIONS Option
Section Bounds Specification
Access Examples
Using Remaps and Logical Databases for Security and Data Independence
Remaps Specification
Remap Record Description
Remap Count Items
Remap Population Items
Remap Record Type Items
Remap Aggregate Items
Remap Data Item
Remap Filler Item
Remap Group Item
Remap Link Item
Remap Reference
Remap Regrouping
Remap Set-Subset-Access
Virtual Item
Remap Variable-Format Part
SELECT/VERIFY Condition
Global Data Remap
Logical Database
Performing Updates
Understanding the Procedure for Performing Updates
Examples of the Update Process
Performing Reorganizations
Performing Garbage Collections
Performing File Format Conversions
Procedure for Performing File Format Conversions
Example for Changing Data Set Physical Options
Example for Changing the Set-Subset Physical Options
Example for Changing the MODULUS Attribute on an Access
Performing Record Format Conversions
Procedure for Performing Record Format Conversions
Example for Changing the Data Set Record Format
Example for Changing the Data Set Record Format of a Remap
Example for Deleting Embedded Structures
Example for Deleting a Link Item
Example for Changing Global Data
Reorganizing Hierarchies
Using the AUTOREORG Option
Using the INITIALIZENEW Option
Performing Modeling
Understanding the Procedure for Performing Modeling
Modeling with the Update or Reorganization Process
Reorganizing a Modeled Database
Reorganizing a Modeled Database Using DMREORG reorganization
Reorganizing a Modeled Database Using the USEREORGDB Option
Reorganizing a Modeled Database Using DMREORG reorganization along with the USEREORGDB Option
Update, Reorganization, and Modeling Capabilities and Limitations
Altering Database Default Options
Altering Database Options
Altering Database Parameters
Altering Audit Trail Specifications
Altering Control File Specifications
Altering Data Set Descriptions
Describing Data Set Alterations
Altering Aggregate Items
Altering Count Items
Altering Record Type Items
Altering Data Items
Altering Filler Items
Altering Group Items
Altering Link Items
Altering Population Items
Altering the Variable-Format Part
Altering Global Items
Altering the Data Set Logical Option
Altering Data Set Physical Options
Altering Item Types and Sizes
Allowable Sign Changes
Effect of Changing an Occurs Clause
Effect of Changing a Boolean Value in a Field
Changing Compact, VERIFY Condition, and SELECT Condition Items
Translating Alpha or Group Items to Number, Real, Field, or Boolean Items
Translating Number, Real, Field, or Boolean Items to Alpha or Group Items
Truncation
Altering Sets, Subsets, and Accesses
Altering Sets
Altering Subsets
Altering Set and Subset Physical Options
Altering Accesses
Altering Remaps and Virtual Information
Altering Remaps
Altering Remap Options
Altering Remap Aggregate Items
Altering Remap Count Items
Altering Remap Record Type Items
Altering Remap Data Items
Altering Remap Filler Items
Altering Remap Group Items
Altering Remap Link Items
Altering Remap Population Items
Altering Remap References
Altering Remap Sets, Subsets, and Accesses
Altering the Remap Variable-Format Part
Altering the Global Data Remap
Altering Virtual Count Items
Altering Virtual Data Items
Altering Virtual Group Items
Altering Virtual Population Items
Altering Logical Databases
DASDL Compiler
Compiler Files
Input Files
Output Files
DASDL Source Input Format
Initiating DASDL Compilations
Initiating DASDL Compilations Using WFL
Initiating DASDL Compilations Using CANDE
Compiler Control Statements
Boolean Options
Parameter Options
System Options
WFL Job File Inputs
WFL Job Examples
ACRDISPLAY Compiler Control Option
ACRINFO Compiler Control Option
ZIPFILE Compiler Control Option
Tailored File-Naming Conventions
Audit Files
AUTOREORG Parameter File
Control File
Database Files
Global Data
Data Sets
Sets and Subsets
Partitioned Structures
Description File
INITIALIZE Parameter File
Recovery File
DMSUPPORT Library
RMSUPPORT Library
Structure Formats
Common Features
File Format Levels
Database I/O
DUMPSTAMP Option
CHECKSUM Option
ADDRESSCHECK Option
Common Word Layouts
One-Way Chain of Available Blocks
Two-Way Chain of In-Use Blocks
Data Sets
Structure Format Changes for XE Features
Data Set Record Format
File Formats
Record Formats
Alignment Rules
Compact Data Sets
Direct Data Sets
Ordered Data Sets
Random Data Sets
Restart Data Sets
Standard Data Set (Fixed Format)
Standard Data Set (Variable Format)
Unordered Data Sets
Sets and Subsets
Key Entries
Bit Vector
Index Random Sets and Subsets
Index Sequential Sets and Subsets
Logically Sectioned Index Sequential Set
Physically Sectioned Index Sequential Sets
Ordered List Sets and Subsets
Unordered List Sets and Subsets
Designing Enterprise Database Server Databases
Approach
Summary
Representing Data Sets
Retrieval Keys
Update Anomalies
Modification Anomalies
Insertion Anomalies
Deletion Anomalies
Avoiding Anomalies
Relationships on Data Sets
One-To-One Relationships
One-To-N Relationships
M-To-N Relationships
Additional Relationship Information
Networks
Disjoint Versus Embedded Structures
Links and Manual Subsets
Controlling Structure Size to Optimize Database Performance
DASDL to Host Language Conversion
DASDL Limitations
Understanding Railroad Diagrams
Railroad Diagram Concepts
Paths
Constants and Variables
Constraints
Following the Paths of a Railroad Diagram
Railroad Diagram Examples with Sample Input

List of Figures

1. DASDL Compilation
2. User Program Compilation
3. User Program Execution
4. Control File Generation
5. DMSUPPORT Compilation
6. Links
7. Scope Rules for Links
8. Counted Link
9. Self-Correcting Link
10. Symbolic Link
11. Unprotected Link
12. Verified Link
13. Manual Subset
14. Scope Rules for Manual Subsets
15. Update Process for Two Databases That Share the Same DMSUPPORT Library
16. The Reorganization Process
17. The Reorganization Process Using the USEREORGDB Option
18. DASDL Input and Output Files
19. One-Way Chain of Available Blocks
20. Two-Way Chain of In-Use Blocks
21. Record Layout of Data Set D (Part 1)
22. Record Layout of Data Set D (Part 2)
23. Record Layout of Data Set D (Part 3)
24. Compact Data Sets
25. Direct Data Sets
26. Ordered Data Sets
27. Embedded Ordered Data Set with No Subblocks
28. Embedded Ordered Data Set with Subblocks
29. Ordered Data Set Data Record
30. Linking of Disjoint Data Blocks
31. Allocating a New Block
32. Embedded Data Block with Subblocks
33. Block 0 (Zero) Format When the Subblock Size Is Specified
34. Random Data Set
35. Standard Data Set (Fixed Format)
36. Standard Data Set (Variable Format)
37. Unordered Data Set
38. Unordered Data Set with Embedded Data Set
39. In-Use Block Format of an Unordered Data Set
40. Set and Subset Key Entries
41. Set and Subset Spanning EXTENDED Key Entries
42. Set and Subset Spanning Extended Key Entries with NOFTLOCK and NO DUPLICATES Set
43. Set and Subset Bit Vectors
44. Index Random Sets and Subsets
45. Index Sequential Sets and Subsets
46. Effect of LOADFACTOR Value on Entry Movement
47. Logically Sectioned Index Sequential Set
48. Physically Sectioned Index Sequential Set
49. Ordered List Sets and Subsets
50. Ordered List Sets and Subsets with Embedded Sets and Subsets
51. Diagram of a Database
52. One-To-One Relationship on a Single Data Set
53. One-To-One Relationships Between Two Data Sets
54. One-To-N Relationships on a Single Data Set
55. Single File Identifier Tree Structure
56. One-To-N Relationships Between Two Data Sets
57. M-To-N Relationships on a Single Data Set at the Data Set Level
58. M-To-N Relationships on a Single Data Set at the Record Level
59. M-To-N Relationships Between Two Data Sets at the Data Set Level
60. M-To-N Relationships Between Two Data Sets at the Record Level
61. University Database
62. Embedded Data Sets at the Data Set Level
63. Embedded Data Sets at the Record Level

List of Tables

1. EBCDIC Characters Used in DASDL
2. Arithmetic Operators Provided in DASDL
3. Identifier Restrictions
4. Efficiency Considerations for Parameters
5. Efficiency Considerations for Audit Trail Options
6. Assigning Initial Values to Data Items
7. System‑Supplied Default Initial Values
8. Assigning Null Values to Data Items
9. Basic Link Syntax
10. Retrieval Methods
11. Default Set Organizations
12. DUPLICATES Options for Sets
13. Default Subset Organizations
14. DUPLICATES Options for Subsets
15. DUPLICATES Options for Accesses
16. DUPLICATES Options Available with Accesses
17. Situations That Can Occur When Using the AUTOREORG Option
18. Summary of the Update, Reorganization, and Modeling Processes
19. XE Feature Summary of the Update, Reorganization, and Modeling Processes
20. Allowed Changes to Database Default Options
21. Allowed Changes to Database Options
22. Allowed Changes to Database Parameters
23. Allowed Changes to Audit Trail Specifications
24. Allowed Changes to Control File Specifications
25. Allowed Actions
26. Allowed Changes to Data Set Aggregate Items
27. Allowed Changes to Data Set Count Items
28. Allowed Changes to Data Set Record Type Items
29. Allowed Changes to Data Set Data Items
30. Allowed Changes to Data Set Filler Items
31. Allowed Changes to Data Set Group Items
32. Allowed Changes to Data Set Link Items
33. Allowed Changes to Data Set Population Items
34. Allowed Changes to the Data Set Variable‑Format Part
35. Allowed Changes to Data Set Global Items
36. Allowed Changes to the Data Set Logical Option
37. Allowed Changes to Data Set Physical Options
38. Valid Item Type Conversions
39. Allowed Changes to Sets
40. Allowed Changes to Subsets
41. Allowed Changes to Set and Subset Physical Options
42. Allowed Access Changes
43. Allowed Remap Changes
44. Allowed Remap Option Changes
45. Allowed Changes to Remap Aggregate Items
46. Allowed Remap Count Item Changes
47. Allowed Remap Record Type Item Changes
48. Allowed Remap Data Item Changes
49. Allowed Remap Filler Item Changes
50. Allowed Remap Group Item Changes
51. Allowed Changes to Remap Link Items
52. Allowed Changes to Remap Population Items
53. Allowed Changes to Remap References
54. Allowed Changes to Remap Sets, Subsets, and Accesses
55. Allowed Changes to Remap Variable‑Format Parts
56. Allowed Changes to Global Data Remaps
57. Allowed Changes to Virtual Count Items
58. Allowed Changes to Virtual Data Items
59. Allowed Changes to Virtual Group Items
60. Allowed Changes to Virtual Population Items
61. Allowed Changes to Logical Databases
62. Card File Attributes
63. TAPE File Attributes
64. SOURCE File Attributes
65. Included Input File Attributes
66. CODE File Attributes
67. LINE File Attributes
68. NEWTAPE File Attributes
69. NEWSOURCE File Attributes
70. REMOTE File Attributes
71. Effect of WFL Statements on DASDL Compilation
72. WFL Job File Keywords
73. Restart Record Types
74. Effect of LOADFACTOR Value on Entry Movement
75. DASDL to Host Language Conversion Table
76. Elements of a Railroad Diagram

List of Examples

1. Absolute Address (AA) Word Layout
2. In-Use Table Control Word (TCW) Layout
3. Available Table Control Word (TCW) Layout
4. Table Serial Number (TSN) Layout
5. Compact Data Set Data Block Format
6. Compact Data Set Data Control Word (DCW) Layout
7. Compact Data Set Data Record Directory Layout
8. Compact Data Set Address Block Layout
9. Compact Data Set Address Block Layout
10. Compact Data Set Block 0 (Zero) Format
11. Compact Data Set Available Block Format
12. Ordered Data Set Data Block Format
13. Ordered Data Set NEXTBLOCKLOC Layout
14. Ordered Data Set PRIORBLOCKLOC Layout
15. Ordered Data Set Block Control Word (BCW) Layout
16. Ordered Data Set Table Block Format
17. Ordered Data Set Block 0 (Zero) Format
18. Ordered Data Set Available Block Format
19. Random Data Set Data Block Format
20. Random Data Set NEXTBLOCKLOC Layout
21. Random Data Set PRIORBLOCKLOC Layout
22. Random Data Set Fold Word Layout
23. Standard Data Set (Fixed Format) DKTABLE Format
24. Standard Data Set (Fixed Format) LASTRECORD Format
25. Standard Data Set (Variable Format) Control Word Layout
26. Standard Data Set (Variable Format) Block 0 (Zero) Format
27. Standard Data Set (Variable Format) Address Block Format
28. Standard Data Set (Variable Format) Empty Block Format
29. Standard Data Set (Variable Format) Data Block Format
30. Unordered Data Set NEXTBLOCKLOC Layout
31. Unordered Data Set PRIORBLOCKLOC Layout
32. Unordered Data Set Available Area Format
33. Unordered Data Set Link Word Layout
34. Index Random Set and Subset Table Format
35. Index Random Set and Subset Fold Word Layout
36. Index Random Set and Subset NEXTBLOCKLOC Layout
37. Index Random Set and Subset PRIORBLOCKLOC Layout
38. Table Control Word of Block 1
39. Index Sequential Set and Subset Table Format
40. Ordered List Set and Subset Table Format
41. Ordered List Set and Subset NEXTBLOCKLOC Layout
42. Ordered List Set and Subset PRIORBLOCKLOC Layout