This Preface contains the following sections:
* Using this manual
* Typographical conventions
* Examples of syntax descriptions
* Example procedures
* OpenEdge messages
* Third party acknowledgements
This book describe
s ABL (Advanced Business Language), which is the OpenEdge® programming language for building business applications. It covers all ABL statements, functions, phrases, operators, preprocessor directives, special symbols, widgets, handles, classes, interfaces, attributes, methods, properties, and events.
This book is intended for programmers who develop applications using ABL and for anyone who needs to read and understand ABL code.
This book consists of the following sections:
* A dictionary of ABL statements, functions, phrases, operators, preprocessors, and special symbols.
* A dictionary of ABL widgets.
* A dictionary of ABL handles.
* A dictionary of ABL attributes and methods (for handles).
* A dictionary of ABL handle-based object events.
* A dictionary of ABL classes and interfaces.
* A dictionary of ABL properties and methods (for classes).
* A dictionary of ABL class events and event methods
* An index of ABL keywords.
Using this manual
OpenEdge provides a special purpose programming language for building business applications. In the documentation, the formal name for this language is ABL (Advanced Business Language). With few exceptions, all keywords of the language appear in all UPPERCASE, using a font that is appropriate to the context. All other alphabetic language content appears in mixed case.
For the latest documentation updates see the OpenEdge Product Documentation Overview page on PSDN: http://communities.progress.com/pcom/docs/DOC-16074.
References to ABL compiler and run-time features
ABL is both a compiled and an interpreted language that executes in a run-time engine. The documentation refers to this run-time engine as the ABL Virtual Machine (AVM). When the documentation refers to ABL source code compilation, it specifies ABL or the compiler as the actor that manages compile-time features of the language. When the documentation refers to run-time behavior in an executing ABL program, it specifies the AVM as the actor that manages the specified run-time behavior in the program.
For example, these sentences refer to the ABL compiler’s allowance for parameter passing and the AVM’s possible response to that parameter passing at run time: “ABL allows you to pass a dynamic temp-table handle as a static temp-table parameter of a method. However, if at run time the passed dynamic temp-table schema does not match the schema of the static temp-table parameter, the AVM raises an error.” The following sentence refers to run-time actions that the AVM can perform using a particular ABL feature: “The ABL socket object handle allows the AVM to connect with other ABL and non-ABL sessions using TCP/IP sockets.”
References to ABL data types
ABL provides built-in data types, built-in class data types, and user-defined class data types. References to built-in data types follow these rules:
* Like most other keywords, references to specific built-in data types appear in all UPPERCASE, using a font that is appropriate to the context. No uppercase reference ever includes or implies any data type other than itself.
* Wherever integer appears, this is a reference to the INTEGER or INT64 data type.
* Wherever character appears, this is a reference to the CHARACTER, LONGCHAR, or CLOB data type.
* Wherever decimal appears, this is a reference to the DECIMAL data type.
* Wherever numeric appears, this is a reference to the INTEGER, INT64, or DECIMAL data type.
References to built-in class data types appear in mixed case with initial caps, for example, Progress.Lang.Object. References to user-defined class data types appear in mixed case, as specified for a given application example.
Structure of reference entries
Each ABL element reference description includes some subset of the following information:
* Platform-restriction notations
* A purpose or description of the language element
* Block properties for all block statements
* Data-movement diagrams for all data-handling statements
* The syntax for the language element
* The options and arguments you can use with the language element
* One or more examples that illustrate the use of the language element
* Notes that highlight special cases or provide hints on using the language element
* A See Also section that lists related language elements
Some language elements and features of ABL do not apply to all software platforms—operating systems, user interfaces, and database management systems—that OpenEdge supports. The documentation tries to note each such platform restriction with the language element title. Some language elements apply to SpeedScript programming and some do not; the documentation indicates which language elements do not apply with a note in the language element description.
You can consider a language element as supported for all interfaces, on all operating systems, and for SpeedScript unless otherwise indicated in the language element description.
The platform restriction notes that appear in the documentation include the following:
* AppServer™ only
The element or feature applies only to the OpenEdge AppServer.
* Character interfaces only
The element or feature applies only to the character interfaces that OpenEdge supports.
* Graphical interfaces only
The element or feature applies only to the graphical interfaces that OpenEdge supports.
* NT and UNIX only
The element or feature applies only to the Windows and UNIX versions that OpenEdge supports.
* ORACLE only
The element or feature applies only to the ORACLE versions that OpenEdge supports.
* UNIX only
The element or feature applies only to the UNIX versions that OpenEdge supports.
* Windows only
The element or feature applies only to the Windows versions that OpenEdge supports.
* Windows only; Graphical interfaces only
The element or feature applies only to the graphical interfaces of the traditional OpenEdge GUI for the Windows versions that OpenEdge supports.
* Windows only; GUI for .NET only
The element or feature applies only to the .NET forms, controls, or other .NET objects for the Windows versions that OpenEdge supports.
For a complete list of the software platforms that OpenEdge supports, see OpenEdge Getting Started: Installation and Configuration.