CONTENTS Title Page Copyright Page Preface Acknowledgment 1 Introducing the DASL Main Menu DASL Main Menu Data Dictionary Screen Driver Data Screens Option Screens Text Screens Report Driver Query Driver Defining Tables Defining Queries The Development Environment The Application Environment DASL Demonstration System 2 Using the DASL Software and DASL Applications Logging In to the DASL Software Selecting Options from Menus Filling In Data Screens Entering Data In Fields Input Conventions Editing Fields Filling In Scroll Regions Editing Data Screens Exiting Options and Data Screens Using Lookup Screens Receiving Error Messages Getting Help Responding to Decision Prompts Printing Data 3 Reviewing the DASL Demonstration System Preparing to Use the DASL Demo System Loading the DASL Demo System Specifying Application Parameters Entering Security Information Logging In to the DASL Demo System Examining the Structure of the DASL Demo System Address Book Application Meeting Schedule Application Customer Database Application Print Options User Utilities Using the Demo System as an Application Model 4 Getting Started Preparing to Use the DASL Software Selecting a DASL Work Area Defining VMS Logical Names Specifying Application Parameters Planning a DASL Application Performing Preliminary Development Tasks 5 Designing a Database Listing Required Input and Output Identifying Data Elements Designing the Database Principles of Database Organization Cross-References Methods for Application Organization Naming Conventions Prefix Conventions DASL Groups Defining a Data Dictionary Using Data Types Using Data Name Attributes Using Data Name Validations Using Transforms Defining Cross-References 6 Creating Screens Using the Screen Driver Creating Data Entry Screens Types of Fields Using Naming Conventions for Fields Visualizing Screen Logic Using Design Tools to Develop a Prototype Display Designer Screen and Report Creator Defining Fields for Data Screens Creating a Pop-up Lookup List Creating an Edit Field Using Action-Only Fields Using Screen Driver Variables Using Transforms in Fields Using the CLEAN Field for Exit Processing Protecting the Database Journaling Transactions Locking Global Data Using Transaction Processing on VMS Systems Creating Scroll Regions Within Data Screens Defining Data Names for Scroll Regions Defining the Scroll Screen Creating Scroll Fields Using Scroll Region Variables Creating Option Screens Creating Text Screens 7 Creating Reports Defining Reports Looking at Address Book Report Definitions Collecting and Sorting Data for Reports Collection Specification Sort List Specifying the Format of the Report Output Format Group Specifications Examples of Report Structure Print Specifications Format Descriptors Using Report Driver Variables Managing Reports and Queries with the Report Directory Logging Report Errors Looking at the ADBKALL Report 8 Creating Queries Designing the Query Database Representing the Database as a Relational Database Defining Tables Defining Pointers Within Table Columns Defining Queries for the Database Using the SELECT Statement Establishing Relationships Between Tables Defining User Queries and System Queries Integrating Tables and Queries with the Security System Incorporating Query Driver Options in the Application Defining Callable Queries 9 Using Programmer Utilities Examining the Development Environment Menu Options Creating an International Application Creating a Portable DASL Application Using Entry Points ^%DALOGIN Entry Point ^%DAUDTTM Entry Point 10 Putting the Application Together Setting Up the Security System Setting Up the Event Logging Facility Incorporating Application Environment Menu Options Running the Application A Demonstration System Components EXAMPLES 5-1 Data Name Definition for AID 5-2 Data Name Definition for AIDNEXT 5-3 Data Name Definition for EQ 5-4 Global Structure for Address Book 5-5 Telephone Number Template Definition 5-6 Data Name Definitions for AAGE and ABTHDAY 6-1 Field Definition for the EDNAME Field 6-2 Field Definition for the EVAL Field 6-3 Field Definition for the FILE Field 6-4 Field Definitions for the BTHDAY and AGE Fields 6-5 Field Definition for the CLEAN Field 6-6 Field Definition for the EQ Field 6-7 Transaction Processing in the FILE Field 6-8 Screen Definition for the MEET Screen 6-9 Field Definitions for the MDATE and MSUB Fields 6-10 Field Definition for the FILE Field 7-1 Report Definition for the ADBKONE Report 7-2 Report Definition for the ADBKALL Report 7-3 Report Definition for the DEMOHEAD Report 7-4 ADBKALL Report 8-1 ADBK13 Query 8-2 ADBK7 Query 8-3 ADBK8 Query 8-4 ADBK3 Query FIGURES 1-1 DASL Main Menu Structure 1-2 Data Dictionary Menu Structure 1-3 Screen Driver Menu Structure 1-4 Define Data Screens Screen #1 1-5 Define Data Screens Screen #2 1-6 Define Option Screens Screen #1 1-7 Define Option Screens Screen #2 1-8 Define Text Screens Screen 1-9 Report Driver Menu Structure 1-10 Define Reports Screen #1 1-11 Define Reports Screen #2 1-12 Query Driver Menu Structure 1-13 Define Tables Screen #1 - Table Definition 1-14 Define Tables Screen #2 - Column Definition 1-15 Define Query Screen 1-16 Development Environment Menu Structure 1-17 Application Environment Menu Structure 1-18 Demonstration System Main Menu Structure 2-1 DASL Main Menu Screen 2-2 Sample Data Screen 2-3 Sample Scroll Region 2-4 Lookup Screen for Name in Address Book 2-5 Pop-Up Lookup Screen for Name in Address Book 3-1 DASL Demo System Login Screen 3-2 Demonstration System Main Menu Screen 3-3 Structure of the DASL Demo System 3-4 Customer Database Screen Logic 3-5 Print Options Screen 3-6 User Utilities Screen 5-1 Structure of the ^ADBK Cross-Reference Index and Global Reference 5-2 Define Data Names Screen #1 for ANAME 5-3 Define Data Names Screen #2 for ANAME 5-4 Define Data Names Screen #3 for AAGE 6-1 Define Data Screens Screen #1 for the Address Book 6-2 Screen Logic Drawing for the ADBOOK Screen 6-3 Address Book Data Entry Screen 6-4 Define Data Screens Screen #2 for the NAME Field 6-5 Sample Scroll Screen (MEET) 6-6 Define Option Screens Screen #1 6-7 Define Option Screens Screen #2 6-8 %REPDEVH Device Selection Screen 6-9 Demonstration System Main Menu Screen 6-10 Define Text Screens Screen 7-1 Define Reports Screen #1 for ADBKALL 7-2 Define Reports Screen #2 for ADBKALL 7-3 Sample Report Structure 7-4 Report Structure for ADBKONE Report 7-5 Report Directory Screen 8-1 Sample Base Table 8-2 Base Table PHONES 8-3 Schema for NAMES and PHONES Tables 8-4 Define Tables Screen #1 for NAMES Table 8-5 Define Tables Screen #2 for NAMES Table 8-6 Syntax of the SELECT Statement 8-7 Query Database Screen A-1 ADBKSEL Screen A-2 ADBOOK Screen A-3 COMPANY Screen A-4 CONTACT Screen A-5 CPRODUCT Screen A-6 MEET Screen A-7 PRODUCTS Screen A-8 STATE Screen A-9 Demo System Tables TABLES 1-1 DASL Main Menu Options and Functions 1-2 Data Dictionary Options 1-3 Screen Types 1-4 Screen Driver Options 1-5 Report Driver Options 1-6 Query Driver Options 1-7 Development Environment Options 1-8 Application Environment Options 1-9 Demonstration System Options 2-1 DASL Function Keys 2-2 Scroll Region Function Keys 3-1 Demonstration System Application Parameters 3-2 Address Book Application Components 3-3 Meeting Schedule Application Components 3-4 Customer Database Application Components 4-1 Logical Names in LOGIN.COM File 6-1 Types of Fields in the ADBOOK Screen 6-2 DASL Naming Conventions and Associated Functions 6-3 ADBOOK Screen Driver Variables 6-4 ACID Properties of Transactions 6-5 Screen Driver Scroll Region Variables 7-1 Some Report Driver Variables 8-1 Value Expressions 9-1 Development Environment Options in Address Book 9-2 Line Labels for the ^%DAUDTTM Routine 9-3 Variables Used in ^%DAUDTTM 10-1 Screen and Report Names of Application Environment Options A-1 Demo System Application Globals A-2 Demo System Reports