CONTENTS Title Page Copyright Page Preface 1 Using DEC DATATRIEVE with DECwindows Motif 1.1 Preparing to Use DEC DATATRIEVE in a DECwindows Motif Environment 1.2 Invoking DEC DATATRIEVE in a DECwindows Motif Environment 1.3 Restriction on Display of Tab Characters in DECwindows Motif Environment 2 Using DEC FMS and VAX TDMS Forms with DEC DATATRIEVE 2.1 Associating a Form with a Domain 2.1.1 The FORM IS Clause 2.1.2 The DISPLAY_FORM Statement 2.2 Defining Forms 2.2.1 Defining Form Field Names 2.2.2 Defining Data Type and Length of Form Fields 2.2.2.1 Numeric Fields with Decimal Points or Signs 2.2.2.2 Usage DATE Fields 2.2.3 Specifying User Entry and Validation Criteria 2.2.4 Defining Multiple Screen Forms and Forms with Scrolled Areas 2.2.5 Using Default Values 2.2.6 Defining Forms for Domains That Contain Repeating Fields 2.3 Inserting Forms in Library Files 2.4 Using Forms to Display and Collect Data 2.4.1 Enabling and Disabling Form Use 2.4.2 Displaying Data with Forms 2.4.3 Storing Data with Forms 2.4.4 Modifying Data with Forms 2.4.5 Handling Numeric Data 2.5 Using VAX TDMS and DEC FMS Forms with DECwindows Motif 2.6 Restrictions on Using Forms 2.6.1 DEC DATATRIEVE and DEC FMS 2.6.2 DEC DATATRIEVE Command Files and Forms Products 2.6.3 Modifying Data Using View Domains and FORM IS 2.6.4 Special Graphics Characters in Forms 3 Using DECforms with DEC DATATRIEVE 3.1 Overview of DECforms 3.1.1 Files Associated with DECforms Forms 3.2 Form Management Combinations 3.3 The DECforms Interface to DEC DATATRIEVE 3.4 Creating an Application 3.4.1 Creating a DECforms Form 3.4.1.1 Transferring Records 3.4.1.2 Data Types in DECforms and DEC DATATRIEVE 3.4.1.3 Using Oracle CDD/Repository to Store Record Definitions 3.4.2 Data Interaction Between DEC DATATRIEVE and DECforms 3.4.2.1 The FORM IS Clause 3.4.2.2 The WITH_FORM Statement 3.5 The Exchange Record 3.5.1 When is the Exchange Record Needed? 3.6 Using DECforms to Display and Collect Data 3.6.1 Enabling and Disabling DECforms Use 3.6.2 Displaying Data with DECforms 3.6.2.1 The Domain has a Form Associated with It 3.6.2.2 No Forms are Associated with a Domain 3.6.3 Storing Data with DECforms 3.6.3.1 The Domain has a Form Associated with It 3.6.3.2 No Forms are Associated with the Domain 3.6.4 Modifying Data with DECforms 3.6.4.1 The Domain has a Form Associated with It 3.6.4.2 No Forms are Associated with the Domain 3.7 Using DECforms in a DECwindows Motif Environment 3.8 Escape Routines 4 Using DEC DATATRIEVE with Oracle CODASYL DBMS 4.1 Advantages of Using DEC DATATRIEVE 4.2 Defining a Database: The DEFINE DATABASE Command 4.3 Accessing the Database 4.3.1 Readying an Entire Database Directly 4.3.2 Defining and Readying Oracle CODASYL DBMS Domains 4.3.3 Results of the READY Command 4.3.3.1 The SHOW FIELDS Command 4.3.3.2 The SHOW SETS Command 4.4 DEC DATATRIEVE/Oracle CODASYL DBMS Queries 4.5 DEC DATATRIEVE/Oracle CODASYL DBMS Queries Using Sets 4.5.1 Collections of Oracle CODASYL DBMS Set Data 4.5.2 Record Streams of Oracle CODASYL DBMS Set Data 4.5.3 Using OWNER and MEMBER Clauses to Identify Sets 4.5.3.1 The MEMBER Clause 4.5.3.2 The OWNER Clause 4.5.4 Using the SET SEARCH Command to Access Sets 4.6 Finding Data from Two or More Domains 4.6.1 Walking the Sets 4.7 Modifying Individual Fields in a Record 4.8 Storing Oracle CODASYL DBMS Records and Modifying Sets 4.8.1 Storing and Connecting Records 4.8.1.1 Automatic Insertion 4.8.1.2 Manual Insertion 4.8.2 Erasing, Disconnecting, and Reconnecting Records with Sets 4.8.2.1 Erasing Oracle CODASYL DBMS Records 4.8.2.2 Disconnecting and Reconnecting Oracle CODASYL DBMS Records from Sets 4.8.2.3 Disconnecting and Connecting Oracle CODASYL DBMS Records from Sets 4.8.3 Summary of Membership Characteristics 4.8.4 Writing Changes to the Database 5 Using DEC DATATRIEVE with Relational Databases 5.1 Getting Started with DEC DATATRIEVE and Relational Databases 5.2 Defining the Database 5.3 Accessing the Database 5.3.1 Readying a Relational Database Directly 5.3.2 Defining and Readying Relational Domains 5.4 Using Views 5.5 Displaying Information About Readied Relations and Domains 5.6 Ending Access to Domains, Relations, and Views 5.7 Storing and Maintaining Data in Relational Databases 5.7.1 Using the COMMIT Statement 5.7.2 Using the ROLLBACK Statement 5.8 Querying the Database, Writing Reports, and Using Collections 5.9 Using the Segmented String Data Type in DEC DATATRIEVE 5.9.1 Defining Segmented String Fields in Oracle Rdb or VAX Rdb/ELN 5.9.2 Displaying Segmented String Fields in DEC DATATRIEVE 5.9.3 Storing and Modifying Segmented String Fields in DEC DATATRIEVE 5.9.4 Restrictions and Usage Notes for Segmented String Fields 5.10 Using the Relational Databases Null values 5.10.1 Performing Queries on Relational Databases 5.10.2 Displaying Null Values 5.11 Using Dbkeys in DEC DATATRIEVE 5.12 Modifying the Structure of Relational Sources 5.13 Ensuring Data Security 5.14 Validating Data for Oracle Rdb or VAX Rdb/ELN Relations and Domains 5.15 Optimizing Performance 6 Accessing Remote Data 6.1 Defining Network Domains and Accessing Remote Domains 6.2 Heterogeneous Network and Remote Domains 6.3 Results of Accessing Remote Domains 6.4 Restrictions on Using Remote Domains 6.5 Accessing ORACLE, DB2, and SYBASE Data from Digital Computers FIGURES 3-1 The Exchange Record Mechanism 4-1 Oracle CODASYL DBMS Set CONSISTS_OF 4-2 Single Set Occurrence 4-3 Set Relationships in Sample Oracle CODASYL DBMS Database 4-4 Oracle CODASYL DBMS Set Relating Three Domains 4-5 Oracle CODASYL DBMS Set CLASS_PART 5-1 Sample Oracle Rdb Relation 5-2 Sample Oracle Rdb Database TABLES 2-1 Matching Form Field Definitions to Numeric Record Fields 2-2 Corresponding Fields in the Form PERSON and the Domain PERSONNEL 2-3 Modifying Data in Some Fields of a Form and a Domain 4-1 Effect of Insertion, Retention, and Database Operations on Target Record 4-2 Effect of Insertion, Retention, and Database Operations on Member 6-1 Data Conversion Between Heterogeneous Local and Remote Domains