Forms-based Application Development Tools User Guide
1. Introduction
What You Must Know
Special Considerations
Terminology
2. Overview of Tools and Languages
How the Tools and 4GL Work Together
Vision and 4GL
ABF and 4GL
Forms Runtime System
Vision, ABF, and FRS
FRS and 4GL
4GL and Query Languages
Terms and Concepts
Relational Database Management System
Tables
Database Queries
Applications
Components
Naming Conventions for Applications and Components
Enterprise Access Products
Frames
Forms
Trim
Fields
Procedures
Synonyms and Views
Data Types
Variables
Constants
Record Types
Records
Arrays
How to Develop an Application
How to Plan the Application
How to Create the Application
The Applications Catalog Window
The Create an Application Window
The MoreInfo about an Application Window
3. Overview of Vision
How to Enhance Your Applications
Components of a Vision Application
Frames
Visual Queries
Frame Types
Examples of Vision-generated Frames
The Application Flow Diagram
Menu Frame
Append Frame
Browse Frame
Update Frame
Ingres Data Types
4. Getting Started in Vision
Start Vision
Call a Specific Application
Stop Vision
Moving Around in Vision
How to Use Keys
How to Choose a Menu Operation
Display Hidden Menu Items
How to Use Pop-Up Windows and Selection Lists
How to Handle Error Messages
Display Multi-line Error Messages
How to Use Vision's Online Help
Display Help
5. Creating Frames
How to Call the Application Flow Diagram Editor
Create a New Application
Edit an Existing Application
How You Can Use the Application Flow Diagram
Details in the Application Flow Diagram
Select the Current Frame
Ways to Expand the Application Flow Diagram
How You Can Expand a Peer Frame
How You Can Scroll Horizontally
How You Can Scroll Vertically
Frame Status
Create New Frames
Specifying Tables
Application Size Limits
Create a New Frame
Copying an Existing Frame Definition
Copy a Frame Within the Current Application
Copy a Frame from Another Application
How You Can Change a Frame's Type
Using Default Frame Definitions and Forms
Default Frame Definitions
Default Transaction Processing
Default Forms
Default Forms for Menu Frames
Default Forms for Append, Browse, and Update Frames
Attributes of Fields on Default Forms
Appearance of Fields on Default Forms
After Displaying the Default Frame Definition
Removing Frames
Remove a Frame
Insert Existing Frames
Destroy Frames
Change Menu Item Text
Viewing and Editing Frames
Edit Fields
Specifyfing Menu Frame Display Styles
Specify Single-Line Menu Frames for an Application
Specify a Single-Line Menu Style for a Frame
Editing Table-Field Menu Frames
Create Pop-up Menu Frames
6. Defining Frames with Visual Queries
Call the Visual Query Editor
Viewing the Visual Query
Compressed View
Normal View
Move Between Normal and Compressed View
Moving Around in the Visual Query Editor
Change the Default Form Display
Redisplay a Column
Including Lookup Tables in Visual Queries
Guidelines for Using Lookup Tables
Specifying Features of Lookup Tables
Insert Lookup Tables
Remove Lookup Tables
Inserting and Removing Joins
Insert a Join
Remove a Join
Defining Specific Frame Types
Defining Append Frames
Defining Update Frames
Defining Browse Frames
Specifying Frame Behaviors
Summary of Frame Behavior Options
Qualification Processing
Next Master Menu Item
Locks Held on Displayed Data
The Update Integrity Rule
The Delete Integrity Rule
Change a Frame Behavior Specification
Modifying Vision-generated Forms
Editing a Form
Coordinating the Form and the Visual Query
Using Expressions in Frame Definitions
Specifying Expressions
7. Defining Frames without Visual Queries
Frame Definition Menu Operations
Define a QBF Frame
View and Edit a QBF Definition
Define a Report Frame
Specifying Runtime Report Parameters
Create and Edit a Report Definition
Define a User Frame
Create and Edit the 4GL Code and Form
Controlling Activations and Validations
Including Procedures in an Application
Define a 4GL Procedure
Define a 3GL Procedure
Define a Database Procedure
Create and Edit the Source Code for a 4GL or 3GL Procedure
Change the Definition of a Frame or Procedure
8. Using Vision Advanced Features
Passing Parameters Between Frames
Guidelines for Passing Parameters
Pass a Parameter to a Frame
Using Local Variables
Naming Guidelines for Local Variables
Create a Local Variable
Assign a Value to a Local Variable
Edit a Local Variable Definition
Rename a Local Variable
Destroy a Local Variable
Using Local Procedures
Guidelines for Naming Local Procedures
Create a Local Procedure
Enter Local Procedure Code
Edit a Local Procedure Definition
Rename a Local Procedure
Destroy a Local Procedure
Global Components
Using Global Constants
Define a Global Constant
Edit a Global Constant Definition
Rename a Global Constant
Destroy a Global Constant
Using Global Variables
Using Record Types
How Writing Escape Code Works
Types of Escape Code
Guidelines for Including Escape Code
Specifying Field or Menu Item Escape Code
Using Resume Statements in Escape Code
Purging Unneeded Escape Code
Add and Delete Menu Operations
View Examples of Escape Code
Create Escape Code
Entering Escape Code
Revise Escape Code
Verifying Escape Code
9. Modifying Vision Code
Summary of Methods to Modify Code
Writing Escape Code
Modifying the Template Files
Template File Locations
Modify Template Files
Types of Template Files
Components of Template Files
Using Substitution Variables in Template Files
Using Logicals or Environment Variables in Template Files
Changing Template Language Statements
Changing 4GL Code in Template Files
Examples of Altering Template Files
Including Source Code Processing Commands
Editing the Source Code to Create a Custom Frame
Edit a Source Code File
Guidelines for Editing Comments in Source Code Files
Editing Help Files
Editing Vision-generated Help Files
Provide the Edit Operation
10. Using Vision Utilities
Starting Other Programs
Call the Ingres Menu
Return to the Operating System
Examining Tables
The Examine a Table Window
Display the Examine a Table Window
Running an Application Report
View an Application Report
Write an Application Report to a File
Reconciling Tables and Frame Definitions
How Vision Reconciles Frame Definitions
Run the Reconcile Utility
Clean Up a Database
Use Alternate Sets of Global Constants
Create an Alternate Global Constants File
Edit an Alternate Set of Global Constants
11. Completing a Vision Application
Test Applications
Regeneration of Source Code and Forms
How Custom Frames Are Handled
Summary of Code Regeneration Operations
Editing Errors in Generated Code
Call the Error Handler
Moving Around in the Error Handler
Error Handler Menu Operations
Fix Errors in the Generated Code
Recompile a Frame
View the Error Listing File
Mark Errors as Fixed or Unfixed
Making Applications Easier to Run
Create an Image of an Application
Specify a Default Image File
Specify an Application Role Identifier
imageapp Command--Create a Command File
imagename Command--Run a Completed Application
Using Application-specific Parameters
Creating a Command for an Imaged Application
Specify a Default Start Frame
Rename an Application
Copying Applications into Different Databases
copyapp out Command--Copy an Application Out of a Database
Copying Applications to a Different Location
copyapp in Command--Copy an Application into a Database
Copying Application Components
How Dependencies Are Handled
iiexport Command--Copy Application Components to a File
iiimport Command--Import Application Components
Master Application Scenario
Examples: Master Application Scenario
Destroy Applications
A. Vision Applications from a User Perspective
Using Lookup Tables and the ListChoices Operation
Choosing from a Selection List
Validating User Entries
Entering Lookup Table Values on a Form
Using a Lookup Table Without a ListChoices Menu Item
Using ListChoices Without a Lookup Table
Allowing Specific User Operations
User Operations on Append frames
User Operations on Browse frames
User Operations on Update frames
Additional Generated Menu Operations
Standard Operations and Menu Items
ListChoices and Table Field Menu Operations
Table Field Operations
Running an Application
Using the Vision Applications Catalog
Using the Vision Command
Using an Image File Name
Using a Command to Run an Application
B. Accessing Vision through ABF
Edit an Application Window
Create Frames and Procedures through ABF
Accessing Vision Functions through ABF
Call the Forms Editor
Create Global Components
Open Source Code Files
Accessing Vision Utilities
C. Template Files Reference
Substitution Variables
System-defined Substitution Variables
String Variables
Boolean Variables
User-defined Substitution Variables
Template Language Statements
Formatting Rules
define Statement--Define a Substitution Variable
generate Statement--Generate 4GL Source Code
if then else endif Statement--Process Conditional Statements
ifdef Statement--Process a Set of Statements with Variables or Logicals
ifndef Statement-- Process a Set of Statements without Variables or Logicals
include Statement--Include a Template File
undef Statement--Undefine a Substitution Variable
D. Vision Architecture
Vision Components
How Vision Generates Code
How Vision Handles Deadlocks
How the Vision Reconcile Utility Works
12. Overview of ABF
Benefits
Types of Frames
User-specified Frames
QBF Frames
Reports and Report Frames
Forms
Directories for Source Code and Application Components
Establishing a Directory for Source Code
Establishing a Directory for Compiled Application Components
13. Building Applications
The ABF Development Process
Starting and Using ABF
Start ABF from the Ingres Menu
Start ABF Using the ABF Command
Using ABF Fields and Menus
Help on ABF Frames
Key Mappings
Exit ABF
Creating an Application
The Edit an Application Frame
The Edit an Application Menu
Application Defaults Frame
Set a Default Start Frame
Application Utilities Menu
Call the Tables Utility
The Create a Frame or Procedure Frame
The Create a Frame Menu
Create a Frametype Frame Pop-up
Creating a User-Specified Frame
Create a User-Specified Frame
Create a Form
Create the 4GL Source Code File for a User-Specified Frame
Adding a New Frame to an Application Menu Frame
Testing the USER Frame
Creating Report Frames
Create a Report
Sample Report-Writer Report File
Testing the Report Frame
Creating a QBF Frame
Create a QBF Frame
Create a Form for the QBF Frame
Testing the QBF Frame
Creating Procedures
How You Can Use a Procedure in an Application
Creating a Procedure Frame
Create a Procedure
Edit a Procedure Definition Frame
Define a 4GL Procedure
Enter Source Code
Create 3GL Procedures
Using Embedded SQL/Forms with ABF
Creating a Database Procedure
The Globals Submenu of the Edit an Application Frame
The Create or Edit Global Components Frame
The Edit Global Variables Frame
The Create a Global Variable Frame
Create a Global Variable
Edit a Global Variable Definition Frame
Edit a Global Variable Definition
How to Set Initial Values for Global Variables
The Edit Application Constants Frame
The Create an Application Constant Frame
Create an Application Constant
The Edit a Constant Definition Frame
Using Alternate Sets of Global Constant Values
Specify a Global Constants File
Create an Alternate Global Constants File
Edit an Alternate Set of Global Constants
Compatibility with Previous ABF Releases
The Edit Application Record Type Definitions Frame
MoreInfo About a Record Definition Frame
The Create a Record Definition Frame
Create Record Types
The Edit a Record Type Definition Frame
The Create a Record Attribute Frame
Define a Record Attribute
The Edit a Record Attribute Specification Frame
Edit a Record Attribute
Compatibility with Future Record Data Types
Selecting a Text Editor
Built-in Frames and Procedures
Working with Existing Frames or Procedures
Modify Frames or Procedures
Rename Frames or Procedures
Destroy Frames or Procedures
Testing Incomplete Applications
How the Test Application Is Built: Procedures
How ABF Handles Dependencies
Creating an Image of the Application
Build an Image from Within ABF
imageapp Command--Build an Image from the System Level
imagename Command--Run a Completed Application
Running the Image from System Level
Defining Symbols for Different Users
Using Application-specific Parameters
Destroying an Application
Copying an Application into a Different Database
Copying Applications to a Different Location
copyapp out Command--Copy an Application Out of a Database
copyapp in Command--Copy an Application into a Database
Copying Application Components
How Dependencies Are Handled
iiexport Command--Copy Application Components to a File
iiimport Command--Import Application Components
Master Application Example
Running the Application on a Different Database
14. ABF Development Example
The Sales Entry Application
Layout Summary
The Sales Entry Topframe
The Update Customers Frame
The Sales Report Frame
The NewOrder Frame
Defining the Sales Entry Application
Start ABF
Create the Application
Guidelines for Creating Tables
The Sample Database
Creating a User-Specified Frame
Create the User Frame Topframe
Defining Topframe
Build the Menu for Topframe
Enter the 4GL Code for Topframe
Create Constants
Create a Global Variable
Check the 4GL Syntax
Add a Long Remark
Test Topframe
Set Default Start Frame
How You Can Test with an Undefined Frame
Define a QBF Frame
Define the Customer Form
Test the Customer Frame
Building a Report Frame
Define the SaleRep Frame
Enter a Report-Writer Specification Using sreport
Define the SaleRep Pop-up Form
Test the Report Frame
Run the SaleRep Frame
Another User-Specified Frame
Define the NewOrder Frame
Create a Record Type
Create a Global Array
Define the NewOrder Form
Test the Application
Installing the User Application
Create an Executable Image
Application Handling Operations
Run the Image
Define an Operating System Command
Run the Application on a Different Database
E. Notes for Users of QUEL
QUEL Notes for the Building Applications Chapter
Source Code File Names and Extensions for Procedures
The Edit a Procedure Definition Frame
Using EQUEL/Forms with ABF
QUEL Notes for the ABF Development Example Chapter
The 4GL Code for Topframe
The 4GL Code for NewOrder
F. ABF Architecture
Where Applications Are Stored
Source Code Directory
Object Code Directory
Error Listing Files
Compiled Form Files
The Extract File
System Catalogs
Forms in ABF Applications
How Forms and the Image Operation Work
Linking Forms and 3GL Procedures
How an Application Is Built with the Go Operation
Determining Which Components to Include
Determining Which Frames to Recompile
How Compiling the Application Works
How Temporary Files Are Created
How the Extract File Is Created and Compiled
How Compilation Results Are Verified
How Running the Interpreter Works
How an Application Is Built with the Image Operation
Linking with Libraries
Updates to Linker Option Modules
Linking with Compiled Forms for Procedures
Calling Library Procedures
G. The ABF Demo Program
Installing the Sample Application
Install ABFdemo
Start the Sample Application
Contents of the Sample Application
How to Run the Sample Application
4GL Code for the Sample Application
Database Frame
DelEmp Procedure
EmpDep Frame
EmpTasks Frame
Experience Report Frame
List Frame
RemTask Procedure
Startup Procedure
SumHours Procedure
Timer_On and Timer_Off Procedures
Top Frame
H. Roles for ABF Applications
Roles for Applications
15. Embedded Forms Program Structure
General Syntax of Forms Statements
Basic Structure of a Forms-based Program
How the FRS Is Invoked
How Forms Are Declared
forminit Statement--Declare Uncompiled Forms
addform Statement--Declare Compiled Forms
display Statement--Display a Form
Display Modes
Display Styles
Other Display Attributes
The Display Block
The Initialize Section
Activation Operations
Submenus
Nested Menus
How Returning from an Operation Works
putform and getform Statements--Transfer Data During a Display Loop
finalize Statement--Transfer Data at the End of a Display Loop
endforms Statement--Disconnect from the FRS
An Extended Example
Dynamic FRS
The Describe Statement and Dynamic FRS
How SQLDA Is Processed in Dynamic FRS
The Using Clause in Dynamic FRS
Examples of the Using Clause
Application-level Mapping
Static Mapping
Dynamic Mapping
How You Implement Keys in an Application
Key Activation Example
16. Table Fields
Overview of Table Fields
The Data Set
How You Can Move Around a Table Field
Table Field Display Modes
A Sample Table Field
How Table Fields Can Be Used in an Application
inittable Statement--Initialize a Table Field
loadtable Statement--Load a Data Set
unloadtable Statement--Unload the Data Set
Table Field Operations
insertrow Statement--Insert Rows into the Table Field
deleterow Statement--Delete Rows from the Table Field
putrow Statement--Use the Program to Update Table Field Data
getrow Statement--Get One Row of Data from a Table Field
scroll Statement--Target Scrolls
Table Field Activation Operations
How Table Field Modes Can Be Set Dynamically
Miscellaneous Statements
Table Field Row States
The UNDEFINED Row State
The NEW Row State
The UNCHANGED Row State
The CHANGED Row State
The DELETED Row State
Effects of Forms Statements on Row States
Table Field Modes and Row States
Setting Row States
Row States and Floating Point Data
Change Variables
Invisible Fields
Derived Fields
How Field Validation Works
17. Forms Statements
activate Statement--Activate a Section of Code
The Menuitem Condition
The Field Condition
The Column Condition
The Scroll Condition
The Frskey Condition
The Timeout Condition
addform Statement--Declare a Pre-compiled Form
breakdisplay statement--Terminate a Display Loop or Submenu
clear Statement--Clears the Screen or Fields
clearrow Statement--Clear Data from a Field
deleterow Statement--Delete a Row
describe Statement--Retrieve Descriptive Information
display Statement--Initiate Form Display
display submenu Statement--Display a Submenu
enddisplay Statement--Terminate a Display
endforms Statement--Terminate Application Connection
endloop Statement--Terminate a Loop
finalize Statement--Transfer Data
formdata Statement--Loop Through Fields
forminit Statement--Declare a Form
forms Statement--Invoke the FRS
Restrictions
getform Statement--Transfer Data into Program Variables
getoper (function) Statement--Get Comparison Operators
getrow Statement--Get Values from a Row
helpfile Statement--Display Help
help_frs Statement--Include the Ingres Help Facility
Initialize Statement--Initialize a Form
Inittable Statement--Initialize a Table Field
inquire_frs Statement--Retrieve FRS Runtime Information
Retrieving Information about the Runtime System
Retrieving Information about a Form
Retrieving Information about a Field
Retrieving Information about a Table Field
Retrieving Information about a Column
Retrieving Information About a Row in a Table Field
Retrieving Information about Menu Items
insertrow Statement--Insert a Row
loadtable Statement--Append a Row of Data
message Statement--Print a Message
printscreen Statement--Copy the Displayed Screen
prompt Statement--Prompt the User for Input
purgetable Statement--Purge Deleted Rows
putform Statement--Transfer Data to the Form
putrow Statement--Update a Table Row
redisplay Statement--Refresh the Screen
resume Statement--Resume the Display Loop
scroll Statement--Perform a Table Field Scroll
set_frs Statement--Set FRS Features
Setting Global Field and Column Validations
Setting Global Field and Column Activations
Setting Field and Column Display Attributes
Setting Field and Column Color
Setting the Change Variable
Setting Control, Function, and Arrow Key Mappings
Defining an Alias for Mapped Keys
Setting the Menu Map
Specifying the Mapping File
Setting the Display Mode of a Form
Setting the Display Mode of a Table Field
Setting a Form's Change Variable
Setting the Timeout Period
Enabling the FRS shell Command
Enabling the FRS editor Command
Suppressing Validation Error Messages
How You Can Change a Field's Format
Renaming Menu Items
Enabling and Disabling Menu Items
Enabling and Disabling the Out of Data Message
sleep Statement--Suspend Application Execution
submenu Statement--Start a Menu Not Linked to a Form
tabledata Statement--Traverse Columns
unloadtable Statement--Loop Through Rows and Execute Statements
validate Statement--Validate Fields
validrow Statement--Check Column Validity
I. EQUEL/FORMS Examples
Activate
Addform
Breakdisplay
Clear
Clearrow
Deleterow
Display
Display Submenu
Enddisplay
Endforms
Endloop
Finalize
Formdata
Forminit
Forms
Getform
Getoper
Getrow
Helpfile
Help_frs
Initialize
Inittable
Inquire_frs
Insertrow
Loadtable
Message
Printscreen
Prompt
Purgetable
Putform
Putrow
Redisplay
Resume
Scroll
Set_frs
Sleep
Submenu
Tabledata
Unloadtable
Validate
Validrow
Extended Examples
Basic Format of a Forms-Based Application
Example of Activations
Submenus
Nested Menus
Table Fields
Using _record and _state
Using the Putrow and Getrow Statements
Target Scrolls
Using Resume Statements
18. Overview of 4GL
How You Can Use 4GL
Frame Activations
Procedures
19. Using 4GL
Form Fields
Simple Fields
Table Fields
Derived Fields and Columns
Datasets and Form Fields
Local Variables and Hidden Columns
Declaring Local Variables and Hidden Columns
Data Types for Simple Local Variables and Hidden Columns
Complex Local Variable Definitions
Global Variables and Constants
Assigning Values to Fields and Variables
Direct Assignments
Assignments Using a Query
Assigning Nulls to Nullable Variables
Referencing Fields, Variables, and Constants
Referencing Simple Fields
Referencing Local and Global Variables
Referencing Table Fields, Columns, and Hidden Columns
Referencing Records
Referencing Arrays
Scope of Reference Statements
Expressions
Using Literals in Expressions
Using Fields and Variables as Expressions
Using Procedures as Expressions
How Numeric Expressions Work
String Expressions
Logical Expressions
Nulls in Expressions
4GL Names
Examples
20. Writing 4GL Statements
Basic Statement Types
Using Initialize and Declare Statements
Forms-Control Statements
Positioning the Cursor
Display Modes
Clearing a Screen or Form
Displaying Help Text Files
Displaying Messages and Prompts
Validating Data Fields
Row State and Record Values for Table Fields and Arrays
Manipulating Table Fields and Arrays
Processing an Entire Table Field or Array with Unloadtable
The Run Submenu and Display Submenu Statements
Database Access Statements
Using the Select Statement
Using Insert to Add Data to Database Tables
Using Update to Change a Database Row
Using the Delete Statement
Committing the Transaction
Repeated Queries
Using the Asterisk and All
Flow-Control Statements
Using the If-Then-Else Statement Combination
Using the While Statement
Using the Endloop Statement
Using the Return Statement
Using the Exit Statement
Call Statements
Using the Callframe Statement
Using the Callproc Statement
Using the Call Subsystem Statement
Using the Call System Statement
Accessing Files from 4GL
File Handles
File Types
File Modes
Using File Modes and Types
Permissions
Inquiring About and Setting Applications Status
Using the Inquire_sql Statement
Using the Set_sql Statement
Using the Inquire_forms Statement
Using the Set_forms Statement
Using the Dbmsinfo Function
Multiple Session Connections
Connecting to Multiple Sessions
Identifying Sessions
Switching Sessions
Disconnecting a Session
Multiple Sessions and the DBMS
Built-In Frames and Procedures
How Database Events Are Handled
Event Handling Sequence Example
Event Handling Statements
Putting It All Together: 4GL Specification
Coding an Operation
Using Activation Statements
Database Event Activations
21. 4GL Statement Glossary
Using SQL with 4GL
ArrayAllRows()
ArrayClear()
ArrayFirstRow()
ArrayInsertRow()
ArrayLastRow()
ArrayRemoveRow()
ArraySetRowDeleted()
Assignment
Direct Assignments
Query Assignments
Beep()
Call
Call ABF
Call Application
Call Ingmenu
Call ISQL
Call QBF
Call RBF
Call Report
Call SQL
Call Sreport
Call VIFRED
Call Vision
Call System
Callframe
Passing Values from the Calling Frame
Passing a Query
Callproc
Coding 4GL Procedures
3GL Arguments
Coding ADA Procedures (VMS only)
Create an ADA Procedure
Coding C Procedures
Coding COBOL Procedures
Coding FORTRAN Procedures
Calling Database Procedures
Calling Library Procedures
Clear
Clearrow
CloseFile()
CommandLineParameters( )
Connect
Connecting with Distributed Transactions
Creating Multiple Sessions
Permissions
Locking
Delete
Deleterow
Disconnect
Display Submenu
Endloop
Execute Immediate
Execute Procedure
Passing Parameters
Exit
Find_record()
FlushFile()
Help_Field()
Helpfile and Help_Forms
Editing the Help Text File
If-Then-Else
Initialize
Initialization of Fields and Variables
Inittable
Inquire_4gl
InquireFile()
Inquire_forms
Inquire_forms Formobject
Inquire_forms Field
Inquire_forms FRS
Inquire_sql
Insert
Insertrow
Insertrow and Table Fields
Insertrow and Arrays
Loadtable
Look_up()
Message
Mode
Summary of Effects
Next
OpenFile( )
PositionFile( )
Printscreen
Prompt
ReadFile( )
Redisplay
Resume
Return
RewindFile( )
Run Submenu
Scroll
Select
Overview of the Select Statement
Query Targets
Selecting into Table Fields
Select to a Complex Object
Master/Detail Query
Submenus
Using a Select Loop
Select to Simple Objects
Sequence_value()
Set_4gl
Set_forms
Set_forms Formobject
Set_forms FRS
Set_sql
Sleep
Unloadtable
Update
Validate
Validrow
While
Breaking Out of While Loops
WriteFile( )
22. Using 3GL Procedures
Passing Records and Arrays Between 4GL and 3GL Routines
Passing Structured Data
Checking for Errors
Summary of Exec 4GL Commands
Callframe, Callproc
Clear Array
Describe
Get Attribute
Get Global, Set Global
Inquire_4gl
InsertRow
Removerow
Set Attribute
Set_4gl
Setrow Deleted
23. Sample 4GL Application
Employee Database
Employees Table
Employee_ histories Table
Positions Table
Referential Integrity
Employee Application
4GL Statements and Coding Techniques
Global Objects
Topframe Frame
Employees Frame
Positions Frame
Descriptions Frame
Confirm Procedure
J. Notes for Users of QUEL
QUEL Notes for the Using 4GL Chapter
Referencing Table Fields
Data Types for Simple Local Variables and Hidden Columns
Simple Assignments
Query Assignment to a Form
Query Assignment to a Table Field
Using Literals in Expressions
The LIKE Operator and Pattern Matching
Referencing Table Fields
QUEL Notes for the Writing 4GL Statements Chapter
Using Unloadtable with Database Access
Database Access Statements
The Retrieve Statement
Writing Different Types of Retrieve Statements
Using Append to Add Data to Database Tables
Using Replace to Change a Database Row
Deleting Database Rows
Committing the Transaction
Repeated Queries
Using All
Using the Callframe Statement
Using the Inquire_ingres Statement
Using the Dbmsinfo Function
Field Activations on Entry and Exit
QUEL Notes for the 4GL Statement Glossary Chapter
Append (QUEL)
Call (QUEL)
Call Ingres
Call Iquel
Call QUEL
Callframe (QUEL)
Passing a Query
Delete (QUEL)
Message (QUEL)
Next (QUEL)
Range (QUEL)
Redisplay (QUEL)
Replace (QUEL)
Retrieve (QUEL)
Query Targets
The Where Clause
The Sort and Order Clauses
Retrieval into Complex Structures
Using Retrieve to a Form or Table Field
Using Retrieve Into
Using Retrieve Loop
Unloadtable (QUEL)
While (QUEL)
QUEL Notes for the Returning to the Top Frame Appendix
Embedded Query Language Considerations
QUEL Notes for the Runtime Error Processing Appendix
Effect on EQUEL Procedures
K. Keywords
Ingres Keywords
ISO SQL
L. Returning to the Top Frame
Example Frame Calling Sequence
Embedded SQL Language Considerations
M. Runtime Error Processing
Standard inquire_sql Method
How You Can Use iiseterr() in Ingres Applications
Interaction Between iiseterr() and inquire_sql
Error Handler Restrictions
Effect on Embedded SQL Procedures
Multiple Calls
N. Troubleshooting Guide
Before You Call Technical Support
Using Logicals/Environment Variables
Starting ABF or Vision
The Ingres Environment
Terminal Definition
Ingres Access Issues
Creating and Editing Applications
Creating Applications and Frames
Editing Applications and Frames
Testing an Application
Compiling/Interpreting an Application
Compiling/Interpreting a Frame
Linker Errors
Creating an Image of an Application
4GL Compiler
C Compiler (WIN32)
Running Microsoft 6.00A and DOS 4.01
C Compiler
Running a Completed Application
Unknown Frames or Procedures
Non-compiled Forms
Compiled Forms
QBF Frames
Report Frames
Queries
Global Variables
Parameters
Table Fields
Keyboard and Function Keys
Expressions
Roles
Performance Problems
Prior Releases
Slow-running Applications
O. Menu Operations
The Applications Catalog Window
The Create an Application Window
The MoreInfo about an Application Window
The Application Flow Diagram Editor Menu
The Visual Query Editor Menu
P. Using Vision or ABF in a Multi-Developer Environment
Starting Vision or ABF with Command Line Options
Disabling Warnings
5.0 Applications
Sharing Objects with Other Vision Developers
Using ABF in a Multi-Developer Environment
Managing Locks in Vision or ABF
Setting the Display Refresh Interval (Vision Only)
Using the LockStatus Utility
Ingres 10.2
Using the LockStatus Utility