CONTENTS Title Page Copyright Page Preface 1 OVERVIEW OF FMS 1.1 FMS Components 1.1.1 Form Editor 1.1.2 Form Language Translator 1.1.3 Form Librarian 1.1.4 Form Driver 1.1.5 Sample Application 1.1.6 Form Tester 1.1.7 Form Application Aids 1.2 FMS Application Development 1.3 Reading Path for the FMS Document Set 2 Running the Sample Application Program 2.1 Setting Up Your Terminal 2.2 Starting the Sample Application 2.3 Printing SAMPCH.DAT 3 Creating Forms 3.1 Setting Up Your Terminal 3.2 Examining Two Forms from the Sample Application 3.2.1 MENU Form 3.2.2 DEPOSIT Form 3.3 Creating MENU and DEPOSIT 3.3.1 Creating MENU 3.3.1.1 Assigning Form Attributes: The Form Phase 3.3.1.2 Laying Out the Form: The Layout Phase 3.3.1.3 Assigning Field Attributes: The Assign Phase 3.3.1.4 Testing a Form: The Test Phase 3.3.1.5 Saving a Form: The Exit Phase 3.3.2 Creating DEPOSIT 3.3.2.1 Assigning Form Attributes: The Form Phase 3.3.2.2 Laying out the Form: The Layout Phase 3.3.2.3 Assigning Field Attributes to DEPOSIT: The ASSIGN Phase 3.3.2.4 Alternative Method of Assigning Field Attributes 3.3.2.5 Testing a Form: The TEST Phase 3.3.2.6 Saving a Form: The Exit Phase 3.4 Creating a HELP Form 3.4.1 Creating HELP_MENU 3.4.2 Associating HELP_MENU with MENU 4 Creating a Form Library 4.1 Create A Library File 4.2 Obtain A Library Directory Listing 4.3 Interpret A Form Description 4.4 Obtaining A Form Image 5 Writing an Application 5.1 Form Driver Concepts 5.1.1 Form Driver Calls 5.1.1.1 Functional Division of Calls 5.1.1.2 Form Driver Calls Used in the Subset Application 5.1.2 String Handling 5.2 Sample Application Subset 5.2.1 The Main Program 5.2.2 Subset Subroutines 5.2.3 Preparing the Main Program 5.2.3.1 Initializing Calls 5.2.3.2 Coding the Body of the Main Module 5.2.3.3 Closing Calls 5.2.4 Coding the INACCT Subroutine 5.2.5 Coding the MENU Subroutine 5.2.6 Coding the WRITCH Subroutine 5.2.7 Coding the MAKDEP Subroutine 5.2.8 Coding Subroutines VUEREG And VUEACT 5.2.9 Coding Subroutine GETSTA 6 Compiling, Linking, and Running an Application 6.1 Compiling The Subset 6.2 Linking The Subset 6.3 Running The Subset 7 Programming Features 7.1 Indexing 7.1.1 Create REGISTER 7.1.2 Assigning Indexing Attributes 7.1.3 Manipulating Indexed Fields In the VUEREG Subroutine 7.2 SCROLLING 7.2.1 Complete the Check Register Form, REGISTER 7.2.2 Insert REGISTER in SUBSET.FLB 7.2.3 Writing the Statements That Support Scrolling 7.3 Named Data 7.4 USER ACTION ROUTINES 7.4.1 Field Completion UARs 7.4.2 Help UARs 7.4.3 Function Key UARs 7.4.4 Creating a Sample UAR 8 ADVICE TO NEW USERS 8.1 Good Form Design 8.1.1 Sorting Information 8.1.2 Providing a Title 8.1.3 Writing Good Captions 8.1.4 Using Check Boxes 8.1.5 Using Reverse Video Screen Characteristics 8.1.6 Providing Instructions 8.2 Use of the Video Screen 8.2.1 How to Present Data 8.2.2 Screen Layout 8.2.3 Communication with the Operator 8.2.4 Recovery Procedures 8.3 FMS Field Attributes A SUBSET APPLICATION LISTING Glossary FIGURES 1-1 Form Development Cycle 1-2 Source Application Development Cycle 1-3 UAR Development Cycle 1-4 Linking of an FMS Application 1-5 FMS Document Reading Path 3-1 Form Editor Keys 3-2 Form Editor Menu 3-3 Form Attributes Questionaire 3-4 Layout Phase Status Line 3-5 First Assign Phase Question 3-6 Second Assign Phase Questionnaire 3-7 Display Only Attribute 3-8 Menu Help Form 4-1 FMS Application Development Cycle 5-1 Role of the Form Driver in an Application Program 5-2 Attaching a Terminal 5-3 Attaching a Workspace 5-4 Opening a Library Channel 5-5 Displaying a Form 5-6 Requesting Operator Input to a Field 6-1 FMS Application Development Cycle 7-1 Flowchart for the VUEREG Subroutine 7-2 Mapping a Window to a Scrolled Area 7-3 Flowchart for the SCRFWD Subroutine 7-4 Flowchart for the SCRBAK Subroutine 7-5 Data with Corresponding Names and Indexes 7-6 Assigning Named Data 7-7 Assigning Named Data 7-8 Assigning User Action Routines 7-9 Assigning User Action Routines 8-1 Sample Payroll Data TABLES 3-1 Layout Phase Status Line Information