CONTENTS Title Page Copyright Page Preface 1 Introduction to RALLY Application Development 1.1 The Importance of Planning RALLY Applications 1.2 Selecting a Development Methodology 1.3 Sample Application: The Sales Information System 1.4 RALLY as a Productivity Tool 1.4.1 Simple Applications 1.4.2 Prototyping 1.4.3 3GL and ACMS Integration 2 Development Methodology 2.1 Concept Phase 2.2 Analysis Phase 2.3 Design Phase 2.3.1 Creating Logical Data Flow Diagrams 2.3.2 Designing the Data Source 2.3.3 Addressing Form/Report Design Considerations 2.3.3.1 Form/Report Layouts 2.3.3.2 Data Validation 2.3.3.3 Frequency of Access 2.3.3.4 Access Rights 2.3.4 Creating Control Flow Diagrams 2.3.5 Addressing Data Source Definition Design Considerations 2.3.6 Writing Formal Specifications 2.4 Implementation Phase 2.4.1 Writing the Detailed Design Specification 2.4.2 Preparing for Development 2.4.3 Managing a Multi-Developer Application 2.4.3.1 Using RALLY Object Naming Conventions 2.4.3.2 Merging Applications 2.4.3.3 Using VAX DEC/MMS to Manage Application Files 2.4.3.4 Using VAX DEC/CMS to Store Application Files 2.4.4 Developing the Application 2.4.4.1 DSD Considerations 2.4.4.2 Form/Report Considerations 2.4.4.3 Menu Considerations 2.4.4.4 Further Enhancements 2.4.5 Debugging the Application 2.4.6 Testing the Application Using VAX DEC/Test Manager 2.4.7 Verifying Adherence to the Design Specification 2.4.8 Writing End-User Documentation 2.5 Installation Phase 2.6 Operation Phase 3 Useful Techniques for RALLY Applications 3.1 Techniques for Handling Text 3.1.1 Creating Multiline Fields 3.1.1.1 Characteristics of a Multiline Field 3.1.1.2 Using Word Wrapping in a Multiline Field 3.1.1.2.1 Enabling Word Wrapping for a Single Field 3.1.1.2.2 Enabling Word Wrapping for an Entire Application 3.1.2 Storing Large Text Fields 3.2 Techniques for Validating Data 3.2.1 Validating Data Against the Data Source 3.2.2 Validating Multiple Fields 3.2.3 Checking for a Record and Inserting a New Record 3.3 Techniques for Database Interaction 3.3.1 Allocating Sequence Numbers 3.3.2 Displaying Rdb/VMS Null Numeric Fields 3.4 Form/Report Techniques 3.4.1 Chaining Form/Reports Together 3.4.2 Creating Summary Reports with Aggregate Totals 3.4.3 Creating Floating Total Fields 3.4.4 Performing Cascading Updates 3.4.5 Creating Restricted Lists Of Values 3.4.5.1 Restricting a LOV Using Run-Time Variables 3.4.5.2 Restricting a LOV Using Subset Lists of Values 3.4.6 Drawing Boxes Around Lists of Values 3.4.7 Confirming User Actions 3.4.7.1 Using Form/Reports and ADL Procedures to Confirm User Actions 3.4.7.2 Using Menu Choices to Confirm Record Deletion 3.4.8 Page Formatting 3.4.9 Updating Form/Reports Automatically 3.4.10 Trapping the ' Refresh ' Command 3.4.11 Disabling Legends for Experienced Users 3.4.12 Displaying Information on a Menu 3.4.13 Using Context-Sensitive Pop-up Menus to Allow Easy Navigation Within a RALLY Application 3.5 Techniques that Use the VMS Username 3.5.1 Accessing the VMS Username Using LIB$GETJPI 3.5.2 Validating the VMS Username on Data Entry 3.5.3 Displaying a Subset of Data Based on User Identification 3.6 Miscellaneous Technique - Passing Parameters to Batch Applications FIGURES 1-1 Structure of the Sales Information Application 1-2 Prototype Order Entry Form 1-3 Final Order Entry Form 2-1 Logical Data Flow for Sales Information System 2-2 Order Entry Screen 2-3 Orders by Customer Screen 2-4 Control Flow Diagram for Orders by Customer 2-5 Multi-Developer Application 2-6 Merging Application Files 3-1 Chaining Form/Reports 3-2 Summary Report with Aggregate Totals 3-3 Subset LOV 3-4 Page Formatting Output 3-5 Chained Help, Legend and Error Message Files TABLES 1-1 Features Illustrated in the Sample Application 2-1 Suggested Transition Criteria for Each Phase 2-2 Form/Reports in Sales Information System 2-3 Data Source Definitions in Sales Information System 2-4 Suggested Naming Conventions for RALLY Objects 3-1 Action Sites Used to Confirm User Actions 3-2 Example Output Order and Advanced Options 3-3 RALLY Commands and Pop-up Menu Text