CONTENTS Title Page Copyright Page Preface 1 Introduction to Programming in ALL-IN-1 1.1 Overview 1.2 Introduction to ALL-IN-1 Structure 1.3 Programming Considerations 2 Examples in This Book 2.1 Different Sorts of Example Used 2.2 Car Booking System Example 3 ALL-IN-1 Customization Management 3.1 Overview 3.2 How It Works 3.3 For More Information 4 ALL-IN-1 Forms 4.1 Introduction 4.2 ALL-IN-1 Form Libraries 4.3 Named Data 4.3.1 Named Data Format 4.4 Form Qualifiers 4.5 Form CAR_MENU 4.5.1 Creating the Form 4.5.2 Editing the Form 4.5.3 Completing the Site Modification History Log 4.5.4 Using FMS to Edit CAR_MENU 4.6 Testing CAR_MENU 4.6.1 Default Named Data for CAR_MENU 4.6.2 Editing Named Data for CAR_MENU 4.7 Adding Options to CAR_MENU 4.8 For More Information 5 Different Kinds of ALL-IN-1 Form 5.1 Introduction 5.2 Defining a Form .TYPE 5.3 Using Entry Forms and Data Files Together 5.3.1 Entry Form Named Data 5.4 Entry Form CAR_ENTRY 5.4.1 Creating the Form 5.4.2 Editing the Form 5.4.3 Changing the Named Data 5.4.4 Modifying the Field Access Order 5.4.5 Creating a Data File to go with the Entry Form 5.4.6 Testing Form CAR_ENTRY 5.5 Creating Argument Form CAR_ARG 5.5.1 Testing Form CAR_ARG 5.6 Creating Index Form CAR_INDEX 5.6.1 Modifying the Fields on CAR_INDEX 5.6.2 Editing the Named Data for CAR_INDEX 5.6.3 Testing Form CAR_INDEX 5.7 Adding the Multiple Delete Option 5.8 For More Information 6 Field Processing 6.1 Introduction 6.2 Field Qualifiers 6.3 Field Qualifiers on CAR_MENU 6.3.1 Simple Validation of Fields 6.4 For More Information 7 Symbols 7.1 Introduction 7.2 Permanent Symbols 7.3 Temporary Symbols 7.4 ALL-IN-1 Special Symbols 7.5 Using Symbols in the Example Application 7.5.1 Saving the LICENSE Field from CAR_ENTRY 7.5.2 Copying the License Number to the Entry Form 7.5.3 Saving the LICENSE Field from CAR_ARG 7.6 For More Information 8 Scripts 8.1 Introduction 8.2 Different Types of Script 8.2.1 DO Scripts 8.2.2 SCRIPT Scripts 8.3 Script Directives 8.4 Using a Script for Multiple Delete 8.5 For More Information 9 Functions 9.1 DISPLAY 9.2 DO 9.3 FOR 9.4 FORCE 9.5 FORM 9.6 GET 9.7 MERGE 9.8 NEXT_LIST 9.9 PROMPT 9.10 SCRIPT 9.11 For More Information 10 Formatting Output Using Templates 10.1 Introduction 10.2 Example of a Simple Template 10.3 Template Directives 10.4 Using MERGE 10.5 Adding the Print Option to CAR_MENU 10.5.1 Creating Form CAR_PRINT 10.5.2 Adding the Header and Template Files 10.5.3 Adding Print Named Data to CAR_MENU 10.6 For More Information 11 Customization Management Subsystem 11.1 Introduction 11.2 Customization Management Menu 11.2.1 Access DIGITAL elements (ADE) 11.2.2 Create (C) 11.2.3 Create DATATRIEVE domain from an entry form (CDD) 11.2.4 Create RMS file from entry form (CFI) 11.2.5 Copy from live area (CFL) 11.2.6 Delete (D) 11.2.7 Edit (E) 11.2.8 Examine symbol contents (ESC) 11.2.9 Element speed measurement (ESM) 11.2.10 Form library listing (FLL) 11.2.11 Index (I) 11.2.12 Lock element (LE) 11.2.13 Move to live area (MLA) 11.2.14 Modify search order (MS) 11.2.15 Open or close form library (OFL) 11.2.16 Print (P) 11.2.17 Print differences from DIGITAL element (PDD) 11.2.18 Print differences from live element (PDL) 11.2.19 Print modification history (PH) 11.2.20 Read (R) 11.2.21 Remove from live area (RFL) 11.2.22 Select (SEL) 11.2.23 Select editor for application development (SE) 11.2.24 Test element (TE) 11.2.25 Update element details (UED) 11.2.26 Unlock element (UL) 12 The Forms Development Subsystem 12.1 Introduction 12.2 Forms Development Menu 12.2.1 Create (C) 12.2.1.1 Create a Form (FO) 12.2.1.2 Create File from Form (FI) 12.2.1.3 DATATRIEVE Definition (DD) 12.2.2 Copy a Known Form to Another Form Library (CO) 12.2.3 Delete (D) 12.2.4 Edit (E) 12.2.4.1 Screen Image (S) 12.2.4.2 Text Description (T) 12.2.4.3 Named Data (ND) 12.2.5 Extract a Known Form and Create a New Form (EXT) 12.2.6 Index (I) 12.2.7 Print (P) 12.2.7.1 Description of Form (DF) 12.2.7.2 Library Listing (LL) 12.2.7.3 Named Data (ND) 12.2.8 Precompile Form Library (PCF) 12.2.9 Read (R) 12.2.10 Reorganize Named Data (RND) 12.2.11 Select (SEL) 12.3 The Programming Functions Subsystem 12.3.1 Create (C) 12.3.2 Delete (D) 12.3.3 Edit (E) 12.3.4 File Cabinet (FC) 12.3.5 Index (I) 12.3.6 Print (P) 12.3.7 Read (R) 12.3.8 Select (SEL) 12.3.9 VMS File Maintenance (VM) 13 What Next? 13.1 Changing the Create Option 13.2 Improving the Select Option 13.3 Improving Date and Time Validation 13.4 For More Information A Example of How to Change a Menu A.1 Creating the New Menu A.2 Testing Your New Menu FIGURES 1-1 Screen Image and Associated Programming 1-2 Application Running in the ALL-IN-1 Subprocess 1-3 Using File Cabinet Functions to Manipulate Files 1-4 Entry Form and Corresponding Data File 2-1 Menu Structure for Car Details Part of the Application 3-1 ALL-IN-1 Overall Directory Structure 4-1 Screen Image of Form CAR_MENU 4-2 FMS Initial Screen Display 5-1 Screen Image of Form CAR_ENTRY 5-2 Screen Image of Form CAR_ARG 5-3 Screen Image of CAR_INDEX TABLES 4-1 Common Form Qualifiers 4-2 Status Line Information on the FMS Editing Screen 4-3 Description of Default Named Data for CAR_MENU 5-1 Possible Values for the /MODE Qualifier 5-2 Field Names for Form CAR_ENTRY 5-3 Named Data for Form CAR_ARG 5-4 Named Data for Multiple Delete Option 6-1 Common Field Qualifiers 8-1 Common Script Directives 9-1 Common ALL-IN-1 Functions 10-1 Template Directives 10-2 Examples of Simple Templates 10-3 Named Data for Form CAR_PRINT 10-4 Named Data for Print Option on Form CAR_MENU