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.”
|
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.
|
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.