DECforms Guide to Programming

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Introduction to Run-Time Processing

  1.1     Initiating and Controlling Run-Time Communication

  1.2     Transferring Data Between the Application and the Form

  1.3     Using Responses to Control Run-Time Processing

  1.4     Using the Activation List

  2      Developing the Application Program

  2.1     Calling DECforms Requests
    2.1.1      Enabling Requests
    2.1.2      Moving Data from a Form to a Program
    2.1.3      Sending Data from a Program to a Form
    2.1.4      Asynchronous SEND Requests on VMS Systems
    2.1.5      Transceiving Data
    2.1.6      DISABLE Request
    2.1.7      Canceling Requests

  2.2     Compiling, Linking, and Running the Application on VMS Systems

  2.3     Compiling, Linking, and Running the Application on ULTRIX Systems

  2.4     Writing and Calling Escape Routines
    2.4.1      Linking Escape Routines Directly with a VMS API Program
    2.4.2      Linking Escape Routines Directly with a Portable API Program
    2.4.3      Creating a Form Object
    2.4.4      Linking Escape Routines in a Shareable Image
    2.4.5      Combining the Direct Link and Shareable Image Methods
    2.4.6      Enhancements to Escape Routine Debugging on VMS Systems

  2.5     Using the Trace Facility
    2.5.1      Controlling Tracing
    2.5.2      Enabling and Disabling Tracing
    2.5.3      Exception Conditions During Tracing
    2.5.4      Tracing Command Procedure

  2.6     Using the Event Log

  3      Using DECtrace Software with VMS Applications

  3.1     Overview of DECtrace Software

  3.2     How to Collect Event Data
    3.2.1      Describing Events and Items
    3.2.2      Creating a Selection
    3.2.3      Scheduling Data Collection

  3.3     How to Create a Report Based on Collected Data
    3.3.1      Formatting and Merging Data Files
    3.3.2      Generating a Report

  3.4     Sample DECtrace Report for DECforms Software

  4      How the Form Manager Processes Requests

  4.1     Initialize Request Phase
    4.1.1      Initializing Requests (Excluding ENABLE)
    4.1.2      Initializing the ENABLE Request

  4.2     Data Distribution Phase
    4.2.1      Determining Where Values Are Stored
    4.2.2      How the Data is Distributed
    4.2.3      Using the DATA TRANSFER Clause
    4.2.4      Shadow Records
    4.2.5      Data Conversion

  4.3     Response Processing Phase
    4.3.1      Performing Control Text Responses
    4.3.2      Performing Responses to Requests
    4.3.3      Response Steps

  4.4     Accept Phase
    4.4.1      Form Data Assignment Stage
    4.4.2      Panel Entry Response Stage
    4.4.3      Group Entry Response Stage
    4.4.4      Field Entry Response Stage
    4.4.5      Operator Input Stage
    4.4.6      Data Conversion Stage
    4.4.7      Function Response Stage
    4.4.8      Field Validation Stage
    4.4.9      Field Validation Response Stage
    4.4.10     Field Exit Response Stage
    4.4.11     Group Validation Response Stage
    4.4.12     Group Exit Response Stage
    4.4.13     Panel Exit Response Stage
    4.4.14     Termination Check Stage
    4.4.15     Altering the Order of Activation Item Processing
    4.4.16     Help Processing
      4.4.16.1     Starting Help Processing
      4.4.16.2     How the Help Activation List Works
      4.4.16.3     Using DECforms Defaults
      4.4.16.4     Customized Help

  4.5     Request Exit Response Phase

  4.6     Form Data Collection Phase
    4.6.1      How the Data is Collected
    4.6.2      Using the DATA TRANSFER Clause
    4.6.3      Shadow Records
    4.6.4      Receive Shadow Records
    4.6.5      Data Conversion

  4.7     Data Transfer of Arrays

  4.8     Request Termination Phase

  5      Using the VMS API

  ENABLE

  DISABLE

  SEND

  RECEIVE

  TRANSCEIVE

  CANCEL

  6      Using the Portable C and FORTRAN API

  6.1     Using the Forms_Request_Options Structure

  6.2     Using the Forms_Record_Data Structure

  6.3     Using Linked-In Forms

  6.4     Using Escape Routines

  6.5     Referencing FIMS Error Numbers

  6.6     C and FORTRAN Request Calling Description

  ENABLE

  DISABLE

  SEND

  RECEIVE

  TRANSCEIVE

  CANCEL

  6.7     Structure Definition for the C Interface

  6.8     Structure Definition for the FORTRAN Interface

  A   Elementary Conditions

  B   Receive Control Text Items

  C   Built-In Field Editing Functions for the Input Processor

  C.1     Editing Functions

  C.2     Performance Considerations

  C.3     Default Key Bindings for Built-In Functions

  C.4     Built-In Function Response Syntax

  D   Information and Restrictions on ULTRIX Systems

  D.1     Use of an Alarm on the Real Time Timer

  D.2     How the Form Manager Uses Signal SIGUSR2

  D.3     Resetting Disrupted Terminals

  D.4     Single Terminal Per Process Restrictions

  D.5     Using Setjump/Longjump Calls

  D.6     Terminal Use Restrictions

  D.7     IFDL Transmit Function Key Bindings

  D.8     Form Manager Terminal Characteristics

  D.9     Signal Restrictions

  D.10    Using Asynchronous Form Requests

  D.11    Running a Process in the Background

  D.12    Suspending an Application

  D.13    Data Alignment Issues

  D.14    Specifying Missing String Arguments in FORTRAN

  D.15    Using Control Keys

  D.16    Using Terminal Process Control Keys

  D.17    Debugging Internal Form Manager Errors

  EXAMPLES

  2-1        Enabling a Form from the Advanced FORTRAN Sample Program

  2-2        Calling the RECEIVE Request from the Advanced FORTRAN Sample Program

  2-3        Calling the SEND Request from the Advanced FORTRAN Sample Program

  2-4        Calling the TRANSCEIVE Request from the Advanced FORTRAN Sample Program

  2-5        Calling the DISABLE Request from the Advanced FORTRAN Sample Program

  2-6        Calling the CANCEL Request from the Advanced FORTRAN Sample Program

  2-7        Turning Tracing On with the FORMS$ENABLE Call

  2-8        Sample DCL Command Procedure Invoking the Trace Facility

  2-9        Event Log File

  3-1        Sample Frequency Report Using DECtrace Software

  FIGURES

  1-1        Run-Time Interaction

  2-1        Control Transfer to a Directly Linked Escape Routine

  2-2        Control Transfer to an Escape Routine in a Shareable Image on VMS Systems

  4-1        Function of the Form Manager During Data Distribution

  4-2        Function of the Form Manager During Data Collection

  TABLES

  2-1        Request Arguments

  3-1        Events

  3-2        Data Items

  3-3        Events and Items Available in the ALL Class

  3-4        DECtrace Reports

  4-1        FORMNAME, SESSION, and Terminal Values

  4-2        Default Responses

  4-3        Form Manager Message Codes

  5-1        FORMS$ENABLE Request Options Items

  5-2        FORMS$DISABLE Request Options Items

  5-3        FORMS$SEND Request Options Items

  5-4        FORMS$RECEIVE Request Options Items

  5-5        FORMS$TRANSCEIVE Request Options Items

  5-6        FORMS$CANCEL Request Options Items

  6-1        Portable API Routine Parameters

  6-2        FIMS Error Numbers

  B-1        Receive Control Text Items

  C-1        Default Key Bindings for Built-In Functions