VAX FMS Language Interface Manual

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Overview of the Language Interface

  1.1     Form Driver Routines
    1.1.1      Invoking Form Driver Routines as Procedures
    1.1.2      Accessing Form Driver Status Codes as Functions

  1.2     Argument Passing in FMS

  1.3     Null Arguments

  1.4     FMS Data Types
    1.4.1      Character Strings
    1.4.2      Longword Binary Integers
    1.4.3      Word Binary Integers

  1.5     Non-FMS Data Types

  1.6     One-Dimensional Arrays

  1.7     Allocation:  Workspace, Terminal Control Area, and Run-Time Memory-Resident Form Area

  1.8     Precautions for Using FMS
    1.8.1      Memory Areas Used Exclusively by FMS
    1.8.2      Why You Should Use Common Storage Areas

  1.9     Data Conversion

  1.10    Sample Application Program
    1.10.1     Language Interface Manual
    1.10.2     Other FMS Documentation

  2      Programming FMS Applications in VAX-11 BASIC

  2.1     Form Driver Routines
    2.1.1      Invoking Form Driver Routines as Subprograms
    2.1.2      Accessing Form Driver Status Codes as Functions

  2.2     Argument Passing in FMS

  2.3     Null Arguments

  2.4     FMS Data Types
    2.4.1      Character Strings
      2.4.1.1      Declaring Fixed-Length Strings
      2.4.1.2      Using a Single String Variable for Multiple Forms and Fields
    2.4.2      Longword Binary Integers
    2.4.3      Word Binary Integers

  2.5     Non-FMS Data Types

  2.6     One-Dimensional Arrays

  2.7     Allocation:  Workspace, Terminal Control Area, and Run-Time Memory-Resident Form Area

  2.8     Precautions for Using FMS
    2.8.1      Memory Areas Used Exclusively by FMS
    2.8.2      Precautions for Programming in Languages with Optimizing Compilers

  2.9     Data Conversion

  2.10    Sample Application Program in VAX-11 BASIC
    2.10.1     Form Driver Definition Files
    2.10.2     Command File for Building the Sample Application Program

  3      Programming FMS Applications in VAX-11 BLISS-32

  3.1     Form Driver Routines
    3.1.1      Invoking Form Driver Routines as Procedures
    3.1.2      Accessing Form Driver Status Codes as Functions

  3.2     Parameter Passing in FMS

  3.3     Null Arguments

  3.4     FMS Data Types
    3.4.1      Character Strings
    3.4.2      Longword Binary Integers
    3.4.3      Word Binary Integers

  3.5     Non-FMS Data Types

  3.6     One-Dimensional Arrays (Vectors)

  3.7     Allocation:  Workspace, Terminal Control Area, and Run-Time Memory-Resident Form Area

  3.8     Precautions for Using FMS
    3.8.1      Memory Areas Used Exclusively by FMS
    3.8.2      Why You Should Use the OWN or GLOBAL Attribute
    3.8.3      Using the Form Driver as a Shareable Image

  3.9     Data Conversion

  3.10    Sample Application Program in VAX-11 BLISS-32
    3.10.1     Form Driver Definition Files
    3.10.2     Command File for Building the Sample Application Program

  4      Programming FMS Applications in VAX-11 C

  4.1     Invoking Form Driver Routines

  4.2     Parameter Passing in FMS

  4.3     Null Arguments

  4.4     FMS Data Types
    4.4.1      Character Strings
    4.4.2      Longword Binary Integers
    4.4.3      Word Binary Integers

  4.5     Descriptors
    4.5.1      Passing Arguments by Descriptor
    4.5.2      String Descriptors
    4.5.3      Macros

  4.6     Non-FMS Data Types

  4.7     One-Dimensional Arrays

  4.8     Allocation:  Workspace, Terminal Control Area, and Run-Time Memory-Resident Form Area

  4.9     Precautions for Using FMS
    4.9.1      Memory Areas Used Exclusively by FMS
    4.9.2      Why You Should Use Static or External Storage Areas

  4.10    Data Conversion

  4.11    Sample Application Program in VAX-11 C
    4.11.1     Form Driver Definition Files
    4.11.2     Command File for Building the Sample Application Program

  5      Programming FMS Applications in VAX-11 COBOL

  5.1     Form Driver Routines
    5.1.1      Invoking Form Driver Routines as Subroutines
    5.1.2      Accessing Form Driver Status Codes as Functions

  5.2     Argument Passing in FMS

  5.3     Null Arguments

  5.4     FMS Data Types
    5.4.1      Character Strings
      5.4.1.1      Passing Character Strings in FMS
      5.4.1.2      String Length
    5.4.2      Longword Binary Integers
    5.4.3      Word Binary Integers

  5.5     Non-FMS Data Types

  5.6     COBOL Declarations

  5.7     One-Dimensional Arrays

  5.8     Allocation:  Workspace, Terminal Control Area, and Run-Time Memory-Resident Form Area

  5.9     Precautions for Using FMS
    5.9.1      Memory Areas Used Exclusively by FMS
    5.9.2      Why You Should Declare Certain Variables to Be External

  5.10    Data Conversion
    5.10.1     Data Conversion on PIC X Variables
    5.10.2     Data Conversion on PIC 9 Variables

  5.11    Sample Application Program in VAX-11 COBOL
    5.11.1     Definition Files
      5.11.1.1     FDVDEF.LIB
      5.11.1.2     SAMPCOB.LIB
      5.11.1.3     SMPCOBUAR.LIB
    5.11.2     Command File for Building the Sample Application Program

  6      Programming FMS Applications in VAX-11 FORTRAN

  6.1     Form Driver Routines
    6.1.1      Invoking Form Driver Routines as Subroutines
    6.1.2      Accessing Form Driver Status Codes as Functions

  6.2     Argument Passing in FMS

  6.3     Null Arguments

  6.4     FMS Data Types
    6.4.1      Character Strings
    6.4.2      Longword Binary Integers
    6.4.3      Word Binary Integers

  6.5     Non-FMS Data Types

  6.6     One-Dimensional Arrays

  6.7     Allocation:  Workspace, Terminal Control Area, and Run-Time Memory-Resident Form Area

  6.8     Precautions for Using FMS
    6.8.1      Memory Areas Used Exclusively by FMS
    6.8.2      Why You Should Use the COMMON Attribute

  6.9     Data Conversion

  6.10    Sample Application Program in VAX-11 FORTRAN
    6.10.1     Form Driver Definition Files
    6.10.2     Command File for Building the Sample Application Program

  7      Programming FMS Applications in VAX-11 PASCAL

  7.1     Form Driver Routines
    7.1.1      Invoking Form Driver Routines as Procedures
    7.1.2      Accessing Form Driver Status Codes as Functions

  7.2     Parameter Passing in FMS

  7.3     Null Arguments

  7.4     Entry Point Definitions

  7.5     FMS Data Types
    7.5.1      Character Strings
      7.5.1.1      Declaring Fixed-Length Strings
    7.5.2      Longword Binary Integers
    7.5.3      Word Binary Integers

  7.6     Non-FMS Data Types

  7.7     One-Dimensional Arrays

  7.8     Allocation:  Workspace, Terminal Control Area, and Run-Time Memory-Resident Form Area

  7.9     Precautions for Using FMS
    7.9.1      Memory Areas Used Exclusively by FMS
    7.9.2      Why You Should Use the VOLATILE Attribute

  7.10    Data Conversion

  7.11    Sample Application Program in VAX-11 PASCAL
    7.11.1     Form Driver Definition Files
    7.11.2     Command File for Building the Sample Application Program

  8      Programming FMS Applications in VAX-11 PL/I

  8.1     Form Driver Routines
    8.1.1      Invoking Form Driver Routines as Procedures
    8.1.2      Accessing Form Driver Status Codes as Functions

  8.2     Argument Passing in FMS

  8.3     Null Arguments

  8.4     Entry Point Definitions

  8.5     FMS Data Types
    8.5.1      Character Strings
      8.5.1.1      Defining Character Strings
    8.5.2      Longword Binary Integers
    8.5.3      Word Binary Integers

  8.6     Declarations

  8.7     Non-FMS Data Types

  8.8     One-Dimensional Arrays

  8.9     Allocation:  Workspace, Terminal Control Area, and Run-Time Memory-Resident Form Area

  8.10    Precautions for Using FMS
    8.10.1     Memory Areas Used Exclusively by FMS
    8.10.2     Why You Should Use the EXTERNAL Attribute

  8.11    Data Conversion

  8.12    Sample Application Program in VAX-11 PL/I
    8.12.1     Form Driver Definition Files
    8.12.2     Command File for Building the Sample Application Program

  A   VAX-11 FMS Form Driver Calls

  A.1     VAX-11 Language-Independent Notation

  A.2     Procedure Parameter Notation for Form Driver Calls

  B   Sample Application Program Form Descriptions

  C   Sample Application Program Data File