AA-L320B-TE VAX FMS 2.2 Utilities Reference Manual 198408

Index of /pdf/dec/vax/vms/layered product

PDF AA-L320B-TE VAX FMS 2.2 Utilities Reference Manual 198408
VAX FMS Utilities Reference Manual
AA-L3208-TE
August 1984 This manual describes the VAX FMS (Forms Management System) utilities, invoked through DCL commands, used to create and manage forms and form libraries. Those utilities are the Form Editor, the Form Language Translator, the Form Librarian, Form Application Aids, and the Form Tester. The Form Upgrade Utility is described in the VAX FMS Installation Guide and Release Notes. This manual is part of the VAX FMS document set that supersedes the VAX FMS Version 2.0 and 2.1 document sets.
Operating System: VAX/VMS Version 4.0 Software: VAX FMS Version 2.2
digital equipment corporation · maynard, massachusetts

First Printing, January 1983 Revised, August 1984

The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document.
The software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license.
No responsibility is assumed for the use or reliability of software on equipment that is not supplied by Digital Equipment Corporation or its affiliated companies.

Copyright© 1983, 1984 by Digital Equipment Corporation. All Rights Reserved.
Printed in U.S.A.

The postpaid READER'S COMMENTS form on the last page of this document requests the user's critical evaluation to assist in preparing future documentation.

The following are trademarks of Digital Equipment Corporation:

DEC DEC/CMS DEC/MMS DECnet DECsystem-10 DECSYSTEM-20 DEC US DECwriter

DIBOL EduSystem IAS MAS SBUS MICRO/PDP-11 Micro/RSX Micro VMS PDP

PDT RSTS RSX TOPS-20 UNIBUS VAX VMS VT
mo~nomo

ZK2577

HOW TO ORDER ADDITIONAL DOCUMENTATION

In Continental USA and Puerto Rico call 800-258-1710
In New Hampshire, Alaska, and Hawaii call 603-884-6660
In Canada call 613-234-7726 (Ottawa-Hull) 800-267-6146 (all other Canadian)

DIRECT MAIL ORDERS (CANADA)
Digital Equipment of Canada Ltd. 940 Belfast Road Ottawa, Ontario K1 G 4C2 Attn: A&SG Business Manager

DIRECT MAIL ORDERS (USA & PUERTO RICO)* Digital Equipment Corporation P.O. Box CS2008 Nashua, New Hampshire 03061
*Any prepaid order from Puerto Rico must be placed with the local Digital subsidiary (809-754-7575)

DIRECT MAIL ORDERS (INTERNATIONAL)
Digital Equipment Corporation A&SG Business Manager c/o Digital's local subsidiary or approved distributor

Internal orders should be placed through the Software Distribution Center (SOC), Digital Equipment Corporation, Northboro, Massachusetts 01532

Contents
Preface

Chapter 1 Introduction

1.1 FMS Development Cycle .

1.1.1 Create Forms. . .

1.1.1.1 Form Editor. 1.1.1.2 Form Language

1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8

Create Form Libraries or Memory-Resident Forms Write the Application Program Write User Action Routines . . Create Object Modules Test Forms ..... . Link the Application DCL Commands

Chapter 2 Form Characteristics

2.1 Background Text . . 2.2 Fields . . . . . . . .
2.2.1 Field Picture . . 2.2.2 Date and Time Fields. 2.2.3 Field Ordering .
2.3 Named Data . . . . . 2.4 Attributes . . . . . . .
2.4.1 Field Attributes
2.4.1.1 Autotab . 2.4.1.2 Blank Fill . . 2.4.1.3 Clear Character . . 2.4.1.4 Default Value . 2.4.1.5 Display Only . . . . . . 2.4.1.6 Field Completion User Action Routine 2.4.1.7 Field Name . . 2.4.1.8 Fixed Decimal .. 2.4.1.9 Help Text . . 2.4.1.10 Indexed . . 2.4.1.11 Left Justify . 2.4.1.12 Must Fill . 2.4.1.13 No Echo. .

Page
. 1-2 . 1-2 . 1-3 . 1-4 . 1-4 . 1-5 . 1-5 . 1-6 . 1-6 . 1-6 . 1-6
.. 2-7 . 2-8
.. 2-8 2-12 2-13 2-13 2-14 2-15 2-15 2-15 2-15 2-15 2-15 2-15 2-16 2-16 2-17 2-17 2-17 2-17 2-17
iii

2.4.1.14 Response Required. 2.4.1.15 Right Justify . . 2.4.1.16 Supervisor Only . 2.4.1.17 Uppercase. . . 2.4.1.18 Zero Fill. . . . 2.4.1.19 Zero Suppress . .
2.4.2 Form Attributes . . . . .
2.4.2.1 Form Name . . . . . . . . 2.4.2.2 Help Form Name 2.4.2.3 Screen Background 2.4.2.4 Screen Width . . . . 2.4.2.5 Screen Character Set. 2.4.2.6 Screen Area to Clear. 2.4.2.7 Field Highlighting . . 2.4.2.8 Function Key User Action Routine . 2.4.2.9 Pre-help User Action Routine . . 2.4.2.10 Post-Help User Action Routine .
2.4.3 Line Attributes . . . .
2.4.3.1 Double Size . 2.4.3.2 Double Wide 2.4.3.3 Scrolled . 2.4.4 Video Attributes
Chapter 3 Form Edltor-FMS/EDIT

3.1 Terminal Characteristics . .

3.1.1 Terminal Setup. .

3.2 FMS/EDIT Command . . . 3.3 Form Editor Keys . . . . 3.4 Error Signaling in the Form Editor . 3.5 Choosing a Phase .. 3.6 Form Phase . . . . . . .

3.6.1 Form Name . . . 3.6.2 Help Form Name. . 3.6.3 Screen Background . . 3.6.4 Screen Width. . . . 3.6.5 Screen Character Set . 3.6.6 Screen Area to Clear . 3.6.7 Field Highlighting . . 3.6.8 User Action Routine Names and Data . 3.6.9 Initial Field Attributes . . . . . . . . .

3.7 Layout Phase . . . . . . . . . . . . . . . . .

3.7.1
3.7.2
3.7.3 3.7.4 3.7.5 3.7.6

Adjacent: Breaking a Field into Two Adjacent Fields . . . . . . . . . . . . . . . . . . Cancel: Canceling a Select, Gold, or Scroll Operation . . . . . . . . . . . . . . . Center: Centering Characters on a Line . Characters: Changing Character Sets . . Cursor: Moving the Cursor . . . . . . . Cut: Cutting Characters in a Select Area

iv

2-17 2-18 2-18 2-18 2-18 2-18
2-18
2-19 2-19 2-19 2-19 2-19 2-20 2-20 2-20 2-21 2-21
2-21
2-21 2-21 2-21 2-21
.. 3-4
. . 3-4
. . 3-5 .. 3-6 . . 3-7 . . 3-7
. 3-9
3-12 3-12 3-13 3-13 3-13 3-13 3-13 3-14 3-14
3-15
3-19
3-19 3-19 3-19 3-20 3-21

3.7.7 Date: Defining a Date Field . 3.7.8 Delete: Deleting Characters and Lines . 3.7.9 Double Size: Making Lines Double Size . 3.7.10 Double Wide: Making Lines Double Wide . 3.7.11 Draw: Drawing Lines and Boxes. 3.7.12 Field Attributes: Assigning Them in Layout . 3.7.13 Insert: Inserting Blank lines . 3.7.14 Modes: Overstrike/Insert, Text/Field, and
Terminal Bell/Quiet 3.7.15 Paste: Pasting Previously Cut Characters 3.7.16 Refresh: Redisplaying the Current Form . 3.7.17 Repeat: Repeating Characters or Operations . 3.7.18 Scroll: Making a Scrolled Area 3.7.19 Select: Defining a Select Area . 3.7.20 Test Paste: Testing a Paste Operation . 3.7.21 Time: Defining a Time Field 3.7.22 Video Attributes: Assigning Video Attributes .

3.8 Assign Phase

3.8.1 Field Name

3.8.2 Index Value K of N (Creating Indexed Fields) .

3.8.3 Attributes

3.8.4 Default Value

~

3.8.5 Help Text

3.8.6 Field Completion User Action Routines

Questionnaire

3.9 Data Phase . 3.10 Order Phase . 3.11 Test Phase 3.12 Exit Phase

Chapter 4 Form Language Translator-FMS/TRANSLATE

4.1 Form Language Concepts.

4.1.1 Statement Items .

4.1.1.l 4.1.1.2 4.1.1.3 4.1.1.4

Names Coordinates . Text Strings. Attributes .

4.1.2 Writing a Form Description .

4.1.2.1 4.1.2.2 4.1.2.3 4.1.2.4

Statement Format . Restrictions . Abbreviations . Including Comments .

4.2 Form Language Statements

4.2.1 ATTRIBUTE_j)EFAULTS Statement 4.2.2 DRAW Statement 4.2.3 END_OF_FORM Statement. 4.2.4 FIELD Statement 4.2.5 FORM Statement 4.2.6 NAMED-DATA Statement 4.2.7 ORDER Statement .

3-22 3-23 3-25 3-25 3-26 3-26 3-26
3-26 3-28 3-28 3-28 3-28 3-29 3-31 3-31 3-32
3-34
3-36 3-36 3-37 3-38 3-38
3-38
3-41 3-43 3-46 3-47
. 4-1
. 4-2
. 4-2 . 4-3 . 4-3 . 4-3
. 4-4
. 4-6 . 4-6 . 4-6 . 4-6
. 4-6
. 4-7 4-10 4-12 4-13 4-16 4-19 4-21
v

4.2.8 SCROLL Statement 4.2.9 TEXT Statement. . . 4.2.10 VIDEO Statement . 4.3 FMStrRANSLATE Command. 4.3.1 Sample Translation Listing .
Chapter 5 Form Librarlan-FMS/LIBRARY
5.1 FMS/LIBRARY/CREATE Command . 5.2 FMS/LIBRARY/INSERT Command . 5.3 FMS/LIBRARY/REPLACE Command 5.4 FMS/LIBRARY/EXTRACT Command 5.5 FMS/LIBRARY/DELETE Command .
Chapter 6 Form Application Aids
6.1 FMS/DESCRIPTION Command . 6.2 FMS/DIRECTORY Command . 6.3 FMS/OBJECT Command 6.4 FMSNECTOR Command
Chapter 7 Form Tester-FMS/TEST
7.1 Terminal Setup . . . . . 7.2 FMStrEST Command . .
Chapter 8 TOMS To FMS Form Converter-FMS/CONVERT
8.1 TDMS To FMS Form Converter Functions . . 8.1.1 Functions Performed . . . . . . . . . 8.1.2 TDMS features not supported by FMS
8.2 FMS/CONVERT Command . . . . . . 8.3 Conversion Example . . . . . . . . . . .
Chapter 9 Upgrading V1 Application Programs
9.1 Upgrading Vl Form Files and Form Libraries . 9.2 Using the Form Upgrade Utility . . . . . . . . 9.3 Linking Existing Application Programs to the V2
Form Driver . . . . . . . 9.4 FMS/Upgrade Command. . . . . . . . . . . .
Chapter 10 FMS V1 Compatibility
10.1 Form Editor . . . . . . 10.1.1 Keyboard Layout - Form Editor Keys .
10.2 Form Utility. . . . . . . . . . . . . . . . . 10.2.1 Comparison Of Vl Form Utility Options And V2 Commands . . . . . . . . . . . . . . . . 10.2.2 FMS/DESCRIPTIONS/DECLARATIONS COBOL/DATATRIEVE Data Description .
vi

4-23 4-25 4-27 4-28 4-29
. 5-3 . . 5-5 .. 5-6
. 5-8 . . 5-9
. 6-3 . . 6-9
6-12 6-14
. 7-2 . 7-3
. 8-1 . 8-1 . 8-2 . 8-3 .. 8-4
. 9-1 . 9-2 . 9-2 . 9-3
10-1 10-2 10-3
10-4 10-4

10.3 Installing VAX FMS V2 With VAX FMS Vl Present on the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6
Appendix A VAX FMS Software Messages

Index

A.1 Message Format . . . . . . . . . . A.2 Messages for Programmers . . . . . . . . . . . A.3 Messages for Terminal Operators . A.4 Suggestions to Follow if FMS Software Malfunctions A.5 FMS Utilities Messages . . . . . . . . . . . A.6 Form Driver Messages for Programmers . . . . A.7 Form Driver Messages for Terminal Operators . .

.. A-1 .A-2
. .A-2 .A-3 .A-3
. A-45 . . . . A-55

Figures

2-1 Background Text and Fields in a Bank Check . 2-2 Check Form from the Sample Application. 2-3 Line Attributes . . . . . . . . . . . . . . . . 2-4 Reverse Video Attribute . . . . . . . . . . . 2-5 Background Text, Field-Marker Characters, and
Field-Validation Characters 2-6 Fixed Decimal Attribute . . 2-7 Underline Video Attribute 3-1 Form Editor Keys . . . . 3-2 Form Editor Menu. . . . 3-3 Assign Form Attributes Questionnaire. 3-4 Assign Initial Field Attributes Questionnaire 3-5 Form User Action Routines Questionnaire .. 3-6 Layout Phase Status Line . 3-7 Form in the Layout Phase 3-8 Date Field Menu 3-9 Select Area . . . 3-10 Time Field Menu 3-11 Assign Menu . . 3-12 Field Attributes Questionnaire 3-13 Field Completion UARs Questionnaire 3-14 Data Phase . . . . . . . . . . . 3-15 Ordering Fields in a Scrolled Area . . . . . 3-16 Exit Phase Query . . . . . 4-1 Layout Sheet . . . . . . . 4-3 Sample Translation Listing. 5-1 Creating a Form Library . 6-1 Brief Description. . . . 6-2 Data Description File . . 6-3 Full Description . . . . . 6-4 Printed Image of a Description .. 6-5 Video Image oCa Description. 6-6 Full Form File Directory . . . . . 6-7 Full Form Library Directory . . 6-8 Creating Memory-Resident Forms 6-9 Creating Object Modules of UAR Vectors . 7-1 Form Tester Displaying a Form. . . . . .

. 2-2 . ... 2-3
.. 2-6 . 2-7
. 2-9 2-17 2-22 . 3-6 .. 3-8 3-10 3-11 3-12 3-17 3-18 3-23 3-30 3-32 3-35 3-39 3-40 3-42 3-45 3-48 . . 4-5 4-29 . 5-4 . 6-6 . 6-6 . . 6-7 . 6-8 . 6-8 6-10 6-11 6-13 6-15 . 7-4

vii

Tables

8-1 TDMS Listing of the FCVEXAMPLE Form. 8-2 Converting the Form . . . . . . . . . . . 8-3 Full Description of the FMS Form File . . . 10-1 Form Editor Keys . . . . . . . . . . .
1-1 Command Syntax Notation . . . 1-2 Default File Types . . . . . . . . 1-3 FMS Commands and Qualifiers 2-1 Field-Validation Characters 2-2 Field-Marker Characters .. 2-3 Date Field Formats . . . . . 2-4 Time Field Formats . . . . . 3-1 Layout Phase Status Line Information 3-2 Order Phase Functions . . . . . . . . 4-1 Form Language Statement Types . . . 4-2 ATTRIBUTE_DEFAULTS Field Attributes 4-3 ATTRIBUTE-1)EFAULTS Text Attributes. 4-4 Field Attributes . . . . . . . . . . . . . . 4-5 Attributes for Background Text. . . . . . . 7-1 Form Driver Errors Ignored by the Form Tester . 10-1 Comparison of Vl Form Utility Options and V2 Commands

. . . . 8-4 . .. 8-5
. ... 8-6 10-2
. .. 1-8 . 1-9 . 1-9 2-10 2-10 2-13 2-13 3-17 3-43
. .. 4-2 .. 4-7
. .. 4-8
4-14 4-25 . 7-2 10-4

viii

Preface
This manual describes the FMS utilities, invoked with DCL commands, that you use to create video forms and form libraries and to manage these forms and libraries.
Intended Audience This manual is intended for programmers who write application programs that use FMS and for anyone who creates forms with either the Form Editor or with the Form Language.
Structure of This Document This manual consists of ten chapters and an appendix. Chapter 1, Introduction, provides an overview of the FMS utilities as they relate to the development cycle of an application that uses FMS. A table of commands is included. Chapter 2, Form Characteristics, describes FMS video forms. Major topics discussed are form attributes, background text, and fields. Chapter 3, Form Editor-FMS/EDIT, describes the interactive Form Editor, which you use to lay out forms on a video terminal. Chapter 4, Form Language Translator-FMS/TRANSLATE, describes a way to create forms by using Form Language statements in form descriptions. You use the Form Language Translator to translate these form descriptions to binary forms. The Form Language Translator is optional software that is purchased separately. Chapter 5, Form Librarian-FMS/LIBRARY, describes the utility that you use to manage forms and form libraries. Chapter 6, Form Application Aids-FMS/DESCRIPTION, FMS/DIRECTORY, FMS/MEMORY_RESIDENT, and FMSNECTOR describes a set of application aids that you use during application development.
ix

Chapter 7, Form Tester-FMS/TEST, describes the utility that you use to test a form by displaying it and entering data in its fields.
Chapter 8, TDMS to FMS Form Converter-FMS/CONVERT, describes the process of converting TDMS forms from the Common Data Dictionary (CDD) into valid FMS form files.
Chapter 9, Upgrading Vl Application Programs, describes the process of upgrading Vl form files and form libraries into the V2 format.
Chapter 10, FMS Vl Compatibility, describes the new enhanced Form Editor, two new components-the Form Librarian and the Form Application Aids-and how to use FMS Vl after FMS V2 has been installed on your system.
The Appendix, FMS Software Messages, lists software messages that you may encounter while using FMS.

Associated Documents VAX FMS Installation Guide and Release Notes Introduction to VAX-11 FMS VAX FMS Form Driver Reference Manual VAX-11 FMS Language Interface Manual VAX FMS Mini-Reference

Documentation Conventions

Uppercase letters In commands and examples, indicate that the user types the item exactly as shown.

Lowercase letters In commands and examples, indicate variables for which the user is to substitute a word or value.

Brackets [ ]

Indicate that the enclosed item is optional.

Braces { }

Enclose lists from which one element is to be chosen. Choices are indicated in one of two ways: (1) stacked vertically or (2) listed horizontally and separated with vertical bars (I).

Red print

Indicates what the user types.

CTRL/x

Indicates that you continue pressing the key labeled CTRL while you simultaneously press another key.

GOLD x

Indicates that you press the PFl key before you press the second key.

Ellipsis ...

Indicates that the preceding item(s) can be repeated.

Unless otherwise specified, you terminate commands by pressing the RETURN key.

x

Chapter 1 Introduction
FMS utilities are tools for developing video forms applications - applications that display information on a video terminal screen and process input. An example of a forms application might be the computerized system that some hospital admissions desks use to record the patient's name, to check previous admissions, to identify insurance coverage, to initiate billing, and so on. The admissions desk employee sees a collection ofstructured information (that is, a form) on a video terminal screen.
To FMS internally, a form is a binary data structure that specifies how information is to be displayed on a terminal and how the operator (for example, that admissions desk employee) can interact with that display. The application program that you write displays forms that ask for data or show data. The program can process data input and perhaps display it in the same form, in other forms, or in reports printed out on a line printer. Indeed, applications that use video forms offer endless possibilities for processing the information gathered from video forms. The admissions desk employee might fill in the type of room. The application subsequently could use that information to establish the room cost per day. This cost, plus other expenses incurred during the patient's stay, could be processed and billed by the application. The Form Driver is the FMS component that assists your application program's interaction with forms. The Form Driver is the run-time component, a subroutine package that is linked with your program. The Form Driver accepts calls from the program, maintains FMS data structures, and issues terminal 1/0 calls to communicate with the operator. All Form Driver calls refer to forms and data within forms by names that you assign when you create the forms. The VAX FMS Form Driver Reference Manual describes Form Driver concepts and documents each call in detail. Two of the FMS utilities are tools for creating forms. Another utility helps you build applications, and the others help you manage forms (for example, by putting them in libraries or testing them). Another utility converts FMS
1-1

Vl forms to FMS V2 forms, and another converts TDMS forms to FMS forms. The utilities described in this manual are: · Form Editor · Form Language Translator · Form Librarian · Form Application Aids · Form Tester · Form Upgrade · Form Converter Important background information about video forms is presented in Chapter 2 on Form Characterisics. You should read Chapter 2 before you start to develop an application program that uses FMS. Different stages of the program development cycle require you to use specific utilities, which you invoke with DCL commands. The following sections: · Describe the relationship between the development cycle and the FMS
utilities · Introduce the DCL command syntax
1.1 FMS Development Cycle
When you write a video form application, the development cycle may include the following steps described in Sections 1.1.1 through 1.1.7. · Create forms · Create form libraries · Write the application program · Write user action routines · Create object modules · Testforms · Link the application
1.1.1 Create Forms You can create FMS forms by using either the Form Editor or the Form Language Translator. Use the Form Editor ifyou want an interactive utility that allows you to see the form as you type it in and work on it. Use the Form Language Translator if you prefer a programming-language style of working, if you do not have a video terminal, or if you have many similar but slightly different forms to create. The Form Language Translator is optional software that is purchased separately.
1-2 Introduction

The product of either the Form Editor or the Form Language Translator is a binary form (stored in a form file), which you subsequently put in a form library or make memory resident.
1.1.1.1 Form Editor - The Form Editor is an interactive utility that lets you create and edit forms on a VTlOO- or VT200-compatible terminal. Creating or editing a form may include the following operations:
· Typing in background text
· Setting up fields
· Selecting form, field, video, and line attributes
· Establishing field access order
· Creating scrolled areas
· Associating user action routines with the form
· Associating Named Data with the form
The Form Editor allows you to perform these various operations in different phases, which you enter through the Form Editor menu.
The Form Editor menu is the first image that appears on your screen after you invoke the Form Editor. The menu gives you a choice of seven phases. To select the phase that you want to enter, you type in the phase name. You subsequently return to the menu to choose other phases when you are ready to perform other operations.
The phase in which you do most ofthe work is the Layout phase. It allows you to type in the text that appears when the video form is displayed and to set up fields that the operator or application program will fill in when the application program is running. Fields are the variable parts ofthe form. The Layout phase offers you a number of capabilities that are similar to a video text editor's capabilities. Layout is an interactive phase; that is, you see the form on the screen as you type it, and you see any changes that you make as you edit the form.
Other Form Editor phases let you perform other operations. For example, you assign certain characteristics to fields in a form during the Assign phase. These characteristics are called field attributes.
In Form phase, you assign formwide attributes, identify user action routines (UAR) for the form, and assign initial field attributes. User action routines are subroutines that you associate with a particular form and FMS invokes at run time when the operator presses certain keys. All attributes, as well as user action routines, are described in Chapter 2.
You can associate Named Data items with a form in the Data phase. Named Data is an ordered collection ofconstant information useful to the application program and associated with a specific form, but which is not displayed on the screen. For instance, in the admissions desk example, the cost of different rooms might be Named Data items associated with a form. (Remember that
Introduction 1-3

the admissions desk employee types in the type of room when the patient is admitted.) Ifinflation drives up the costs ofrooms, the costs can be changed in the form (since they are Named Data items) rather than in the application program. At any time, the application program can get the latest room price information to bill the patient for the correct amount.
The order in which the operator will be given access to the fields at run time is established during the Order phase.
The Test phase lets you test a form by displaying it as an application program would. It even allows you to type data into fields and get field-level help.
When you use the Exit phase to leave the Form Editor, you can save the form on which you were working. The Form Editor saves the form as a binary form.
1.1.1.2 Form Language - Using the Form Language is another way to create forms. You write Form Language statements in a form description file and use the Form Language Translator to convert the description into a binary form. You can use any text editor on any terminal to create the form description file. You would use the Form Language instead of the Form Editor if you like a programming-language style of working or if you do not have a video terminal. The Form Language Translator is optional software that is purchased separately.
With the Form Language, you can also work on a form that was originally created with the Form Editor. You may find it convenient to do so, for instance, if you have many similar but slightly different forms to create. To use the Form Language on a form created with the Form Editor, you must create a form description file from the binary form saved by the Form Editor. A form description file can be produced by the Form Application Aids utility and can be edited and subsequently translated.
1.1.2 Create Form Libraries or Memory-Resident Forms
Once you have created binary forms, you must put them in form libraries or in an object module (which becomes memory resident). Either operation makes the binary forms available to the Form Driver and your application program at run time.
The Form Librarian is the utility that manages form libraries. Ifyou choose to use a form library, you must start by making a new library file with the Form Librarian's create operation. This operation makes a new library file and puts one or more binary forms in it. If you want to add a form to an existing library, you use the insert operation. If you want to exchange one version of a form in a library with a newer version of the same form, you use the replace operation. Replace removes the old version ofthe binary form and replaces it with the new version. The extract operation copies a binary form from the library and puts it in a form file. The delete operation removes a form altogether. The Form Editor can copy a binary form from a library and make it available for modification.
1-4 Introduction

When the application requires a form at run time, the Form Driver reads the form directly from a form library file that is stored on a disk. You do not link the form library with the application, but you do name the form library in a Form Driver call. Storing forms in form libraries makes it easy to change and manage forms. You do not need to relink the application every time you change a form. Relinking would be necessary if you used memory-resident forms. You can store all your forms in one place. Also, by using form libraries instead ofmemory-resident forms you can keep the size ofthe program image smaller.
On the other hand, you may prefer some of the advantages of memory-resident forms. Because you link memory-resident forms with the application program, they are brought into memory when the program is brought in. Since a form library directory does not have to be searched, access to forms by the Form Driver or the application is faster than ifthe forms were stored in libraries. Memory-resident forms also save you from having to manage additional pieces of the application-that is, form libraries. You create a linkable file of memory-resident forms by using the Form Application Aids utility.
1.1.3 Write the Application Program
Writing and compiling the application program is, ofcourse, an indispensible step. You will find several other manuals particularly helpful when you write the application program. The VAX FMS Form Driver Reference Manual provides complete reference information on all the Form Driver calls. It also describes the Form Driver's interactions with your program and with terminals. The VAX FMS Language Interface Manual provides information on programming FMS applications in each of seven languages. The Introduction to VAX FMS introduces some concepts and supplies exercises to help you get started with FMS.
During the program development process, you may also find some FMS features helpful. For example, the Form Driver offers a Debug mode that reports status conditions of Form Driver calls.
The Form Application Aids utility also offers some helpful services. You can get listings of form descriptions and of form library directories. You can also get COBOL-like and DATATRIEVE-like field data structure descriptions that you can include (with minor editing) in your source program. See Chapter6.
1.1.4 Write User Action Routines
Ifyou choose to use user action routines (form-associated subroutines), refer to Chapter 2 and to the VAX FMS Form Driver Reference Manual for help in writing them. Remember that you must associate each user action routine with the appropriate form when you create the form.
Introduction 1-5

1.1.5 Create Object Modules As with any other application program, you must compile the application program and user action routines to produce object modules suitable for linking. Also, if you have user action routines, you must link with your program an object module containing the names and vectors of all the routines to be called. You can generate such an object module by using the Form Application Aids. The Form Driver uses these vectors to locate user action routine addresses in memory at run time.
1.1.6 Test Forms You can test, forms at several stages in the development cycle, with either of two utilities. While you are using the Form Editor to create and modify forms, you can use the Test phase to display a form as an application program would and to type data into fields and display field help. You can also test forms by using the Form Tester utility, which allows testing on either VT52-, VTlOO-, or VT200-compatible terminals. The Form Tester lets you test forms in the same way as the Test phase of the Form Editor. You will probably find it convenient to use the Form Editor's test capability when you are already working with the Form Editor. If you are not in the Form Editor, you will probably prefer to use the Form Tester. You can test forms created with the Form Language Translator by using the Form Tester.
1.1.7 Link the Application Once you have done the following, you must link the application and all its pieces with the Form Driver: · Created forms and form libraries · Created a linkable file of memory-resident forms · Written and compiled the application program · Written and compiled user action routines and produced a vector object
module for them The VAX FMS Form Driver Reference Manual provides information on linking the application.
1.2 DCL Commands
All the FMS utilities are invoked through the use of DCL commands, which are summarized in a table at the end of this chapter. The following paragraphs describe the general command syntax and Chapters 3 through 9 contain complete command syntax for each of the utilities. Chapter 10 discusses the changes that have been made since FMS Vl.
1-6 Introduction

FMS commands conform to the VAXNMS command language, DCL. Commands consist of English-language words that describe what you want FMS to do. Commands can optionally contain qualifiers and parameters. Command qualifiers modify a command. They provide the system with additional information on how to execute the command. Command parameters describe the object of the command. FMS command qualifiers such as /DIRECTORY, /DESCRIPTION, /TRANSLATE, and the /LIBRARY subqualifiers such as /CREATE, and /DELETE, are position dependent. Refer to chapters 4, 5, and 6 for the specific command syntax. The default FMS operation is Form Editor editing; that is, typing the command FMS is the same as typing FMS/EDIT. The command FMS/LIBRARY has five subcommands: · FMS/LIBRARY/CREATE · FMS/LIBRARY/INSERT · FMS/LIBRARY/REPLACE · FMS/LIBRARY/EXTRACT · FMS/LIBRARY/DELETE FMS/LIBRARY is the same as FMS/LIBRARY/REPLACE, since replace is the default Form Librarian operation. Throughout this manual, DCL commands are printed in uppercase characters. However, you can enter these commands in uppercase, lowercase, or a mixture. When you enter a command at the terminal, you need not enter the entire command all at once. Ifyou enter a command that requires parameters, and you do not specify any parameters, the command interpreter prompts you for the remaining parameters. The following shows the general FMS command line format: FMS [/command][lsubcommand)[/qualifier]·.· [file-spec] [form-spec-list] The notation shown in Table 1-1 is used in command syntax descriptions throughout this manual. In addition, the phrase "partial form library" is used to mean one or more forms from a form library, as specified in the /FORM-NAME qualifier.
Introduction 1-7

Table 1-1: Command Syntax Notation

Item brackets [ ] braces { }
file-spec form-spec
form-library-spec form-file-spec form-name form-spec-list form-name-list level n

Meaning
Indicate that the enclosed item is optional.
Enclose lists from which one element is to be chosen. Choices are indicated in one of two ways: (1) stacked vertically or (2) listed horizontally and separated with vertical bars (I).
Represents a file specification.
Represents any one of the following file specifications: form-file-spec, form-library-spec, form-libraryspec/FORM_NAME= form-name, or formlibrary-spec/FORM_NAME =(form-name-list).
Represents a file specification for a form library.
Represents a file specification for a form file.
Represents a form name.
Represents a list of one or more form-specs separated by commas.
Represents a list of one or more form-names separated by commas.
Represents a value for the /WARNINGS qualifier of the FMS/TRANSLATE command.
Represents a value for the /ERROR_LIMIT qualifier of the FMS/TRANSLATE command.

Table 1-2 shows the default file types that FMS assumes for input and output files whenever you do not explicitly specify a file type in a command. An exception to this table occurs whenever the /FORM_NAME qualifier is used for an input file, in which case FMS always assumes a default file type of .FLB. Also, whenever the /OUTPUT qualifier is specified for a command that would normally display output on the terminal (SYS$0UTPUT), the default output file type is .LIS. Table 1-3 shows the complete FMS command syntax.

1-8 Introduction

Table 1-2: Default File Types

Command
FMS/CONVERT FMS/DESCRIPTION/BRIEF FMS/DESCRIPTION/FULL FMS/DESCRIPTION/DECLARATIONS FMS/DESCRIPTION/DISPLAY _IMAGE FMS/DIRECTORY FMS/EDIT FMS/LIBRARY/CREATE FMS/LIBRARY/DELETE FMS/LIBRARY/EXTRACT FMS/LIBRARY/INSERT FMS/LIBRARY/REPLACE FMS/OBJECT FMS/TEST FMS/TRANSLATE FMS/UPGRADE FMSNECTOR

Input File
.FRM .FRM .FRM .FRM .FRM .FLB .FRM .FRM .FLB .FLB .FRM .FRM .FRM .FRM .FLG .FLB .FLB

Output File
SYS$0UTPUT .FLG .TXT .LIS SYS$0UTPUT .FRM .FLB .FLB .FRM .FLB .FLB .OBJ no output .FRM .FLB .OBJ

Table 1-3: FMS Commands and Qualifiers

Command

Qualifier

Description

FMS/CONVERT CDDpath-name

/LOG /NOLOG

Logs completed actions on the terminal. /NOLOG is the default

/OUTPUT[= file-spec] /NOOUTPUT

Output form file specification /OUTPUT is the default

Generates a form file from a TDMS form stored in the Common Data Dictionary.

FMS/DESCRIPTION form-spec[,form-spec]··.

/BRIEF /DECLARATIONS /FULL( default)

brief text description of a form declarations for FMS data fields full text description of a form printable image of a form

/DISPLAY_IMAGE[ = {ESCAPE_SEQUENCE NOESCAPE_SEQUENCE}]

10UTPUT[ =file-spec] /NOOUTPUT

output file specification

/LOG /NOLOG

logs completed actions on the terminal

Produces a readable text description of a form.

(Continued on next page)

Introduction 1-9

Table 1-3: (Cont.) FMS Commands and Qualifiers

Command

Qualifier

Description

FMS/DIRECTORY form-spec[,form-spec]...

/BRIEF (default) /FULL /OUTPUT[= file-spec] /NOOUTPUT

brief directory that lists only form names full directory that lists the full file specifications for form or library files output file specification

Displays a directory of the forms in form files or in form libraries that lists the form names, their size, and the date they were last updated.

FMS[/EDIT] {form-file-spec I form-library-spec/FORM_NAME =form-name}

/OUTPUT[= file-spec] /NOOUTPUT

output file specification

Invokes the Form Editor which allows you to create and edit forms. This is the default FMS command.

FMS/LIBRARY/CREATE form-library-spec form-spec[,form-spec]·.·

/LOG /NOLOG

logs completed actions on the terminal

Creates a form library from forms and other form libraries.

FMS/LIBRARY/DELETE form-library-spec/FORM_NAME =(form-name [,form-name]...)

/LOG /NOLOG

logs completed actions on the terminal

Deletes forms from a form library.

FMS/LIBRARY/EXTRACT form-library-spec/FORM_NAME =form-name

/LOG /NOLOG

logs completed actions on the terminal

/OUTPUT[= file-spec] /NOOUTPUT

output file specification

Extracts a copy of a form from a form library.

FMS/LIBRARY/INSERT form-library-spec form-spec[,form-spec]··.

/LOG /NOLOG

logs completed actions on the terminal

Inserts forms into a form library.

FMS/LIBRARY[/REPLACE] form-library-spec form-spec[,form-spec]···

/LOG /NOLOG

logs completed actions on the terminal

Replaces old forms with new forms in a form library. This is the default FMS/LIBRARY command.

(Continued on next page)

1-10 Introduction

Table 1-3: (Cont.) FMS Commands and Qualifiers

Command

Qualifier

Description

FMS/OBJECT form-spec[,form-spec)···

/LOG /NOLOG

logs completed actions on the terminal

/OUTPUT[= file-spec) /NOOUTPUT

output file specification

Generates an object module ofconcatenated forms. The object file can be linked with your application to use memory-resident forms.

FMSfl'EST {form-file-spec I form-library-spec/FORM_NAME =form-name}

/QUIET /NOQUIET

quiet signaling mode

Invokes the Form Tester that displays the form as it will appear at run time.

FMS/TRANSLATE file-spec

/OUTPUT[= file-spec) /NOOUTPUT

output file specification

/LIST[= file-spec) /NOLIST

translation listing

/WARNINGS={ALL I INFORMATIONAL I ERROR I WARNING}

severity level of messages that appear in the translation listing

/ERROR_LIMIT = n

number of errors allowed before the translation is aborted

Invokes the Form Language Translator that converts Form Language text files to forms.

FMS/UPGRADE file-spec

/LOG /NOLOG

logs completed actions on the terminal

/OUTPUT[= file-spec) /NOOUTPUT

output file specification

Converts an FMS Version 1 form or form library to FMS Version 2 format.

FMSNECTOR form-spec[,form-spec)·..

/LOG /NOLOG

logs completed actions on the terminal

/OUTPUT[= file-spec] /NOOUTPUT

output file specification

Creates an object module that contains user action routine (UAR) vectors. You must link this module with your application to use UARs.

HELPFMS

Displays a description of FMS and the qualifiers to use with the HELP command to obtain additional information.

Introduction 1-11

NOTE

Three qualifiers have been changed in the DCL syntax for FMS. These new qualifiers perform the same functions as the old qualifiers. The old qualifiers will remain valid until the next major release of FMS. The new qualifiers are the recommended way ofperforming each action. The old and new qualifiers are listed below.

OLD /MEMORY-RESIDENT /IMAGE /MESSAGE

NEW
/OBJECT /DISPLAY_IMAGE /WARNINGS

1-12 Introduction

Chapter 2 Form Characteristics
To a terminal operator running a video form application (for example, a hospital admissions clerk), a form is a collection of structured information displayed on a video screen. To FMS inte_rnally, a form is a binary data structure that specifies how information is to be displayed on a terminal and how the operator can interact with that display. You can create FMS forms by using either the Form Editor (described in Chapter 3) or the Form Language Translator (described in Chapter 4). Use the Form Editor if you want an interactive utility that allows you to see the form as you type it in and work on it. Use the Form Language Translator if you prefer a programming-language style of working, if you do not have a video terminal, or if you want to create many similar forms. FMS forms include: · Background text · Fields · Names of user-provided subroutines for extended processing ·Named Data · Attributes The following paragraphs introduce these concepts. Section 2.1 describes background text in detail, Section 2.2 describes fields, Section 2.3 describes Named Data, and Section 2.4 describes each attribute. Background Text In a video form, background text is the displayed part ofa form - the part that cannot be modified by the operator at run time. Compare a video form and an ordinary paper form, such as a bank check. Figure 2-1 shows the part of a bank check that would be background text in a video check form.
2-1

Paper Bank Check
0649
_ _ _ _ _ _ 19__ 3-341/11
s_I_ __ PAY TO THE
ORDER OF~------------------~
Community Bank MEMO----------

Background Text

0649

_ _ _ _ _ _ 19__ 3-341/11

PAY TO THE ORDER O F - - - - - - - - - - - - - - - - - - - - -

Community Bank MEMO-----------Filled-in Fields

ZK-1801-84
Figure 2-1: Background Text and Fields in a Bank Check Fields
2-2 Form Characteristics

Fields
Fields, on the other hand, are variable parts ofthe form; they are the parts of a form that the operator (or the program) fills in when the program is running. In other words, fields are analogous to the places on the check where you would write in the name of the person to whom the check should be paid, the amount of the check, your signature, and so on. Figure 2-1 also shows the check's "variables" or "fields."
Fields in video forms differ from "fields" in paper forms in that they can be modified by the application program itself. Figure 2-2 shows a video check that is part ofthe Sample Application program. The program fills in the number field when the next check is displayed for use. The program can also process data that the operator enters in the check form. For example, when the operator writes a check - that is, fills in the fields - the program deducts the amount of the check from the account.

Katherine "· Saith 1 11D9 Hill Rd.
TCllftSlfld, AK 99999 (800)555-1212
....P·to .................
FllST llATllM. .,_

Nu9'ber __a
Date: 17-SEP-82
Account 532

ZK-1802-84
Figure 2-2: Check Form from the Sample Application

Form Characteristics 2-3

Names of User-Provided Subroutines
User-provided subroutines that the Form Driver calls at run time are called user action routines (UARs). UARs support extended forms processing (for example, range checking for field values). When you create a form, you connect or associate with it any user action routines that the application requires. You do this by naming UARs in the Form and Assign phases of the Form Editor or in the FORM and FIELD statements in the Form Language.
Named Data
Named Data is an ordered collection of constant information useful to the application program and associated with a specific form, but not displayed on the screen. Named Data consists of constants, each of which can be accessed by name or by index. You associate Named Data with a form when you create the form - either by using the Data phase of the Form Editor or by using the NAMED_DATA statement in the Form Language.
Attributes
Attributes are characteristics of FMS video forms. These characteristics can be categorized into four types:
1. Field attributes
2. Form attributes
3. Line attributes
4. Video attributes
1. Field Attributes
Field attributes are characteristics ofa field. You assign field attributes when you create a form, and they become active at run time. Both the Form Editor and the Form Language provide default field attributes if you do not specify any. The three categories offield attributes deal with data display, data alignment and padding, and operator interaction.
Some field attributes control data display in fields. For example, No Echo inhibits display ofcharacters that the operator enters at the terminal. Other field data display attributes are Clear Character, Uppercase, and Zero Suppress.
Other field attributes control data alignment and padding. They are Left Justified, Right Justified, Fixed Decimal, Blank Fill, and Zero Fill. Left Justified, for example, causes data to be entered in a field starting from the left.
Field attributes that control the way an operator inputs data in fields at run time can be thought ofas operator interaction attributes. An example ofsuch an attribute is Autotab, which automatically moves the cursor to the next field when the operator fills in the current field. Display Only, another example, allows only the application program to fill in the field and prohibits the
2-4 Form Characteristics

operator from altering the field's contents. The other field attributes in this category are Default Value, Must Fill, Response Required, and Supervisor Only. The complete list offield attributes is: · Autotab · Blank Fill · Clear Character · Default Value · Display Only · Field Completion UARs ·Field Name · Fixed Decimal ·Help Text · Indexed · Left Justify · Must Fill · No Echo · Response Required · Right Justify · Supervisor Only · Uppercase · Zero Fill · Zero Suppress 2. Form Attributes Form attributes are characteristics that apply to the entire form. For example, the form attribute Area to Clear specifies the area of the screen that is to be erased whenever the form is displayed. This attribute allows you to overlay forms on each other, since you can specify that only a part of the screen should be cleared. The complete list ofform attributes is: ·Form Name · Help Form Name · Screen Background · Screen Width
Form Characteristics 2-5

· Screen Character Set

· Screen Area to Clear

· Field Highlighting

· Function Key UARs

· Pre-help UARs

· Post-help UARs

3. Line Attributes

Line attributes apply to lines in a form. The three line attributes are illustrated in Figure 2-3.

· Double Wide

· Double Size

· Scrolled

Double Size

Checkin Account Menu

l

Double { Wide

CHECK REGISTER - THE ACCOUNT HISTORY

Scrolled Area

Figure 2-3: Line Attributes

ZK-1803-84

2-6 Form Characteristics

4. Video Attributes Video attributes are visual characteristics that can apply to any part of the form. The reverse video attribute is illustrated in Figure 2-4. The complete list of video attributes is:
· Blink ·Bold · Reverse ·Underline
· Character Set

Reverse { Video

C~ec~1n~ Account Henu
Choose option (1-5>: .~ 1 Exit 2 Write a chedr.
3 flake a deposit 4 View the check register 5 Show account data
For help, press tELP. To continue, press kegpad 1-5.

Figure 2-4: Reverse Video Attribute

ZK-1804-84

2.1 Background Text
Background text is composed of text characters displayed in a form that are not alterable by your program or by the terminal operator at run time. Background text is typically used to provide captions for fields and to give information to the operator.
Background text can be specified with any or all of the video attributes supported by the VTl00/200-compatible terminal. These attributes include Blink, Bold, Reverse, and Underline. Additionally, the character set for background text characters on any part of the screen can be specified explicitly (see Sections 3.7.4 and 3.7.19 on the Form Editor operations CHARSET and SELECT, and Section 4.2.9 on the Form Language TEXT statement).

Form Characteristics 2-7

2.2 Fields
Fields are areas ofa form where the terminal operator can enter or view variable data. FMS provides many features for controlling the way the terminal operator interacts with fields. Section 2.4.1 describes field attributes. The following sections describe field pictures (a way of specifying fields), special predefined date and time fields, and field ordering. 2.2.1 Field Picture Fields in FMS are specified by field pictures. A field picture is a contiguous sequence offield-validation characters and optional field-marker characters. Field-validation characters are characters that define data positions within a field and describe valid input for each position in that field. FMS validates data entered into fields at run time by comparing the characters entered with these undisplayed field-validation characters (see Figure 2-5 and Table 2-1). Field-marker characters can be included in a field when the form is created. Field-marker characters, however, do appear on the screen at run time and are used to make the form more readable (see Table 2-2). Field-marker characters are the constant part of the field. A field picture, therefore, specifies both the size of a field, and the set of data characters allowed to be input. Field-marker characters are never returned to the program as part of a field's value. Field pictures must include at least one field-validation character.
2-8 Form Characteristics

Background Text
Katherine "· S·ith 1 Hog Hi 11 Rd. Townsend, AK 99999
(800)555-1212 Pa~ to "e·o FIRST NATIONAL BANK
Field-Marker Characters

NUllber __J Date: 22-tllY-82
Allamt: tlHI. ff
Account 532
·

Field- Validation Characters
AAAAAAAAAAAAAAAAAAAAAAAAA
ccccccccccccccc

9
99 AAA 999
NNNN NN

ZK-1805-84
Figure 2-5: Background Text, Field-Marker Characters, and Field-Validation Characters

Form Characteristics 2-9

Table 2r-1: Field-Validation Characters

Character Entered

Valid for Field

By Operator

Valadation Character

A

c

N

9

x

Space .
! thru *
+
0 thru 9 :thru@ A thruZ [ thru \ a thru z {thru j thru£ ¥ § thru « 0 thru 3 µ. thru · 1 thru % l
Athrui
NthruY .B
athru i' ft thru y

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

All others are invalid for any picture.

Table 2r-2: Field-Marker Characters

Symbol Name
B space exclamation mark quote
# pound sign $ dollar sign % percent sign & ampersand

(Continued on next page)

2r-10 Form Characteristics

Table 2-2: (Cont.) Field-Marker Characters

Symbol Name
apostrophe left parenthesis right parenthesis
* asterisk
+ plus sign
comma hyphen or minus sign period slash colon semicolon < left angle bracket equal sign > right angle bracket ? question mark @ atsign left square bracket \ backslash right square bracket inverted! ¢ cent sign £ pound sign ¥ yen sign § section sign >O< currency sign © copyright sign feminine ordinal indicator « angle.quotation mark left 0 degree sign ± plus/minus sign superior 2 superior 3 µ. micro sign ~ paragraph sign middle dot superior 1 Q masculine ordinal indicator » angle quotation mark right

(Continued on next page)

Form Characteristics 2-11

Table 2-2: (Cont.) Field-Marker Characters
Symbol Name
% fraction one-quarter % fraction one-half ;, inverted? A caret or circumflex
underscore grave accent { left brace I vertical bar } right brace tilde
2.2.2 Date and Time Fields Date and time fields are special predefined fields provided by FMS. Whenever a form is displayed or refreshed, the system date and time is placed in any date or time fields respectively. Date and time fields are normally displayonly fields, but that attribute can be changed to allow the terminal operator to enter the date or time. Date and time fields are specified with one ofa set of predefined field pictures. The following date fields are available: 1. month day, year
Month is spelled out, day is a 2-digit decimal number, and year is a 4-digit number. 2. dd-mmm-yy Day is a 2-digit decimal number, month is the first 3 letters ofeach month, and year is a 2-digit decimal number. 3. mm/dd/yy All entries are 2-digit decimal numbers. 4. dd-mm-yy All entries are 2-digit decimal numbers. The following time fields are available: 1. hh:mm:ss The time is standard 24- hour time. 2. hh:mm AM/PM Time is expressed in hours from 0 to 12 with AM/PM indication. Tables 2-3 ;and 2-4 summzrize the date and time field formats and their corresponding field pictures.
2-12 Form Characteristics

Table 2--3: Date Field Formats

Format
month day, year day-month-year month/day/year day-month-year

Field Picture
AAAAAAAAAB99,B9999 99-AAA-99 99/99/99 99-99-99

Table 2-4: Time Field Formats

Format

Field Picture

hour:minute:second 99:99:99 hour:minute AM/PM 99:99BAA

2.2.3 Field Ordering
FMS allows you to specify the order in which fields are to be accessed at run time, when your program requests the Form Driver to get all fields in a form. The order specified is also the order in which field data is positioned in the record returned to your program. You do not need to use this ordering; it is only a convenience. You can always have the Form Driver return the values of the fields one at a time in any order you choose. If your program does request the Form Driver to get all field values at once, the cursor is moved to the first field in the form, and the program waits for the operator to enter data for that field. When the operator presses the NEXT FIELD function key (usually TAB), the cursor moves to the next field in the form, according to the order that you specified. This process is repeated until the operator indicates that the form is complete.
2.3 Named Data
Named Data is an ordered collection of constant information useful to the application program and associated with a specific form, but not displayed on the screen. Named Data consists of constants, each of which can be accessed by name or by index. You associate Named Data with a form when you create the form - either by using the Data phase ofthe Form Editor or by using the NAMED_l)ATA statement in the Form Language.
Named Data is useful for storing form-dependent information independent of your program.
FMS forms can include approximately 60,000 Named Data items, where each item consists of an index, a Named Data name, and a Named Data string. Named Data items can be referenced from your program either by index or by name. The indexes for Named Data items in a form must be consecutive and mustbegin with one. The name for a Named Data item can be up to 31 characters long and can include any displayable character. Names for Named Data

Form Characteristics 2-13

items need not be unique. If no name is specified for a Named Data item, a blank name is assumed. The data string of a Named Data element can be up to 80 characters long and can include any displayable character. Refer to the VAX FMS Form Driver Reference Manual for more information about Named Data.
2.4 Attributes
The following sections describe field attributes, form attributes, line attributes, and video attributes.
2.4.1 Field Attributes Field attributes are characteristics of a field. You assign field attributes when you create a form, and they become active at run time. Some field attributes control data display, some control data alignment and padding, and others control the way an operator puts data in fields at run time. The complete list of field attributes is: · Autotab · Blank Fill · Clear Character · Default Value · Display Only · Field Completion User Action Routines ·Field Name · Fixed Decimal ·Help Text · Indexed · Left Justify · MustFill ·No Echo · Response Required · Right Justify · Supervisor Only ·Uppercase · Zero Fill · Zero Suppress
~14 Form Characteristics

2.4.1.1 Autotab - The Autotab attribute automatically moves the cursor to the next field when the operator has filled the current field. The default is no Autotab.
2.4.1.2 Blank Fill - The Blank Fill attribute causes any data positions not entered by the terminal operator or specified in a field default value to be returned to the application program as blanks. Blank Fill is the default for FMSfields.
2.4.1.3 Clear Character - The clear character is a character that is displayed in each field position where no data has been entered, and no default value has been specified. The default clear character is a blank.
2.4.1.4 Default Value - The default value for a field is a string that is placed in a field when the form is first displayed before the operator has entered any data. If the operator does not enter data for a particular field, the default value is returned to the application program as the value for that field. Note that the default value is never checked against the field picture. Ifthe default value is too long for the field, it is truncated.
2.4.1.5 Display Only - The Display Only attribute is used to prohibit the operator from altering the contents of a field. A field that is marked display only can only be accessed by the application program, never by the terminal operator. The default is No Display Only.
2.4.1.6 Field Completion User Action Routine - Field completion user action routines (Field UARs) are program subroutines that are called at run time whenever the operator completes data input to a field. Field completion UARs are specified by giving the name of the subroutine that is to be called and an associated data string ofup to 80 characters. Up to 15 field completion UARs can be associated with each field, and they are processed in the order specified. Field completion UARs are especially useful for performing extended field processing beyond that which is normally provided by FMS.
When you create a form, you connect or associate with it any user action routines that the application requires. You do this by naming UARs in the Form and Assign phases ofthe Form Editor or in the FORM and FIELD statements in the Form Language.
To use user action routines, you need to create an object module of UAR vectors which you must link with the Form Driver and your program. See Chapter 6 on Form Application Aids for a description of creating object modules of UAR vectors. Field completion UARs are assignable in the ASSIGN phase of the Form Editor or with the FIELD statement of the Form Language.
Form Characteristics 2-15

2.4.1.7 Field Name - The field name is a unique name of up to 31 characters associated with each field. An application program can read or write to a field in a form by providing to the Form Driver the name ofthe field to be accessed. If no field name is given when the form is created, FMS assigns a default name according to the pattern F$nnnn where nnnn is a four-digit sequential index starting with one. The rules for specifying field names are: · Must begin with a letter (A-Z) · Must end with a letter (A-Z) or digit (0-9) · Cannot exceed 31 characters in length · Can contain only letters (A-Z), digits (0-9), dollar signs($), or underscores
(_)
2.4.1.8 Fixed Decimal - The Fixed Decimal attribute specifies a field with a fixed decimal point separator and special field justification rules. In fixed-decimal fields the part ofthe field to the left ofthe decimal f?eparator is treated as right justified, while the part of the field to the right of the decimal separator is treated as left justified. In a fixed-decimal field, the cursor is first positioned over the decimal point separator, and characters are entered into the left side ofthe field. As each character is entered, the other characters to the left ofthe decimal separator are shifted one position left to make room for the new entry. When the left side of the field is complete, the operator types in the decimal separator, either a decimal point or a comma, and then proceeds to enter data into the right side of the field. The decimal separator in a fixeddecimal field is not returned to the application program as part of the field's value (see Figure 2-6). The field-picture rules for fixed-decimal fields are listed below. · The field-validation characters must be all 9s or all Ns. · At least one period or comma must be included. · The rightmost period or comma becomes the active decimal separator. · At least one field-validation character must be on each side of the active
decimal separator. · Any number of other field-marker characters are permitted. The attributes Left Justify, Right Justify, and Fixed Decimal are mutually exclusive. The default for FMS fields is Left Justify.
2-16 Form Characteristics

Fixed-Decimal Field

......------ @ Period must be pressed to

I__ _J

input characters right of

Enter Amount: $ . i

decimal point.

I G) ~~

Beginning cursor position

@ Character moves left as it is input.

ZK-1806-84
Figure ~: Fixed Decimal Attribute

2.4.1.9 Help Text - Help text for a field is an SO-character or 132-character text string. It is displayed at the bottom of the screen when the operator requests help by pressing HELP (PF2 for a VTlOO terminal) while the cursor is in a field at run time.
2.4.1.10 Indexed - Indexed fields are fields with the same name but with a different numerical index for identification. To reference indexed fields from your program, you must specify both the field name and the field index. The field index is just a sequential number from one to the number of fields in an indexed set. Indexed fields can be located anywhere on the screen but must have identical field pictures and field attributes. A typical use for indexed fields is to simplify using program loops to process a set of similar fields. See the VAX FMS Form Driver Reference Manual for information on using indexed fields.
2.4.1.11 Left Justify - The Left Justify attribute causes data to be entered in a field starting from the left. As each character is entered, the cursor moves one position to the right to accept the next character.
The attributes Left Justify, Right Justify, and Fixed Decimal are mutually exclusive. Left Justify is the default for FMS fields.
2.4.1.12 Must Fill - The Must Fill Attribute is used to require the operator to enter data in every position of a field if any data is entered. The Must Fill attribute is useful for fields where partial completion does not make sense, such as for Social Security numbers. The default for FMS fields is no Must Fill.
2.4.1.13 No Echo - The No Echo attribute is used to inhibit display of characters entered in a field by the terminal operator. No Echo is typically used for fields that request privileged information such as passwords. The default for FMS fields is Echo.
2.4.1.14 Response Required - The Response Required attribute is used to force the operator to enter data in a given field before proceeding to the next form. The default is no Response Required.

Form Characteristics 2-17

2.4.1.15 Right Justify - The Right Justify attribute causes data to be entered in a field starting from the right. The cursor is positioned at the right edge of the field, and as each character is entered, the other characters in the field are all shifted one position to the left to make room for the new character. The field picture for right-justify fields must have only one type of field-validation character to allow the data to be shifted without conflict. The attributes Left Justify, Right Justify, and Fixed Decimal are mutually exclusive. The default for FMS fields is Left Justify.
2.4.1.16 Supervisor Only - The Supervisor Only attribute is used to provide one level of selective field protection. Fields marked supervisor only can only be accessed by the terminal operator when the application program has turned supervisor-only mode off. The default is No Supervisor Only.
2.4.1.17 Uppercase - The Uppercase attribute is used to convert all lowercase alphabetic characters entered to uppercase automatically. Data entered in fields with the uppercase attribute is displayed and returned to the application program in uppercase. The default is No Uppercase.
2.4.1.18 Zero Fill - The Zero Fill attribute causes any data positions not entered by the terminal operator or not specified in a field default value to be returned to the application program as zeros. Zero Fill requires a clear character of zero. The default for FMS fields is Blank Fill.
2.4.1.19 Zero Suppress - The Zero Suppress attribute is used to suppress leading zeros in right-justified or fixed-decimal fields. Zero Suppress requires the Zero Fill attribute. The default is no Zero Suppress.
2.4.2 Form Attributes Form attributes are characteristics that apply to an entire form. The list of form attributes is: ·Form Name · Help Form Name · Screen Background · Screen Width · Screen Character Set · Screen Area to Clear · Field Highlighting · Function Key User Action Routine · Pre-help User Action Routine · Post-help User Action Routine
2-18 Form Characteristics

2.4.2.1 Form Name - The form name is a unique name ofup to 31 characters associated with each form and used for identification. To display a form on the terminal, your program provides to the Form Driver the name of the form to be displayed.
The rules for specifying form names are as follows:
· Must begin with a letter (A-Z)
· Must end with a letter (A-Z) or digit (0-9)
· Cannot exceed 31 characters in length
· Can contain only letters (A-Z), digits (0-9), dollar signs($), or underscores
(_)
2.4.2.2 Help Form Name - The help form name is the name of a form that is to be displayed when the operator requests form level help by pressing HELP (PF2 on a VTlOO terminal) more than once. (See form naming rules in Section 2.4.2.1.)
2.4.2.3 Screen Background - The Screen Background attribute specifies the screen background when the form is displayed. As Is (for the Form Editor) or CURRENT (for the Form Language) means do not change the screen background from its present setting. Black sets the terminal to display white characters on a black background. White sets the terminal to display black characters on a white background (sometimes known as reverse video). The default for Screen Background is As Is in the Form Editor and. BLACK in the Form Language.
2.4.2.4 Screen Width - The Screen Width attribute specifies the width ofthe terminal screen in characters when the form is displayed. As Is (for the Form Editor) or CURRENT (for the Form Language) means do not change the screen width from its present setting. 80 sets the screen width to 80 characters per line and 132 sets the screen width to 132 characters per line. In 132column mode, terminals without the advanced video option (AVO) are restricted to a maximum form size of 13 lines. The default for screen width is As Is for the Form Editor and CURRENT for the Form Language.
2.4.2.5 Screen Character Set - The Screen Character Set attribute specifies the default character set to be used when the form is displayed. The default character set is used to display all text and fields that do not explicitly specify a different character set. The choices for character set are As Is, US, UK, RULE, SETl, and SET2. Specifying the character set As Is means do not change the character set from its present setting. US is the standard United States character set supplied with every VTlOO. UK is the same as US except that the British pound sign (TBS) replaces the US pound sign(#). RULE is the name used for the graphics or line drawing character set. SETl and SET2 specify optional character sets that may be added to the standard VTlOO. For more information on character sets, refer to the VTlOO User Guide or your
Form Characteristics 2-19

VT200 Programmers Reference Guide if you wish to use the multinational character set on a VT200 series terminal. The FMS default for Character Set is As Is.
2.4.2.6 Screen Area to Clear - The Screen Area to Clear attribute specifies the area of the screen that is to be erased whenever the form is displayed. By clearing only part ofthe screen when a form is displayed, more than one form can be shown at a time. One form can be "overlaid" on another form. The area to clear is given by specifying the first and last line numbers of the range of lines to be erased when the form is displayed. The line numbers specified must be in the range ofO to 23, and the first line specified must be less than or equal to the last line. Ifboth numbers are given as zero, no lines of the screen will be cleared. If either number is given incorrectly, the area to clear will be set from line 1 to line 23 by default.
2.4.2.7 Field Highlighting - Field Highlighting allows you to highlight the field that is being accessed at run time by altering its video characteristics. Whenever the cursor enters a field, and if field highlighting is enabled, the video attributes for that field change to the highlight attribute(s). When the cursor leaves the field, the attributes are restored to their previous settings. The attributes for field highlighting include any combination of Blink, Bold, Reverse, Underline, and Clear. The default for Field Highlighting is No Highlighting.
2.4.2.8 Function Key User Action Routine - User action routines (UARs) are user-provided subroutines that the Form Driver calls at run time to support extended forms processing. The conditions under which user action routines for a form are invoked are described below.
When you create a form, you connect or associate with it any user action routines that the application requires. You do this by naming UARs in the Form and Assign phases ofthe Form Editor orin the FORM and FIELD statements in the Form Language.
To use user action routines, you need to create an object module of UAR vectors which you must link with the Form Driver and your program. See Chapter 6 for a description of creating object modules of UAR vectors.
The rules for specifying UAR names are as follows:
· Must begin with a letter (A-Z)
· Must end with a letter (A-Z) or digit (0-9)
· Cannot exceed 31 characters in length
· Can contain only letters (A-Z), digits (0-9), dollar signs($), or underscores
(_)
The function key user action routine is a subroutine that is called at run time whenever the operator presses an undefined (to FMS) function key. A function key user action routine is used to provide additional special key processing beyond that which is already supported by FMS.
2-20 Form Characteristics

2.4.2.9 Pre-help User Action Routine - A pre-help user action routine is a subroutine that is called at run time whenever the operator presses HELP before any other FMS help is provided.
Refer to Section 2.4.2.8 for UAR naming rules.
2.4.2.1 O Post-Help User Action Routine - A post-help user action routine is a subroutine that is called at run time when the operator presses HELP and after all other FMS help has been displayed.
Refer to Section 2.4.2.8 for UAR naming rules.
2.4.3 Line Attributes
Line attributes are characteristics that apply to entire lines in a form. FMS line attributes are double size, double wide, and scrolled.
Any number oflines in a form can be given line attributes. Although the lines in a single scrolled area must be adjacent, you can define more than one scrolled area in a single form. By default, lines in a form are defined to be normal size and nonscrolled.
2.4.3.1 Double Size - Characters on double-size lines are twice as large as normal. Each character occupies two columns on two lines. Double-size and double-wide lines reduce the maximum number ofcharacters that can fit on a single line by half.
2.4.3.2 Double Wide - Characters on double-wide lines are twice as wide as normal. Each character occupies two columns. Double-size and double-wide lines reduce the maximum number of characters that can fit on a single line by half.
2.4.3.3 Scrolled - Scrolled lines are lines that become part of an FMS scrolled area at run time. An FMS scrolled area is a part of the screen that can be scrolled forward and backward by the operator, allowing the operator to enter or display more data than will fit on the screen at one time. A scrolled line must contain at least one field, and the fields and background text in each line ofa scrolled area must be identical. Refer to the VAX FMS Form Driver Reference Manual for more information about scrolling.
2.4.4 Video Attributes
Video attributes are visual characteristics that can apply to any part of the form. FMS allows you to specify the full range of video attributes supported by VTl00/200 terminals. VTl00/200 video attributes include Blink, Bold, Reverse, Underline, and Character Set. Combinations ofvideo attributes can be assigned on a per character basis except for fields, which must be assigned video attributes as a unit. On VTlOO terminals without the advanced video option, only the Reverse or Underline attribute is displayed, depending on whether the cursor is a block or underscore, respectively. Figure 2-7 shows the Underline video attribute.
Form Characteristics 2-21

WRITE ACHECK
K.U.rine "· S..ith
111D9 Hill Rd. TCMISlnd, AK 99999
(800)555-1212
....P · t o l l. . . . . . . . . . . . . ..
FllST llATilllAL IMK

Nu·ber __a Date: 17-!jEP-82
Alount: $HH. 11
Account 532

Figure 2-7: Underline Video Attribute

ZK-1807-84

2-22 Form Characteristics

Chapter 3 Form Editor - FMS/EDIT
Form Editor - FMS/EDITThe Form Editor is an interactive utility that lets you create and edit forms on a video (VTlOO- or VT200-compatible) terminal. An alternative to the Form Editor is the Form Language, described in Chapter 4. Creating or editing a form may include many operations: · Typing in background text · Setting up fields · Selecting form, field, video, and line attributes · Establishing field access order · Creating scrolled areas · Associating user action routines with the form · Associating Named Data with the form When you are creating a new form, you type in the background text and set up the fields. The background text is the constantly displayed part of a form, the part that cannot be modified by the operator at run time. A field, on the other hand, is a variable part of the form; it is the part of the form that the operator or program fills in when the FMS application program is running. Fields can also be modified by the application program. To set up a field, you type in field-validation characters, which indicate the type of input that will be allowed at run time. You can also use field-marker characters to make the field more readable for the operator. You can give a field one or more field attributes, which are described in Chapter 2 (examples are Autotab and No Echo). You can give a form certain characteristics, such as color ofbackground or the number of columns in the screen width, that affect the whole form. These characteristics, called form attributes, are also described in Chapter 2.
3-1

Although you write user action routines separately, you must associate their names with the appropriate form when you create or edit that form. User action routines are subroutines, associated with a particular form, that FMS invokes at run time when the operator completes a field or presses HELP. A user action routine can also be used to process various keys, ~uch as function keys, when they are pressed by the operator at run time.
Another form creation or editing activity is associating Named Data with a form. Named Data is an ordered collection of constant information that is useful to the application program and associated with the form, but not displayed on the screen. Named Data for a form consists of constants, each of which can be accessed by its name or by its index.
You can also establish field access order. Field access order is the order in which the operator accesses fields in a form at run time. As the operator moves through the form, the cursor is positioned at fields in the order specified.
The Form Editor allows you to perform these various operations in different phases, which you enter through the Form Editor menu. Following are the seven Form Editor phases:
1. Form
2. Layout
3. Assign
4. Data
5. Order
6. Test
7. Exit
You will probably find it efficient to perform editing operations in the order of the preceding list of phases, particularly when you are creating new forms. However, the Form Editor allows you to use the phases in whatever order you prefer, and to go back and forth between phases. The recommended steps, then, for creating a new form are:
1. Assign form attributes, function key and help user action routine names and data, if needed, and initial field attributes.
2. Lay out the form's background text and fields.
3. Assign field attributes.
4. Assign Named Data.
5. Assign field access order.
6. Test the form.
7. Save the form.
3-2 Form Editor - FMS/EDIT

The Form Editor menu is the first image that appears on your screen when you invoke the Form Editor. The menu shows you the list of Form Editor phases. You type in the name of the phase that lets you do the work that you want to do. You return to the menu and choose other phases when you are ready to perform other operations. Sections 3.5 through 3.12 explain in detail how to use the Form Editor phases.
Step 1- Form Phase
Assign form wide attributes, user action routine names and data, and initial field attributes using the Form phase. The initial field attribute assignment capability in the Form phase lets you preselect the field attributes that the Form Editor will assign to the fields you create in the current editing session. In the Layout and Assign phases, you can assign field attributes to individual fields.
Step 2 - Layout Phase
Use the Layout phase to type in the text that appears when the video form is displayed and to set up the fields that the operator (or application program) fills in when the application program is running. Layout is an interactive phase; that is, you see the form on the screen as you type it, and you see changes as you edit a form. A status line at the bottom of the screen displays information about your editing activities. The Layout phase offers you a number of capabilities that are similar to a video text editor's capabilities. Using Form Editor keys, you can easily move the cursor, delete characters and lines, and perform other editing operations.
Step 3 - Assign Phase
Assign field attributes to fields in a form using the Assign phase. You can also assign them in other phases. The Form phase lets you preselect the field attribute assignments for any new fields created during an editing session. The Layout phase lets you assign field attributes to individual fields while you are laying out the text and fields ofthe form. The Assign phase is a different way to assign attributes to fields. It allows you to assign attributes to fields that have been changed since the last assignment, to assign attributes to one field, or to assign attributes to all fields (but not all at once).
Step 4 - Data Phase
Use the Data phase to associate Named Data with the form.
Step 5 - Order Phase
Specify the order in which the Form Driver allows the operator to access fields at run time.
Step 6 - Test Phase
Display the current form as an application program would display it. The Test phase allows you to type data into fields to test field validation.
Form Editor - FMS/EDIT 3-3

Step 7 - Exit Phase
Use the Exit phase to leave the Form Editor and optionally save the form on which you were working.
3.1 Terminal Characteristics
The Form Editor works properly on a VTlOO- or VT200-compatible terminal only ifthe following terminal SET-UP features are in effect.
On VTlOO:
· ANSINT52 bit is set to one (1) in SET-UP B For more information on SET-UP B, see the VTIOO User Guide.
On VT200:
· Select VTlOO mode or VT200 mode or 8 bit controls For more information on VT200 series terminals set up, see the VT200 User Guide.
3.1.1 Terminal Setup
FMS has alternate character sets, double size and double wide lines, ruling characters, and AST re-entrancy. In addition, FMS can display several forms on the screen-simultaneously. FMS requires more complete control ofthe terminal to handle the additional screen characteristics than FMS Vl did. FMS Vl queried the terminal directly for terminal type, options (such as Advanced Video Option), and current screen characteristics. This operation did not allow type-ahead; you could not enter commands or data while FMS was preparing for form display.
To allow type-ahead, FMS queries the operating system for terminal attributes and screen characteristics. Type the following VMS command to make sure that VMS knows your terminal attributes and screen characteristics before running your application:
$ SET TERMINAL/INQUIRE(B@
The operating system queries your terminal, and records its characteristics. Do not type ahead until the operation is complete. You might consider putting the SET TERMINAL/INQUIRE command in your login command file.
At any time you can type the following VMS command to display the characteristics ofthe current terminal:
$ SHOW TERMINAL(B@
If your terminal characteristics differ from those the operating system has recorded, your FMS application may not perform correctly. FMS also expects ' that the ANSLCRT and DEC-CRT attributes are set appropriately. See the VAX/VMS Command Language User's Guide for details on terminal characteristics.
3-4 Form Editor - FMS/EDIT

3.2 FMS/EDIT Command
To invoke the Form Editor, use the FMS/EDIT command.

FMS[IEDITJ

Syntax

form-file-spec

}

{ form-library-spec/FORM_NAME =form-name

[/[NOJOUTPUT[ =filespec]]

form-library-spec represents a file specification for a form library

form-file-spec

represents a file specification for a form file (A form file is a file containing a single binary form.)

form-name

represents a form name

file-spec

represents a file specification

Description
In the command syntax illustration shown above, you can use either a formfile-spec or a form-library-spec as input. The parameter form-file-spec represents the file specifications for the form file you wish to create or edit. If you do not supply a file type, FMS assumes .FRM by default. The parameter form-library-spec represents the file specifications of the Form Library of the form you wish to edit. FMS assumes a .FLB file type. The parameter form-name represents the name ofthe form you wish to edit. The parameter file-spec represents the file specifications of the output file.
Note that /EDIT is the default FMS command. That is, ifyou do not specify a command with FMS, FMS assumes /EDIT by default.
Qualifiers
/OUTPUT[= file-spec] /NOOUTPUT
The /OUTPUT qualifier specifies that you want an output file created.
Ifyou do not explicitly specify the directory in which the output file should be placed, the default directory is one of two possibilities. (1) Ifyou specify the I OUTPUT qualifier, the default directory is your current directory. (2) If you do not specify the /OUTPUT qualifier, the default directory is the same as the input directory.
If you do not include the file specification of the output file, the default file specification ofthe output file is one of three possibilities. (1) Ifyou are creating a new form, the default output file specification is the file specification given plus the default type .FRM. (2) Ifyou are editing an existing form from a form file, the default output file specification is the input file specification with an incremented version number. (3) If you are editing an existing form from a form library, the default output file specification is the form name (truncated) plus the file type .FRM. (If a form name contains a dollar sign or underscore, FMS removes the dollar sign and underscore and truncates the name to the first 9 characters.) Use the /NOOUTPUT qualifier if you do not want an output file created.

Form Editor - FMS/EDIT 3-5

This qualifier is useful for viewing forms in directories to which you do not have write access.

Examples
1. $ FMS MENU
This example creates or edits the form in the form file MENU.FRM.
2. $ FMS/EDIT SAMP/FORM_NAME=DEPOSIT /OUTPUT=DEPOSIT1
This example edits the form DEPOSIT from form library SAMP.FLB. The output file is assigned the name DEPOSITl.FRM.

3.3 Form Editor Keys
The Form Editor uses the VTl00/200 keyboard and alternate keypad to perform editing functions and to move the cursor on the terminal screen. Figure 3-1 shows the keypad keys.
Pressing GOLD MENU always returns you to the Form Editor menu.
Pressing HELP always displays any available Form Editor help.

J r

""r

+t~

""

\,. UPLINE \. DOWNLIN':,,

RETURN

ALL PHASES
Terminates display of current form (in Layout, moves cursor to next line)

DELETE

Deletes previous character

LINEFEED

Deletes field contents (in Layout, moves cursor down one line in same column)

TAB

Moves cursor to next field (in Layout, moves cursor to next fixed tab stop)

BACKSPACE

Moves cursor to previous field (in Layout, moves cursor to previous character position)

GOLD Q

Reverses current error signaling move

GOLD R

Restores original field values (except in Layout)

CTRL/R

Refreshes the screen

GOLD/DELETE Terminates a Gold Sequence

GOLD n GOLD D GOLD T GOLDS GOLDW CTRL/U

LAYOUT PHASE ONLY Repeats a key or operation n times Creates a date field Creates a time field Makes current line double size Makes current line double wide Deletes to beginning of line

GOLD C
GOLD t
GOLD,!,

ORDER PHASE ONLY Restores conventional field access order
TEST PHASE ONLY Exits to previous field from scrolled area Exits to next field from scrolled area
ZK-1630-84

Figure 3-1: Form Editor Keys

3-6 Form Editor - FMS/EDIT

The VT200 series ofterminals have six additional function key definitions for the Form Editor. These functions, their associated keys and the phases in which these functions are active are listed below.

Function
BACKSPACE DOWNLINE HELP PASTE CUT SELECT

VT200
(LK201 Keyboard)
F12 F13 HELP (F15) E2 E3 E4

Phase
Layout Layout All phases Layout Layout Layout

3.4 Error Signaling in the Form Editor
When an illegal function is attempted or when screen boundaries are reached, the Form Editor signals an error based on the current signal mode. An error message is also displayed on the bottom line ofthe screen. The error message is erased after another key is pressed.
Pressing GOLD Q changes the current signaling mode from Terminal Bell to Quiet and vice versa. If the screen background is specified "As Is", it is changed to "Black" for Quiet signaling.
Terminal Bell signal mode is a "beep." Quiet signal mode reverses the current screen background instead of beeping. The signal mode is visual rather than audio. The default signal mode is Terminal Bell.
Four functions display error messages on the bottom line ofthe screen only if you press HELP. The error is signaled, however, based on the current signal mode. The four functions are:
· Creating Date Fields - GOLD D
· Creating Time Fields - GOLD T
· Assigning Video Attributes - VIDEO
· Assigning character sets - CHARSET
3.5 Choosing a Phase
To choose a phase from the Form Editor menu (see Figure 3-2), type in the whole phase name or just the first letter. Each phase is described in the following sections.

Form Editor-FMS/EDIT 3-7

ForM Editor Menu

For· La9out Assign Data Order Test Exit

Phase Choice: ~
Assign for· attributes Create or ·odif9 a for· Assign field attributes Enter Na·ed Data ite·s "odif9 field access order Test the for· with the For· Driver End this editor session

For· Na·e: x Input File: New f orM be1n created

Figure 3-2: Form Editor Menu

ZK-1809-84

3-8 Form Editor - FMS/EDIT

FORM
3.6 Form Phase
The Form phase lets you assign form attributes, identify user action routines for the form, and assign initial field attributes. Form attributes are the characteristics, such as color of background and number of columns in the screen width, that affect the whole form. User action routines are routines that you associate with a particular form and that FMS invokes at run time when the operator presses a function key or HELP. The initial field attribute assignment capability in the Form phase lets you preselect the field attributes that the Form Editor will assign to the fields you create in the current editing session. Refer to Chapter 2 for more detail on form characteristics, such as user action routines. You use Form phase by filling in a series of three questionnaires that appear on the screen: 1. Assign Form Attributes 2. Assign Initial Field Attributes 3. Form User Action Routines The second and third questionnaires appear on the screen only if you answer yes to the last two questions on the Assign Form Attributes Questionnaire. Figures 3-3 through 3-5 show the three questionnaires. The following is a complete list ofthe assignments you can make in the Form phase. Sections 3.6.1through3.6.9 describe how to make those assignments. ·Form Name · Help Form Name · Screen Background · Screen Width · Screen Character Set · Screen Area to Clear · Field Highlighting · User action routine Names and data · Initial Field Attributes Entering the Form Phase Type FORM to enter the Form phase at any time from the Form Editor menu. When you enter the Form phase, the Assign Form Attributes questionnaire is displayed (see Figure 3-3). Use the following keys to control processing in the Form phase:
Form Editor - FMS/EDIT 3-9

FORM
· TAB to move the cursor to the next field · BACKSPACE to move the cursor to the previous field · GOLD MENU to return to the Form Editor menu · HELP to get help in any field or for the Form phase · RETURN or ENTER to move to the next form · DELETE to delete the character to the left of the cursor · LINEFEED to delete the contents of a field · QUIET to change the signal mode to reverse screen Pressing HELP displays a single line of help text on the bottom line of the screen. Pressing HELP a second time displays an entire screen of help information about the Form phase. Leaving the Form Phase Press RETURN, ENTER or GOLD MENU to return to the Form Editor menu once you have finished assigning formwide attributes.

Assi n ForM Attributes

For11e Na11ee:

_EH11.1PL-D~YE_E_ _ _ _ _ __

Help Fon Na1111e: 1.111HE-L..P.E...111PR11.1H_ _ _ _ _ __

Screen Back round: 1 1. As Is 2. Black 3. White

Screen Character Set: 1

1. As Is 4. RULE

2. us

5. SET1

3. UK

6. SET2

Screen Area to Clear
First Line L
Last Line 23

ield Hi hll htin

XNo Highlighting

_ Blink

_ Reverse

_ Bold

_ Underline

Do you want to specify user action routines for this for1111? <YIN> H Do you want to assign initial field attributes? CY/N) lll

ZK-1810-84
Figure 3-3: Assign Form Attributes Questionnaire

3-10 FormEditor-FMS/EDIT

~~FORM

ssi n In1t1al Field Attributes

I Autotab : No Echo _ Displa9 Onl9 Default Value: Help Text:

_ Right Justif9 _ Fixed DeciRal _ Zero Fill _ Zero Suppress

_ Uppercase _ ttust Fill _ Response Required Clear Character _ _ Supervisor Onl9

!mFl'RiRiJ Blink
Bold Reverse Underline

Field Character Set: 1

1. As Is 4. Rll.E

2. us 5. SET1

3. UK

6. SET2

ZK-1811-84
Figure 3-4: Assign Initial Field Attributes Questionnaire /

Form Editor - FMS/EDIT 3-11

FORM
ForM User Action Routines
Pre-Help UAR Na·e:I..- - - - - - - - Associated Data: Post-Help UAR Na.e: Associated Data: Function Ke9 UAR Na·e: - - - - - - - - - Associated Data:
ZK-1812-84
Figure 3-5: Form User Action Routines Questionnaire
3.6.1 Form Name You can select a name for the form on which you are working. If you do not give a name to the form in the Form phase, FMS uses the name of the input file as the form name. If the file name begins with a numeric digit, FMS appends the letter F to the beginning of the name to make it suitable as a form name. See Section 2.4.2.1 for naming rules. When the Assign Form Attributes questionnaire is displayed, the cursor is positioned next to Form Name. You type in the name that you want for the form and then press TAB to move the cursor to Help Form Name. 3.6.2 Help Form Name You can specify the name of a help form that you want to associate with the form on which you are working. A help form is not required. See Section 2.4.2.1 for naming rules. To give the name that you want to the help form, move to the appropriate field (using TAB) in the Assign Form Attributes questionnaire and type in the name of the help form.
3-12 Form Editor- FMS/EDIT

FORM
3.6.3 Screen Background
You can specify the background (black or white) that the form will have when the application program is running.
To select screen background, move to the appropriate field (using TAB) in the Assign Form Attributes questionnaire and type the number of your choice.
3.6.4 Screen Width
You can specify how wide the form will be in the running application. The form can be either 80 columns or 132 columns wide.
To select the screen width you want, move to the appropriate field (using TAB) in the Assign Form Attributes questionnaire and type the number of your choice.
3.6.5 Screen Character Set
You can choose one of five character sets to appear in the form at run time. The US, UK, and RULE character sets are standard on every VTlOO-family terminal. SETl and SET2 character sets on the VTlOO require optional hardware. Refer to your VT200 User Guide for information about the use of the multinational character set and the compose character function. See Chapter 2 for more detail about character sets. To select the character set you want, move to the appropriate field (using TAB) in the Assign Form Attributes questionnaire and type the number of your choice.
3.6.6 Screen Area to Clear
You can specify the area to be cleared at run time when the form is displayed. You indicate the area by specifying the first and last lines. Initial default values are 1 through 23. These fields are right justified with the zero fill attribute. If either initial value is deleted, the Form Driver supplies a value of zero. An error message will be displayed if only one value is left at zero. Refer to Chapter 2 for more detail. To specify the screen area to clear, move to the First Line field (using TAB) under Screen Area to Clear in the Assign Form Attributes questionnaire and type the number ofthe first line. Then move to the Last Line field and type the number ofthe last line.
3.6.7 Field Highlighting
Ifyou choose field highlighting, the field on which the cursor is positioned at run time blinks, appears in bold type, appears in reverse video, is underlined, or has any combination ofthese attributes. See Section 2.4.4 for more details.
Form Editor - FMS/EDIT 3-13

FORM
To select the type ofhighlighting that you want (or No Highlighting), move to the appropriate field (using TAB) in the Assign Form Attributes questionnaire, and type X. You must erase the X in the No Highlighting field before selecting any specific highlight attributes. To use Clear as the highlight, erase the No Highlight and all other highlight attributes. The highlight option fields are supervisor only fields. If the NO HIGHLIGHTING field is X, then the highlight option fields cannot be accessed. If the NO HIGHLIGHTING field is BLANK, then the highlight option fields are accessible. The default is NO HIGHLIGHTING.
3.6.8 User Action Routine Names and Data If a form will have user action routines associated with it, you must provide the names to those user action routines. Remember that user action routines are routines that you associate with a particular form and FMS invokes at run time when the operator presses a function key or HELP. Refer to Chapter 2 for more information on user action routines. To name user action routines for a form, move to the appropriate field (using TAB) in the Assign Form Attributes questionnaire, type Y, and press RETURN. The Form UAR questionnaire appears on the screen. Move to the· appropriate fields in the questionnaire and type in the names of the user action routines. Move to the appropriate fields to type in associated data that is made available to the user action routines at run time.
3.6.9 Initial Field Attributes Ifyou choose to assign initial field attributes, any new fields you create during the current editing session will have those attributes. In other words, you can preselect characteristics for the Form Editor to assign to fields. Those characteristics become active at run time and in the Test phase. To assign initial field attributes, move to the appropriate field (using TAB) in the Assign Form Attributes questionnaire, type Y, and press RETURN. The Assign Initial Field Attributes questionnaire appears on the screen. Again move to the appropriate field and type X for each initial field attribute that you want to assign. For Clear Character, type in the character that you want to be displayed in fields at run time. For Default Value, type in a data or numeric string that you want to appear in the fields when the form is displayed. For Help Text, type in a help string up to 80 characters long. For Field Character Set, choose one of the character sets offered.
3--14 FormEditor-FMS/EDIT

LAYOUT
3.7 Layout Phase
Layout is the phase that lets you (1) type in the background text that appears when the video form is displayed and (2) set up the fields that the operator (or application program) will fill in when the application program is running. Layout is an interactive phase; that is, you see the form on the screen as you type it and you see changes as you edit a form. A status line at the bottom of the screen displays information about your editing activities. Figure 3-6 shows a status line, and Table 3-1 summarizes the information supplied in it.
The Layout phase offers you a number of capabilities that are similar to a video text editor's capabilities. The Form Editor displays a cursor, the small, rectangular, blinking symbol or underscore that marks the place of the current operation. Using the Form Editor Keys shown in Figure 3-1, you can easily move the cursor, delete characters and lines, and perform other Layout operations. In addition, you can choose the editing mode that you want: (1) a mode that replaces the character at the cursor position with the character that you type (Overstrike) or (2) a mode that inserts a character you type and moves any other characters to the right to make room (Insert). You can also choose Text and Field modes to let you create or edit background text or fields, respectively.
Many form editing operations are possible in Layout phase. For example, you can insert or delete characters or spaces. Cut and paste operations let you take out a part of a form and put that part in a different place in the form. You can set up an area of a form (called a scrolled area) that allows your program to gather or display more information than could otherwise be done with one form on a terminal screen. A scrolled area consists of identically formatted lines that create a window where the terminal operator can move up or down without affecting the rest of the form. See Section 2.4.3.3 for more information on scrolled areas.
Layout phase provides the capability to select a part of a form and perform certain operations on it. You can remove the area, copy the area to another location in the form, center the area, draw a line around the area, change the character set in the area, or give video attributes to the area. The first step in holding an area and performing an operation on it is to define the select area. Pressing SELECT marks the current cursor position as a starting point for a select area. The end of the select area is the final position to which you move the cursor. The Form Editor indicates the select area in reverse video. The Center, Character Set, Cut, Draw, Paste, and Video attributes operations use select areas and are described in the following sections. The select operation is described in Section 3.7.19.
The following is a complete list of the operations that you can perform in Layout phase. To perform them, use the Form Editor keys as described in Sections 3.7.1through3.7.22.
· Adjacent: Break a Field into Two Adjacent Fields
Form Editor - FMS/EDIT 3-15

LAYOUT
· Cancel: Cancel a Select, Gold, or Scroll Operation · Center: Center the Select Area · Characters: Change Character Sets · Cursor: Move the Cursor · Cut: Cut the Characters in a Select Area · Date: Define a Date Field · Delete: Delete Characters and Lines · Double Size: Make Lines Double Size · Double Wide: Make Lines Double Wide · Draw: Draw Lines and Boxes · Field Attributes: Assign Field Attributes · Insert: Insert Blank Lines · Modes: Overstrike/Insert, Text/Field, and Terminal Bell/Quiet and vice
versa · Paste: Paste Previously Cut Characters · Refresh: Redisplay the Current Form · Repeat: Repeat Characters or Operations · Scroll: Make a Scrolled Area · Select: Define a Select Area · Test Paste: Test a Paste Operation · Time: Define a Time Field · Video Attributes: Assign Video Attributes Entering the Layout Phase Type LAYOUT to enter the Layout phase from the Form Editor menu. A screen filled with spaces is displayed along with a status line at the bottom of the screen. The status line (see Figure 3-6) gives information about the current cursor location (whether it is in background text or in a field, whether it is on a scrolled line or on a normal line, and its line and column numbers), the modes that are in effect (Text or Field, Overstrike or Insert), and the current field name, if the cursor is positioned in a field.
3-16 Form Editor - FMS/EDIT

xxxxxxxxxx·

LAYOUT

Figure 3-6: Layout Phase Status Line

ZK-1813-84

Table 3-1: Layout Phase Status Line Information

Item Cursor
TXTorFLD
NORorSCR LINE (1-23) COLUMN (1-132) Modes TXTorFLD OVSorINS
Field Name

Meaning
Indicates that the character at the cursor position is either text (TXT) or field (FLD). Indicates whether the line on which the cursor is positioned is normal (NOR) or scrolled (SCR). Indicates the line number. Indicates the column.
Indicates the mode that controls whether background text (TXT) or fields (FLD) are entered. Indicates how characters are entered on the screen. Character entry mode can be either Overstrike (OVS) or Insert (INS). Displays the name of the current field, if the cursor is positioned in a field.

Form Editor - FMS/EDIT 3-17

LAYOUT

Help in the Layout Phase
Help is available at all times when you are in the Layout phase. Pressing HELP displays multiple help frames thatdescribe Layout functions.
Form Display in the Layout Phase
Figure 3-7 shows a form as it appears in the Layout phase. The status line and field pictures do not appear in a displayed form in the Test phase or at run time.

EHPLOYEE RECORD FILE

Nale:

A'''''''''''''''''''''''''A

Street Address: .....................................................................

Cit9:

AA''''''''''''''''''''''A

Zip:

Supervisor:

Job Title:

Figure 3-7: Form in the Layout Phase

ZK-1814-84

In the Layout phase, a form is a rectanglar area ofthe screen filled with characters (spaces are the default). Line terminator characters, like carriage return (CR) and linefeed (LF), do not apply to the Layout phase as they do in other text editors, but they are available as cursor positioning keys.
Leaving the Layout Phase
You can leave the Layout phase at any time by pressing GOLD MENU to return to the Form Editor menu.

3-18 Form Editor - FMS/EDIT

LAYOUT
3.7.1 Adjacent: Breaking a Field into Two Adjacent Fields Pressing GOLD ADJFLD breaks the current field into two adjacent fields. The cursor is positioned in the newly created, second field. An error is signaled and the adjacent field operation fails ifthe cursor is not in a field or ifthe field is not at least two characters long. You can use ADJFLD (adjacent field) in the Layout phase to create fields next to one another. The field to the left of the cursor is marked modified by the Form Editor and retains the original attributes assigned to it. The field to the right of the cursor is marked as a new field, and default attributes are assigned to it. You can then edit the attributes of the new field using the Assign phase.
3.7.2 Cancel: Canceling a Select, Gold, or Scroll Operation Pressing GOLD RESET cancels an active select, gold, or scroll function. The cursor does not move.
3.7.3 Center: Centering Characters on a Line Pressing CENTER centers the contents of a line or the contents of a select area. Le~ding and trailing spaces surrounding text on a line are not counted as characters. An error is signaled and centering fails if the action would write over existing characters that are not spaces. To center one or more lines, use the select operation. If select is not active, the entire current line is centered.
3.7.4 Characters: Changing Character Sets You can assign different character sets to parts of a form. All VTlOOs come with character sets that FMS calls US, UK, and RULE. To define an area of the screen to have a specified character set, press GOLD CHARSET after defining a select area. You receive a prompt, which you can reply to with US, UK, RULE, SETI, or SET2. Typing SAVE saves the last character set that you choose. Ifselect is not active and the cursor is in a field, the entire field is used as the select area. Ifselect is not active and the cursor is not in a field, the current character is used as the select area. If an error occurs during.processing, the error is signaled using the current signal mode (Terminal Bell or Quiet). The error message is not displayed unless you press HELP. Pressing any other key restores the character set prompt.
Form Editor - FMS/EDIT 3-19

LAYOUT
3.7.5 Cursor: Moving the Cursor You use keypad keys as well as keyboard keys to position the cursor in the Layout phase. The cursor symbol, a rectangle or an underscore, blinks at the current screen position. Up a Line Pressing UPLINE moves the cursor up one line. The cursor remains in the same column on the new line. Ifyou try to move the cursor above the top line of the screen, an error is signaled. When you move from a normal line to a double-size or double-wide line, or vice versa, the screen column position does not change, but the column number does. Down a Line Pressing DOWNLINE moves the cursor down one line on the screen. The cursor remains in the same column on the new line. When you move from a normal line to a double-size or double-wide line, or vice versa, the screen column position does not change, but the column number does. If you try to move the cursor below the bottom line of the screen, an error is signaled. Pressing LINEFEED performs the same action as DOWNLINE. The cursor moves down one line on the screen in the same column. Forward a Character Pressing CHARFWD moves the cursor one character position to the right on a line or to the beginning of the next line if moving right would go over the last column. Back a Character Pressing CHARBCK moves the cursor one character position to the left on a line or to the end of the previous line if moving left would go beyond the first column. Pressing BACKSPACE moves the cursor one character position to the left on a line. An error is signaled ifthe cursor is at the left margin. Next Tab Stop on a Line Pressing TAB moves the cursor to the next fixed tab stop. The tab stops are 1, 9, 17, 25, 33, 41, 49, 57, 65, and 73. For 132-column forms, the additional tab stops are 81, 89, 97, 105, 113, 121, and 129. Tab stops that you set on your VTlOO in SET-UP A are ignored.
~20 Form Editor - FMS/EDIT

LAYOUT
From the last tab stop on a line, the cursor moves to the first tab stop on the next line. Ifthe cursor is on the last line ofthe screen, an error is signaled and the cursor does not move. Tabbing moves the cursor only; the content of your form is unaffected.
Beginning of the Current Line
Pressing BLINE moves the cursor to the beginning of the current line. Ifthe cursor is already at the beginning ofa line, the cursor moves to the beginning ofthe preceding line, and so on. The action is rejected and an error is signaled if BLINE is pressed at the beginning ofthe first line of the screen.
Beginning of the Next Line
Pressing RETURN (or ENTER) moves the cursor to the beginning ofthe next line on the screen. Ifthe cursor is on the last line ofthe screen when you press RETURN, an error is signaled and the cursor does not move.
End of a Line
Pressing ELINE moves the cursor to the end of the current line. IfELINE is pressed at the end ofa line, the cursor moves to the end ofthe subsequent line, and so on. Ifthe cursor is on the last line ofthe screen when you press ELINE, an error is signaled and the action is rejected.
End of Text
Pressing EOT moves the cursor to the end of text on the current line. The cursor moves to the right of the last non-blank character on that line. Ifthe cursor is in the last character position ofthe line, and that character position is occupied, the character position is actually one character position to the right. Ifyou press EOT when the cursor is at the end ofa text line, the cursor moves to the end of text on the next line.
Bottom of the Screen
Pressing GOLD BOTTOM moves the cursor to the left bottom corner of the screen. If the cursor is already at the lower left, an error is signaled and the cursor does not move.
Top of the Screen
Pressing GOLD TOP moves the cursor to the upper left corner ofthe screen. If the cursor is already at the upper left, an error is signaled and the cursor does not move.
3.7.6 Cut: Cutting Characters in a Select Area
Pressing CUT saves all the characters in the select area in the paste buffer. The select area on the screen is replaced with spaces. The characters in the paste buffer retain their video characteristics.
Form Editor - FMS/EDIT 3-21

LAYOUT
Ifno select area is currently active and the cursor is positioned in a field and CUT is pressed, the field becomes the select area; otherwise, the current character becomes the select area. A select area can be defined for a scrolled area, but the entire scrolled area must be included. An error is signaled and CUT fails if only part of a scrolled area is selected. After a cut the cursor is positioned at the top left corner ofthe previous select area. 3.7.7 Date: Defining a Date Field Pressing GOLD D displays the date menu from which you choose a date field picture. Enter the number of the type of date field that you want. Press RETURN to insert the field picture of your choice. The field picture that you choose is inserted to the right of the current cursor position on the screen. The cursor is positioned to the right of the newly inserted field. You cannot edit the field picture after it has been entered. You must first delete the entire field, using CUT or DELLINE. If an error occurs during processing, the error is signaled using the current signal mode (Terminal Bell or Quiet). The error message is not displayed unless you press HELP. Pressing any other key restores the Date menu. Figure 3-8 shows the date format menu that Layout displays on the last line of the screen.
3-22 Form Editor - FMS/EDIT

LAYOUT

1. AM.Aff..wm, 89999
2. 9t-AAA-99 3. 99199/99 4. 9'-99-99

Menu {

Date Choice:

Figure 3-8: Date Field Menu

ZK-1815-84

3.7.8 Delete: Deleting Characters and Lines

All characters and lines that you delete are retrievable from character and

line buffers in the Form Editor. In other words, for every delete function,

there is an undelete function. Undeleting what you deleted always restores

whatever was most recently deleted.

·

Character to the Left of the Cursor

Pressing DELETE deletes the character to the left of the cursor. The character is stored in the character buffer and can be replaced by pressing GOLD UNDELCHR.

An error is signaled if DELETE is pressed when the cursor is at the leftmost character position on a line.

If you are in Overstrike mode, pressing DELETE replaces the character to the left of the cursor with a blank and moves the cursor one position to the left.

In Insert mode, the cursor and the characters to the right of the cursor are shifted left one position.

Form Editor - FMS/EDIT 3-23

LAYOUT
Pressing GOLD UNDELCHR places the deleted character at the current cursor position. The character remains in the buffer as well. If the buffer is empty, then an error is signaled, and the cursor does not move. The action of the cursor and other characters on the line is the same as ifthe character had been typed.
Character that the Cursor Is On
Pressing DELCHR deletes the character the cursor is on. The deleted character is stored in the character buffer and can be recovered by pressing GOLD UNDELCHR.
When you press DELCHR again, the character in the buffer is replaced with the most recently deleted character.
In Overstrike mode, the character position is replaced with a space, and the cursor moves one character position to the right on the line.
Ifyou are in Insert mode, the characters to the right of the cursor are moved one character position to the left. The cursor remains at its current position, and a space is added to the end ofthe line.
Pressing GOLD UNDELCHR places the deleted character at the current cursor position. The character remains in the buffer as well. If the buffer is empty, then an error is signaled, and the cursor does not move. The action of the cursor and other characters on the line is the same as ifthe character had been typed.
Beginning of a line
Pressing CTRL/U deletes all characters from the current cursor position to the beginning ofthe same line and replaces them with spaces. The cursor does not move. If the cursor is already at the beginning of the current line, the previous line is deleted. The operation fails if the cursor is in the middle of a field. Only entire fields can be deleted. The characters are stored in the line buffer, so you can do a GOLD UNDELLINE to get them back. UNDELLINE places characters to the left of the cursor if you deleted to the beginning of a line.
End of a Line
Pressing GOLD DELEOL deletes all characters from the current cursor position to the end of the same line and replaces them with spaces. The cursor does not move. Ifthe cursor is already at the end of the current line, the next line is deleted. The operation fails ifthe cursor is in the middle ofa field. Only entire fields can be deleted.
The characters are stored in the line buffer so you can do a GOLD UNDELLINE to restore them. UNDELLINE places characters to the right of the cursor if you deleted to the end of a line.
3-24 Form Editor - FMS/EDIT

LAYOUT
Line
Pressing DELLINE deletes the entire current line.
Pressing DELLINE in Insert mode causes all the lines below the deleted line to move up one line. The cursor can be located anywhere on the line being deleted. The deleted line is stored in the line buffer. A blank line is inserted on the bottom line ofthe screen. Pressing DELLINE in Overstrike mode deletes the entire line and replaces it with a line filled with spaces.
To retrieve a line deleted by a previous DELLINE, press GOLD UNDELLIN. In Overstrike mode, the characters are placed in the current line. GOLD UNDELLIN fails if you attempt to either cross a line boundary, write over characters that are not spaces, or press GOLD UNDELLIN when the character buffer is empty. In Insert mode, the screen is scrolled down a line and the retrieved line is placed on the screen. Ifthe bottom line is not blank, an error is signaled.
3.7.9 Double Size: Making Lines Double Size
Pressing GOLD S when the cursor is on a normal line, makes the line, and all characters on the line, double size. If the line is already double size, then the line becomes normal size.
A double-size character takes up four character positions. Two character positions are on one line and two character positions are on the line directly below that. The remainder of the lines on the screen are moved down one line and the bottom line is removed. The entire line is, in other words, made double wide and double high.
Since an 80-column form has a maximum of 23 lines, you can have only 11 double-size lines with a maximum of 40 (66 in 132-column mode) characters per line with the advanced video option. A 132-column form without AVO can have only 6 double-size lines with a maximum of 66 characters per line.
An error is signaled ifthe double-size line is too long (more than 40 or 66 characters for an 80- or 132-column form, respectively). An error is also signaled if the bottom line is not blank, because it cannot be deleted.
3.7.10 Double Wide: Making Lines Double Wide
Pressing GOLD W when the cursor is on a normal line, makes the line, and all characters on the line, double wide. Ifthe line is already double wide, then the line becomes normal width.
A double-wide character takes two screen positions. Characters and spaces are enlarged horizontally from one character position to two.
Up to 40 characters are allowed on a double-wide line in an 80-column form. For a 132-column form, you can have up to 66 characters on a double-wide line.
Form Editor - FMS/EDIT 3-25

LAYOUT
3.7.11 Draw: Drawing Lines and Boxes Press SELECT to define a select area for a line or box. A screen line, part of a screen line, or a rectangular area of the screen are all valid select areas for DRAW. Press DRAW after you have pressed SELECT. A line is drawn around the perimeter of the select area. Corners and other intersecting characters are inserted automatically. Ifthe perimeter of the select area contains any characters other than spaces or other line-drawing characters, an error is signaled and DRAW fails. Press SELECT, select the line or box, and then GOLD UNDRAW to delete lines or boxes. An error is signaled and UNDRAW fails ifthe select area has nongraphic characters.
3.7.12 Field Attributes: Assigning Them in Layout You can enter the Assign phase directly from the Layout phase by pressing GOLD FLDATR while the cursor is in a field picture. GOLD FLDATR allows you to assign attributes to the current field picture only. When you complete attribute assignment for a field, return to the Layout phase by pressing RETURN. Press GOLD MENU to return directly to the Form Editor menu. An error is signaled and GOLD FLDATR is rejected if the cursor is not in a field.
3.7.13 Insert: Inserting Blank lines Pressing GOLD OPENLINE inserts a line of spaces at the current cursor position by shifting the remaining lines on the screen down. You can be in either Overstrike or Insert mode and the cursor can be anywhere on a line. Ifthe last line ofthe screen is not blank, the Form Editor rejects the action, an error is signaled, and the cursor does not move.
3.7.14 Modes: Overstrike/Insert, Text/Field, and Terminal Bell/ Quiet
The following modes are available in the Layout phase and indicate the following: · Overstrike/Insert-the way characters are placed on the screen · Text/Field-the legal characters that can be entered
3-26 Form Editor - FMS/EDIT

LAYOUT
· Terminal bell/Quiet-the way errors are signaled
Only one mode ofeach pair can be active at a time.
You can choose modes through keys on your terminal's keyboard. Overstrike, Text, and Terminal bell are the default modes. Pressing GOLD INSERT, GOLD FIELD, or GOLD Q activates the alternate mode.
Pressing OVRSTRIK puts you in Overstrike mode, which replaces the character at the current cursor position with the new character that you enter, and moves the cursor one position to the right. Ifyou delete a character in this mode, that character position is replaced with a space. Pressing DELETE in Overstrike mode moves the cursor left, but the remaining characters on the line do not move. This is the default input mode for Layout.
Pressing GOLD INSERT puts you in Insert mode, which places every character that you type at the current cursor position and moves the cursor one position to the right. Any characters to the right ofthe cursor are shifted right to make room for the inserted character. The character at the cursor position is also moved to the right. The last character at the end of the line is removed. An error is signaled ifthe last character on the line is not a space. Pressing DELETE in Insert mode causes the space to be closed up, and the characters to the right of the cursor shift left.
When a character is typed in any mode of Layout, the cursor is one character position to the right of the character just entered. If the cursor is in the last column of a line and a character is typed, the cursor cannot move to the right after inserting the character. However, the Form Editor behaves as though the cursor did move to the right. The column indicator in the status line shows the column one position greater than the line length. This condition is called the hanging cursor position. Characters cannot be entered but DELETE and the cursor movement functions are all valid.
Pressing TEXT puts you in Text mode, which lets you input background text on the screen. This is the default input mode for Layout.
Pressing GOLD FIELD puts you in Field mode, which lets you create field pictures on the screen. You can type in only valid field picture characters, which are either :field-validation characters (A,C,N,X,9), or field-marker characters (B,$,_,%,#,etc.). See Chapter 2 for tableS\ofthese characters.
Pressing GOLD Q changes the current signaling mode from Terminal Bell to Quiet and vice versa. If the screen background is specified "As Is;' the screen is forced to black for Quiet signaling mode.
Terminal Bell signal mode is a "beep." Quiet signal mode reverses the current screen background instead of beeping. The signal mode is visual rather than audio. The default signal mode is Terminal Bell.
Form Editor - FMS/EDIT 3-27

LAYOUT
3.7.15 Paste: Pasting Previously Cut Characters ·
Pressing GOLD PASTE inserts characters and spaces saved in the paste buffer into an area the same size as the cut. The characters are inserted left to right down the screen, and the cursor ends up at the lower right corner ofthe pasted area. The inserted characters cannot cross line boundaries or other nonblank characters. Ifcharacters would be overwritten, an error is signaled and the GOLD PASTE function fails.
You can paste scrolled areas adjacent to one another, but the scrolled areas remain separate.
You can paste lines that are double size or double wide. An error is signaled if those lines are too long for the current line(s). Only entire lines maintain their line attributes when cut or pasted. If your screen width is 80 columns, your double-size or double-wide line can only be 40 characters long. A 132column screen can have 66 characters in double-size or double-wide lines.
3.7.16 Refresh: Redisplaying the Current Form
Pressing CTRL/R redisplays the current form. Refresh is useful after a system broadcast, static problems, or terminal line distortions. The cursor does not move.
3.7.17 Repeat: Repeating Characters or Operations
Pressing GOLD n repeats a non-numeric character or an action a specified number oftimes. For example, ifyou wanted to repeat the letter 'N 35 times, press GOLD, then type the number '35'. The REPEAT prompt appears. Type the letter 'A.' You see the letter 'N repeated 35 times.
The character and line DELETE functions and UNDELETE functions cannot be used with a repeat count. This feature provides a safeguard against deleting the contents of character and line storage buffers and making unwanted changes to the screen display. You cannot repeat numeric characters with a repeat function because numeric keys are used in the definition of a repeat sequence.
3.7.18 Scroll: Making a Scrolled Area
Pressing SCROLL begins the definition of a scrolled area. The normal, current line becomes a scrolled line. The scrolled area is displayed in reverse video.
Use one ofthe following keys, that move the cursor up the screen, to expand a scrolled area up:
·BLINE
· UPLINE
3-28 Form Editor - FMS/EDIT

LAYOUT
Use one of the following keys, that move the cursor down the screen, to expand a scrolled area down: ·LINEFEED · DOWNLINE ·ENTER ·RETURN You can make a line scrolled either before or after fields and background text are on it. You must assign the double-size or double-wide attributes to lines before they can be made scrolled or included in a scrolled area. The contents on any scrolled line in a scrolled area (fields and background text) are replicated automatically throughout the other lines of the area as you type. An error is signaled and Scroll fails if any lines, other than the first line, in a scrolled area are not blank. To expand an existing scrolled area, move to the first or last line of the scrolled area and press SCROLL and the valid keys mentioned above to expand it. Pressing ENDSCROL terminates the definition of a scrolled area. The reverse video of the scrolled area during SCROLL is returned to the previous video characteristic. GOLD RESET cancels scroll definition and restores the screen. Pressing GOLD UNSCROL removes the scroll attribute from the current line and then deletes any characters on that line. The unscrolled lines are replaced with blank lines. You can unscroll lines only at the top or bottom of a scrolled area. On the last remaining line of a scrolled area, GOLD UNSCROL removes the scroll attribute only. Any fields and background text remain on the line. You must use DELETE if you want to delete the character on the line. An error is signaled if you try to unscroll a line that is not scrolled. When you change the contents or attributes on any line ofa scrolled area, all edits or assignment within that scrolled line are repeated automatically throughout the scrolled area.
Help is available during scroll definition to describe the active functions.
3.7.19 Select: Defining a Select Area Pressing SELECT marks the current cursor position as a starting point for a select area. The end of the select area is the final position to which you move the cursor. A select area is marked in reverse video.
Form Editor - FMS/EDIT 3-29

LAYOUT
A select area is defined as a rectangular area ofyour screen that is acted upon by several ofthe following functions: ·CUT · GOLD CHARSET ·CENTER ·DRAW · GOLD UNDRAW ·VIDEO ·GOLD RESET When the select area has been modified by one of the above actions, the selected screen area is restored to its former video characteristics. Figure 3-9 illustrates a select area.

Select~
Area {

Help for FHS and SAHP Control Keits

I I uses SOiie standard editinf ke9s. Theit are:

RETURN

Signifies thilt 9ou are done 11ith a for·.

TAB

Haves cursor to the next field.

BACKSPACE Haves cursor to the previous field.

DELETE LINEFEED

. Deletes the character to the left of the cursor.
Deletes the cantents of an entire field.

>r-:- :- . . : 7-4: :: ;::

_:=--.:.==~... ...= .:= -- == =~=- _.-: ·_..:.: ==_ .... ~.:::~*' ~:.::.: _.. == ·= . . : ~ .... = ·_.: j,

CTRL/R

Refreshes the screen.

I l l also defines SOM kess. At ans tiae while ruming SAlll, 9ou can press
keitpad period to stop what !11111 are doing and return to the lll!rlU.

Other keits are defined b9 SMF at different points in the ~lication. Use of these keits will be noted as 9IJU progress through the progra11.

Cursor

Ira continue, press RETilll.1

Figure 3-9: Select Area

ZK-1816-84

During the definition of a select area, the cursor can only move between lines ofequal length. Select areas cannot contain both normal-size and double-size lines. An error is signaled ifsuch an attempt is made.

3-30 Form Editor - FMS/EDIT

LAYOUT
3.7.20 Test Paste: Testing a Paste Operation Pressing TSTPASTE allows you to see if the characters in the last cut fit where you want them to fit. Starting at the cursor, Testpaste marks the outline of the impending paste in reverse video. Ifthe paste does not fit, an error is signaled and the outline of the impending paste continues to be displayed. Typing any character restores the screen and does not effect the characters in the buffer. 3.7.21 Time: Defining a Time Field Pressing GOLD T displays the time menu from which you can choose a time field. Enter the number of the type of Time field that you want. Press RETURN to insert the field picture of your choice. The time field that you choose is inserted to the right of the current cursor position. The cursor is positioned to the right of the newly inserted field. You cannot edit the field picture after it has been entered. You must first delete the entire field using CUT or DELLINE. If an error occurs during processing, the error is signaled using the current signal mode (Terminal Bell or Quiet). The error message is not displayed unless you press HELP. Pressing any other key restores the Time menu. Figure 3-10 shows the time format menu that Layout displays on the last line ofthe screen.
Form Editor - FMS/EDIT 3-31

LAYOUT

l. 99:99:99 2. 99:99BM

Ti· Choice: _ <hh:·:ss> Figure 3-10: Time Field Menu

ZK-1824-84

3.7.22 Video Attributes: Assigning Video Attributes
You can assign video attributes to parts of a form in a select area. If a select area is not active, the current cursor position or the current field become the select area.
Pressing VIDEO displays the VIDEO prompt on the last line of the screen. The select area is still in reverse video. Valid responses to the VIDEO prompt are:
· Blink - Alternates a black/white screen background
· Bold - Highlights an area of the screen
· Clear - Clears all video attributes from select area
· Restore - Restores the previous video attributes
· Reverse - Displays alternate screen background
· Underline - Underscores an area ofthe screen
· Save - Saves the currently assigned video attributes and returns you to editing

3-32 Form Editor - FMS/EDIT I

LAYOUT
You can enter more than one video attribute to the VIDEO prompt by separating them with commas or spaces. The VIDEO prompt is redisplayed after you make a video assignment. You exit from video and return to editing by pressing ENTER on a blank line or by typing SAVE. If an error occurs during processing, the error is signaled using the current signal mode (Terminal Bell or Quiet). The error message is not displayed until you press HELP. Pressing any other key restores the video prompt.
Form Editor - FMS/EDIT 3-33

ASSIGN
3.8 Assign Phase
The Assign phase lets you assign characteristics, called field attributes, to fields in a form. You can also assign them in other phases. The Assign phase allows you to assign attributes to fields that have been changed since the last assignment, to assign attributes to one field, or to assign attributes to all fields. The Assign phase uses three questionnaires: 1. Assign Menu 2. Assign Field Attributes 3. Assign user action routine names for fields Entering the Assign Phase Type Assign in the Form Editor menu and press RETURN to enter the Assign phase. An Assign menu (see Figure 3-11) is displayed at the bottom of the screen. A Field Attributes Questionnaire (see Figure 3-12) collects field attribute assignments and a Field Completion User Action Routine Questionnaire (see Figure 3-13) asks for field UAR names and associated data. (See the VAX FMS Form Driver Reference Manual for information on user action routines.) Use the following keys to control processing in the Assign phase: · TAB moves the cursor to the next field. · BACKSPACE moves the cursor to the previous field. · DELETE deletes the character to the left of the cursor. · LINEFEED deletes the contents of the current field and resets the mode to
Overstrike for a normal field or Insert, if the field is fixed decimal or right justified. · HELP displays help for the current field and for the entire phase. · RETURN terminates filling in the current questionnaire and advances to the next one if appropriate. If you have completed assigning attributes to the current field, RETURN moves the cursor to the next field to be assigned attributes (if there is one), and redisplays the Field Attributes questionnaire.
3-34 Form Editor - FMS/EDIT

ASSIGN

For~ Editor Menu

For1 li!out Assign Data
Order
Test Exit

Phase Choice: _ _
Assign for1 attributes Create or 1Ddif9 a fol"ll Assign field attributes Enter Nilled Data itl!llS llodif9 field access order Test the fol"ll with the Fol"ll Driver End this editor session

f 01"11 MMe: DEPOSIT

Input File: DEPO~!T.FRH:l .

-

Assign attributes to: I
1. All fields 2. New or Modified fields 3. Specific field

Figure 3-11: Assign Menu

ZK-1822-84

Leaving the Assign Phase
Use GOLD MENU to return to the Form Editor menu.
Assign Menu
The Assign menu in the Assign phase asks you what fields you want to assign attributes to: new or modified fields, a specific field, or all fields (see Figure 3-11).
· Choose number 1 if you want to assign field attributes to each field in the form.
· Choose number 2 if you want to assign field attributes to new or modified fields in the form.
· Choose number 3 if you want to assign field attributes only to a specific field.
The Field Attributes questionnaire displays the field attribute choices that you can assign to fields (see Figure 3-12). For example, you can select Autotab by typing an X next to "Autotab" in the Questionnaire.

Form Editor - FMS/EDIT 3-35

ASSIGN
Initial field attributes for fields created during the current editing session can be assigned in the Form phase.
The questionnaire is displayed on either the top or the bottom of the screen, depending on where the field that you are assigning is positioned. For example, ifthe field is near the bottom ofthe screen, the questionnaire is displayed on the top of the screen. In 132-column mode on a non-AVO VTlOO, the questionnaire is displayed without display of the current form being edited.
The video display of the field being assigned includes all video attributes (bold, blink, reverse video, underline) to better identify this field. Field pictures (field-validation and field-marker characters) are displayed as well.
Sections 3.8.1 through 3.8.6 describe each part of the questionnaire. For a description of field attributes, see Section 2.4.1.
3.8.1 Field Name
Field Name lets you select a name for a field in a form. The cursor is-automatically positioned next to Field Name in the Field Attributes Questionnaire. The default name of F$nnnn, where nnnn is the four-digit sequence number in which the field being assigned was created, is displayed next to Field Name. To enter a different name, press LINEFEED to delete the default name and type in a new name (see Section 2.4.1.7 for information on field names).
3.8.2 Index Value K Of N (Creating Indexed Fields)
Indexed fields are fields with the same name but with a different numerical index for identification. Indexed fields in FMS must have identical field pictures and attributes. Individual fields of an indexed set can be located anywhere on the screen.
To create a set of indexed fields using the Form Editor, create one field of the set, and make it indexed by assigning it an index value of 1. After assigning the field an index value of 1 in the Assign phase, return to the Layout phase and use the CUT and PASTE operations to duplicate this field for each element ofthe indexed set.
The two numeric values Kand N shown next to Index Value in the Assign Field Attributes questionnaire represent the index value ofthe current field, and the total number offields in the indexed set respectively. You can assign a value for Kif you wish, but the value for N is computed by the Form Editor.
When you create indexed fields, the Form Editor assigns the index value K a default value based on the order in which the fields are created by the PASTE operation. You can re-order the field index values by specifying K explicitly. Note that the index values are required to be sequential from one to the number of indexed fields in the set. Any index values that are duplicate or out of
3-36 Form Editor - FMS/EDIT

ASSIGN
range cause the Form Editor to issue an error message when you try to save the form. The Form Editor treats fields with an illegal index value as modified in order to make them easy to find in the Assign phase.
Note the following special properties of assigning an index value ofK=O.
If a field is the only element of an indexed set and an index value of zero is specified, the field is changed to no longer be indexed.
If a field is an element of an indexed set with more than one member and an index value of zero is specified, a new default index value is assigned. This is useful for assigning a legal index value when the Form Editor has warned that the current value is duplicate or out ofrange, and you are not sure what alternative values are available.
Since indexed fields are required to have identical field pictures, the Form Editor does not allow you to alter the field picture of an indexed field. To edit an individual indexed field picture definition, you must first remove the field from any indexed sets. This can be done by changing the field's name. However, you cannot replace the field in the indexed set (by changing its name back) unless it is once again identical to the other fields in the proposed set. Changing the field attributes for one field in an indexed set alters the attributes for all the other fields in that set (except for the field name and index value attributes, of course).
You can also create indexed fields by specifying identical field pictures in the Layout phase, and then assigning the fields the same name in the Assign phase. When you add a field to an indexed set using this method, however, the field name is rejected unless all the field attributes are identical.
Reordering fields in the Order phase does not effect the numbering of indexed fields.
3.8.3 Attributes
To select an attribute, press TAB and BACKSPACE to position the cursor next to Autotab, No Echo, Display Only, Right Justify, Fixed Decimal, Zero Fill, Zero Suppress, Uppercase, Must Fill, Response Required, and Supervisor Only, and type an X. To select a clear character, press TAB to position the cursor next to Clear Character and type in any displayable character. In res~onse to the UARs question, type a Y to display a UAR questionnaire and type in names and associated data for one or more UARs that you want associated with this field at run time. The maximum number of Field UARs for a field is 15. Press RETURN to return to the Field Attributes questionnaire. The default is no UARs for a field. Type an N ifyou are not going to associate any UARs with the field.
Form Editor - FMS/EDIT 3-37

ASSIGN
3.8.4 Default Value The Default Value specifies a string that.will be placed in the field initially, before the operator enters any data. Ifthe operator does not alter the field, the default value will be returned to the application program. For example, ifyou are writing a program for an insurance company for displaying car policies, you can assign a Default Value of$100.00 to all policies. The terminal operator can change that value to $200.00 on the less common comprehensive policies. 3.8.5 Help Text Help Text for a field is a phrase or sentence that might be helpful to the terminal operator in filling in the field. Type in a line of information next to "Help Text." The terminal operator sees the Help Text when HELP (PF2) is pressed in a field at run time. Press RETURN to complete the Field Attributes questionnaire. 3.8.6 Field Completion User Action Routines Questionnaire Ifyou responded "Y" to the UARs question in the Field Attributes Questionnaire, a second questionnaire called Field Completion User Action Routines is displayed (see Figure 3-13). You can assign up to 15 user action routines to a field. You paginate through this questionnaire in the same way that you do in the Named Data phase, by using TAB and BACKSPACE.
3-38 Form Editor - FMS/EDIT

ASSIGN

Checkin Account Menu

Choose Option <1-5>: ~ Exit

2 Write a check

3 Hake a deposit

Field

Na·e:

::::i;.lf.o..o..o..t._

_

Assign
___

Field Attributes
_ __

Index Value _

of' _

_ Autotab

_ Right JustH'9 _ Uppercase

_ No Echo

_ Fixed Deci·al _ Hust Fill

_ Displa9 Onl~ _ Zero Fill

_ Response ~ired Clear Character _

_ Zero Suppress _ Supervisor Onl9 UARs? <Y,N> K

Default Value:

Help Text:

Figure 3-12: Field Attributes Questionnaire

ZK-1818-84

Form Editor - FMS/EDIT 3-39

ASSIGN
\\1xn111 111111
Field C011pletion User Action Routines Field Nale: FIELDt
1 = - UAAsRsoNciaat.e:d Data: · - - - - - - - -
2 UARNa.e: ~~~~~~~~~~ Associated Data:
ZK-1819-84
Figure 3-13: Field Completion UARs Questionnaire
3-40 Form Editor - FMS/EDIT

DATA
3.9 Data Phase
The Data phase allows you to associate Named Data with the form on which you are working. Named Data is an ordered collection of constant information useful to the application program and associated with the form but not displayed on the screen. Named Data for a form consists of constants, each of which can be accessed by its name or by its index. You can have approximately 60,000 Named Data entries. A Named Data questionnaire appears on the screen when you enter this phase. The Named Data questionnaire has room for five Named Data items on the terminal screen. You can page beyond those five entries, from the last element on the screen, by pressing TAB. The numbers are repaginated. That is to say, you see the numbers 6 through 10 instead of1 through 5. To page back, use BACKSPACE. When the Named Data questionnaire appears on the screen, the cursor is positioned in the first Name field. Type in the name ofthe Named Data. Then move to the line below it and type in the data. Continue in this fashion until all Named Data that you wish to store with the form has been entered. Entering the Data Phase Type Data at the menu and press RETURN. A Named Data questionnaire is displayed (see Figure 3-14). Use the following keys to control processing in the Data phase: · TAB to move the cursor to the next entry. · BACKSPACE to move the cursor to the previous entry. · GOLD MENU, RETURN or ENTER to return to the Form Editor menu. · HELP to get help for any individual field and for the entire phase. · DELETE to delete the character to the left of the cursor. · LINEFEED to delete the contents of the current field. · QUIET to change between Terminal Bell and Reverse Screen. Named Data names can contain any displayable character. Leaving the Data Phase Press GOLD MENU, RETURN, or ENTER to leave the Data phase and return to the Form Editor menu.
Form Editor - FMS/EDIT 3-41

DATA

Naud Data
~ ~------------------------------
2 1m:m --------------------------~-3 1m:m --------------------------~--
4 :zm:m ------------------------------5 lm:m -------------------------------

Figure 3-14: Data Phase

ZK-1820-84

3-42 Form Editor - FMS/EDIT

ORDER

3.1 O Order Phase
The Order phase allows you to specify the order in which the Form Driver accesses fields at run time. The access order is the order in which the operator or program (if the program does not specifically change the order in which GETs are done to fields) has access to fields at run time. As the operator TABs through a form, the cursor is positioned at fields in the order specified in this phase. You can reorder all fields in a form, or just some of the fields. The default access order of fields is their creation order.
Entering the Order Phase
Type Order at the Form Editor menu to enter the Order phase. The keys in Table 3-2 perform certain actions unique to the Order phase. You can press HELP to get on-line information. (Pressing GOLD MENU returns you to the Form Editor menu.)

Table 3-2: Order Phase Functions

Key
TAB BACKSPACE SELECT
GOLD RESET ENTER
RETURN GOLD MENU
GOLDR (RESTORE) CTRL/R (REFRESH) GOLDC GOLDQ

Function
Advance to next field. Move to previous field. Append current field onto current ordering sequence or start new ordering sequence if none is in progress. Cancel ordering sequence in progress. Update working field order to include sequence just specified. Remain in Order phase to allow testing of modified order or specifying another order sequence. Same as ENTER. Return to the Form Editor menu, updating field access order. Restore the order that existed before you entered the Order phase. Redraw the form by redisplaying it.
Order fields conventionally, from left to right and top to bottom. Change signal mode from Terminal Bell to Quiet and vice versa.

Reordering Fields
The Order phase is used to rearrange the order in which the Form Driver accesses fields at run time. You can reorder all fields in a form, or just some of them. The default access order for fields in a form created with the Form Editor is the order in which the fields were created.

Form Editor - FMS/EDIT 3-43

ORDER
To reorder the fields in a form, you specify one or more ordering sequences. An ordering sequence is a set offields with a specified order. The sequence field2, field4, field3 is an example of an ordering sequence. This sequence specifies that field4 comes immediately after field2, and that field3 comes immediately after field4. To specify an ordering sequence, you use the TAB and BACKSPACE keys to position the cursor at the next field in the sequence. Then press the SELECT key. To specify the ordering sequence above, for example, you would first position the cursor over field2 and press SELECT. If no ordering sequence is in progress, this operation has the effect of starting a new sequence. Then move the cursor to field4 and press SELECT, then to field3 and press SELECT again. To end the ordering sequence, you press ENTER or RETURN. After ending the sequence, the field order is updated to include the ordering sequence just specified. The TAB and BACKSPACE keys now move the cursor through the fields in the new order. At this point you are free to start another ordering sequence, return to the Form Editor menu (saving the current field ordering), restore the field order to what it was before you entered the Order phase (RESTORE), or change the field ordering to left to right, top to bottom (GOLD C). If you make a mistake in the middle of an ordering sequence, you can cancel the ordering sequence in progress by pressing RESET. Table 3-2 summarizes the functions that are recognized during the Order phase. Ordering Fields in a Scrolled Area When ordering fields in a scrolled area, you, must order them contiguously so that the Form Driver can know when to scroll an entire line. You can start an ordering sequence with any field. To ensure that fields in a single scrolled area are contiguously ordered, the Form Editor enforces the following rules: 1. When you enter a scrolled area from a nonscrolled field, the rest of the
fields in the scrolled area are appended in their present order after the field selected. 2. Once in an ordering sequence, you can leave a scrolled area only through the last field in the area. Any attempt to SELECT a field outside the scrolled area from other than the last field in the scrolled area will be rejected. Figure 3-15 gives some examples of ordering fields in a scrolled area (SCA).
3-44 Form Editor - FMS/EDIT

ORDER

f1---.F2

F3__..F4--..f5 Scrolled Area

F6__..F7

Ordering sequence Resulting field order

Fl,F4 Fl,F3 F6,F3 F4,F6 F5,Fl F3, F5, Fl

Fl,F4,F3,F5,F2,F6,F7 Fl,F3,F4,F5,F2,F6,F7 Fl,F2,F6,F3,F4,F5,F7 F6 rejected F2,F3,F4,F5,Fl,F6,F7 Fl rejected (F5 is no longer last in Scrolled Area)

Figure 3-15: Ordering Fields in a Scrolled Area

ZK-1821-84

Leaving the Order Phase
Pressing ENTER or RETURN updates the working field ordering to include the reorder you just completed. You can remain in the Order phase to test the modified order or continue reordering.
Press GOLD MENU to leave the Order Phase, save the new ordering sequence, and return to the Form Editor menu.

Form Editor - FMS/EDIT 3-45

TEST

3.11

Test Phase
The Test phase lets you display the current form as a program would and allows you to type data into fields to test field validation. Help forms and user action routines are not accessible from the Test phase. Entering the Test Phase Type Test at the Form Editor menu to enter the Test phase. Use the following keys to control processing in the Test phase: · TAB to move the cursor to the next field. · BACKSPACE to move the cursor to the previous field. · GOLD MENU, RETURN, or ENTER to return to the Form Editor menu. · HELP to get single-line help for any fields in the form. · QUIET to change from Terminal Bell to Reverse Screen. · DELETE to delete the character to the left of the cursor. · LINEFEED to delete the contents of a field. Leaving the Test Phase You leave the Test phase by pressing RETURN, ENTER, or GOLD MENU. The data that you entered in the fields is not saved.

3-46 Form Editor - FMS/EDIT

EXIT

3.12 Exit Phase

The Exit phase allows you to leave the Form Editor and save the form you were working on.
Entering the Exit Phase
Type Exit at the Form Editor menu to enter the Exit phase. A question is displayed in the lower part of the screen. (See Figure 3-16.) Use the following keys to control processing in the Exit phase:

· GOLD MENU to return to the Form Editor menu. · HELP to get help for the Exit phase. · QUIET to change from Terminal Bell to Reverse Screen.

· DELETE to delete the character to the left of the cursor.

· LINEFEED to delete the contents of a field;

You can type RETURN or ENTER to save your form or "N" to delete the out-

put form file. The input form, in any case, is unchanged.

·

If you used /NOOUTPUT on the command line when you entered the Form Editor, no form will be output, regardless of your answer to this question.

Form Editor - FMS/EDIT 3-47

EXIT

ForM Editor Menu

Fone L19out Assign Data Order Test Exit

Phase Choice: uiL Assign fone attributes Create or IOdif9 a fone Assign field attributes Enter Nillll!d Data itl!llS llodif9 field access order Test the fone with the Fone Driver End this editor session

Fone Male:· DEPOSI"" Input File: DEP03Ii.FP~:1

Do 9ou want to save this fone? <YIN> I

Figure 3-16: Exit Phase Query

ZK-1817-84

Leaving the Exit Phase
The Exit phase validates the form you were working on and then saves it in a form file. Control characters can exit you from the Form Editor, but they do not save your form. Your form is saved only when you leave the Form Editor by using the Exit phase. Use the RETURN or ENTER key to leave the Exit phase.
Before you save your form, the Form Editor validates field pictures against field attribute assignment. If any discrepancies are found, choose an appropriate phase to correct the problem. Fields in error are considered as modified by the Assign phase. (You can then enter the Assign phase to choose the New or Modified Fields option.) ·

3-48 Form Editor - FMS/EDIT

Chapter 4 Form Language Translator - FMS/TRANSLATE
The Form Language Translator is an alternative to the Form Editor for creating binary forms. The Form Language is optional software that is purchased separately. You create forms using the Form Language by writing a form description with a text editor, and then translating this description to a binary form using the Form Language Translator. Since you can write form descriptions with any text editor, you do not need a VTlOO terminal to create forms with the Form Language. The Form Language provides all the form descriptive capabilities ofthe Form Editor (see Chapter 3). Any form that can be created using the Form Editor can also be created with the Form Language. The choice between using the Form Editor or Form Language should be based on your own preference and how the forms for your program are to be maintained. The form descriptions that you write when creating forms with the Form Language are sometimes more convenient to store and distribute, more selfdocumenting, and easier to update using automated procedures. The remainder ofthis chapter provides an overview ofthe Form Language, a description ofeach Form Language statement, and commands for translating a form description to a binary form.
4.1 Form Language Concepts
A form description is a collection ofForm Language statements that describe a binary form. Form Language statements allow you to specify the background text, fields, video, and all the other features that make up a form. Each Form Language statement consists of a statement keyword followed by a collection ofstatement items and terminated by a semicolon. The statement keyword, always the first word of a Form Language statement, serves to uniquely identify the statement type. The Form Language statement types are summarized in Table 4-1.
4-1

Table 4-1: Form Language Statement Types

Keyword
ATTRIBUTE_DEFAULTS
DRAW END_OF_FORM FIELD FORM NAMED_DATA ORDER SCROLL TEXT VIDEO

Description
Redefines default attributes for all subsequent TEXT or FIELD statements. Defines lines or boxes. Designates the end of a form description. Defines a field. Defines form characteristics. Specifies Named Data items. Specifies field access order. Defines a scrolled area. Specifies background text. Specifies video attributes for parts of the screen.

4.1.1 Statement Items
Statement items are used to specify the actual characteristics of the form entity being described. Statement items include names, coordinate specifications, text strings, and various attributes.
4.1.1.1 Names - The Form Language allows you to specify names within a form for each instance of the following:
· The form itself(Form name)
· A help form (Help form name)
· Each field (Field name)
· Each Named Data item (Named Data name)
· Each user action routine (user action routine name)
These names are used by the Form Driver at run time to refer to the entity specified. Names in the Form Language are always given as keyword parameters. A keyword parameter consists ofa keyword that identifies the parameter, followed by an equal sign and the value being assigned to that parameter. In the Form Language, names are always enclosed in apostrophes. As an example, the keyword parameter to specify a form name could be given as: NAME= 'FORMl'
The rules for specifying names in FMS are as follows:
· Must begin with a letter (A-Z)
· Must end with a letter (A-Z) or a digit (0-9)
· Cannot exceed 31 characters in length
· Can contain only letters (A-Z), digits (0-9), dollar signs ($), or underscores(_)

4-2 Form Language Translator - FMS/TRANSLATE

FMS does not distinguish between upper- and lowercase names. Internally, all names are stored as uppercase. However, for compatibility with FMS Version 1, Named Data names can contain any printing character.
4.1.1.2 Coordinates - Coordinates specify the line and column position for form entities on the screen. Coordinate specifications are given by a line and column number enclosed in parentheses and separated with a comma. Two types ofcoordinate specifications are allowed: absolute and relative. Absolute coordinates are given as unsigned numbers and specify an absolute screen position. Relative coordinates are given as signed numbers (the plus sign (_) and the minus sign(-)) and specify the relative offset from the previous coordinate position. Absolute and relative coordinates can be mixed in a single coordinate specification as in ( + 5,7).
If you omit the line coordinate, the line number assigned is the line coordinate in the previous statement incremented by 1.
Ifyou omit the column coordinate, the column number assigned is the preceding column coordinate.
The initial coordinate position is (1,1), the upper left corner of the screen.
4.1.1.3 Text Strings - Text strings in the Form Language specify names, background text, field pictures, and other form entities. The general rules for entering text strings are given below.
· Text strings are enclosed in apostrophes.
· An apostrophe inside a text string is represented by two consecutive apostrophes.
· Characters can be repeated using a repeat count.
· Text strings can be concatenated or continued over more than one line by using the ampersand (&) symbol.
· Text strings can contain only printing characters.
Some examples of valid text strings follow.
'This is a text strin~.'
'Don't tell anyone.'
BO'X'
'This is a very Ion~ statementt and I choose' & ' to Put it on two lines.'
4.1.1.4 Attributes - Forms can contain several different types of attributes as documented in Chapter 2. An attribute is assigned simply by specifying the attribute keyword in the appropriate statement.
Some attributes are assumed for form, field, and text. These attributes are the FMS default attributes. Unless another attribute is specified explicitly, these attributes are automatically assigned to form, field, and text.
Form Language Translator - FMS/TRANSLATE 4-3

The Form Language provides keywords to identify all the nondefault FMS attributes. When appropriate, it also provides keywords for negating or overriding these attributes. For example, if an ATTRIBUTEJ)EFAULTS statement is used to redefine an attribute as the default for field, an inverse attribute (the negated form of the keyword) would be used to override the previous attribute specification. Thus the attributes for FIELD and TEXT statements define both senses ofthe attribute (the attribute and its inverse). The tables of attributes for each statement type list these attributes and, if one exists, their inverses. 4.1.2 Writing a Form Description Form descriptions are prepared using any conventional text editor. The following sections give some general guidelines for writing form descriptions. Figure 4-1 is a layout sheet that you can use to graphically set up your form prior to writing a text file containing Form Language statements. The layout sheet helps you provide coordinates for your TEXT and FIELD statements as well as helping you to see how you want to position items in a form.
4-4 Form Language Translator - FMS/TRANSLATE

co 0

0)

00
......

<.O

LO
v

M
-N
...... 0

IQ'>

00
......

<.O

LO
v

M
-N
(Q 0

0)

00
......

<.O

LO
v

-M
N LO 0

0)

00 ......

<.O

LO
v

-M
N
v 0

O')

00
......

(,0

LO
v

-M
N MO

10'>

00
......

(,0

LO
v

-M
N N 0

O')

00
......

<.O

LO
v

-M
N
... 0

O')

00
......

<.O

LO
v

M N
- - - - - - - - - - - - - N M v LO (,0 ...... 00 O') 0

N M v LO (,0 ...... 00 O') 0

N M

N N N N

Figure 4-1: Layout Sheet

ZK-1823-84

Form Language Translator - FMS/TRANSLATE 4-5

4.1.2.1 Statement Format - Form Language statements can be entered in free format with up to 132 characters per line in the text file that you are creating. Free format means that statement names and items can be separated by any number ofblank lines or spaces without affecting their interpretation. Use as many lines as you want in a Form Language statement.

4.1.2.2 Restrictions - Each form description must begin with a FORM statement. Only one FORM statement is allowed per form description.
· Any SCROLL statements must precede the TEXT or FIELD statements to which they apply.
· Any ORDER statements must follow all FIELD statements in a form description.
· Each form description must end with the END_OF_FORM statement. Only one END_OF_FORM statement is possible per form description.
Only one form description can be translated from a single text file. You must place each form description in a separate file if you wish to translate them to binary forms.

4.1.2.3 Abbreviations - You can truncate Form Language keywords to four characters, or three characters if the fourth character is an underscore (_), Attributes beginning with NO must include six characters.
You can use more than four characters or the entire word, if you wish. Each character is checked for correct spelling.

4.1.2.4 Including Comments - You can include comments in a form description with the exclamation mark (!). All text after the comment symbol (!), to the end of the line, is treated as a comment. For example:

FORM NAME='WELCOME'

!The name of the first disPlaYed form.

HELP='HELP WELCOME' !The help form for WELCOME.

BACKGROUND=BLACK

!Dark background.

4.2 Form Language Statements
Each statement keyword must be in the first position of a Form Language statement. The statement keyword indicates the type of Form Language statement. Form Language statement keywords are followed by statement items such as screen coordinates, attributes, field pictures, and background text.
The following sections describe each Form Language statement in detail.

4-6 Form Language Translator - FMS/TRANSLATE

ATTRIBUTE_DEFAULTS
4.2.1 ATTRIBUTE_DEFAULTS Statement

Syntax
ATTRIBUTE_DEFAULTS {FIELD I TEXT} [attribute...]; attribute Text or field attribute.

Description
The ATTRIBUTE_DEFAULTS statement redefines default attributes for all subsequent FIELD, TEXT, or DRAW statements in a form.
A single statement can redefine default attributes for either fields, or text, but not both. Text attributes also apply to DRAW statements with the exception of CHARACTER_SET. Field and background text attributes are described in Chapter 2.
You can use the ATTRIBUTE_DEFAULTS statement more than once in a form description. Each ATTRIBUTE_DEFAULTS statement redefines only those attributes that are given explicitly.
To restore the FMS default attributes for FIELD or TEXT statements, you can include an ATTRIBUTE_DEFAULTS statement without attributes.
Attributes specified in individual FIELD and TEXT statements override those specified in an ATTRIBUTE_DEFAULTS statement.
Action Routine specifications are additive and are always processed in the order specified. Action Routines specified in an ATTRIBUTE_DEFAULTS FIELD statement are processed by the Form Driver before Action Routines given in subsequent FIELD statements.
Tables 4-2 and 4-3 show valid attributes for the ATTRIBUTE_DEFAULTS statement.

Table 4-2: ATTRIBUTE_DEFAULTS FIELD Attributes

Attribute Name
ACTION_ROUTINE = 'name':'data' AUTOTAB BLANK_FILL BLINKING BOLD

FMSDefault
NOACTION NOAUTOTAB LEFT_JUSTIFIED NOBLINKING NO BOLD
(Continued on next page)

Form Language Translator - FMS/TRANSLATE 4-7

ATTRIBUTE-DEFAULTS

Table 4-2: (Cont.) ATTRIBUTE_DEFAULTS FIELD Attributes

Attribute Name
{Ri} CHARACTER-8ET = SETl SET2 CLEAR_CHARACTER ='char' DISPLAY _ONLY FIXED__DECIMAL HELP= 'help text' MUST_FILL NO ECHO RESPONSE_REQUIRED REVERSE RIGHT_JUSTIFIED SUPERVISOR_ONLY SUPPRESS UNDERLINE UPPERCASE ZERO_FILL

FMSDefault
current character set
blank NODISPLAY_ONLY LEFT_JUSTIFIED NOHELP NOMUST_FILL ECHO NORESPONSE_REQUIRED NOREVERSE LEFT_JUSTIFIED NOSUPERVISOR_ONLY NOSUPPRESS NOUNDERLINE NOUPPERCASE BLANK_FILL

Table 4-3: ATTRIBUTE_DEFAULTS TEXT Attributes

Attribute Name

FMSDefault

BLINKING
} BOLD
CHARACTER-8ET= { B~

REVERSE UNDERLINE

RULE SETl SET2

NOBLINKING NO BOLD current character set
NOREVERSE NOUNDERLINE

4-8 Form Language Translator - FMS/TRANSLATE

ATTRIBUTE-DEFAULTS

Example

ATTRIBUTE-DEFAULTS FIELD RIGHT_JUSTIFIED
UNDERLINE ACTION-ROUTINE

'CHKCHK';

FIELD NAME= 'AMTPAY'

(9t67) PICTURE= '9999.99'

RESPONSE-REQUIRED

CLEAR-CHARACTER= '*'

HELP= 'Enter amount of check'

ACTION_ROUTINE= 'RANGE'

: '1001 This bank doesn't issue such sMall checks. Send cash.'

FIELD NAME= 'MEMO'

<11 '11) PICTURE= 35'X'

LEFT _JUST! FI ED

NOACTION

HELP= '(Optional) A reMinder of whY You and Your Money are Partin~' ;

The ATTRIBUTE-DEFAULTS FIELD statement establishes RIGHT_JUSTIFIED, UNDERLINE, and the user ACTIQN_ROUTINE CHKCHK as the default attributes for subsequent FIELD statements. The first FIELD statement, in addition to the attributes specified explicitly in the statement, has these attributes defined. The field AMTPAY has two action routines defined for it: CHKCHK (first in the calling sequence) and RANGE (second in the calling sequence). Note that the second FIELD statement reestablishes LEFT_JUSTIFIED for the attribute (overriding the , RIGHT_JUSTIFIED specification in the ATTRIBUTE_DEFAULTS FIELD statement) and removes the action routine CHKCHK (also assigned in the ATTRIBUTE_DEFAULTS FIELD statement).

Form Language Translator - FMS/TRANSLATE 4-9

DRAW
4.2.2 DRAW Statement

Syntax

DRAW [ (Oine][,column]) [:([line][,column])] ] [video-attribute...] ;

line

Absolute or relative line position ofcoordinate.

column

Absolute or relative column position ofcoordinate.

video-attribute

Video attribute for a line or box selected from any or all of the following: Blink, Bold, Reverse, and Underline.

Description
The DRAW statement is used to specify lines or boxes in a form. On VTlOOs, lines and boxes specified with the DRAW statement will use the line-drawing (RULE) character set. On VT52s,' I 'is used for vertical lines,'-' for horizontal
lines, and '+ ' for corners and intersections. A single character results in a
vertical line.
Coordinates in the DRAW statement can be absolute or relative. The second coordinate is relative to and defaulted from the first coordinate in the DRAW statement.
The perimeter ofthe area defined by a DRAW statement must contain unused spaces, line-drawing characters, or video attributes; ifthe position is occupied by background text or fields, the DRAW statement is rejected as invalid during translation.
Iflines produced by DRAW statements intersect, an appropriate intersection character is inserted. If DRAW is used across lines with mismatched line attributes (normal size, double size, and double wide), an error is detected and no binary form is output during translation. If DRAW is used across lines with different video attributes, the last DRAW video attribute specification is used for the intersection.
Line-drawing characters may be assigned to the first line ofa scrolled area by referencing the first line of the scrolled area in the DRAW statement. A box may be drawn around a scrolled area by simply giving the coordinates for the rectangle.
To simplify line-drawing for scrolled areas, the Form Language ignores certain references in a DRAW statement to lines within a scrolled area. The rule for scrolled area draws is: vertical line segments in a DRAW statement may reference lines in a scrolled area other than the first if either of these conditions are met:
1. The line segment begins outside the scrolled area and includes the first line of the scrolled area.

4-10 Form Language Translator - FMS/TRANSLATE

DRAW
2. The line segment begins on the first line of the scrolled area. The extent of the line may be partially or entirely through the scrolled area.

Example

DRAW

<20t1ll) : (+3t80);

TEXT

<21 t15) 'To scroll through the checK registert Press &'UPARROW or DOWNARROW.' ;

TEXT

'To return to the Menut Press RETURN.'

This DRAW statement defines a box whose perimeter is line 20, column 14 through column 80; line 23, column 14 through column 80; line 20 through line 23, column 14; and line 20 through line 23, column 80. Note that the second coordinate's line specification is relative to the first line coordinate in the DRAW. The appropriate intersection characters are inserted automatically into character positions (20,14), (20,80), (23,14), and (23,80). The TEXT statements define background text inside the box.

Form Language Translator - FMS/TRANSLATE 4-11

END_Qf_FORM
4.2.3 END_OF_FORM Statement

Syntax

END_OF_FORM NAME= 'form-name';

form-name

Name of form as given in FORM statement.

Description
The END_OF_FORM statement marks the end ofa Form Description in a text file. Any text after the END_OF_FORM statement is ignored by the Form Language Translator. The form name specified in the END_OF_FORM statement must be the same as the name used in the FORM statement. Ifthe form name is different, a warning message is generated.

Example
ENO_DF-FDRM NAME='menu';

4-12 Form Language Translator - FMS/TRANSLATE

4.2.4 FIELD Statement

FIELD

Syntax
FIELD [NAME= 'field-name'] [([line][,column])] {PICTURE I TIME_FIELD I DATE_FIELD} = 'field-picture' [field-attribute...]

field-name line column field-picture field-attribute

Name of field being specified. Absolute or relative line position of field. Absolute or relative column position offield. Field picture for field being specified. Field attribute for field being specified.

Description
The FIELD statement is used to specify fields in a form. The field position can be specified using absolute or relative coordinates. Ifthe coordinate positions specified in a FIELD statement cause the field picture to overlap other text or fields, or go beyond the screen boundary, an error is signaled during translation and no form is output.
Ifyou omit the NAME= 'field-name' keyword parameter, the Form Language Translator assigns a sequential default name following the pattern F$nnnn.
Field pictures are described in Chapter 2. The field picture for DATE_FIELD and TIME_FIELD can only use the predefined pictures for FMS date and time fields (see Chapter 2). The repeat count cannot be used for date and time predefined picture specifications.
FIELD Attributes
You can list optional attributes after the field picture in the FIELD statement. Ifyou specify an attribute more than once, the Form Translator assigns the last attribute value encountered. For each attribute assignment, the Form Translator checks for valid attribute combinations (specified either in the FIELD statement or by an ATTRIBUTE-DEFAULTS FIELD statement).
Table 4-4 lists field attributes. See Chapter 2 for a description of each field attribute.
Rules for Specifying Indexed Fields
INDEXED fields are specified by listing the coordinate positions for the fields. The FIELD statement's coordinate specification is always index one if the INDEXED attribute is specified. The fields specified in the coordinate list following the INDEXED keyword are assigned an index value corresponding

Form Language Translator - FMS/TRANSLATE 4-13

FIELD

to the order they appear in the coordinate list. Note that an indexed field set can contain one or more fields.
The default visitation order for all fields in the form is left to right, top to bottom. The index value is not related to the visitation order. INDEXED fields may be ordered in the ORDER statement as any other field; the index value is used to identify the field.
Line attributes (normal, double-size, or double-wide) must be identical for all fields in an indexed set. If an INDEXED field is scrolled, all fields must be contained on the first line of the same scrolled area.

Table 4-4: FIELD Attributes

Attribute Name

ACTION_ROUTINE ='name':'data'

AUTOTAB

BLANK.FILL

BLINKING

BOLD

CHARACTER-8ET =

{R~} SETl SET2

CLEAR_CHARACTER ='char'

DEFAULT= 'value'

DISPLAY_ONLY

FIXED_DECIMAL

HELP='help text'
INDEXED [ =([line][,column])

[:{[line][,column])] ... ]

MUSTJ'ILL

NO ECHO

RESPONSE_REQUIRED

REVERSE

RIGHT_JUSTIFIED

SUPERVISOR_ONLY

SUPPRESS

UNDERLINE

UPPERCASE

ZEROJ'ILL

FMSDefault
NOACTION NOAUTOTAB BLANK_FILL NO BLINKING NO BOLD current character set
blank DEFAULT= 'blank' NODISPLAY_ONLY LEFT_JUSTIFIED NOHELP
NOMUST_FILL ECHO NORESPONSE_REQUIRED NO REVERSE LEFT_JUSTIFIED NOSUPERVISOR_ONLY NOSUPPRESS NO UNDERLINE NO UPPERCASE BLANK_FILL

4-14 Form Language Translator - FMS/TRANSLATE

FIELD

Examples
FIELD NAME= 'DATE'

(3t55) DATE_FIELD= '88-AAA-89';

FIELD NAME= 'DEPOSIT'

C7t42> PICTURE= '9888.88' HELP= 'Enter amount of deposit' FIXED-DECIMAL ;

FIELD NAME= 'SUMMARY'

(15t5G> PICTURE= '9898.98' INDEXED= (+1): Ct+O): () RIGHT_JUSTIFIED SUPPRESS ZERO_FILL CLEAR-CHARACTER= '0' ;

The first field, DATE, specifies a standard FMS date field, beginning on line 3, column 55. The field is DISPLAY_ONLY by default.

The second field, DEPOSIT, begins on line 7, column 42. It has for its picture 6 numeric characters, with an embedded decimal point. The fixed-decimal attribute is assigned for this field; the picture must be valid for this attribute assignment. Help text has also been assigned for this field.

The third field, SUMMARY, defines the four indexed fields, SUMMARY. SUMMARY (1) begins on line 15, column 56; SUMMARY (2) begins on line 16, column 56, SUMMARY (3) begins on line 17, column 56, and SUMMARY (4) begins on line 18, column 56. Note the three different yet equivalent ways used to specify 'next line, same column'. The Form Language defines the four fields identically: each has a 6 character numeric picture, and the attributes SUPPRESS, ZERQ_FILL, CLEAR-CHARACTER of zero, and RIGHT_JUSTIFIED.

Form Language Translator - FMS/TRANSLATE 4-15

FORM
4.2.5 FORM Statement

Syntax

FORM NAME = 'form-name' [form-attribute...] ;

form-name

Name of form.

form-attribute

Form attribute to be applied to entire form.

Description

The FORM statement is used to begin a form description, and specify formwide and line attributes. The FORM statement must precede all other Form Language statements. The Translator allows only one FORM statement per form description.

Double-size, double-wide, and highlight attributes can be specified more than once in a FORM statement. For these attributes, the last attribute does not override the previous ones, but instead is added to them. For example:

FORM NAME = 'activities' DBLSIZ = 8
DBLSIZ = 10

! Lines 8 and 8 are double size. ! Lines 10 and 11 are double size.

Form attributes are listed below (see Section 2.4.2 for a description of form attributes). The following attributes will override any previous attributes specified, with the exception of DBLSIZ, DBLWID, and HIGHLIGHT, which are additive.

AREA_TO_CLEAR =first-line: last-line

BACKGROUND = { CURRENT I BLACK I WHITE }

CHARACTER-SET = {US I UK I RULE I SETl I SET2}

DBLSIZ =line-number[: line-number]

DBLSIZ = BEGIN_WITH = line-numberEND_WITH =line-number

DBLWID = line-number[: line-number]

DBLWID = BEGIN_WITH = line-number END_WITH = line-number

FUNCTION-KEY_ACTION-ROUTINE = 'routine-name'[:'associateddata']

HELP_FORM = 'help-form-name'

HIGHLIGHT = video-attribute [:video-attribute]...

PREJIELP_ACTION-ROUTINE = 'routine-name'[:'associated-data']

POSTJIELP_ACTION-ROUTINE = 'routine-name'[:'associated-data']

WIDTH = {CURRENT I 80 I 132 }

4-16 Form Language Translator - FMS/TRANSLATE

FORM
Rules for Specifying Form and Line Attributes
For AREA_TO_CLEAR, the first line and last line must be in the range 0 to 23, and the first line must be less than or equal to the last line. Ifthe first line and last line are zero, no lines are cleared. IfAREA_TO_CLEAR is not specified, or if one or both of the line specifications is omitted or invalid, an error occurs, and default values of 1 and 23 are assigned for first line and last line respectively.
You can specify a user action routine more than once in the FORM statement. The Form Language Translator will override only the items specified. In the example below, a pre-help user action routine, HELPl, is defined with the associated data '12345'. The associated data '12345' is carried over from 'prehelp' to 'helpl.'

Examples
FORM NAME= I FORM 1 I PRE-HELP='prehelP': '12345' PRE_HELP='HELP1';

For DBLSIZ, the line numbers specified indicate a line or range of lines to be displayed as double size. Line number can be any value between 1 and 22, but the line number associated with BEGIN_WITH must be less than or equal to the line number for END_WITH. When specifying double size lines, the line numbers given must always specify the top of a double size pair. Double size lines can include text, fields, and graphics. If any of the lines specified have already been assigned a line attribute, an error results, and the new line attribute is not assigned.

For DBLWID, the line numbers specified indicate a line or range oflines to be displayed as double wide. Line number can be any value between 1and23, but the line number associated with BEGIN_WITH must be less than or equal to the line number for END_WITH. Double wide lines can include text, fields, and graphics. If any ofthe lines specified have already been assigned a line attribute, an error results, and the new line attribute is not assigned.

The HIGHLIGHT attribute specifies video attributes used at run time to highlight the field being accessed. The video attributes for highlighting are BLINKING, BOLD, CLEAR, REVERSE, and UNDERLINE.

FORM NAME=

'CHECK_DONE'

HELP_FORM= 'HELP-CHECK I

AREA-TO-CLEAR=

20:23

WIDTH=

CURRENT

BACKGROUND= CURRENT

CHARACTER-SET=

US

FUNCTIQN_KEY-ACTION_ROUTINE=

'PASSKY'

'110 112

' I

·

Form Language Translator - FMS/TRANSLATE 4-17

FORM
When the form CHECK_DONE is displayed, the Form Driver will clear lines 20 through 23 and display the form in the current screen mode for width and background. A character-set specification is included to force the current character set to be the US. The PASSKY user action routine is associated with the form as a function key UAR; the Form Driver will call this routine when any non-FMS function key is pressed. The help form HELP_CHECK will be displayed when the help form is requested for this form. No line attributes (DBLWID or DBLSIZ) were specified, so all the lines in the form will be normal. No highlighting was specified, so the Form Driver will not highlight the current field.
4-18 Form Language Translator - FMS/TRANSLATE

4.2.6 NAMED-DATA Statement

NAMED-DATA

Syntax

NAMEDJ)ATA INDEX= index [NAME= 'name'] [DATA= 'data'] [INDEX= index [NAME= 'name'] [DATA= 'data']]... ;

index Index value for Named Data item. An unsigned value between 1and60000.

name Name of Named Data item. Up to 31 characters long, can include any printable character.

data

Data for Named Data item. Up to 80 characters long, can include any printable character.

Description
The NAMED_DATA statement is used to specify Named Data for a form. Named Data is information associated with a form that is not displayed. Named Data can be used to contain form-dependent information for your application.
Each Named Data item must have a unique index, and you must provide either a name or data string for each index you specify. Although you can specify indexes in any order, all index values must be consecutive. If you assign nonconsecutive index values, the Form Translator will signal an error. Approximately 60,000 Named Data items can be specified in a single form description.
The Named Data name can be up to 31 characters long and include any printing character. Named Data names do not have to be unique. If no name is specified, a blank name is assumed.
The data part of a Named Data item specifies the data value to be associated with the index and name already provided. The data can be up to 80 characters long and include any printing character.

Examples
NAMED_OATA INDEX= 1 NAME= 'FIRST I DATA= '03' ;
NAMED-DATA INDEX= 2 NAME= I LAST I DATA= I 15 I ;
The NAMED_DATA statements define entries in Named Data. The program can access these values as run-time parameters. In the Sample Application, these Named Data entries are used to delimit the first and last lines of the check.

Form Language Translator - FMS/TRANSLATE 4-19

NAMED-DATA

The two NAMED_DATA statements could have been combined into one as follows:

NAMED-DATA INDEX= 1 INDEX= 2

NAME= 'FIRST' DATA= '03' NAME= 'LAST' DATA= '15'

4-20 Form Language Translator - FMS/TRANSLATE

4.2.7 ORDER Statement

ORDER

Syntax

ORDER [ BEGIN_WITH = visitation-order ] NAME= 'field-name[(index)]'... ;

visitation-order

Absolute order number for the field that begins the new order.

field-name

Name of next field in ordering.

index

Index value for next field in ordering if indexed.

Description
The ORDER statement is used to define the run-time Form Driver visitation order offields in a form. The default visitation order is from left to right, top to bottom. A form description can contain any number of ORDER statements. The following list gives the general rules for ORDER statements.
· You must use valid field names from previous FIELD statements.
· You must include the field index when specifying indexed fields in an ORDER statement.
· You must order at least two fields.
· The value given for visitation-order must be less than or equal tothe number of fields in the form.
· You can assign a visitation order only once.
· You can order each field only once.
· You must place ORDER statements after all FIELD statements.
· You must order all fields in a single scrolled area contiguously.
You can reorder a subset of the fields in a form by using the optional
BEGIN_WITH item. BEGIN_WITH = visitation-order specifies the abso-
lute order position for the first field in the new order sequence. If you do not use BEGIN_WITH, the first field named in the ORDER statement becomes the first field visited.
If a field is not specified in an ORDER statement, the field still has a visitation order assigned to it. The Form Language Translator first assigns visitation orders to each field specified in the ORDER statement, and then assigns an available visitation order to each of the unnamed fields according to the default (left to right, top to bottom).

Form Language Translator - FMS/TRANSLATE 4-21

ORDER

Example

SCROLL BEGIN-WITH= 8 END-WITH= 13 ;

FIELD NAME= 'NUMBER I

(8 12) PICTURE= 4'X' RIGHT _JUST! FI ED

FIELD NAME= 'DATE'

( 8 17) PICTURE= 'XX-XXX-XX'

FIELD NAME= 'PAYMEM'

(8117) PICTURE= 35 'XI ;

FIELD NAME= I DEPOSIT I

(8 154) PICTURE= 'XXXX.XX' RIGHT_JUSTIFIED
SUPPRESS ZERO-FILL CLEAR_CHARACTER= 'O'

FIELD NAME= 'AMTPAY'

(8163) PICTURE= 'XXXX.XX' RIGHT_JUSTIFIED
SUPPRESS ZERO_FILL CLEAR-CHARACTER= '0'

FIELD NAME= 'BALANCE'

(8 172) PICTURE= 'XXXX.XX' RIGHT_JUSTIFIED
SUPPRESS ZERO-FILL CLEAR_CHARACTER= 'O'

FIELD NAME= 'FAKE'

(8 180) PICTURE= 'XI NODISPLAY_ONLY NOECHO

FIELD NAME= 'SUMMARY'

(15158) PICTURE= '8888.88' INDEX= <16156) : <17156) : <18156) RIGHT_JUSTIFIED SUPPRESS ZERO-FILL CLEAR_CHARACTER= 'O'

ORDER

NAME= 'SUMMARY(1) I NAME= 'SUMMARY<Z> I NAME= 'SUMMARY(3) I
NAME= 'SUMMARY<4> 1 ;

ORDER BEGIN-WITH = 5 NAME= 'NUMBER' NAME= I DATE I
NAME= 'PAYMEM' NAME= I DEPOSIT I
NAME= 'AMTPAY' NAME= 'BALANCE' NAME= I FAKE I ;

The ORDER statements show ordering of scrolled area fields and indexed fields. Though this example shows two ORDER statements, the ordering could have been done with one ORDER statement. The first ORDER statement illustrates ordering of indexed fields. Note that the field is identified by its index. The second ORDER statement orders the fields within the scrolled area. The fields are ordered contiguously (in this case they are consecutively ordered, but that is not required). If no ORDER statement is used, the order for the fields would be: NUMBER, DATE, PAYMEM, DEPOSIT, AMTPAY, BALANCE, FAKE, SUMMARY(l), SUMMARY(2), SUMMARY(3), SUMMARY(4). The above ORDER statements have changed the order so that the full indexed field set is visited before the fields in the scrolled area.

The same order can be obtained in at least two other ways: by omitting the first order statement, or by omitting the second order statement. Both methods will result in the same ordering as above.

4-22 Form Language Translator - FMS/TRANSLATE

4.2.8 SCROLL Statement

SCROLL

Syntax

SCROLL BEGIN_WITH =first-line [END_WITH= last-line] ;

first-line

Specifies the number of the first line in a scrolled area.

last-line

Specifies the number of the last line in a scrolled area.

Description
The SCROLL statement is used to specify a scrolled area in a form. A scrolled area in a form is a window where the terminal operator can enter or display more data than will fit on the screen at one time.
Scrolled areas can contain one or more fields and background text. Lines in scrolled areas must have identical line attributes (normal size, double size, or double wide).
The line numbers given for first line and last line must be between 1 and 23. Also, the first line must be less than or equal to the last line. If you omit the last line specification, it will default to the same as the first line.
The Translator takes TEXT and FIELD statements you define for the first line of the scrolled area and repeats the fields and background text on each consecutive line in a scrolled area.
You must observe the following rules when defining a scrolled area with a SCROLL statement:
· Include at least one field in the first line of the scrolled area.
· Define fields or background text on only the first line of the scrolled area.
· Use the SCROLL statement before FIELD or TEXT statements defined for the scrolled area.

Form Language Translator - FMS/TRANSLATE 4-23

SCROLL

Example

! Note that all field definitions start on the first line of the ! scrolled areat lines.

SCROLL BEGIN-WITH= 8 END-WITH= 13 ;

DRAW

<7t1 > : < 14 t 78 > ;

! These definitions Provide the vertical lines in the scrolled area to ! intersect the lines Just above and below the scrolled areas.

DRAW DRAW DRAW DRAW DRAW

C7t8):(14tG); (7 t18): ( 14 t18); (7t53):(14t53); (7t82):(14t82); (7t71):(14t71);

FIELD NAME= 'NUMBER' (8 t2) PICTURE= a'}<' RIGHT_JUSTIFIED

FIELD NAME= 'FAKE'

(8t8(l) PICTURE= 'X' NODISPLAY_ONLY
NOE CHO

The SCROLL statement defines a scrolled area beginning on line 8 and ending on line 13. Two fields are assigned to it. The first DRAW statement defines a box around the scrolled area. The rest of the DRAW statements define a series of vertical lines through the scrolled area. Appropriate intersection characters are inserted at the vertical line intersections.

4-24 Form Language Translator - FMS/TRANSLATE

4.2.9 TEXT Statement

TEXT

Syntax

TEXT [ ([line][,column]) ]
'background-text' [attribute...] ;

line

Line number of text position.

column

Column number of text position.

background-text

Background text string to be placed at coordinate position specified.

attribute

Attribute for background text.

Description
The TEXT statement is used to specify background text in a form. You can specify the position ofbackground text using either absolute or relative coordinates. Ifany portion ofthe specified position is occupied, or goes beyond the boundaries ofthe screen, the translator issues an error and no form is output.
Table 4-5 lists attributes for background text. Video attributes are described in Chapter 2.

Table 4-5: Attributes for Background Text

Attribute Name

FMSDefault

BLINKING
={ } BOLD
CHARACTER_SET g~

REVERSE UNDERLINE

RULE SETl SET2

NO BLINKING NO BOLD current character set
NO REVERSE NO UNDERLINE

Form Language Translator - FMS/TRANSLATE 4-25

TEXT

TEXT

Example

(2t3)

'CHECK REGISTER - THE ACCOUNT HISTORY' BOLD ;

! Headins for the scrolled area <resister ProPer)

TEXT C5t2) 'Chk.

Deposit Check

New' ;

TEXT 'No. Date

Check PaYee or Deposit MeMo

AMount AMount Balance'

The first TEXT statement defines the header for the form. The text begins on line 2, column 3 and is displayed in bold video. If the FORM statement had contained a DBLWID = 2 attribute specification, the background text would be displayed as double wide.
The next two TEXT statements define a header for a table. They are defined for two consecutive lines. The text is spaced so that it is placed over the proper column (corresponding to the fields in the table). Since no attributes are defined, all the text will be displayed with normal video.

4-26 Form Language Translator - FMS/TRANSLATE

4.2.10 VIDEO Statement

VIDEO

Syntax

VIDEO [ (Oine][,column]) [:([line][,column])]] video-attribute... ;

line

Line number ofcoordinate position.

column

Column number ofcoordinate position.

video-attribute

Video attribute to be applied to area of form specified.

Description
The VIDEO statement is used to define the video display attributes ofan area of a form.
The line and column coordinates, which specify the boundaries of an area of the screen, can be absolute or relative. The second coordinate uses values from the first coordinate for relative and default assignments. You can default the first coordinate to the last line plus one and the last column. Ifthe values you specify for line or column are invalid, the Translator signals an error and no form is output.
At least one video attribute is required for each VIDEO statement. Attributes listed in DRAW, FIELD, TEXT, and other VIDEO statements will override attributes specified in a VIDEO statement.
The attributes for VIDEO statements are BLINKING, BOLD, REVERSE, and UNDERLINE.

Example
VIDEO C10t20):(+0t+50> BOLOt REVERSE;
The VIDEO statement defines line 10, column 20 through column 70 inclusive, to contain the video attributes bold and reverse. If subsequent definitions offield, text, or line-drawing characters overwrite any characters ofthe video definition, the characters overwritten take on only the video attributes defined in that statement.

Form Language Translator - FMS/TRANSLATE 4-27

4.3 FMS/TRANSLATE Command
To convert a form description into a binary form, use the FMS/TRANSLATE command.

Syntax

FMS/TRANSLATE [[NO]LISTING[ =file-spec]] file-spec [/[NO]OUTPUT[ =file-spec]] /WARNINGS= level /ERROR_LIMIT = n

file-spec

represents a file specification

level

represents one of the error message levels: ALL, INFORMATIONAL, ERROR, WARNING

n

represents the number of errors allowed before translation is aborted

Description
This command allows you to convert a form description to a binary form. In the command syntax illustration shown above, file-spec represents the following file specifications:
· A form description, when used as the input file
· A listing file, when used with the /LISTING qualifier
· A binary form, when used with the /OUTPUT qualifier

Qualifiers
/LISTING[= file-spec] /NOLISTING
Creates a translation listing. Use file-spec to specify a name for the listing file; if you do not specify this file, FMS uses the name of the input file and assigns an .LIS file type. The default when you use the FMS/TRANSLATE command interactively is /NOLISTING. The default when you use it in a batch job is /LIST. /NOLISTING does not create a translation listing.
/WARNINGS={ALL I INFORMATIONAL I ERROR I WARNING}
Specifies which level of error messages are to be reported. The qualifier value represents the minimum severity ]evel of messages reported. The levels are: ALL, INFORMATIONAL, ERROR, or WARNING. The default is ALL. For example, if you specify /WARNINGS= WARNING, the informational messages are not reported.
/ERROR...LIMIT = n
Specifies the number of errors allowed, represented by n, before the translation is aborted. The default limit is 20. The valid values for n are 0 through 255 (inclusive).

4-28 Form Language Translator - FMS/TRANSLATE

/OUTPUT[= file-spec] /NOOUTPUT
Specifies the name of the output file, which is the form file represented by file-spec. Ifyou do not specify file-spec, FMS uses the name of the input file and assigns a .FRM file type. /NOOUTPUT does not create an output file.

Examples
1. $ FMS/TRANSLATE MENU
In this example, a binary form is created from the form description MENU.FLG and is stored in the form file MENU.FRM.
2. $ FMS/TRANSLATE/WARNINGS=ERROR MENU/OUTPUr=TEST
In this example, a binary form is created from MENU.FLG and is stored in TEST.FRM; this command also specifies that only messages of severity ERROR and SEVERE are to be reported.
3. $ FMS/TRANSLATE/LIST=MENULIST MENU/NOOUTPUT
In this example, a listing file named MENULIST.LIS is created from the translation of MENU.FLG. The command also specifies that no output form file should be created.

4.3.1 Sample Translation Listing

Figure 4-2 shows a sample listing produced by the Form Language Translator. The listing prints out coordinates in the left margin to show the absolute coordinate values for relative coordinates in statements. At the bottom ofthe listing is a summary of errors, the time it took to translate the form description, and the command line processed.

5-0ct-1882 10:03:11 FMS Form Lanfuase Translator 2.2 30-SEP-1882 11:50:28 USER:[FMSJMENU.FLG;

0001 0002 0003 0004 0005 0006 0007 0008
0008
00 lC> 0011 0012
( 0 t 1)
0013 0014 0015 001 G
( 3 t 8)
001 7 0018 ( 7 t10)

MENU
! FMS VZ SAMPLE APPLICATION PROGRAM FORM ! MENU

FORM NAME=

'MENU'

HELP-FORM=

'HELP_MENU'

AREA_TO_CLEAR=

1:23

WIDTH= 80

BACKGROUND=

WHITE

DBLWID= 7

DBLSIZ= 3

FUNCTION_KEY-ACTION_ROUTINE='TAKE15'

TE>n (3t8) ' Checking Account Menu ' REVERSE
TE>n <7 t10> 'Choose option <1-5):'

(Continued on next page)

Form Language Translator - FMS/TRANSLATE 4-29

0019 0020 0021 0022 0023 0024 0025 0026 7 ,31)
0027 0028 9t27) 0029 < 11 ,27 > 0030 (13t27)
0031 <15 ,27 >
0032 < 11 ,27 >
0033 0034 (23tll8)
0035 0036 ( 21 ,50)
0037 (22t50)
0038 0039

FIELD NAME= 'OPTION' <7t31> PICTURE= '9' HELP=
'Enter one of the numbers 1, 2, 3, 4, or 5' DEFAULT= '2'
ACTIQN_RQUTINE= 'VALID1 I : '123l15' RESPONSE-REQUIRED UNDERLINE
TEXT (9 t27) I 1 Exit' ; TEXT <11 ,27 > '2 Write a check' ; TEXT (13t27) '3 Ma Ke a deposit' ; TEXT ( 15 t27> 'Lt View the checK re!tister' TEXT <11 ,z7 > '5 Show account data' ;
DRAW ( 20 ,49) <23t80)
TEXT (21 t50) 'For helPt Press HELP.' ; TEXT (22t50) 'To continue, Press KeYPad 15.'
END_QF_FORM NAME= 'MENU' ;

End of translation 5-0ct1882 10:03:13 38 lines were parsed. No errors were detected.

Elapsed time is 0.61 seconds.

FMS/TRANSLATE USER:[FMSJMENU.FLG; /LIST = USER:[FMSJMENU.LIS; /OUTPUT=USER:[FMSJMENU.FRM;
Figure 4-2: Sample Translation Listing

4-30 Form Language Translator - FMS/TRANSLATE

Chapters Form Librarian - FMS/LIBRARV

The Form Librarian is the utility that manages form libraries. Putting forms in form libraries makes the forms available to the Form Driver and your application program at run time. You can also make them available by making them memory resident. Memory-resident forms are described in Chapter 6.

When the application requires the use of a form at run time, the Form Driver reads the form directly from a form library file that has been stored on a disk. You do not link the form library with the application, but you do name the form library in a Form Driver call. Storing forms in form libraries makes it easy to change and manage forms. You do not need to relink the application every time you change one or more forms; relinking would be necessary ifyou used memory-resident forms. You can store all your forms in one place. Also, when you use form libraries instead ofmemory-resident forms, the size ofthe application program image is smaller.

The Form Librarian offers a variety of operations that can be performed on form libraries:

· Create a library

FMS/LIBRARY/CREATE

· Insert a form in a library

FMS/LIBRARY/INSERT

· Replace a form in a library

FMS/LIBRARY/REPLACE

· Extract a form from a library FMS/LIBRARY/EXTRACT

· Delete a form from a library FMS/LIBRARY/DELETE

The following paragraphs introduce the Form Librarian capabilities and Sections 5.1through5.5 describe the various commands in detail. Chapter 1 describes DCL command syntax in general.

The create operation makes a new library file and puts one or more binary forms in it. If you want to put an additional form in an existing library, use the insert operation. Ifyou want to exchange one version ofa form in a library with a newer version of the same form, use the replace operation. Replace removes the old version of the binary form and replaces it with the new version. The extract operation copies a binary form from the library and puts it

~1

in a form file. The delete operation removes a form altogether. Note that the Form Editor can copy a binary form from a library and make it available for modification.
WARNING When the Form Librarian updates a form library file, it does not create a new output form library file. Instead, it updates in place, without changing the form library file's version number. For this reason, you may find it helpful to keep copies of old forms, which would otherwise be destroyed by a replace or a delete operation. The Form Application Aids FMS/DIRECTORY command produces directories ofform files and form libraries. Refer to Chapter 6 for information on the Form Application Aids. You can run the Form Librarian on any type of terminal, video or hard copy.
~2 Form Librarian-:-- FMS/LIBRARY

5.1 FMS/LIBRARY/CREATE Command
To create a form library, use the FMS/LIBRARY/CREATE command.

Syntax

FMS/LIBRARY/CREATE [l[NO]LOG] form-library-spec form-spec-list

form-library-spec represents a file specification for a form library

form-spec-list

represents a list of one or more form-specs separated by commas

form-spec

represents any one of the following file specifications: form-file-spec, form-library-spec, form-library-spec/FORM_NAME =form-name, or form-library-spec/FORM_NAME =(form-name-list)

Description
In the command syntax illustration shown above, form-library-spec represents the file specification of the form library file you wish to create. FMS assigns a .FLB file type to the form library file specification by default. The parameter form-spec-list represents a list of input files· (form files, partial form libraries, or whole form libraries) containing forms that you wish to insert in the form library you are creating. FMS assumes an .FRM file type for input file specifications by default, unless you specify /FORM_NAME (in which case FMS assumes a default file type of .FLB). The input cannot contain forms with duplicate names. The Form Librarian skips to the next form in the input if it reads a duplicate form name. Figure 5-1 illustrates the create operation.

Qualifiers
/LOG /NOLOG
The /LOG qualifier logs completed actions on the terminal. The /NOLOG qualifier is the default.

Example
$ FMS/LIBRARY/CREATE/LOG SUBSET MENUtACCOUNTS.FL8tCHECKING/FOR"·<REGISTERtDEPOSIT>
In this example, the form library SUBSET.FLB is created. The form in the form file MENU.FRM, all the forms in the form library ACCOUNTS.FLB, and the forms REGISTER and DEPOSIT in the form library CHECKING.FLB, are inserted in SUBSET.FLB. Also, the /LOG qualifier is used to provide logging ofthe action on the terminal.

Form Librarian - FMS/LIBRARY 5-3

Form files

CH KOON.FAM

HCHECK.FAM

HKEYS.FAM

HWLCOM.FAM

MENU.FAM

WELCOM.FAM

HDPSIT.FAM

ACTDAT.FAM

HACTDT.FAM

CHECK.FAM

DPOSIT.FAM

AEGIST.FAM

HMENU.FAM

$FMS/LIBAAAY/CAEATE SAMP.FLB MENU.FAM, WELCOM.FAM,... Form library file

librar9 F"SV2:CTEST.F"SlSA"P.FLB;14, created: 28-0CT-1982 12:36

Date and ti·e of last Modification: 28-0CT-1982 12:36

For· naMe

Creation date/ti·e Workspace size <b9tes>

ACCOUNT_DATA CHECK CHECK_DONE DEPOSIT HELP_ACCOUNT.JlATA HELP-CHECK HELP-DEPOSIT HELP-KEYS HELP-"ENU HELP_WELCO"E
"ENU REGISTER WELCO"E

28-0CT-1982 12:35

899

28-0CT-1982 12:36

1173

28-0CT-1982 12:36

68

28-0CT-1982 12:36

508

28-0CT-1982 12:36

52

28-0CT-1982 12:36

44

28-0CT-1982 12:36

46

28-0CT-1982 12:36

32

28-0CT-1982 12:36

44

28-0CT-1982 12:36

46

28-0CT-1982 12:36

165

28-0CT-1982 12:36

992

28-0CT-1982 12:36

68

Figure 5-1: Creating a Form Library

ZK-1825-84

5-4 Form Librarian - FMS/LIBRARY

5.2 FMS/LIBRARY/INSERT Command
To insert a form in a form library, use the FMS/LIBRARY/INSERT command.

Syntax

FMS/LIBRARY/INSERT [/[NO]LOG] form-library-spec form-spec-list

form-library-spec represents a file specification for a form library

form-spec-list

represents a list of one or more form-specs separated by commas

form-spec

represents any one ofthe following file specifications: form-file-spec, form-library-spec, form-library-spec/FORM_NAME =form-name, or form-library-spec/FORM_NAME =(form-name-list)

In the command syntax illustration shown above, the parameter form-library-spec represents the file specification of the existing form library in which you wish to insert a form. If you do not supply a file type, FMS assumes .FLB by default. The parameter form-spec-list represents a list of input files (form files, partial form libraries, or whole form libraries) containing forms you wish to insert. If you do not supply a file type, FMS assumes .FRM by default, unless you specify /FORM_NAME (in which case, FMS assumes .FLB by default).

Ifyou try to insert a form that is already in a library, an error is signaled and the form is not inserted. The operation continues ifthere are other forms to be processed. If forms in the input files have duplicate names, an error is signaled and only the first of the forms with the same name will be inserted.

Qualifiers
/LOG /NOLOG
The /LOG qualifier logs completed actions on the terminal. /NOLOG does not log completed actions. The /NOLOG qualifier is the default.

Example
$ FMS/LI6RARY/INSERT SUBSET WELCOMEtHELPFORMS/FORM=HWELCOMEtSU6FORMS.FL6
In this example, the form in the form file WELCOME.FRM, the form HWELCOME in the form library HELPFORMS.FLB, and all the forms in the form library SUBFORMS.FLB are inserted in the form library SUBSET.FLB.

Form Librarian - FMS/LIBRARY 5-5

5.3 FMS/LIBRARY/REPLACE Command
To replace a form in a form library, use the FMS/LIBRARY/REPLACE command.

Syntax

FMS/LIBRARY/REPLACE [/[NOJLOG] form-library-spec form-spec-list

form-library-spec represents a file specification for a form library

form-spec-list

represents a list of one or more form-specs separated by commas

form-spec

represents any one of the following file specifications: form-file-spec, form-library-spec, form-library-spec/FORM_NAME =form-name, or form-library-spec/FORM_NAME =(form-name-list)

Description
This command allows you to replace a form in a form library. In the command syntax illustration shown above, form-library-spec represents the file specifications of the form library file in which you are replacing a form. FMS assumes a .FLB file type for the form library file specification by default. The parameter form-spec-list represents a list of input files (form files, partial form libraries, or whole form libraries) containing forms that you wish to replace in the form library. FMS assumes a .FRM file type for input file specifications by default, unless you specify /FORM_NAME (in which case, FMS assumes a default file type of .FLB). When you use this command, FMS replaces the form in the form library with form of the same name, which is contained in the input files. If an input form name does not match a form name already in the library, the input form is simply inserted. If more than one input file contains a form with the same name, the last such form is put in the library. If you do many delete and replace operations, the size of the library continues to grow. You can compress the library by creating a new version.
Note that /REPLACE is the default Form Librarian operation. That is, if you specify the FMS/LIBRARY command, FMS assumes FMS/LIBRARY/ REPLACE by default.
WARNING
The Form Librarian updates form libraries in place. Therefore, the forms that are in the library, and that you are replacing, are destroyed. If you want to keep copies of forms that you replace, use the extract operation before replacing.

5-6 Form Librarian - FMS/LIBRARY

Qualifiers /LOG /NOLOG The /LOG qualifier logs completed actions on the terminal. /NOLOG does not log completed actions. The /NOLOG qualifier is the default. Example
$ FMS/LIBRARY MULTITERM TESTStSUBSET/FORM=TERMINAL
In this example, forms TEST5 and TERMINAL in the form library MULTITERM.FLB are replaced by newer versions ofthe forms from the form file TEST5.FRM and the form library SUBSET.FLB.
Form Librarian- FMS/LIBRARY 5-7

5.4 FMS/LIBRARY/EXTRACT Command
To extract a form from a form library, use the FMS/LIBRARY/EXTRACT command.

Syntax

FMS/LIBRARY/EXTRACT [/[NO]LOG] form-library-spec/FORM_NAME =form-name [l[NO]OUTPUT[ =file-spec]]

form-library-spec represents a file specification for a form library

form-name

represents a form name

file-spec

represents a file specification

Description
In the command syntax illustration shown above, the parameter form-library-spec represents the file specification of the form library from which you wish to extract a form. If you do not supply a file type, FMS assumes .FLB by default. The parameter form-name represents the name of the form you wish to extract. The parameter file-spec represents the file specification of the file in which you wish the extracted form to be stored. If you do not supply a file type, FMS provides .FRM by default. If you do not specify the /OUTPUT qualifier, FMS uses the form name as the default output file name, with a file type of .FRM. If the form name is longer than nine characters or contains the characters$ or_, these characters are removed and the name is truncated to nine characters.
Note that the extract operation only extracts a copy of the form from the library. It does not delete the form from the library.

Qualifiers

/LOG /NOLOG

The /LOG qualifier logs completed actions on the terminal. The /NOLOG

qualifier is the default.

·

/OUTPUT[= file-spec] /NOOUTPUT
The /OUTPUT qualifier specifies the output file in which you wish the extracted form to be stored. Ifyou do not supply a file specification, FMS provides the name of the extracted form and assigns a .FRM file type. The I NOOUTPUT qualifier specifies that no output file is to be created.

Example
$ FMS/LIBRARY/EXTRACT SU8SET/FORM-NAME=REGISTER/OUTPUT=REGISTER1
In this example, form REGISTER is extracted from the form library SUBSET.FLB and stored in the output form file REGISTERl.FRM.

5-8 Form Librarian - FMS/LIBRARY

5.5 FMS/LIBRARY/DELETE Command
To delete a form from a form library, use the FMS/LIBRARY/DELETE command.

Syntax

FMS/LIBRARY/DELETE [/[NO]LOG] form-library-spec/FORM_NAME =(form-name-list)

form-library-spec represents a file specification for a form library

form-name-list

represents a list of one or more form-names separated by commas

Description
In the command syntax illustration shown above, the parameter form-library-spec represents the file specifications of the form library from which you wish to delete a form. Ifyou do not supply a file type, FMS assumes .FLB by default. The parameter form-name-list represents a list of the names of the forms that you wish to delete.
Only one form library can be specified on a command line. If forms specified for deletion are not in the library, the Form Librarian signals an error but continues processing if other forms are specified. The delete operation does not reclaim file space in the library. Ifyou do many delete and replace operations, the size of the library continues to grow. You can compress the library by creating a new version.
WARNING
The Form Librarian updates form libraries in place. Therefore, the forms that you delete are destroyed. If you want to keep copies offorms that you delete, use the extract operation before deleting.

Qualifiers
/LOG /NOLOG
The /LOG qualifier logs completed actions on the terminal. The /NOLOG qualifier is the default.

Example
$ FMS/LIBRARY/DELETE SAMP/FORM_NAME=<REGISTERtHELP_MENU>
In this example, the forms REGISTER and HELP_MENU are deleted from the form library SAMP.FLB.

Form Librarian - FMS/LIBRARY 5-9

Chapter 6 Form Application Aids

The Form Application Aids utility offers some services that are useful during the application program development cycle. These services include:

· Obtaining form descriptions · Obtaining a directory of form files
and libraries · Creating memory-resident forms · Creating object modules of user
action routine vectors

FMS/DESCRIPTION FMS/DIRECTORY
FMS/OBJECT FMSNECTOR

The following paragraphs introduce Form Application Aids capabilities and Sections 6.1 through 6.4 describe each command in detail. Chapter 1 describes the DCL command syntax in general.

The Form Application Aids utility can provide four basic types ofdescriptions of forms:

1. A brief description contains summary information about a form, its fields, its Named Data, and its user action routines. It is a valuable reference tool during program development.

2. A declarations file for FMS data fields is similar to COBOL data divisions or DATATRIEVE record definitions.

3. A full text description ofa form consists ofForm Language statements and is suitable for input to the Form Language Translator (see Chapter 4).

4. A printable image shows background text and any field default values.

The FMS/DIRECTORY command produces either a brief or full directory of form files or form libraries.

You can create a linkable file of memory-resident forms by using the FMS/OBJECT command. Once you have created binary forms, you must put them in form libraries or make them memory resident. Either operation makes the binary forms available to the Form Driver and your application program at run time. You may prefer some ofthe advantages of memory-resident forms. Because you link memory-resident forms with the application program, they are brought into memory when the program is brought in.

6-1

Since a form library directory does not have to be searched, access to forms by the Form Driver or the application is faster than if the forms were stored in libraries. Memory-resident forms also save you from having to manage additional pieces of the application; that is, form libraries. · In order to make use ofuser action routines, you must link with your program an object module containing the names and vectors of all the routines to be called. The Form Driver can use these vectors to locate user action routine addresses in memory at run time. You generate such an object module by using the FMSNECTOR command.
6-2 Form Application Aids

6.1 FMS/DESCRIPTION Command
To obtain a description of a form or of all forms in a library file, use the FMS/DESCRIPTION command.

Syntax

FMS/DESCRIPTION

{ ~:~&.RATIONS /FULL

}

/DISPLAYJMAGE[ = [NO]ESCAPE_SEQUENCE]

/[NO]LOG

/[NO]OUTPUT[ =file-spec]

form-spec-list

form-spec-list represents a list of one or more form-specs separated by commas

form-spec

represents any one ofthe following file specifications: form-file-spec, form-library-spec, form-library-spec/FORM..NAME =form-name, or form-library-spec/FORM..NAME =(form-name-list)

Description
In the command syntax illustration shown above, the parameter form-spec-list represents one or more input file specifications (form files, partial form libraries, and whole form libraries). If you do not supply a file type, FMS assumes .FRM by default, unless you specify /FORM_NAME (in which case, FMS assumes .FLB by default). The qualifier value file-spec represents the file specification ofthe output file for the description. The default file type FMS provides is discussed in the following sections. The qualifiers /FULL, /BRIEF, /DISPLAY_IMAGE, and /DECLARATIONS are mutually exclusive and cannot be used in the same command line. Ifyou do not specify a qualifier, FMS assumes /FULL by default. The default output file name is the same as the first input file name.

Qualifiers
/BRIEF
Produces a brief text description of a form. Ifthe /OUTPUT qualifier is used, FMS provides a .LIS default file type. If/OUTPUT is not specified, output is sent to the terminal.
The brief description contains a concatenated list of descriptions in table format, including the following information:
Form name Help form name Area to clear Memory-resident form size Field names Scrolled fields Number of indexed fields

Form Application Aids 6-3

Length and type of field picture Type of access (Display-Only Supervisor-Only) Total length required for fields (except in scrolled areas) Longest field Named data indexes and names User action routine names
The total length and longest length are the size of the buffer required for concatenated field calls.
The Memory Resident Form Size indicates the number ofbytes that would be required in a user program if the form were to be converted into a Memory Resident form and LINKed into the application program. This does not indicate the size ofa workspace, but the size of the form which is currently being examined.
If you process two or more forms, the brief description includes a summary with the following information:
Required length for any one form being processed (not including fields in scrolled areas)
Largest field size Largest scrolled line length Largest scrolled area in lines Number offorms processed
/DECLARATIONS
Produces a declarations file for FMS data fields similar to COBOL data divisions or DATATRIEVE record definitions. (See Figure 6-2.) The default output file type is .TXT.
Declaration files must be edited to suit your application's requirements. They list a form's name, field names, and indexed field names. FMS does not check for invalid names when you use this command. Fields are listed in the order that the Form Driver processes them. The /DECLARATIONS qualifier defines all fields in a form as "x" datatype regardless of the type defined originally.
Scrolled areas are not defined in the declaration file; if a form contains only scrolled fields, the output contains only the form name.
FMS tries to treat sets of indexed fields that look like tables as tables. FMS assumes that two consecutive sets of indexed fields with an equal number of indices comprise a table and FMS generates declarations accordingly.
A form without fields generates a blank output file. If.you generate a declara~ tion file of all the forms in a library, only those forms with fields are included in the output file.
6-4 Form Application Aids

/FULL Produces a full text description of the forms in the input files. This text description, consisting of Form Language statements, is suitable for input to the Form Language Translator. However, the Form Translator can process only one form description at a time. Therefore, if you input more than one form, split the output text file into separate files for each form. This is the default FMS/DESCRIPTION qualifer. The default output file type is .FLG. Figure 6-3 shows a sample full description. /DISPLAY_IMAGE[= [NO]ESCAPE_SEQUENCE]] Produces a printable image of a form. The ESCAPE_SEQUENCE value for the /DISPLAY_IMAGE qualifier produces an image that includes VTlOO video escape sequences. The NOESCAPE_SEQUENCE value, the default value for this qualifier, produces an image with no video information. The default output file type is .LIS. Figure 6-4 shows a printed image of a form and Figure 6-5 shows a video image. /LOG /NOLOG The /LOG qualifier logs completed actions on your terminal. The /NOLOG qualifer is the default. /OUTPUT[= file-spec] /NOOUTPUT Specifies the output file in which the description is to be stored. If you do not use file-spec, FMS uses the name of the first input file. The /NOOUTPUT qualifier specifies that no output file is to be created.
Form Application Aids 6-5

FMS ForM DescriPtion APPlication Aid
ForM NaMe = REGISTER No Help ForM
Area to Clear = 1:23
MeMorY Resident ForM Size = 1634
Field NaMe <Max Index>

- v2.2 -

Brief Description

Pic<Lenfth) Access UARs

N-U-M--B-ER------ Scrolled Area -----------
DATE PAYMEM DEPOSIT AMT PAY BALANCE FAKE --- 6 Lines with Line Lenfth 65

X<4> X<7> X<35> X<S> X<S> X<S> X< 1)

SUMMARY

( 4)

9(6)

Total Lenfth Required 24
Lonfest Field = 35

NaMed Data

NSCROL

User Action Routines

PAS SKY

Figure 6-1: Brief Description

A f o r111:
EMPLOYEE:
TYPE OF SALE NUMBER OF SALES
RETAIL: WHOLESALE:
OTHER:
TOTAL:
The data descriPtion file:

DOLLARS
$ ----·-$ _____ · __

DISP DISP DISP DISP DISP DISP
DISP

01 EMPLOYEE-SALES. 05 EMPLOYEE 05 FMS_TABLE-1 OCCURS 3 TIMES.
10 NUMBER-OF-SALES 10 TOTAL
05 TOTAL-NUMBER-OF-SALES 05 TOTAL-DOLLAR-AMOUNT

PIC X<ZO>.
PIC X(5). PIC X<S>. PIC X<S>. PIC X<7> ·

Figure 6-2: Data Description File

6-6 Form Application Aids

FMS Form Description APPlication Aid Version V2.2
FORM NAME='DEPOSIT' HELP_FORM='HELP_DEPOSIT' AREA_TO_CLEAR=1:23 WIDTH=BO BACKGROUND=CURRENT FUNCTION_KEY_ACTION_ROUTINE='PASSKY' : I 110 /

TEXT c1 ,32 > 'MAKE A DEPOSIT I BOLD

TEXT (3,49) 'Date:'

TEXT c5,22> 'Current Balance $'

TEXT (7,22) 'Deposit

$I

TEXT cs,22> 'New Balance

$I

TEXT <12,22> 'Memo:'

ATTRIBUTE-DEFAULTS FIELD CLEAR-CHARACTER=' I
NOAUTOTAB BLANK_FILL NOBLINKING NOBOLD NOREVERSE
NOUNDERLINE NODISPLAY-ONLY ECHO NOFIXED-DECIMAL LEFT_JUSTIFIED NOSUPERVISOR-ONLY NOSUPPRESS NOUPPERCASE

FIELD NAME='DATE' (3,55) DATE_FIELD='SS-AAA-99' DISPLAy_ONLY
FIELD NAME='CURBAL' (5,42> PICTURE='SSSS.99' RIGHT_JUSTIFIED ZERO-FILL SUPPRESS DISPLAY-ONLY CLEAR_CHARACTER='O'

FIELD NAME='DEPOSIT' (7,42) PICTURE='9889.99' HELP='Enter amount of dePosit' FIXED-DECIMAL ZERO-FILL RESPONSE-REQUIRED CLEAR_CHARACTER='O' UNDERLINE
FIELD NAME='NEWBAL' (9,42> PICTURE='9999.99' RIGHT_JUSTIFIED ZERO-FILL SUPPRESS DISPLAY-ONLY CLEAR_CHARACTER='O'
FIELD NAME='MEMO' c12,2a> PICTURE=35'X' HELP='Enter the orifin of the deposit' RESPONSE-REQUIRED UNDERLINE

ORDER BEGIN-WITH = 1 NAME='DATE'
NAME='CURBAL' NAME='DEPOSIT' NAME='NEWBAL' NAME='MEMO'

NAMED-DATA INDEX=l NAME='DONE' DATA='DePosit made. Press RETURN or ENTER to continue.'
END-OF-FORM NAME='DEPOSIT' ;
Figure 6-3: Full Description

Form Application Aids 6-7

F0rm: DPOSIT

l

2

3

4

5

6

7

8

1?34~678901?34567890t?34567R90l?34567R90t?34567890t?34567890t?34567R90t?34567890

--------------------------------------------------------------------------------

11

MAKF. A nu·ns IT

11

21

12

31 41 51 61 71
81
9

13

14

15

16

$ 0000.00

17

18

$

19

1.0

I :10

11.

111

l.2

Memo!

112

13

113

1.4

114

15

115

1.6

116

17

117

18

118

19

11.9

20

l?O

21

I? 1

22

127

23

In

--------------------------------------------------------------------------------

1?345678901?34567R90l?345678901?343678901?34567R901?343678901?315678901?34367R90

1

2

3

4

5

t.

7

8

ZK-1829-84

Figure 6-4: Printed Image of a Description

HAKE ADEPOSIT

Date: 04-0CT-82

Carrent Balance $

leposit ll!w Balance

·~
$

FDl'll: DEPOSIT

Figure 6-5: Video Image of a Description

ZK-1830-84

6-8 Form Application Aids

6.2 FMS/DIRECTORY Command
To obtain a directory of a form file or form library, use the FMS/DIRECTORY command.

Syntax

FMS/DIRECTORY [{/BRIEF}] form-spec-list [/[NO]OUTPUT[ =file-spec]] /FULL

form-spec-list represents a list of one or more form-specs separated by commas

· form-spec

represents any one ofthe following file specifications: form-file-spec, form-library-spec, form-library-spec/FORM_NAME =form-name, or form-library-spec/FORM_NAME =(form-name-list)

file-spec

represents a file specification

Description
In the command syntax illustration shown above, the argument form-spec-list represents a list of input files (form files, partial form libraries, or whole form libraries). If you do not supply a file type, FMS assumes .FLB by default. If/OUTPUT is not specified, output goes to the terminal. The qualifiers /FULL and /BRIEF are mutually exclusive and cannot be used in the same command line. The default is /BRIEF. The default output file type is .LIS. The default output file name is the same as the first input file name.

Qualifiers
/BRIEF
Displays a summary directory listing showing only form names that exist within the specified file(s).
/FULL
Displays a full directory listing showing the form name, creation date and time, and workspace size for each form in the file.
The workspace size is considerably smaller than the form size since, currently, background text is not stored in the workspace. The value passed in the "Size" argument to the FDV$AWKSP call need not be precise, as the form driver allocates the space it requires dynamically. The size reported by the FMS/DIRECTORY/FULL command can be used as the workspace size when calling FDV$AWKSP to allocate memory for the workspace.
Figure 6-6 shows a sample full form file directory listing and Figure 6-7 shows a sample full form library directory.

Form Application Aids 6-9

/OUTPUT[= file-spec] /NOOUTPUT
The /OUTPUT qualifer specifies that an output file is to be created. The /NOOUTPUT qualifier specifies that no output file is to be created.
Example
$ FMS/DIRECTDRY/FULL THISLIB/OUTPUT=LIBRDIR
In this example, a full directory listing of the form library file THISLIB.FLB is produced. The directory listing is to be stored in the output file LIBRDIR.LIS.

$ f.s/dir/fu deposit.fr·

For1 Application Aids Y2.0 9-DEC-1982 09:53

File USER:CFllSTEST.lllL27XIO.AllllDEPOSIT.FRlt;l

For1 na1e

Creation date/ti· Workspace si:ze <b!ltes>

DEPOSIT
s I

28-0CT-1982 12:3&

508

\
Figure 6-6: Full Form File Directory

ZK-1831-84

6-10 Form Application Aids

For· Application Aids V2.0 9-DEC-1982 09:58

Librar9 USER:CFltSTEST."BL27X10.ANNJSAllP.FLB;14, created: 28-0CT-1982 12:36

Date and ti1e of last IKJdification: 28-0CT-1982 12:36

Fol"I na1e

Creation date/ti1e Workspace size <t>stes>

ACC1111T..DATA CIECK CIECUllE DEPOSIT HELP..ACCOlllT..DATA t£LP_Cl£CK
HELP..DEPOSIT HELP..KEYS tELP..ll:llJ HELP_WELCM
Ell
REeISTER
·WELCOllE

28-0CT-1982 12: 35

899

28-0CT-1982 12:36

1173

28-0CT-1982 12:36

68

28-0CT-1982 12:36

508

28-0CT-1982 12:36

52

28-0CT-1982 12:36

44

28-0CT-1982 12:36

46

28-0CT-1982 12:36

32

28-0CT-1982 12:36

44

28-0CT-1982 12:36

46

28-0CT-1982 12:36

165

28-0CT-1982 12:36

992

28-0CT-1982 12:36

68

Figure 6-7: Full Form Library Directory

ZK-1832-84

Form Application Aids 6-11

·
6.3 FMS/OBJECT Command
To create a memory-resident form or forms, use the FMS/OBJECT command (see Figure 6-8).

Syntax

FMS/OBJECT /[NO]LOG form-spec-list /[NO]OUTPUT[ =file-spec]]

form-spec-list represents a list of one or more form-specs separated by commas

form-spec

represents any of the following file specifications: form-file-spec, form-library-spec, form-library-spec/FORM_NAME =form-name, or form-library-spec/FORM_NAME =(form-name-list)

file-spec

represents a file specification

Description
In the command syntax illustration shown above, the parameter form-spec-list represents one or more input file specifications (form files, partial form libraries, and whole form libraries). If you do not supply a file type, FMS assumes .FRM by default, unless you specify /FORM_NAME (in which case, FMS assumes .FLB by default). The parameter file-spec, when used with the /OUTPUT qualifier, represents the file specification of the memory-resident output file. If you do not supply a file type, FMS assumes .OBJ by default. The default output file name is the same as the first input file name.
To determine how much space to allocate when you create arrays to load memory-resident forms, refer to the brief form description produced by the FMS/DESCRIPTION/BRIEF command.

Qualifiers
/LOG /NOLOG
The /LOG qualifer logs completed actions on the terminal. The /NOLOG qualifier suppresses logging of completed actions (the default qualifier).
/OUTPUT[= file-spec] /NOOUTPUT
The /OUTPUT qualifier specifies the file specification ofthe output file. Ifyou do not supply the file specification, FMS uses the name of the first input file and assigns a .OBJ file type. The /NOOUTPUT qualifier specifies that no output file is to be created.

6-12 Form Application Aids

Examples 1. $ FMS/OBJECT TERMCHECK
In this example, the memory-resident form named TERMCHECK.OBJ is created from the input form file TERMCHECK.FRM.
2. $ FMS/OBJECT SAMP/FORM-NAME=<WELCOMEtREGISTERtCHECK>IOUTPUT=CHECKFORM
In this example, a memory-resident form file CHECKFORM.OBJ is created from the input forms WELCOME, REGISTER, and CHECK, which are in the form library SAMP.FLB.

Form files WELCOM.FRM

Object module

$FMS/MEMORY _ R E S I D E N T. . .

$LINK ...

MAIN MEMORY Program

Form Driver
Memoryresident forms

Figure 6-8: Creating Memory-Resident Forms

ZK-18??-84

Form Application Aids ~13

6.4 FMS/VECTOR Command
To create a user action routine (UAR) vector module, use the FMSNECTOR command (see Figure 6-9).

Syntax

FMSNECTOR /[NO]LOG form-spec-list /[NO]OUTPUT[ =file-spec]]

form-spec-list represents a list of one or more form-specs separated by commas

form-spec

represents any one ofthe following file specifications: form-file-spec, form-library-spec, form-library-spec/FORM_NAME =form-name, or form-library-spec/FORM_NAME =(form-name-list)

file-spec

represents a file specification

Description
In the command syntax illustration shown above, the parameter form-spec-list represents one or more input file specifications (form files, partial form libraries, and whole form libraries). If you do not supply a file type, FMS assumes .FLB by default. The qualifier value file-spec represents the file specification ofthe output file for the vector module. Ifyou do not supply the file specification for the /OUTPUT qualifier, FMS uses the name ofthe first input file and assigns a .OBJ file type.

Qualifiers
/LOG /NOLOG
The /LOG qualifer logs completed actions on the terminal. The /NOLOG qualifier suppresses logging of completed actions (the default qualifier).
/OUTPUT[= file-spec] /NOOUTPUT
The /OUTPUT qualifier specifies the file specifications of the output file. If you do not supply the file specification, FMS uses the name of the first input file and assigns a .OBJ file type. The /NOOUTPUT qualifier specifies that no output file is to be created.

Examples
1. $ FMS/VECTOR EXEMPTION,FRM/OUTPUT=EXEMVEC In this example, the UAR vector module named EXEMVEC.OBJ is created from the UARs in the input form file EXEMPTION.FRM.
2. $ FMS/VECTOR THISLIB In this example, the UAR vector module named THISLIB.OBJ is created from the UARs in all forms from the input form library THISLIB.FLB.

6-14 Form Application Aids

Form files

$FMS/VECTOR ...

Object module $LINK ...

MAIN MEMORY Program

$RUN ...

UARs
ZK-1834-84
Figure ~9: Creating Object Modules of UAR Vectors

Form Application Aids 6-15

Chapter 7 Form Tester - FMS/TEST
The Form Tester is the utility that allows you to display a form as an application program would, to type data into fields, and to display field help. The Form Tester does not require a VTl00- or VT200-compatible terminal - you can use a VT52 terminal. You can test forms created by either the Form Editor or the Form Language Translator. The Form Editor (described in Chapter 3) also lets you test forms during its Test phase. You can test forms stored in either form files or form libraries. You can display field help by pressing HELP. You can see help forms if they are in the same form library as the form you are testing. The Form Tester displays any fatal Form Driver error messages. However, certain nonfatal Form Driver error conditions are ignored. You can see these messages when they occur if you assign Form Driver Debug mode before you test the form. See the VAX FMS Form Driver Reference Manual for more information on the Form Driver. The Form Driver errors listed in Table 7-1 are ignored by the Form Tester in certain cases. When testing a form with the AUTOTAB attribute in the last field visited in the form, the cursor remains on the last character and the message "no next field on form" is displayed. When using FMS/TEST (and the TEST phase of the Form Editor), the field's help text is not displayed if the user has specified pre-help user action routines.Post-help user action routines prevent the no help available message from being displayed.
7-1

Table 7-1: Form Driver Errors Ignored by the Form Tester

Error Code
FDV$_UDE FDV$_UAR FDV$_UNF FDV$_UTR FDV$__FCH FDV$__FNM FDV$__FLD FDV$_NOF FDV$J)SP

Meaning
UAR Depth exceeded(-33) UAR returned illegal code (-34) UAR specified but not found (-35) Undefined field terminator (-17) Form library is not open on channel (-7) Specified form does not exist (-9) Field does not exist, or index value is invalid for field (-11) Form contains no fields (-12) Form contains only display-only fields (-13)

Figure 7-1 shows a form displayed by the Form Tester.
Note that the Form Tester always runs with supervisor mode on. Therefore, all fields having the Supervisor-Only attribute are treated as display-only fields.
The FMS/TEST command, described in section 7.2, invokes the Form Tester.

7.1 Terminal Setup

FMS now has alternate character sets, double size and double wide lines, ruling characters, and AST re-entrancy. In addition, FMS now can display several forms on the screen simultaneously. FMS now requires more complete control of the terminal to handle the additional screen characteristics than FMSVldid.
FMS Vl queried the terminal directly for terminal type, options (such as the Advanced Video Option), and current screen characteristics. This operation did not allow type-ahead; you could not enter commands or data while FMS was preparing for form· display.
To allow type-ahead, FMS now queries the operating system for terminal attributes and screen characteristics. Type the following VMS command to make sure that VMS knows your terminal attributes and screen characteristics before running your application:
$ SET TERMINAL/INQUIRE (@')

The operating system queries your terminal, and records its characteristics. Do not type ahead until the operation is complete. you might consider putting the SET TERMINAL/INQUIRE command in your login command file.

At any time you can type the following VMS com:r,nand to display the characteristics of the current terminal:

$ SHOW TERMINAL

(@')

If your terminal characteristics differ from those the operating system has recorded, your FMS application may not perform correctly. FMS also expects that the ANSLCRT and DEC_CRT attributes are set appropriately. See the VAX/VMS Command Language User's Guide for details on terminal characteristics.

7-2 Form Tester - FMS/TEST

7.2 FMS/TEST Command
To test a form you have created, use the FMS/TEST command.

Syntax

FMStrEST {form-file-spec

} [/[NOJQUIETJ

form-library-spec/FORM_NAME =form-name

form-file-spec

represents a file specification for a form file

form-library-spec represents a file specification for a form library

form-name

represents a form name

Description
In the command syntax illustration shown above, the parameters form-file-spec and form-library-spec are mutually exclusive and cannot be used in the same command line. The parameter form-file-spec represents the file specification of the binary form file you wish to test. If you do not supply a file type, FMS assumes .FRM by default. The parameter form-library-spec represents the file specification of the form library in which the form that you wish to test exists. If you do not s~pply a file type for form-library-spec, FMS assumes .FLB by default. The parameter form-name represents the name of the form you wish to test.

Qualifiers
/QUIET /NOQUIET
The /QUIET qualifier invokes the Form Driver quiet signaling mode. The /NOQUIET qualifier, the default qualifier, invokes normal signaling mode.

Example
$ FMS/TEST SUBSET/FORM_NAME=MENU/QUIET
The example tests the form MENU, which exists in the form library SUBSET.FLB. The /QUIET qualifier is used to invoke the quiet signaling mode.

Form Tester - FMS/TEST 7-3

Checkin Account Menu
Choose option <1-5>: R
Exit 2 Write a check 3 Hake a deposit 4 View the check register 5 Show account data
For help, press HELP. To continue, press k1!9pad 1-5.

Figure 7-1: Form Tester Displaying a Form

ZK-1835-84

7-4 Form Tester - FMS/TEST

Chapter 8 TOMS to FMS Form Converter - FMS/CONVERT
The Terminal Data Management System (TDMS) to FMS Form Converter is a new component of FMS which will take an existing TDMS form from the Common Data Dictionary (CDD) and output an FMS form. The Form Converter will be used by TDMS users who wish to transfer their existing TDMS forms to FMS. The Form Converter will only run on the VAX series of computers. It is not dependent on any particular type of peripheral device. It does, however, require the following software components: · VAXTDMS · VAXCDD This chapter describes the TDMS to FMS Form Converter in detail. Section 8.1 describes the functions performed as well as features the converter does not support. The FMS/CONVERT command invokes the Form Converter. This command requires one parameter: The CDD path name for the name of the TDMS form. FMS/CONVERT command has two optional qualifiers - /LOG and /OUTPUT. Section 8.2 describes the FMS/CONVERT command and its parameters and qualifiers. Section 8.3 shows a listing of a TDMS form, the FMS/CONVERT command syntax used to convert that form, and a full description of the resulting FMS form.
8.1 TOMS to FMS Form Converter Functions
8.1.1 Functions Performed The Form Converter accepts a valid TDMS form that is stored in the CDD as a CDD$FORM (i.e., with a CDD protocol ofCDD$FORM) with a CDD core level of2. The Form Converter will output a valid FMS form file (assuming the /NOOUTPUT qualifier is not used). It will also output informational messages to the SYS$ERROR device.
8-1

Assuming the /NOOUTPUT qualifier is not used and the TDMS form is valid, this product will always attempt to output an FMS form file, regardless ofthe presence of any TDMS features that are not supported by FMS.
8.1.2 TOMS Features Not Supported by FMS The TDMS to FMS Form Converter will ignore the following TDMS features that are contained in the TDMS form being converted (appropriate informational messages will be issued to the user if the /LOG qualifier is specified see Appendix A for the messages that will be issued): · Help form path name · Form field datatypes · Field validators:
- Range - Choice - Size - Check digit · Scale factors In addition, the Form Converter will modify the following field attribute combinations to make them compatible with FMS: · Zero Suppress, Zero Fill and Right Justify set. The fill character will be set to zero. · Zero Suppress set but Zero Fill and Right Justify not set. The Zero Suppress attribute will be removed. · Zero Suppress and Right Justify set but Zero Fill not set. The Zero Fill attribute is set. · Zero Suppress and Zero Fill set but Right Justify not set. Both Zero Suppress and Zero Fill attributes are removed. · Zero Fill set and Clear Character is not 0. The Clear Character is set to zero.
8-2 TDMS to FMS Form Converter - FMS/CONVERT

8.2 FMS/CONVERT Command
To convert a TDMS form from the CDD to an FMS form, use the FMS/CONVERT command.
Syntax
FMS/CONVERT CDD-path-name [/[NO]LOG] [/[NO]OUTPUT[ =file-spec]] CDD-path-name represents the CDD path name for the name of the TDMS form to be
converted to an FMS form file.
Description In the command syntax illustration shown above, CDD-path-name is the only parameter accepted. It is the CDD path name for the name ofthe TDMS form. If the path name contains any characters other than those allowed in VMS file s pecifications and/or logical names, then the path name must be enclosed in quotes. This includes CDD passwords and the CDD hyphen character. Normal CDD defaulting rules apply to the path name. The CDD path name is required.
Command Qualifiers /LOG The /LOG qualifier will cause the Form Converter to display logging information on the default SYS$ERROR device. This logging information will consist of success messages telling the name of the TDMS form being converted and the name of the output form file (if any). Ifthe default, /NOLOG, qualifier is given, this logging information will not be output. Informational messages for any TDMS features being ignored by the Form Converter will always be output whether the /LOG qualifier is specified or not.
/OUTPUT= file-spec The /OUTPUT qualifier causes a form file to be created. Ifa file-spec is specified with the qualifier, that file specification will be the name of the output form file. The default file type will be .FRM. If a file-spec is not specified, the filename ofthe form file will be the object name ofthe TDMS form and the file type will be .FRM. The NOOUTPUT qualifier does not create a form file.
TDMS to FMS Form Converter - FMS/CONVERT &-.a

8.3 Conversion Example

This example illustrates how the FMS/CONVERT command converts a TDMS form into an FMS form. In this example you will see a listing of a TDMS form which was created using the Form Definition Utility (FDU), the FMS/CONVERT command syntax and output, and a full description of the converted FMS form file. The following figure illustrates the output from the FDU LIST FORM command:

ForM naMe:

FCV_EXAMPLE

ForM Path naMe:

CDD$TOP.STANSBURY.FCV_EXAMPLE

HelP forM naMe:

HelP forM Path naMe:

Besinnins line nuMber:

1

Last line nuMber:

12

ForM screen width:

80

Date/tiMe forM was stored in COD:

21-MAR-1884 16:05:36.71

Hishlisht attributes:

BOLD, REVERSE,

Field Access Order List: Field naMe

SubscriPt

FIRST_NAME
LAST-NAME SOCIAL-SECURITY_NUMBER TELEPHONE"-NUMBER

FORM IMAGE

1

2

3

4

5

6

7

8

12345678801234567880123456788012345678801234567880123456788012345678801234567880

1

1

2

2

3

3

4

4

5

5

6

6

7

7

8

NaMe: XXXXXXXXXX XXXXXXXXXXXXXXXXXXX

8

8

8

10

Social Security: 888-88-8888

10

11

11

12

Telephone: (888)6888-8888

12

13

13

14

14

15

15

16

16

17

17

18

18

18

18

20

20

21

21

22

22

23

23

12345678801234567880123456788012345678801234567880123456788012345678801234567880

1

2

3

4

5

6

7

8

FIELD DEFINITIONS

8131 Field naMe: Field lensth: Field Picture type: Field datatype: Fill character: Clear character: Field helP text: DisPlaY attributes:

FIRST_NAME 10 ALPHANUMERIC TEXT
Please enter the first naMe

(Continued on next page)

8-4 TDMS to FMS Form Converter - FMS/CONVERT

Field na111e: Field lenHh: Field Picture tYPe: Field datatYPe: Fill character: Clear character: Field helP text: Attributes assi~ned: DisPlaY attributes:
10t31 Field na111e: Field lenHh: Field scale factor: Field Picture tYPe: Field datatYPe: Fill character: Clear character: Field helP text: Attributes assi~ned: DisPlaY attributes:
12t31 Field na111e: Field lenHh: Field scale factor: Field Picture type: Field datatype: Fill character: Clear character: Field helP text: Attributes assi~ned: DisPlaY attributes:

LAST_NAME
18
ALPHANUMERIC TEXT
Please enter the last naMe RESPONSE REQUIREDt
SOCIAL-SECURITY_NUMBER
8 0
UNSIGNED NUMERIC UNSIGNED NUMERIC
'O I 10 I
Please enter the social security nu111ber AUTOTABt RESPONSE REQUIREDt
TELEPHONE-NUMBER 10
0
UNSIGNED NUMERIC UNSIGNED NUMERIC
10 I 10 I
Please enter the telePhone nu111ber MUST FILLt RESPONSE REQUIRED,

Figure 8-1: TDMS List of the FCVEXAMPLE Form

Figure 8.2 shows the command syntax used to convert the form into an FMS form, and the output from that command:
$ FMS/CONVERT/LOG/OUTPUT COO$TOP.STANSBURY.FCV_EXAMPLE
lFMS-S-COO_EXTRACTINGt Extractin~ TOMS forM FCV-EXAMPLE froM the COO. lFMS-1-DATATYPE-IGNROt Datatype i~nored on field FIRST_NAME1 1.FMS-1-DATATYPE-IGNROt Oatatype i~nored on field LAST_NAME, lFMS-I-DATATYPE-IGNROt DatatYPe i~nored on field SOCIAL-SECURITY-NUMBER. %FMS-I-SCALEFCTR_IGNROt Scale factor i~nored on field SOCIAL-SECURITY_NUMBER. lFMS-I-DATATYPE-IGNROt DatatYPe i~nored on field TELEPHONE_NUMBER. %FMS-l-SCALEFCTR_IGNRDt Scale factor i~nored on field TELEPHONE-NUMBER. lFMS-S-FRM_OUTPUTt TOMS forM successfully extracted into WORK$:CSTANSBURYlFCV_EXAMPLE.FRM1.
Figure 8-2: Converting the Form

If logging is turned on using the LOG qualifier, at least one logging message for the datatype of each field will be issued.
The following command will give you a complete description ofthe converted FMSform.
$ FMS/DESCRIPTION/FULL FCV_EXAMPLE.FRM
Figure 8.3 shows the full description of the FMS form file.

TDMS to FMS Form Converter - FMS/CONVERT 8-5

FMS Form OescriPtion APPlication Aid Version V2.2
FORM NAME='FCV_EXAMPLE' AREA_TO-CLEAR=1:12 WIDTH=BO 6ACKGROUNO=CURRENT HIGHLIGHT=BOLD:REVERSE
TEXT (8 t2S> 'Name:'
TEXT (10t14> 'Social SecuritY:'
TEXT (12t20> 'TelePhone:'
ATTRIBUTE-DEFAULTS FIELD CLEAR-CHARACTER=' I NOAUTOTA6 BLANK-FILL N06LINKING NOBOLD NOREVERSE NOUNOERLINE NODISPLAY-ONLY ECHO NOFIXED_DECIMAL LEFT_JUSTIFIED NOSUPERVISOR_ONLY NOSUPPRESS NOUPPERCASE
FIELD NAME='FIRST-NAME' <Bt31) PICTURE=lO'X' HELP='Please enter the first name'
FI ELD NAME= I LAST _NAME I ( 8 t 42) PICTURE=19'X ,. HELP='Please enter the last name' RESPONSE-REQUIRED
FIELD NAME='SOCIAL-SECURITY_NUM6ER' (10t31> PICTURE='999-99-9999' HELP='Please enter the social security number' AUTOTA6 ZERO-FILL RESPONSE-REQUIRED CLEAR-CHARACTER='O'
FIELD NAME='TELEPHONE-NUMBER' (12t31> PICTURE='<999)6999-9999' HELP='Please enter the telephone nuMber' ZERO-FILL MUST-FILL RESPONSE-REQUIRED CLEAR_CHARACTER='O'
ORDER BEGIN-WITH = 1 NAME='FIRST_NAME' NAME='LAST-NAME' NAME='SOCIAL-SECURITY-NUM6ER' NAME='TELEPHONE_NUM6ER'
END-OF-FORM NAME='FCV_EXAMPLE' ;
Figure 8-3: Full Description of the FMS Form File
8-6 TDMS to FMS Form Converter - FMS/CONVERT

Chapter 9 Upgrading V1 Application Programs
The Form Upgrade Utility is used to convert Vl form files and form libraries to V2 format. The following paragraphs discuss the necessary process for upgrading to FMS V2. Section 9.2 describes the Form Upgrade Utility. Section 9.3 describes the process for linking your applications, and Section 9.4 describes the FMS/UPGRADE command and its qualifiers in detail. Ifyou have already installed VAX FMS V2, and have upgraded your Vl form files and form libraries to V2, you will not have to upgrade again. Ifyou have not upgraded to FMS V2, use the following two-step procedure to upgrade your application programs. 1. Upgrade Vl form files and form libraries to run properly with upgraded
application programs. Use the Form Upgrade Utility to convert Vl form files and form libraries to V2 form files and form libraries (as described in sections 9.1and9.2). 2. Relink your application programs (as described in Section 9.3).
9.1 Upgrading V1 Form Files and Form Libraries
The Form Upgrade Utility converts Vl form files and form libraries to V2 format. Some exceptions are discussed in the following paragraphs. Before you ma~e any modifications, read Chapter 3 ofthe VAX FMS Installation Guide and Release Notes to ensure that you make a consistent set of changes. The Form Upgrade Utility replaces duplicate and blank field names in a Vl form with default field names in the equivalent V2 form, and issues messages indicating what default names have been assigned. The default field names have the following format:
F$nnnn 'nnnn' is a number string from 0001to9999.
9-1

V2 field and form names conform to the VAX Common Data Dictionary naming conventions. Names that contain illegal characters are not modified by the Form Upgrade Utility. For more details, refer to Chapter 2. Upgraded Vl forms that have text in scrolled areas will not scroll the text off the screen, as the equivalent Vl forms did. Instead, the text will remain in the scrolled area. The Form Upgrade Utility issues a message when such forms are upgraded.
V2 utilities that generate forms also validate forms according to V2 definitions. Therefore, you cannot use the V2 Form Editor to edit a form without conforming to V2 definitions. Similarly, Form Language files are validated by the Form Language Translator according to V2 definitions.
9.2 Using the Form Upgrade Utility
The Form Upgrade Utility converts Vl form descriptions to V2 format and stores them in V2 form files or form libraries. The converted file has the· same file specification as the Vl equivalent, but it has a higher version number. The default input file extension is .FLB. To avoid confusion, DIGITAL recommends that you use the /OUTPUT qualifier to specify a different output file name.
NOTE
DIGITAL recommends that you make backup copies of Vl form files and form libraries before using the Form Upgrade Utility.
9.3 Linking Existing Application Programs to the V2 Form Driver
After you upgrade Vl form files and form libraries, you must link your application programs with the V2 Form Driver. Application programs linked with the Vl Form Driver shareable image must be relinked with the V2 Form Driver. You may have to edit the command procedures that build your application program, since the V2 Form Driver is a shareable image. Any references to the Vl Form Driver object library will cause an error. The FMS installation places the shareable image in the system's default shareable image library. The VAX linker resolves references to the Form Driver so you do not need to reference the Form Driver shareable image in link commands as you may have had to in Vl.
Use the following command format to link the appropriate Form Driver modules with your application program.
$ LINK file-spec (8Dl
Example
$ LINK SAMP 1SMPl.JECTDR, SMPMEMRES (8Dl
9-2 Upgrading Vl Application Programs

9.4 FMS/UPGRADE Command
To convert Vl form descriptions to V2 format use the /UPGRADE command. Syntax
FMS/UPGRADE [VI file-spec][IOUTPUT[ = V2 file-spec]] /[NO]LOG
VI file-spec represents form library or form file to be converted
Description In the command syntax illustration shown above, VI file-spec represents the form library or form file to be converted to V2 format. Ifthe Vl input filespec is a form library, it is converted to the specified V2 form library. Ifthe Vl input file-spec is a form file, it is converted to the specified V2 form file. Ifyou specify an output file that already exists, the Form Upgrade Utility creates the next highest version number ofthe file. You can convert only one form file or one form library at a time while using FMS/UPGRADE.
Qualifiers /LOG /NOLOG The /LOG qualifier displays a confirmation message for every form that is successfully upgraded. The /NOLOG qualifier suppresses the display ofa confirmation message for files that are successfully upgraded. The /NOLOG qualifier is the default FMS/UPGRADE qualifier.
NOTE
Vl form files or form libraries that have been altered by any means other than the Vl Form Editor cannot be quaranteed successful conversion to V2.
Upgrading Vl Application Programs 9-3

Chapter 10 FMS V1 Compatibility

The Vl Form Editor has been replaced by a new enhanced Form Editor. Section 10.1 describes the new Form Editor.
There are· two new components that replace the FMS Vl Form Utility: the Form Librarian and the Form Application Aids. The Form Librarian creates and modifies the form libraries that your application uses. The Form Application Aids are a group of programming tools to aid you in developing your application. Section 10.2 describes these components in detail. Section 10.2.1 describes the comparison of Vl Form Utility options and V2 commands.
Section 10.3 describes how to use FMS Vl after FMS V2 has been installed on your system.

10.1

Form Editor

The V2 Form Editor is a forms driven interactive editor. The Form Editor Menu provides a choice of seven major functions that the Form Editor supports. The Form Editor functions have been completely redefined for V2. A list of these functions, with a brief description of each, follows:

Form Layout

Assign form attributes Create or modify a form

Assign Data

Assign field attributes Enter Named Data items

Order

Modify field access order

Test

Test the form with the Form Driver

Exit

End this editor session

10-1

10.1.1 Keyboard Layout-Form Editor Keys
The function keys that are active in the Form Editor phase are shown in the following figure. To use the function on the upper part of a key, press that function key. To use the function on the lower part of a key, use a GOLD key sequence.

ALL PHASES

RETURN

Terminates display of current form (in Layout, moves cursor to next line)

DELETE

Deletes previous character

LINEFEED

Deletes field contents (in Layout, moves cursor down one line in same column)

TAB

Moves cursor to next field (in Layout,

moves cursor to next fixed tab stop)

BACKSPACE

Moves cursor to previous field (in Layout, moves cursor to previous character position)

GOLD Q

Reverses current error signaling move

GOLD R

Restores original field values (except in Layout)

CTRL/R

Refreshes the screen

GOLD/DELETE Terminates a Gold Sequence

GOLD n GOLD D GOLD T GOLDS GOLDW CTRL/U

LAYOUT PHASE ONLY Repeats a key or operation n times Creates a date field Creates a time field Makes current line double size Makes current line double wide Deletes to beginning of line

GOLD C
GOLD t
GOLD-!,

ORDER PHASE ONLY Restores conventional field access order
TEST PHASE ONLY Exits to previous field from scrolled area Exits to next field from scrolled area
ZK-1630-84

Figure 10-1: Form Editor Keys 10--2 FMS Vl COMPATIBILITY

ZK-1629-84

10.2 Form Utility
The operations performed by the Vl Form Utility are performed by two components in V2. These components are the Form Librarian and the Form Application Aids. The Form Librarian creates and modifies the form libraries that your application accesses at run time. The Form Librarian performs the following operations: · Creates libraries from form files and other form libraries or partial form
libraries · Deletes forms from libraries · Extracts copies of forms from libraries · Inserts forms into libraries · Replaces forms in libraries The Form Application Aids are a group of programming tools to aid you in developing your application. These tools are listed below. · FMS/DESCRIPTION produces
- a summary of a form - a form description - a data definition - a printable image - a video image of a form · FMS/DIRECTORY displays a directory of one or more form files or form libraries. · FMS/VECTOR generates an object module containing a User Action Routine vector. · FMS/OBJECT generates an object module of concatenated forms that you can link with an application program to create memory-resident forms.
FMS Vl COMPATIBILITY 10-3

10.2.1 Comparison of V1 Form Utility Options and V2 Commands
The following table shows the Form Utility options and the corresponding V2 commands and qualifiers.

Table 10-1: Comparison of VI Form Utility Options and V2 Commands

Option /BA
ICC
/CR /DE /EX
/FD

Description
Controls form description block alignment in a form library
Creates a COBOL form description
Creates a form library
Deletes forms from libraries
Extracts forms from libraries to create a form library
Creates a listing of a form description

/FF

Extracts a form file from a form

library

/HE

Displays FUT HELP

/ID

Displays FUT identification

/LI

Creates a form directory

!OB

Creates object modules of forms

for PDP-11 systems

/RP

Replaces forms in libraries

/SP

Controls spooling to line printer

Commands and Qualifiers
Not supported in V2
FMS/DESCRIPTION/DECLARATIONS
FMS/LIBRARY/CREATE FMS/LIBRARY/DELETE FMS/LIBRARY/CREATE
FMS/DESCRIPTION/BRIEF FMS/DESCRIPTION//FULL FMS/DESCRIPTION/DISPLAY _IMAGE= NOESCAPE _)SEQUENCE FMS/LIBRARY/EXTRACT
HELPFMS Not applicable FMS/DIRECTORY/BRIEF FMS/DIRECTORY/FULL FMS/OBJECT
FMS/LIBRARY/REPLACE Not applicable

10.2.2 FMS/DESCRIPTIONS/DECLARATIONS COBOL/DATATRIEVE Data Description
The FMS/DESCRIPTION/DECLARATIONS command produces a data description of a form that can be used in a COBOL data division or in a DATATRIEVE record definition.
The format of the data description used in a COBOL data division or in a DATATRIEVE record definition has completely changed for FMS V2. Vl has ,,· two variables defined for each field; one variable for the field name, ·and one variable for the data. V2 defines only the data variable.
Vl variable names are built from a prefix, a form name, and a field name. V2 variable names are built from the field name only. COBOL programmers can use literals in the procedure division when referencing fields. Below is a section of a Vl data description that appeared in Section 3.5.3.3 of the Vl VAX

10-4 FMS Vl COMPATIBILITY

FMS Software Reference Manual that shows the format of the FUT/CC output. The data description has a field named "PARTNO" in a form named "PARTS."
01 FORM-PARTS-DEF 03 FORM-PARTS PIC XCB> VALUE "PARTS". 03 N-PARTS-PARTNO PIC XCB> VALUE "PARTNO". 03 D-PARTS-PARTNO PIC XC9>.
In V2, the FMS/DESCRIPTION/DECLARATIONS command produces the same data description in the following format:
01 PARTS 05 PARTNO PIC XC9>.
In most cases, the output can be used without modification; however, in the case of scrolled or indexed fields, you may have to edit the output. Ifyou modify an upgraded Vl form, and you want to create a new data definition to reflect the changes, you must also modify the variable names in the new data definition to match the variable names in the rest ofthe application.
Scrolled Fields In Vl, scrolled fields are included in the data definition and are noted in the comments. The V2 data definition works for the general formwide field calls. In the V2 data definition, all scrolled fields are ignored. They are not defined or listed in the FMS/DESCRIPTION/DECLARATIONS output, and there are no corresponding messages to indicate that scrolled areas have been ignored.
Indexed Fields The FMS/DESCRIPTION/DECLARATIONS command determines if an index field group is part of a table. A table is defined as follows: the first element of an indexed field is followed, in access order, by another first element of an indexed field that contains the same number of indexes. Only the first element of the indexed set is checked for access order; all other elements of the indexed set are ignored. In the following example of a form description, the first elements of the indexed fields NUMBER_OF_SALES, and DOLLARS are sequential in access order. Both groups have three elements. Therefore, the indexed fields are defined as a table in the data definition.
FMS Vl COMPATIBILITY 10-5

Example Fo r1T1

EMPLOYEE:

TYPE OF SALE NUMBER OF SALES DOLLARS

RETAIL: WHOLESALE:
OTHER:
TOTAL:

$ ----·-$ _____ · __

Example Declaration

01 EMPLOYEE-SALES. 05 EMPLOYEE 05 FMS_TABLE_1 OCCURS 3 TIMES+ 10 NUMBER_OF_SALES
10 DOLLARS 05 TOTAL_NUMBER_OF_SALES
05 TOTAL_DOLLAR-AMOUNT

PIC X<ZO),
PIC X<5>. PIC X<G>. PIC X<G>. PIC X<7>.

10.3 Installing VAX FMS V2 with VAX FMS V1 Present on the System
The VAX FMS V2 installation procedure makes provisions for systems that have VAX FMS Vl installed. This affects two categories of users:
1. Users who have a version of ALL-IN-1 that requires VAX FMS Vl
2. Users who wish to ease migration to VAX FMS V2
VAX FMS Vl is left intact on the system. The VAX FMS V2 installation procedure makes the following changes to avoid any conflict between the two versions:
· All references to FMS Vl are deleted from STARLET.OLB.
To use FMS Vl, you can link programs with FDVLIB.OLB in the directory SYS$LIBRARY. Programs that are already linked with FDVLIB.OLB will run correctly.
· The Form Driver shareable image, FDVSHR.EXE, in the directory SYS$LIBRARY, is renamed to FDVSHR.OLD. The option file used to link with the shareable image is renamed to FDVSHARE.OLD.
If you wish to continue using the FMS Vl shareable image, move FDVSHR.OLD from the directory SYS$LIBRARY to another account and rename it to FDVSHR.EXE.

Examples
$ COPY SYS$LIBRARY:FDVSHR.OLD SYS$SYSTEM:FDVSHR.EXE
To access the shared image, assign FDVSHR.EXE, with the associated device and directory specification, to the logical FDVSHR.
$ ASSIGN SYS$SYSTEM:FDVSHR FDVSHR

10--6 FMS Vl COMPATIBILITY

Appendix A VAX FMS Software Messages

This appendix lists VAX FMS software messages that are displayed when you use FMS utilities or run a program that uses FMS.
FMS messages are grouped and listed alphabetically in the following three sections:
1. FMS Utilities Messages describe each message that might occur when using FMS commands at DCL level or within each utility.
2. Form Driver Messages for Programmers describe each message that might occur during program debugging.
3. Form Driver Messages for Terminal Operators describe messages that might occur at run time in programs that use FMS.

A.1 Message Format

FMS messages displayed at DCL level generally have the following format:

%FMS-ident, text [-FMS-L-ident, text]

FMS

Is the FMS facility code.

L

Is a severity level indicator of the following values:

Code

Meaning

S

Success

I

Information

W

Warning

E

Error

F

Fatal, or severe error

A-1

Success and information messages display information on the performed operation(s). An operation can be a Form Editor function, a Form Language statement, Form Library operation. Form Application Aid operation, or a Form Driver call.
Warning messages indicate that the operation performed may have been partially completed but that you may have to check to see that it was completely performed.
Error messages indicate that the output or program result is incorrect, but FMS may attempt to continue execution.
Fatal or severe messages indicate that FMS cannot continue execution of an operation. Ident
Is an abbreviation of the message text. The messages under each of the following sections are alphabetized according to this abbreviation. Text A description of what happened.
FMS messages displayed within the Form Editor are displayed without a facility identification. Only a textual message is displayed on the bottom line of the terminal.
A.2 Messages for Programmers
Programmers see the following types of FMS messages:
· FMS utilities messages
· Form Driver messages
FMS utilities messages are displayed on the SYS$ERROR and SYS$0UTPUT devices iferrors occur while you are using any ofthe utilities or if you specify commands with the /LOG qualifier. The messages are in simple textual format and are described in detail in this appendix in the FMS Utilities Messages section.
Form Driver messages are displayed on the terminal when a program that uses FMS is being executed. These messages enable you to minimize or completely eliminate program-related error messages. These messages are described in detail in the section on Form Driver Messages for Programmers.
A.3 Messages for Terminal Operators
When terminal operators run programs that use FMS, the Form Driver displays messages on the bottom line of the current terminal or the default terminal associated with the program. You can also provide messages for terminal operators by using the FDV$PUTL call (see the VAX FMS Form Driver Reference Manual).
A-2 VAX FMS Software Messages

Form Driver messages are issued if the terminal operator makes an input error, such as typing in an invalid character, or trying to move the cursor illegally. A message is displayed on the bottom line of the screen and the terminal bell is rung. The terminal operator can specify Quiet mode by pressing GOLD Q, which specifies that the screen's video is reversed when an error occurs. If GOLD Q is pressed again, the signal mode reverts to the terminal bell. The text messages displayed at the bottom of the screen are in simple textual format and are described in detail in the following section on Form Driver Messages for Terminal Operators.
A.4 Suggestions to Follow if FMS Software Malfunctions
Ifyou think that FMS software has malfunctioned, take the following steps: 1. As accurately as possible, write down the functions, commands, terminal
input, and user program processes that you used before the messages appeared that indicated a malfunction. 2. Save any programs and files that you were using. 3. Check with the person who installed FMS to make sure that nothing went wrong with the installation and that the installation was properly verified. 4. If you still think that FMS software has malfunctioned, check your hardware or find someone to check it for you. 5. Ifthe problem persists, consult someone in your area who is very familiar with FMS software. 6. If you qualify to receive a written reply under DIGITAL's Software Performance Report (SPR) service, follow the directions on the SPR form.
A.5 FMS Utilities Messages
ADJFLD The cursor is not over a field. Explanation: The adjacent field function is valid only when the cursor is over a field with more than one character. User Action: Position the cursor over a field that is longer than one character or make the current field picture more than one character.
ADJPROT You cannot split a date, time, or indexed field. Explanation: Time, date, and indexed fields cannot be split with the Adjacent Field Function. User Action: Delete the entire date or time field and create the fields that you want. If you want to split an indexed field, press GOLD FLDATR, then TAB to "Index_." Type a zero to make the field not indexed and press RETURN to continue editing.
VAX FMS Software Messages A-3

ADVPARSN Parsing has advanced to 'numeric value'. Explanation: This message is a result ofthe previously reported syntax error. The message gives an indication of what internal error recovery was done. No binary form will be output as a result of this translation. User Action: Correct the syntax error.
ADVPARSS Parsing has advanced to 'keyword or statement item'. Explanation: This message is a result ofthe previously reported syntax error. The message gives an indication of what internal error recovery was done. No binary form will be output as a result of this translation. User Action: Correct the syntax error.
ALLBAD None of the input files could be opened. Explanation: None of the specified input files could be opened. User Action: Check to make sure that the input files were specified correctly and that they exist in the specified directory.
ATERM Unable to attach terminal. Explanation: The FMS Form Driver was unable to attach the terminal. User Action: Check succeeding messages for reason.
ATTRPREV The value 'value' has replaced the previous attribute assignment. Explanation: This attribute is already defined in the Form Language statement. The last attribute specification in the statement has been assigned. A binary form will be output. User Action: Only one attribute assignment is valid for this particular attribute. You should remove all other attribute assignments for the Form Language statement.
AWKSP Unable to attach workspace. Explanation: The FMS Form Driver was unable to attach the workspace. User Action: Check succeeding messages for reason.
A-4 VAX FMS Software Messages

BAD_CORE_LEVEL Unsupported core level for this TDMS form. Explanation: The user specified a TDMS form that has a core level that the Form Converter does not support. User Action: Upgrade the core level of the TDMS form to that which is supported by the Form Converter.
BADDRAW Illegal SELECT perimeter for DRAW or UNDRAW function. Explanation: The DRAW and UNDRAW functions can only overwrite blanks and other line drawing characters. The perimeter of the current select area violates this restriction and the function is rejected. User Action: Adjust the SELECT area as required.
BAD_PATHNAME Error in accessing the pathname. Explanation: The user specified a bad pathname. This message is followed by the CDD error message that explains the error. User Action: Specify a correct pathname.
BAD_PROTOCOL Incorrect protocol for this CDD object- should be "CDD$FORM". Explanation: The user specified a CDD object that is not a TDMS form. User Action: Specify a TDMS form pathname instead.
BLANKNAME A blank field name was specified in form 'form-name'; default name 'field-name' has been assigned. Explanation: Blank field names are not allowed in FMS Version 2, so a default name was supplied for the field. This should not have any effect on the upgraded application program. User Action: Ifthe default field name is not appropriate, rename the field.
BRIEF Form 'form-name' brief description output to 'file-spec'. Explanation: A brief form description of the specified form has been successfully output to the specified file or device. The description contains only summary information such as names offorms, fields, UARs, and Named Data, and various other attributes. User Action: Use the information as a reminder while you code your application program.
VAX FMS Software Messages A-5

BRIEFERR Error generating brief description for input file 'file-spec'. Explanation: An error occurred while attempting to generate a brief description for the specified input file. User Action: Check to be sure the input files are valid and were entered correctly. Also look at any previous messages for more information.
BTSLINE Form too wide on line 'line-number'. Explanation: The FMS Form Tester was unable to display the form on the user's Bisynch terminal since the line specified did not fit after it had been expanded with BTS terminal attributes. User Action: Edit the form with the form editor to cause the line to be displayable on the screen. This may involve removing video attributes or extra spaces between text or fields.
CDD_EXTRACTING Extracting TDMS form 'form-name' from the CDD. Explanation: This message tells the user the name of the form being extracted from the CDD. This message is output before the extraction starts. User Action: The message indicates that the conversion has started successfully. No user action is required.
CDD_FAILURE A CDD call failed. Aborting the form conversion. Explanation: A call to the CDD run-time routines failed. The Form Converter cannot continue converting the TDMS form. User Action: Make sure that the CDD is installed on the system. Make sure that the TDMS form is accessible by the TDMS Form Definition Utility.
CDISP Unable to display form named 'form-name'. Explanation: ·The FMS Form Driver was unable to display the specified form. User Action: Check succeeding messages for reason.
CHECKDGT_IGNRD Check digit field validator ignored on field 'field-name'. Explanation: This field contains a check digit field validator. It will be ignored. User Action: The message is informational.
A-6 VAX FMS Software Messages

CHOICE_IGNRD Choice field validator ignored on field 'field-name'. Explanation: This field contains a choice field validator. It will be ignored. User Action: The message is informational.
CLEARAREA An invalid line number was specified for AREA_TO_CLEAR. Lines 1and23 have been assigned. Explanation: The line number specified for the AREA_TQ_CLEAR is invalid, or the order ofspecification is wrong. Valid line values are 0 through 23 inclusive. The range for the area requires the number specified first to be greater than or equal in value to the number specified last. The default values (1and23) were assigned for this form. A binary form will be output.
User Action: Correct the values for the lines in AREA_TQ_CLEAR.
CLEAR_TO_ZERO Clear character set to zero on field 'field-name'. Explanation: This field contained a conflict of attributes involving the clear character. To resolve the conflict, the clear-character was set to zero. User Action: The message is informational.
CMDLNERR An error was encountered in processing the command line. Explanation: The command line has an error and cannot be processed. User Action: Check the command line syntax, parameters, and qualifiers, and then retype the command.
CONF_SCREEN_POS Conflicting screen positions at line 'line-number' column 'column-number'. Explanation: The TDMS form specifies two entities that occupy the same screen position. These entities can be background text, fields, rule characters, or video attributes. User Action: Edit the TDMS form with the Form Definition Utility. Remove the conflicting entities from the indicated line and column position.
CONTINUE Continuing to process. Explanation: Recovery is possible from any of the reported errors; therefore, processing continues. User Action: Look at the previous messages to determine their causes and also make sure that the output is as you intended.
VAX FMS Software Messages A-7

CONTXTLST An internal recovery error was detected. Explanation: This is an internal logic error message. This message should not occur during translation. User Action: Send in SPR.
COORDOCC Coordinate position is already occupied by field or text. Explanation: The screen position specified already contains a field or background text. Field and text cannot overlap one another. No binary form will be output as a result of this translation. User Action: Correct the coordinate position for the current statement or that of the conflicting field or text definition.
CURSORMOV Cannot move cursor past display boundary. Explanation: The cursor cannot be moved past the display boundaries. Any attempt to move the cursor beyond the top, bottom, left, or right of the display will be rejected. User Action: Do not attempt the illegal move.
CUTLINES Cannot cut or paste a SELECT area with different line types. Explanation: You cannot cut or paste a SELECT area that has more than one line type. Line types can be double wide, double size, scrolled, and normal. User Action: Ifyou want to cut or paste the specified select area, you must alter the line types first.
CUTSCROLL Cannot cut part of a scrolled area. Explanation: You can only cut all of a scrolled area. User Action: To cut a scrolled area, create a select area for the entire scrolled area. If you wish to cut the present select area, change the appropriate lines so they are not scrolled.
DATATYPE_IGNRD Datatype ignored on field 'field-name'. Explanation: This field contains a datatype. The datatype will be ignored. User Action: The message is informational.
A-8 VAX FMS Software Messages

DBLLENGTH Line is too long to display as double wide or double size. Explanation: Displaying the current line as double wide or double size would cause some characters to be truncated at the right margin. User Action: Shorten the line by deleting characters past the midpoint ofthe line.
DBLPREV A line attribute has already been assigned to this line. Explanation: The line specified for the DBLWID or DBLSIZ attribute already has a line attribute assigned to it. Only one line attribute assignment can be made to any line. No binary form will be output as a result of this translation. User Action: Correct the line number specified in the current or previous DBLSIZ or DBLWID attribute specification.
DBLSCR Cannot change line size of line in scrolled area. Explanation: Lines cannot be changed between normal and double size or double wide within a scrolled area. User Action: Remove the line(s) from the scrolled area by pressing UNSCROLL and then assign a line attribute.
DBLSIZE Line is already double sized. Explanation: The specified line is already double size and therefore cannot be converted to double wide. User Action: Press GOLD S again to make the line normal; then press GOLD W to make the line double wide.
DBLSLINE Invalid double size line assignment. Explanation: The line number specified for the DBLSIZ attribute is invalid. Valid line numbers are 1 through 22 inclusive. No binary form will be output as a result of this translation. User Action: Specify a valid line number for the DBLSIZ assignment.
DBLWIDE Line is already double wide. Explanation: The specified line is already double wide and therefore cannot be converted to double size. User Action: Press GOLD W again to make the line normal; then press GOLD S to make the line double size.
VAX FMS Software Messages A-9

DBLWLINE Invalid double wide line assignment. Explanation: The line number specified for the DBLWID attribute is invalid. Valid line numbers are 1 through 23 inclusive. No binary form will be output as a result of this translation. User Action: Specify a valid line number for the DBLWID assignment.
DECLARS Form 'form-name' declarations output to 'file-spec'. Explanation: A set of declarations for various form elements for the specified form has been put in the specified file. These declarations are similar to what would be needed in a COBOL or DATATRIEVE program, but they may need to be modified to be used in an actual program. User Action: Modify the file as necessary and include it in your COBOL or DATATRIEVE program.
DECLERR Error generating form declarations for input file 'file-spec'. Explanation: An error occurred while attempting to generate form declarations for the specified input file. User Action: Check to be sure the input files are valid and were entered correctly; also look at any previous messages for more information.
DELBOUND Cannot delete past display boundaries. Explanation: You cannot delete characters past the display boundaries. Any attempt to delete a character beyond the top, bottom, left, or right of the display will be rejected. User Action: Do not attempt the illegal deletion.
DELCHRDTM Cannot delete characters in date, time, or indexed fields. Explanation: You cannot delete individual characters in date, time, or indexed fields. The attempted delete has been rejected. User Action: Press CUT or DELLINE to delete the entire field, and then respecify the field as desired.
DELCHRLEF Cannot delete before beginning of line. Explanation: You cannot delete characters before the beginning of a line. User Action: Do not attempt to delete characters beyond the physical screen boundary (beginning of a line).
A-10 VAX FMS Software Messages

DELCURCHR Cannot delete character in hanging cursor position. Explanation: The current character cannot be deleted from the hanging cursor position because the cursor is not logically over a character. User Action: Move cursor left, or delete previous character.
DELETED Form 'form-name' deleted from 'library-name'. Explanation: The specified form was successfully deleted from the form library. User Action: The message is informational.
DELFIELD Cannot split a field when deleting to beginning or end of line. Explanation: You cannot delete part of a field; you must delete the whole field. User Action: Reposition the cursor to delete either all or none of the field.
DELFILE Unable to delete output file 'file-spec'. Explanation: Due to an error in processing, the output file is not valid, but for some reason it could not be deleted. User Action: Check to make sure the output device is on line and delete the output file yourself.
DELLINE- Cannot delete scrolled line. Explanation: Lines in scrolled area cannot be deleted. User Action: Remove the line from the scrolled area and then delete the line.
DELLINSEL Cannot delete or undelete a line during SELECT definition. Explanation: You cannot press DELLINE or UNDELLIN after you have pressed SELECT. You can only press CUT, CHARSET, DRAW, UNDRAW, CENTER, VIDEO, and RESET during definition of a select area. User Action: Cancel the SELECT function by pressing GOLD RESET and then perform the desired function.
DELOUTPUT Output file deleted. Explanation: The output file has been deleted due to a severe error. User Action: Check previously issued messages to determine the cause of the problem.
VAX FMS Software Messages A-11

DESCERR Error generating form description for input file 'file-spec'. Explanation: An error occurred while attempting to generate a form description for the specified input file. User Action: Check to be sure the input files are valid and were entered correctly. Also look at any previous messages for more information.
DESCRIBED Form 'form-name' described in 'file-spec'. Explanation: A form description ofthe specified form has been put in the specified text file. The form description consists ofForm Language statements which completely describe the form. If a text file contains only one form description, it may be used as input to the Form Language Translator, which will output the corresponding binary form. User Action: You can print the file for a hard-copy record of everything in the form.
DISPAUTO DISPLAY_ONLY is invalid with AUTOTAB. Explanation: DISPLAY_ONLY and AUTOTAB cannot be assigned to the same field. No binary form will be output when using the Form Language Translator. User Action: If using the Form Editor, assign only one of the field attributes. If using the Form Language, correct the statement to include only one of these attribute specifications.
DISPHELP DISPLAY_ONLY is invalid for a field with help text. Explanation: Help text cannot be assigned to a display-only field. No binary form will be output when using the Form Language Translator. User Action: If using the Form Editor, assign only one of the field attributes. If using the Form Language, correct the statement to use only one of these attribute specifications.
DISPMUST DISPLAY_ONLY is invalid with MUST-FILL. Explanation: DISPLAY_ONLY and MUST_FILL cannot be assigned to the same field. No binary form will be output when using the Form Language Translator. User Action: If using the Form Editor, assign only one of the field attributes. If using·the Form Language, correct the statement to include only one of these attributes.
A-12 VAX FMS Software Messages

DISPRESP DISPLAY-ONLY is invalid with RESPONSE-REQUIRED. Explanation: DISPLAY-ONLY and RESPONSE-REQUIRED cannot be assigned to the same field. No binary form will be output when using the Form Language Translator. User Action: If using the Form Editor, assign only one of the field , attributes. If using the Form Language, correct the statement to include only one of these attributes.
DISPSUPE DISPLAY-ONLY is invalid with SUPERVISOR_ONLY. Explanation: DISPLAY-ONLY and SUPERVISOR-ONLY cannot be assigned to the same field. No binary form will be output when using the Form Language Translator. User Action: If using the Form Editor, assign only one of the field attributes. If using the Form Language, correct the statement to include only one of these attributes.
DISPUAR DISPLAY_ONLY is invalid for a field with action routines. Explanation: The Display Only attribute and UARs cannot be assigned to the same field. No binary form will be output when using the Form Language Translator. User Action: If using the Form Editor, assign only one of the field attributes. If using the Form Language, correct the statement to include only one of these attributes.
DISPUPPR DISPLAY_ONLY is invalid with UPPERCASE. Explanation: DISPLAY_ONLY and UPPERCASE cannot be assigned to the same field. No binary form will be output when using the Form Language Translator. User Action: If using the Form Editor, assign only one of the field attributes. If using the Form Language, correct the statement to include only one of these attributes.
DTMBADRES Invalid response to date or time query. Explanation: Only the characters shown can be entered in response to a date or time query. User Action: Reenter a valid response.
DTMDELLEF Cannot delete blank response. Explanation: A blank response to a date or time query cannot be deleted. User Action: Do not attempt the deletion.
VAX FMS Software Messages A-13

DTMNBLANK Area for date or time field is not blank. Explanation: Date and time fields can overwrite blank spaces only. User Action: Reposition the cursor or clear an area large enough to contain the date or time field.
DTMNOROOM Date or time field will not fit here. Explanation: There is not enough room beyond the current cursor position to hold the selected date or time field. User Action: Reposition the cursor or delete unwanted characters to make sufficient room for the selected date or time field.
DUPFLDNAM Field name 'field-name' was already specified; default name has been assigned. Explanation: The field name was assigned to a previously defined field. Each field must have a unique name. A default name was substituted for the field name specified. If using the Form Language, no binary form will be output as a result of this translation. User Action: Assign the field a unique field name or use the default name substitution. For the Form Language, correct the field name or use a default name by removing the NAME keyword from the FIELD statement.
DUPFRM Form 'form-name' from file 'file-spec' is already in the library. Explanation: A form in the library has the same name as one contained in the specified input file. The form in the input file is not inserted into the library. This does not prevent the insertion of other forms from the input file(s) into the library. User Action: If you want to have both forms in the library, rename one of them. If you want to replace the form in the library with the input form, use the FMS/LIBRARY/REPLACE command.
DUPNMDIDX A duplicate INDEX value has been assigned to this named data entry. Explanation: The NAMED_DATA INDEX value duplicates the index value of an existing Named Data entry. Each INDEX must be unique. No binary form will be output as a result of this translation. User Action: Correct the INDEX values for the NAMED_DATA entries so that they are unique and consecutive.
A-14 VAX FMS Software Messages

DUPORDASN The field 'field-name' has already been assigned an order. Explanation: A field with this name was previously specified in an ORDER statement. A field can be ordered only once in a source form description. No binary form will be output as a result of this translation. User Action: Correct the ORDER statement(s) in the source form description to contain only one reference to any field name.
DUPPICT PICTURE is multiply defined for this field. Explanation: More than one picture specification was assigned to this field. Only one picture specification is allowed in a FIELD statement. No binary form will be output as a result of this translation. User Action: Correct the FIELD statement to contain only one PICTURE, DATE_FIELD, or TIME_FIELD attribute specification.
ENDMISSNG An END_OF_FORM statement is missing. Explanation: No valid END_OF_FORM statement was included in the source file, or the translation terminated before the END_OF_FORM statement was reached. A binary form will be output if other errors have not caused the END_OF_FORM to be missed. User Action: Ifthe END_OF_FORM statement is missing, add one. Otherwise, correct the other errors found during the translation or increase the error limit so the entire translation completes.
ENDNOFRM Translation was completed with errors. No binary form was output. Explanation: The translation had ERROR level errors. No binary form was output. Check the translation listing file or the error log for the errors. User Action: Correct the errors.
EOF End Of File occurred while expecting input from 'file-spec'. Explanation: An End Of File (EOF) was reached while there was still more input expected from the specified file. User Action: Check to see if the input file has b~en truncated or altered in some undesired manner.
EXTRACTED Form 'form-name' extracted into 'file-spec'. Explanation: The specified form was successfully extracted from the form library and stored in the specified file. User Action: The message is informational.
VAX FMS Software Messages A-15

FIELDORD Field already part of new order sequence. Explanation: This field has already been marked as part of the new order sequence in the Order phase. User Action: Move to another field to add it to the current order sequence.
FILBADFRM File name is not valid as form name; name was changed to 'file-spec'. Explanation: The file name started with a numeric digit, so it could not be used as a form name. The letter "F" was added to the beginning of the name to make it valid. User Action: Ifthe form name used is inappropriate, change it.
FLDINDEX Warning, field index is duplicate or out of range. Explanation: The specified field index is a duplicate or out of range. This is a warning message only. The index will still be recorded as specified, but you cannot save the form until the conflict is resolved. User Action: Change the indexed field set to make the current index value acceptable, or modify the current assignment. Ifyou specify zero for the index value, the Form Editor will assign the next available index by default.
FLDSIZ Warning, field has no validation characters. Explanation: A field must have at least one field-validation character. This is a warning message so you can continue editing, but you cannot save the form until the above condition is satisfied. User Action: Modify field picture, or change field-marker characters to background text.
FORMPROC A FORM statement has already been processed. Explanation: More than one FORM statement was detected in the source form description. Only one FORM statement is allowed in a source form description. No binary form will be output as a result of this translation. User Action: Correct the source form file to contain only the FORM statement you want.
FORMQUAL /FORM_NAME must be specified in this context. Explanation: /FORM_NAME =form-name must be specified (following the form library specification). Only one or more forms in the form library can be specified, not the whole library. User Action: Reenter the command, using the /FORM_NAME qualifier.
A-16 VAX FMS Software Messages

FORMSIZE Insufficient memory to read in form, execution terminated. Explanation: The Form Editor was unable to allocate sufficient memory to read in the requested form. This should only occur from an error in the form size or from an internal logic error. User Action: Check to be sure the form specified is valid. Ifthe error persists, submit an SPR.
FRMBADFIL Form name 'form-name' is not valid as file name; name was changed to 'file-spec'. Explanation: The specified form name was too long or had characters not allowed in file names, so a compacted version ofthe name was used as the file name. User Action: Ifthe file name used is inappropriate, rename the file.
FRMNOTFND Form 'form-name' not found in library. Explanation: The specified form name was not found in the specified library. User Action: Check to be sure the library and form names were entered correctly. You can use the FMS/DIRECTORY command to list the names of forms in a library.
FRM_OUTPUT TDMS form successfully extracted into 'file-name'. Explanation: The Form Converter has successfully extracted the TDMS form from the CDD and put the resulting FMS form into the indicated file. User Action: No user action is required.
GET Error getting data from field named 'field-name'. Explanation: The FMS Form Driver was unable to get data from the specified field. User Action: Examine the succeeding messages to determine the cause of the error.
GETFIRST Error getting data from first field in form. Explanation: The FMS Form Driver was unable to get data from the first field in the form. User Action: Examine the succeeding messages to determine the cause of the error;
VAX FMS Software Messages A-17

HELPFORM_IGNRD 'Help-form-name' help form ignored. Explanation: The TDMS form contained a help form name. This name is ignored. The help form name is not stored in the FMS form file. User Action: Ifyou intend to use a help form name for this form, you must edit the form and enter the name of the help form.
IDXSCALIN Indexed fields must be contained in a single scrolled area. Explanation: The field coordinates listed in the INDEXED assignment are not all contained in the same scrolled area. A set of indexed fields within a scrolled area must be assigned to the first line of the same scrolled area. No binary form will be output for this translation. User Action: Correct the field coordinate specifications so that all the fields are in or all the fields are out of the scrolled area; or correct the SCROLL statement.
ILLDBL Cannot use DBLSIZ or DBLWID during SELECT definition. Explanation: SELECT lines must have identical attributes (doublesize, doublewide, or normal size). User Action: Make lines double size or double wide before Select definition.
ILLINPCHR Illegal character was input. Explanation: The statement contains a nonprinting character. Only printing characters are valid in Form Language statements. No binary form will be output as a result of this translation. User Action: Remove the nonprinting character from the source file.
ILLSCR Cannot define scroll area during SELECT definition. Explanation: The Scroll function uses SELECT internally to define a scrolled area; therefore, Scroll is an illegal function during SELECT. User Action: Terminate the SELECT operation before using the SCROLL function.
ILLSELECT Illegal SELECT area; fields cannot be split. Explanation: You must select whole fields. User Action: Adjust the select area boundaries to include entire fields only.
A-18 VAX FMS Software Messages

ILLSIZE Terminal size (lines or columns) too small for FMS form.
Explanation: The display size available (lines or columns) is not large enough for the specified form.
User Action: Use a terminal that can display more lines or columns as needed for the specified form, or adjust the form description to fit terminal needs. A 24 line by 132 column form, for example, requires a VTlOO with the advanced video option.

ILLTERM Illegal terminal type - must be VTlOO compatible.
Explanation: The FMS Form Editor requires a VTlOO-compatible terminal.
User Action: Use a VTlOO-compatible terminal, or use the FMS Form Language to create forms with a standard text editor.

IMAGE Form 'form-name' screen image output to 'file-spec'.
Explanation: A copy of the screen image of the form, suitable for printing, has been put in the specified text file.
User Action: You can print the file for a hard-copy record of the appearance of the form.

IMAGERR Error generating image description for input file 'file-spec'.
Explanation: An error occurred while attempting to generate an image description for the specified input file.
User Action: Check to be sure the input files are valid and were entered correctly. Also look at any previous messages for more information. Submit an SPR ifyou cannot generate an image file.

INACTIVE Function key not currently active.
Explanation: The function key pressed is not active in the current Form Editor phase.
User Action: Refer to the Form Editor keypad.

INDXPREV The INDEXED attribute assignment has been replaced for this field.

Explanation: The INDEXED attribute was previously assigned in this FIELD statement. The last specification will be used for the indexed field assignments. The previous INDEXED field assignments will not be used. A binary form w ill be output.

User Action: Correct the FIELD statement so that it contains only

the INDEXED field definitions that you want for this FIELD

statement.

,

VAX FMS Software Messages A-19

INDXUNASN Invalid line or column specification: no INDEX assignment was made for this field. Explanation: The line or column specification for the first field is invalid. No indexed field assignments will be made. No binary form will be output as a result of this translation. User Action: Correct the invalid line or column specification in the FIELD coordinate specification.
INSCHR No room for character insertion. Explanation: There is no room for character insertion on this line. User Action: Remove one or more characters from the end ofthe line.
INSCHRDTM Cannot insert characters in date, time, or indexed field. Explanation: Characters cannot be· inserted in date, time, and indexed fields. User Action: Delete the entire field and respecify the field as desired.
INSCHRFLD Invalid character for field insertion. Explanation: Only field-validation and field-marker characters can be entered in Field mode. User Action: Enter a valid field character or change to Text mode.
INSERTED Form 'form-name' inserted in 'library-name'. Explanation: The specified form was successfully inserted into the form library. · User Action: The message is informational.
INSVIRMEM Insufficient memory available, attempted operation rejected. Explanation: The Form Editor was unable to acquire sufficient virtual memory for the attempted operation, therefore the operation was rejected. User Action: Insufficient memory may be caused by an internal logic error. Ifthe problem persists, submit an SPR.
A-20 VAX FMS Software Messages

INVALID_FIELD Field 'field-name' contains no FMS picture characters. Explanation: The field does not contain any FMS picture characters. TDMS allows fields to contain only marker characters. FMS does not allow this. The field is not converted. User Action: Edit the TDMS form and add an FMS picture character to the field. Then convert the form again.
INVALID-1NDEX Field 'field-name' is not indexed correctly. Explanation: The field is not indexed correctly. The Form Converter cannot store the field in the FMS form. The field is ignored. User Action: Edit the form using the Form Definition Utility. Assign new attributes to the indexed field, and use the Form Converter again.
INVCLRCHR The specified clear character is invalid. Explanation: The specified clear character is either more than one character in length, or it is not a valid clear character. No binary form will be output as a result ofthis translation. User Action: Supply a single valid clear character.
INVCMD Unrecognized command, re-enter. Explanation: The phase name entered is not a valid phase name in the Form Editor menu. User Action: Enter a valid phase name.
INVDATA Invalid character(s) in data string. Explanation: Nonprinting characters are not valid in a data string. No binary output will be generated as a result of this translation. User Action: Correct the data string.
INVDATALN Data is too long. Explanation: The number of characters in the data string exceeds the maximum allowed (80 characters). No binary form will be output as a result of this translation. User Action: Delete some characters in the data string.
INVDATE Invalid DATE-FIELD picture was specified. Explanation: The DATE_FIELD picture is not valid. Standard field pictures of the DATE_FIELD are required. No binary form will be output as a result ofthis translation. User Action: Use one of the standard FMS DATE-FIELD pictures.
VAX FMS Software Messages A-21

INVDBLASN Text or field assignments must be made to the top line of a double size line pair. Explanation: Text and field line specifications must reference the first line of the DBLSIZ line pair. No references to the bottom half of the DBLSIZ line pair are allowed. No binary form will be output as a result of this tran slation. User Action: Correct the line coordinate specification so it references the first line of the DBLSIZ line pair.
INVDBLRNG First DBLSIZ or DBLWID line exceeds last DBLSIZ or DBLWID line. Explanation: The double-size or double-wide range specification requires the first line number to be less than the last line number. No binary form will be output as a result of this translation. User Action: Correct the range specified in the DBLSIZ or DBLWID attribute specification.
INVDEFCH DEFAULT specification for field exceeds the field length. The string has been truncated. Explanation: The number of characters in the DEFAULT specification cannot exceed the number of field-validation characters. The DEFAULT string is truncated to the number of field-validation characters. A binary form wil 1be output. User Action: Correct the length ofthe DEFAULT string specification to be less than or equal to the number offield-validation characters in the picture, or increase the field length.
INVDEFLEN Default value for field is longer than the field definition. Explanation: The number of characters in the default value string for the field is greater than the number offield definition characters in the field definition. User Action: Delete some characters in the default field value string.
INVDRWLAT Line attributes for lines contained in the DRAW are not identical. Explanation: The line attributes for all lines in the DRAW area must be identical. The DRAW perimeter specified contains a line with different line attributes. No binary form will be output as a result of this translation. User Action: Correct the line attribute assignments or the DRAW coordinate specifications.
A-22 VAX FMS Software Messages

INVDVSPEC Invalid coordinates were specified for DRAW or VIDEO. Explanation: The line or column specified in the statement is invalid. Valid line values are 1through23 inclusive. Valid column values are 1 through 80 inclusive, for 80-column screens; 1 through 132 inclusive, for 132-column screens. No binary form will be output as a result of this translation. User Action: Correct the line or column specifications.
INVENDNAM The name 'form-name' specified in the END_OF-FORM statement is invalid. Explanation: The name specified for the END-OF_FORM statement must match the name given in the FORM statement. A binary form will be output. User Action: Correct the spelling ofthe name in either the FORM or END_OF_FORM statement so that they are identical.
INVERRVAL The value for /ERROR_LIMIT is invalid. /ERROR_LIMIT = 20 is used. Explanation: An incorrect value was given for /ERROR_LIMIT. The valid values are 0 through 255 inclusive. The translation will continue with a value of 20 assigned for /ERROR_LIMIT. User Action: Supply a valid value for the /ERROR_LIMIT qualifier.
INVFIXPIC Field picture for FIXED-DECIMAL field is invalid. Explanation: The specified field picture is invalid for a fixed-decimal field. The field-validation characters must be all numeric (9's) or signed numeric (N's) with at least one embedded decimal point or comma. No binary form will be output when using the Form Language Translator. User Action: Refer to the VAX FMS Utilities Reference Manual for a description of the fixed-decimal field picture requirements. Correct the field picture or remove the FIXED_DECIMAL attribute specifi cation.
INVFLDCH Field PICTURE contains invalid character(s). Explanation: Only field-marker characters or field-validation characters are allowed in the field definition. No binary form will be output as a result ofthis translation. User Action: Correct the field picture so that it contains only valid field-definition characters.
VAX FMS Software Messages A-23

INVFLDLEN Field PICTURE length is invalid. Explanation: The picture length is invalid for one of the following reasons: the length is zero, the length exceeds the width of the screen, or the field contains no field-validation characters. No binary form will be output as a result ofthis translation. User Action: Correct the field picture length or use a wider form (132-column mode is the maximum).
INVFLDNAM Field name 'field-name' in form 'form-name' violates FMS V2 naming standards. Explanation: The field name specified does not follow the rules for defining valid names for FMS V2.0. User Action: Ifthe message was issued by the Form Upgrade Utility, then the form can be used by the upgraded application program with no change. The name must be changed, however, to be valid for any of the other V2.0 utilities.
INVFORM Binary form 'form-name' in file 'file-spec' is invalid. Explanation: The internal structure of the given form in the specified file is invalid. User Action: Check to make sure that you specified the correct file. If you cannot determine the cause of the corruption, submit an SPR including information about the utility that produced the form and exactly what steps were taken.
INVFRM Input file does not contain a valid form, execution terminated. Explanation: The internal structure of the form in the specified input file is invalid. User Action: Check to make sure that you specified the correct file. If you cannot determine the cause of the message, submit an SPR that includes information about the utilities that you used to produce the form and exactly wh at steps you took to create it.
INVFRMNAM Form name 'form-name' violates FMS V2 naming standards. Explanation: The form name specified does not follow the rules for defining valid names for FMS V2.0. User Action: If this message was issued by the Form Upgrade Utility, the form can be used by the upgraded application program without any changes. The name must be changed, however, to be valid for any of the other FMS V2.0 utilities.
A-24 VAX FMS Software Messages

INVHLPLEN The help text exceeds the line width. Explanation: The help text is too long to fit on the screen. Help text can be a maximum of one line of information (80 characters for 80column forms, 132 characters for 132-column forms). No binary form will be output as a result ofthis translation. User Action: Correct the length of the help text or change the width of the form to 132 columns.
INVIMGVAL 'value' is not a valid value for the /IMAGE qualifier. Explanation: The value given for the /IMAGE qualifier was not valid, so the operation has been rejected. User Action: Enter a valid qualifier value. The legal values are ESCAPE-SEQUENCE and NOESCAPE_SEQUENCE. Only the first four characters are necessary.
INVINDFLD Invalid indexed field specification, field attributes do not match. Explanation: The fields in an indexed set must have identical field attributes. User Action: Redefine the fields so that they have identical field attributes before including them in an indexed set.
INVINDLAT Line attributes for lines containing the INDEXED fields are not identical. Explanation: The lines in the INDEXED field specification do not all have identical line attributes. All fields specified in the INDEXED set must have identical line attributes. No binary form will be output as a result of this translation. User Action: Correct either the line attribute assignments or the INDEXED coordinate specifications.
INVLDCOL Column specification is invalid. Explanation:· The column value specified is invalid. The valid values for column are 1 through 80 inclusive for 80-column forms; 1 through 132 inclusive for 132-column forms. No binary form will be output as a result of this translation. User Action: Correct the column specification.
INVLDLINE Line specification is invalid. Explanation: The line value specified is invalid. The valid values for line are 1 through 23 inclusive. No binary form will be output as a result ofthis translation. User Action: Correct the line specification.
VAX FMS Software Messages A-25

INVLINCOL A check for conflicting screen position was not done. Explanation: The coordinate specification is invalid; therefore, no check can be made if the screen position is occupied. No binary form will be output as a result ofthis translation. User Action: Correct the coordinate specification.
INVLSTCOL The last character in the field or text extends beyond the form boundary. Explanation: The character position for the last character in the field or text definition extends beyond the form boundary. The coordinate specification, or the number of characters in the string or picture field is invalid. No binary form will be output as a result of this translation. User Action: Correct either the coordinate specification, the length of the string or of the picture defined, or change the width of the form to 132 columns.
INVMIXPIC Field picture for RIGHT_JUSTIFIED field is invalid. Explanation: The picture specified is not valid for a right-justified field. The field-validation characters must be identical in a rightjustified field. No binary form will be output when using the Form Language translator. User Action: Refer to the VAX FMS Utilities Reference Manual for a description offield picture requirements for a right-justified field. Correct the field picture or remove the RIGHT_JUSTIFIED attribute specification.
INVMSGVAL The value for /WARNINGS is invalid. /WARNINGS= ALL is used. Explanation: An incorrect value was given for /WARNINGS. The valid values are ALL, INFORMATIONAL, WARNING, and ERROR. The translation will continue with a value of ALL assigned for I WARNINGS. User Action: Supply a valid value for the /WARNINGS qualifier.
INVNAME Invalid character(s) in name 'name'. Explanation: The characters in the name do not conform to the FMS standard naming conventions. No binary form will be output as a result of this translation. User Action: Refer to the VAX FMS Utilities Reference Manual for the name requirements. Correct the name.
A-26 VAX FMS Software Messages

INVNAMLEN Too many characters in name. Explanation: The name contains more than 31 characters. No binary form will be output as a result of this translation. User Action: Reduce the number of characters in the name.
INVNMDENT Neither NAME nor DATA has been defined for this NAMED_])ATA entry. Explanation: The NAMED_l)ATA entry just defined has no valid name or data defined for it. Each NAMED_l)ATA entry must contain either a name or a data entry. No binary form will be output as a result of this translation. User Action: Add a NAME or DATA definition or delete the INDEX assignment from the statement.
INVNMDIDX The index value assigned to the named data entry is invalid. Explanation: The INDEX value assigned to the NAMED_DATA entry is invalid. No binary form will be output as a result of this translation. User Action: Correct the INDEX value.
INVNMDLEN The length of data is invalid. Explanation: The number ofcharacters in the data must be less than or equal to 80. No binary form will be output as a result of this translation. User Action: Reduce the length of the data string.
INVNOUAR The number of ACTION_ROUTINE assignments for this field exceeds the maximum allowed. Explanation: The number ofuser action routines (UARs) assigned to this field (either in the FIELD or ATTRIBUTE_DEFAULTS FIELD statement or both) exceeds the 15 allowed. No binary form will be output as a result ofthis translation. User Action: Reduce the number ofUARs defined for this field to be at most 15, which is the maximum.
INVORDASN The visitation order specified is invalid. Explanation: The value specified for visitation order is invalid. Valid values for visitation order are 1 through the number of fields in the form inclusive. No binary form will be output as a result of this translation. User Action: Correct the value specified for visitation order.
VAX FMS Software Messages A-27

INVORDER Ordering is not valid for form with less than two fields. Explanation: Ordering is only valid for a form with two or more fields. No binary form will be output as a result of this translation. User Action: Delete the ORDER statement or add some fields.
INVORDFLD The field named 'field-name' in the ORDER statement does not exist. Explanation: A field with this name was not defined for this form. No binary form will be output as a result of this translation. User Action: Correct either the field definition or the name in the ORDER statement.
INVORDIDX The index for ORDER field name 'field-name' does not match actual field. Explanation: The ORDER name specification for the indexed field does not contain a valid index value. Indexed fields specified in the ORDER statement are referenced by their index value. No binary form will be output as a result of this translation. User Action: Correct the field name or the index value.
INVORDNAM The field name 'field-name' specified in ORDER statement is invalid. Explanation: The specified field name is invalid. This is an error in the way the field index is specified. No binary form will be output as a result ofthis translation. User Action: Correct the field name.
INVSCAASN . Text or field assignments are made only to the first line of a scrolled area. Explanation: The specified line is in a scrolled area, rather than the first line ofthe scrolled area. No binary form will be output as a result of this translation. User Action: Correct the line specification for the field, text or scroll area definition.
INVSCADEF Invalid line assignment for the scrolled area. Explanation: The lines assigned for the scrolled area are invalid. The valid lines are 1through23 inclusive. The scroll area definition requires that the first line be less than or equal to the last line. No binary form will be output as a result of this translation. User Action: Correct the line specification(s).
A-28 VAX FMS Software Messages

INVSCADRW DRAW assignment can be made only to the first line of the scrolled area. Explanation: The specified line for the DRAW assignment is in a scrolled area, rather than the first line of the scrolled area. No binary form will be output as a result of this translation. User Action: Correct the DRAW line or scroll area definition.
INVSCALAT Line attributes for each line in the scrolled area are not identical. Explanation: The scrolled area contains lines with different line attribute assignments. All lines in a scrolled area must have the same line attributes. No binary form will be output as a result of this translation. User Action: Correct either the scrolled area or the line attribute definition.
INVSTRLEN The number of characters in the string exceeds the maximum allowed. Explanation: The number of characters in the string exceeds the maximum number allowed for string definitions. No binary form will be output as a result ofthis translation. User Action: Delete some characters from the string.
INVSUPPRS SUPPRESS attribute is invalid for a LEFT_JUSTIFIED field. Explanation: Zero SUPPRESS and LEFT_JUSTIFIED cannot be assigned to the same field. The zero SUPPRESS assignment will not be made when using the Form Language Translator. User Action: If using the Form Editor, assign only one of the field attributes. If using the Form Language, correct the statement to include only one of these attributes.
INVTIMDAT TIME and DATE fields must be LEFT_JUSTIFIED. Explanation: TIME_FIELD and DATE_FIELD fields cannot be assigned the RIGHT_JUSTIFIED or FIXED-DECIMAL attributes. No binary form will be output as a result of this translation. User Action: Delete the attribute specification or add the LEFTJUSTIFIED attribute specification to the FIELD statement.
VAX FMS Software Messages A-29

INVTIME Invalid TIME_FIELD picture was specified. Explanation: The time field picture definition is invalid. Standard field pictures for TIME-FIELD are required. No binary form will be output as a result ofthis translation. User Action: Use one of the standard FMS TIME-FIELD pictures.
INVTXTLEN The length of the background text exceeds the line width. Explanation: The number ofcharacters in the text will not fit on the screen. The length must be less than or equal to the screen width. No binary form will be output as a result of this translation. User Action: Delete some characters in the background text.
INVUAR UAR specification has associated data with no name, re-enter. Explanation: A user action routine (UAR) specification must include the UAR name. User Action: Enter the user action routine name.
INVUARNAM UAR name 'UAR-name' in form 'form-name' violates FMS V2 naming conventions. Explanation: The specified UAR name does not follow the rules for defining valid names for FMS V2.0. User Action: The name must be changed to follow FMS V2 naming rules.
INVVlFILE Invalid Vl file 'file-spec'. Explanation: The input file is not a valid Vl form file or Vl form library. User Action: Check to make sure that the input file has been specified correctly. A common cause ofthis error is that the file has already been upgraded.
INVVlFLB Invalid Vl form library 'library-name'. Explanation: Vl form library is not valid. User Action: Check the Vl form library with Vl utilities to make sure the form library is not corrupted.
INVVlFNAM Invalid Vl form name 'form-name'. Explanation: Vl form name is not valid. User Action: Check the Vl form with Vl utilities to make sure the form is not corrupted.
A-30 VAX FMS Software Messages

INVVlFORM Invalid Vl form 'form-name'. Explanation: Vl form is not valid. User Action: Check the Vl form with Vl utilities to make sure the form is not corrupted.
INVVlNMD Too many named data elements in 'form-name'. Explanation: Vl form has too many Named Data elements. User Action: Check the Vl form with Vl utilities to make sure the form is not corrupted.
INVV2NAM Name is invalid according to FMS V2 naming rules. Explanation: Name specified does not conform to FMS V2 naming rules. User Action: Change the name to conform to the FMS V2 naming rules.
INVWIDSPC An invalid value was specified for WIDTH attribute. Explanation: The valid values for the WIDTH attribute are CURRENT, 80, and 132. No binary form will be output as a result of this translation. User Action: Correct the specified value for WIDTH.
LCHAN Unable to assign channel for 'library-name'. Explanation: The FMS Form Driver was unable to assign the specified channel for the form library. User Action: Check succeeding messages for a reason.
LINETYPE Cannot change line types in a select area or scrolled area. Explanation: Lines in select or scrolled areas must have identical attributes (double size, double wide, scrolled, or normal size). User Action: Adjust the select area, or first change the desired lines to be all of the same type (double size, double wide, or normal size).
LLI Length of line image too long for buffer, line image truncated. Explanation: The length of the line image including video escape sequences is too long for the internal buffer. The screen image for this line has been truncated. User Action: To recover the entire line image, use the /IMAGE = NOESCAPE_SEQUENCE option, or reduce the amount of text and video information in the line.
VAX FMS Software Messages A-31

LOPEN Unable to open form library 'library-name'. Explanation: The FMS Form Driver was unable to open the form library. User Action: Examine the succeeding messages to determine the cause of this error.
MEMRES Form 'form-name' converted to memory-resident format in 'file-spec'. Explanation: The specified form has been converted to memoryresident format and put in the specified file, which is an object module suitable for linking with your application program. User Action: Link the file with your program to access the forms.
MISSFORM No FORM statement has been defined for this form. Explanation: No valid FORM statement was found in the source form description. Either the FORM statement was not defined, or the statement contained errors and was not completely processed. No binary form will be output as a result of this translation. User Action: Add a FORM statement or correct the existing FORM statement.
MISSINDEX The INDEX values for named data are not consecutive. Explanation: The INDEX values for the NAMED_DATA statement entries must be consecutive. One INDEX value is missing in the Named Data assignments. No binary form will be output as a result of this translation. User Action: Correct the INDEX values in the NAMED-DATA statement.
MISSPICT PICTURE is not defined for this field. Explanation: No valid picture was specified in the FIELD statement. Each FIELD statement requires either a PICTURE, DATE_FIELD, or TIME_FIELD definition. No binary form will be output as a result ofthis translation. User Action: Add a picture definition or correct the existing picture definition.
A-32 VAX FMS Software Messages

MODRGNWID Form will be 132-column mode, but with WIDTH = CURRENT defined. Explanation: This message is issued only when the WIDTH mode CURRENT is specified and either text (as a result of DRAW, VIDEO, or TEXT) or field definitions reference a screen column position greater than SO. The form created will be a 132-column form, but the WIDTH mode will be CURRENT. This form cannot be displayed by the Form Driver unless the terminal width is set to 132-column mode. Ifthe terminal is in SO-column mode, the Form Driver issues an error message and does not display the form. User Action: If you want the form to be SO columns wide, then you must correct the TEXT, DRAW, VIDEO, or FIELD definitions that exceeded the SO-column boundary. The form will then be an SO-column form, and the WIDTH mode will be CURRENT.
MRFERR Error generating memory resident form for input file 'file-spec'. Explanation: An error occurred while attempting to generate a memory-resident forms module from the specified input file. User Action: Check to be sure the input files are valid and were entered correctly. Also look at any previous messages for more information.
MULTORDER This visitation order has already been assigned. Explanation: A field has already been assigned this visitation order. A visitation order can be assigned only once in a source form description. No binary form will be output as a result of this translation. User Action: Correct the ORDER statement(s) so that you define the visitation order only once.
NEWLINE Bottom line is not blank, no room to insert new line. Explanation: The bottom line is not blank. Inserting a new line would cause the bottom line to move beyond the screen boundaries. User Action: Change from Insert to Overstrike mode, or delete unwanted lines to make room for insertion.
NEWSCRL Cannot insert line in the middle of a scrolled area. Explanation: A new line cannot be added when the cursor is in the middle of a scrolled area. User Action: Move the cursor to a line outside the scrolled area and then press OPENLINE to insert a blank line at the cursor position.
VAX FMS Software Messages A-33

NOFIELDS No more fields in the form in that direction. Explanation: Attempting to press BACKSPACE in the first field in a form, or attempting to press TAB in the last field in a form, causes an error because there are no more fields. User Action: Move the cursor in the opposite direction to enter another field.
NORMAL Normal, successful completion. Explanation: FMS command completed successfully. User Action: None.
NOSTRING Empty or null string was input for name validation. Explanation: A name or string was expected but not found when name validation was performed. User Action: Check to make sure all command line values are specified correctly.
NOTFRM File 'file-name' is not a form file or form library. Explanation: The specified file is not an FMS V2.0 form file or form library. User Action: Check to make sure that the correct file was specified. This error would result if you specified an FMS Vl file that has not been upgraded to V2.
NOTRANSLR Your FMS license does not include the Form Language Translator. Explanation: The Form Language Translator is sold under a separate license. The Form Language Translator is the facility that converts form descriptions written in the Form Language into binary forms. FMS/DESCRIPTION/FULL produces form descriptions that consist of Form Language statements. Forms created with either the Form Language Translator or the Form Editor are equivalent. User Action: Purchase the Form Language Translator from DIGITAL and install the kit on your system.
NO_UARS No User Action Routines found, null vector module generated. Explanation: No user action routines were found, so a null vector module has been generated. User Action: None.
A-34 VAX FMS Software· Messages

NO_UNDCHR No character in buffer to undelete. Explanation: The character buffer is empty; there is no character to undelete. User Action: You must delete a character before you can undelete one.
NUMFIELD Not enough fields in form to re-order. Explanation: A form must have at least two fields before field ordering is allowed. User Action: None.
ODDNOLIN END_WITH references the bottom half of a DBLSIZ line pair. Explanation: All line specifications for lines having the DBLSIZ line attribute must reference the first line ofthe DBLSIZ line pair. No references to the bottom half of the double-size line pair are allowed. No binary form will be output as a result of this translation. User Action: Correct the line number of the END_WITH specification.
OPENLIST Unable to open listing file 'file-spec' for output. Listing output is inhibited. Explanation: The listing file could not be opened for output. Possible reasons for this message include: the device or directory does not exist; the volume is write-locked or the user does not have write access; the volume is full. The listing file output will be inhibited and translation will continue. Messages will be written to the error logging device. User Action: Correct the situation and reenter the command.
ORDERPROC No FIELD statement can follow an ORDER statement. Explanation: FIELD statements cannot follow ORDER statements. All fields must be defined before any ordering is done. No binary form will be output as a result ofthis translation. User Action: Place all FIELD statements before all ORDER statements.
VAX FMS Software Messages A-35

ORDSCAFLD Scrolled fields must be ordered contiguously. Explanation: All fields in a specified scrolled area must be visited by the Form Driver before exiting the scrolled area. This requires that fields in scrolled areas be contiguously ordered. No binary form will be output as a result ofthis translation. User Action: Correct the ORDER statement so that the fields in the scrolled area are contiguously ordered.
PASTEBLNK Invalid paste, characters to be overwritten are not blank. Explanation: The Paste operation can overwrite blank characters only. User Action: Adjust cursor position or delete some characters so that the paste area is blank.
PASTEBND Invalid paste, paste buffer extends past screen boundaries. Explanation: The specified Paste area must fit within the screen boundaries. User Action: Reposition cursor.
PASTEHANG Invalid test paste, cursor is in hanging position. Explanation: Cursor must be over a character position for test paste. User Action: Reposition cursor.
PASTEMTY Paste buffer is empty. Explanation: The paste buffer is empty. The operation is rejected. User Action: You must press CUT to remove characters and store them in the paste buffer before you can press PASTE to paste up the contents of the paste buffer.
PASTESCA Cannot paste into a scroll area. Explanation: You cannot press PASTE in the middle of a scrolled area. The Cut and Paste functions are allowed for entire scrolled areas only. User Action: None.
PFT Error processing field terminator. Explanation: The FMS Form Driver was unable to process the current field terminator. User Action: Examine the succeeding messages to determine the cause ofthe error.
A-36 VAX FMS Software Messages

PREMATEOF End-of-file or ERROR_LIMIT was reached. Explanation: The end-of-file (EOF) was detected or ERROR-LIMIT was reached before an END_OF_FORM statement was found. No binary form will be output as a result of this translation. User Action: Ifthe source file does not contain an END_OF_FORM statement, add one. Otherwise, correct the translation errors or increase the ERROR_LIMIT (up to 255) so the translation can continue until the END_OF_FORM statement is found.
RANGE_IGNRD Range field validator ignored on field 'field-name'. Explanation: This field contains a range field validator. The validator will be ignored. User Action: The message is informational.
REPEATCNT The specified repeat count is invalid. Explanation: The repeat count value must be less than or equal to the line width. No binary form will be output as a result of this translation. User Action: Correct the repeat count.
REPLACED Form 'form-name' replaced in 'library-name'. Explanation: The specified form was successfully replaced in the form library. User Action: None.
RETFN Error getting name of first field. Explanation: The FMS Form Driver was unable to get the name of the first field. User Action: Check succeeding messages for reason.
RIGHTFIXD RIGHT_JUSTIFIED is invalid with FIXED_J)ECIMAL. Explanation: RIGHT_JUSTIFIED and FIXED_DECIMAL cannot be assigned to the same field. User Action: Assign only one of the field attributes.
SCALEFCTR-IGNRD Scale factor ignored on field 'field-name'. Explanation: This field contains a scale factor. The scale factor will be ignored. User Action: The message is informational.
VAX FMS Software Messages A--37

SCANOFLD The scrolled area contains no fields. Explanation: Every scrolled area must contain at least one field. No binary form will be output as a result of this translation. User Action: Either delete the SCROLL statement or add fields to the scrolled area.
SCAOCCUPD Field or text has already been defined in this scrolled area. Explanation: The scrolled area being defined is already occupied by field or text. A scrolled area must be defined before the field or text is assigned to it. No binary form will be output as a result of this translation. User Action: Correct the line assignment for the scrolled area or for the field or background text; or move the SCROLL statement so that it precedes the FIELD and TEXT statements.
SCAORDER Fields must be contiguously ordered within scrolled area. Explanation: All fields in a specified scrolled area must be visited by the Form Driver before exiting the scrolled area. This requires that fields in scrolled areas be contiguously ordered. No binary form will be output as a result of this translation. User Action: Reorder the fields in the scrolled area so they are contiguous.
SCAPREDEF Scrolled area overlaps a previously defined scrolled area. Explanation: A scrolled area already exists in the area defined, and scrolled areas cannot overlap. No binary form will be output as a result of this translation. User Action: Redefine one or the other of the scrolled areas.
SCREENSIZ Form is not compatible wit~ new screen size, re-specify. Explanation: The specified form cannot be displayed within the specified screen size. User Action: Specify a larger screen size, or delete unnecessary parts of the form.
SCROLLF Invalid line for scrolled area. Explanation: The specified line is already part of a scrolled area. User Action: None.
A-38 VAX FMS Software Messages

SELECTION Select range already active. Explanation: The Select function is already active. User Action: Cancel the current select range by pressing GOLD RESET.
SIZE_IGNRD Size field validator ignored on field 'field-name'. Explanation: This field contains a size field validator. The field validator will be ignored. User Action: The message is informational.
SOMEBAD One or more input files could not be opened. Explanation: Some input files could be opened, but at least one input file could NOT be opened. User Action: Examine the previous messages to determine which input files could not be opened. Make sure they are specified correctly and that they appear in the directory.
SSIGQ Unable to set quiet mode. Explanation: The FMS Form Driver was unable to set error signaling to Quiet mode. User Action: Examine the succeeding messages to determine the cause ofthe error.
STACKOVRF Parse stack overflow - translation was aborted. Explanation: This is an indication ofa severe internal error. User Action: Submit an SPR.
STBORDER Internal error, Screen Text Block is out of order. Explanation: An internal logic error was detected while editing a form. User Action: Submit an SPR.
STMNTDEL The statement item or keyword was deleted. Explanation: This message is a result ofthe previously reported syntax error. The message tells you what internal error recovery was done. No binary form will be output as a result of this translation. User Action: Correct the syntax error.
VAX FMS Software Messages A-39

STMNTEXP One of the following keywords or statement items was expected... Explanation: A keyword or statement item was not expected in the syntax. The list following the messages gives the abbreviated form of all possible valid keywords or items. No binary form will be output as a result ofthis translation. User Action: Correct the statement syntax by using the correct keyword or statement item.
STMNTINS 'name' was inserted before the keyword or statement item. Explanation: This message is a result ofthe previously reported syntax error. The message tells you what internal error recovery was done. No binary form will be output as a result of this translation. User Action: Correct the syntax error.
STMNTREP An invalid statement item or keyword has been replaced by 'name'. Explanation: This message is a result ofthe previously reported syntax error. The message tells you what internal error recovery was done. No binary form will be output as a result of this translation. User Action: Correct the syntax error.
STOP Execution terminated. Explanation: Recovery from previous error(s) was not possible. Processing was aborted. User Action: Check previously issued messages to determine the cause of the problem.
STRMSSQUO String literal is missing a closing quote. Explanation: An item delimiter or end-of-record was found before the closing quote for a string definition. No binary form will be output as a result of this translation. User Action: Add a closing quote.
SYNTAXERR Syntax error. Explanation: A syntax error was detected in the source form description file. No binary form will be output as a result of this translation. User Action: Correct the syntax error.
A-40 VAX FMS Software Messages

TOOMNYFLD Too many fields have been defined for this form. Explanation: The number of fields created exceeds the number allowed for one form. The translation has been aborted. No binary form will be output as a result of this translation. User Action: Delete some FIELD statements.
TOOMNYNMD Too many nameCLdata entries have been defined for this form. Explanation: The number of NAMED_DATA statement entries exceeds the number allowed for one form. The translation has been aborted. No binary form will be output as a result of this translation. User Action: Delete some NAMED_j)ATA statement entries.
TRANABORT A severe translation error was detected. Translation has been aborted. Explanation: A severe error was detected during translation. Translation was aborted. No binary form will be output as a result of this translation. User Action: Correct the error by examining previous messages for the cause of the error.
TRANDIAGS Translation was completed with warnings or informational messages. Explanation: The translation was completed with warning or informational errors. A binary form was output. User Action: Check the messages generated during the translation to see if the resulting binary form will be what was expected. Some corrective action may have occurred during the translation. If the messages indicate that the form is what you expected, you may use the form as is. If the messages indicate that the form is different from what you expected, then you should correct the errors.
TRANWOERR Translation was completed without error. Explanation: The translation completed without any errors. Unless /NOOUTPUT was explicitly requested in the command line, a binary form was output. User Action: The form can be placed in a form library for use in your application program or displayed with FMS/TEST.
TXTLENGTH Internal error, Package Text Block is too long. Explanation: An internal logic error has been detected while generating a form. User Action: Submit an SPR.
VAX FMS Software Messages A-41

UNDCHROVS Character to be overwritten is not blank. Explanation: Undelete character can only overwrite a space in Overstrike mode. User Action: None.
UNDELLINE No line to undelete, line buffer is empty. Explanation: The line buffer is empty. There is no line to undelete. User Action: You must delete a line before you can undelete one.
UNDNOROOM UNDELETE buffer will not fit from cursor position. Explanation: There is not enough room for the contents of the UNDELETE buffer beginning at the present cursor location. User Action: Reposition the cursor.
UNDNOTMTY UNDELETE area is not blank or line types don't match. Explanation: The Undelete function can overwrite blank characters only, and only when all lines in the target area have the same line attributes. User Action: Adjust the cursor position, or delete some characters so that the undelete area is blank. Also make sure that all lines in the target area have the same line attributes.
UNSCROL Line not part of a scrolled area. Explanation: The line specified for the Unscroll operation must be from the top or bottom of a scrolled area. User Action: None.
UNSCROLM Cannot unscroll middle of scrolled area. Explanation: Unscroll is only allowed at the top or bottom of a scrolled area. User Action: Reposition the cursor at the top or bottom of the scrolled area.
UPGRADED Vl file 'file-spec' upgraded to V2 file 'file-spec'. Explanation: The Vl input file was successfully upgraded, and its V2 counterpart was output. User Action: None.
A-42 VAX FMS Software Messages

VlSCRTXT Scrolled area in form 'form-name' has text characters; behavior will be different in FMS V2. Explanation: A scrolled area in the form has text characters in it. In FMS Vl, these characters would have scrolled off the screen and would not be displayed again. In FMS V2, they will remain in the scrolled area and will not scroll off the screen. User Action: There is no way to exactly emulate the Vl behavior in V2. Text characters will always be present on every line of a scrolled area, or you can delete them entirely.
VECTERR Error generating UAR vector module for input file 'file-spec'. Explanation: An error occurred while attempting to generate a UAR vector module for the specified input file. User Action: Check to be sure that the input files are valid and that they were entered correctly. Also look at any previous messages for more information.
VECTOR Form 'form-name' UAR vectors included in 'file-spec'. Explanation: Any UARs in the specified form have had vector information concerning them included in the specified file, which is an object module suitable for linking with your application program. User Action: Link the file with your program so that the Form Driver will know where to find the UARs when it needs to call them.
VIDEOF Invalid select range for attempted operation. Explanation: The specified select area includes part of one or more fields. Entire fields must be included in the select range. User Action: Respecify the select area to include entire fields, or choose another function.
VIDILLCHR Illegal character for insertion during VIDEO or CHRSET. Explanation: Only alphanumeric characters, including space and comma, are accepted during VIDEO or CHRSET entry. User Action: Enter a valid character or press RETURN,
VIDILLFNC Illegal key function during VIDEO or CHRSET functions. Explanation: The function key pressed is not valid during VIDEO or CHRSET entry. User Action: Enter a valid character or press RETURN.
VAX FMS Software Messages A-43

VIDILLKEY Invalid or misspelled keyword. Explanation: The characters entered were not recognized as a valid video attribute. User Action: Enter a valid video attribute keyword (blink, bold, clear, restore, reverse, or save), or press RETURN.
VIDLINFUL No room to insert more characters on line. Explanation: There is no more room for video keywords on this line. User Action: Press RETURN to process the current line, and then enter more video attributes as desired.
VIDNODEL Can't delete left from beginning of the line. Explanation: Attempt to delete past beginning of line has been ignored. User Action: Enter a video attribute keyword (blink, bold, clear, restore, reverse, underline, or save), or press RETURN.
VIDPROT Cannot change video or character set of indexed fields. Explanation: The video attributes or character set of a single indexed field cannot be changed because all indexed fields must have identical attributes. User Action: Unindex the fields, change their attributes, then reindex.
WRITELIST Unable to write to listing file. Further listing output is inhibited. Explanation: The Form Language Translator is unable to write to the listing file. Possible reasons for this include: (1) the device or directory does not exist; (2) the volume is write-locked or the user does not have write access; (3) the volume is full. Further listing file output will be inhibited. Translation will continue. User Action: Correct the situation and reenter the command.
ZEROCLR The field attribute ZERO-FILL requires clear-character to be zero. Explanation: A field defined with the Zero fill attribute must also have a clear character of zero. If you are using the Form Language Translator, the clear character will be set to zero, and a binary form will still be output. User Action: Define Clear Character as zero for all zero-filled fields.
A-44 VAX FMS Software Messages

ZEROPICT A check for conflicting screen pqsition not done. Explanation: No valid picture was defined for this field, or the field contained no field-validation characters. No binary form will be output as a result of this translation. User Action: Correct the field picture.
ZEROSUPPR Field attribute zero SUPPRESS can only be used with ZERO-FILL. Explanation: The zero SUPPRESS attribute must have the ZERO-FILL attribute assigned to the same field. Ifyou are using the Form Language Translator, no binary output form is created as a result of this translation. User Action: Include ZERO-FILL with zero SUPPRESS in the field attribute list.
ZROFILL_ADDED Zero-fill attribute added to field 'field-name'. Explanation: This field contained a conflict of attributes. To resolve the conflict, the zero-fill attribute was added. User Action: The message is informational.
ZROFILL_REMOVED Zero-fill attribute removed on field 'field-name'. Explanation: The field contains a conflict of attributes. To resolve the conflict, the zero-fill attribute was removed. User Action: The message is informational.
ZROSUPP_REMOVED Zero-suppressed attribute removed on field 'field-name'. Explanation: This field contained a conflict of attributes. To resolve the conflict, the zero-suppressed attribute was removed. User Action: The message is informational.
A.6 Form Driver Messages for Programmers
ARG Wrong number of arguments for call. Explanation: Either too many or too few arguments were specified in a call on one of the Form Driver routines. No part of the function was performed. User Action: Correct the call in the source code according to the information in the VAX FMS Form Driver Reference Manual.
VAX FMS Software Messages A-45

CAN Call was cancelled. Explanation: The call did not complete because it was cancelled by a previous call on the FDV$CANCL routine from the user's program. User Action: No action is required since the cancel was requested by the user program. Output parameters of the call are undefined.
DLN Data to output too long. Explanation: Data given to the Form Driver to display in a field or on a data line (from any ofthe Form Driver PUT-type calls or from the FDV$GETDL call) was too long for the field or line and was truncated as the Form Driver completed the operation. This message is displayed only when the Form Driver is in Debug mode and is not returned to a program. User Action: Check for program errors that cause the data string to be too long. Check that the form has been designed properly.
DNM Invalid call to get named data. Explanation: The name supplied in a FDV$RETDN call or the index supplied in a FDV$RETDI call could not be found in the Named Data of the form. User Action: Check that the Named Data name or index is properly specified in the program and that the Named Data is defined in the form. Output parameters of the call are undefined.
DSP GET-type call is illegal for display only field. Explanation: The program called FDV$GET, FDV$GETAF, FDV$GETAL, or FDV$GETSC, but the field is display only, or it is supervisor only and the supervisor-only flag is on (making it equivalent to a display-only field). Output parameters of the call are undefined. User Action: Check that the field attributes are correct and that the correct form is in the current workspace.
A-46 VAX FMS Software Messages

FCH Form library is not open on channel. Explanation: A call to the Form Driver required access to a form library to find the definition of a form, but no form library is open on the current channel. User Action: Check that the form is either memory resident or that an FDV$LOPEN call precedes the request to display a form. If the form library was properly opened, check that the correct channel number was specified to the Form Driver in the last FDV$LCHAN call (if any). The form library should be open while the form is being processed since the Form Driver may require access to the form library to redisplay the form (CTRL/R) or to access a help form from the library.
FLB Specified file not a form library. Explanation: The file specified to open in an FDV$LOPEN call is not an FMS V2 form library. User Action: Check that the file specification is correct and that any FMS Vl libraries have been converted to FMS V2 libraries.
FLD Invalid field specification. Explanation: The field specified does not exist. An invalid field name or an invalid index for the field was specified. Output parameters of the call are undefined. User Action: Check the field name and index. An unindexed field must have an index of zero and indexed fields must have positive indexes. Also check for a program error that causes the call to be executed at the wrong time or for the wrong form.
FNM Specified form does not exist. Explanation: The specified form cannot be found in the memoryresident list or in the current form library. Ifthis message is returned on a GET-type call, then a help form was defined for the current form but could not be found. Output parameters of the call are undefined. User Action: Check that the form has been placed in the memoryresident list. Check to see that you have created and linked with your program an object module that contains that form. Make sure that the correct form library file is open and that the channel number specified to the Form Driver is the one specified when the form library file was opened. Check that the call specifies the correct form name.
VAX FMS Software Messages A-47

FRM Invalid binary form. Explanation: The format of the binary form is not valid. Most likely the file or memory-resident storage area from which the form is obtained has been corrupted. User Action: Check that the form description has not been altered since it was produced by the Form Editor, the Form Language Translator, or the Form Upgrade Utility.
FSP Illegal file spec in a LOPEN call. Explanation:· The file name specified for the form library is not a legal file specification. User Action: Correct the file specification.
FVM Error freeing virtual memory. Explanation: The Form Driver encountered an error in freeing some of the virtual memory it obtained for the process. User Action: Check the program for logic errors which may overwrite some Form Driver data or for the same TCA or workspace attached more than once without being detached.
IBF User buffer supplied too small for form specified. Explanation: The buffer supplied to the FDV$READ call is too small to contain the form description read from the library. User Action: Increase the size of the buffer. The buffer must be at least the size of the form plus 8 bytes.
ICH Invalid channel number specified. Explanation: An attempt was made to access a form library on the channel specified in the last FDV$LCHAN call or in the FDV$LOPEN call. That channel number is not a valid channel number for the program. The second parameter of the FDV$STAT call, if nonzero, contains the RMS 1/0 status code from the system. User'Action: Correct the channel number that the program is using.
IFN Illegal PFT function. Explanation: The field terminator in a FDV$PFT call is illegal. For example, the Next Field function is illegal at the end of the form and Exit Scrolled Area Forward is illegal if the field is nonscrolled. The current field is not changed. The current field is returned as the "new field" in the output parameters. User Action: ·Check the program for logic error in the use of the FDV$PFT call.
A-48 VAX FMS Software Messages

IFU Illegal function while in UAR. Explanation: The program attempted an illegal FDV$DTERM or FDV$DWKSP while the program was executing a user action routine. These routines may not detach the TCA or workspace which are current at the time of invocation of the UAR. The detach does not take place. User Action: Rewrite the program to avoid detaching during execution of a UAR.
IMP Workspace too small. Explanation: The size of the workspace passed in an AWKSP call is too small for the Form Driver to link with its other structures. No attach is performed. User Action: Check that the workspace is a contiguous array or string of at least 12 bytes. Check that the workspace is passed by descriptor.
INC Form incomplete after a PFT call. Explanation: The FDV$PFT call had a field terminator of FDV$_FT_NTR, and PFT detected that some nonscrolled field in the form did not satisfy one of the validation criteria: Must Fill, Response Required, or user act ion routine. The current field is set to the first such field, and its name is returned to the "new" field parameters of the FDV$PFT call, if any. User Action: Decide what action is appropriate.
INI Workspace not attached. Explanation: The call required a current workspace, and none was current or it was corrupted. The call could not complete and any output parameters are undefined. User Action: Provide a current workspace. Check that a workspace was really attached; the return from FDV$AWKSP or FDV$SWKSP may have stated that the operation attempted was not successful. Check that the terminal to which the workspace is attached is the current terminal. Check that the program does not write into the area given to the Form Driver for the workspace.
IOL Error opening form library. Explanation: An error was encountered in an attempt to open the form library. The RMS 1/0 error code is returned with the second parameter of the FDV$STAT call. User Action: Check that the form library specification is correct and that the file exists on the specified volume and directory.
VAX FMS Software Messages A-49

IOR Error reading form library. Explanation: An error was encountered reading the form library. The RMS 1/0 error code is returned with the second parameter of the FDV$STAT call. User Action: Check that the volume is installed and that its device is on line. If the message continues to appear, try another copy of the form library file. If the new copy works, the original copy or its form name directory are corrupt and should be replaced.
ITT Invalid terminal type. Explanation: The terminal specified in a FDV$ATERM call is not of
a type that is supported by FMS. The Form Driver determines the terminal type from the VMS device information calls. If the terminal is not specified correctly to VMS or if the terminal is not supported by FMS, the Form Driver cannot continue. The TCA is not attached. User Action: Set the correct VMS terminal type information from DCL or use an FMS-supported terminal. .
IVM Insufficient virtual memory. Explanation: The Form Driver was unable to obtain enough virtual memory from VMS for its purposes. The operation did not complete. User Action: Extend the amount of virtual memory available for the process or change the program logic to use less virtual memory.
KEX Too many key codes for key function in the def'kbd parameter. Explanation: A call on FDV$DFKBD attempted to define too many keys to be associated with an FMS function. Only one key can be associated with the intrafield editing operations and only two keys can be associated with the interfield or field terminator functions. The entire keyboard definition is rejected, and the previously defined keyboard remains in effect. User Action: Change the keyboard definition array parameter to DFKBD. Check that the array is defined to be a one-dimensional word array.
KIF Illegal key function in the def'kbd parameter. Explanation: A key was assigned a function unknown to the Form Driver in an FDV$DFKBD call. The entire keyboard definition is rejected, and the previously defined keyboard remains in effect. User Action: Correct the Form Driver function code in the keyboard definition array parameter. Check that the array is defined to be a onedimensional word array.
A-50 VAX FMS Software Messages

KIL Key code illegal. Explanation: An unknown key code was passed to the FDV$DFKBD call. The entire keyboard definition is rejected, and the previously defined keyboard remains in effect. User Action: Correct the Form Driver key code in the keyboard definition array parameter. Check that the array is defined to be a onedimensional word array.
KTW Key code assigned two key functions. Explanation: In a call on FDV$DFKBD, the same key was assigned two different functions. The entire keyboard definition is rejected, and the previously defined keyboard remains in effect. User Action: Change the keyboard definition in the array passed to the Form Driver.
LIN Line or portion ofform lies outside visible screen range. Explanation: For calls which specify that a form be shifted vertically on the screen, the line or offset parameter causes a part ofthat form to be shifted off the screen; the form is not displayed. If a VTl00-family terminal does not have the advanced video option, a form defined expecting more than 13 lines of 132 columns will not fit. For calls that specify the data line (FDV$PUTL, FDV$GETDL), the line specified is not on the screen; the line is not displayed, and the input is not requested. User Action: Check the program logic to ensure that the right form is being displayed, that the terminal can display the form, or that the data line being used is on the screen in its current state.
LLI Length of Line Image too long for FDV (RETFL). Explanation: In a call on FDV$RETFL, the Form Driver's internal buffer, used to build up the current terminal's line image, has overflowed. The line image returned may be incomplete but is correct as far as it extends across the line. User Action: Redefine the form to contain less background text or fewer fields on a single line. Each change ofvideo attributes increases the amount of internal storage space needed for background text.
VAX FMS Software·Messages A-51

MOD Input successful, some field may be changed. Explanation: Input for one of the GET-type calls has completed successfully, and it is possible that one or more fields (depending on the call) has been modified by the operator. Note that typing any data characters into a field generates this return, even if those characters do not change the field. This does not usually indicate an error but is informational. User Action: Decide what action is appropriate.
NDS Get-type call to undisplayed form was attempted. Explanation: The program called FDV$GET, FDV$GETAF, FDV$GETAL, or FDV$GETSC, but the form in the current workspace is not displayed. No input is requested. Output parameters of the call are undefined. A form is not displayed ifit was loaded into the workspace by FDV$LOAD but never displayed by FDV$DISPW; if it was explicitly marked not displayed by a FDV$NDISP call; if it is implicitly marked not displayed because a FDV$CDISP call cleared the screen and displayed another form from a different workspace; or because it was implicitly marked undisplayed by another form being displayed, which forced the screen to be narrower than the form previously displayed. User Action: Check for a logic error in the program.
NFL No form loaded into specified workspace. Explanation: The call pertains to a form, fields of a form, or Named Data and no form is loaded into the current workspace. The function requested is not performed, and output parameters of the call are undefined. User Action: Check for a program error that causes the field processing call to be executed for the wrong workspace. Check that the form has been loaded.
NOF No fields defined for form. Explanation: Calls pertaining to fields are illegal if no fields are defined for the current form. No input is requested. Output parameters of the call are undefined. User Action: Check that the form has been defined properly. Also check for a program error that causes the field processing call to be executed for the wrong workspace.
A-52 VAX FMS Software Messages

NSC Specified a scrolled field, but field not found in scrolled area. Explanation: The name of a field is required to identify the scrolled area to which the call pertains. The specified field is not in a scrolled area. User Action: Check the current form. If the form is correct and if it has been defined properly, check for proper field name.
SIGNAL Error signaled. Explanation: The Form Driver signaled an internal Form Driver logic error. User Action: Submit an SPR.
SRETFL Signal to RETFL leading to LLI. Explanation: The Form Driver signaled an error which was not properly handled internally. User Action: Submit an SPR.
STA Size of Terminal Control Area too small. Explanation: The size of the TCA passed in an ATERM call is too small for the Form Driver to link with its other structures. User Action: Check that the TCA is a contiguous array or string ofat least 12 bytes. Check that the TCA is passed by descriptor.
STR Insufficient space allocated for string. Explanation: The string descriptor given to the Form Driver was not long enough for the string value returned. The string is truncated on the right and execution continues. User Action: Check that the string definition is long enough for the longest data expected to be returned. Dynamic strings must be preextended to the proper length before calling the Form Driver.
SUC Normal completion. Explanation: The Form Driver call has completed successfully. User Action: None required.
VAX FMS Software Messages A-53

SYS FDV encountered system error response. Explanation: The Form Driver encountered an error in requesting a VMS system service. The Form Driver action was not completed. The second word of the FDV$STATcall contains the VMS status code. User Action: Ifthe VMS system error is "running out of event flags," then either use fewer terminals at a time or fewer event flags. Other errors usually indicate network or terminal errors. Iferrors occur regularly, submit an SPR.
TCA Terminal Control Area invalid or undefined. Explanation: The call required a TCA, and there was no current TCA or the current TCA has been corrupted. User Action: Check that a TCA has been attached and that the program does not write into the TCA given to the Form Driver.
TMO Timeout exceeded on GET-type call or WAIT. Explanation: The operator has not responded with a keystroke in the time allotted by the last FDV$STIME call. The values returned in the output parameters are not defined. User Action: User action is defined by the program, since the program requested the timeout.
UAR UAR returned illegal code. Explanation: A user action routine called by the Form Driver has returned a function value not expected by the Form Driver. This error terminates any GET-type call, and the values returned in the output parameters of the call are not defined. User Action: Check that the UAR routine returns only those values expected by the Form Driver for that type of UAR. Make sure that the declaration of the UAR is as a function returning an integer value.
UDP UAR depth exceeded. Explanation: The program has UAR calls nested beyond the Form Driver's ability to keep track ofthem. The nesting arises when a UAR performs a GET-type call which requires a UAR for completion. The GET-type call, which gave rise to the UAR, is terminated with this error code and the values returned in the output parameters are not defined. UserAction: Check for an infinite loop in your program. Also, do not nest user action routines so deeply.
A-54 VAX FMS Software Messages

-------------------~
UNF UAR specified but not found. Explanation: During processing of a GET-type call, a UAR was specified for the field or form but was not found in the UAR vector. The GET-type call is terminated, and the output parameters are not defined. User Action: Check that the link command for the image includes a UAR vector object module. A vector module is produced for the forms used in the application by the FMSNECTOR command.
UTR Undefined field terminator. Explanation: The field terminator in an FDV$PFT call is not a valid Form Driver terminator (in the range 0-9). The current field remains the same, and the "new field" in the output parameters is set to the current field. User Action: Correct the field terminator code.
VAL Value of parameter.out of range. Explanation: At least one of the call's parameters requires a value with a limited range and that range has been exceeded. User Action: Correct the value of the parameter.
WID Form too wide for terminal or context. Explanation: The form to be displayed requires the terminal to be in 132-column mode. The terminal is not capable of such a mode, or the form definition does not require that the terminal be switched to that mode and the terminal is in SO-column mode. User Action: Check that the terminal is capable of 132-column mode. Ifnot, do not use this form on the terminal or redefine the terminal. If the terminal is capable of 132-column mode, check that the form definition requires the mode change (in Form Editor phase or in the Form Language FORM WIDTH statement). If the terminal is capable of 132-column mode, reset it. Ifnot, redefine the form for this terminal.
A.7 Form Driver Messages for Terminal Operators
Alphabetic required. Explanation: An alphabetic character is required in the current position. The alphabetic characters are the letters A-Z, a-z, and space. User Action: Application documentation should include instructions for completing the field. The character is rejected and the cursor returns to the position to be entered and the operator may continue.
VAX FMS Software Messages A-55

~-----------------~
Alphanumeric required. Explanation: An alphabetic (A-Z, a-z, space) or numeric (0-9) character is required in the current position. User Action: Application documentation should include instructions for completing the field. The character is rejected and the cursor returns to the position to be entered and the operator may continue entry.
Cannot change input mode in fixed decimal field. Explanation: It is not possible to change input modes while inputting to a fixed-decimal field. The integer part of the field is always entered in Insert mode and the fractional part is always entered in Overstrike mode. User Action: The mode command is rejected, and the operator may continue entry.
Cannot move cursor left. Explanation: The cursor cannot be moved farther left since it is already in the first character position of the field. User Action: The cursor is not moved, and the operator may continue entry.
Cannot move cursor right. Explanation: The cursor cannot be moved farther right since it is already at the end of the field. User Action: The cursor is not moved, and the operator may continue entry.
Field full. Explanation: No more characters can be entered into the field without deleting another character, changing the input mode to Overstrike, or moving the cursor so that Insert mode does not require shifting a character out of the field. User Action: The character is rejected, and the operator may enter an editing key or a terminator.
Full Field Required. Explanation: The current field must be completely filled and contain no fill characters. User Action: Application documentation should include instructions for completing the field. The cursor is placed in the field that must be filled, and the operator may continue entry.
A-56 VAX FMS Software Messages

Input Required. Explanation: At least one non-fill character must be entered in the current field. User Action: Application documentation should include instructions for completing the field. The cursor is placed in the field that must have some entry, and the operator may continue entry.
Insert mode illegal. Explanation: The operator attempted to change the input mode from Overstrike to Insert. Insert mode is not legal in a field with a mixed picture, since shifting characters may invalidate previous characters entered into the field. User Actfon: The mode remains Overstrike, and the operator may continue entry.
Invalid character. Explanation: The character input is not a legal ASCII character. User Action: Application documentation should include instructions for completing the field. The character is rejected, and the cursor returns to the position to be entered and the operator may continue entry.
No help available. Explanation: No help beyond that already given is available. User Action: If a help form has been displayed, the operator has two choices: pressing HELP to restart the help cycle or pressing RETURN or ENTER to return to the data entry form to continue entry. Ifa help form has not been displayed, the cursor returns to the field being entered, and the operator may continue entry immediately.
No next field on form. Explanation: The operator has pressed a terminator key, which requests movement to the next field on the form (the Next Field function or the Exit Scrolled Area Forward function), and there are no input fields after the current field. User Action: The cursor does not move, and the operator may continue input in the current field.
VAX FMS Software Messages A-57

No previous field on form. Explanation: The operator has pressed a terminator key, which requests movement to the previous field on the form (the Previous Field function or the Exit Scrolled Area Backward function), and there are no input fields before the current field. User Action: The cursor does not move, and the operator may continue input in the current field.
Nothing to delete. Explanation: There is no character to delete since the cursor is at the left edge of a left-justified field or all the characters to the left of the cursor in a right-justified field are fill characters. User Action: The field is not changed, and the operator may continue entry.
Numeric required.
Explanation: A numeric character (0-9) is required in the current
position. User Action: Application documentation should include instructions for completing the field. The character is rejected, the cursor returns to the position to be entered and the operator may continue entry.
Only HELP (more help) and RETURN or ENTER (return to data entry) are legal. Explanation: A help form is being displayed and the operator has entered an illegal terminator for this situation. User Action: The operator must enter one of three responses: the HELP key (to get more help), and either the RETURN or ENTER keys (to exit the help procedure and return to data entry).
Only RETURN or ENTER are legal as DEBUG response. Explanation: The Form Driver has just displayed a Debug mode message, and the operator has entered an illegal terminator for this situation. User Action: The operator must enter one of two keys, RETURN or ENTER, to signal the Form Driver that the Debug message has been seen. The program continues from the point of the error.
A-58 VAX FMS Software Messages

Signed numeric required. Explanation: A valid signed numeric character (0-9, period, comma, plus, minus) is required in the current position. Whether period or comma is accepted as the decimal point depends on the last FDV$DPCOM call. The default is period. No more than one decimal point or sign is allowed in any field with a signed numeric validation character. User Action: Application documentation should include instructions for completing the field. The character is rejected, and the cursor returns to the position to be entered and the operator may continue entry.
Terminator required. Explanation: The operator pressed a data key, but the Form Driver requires a terminator in this context, since the input operation results from an FDV$WAIT call. User Action: Application documentation should include instructions for completing the form. The character is rejected, and the operator may continue entry.
That terminator is legal only in scrolled areas. Explanation: The current field is nonscrolled, and the operator pressed a terminator key which applies only to scrolled areas (Scroll Forward, Scroll Backward, Exit Scrolled Area Forward, Exit Scrolled Area Backward). User Action: Application documentation should include instructions for completing the form. The cursor is not moved, and the operator may continue entry.
VAX FMS Software Messages A-59

Index

A
Absolute coordinates, 4-3 Adjacent fields, creating, 3-19 Application programs
writing an application, 1-2, 1-5 Assign Phase
attributes, selecting, 3-37 entering, 3-34 field attributes questionnaire, 3-36 field attributes, choosing, 3-36 field default values, specifying, 3-38 field name, 3-36 fi~ld UAR questionnaire, 3-38 index fields, creating, 3-36 leaving, 3-35 menu, 3-35 (figure) ATTRIBUTE-DEFAULTS statement description, 4-7 example, 4-9 field attributes, 4-7 (table) syntax, 4-7 text attributes, 4-8 (table) Autotab field attribute, 2-15
B
Background text, 2-2 (figure), 2-7 Blank fill field attribute, 2-15

c
Changing modes in Layout Overstrike/Insert, 3-26 Terminal Bell/Quiet, 3-26 Text/Field, 3-26
Character sets, selecting, 3-19 COBOL data divisions, 6-4 Command Syntax Notation, 1-8 (table) Commands
See also DCL commands FMS commands and qualifiers, 1-9,
10-4 Common Data Dictionary (CDD), 8-1 Creating a form library, 5-4 (figure) Cursor movement in Layout Phase, 3-20 Cut operation, 3-21
D
Data Phase entering, 3-41 figure, 3-42 leaving, 3-41 questionnaire, 3-41
Data validation, 2-8 DATATRIEVE record definitions, 6-4 Date fields, 2-12
menu in Layout Phase, 3-23 (figure) table, 2-13 DCL commands, 1-6 command line format, 1-7
Index-I

DCL commands (Cont.) syntax notation, 1-7
Default file types, 1-9 (table) Default value field attribute, 2-15, 3-38 Developing video forms applications, 1-1 Development Cycle
See also Program development cycle, 1-2
Directories form file, 6-1, 6-9 form library, 5-3, 6-9
Display only field attribute, 2-15 Double size lines
attribute, 2-21 creating, 3-25 Double wide lines attribute, 2-21 creating, 3-25 DRAW statement description, 4-10 example, 4-11 syntax, 4-10 Drawing lines and boxes, 3-26
E
END-OF-FORM statement description, 4-12 example, 4-12 syntax, 4-12
Error signaling, 3-7 Exit Phase
entering, 3-47 leaving, 3-48 query, 3-48 (figure)
F
Field attributes, 2-4, 2-14 autotab, 2-15 blank fill, 2-15 clear character, 2-15 default value, 2-15 display only, 2-15 field name, 2-16 field UARs, 2-15 fixed decimal, 2-16 help text, 2-17 indexed, 2-17 left justify, 2-17 must fill, 2-17 no echo, 2-17 response required, 2-17 right justify, 2--18
lndex-2

Field attributes (Cont.) supervisor only, 2-18 uppercase, 2-18 zero fill, 2-18 zero suppress, 2-18
Field attributes questionnaire, 3-36 figure, 3-39
Field completion UARs questionnaire, 3-40 (figure)
Field highlighting form attribute, 2-20, 3-13
Field mode, 3-26 Field name field attribute, 2-16 Field ordering, 2-13 FIELD statement
attributes, 4-13 table, 4-14
description, 4-13 examples, 4-15 indexed fields, specifying, 4-13 syntax, 4-13 Field UAR questionnaire, 3-38 Field UARs field attribute, 2-15 Field-marker characters, 2-10 (table) Field-validation characters, 2-10 (table) Fields, 2-3 date fields, 2-12 field picture, 2-8 field-marker characters, 2-8
table, 2-10 field-validation characters, 2-8
table, 2-10 figure, 2-9 ordering, 2-13 time fields, 2-12 File types, 1-8 Fixed decimal field attribute, 2-16 figure, 2-17 FMS commands and qualifiers, 10-4 table, 1-9 FMS/CONVERT functions performed, 8-1 TDMS features ignored; 8-2 FMS/CONVERT command conversion example, 8-4
converting the form, 8-5 full, 8-6 (figure) generating a description, 8-5 TDMS listing, 8-4 (figure) description, 8-3 qualifiers, 8-3 syntax, 8-3 FMS/DESCRIPTION command, 10-3 brief description, 6-6 (figure)

FMS/DESCRIPTION command (Cont.) data description file, 6-6 (figure) declarations file, 6-4 description, 6-3 full description, 6-7 (figure) printed image, 6-8 (figure) qualifiers, 6-3 syntax, 6-3 video image, 6-8 (figure)
FMS/DESCRIPTIONS/DECLARATIONS command
description, 10-4 indexed fields, 10-5 scrolled areas, 10-5 FMS/DIRECTORY command, 10-3 description, 6-9 example, 6-10 full form file directory, 6-10 (figure) full form library directory, 6-11 (figure) qualifiers, 6-9 syntax, 6-9 FMS/EDIT command description, 3-5 examples, 3-6 qualifiers, 3-5 syntax, 3-5 FMS/LIBRARY subcommands, 1-7 FMS/LIBRARY/CREATE command description, 5-3 example, 5-3 figure, 5-4 qualifiers, 5-3 syntax, 5-3 FMS/LIBRARY/DELETE command description, 5-9 example, 5-9 qualifiers, 5-9 syntax, 5-9 FMS/LIBRARY/EXTRACT command description, 5-8 example, 5-8 qualifiers, 5-8 syntax, 5-8 FMS/LIBRARY/INSERT command description, 5-5 example, 5-5 qualifiers, 5-5 syntax, 5-5 FMS/LIBRARY/REPLACE command,
1-7 description, 5-6 example, 5-7

FMS/LIBRARY/REPLACE command (Cont.)
qualifiers, 5-7 syntax, 5-6 FMS/OBJECT command, 10-3 creating memory-resident forms, 6-13
(figure) creating object modules of UAR vectors,
6-15 (figure) description, 6-12 example, 6-13 qualifiers, 6-12 syntax, 6-12 FMS/:rEST command description, 7-3 displaying a form, 7-4 (figure) example, 7-3 qualifiers, 7-3 syntax, 7-3 FMS/:rRANSLATE command description, 4-28 examples, 4-29 qualifiers, 4-28 syntax, 4-28 FMS/UPGRADE command description, 9-3 qualifiers, 9-3 syntax, 9-3 FMS/VECTOR command, 10-3 description, 6-14 example, 6-14 qualifiers, 6-14 syntax, 6-14 Form Application Aids, 1-5, 10-1 capabilities, 6-1 FMS/DESCRIPTION command, 6-3 FMS/DIRECTORY command, 6-9 FMS/OBJECT command, 6-12 FMS/VECTOR command, 6-14 list of programming tools, 10-3 Form attributes, 2-5, 2-18 field highlighting, 2-20 form name, 2-19 function key UARs, 2-20 help form name, 2-19 post-help UAR, 2-21 pre-help UAR, 2-21 screen area to clear, 2-20 screen background, 2-19 screen character set, 2-19 screen width, 2-19 Form characteristics attributes, 2-4, 2-14 background text, 2-1, 2-7
Index-3

Form characteristics background text (Cont.) figure, 2-2 field attributes, 2-4 fields, 2-3, 2-8 form attributes, 2-5 line attributes, 2-6 Named Data, 2-4, 2-13 UAR names, 2-4 video attributes, 2-7
Form Converter attribute combinations, 8-2 FMS/CONVERT, 8-3 functions performed, 8-1 software components requirements, 8-1 TDMS features ignored, 8-2
Form description, 4-1, 4-4, 6-1 example, 10-6
Form display in Layout Phase figure, 3-18
Form Driver, 1-1 Debug mode, 7-1 errors, 7-2 (table)
Form Editor Assign Phase, 1-3 3-3 background text, 3-1 typing it in, 1-3 choosing a phase, 3-7 creating forms, 3-2 Data Phase, 1-3, 3-3 error signaling, 3-7 Exit Phase, 1-4, 3-4 field attributes, 1-3 fields, 1-3 Form Editor menu, 1-3 Form Phase, 1-3, 3-3 keyboard layout, 10-2 (figure) Layout Phase, 1-3, 3-3 Named Data, 1-3 new functionality, 10-1 Order Phase, 1-4, 3-3 setting up your terminal, 3-4 Test Phase, 1-4, 3-3 UARs, 1-4
Form Editor keys, 3-6, 10-2 figure, 3-6 functions, 3-7
Form Editor Menu figure, 3-8
Form Editor phases, 3-2 Form file directory, 6-9 Form Language statements, 4-6
Index-4

Form Language Translator, 1-4 abbreviations, 4-6 ATTRIBUTE-DEFAULTS statement, 4-7 attributes, 4-3 comments, including, 4-6 coordinate specifications, 4-3 DRAW statement, 4-10 END-OF-FORM statement, 4-12 FIELD statement, 4-13 form description, writing, 4-4 FORM statement, 4-16 layout sheet, 4-4 figure, 4-5 NAMED-DATA statement, 4-19 naming rules, 4-2 ORDER statement, 4-21 restrictions, 4-6 sample translation listing, 4-29 figure, 4-29 SCROLL statement, 4-23 statements, 4-6 format, 4-6 items, 4-2 types, 4-2 (table) TEXT statement, 4-25 text strings, 4-3 VIDEO statement, 4-27
Form Librarian, 10-1 capabilities, 5-1 commands, 5-3 creating form libraries, 1-4, 5-3 deleting a form, 5-9 deleting form libraries, 1-4 extracting forms, 1-4, 5-8 form libraries, 1-4 inserting a form, 5-5 inserting forms in libraries, 1-4 list of operations, .10..:.3 memory-resident forms, 1-5 replacing forms, 1-5, 5-6 warning, 5-2
Form Libraries, 1-5 Form name form attribute, 2-19, 3-12 Form Phase
entering, 3-9 field highlighting, 3-13 form attributes, 3-9 form name, 3-12 help form name, 3-12 initial field attributes, 3-14 leaving, 3-10 questionnaires
Assign form attributes, 3-10 (figure)

Form Phase questionnaires (Cont.) Assign initial field, 3-11 (figure) Form UARs questionnaire, 3-12 (figure) screen area to clear, 3-13 screen background, 3-13 screen character set, 3-13 screen width, 3-13 UAR names, 3-14
FORM statement description, 4-16 example, 4-17 form and line attributes, examples, 4-17 form and line attributes, specifying, 4-17 syntax, 4-16
Form Tester, 1-6, 7-1 FMStrEST command, 7-3 terminal setup, 7-2
Form Upgrade Utility field names, 9-1 FMS/UPGRADE command, 9-1, 9-3 link command format example, 9-2 linking upgraded form files/form libraries, 9-2 scrolled area, 9-2 upgrading to ·V2, 9-1 using, 9-2
Form Utility, 10-3 table, 10-4 Vl options, 10-4 V2 commands and qualifiers, 10-4
Forms creating, 3-2
Function key UAR form attribute, 2-20
H
Help form name form attribute, 2-19, 3-12
Help in Layout Phase, 3-18 Help text field attribute, 2-17, 3-38
Indexed field attribute, 2-17 Indexed fields
assigning, 3-37 creating, 3-37 Initial field attributes, 3-14 Insert mode, 3-26

Installation FMS V2 installation procedure, 10-6 example, 10-6
L
Layout Phase adjacent field operations, 3-19 canceling an operation, 3-19 centering characters, 3-19 character sets, 3-19 cursor movement, 3-20 cut operation, 3-21 date fields, 3-22 deleting characters, 3-23 deleting lines, 3-23 double size lines, 3-25 double wide lines, 3-25 drawing lines and boxes, 3-26 entering, 3-16 field attributes assignment, 3-26 form display, 3-18 help, 3-18 insert mode, 3-15, 3-26 inserting blank lines, 3-26 leaving, 3-18 modes, changing, 3-26 operations, list of, 3-15 overstrike mode, 3-15, 3-26 overstrike/insert mode, 3-26 paste operation, 3-28 redisplaying a form, 3-28 repeating characters or operations, 3-28 scrolling, 3-28 select areas, 3-29 creating, 3-29 figure, 3-30 status line, 3-16 terminal bell/quiet mode, 3-26 testing a paste operation, 3-31 text/field mode, 3-26 time fields, 3-31 video attributes, assigning, 3-32
Layout Phase status line, 3-16 figure, 3-17 information, 3-17 (table)
Layout sheet, 4-5 (figure) Left justify field attribute, 2-17 Line attributes
double size, 2-21 double wide, 2-21 figure, 2-6 scrolled, 2-21 Linking an application, 1-6
Index-5

M
Must fill field attribute, 2-17
N
Named Data, 2-13 named data item, 2-13 named data string, 2-13
NAMED-DATA statement description, 4-19 examples, 4-19 syntax, 4-19
No echo field attribute, 2-17
0
Object modules, 6-1 creating, 1-6, 6-12
Order Phase entering, 3-43 functions, 3-43 (table) leaving, 3-45 reordering fields, 3-43 scroll area, ordering, 3-44 figure, 3-45
Order statement description, 4-21 example, 4-22 syntax, 4-21
Overstrike mode, 3-26
p
Paste operation, 3-28 Phases
Assign Phase, 3-34 choosing a phase, 3-7 Data, 3-41 Exit, 3-47 Form Phase, 3-9 Order, 3-43 Test, 3-46 Post-help UAR form attribute, 2-21 Pre-help UAR form attribute, 2-21 Program development cycle creating forms, 1-2
R
Refresh a form in Layout Phase, 3-28 Relative coordinates, 4-3 Repeat characters or operations in
Layout Phase, 3-28
Index-6

Response required field attribute, 2-17 Reverse video attributes, 2-7 (figure) Right justify field attribute, 2-18
s
Sample check form, 2-3 (figure) Screen area to clear form attribute, 2-20,
3-13 Screen background form attribute, 2-19,
3-13 Screen character set form attribute, 2-19,
3-13 Screen width form attribute, 2-19, 3-13 Scroll lines in Layout Phase, 3-28 SCROLL statement
description, 4-23 example, 4-24 syntax, 4-23 Scrolled line attribute, 2-21 Setting up your terminal, 3-4 Status line in Layout Phase, 3-16 Supervisor only field attribute, 2-18
T
TDMS, 8-1 Terminal bell mode, 3-26 Terminal characteristics
terminal setup, 3-4, 7-2 Terminal Data Management System
See TDMS Test Phase, 1-6
entering, 3-46 leaving, 3-46 Testing forms, 1-6 Text mode, 3-26 TEXT statement attributes for background text, 4-25
(table) description, 4-25 example, 4-26 syntax, 4-25 Text strings, 4-3 Time fields, 2-12, 3-31 menu
figure, 3-32 table, 2-13
u
UARs, 2-4 field completion UAR questionnaire, 3-38

UARs (Cont.) field completion UARs, 2-15 form UARs, 3-14 function key UARs, 2-20 naming UARs, 3-14 post-help UARs, 2-21 pre-help UARs, 2-21 vectors, creating, 6-14 writing, 1-5
Underline video attribute, 2-22 (figure) Uppercase field attribute, 2-18 User Action Routines
See UARs

v
Video attributes, 2-7, 2-21, 3-32 reverse video, 2-7 (figure) underline, 2-22 (figure)
Video form applications, 1-1 VIDEO statement
description, 4-27 example, 4-27 syntax, 4-27
z
Zero fill field attribute, 2-18 Zero suppress field attribute, 2-18

Inde.x-7


Acrobat 11.0.23 Paper Capture Plug-in