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 2 Using the DASL Software and DASL-Based 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 Getting Started Preparing to Use the DASL Software Selecting a DASL Work Area Defining Logical Names Specifying Application Parameters Planning a DASL Application Performing Preliminary Development Tasks 4 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 5 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 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 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 6 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 7 Creating Queries Designing the Query Database Representing the Database as a Relational Database Defining Tables 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 8 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 9 Putting the Application Together Setting Up the Security System Setting Up the Event Logging Facility Incorporating Application Environment Menu Options Running the Application EXAMPLES 4-1 Data Name Definition for ID 4-2 Data Name Definition for IDNEXT 4-3 Data Name Definition for EQ 4-4 Global Structure for Address Book 4-5 Telephone Number Template Definition 4-6 Data Name Definitions for AGE and BTHDAY 5-1 Field Definition for the EDNAME Field 5-2 Field Definition for the EVAL Field 5-3 Field Definition for the FILE Field 5-4 Field Definitions for the BTHDAY and AGE Fields 5-5 Field Definition for the CLEAN Field 5-6 Field Definition for the EQ Field 5-7 Transaction Processing in the FILE Field 5-8 Data Name Definitions for the ^MEET Global 5-9 Screen Definition for the MEET Screen 5-10 Field Definitions for the MDATE and MSUB Fields 5-11 Field Definition for the FILE Field 6-1 Report Definition for the ADBKONE Report 6-2 Report Definition for the ADBKALL Report 6-3 Report Definition for the DEMOHEAD Report 6-4 ADBKALL Report 7-1 ADBK13 Query 7-2 ADBK7 Query 7-3 ADBK8 Query 7-4 ADBK3 Query FIGURES 1-1 DASL Main Menu 1-2 Data Dictionary Menu 1-3 Screen Driver Menu 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 1-10 Define Reports Screen #1 1-11 Define Reports Screen #2 1-12 Query Driver Menu 1-13 Define Tables Screen - Table Definition 1-14 Define Tables Screen - Column Definition 1-15 Define Query Screen 1-16 Development Environment Menu 1-17 Application Environment Menu 2-1 DASL Main Menu 2-2 Sample Data Screen 2-3 Sample Scroll Region 2-4 Lookup Screen for Name in Address Book 4-1 Structure of the ^ADBK Cross-Reference Index and Global Reference 4-2 Define Data Names Screen #1 for Name 4-3 Define Data Names Screen #2 for Name 5-1 Define Data Screens Screen #1 for the Address Book 5-2 Screen Logic Drawing 5-3 Address Book Data-Entry Screen 5-4 Define Data Screens Screen #2 for the NAME Field 5-5 Sample Scroll Screen (MEET) 5-6 Define Option Screens Screen #1 for Address Book Main Menu 5-7 Define Option Screens Screen #2 for the Address Book Option 5-8 Address Book Main Menu 5-9 Define Text Screens Screen 6-1 Define Reports Screen #1 for ADBKALL 6-2 Define Reports Screen #2 for ADBKALL 6-3 Sample Report Structure 6-4 Report Structure for ADBKONE Report 6-5 Report Directory Screen 7-1 Sample Base Table 7-2 Base Table PHONES 7-3 Schema for NAMES and PHONES Tables 7-4 Define Tables Screen #1 for NAMES Table 7-5 Define Tables Screen #2 for NAMES Table 7-6 Syntax of the SELECT Statement 7-7 Query Database Menu TABLES 1-1 DASL Main Menu Options and Functions 1-2 Data Dictionary Options and Functions 1-3 Screen Types and Functions 1-4 Screen Driver Options and Functions 1-5 Report Driver Options and Functions 1-6 Query Driver Options and Functions 1-7 Development Environment Options and Functions 1-8 Application Environment Options and Functions 2-1 DASL Function Keys 2-2 Scroll Region Function Keys 3-1 Logical Names in LOGIN.COM File 5-1 Types of Fields in the ADBOOK Screen 5-2 DASL Naming Conventions and Associated Functions 5-3 ADBOOK Screen Driver Variables 5-4 ACID Properties of Transactions 5-5 Screen Driver Scroll Region Variables 6-1 Report Driver Variables 7-1 Value Expressions 8-1 Development Environment Options in Address Book 8-2 Line Labels for the ^%DAUDTTM Routine 8-3 Variables Used in ^%DAUDTTM 9-1 Screen and Report Names of Application Environment Options