CONTENTS Title Page Copyright Page Send Us Your Comments Preface 1 Overview of DEC DB Integrator Gateway for RMS 1.1 Working Environment 1.1.1 SQL Interface 1.1.2 Rdb/Dispatch Interface 1.1.3 DECnet/SNA OpenVMS Data Transfer Facility (DTF) 1.1.4 CDD/Repository 1.2 Terminology 2 Data and Metadata Requirements 2.1 Supported File Types 2.2 Supported Record Formats 2.3 Embedded Structures 2.4 Variant Structures 2.5 Supported Data Types 2.6 Tracking Precision Loss 2.7 Comparing Character Data Type Values 3 Preparing to Access VSAM Data Sets 3.1 Determining Eligibility of VSAM Data Sets 3.2 Installing DTF 3.3 Configuring DTF 3.3.1 Securing DTF 3.3.2 Creating a Proxy Database 3.4 Defining a Logical Name for a VSAM Data Set 3.5 Creating Metadata for the VSAM Data Set 3.5.1 Using the DEFINE RMS_DATABASE Command 3.5.2 Using the DEFINE DATABASE Command with an Existing Data Set 3.5.3 Specifying the Data Driver Image 3.5.4 Specifying the Data Location 3.6 Using SQL with VSAM Data Sets 4 Accessing RMS and VSAM Data with SQL 4.1 Specifying CDD/Repository as the Metadata Source 4.1.1 Database Name in the Repository Hierarchy 4.1.2 Database Keys (Dbkeys) 4.2 Inserting and Deleting Data 4.3 Querying Data 4.3.1 Index Key Optimizer 4.3.2 Using Indexes to Optimize Joins 4.3.3 Using Dates as Index Keys 4.3.4 Using Segmented Keys 4.4 Copying Records from One Database to Another 4.4.1 Using Markpoints 4.4.2 Using DEC Data Distributor with DEC DB Integrator Gateway for RMS 4.5 Using Diagnostic Error Flags 5 Using CDD/Repository 5.1 Getting Started with CDO 5.1.1 Using Online Help 5.1.2 Summary of CDO Commands Most Useful for DEC DB Integrator Gateway for RMS Metadata 5.2 Creating a Repository 5.3 Examining the Contents of a Repository 5.4 Defining Metadata 5.4.1 Defining Repository Directories 5.4.2 Defining Fields 5.4.3 Defining Records 5.4.4 Creating CDO Command Procedures 5.4.5 Defining a Logical Database 5.4.6 Defining a Physical Database 5.4.7 Defining a Physical Database for an Existing Data File 5.4.8 Specifying the Data Driver Image 5.5 Metadata Driver Requirements for Data Files 5.6 Using Record Definitions Containing the VARIANTS Clause 5.7 Defining FILLER Fields to Hide Columns in a Table 5.8 Using Fields and Records Containing the OCCURS Clause 5.8.1 How the Metadata Driver Generates Unique Field Names 5.8.2 Using the OCCURS Clause as a Record Attribute 5.8.3 Restrictions on Using the OCCURS Clause 5.9 Data Type Inheritance in DEC DB Integrator Gateway for RMS 5.9.1 Defining BASED ON Fields in CDD/Repository 5.9.2 Creating Domains with SQL 5.9.3 Reconciling BASED ON Fields and SQL Domains 5.10 Getting Information About Databases 5.10.1 Listing Database Definitions in CDD/Repository 5.10.2 Getting Detailed Information About a Particular CDD$DATABASE 5.10.3 Getting Information from SQL 5.11 Using gateway for RMS with Remote Repositories or Data Files 5.11.1 Using a CDO Command Procedure 5.11.2 Using a Command Procedure to Define a Record 5.11.3 Executing a Command Procedure 5.12 Deleting Metadata 5.12.1 Deleting Fields and Records 5.12.2 Deleting Repository Directories 5.12.3 Deleting RMS Databases 5.13 Troubleshooting Metadata 5.13.1 Matching File Layout 5.13.2 Avoiding Duplicate Field Names 6 Protecting Data and Metadata 6.1 Protecting the CDD/Repository Anchor Directory 6.2 Protecting Metadata 7 Using Transactions 7.1 Prerequisites for Transaction Support 7.2 Record Locking 7.3 Enabing Recovery-Unit Journaling 7.4 Disabling Recovery-Unit Journaling 7.5 Using Distributed Transactions 8 Tutorial Session Using Online Sample Files 8.1 Accessing the Sample RMS Files and Repository 8.2 Displaying Information About the Data 8.3 Reading the Sample Data 8.3.1 Querying Average Salaries by Sex 8.3.2 Querying Employee Qualifications 8.3.3 Querying Employees' Career Progression 8.3.4 Querying Managerial Salaries 8.4 Updating the Sample Data 8.4.1 Deleting an Employee Record 8.4.2 Updating an Employee Record 8.4.3 Adding an Employee Record