# ========================================================================
# Modify this file at your own risks, it is used to display help on keywords
# each line contains tab separated info :
# keyword_string_id	keyword_description	list_of_valid_synthax_for_the_keyword
# ========================================================================
# ---------------------------------------------------------
# STRING METHODS
C Method	Specifies the justification of the string within its maximum length. The default justification depends on how the string is used. If the string is displayed with side labels, the default is right justification. If column labels are used, the defaults are left justification for character fields and right justification for numeric fields. Strings used in expressions are trimmed by default. C means centered within the string and padded on both the right and left as needed: "Hello":C10 = " Hello ".	"characters" [ : [ R | L | C | T ] [ U ] [ max-length ] ]	
L Method	Specifies the justification of the string within its maximum length. The default justification depends on how the string is used. If the string is displayed with side labels, the default is right justification. If column labels are used, the defaults are left justification for character fields and right justification for numeric fields. Strings used in expressions are trimmed by default. L means left justified and padded on the right with spaces: "Hello":L10 = "Hello ".	"characters" [ : [ R | L | C | T ] [ U ] [ max-length ] ]	
R Method	Specifies the justification of the string within its maximum length. The default justification depends on how the string is used. If the string is displayed with side labels, the default is right justification. If column labels are used, the defaults are left justification for character fields and right justification for numeric fields. Strings used in expressions are trimmed by default. R means right justified and padded on the left with spaces: "Hello":R10 = " Hello".	"characters" [ : [ R | L | C | T ] [ U ] [ max-length ] ]	
T Method	Specifies the justification of the string within its maximum length. The default justification depends on how the string is used. If the string is displayed with side labels, the default is right justification. If column labels are used, the defaults are left justification for character fields and right justification for numeric fields. Strings used in expressions are trimmed by default. T means trimmed of leading and trailing blanks (although storage space and screen space is still allocated for the maximum number of characters): " Hello":T10 = "Hello" (but screen and storage space is still reserved for 10 characters).	"characters" [ : [ R | L | C | T ] [ U ] [ max-length ] ]	
U Method	Specifies the justification of the string within its maximum length. The default justification depends on how the string is used. If the string is displayed with side labels, the default is right justification. If column labels are used, the defaults are left justification for character fields and right justification for numeric fields. Strings used in expressions are trimmed by default. U specifies that the string is untranslatable. This means that the string will not be processed by the OpenEdge Translation Manager. If you do not specify U, then the string is assumed to be translatable.	"characters" [ : [ R | L | C | T ] [ U ] [ max-length ] ]	
LOWER Function	Converts any uppercase characters in a CHARACTER or LONGCHAR expression to lowercase characters, and returns the result.	LOWER ( expression )	
UPPER Function	Converts any lowercase characters in a CHARACTER or LONGCHAR expression to uppercase characters, and returns the result.	UPPER ( expression )	
# ---------------------------------------------------------
# DATA TYPE
BLOB Type	BLOB (Binary Large OBject) specifies a database table or temp-table field that contains a BLOB locator, which points to the associated BLOB data stored in the database. You must use a MEMPTR to manipulate the binary contents of a BLOB field in ABL.	
BUFFER Type	A handle to a buffer object, corresponding to an underlying ABL buffer, which can be static or dynamic. An example of a static underlying buffer is one you define at compile time by using the DEFINE BUFFER statement, or by implicitly referencing a table in an ABL construct such as Customer.CustNum. An example of a dynamic underlying buffer is one you create at run time with the CREATE BUFFER statement.	
CHARACTER Type	CHARACTER data consists of numbers, letters, and special characters.	
CLOB Type	CLOB (Character Large OBject) specifies a database table or temp-table field that contains a CLOB locator, which points to the associated CLOB data stored in the database. You must use a LONGCHAR to manipulate the character contents of a CLOB field in ABL.	
COM-HANDLE Type	A COM-HANDLE is a handle to a COM object (ActiveX Automation object or ActiveX Control).	
DATE Type	DATE fields contain dates.	
DATETIME Type	DATETIME data has two parts: an ABL date and an ABL time. The unit of time is milliseconds from midnight. 	
DATETIME-TZ Type	DATETIME-TZ data has three parts: an ABL date, an ABL time, and an integer representing the time zone offset from Coordinated Universal Time (UTC). The unit of time is milliseconds from midnight. The unit of time zone offset is minutes.	
DECIMAL Type	DECIMAL data consists of decimal numbers up to 50 digits in length including up to 10 digits to the right of the decimal point.	
HANDLE Type	A HANDLE is a pointer to an ABL handle-based object. This can be a compile-time defined static object or a run-time defined dynamic object.
Note: HANDLE and WIDGET-HANDLE can be assigned to each other and used interchangeably. WIDGET-HANDLE is supported only for backward compatibility.	
INT64 Type	An INT64 consists of 64-bit data (whole numbers).	
INTEGER Type	An INTEGER consists of 32-bit data (whole numbers).	
LOGICAL Type	LOGICAL data evaluates to TRUE or FALSE (or YES or NO).	
LONGCHAR Type	A LONGCHAR consists of CHARACTER data that is not limited to 32K in size. You can use a LONGCHAR to manipulate the character contents of a CLOB database or temp-table field in ABL. 	
MEMPTR Type	A MEMPTR contains a sequence of bytes in memory. You can use a MEMPTR to manipulate the contents of a BLOB database or temp-table field in ABL.	
RAW Type	RAW data can be any kind of data, even data from non-OpenEdge databases. It is not converted in any way.	
RECID Type	A RECID is a unique internal identifier for a record within a single database storage area. Note: RECID is supported mainly for backward compatibility. For most applications, use ROWID instead.	
ROWID Type	A ROWID is a unique internal identifier for a record within a single database storage area.	
WIDGET-HANDLE Type	A WIDGET-HANDLE is a pointer to an ABL handle-based object. Note: HANDLE and WIDGET-HANDLE can be assigned to each other and used interchangeably. WIDGET-HANDLE is supported only for backward compatibility.	
# ---------------------------------------------------------
# DEFINE AND CREATE PHRASES
DEFINE BROWSE Statement	Defines and creates either a read-only or updateable browse widget that is created at compile time for use in one or more procedures, or within a single class.	DEFINE { [ [ NEW ] SHARED ] | [ PRIVATE ] }<br>&nbsp;&nbsp;BROWSE browse-name<br>&nbsp;&nbsp;QUERY query-name&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;[ SHARE-LOCK | EXCLUSIVE-LOCK | NO-LOCK ] [ NO-WAIT ] <br>&nbsp;&nbsp;DISPLAY<br>&nbsp;&nbsp;&nbsp;&nbsp;{ column-list | record [ EXCEPT field ... ] } <br>&nbsp;&nbsp;&nbsp;&nbsp;[ browse-enable-phrase ] <br>&nbsp;&nbsp;&nbsp;&nbsp;{ browse-options-phrase }<br>&nbsp;&nbsp;&nbsp;&nbsp;[ CONTEXT-HELP-ID expression ]<br>&nbsp;&nbsp;&nbsp;&nbsp;[ DROP-TARGET ]<br>&nbsp;&nbsp;&nbsp;&nbsp;[ TOOLTIP tooltip ]	
DEFINE BUFFER Statement	ABL provides you with one default buffer for each table or temp-table that you use in a procedure or class. ABL uses that buffer to store one record at a time from the table as the records are needed during the procedure or class. If you need more than one record or buffer at a time for a table, you can use this statement to define alternate buffers that are created at compile time for use in one or more procedures, or within a single class or class hierarchy.	DEFINE { [ [ NEW ] SHARED ] | [ PRIVATE | PROTECTED ] [ STATIC ] }<br>&nbsp;&nbsp;BUFFER buffer-name <br>&nbsp;&nbsp;FOR [ TEMP-TABLE ] table-name <br>&nbsp;&nbsp;[ PRESELECT ] [ LABEL label-name ]<br>&nbsp;&nbsp;[ NAMESPACE-URI namespace ] [ NAMESPACE-PREFIX prefix ]<br>&nbsp;&nbsp;[ XML-NODE-NAME node-name ]	
DEFINE BUTTON Statement	The DEFINE BUTTON statement defines a push button that is created at compile time for use within the current procedure or class.	DEFINE [ PRIVATE ] BUTTON button<br>&nbsp;&nbsp;[ AUTO-GO | AUTO-ENDKEY ]<br>&nbsp;&nbsp;[ DEFAULT ]<br>&nbsp;&nbsp;[ BGCOLOR expression ]<br>&nbsp;&nbsp;&nbsp;&nbsp; [ CONTEXT-HELP-ID expression ]<br>&nbsp;&nbsp;[ DCOLOR expression ]<br>&nbsp;&nbsp;[ DROP-TARGET ]<br>&nbsp;&nbsp;[ FGCOLOR expression ]<br>&nbsp;&nbsp;[ FONT number ]<br>&nbsp;&nbsp;[ IMAGE-DOWN image-phrase ]<br>&nbsp;&nbsp;[ { IMAGE | IMAGE-UP } image-phrase ]<br>&nbsp;&nbsp;[ IMAGE-INSENSITIVE image-phrase ]<br>&nbsp;&nbsp;[ MOUSE-POINTER name ]<br>&nbsp;&nbsp;[ LABEL label ]<br>&nbsp;&nbsp;[ LIKE button ]<br>&nbsp;&nbsp;[ PFCOLOR expression ]<br>&nbsp;&nbsp;[ size-phrase ]<br>&nbsp;&nbsp;[ NO-FOCUS [ FLAT-BUTTON ] ]<br>&nbsp;&nbsp;[ NO-CONVERT-3D-COLORS ]<br>&nbsp;&nbsp;[ TOOLTIP tooltip ]<br>&nbsp;&nbsp;{ [ trigger-phrase ] }	
DEFINE DATASET Statement	Defines a ProDataSet object that is created at compile time, and allows you to identifythe temp-table buffers it incorporates and define the data relations between those buffers. This statement defines the ProDataSet for use in one or more external procedures, or within a single class or class hierarchy.	DEFINE { [ [ NEW ] SHARED ] | [ PRIVATE | PROTECTED ] [ STATIC ] }<br>&nbsp;&nbsp;DATASET dataset-name <br>&nbsp;&nbsp;[ NAMESPACE-URI namespace ] [ NAMESPACE-PREFIX prefix ]<br>&nbsp;&nbsp;[ XML-NODE-NAME node-name ] [ SERIALIZE-NAME serialize-name ] <br>&nbsp;&nbsp;[ XML-NODE-TYPE node-type ] [ SERIALIZE-HIDDEN ]<br>&nbsp;&nbsp;[ REFERENCE-ONLY ] FOR buffer-name [ , buffer-name ] ...<br>&nbsp;&nbsp;[ DATA-RELATION [ data-rel-name ] FOR data-rel-spec ] ...<br>&nbsp;&nbsp;[ PARENT-ID-RELATION [ data-rel-name ] FOR parent-id-rel-spec ] ...	
DEFINE DATA-SOURCE Statement	Defines a data-source object that is created at compile time for use in an external procedure or within a single class or class hierarchy. 	DEFINE [ PRIVATE | PROTECTED ] [ STATIC ] DATA-SOURCE data-source-name <br>&nbsp;&nbsp;FOR [ QUERY query-name ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ source-buffer-phrase [ , source-buffer-phrase ] ... ]	
DEFINE EVENT Statement	Defines an ABL class event, declares a class event prototype in an ABL interface, or overrides an abstract class event inherited from an ABL or .NET abstract super class. A class event is a member of the class in which it is defined. You can publish a non-abstract event from within the defining class definition using the built-in Publish(&nbsp;) event method in response to a condition that you determine. You can subscribe a class method or internal procedure as a handler for any accessible event (abstract or non-abstract) using the built-in Subscribe(&nbsp;) event method. This handler executes whenever the event is published. You can also unsubscribe any handler using the built-in Unsubscribe(&nbsp;) event method. The following description begins with general syntax for defining a class event.	DEFINE [ PRIVATE | PROTECTED | PUBLIC ] [ STATIC | ABSTRACT ] [ OVERRIDE ]<br>&nbsp;&nbsp;EVENT event-name signature-spec 	DEFINE [ PUBLIC ] EVENT event-name signature-spec	DEFINE [ PROTECTED | PUBLIC ] [ OVERRIDE ] ABSTRACT <br>&nbsp;&nbsp;EVENT event-name signature-spec	
DEFINE FRAME Statement	Defines and creates a frame or dialog box that is created at compile time for use in one or more procedures, or within a single class.	DEFINE { [ [ NEW ] SHARED ] | [ PRIVATE ] } FRAME frame<br>&nbsp;&nbsp;[ form-item ... ]<br>&nbsp;&nbsp;[{ HEADER | BACKGROUND } head-item ... ]<br>&nbsp;&nbsp;{ [ frame-phrase ] }	DEFINE { [ [ NEW ] SHARED ] | [ PRIVATE ] } FRAME frame<br>&nbsp;&nbsp;record [ EXCEPT field ... ]<br>&nbsp;&nbsp;{ [ frame-phrase ] }	
DEFINE IMAGE Statement	Defines an image widget in a graphical interface that is created at compile time for use within a single procedure or class. An image widget is a container for an operating system image file and can be displayed in a form or used as a form background.	DEFINE [ PRIVATE ] IMAGE image-name<br>&nbsp;&nbsp;{ image-phrase | LIKE image | size-phrase }<br>&nbsp;&nbsp;[ BGCOLOR expression ]<br>&nbsp;&nbsp;[ FGCOLOR expression ]<br>&nbsp;&nbsp;[ CONVERT-3D-COLORS ]<br>&nbsp;&nbsp;[ TOOLTIP tooltip ]<br>&nbsp;&nbsp;[ STRETCH-TO-FIT [ RETAIN-SHAPE ] ] [ TRANSPARENT ]	
DEFINE MENU Statement	Defines a menu widget that is created at compile time for use in one or more procedures, or within a single class. You can use a menu widget as a pop-up menu or a menu bar.	DEFINE { [ [ NEW ] SHARED ] | [ PRIVATE ] } MENU menu-name <br>&nbsp;&nbsp;[ FGCOLOR expression ]<br>&nbsp;&nbsp;[ BGCOLOR expression ] <br>&nbsp;&nbsp;[ DCOLOR expression ]<br>&nbsp;&nbsp;[ PFCOLOR expression ]<br>&nbsp;&nbsp;[ FONT number ]<br>&nbsp;&nbsp;[ { TITLE title } | MENUBAR ] <br>&nbsp;&nbsp;[ { LIKE menu } | menu-element-descriptor ... ]	
DEFINE PARAMETER Statement	Defines a run-time parameter in an ABL procedure (internal or external), Windows dynamic link library (DLL) routine, UNIX shared library routine, or ActiveX control event procedure. 	DEFINE { INPUT | OUTPUT | INPUT-OUTPUT | RETURN } PARAMETER parameter<br>&nbsp;&nbsp;{ { &nbsp;&nbsp;AS [ HANDLE TO ] primitive-type-name <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;AS [ CLASS ] { object-type-name }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;LIKE field &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} [ EXTENT [ constant ] ] } <br>&nbsp;&nbsp;[ [ NOT ] CASE-SENSITIVE ]<br>&nbsp;&nbsp;[ FORMAT string ]<br>&nbsp;&nbsp;[ DECIMALS n ]<br>&nbsp;&nbsp;[ INITIAL<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ constant | { [ constant [ , constant ] ... ] } } ]<br>&nbsp;&nbsp;[ COLUMN-LABEL label ]<br>&nbsp;&nbsp;[ LABEL string ]<br>&nbsp;&nbsp;[ NO-UNDO ]	DEFINE PARAMETER BUFFER buffer-name FOR [ TEMP-TABLE ] table-name<br>&nbsp;&nbsp;[ PRESELECT ]	DEFINE { INPUT | OUTPUT | INPUT-OUTPUT } PARAMETER<br>&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;TABLE FOR temp-table-name [ APPEND ] [ BIND ] [ BY-VALUE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;TABLE-HANDLE temp-table-handle [ BIND ] [ BY-VALUE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;DATASET FOR dataset-name [ APPEND ] [ BIND ] [ BY-VALUE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;DATASET-HANDLE dataset-handle [ BIND ] [ BY-VALUE ]<br>&nbsp;&nbsp;}	
DEFINE PROPERTY Statement	Defines a property of a class, declares a property prototype in an ABL interface, or overrides an abstract property inherited from an ABL or .NET abstract super class. A property is a named member of a class that allows you to read or write a value using the same syntax as a data member. However, a property can define special methods (accessors) that specify if and how the property can be read or written. The following description begins with the syntax for defining a property that you can both read and write.	DEFINE [ PRIVATE | PROTECTED | PUBLIC ] [ STATIC | ABSTRACT ] [ OVERRIDE ] <br>&nbsp;&nbsp;PROPERTY property-name <br>&nbsp;&nbsp;{ { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS primitive-type-name |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS [ CLASS ] object-type-name <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} [ EXTENT [ constant ] ] }<br>&nbsp;&nbsp;[ INITIAL { constant | { [ constant [ , constant ] ... ] } } ]<br>&nbsp;&nbsp;[ NO-UNDO ]<br>&nbsp;&nbsp;{ <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ accessor-access-mode ] GET [ implementation ] . <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET [ implementation ] .<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GET [ implementation ] .<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ accessor-access-mode ] SET [ implementation ] .<br>&nbsp;&nbsp;}	DEFINE [ PRIVATE | PROTECTED | PUBLIC ] [ STATIC | ABSTRACT ] [ OVERRIDE ] <br>&nbsp;&nbsp;PROPERTY property-name <br>&nbsp;&nbsp;{ { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS primitive-type-name | <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS [ CLASS ] object-type-name <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} [ EXTENT [ constant ] ] }<br>&nbsp;&nbsp;[ INITIAL { constant | { [ constant [ , constant ] ... ] } } ]<br>&nbsp;&nbsp;[ NO-UNDO ]<br>&nbsp;<br>&nbsp;&nbsp;GET [ implementation ] .	DEFINE [ PRIVATE | PROTECTED | PUBLIC ] [ STATIC | ABSTRACT ] [ OVERRIDE ] <br>&nbsp;&nbsp;PROPERTY property-name <br>&nbsp;&nbsp;{ { <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS primitive-type-name | <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS [ CLASS ] object-type-name <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} [ EXTENT [ constant ] ] }<br>&nbsp;&nbsp;[ INITIAL { constant | { [ constant [ , constant ] ... ] } } ]<br>&nbsp;&nbsp;[ NO-UNDO ]<br>&nbsp;<br>&nbsp;&nbsp;SET [ implementation ] .	DEFINE [ PUBLIC ] PROPERTY property-name <br>&nbsp;&nbsp;{ { AS primitive-type-name | AS [ CLASS ] object-type-name }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ EXTENT [ constant ] ] [ NO-UNDO ] }<br>&nbsp;&nbsp;{ GET.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET.<br>&nbsp;&nbsp;&nbsp;&nbsp;|<br>&nbsp;&nbsp;&nbsp;&nbsp;GET.<br>&nbsp;&nbsp;&nbsp;&nbsp;|<br>&nbsp;&nbsp;&nbsp;&nbsp;SET. }	DEFINE [ PROTECTED | PUBLIC ] [ OVERRIDE ] ABSTRACT PROPERTY property-name <br>&nbsp;&nbsp;{ { AS primitive-type-name | AS [ CLASS ] object-type-name }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ EXTENT [ constant ] ] [ NO-UNDO ] }<br>&nbsp;&nbsp;{ GET.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET.<br>&nbsp;&nbsp;&nbsp;&nbsp;|<br>&nbsp;&nbsp;&nbsp;&nbsp;GET.<br>&nbsp;&nbsp;&nbsp;&nbsp;|<br>&nbsp;&nbsp;&nbsp;&nbsp;SET. }	
DEFINE QUERY Statement	Defines a query that is created at compile time for use in one or more procedures, or within a single class or class hierarchy. A query can be opened with an OPEN QUERY statement, and records can be retrieved using a GET statement, BROWSE widget, or the FILL(&nbsp;) method on a ProDataSet object handle.	DEFINE { [ [ NEW ] SHARED ] | [ PRIVATE | PROTECTED ] [ STATIC ] }<br>&nbsp;&nbsp;QUERY query<br>&nbsp;&nbsp;FOR buffer-name [ field-list ] [ , buffer-name [ field-list ] ] ...<br>&nbsp;&nbsp;[ CACHE n ]<br>&nbsp;&nbsp;[ SCROLLING ]<br>&nbsp;&nbsp;[ RCODE-INFORMATION ]	
DEFINE RECTANGLE Statement	Defines a rectangle widget that is created at compile time for use within a single procedure or class.	DEFINE [ PRIVATE ] RECTANGLE rectangle [ LIKE rectangle2 ]<br>&nbsp;&nbsp;[ NO-FILL ]<br>&nbsp;&nbsp;[ { EDGE-CHARS width } | { EDGE-PIXELS width } ] <br>&nbsp;&nbsp;[ DCOLOR expression ]<br>&nbsp;&nbsp;[ BGCOLOR expression ]<br>&nbsp;&nbsp;[ FGCOLOR expression ]<br>&nbsp;&nbsp;[ GRAPHIC-EDGE ]<br>&nbsp;&nbsp;[ PFCOLOR expression ]<br>&nbsp;&nbsp;[ ROUNDED ]<br>&nbsp;&nbsp;[ GROUP-BOX ]<br>&nbsp;&nbsp;[ size-phrase ]<br>&nbsp;&nbsp;[ TOOLTIP tooltip ]<br>&nbsp;&nbsp;{ [ trigger-phrase ] }	
DEFINE STREAM Statement	Defines a stream for use in one or more procedures, or within a single class. Use this statement when you want to use streams other than the two ABL built-in unnamed streams. Using additional streams allows you to get input from more than one source simultaneously or to send output to more than one destination simultaneously. 	DEFINE { [ [ NEW [ GLOBAL ] ] SHARED ] | [ PRIVATE ] } STREAM stream-name	
DEFINE SUB-MENU Statement	Defines a submenu widget that is created at compile time for use within a single procedure or class. You can use a submenu widget as a pull-down menu within a menu bar or as a submenu of a pull-down menu or pop-up menu.	DEFINE [ PRIVATE ] SUB-MENU submenu<br>&nbsp;&nbsp;[ BGCOLOR expression ]<br>&nbsp;&nbsp;[ DCOLOR expression ]<br>&nbsp;&nbsp;[ FGCOLOR expression ] <br>&nbsp;&nbsp;[ PFCOLOR expression ]<br>&nbsp;&nbsp;[ FONT number ]<br>&nbsp;&nbsp;[ SUB-MENU-HELP ] <br>&nbsp;&nbsp;{ LIKE menu | menu-element-descriptor ... }	
DEFINE TEMP-TABLE Statement	Defines a temp-table that is created at compile time. The AVM stores temp-tables in memory (with potential overflow to disk). Among procedures, a temp-table can be either global (lasting for the entire ABL session) or local (lasting only as long as the procedure that creates it), and either shared (visible to other procedures that want to access it) or non-shared (visible just to the procedure that created it). In a class, a temp-table can be defined for use within a single class or class hierarchy.	DEFINE { [ [ NEW [ GLOBAL ] ] SHARED ] | <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ PRIVATE | PROTECTED ] [ STATIC ] }<br>&nbsp;&nbsp;TEMP-TABLE temp-table-name [ NO-UNDO ] <br>&nbsp;&nbsp;[ NAMESPACE-URI namespace ] [ NAMESPACE-PREFIX prefix ]<br>&nbsp;&nbsp;[ XML-NODE-NAME node-name ] [ SERIALIZE-NAME serialize-name ] <br>&nbsp;&nbsp;[ REFERENCE-ONLY ]<br>&nbsp;&nbsp;[ LIKE table-name<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ VALIDATE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ USE-INDEX index-name [ AS PRIMARY ] ] ... ]<br>&nbsp;&nbsp;[ LIKE-SEQUENTIAL table-name<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ VALIDATE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ USE-INDEX index-name [ AS PRIMARY ] ] ... ]<br>&nbsp;&nbsp;[ RCODE-INFORMATION ] <br>&nbsp;&nbsp;[ BEFORE-TABLE before-table-name ] <br>&nbsp;&nbsp;[ FIELD field-name<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ AS data-type |&nbsp;&nbsp;LIKE field [ VALIDATE ] }<br>&nbsp;&nbsp;[ field-options ]<br>&nbsp;&nbsp;] ...<br>&nbsp;&nbsp;[ INDEX index-name<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ [ AS | IS ] [ UNIQUE ] [ PRIMARY ] [ WORD-INDEX ] ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ index-field [ ASCENDING | DESCENDING ] } ...<br>&nbsp;&nbsp;] ...	
DEFINE VARIABLE Statement	Defines a variable for use in one or more procedures, a variable data member of a class for use in a single class or class hierarchy, or by other classes and procedures, or a variable data element for use within a single class-based method.	DEFINE { [ [ NEW [ GLOBAL ] ] SHARED ] | <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ PRIVATE | PROTECTED | PUBLIC ] [ STATIC ] }<br>&nbsp;&nbsp;VARIABLE variable-name<br>&nbsp;&nbsp;{ { &nbsp;&nbsp;AS primitive-type-name <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;AS [ CLASS ] { object-type-name }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;LIKE field &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} [ EXTENT [ constant ] ] } <br>&nbsp;&nbsp;[ BGCOLOR expression ]<br>&nbsp;&nbsp;[ COLUMN-LABEL label ]<br>&nbsp;&nbsp;[ CONTEXT-HELP-ID expression ]<br>&nbsp;&nbsp;[ DCOLOR expression ]<br>&nbsp;&nbsp;[ DECIMALS n ]<br>&nbsp;&nbsp;[ DROP-TARGET ]<br>&nbsp;&nbsp;[ FONT expression ]<br>&nbsp;&nbsp;[ FGCOLOR expression ]<br>&nbsp;&nbsp;[ FORMAT string ]<br>&nbsp;&nbsp;[ INITIAL<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ constant | { [ constant [ , constant ] ... ] } } ]<br>&nbsp;&nbsp;[ LABEL string [ , string ] ... ]<br>&nbsp;&nbsp;[ MOUSE-POINTER expression ]<br>&nbsp;&nbsp;[ NO-UNDO ]<br>&nbsp;&nbsp;[ [ NOT ] CASE-SENSITIVE ]<br>&nbsp;&nbsp;[ PFCOLOR expression ]<br>&nbsp;&nbsp;{ [ view-as-phrase ] }<br>&nbsp;&nbsp;{ [ trigger-phrase ] }	
DEFINE WORKFILE Statement	See the DEFINE WORK-TABLE statement reference entry.	DEFINE { [ [ NEW ] SHARED ] | [ PRIVATE ] }<br>&nbsp;&nbsp;{ WORK-TABLE | WORKFILE } work-table-name<br>&nbsp;&nbsp;[ NO-UNDO ]<br>&nbsp;&nbsp;[ LIKE tablename ]<br>&nbsp;&nbsp;[ FIELD field-name<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp; AS data-type<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;LIKE field<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ field-options ]<br>&nbsp;&nbsp;] ...	
DEFINE WORK-TABLE Statement	Defines a work table (a temp-table stored in memory) for use in one or more procedures, or within a single class. 	DEFINE { [ [ NEW ] SHARED ] | [ PRIVATE ] }<br>&nbsp;&nbsp;{ WORK-TABLE | WORKFILE } work-table-name [ NO-UNDO ]<br>&nbsp;&nbsp;[ LIKE tablename [ VALIDATE ] ]<br>&nbsp;&nbsp;[ FIELD field-name { AS data-type | LIKE field }<br>&nbsp;&nbsp;&nbsp;&nbsp;[ field-options ] ] ...	
CREATE ALIAS Statement	Creates an alias for a database. Once an alias is created, it can be used in place of the database&#8217;s logical name. 	CREATE ALIAS alias-string | value ( expression )<br>  FOR DATABASE logical-name-string | value ( expression )<br>  [ NO-ERROR ]	
CREATE BROWSE Statement	Creates a dynamic read-only browse widget or a dynamic updateable browse widget. Add browse columns to the widget with the ADD-LIKE-COLUMN, ADD-COLUMNS-FROM, and ADD-CALC-COLUMN methods. Specify the query for the widget with the QUERY attribute.	CREATE BROWSE handle<br>  [ IN WIDGET-POOL widget-pool-name ]<br>  [ ASSIGN { attribute=expression } ... ]<br>  [ trigger-phrase ]	
CREATE BUFFER Statement	Creates a dynamic buffer object.	CREATE BUFFER handle FOR TABLE { table-name | table-handle | buffer-handle }<br>  [ BUFFER-NAME buffer-name ]<br>  [ IN WIDGET-POOL widget-pool-name ]	
CREATE CALL Statement	Creates a call object, then stores a handle to it in the handle variable specified. The call object, its attributes, and its methods, are used by applications to invoke logic dynamically.	CREATE CALL handle [ IN WIDGET-POOL widget-pool ] [ NO-ERROR ]	
CREATE CLIENT-PRINCIPAL Statement	Creates an instance of a client-principal object at run time in the INITIAL state (see the LOGIN-STATE attribute entry). Each client-principal instance is a security token that contains user credentials specific to one user login session. This login session can be used to set the user identity for one or more ABL sessions, one or more database connections, or an entire ABL application. This user identity must be defined in a security domain that is registered in a trusted domain registry that is used to authenticate or validate that identity.	CREATE CLIENT-PRINCIPAL client-principal-handle	
CREATE DATABASE Statement	Creates a new OpenEdge database.	CREATE DATABASE new-database [ FROM old-database [ NEW-INSTANCE ] ]<br>  [ REPLACE ] [ NO-ERROR ]	
CREATE DATASET Statement	Creates a ProDataSet object dynamically at run time. The ProDataSet object that is created is empty. 	CREATE DATASET dataset-handle [ IN WIDGET-POOL widget-pool-name ] 	
CREATE DATA-SOURCE Statement	Creates a data-source object dynamically at run time. 	CREATE DATA-SOURCE data-source-handle [ IN WIDGET-POOL widget-pool-name ]	
CREATE QUERY Statement	Creates a dynamic query.	CREATE QUERY handle<br> [ IN WIDGET-POOL widget-pool-name ]	
CREATE SAX-ATTRIBUTES Statement	Creates an instance of a SAX-attributes object and assigns its handle to the handle variable specified. Use this object to access and manage the attribute list for an XML element either being read or written with the SAX-reader or SAX-writer object.	CREATE SAX-ATTRIBUTES handle [ IN WIDGET-POOL pool-name ] [ NO-ERROR ] 	
CREATE SAX-READER Statement	Creates an instance of a SAX-reader object and assigns its handle to the handle variable you specify. The SAX-reader object can be used to control the parsing of XML source.	CREATE SAX-READER handle<br>  [ IN WIDGET-POOL pool-name ] [ NO-ERROR ]	
CREATE SAX-WRITER Statement	Creates an instance of a SAX-writer object and assigns its handle to the handle variable specified. Use this object to write an XML document using the SAX interface.	CREATE SAX-WRITER handle [ IN WIDGET-POOL pool-name ] [ NO-ERROR ] 	
CREATE SERVER Statement	Creates an instance of a server object and assigns its handle to the handle variable you specify.	CREATE SERVER handle<br>  [ ASSIGN { attribute = expression } ... ]	
CREATE SERVER-SOCKET Statement	Creates an instance of a server socket object and assigns it to the handle variable specified. It is through this object that a socket&#8209;based server application can listen for connections on a TCP/IP port.	CREATE SERVER-SOCKET handle [ NO-ERROR ]	
CREATE SOAP-HEADER Statement	Creates an instance of a SOAP-header object dynamically at run time, and assigns its handle to the specified handle variable. 	CREATE SOAP-HEADER handle [ IN WIDGET-POOL widget-pool-name ]	
CREATE SOAP-HEADER-ENTRYREF Statement	Creates an instance of a SOAP-header-entryref object dynamically at run time, and assigns its handle to the specified handle variable. 	CREATE SOAP-HEADER-ENTRYREF hshEntry [ IN WIDGET-POOL widget-pool-name ]	
CREATE SOCKET Statement	Creates a socket object and assigns it to the handle variable specified. It is through this object that the application can connect to a TCP/IP port and read and write on the socket bound to the port.	CREATE SOCKET handle [ NO-ERROR ]	
CREATE TEMP-TABLE Statement	Creates a TEMP-TABLE dynamically at run time. The TEMP-TABLE that is created is empty and must be defined using ADD/CREATE methods.	CREATE TEMP-TABLE handle<br> [ IN WIDGET-POOL widget-pool-name ]	
CREATE WIDGET-POOL Statement	Creates a named or unnamed widget pool in which to contain most dynamic widgets and other handle-based objects created during an ABL session.	CREATE WIDGET-POOL<br>  [ pool-name [ PERSISTENT ] ]<br>  [ NO-ERROR ]	
CREATE X-DOCUMENT Statement	Creates a handle for an XML document object. To use the XML document, you must add new nodes using the CREATE-NODE(&nbsp;) method, the CREATE-NODE-NAMESPACE(&nbsp;) method, or populate the document from an existing file using the LOAD(&nbsp;) method.	CREATE X-DOCUMENT handle [ IN WIDGET-POOL widget-pool-name ]	
CREATE X-NODEREF Statement	Creates a handle which can be used as a parameter or return&#8209;value for methods which will associate the handle with an XML node. This object is not a node in its own right, but merely a way to provide access to the underlying XML node.	CREATE X-NODEREF handle [ IN WIDGET-POOL widget-pool-name ]	
# ---------------------------------------------------------
# OTHER
OUTPUT Statement	Specifies the new output destination for a stream.	OUTPUT [ STREAM stream | STREAM-HANDLE handle ] TO<br> { PRINTER [ printer-name ]<br> | opsys-file <br> | opsys-device <br> | TERMINAL<br> | VALUE ( expression )<br> | "CLIPBOARD"<br>&nbsp;&nbsp;} <br>&nbsp;&nbsp;[ LOB-DIR { constant | VALUE ( expression ) } ] <br>&nbsp;&nbsp;[ NUM-COPIES { constant | VALUE ( expression ) } ] <br> [ COLLATE ]<br> [ LANDSCAPE | PORTRAIT ] <br> [ APPEND ] <br> [ BINARY ] <br> [ ECHO | NO-ECHO ] <br> [ KEEP-MESSAGES ] <br> [ NO-MAP | MAP protermcap-entry ] <br> [ PAGED ] <br> [ PAGE-SIZE { constant | VALUE ( expression ) } ] <br> [ UNBUFFERED ]<br> [ NO-CONVERT<br> | { CONVERT<br> [ TARGET target-codepage ] <br> [ SOURCE source-codepage ] <br> } <br> ]	
# ---------------------------------------------------------
# AUTOMATIC EXTRACTION FROM 4GL'S HELP
&ELSE Preprocessor	These directives set logical conditions for the inclusion of blocks of code to compile.	&amp;IF expression &amp;THEN<br>  block<br>[ &amp;ELSEIF expression &amp;THEN<br>  block ] ...<br>[ ELSE<br>  block ]<br>&amp;ENDIF	
&ELSEIF Preprocessor	These directives set logical conditions for the inclusion of blocks of code to compile.	&amp;IF expression &amp;THEN<br>  block<br>[ &amp;ELSEIF expression &amp;THEN<br>  block ] ...<br>[ ELSE<br>  block ]<br>&amp;ENDIF	
&ENDIF Preprocessor	These directives set logical conditions for the inclusion of blocks of code to compile.	&amp;IF expression &amp;THEN<br>  block<br>[ &amp;ELSEIF expression &amp;THEN<br>  block ] ...<br>[ ELSE<br>  block ]<br>&amp;ENDIF	
&GLOBAL-DEFINE Preprocessor	Globally defines a compile-time constant (preprocessor name).	&amp;GLOBAL-DEFINE preprocessor-name definition	
&IF Preprocessor	These directives set logical conditions for the inclusion of blocks of code to compile.	&amp;IF expression &amp;THEN<br>  block<br>[ &amp;ELSEIF expression &amp;THEN<br>  block ] ...<br>[ ELSE<br>  block ]<br>&amp;ENDIF	
&MESSAGE Preprocessor	Displays a message at compile time in the Compiler Messages dialog box. 	&amp;MESSAGE text-string	
&SCOPED-DEFINE Preprocessor	Defines a compile-time constant (preprocessor name) non-globally.	&amp;SCOPED-DEFINE preprocessor-name definition	
&THEN Preprocessor	These directives set logical conditions for the inclusion of blocks of code to compile.	&amp;IF expression &amp;THEN<br>  block<br>[ &amp;ELSEIF expression &amp;THEN<br>  block ] ...<br>[ ELSE<br>  block ]<br>&amp;ENDIF	
&UNDEFINE Preprocessor	Undefines a compile-time constant (preprocessor name).	&amp;UNDEFINE preprocessor-name	
ABSOLUTE Function	Returns the absolute value of a numeric value.	ABSOLUTE ( n )	
ACCELERATOR Attribute	The key label of the keyboard accelerator for the menu item.	
ACCEPT-CHANGES Method	Accepts changes to the data in one temp-table or all temp-tables in a ProDataSet object. 	ACCEPT-CHANGES(&nbsp;)	
ACCEPT-ROW-CHANGES Method	Accepts changes to the data in one row of a ProDataSet temp-table.	ACCEPT-ROW-CHANGES(&nbsp;)	
AccountExpired Property	An authentication status code that indicates authentication failed because the user account has expired.	
ACCUM Function	Returns the value of an aggregate expression that is calculated by an ACCUMULATE or aggregate phrase of a DISPLAY statement.	ACCUM aggregate-phrase expression	
ACCUMULATE Statement	Calculates one or more aggregate values of an expression during the iterations of a block. Use the ACCUM function to access the result of this accumulation.	ACCUMULATE  { expression ( aggregate-phrase ) } ...	
ActBufferId Property	The ActBufferId property identifies the ActBuffer Virtual System Table (VST). This VST contains three records that provide data on the activity of the temp-table database buffer cache. The first and second records are identical (total and primary buffer pool). The third record contains data on the alternate buffer pool, which is not available for the temp-table database. You can pass the ActBufferId property to the GetVSTHandle()method to return the handle to the ActBuffer VST. This property is read-only.	
ActIndexId Property	The ActIndexId property identifies the ActIndex VST. This VST contains index activity data such as the number of entry finds, creates, and deletes; the number of locked entries removed; and the numbers of split and free blocks. You can pass the ActIndexId property to the GetVSTHandle() method to return the handle to the ActIndex VST. This property is read-only.	
ActIOFileId Property	The ActIOFileId property identifies the ActIOFile VST. This VST contains input/output activity data, such as the number of reads; writes; and extends for each file. You can pass the ActIOFileId property to the GetVSTHandle() method to return the handle to the ActIOFile VST. This property is read-only.	
ActIOTypeId Property	The ActIOTypeId property identifies the ActIOType VST. This VST contains data about types of input/output activity, such as database reads and writes; before-image and after-image reads; total reads; before-image and after-image writes; committed transactions. You can pass the ActIOTypeId property to the GetVSTHandle() method to return the handle to the ActIOType VST.This property is read-only.	
ACTIVE Attribute	Indicates whether an individual data-relation between two ProDataSet object buffers is active or inactive. Set to TRUE to activate an individual data-relation. Set to FALSE to deactivate a data-relation. 	
ACTIVE-FORM Handle	An object reference to the last .NET form or ABL window to receive focus. The object reference returned by ACTIVE-FORM has the OpenEdge .NET Progress.Windows.IForm interface type.	ACTIVE-FORM	
ACTIVE-WINDOW Handle	A handle to the last ABL application window to receive an ENTRY event. You cannot set the ACTIVE-WINDOW handle, but you can read and write values for the attributes of the ACTIVE-WINDOW.	ACTIVE-WINDOW [ :attribute ]	
ActivityName Property	The name of the activity from which the Progress.BPM.Task object was created.	
ACTOR Attribute	Returns the value of the actor attribute for the SOAP-header-entryref object as a URL. Identifies the recipient of a header element. 	
ActOtherId Property	The ActOtherId property identifies the ActOther VST. This VST displays miscellaneous activity, such as the number of commits; undo operations; semaphore waits; master block flushes; and database up time. You can pass the ActOtherId property to the GetVSTHandle() method to return the handle to the ActOther VST. This property is read-only.	
ActRecordId Property	The ActRecordId property identifies the ActRecord VST. This VST contains record activity data, such as the number of bytes created; deleted; read, and updated; the number of fragments created, deleted, read, and updated; the number of records created; deleted; read; and updated; the number of transactions committed. You can pass the ActRecordId property to the GetVSTHandle() method to return the handle to the ActRecord VST. This property is read-only.	
ActSpaceId Property	The ActSpaceId property identifies the ActSpace VST. This VST displays space allocation information, such as the number of temp-table database extends; the number of times a block was used from and returned to the free chain; the number of times space was allocated for a record (from the rm chain or from the free chain); the number of bytes allocated for record fragments, the number of rm blocks examined or removed, the number of blocks added to the front or back of the rm chain, the number of moved blocks, the number of locked chain entries, the number of transactions committed, and database up time. You can pass the ActSpaceId property to the GetVSTHandle() method to return the handle to the ActSpace VST. This property is read-only.	
ActSummaryId Property	The ActSummaryId property identifies the ActSummary VST. This VST contains general information about temp-table database activity, such as the number of transactions committed and rolled back; the number of records read, updated, created, and deleted; the number of record locks and waits; the number of database reads and writes; before-image and after-image information; and buffer information. You can pass the ActSummaryId property to the GetVSTHandle() method to return the handle to the ActSummary VST. This property is read-only.	
Add Method	Adds the underlying values of the specified enumeration types and returns the sum as a new instance.	EnumHelper:Add ( INPUT enum1 AS CLASS System.Enum, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT enum2 AS CLASS System.Enum )	
ADD-BUFFER Method	Adds one new buffer to a query object or dynamic ProDataSet object, without affecting the other buffers, if any.	ADD-BUFFER ( buffer )	
ADD-CALC-COLUMN Method	Creates a browse column from the specified properties and returns the handle of the new column. This method can be used only after the browse&#8217;s query attribute has been set.	ADD-CALC-COLUMN ( datatype-exp , format-exp , initial-value-exp , label-exp <br>&nbsp;&nbsp;[ , pos [ , widget-type ] ] )	
ADD-COLUMNS-FROM Method	Creates a browse column for each field found in the specified buffer or table. If a field is found that already has a corresponding browse column created, it is ignored. This method can be used only after the browse&#8217;s query attribute has been set.	ADD-COLUMNS-FROM ( buffer-handle | table-name-exp [ , except-list ] )	
ADD-EVENTS-PROCEDURE Method	Adds an external procedure to the list that the AVM searches for event procedures to handle ActiveX control events.	ADD-EVENTS-PROCEDURE ( procedure-handle )	
ADD-FIELDS-FROM Method	Copies the field definitions from the specified source table to a temp-table. It is intended for use when a temp-table represents a join. If it finds fields that are already in the temp-table, it ignores them. 	ADD-FIELDS-FROM ( { source-buffer-handle-exp | source-table-name-exp }<br>&nbsp;&nbsp;[ , except-list-exp ] )	
ADD-FIRST Method	Adds one or more items to the top of a combo box or selection list. 	ADD-FIRST ( { item-list | label , value } )	
ADD-HEADER-ENTRY Method	Creates a new entry in a SOAP-header object&#8217;s list of entries and associates the new entry with an existing SOAP-header-entry-ref object. The method returns the handle to the new entry.	ADD-HEADER-ENTRY ( header-entryref )	
ADD-INDEX-FIELD Method	Adds the specified field to the specified index of a temp-table. It requires the named index to be added first.	ADD-INDEX-FIELD ( index-name-exp , field-name-exp [ , mode-exp ] )	
ADD-INTERVAL Function	Adds a time interval to, or subtracts a time interval from, a DATE, DATETIME, or DATETIME-TZ value, and returns the new value. 	ADD-INTERVAL (datetime, interval-amount, interval-unit)	
ADD-LAST Method	Adds one or more items to the bottom of a combo box, radio set, or selection list. 	ADD-LAST ( { item-list | label , value } )	
ADD-LIKE-COLUMN Method	Creates a browse column from the specified field and returns its handle. This method can be used only after the browse&#8217;s query attribute has been set.	ADD-LIKE-COLUMN ( field-name-exp | buffer-field-handle <br>&nbsp;&nbsp;[ , pos [ , widget-type ] ] )	
ADD-LIKE-FIELD Method	Adds a field, like the specified source field, to the temp-table.	ADD-LIKE-FIELD ( field-name-exp ,<br>&nbsp;&nbsp;source-buffer-field-handle-exp | source-db-field-name-exp )	
ADD-LIKE-INDEX Method	Adds an index, like the specified source index, to the temp-table.	ADD-LIKE-INDEX ( index-name-exp , source-index-name-exp <br>&nbsp;&nbsp;{ , source-buffer-handle-exp | source-db-table-name-exp } )	
AddMessage Method	Adds a message to the AppError object with the values from the ErrorMessage and MessageNumber arguments to the end of the message list. Your application provides the message number and text. Access error messages and message numbers with the GetMessage(&nbsp;) and GetMessageNum(&nbsp;) methods. This method increments the NumMessages property on the AppError by 1.	AddMessage ( INPUT ErrorMessage &nbsp;AS CHARACTER, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT MessageNumber AS INTEGER )	
ADD-NEW-FIELD Method	Adds a field with the specified properties to the temp-table. Additional properties can be manipulated by creating a buffer-field object for this field.	ADD-NEW-FIELD ( field-name-exp , datatype-exp [ , extent-exp [ , format-exp <br>&nbsp;&nbsp;[ , initial-exp [ , label-exp [ , column-label-exp ] ] ] ] ] )	
ADD-NEW-INDEX Method	Adds a new empty index with the specified name to the temp-table. Index components must be added with the ADD-INDEX-FIELD(&nbsp;) method.	ADD-NEW-INDEX ( index-name-exp [ , unique-exp [ , primary-exp <br>&nbsp;&nbsp;[ , wordix-exp ] ] ] )	
AddNull Method	Creates one or more new elements with a null value and adds them at a specified index or to the end of the JsonArray. 	AddNull (&nbsp;)<br>&nbsp;<br>AddNull ( INPUT count AS INTEGER )<br>&nbsp;<br>AddNull ( INPUT index AS INTEGER ,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT count AS INTEGER )	
AddNumber Method	Creates a property with a given name and JSON number value. This method is useful in situations where none of the ABL numeric data types can be used to hold a JSON numeric value. For example, 10E+100.	AddNumber( INPUT property-name AS CHARACTER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT value AS CHARACTER )<br>&nbsp;	
ADD-PARENT-ID-RELATION Method	Adds a data-relation object for a pair of parent and child buffers that is based on the RECID of the parent buffer to a dynamic ProDataSet object. It also sets the PARENT-ID-RELATION attribute to TRUE.	ADD-PARENT-ID-RELATION ( parent-buffer-handle , child-buffer-handle , <br>&nbsp;&nbsp;[ parent-id-field [ , parent-fields-before [ , parent-fields-after ] ] ] ) 	
ADD-RELATION Method	Adds a data-relation object for a pair of parent and child buffers that is based on the RECID of the parent buffer to a dynamic ProDataSet object. It also sets the PARENT-ID-RELATION attribute to TRUE.	ADD-PARENT-ID-RELATION ( parent-buffer-handle , child-buffer-handle , <br>&nbsp;&nbsp;[ parent-id-field [ , parent-fields-before [ , parent-fields-after ] ] ] ) 	
ADD-SCHEMA-LOCATION Method	An XML Schema file location is specified by providing a pair of values: a namespace and a physical location. This method allows you to specify that value pair. The XML Schema file is used by an X-document or SAX-reader object to validate XML content.	ADD-SCHEMA-LOCATION ( targetNamespace, location )	
ADD-SOURCE-BUFFER Method	Adds a database buffer to a dynamic data-source object at run time.	ADD-SOURCE-BUFFER ( buffer-handle, key-fields )	
ADD-SUPER-PROCEDURE Method	Associates a super procedure file with a procedure file or with the current ABL session. When a procedure file invokes an internal procedure or a user-defined function, ABL searches for it, among other places, in the super procedures (if any) of the procedure file and of the current ABL session. The procedure-search option determines which procedures are searched. 	ADD-SUPER-PROCEDURE ( super-proc-hdl [ , proc-search ] )	
ADM-DATA Attribute	An arbitrary string value associated with a persistent procedure.	
AFTER-BUFFER Attribute	Returns the handle to the default buffer of the after-image table that corresponds to the buffer of the before-image table currently associated with this buffer handle.	
AFTER-FILL Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
AFTER-ROW-FILL Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
AFTER-ROWID Attribute	Returns the ROWID of the row in the after-image table that is the current version of the row in the before-image table currently associated with this buffer handle. This row can be a new or modified row. 	
AFTER-TABLE Attribute	Returns the handle of the after-image table that corresponds to the before-image table currently associated with this temp-table handle.	
ALIAS Function	The ALIAS function returns the alias corresponding to the integer value of expression.	ALIAS ( integer-expression )	
ALLOW-COLUMN-SEARCHING Attribute	Setting this attribute to TRUE allows column searching for browses.	
AllowEdit Property	Indicates whether the .NET control should allow the user to edit values in the bound ABL data source object. The default value is TRUE. 	
AllowNew Property	Indicates whether the .NET control should allow the user to add new records to the bound ABL data source object. The default value is TRUE. 	
AllowRemove Property	Indicates whether the .NET control should allow the user to remove records from the bound ABL data source object. The default value is TRUE. 	
ALWAYS-ON-TOP Attribute	Indicates whether the window should remain on top of all windows, even windows belonging to other applications.	
AMBIGUOUS Attribute	Indicates whether more than one record matched the FIND predicate.	
AMBIGUOUS Function	Returns a TRUE value if the last FIND statement for a particular record found more than one record that met the specified index criteria.	AMBIGUOUS record	
And Method	Performs a bitwise AND operation on the underlying values of the specified enumeration types and returns a new instance. You typically use this method to check the state of a flag.	EnumHelper:And ( INPUT enum1 AS CLASS System.Enum, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT enum2 AS CLASS System.Enum )	
AND Operator	Returns a TRUE value if each logical expression is TRUE.	expression AND expression	
ANY-KEY Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
ANY-PRINTABLE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
APPEND-CHILD Method	Appends a node as the last child node of this XML document or element node. Connects a node into the document structure after the node has been created with the CREATE-NODE(&nbsp;) or CREATE-NODE-NAMESPACE(&nbsp;) method, cloned with the CLONE-NODE(&nbsp;) method, or disconnected with the REMOVE-NODE(&nbsp;) method. This has no effect on the node reference.	APPEND-CHILD ( x-node-handle )	
APPL-ALERT-BOXES Attribute	Directs application messages to alert boxes or the default message area.	
APPL-CONTEXT-ID Attribute	Returns the universally unique identifier (UUID) for the application context in effect for the current session, as a Base64 character string. The UUID is 22 characters in length (the two trailing Base64 pad characters are removed). 	
APPLY Statement	Applies an event to a widget or procedure.	APPLY event [ TO widget-phrase ]	
APPLY-CALLBACK Method	Applies a callback procedure, which lets you execute a defined event without duplicating the event procedure definition.	APPLY-CALLBACK ( event-name )	
APPSERVER-INFO Attribute	Connection parameter for the AppServer CONNECT(&nbsp;) method. 	
APPSERVER-PASSWORD Attribute	Password parameter for the AppServer CONNECT(&nbsp;) method. 	
APPSERVER-USERID Attribute	Userid parameter for the AppServer CONNECT(&nbsp;) method. 	
ArchiveIndexStatistics Property	When ArchiveIndexStatistics property is set to TRUE, it creates a dynamic temp-table _IndexStatHistory that stores the index statistics for every temp-table in the session range. The temp-table to which the data is archived cannot be deleted. It contains one record for every deleted application temp-table This is a read-write property.	
ArchiveTableStatistics Property	When ArchiveTableStatistics property is set to TRUE, it creates a dynamic temp-table _TableStatHistory that stores the table statistics for every temp-table in the session range. The temp-table to which the data is archived cannot be deleted. It contains one record for every deleted application temp-table. This is a read-write property.	
AreEqual Method	Compares the underlying values of the specified enumeration types and returns TRUE if the values are equal. Otherwise, it returns FALSE.	EnumHelper:AreEqual ( INPUT enum1 AS CLASS System.Enum, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT enum2 AS CLASS System.Enum )	
AreNotEqual Method	Compares the underlying values of the specified enumeration types and returns TRUE if the values are not equal. Otherwise, it returns FALSE.	EnumHelper:AreNotEqual ( INPUT enum1 AS CLASS System.Enum, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT enum2 AS CLASS System.Enum )	
Array Property	Returned by the GetType method on a JsonObject or JsonArray indicating that the JSON data type  for the specified property or element is a JSON Object.	
ArrayIndex Property	The 1-based index position in an array field identified by the FieldIndex and FieldName properties for a SortRequestEventArgs object instance that indicates the array element on which to sort. If the field is not an array field, the value will be zero.	
as Property	The data type of a data element defines what kind of data the data element can store. ABL supports the following basic kinds of data types:	System.Collections.Generic.List&lt;T&gt;	"namespace.object-name&lt;type-parameter [ , type-parameter ] ...&gt;"	DEFINE VARIABLE shortList AS <br>&nbsp;&nbsp;CLASS System.Collections.Generic.List&lt;SHORT&gt; NO-UNDO.	DEFINE VARIABLE someIntArray AS INTEGER EXTENT 4.	ASSIGN someIntArray[ 2 ] = 128.	ASSIGN someIntArray = anotherIntArray.	DEFINE VARIABLE buttonArray AS <br>&nbsp;&nbsp;CLASS "System.Windows.Forms.Button[]" NO-UNDO.<br>&nbsp;<br>DEFINE VARIABLE buttonArrayExt AS <br>&nbsp;&nbsp;CLASS "System.Windows.Forms.Button[]" EXTENT 3 NO-UNDO.	DEFINE VARIABLE shortListArrayObj AS <br>&nbsp;&nbsp;CLASS "System.Collections.Generic.List&lt;SHORT&gt;[]" NO-UNDO.<br>&nbsp;<br>DEFINE VARIABLE shortListArrayExt AS <br>&nbsp;&nbsp;CLASS "System.Collections.Generic.List&lt;SHORT&gt;" EXTENT 3 NO-UNDO.<br>&nbsp;<br>DEFINE VARIABLE buttonArrayList AS CLASS &nbsp;&nbsp;"System.Collections.Generic.List&lt;System.Windows.Forms.Button[]&gt;" &nbsp;&nbsp;NO-UNDO.<br>&nbsp;<br>DEFINE VARIABLE buttonArrayListExt AS CLASS &nbsp;&nbsp;"System.Collections.Generic.List&lt;System.Windows.Forms.Button[]&gt;" &nbsp;&nbsp;EXTENT 3 NO-UNDO.	
ASC Function	Converts a character expression representing a single character into the corresponding ASCII (or internal code page) value, returned as an INTEGER.	ASC ( expression<br>      [ , target-codepage [ , source-codepage ] ] )	
Ascending Property	Indicates the order in which to sort the records in the ABL data source object. TRUE indicates ascending sort order. FALSE indicates descending sort order.	
ASSIGN Statement	Moves data previously placed in the screen buffer by a data input statement or moves data specified within the ASSIGN statement by an expression to the corresponding fields and variables in the record buffer.	ASSIGN {<br>          [ [ INPUT ] FRAME frame | BROWSE browse ]<br>             { field [ = expression ] } [ WHEN expression ]<br>       } ... [ NO-ERROR ]	ASSIGN { record [ EXCEPT field ... ] } [ NO-ERROR ]	
Assign Method	Instructs the Savvion SBM Server to assign an available task to a given performer (a user).	Assign ( INPUT name &nbsp;AS CHARACTER )	DEFINE VARIABLE oTask AS Progress.BPM.Task.<br>oTask = oUserSession:GetTask("ApproveCredit").<br>IF oTask:Status NE "I_ASSIGNED" THEN oTask:Assign("Mary").	
ASYNCHRONOUS Attribute	Makes a dynamic invoke asynchronously. That is, the INVOKE(&nbsp;) method with ASYNCHRONOUS set to TRUE does dynamically what the RUN statement with the ASYNCHRONOUS option does statically.	ASYNCHRONOUS [ = logical-expression ]	
ASYNC-REQUEST-COUNT Attribute	The number of active asynchronous requests for the specified procedure or AppServer.	
ASYNC-REQUEST-HANDLE Attribute	A handle to an asynchronous-request object providing information on an asynchronous invoke.	
ATTACH-DATA-SOURCE Method	Attaches a data-source object to a temp-table buffer in a ProDataSet object.	ATTACH-DATA-SOURCE ( datasource-hdl <br>&nbsp;&nbsp;[ [ [ , pairs-list ] , except-fields ] , include-fields ] )	
ATTACHED-PAIRLIST Attribute	Returns a comma-separated list of field name pairs for fields in a ProDataSet temp-table buffer that are mapped to corresponding fields in an attached data-source object. This list includes only the field name pairs you specified with the most recently attached data-source object (in the order you specified them).	"table1-field1,table2-field1[,table1-fieldn,table2-fieldn]..."	
ATTRIBUTE-NAMES Attribute	Returns a comma-separated list of an element&#8217;s attribute names. The attribute names are contained in the XML document. If the element does not have any attributes, the empty string (&#8220;&#8221;) is returned. 	anames = hNoderef:ATTRIBUTE-NAMES.<br>REPEAT jx = 1 TO NUM-ENTRIES(anames):<br>  bname = ENTRY(jx, anames).<br>  MESSAGE "attribute-name is" bname "value is" <br>&nbsp;&nbsp;&nbsp;&nbsp;hNoderef:GET-ATTRIBUTE(bname).<br>END.	
ATTR-SPACE Attribute	This attribute has no effect. It is supported only for backward compatibility.	
AUDIT-CONTROL Handle	A handle to the audit control settings for managing application auditing context and events for the current ABL session.	AUDIT-CONTROL [ :attribute | :method ]	
AUDIT-ENABLED Function	Determines whether a connected database is audit-enabled.	AUDIT-ENABLED( [ integer-expression | logical-name | alias ] )	
AUDIT-EVENT-CONTEXT Attribute	The audit event context for a client-principal object. The AVM stores this application-defined audit context in the _Event-context field in the audit record created for an audit event generated during user authentication with the SEAL(&nbsp;) method, SECURITY-POLICY:SET-CLIENT(&nbsp;) method, SET-DB-CLIENT function, or AUTHENTICATION-FAILED(&nbsp;) method, and with the LOGOUT(&nbsp;) method. If not specified, the _Event-context field in the audit record is left blank.	
AUDIT-POLICY Handle	A handle that lets you update current audit policy settings for processing audit events and securing audit data for an audit-enabled database.	AUDIT-POLICY [ :method ]	
AuthenticationAccess Property	An authentication status code that indicates authentication failed because user account information is not accessible.	
AuthenticationFailed Property	An authentication status code that indicates a non-specific authentication failure, which may be the result of a user account being disabled or some other user login restriction.	
AUTHENTICATION-FAILED Method	Indicates that the identity asserted in the unsealed client-principal object cannot be authenticated. This authentication failure signifies that the application or database user identity in the registered domain is not authentic. Once invalidated, the client-principal object&#8217;s properties cannot be changed and the object cannot be sealed. This method also sets the LOGIN-STATE attribute on the client-principal object to "FAILED".	AUTHENTICATION-FAILED ( [ reason ] )	
AUTO-COMPLETION Attribute	Specifies that the combo-box widget automatically complete keyboard input based on a potential match to items in the drop-down list. 	
AUTO-DELETE Attribute	Specifies whether a dynamic buffer and temp-table object associated with a ProDataSet object is automatically deleted when the ProDataSet object is deleted. Dynamic buffer and temp-table objects associated with a ProDataSet object are deleted when the ProDataSet object is deleted, by default.	
AUTO-DELETE-XML Attribute	Determines whether the X-document object handle is deleted on a new web request. The default is YES.	
AUTO-END-KEY Attribute	Directs the AVM to apply the ENDKEY event to the current frame when a user chooses the button.	
AUTO-GO Attribute	Directs the AVM to apply the GO event to the current frame when a user chooses the button.	
AUTO-INDENT Attribute	Specifies the text indentation behavior in the editor widget.	
AUTO-RESIZE Attribute	Tells the AVM how to resize a widget when the LABEL, FONT, or FORMAT attribute of the widget changes.	
AUTO-RETURN Attribute	Specifies the behavior that occurs when a user types the last allowable character in the widget.	
AutoSort Property	Indicates whether the BindingSource object automatically sorts records in the ABL data source object when some user action in the bound .NET control generates a sort operation (such as clicking on a column header in a grid control).	
AutoSync Property	Indicates whether the BindingSource object automatically synchronizes (refreshes) all data displayed in any bound .NET control after one of the following ABL operations on the bound ABL data source object occurs:	
AUTO-SYNCHRONIZE Attribute	Indicates whether the AVM automatically synchronizes a hierarchy of queries on a ProDataSet temp-table buffer.	
AutoUpdate Property	Indicates whether the BindingSource object automatically updates records in the ABL data source object when some user action in the bound .NET control generates an update operation (such as adding, removing, or editing fields). 	
AUTO-VALIDATE Attribute	Specifies when the AVM runs the validation for a browse column.	
AUTO-ZAP Attribute	Specifies what happens to the existing contents of the widget when the user types new information into the widget.	
AVAILABLE Attribute	Indicates whether a buffer contains a record. 	
AVAILABLE Function	Returns a TRUE value if the record buffer you name contains a record and returns a FALSE value if the record buffer is empty.	AVAILABLE record	
AVAILABLE-FORMATS Attribute	A comma-separated list of names that specify the formats available for the data currently stored in the clipboard. 	
BACKGROUND Attribute	Specifies the handle for the background iteration of the frame or dialog box.	
BACKSPACE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
BACK-TAB Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
BandIndex Property	Indicates the band in a hierarchical control which uses the current record. A band consists of all the records at a given level in the hierarchical display. A given band might contain sets of child rows from different parent records, as shown:	Band 0<br>&nbsp;&nbsp;&nbsp;&nbsp;Band 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 3<br>&nbsp;&nbsp;&nbsp;&nbsp;Band 1<br>&nbsp;<br>Band 0<br>&nbsp;&nbsp;&nbsp;&nbsp;Band 1<br>&nbsp;&nbsp;&nbsp;&nbsp;Band 1<br>&nbsp;<br>Band 0<br>&nbsp;&nbsp;&nbsp;&nbsp;Band 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 3<br>&nbsp;&nbsp;&nbsp;&nbsp;Band 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 2<br>&nbsp;&nbsp;&nbsp;&nbsp;Band 1<br>&nbsp;&nbsp;&nbsp;&nbsp;Band 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Band 3	PROCEDURE recursiveRelationCreateRow:<br>&nbsp;<br>DEFINE INPUT PARAMETER sender AS System.Object. <br>DEFINE INPUT PARAMETER args&nbsp;&nbsp;&nbsp;AS Progress.Data.CreateRowEventArgs.<br>&nbsp;<br>DEFINE VARIABLE hBuffer&nbsp;&nbsp;&nbsp;AS HANDLE.<br>DEFINE VARIABLE hQuery&nbsp;&nbsp;&nbsp;&nbsp;AS HANDLE.<br>DEFINE VARIABLE hTopQuery AS HANDLE.<br>DEFINE VARIABLE hRelation AS HANDLE.<br>&nbsp;<br>hBuffer = args:BufferHdl.<br>IF args:BandIndex EQ 0 THEN<br>&nbsp;&nbsp;hQuery = hTopQuery.<br>ELSE<br>&nbsp;&nbsp;hQuery = hRelation:CURRENT-QUERY(args:BandIndex). <br>&nbsp;<br>hBuffer:BUFFER-CREATE().<br>hQuery:CREATE-RESULT-LIST-ENTRY().<br>args:Created = TRUE.<br>&nbsp;<br>END.	
BASE64-DECODE Function	Converts a Base64 character string into a binary value. The result is a MEMPTR containing the binary data.	BASE64-DECODE ( expression )	
BASE64-ENCODE Function	Converts binary data into a Base64 character string, and returns a LONGCHAR containing the character data. The resulting LONGCHAR is in the code page specified by -cpinternal.	BASE64-ENCODE ( expression )	
BASE-ADE Attribute	Sets the location of the ADE r-code directory. When set, the AVM adds the directory, followed by all the procedure libraries in the directory, to the PROPATH.	
BASIC-LOGGING Attribute	Turns on QryInfo logging for an individual query.	
Batching Property	Indicates whether record batching is enabled for the BindingSource object. Set to TRUE to enable record batching. Set to FALSE to disable record batching. The default value is FALSE.	
BATCH-MODE Attribute	Indicates whether the current ABL session is running in batch mode or interactive mode.	
BATCH-SIZE Attribute	The maximum number of ProDataSet temp-table rows to retrieve in each FILL operation. The default value is zero (which retrieves all rows that satisfy the associated query).	
BEFORE-BUFFER Attribute	Returns the handle to the default buffer of the before-image table that corresponds to the buffer of the after-image table currently associated with this buffer handle.	
BEFORE-FILL Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
BEFORE-ROW-FILL Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
BEFORE-ROWID Attribute	Returns the ROWID of the row in the before-image table that corresponds to the row in the after-image table currently associated with this buffer handle. 	
BEFORE-TABLE Attribute	Returns the handle of the before-image table that corresponds to the after-image table currently associated with this temp-table handle.	
BEGIN-EVENT-GROUP Method	Indicates (and records) the beginning of a group of related audit events in the current session. Audit event groups are used to group a series of related application and database audit events in one or more connected audit-enabled databases whose current audit policy has this audit event enabled.	BEGIN-EVENT-GROUP( event-context [ , event-detail [ , audit-custom-detail ] ] )	
BEGINS Operator	Tests a character expression to see if that expression begins with a second character expression. 	expression1 BEGINS expression2	
BELL Statement	Causes the terminal to make a beep sound.	BELL	DEFINE VARIABLE outfile AS CHARACTER NO-UNDO FORMAT "x(8)"<br>&nbsp;&nbsp;LABEL "Output file name".<br>&nbsp;<br>getfile:<br>DO ON ERROR UNDO, RETRY:<br>&nbsp;&nbsp;SET outfile WITH SIDE-LABELS.<br>&nbsp;&nbsp;IF SEARCH(outfile) = outfile THEN DO:<br>&nbsp;&nbsp;&nbsp;&nbsp;MESSAGE "A file named" outfile "already exists in your directory".<br>&nbsp;&nbsp;&nbsp;&nbsp;MESSAGE "Please use another name".<br>&nbsp;&nbsp;&nbsp;&nbsp;BELL.<br>&nbsp;&nbsp;&nbsp;&nbsp;UNDO getfile, RETRY getfile.<br>&nbsp;&nbsp;END.<br>END.<br>&nbsp;<br>OUTPUT TO VALUE(outfile).<br>FOR EACH Customer NO-LOCK:<br>&nbsp;&nbsp;DISPLAY Customer.Name Customer.CreditLimit.<br>END.	
BELL Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
BGCOLOR Attribute	Specifies the color number for the background color of the widget.	
BLANK Attribute	Suppresses the display of sensitive data in a field.	
BlockId Property	The BlockId property identifies the Block VST. This VST contains information about a specific block. You can pass the BlockId property to the GetVSTHandle() method to return the handle to the Block VST. This property is read-only.	
BLOCK-ITERATION-DISPLAY Attribute	Specifies if the Frame phrase of the frame contains the NO-HIDE option or if the frame has multiple iterations (is a DOWN frame).	
Boolean Property	Returned by the GetType method on a JsonObject or JsonArray indicating that the JSON data type  for the specified property or element is boolean.	
BORDER-BOTTOM-CHARS Attribute	The thickness, in character units, of the border at the bottom of the frame or dialog box.	
BORDER-BOTTOM-PIXELS Attribute	The thickness, in pixels, of the border at the bottom of the frame or dialog box.	
BORDER-LEFT-CHARS Attribute	The thickness, in character units, of the border at the left side of the frame or dialog box.	
BORDER-LEFT-PIXELS Attribute	The thickness, in pixels, of the border at the left side of the frame or dialog box.	
BORDER-RIGHT-CHARS Attribute	The thickness, in character units, of the border at the right side of the frame or dialog box.	
BORDER-RIGHT-PIXELS Attribute	The thickness, in pixels, of the border at the right side of the frame or dialog box.	
BORDER-TOP-CHARS Attribute	The thickness, in character units, of the border at the top of the frame or dialog box.	
BORDER-TOP-PIXELS Attribute	The thickness, in pixels, of the border at the top of the frame or dialog box.	
BOX Attribute	Indicates whether the widget has a graphical border around it.	
BOX Function	Returns an object reference to a .NET System.Object that contains (boxes) a .NET mapping of an ABL value. At run time, this mapping depends on the kind of ABL value passed to the function. If you pass an ABL primitive value, the function returns a corresponding .NET mapped object type. If you pass an ABL array of .NET-compatible elements, the function returns a corresponding .NET array object type.	BOX ( ABL-expression [ , AS-data-type-expression ] )	
BOX-SELECTABLE Attribute	Indicates whether box-selection direct manipulation events for the frame or dialog box are enabled or disabled.	
BPMDataTypeName Property	Returns a character value that indicates the data type of the Progress.BPM.Dataslot or Progress.BPM.DataSlotTemplate Value as the type is defined on the SBM Server.	
BUFFER-CHARS Attribute	The number of characters a user can enter on each line of the editor.	
BUFFER-COMPARE Method	This method does a rough compare of any common fields, determined by name, data type, and extent-matching, between the source buffer and the target buffer. The resulting logical value is either TRUE or FALSE as a whole. A single field that does not compare causes the entire buffer to return FALSE. If there are fields in one buffer that do not exist in the other, they are ignored.	BUFFER-COMPARE ( source-buffer-handle [ , mode-exp [ , except-list <br>&nbsp;&nbsp;[ , pairs-list [ , no-lobs ] ] ] ] )	
BUFFER-COMPARE Statement	Performs a bulk comparison of two records (source and target) by comparing source and target fields of the same name for equality and storing the result in a field. You can specify a list of fields to exclude, or a list of fields to include. You can also specify WHEN...THEN phrases. For all such phrases you specify, the AVM evaluates the WHEN portion, and if it evaluates to TRUE, the AVM executes the THEN portion.	BUFFER-COMPARE source<br>  [ { EXCEPT | USING } field ... ] TO target <br>&nbsp;&nbsp;[ CASE-SENSITIVE | BINARY ]<br>  [ SAVE [ RESULT IN ] result-field ] <br>  [ [ EXPLICIT ] COMPARES ]:<br>     [ WHEN field compare-operator expression<br>        THEN statement-or-block ] ...<br>  [ END [ COMPARES ] ] [ NO-LOBS ] [ NO-ERROR ]	
BUFFER-COPY Method	This method copies any common fields, determined by name, data type, and extent-matching, from the source buffer to the receiving buffer. If there are fields in one buffer that do not exist in the other, they are ignored. This method is used to accommodate temp-tables of joins.	BUFFER-COPY ( source-buffer-handle <br>&nbsp;&nbsp;[ , except-list [ , pairs-list [ , no-lobs ] ] ] )	
BUFFER-COPY Statement	Performs a bulk copy of a source record to a target record by copying each source field to the target field of the same name. You can specify a list of fields to exclude from the bulk copy, or a list of fields to include in the bulk copy. You can also specify WHEN...THEN phrases. For each such phrase, BUFFER-COPY executes the THEN portion if the corresponding WHEN portion evaluates to TRUE.	BUFFER-COPY source [ { EXCEPT | USING } field ... ]<br>  TO target [ ASSIGN assign-expression ... ] [ NO-LOBS ] [ NO-ERROR ]	
BUFFER-CREATE Method	Creates a record, sets fields to their default values, and moves a copy of the record into the buffer.	BUFFER-CREATE ( [ tenant-expression ] )	
BUFFER-DELETE Method	Deletes a record from the record buffer and from the database.	BUFFER-DELETE (&nbsp;)	
BUFFER-FIELD Attribute	The handle of the browse column&#8217;s buffer-field.	
BUFFER-FIELD Method	Returns a handle to a particular field in the buffer.	BUFFER-FIELD ( field-number | field-name )	
BUFFER-GROUP-ID Attribute	The group ID (as an integer) of the tenant group to which the current record in the buffer specified by the buffer handle belongs. If the buffer does not contain a record from a tenant group, the function returns the Unknown value (?).	
BUFFER-GROUP-ID Function	Returns the group ID (as an integer) of the tenant group to which the current record in a specified record buffer belongs. If the buffer does not contain a record from a tenant group, the function returns the Unknown value (?).	BUFFER-GROUP-ID ( buffer-name )	
BUFFER-GROUP-NAME Attribute	The name (as a character string) of the tenant group to which the current record in the buffer specified by the buffer handle belongs. If the buffer does not contain a record from a tenant group, the function returns the Unknown value (?).	
BUFFER-GROUP-NAME Function	Returns the name (as a character string) of the tenant group to which the current record in a specified record buffer belongs. If the buffer does not contain a record from a tenant group, the function returns the Unknown value (?).	BUFFER-GROUP-NAME ( buffer-name )	
BUFFER-HANDLE Attribute	The handle of the buffer object to which the buffer-field belongs.	
BufferHdl Property	For a create row operation, this is the buffer handle for the newly created row. For a cancel create row operation, this is the buffer handle to the previously created row to delete.	
BUFFER-LINES Attribute	The number of lines a user can enter into the editor.	
BufferName Property	For a create row operation, this is the buffer name for the newly created row. For a cancel create row operation, this is the buffer name of the previously created row to delete.	
BUFFER-NAME Attribute	The name of the buffer object to which the buffer-field object belongs.	
BUFFER-RELEASE Method	Releases a record from a buffer object. The BUFFER-RELEASE method corresponds to the RELEASE statement.	BUFFER-RELEASE (&nbsp;)	
BUFFER-TENANT-ID Attribute	The tenant ID (as an integer) of the tenant that owns the current record in the buffer specified by a buffer handle.	
BUFFER-TENANT-ID Function	Returns the tenant ID (as an integer) of the tenant that owns the current record in a specified buffer.	BUFFER-TENANT-ID ( buffer-name )	
BUFFER-TENANT-NAME Attribute	The name of the tenant (as a character string) that owns the current record in the buffer specified by a buffer handle. 	
BUFFER-TENANT-NAME Function	Returns the name (as a character string) of the tenant that owns the current record in a specified buffer.	BUFFER-TENANT-NAME ( buffer-name )	
BUFFER-VALIDATE Method	Verifies that a record in a buffer object complies with mandatory field and unique index definitions. The BUFFER-VALIDATE(&nbsp;) method corresponds to the VALIDATE statement.	BUFFER-VALIDATE (&nbsp;)	
BUFFER-VALUE Method	The current value of a buffer-field object. If you modify the BUFFER-VALUE(&nbsp;) method, the AVM sets the buffer-field object to the new value.	BUFFER-VALUE ( [ i ] ) 	
BuffStatusId Property	The BuffStatusId property identifies the BuffStatus VST. This VST displays the status of buffers, such as the number of buffers that are in the buffer cache, that are currently in use, that are empty, or that are on the Least Recently Used (LRU) chain, page writer queue, or checkpoint queue. You can pass the BuffStatusId property to the GetVSTHandle() method to return the handle to the BuffStatus VST. This property is read-only.	
BUTTON Widget	A button widget represents a push button on the screen. The button can contain a textual label or it can have images associated with its pressed and unpressed states. You can define a static button with the DEFINE BUTTON statement. You can create dynamic buttons with the CREATE widget statementt. This figure shows three buttons:				
BYTES-READ Attribute	Returns the number of bytes read from the socket via the last READ(&nbsp;) method. If the last READ(&nbsp;) method failed, this attribute will return 0.	
BYTES-WRITTEN Attribute	Returns the number of bytes written to the socket via the last WRITE(&nbsp;) method. If the last WRITE(&nbsp;) method failed, this attribute will return 0.	
CACHE Attribute	Specifies how many records a NO-LOCK query should hold in memory.	
CALL Statement	Transfers control to a dispatch routine (PRODSP) that then calls a C function. You write the C function using ABL Host Language Call (HLC) interface.	CALL routine-identifier [ argument ] ...	
CALL-NAME Attribute	The name of one of the following:	CALL-NAME [ = char-expression ]	
CallStack Property	Contains the ABL procedure call stack indicating when an ABL error object (an object that implements Progress.Lang.Error) was thrown. 	&nbsp;<br>&nbsp;	
CALL-TYPE Attribute	The type of call, which must be the dynamic version of one of the following:	/* Set SESSION:NUMERIC-FORMAT to "european" */<br>&nbsp;<br>ASSIGN<br>&nbsp;&nbsp;hCall:IN-HANDLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "session"<br>&nbsp;&nbsp;hCall:CALL-TYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = SET-ATTR-CALL-TYPE<br>&nbsp;&nbsp;hCall:CALL-NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "numeric-format"<br>&nbsp;&nbsp;hCall:NUM-PARAMETERS = 1.<br>&nbsp;<br>hCall:SET-PARAMETER(1, "CHARACTER", "INPUT", "european").<br>hCall:INVOKE.	
CANCEL-BREAK Method	Cancels a breakpoint from a debugging session.	CANCEL-BREAK ( [ procedure [ , line-number ] ] )	
CANCEL-BUTTON Attribute	A button widget in the frame or dialog box to receive the CHOOSE event when a user cancels the current frame or dialog box by pressing the ESC key.	
CANCEL-BUTTON Option	Specifies the overall layout and processing properties of a frame for frame definition (DEFINE FRAME and FORM), block header (DO, FOR EACH, and REPEAT), and data handling (DISPLAY, SET, etc.) statements. When used on block header statements, the Frame phrase also specifies the default frame for data handling statements within the block. Frame phrases can also be used on individual data handling statements to indicate the specific frame where the statement applies.	WITH [ ACCUM [ max-length ] ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ at-phrase ] [ ATTR-SPACE | NO-ATTR-SPACE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ CANCEL-BUTTON button-name ] [ CENTERED ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ color-specification ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ COLUMN expression ] [ n COLUMNS ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ CONTEXT-HELP ] [ CONTEXT-HELP-FILE help-file-name ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ DEFAULT-BUTTON button-name ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ DROP-TARGET ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ [ expression ] DOWN ] [ EXPORT ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ WIDGET-ID id-number ] [ FONT expression ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ FRAME frame ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ INHERIT-BGCOLOR | NO-INHERIT-BGCOLOR ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ INHERIT-FGCOLOR | NO-INHERIT-FGCOLOR ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ KEEP-TAB-ORDER ] [ NO-BOX ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ NO-HIDE ] [ NO-LABELS ] [ USE-DICT-EXPS ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ NO-VALIDATE ] [ NO-AUTO-VALIDATE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ NO-HELP ] [ NO-UNDERLINE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ OVERLAY ] [ PAGE-BOTTOM | PAGE-TOP ] [ RETAIN n ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ ROW expression ] [ SCREEN-IO | STREAM-IO ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ SCROLL n ] [ SCROLLABLE ] [ SIDE-LABELS ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ size-phrase ] [ STREAM stream | STREAM-HANDLE handle ] [ THREE-D ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ title-phrase ] [ TOP-ONLY ] [ USE-TEXT ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ V6FRAME [ USE-REVVIDEO | USE-UNDERLINE ] ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ VIEW-AS DIALOG-BOX ] [ WIDTH n ] [ IN WINDOW window ]	
CancelCreateRow Event	The .NET event published when some user action cancels a create row operation in the bound .NET control (for example, pressing ESCAPE in a new empty row).	&nbsp;&nbsp;( <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT sender AS CLASS System.Object,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT args AS CLASS Progress.Data.CancelCreateRowEventArgs<br>&nbsp;&nbsp;).	
CANCELLED Attribute	Indicates if the asynchronous request was cancelled using either the CANCEL-REQUESTS(&nbsp;) method or the DISCONNECT(&nbsp;) method on the associated server handle.	
CANCEL-REQUESTS Method	For a state-reset, state-aware, or stateless AppServer, this method raises a STOP condition in the context of the currently running asynchronous request and purges the send queue of any asynchronous requests that have not been executed on the specified AppServer.	CANCEL-REQUESTS(&nbsp;)	
CANCEL-REQUESTS-AFTER Method	Calls the CANCEL-REQUESTS-AFTER(&nbsp;) method on the server object after the specified number of seconds have elapsed. When CANCEL-REQUESTS-AFTER(&nbsp;) is called, all requests currently running or queued to run on the server object are cancelled, regardless of when they were started.	CANCEL-REQUESTS-AFTER ( seconds )	
CAN-CREATE Attribute	Indicates whether the ABL user has permission to insert into the database the record associated with a buffer.	
CAN-DELETE Attribute	Indicates whether the ABL user has permission to delete from the database the record associated with a buffer.	
CAN-DO Function	Checks a user ID against a list of one or more user ID matching patterns that can be used to indicate what users have access to a given application function. The function returns TRUE if the specified user ID has access according to the list. Thus, you can implement run&#8209;time authorization checking for any procedure or class in your application.	CAN-DO ( id-pattern-list [ , userid ] )	
CAN-FIND Function	Returns a TRUE value if a record is found that meets the specified FIND criteria; otherwise it returns FALSE. CAN-FIND does not make the record available to the procedure. You typically use the CAN-FIND function within a VALIDATE option in a data handling statement, such as the UPDATE statement.	CAN-FIND <br>  (<br>    [ FIRST | LAST ] record [ constant ]<br>    [ OF table ] [ WHERE expression ] [ USE-INDEX index ]<br>    [ USING [ FRAME frame ] field<br>       [ AND [ FRAME frame ] field ] ...<br>    ]<br>    [ SHARE-LOCK | NO-LOCK ] [ NO-WAIT ] [ NO-PREFETCH ]<br>  )	
CAN-QUERY Function	Returns a logical value indicating whether you can query a specified attribute or method for a specified widget.	CAN-QUERY ( handle , attribute-name )	
CAN-READ Attribute	Indicates whether the ABL user has permission to read the record associated with a&nbsp;buffer or buffer-field.	
CAN-SET Function	Returns a logical value indicating whether you can set a specified attribute for a specified widget.	CAN-SET ( handle , attribute-name )	
CAN-WRITE Attribute	Indicates whether the ABL user has permission to modify the record associated with a buffer or buffer-field.	
CAPS Function	Converts any lowercase characters in a CHARACTER or LONGCHAR expression to uppercase characters, and returns the result.	CAPS ( expression )	
CAREFUL-PAINT Attribute	Indicates whether overlapping widgets in a 3D frame will refresh (repaint) carefully but more slowly (TRUE), or quickly, but possibly not as carefully (FALSE).	
CASE Statement	Provides a multi&#8209;branch decision based on the value of a single expression.	CASE expression :<br>  {  WHEN value [ OR WHEN value ] ... THEN<br>       { block | statement }<br>  } ...<br>  [  OTHERWISE<br>       { block | statement }<br>  ]<br>END [ CASE ]	
CASE-SENSITIVE Attribute	Indicates whether a buffer-field is case-sensitive.	
CAST Function	Returns a new object reference to the same class instance as an existing object reference, but with a different data type. This different data type is cast from the object type of the original object reference according to another specified object type. The two object types must be related, where one is a class type and the other is a subclass of that class type or where one is an interface type and the other is a class that implements the interface of that type.	CAST( object-reference, object-type-name ).	
CATCH Statement	Defines an error-handling end block for any undoable ABL block. An end block is an ABL block that can occur only within another block. The block containing the end block is known as the associated block. End-blocks must occur between the last line of executable code in the associated block and the END statement.	&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;CATCH error-variable AS [ CLASS ] error-class:<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch-logic<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;END [ CATCH ] .<br>&nbsp;<br>[ block-end-statement ]<br>&nbsp;	
CENTERED Attribute	Indicates whether the AVM automatically centers the frame in a window.	
CHARSET Attribute	The current setting of the Character Set (-charset) parameter.	
CHECKED Attribute	The display state for a toggle box or a toggle-box menu item.	
ChildAllowEdit Property	Indicates whether the .NET control should allow the user to edit values in the specified child temp-table buffer in the bound ABL data source object. The default value is TRUE. 	ChildAllowEdit[ buffer-handle | buffer-name ]	
ChildAllowNew Property	Indicates whether the .NET control should allow the user to add new records to the specified child temp-table buffer in the bound ABL data source object. The default value is TRUE. 	ChildAllowNew[ buffer-handle | buffer-name ]	
ChildAllowRemove Property	Indicates whether the .NET control should allow the user to remove records from the specified child temp-table buffer in the bound ABL data source object. The default value is TRUE. 	ChildAllowRemove[ buffer-handle | buffer-name ]	
CHILD-BUFFER Attribute	Returns the buffer handle of the child member of the data-relation object.	
ChildInputValue Property	Returns a Progress.Data.InputValue instance containing input values for all fields in the current row of the specified child temp-table displayed in the bound .NET control. Use the indexers in this instance to access the input value of a specific field in the row. 	ChildInputValue[ buffer-handle | buffer-name ]	
CHILD-NUM Attribute	Returns the relative number assigned to this XML node among its siblings. XML nodes that have the same parent are called siblings, and are numbered from 1 to the number of siblings. 	my-index = hNoderef:CHILD-NUM.	
Choices Property	Contains a comma-separated list of possible values for a character-type dataslot when there is a limitation in the values that can be chosen. For example, if the only allowable values for a Color dataslot are red, green, and blue, the values of the Choices property for the DataSlot would be "Red,Green,Blue". 	
CHOOSE Statement	After you display data, the CHOOSE statement moves a highlight bar among a series of choices and selects a choice when you press GO, RETURN, or enter a unique combination of initial characters.	CHOOSE<br>  {     { ROW field [ HELP char-constant ] }<br>     |  { FIELD { field [ HELP char-constant ] } ... }<br>  }<br>  [ AUTO-RETURN ] [ COLOR color-phrase ]<br>  [ GO-ON ( key-label ... ) ] [ KEYS char-variable ]<br>  [ NO-ERROR ] [ PAUSE expression ]<br>  { [ frame-phrase ] }	
CHOOSE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
CHR Function	Converts an integer value to its corresponding character value.	CHR ( expression <br>      [ , target-codepage [ , source-codepage ] ]<br>    )	
CLASS Statement	Defines a user-defined class. A class defined with this statement represents a user-defined data type whose characteristics are defined by class members, including a set of class data members and properties that define class data, and a set of class methods and events that define class behavior. In addition to class members, a class definition can include special optional methods (one or more constructors and one destructor). It can also include class-scoped handle-based objects that provide private resources to the class, function prototypes for user-defined functions referenced by the class, and triggers to handle events for widgets and other handle-based objects defined by the class.	CLASS class-type-name [ INHERITS super-type-name ]<br>&nbsp;&nbsp;[ IMPLEMENTS interface-type-name [ , interface-type-name ] ... ]<br>&nbsp;&nbsp;[ USE-WIDGET-POOL ]<br>&nbsp;&nbsp;[ ABSTRACT | FINAL ] :<br>&nbsp;<br>&nbsp;&nbsp;class-body	
CLASS-TYPE Attribute	Returns the class type of the most recently compiled class definition (.cls) file. If the most recently compiled file was not a class definition file, this attribute returns the empty string ("").	
CLEAR Statement	Clears the data for all fill-in fields in a frame. It also clears the colors for all widgets in a frame, except for enabled fill-ins.	CLEAR [ FRAME frame ] [ ALL ] [ NO-PAUSE ]	
CLEAR Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
Clear Method	This method performs the following actions:	CLEAR (&nbsp;)	
CLEAR-APPL-CONTEXT Method	Clears the application context for the current session.	CLEAR-APPL-CONTEXT(&nbsp;)	
CLEAR-LOG Method	Clears all messages existing in the current client log file and leaves the file open for writing. 	CLEAR-LOG(&nbsp;)	
CLEAR-SELECTION Method	Removes the highlight from the currently selected text. 	CLEAR-SELECTION (&nbsp;)	
CLEAR-SORT-ARROWS Method	Clears sort-arrow indicators for all columns in a browse.	CLEAR-SORT-ARROWS (&nbsp;)	
CLIENT-CONNECTION-ID Attribute	For a session-managed application, this attribute returns the connection ID for the physical AppServer connection associated with this server handle.	
ClientContextId Property	Contains a client context identifier (CCID), which can identify a user login session and its associated identity and application context.	DEFINE VARIABLE ccid AS CHARACTER NO-UNDO.<br>ccid= SUBSTRING(BASE64-ENCODE (GENERATE-UUID), 1, 22).	
CLIENT-TTY Attribute	Returns the name of the terminal display for this user&#8217;s login session. If not specified, the AVM returns a zero-length character string.	
CLIENT-TYPE Attribute	Returns the type of ABL client currently executing.	
CLIENT-WORKSTATION Attribute	The name of the host workstation on which the user, represented by the client-principal object, is working. If not specified, the AVM returns a zero-length character string.	
CLIPBOARD Handle	A handle to the system clipboard widget. The CLIPBOARD handle allows you to implement interactions that allow the user to transfer data between ABL field&#8209;level widgets, or between ABL field&#8209;level widgets and the widgets of other applications running on the system. ABL can interpret the data read from or written to the system clipboard widget as a single item or as a group of multiple items. These data transfers are typically invoked as cut, copy, and paste operations.	CLIPBOARD [ :attribute ]	
Clone Method	Creates a copy of a JsonArray instance and returns an object reference to the new instance.	Clone(&nbsp;)	
CLONE-NODE Method	Clone the XML node referred to by a node reference. The first parameter must be a valid X-noderef handle and refers to the new cloned XML node if the method succeeds. The new node is associated with the same document, but needs to be inserted with INSERT-BEFORE(&nbsp;) or APPEND-CHILD(&nbsp;) to become part of the document structure. 	CLONE-NODE ( x-node-handle , deep )	
CLOSE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
CLOSE-LOG Method	Closes the current log file, which stops an interactive or batch client from writing messages to the log file. 	CLOSE-LOG(&nbsp;)	
CODE Attribute	A numeric code associated with the last event. 	
CODEBASE-LOCATOR Handle	A handle to the CODEBASE-LOCATOR object. A CODEBASE-LOCATOR object specifies the location and authentication information for a client application&#8217;s codebase (that is, an application&#8217;s files) stored on an AppServer or a web server. This object allows the WebClient to access application files for download. It also allows WebClient and the client application to share authentication information. 	CODEBASE-LOCATOR [ :attribute ]	
CODEPAGE Attribute	The code page of specified r-code.	
CODEPAGE-CONVERT Function	Converts a string value from one code page to another.	CODEPAGE-CONVERT<br>  ( source-string<br>    [ , target-codepage [ , source-codepage ] ]<br>  )	
COLOR Statement	Indicates the video attribute or color for normal display or for data entry.	COLOR [ DISPLAY ] color-phrase [ PROMPT color-phrase ]<br>       { field ... } { [ frame-phrase ] }	COLOR PROMPT color-phrase <br>      { field ... } { [ frame-phrase ] }	
COLOR-TABLE Handle	A handle to the current color table.	COLOR-TABLE [ :attribute | :method ]	
COLUMN Attribute	The column position of the left edge of the widget or the column position of the mouse cursor for the last mouse event on the display.	
COLUMN-BGCOLOR Attribute	The color number of the background color for the columns in a browse widget.	
COLUMN-DCOLOR Attribute	The number of the display color of a column.	
COLUMN-FGCOLOR Attribute	The color number of the foreground color for the columns in a browse widget.	
COLUMN-FONT Attribute	The font for the columns in a browse widget.	
COLUMN-LABEL Attribute	A text string that describes a column of data associated with a buffer-field.	
COLUMN-MOVABLE Attribute	Indicates whether you can move a browse column by pointing, clicking, and dragging.	
COLUMN-PFCOLOR Attribute	The color number for the display color of a column with input focus.	
COLUMN-READ-ONLY Attribute	Indicates whether you can tab to a browse column but not edit it.	
COLUMN-RESIZABLE Attribute	Indicates whether you can resize a browse column by pointing, clicking, and dragging.	
COLUMN-SCROLLING Attribute	The horizontal scrolling behavior of a browse widget.	
COM Attribute	The component handle to the control-frame COM object.	
COMBO-BOX Widget	A combo box is a field&#8209;level widget that combines the functionality of a fill&#8209;in field, radio set, and selection list into one fill&#8209;in and drop down list. You can set up a static combo box widget with the VIEW-AS phrase. You can create a dynamic combo box with the CREATE widget statement. The following figure shows a combo box:				
COM-HANDLE Attribute	The component handle to the control-frame COM object.	
COMPARE Function	The COMPARE function compares two strings and lets you:	COMPARE ( string1 , relational-operator , string2 , <br>          strength [ , collation ] )	
COMPILE Statement	Compiles a procedure file or a class definition file. A compilation can last for a session, or you can save it permanently for use in later sessions (as an r&#8209;code file, which has a .r extension). 	COMPILE { procedure-pathname | class-pathname | VALUE ( expression ) }<br>&nbsp;&nbsp;[ ATTR-SPACE [ = logical-expression ] ]<br>&nbsp;&nbsp;[ SAVE [ = logical-expression ] <br>&nbsp;&nbsp;&nbsp;&nbsp; [ INTO { directory | VALUE ( expression ) } ]<br>&nbsp;&nbsp;]<br>&nbsp;&nbsp;[ LISTING { listfile | VALUE ( expression ) } <br>&nbsp;&nbsp;&nbsp;&nbsp; [&nbsp;&nbsp;&nbsp;&nbsp; APPEND [ = logical-expression ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;PAGE-SIZE integer-expression <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;PAGE-WIDTH integer-expression <br>&nbsp;&nbsp;&nbsp;&nbsp; ]<br>&nbsp;&nbsp;]<br>&nbsp;&nbsp;[ XCODE expression ]<br>&nbsp;&nbsp;[ XREF { xreffile | VALUE ( expression ) } <br>&nbsp;&nbsp;&nbsp;&nbsp; [ APPEND [ = logical-expression ] ]<br>&nbsp;&nbsp;]<br>&nbsp;&nbsp;[ XREF-XML { directory | filename | VALUE ( expression ) } <br>&nbsp;&nbsp;]<br>&nbsp;&nbsp;[ STRING-XREF { sxreffile | VALUE ( expression ) } <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ APPEND [ = logical-expression ] ]<br>&nbsp;&nbsp;]<br>&nbsp;&nbsp;[ STREAM-IO [ = logical-expression ] ]<br>&nbsp;&nbsp;[ LANGUAGES ( { language-list | VALUE ( expression ) } )<br>&nbsp;&nbsp;&nbsp;&nbsp; [ TEXT-SEG-GROW = growth-factor ] ]<br>&nbsp;&nbsp;[ DEBUG-LIST { debugfile | VALUE ( expression ) } ]<br>&nbsp;&nbsp;[ PREPROCESS { preprocessfile | VALUE ( expression ) } ]<br>&nbsp;&nbsp;[ NO-ERROR ]<br>&nbsp;&nbsp;[ V6FRAME [ = logical-expression ]<br>&nbsp;&nbsp;&nbsp;&nbsp; [ USE-REVVIDEO | USE-UNDERLINE ] ]<br>&nbsp;&nbsp;&nbsp;&nbsp;[ MIN-SIZE [ = logical-expression ] ]<br>[ GENERATE-MD5 [ = logical-expression ] ]	
COMPILER Handle	A handle to information on a preceding COMPILE statement.	COMPILER [ :attribute ]	
Complement Method	Performs a bitwise complement (NOT) operation on the underlying value of the specified enumeration type and returns a new instance. You typically use this method to unset (turn off) a flag.	EnumHelper:Complement ( INPUT enum AS CLASS System.Enum )	
COMPLETE Attribute	Indicates if the asynchronous request is completed and its result is processed on the client.	
Complete Method	Directs the SBM Server to mark a task as completed, regardless of its state. 	Complete ( )	
COM-SELF Handle	A component handle to the ActiveX object (ActiveX control or ActiveX automation object) that generated the event being handled by the currently executing ActiveX event procedure.	COM-SELF [ :OCX-property-reference | :OCX-method-reference ]	
CONFIG-NAME Attribute	The WebSpeed service name. This method is called by the get-config WebSpeed API function. Intended for internal use only.	
CONNECT Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
CONNECT Statement	Establishes a connection to one or more databases from within an ABL procedure or class. 	CONNECT<br>  {<br>&nbsp;&nbsp;&nbsp;&nbsp;{ physical-name | VALUE ( expression ) } [ options ] | options <br>&nbsp;&nbsp;}<br>  [ NO-ERROR ]	
CONNECT Method	Physically connects and associates an AppServer instance, or logically connects an application service, with the specified server handle. The current application becomes a client application of the connected AppServer.	CONNECT ( [ connection-parms ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ , userid ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ , password ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ , app-server-info ] )	
CONNECTED Function	Tells whether a database is connected. If logical name is the logical name or alias is the alias of a connected database, the CONNECTED function returns TRUE; otherwise, it returns FALSE.	CONNECTED ( logical-name | alias )	
CONNECTED Method	Indicates whether an AppServer or Web service is currently connected and associated with the server handle, or if a socket handle is currently connected to a port. 	CONNECTED (&nbsp;)	
Connected Property	Indicates whether the associated Progress.BPM.UserSession has a valid connection to an SBM Server. The UserSession must explicitly be connected on behalf of a user before it can be used to successfully communicate with an SBM Server. This property allows a programmer to determine if the UserSession is valid for communication. 	
CONSTRUCTOR Statement	Defines a constructor for a class. A constructor is a special type of method that ABL invokes to initialize data for a new object of a class that is instantiated using the NEW function (classes), NEW statement, or DYNAMIC-NEW statement, or to initialize static members of a class. 	CONSTRUCTOR [ PRIVATE | PROTECTED | PUBLIC | STATIC ] class-name <br>&nbsp;&nbsp;( [ parameter [ , parameter ] ... ] ) :<br>&nbsp;<br>&nbsp;&nbsp;constructor-body	
CONSTRUCTOR  Statement	Defines a constructor for a class. A constructor is a special type of method that ABL invokes to initialize data for a new object of a class that is instantiated using the NEW function (classes), NEW statement, or DYNAMIC-NEW statement, or to initialize static members of a class. 	CONSTRUCTOR [ PRIVATE | PROTECTED | PUBLIC | STATIC ] class-name <br>&nbsp;&nbsp;( [ parameter [ , parameter ] ... ] ) :<br>&nbsp;<br>&nbsp;&nbsp;constructor-body	
CONTEXT-HELP Attribute	When CONTEXT-HELP is TRUE, a question mark icon displays in the title bar of the window or dialog box. The default value is FALSE. This attribute must be set before the window or dialog box is realized. 	
CONTEXT-HELP-FILE Attribute	Specifies the path name of a help (.HLP) file associated with a dialog box, window, or session.	
CONTEXT-HELP-ID Attribute	Specifies the identifier of a help topic in a help file.	
Control Property	The component handle to an ActiveX control that has the specified design-time name (Control-Name) and that is loaded into the control-frame.	DEFINE VARIABLE hSpin &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS COM-HANDLE NO-UNDO.<br>DEFINE VARIABLE hControlFrameCOM AS COM-HANDLE NO-UNDO.<br>DEFINE VARIABLE hControlFrame &nbsp;&nbsp;&nbsp;AS HANDLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NO-UNDO.<br>&nbsp;<br>/* Instantiate the control-frame with hControlFrame and load the Spin control<br>&nbsp;&nbsp;&nbsp;into it*/<br>hControlFrameCOM = hControlFrame:COM-HANDLE.<br>hSpin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = hControlFrameCOM:Spin.	
CONTROL-BOX Attribute	Indicates whether the window has a system menu box in its caption bar.	
CONTROL-FRAME Widget	A control&#8209;frame is a field&#8209;level widget that holds an ActiveX control that you select for your application from the OpenEdge AppBuilder. A control&#8209;frame is always created dynamically.						/* Control Frame widget */<br>DEFINE VARIABLE hCFwid &nbsp;&nbsp;&nbsp;AS HANDLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NO-UNDO.<br>/* Control Frame COM Object */<br>DEFINE VARIABLE hCFcom &nbsp;&nbsp;&nbsp;AS COM-HANDLE NO-UNDO.<br>/* ActiveX Control */<br>DEFINE VARIABLE hDateSpin AS COM-HANDLE NO-UNDO.<br>&nbsp;<br>/* Control-frame created with handle hCFwid and loaded with ActiveX<br>&nbsp;&nbsp;&nbsp;control named DateSpin. */<br>&nbsp;<br>ASSIGN<br>&nbsp;&nbsp;hCFcom&nbsp;&nbsp;&nbsp; = hCFwid:COM-HANDLE<br>&nbsp;&nbsp;hDateSpin = hCFcom:DateSpin.	
Controls Property	The component handle to the control collection that references the ActiveX controls in the control-frame.	
CONVERT-3D-COLORS Attribute	Determines whether image colors are converted to the corresponding system 3D colors. 	
CONVERT-TO-OFFSET Method	Converts a row and column value to a character offset in an editor widget.	CONVERT-TO-OFFSET ( row , column ) 	
COPY-DATASET Method	Copies a source ProDataSet object to a target ProDataSet object. By default, the AVM empties the target ProDataSet object temp-tables of all records before copying the source ProDataSet object.	targ-dataset-handle:COPY-DATASET ( src-dataset-handle [ , append-mode <br>&nbsp;&nbsp;[ , replace-mode [ , loose-copy-mode [ , pairs-list [ , current-only <br>&nbsp;&nbsp;[ , name-prefix ] ] ] ] ] ] )	
COPY-LOB Statement	Copies large object data between BLOBs, CLOBs, MEMPTRs, and LONGCHARs. It also copies large object data to and from the file system, and converts large object data to or from a specified code page.	COPY-LOB <br>&nbsp;&nbsp;[ FROM ] { [ OBJECT ] source-lob | FILE source-filename } <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ STARTING AT n ] [ FOR length ]<br>&nbsp;&nbsp;TO { [ OBJECT ] target-lob [OVERLAY AT n [TRIM ] ] | <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FILE target-filename [ APPEND ] }<br>&nbsp;&nbsp;[ NO-CONVERT | CONVERT convert-phrase ] <br>&nbsp;&nbsp;[ NO-ERROR ].	
COPY-SAX-ATTRIBUTES Method	Performs a deep copy of a SAX-attributes object.	target-handle:COPY-SAX-ATTRIBUTES ( source-handle )	
COPY-TEMP-TABLE Method	Copies a source temp-table object to a target temp-table object. Either of the temp-tables (source or target) may be a member of a ProDataSet object. The AVM empties the target temp-table of all records before copying the source temp-table, by default.	targ-tt-handle:COPY-TEMP-TABLE ( src-tt-handle [ , append-mode <br>&nbsp;&nbsp;[ , replace-mode [ , loose-copy-mode [ , name prefix ] ] ] ] )	
Count Property	The number of records in the result set for the query associated with the top-level table displayed in the bound .NET control.	
COUNT-OF Function	Returns an INTEGER value that is the total number of selected records in the file or files you are using across break groups.	COUNT-OF ( break-group )	
CPCASE Attribute	The case table the AVM uses to establish case rules for the Internal Code Page (-cpinternal) startup parameter.	
CPCOLL Attribute	The collation table the AVM uses with the Internal Code Page (-cpinternal) startup parameter.	
CPINTERNAL Attribute	The internal code page the AVM uses in memory.	
CPLOG Attribute	The code page for all messages written to the log (.lg) file.	
CPPRINT Attribute	The code page the AVM uses for the OUTPUT TO PRINTER statement.	
CPRCODEIN Attribute	The code page the AVM uses to convert text strings into the text segment.	
CPRCODEOUT Attribute	The code page ABL uses at compile time to convert text strings into the text segment and marks the text segment with the code page name.	
CPSTREAM Attribute	The code page the AVM uses for stream I/O.	
CPTERM Attribute	The code page the AVM uses for I/O with character terminals.	
CRC-VALUE Attribute	The cyclic redundancy check (CRC) value for either an r-code file, or a database table corresponding to a buffer object. 	
CREATE Statement	Creates a record in a table, sets all the fields in the record to their default initial values, and moves a copy of the record to the record buffer.	CREATE record [ FOR TENANT tenant-expression ] <br>  [ USING { ROWID ( nrow ) | RECID ( nrec ) } ] [ NO-ERROR ]	
Create Method	Use this set of Create(&nbsp;) method overloads to initialize CHARACTER values in ABL.	StringHelper:Create ( method-parameters )	
CREATE-BUFFER Statement	Creates a dynamic buffer object.	CREATE BUFFER handle FOR TABLE { table-name | table-handle | buffer-handle }<br>  [ BUFFER-NAME buffer-name ]<br>  [ IN WIDGET-POOL widget-pool-name ]	
Created Property	Use this property in response to a CreateRow event to indicate whether the record was successfully created in the bound ABL data source object. Set to TRUE if the record was successfully created. Set to FALSE if the record was not created. The default value is TRUE.	
CREATE-LIKE Method	Creates a table like another existing table, or a dynamic ProDataSet object like another static or dynamic ProDataSet object.	CREATE-LIKE ( { src-buffer-handle-exp | src-table-name-exp }<br>&nbsp;&nbsp;[ , src-index-name-exp ] )	CREATE-LIKE ( { src-dataset-handle | src-dataset-name }<br>&nbsp;&nbsp;[ , name-prefix ] )	
CREATE-LIKE-SEQUENTIAL Method	Creates a table like another existing database table or temp-table. Unlike CREATE-LIKE(&nbsp;), which creates temp-table fields in metaschema _field._field-rpos order (POSITION order in the .df schema definition file) of the source table&#8217;s fields, this method creates fields in _field._order sequence.	CREATE-LIKE-SEQUENTIAL ( { src-buffer-handle-exp | src-table-name-exp }<br>&nbsp;&nbsp;[ , src-index-name-exp ] )	
CREATE-NODE Method	Create an XML node in the current document. The first parameter must be a valid X-noderef handle and will refer to the new XML node if the method succeeds. This method merely creates the XML node as part of the XML document. The INSERT-BEFORE or APPEND-CHILD methods are required to actually insert it into the document&#8217;s tree.	CREATE-NODE ( x-node-handle , name , type )	
CREATE-NODE-NAMESPACE Method	Creates a namespace-aware XML node whose name can be either a single string y or an x:y combination. 	CREATE-NODE-NAMESPACE<br>&nbsp;&nbsp;( x-node-handle , namespace-uri , qualified-name , type )	
CREATE-RESULT-LIST-ENTRY Method	Creates an entry in the result list for the current row. The developer uses the CREATE-RESULT-LIST-ENTRY method in conjunction with new browse rows or new query rows to synchronize the data with the query.	CREATE-RESULT-LIST-ENTRY (&nbsp;)	
CreateRow Event	The .NET event published when some user action initiates a create row operation in the bound .NET control (for example, clicking in a new empty row at the bottom of a control).	&nbsp;&nbsp;( <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT sender AS CLASS System.Object,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT args AS CLASS Progress.Data.CreateRowEventArgs<br>&nbsp;&nbsp;).	
Creator Property	The name of the creator of the task.	
CURRENT-CHANGED Attribute	Indicates whether a record in a buffer is different following a FIND CURRENT or GET CURRENT statement or method. If the record is different, CURRENT-CHANGED is TRUE. Otherwise, CURRENT-CHANGED is FALSE.	
CURRENT-CHANGED Function	Returns TRUE if the copy of the record in the buffer after executing a FIND CURRENT or GET CURRENT differs from the copy of the record in the buffer before executing the FIND CURRENT or GET CURRENT. That is, if the current application changes the record, but no other user changes the record during its scope in the current application, CURRENT-CHANGED returns FALSE.	CURRENT-CHANGED record	
CURRENT-COLUMN Attribute	The value of the browse column that contains the current cell. This attribute moves focus to the cell in the specified column in the current row. 	
CURRENT-ENVIRONMENT Attribute	Returns a list of CGI environment variable settings and HTTP header information, and is used by the get-cgi WebSpeed API function. Intended for internal use only.	
CURRENT-ITERATION Attribute	Indicates which iteration level corresponds to the buffer handle during a recursive FILL of a ProDataSet.	
CURRENT-LANGUAGE Function	Returns the current value of the CURRENT-LANGUAGE variable.	CURRENT-LANGUAGE	DEFINE VARIABLE cur-lang AS CHARACTER NO-UNDO.<br>&nbsp;<br>&nbsp;<br>IF cur-lang = "?" THEN <br>&nbsp;&nbsp;MESSAGE "Your current language is not set.".<br>ELSE <br>&nbsp;&nbsp;MESSAGE "Your current language is" cur-lang.	
CURRENT-LANGUAGE Statement	Sets the CURRENT-LANGUAGE variable for the current ABL session.	CURRENT-LANGUAGE = string-expression	
CURRENT-QUERY Method	The handle to the ProDataSet query that contains the currently selected row in the ProBindingSource. This method enables access to the correct child query when a bound .NET grid edits, creates, or deletes a row from a child table.	CURRENT-QUERY ( [ band-index ] )	
CURRENT-REQUEST-INFO Attribute	An object reference to a Progreses.Lang.OERequestInfo class that provides information about the current client request sent to and executing on an AppServer agent. This attribute only has meaning for a session running on an AppServer agent.	DEFINE VARIABLE ccid AS CHARACTER NO-UNDO.<br>DEFINE VARIABLE rRqInfo AS Progress.Lang.OERequestInfo NO-UNDO. <br>&nbsp;<br>ASSIGN<br>&nbsp;&nbsp;rRqInfo = CAST(SESSION:CURRENT-REQUEST-INFO, Progress.Lang.OERequestInfo)<br>&nbsp;&nbsp;ccid = rRqInfo:ClientContextId.	
CURRENT-RESPONSE-INFO Attribute	An object reference to a Progreses.Lang.OERequestInfo class that returns information about the response to a current request that an AppServer agent returns to an AppServer client. This attribute only has meaning for a session running on an AppServer agent.	DEFINE VARIABLE ccidResponse AS CHARACTER NO-UNDO.<br>DEFINE VARIABLE rRqInfo AS Progress.Lang.OERequestInfo NO-UNDO. <br>&nbsp;<br>ASSIGN<br>&nbsp;&nbsp;rRqInfo = CAST(SESSION:CURRENT-RESPONSE-INFO, Progress.Lang.OERequestInfo)<br>&nbsp;&nbsp;rRqInfo:ClientContextId = ccidResponse.	
CURRENT-RESULT-ROW Attribute	The sequence number of the current row of a dynamic query&#8217;s result list.	
CURRENT-RESULT-ROW Function	Returns the number of the current row of a specified query as an INTEGER value.	CURRENT-RESULT-ROW ( query-name )	
CURRENT-ROW-MODIFIED Attribute	Indicates whether any cells in the current row have been changed.	
CURRENT-VALUE Function	Returns the current INT64 value of a sequence defined in the Data Dictionary.	CURRENT-VALUE ( sequence [ , logical-dbname ] [ , tenant-id ] )	
CURRENT-VALUE Statement	Resets the current integer value of a sequence defined in the Data Dictionary.	CURRENT-VALUE ( sequence [ , logical-dbname ] [ , tenant-id ] ) = expression	
CURRENT-WINDOW Attribute	A current window for the specified procedure.	
CURRENT-WINDOW Handle	A handle to the default window for the current ABL session. This window is the default parent for all frames, dialog boxes, alert boxes, and messages. Set or examine the attributes of the CURRENT-WINDOW handle to modify or get information on the current default window.	CURRENT-WINDOW [ :attribute ]	
CURSOR-CHAR Attribute	The current character position of the text cursor on the current text line in an editor widget. 	
CURSOR-DOWN Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
CURSOR-LEFT Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
CURSOR-LINE Attribute	The line within an editor widget where the text cursor is positioned. 	
CURSOR-OFFSET Attribute	The character offset of the cursor within a widget. 	
CURSOR-RIGHT Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
CURSOR-UP Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
Custom Property	An authentication status code that indicates a custom error condition that is defined and returned by an ABL callback procedure.	
DATA-ENTRY-RETURN Attribute	The behavior of the RETURN key for the fill-in widgets of a frame.	
DATASERVERS Function	Returns a list of database types your OpenEdge product supports from where it is executed. The DATASERVERS function takes no arguments. 	DATASERVERS	"PROGRESS,ODBC,ORACLE"	DEFINE VARIABLE db-types AS CHARACTER NO-UNDO VIEW-AS SELECTION-LIST<br>&nbsp;&nbsp;INNER-CHARS 20 INNER-LINES 3 LABEL "DataServers".<br>&nbsp;<br>FORM db-types.<br>db-types:LIST-ITEMS = DATASERVERS.<br>UPDATE db-types.	
DATASET Attribute	Returns the handle for the ProDataSet object of which the buffer is a member. Use this handle to access the attributes and methods of the associated ProDataSet object.	
DATA-SOURCE Attribute	Returns the handle to the data-source object currently attached to the ProDataSet object buffer.	
DATA-SOURCE-COMPLETE-MAP Attribute	Returns a comma-delimited list of field name pairs for all fields in a ProDataSet temp-table buffer that are mapped to corresponding fields in an attached data-source object.	tt-buffer-name.tt-field-name,db-table-name.db-field-name <br>[,tt-buffer-name.tt-field-name,db-table-name.db-field-name ]...	
DATA-SOURCE-MODIFIED Attribute	Indicates that data in the data source associated with a ProDataSet temp-table buffer has been modified. 	
DATA-SOURCE-MODIFIED Function	Returns TRUE if data in the data source associated with the specified ProDataSet temp-table buffer has been modified. 	DATA-SOURCE-MODIFIED( buffer-name )	
DATA-SOURCE-ROWID Attribute	Identifies the data-source row corresponding to the buffer object handle.	DATA-SOURCE-ROWID ( { join-level | buffer-name } )	
DATA-TYPE Attribute	A character value that represents the data type of the field associated with the widget. For example, the DATA-TYPE attribute of a slider widget always returns the value "INTEGER" because slider widgets can only represent integer values.	
DataTypeName Property	Returns the type of the associated DataSlot, when you call GetDataSlots(&nbsp;), as an ABL data type. This is the data type for the Value property of the DataSlot and is the result of mapping the data type as defined on the SBM Server to an ABL type.	
DATE Function	Converts a single character string, a set of month, day, and year values, an integer expression, a DATETIME expression, or a DATETIME-TZ expression into a DATE value.	DATE ( month , day , year )	DATE ( string )	DATE ( integer-expression )	DATE ( datetime-expression )	
DATE-FORMAT Attribute	The format used to represent dates during the current ABL session (for the DATE, DATETIME, and DATETIME-TZ data types).	
DATETIME Function	Converts date and time values, or a character string, into a DATETIME value.	DATETIME ( date-exp [ , mtime-exp ] ) 	DATETIME ( string )	DATETIME ( month , day , year , hours , minutes <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ , seconds [ , milliseconds ] ] )	
DATETIME-TZ Function	Converts a date, time, and time zone value, or a character string, into a DATETIME-TZ value. 	DATETIME-TZ ( date-exp [ , mtime-exp [ , timezone-exp ] ] )	DATETIME-TZ ( datetime-exp [ , timezone-exp ] ) 	DATETIME-TZ ( datetime-tz-exp [ , timezone-exp ] ) 	DATETIME-TZ ( month , day , year , hours , minutes <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ , seconds [ , milliseconds [ , timezone-exp ] ] ] )	DATETIME-TZ ( string )	
DAY Function	Evaluates a date expression and returns a day of the month as an INTEGER value from 1 to 31, inclusive.	DAY ( date )	DAY ( datetime-expression )	
DBCODEPAGE Function	Returns, as a character string, the name of a connected database&#8217;s code page. 	DBCODEPAGE ( { integer-expression | logical-name | alias } )	
DBCOLLATION Function	Returns, as a character string, the name of the collating sequence for character set information contained in the database. This name corresponds to the definition of the collating sequence contained in the convmap.dat file, which usually resides in the $DLC directory. If any parameter is invalid, DBCOLLATION returns the Unknown value (?).	DBCOLLATION<br>  ( { integer-expression | logical-name | alias } )	
DB-CONTEXT Attribute	Returns the logical database to which the DSLOG-MANAGER system handle currently applies. Valid values are any valid, connected logical name or alias for a database of a supported database type. The default value is the Unknown value (?). If you set DB-CONTEXT to an alias, it returns the logical name of the database currently assigned to that alias. 	DSLOG-MANAGER:DB-CONTEXT = "mymss".<br>&nbsp;<br>DSLOG-MANAGER:DB-CONTEXT = myvar.<br>&nbsp;<br>DSLOG-MANAGER:DB-CONTEXT = "myalias".	
DB-LIST Attribute	A comma-separated list of logical database names that is stored in the client-principal object for all OpenEdge multi-tenant databases for which a connection identity has been set in one or more ABL sessions using this object. A given logical database name is stored in the client-principal object whenever a user authentication or single-sign-on operation using this object sets the multi-tenant database connection identity. You can use a database name from this list as input to the TENANT-ID(&nbsp;) and TENANT-NAME(&nbsp;) methods in order to retrieve the corresponding tenant name and tenant ID that has been stored along with it.	
DBNAME Attribute	The logical name of the database from which the field is taken.	
DBNAME Function	Returns, as a character string, the name of the logical database currently in use or the name of your first connected database.	DBNAME	DEFINE VARIABLE pageno AS INTEGER NO-UNDO FORMAT "zzz9" INITIAL 1.<br>&nbsp;<br>FORM HEADER "Date:" TO 10 TODAY<br>&nbsp;&nbsp;"Page:" AT 65 pageno SKIP<br>&nbsp;&nbsp;"Database:" TO 10 DBNAME FORMAT "x(60)" SKIP<br>&nbsp;&nbsp;"Userid:" TO 10 USERID WITH NO-BOX NO-LABELS.<br>VIEW.	
DBPARAM Function	Returns, as a character string, a comma-separated list of the parameters used to connect to the database.	DBPARAM ( integer-expression | logical-name | alias )	
DB-REFERENCES Attribute	A comma-separated list of the databases, (in the form of logical database names) referenced by an r-code file or by a persistent procedure. Returns the Unknown value (?) for a Web service procedure or proxy persistent procedure.	RCODE-INFO:FILE-NAME = "sample.r".<br>DISPLAY RCODE-INFO:DB-REFERENCES.	
DB-REMOTE-HOST Function	Returns a character string containing the IP address of the database connection. The IP address format is determined by the Internet Protocol used when the connection was established. A single input parameter identifies the database, which can be either the logical database name or database number. If the database is not connected using TCP/IP or the -ipver IPv6 startup parameter is not used, the function returns the Unknown value (?).	DB-REMOTE-HOST ( { logical-name | integer-expression } )	
DBRESTRICTIONS Function	Returns a character string that describes features that are not supported for this database. You can use this function with OpenEdge DataServers. 	DBRESTRICTIONS<br>  ( { integer-expression | logical-name | alias }<br>    [ , table-name ]<br>  )	
DbStatusId Property	The DbStatusId property identifies the DbStatus VST. This VST displays the status of a temp-table database in use. You can pass the DbStatusId property to the GetVSTHandle() method to return the handle to the DbStatus VST. This property is read-only.	
DBTASKID Function	Returns an INTEGER value that uniquely identifies a database&#8217;s transaction.	DBTASKID ( integer-expression | logical-name | alias )	
DBTYPE Function	Returns, as a character string, the database type of a currently connected database. This function returns one of the following strings: "MSS", "ODBC", "ORACLE", or "PROGRESS". 	DBTYPE ( integer-expression | logical-name | alias )	
DBVERSION Function	Returns, as a character string, the version number of an OpenEdge database.	DBVERSION ( integer-expression | logical-name | alias )	
DCOLOR Attribute	The color number for the display color of the widget in character mode. This attribute is ignored in graphical interfaces.	
DDE-ERROR Attribute	The error condition returned by the most recent exchange in a DDE conversation associated with the frame. A DDE function or a DDE-NOTIFY event initiates an exchange in a DDE conversation.	
DDE-ID Attribute	The DDE channel number of the most recent conversation involved in an exchange.	
DDE-ITEM Attribute	The name of the data item affected by the most recent conversational exchange (for example, the name of a worksheet cell such as "R3C5").	
DDE-NAME Attribute	The name of the application involved in the most recent conversational exchange (for example, the name of a worksheet application such as "EXCEL").	
DDE-NOTIFY Event	Events are run-time conditions that cause the ABL Virtual Machine (AVM) to respond by executing specified ABL code or by activating certain system behaviors. Events can occur directly as a result of ABL, user, or other external actions that affect the application. However events occur, the resulting executed code or activated behavior is referred to as event driven.	
DDE-TOPIC Attribute	The topic name of the most recent conversation (for example, the "System" topic, or the name of an Excel worksheet such as "Sheet1").	
DEBLANK Attribute	How to process leading blanks in fill-in widgets during user input.	
DEBUG Method	Starts and initializes the Debugger, and immediately gives control to the Debugger in stand&#8209;alone mode while blocking the invoking procedure.	DEBUG (&nbsp;)	
DEBUG-ALERT Attribute	Indicates whether the AVM provides access to ABL stack trace and .NET stack trace information, where applicable, when an error occurs during a session (TRUE or FALSE). Its major use is for error alert boxes, so you can determine where an error has occurred in your code.	
DEBUGGER Handle	A handle that lets ABL procedures initialize and control the Application Debugger. 	DEBUGGER [ :attribute | :method ]	
DECIMAL Function	Converts an expression of any data type, with the exception of BLOB, CLOB, and RAW, to a DECIMAL value. 	DECIMAL ( expression )	
DECIMALS Attribute	Indicates the number of decimal places, after the decimal point, that are stored for a buffer-field object that corresponds to a DECIMAL field. If the value of DECIMALS is nonzero, the AVM rounds off any source that you assign to BUFFER-VALUE to the specified number of decimal places before completing the assignment. Otherwise, the assignment executes without rounding off the source value.	
DECLARE-NAMESPACE Method	Adds a namespace declaration to a tag in the XML document represented by a SAX-writer object.	DECLARE-NAMESPACE ( namespace-URI [ , prefix ] )	
DECRYPT Function	Converts encrypted data (a binary byte stream) to its original source format, and returns a MEMPTR containing the decrypted data.	DECRYPT ( data-to-decrypt [ , encrypt-key [ , iv-value [ , algorithm ] ] ] )	
DEFAULT Attribute	Indicates whether the button is a default button. 	
DEFAULT-ACTION Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
DEFAULT-BUFFER-HANDLE Attribute	Like static temp-tables, every dynamic temp-table is created with at least one buffer. This buffer&#8217;s object handle is returned by this attribute. DEFAULT-BUFFER-HANDLE cannot be called until the TEMP-TABLE-PREPARE(&nbsp;) method has been called, since the default buffer is not created until then.	
DEFAULT-BUTTON Attribute	Indicates whether a button is a default button for the frame or dialog box.	
DEFAULT-BUTTON Option	Specifies the overall layout and processing properties of a frame for frame definition (DEFINE FRAME and FORM), block header (DO, FOR EACH, and REPEAT), and data handling (DISPLAY, SET, etc.) statements. When used on block header statements, the Frame phrase also specifies the default frame for data handling statements within the block. Frame phrases can also be used on individual data handling statements to indicate the specific frame where the statement applies.	WITH [ ACCUM [ max-length ] ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ at-phrase ] [ ATTR-SPACE | NO-ATTR-SPACE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ CANCEL-BUTTON button-name ] [ CENTERED ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ color-specification ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ COLUMN expression ] [ n COLUMNS ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ CONTEXT-HELP ] [ CONTEXT-HELP-FILE help-file-name ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ DEFAULT-BUTTON button-name ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ DROP-TARGET ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ [ expression ] DOWN ] [ EXPORT ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ WIDGET-ID id-number ] [ FONT expression ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ FRAME frame ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ INHERIT-BGCOLOR | NO-INHERIT-BGCOLOR ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ INHERIT-FGCOLOR | NO-INHERIT-FGCOLOR ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ KEEP-TAB-ORDER ] [ NO-BOX ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ NO-HIDE ] [ NO-LABELS ] [ USE-DICT-EXPS ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ NO-VALIDATE ] [ NO-AUTO-VALIDATE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ NO-HELP ] [ NO-UNDERLINE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ OVERLAY ] [ PAGE-BOTTOM | PAGE-TOP ] [ RETAIN n ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ ROW expression ] [ SCREEN-IO | STREAM-IO ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ SCROLL n ] [ SCROLLABLE ] [ SIDE-LABELS ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ size-phrase ] [ STREAM stream | STREAM-HANDLE handle ] [ THREE-D ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ title-phrase ] [ TOP-ONLY ] [ USE-TEXT ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ V6FRAME [ USE-REVVIDEO | USE-UNDERLINE ] ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ VIEW-AS DIALOG-BOX ] [ WIDTH n ] [ IN WINDOW window ]	
DEFAULT-COMMIT Attribute	Indicates how an open transaction under the control of a transaction initiating procedure is to complete if the procedure is deleted in the absence of any SET-COMMIT(&nbsp;) method or SET-ROLLBACK(&nbsp;) method.	
DEFAULT-STRING Attribute	The unformatted version of the INITIAL attribute. 	DEFINE TEMP-TABLE ttFoo<br>&nbsp;&nbsp;FIELD dFoo AS DATE&nbsp;&nbsp;&nbsp; INITIAL TODAY<br>&nbsp;&nbsp;FIELD iFoo AS INTEGER INITIAL 5000.	
DEFAULT-VALUE Attribute	The initial value of a table column in the native data type of the buffer-field.	
DEFAULT-WINDOW Handle	A handle to the static window of the current ABL session. Every ABL session has one static window. This window displays all frames until the CURRENT-WINDOW system handle is set to the handle of another [dynamic] window or unless a displayed frame is explicitly parented to another window. Its message area also displays messages that have no other available display destination. Use the DEFAULT-WINDOW handle to set or examine the attributes of this unnamed session window.	DEFAULT-WINDOW [ :attribute ]	
DEFINED Function	The data type of a data element defines what kind of data the data element can store. ABL supports the following basic kinds of data types:	System.Collections.Generic.List&lt;T&gt;	"namespace.object-name&lt;type-parameter [ , type-parameter ] ...&gt;"	DEFINE VARIABLE shortList AS <br>&nbsp;&nbsp;CLASS System.Collections.Generic.List&lt;SHORT&gt; NO-UNDO.	DEFINE VARIABLE someIntArray AS INTEGER EXTENT 4.	ASSIGN someIntArray[ 2 ] = 128.	ASSIGN someIntArray = anotherIntArray.	DEFINE VARIABLE buttonArray AS <br>&nbsp;&nbsp;CLASS "System.Windows.Forms.Button[]" NO-UNDO.<br>&nbsp;<br>DEFINE VARIABLE buttonArrayExt AS <br>&nbsp;&nbsp;CLASS "System.Windows.Forms.Button[]" EXTENT 3 NO-UNDO.	DEFINE VARIABLE shortListArrayObj AS <br>&nbsp;&nbsp;CLASS "System.Collections.Generic.List&lt;SHORT&gt;[]" NO-UNDO.<br>&nbsp;<br>DEFINE VARIABLE shortListArrayExt AS <br>&nbsp;&nbsp;CLASS "System.Collections.Generic.List&lt;SHORT&gt;" EXTENT 3 NO-UNDO.<br>&nbsp;<br>DEFINE VARIABLE buttonArrayList AS CLASS &nbsp;&nbsp;"System.Collections.Generic.List&lt;System.Windows.Forms.Button[]&gt;" &nbsp;&nbsp;NO-UNDO.<br>&nbsp;<br>DEFINE VARIABLE buttonArrayListExt AS CLASS &nbsp;&nbsp;"System.Collections.Generic.List&lt;System.Windows.Forms.Button[]&gt;" &nbsp;&nbsp;EXTENT 3 NO-UNDO.	
DEFINED Preprocessor	Returns the status of a preprocessor name or include file argument name as an INTEGER value. You can use the DEFINED function only within a preprocessor &amp;IF expression.	DEFINED ( name )	
DELETE Method	Deletes an item from a combo box, radio-set, or selection list. 	DELETE ( list-index | list-item )	
DELETE Statement	Removes a record from a record buffer and from the database.	DELETE record<br>&nbsp;&nbsp;[ VALIDATE ( condition , msg-expression ) ]<br>&nbsp;&nbsp;[ NO-ERROR ]	
DELETE-CHAR Method	Deletes the character at the current text cursor position. 	DELETE-CHAR (&nbsp;)	
DELETE-CHARACTER Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
DELETE-CURRENT-ROW Method	Deletes the most recently selected row from a browse and the results list.	DELETE-CURRENT-ROW (&nbsp;)	
DELETE-HEADER-ENTRY Method	Deletes the XML underlying a SOAP-header-entryref object, without deleting the object.	DELETE-HEADER-ENTRY (&nbsp;)	
DELETE-LINE Method	Deletes the line that currently contains the text cursor. 	DELETE-LINE (&nbsp;)	
DELETE-NODE Method	Unlinks and deletes the node and its sub-tree from the XML document. The ABL handle is not deleted.	DELETE-NODE(&nbsp;)	hOldNode:DELETE-NODE(&nbsp;).	
DELETE-RESULT-LIST-ENTRY Method	Deletes the current row of a query&#8217;s result list.	DELETE-RESULT-LIST-ENTRY (&nbsp;)	ON ROW-LEAVE OF my-brow DO:<br>&nbsp;&nbsp;DEFINE VARIABLE num AS INTEGER NO-UNDO.<br>&nbsp;&nbsp;DEFINE VARIABLE ok &nbsp;AS LOGICAL NO-UNDO.<br>&nbsp;<br>&nbsp;&nbsp;IF Customer.SalesRep:MODIFIED THEN DO:<br>&nbsp;&nbsp;&nbsp;&nbsp;num = Customer.CustNum.<br>&nbsp;&nbsp;&nbsp;&nbsp;ok&nbsp; = my-brow:DELETE-RESULT-LIST-ENTRY().<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;/* DELETE-RESULT-LIST-ENTRY() disconnects recs from rec bufs, so re-read<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Customer and SalesRep records */<br>&nbsp;&nbsp;&nbsp;&nbsp;FIND Customer WHERE Customer.CustNum EQ num.<br>&nbsp;&nbsp;&nbsp;&nbsp;FIND SalesRep WHERE Salesrep.SalesRep EQ Customer.SalesRep:SCREEN-VALUE.<br>&nbsp;&nbsp;&nbsp;&nbsp;/* Create new result list entry with "new" secondary table&#8217;s rowid */<br>&nbsp;&nbsp;&nbsp;&nbsp;ok = my-brow:CREATE-RESULT-LIST-ENTRY().<br>&nbsp;&nbsp;&nbsp;&nbsp;/* Update viewport */<br>&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY SalesRep.RepName WITH BROWSE my-brow.<br>&nbsp;&nbsp;END.<br>END. /* ROW-LEAVE OF my-brow */	
DELETE-SELECTED-ROW Method	Deletes the nth selected row from a browse and the results list.	DELETE-SELECTED-ROW ( n )	
DELETE-SELECTED-ROWS Method	Deletes all currently selected rows from a browse and the associated results list.	DELETE-SELECTED-ROW (&nbsp;)	
DELIMITER Attribute	The character that separates values input to or output from a combo box or selection list. 	
DESELECT-FOCUSED-ROW Method	Deselects the row with current focus.	DESELECT-FOCUSED-ROW (&nbsp;)	
DESELECTION Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
DESELECT-ROWS Method	Deselects all currently selected rows in the browse and clears the associated record buffer. 	DESELECT-ROWS (&nbsp;)	
DESELECT-SELECTED-ROW Method	Deselects the nth selected row in a browse. 	DESELECT-SELECTED-ROW ( n )	
DESTRUCTOR Statement	Defines a destructor for a class. A destructor is a special type of method that the AVM invokes when an instance of the class is deleted, either manually using the DELETE OBJECT statement or automatically through garbage collection.	DESTRUCTOR [ PUBLIC ] class-name (&nbsp;) :<br>&nbsp;	
DESTRUCTOR  Statement	Defines a destructor for a class. A destructor is a special type of method that the AVM invokes when an instance of the class is deleted, either manually using the DELETE OBJECT statement or automatically through garbage collection.	DESTRUCTOR [ PUBLIC ] class-name (&nbsp;) :<br>&nbsp;	
DETACH-DATA-SOURCE Method	Detaches a data-source object from a temp-table buffer in a ProDataSet object.	
DIALOG-BOX Widget	A dialog box is a special type of frame that is displayed in its own window. A dialog box differs from a window in two major respects:				
DICTIONARY Statement	Runs the OpenEdge Data Dictionary.	DICTIONARY	DEFINE VARIABLE ans AS LOGICAL NO-UNDO.<br>&nbsp;<br>DISPLAY "Do you want to access the Dictionary?"<br>&nbsp;&nbsp;WITH ROW 7 COLUMN 20 NO-LABELS.<br>UPDATE ans.<br>IF ans THEN DICTIONARY.	
DISABLE Method	Disables the radio set button. The selected radio-set button&#8217;s SCREEN-VALUE is changed to the first enabled radio set button or to the Unknown value (?) if all radio set buttons are disabled.	DISABLE ( label )	
DISABLE Statement	Disables input for one or more field-level and child frame widgets within a frame that were previously enabled with the ENABLE statement. Disabling a widget prevents the user from providing input to the widget, but does not remove it from the display.	DISABLE [ UNLESS-HIDDEN ]<br>&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp; ALL [ EXCEPT field ... ]<br>&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;{ field [ WHEN expression ] } ...<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;{ [ frame-phrase ] }	
DISABLE-AUTO-ZAP Attribute	Indicates whether the AVM ignores the value of the AUTO-ZAP attribute.	
DISABLE-CONNECTIONS Method	Indicates that the AVM no longer listen for or accept new connections on the port associated with the server socket. However, all existing connections are still valid.	DISABLE-CONNECTIONS(&nbsp;)	
DISABLE-DUMP-TRIGGERS Method	Allows a user to access a buffer object&#8217;s table without firing FIND triggers.	DISABLE-DUMP-TRIGGERS (&nbsp;)	
DISABLE-LOAD-TRIGGERS Method	Allows you to create or update a buffer object&#8217;s table without executing update triggers such as CREATE, WRITE, DELETE or ASSIGN.	DISABLE-LOAD-TRIGGERS ( allow-replication )	
DISCONNECT Method	Disconnects the client from the AppServer or Web service currently associated with the specified server handle. For the socket, closes the socket by terminating the connection between the socket and the port to which it is connected.	DISCONNECT (&nbsp;)	
DISCONNECT Statement	Disconnects the specified database.	DISCONNECT<br>  { logical-name | VALUE ( expression ) }<br>   [ NO-ERROR ]	
DISPLAY Statement	Moves data to a screen buffer and displays the data on the screen or other output destination. The AVM uses frames to display data. A frame describes how constant and variable data is arranged for display and data entry. You can let ABL construct default frames or you can explicitly describe frames and their characteristics.	DISPLAY<br>  { [ STREAM stream | STREAM-HANDLE handle ] [ UNLESS-HIDDEN ] }<br>  [    { expression<br>             [ format-phrase ]<br>             [ ( aggregate-phrase ) ]<br>             [ WHEN expression ]<br>             [ @base-field ]<br>        }<br>     |  [ SPACE [ ( n ) ] ]<br>     |  [ SKIP [ ( n ) ] ]<br>  ] ...<br>  { [ IN WINDOW window ] [ frame-phrase ] [ NO-ERROR ] }	DISPLAY<br>  { [ STREAM stream | STREAM-HANDLE handle ] [ UNLESS-HIDDEN ] }<br>     record [ EXCEPT field ... ]<br>  { [ IN WINDOW window ] [ frame-phrase ] [ NO-ERROR ] }	DISPLAY<br> {     expression ...<br>    |  record [ EXCEPT field ... ]<br>  }<br>  WITH BROWSE browse [ NO-ERROR ]	
DISPLAY-MESSAGE Method	Displays a message in an alert box. The Debugger stores these messages and displays them to the user in an alert box when the Debugger regains control of an application.	DISPLAY-MESSAGE ( char-expression )	
DISPLAY-TIMEZONE Attribute	The time zone offset, in minutes, used to display DATETIME-TZ data. The default value is the session&#8217;s time zone offset.	
DISPLAY-TYPE Attribute	The type of display used in the session&#8212;"GUI" for a graphical display and "TTY" for a character-mode display.	
Dispose Method	Cleans up resources associated with a BindingSource object before .NET releases it from memory.	Dispose(&nbsp;)	
DO Statement	Groups statements into a single block, optionally specifying processing services or block properties. Use an END statement to end a DO block.	[ label : ]<br>DO<br>&nbsp;&nbsp;{ [ FOR record [ , record ] ... ] }<br>&nbsp;&nbsp;[ preselect-phrase ]<br>&nbsp;&nbsp;[ query-tuning-phrase ]<br>&nbsp;&nbsp;[ variable = expression1 TO expression2 [ BY k ] ]<br>&nbsp;&nbsp;[ WHILE expression ]<br>&nbsp;&nbsp;[ TRANSACTION ] <br>&nbsp;&nbsp;[ STOP-AFTER expression ]<br>&nbsp;&nbsp;[ on-endkey-phrase ]<br>&nbsp;&nbsp;[ on-error-phrase ]<br>&nbsp;&nbsp;[ on-quit-phrase ]<br>&nbsp;&nbsp;[ on-stop-phrase ]<br>&nbsp;&nbsp;{ [ frame-phrase ] } :<br>&nbsp;<br>&nbsp;&nbsp;do-body	
DOMAIN-DESCRIPTION Attribute	The description of the domain in which the user represented by the client-principal object was authenticated. If not specified, the AVM returns a blank ("") character string.	
DOMAIN-NAME Attribute	The name of the OpenEdge domain in which to authenticate the user identity represented by the unsealed client-principal object. This domain is also configured with an access code used to validate the same identity after the client-principal has been sealed. You must set this attribute before you can seal the associated client-principal object with the:		
DOMAIN-TYPE Attribute	The name of the authentication system that is configured for the domain specified by the DOMAIN-NAME attribute. This authentication system authenticates or validates the user identity represented by the client-principal object. 	
DOS Statement	Runs a program, DOS command, or DOS batch file, or starts the DOS command processor, which allows interactive processing of DOS commands.	DOS [ SILENT ] [ command-token | VALUE ( expression ) ] ...	
DOWN Attribute	Indicates the number of iterations in a down frame that contain data or number of potential rows in a browse widget. For a one-down frame, the value of DOWN is 1. Sets the number of browse-rows that appear in the viewport.	
DOWN Statement	Positions the cursor on a new line in a down or multi-line frame.	DOWN [ STREAM stream | STREAM-HANDLE handle ] [ expression ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ [ frame-phrase ] }	
DOWN Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
DRAG-ENABLED Attribute	Indicates whether the user can simultaneously hold down the mouse select button and drag the mouse cursor through the selection list. As the mouse cursor passes over an item, the item is highlighted. When the user releases the select button, the highlighted item becomes the selected item. 	
DROP-FILE-NOTIFY Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
DROP-TARGET Attribute	Indicates whether the widget can accept dropped files.	
DSLOG-MANAGER Handle	A handle to logging settings for the DataServers in the current session. The DataServers use a separate log file which you can specify with the DataServer Logging (-dslog) startup parameter. The default filename is dataserv.lg. 	DSLOG-MANAGER [ :attribute | :method ]	
DueDate Property	The due date of the task.	
DUMP-LOGGING-NOW Method	Writes the accumulated query statistics to the log file for the query associated with a query handle.	DUMP-LOGGING-NOW ( reset-expression )	
DYNAMIC Attribute	Indicates whether the widget is dynamic or static.	
DYNAMIC-CAST Function	Returns a new object reference to the same class instance as an existing object reference, but with a different data type. This different data type is cast from the object type of the original object reference according to another object type specified by a run-time expression. The object types must be related, where one is a class type and the other is subclass of that class type or where one is an interface type and the other is a class that implements the interface of that type.	DYNAMIC-CAST( object-reference , expression ).	
DYNAMIC-CURRENT-VALUE Function	Returns the current INT64 value of a sequence defined in the specified database.	DYNAMIC-CURRENT-VALUE( <br>&nbsp;&nbsp;sequence-expression , logical-dbname-expression [ , tenant-id ] )	
DYNAMIC-CURRENT-VALUE Statement	Resets the current integer value of a sequence defined in the specified database.	DYNAMIC-CURRENT-VALUE( <br>&nbsp;&nbsp;sequence-exp , logical-dbname-exp [ , tenant-id ] ) = expression	
DYNAMIC-FUNCTION Function	Invokes a user-defined function. The AVM evaluates the name of the function (and the procedure handle, if any) at run time. 	DYNAMIC-FUNCTION<br>  ( function-name [ IN proc-handle ] <br>    [ , param1 [ , param2 ] ... ]<br>  )	
DYNAMIC-INVOKE Function	Invokes a class-based method whose name is specified by a run-time expression, but whose parameters are defined at compile time.	[ return-value = ] DYNAMIC-INVOKE( { class-type-name | object-reference } <br>&nbsp;&nbsp;, method-name [ , parameter [ , parameter ] ... ] )	
DYNAMIC-NEW Statement	Creates an instance of a class (object) whose class type is specified by a run-time expression, and assigns its object reference to an appropriately defined ABL data element. Once assigned, you can use the object reference to access this class instance and its PUBLIC data members, properties, and methods. For more information on object references, see the reference entry for a Class-based object reference.	object-reference = DYNAMIC-NEW expression <br>&nbsp;&nbsp;( [ parameter [ , parameter ] ... ] ) [ NO-ERROR ]	
DYNAMIC-NEXT-VALUE Function	Returns the next INT64 value of a sequence, incremented by the positive or negative value defined in the specified database.	DYNAMIC-NEXT-VALUE( <br>&nbsp;&nbsp;sequence-expression, logical-dbname-expression [ , tenant-id ] )	
DYNAMIC-PROPERTY Function	Returns the value of a class property. The function allows you to refer to a class property by providing a character expression for the property name, along with an object reference, THIS-OBJECT system reference, or the name of a class. The compiler supports both ABL user-defined types and .NET types for the object reference or class name. 	[ return-value = ] DYNAMIC PROPERTY( <br>&nbsp;&nbsp;{ object-reference | class-type-name } , property-name [ , index ] )	
DYNAMIC-PROPERTY Statement	Sets the value of a class property. The statement allows you to refer to a class property by providing a character expression for the property name, along with an object reference, THIS-OBJECT system reference, or the name of a class. The compiler supports both ABL user-defined types and .NET types for the object reference or class name. 	DYNAMIC PROPERTY( { object-reference | class-type-name }<br>&nbsp;&nbsp;, property-name [ , index ] ) = new-value 	
EDGE-CHARS Attribute	The width, in character units, of the edge of a rectangle.	
EDGE-PIXELS Attribute	The width, in pixels, of the edge of a rectangle.	
EDIT-CAN-PASTE Attribute	Indicates whether the Clipboard contains data that can be pasted into the widget.	
EDIT-CAN-UNDO Attribute	Indicates whether the widget can undo the last modification.	
EDIT-CLEAR Method	Deletes the selected text.	EDIT-CLEAR (&nbsp;)	
EDIT-COPY Method	Copies the currently selected text in the widget to the Clipboard.	EDIT-COPY (&nbsp;)	
EDIT-CUT Method	Copies the currently selected text in the widget to the Clipboard and then deletes the selected text.	EDIT-CUT (&nbsp;)	
EDITOR Widget	An editor is a field&#8209;level widget that allows you to perform complex text manipulation on a character value. You can set up a static editor widget with the VIEW-AS phrase. You can create a dynamic editor widget with the CREATE widget statement. For example:				
EDIT-PASTE Method	Copies the currently selected text of the Clipboard into the widget at the current cursor position, if the Clipboard contains text data.	EDIT-PASTE (&nbsp;)	
EDIT-UNDO Method	Makes the editor undo its most recent edit if possible.	EDIT-UNDO (&nbsp;)	
ELSE Function	Evaluates and returns one of two expressions, depending on the value of a specified condition.	IF condition THEN expression1 ELSE expression2 	
ELSE Statement	Makes the execution of a statement or block of statements conditional. If the value of the expression following the IF statement is TRUE, the AVM processes the statements following the THEN statement. Otherwise, the AVM processes the statements following the ELSE statement.	IF expression THEN { block | statement }<br>  [ ELSE { block | statement } ]	
EmbeddedWindow Property	The handle to an ABL window whose client area is embedded in the client area of the specified .NET control container. This control container can be either a Progress.Windows.MdiChildForm or a Progress.Windows.WindowContainer (which you can add to any Progress.Windows.Form). After a .NET form with this embedded client area is displayed, you can interact with its ABL widgets using the supported widget attributes, methods, and events as if they were displayed in the original ABL window.	
EMPTY Attribute	Indicates whether the SCREEN-VALUE attribute for the editor contains text.	
EMPTY-DATASET Method	Empties a ProDataSet object of all records in its associated temp-tables. 	EMPTY-DATASET (&nbsp;)	
EMPTY-SELECTION Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
EMPTY-TEMP-TABLE Method	Deletes all records from a temp-table associated with a buffer object.	EMPTY-TEMP-TABLE (&nbsp;)	
ENABLE Method	Enables the specified radio button within the radio set.	ENABLE ( label )	
ENABLE Statement	Enables input for one or more field-level and child frame widgets within a frame.	ENABLE [ UNLESS-HIDDEN ]<br>  {    ALL [ EXCEPT field ... ]<br>     | {   field [ format-phrase ] [ WHEN expression ]<br>         | TEXT ( { field [ format-phrase ]<br>             [ WHEN expression ] } ... )<br>         | constant [ AT n | TO n ]<br>             [ BGCOLOR expression ]<br>             [ DCOLOR expression ]<br>             [ FGCOLOR expression ]<br>             [ FONT expression ]<br>             [ PFCOLOR expression ]<br>             [ VIEW-AS TEXT ]<br>         | SPACE [ ( n ) ]<br>         | SKIP [ ( n ) ]<br>        } ...<br>   }<br>  [ IN WINDOW window ] [ frame-phrase ]	
ENABLE-CONNECTIONS Method	Specifies the TCP/IP port that the AVM uses to listen for new connections. Once called, the AVM automatically listens for and accepts new connections for the specified port.	ENABLE-CONNECTIONS ( connection-parms )	
ENABLE-EVENTS Method	Enables event notification for automation objects.	ENABLE-EVENTS ( event-proc-prefix )	
ENCODE Function	Encodes a source character string and returns the encoded character string result.	ENCODE ( expression )	
ENCODING Attribute	Returns the name of the character encoding used to encode the contents of an XML document. The default encoding is UTF-8. 	
ENCRYPT Function	Converts source data into a particular format, and returns a MEMPTR containing the encrypted data (a binary byte stream).	ENCRYPT ( data-to-encrypt [ , encrypt-key [ , iv-value [ , algorithm ] ] ] )	
ENCRYPT-AUDIT-MAC-KEY Method	Encrypts and encodes the specified character expression and returns an encrypted character value that you can store for later use in message authentication code (MAC) operations.	ENCRYPT-AUDIT-MAC-KEY ( encrypt-key )	
ENCRYPTION-SALT Attribute	The default salt value (a random series of bytes) to use with the GENERATE-PBE-KEY function. The default value is the Unknown value (?), which indicates that no salt value is used to generate the password-based encryption key.	
END Statement	Indicates the end of a block started with a CASE, CATCH, CLASS, CONSTRUCTOR, DESTRUCTOR, DO, FINALLY, FOR, FUNCTION, INTERFACE, METHOD, PROCEDURE, or REPEAT statement or the end of an EDITING phrase, Trigger phrase, or the implementation of a GET or SET property accessor. 	END [ CASE | CATCH | CLASS | CONSTRUCTOR | DESTRUCTOR | FINALLY | <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FUNCTION | GET | INTERFACE | METHOD | PROCEDURE | SET | TRIGGERS ]	
END Event	Indicates the end of a block started with a CASE, CATCH, CLASS, CONSTRUCTOR, DESTRUCTOR, DO, FINALLY, FOR, FUNCTION, INTERFACE, METHOD, PROCEDURE, or REPEAT statement or the end of an EDITING phrase, Trigger phrase, or the implementation of a GET or SET property accessor. 	END [ CASE | CATCH | CLASS | CONSTRUCTOR | DESTRUCTOR | FINALLY | <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FUNCTION | GET | INTERFACE | METHOD | PROCEDURE | SET | TRIGGERS ]	
END_OF_ARRAY Property	A symbolic constant used in length arguments that indicates the end of the array.	
END-BOX-SELECTION Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
END-DOCUMENT Method	Closes the XML document represented by a SAX-writer object.	END-DOCUMENT(&nbsp;)	
END-ELEMENT Method	Ends an XML node based upon the name of the node with in a SAX-writer object.	END-ELEMENT ( name [, namespace-URI ] )	
END-ERROR Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
END-EVENT-GROUP Method	Indicates the end of a group of related events in the current session.	END-EVENT-GROUP(&nbsp;)	
END-FILE-DROP Method	Terminates a drag-and-drop operation and frees the memory allocated by Windows to hold the names of the dropped files.	END-FILE-DROP (&nbsp;)	
ENDKEY Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
END-MOVE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
END-RESIZE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
END-ROW-RESIZE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
END-SEARCH Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
END-USER-PROMPT Attribute	A freeform string that WebClient uses when prompting for a userid and password, if it does not find those values in the security cache.	
ENTERED Function	Checks whether a frame field has been modified during the last INSERT, PROMPT-FOR, SET, or UPDATE statement for that field, and returns a TRUE or FALSE result. 	[ FRAME frame ] field ENTERED	
ENTRY Function	Returns a character string (CHARACTER or LONGCHAR) entry from a list based on an integer position.	ENTRY ( element , list [ , character ] )	
ENTRY Method	Returns the character-string value of the specified list entry.	ENTRY ( list-index )	
ENTRY Statement	Used on the left-hand side of an assignment to set the nth element to some value. 	ENTRY ( element , list [ , character ] ) = expression 	
ENTRY Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
ENTRY-TYPES-LIST Attribute	Returns a character string containing a comma-separated list of all valid entry types for the current OpenEdge environment. For DataServer server logging, the string contains the valid entry types against the logical database specified by the DB-CONTEXT attribute.	
EQ Operator	Returns a TRUE value if two expressions are equal.	expression { EQ | = } expression 	
Equals Method	Compares the object reference for the current class instance to the specified object reference. If the object references (regardless of type) point to the same object instance, this method returns TRUE. Otherwise, it returns FALSE. 	Equals ( INPUT OtherObj AS Progress.Lang.Object )	
ERROR Attribute	A compile-time or run-time error condition.	
ERROR Function	Indicates whether an error occurred during a FILL or SAVE-ROW-CHANGES operation on the specified ProDataSet temp-table buffer. 	ERROR( buffer-name )	
ERROR Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
ERROR-COLUMN Attribute	The character position at which a compiler error occurred. 	
ERROR-OBJECT-DETAIL Attribute	Identifies the SOAP-fault object that contains SOAP fault message detail.	Web service %s&lt;operation&gt; failed.  SOAP faultstring is %s (nnnn)	
ERROR-ROW Attribute	The line number at which a compiler error occurred. 	
ERROR-STACK-TRACE Attribute	This attribute controls whether or not the CallStack property on error objects can be used. Because the CallStack feature is for debugging and can slow system performance, error objects should not save call stacks in a production environment. This attribute allows you to disable the CallStack property on all error objects. When this attribute is FALSE, the default value, the CallStack property on an error object will be the Unknown value (?).	
ERROR-STATUS Handle	A handle to error information on the last statement executed with the NO-ERROR option.	ERROR-STATUS [ :attribute | :method ]	
ERROR-STRING Attribute	An arbitrary string value associated with a buffer or temp-table object that provides descriptive information about an error on that object.	
ETIME Function	Returns, as an INT64 value, the time (in milliseconds) elapsed since the ABL session began or since ETIME (elapsed time) was last set to 0. To set ETIME to 0, pass it a positive logical value, such as YES or TRUE.	ETIME [ ( logical ) ]	
EVENT-GROUP-ID Attribute	Returns the universally unique identifier (UUID) for the audit event group in effect for the current session, as a Base64 character string. The UUID is 22 characters in length (the two trailing Base64 pad characters are removed).	
EVENT-PROCEDURE Attribute	The name of the internal procedure to run as the event procedure for an asynchronous request.	
EVENT-PROCEDURE-CONTEXT Attribute	The procedure handle of the active procedure context where the event procedure is defined for an asynchronous request.	
EVENT-TYPE Attribute	The type of the last event.	
EXCLUSIVE-ID Attribute	The ID assigned to a state&#8209;aware cookie. Intended for internal use only.	
EXECUTION-LOG Attribute	Determines whether the AVM traces the execution of procedures, user-define functions, and the publish and subscribe statements in the execution log. Intended for internal use only.	
EXP Function	Returns the result of raising a number to a power. The number is called the base and the power is called the exponent.	EXP ( base , exponent )	
EXPAND Attribute	How to set the size of a horizontal radio set. 	
EXPANDABLE Attribute	Indicates whether the AVM extends the right-most browse column to the right edge of the browse. This covers white space that appears when the browse is wider than the sum of the widths of the browse columns.	
EXPORT Method	Creates and modifies an AppServer&#8217;s export list, which specifies the remote procedures that a client application can execute in the current AppServer session.	EXPORT ( [ list ] )	
EXPORT Statement	Converts data to a standard character format and displays it to the current output destination (except when the current output destination is the screen) or to a named output stream. You can use data exported to a file in standard format as input to other ABL procedures.	EXPORT [ STREAM stream | STREAM-HANDLE handle ] [ DELIMITER character ]<br>  {    expression ...<br>     | record [ EXCEPT field ... ]<br>  }<br>&nbsp;&nbsp;[ NO-LOBS ]	EXPORT [ STREAM stream | STREAM-HANDLE handle ] { memptr | longchar }	
EXPORT-PRINCIPAL Method	Exports the unsealed or sealed client-principal object as a portable security token with the currently defined property and attribute settings by converting it to a RAW value. You can assign this value to a RAW variable and send it to another ABL session (such as an AppServer&#8482; agent) or assign it to a field in a secure database. The receiving ABL session can then import the RAW value into another client-principal object using the IMPORT-PRINCIPAL(&nbsp;) method. Depending on its sealed or unsealed state, you can use the imported object to assert or set the user identity it represents using the SEAL(&nbsp;) method, SECURITY-POLICY:SET-CLIENT(&nbsp;) method, or SET-DB-CLIENT function, as appropriate.	EXPORT-PRINCIPAL(&nbsp;)	
EXTENT Attribute	The number of elements in an array field.	
EXTENT Function	This function returns the extent of an array field or variable as an INTEGER value. More specifically, it returns:	EXTENT ( array )	
EXTENT Statement	Fixes the extent (number of elements) for an unfixed indeterminate array variable or parameter. ABL treats the fixed indeterminate array as a determinate array consistent with its data type.	EXTENT ( array ) = expression [ NO-ERROR ]	
FETCH-SELECTED-ROW Method	Fetches the nth selected row in a browse and puts the row into the database buffer. In other words, this method specifies one row from the one-based index into all currently selected rows and puts that row into the record buffer.	FETCH-SELECTED-ROW ( n )	
FGCOLOR Attribute	The color number for the foreground color of the widget.	
FIELD-GROUP Widget	A field group is the hidden parent of field&#8209;level widgets and child frames owned by a parent frame or dialog box. Thus, field groups are the actual children of frames and dialog boxes. A frame contains the following field groups:			
FieldIndex Property	Use this property in response to a SortRequest event to indicate the 1-based index position of the field on which to sort the records in the ABL data source object.	
FieldName Property	Use this property in response to a SortRequest event to indicate the name of the field on which to sort the records in the ABL data source object. 	
FILE-CREATE-DATE Attribute	Indicates the date on which the specified file was created. 	
FILE-CREATE-TIME Attribute	Indicates the time when the specified file was created. 	
FILE-INFO Handle	A handle to an operating system file.	FILE-INFO [ :attribute ]	
FileListId Property	The FileListId property identifies the FileList VST. This VST temp-table has a single record which contains data about temp-table database. You can pass the FileListId property to the GetVSTHandle() method to return the handle to the FileList VST. This property is read-only.	
FILE-MOD-DATE Attribute	Indicates the last date the specified file was modified. 	
FILE-MOD-TIME Attribute	Indicates the last time the specified file was modified. 	
FILE-NAME Attribute	The name of the file associated with a handle. Returns the empty string for a Web service procedure. 	
FILE-OFFSET Attribute	The character offset in the source file in which a Compiler error occurred. 	
FILE-SIZE Attribute	Indicates the size of the specified file.	
FILE-TYPE Attribute	A string of characters that indicate the type of file that is currently specified for the FILE-INFO handle. 	
FILL Function	Generates a character string made up of a character string that is repeated a specified number of times.	FILL ( expression , repeats )	
FILL Method	Fills a ProDataSet object, recursively, based on its defined data sources, data relations, and queries. You can fill a ProDataSet object completely by running FILL on the ProDataSet handle itself, or partially by starting at the level of one of its member Buffer objects. 	FILL(&nbsp;)	
FILLED Attribute	Indicates if the background color of a rectangle is set to a certain value.	
FILL-IN Widget	A fill&#8209;in widget is the simplest form of data representation. Within a fill&#8209;in, the field value is displayed as a string of characters that you can edit. A fill&#8209;in is the default representation for data. You can explicitly set up a static fill&#8209;in with the VIEW-AS phrase. You can create a dynamic fill&#8209;in with the CREATE widget statement.				
FILL-MODE Attribute	Specifies the mode in which the FILL(&nbsp;) method fills a ProDataSet member buffer. The default mode is MERGE.	
FILL-WHERE-STRING Attribute	The current WHERE expression for a data-source query, beginning with the keyword WHERE, and not including the prior FOR EACH phrase of an OPEN QUERY statement.	
FilterValue Property	A value that will be used to test the property of the Progress.BPM.Task object passed to the Is(&nbsp;) method of a Progress.BPM.Filter.* class. The ComparisonValue argument passed to this class's constructor is stored in this property.	
FINALLY Statement	Defines a final end block for any ABL block. An end block is an ABL block that can occur only within another block. The block containing the end block is known as the associated block. End-blocks must occur between the last line of executable code in the associated block and the END statement.	block-statements <br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;FINALLY :<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finally-logic <br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;END [ FINALLY ] .<br>&nbsp;<br>[ block-end-statement ]	
FIND Statement	Locates a single record in a table and moves that record into a record buffer.	FIND [ FIRST | LAST | NEXT | PREV ] record <br>     [ constant ]<br>     [ OF table ]<br>     [ USE-INDEX index ]<br>     [ USING [ FRAME frame ] field <br>        [ AND [ FRAME frame ] field ] ...<br>     ]<br>     [ SHARE-LOCK | EXCLUSIVE-LOCK | NO-LOCK ] <br>     [ NO-WAIT ]<br>     [ NO-PREFETCH ]<br>     [ NO-ERROR ]	FIND CURRENT record <br>     [ SHARE-LOCK | EXCLUSIVE-LOCK | NO-LOCK ]<br>     [ NO-WAIT ]<br>     [ NO-ERROR ]	
FIND-BY-ROWID Method	Locates the record with the rowid you specify, then moves the record into the buffer.	FIND-BY-ROWID ( rowid <br>  [ ,<br>    { SHARE-LOCK | EXCLUSIVE-LOCK | NO-LOCK }<br>    [ , NO-WAIT ]<br>  ] )	
FIND-CURRENT Method	Changes the lock mode of a record in a buffer.	FIND-CURRENT ( [ lockmode [ , wait-mode ] ] )	
FIND-FAILED Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
FIND-FIRST Method	Gets a single record. This method lets a user get the first record that satisfies the predicate expression.	FIND-FIRST ( predicate-expression [ , lockmode [ , wait-mode ] ] )	
FIND-LAST Method	Gets a single record. This method lets a user get the last record that satisfies the predicate expression.	FIND-LAST ( predicate-expression [ , lockmode [ , wait-mode ] ] )	
FIND-UNIQUE Method	Gets a single record. This method lets a user get a unique record that satisfies the predicate expression.	FIND-UNIQUE ( predicate-expression [ , lockmode [ , wait-mode ] ] )	
FIRST Function	Returns a TRUE value if the current iteration of a DO, FOR EACH, or REPEAT . . . BREAK block is the first iteration of that block.	FIRST ( break-group )	
FIRST-ASYNC-REQUEST Attribute	Returns the first entry in the list of all current asynchronous request handles for the specified AppServer or Web service that have been created in the current session.	
FIRST-BUFFER Attribute	Returns the handle for the first dynamic buffer in the first table containing a dynamic buffer. The table may be either a temp&#8209;table or a connected database, in that order. If no dynamic temp&#8209;table or database buffers exist in the session, it returns the Unknown value (?).	
FIRST-CHILD Attribute	The handle of the first widget created in the container widget or the current session.	
FIRST-COLUMN Attribute	A handle to the first column in a browse widget, regardless of the value of its READ-ONLY attribute or its VISIBLE attribute. 	
FIRST-DATASET Attribute	A handle to the first dynamic ProDataSet object created in the current ABL session.	
FIRST-DATA-SOURCE Attribute	A handle to the first dynamic data-source object created in the current ABL session.	
FIRST-FORM Attribute	The object reference for the first .NET Progress.Windows.IForm or ABL window FormProxy (Progress.Windows.FormProxy) object in the list of all valid OpenEdge form objects created in the current ABL session.	
FIRST-OBJECT Attribute	The object reference for the first class instance in the list of all valid ABL and .NET class instances created in the current ABL session. If there are no class instances in the current session, this attribute returns the Unknown value (?).	
FIRST-OF Function	Returns a TRUE value if the current iteration of a DO, FOR EACH, or REPEAT . . . BREAK block is the first iteration for a new break group, and modifies all three block types.	FIRST-OF ( break-group )	
FIRST-OF Method	Returns TRUE if the current iteration of the query predicate FOR EACH . . . BREAK BY. . . is the first iteration for a new break group.	FIRST-OF ( level )	
FIRST-PROCEDURE Attribute	For AppServer, returns the first entry in the list of remote persistent procedures running on the connected AppServer. For Web services, returns the first entry in the list of procedure objects associated with the Web service.	
FIRST-QUERY Attribute	A handle to the first dynamic query created in the current ABL session.	
FIRST-SERVER Attribute	A handle to the first entry in the list of server handles of the current ABL session. This includes both AppServer server objects and Web service server objects.	
FIRST-SERVER-SOCKET Attribute	A handle to the first entry in the list of all valid server socket handles created in the current session. If there are no server socket handles in this session, FIRST-SERVER-SOCKET returns the Unknown value (?).	
FIRST-SOCKET Attribute	A handle to the first entry in the list of all valid socket handles created in the current session. If there are no socket handles in this session, FIRST-SOCKET returns the Unknown value (?).	
FIRST-TAB-ITEM Attribute	The first widget in the tab order of a field group.	
FIT-LAST-COLUMN Attribute	Allows the browse to be displayed so that there is no empty space to the right and no horizontal scroll bar by potentially widening or shrinking the last browse column&#8217;s width.	DEFINE BROWSE b1 QUERY q1 <br>&nbsp;&nbsp;DISPLAY Customer.CustNum Customer.Name <br>&nbsp;&nbsp;ENABLE Customer.CustNum WITH 3 DOWN WIDTH 40 FIT-LAST-COLUMN.	
FIX-CODEPAGE Statement	Sets the code page of an empty LONGCHAR variable. When set to a valid code page, the code page of the specified variable is fixed and overrides any default behavior in assignment operations (including the COPY-LOB, OVERLAY, and SUBSTRING statements).	FIX-CODEPAGE ( longchar ) = codepage 	
FLAT-BUTTON Attribute	Indicates whether a button is two-dimensional until the mouse passes over it, at which time, a 3D border appears. 	
FOCUS Handle	A handle to the field&#8209;level widget that is the current field.	FOCUS [ :attribute ]	
FOCUS Option	This WAIT-FOR statement instructs the AVM to stop executing the current block until a specific ABL event occurs. The AVM continues to respond to all other incoming events and execute any associated triggers or event procedures while in this wait state.	WAIT-FOR event-list OF widget-list <br>&nbsp;&nbsp;[ OR event-list OF widget-list ] ...<br>&nbsp;&nbsp;[ FOCUS widget ]<br>&nbsp;&nbsp;[ PAUSE n ]	WAIT-FOR "WEB-NOTIFY" OF DEFAULT-WINDOW<br>&nbsp;&nbsp;[ PAUSE n ]<br>&nbsp;&nbsp;[ EXCLUSIVE-WEB-USER ]	
FOCUSED-ROW Attribute	The 1-based index or position of the focused row in the viewport.	
FOCUSED-ROW-SELECTED Attribute	Indicates whether the row that has focus is selected.	
FONT Attribute	The number of the font of a widget.	
FONT-TABLE Handle	A handle to the current font table.	FONT-TABLE [ :attribute | :method ]	
FOR Statement	Starts an iterating block that reads a record from each of one or more tables at the start of each block iteration. Use an END statement to end a FOR block.	[ label: ] <br>FOR [ EACH | FIRST | LAST ] record-phrase <br>&nbsp;&nbsp;[ , [ EACH | FIRST | LAST ] record-phrase ] ... <br>&nbsp;&nbsp;[ query-tuning-phrase ] <br>&nbsp;&nbsp;[ BREAK ] <br>&nbsp;&nbsp;[ BY expression [ DESCENDING ] <br>&nbsp;&nbsp;| COLLATE ( string , strength [ , collation ] ) [ DESCENDING ] <br>&nbsp;&nbsp;] ... <br>&nbsp;&nbsp;[ variable = expression1 TO expression2 [ BY k ] ] <br>&nbsp;&nbsp;[ WHILE expression ] <br>&nbsp;&nbsp;[ TRANSACTION ] <br>&nbsp;&nbsp;[ STOP-AFTER expression ] <br>&nbsp;&nbsp;[ on-error-phrase ] <br>&nbsp;&nbsp;[ on-endkey-phrase ] <br>&nbsp;&nbsp;[ on-quit-phrase ] <br>&nbsp;&nbsp;[ on-stop-phrase ] <br>&nbsp;&nbsp;[ frame-phrase ] :<br>&nbsp;<br>&nbsp;&nbsp;for-body 	
FOR  Statement	Starts an iterating block that reads a record from each of one or more tables at the start of each block iteration. Use an END statement to end a FOR block.	[ label: ] <br>FOR [ EACH | FIRST | LAST ] record-phrase <br>&nbsp;&nbsp;[ , [ EACH | FIRST | LAST ] record-phrase ] ... <br>&nbsp;&nbsp;[ query-tuning-phrase ] <br>&nbsp;&nbsp;[ BREAK ] <br>&nbsp;&nbsp;[ BY expression [ DESCENDING ] <br>&nbsp;&nbsp;| COLLATE ( string , strength [ , collation ] ) [ DESCENDING ] <br>&nbsp;&nbsp;] ... <br>&nbsp;&nbsp;[ variable = expression1 TO expression2 [ BY k ] ] <br>&nbsp;&nbsp;[ WHILE expression ] <br>&nbsp;&nbsp;[ TRANSACTION ] <br>&nbsp;&nbsp;[ STOP-AFTER expression ] <br>&nbsp;&nbsp;[ on-error-phrase ] <br>&nbsp;&nbsp;[ on-endkey-phrase ] <br>&nbsp;&nbsp;[ on-quit-phrase ] <br>&nbsp;&nbsp;[ on-stop-phrase ] <br>&nbsp;&nbsp;[ frame-phrase ] :<br>&nbsp;<br>&nbsp;&nbsp;for-body 	
FOREGROUND Attribute	Indicates whether the field group is a foreground or a background field group.	
FOREIGN-KEY-HIDDEN Attribute	Specifies whether to hide foreign key fields in the child records of a nested data-relation in a ProDataset.	
FORM Statement	Defines the layout and certain processing attributes of a frame for use within a single procedure. If the frame has not been previously scoped, the FORM statement scopes it to the current block. Use the FORM statement if you want to describe a frame in a single statement rather than let ABL construct the frame based on individual data handling statements in a block. You can use the FORM statement to describe a layout for a data iteration and the frame header or background.	FORM<br>  [ form-item  ... ]<br>  [ { HEADER | BACKGROUND } head-item ... ]<br>  [ frame-phrase ]	FORM record [ EXCEPT field ... ] [ frame-phrase ]	
FORMAT Attribute	The text format of a widget or browse-cell.	
FORMATTED Attribute	Determines the format of XML output from a SAX-writer object.	
FORM-INPUT Attribute	Returns raw HTTP form input that is less than 32K in size. Do not access this attribute.	
FORM-LONG-INPUT Attribute	Returns raw HTTP form input that is greater than 32K in size. The AVM performs no conversion on the data. Do not access this attribute.	
FORWARD-ONLY Attribute	Lets you avoid building result-lists for static and dynamic queries.	
FRAGMENT Attribute	Specifies if the output of a SAX-writer object is a complete document or a fragment.	
FRAME Attribute	The handle of the frame that contains the widget.	
FRAME Widget	A frame is a display area within a window that can group together (contain) a set of field&#8209;level widgets and child frames. In addition to default frames set up by ABL, you can set up static frames with the Frame phrase or DEFINE FRAME statement. You can create a dynamic one&#8209;down frame with the CREATE widget statement.				
FRAME-COL Attribute	The decimal column position, in character units, of the left edge of the widget relative to the upper left corner of the frame that contains the widget.	
FRAME-COL Function	Returns a DECIMAL value that is the column position of the left corner of a frame within its window.	FRAME-COL [ ( frame ) ]	
FRAME-DB Function	Returns the logical database name of the database that contains any field in which the user-interface cursor is entered.	FRAME-DB	FOR EACH Customer NO-LOCK:<br>&nbsp;&nbsp;UPDATE Customer.CustNum Customer.Name Customer.Address Customer.Address2<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.City Customer.State Customer.PostalCode<br>&nbsp;&nbsp;&nbsp;&nbsp;WITH 1 DOWN 1 COLUMN CENTERED EDITING:<br>&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY "You are editing field: " FRAME-FIELD SKIP<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" of file: " FRAME-FILE SKIP<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" in database: " FRAME-DB<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WITH FRAME a ROW 15 NO-LABELS CENTERED.<br>&nbsp;&nbsp;&nbsp;&nbsp;READKEY.<br>&nbsp;&nbsp;&nbsp;&nbsp;APPLY LASTKEY.<br>&nbsp;&nbsp;END. /* EDITING */<br>END.	SDBNAME ( FRAME-DB )	
FRAME-DOWN Function	Returns an INTEGER value that represents the number of iterations in a frame.	FRAME-DOWN [ ( frame ) ]	
FRAME-FIELD Function	During a data entry statement, returns the name of the input field the cursor is in. At other times, returns the name of the input field the cursor was last in. 	FRAME-FIELD	FOR EACH Customer:<br>&nbsp;&nbsp;UPDATE Customer.CustNum Customer.Name Customer.Address Customer.Address2<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.City Customer.State Customer.PostalCode<br>&nbsp;&nbsp;&nbsp;&nbsp;WITH 1 DOWN 1 COLUMN CENTERED EDITING:<br>&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY "You are editing field:" FRAME-FIELD SKIP<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"of file:" FRAME-FILE SKIP<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Its value is:" FRAME-VALUE FORMAT "x(20)"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WITH FRAME a ROW 15 NO-LABELS CENTERED.<br>&nbsp;&nbsp;&nbsp;&nbsp;READKEY.<br>&nbsp;&nbsp;&nbsp;&nbsp;APPLY LASTKEY.<br>&nbsp;&nbsp;END. /* EDITING */<br>END.	
FRAME-FILE Function	Returns the name of the database table that contains the field the cursor is in. The FRAME-FILE function is useful if you want to provide users with context-sensitive help.	FRAME-FILE	FOR EACH Customer, EACH Order OF Customer:<br>&nbsp;&nbsp;DISPLAY Order.OrderNum WITH CENTERED ROW 2 FRAME onum.<br>&nbsp;&nbsp;UPDATE<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.CustNnum AT 5 Order.CustNum AT 30 SKIP<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.Name AT 5<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.City AT 5<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.State AT 5<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.PostalCode AT 5<br>&nbsp;&nbsp;&nbsp;&nbsp;WITH ROW 8 CENTERED 1 DOWN NO-LABELS EDITING:<br>&nbsp;&nbsp;&nbsp;&nbsp;MESSAGE "The field" FRAME-FIELD "is from the" FRAME-FILE "file".<br>&nbsp;&nbsp;&nbsp;&nbsp;READKEY.<br>&nbsp;&nbsp;&nbsp;&nbsp;APPLY LASTKEY.<br>&nbsp;&nbsp;END. /* EDITING */<br>END.	
FRAME-INDEX Function	During a data entry statement, returns the subscript of the array element of the input field that the cursor is in as an INTEGER value. At other times, returns the subscript of the array element the cursor was in.	FRAME-INDEX	DEFINE VARIABLE menu AS CHARACTER NO-UNDO EXTENT 3.<br>&nbsp;<br>DO WHILE TRUE:<br>  DISPLAY<br>    "1. Display Customer Data" @ menu[1] SKIP<br>    "2. Display Order Data"    @ menu[2] SKIP<br>    "3. Exit"                  @ menu[3] SKIP<br>    WITH FRAME choices NO-LABELS.<br>  CHOOSE FIELD menu AUTO-RETURN WITH FRAME choices<br>    TITLE "Demonstration Menu" WITH CENTERED ROW 10.<br>  HIDE FRAME choices.<br>  IF FRAME-INDEX EQ 1 THEN <br>    MESSAGE "You picked option 1.".<br>  ELSE IF FRAME-INDEX EQ 2 THEN <br>    MESSAGE "You picked option 2.".<br>  ELSE IF FRAME-INDEX EQ 3 THEN LEAVE.<br>END.	
FRAME-LINE Function	Returns an INTEGER value that represents the current logical line number in a down frame.	FRAME-LINE [ ( frame ) ]	
FRAME-NAME Attribute	The name of the frame that contains the widget.	
FRAME-NAME Function	Returns the name of the frame that the cursor is in to a field that is enabled for input.	FRAME-NAME	FOR EACH Customer, EACH Order OF Customer:<br>&nbsp;&nbsp;DISPLAY Order.OrderNum WITH CENTERED ROW 2 FRAME onum.<br>&nbsp;&nbsp;UPDATE Customer.CustNum AT 5 Customer.Name AT 30 SKIP<br>&nbsp;&nbsp;&nbsp;&nbsp;WITH FRAME custfrm WITH CENTERED 1 DOWN EDITING:<br>&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY " You are currently editing a frame called " FRAME-NAME <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WITH FRAME d1 WITH 1 DOWN CENTERED.<br>&nbsp;&nbsp;&nbsp;&nbsp;READKEY.<br>&nbsp;&nbsp;&nbsp;&nbsp;APPLY LASTKEY.<br>&nbsp;&nbsp;&nbsp;&nbsp;IF LASTKEY = KEYCODE("RETURN") THEN<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MESSAGE " Press the space bar to edit order shipdate".<br>&nbsp;&nbsp;END. /* Editing */<br>&nbsp;&nbsp;HIDE FRAME custfrm.<br>&nbsp;&nbsp;HIDE FRAME d1.<br>&nbsp;&nbsp;UPDATE Order.ShipDate AT 5 <br>&nbsp;&nbsp;&nbsp;&nbsp;WITH FRAME orderfrm WITH CENTERED 1 DOWN EDITING:<br>&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY " Now you are editing a frame called" FRAME-NAME <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WITH FRAME d2 WITH 1 DOWN CENTERED.<br>&nbsp;&nbsp;&nbsp;&nbsp;READKEY.<br>&nbsp;&nbsp;&nbsp;&nbsp;APPLY LASTKEY.<br>&nbsp;&nbsp;END.<br>&nbsp;&nbsp;HIDE FRAME orderfrm.<br>&nbsp;&nbsp;HIDE FRAME d2.<br>END.	
FRAME-ROW Attribute	The decimal row position, in character units, of the top edge of the widget relative to the upper left corner of the frame that contains the widget.	
FRAME-ROW Function	Returns a DECIMAL value that represents the row position of the upper-left corner of a frame within its window.	FRAME-ROW [ ( frame ) ]	
FRAME-SPACING Attribute	The number of display units between frames in a window. In graphical interfaces the display units are pixels. In character interfaces the display units are character cells.	
FRAME-VALUE Function	During a data entry statement, returns the (character string) value of the input field that the cursor is in to the current input field. At other times, returns the (character string) value of the input field the cursor was last in. 	FRAME-VALUE	FOR EACH Customer:<br>  DISPLAY Customer.CustNum Customer.Name Customer.Address Customer.City<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.State Customer.PostalCode<br>    WITH 1 COLUMN DOWN COLUMN 20.<br>  SET Customer.Address Customer.City Customer.State Customer.PostalCode.<br>END.<br>&nbsp;<br>DISPLAY<br>  "You were updating field:" FRAME-FIELD FORMAT "x(20)" SKIP<br>  "Of file:" FRAME-FILE SKIP<br>  "And it had the value:" FRAME-VALUE FORMAT "x(20)" SKIP(2)<br>  "When you pressed the END-ERROR key."<br>  WITH FRAME helper NO-LABELS COLUMN 20 ROW 14 NO-BOX.	FIND Customer WHERE Customer.CustNum = INTEGER(FRAME-VALUE)	
FRAME-VALUE Statement	Stores the value of an expression in a frame field during a data entry statement.	FRAME-VALUE = expression 	
FRAME-X Attribute	The location of the left edge of the widget relative to the upper left corner of the frame that contains the widget.	
FRAME-Y Attribute	The location of the top edge of the widget relative to the upper left corner of the frame that contains the widget.	
FREQUENCY Attribute	Indicates the incremental display of the TIC-MARKS attribute. It is used exclusively with the TIC-MARKS attribute.	
FULL-HEIGHT-CHARS Attribute	The maximum internal height of the window, in character units. 	
FULL-HEIGHT-PIXELS Attribute	The maximum internal height of the window, in pixel units. 	
FULL-PATHNAME Attribute	The absolute pathname of the file specified in the FILE-NAME attribute.	
FULL-WIDTH-CHARS Attribute	The maximum internal width of the window, in character units. 	
FULL-WIDTH-PIXELS Attribute	The maximum internal width of the window, in pixel units. 	
FUNCTION Attribute	The names of high-level events based on the EVENT-TYPE attribute value. 	
FUNCTION Statement	Defines or declares a prototype for a user-defined function, or declares a Web service operation. The following syntax boxes describe the syntax for each use of the statement, beginning with a user-defined function definition.	FUNCTION function-name [ RETURNS ] return-type [ PRIVATE ]<br>&nbsp;&nbsp;[ ( parameter [ , parameter ] ... ) ] :<br>&nbsp;<br>&nbsp;&nbsp;function-body 	FUNCTION function-name [ RETURNS ] return-type <br>&nbsp;&nbsp;[ ( parameter [ , parameter ] ... ) ]<br>&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;FORWARD <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| [ MAP [ TO ] actual-name ] IN proc-handle <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| IN SUPER<br>&nbsp;&nbsp;} .	FUNCTION operationName [ RETURNS ] return-type <br>&nbsp;&nbsp;[ ( parameter [ , parameter ] ... ) ]<br>&nbsp;&nbsp;IN hPortType .	
GATEWAYS Function	The GATEWAYS function has been replaced by the DATASERVERS function, which is exactly equivalent. 	GATEWAYS	
GE Operator	Returns a TRUE value if the first of two expressions is greater than or equal to the second expression.	expression { GE | &gt;= } expression	
GENERATE-PBE-KEY Function	Generates a password-based encryption key, based on the PKCS#5/RFC 2898 standard, and returns the key as a RAW value.	GENERATE-PBE-KEY( password [ , salt ] )	
GENERATE-PBE-SALT Function	Generates a random salt value (a series of 8 bytes) to use in generating an encryption key, and returns the salt value as a RAW value. Using a salt value can help to ensure that a password key value is unique.	GENERATE-PBE-SALT	
GENERATE-RANDOM-KEY Function	Generates a pseudorandom (rather than a truly random) series of bytes to use as an encryption key, and returns the key as a RAW value.	GENERATE-RANDOM-KEY	
GENERATE-UUID Function	Generates a universally unique identifier (UUID), as a 16-byte RAW value. 	GENERATE-UUID	DEFINE VARIABLE MyUUID &nbsp;&nbsp;&nbsp;&nbsp;AS RAW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NO-UNDO.<br>DEFINE VARIABLE Base64UUID AS CHARACTER NO-UNDO.<br>&nbsp;<br>ASSIGN <br>&nbsp;&nbsp;MyUUID&nbsp;&nbsp;&nbsp;&nbsp; = GENERATE-UUID<br>&nbsp;&nbsp;Base64UUID = BASE64-ENCODE(MyUUID).	SUBSTRING(BASE64-ENCODE(GENERATE-UUID), 1, 22)	
GET Statement	Returns one record for a previously opened query.	GET { FIRST | NEXT | PREV | LAST | CURRENT } query<br>    [ SHARE-LOCK | EXCLUSIVE-LOCK | NO-LOCK ]<br>    [ NO-WAIT ]	
GetAssignedTasks Method	Returns an array of all Task objects currently assigned to the user of the associated Progress.BPM.UserSession. An assigned task is one that is assigned specifically to the user, perhaps at design time, or by the user explicitly, or by another user.	GetAssignedTasks(&nbsp;)	GetAssignedTasks( INPUT Filter AS Progress.BPM.TaskFilter )	GetAssignedTasks( INPUT FilterArray AS Progress.BPM.TaskFilter EXTENT,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT Operator AS CHAR)	
GET-ATTRIBUTE Method	Returns the value of the specified attribute of an element referred to by an XML node reference.	GET-ATTRIBUTE ( name )	
GET-ATTRIBUTE-NODE Method	Returns the XML ATTRIBUTE node with the specified name. 	GET-ATTRIBUTE-NODE ( attr-node-handle , name )	
GetAvailableTasks Method	Returns an array of all Task objects currently available to the user of the associated Progress.BPM.UserSession. An available task is one that a group of users is eligible to perform but that has yet not been assigned to any specific user. 	GetAvailableTasks(&nbsp;)	GetAvailableTasks( INPUT Filter AS Progress.BPM.TaskFilter )	GetAvailableTasks( INPUT FilterArray AS Progress.BPM.TaskFilter EXTENT,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT Operator AS CHAR)	
GET-BINARY-DATA Method	Returns a MEMPTR containing the binary data in the file specified in the form field. The AVM sets the size of the MEMPTR to match the size of the file. This method is called by the get-binary-data WebSpeed API function. Intended for internal use only.	GET-BINARY-DATA ( INPUT field-name )	
GET-BITS Function	Interprets one or more consecutive bits in an integer variable or field as an ABL integer value and returns that value.	GET-BITS( source , position , numbits )	
GET-BLUE-VALUE Method	Returns the blue component of an entry in the color table.	GET-BLUE-VALUE ( index )	
GET-BROWSE-COLUMN Method	Returns the handle for the requested browse column.	GET-BROWSE-COLUMN ( col-index )	
GET-BUFFER-HANDLE Method	Gets the handle to a particular buffer of a query or ProDataSet object.	GET-BUFFER-HANDLE ( buffer-sequence-number | buffer-name )	
GET-BYTE Function	Returns the unsigned 1 byte value at the specified memory location as an INTEGER value. 	GET-BYTE ( source , position )	
GET-BYTE-ORDER Function	Returns an INTEGER value indicating the byte order setting of a MEMPTR variable. This will be either the value provided by the last execution of SET-BYTE-ORDER with this MEMPTR variable, or HOST-BYTE-ORDER if SET-BYTE-ORDER has not been executed. 	GET-BYTE-ORDER( memptr )	
GET-BYTES Function	Returns the specified number of bytes, from the specified location, into a RAW or MEMPTR variable.	GET-BYTES( source , position , numbytes )	
GET-BYTES-AVAILABLE Method	Indicates the number of bytes available for reading from the socket.	GET-BYTES-AVAILABLE(&nbsp;)	
GET-CALLBACK-PROC-CONTEXT Method	Returns the handle of the procedure that contains the internal procedure associated with the ABL callback for the specified event.	GET-CALLBACK-PROC-CONTEXT ( event-name )	
GET-CALLBACK-PROC-NAME Method	Returns the name of the internal procedure associated with the ABL callback for the specified event.	GET-CALLBACK-PROC-NAME ( event-name )	
GET-CGI-LIST Method	Gets the list of CGI environment variables. This method is called by the get-cgi WebSpeed API function. Intended for internal use only.	
GET-CGI-LONG-VALUE Method	Returns a LONGCHAR value in either the code page specified in the HTML-CHARSET attribute, if that code page is valid for a LONGCHAR, or -cpinternal. Otherwise, it returns the Unknown value (?) and displays an error message. You can suppress this message by using NO-ERROR on the statement containing the method. This method is called by the get-cgi-long and get-long-value WebSpeed API functions. Intended for internal use only.	
GET-CGI-VALUE Method	Gets the value of a specified CGI environment variable. This method is called by the get-cgi WebSpeed API function. Intended for internal use only.	
GET-CHANGES Method	Loads all the temp-tables or a single temp-table of an empty target ProDataSet object with changed rows from all temp-tables or a single temp-table (respectively) of the original (source) ProDataSet object.	change-handle:GET-CHANGES ( original-handle [ , get-parent-mode ] )	
GetCharacter Method	Gets the JSON string value of one or more elements as a CHARACTER or CHARACTER array. 	GetCharacter( INPUT index AS INTEGER )<br>&nbsp;<br>GetCharacter( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )<br>&nbsp;	
GET-CHILD Method	Retrieves a specific child node of the current node. The first parameter must be a valid X-noderef handle and will refer to the specified child XML node if the method succeeds. 	GET-CHILD ( x-node-handle , index )	
GET-CHILD-RELATION Method	Gets the handle to a data-relation object for which the buffer is the parent.	GET-CHILD-RELATION ( index )	
GetClass Method	Returns the object reference for the Progress.Lang.Class instance associated with a specified class or interface type.	GetClass ( object-type-name )	
GET-CLIENT Method	Returns the handle to a copy of the sealed client-principal object that represents the user identity for the ABL session. If no identity has been established for the session using the SECURITY-POLICY:SET-CLIENT(&nbsp;) method, this method returns the Unknown value (?).	GET-CLIENT ( )	
GET-CODEPAGE Function	The GET-CODEPAGE function returns the code page of a LONGCHAR variable or CLOB field.	GET-CODEPAGE ( large-char-object )	
GET-CODEPAGES Function	The GET-CODEPAGES function returns a comma-delimited list of the code pages listed in convmap.cp or specified by the Conversion Map (-convmap) startup parameter for the current ABL session.	GET-CODEPAGES	DEFINE VARIABLE code-page-list AS CHARACTER NO-UNDO.<br>DEFINE VARIABLE collation-list AS CHARACTER NO-UNDO.<br>DEFINE VARIABLE ix &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS INTEGER&nbsp;&nbsp;&nbsp;NO-UNDO.<br>DEFINE VARIABLE jx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AS INTEGER&nbsp;&nbsp;&nbsp;NO-UNDO.<br>&nbsp;<br>code-page-list = GET-CODEPAGES.<br>&nbsp;<br>REPEAT ix = 1 TO NUM-ENTRIES(code-page-list):<br>  DISPLAY ENTRY(ix, code-page-list) FORMAT "x(19)" COLUMN-LABEL "Code Page"<br>    WITH DOWN FRAME a.<br>  collation-list = GET-COLLATIONS(ENTRY(ix, code-page-list)).<br>&nbsp;<br>  REPEAT jx = 1 TO NUM-ENTRIES(collation-list):<br>    DISPLAY ENTRY(jx, collation-list) FORMAT "x(19)" <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COLUMN-LABEL "Collation"<br>      WITH DOWN FRAME a.<br>    DOWN WITH FRAME a.<br>  END.<br>END.	
GET-COLLATION Function	The GET-COLLATION function returns the collation name for a CLOB field. 	GET-COLLATION ( clob-field )	
GET-COLLATIONS Function	The GET-COLLATIONS function returns a comma-delimited list of the collations either listed in convmap.cp or specified by the Conversion Map (-convmap) startup parameter for the specified code page. 	GET-COLLATIONS ( codepage )	
GET-COLUMN Method	Returns the column number at which the nth message occurred during the preceding compilation.	GET-COLUMN ( n )	
GetCOMHandle Method	Gets the JSON number value of one or more elements as a COM-HANDLE or COM-HANDLE array.	GetCOMHandle( INPUT index AS INTEGER )<br>&nbsp;<br>GetCOMHandle( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GET-CONFIG-VALUE Method	Gets the value of parameters set in the WebSpeed configuration file. This method is called by the get-config WebSpeed API function. Intended for internal use only.	
GET-CURRENT Method	Refetches the current record or records associated with the query.	GET-CURRENT ( NO-LOCK | SHARE-LOCK [ , NO-WAIT ]<br>  | EXCLUSIVE-LOCK [ , NO-WAIT ]  )	
GET-DATASET-BUFFER Method	Gets the handle to the ProDataSet object buffer associated with the data-source object.	GET-DATASET-BUFFER (&nbsp;) 	
GetDataSlots Method	Returns an array of DataSlot objects associated with a task or process. 	GetDataSlots ( )	
GetDataSlotTemplates Method	Returns an array of DataSlotTemplate objects associated with the process template. These can be used to set the initial value of a dataslot before starting a process.	GetDataSlotTemplates( INPUT TemplateName AS CHARACTER)	
GetDate Method	Gets the JSON string value of one or more elements as a DATE or DATE array. 	GetDate( INPUT index AS INTEGER )<br>&nbsp;<br>GetDate( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GetDatetime Method	Gets the JSON string value of one or more elements as a DATETIME or DATETIME array. 	GetDatetime( INPUT index AS INTEGER )<br>&nbsp;<br>GetDatetime( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GetDatetimeTZ Method	Gets the JSON string value of one or more elements as a DATETIME-TZ or DATETIME-TZ array. 	GetDatetimeTZ( INPUT index AS INTEGER )<br>&nbsp;<br>GetDatetimeTZ( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GET-DB-CLIENT Function	Returns the handle to a copy of the sealed client-principal object that represents the user identity for the specified database connection.	GET-DB-CLIENT ( [ db-exp ] )	
GetDecimal Method	Gets the JSON number value of one or more elements as a DECIMAL or DECIMAL array.	GetDecimal( INPUT index AS INTEGER )<br>&nbsp;<br>GetDecimal( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GET-DOCUMENT-ELEMENT Method	Retrieves the root element of the document. The parameter must be a valid X-noderef handle and will refer to the document&#8217;s root element if the method succeeds. 	GET-DOCUMENT-ELEMENT ( x-node-handle )	
GET-DOUBLE Function	Returns the handle to a copy of the sealed client-principal object that represents the user identity for the specified database connection.	GET-DB-CLIENT ( [ db-exp ] )	
GET-DROPPED-FILE Method	Returns the name of the dropped file indicated by the index parameter.	GET-DROPPED-FILE ( index )	
GET-DYNAMIC Method	Returns TRUE if the entry in the color table is a dynamic color.	GET-DYNAMIC ( index )	
GET-EFFECTIVE-TENANT-ID Function	Returns the tenant ID of the effective tenant as an integer.	GET-EFFECTIVE-TENANT-ID( [ database-name ] )	
GET-EFFECTIVE-TENANT-NAME Function	Returns the name of the effective tenant as a character string.	GET-EFFECTIVE-TENANT-NAME( [ database-name ] )	
GET-ERROR-COLUMN Method	Returns the listing column number at which the nth error occurred in the preceding ABL source code compilation.	GET-ERROR-COLUMN ( n )	
GET-ERROR-ROW Method	Returns the listing line number at which the nth error occurred in the preceding ABL source code compilation.	GET-ERROR-ROW ( n )	
GET-FILE-NAME Method	Returns the name of the source file associated with the nth error that occurred in the preceding ABL source code compilation.	GET-FILE-NAME ( n )	
GET-FILE-OFFSET Method	Returns the character offset at which the nth error occurred in the associated source file during the preceding ABL source code compilation.	GET-FILE-OFFSET ( n )	
GET-FIRST Method	Moves a query object&#8217;s result list pointer to the first row.	GET-FIRST ( NO-LOCK | SHARE-LOCK [ , NO-WAIT ]<br>  | EXCLUSIVE-LOCK [ , NO-WAIT ]  )	
GET-FLOAT Function	Returns the 4-byte floating-point value at the specified memory location as a DECIMAL value. 	GET-FLOAT ( source , position )	
GET-GREEN-VALUE Method	Returns the green component of an entry in the color table.	GET-GREEN-VALUE ( index )	
GetHandle Method	Gets the JSON number value of one or more elements as a HANDLE or HANDLE array.	GetHandle( INPUT index AS INTEGER )<br>&nbsp;<br>GetHandle( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GET-HEADER-ENTRY Method	Retrieves the SOAP-header-entryref object at the given header entry index (base 1). In other words, a SOAP-header object contains a list of entries. Each entry points to an existing SOAP-header-entryref object. This method finds the SOAP-header-entryref object associated with indexed header entry and copies its handle to the header-entryref handle you provided.	GET-HEADER-ENTRY ( header-entryref , index )	
GET-INDEX-BY-NAMESPACE-NAME Method	Gets the 1-based index of the attribute with the given namespace name.	GET-INDEX-BY-NAMESPACE-NAME ( uri , localname )	
GET-INDEX-BY-QNAME Method	Gets the 1-based index of the attribute with the given XML qualified name.	GET-INDEX-BY-QNAME ( qname )	
GetIndexInfoByID Method	Returns information about a temp-table index when the ID is specified. The ID is a numeric value that identifies the index. If the ID is valid for an existing temp-table index, this returns TRUE. Otherwise, it returns FALSE. This property is read-only.	GetIndexInfoByID(INPUT index-id, OUTPUT index-name, OUTPUT proc-name	GetIndexInfoByID(INPUT index-id, OUTPUT index-name, OUTPUT table-handle, OUTPUT proc-name	
GetIndexStatHistoryHandle Method	Returns the handle of the temp-table used for storing the archived statistics from the _IndexStat virtual system table. The property returns the Unknown value (?) if the ArchiveIndexStatistics property is never set to TRUE. 	
GetInt64 Method	Gets the JSON number value of one or more elements as an INT64 or INT64 array.	GetInt64( INPUT index AS INTEGER )<br>&nbsp;<br>GetInt64( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GET-INT64 Function	Returns the signed 64-bit value at the specified memory location as an INT64 value. 	GET-INT64 ( source , position )	
GetInteger Method	Gets the JSON number value of one or more elements as an INTEGER or INTEGER array.	GetInteger( INPUT index AS INTEGER )<br>&nbsp;<br>GetInteger( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GET-ITERATION Method	Returns the buffer handle at a given level of iteration during a recursive FILL of a ProDataSet.	GET-ITERATION ( level )	
GetJsonArray Method	Gets the JsonArray value of one or more elements as a JsonArray or array of JsonArray. 	GetJsonArray( INPUT index AS INTEGER )<br>&nbsp;<br>GetJsonArray( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GetJsonObject Method	Gets the JsonObject value of one or more elements as a JsonObject, or as an array of JsonObjects.	GetJsonObject( INPUT index AS INTEGER )<br>&nbsp;<br>GetJsonObject( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GetJsonText Method	Gets one or more elements as a LONGCHAR or LONGCHAR array, regardless of the JSON data type. 	GetJsonText( )<br>&nbsp;<br>GetJsonText( INPUT index AS INTEGER )<br>&nbsp;<br>GetJsonText( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GET-KEY-VALUE Statement	Searches the current environment for a particular key and places its value into a particular data item. 	GET-KEY-VALUE SECTION section-name <br>  KEY { key-name | DEFAULT }<br>  VALUE key-value 	
GET-LAST Method	Moves a query object&#8217;s result list pointer to the last row.	GET-LAST ( NO-LOCK | SHARE-LOCK [ , NO-WAIT ]<br>  | EXCLUSIVE-LOCK [ , NO-WAIT ]  )	
GET-LOCALNAME-BY-INDEX Method	Gets the local (unqualified) name of the attribute at the given 1-based index.	GET-LOCALNAME-BY-INDEX ( index )	
GetLogical Method	Gets the JSON boolean value of one or more elements as a LOGICAL or LOGICAL array.	GetLogical( INPUT index AS INTEGER )<br>&nbsp;<br>GetLogical( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )<br>&nbsp;	
GET-LONG Function	Returns the signed 32-bit value at the specified memory location as an INTEGER value. 	GET-LONG ( source , position )	
GetLongchar Method	Gets the JSON string value of one or more elements as a LONGCHAR or LONGCHAR array.	GetLongchar ( INPUT index AS INTEGER )<br>&nbsp;<br>GetLongchar ( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT code-page AS CHARACTER )<br>&nbsp;<br>GetLongchar ( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )<br>&nbsp;<br>GetLongchar ( INPUT index AS INTEGER )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT code-page AS CHARACTER )	
GetMemptr Method	Gets the JSON string value of one or more elements as a MEMPTR or MEMPTR array.	GetMemptr( INPUT index AS INTEGER )<br>&nbsp;<br>GetMemptr( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GetMessage Method	Returns the error message for the indexed error in the error object. If there is no error message at the indicated index, the method returns the empty string.	GetMessage (INPUT MessageIndex AS INTEGER)	
GET-MESSAGE Method	Returns the message associated with a specified error currently recorded by the specified system handle.	GET-MESSAGE ( n )	
GetMessageNum Method	Returns the error message number associated with the indexed error in the error object.	GetMessageNum (INPUT MessageIndex AS INTEGER)	
GET-MESSAGE-TYPE Method	Returns the message type associated with the nth message that occurred during the preceding compilation.	GET-MESSAGE-TYPE ( n )	
GetNames Method	Returns an ABL array that can be used to access all properties in JsonObject. 	GetNames( )	
GET-NEXT Method	Moves a query object&#8217;s result list pointer ahead one row.	GET-NEXT ( NO-LOCK | SHARE-LOCK [ , NO-WAIT ]<br>  | EXCLUSIVE-LOCK [ , NO-WAIT ]  )	
GET-NODE Method	Returns a handle to an X-noderef object that refers to the XML underlying a SOAP-header-entryref object or SOAP fault entry. 	GET-NODE ( x-noderef )	
GET-NUMBER Method	Returns the error number associated with a specified error currently recorded by the specified system handle.	GET-NUMBER ( n )	
GET-PARENT Method	Retrieve the parent node of the node. The first parameter must be a valid X-noderef handle and will refer to the parent XML node if the node has a parent. If the node is the top &#8220;root&#8221; element in the document, this will return the Unknown value (?).	GET-PARENT ( x-node-handle )	
GET-POINTER-VALUE Function	Returns, as an INT64 value, the address of (or pointer to) the memory region associated with the specified MEMPTR variable. The returned value is based on whether the platform supports 64-bit pointers or 32-bit pointers. On a 32-bit platform, the value never gets bigger than 2GB. 	GET-POINTER-VALUE ( memptr-var )	
GET-PREV Method	Moves a query object&#8217;s result list pointer back one row.	GET-NEXT ( NO-LOCK | SHARE-LOCK [ , NO-WAIT ]<br>  | EXCLUSIVE-LOCK [ , NO-WAIT ]  )	
GET-PRINTERS Method	Returns a comma-separated list of printers defined in the Windows Registry.	SESSION:GET-PRINTERS(&nbsp;)	
GetProcessTemplateList Method	Gets the JSON string value of one or more elements as a RAW or RAW array.	GetRaw( INPUT index AS INTEGER )<br>&nbsp;<br>GetRaw( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GetProcessTemplateNames Method	Retrieves the list of process templates that are authorized to the user of the associated Progress.BPM.UserSession. Returns a CHARACTER array that contains the names of the templates.	GetProcessTemplateNames(&nbsp;)	
GET-PROPERTY Method	Gets the value of the specified application-defined property stored in the client-principal object. The client-principal object may be sealed or unsealed. If the specified property is not stored in the object, or the property does not have a value, this method returns the Unknown value (?).	GET-PROPERTY ( property-name )	
GetPropertyValue Method	Gets a property&#8217;s value at run time. Use the GetPropertyValue(&nbsp;)method to access a property&#8217;s value dynamically, even if you do not know the property&#8217;s name or type when you are using the method at compile time. 	[ return-value = ] class-object-reference:GetPropertyValue ( <br>&nbsp;&nbsp;INPUT object-reference AS Progress.Lang.Object ,<br>&nbsp;&nbsp;INPUT property-name AS CHARACTER )	[ return-value = ] class-object-reference:GetPropertyValue ( <br>&nbsp;&nbsp;INPUT property-name AS CHARACTER )	[ return-value = ] class-object-reference:GetPropertyValue ( <br>&nbsp;&nbsp;INPUT object-reference AS Progress.Lang.Object, <br>&nbsp;&nbsp;INPUT property-name AS CHARACTER, INPUT index AS any-data-type )	[ return-value = ] class-object-reference:GetPropertyValue ( <br>&nbsp;&nbsp;INPUT object-reference AS Progress.Lang.Object, <br>&nbsp;&nbsp;INPUT property-name AS CHARACTER, INPUT index AS any-data-type )	
GET-QNAME-BY-INDEX Method	Gets the XML qualified name of the attribute at the given 1-based index.	GET-QNAME-BY-INDEX ( index )	
GetRaw Method	Gets the JSON string value of one or more elements as a RAW or RAW array.	GetRaw( INPUT index AS INTEGER )<br>&nbsp;<br>GetRaw( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GetRecid Method	Gets the JSON number value of one or more elements as a RECID or RECID array.	GetRecid( INPUT index AS INTEGER )<br>&nbsp;<br>GetRecid( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GET-RED-VALUE Method	Returns the red component of an entry in the color table.	GET-RED-VALUE ( index )	
GET-RELATION Method	Gets the handle of the specified data-relation object.	GET-RELATION ( index | relation-name )	
GET-REPOSITIONED-ROW Method	Returns the row index of the browse viewport where the REPOSITION TO ROWID (or RECID) statement displays a repositioned record.	GET-REPOSITIONED-ROW (&nbsp;)	
GET-RGB-VALUE Method	Returns an INTEGER that represents a combination of the red, green, and blue value of an entry in the color table.	GET-RGB-VALUE ( index )	
GET-ROW Method	Returns the line number at which the nth message occurred during the preceding compilation.	GET-ROW ( n )	
GetRowid Method	Gets the JSON string value of one or more elements as a ROWID or ROWID array.	GetRowid( INPUT index AS INTEGER )<br>&nbsp;<br>GetRowid( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
GET-SELECTED-WIDGET Method	Returns the handle of the selected widget in a dialog box, frame, or window.	GET-SELECTED-WIDGET ( n )	
GET-SERIALIZED Method	Returns a LONGCHAR that contains the serialized form of the XML underlying the SOAP-header-entryref or SOAP fault entry. (The SOAP-header object contains a list of entries that each point to an exiting SOAP-header-entryref object. It is the SOAP-header-entryref object that the method serializes.)	GET-SERIALIZED (&nbsp;)	
GET-SHORT Function	Returns the signed 16-bit value at the specified memory location as an INTEGER value. 	GET-SHORT ( source , position )	
GET-SIGNATURE Method	Returns the signature of the internal procedure or user-defined function whose name you supply. Specifically:	GET-SIGNATURE ( int-proc-name )	
GET-SIZE Function	Returns, as an INT64 value, the allocated byte size of the memory region associated with the specified MEMPTR variable.	GET-SIZE ( memptr-var )	
GET-SOCKET-OPTION Method	Returns a comma separated string containing values appropriate for the specified socket option. Otherwise, it returns the Unknown value (?).	GET-SOCKET-OPTION ( name )	
GET-SOURCE-BUFFER Method	Gets the handle to the source buffer in the data-source object at the specified index position.	GET-SOURCE-BUFFER ( [ buffer-index ] )	
GET-STRING Function	Returns the null-terminated character string at the specified memory location as a CHARACTER value (not including the null terminator) or the number of bytes specified starting from the specified memory location as a CHARACTER value.	GET-STRING ( source , position [ , numbytes ] )	
GET-TAB-ITEM Method	Returns the handle of a widget at a specified tab position in a field group.	GET-TAB-ITEM ( n )	
GetTableInfoByID Method	Returns information about a temp-table when the ID is specified. The ID is a numeric value that identifies the temp-table and is maintained by the ABL virtual machine (AVM). If the ID is valid for an existing temp-table, this method returns TRUE. Otherwise, it returns FALSE.	GetTableInfoByID(INPUT temp-table-id, OUTPUT table-name, OUTPUT proc-name	GetTableInfoByID(INPUT temp-table-id, OUTPUT table-handle, OUTPUT proc-name	
GetTableInfoByPosition Method	Returns information about the position of a temp-table from a list of temp-tables. This is based on the number returned by the TempTableCount property. The method raises an error if it is a not a valid position (not within the TempTableCount range).	GetTableInfoByPosition(INPUT element, OUTPUT table-name, OUTPUT proc-name	GetTableInfoByPosition(INPUT element, OUTPUT table-handle, OUTPUT proc-name	
GetTableStatHistoryHandle Method	Returns the handle of the temp-table used for storing the archived statistics from the _TableStat virtual system table. The method returns the Unknown value (?) if the ArchiveTableStatistics property is set to FALSE. 	
GetTask Method	Retrieves a single task, by name, that is part of an active workflow from an associated Progress.BPM.UserSession object.	GetTask ( INPUT TaskName &nbsp;AS CHARACTER )	
GET-TEXT-HEIGHT-CHARS Method	Returns the height, in character units, of the specified font. If no font is specified, the method returns the height of the default font.	GET-TEXT-HEIGHT-CHARS ( [ font ] )	
GET-TEXT-HEIGHT-PIXELS Method	Returns the height, in pixels, of the specified font. If no font is specified, the method returns the height of the default font.	GET-TEXT-HEIGHT-PIXELS ( [ font ] )	
GET-TEXT-WIDTH-CHARS Method	Returns the width, in character units, of the string using the specified font. If no font is specified, the method calculates the width of the string using the default font.	GET-TEXT-WIDTH-CHARS ( string [ , font ] )	
GET-TEXT-WIDTH-PIXELS Method	Returns the width, in pixels, of the string using the specified font. If no font is specified, the method calculates the width of the string using the default font.	GET-TEXT-WIDTH-PIXELS ( string [ , font ] )	
GET-TOP-BUFFER Method	Gets the top-level buffer in a ProDataSet object at the specified index position. 	GET-TOP-BUFFER ( index )	
GetType Method	Gets JSON data type for the identified element. The returned integer corresponds to the static integer properties defined in the Progress.Json.ObjectModel.JsonDataType class.	GetType( INPUT index AS INTEGER )	
GET-TYPE-BY-INDEX Method	Gets the type of the attribute at the given 1-based index.	GET-TYPE-BY-INDEX ( index )	
GET-TYPE-BY-NAMESPACE-NAME Method	Gets the type of the attribute with the given namespace name.	GET-TYPE-BY-NAMESPACE-NAME ( uri , localname )	
GET-TYPE-BY-QNAME Method	Gets the type of the attribute with the given XML qualified name.	GET-TYPE-BY-QNAME ( qname )	
GET-UNSIGNED-LONG Function	Returns the unsigned 32-bit value at the specified memory location as an INT64. This is analogous to the GET-UNSIGNED-SHORT function, except with a 32-bit value. 	GET-UNSIGNED-LONG ( source , position )	
GET-UNSIGNED-SHORT Function	Returns the unsigned 16-bit value at the specified memory location as an INTEGER value. 	GET-UNSIGNED-SHORT ( source , position )	
GET-URI-BY-INDEX Method	Gets the namespace URI of the attribute at the given 1-based index.	GET-URI-BY-INDEX ( index )	
GET-VALUE-BY-INDEX Method	Gets the value of the attribute at the given 1-based index.	GET-VALUE-BY-INDEX ( index )	
GET-VALUE-BY-NAMESPACE-NAME Method	Gets the value of the attribute with the given namespace name.	GET-VALUE-BY-NAMESPACE-NAME ( uri , localname )	
GET-VALUE-BY-QNAME Method	Gets the value of the attribute with the given XML qualified name.	GET-VALUE-BY-QNAME ( qname )	
GetVSTHandle Method	Returns the handle of a valid VST temp-table.	GetVSTHandle(INPUT VST-ID)	
GET-WAIT-STATE Method	Returns a string indicating the current wait-state.	GET-WAIT-STATE (&nbsp;)	
GO Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
GO-PENDING Function	Returns a TRUE value if, within an EDITING phrase, an APPLY statement results in a GO action. The GO action is deferred until the end of the EDITING phrase.	GO-PENDING	REPEAT:<br>&nbsp;&nbsp;PROMPT-FOR Customer.CustNum.<br>&nbsp;&nbsp;FIND Customer USING Customer.CustNum.<br>&nbsp;&nbsp;UPDATE<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.Name Customer.Address Customer.City Customer.State SKIP<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.CreditLimit Customer.Balance WITH 1 COLUMN EDITING:<br>&nbsp;&nbsp;&nbsp;&nbsp;READKEY.<br>&nbsp;&nbsp;&nbsp;&nbsp;APPLY LASTKEY.<br>&nbsp;&nbsp;&nbsp;&nbsp;IF GO-PENDING AND INPUT Customer.Balance &gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT Customer.CreditLimit THEN DO:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MESSAGE "The current unpaid balance exceeds the credit limit.".<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEXT.<br>&nbsp;&nbsp;&nbsp;&nbsp;END.<br>&nbsp;&nbsp;END. /* EDITING */<br>END.	
GRAPHIC-EDGE Attribute	Indicates whether to draw a rectangle with graphic characters.	
GRID-FACTOR-HORIZONTAL Attribute	The spacing, in horizontal grid units, between the horizontal grid lines of the frame.	
GRID-FACTOR-VERTICAL Attribute	The spacing, in vertical grid units, between the vertical grid lines of the frame.	
GRID-SNAP Attribute	Indicates whether widgets should snap to the grid when they are moved or resized.	
GRID-UNIT-HEIGHT-CHARS Attribute	The height, in character units, of a vertical grid unit on the frame.	
GRID-UNIT-HEIGHT-PIXELS Attribute	The height, in pixels, of a vertical grid unit on the frame.	
GRID-UNIT-WIDTH-CHARS Attribute	The width, in character units, of a horizontal grid unit on the frame.	
GRID-UNIT-WIDTH-PIXELS Attribute	The width, in pixels, of a horizontal grid unit on the frame.	
GRID-VISIBLE Attribute	Indicates whether the grid of a frame is visible.	
GROUP-BOX Attribute	Indicates the rectangle is a group box, which surrounds one or more user interface widgets to visually indicate a relationship among the widgets. 	
GT Operator	Returns a TRUE value if the first of two expressions is greater than the second expression.	expression { GT | &gt; } expression 	
GUID Function	Converts a universally unique identifier (UUID) value into a globally unique identifier (GUID) value. This function returns a GUID as a 36-character string value consisting of 32 hexadecimal digits (0 through 9 and A through F) and 4 hyphens formatted as follows (where X is a hexadecimal digit): XXXXXXXX&#8212;XXXX&#8212;XXXX&#8212;XXXX&#8212;XXXXXXXXXXXX.	GUID( [ UUID ] )	
HANDLE Attribute	This section contains reference entries that describe each handle attribute, handle method, COM object property, and COM object method that ABL supports. Handle attributes and methods, and COM object properties and methods, are all mechanisms that allow you to monitor and control the behavior of ABL handle-based objects (including widgets), system handles, and COM objects. 	
Handle Property	The handle to the ABL data source object to which the BindingSource object is bound. This can be a query, ProDataSet, or buffer object handle.	
HANDLE Option	Defines a run-time parameter in an ABL procedure (internal or external), Windows dynamic link library (DLL) routine, UNIX shared library routine, or ActiveX control event procedure. 	DEFINE { INPUT | OUTPUT | INPUT-OUTPUT | RETURN } PARAMETER parameter<br>&nbsp;&nbsp;{ { &nbsp;&nbsp;AS [ HANDLE TO ] primitive-type-name <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;AS [ CLASS ] { object-type-name }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;LIKE field &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} [ EXTENT [ constant ] ] } <br>&nbsp;&nbsp;[ [ NOT ] CASE-SENSITIVE ]<br>&nbsp;&nbsp;[ FORMAT string ]<br>&nbsp;&nbsp;[ DECIMALS n ]<br>&nbsp;&nbsp;[ INITIAL<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ constant | { [ constant [ , constant ] ... ] } } ]<br>&nbsp;&nbsp;[ COLUMN-LABEL label ]<br>&nbsp;&nbsp;[ LABEL string ]<br>&nbsp;&nbsp;[ NO-UNDO ]	DEFINE PARAMETER BUFFER buffer-name FOR [ TEMP-TABLE ] table-name<br>&nbsp;&nbsp;[ PRESELECT ]	DEFINE { INPUT | OUTPUT | INPUT-OUTPUT } PARAMETER<br>&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;TABLE FOR temp-table-name [ APPEND ] [ BIND ] [ BY-VALUE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;TABLE-HANDLE temp-table-handle [ BIND ] [ BY-VALUE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;DATASET FOR dataset-name [ APPEND ] [ BIND ] [ BY-VALUE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;DATASET-HANDLE dataset-handle [ BIND ] [ BY-VALUE ]<br>&nbsp;&nbsp;}	
HANDLE Function	Converts a string representation of a handle to a valid handle. 	HANDLE ( handle-string )	
HANDLER Attribute	A handle to the procedure containing the SAX callbacks.	hSaxReader:HANDLER = THIS-PROCEDURE.	
Has Method	Returns a LOGICAL indicating if the JsonObject contains the named property.	Has( INPUT property-name AS CHARACTER )	
HAS-LOBS Attribute	Returns TRUE if the Buffer object has BLOB or CLOB fields defined in it. Otherwise, it returns FALSE.	
HAS-RECORDS Attribute	This attribute returns TRUE when the corresponding temp-table has records. It returns FALSE when the temp-table does not have any records, or the temp-table is in an UNPREPARED state.	
HasStatics Method	Returns TRUE if a given class has any static members. This method supports the reflection capabilities of the Progress.Lang.Class class.	HasStatics ( )	
HasWidgetPool Method	Returns TRUE if a given class has a widget pool. This method supports the reflection capabilities of the Progress.Lang.Class class.	HasWidgetPool ( )	
Height Property	The height of the control-frame and control-frame COM object, in pixels.	
HEIGHT-CHARS Attribute	The height, in character units, of the widget. The HEIGHT-CHARS attribute of the SESSION handle contains the height of the display.	
HEIGHT-PIXELS Attribute	The height, in pixels, of the widget. The HEIGHT-PIXEL attribute of the SESSION handle contains the height of the display.	
HELP Attribute	The help text for a field.	
HELP Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
HEX-DECODE Function	Converts a character string consisting of an even number of hexadecimal digits (0 through 9 and A through F) into a RAW value.	HEX-DECODE( expression )	
HEX-ENCODE Function	Converts a RAW value into a character string consisting of an even number of hexadecimal digits (0 through 9 and A through F).	HEX-ENCODE( expression )	
HIDDEN Attribute	Indicates whether to &#8220;hide&#8221; a widget.	
HIDE Statement	Makes a widget invisible (sets its VISIBLE attribute to FALSE), or clears the message area for a window, or hides all widgets and clears messages in a window. 	HIDE [ STREAM stream | STREAM-HANDLE handle ]<br>  [ widget-phrase | MESSAGE | ALL ]<br>  [ NO-PAUSE ]<br>  [ IN WINDOW window ]	
HonorProKeys Property	Determines who processes the GO, ENDKEY, HELP, and TAB keys: the AVM, or the ActiveX control to which the property applies.	
HonorReturnKey Property	Determines who processes the RETURN key: the AVM, or the ActiveX control to which the property applies.	
HORIZONTAL Attribute	The orientation of a slider, or of radio buttons in a radio set. 	
HTML-CHARSET Attribute	The ABL version (as opposed to the MIME version) of the code page name of a Web request. Set by ABL when a WebSpeed application incorporates dynamic code page support. The default is blank. 	
HTML-END-OF-LINE Attribute	Defaults to the newline character (ASCII 10; &#8217;<br>&#8217;; &#8217;\n&#8217;). A null string value causes a NEWLINE character (not a null string) to be output. You might want to set this to "<br>" (the NEWLINE character) or to the null string (to force the NEWLINE character). Depending on the other attribute values, using the NEWLINE rather than the &lt;BR&gt; tag can result in more readable output when viewing document source in a browser.	
HTML-END-OF-PAGE Attribute	Between stream pages, defaults to "&lt;HR&gt;". Output between stream pages to visually break up the sectioning caused by the PAGED or PAGE-SIZE options of the OUTPUT TO "WEB" statement. Does not affect the line count of any stream page.	
HTML-FRAME-BEGIN Attribute	Before a SpeedScript frame, defaults to "&lt;PRE&gt;". Generally, if you change this value you must change the value of HTML-FRAME-END. Output only before the data row(s) for the current iteration of a DOWN frame, not to column headers (see also HTML-HEADER-BEGIN and HTML-HEADER-END). Applies to any side&#8209;labels displayed in the frame, whether or not the frame is a DOWN frame.	
HTML-FRAME-END Attribute	After a SpeedScript frame, defaults to "&lt;/PRE&gt;". Generally, if you change this value you must change the value of HTML-FRAME-BEGIN. Output at the end of the data row(s) for the current iteration of a DOWN frame.	
HTML-HEADER-BEGIN Attribute	Before the column headers of a SpeedScript frame, defaults to "&lt;PRE&gt;". Generally, if you change this value you must change the value of HTML-HEADER-END. Output at the beginning of the column header section of a DOWN frame.	
HTML-HEADER-END Attribute	After the column headers of a SpeedScript frame, defaults to "&lt;/PRE&gt;". Generally, if you change this value you must change the value of HTML-HEADER-BEGIN. Output at the end of the column header section of a DOWN frame.	
HTML-TITLE-BEGIN Attribute	Before a SpeedScript frame title, Defaults to the null string (""), no text. Generally, if you change this value you must change the value of HTML-TITLE-END. Output before the frame&#8217;s TITLE value. Setting to a color or bold tag might improve readability.	
HTML-TITLE-END Attribute	After a SpeedScript frame title, defaults to the null string (""), no text. Generally, if you change this value you must change the value of HTML-TITLE-BEGIN. Output after the frame&#8217;s TITLE value.	
HWND Attribute	An integer value for a Windows handle to the window that contains the widget. 	
ICFPARAMETER Attribute	A character string that supplies Internet Component Framework (ICF) procedures (in Progress DynamicsΩ with ICF-related data.	
ICON Attribute	Returns the name of the icon loaded by LOAD-ICON(&nbsp;).	
IF Statement	Makes the execution of a statement or block of statements conditional. If the value of the expression following the IF statement is TRUE, the AVM processes the statements following the THEN statement. Otherwise, the AVM processes the statements following the ELSE statement.	IF expression THEN { block | statement }<br>  [ ELSE { block | statement } ]	
IF Function	Evaluates and returns one of two expressions, depending on the value of a specified condition.	IF condition THEN expression1 ELSE expression2 	
IgnoreComments Property	The IgnoreComments property when set to TRUE, causes the parser to ignore comments in JSON strings. Comments appear as either C style (/*...*/) or C++ style (//...). Setting this property to FALSE causes the parser to fail when it encounters a JSON comment. 	
IGNORE-CURRENT-MODIFIED Attribute	This attribute is supported only for backward compatibility. Use the PREFER-DATASET attribute instead.	
IMAGE Attribute	Returns the name of the image loaded by LOAD-IMAGE(&nbsp;).	
IMAGE Widget	An image is a graphic taken from an operating system file. It can be used by itself or within a button. You can define a static image with the DEFINE IMAGE statement, and create a dynamic image with the CREATE widget statement. You can specify an image for a button using the DEFINE BUTTON statement or the button methods for loading images.				
IMAGE-DOWN Attribute	Returns the name of the image loaded by LOAD-IMAGE-DOWN(&nbsp;).	
IMAGE-INSENSITIVE Attribute	Returns the name of the image loaded by LOAD-IMAGE-INSENSITIVE(&nbsp;).	
IMAGE-UP Attribute	Returns the name of the image loaded by LOAD-IMAGE(&nbsp;) or LOAD-IMAGE-UP(&nbsp;).	
IMMEDIATE-DISPLAY Attribute	The frequency of screen updates for the current session.	
IMPORT Statement	Reads a line from an input file that might have been created by EXPORT. 	IMPORT [ STREAM stream | STREAM-HANDLE handle ]<br>  {    [ DELIMITER character ] { field | ^ } ...<br>     | [ DELIMITER character ] record [ EXCEPT field  ... ]<br>     | UNFORMATTED field <br>  }<br>&nbsp;&nbsp;[ NO-LOBS ]<br>&nbsp;&nbsp;[ NO-ERROR ]	IMPORT [ STREAM stream | STREAM-HANDLE handle ] { memptr | longchar }	
IMPORT-NODE Method	Import a copy of a node from another document into this document. The first parameter must be a valid X-noderef handle and will refer to the newly copied XML node if the method succeeds. The new node is associated with this document, but must be appended or inserted with APPEND-CHILD(&nbsp;) or INSERT-BEFORE(&nbsp;) to become part of the structure. 	IMPORT-NODE ( x-node , x-source-node , deep )	
IMPORT-PRINCIPAL Method	Imports an unsealed or sealed security token as a RAW data type, creates a corresponding client-principal object, and assigns its handle value to the current Client-principal object handle. This corresponding client-principal object assumes all the property and attribute settings of the source client-principal object when it was exported using the EXPORT-PRINCIPAL(&nbsp;) method.	IMPORT-PRINCIPAL ( expression )	
INCREMENT-EXCLUSIVE-ID Method	Gets the amount by which to increment the exclusive ID of a Web request for state&#8209;aware agents. Do not access this method.	
INDEX Attribute	The subscript value of the array element referenced by the current widget. 	
INDEX Function	Returns an INTEGER value that indicates the position of the target string within the source string.	INDEX ( source , target [ , starting ] )	
INDEX-INFORMATION Attribute	A character string consisting of a comma-separated list of the index or indexes the query uses at the level of join specified. 	INDEX-INFORMATION ( n )	
INDEX-INFORMATION Method	Returns index information in a comma-separated list for the ith index in the buffer&#8217;s table.	INDEX-INFORMATION ( i )	
IndexStatId Property	The IndexStatId property identifies the IndexStat VST. This VST contains statistics on the number of accesses to a specific range of indexes. You can pass the IndexStatId property to the GetVSTHandle() method to return the handle to the IndexStat VST. This property is read-only.	
IN-HANDLE Attribute	A handle to one of the following:	call-object:IN-HANDLE [ = { handle-expression | char-expression } ]	
INHERIT-BGCOLOR Attribute	Indicates whether field-level widgets inherit the background color of their containing dialog-box or frame widget.	
INHERIT-FGCOLOR Attribute	Indicates whether field-level widgets inherit the foreground color of their containing dialog-box or frame widget.	
INITIAL Attribute	The value of the INITIAL schema field (which is always CHARACTER), formatted with the buffer-field&#8217;s format. If the INITIAL schema field has the Unknown value (?), the value of the INITIAL attribute is the null string (&#8220;&#8221;).	
INITIALIZE Method	Simplifies initialization of client-principal object attributes that are required and commonly used to assert a given identity for user authentication. This method can be called on any client-principal object, whether it is sealed or unsealed. Each time the method is called, it returns the object to the INITIAL state (see the LOGIN-STATE attribute entry) initialized with values from the parameter list.	INITIALIZE ( qualified-user-id [ , session-id [ , expiration <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ , primary-passphrase ] ] ] )	
INITIALIZE-DOCUMENT-TYPE Method	Creates a new XML document, initializes the document based on the referenced DTD, and creates its root node.	INITIALIZE-DOCUMENT-TYPE ( namespace-uri , root-node-name , public-id ,<br>&nbsp;&nbsp;system-id )	
INITIATE Method	Initializes the Debugger, but does not pass control to the Debugger immediately. To start the Debugger from the procedure in application mode, you must set a breakpoint using the SET-BREAK(&nbsp;)method that the procedure encounters. When the procedure encounters the breakpoint, the Debugger takes control of the procedure at that point. 	INITIATE (&nbsp;)	
INNER-CHARS Attribute	The number of data columns within a selection list or editor widget. 	
INNER-LINES Attribute	The number of data lines within a combo-box drop down list, editor widget, or selection list. 	
INPUT Function	References the value of a field in a frame. For example, if you use the PROMPT-FOR statement to get input from the user, PROMPT-FOR stores that information in the screen buffer. You can use the INPUT function to refer to that information.	INPUT [ FRAME frame ] field 	
INPUT Option	Runs a non-ABL stored procedure or allows you to send SQL to an SQL-based data source using an OpenEdge DataServer.	RUN STORED-PROCEDURE procedure <br>  [ integer-field = PROC-HANDLE ]<br>  [ NO-ERROR ]<br>  [ ( parameter [ , parameter ] ... ) ]	
INPUT-OUTPUT Option	Runs a non-ABL stored procedure or allows you to send SQL to an SQL-based data source using an OpenEdge DataServer.	RUN STORED-PROCEDURE procedure <br>  [ integer-field = PROC-HANDLE ]<br>  [ NO-ERROR ]<br>  [ ( parameter [ , parameter ] ... ) ]	
InputValue Property	Returns the input value of the specified field in the current row of the top-level table displayed in the bound .NET control.	InputValue[ field-index | field-name ]	
INPUT-VALUE Attribute	Used for data-representation widgets, such as field-level widgets that represent variables or database fields. The value for the INPUT-VALUE attribute is the unformatted SCREEN-VALUE of a widget.	
INSERT Method	Inserts a new item before a specified item in a combo box or selection list. The new item can consist of a label, a list of labels, or a label-value pair.	INSERT (<br>&nbsp;&nbsp;{ new-item-list | new-label , new-value } <br>&nbsp;&nbsp;, { list-item | list-index }<br>&nbsp;&nbsp;)	
INSERT Statement	Creates a new database record, displays the initial values for the fields in the record, prompts for values of those fields, and assigns those values to the record.	INSERT record [ EXCEPT field ... ] <br>  [ USING { ROWID ( nrow ) | RECID ( nrec ) } ]<br>  [ frame-phrase ] <br>  [ NO-ERROR ]	
INSERT-ATTRIBUTE Method	For a SAX-writer object, adds a single attribute to a start tag in the XML document represented by the SAX-writer object. For a SAX-attributes object, inserts an attribute and its value into the SAX-attributes object.	INSERT-ATTRIBUTE ( attribute-name , attribute-value [ , namespaceURI ] )	
INSERT-BACKTAB Method	Moves the cursor backward to the previous four-space tab stop without affecting the text in the widget. 	INSERT-BACKTAB (&nbsp;)	
INSERT-BEFORE Method	Insert a node as a child of this document before another node (or last if the other node is unknown). This is one way to place the node into the document structure after the node has been created with the CREATE-NODE(&nbsp;) or CREATE-NODE-NAMESPACE(&nbsp;) method, cloned with the CLONE-NODE(&nbsp;) method, or removed with the REMOVE-NODE(&nbsp;) method. (Similar to the APPEND-CHILD(&nbsp;) method.)	INSERT-BEFORE ( x-ref-handle1 , x-ref-handle2 )	
INSERT-FILE Method	Inserts the text of filename into the editor widget at the current location of the text cursor. 	INSERT-FILE ( filename )	
INSERT-ROW Method	Inserts a blank line in an updateable browse before or after the last selected row. The blank line is a placeholder for a new record to be added through the browse. This method cannot be used with a read-only browse.	INSERT-ROW ( BEFORE | AFTER )	
INSERT-STRING Method	Inserts a string into the editor widget at the current location of the text cursor. 	INSERT-STRING ( string )	
INSERT-TAB Method	This method works differently depending on the insert mode status. If insert mode is on, it inserts one to four spaces from the current cursor position to the next four-space tab stop. If insert mode is off, it moves the cursor to the next four-space tab stop without inserting any characters. 	INSERT-TAB (&nbsp;)	
INSTANTIATING-PROCEDURE Attribute	Returns the handle to the procedure in which an object was instantiated.		
INT64 Function	Takes any data type and returns an INT64 value, if the conversion is possible. This function takes most common data types except for RAW and MEMPTR.	INT64 ( expression )	
INTEGER Function	Converts an expression of any data type, with the exception of BLOB, CLOB, and RAW, to a 32-bit integer value of data type INTEGER, rounding that value if necessary.	INTEGER ( expression )	
INTERFACE Statement	Defines a user-defined interface. An interface defined with this statement represents a user-defined data type that defines a set of method, property, and event prototypes for methods, properties, and events that can be implemented by one or more classes. Any class that implements the interface must support all the methods, properties, and events whose prototypes are defined in the interface or any interface from which this interface inherits member prototypes.	INTERFACE interface-type-name <br>[ INHERITS super-interface-name [ , super-interface-name ] ... ] :<br>interface-body 	
INTERNAL-ENTRIES Attribute	A comma-separated list containing the names of all internal procedures and user-defined functions defined in the procedure associated with the specified handle. Returns the Unknown value (?) for a Web service procedure or proxy persistent procedure.	
INTERVAL Function	Returns the time interval between two DATE, DATETIME, or DATETIME-TZ values as an INT64 value. 	INTERVAL ( datetime1 , datetime2 , interval-unit )	
InvalidConfiguration Property	An authentication status code that indicates authentication failure due to a missing or invalid OpenEdge domain configuration.	
INVOKE Method	Lets you do the following dynamically:	INVOKE(&nbsp;)	
Is Method	Determines whether the Progress.BPM.Task instance passed to it satisfies some set of filter criteria. This method is defined by the ITaskFilter interface. It is called by some overloads of the Progress.BPM.UserSession GetAvailableTasks(&nbsp;) and GetAssignedTasks(&nbsp;) methods to determine whether to include a given Task in the array of tasks that they return. Implementations are expected to to apply some set of criteria to the Task parameter and return YES if the Task meets the criteria or NO if it does not.	Is( INPUT theTask AS Progress.BPM.Task )	
IsA Method	Returns TRUE if a class or interface represented by the Progress.Lang.Class object or object type-name expression passed to the method is in the hierarchy of the Progress.Lang.Class class instance on which the method is called. Otherwise, the method returns FALSE. The IsA(&nbsp;) method supports the reflection capabilities of the Progress.Lang.Class class.	IsA ( { INPUT object-reference AS Progress.Lang.Class |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT object-type-name AS CHARACTER } )	
IsAbstract Method	Returns a LOGICAL value indicating if the specified object is a class type defined as ABSTRACT. This method supports the reflection capabilities of the Progress.Lang.Class class.	IsAbstract(&nbsp;)	
IS-ATTR-SPACE Function	This function is supported only for backward compatibility.	IS-ATTR-SPACE	DEFINE VARIABLE termtype AS LOGICAL FORMAT "spacetaking/non-spacetaking".<br> <br>termtype = IS-ATTR-SPACE.<br>&nbsp;<br>DISPLAY "You are currently using a" termtype NO-LABEL "terminal"<br>&nbsp;&nbsp;WITH FRAME d1 CENTERED ROW 5.	
IS-CLASS Attribute	Indicates whether an r-code file defines a class or a procedure.	
IS-CODEPAGE-FIXED Function	Returns TRUE if the code page of the specified LONGCHAR variable is fixed; otherwise it returns FALSE.	IS-CODEPAGE-FIXED ( longchar )	
IS-COLUMN-CODEPAGE Function	Returns TRUE if the specified CLOB field is a COLUMN-CODEPAGE CLOB. Otherwise, it returns FALSE (that is, if the CLOB is a DBCODEPAGE CLOB or a TTCODEPAGE CLOB).	IS-COLUMN-CODEPAGE ( field )	
IS-DB-MULTI-TENANT Function	Returns TRUE if a specified database is multi-tenant enabled, and returns FALSE if it is not. 	IS-DB-MULTI-TENANT( [ database-name ] )	
IsFinal Method	Returns a LOGICAL value indicating if the specified object is a class type defined as FINAL.	IsFinal(&nbsp;)	
IsGreater Method	Compares the underlying values of the specified enumeration types and returns TRUE if the first value is greater than the second value. Otherwise, it returns FALSE.	EnumHelper:IsGreater ( INPUT enum1 AS CLASS System.Enum, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT enum2 AS CLASS System.Enum )	
IsGreaterOrEqual Method	Compares the underlying values of the specified enumeration types and returns TRUE if the first value is greater than or equal to the second value. Otherwise, it returns FALSE.	EnumHelper:IsGreaterOrEqual ( INPUT enum1 AS CLASS System.Enum, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT enum2 AS CLASS System.Enum )	
IsInterface Method	If the specified object is defined as an interface type, this method returns TRUE. Otherwise, it returns FALSE.	IsInterface(&nbsp;)	
IS-JSON Attribute	Returns whether a JSON string was posted to the transaction server. The AVM determines the value by checking if the content-type HTTP header is either "application/json" or "text/json".	
IS-LEAD-BYTE Function	Returns TRUE if the first character of the string is the lead-byte of a multi-byte character. Returns FALSE if it is not. 	IS-LEAD-BYTE ( string )	
IsLess Method	Compares the underlying values of the specified enumeration types and returns TRUE if the first value is less than the second value. Otherwise, it returns FALSE.	EnumHelper:IsLess ( INPUT enum1 AS CLASS System.Enum, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT enum2 AS CLASS System.Enum )	
IsLessOrEqual Method	Compares the underlying values of the specified enumeration types and returns TRUE if the first value is less than or equal to the second value. Otherwise, it returns FALSE.	EnumHelper:IsLessOrEqual ( INPUT enum1 AS CLASS System.Enum, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT enum2 AS CLASS System.Enum )	
IS-MULTI-TENANT Attribute	Indicates whether the buffer is populated with a record from a multi-tenant table.	
IsNull Method	Returns a LOGICAL indicating if an element in a JsonArray contains the null value.	IsNull( INPUT index AS INTEGER )	
ISO-DATE Function	Returns a character representation of a DATE, DATETIME , or DATETIME-TZ that conforms to the ISO 8601 standard for date/time representations.	ISO-DATE ( expression  ) 	
IS-OPEN Attribute	Indicates whether a transaction or query object is open.	
IS-PARAMETER-SET Attribute	Indicates whether you have already set a particular parameter.	IS-PARAMETER-SET ( parameter-number )	
IS-ROW-SELECTED Method	Returns TRUE if a specified row in the browse viewport is currently selected.	IS-ROW-SELECTED ( n )	
IS-SELECTED Method	Returns TRUE if a specified item in a selection list is currently selected. Otherwise, the method returns FALSE.	IS-SELECTED ( list-item | list-index )	
IS-XML Attribute	Returns whether an XML document was posted to the transaction server. 	
ITEMS-PER-ROW Attribute	How to format multiple items written to the system clipboard using the CLIPBOARD handle. 	
ITERATION-CHANGED Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
KBLABEL Function	Returns the keyboard label (such as F1) of the key that performs a specified ABL function (such as GO). 	KBLABEL ( key-function )	
KEEP-CONNECTION-OPEN Attribute	Indicates whether WebClient should keep any server connection, that it creates, open after downloading a file (TRUE) or not (FALSE). 	
KEEP-FRAME-Z-ORDER Attribute	The overlay order of the frames in a window.	
KEEP-SECURITY-CACHE Attribute	Indicates whether WebClient saves the values of the attributes in the security cache between sessions (TRUE) or not (FALSE), as requested by the user. The default value is FALSE.	
KEY Attribute	Indicates whether the field corresponding to a buffer-field participates in an index.	
KEYCODE Function	Evaluates a key label (such as F1) for a key in the predefined set of keyboard keys and returns the corresponding = key code (such as 301) as an INTEGER value. See OpenEdge Development: Programming Interfaces for a list of key codes and key labels.	KEYCODE ( key-label )	
KEYFUNCTION Function	Evaluates an integer expression (such as 301) and returns a character string that is the function of the key associated with that integer expression (such as GO).	KEYFUNCTION ( expression )	
KEYLABEL Function	Evaluates a key code (such as 301) and returns a character string that is the predefined keyboard label for that key (such as F1).    	KEYLABEL ( key-code )	
KEYS Attribute	Returns a comma-separated list of key fields for a buffer.	data-source-handle:KEYS ( buffer-sequence-number )	
KEYWORD Function	Returns a character value that indicates whether a string is an ABL reserved keyword.	KEYWORD ( expression )	
KEYWORD-ALL Function	Returns a character value that indicates whether a string is an ABL keyword. This function returns all keywords and does not distinguish between reserved or unreserved keywords.	KEYWORD-ALL ( expression )	
LABEL Attribute	The label of a widget or the name of a low-level event.	
LABEL-BGCOLOR Attribute	The color number of the background color for a column label or all column labels in a browse widget.	
LABEL-DCOLOR Attribute	The color number of the display color for a column label or all column labels in a browse widget.	
LABEL-FGCOLOR Attribute	The color number of the foreground color for a column label or all column labels in a browse widget.	
LABEL-FONT Attribute	The font for a column label or all column labels in a browse widget.	
LABELS Attribute	Indicates whether a label appears with the widget.	
LANGUAGES Attribute	A comma-separated list of all languages compiled into the r-code file specified by the RCODE-INFO:FILE-NAME attribute. 	
LARGE Attribute	Indicates whether a Windows editor widget can hold 32K of text. Non-Windows platforms ignore this attribute.	
LARGE-TO-SMALL Attribute	The default numeric range that a slider can display is small (minimum) to large (maximum). The LARGE-TO-SMALL option allows you to override this default behavior as follows:	
LAST Function	Returns a TRUE value if the current iteration of a DO, FOR EACH, or REPEAT . . . BREAK block is the last iteration of that block.	LAST ( break-group )	
LAST-ASYNC-REQUEST Attribute	Returns the last entry in the list of all current asynchronous request handles for the specified AppServer or Web service that have been created in the current session.	
LAST-BATCH Attribute	Indicates whether a FILL operation on a ProDataSet temp-table retrieved the last batch of rows in its associated query. 	
LAST-CHILD Attribute	The handle of the last widget created in the container widget or the current session.	
LAST-EVENT Handle	A handle to the last event the application received.	LAST-EVENT [ :attribute ]	
LAST-FORM Attribute	The object reference for the last .NET Progress.Windows.IForm or ABL window FormProxy (Progress.Windows.FormProxy) object in the list of all valid OpenEdge form objects created in the current ABL session.	
LASTKEY Function	Returns, as an INTEGER value, the integer key code of the most recent event read from the user (that is, from the keyboard or mouse) during an interaction with a procedure.	LASTKEY	DISPLAY "You may update each customer. After making your changes," SKIP<br>&nbsp;&nbsp;"Press one of:" SKIP(1)<br>  KBLABEL("GO") "Make the changes permanent" SKIP<br>  KBLABEL("END-ERROR")  "Undo changes and exit" SKIP<br>  "F9" SPACE(7) "Undo changes and try again" SKIP<br>  "F10" SPACE(6) "Find next customer" SKIP<br>  "F12" SPACE(6) "Find previous customer"<br>  WITH CENTERED FRAME instr.<br>&nbsp;<br>FIND FIRST Customer.<br>&nbsp;<br>REPEAT:<br>&nbsp;&nbsp;UPDATE Customer.CustNum Customer.Name Customer.Address Customer.City <br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.State GO-ON(F9 F10 F12) WITH 1 DOWN.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF LASTKEY = KEYCODE("F9") &nbsp;THEN UNDO, RETRY.<br>&nbsp;&nbsp;ELSE IF LASTKEY = KEYCODE("F10") THEN FIND NEXT Customer.<br>&nbsp;&nbsp;ELSE IF LASTKEY = KEYCODE("F12") THEN FIND PREV Customer.<br>END.	
LAST-OBJECT Attribute	The object reference for the last class instance in the list of all valid ABL and .NET class instances created in the current ABL session. If there are no class instances in the current session, this attribute returns the Unknown value (?).	
LAST-OF Function	Returns a TRUE value if the current iteration of a DO, FOR EACH, or REPEAT . . . BREAK block is the last iteration for a particular value of a break group.	LAST-OF ( break-group )	
LAST-OF Method	Returns TRUE if the current iteration of the query predicate FOR EACH . . . BREAK BY. . . is the last iteration for a new break group.	LAST-OF ( level )	
LAST-PROCEDURE Attribute	For AppServer, returns a handle to the last entry in the list of remote persistent procedures running on the connected AppServer. For Web services, returns a handle to the last entry in the list of procedure objects associated with the Web service. 	
LAST-SERVER Attribute	A handle to the last entry in the list of server handles for the current ABL session. This includes both AppServer server objects and Web service server objects.	
LAST-SERVER-SOCKET Attribute	A handle to the last entry in the list of all valid server socket handles created in the current session. If there are no server socket handles in this session, LAST-SERVER-SOCKET returns the Unknown value (?).	
LAST-SOCKET Attribute	A handle to the last entry in the list of all valid socket handles created in the current session. If there are no socket handles in this session, LAST-SOCKET returns the Unknown value (?).	
LAST-TAB-ITEM Attribute	The last widget in the tab order of a field group.	
LC Function	Converts any uppercase characters in a CHARACTER or LONGCHAR expression to lowercase characters, and returns the result.	LC ( expression )	
LDBNAME Function	Returns the logical name of a database that is currently connected.	LDBNAME<br>  (<br>    {   integer-expression <br>      | logical-name <br>      | alias <br>      | BUFFER bufname <br>    }<br>  )	
LE Operator	Returns a TRUE value if the first of two expressions is less than or equal to the second.	expression { LE | &lt;= } expression 	
LEAVE Statement	Exits from a block. Execution continues with the first statement after the end of the block.	LEAVE [ label ]	
LEAVE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
LEFT Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
Left Property	The horizontal position of the control-frame and control-frame COM object from the left side of the parent container widget, in pixels.	
LEFT-MOUSE-CLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
LEFT-MOUSE-DBLCLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
LEFT-MOUSE-DOWN Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
LEFT-MOUSE-UP Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
LEFT-TRIM Function	Removes leading white space, or other specified characters, from a CHARACTER or LONGCHAR expression.	LEFT-TRIM ( expression [ , trim-chars ] )	
LENGTH Attribute	The length (number of characters) of the current content of the editor widget.	
LENGTH Function	Returns, as an INTEGER value, the number of characters, bytes, or columns in a string, an expression of type RAW, or a BLOB field.	LENGTH ( { string | raw-expression | blob-field }[ , type ] )	
Length Property	Indicates the current length of the array. This value can be both read and set. If it is set to a smaller value, the array is truncated. Any element beyond the new smaller size of the array is treated as if you call the JsonArray:Remove(&nbsp;) on them. If this value is set to a larger size, the array is extended with null values as if JsonArray:AddNull(&nbsp;) was called.	
LENGTH Statement	Changes the number of bytes in a raw variable.	LENGTH ( variable ) = expression 	
LIBRARY Attribute	Specifies the name of a Windows Dynamic Link Library (DLL) or a UNIX shared library.	
LIBRARY Function	Parses a character string in the form path-name&lt;&lt;member-name&gt;&gt;, where path-name is the pathname of an ABL r-code library and member-name is the name of a file within the library, and returns the pathname of the library. The double angle brackets indicate that member-name is a file in a library. If the string is not in this form, the LIBRARY function returns the Unknown value (?).	LIBRARY ( string )	
LIBRARY-CALLING-CONVENTION Attribute	Specifies the calling convention for a Windows Dynamic Link Library (DLL) or UNIX shared library.	
LINE Attribute	The current logical line number (iteration number) of the frame. 	
LINE-COUNTER Function	Returns the current line number of paged output as an INTEGER value. 	LINE-COUNTER [ ( stream | STREAM-HANDLE handle ) ]	
LIST-EVENTS Function	Returns a comma-separated list of the valid events for a specified object or widget.	LIST-EVENTS ( handle [ , platform ] )	
LIST-ITEM-PAIRS Attribute	A list of the label-value pairs associated with a combo box or selection list. The list is delimiter-separated.	"Red,1,Blue,2,Green,3"	
LIST-ITEMS Attribute	A list of the items associated with a combo box or selection list. The list is delimiter-separated.	"Red,Blue,Green"	
LIST-PROPERTY-NAMES Method	Returns a comma-separated list of all application-defined properties stored in the client-principal object. The client-principal object can be sealed or unsealed.	LIST-PROPERTY-NAMES(&nbsp;)	DEFINE VARIABLE hCP &nbsp;&nbsp;AS HANDLE &nbsp;&nbsp;&nbsp;NO-UNDO.<br>DEFINE VARIABLE vProp AS CHARACTER NO-UNDO.<br>. . .<br>CREATE CLIENT-PRINCIPAL hCp.<br>. . .<br>vProp = hCP:LIST-PROPERTY-NAMES(&nbsp;).<br>DISPLAY vProp FORMAT &#8220;X(70)&#8221;.	
LIST-QUERY-ATTRS Function	Returns a comma-separated list of attributes and methods that are supported for an object or widget.	LIST-QUERY-ATTRS ( handle )	
LIST-SET-ATTRS Function	Returns a comma-separated list of attributes that can be set for an object or widget.	LIST-SET-ATTRS ( handle )	
LIST-WIDGETS Function	Returns a comma-separated list of objects and widget types that respond to a specified event.	LIST-WIDGETS ( event-name [ , platform ] )	
LITERAL Widget	A literal widget is the label for a static field. If a field has a side label, you can find the handle of a literal widget by reading the field&#8217;s SIDE-LABEL-HANDLE attribute. If the field has a column label, you can find the handle of the literal by examining the children of the frame&#8217;s background field group. You cannot create a literal widget dynamically.			
LITERAL-QUESTION Attribute	Lets you specify how the AVM interprets a quoted character value during assignment into the BUFFER-VALUE attribute for a character BUFFER-FIELD object. That is, whether the AVM treats the quoted character value as a literal or non-literal character value. 	
LOAD Statement	Creates application defaults, involving colors, fonts, environment variables, etc., or loads existing defaults, to a graphical or character application. 	LOAD environment <br>  [ DIR directory ]<br>  [ APPLICATION ]<br>  [ NEW ] <br>  [ BASE-KEY { key-name | "INI" } ] <br>  [ NO-ERROR ]	
LOAD Method	Loads an XML document into memory, parses it, and makes its contents available in ABL as an X-document object. 	LOAD ( mode , { file |  memptr | longchar } , validate )	
LOAD-DOMAINS Method	Loads registered domains from the specified (and connected) OpenEdge RDBMS into the ABL session domain registry. The AVM uses this registry to validate client-principal objects and set the user identity through a user authentication or single sign-on (SSO) operation for the session and its available database connections using the SET-CLIENT(&nbsp;) method on the SECURITY-POLICY system handle, and for database connections using the SET-DB-CLIENT function&#8212;but only for connected databases that are configured to use the session (application) registry.	LOAD-DOMAINS ( integer-expression | logical-name | alias )	
LOAD-ICON Method	Loads the icon you want from a specified file for display in the title bar of an ABL window, in the task bar, and when selecting a program using ALT+TAB. This method can accommodate icons formatted as small size (16x16) icons, regular size (32x32) icons, or both.	LOAD-ICON ( icon-filename [ , n ] )	
LOAD-IMAGE Method	Reads the image contained in a specified file. When applied to a button widget, the image is used for the button in its up state, and also for its down state if a separate down state image is not specified. For buttons, this is equivalent to the LOAD-IMAGE-UP(&nbsp;) method. 	LOAD-IMAGE ( filename [ , x-offset , y-offset , width , height ] )	
LOAD-IMAGE-DOWN Method	Reads the image contained in a specified file. The image is used for the button in its down state only. 	LOAD-IMAGE-DOWN ( filename [ , x-offset , y-offset , width , height ] )	
LOAD-IMAGE-INSENSITIVE Method	Reads the image contained in the specified file. The image is used for the button in its insensitive state. 	LOAD-IMAGE-INSENSITIVE ( filename [ , x-offset , y-offset , width , height ] )	
LOAD-IMAGE-UP Method	Reads the image contained in a specified file. The image is used for the button in its up state. The image is also used for the down state if a separate down image is not specified. This method is equivalent to the LOAD-IMAGE(&nbsp;) method. 	LOAD-IMAGE-UP ( filename [ , x-offset , y-offset , width , height ] )	
LOAD-PICTURE Statement	Returns a COM-HANDLE to an OlePictureObject. You can use this COM-HANDLE to set graphical properties of controls.	LOAD-PICTURE [ image ]	
LOAD-SMALL-ICON Method	Loads the icon you want from a specified file for display in the title bar of a window and in the task bar only. This method can accommodate icons formatted as small size (16x16) icons, regular size (32x32) icons, or both. 	LOAD-SMALL-ICON ( smallicon-filename [ n ] )	
LOCAL-HOST Attribute	Indicates the IP (Internet Protocol) address of the machine the socket object is communicating with.	
LOCAL-NAME Attribute	This attribute returns the unqualified part of a namespace-aware XML node name or SOAP-header-entryref element name (that is, the part after the colon character). For nodes created with the CREATE-NODE(&nbsp;) method, or nodes of any type other than ELEMENT or ATTRIBUTE, this attribute returns "&nbsp;". 	
LOCAL-PORT Attribute	Indicates the port number of the socket.	
LOCAL-VERSION-INFO Attribute	An object reference to a Progreses.Lang.OEVersionInfo class that provides version information for the current instance of the OpenEdge ABL Virtual Machine (AVM). If an ABL client accesses this attribute, it describes the OpenEdge version of the client. If an AppServer agent accesses this attribute, it describes the OpenEdge version of the AppServer agent, and so on.	
LOCATOR-COLUMN-NUMBER Attribute	The current column in the XML source.	myColNum = SELF:LOCATOR-COLUMN-NUMBER.	
LOCATOR-LINE-NUMBER Attribute	The current line in the XML source.	myLineNum = SELF:LOCATOR-LINE-NUMBER.	
LOCATOR-PUBLIC-ID Attribute	Returns the public identifier of the current XML source. 	myPublicID = SELF:LOCATOR-PUBLIC-ID.	
LOCATOR-SYSTEM-ID Attribute	Returns the system identifier of the current XML source. 	mySystemID = SELF:LOCATOR-SYSTEM-ID.	
LOCATOR-TYPE Attribute	The type of server on which the application files are stored. 	
LOCKED Attribute	Indicates whether another user has a lock on a record that a GET ... WAIT statement or method is trying to access.	
LOCKED Function	Returns a TRUE value if a record is not available to a prior FIND . . . NO-WAIT statement because another user has locked a record.	LOCKED record 	
LOCK-REGISTRATION Method	Prevents the registration of additional domains in the ABL session domain registry for the remainder of an ABL session. You must call this method to use the domains you have registered in the session domain registry using the REGISTER-DOMAIN(&nbsp;) method.	LOCK-REGISTRATION(&nbsp;)	
LOG Function	Calculates the logarithm of an expression using a specified base and returns that logarithm as a DECIMAL value.	LOG ( expression [ , base ] )	
LOG-AUDIT-EVENT Method	Creates an audit record for the specified application-defined audit event in each connected audit-enabled database whose current audit policy has this audit event enabled. 	LOG-AUDIT-EVENT ( event-id , event-context [ , event-detail <br>&nbsp;&nbsp;[ , audit-custom-detail ] ] )	
LOG-ENTRY-TYPES Attribute	A comma-separated list of one or more types of log entries to write to the log file. 	LOG-MANAGER:LOG-ENTRY-TYPES =<br>&nbsp;&nbsp;"log-entry-type[:level][,log-entry-type[:level]]..."	
LOGFILE-NAME Attribute	The name of log file OpenEdge uses to log messages and ABL stack trace information. 	
LOGGING-LEVEL Attribute	The level at which log entries are written to the log file.	
LOGICAL Function	Converts any data type into the LOGICAL data type.	LOGICAL ( expression [ , char-expression-format ] )	
LOGIN-EXPIRATION-TIMESTAMP Attribute	The time stamp specifying when the client-principal object will expire. If the client-principal object expires before you can seal or validate it, and you attempt to use it, the AVM sets the LOGIN-STATE attribute to "EXPIRED" and you can no longer validate or use the client-principal object.	
LOGIN-HOST Attribute	The name of the host system on which the user represented by the client-principal object was authenticated. If not specified, the AVM returns a zero-length character string.	
LOGIN-STATE Attribute	Returns a character value that represents the current state of the client-principal object.	
LOG-MANAGER Handle	A handle to logging settings for the DataServers in the current session. The DataServers use a separate log file which you can specify with the DataServer Logging (-dslog) startup parameter. The default filename is dataserv.lg. 	DSLOG-MANAGER [ :attribute | :method ]	
LOGOUT Method	Indicates that the user represented by the sealed client-principal object (in the LOGIN state) has logged out of their current user login session. This is a general purpose method an application can use to invalidate, or terminate access to, a sealed client-principal object. Once logged out, you can no longer use the client-principal object to set a user identity using either the SECURITY-POLICY:SET-CLIENT(&nbsp;) method or SET-DB-CLIENT function.	LOGOUT(&nbsp;)	
LOG-THRESHOLD Attribute	The file size threshold of log files. When the current log file becomes equal to or greater than the specified size, the AVM renames and saves the log file and creates a new log file. 	filename.999999.extension 	
LONGCHAR-TO-NODE-VALUE Method	Sets the value of an X-noderef node to the contents of a LONGCHAR.	LONGCHAR-TO-NODE-VALUE ( longchar )	
LOOKUP Function	Returns an INTEGER value giving the position of an expression in a list. Returns a 0 if the expression is not in the list.	LOOKUP ( expression , list [ , character ] )	
LOOKUP Method	Returns the index of the specified item in a combo-box list or selection list. 	LOOKUP ( list-string )	
LT Operator	Returns a TRUE value if the first of two expressions is less than the second.	expression { LT | &lt; } expression 	
MakeAvailable Method	Sets the status of a task to available.	MakeAvailable( )	
MANDATORY Attribute	Indicates whether a buffer-field is a required field.	
MANUAL-HIGHLIGHT Attribute	Indicates whether a widget exhibits custom or standard highlight behavior when selected.	
MARK-NEW Method	For a table with only new data, creates a blank before-table record for each buffer record, with a ROW-STATE of ROW-CREATED.	
MARK-ROW-STATE Method	Forces the creation of before-table records and assigns ROW-STATE.	MARK-ROW-STATE ( row-state [ , before-image-source-buffer-handle ] )	
MATCHES Operator	Compares a character expression to a pattern and evaluates to a TRUE value if the expression satisfies the pattern criteria. 	expression MATCHES pattern 	
MAX-BUTTON Attribute	Determines whether the window has a maximize button in its caption bar.	
MAX-CHARS Attribute	The maximum number of characters an editor or combo-box widget can hold. 	
MaxDataGuess Property	An estimate of the number of records that a query will return. The property&#8217;s default value is zero.	DEFINE VARIABLE rBindS AS Progress.Data.BindingSource NO-UNDO.<br>DEFINE VARIABLE hQuery AS HANDLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NO-UNDO.<br>&nbsp;<br>ASSIGN<br>&nbsp;&nbsp;rBindS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = NEW Progress.Data.BindingSource()<br>&nbsp;&nbsp;rBindS:MaxDataGuess = 200000.<br>&nbsp;<br>CREATE QUERY hQuery.<br>hQuery:SET-BUFFERS(BUFFER Customer:HANDLE).<br>hQuery:QUERY-PREPARE("FOR EACH Customer NO-LOCK").<br>hQuery:QUERY-OPEN().<br>&nbsp;<br>rBindS:Handle = hQuery.	
MAX-DATA-GUESS Attribute	The estimated number of records in a browse query.	
MAX-HEIGHT-CHARS Attribute	The maximum height of the window, in character units.	
MAX-HEIGHT-PIXELS Attribute	The maximum height of the window, in pixels.	
MAXIMUM Function	Compares two or more values and returns the largest value.	MAXIMUM ( expression , expression [ , expression ] ... )	
MAXIMUM-LEVEL Attribute	Forces a recursive data-relation to stop at a specific number of iterations of a child buffer. This attribute causes a recursive ProDataSet FILL to stop when the number of iterations of the child buffer reaches the MAXIMUM-LEVEL.	
MaxTries Property	An authentication status code that indicates failure because the limit on the number of login retries was exceeded.	
MAX-VALUE Attribute	The maximum value for a slider.	
MAX-WIDTH-CHARS Attribute	The maximum width of a window, in character units.	
MAX-WIDTH-PIXELS Attribute	The maximum width of a window, in pixels.	
MD5-DIGEST Function	Hashes the specified data using the RSA Message Digest Hash Algorithm (MD5), and returns a 16-byte binary message digest value as a RAW value.	MD5-DIGEST( data-to-hash [ , hash-key ] )	
MD5-VALUE Attribute	Returns the MD5 value stored in an r-code file.	
MEMBER Function	Parses a reference to a member of an ABL r-code library and returns the simple member name. 	MEMBER ( string ) 	
MEMPTR-TO-NODE-VALUE Method	Sets the value of an X-noderef node to the contents of a MEMPTR. 	MEMPTR-TO-NODE-VALUE ( memptr )	
MENU Widget	A menu can be a menu bar or a pop&#8209;up menu. Menu bars contain sub&#8209;menus (specifically, pull&#8209;down menus) and in some environments menu items. Pop&#8209;up menus contain menu items and sub&#8209;menus. You can define a static menu with the DEFINE MENU statement. You can create a dynamic menu with the CREATE widget statement.			
MENU-BAR Attribute	The handle of a menu bar widget associated with a window. 	
MENU-DROP Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MENU-ITEM Widget	A menu item is an item within a menu or submenu. A menu item can be a rule, a space, or a normal menu item. A normal menu item can be a command or a toggle&#8209;box item. Most menu item attributes and all menu item events apply only to normal menu items. You can set up a static menu item within a DEFINE MENU statement or DEFINE SUB-MENU statement. You can create a dynamic menu item with the CREATE widget statement.			
MENU-KEY Attribute	The accelerator key sequence that activates the pop-up menu for a widget. 	
MENU-MOUSE Attribute	The mouse button on a three-button mouse that activates the pop-up menu for a widget.	
MERGE-BY-FIELD Attribute	Specifies whether the AVM merges changes on a field-by-field basis when saving changes from a ProDataSet temp-table buffer to the associated data source using the SAVE-ROW-CHANGES(&nbsp;) method. The default value is TRUE.	
MERGE-CHANGES Method	Merges the changed rows of all temp-tables or a single temp-table in a source ProDataSet object loaded with the GET-CHANGES(&nbsp;) method into the corresponding rows of all temp-tables or a single temp-table (respectively) in the original (target) ProDataSet object.	change-handle:MERGE-CHANGES ( original-handle [ , copy-all-mode ] )	
MERGE-ROW-CHANGES Method	Merges a single changed row from a source ProDataSet object loaded with the GET-CHANGES(&nbsp;) method into the corresponding row in the original (target) ProDataSet temp-table buffer. 	change-handle:MERGE-ROW-CHANGES ( [ original-handle [ , copy-all-mode ] ] )	
MESSAGE Statement	Displays messages in the message area at the bottom of the window or in an alert box (or in an output stream&#8212;see the Notes section). By default, an area at the bottom line of the window is reserved for ABL system messages. An area above that is reserved for messages you display with the MESSAGE statement.	MESSAGE<br>  [ COLOR color-phrase ]<br>  { expression | SKIP [ ( n ) ] } ... <br>  [ VIEW-AS ALERT-BOX<br>      [ alert-type ]<br>      [ BUTTONS button-set ] <br>      [ TITLE title-string ]<br>  ]<br>  [ { SET | UPDATE } field <br>        { AS datatype | LIKE field } <br>        [ FORMAT string ]<br>        [ AUTO-RETURN ]<br>  ]<br>  [ IN WINDOW window ]	
MESSAGE-AREA Attribute	Controls the appearance of the message area in the window.	
MESSAGE-AREA-FONT Attribute	The font number of the font used in the message area of a window.	
MESSAGE-DIGEST Function	Hashes any of several types of source data using the specified hashing algorithm, and returns a RAW message digest value whose size and security depends on the algorithm.	MESSAGE-DIGEST( hash-algorithm, data-to-hash [ , hash-key ] )	
MESSAGE-LINES Function	Returns, as an INTEGER value, the number of lines in the message area at the bottom of the window.	MESSAGE-LINES	DEFINE VARIABLE ix AS INTEGER NO-UNDO.<br>&nbsp;<br>DO ix = 1 TO MESSAGE-LINES:<br>&nbsp;&nbsp;MESSAGE "This is message line" ix.<br>END.	
METHOD Statement	Defines a method of a class, declares a method prototype in an ABL interface, or overrides a method inherited from an ABL or .NET super class. A method is a class member that, when invoked by name, can execute code and return a value similar to a user-defined function. The description that follows begins with the general syntax for defining a method.	METHOD [ PRIVATE | PROTECTED | PUBLIC ] [ STATIC | ABSTRACT ] <br>&nbsp;&nbsp;[ OVERRIDE ] [ FINAL ] <br>&nbsp;&nbsp;{ VOID | return-type } method-name <br>&nbsp;&nbsp;( [ parameter [ , parameter ] ... ] ) :<br>&nbsp;<br>&nbsp;&nbsp;method-body 	METHOD [ PUBLIC ] <br>&nbsp;&nbsp;{ VOID | return-type } method-name <br>&nbsp;&nbsp;( [ parameter [ , parameter ] ... ] ) .	METHOD [ PROTECTED | PUBLIC ] [ OVERRIDE ] ABSTRACT<br>&nbsp;&nbsp;{ VOID | return-type } method-name <br>&nbsp;&nbsp;( [ parameter [ , parameter ] ... ] ) .	
MIDDLE-MOUSE-CLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MIDDLE-MOUSE-DBLCLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MIDDLE-MOUSE-DOWN Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MIDDLE-MOUSE-UP Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MIN-BUTTON Attribute	Determines whether the window has a minimize button in its caption bar.	
MIN-COLUMN-WIDTH-CHARS Attribute	Sets the minimum width of a browse column in character units. If the browse has not been realized, all browse columns are minimally this size when realized. If the browse has been realized, any browse column smaller than the specified minimum is increased to the minimum width.	
MIN-COLUMN-WIDTH-PIXELS Attribute	Sets the minimum width of a browse column in pixels. If the browse has not been realized, all browse columns are minimally this size when realized. If the browse has been realized, any browse column smaller than the specified minimum is increased to the minimum width.	
MIN-HEIGHT-CHARS Attribute	The minimum height of a window, in character units.	
MIN-HEIGHT-PIXELS Attribute	The minimum height of a window, in pixels.	
MINIMUM Function	Compares two or more values and returns the smallest.	MINIMUM ( expression , expression [ , expression ] ... )	
MIN-SCHEMA-MARSHAL Attribute	Set to TRUE to minimize schema information when marshaling data for a temp-table parameter. The temp-table may be an independent temp-table or a member of a ProDataSet object.	
MIN-VALUE Attribute	The minimum value of a slider.	
MIN-WIDTH-CHARS Attribute	The minimum width of a window, in character units.	
MIN-WIDTH-PIXELS Attribute	The minimum width of a window, in pixels.	
MissingCredentials Property	An authentication status code that indicates failure because one or more of the required user credentials is missing from the CLIENT-PRINCIPAL.	
MODIFIED Attribute	Indicates whether the value of the SCREEN-VALUE attribute for the widget has changed.	
MODULO Operator	Determines the remainder after division.	expression MODULO base 	
MONTH Function	Evaluates a date expression and returns a month INTEGER value from 1 to 12, inclusive.	MONTH ( date )	MONTH ( datetime-expression )	
MOUSE-EXTEND-CLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-EXTEND-DBLCLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-EXTEND-DOWN Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-EXTEND-UP Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-MENU-CLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-MENU-DBLCLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-MENU-DOWN Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-MENU-UP Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-MOVE-CLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-MOVE-DBLCLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-MOVE-DOWN Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-MOVE-UP Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-POINTER Attribute	Returns the name of the mouse pointer loaded by LOAD-MOUSE-POINTER(&nbsp;).	
MOUSE-SELECT-CLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-SELECT-DBLCLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-SELECT-DOWN Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOUSE-SELECT-UP Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
MOVABLE Attribute	Indicates whether the widget can receive direct manipulation events.	
MOVE-AFTER-TAB-ITEM Method	Assigns the method widget to the tab position after a specified widget. Both the method widget and the specified widget must be in the same field group.	MOVE-AFTER[-TAB-ITEM] ( handle )	
MOVE-BEFORE-TAB-ITEM Method	Assigns the method widget to the tab position before a specified widget. Both the method widget and the specified widget must be in the same field group. 	MOVE-BEFORE[-TAB-ITEM] ( handle )	
MOVE-COLUMN Method	Repositions a column in a browse widget.	MOVE-COLUMN ( source , destination )	
MOVE-TO-BOTTOM Method	Moves the widget to the bottom (or back) of other widgets of the same class on the display. 	MOVE-TO-BOTTOM (&nbsp;)	
MOVE-TO-EOF Method	Moves the cursor position in an editor to the end of the current text. 	MOVE-TO-EOF (&nbsp;)	
MOVE-TO-TOP Method	Moves the widget to the top (or front) of other widgets of the same class on the display. 	MOVE-TO-TOP (&nbsp;)	
MstrBlkId Property	The MstrBlkId property identifies the MstrBlk VST. This VST contains before-image and after-image logging information, and two-phase commit status. You can pass the MstrBlkId property to the GetVSTHandle() method to return the handle to the MstrBlk VST. This property is read-only.	
MTIME Function	Returns an INTEGER value representing the time in milliseconds. If the MTIME function has no arguments, it returns the current number of milliseconds since midnight (similar to TIME, which returns seconds since midnight).	MTIME ( [ datetime-expression ] )	
MULTI-COMPILE Attribute	Specifies whether ABL compiles all class definition files in the inherited class hierarchy or only those class definition files for which a cached version is not found. 	
MULTIPLE Attribute	Indicates the selection behavior of browse selection list widgets, and the read and write behavior of the system clipboard.	
MULTITASKING-INTERVAL Attribute	How often the AVM filters events between itself and other Windows applications.	
MUST-UNDERSTAND Attribute	Indicates whether a SOAP-header-entryref object is mandatory (TRUE) or optional (FALSE) for the recipient to process.	
NAME Attribute	A string identifier for the specified object or widget.	
Name Property	The name of the control-frame and control-frame COM object.	
NAMESPACE-PREFIX Attribute	This attribute returns or sets the qualified part of a namespace-aware XML node name (that is, the prefix before the colon character). The prefix is used to identify elements that belong to the namespace associated with the prefix (as set by the NAMESPACE-URI attribute). For nodes created with the CREATE-NODE(&nbsp;) method, or nodes of any type other than ELEMENT or ATTRIBUTE, this attribute returns the Unknown value (?).	
NAMESPACE-URI Attribute	The namespace URI of a namespace-aware XML node name, a SOAP-header-entryref object, or a ProDataSet or Temp-Table element and its child elements. The namespace of an XML document is used to scope XML attributes and elements. For nodes created with the CREATE-NODE(&nbsp;) method, or nodes of any type other than ELEMENT or ATTRIBUTE, this attribute returns the Unknown value (?).	
NE Operator	Compares two expressions and returns a TRUE value if they are not equal.	expression { NE | &lt;&gt; } expression 	
NEEDS-APPSERVER-PROMPT Attribute	Indicates whether WebClient should prompt for AppServer connection parameters, if it does not find those values in the security cache, (TRUE) or not (FALSE).	
NEEDS-PROMPT Attribute	Indicates whether WebClient should prompt for an Internet server userid and password, if it does not find those values in the security cache, (TRUE) or not (FALSE).	
NESTED Attribute	Indicates whether child rows of a ProDataSet temp-table buffer are nested within their parent rows when writing the XML representation of a ProDataSet object that contains data-relations. This also causes the XML Schema definitions for the related temp-tables to be nested. 	
NEW Attribute	Indicates whether the record in the buffer is newly created. If the record is newly created, NEW is TRUE. If the record in the buffer was read from the database, NEW is FALSE.	
NEW Function	Creates an instance of a class (object) and returns an object reference to that instance. You can use this object reference to access the PUBLIC data members, properties, and methods of the instance. For more information on object references, see the reference entry for a Class-based object reference.	NEW object-type-name ( [ parameter [ , parameter ] ... ] )	
New Method	Instantiates a class whose class type and any parameters are known only at run time. This method returns a Progress.Lang.Object, which provides an instance of a class. The New(&nbsp;) method provides similar functionality to the DYNAMIC-NEW function. The advantage to the latter is that it has a fixed, compile-time parameter list and does not require the creation of a Progress.Lang.ParameterList object at run time.	New ( )	New ( INPUT parameterlist-object AS Progress.Lang.ParameterList )	
NEW Statement	Creates an instance of a class (object) using the NEW function and assigns its object reference to an appropriately defined ABL data element. Once assigned, you can use the object reference to access this class instance and its PUBLIC data members, properties, and methods. For more information on object references, see the reference entry for a Class-based object reference:	object-reference = new-function [ NO-ERROR ]	
NewRow Property	Indicates whether the current row in the bound .NET control is a new row. 	
NEW-ROW Attribute	Indicates whether the focused browse row exists in the database.	
NEXT Statement	Goes directly to the END of an iterating block and starts the next iteration of the block.	NEXT [ label ]	
NEXT-COLUMN Attribute	The handle of the next sibling, in physical order, of the current browse column whether or not the column is visible. The browse MOVE-COLUMN method changes the physical order of columns and updates this attribute accordingly.	
NextForm Property	The next .NET Progress.Windows.IForm or ABL window FormProxy (Progress.Windows.FormProxy) object in the list of all valid OpenEdge form objects created in the current ABL session.	
NEXT-FRAME Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
NEXT-PROMPT Statement	Specifies the field in which you want to position the cursor during the next input operation that involves that field in a frame.	NEXT-PROMPT field [ frame-phrase ]	
NEXT-ROWID Attribute	Provides the ROWID of the data source row at which the next FILL operation should start. The AVM sets this attribute after each FILL operation in a series of FILL operations to retrieve data source rows in batches. You typically assign the value of this attribute to the RESTART-ROWID attribute before each FILL operation.	NEXT-ROWID ( buffer-sequence-number | buffer-name )	
NEXT-SIBLING Attribute	The next entry in a list of handles, relative to a given handle.	
NEXT-SIBLING Property	The object reference for the next ABL or .NET class instance in the list of instances created in the current ABL session. The value of this property is available after obtaining a valid object reference (for example, by using the SESSION:FIRST-OBJECT attribute to obtain the object reference for the first class instance in the list). If there are no class object instances in the current session, or you have gone past the last class instance in the list, this attribute returns the Unknown value (?).	
NEXT-TAB-ITEM Attribute	The handle of the next widget in the tab order of a field group relative to the specified widget.	
NEXT-VALUE Function	Returns the next INT64 value of a static sequence, incremented by the positive or negative value defined in the Data Dictionary.	NEXT-VALUE ( sequence [ , logical-dbname ] [ , tenant-id ] )	
NO-CURRENT-VALUE Attribute	The default behavior for a slider is to display the current value for a given position on a slider control. The NO-CURRENT-VALUE attribute allows you to override this default behavior.	
NODE-VALUE Attribute	Returns (or sets) the value of the XML node.	IF hNoderef:NODE-VALUE = "500" THEN <br>&nbsp;&nbsp;hNoderef:NODE-VALUE = "1000".	
NODE-VALUE-TO-LONGCHAR Method	Copies the contents of an XML X-noderef node to a LONGCHAR, and optionally converts the contents to a specific code page. 	NODE-VALUE-TO-LONGCHAR ( longchar [ codepage ] )	
NODE-VALUE-TO-MEMPTR Method	Copies the contents of an XML X-noderef node to a MEMPTR. This makes it easier to manipulate when its length exceeds the ABL limit for text strings, which is approximately 32K.	NODE-VALUE-TO-MEMPTR ( memptr )	
NO-EMPTY-SPACE Attribute	Allows the browse to display with no empty space to the right and no horizontal scroll bar.	DEFINE BROWSE b1 QUERY q1 <br>&nbsp;&nbsp;DISPLAY Customer.CustNum Customer.Name <br>&nbsp;&nbsp;ENABLE Customer.CustNum WITH 3 DOWN WIDTH 40 NO-EMPTY-SPACE	
NO-ERROR Option	Runs a non-ABL stored procedure or allows you to send SQL to an SQL-based data source using an OpenEdge DataServer.	RUN STORED-PROCEDURE procedure <br>  [ integer-field = PROC-HANDLE ]<br>  [ NO-ERROR ]<br>  [ ( parameter [ , parameter ] ... ) ]	
NO-FOCUS Attribute	Determines whether a button can accept focus. A button for which the NO-FOCUS attribute is TRUE will not take focus when the mouse is clicked on it and it will not accept keyboard input. Also, the AVM will not generate ENTRY or LEAVE events for the button. NO-FOCUS buttons behave similarly to standard Windows toolbar buttons.	
NoLOBs Property	Specifies whether or not the AVM ignores BLOB or CLOB fields while executing the ProBindingSource&#8217;s Assign(&nbsp;) method or the CURRENT-CHANGED function. The default value for this property is FALSE.	
NONAMESPACE-SCHEMA-LOCATION Attribute	Determines the location the XML Schema file to validate when elements do not contain a namespace.	
NORMALIZE Function	Returns the normalized form of a character string based on the specified Unicode normalization form. 	NORMALIZE ( string , normalization-form )	
NORMALIZE Method	Normalizes TEXT and ATTRIBUTE nodes in the full depth of the sub-tree under this XML node.	NORMALIZE (&nbsp;)	
NO-SCHEMA-MARSHAL Attribute	Set to TRUE to exclude schema information when marshaling data for a temp-table parameter. The temp-table may be an independent temp-table or a member of a ProDataSet object.	
NOT Function	Returns a TRUE value if a frame field was not modified during the last INSERT, PROMPT-FOR, SET, or UPDATE statement.	[ FRAME frame ] field NOT ENTERED	
NOT Operator	Returns TRUE if an expression is false, and FALSE if an expression is true.	NOT expression 	
NO-VALIDATE Attribute	Specifies that the AVM ignore the validation conditions in the schema for all fields in a dynamic browse.	
NOW Function	Returns the current system date, time, and time zone as a DATETIME-TZ value.	NOW	DEFINE VARIABLE v-datetime &nbsp;&nbsp;&nbsp;AS DATETIME &nbsp;&nbsp;&nbsp;NO-UNDO.<br>DEFINE VARIABLE v-datetime-tz AS DATETIME-TZ NO-UNDO.<br>&nbsp;<br>ASSIGN<br>&nbsp;&nbsp;v-datetime &nbsp;&nbsp;&nbsp;= NOW<br>&nbsp;&nbsp;v-datetime-tz = NOW.	
Null Property	Returned by the GetType method on a JsonObject or JsonArray indicating that the JSON data type  for the specified property or element is null.	
NUM-ALIASES Function	Returns an INTEGER value that represents the number of aliases defined. The NUM-ALIASES function uses no arguments. 	NUM-ALIASES	DEFINE VARIABLE ix AS INTEGER NO-UNDO.<br>&nbsp;<br>DISPLAY NUM-ALIASES LABEL "Number of Defined Aliases:".<br>REPEAT ix = 1 TO NUM-ALIASES:<br>&nbsp;&nbsp;DISPLAY ALIAS(ix) LABEL "Aliases" <br>&nbsp;&nbsp;&nbsp;&nbsp;LDBNAME(ALIAS(ix)) LABEL "Logical Database".<br>END.	
Number Property	Returned by the GetType method on a JsonObject or JsonArray indicating that the JSON data type  for the specified property or element is number.	
NUM-BUFFERS Attribute	The number of buffers in a query or ProDataSet object.	
NUM-BUTTONS Attribute	The number of items in a radio set.	
NUM-CHILD-RELATIONS Attribute	The number of relations for which the buffer is the parent. A buffer may be a parent in multiple relations, but a child in only one.	
NUM-CHILDREN Attribute	Returns the number of child nodes below the node referred to by a node reference. Attributes are not counted since they are not considered children of a node.	REPEAT jx = 1 TO hNoderef:NUM-CHILDREN:<br>&nbsp;&nbsp;hNoderef:GET-CHILD(hNoderefChild, jx).<br>&nbsp;&nbsp;. . .<br>END.	
NUM-COLUMNS Attribute	The number of columns in a browse. This number includes hidden as well as visible columns.	
NUM-DBS Function	Takes no arguments; returns the number of connected databases as an INTEGER value.	NUM-DBS	DEFINE VARIABLE ix AS INTEGER NO-UNDO.<br>&nbsp;<br>REPEAT ix = 1 TO NUM-DBS:<br>  DISPLAY LDBNAME(ix) DBRESTRICTIONS(ix) FORMAT "x(40)".<br>END.	
NUM-DROPPED-FILES Attribute	Indicates the number of files dropped in the last drag-and-drop operation performed on the widget.	
NUM-ENTRIES Attribute	The number of entries in a color table or font table.	
NUM-ENTRIES Function	Returns the number of elements in a list of character strings as an INTEGER value.	NUM-ENTRIES ( list [ , character ] )	
NUMERIC-DECIMAL-POINT Attribute	The character that represents, in formatted text, a number&#8217;s decimal point.	
NUMERIC-FORMAT Attribute	How to interpret commas and periods within numeric values. 	
NUMERIC-SEPARATOR Attribute	The character that represents, in formatted text, a number&#8217;s thousands separator.	
NUM-FIELDS Attribute	The number of fields defined in the buffer&#8217;s table.	
NUM-FORMATS Attribute	The number of formats available for reading the data currently stored in the clipboard. 	
NUM-HEADER-ENTRIES Attribute	The number of SOAP-header-entryref object entries attached to the SOAP-header object.	
NUM-ITEMS Attribute	The number of entries in a combo box, SAX-attributes object, or selection list.	
NUM-ITERATIONS Attribute	Indicates how many levels deep you are in a recursive FILL of a ProDataSet.	NUM-ITERATIONS ( level )	
NUM-LINES Attribute	The number of lines in an editor widget. 	
NUM-LOCKED-COLUMNS Attribute	The number of visible leading columns locked in a browse widget. If a locked column is hidden, the next visible non-locked column in the browse will then become locked.	
NUM-LOG-FILES Attribute	The number of rolled over log files to keep on disk at any one time, for ABL session, including the current log file.	
NumMessages Property	This property indicates how many error number and error message pairs are currently available in the error object.	
NUM-MESSAGES Attribute	The number of error messages currently available through the specified system handle.	
NumParameters Property	Identifies the number of parameters in a Progress.Lang.ParameterList object.	
NUM-PARAMETERS Attribute	The number of parameters expected.	NUM-PARAMETERS ( integer-expression )	
NUM-REFERENCES Attribute	The number of references to a buffer, ProDataSet, or temp-table object that is defined as a parameter to which reference-only objects are bound.	
NUM-RELATIONS Attribute	The number of data-relation objects in a ProDataSet object.	
NUM-REPLACED Attribute	Indicates the number of occurrences replaced by the last REPLACE(&nbsp;) method executed for the Editor.	
NUM-RESULTS Attribute	The number of rows currently in a query&#8217;s result list.	
NUM-RESULTS Function	Returns, as an INTEGER value, the number of rows currently in the results list of a scrolling query. The results list is initialized when the query is opened. Depending on the query, the entire list is built immediately upon opening or it is gradually as needed.	NUM-RESULTS ( query-name )	
NUM-SELECTED-ROWS Attribute	The number of rows currently selected in a browse widget. 	
NUM-SELECTED-WIDGETS Attribute	The number of top-level widgets in a frame or window that the user has selected for direct manipulation.	
NUM-SOURCE-BUFFERS Attribute	The number of source buffers in the data-source object.	
NUM-TABS Attribute	The number of widgets in the field group with tab positions.	
NUM-TOP-BUFFERS Attribute	The number of top-level buffers in a ProDataSet object.	
NUM-TO-RETAIN Attribute	The number of frame iterations to retain when a down frame scrolls to a new set of iterations. 	
NUM-VISIBLE-COLUMNS Attribute	Returns the number of visible columns in a browse.	
Object Property	Returned by the GetType method on a JsonObject or JsonArray indicating that the JSON data type  for the specified property or element is a JSON Object.	
OEClientType Property	Contains a string value that identifies the type of client/server. The property contains a comma separated list of different values. The value and the client type associated with it are listed in Table 139.	
OEMaintVersion Property	Contains the maintenance version number for OpenEdge. For the first release of OpenEdge 11.0, the value of this property is "0".	
OEMajorVersion Property	Contains the major version number of OpenEdge. For OpenEdge 11.0, the value of this property is "11". 	
OEMinorVersion Property	Contains the minor version number of OpenEdge. For OpenEdge Release 11.0, the value of this property is "0". 	
OffEnd Event	The .NET event published when record batching is enabled (that is, the BindingSource object&#8217;s Batching property is TRUE) and some user action in the bound .NET control reaches the last row of the current result set. Use this event to retrieve the next batch of records.	&nbsp;&nbsp;( <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT sender AS CLASS System.Object,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT args AS CLASS Progress.Data.OffEndEventArgs<br>&nbsp;&nbsp;).	
OFF-END Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
OFF-HOME Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
OFF-HOME  Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
Offset Property	Indicates the offset in bytes, in the JSON String at which the error occurs. 	
ON Statement	The ON statement specifies a trigger for one or more events or redefines terminal keys for an application.	ON event-list <br>&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp; ANYWHERE<br>&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;{ OF widget-list <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ OR event-list OF widget-list ] ...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ ANYWHERE ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp; trigger-block <br>&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;REVERT<br>&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;{ PERSISTENT RUN procedure <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ ( input-parameters ) ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}	ON event OF database-object <br>&nbsp;&nbsp;[ referencing-phrase ]<br>&nbsp;&nbsp;[ OVERRIDE ]<br>&nbsp;&nbsp;{ trigger-block | REVERT }	ON key-label key-function 	ON "WEB-NOTIFY" ANYWHERE  { trigger-block }	
ON-FRAME-BORDER Attribute	Indicates whether the last event was a mouse event that occurred on a frame border.	
OPSYS Function	Identifies the operating system being used, so that a single version of a procedure can work differently under different operating systems. Returns the value of that operating system. Valid values are &#8220;UNIX&#8221; and &#8220;WIN32".	OPSYS	IF OPSYS = "UNIX" THEN UNIX ls.<br>ELSE IF OPSYS = "WIN32" THEN DOS dir.<br>ELSE MESSAGE OPSYS "is an unsupported operating system".	
Or Method	Performs a bitwise inclusive OR operation on the underlying values of the specified enumeration types and returns a new instance. You typically use this method to set (turn on) a flag.	EnumHelper:Or ( INPUT enum1 AS CLASS System.Enum, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT enum2 AS CLASS System.Enum )	
OR Operator	Returns a TRUE value if either of two logical expressions is TRUE.	expression OR expression 	
ORDINAL Attribute	Specifies the number of the entry point (the nth routine) of the Windows Dynamic Link Library (DLL) to invoke.	
ORIGIN-HANDLE Attribute	Returns the handle of the temp-table in the original source ProDataSet object that corresponds to the temp-table currently associated with this temp-table handle. 	
ORIGIN-ROWID Attribute	Returns the ROWID of the row in the original before-image table that corresponds to the row in the change table currently associated with this buffer handle.	
OS-APPEND Statement	Executes an operating system file append command from within ABL.	OS-APPEND<br>  { source-filename | VALUE ( expression ) }<br>  { target-filename | VALUE ( expression ) }	
OS-COMMAND Statement	Escapes to the current operating system and executes an operating system command.	OS-COMMAND<br>  [ SILENT | NO-WAIT | NO-CONSOLE ] <br>  [ command-token | VALUE ( expression ) ] ...	
OS-COPY Statement	Executes an operating system file copy command from within ABL.	OS-COPY<br>  { source-filename | VALUE ( expression ) }<br>  { target-filename | VALUE ( expression ) }	
OS-CREATE-DIR Statement	Executes an operating system command from within ABL that creates one or more new directories.	OS-CREATE-DIR { dirname | VALUE ( expression ) } ...	
OS-DELETE Statement	Executes an operating system file or directory delete from within ABL. Can delete one or more files, a directory, or an entire directory branch.	OS-DELETE<br>  { filename | VALUE ( expression ) } ...<br>  [ RECURSIVE ]	
OS-DRIVES Function	Returns a comma-separated list of available drives. 	OS-DRIVES	DEFINE VARIABLE drives AS CHARACTER NO-UNDO LABEL "Select a Drive"<br>  VIEW-AS SELECTION-LIST INNER-CHARS 3 INNER-LINES 5.<br>&nbsp;<br>DEFINE FRAME f<br>  drives.<br>&nbsp;<br>drives:LIST-ITEMS = OS-DRIVES.<br>UPDATE drives WITH FRAME f.<br>MESSAGE &#8220;Files will be written to drive&#8221; INPUT drives:SCREEN-VALUE.	
OS-ERROR Function	Returns, as an INTEGER value, an ABL error code that indicates whether an execution error occurred during the last OS-APPEND, OS-COPY, OS-CREATE-DIR, OS-DELETE, OS-RENAME or SAVE CACHE statement.	OS-ERROR	DEFINE VARIABLE err-status AS INTEGER&nbsp;&nbsp;&nbsp;NO-UNDO.<br>DEFINE VARIABLE filename &nbsp;&nbsp;AS CHARACTER NO-UNDO FORMAT "x(40)"<br>&nbsp;&nbsp;LABEL "Enter a file to delete".<br>&nbsp;<br>UPDATE filename.<br>OS-DELETE VALUE(filename).<br>err-status = OS-ERROR.<br>&nbsp;<br>IF err-status &lt;&gt; 0 THEN<br>CASE err-status:<br>  WHEN 1 THEN<br>    MESSAGE "You are not the owner of this file or directory.".<br>  WHEN 2 THEN  <br>    MESSAGE "The file or directory you want to delete does not exist.". <br>  OTHERWISE<br>    DISPLAY "OS Error #" + STRING(OS-ERROR,"99") FORMAT "x(13)" <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WITH FRAME b.<br>END CASE.	
OS-GETENV Function	Returns a string that contains the value of the desired environment variable in the environment in which the ABL session is running.	OS-GETENV ( environment-variable )	
OS-RENAME Statement	Executes an operating system file rename or directory rename command from within ABL.	OS-RENAME<br>  { source-filename | VALUE ( expression ) }<br>  { target-filename | VALUE ( expression ) }	
OUTPUT Option	Runs a non-ABL stored procedure or allows you to send SQL to an SQL-based data source using an OpenEdge DataServer.	RUN STORED-PROCEDURE procedure <br>  [ integer-field = PROC-HANDLE ]<br>  [ NO-ERROR ]<br>  [ ( parameter [ , parameter ] ... ) ]	
OVERLAY Attribute	Indicates whether the frame can overlay other frames on the display.	
OVERLAY Statement	Inserts content from a specified expression into a field or variable replacing existing characters, bytes, or columns.	OVERLAY ( target , position [ , length [ , type ] ] ) = expression 	
OWNER Attribute	The handle of the widget that owns a menu widget.	
OWNER-DOCUMENT Attribute	Returns the handle of the owning document of a node. 	DEFINE VARIABLE hDoc &nbsp;AS HANDLE NO-UNDO.<br>DEFINE VARIABLE hDoc2 AS HANDLE&nbsp;NO-UNDO.<br>&nbsp;<br>hDoc:LOAD("file", "my.xml", TRUE).<br>hDoc:GET-DOCUMENT-ELEMENT(hNoderef).<br>hDoc2 = hNoderef:OWNER-DOCUMENT.<br>&nbsp;<br>/* At this point, hDoc2 and hDoc should be the same. */	
Package Property	The package portion of the specified class or interface type name. If the class or interface type name does not contain a package, the value of this property is the Unknown value (?).	
PAGE Statement	Starts a new output page for PAGED output. No action is taken if output is already positioned at the beginning of a page. 	PAGE [ STREAM stream | STREAM-HANDLE handle ]	
PAGE-BOTTOM Attribute	Indicates whether a frame is a footer frame in paged output.	
PAGE-NUMBER Function	Returns the page number of the output destination as an INTEGER value. If the output stream is not paged, PAGE-NUMBER returns a value of 0.	PAGE-NUMBER [ ( stream | STREAM-HANDLE handle ) ]	
PAGE-SIZE Function	Returns the page size (lines per page) of an output destination as an INTEGER value. If the output stream is not paged, PAGE-SIZE returns a value of 0.	PAGE-SIZE [ ( stream | STREAM-HANDLE handle ) ]	
PAGE-TOP Attribute	Indicates whether a frame is a header frame in paged output.	
PARAM Option	Runs a non-ABL stored procedure or allows you to send SQL to an SQL-based data source using an OpenEdge DataServer.	RUN STORED-PROCEDURE procedure <br>  [ integer-field = PROC-HANDLE ]<br>  [ NO-ERROR ]<br>  [ ( parameter [ , parameter ] ... ) ]	
PARAMETER Attribute	The value of the Parameter (-param) startup parameter specified for the current session.	
PARENT Attribute	The handle of the parent of a widget.	
PARENT-BUFFER Attribute	Returns the buffer handle of the parent member of the data-relation object.	
PARENT-FIELDS-AFTER Attribute	Returns a comma-separated list of fields from the parent record in the relation to be written to XML or JSON after all nested child records. The attribute returns the Unknown value (?) if it is not specified for the data-relation object. 	
PARENT-FIELDS-BEFORE Attribute	Returns a comma-separated list of fields from the parent record in the relation to be written to XML or JSON before any nested child records. The attribute returns the Unknown value (?) if the data-relation object is not specified. 	
PARENT-ID-RELATION Attribute	Returns a TRUE or FALSE value that indicates whether the relationship between parent and child records is based on the RECID of the parent record. If PARENT-ID-RELATION is TRUE, the value of RELATION-FIELDS attribute will be the name of the child buffer&#8217;s RECID field. 	
PARENT-RELATION Attribute	Returns a comma-separated list of fields from the parent record in the relation to be written to XML or JSON after all nested child records. The attribute returns the Unknown value (?) if it is not specified for the data-relation object. 	
PARENT-WINDOW-CLOSE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
PARENT-WINDOW-CLOSE  Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
Parse Method	Parses the JSON found from the specified source and returns a JsonConstruct object when the parse is complete. The returned value is either a JsonObject or a JsonArray. If the JSON syntax is incorrect, a JsonParserError is raised. 	Parse( INPUT web-context-stream AS HANDLE )<br>&nbsp;<br>Parse( INPUT source AS LONGCHAR )<br>&nbsp;<br>Parse( INPUT source AS MEMPTR )<br>&nbsp;<br>Parse( INPUT source AS CHARACTER )<br>&nbsp;	
ParseFile Method	Parses the JSON found from the specified file and returns a JsonConstruct object when the parse is complete. The returned value is either a JsonObject or a JsonArray. If the JSON syntax is incorrect, a JsonParserError is raised. 	ParseFile( INPUT file-name AS CHARACTER )	
PARSE-STATUS Attribute	The current status of a SAX parse.	
PasswordExpired Property	An authentication status code that indicates authentication failed because the user account password has expired.	
PASSWORD-FIELD Attribute	Displays password data in a field as a series of fill characters.	
PATHNAME Attribute	The absolute or relative pathname of the file specified by the FILE-NAME attribute of the FILE-INFO Handle. 	
PAUSE Statement	Suspends processing indefinitely, or for a specified number of seconds, or until the user presses any key. 	PAUSE<br>  [ n ]<br>  [ BEFORE-HIDE ]<br>  [ MESSAGE message | NO-MESSAGE ] <br>  [ IN WINDOW window ]	
PBE-HASH-ALGORITHM Attribute	A text string containing the name of the hash algorithm to use with the GENERATE-PBE-KEY function to generate a password-based encryption key. 	
PBE-KEY-ROUNDS Attribute	The number of hash algorithm iterations to perform in the GENERATE-PBE-KEY function to generate a password-based encryption key. The value must be a positive integer. The default value is 1000.	
PDBNAME Function	Returns the physical name of a currently connected database. 	PDBNAME ( integer-expression | logical-name | alias )	
Performer Property	The name of the performer who executes the task specified by the associated Progress.BPM.Task object. Depending on the task, a performer can be a human user (a single user, group of users, or a queue), an adapter, such as the OpenEdge Managed Adapter, or other external performer, or a script.	
PermissionDenied Property	An authentication status code that indicates failure because user does not have the necessary privileges to access the user account information required to complete an authentication or SSO operation.	
PERSISTENT Attribute	Indicates whether the procedure is persistent.	
PERSISTENT-CACHE-DISABLED Attribute	Indicates whether WebClient disables the saving of security cache attribute values between sessions (TRUE) or not (FALSE). 	
PERSISTENT-PROCEDURE Attribute	For the AppServer, this attribute returns the proxy remote persistent procedure handle of the remote procedure that contains the internal procedure executed for the specified asynchronous request. For Web services, this attribute returns the Web service procedure object handle.	
PFCOLOR Attribute	The color number of the color of a widget that has input focus. The edge color of a rectangle widget.	
PIXELS-PER-COLUMN Attribute	The number of pixels in each column of the display. 	
PIXELS-PER-ROW Attribute	The number of pixels in each row of the display. 	
POPUP-MENU Attribute	The pop-up menu associated with a widget. 	
POPUP-ONLY Attribute	Indicates whether a menu is pop-up or a menu bar.	
POSITION Attribute	The position of a buffer-field within the database record.	
Position Property	The zero-based position (index) of the current row in the bound .NET control.	
PositionChanged Event	The .NET event published when the value of the Position property (which specifies the position of the current row in the bound .NET control) changes, based either on some user action in the .NET control or a programmatic action. For example:	&nbsp;&nbsp;( <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT sender AS CLASS System.Object,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT args AS CLASS System.EventArgs<br>&nbsp;&nbsp;).	
PREFER-DATASET Attribute	Specifies whether the AVM ignores modifications to the data currently in the data source when saving changes from a ProDataSet temp-table buffer to the associated data source using the SAVE-ROW-CHANGES(&nbsp;) method. The default value is FALSE.	
PREPARED Attribute	This attribute returns TRUE if the TEMP-TABLE-PREPARE(&nbsp;) method has been called with no subsequent CLEAR(&nbsp;) method. That is, it is true when the temp-table is in the PREPARED state.	
PREPARE-STRING Attribute	The character string passed to the most recent QUERY-PREPARE. If QUERY-PREPARE was not called, or the query was just opened with the OPEN QUERY statement, PREPARE-STRING has the Unknown value (?).	
PREV-COLUMN Attribute	The handle of the previous sibling, in physical order, of the current browse column whether or not the column is visible. The browse MOVE-COLUMN method changes the physical order of columns and updates this attribute accordingly.	
PrevForm Property	The previous .NET Progress.Windows.IForm or ABL window FormProxy (Progress.Windows.FormProxy) object in the list of all valid OpenEdge form objects created in the current ABL session.	
PREV-FRAME Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
PREV-SIBLING Attribute	The previous entry in the list of handles, relative to a given handle.	
PREV-SIBLING Property	The object reference for the previous ABL or .NET class instance in the list of instances created in the current ABL session. The value of this property is available after obtaining a valid object reference (for example, by using the SESSION:LAST-OBJECT attribute to obtain the object reference for the last class instance in the list). If there are no class object instances in the current session, or you have gone past the first class instance in the list, this attribute returns the Unknown value (?).	
PREV-TAB-ITEM Attribute	The handle of the previous widget in the tab order of a field group relative to the specified widget.	
PRIMARY Attribute	This attribute sets or returns the name of the temp-table&#8217;s primary index. PRIMARY can only be updated before the TEMP-TABLE-PREPARE(&nbsp;) method has been called. It returns the Unknown value (?) if the temp-table is not in a PREPARED state.	
PRIMARY-PASSPHRASE Attribute	Sets the secret passphrase (or password) required to authenticate the user identity asserted through attributes of an unsealed client-principal object (in the INITIAL state). This is the same value that you specify for the Password (-P) connection parameter when you connect to an OpenEdge database with the same user identity.	
PRINTER-CONTROL- Attribute	The default context for print jobs.	
PRINTER-CONTROL-HANDLE Attribute	The default context for print jobs.	
PRINTER-HDC Attribute	A handle to the current Windows device context for a print job.	
PRINTER-NAME Attribute	The name of the currently selected printer in Windows platforms, and the Unknown value (?) on other platforms.	
PRINTER-PORT Attribute	The currently selected printer port in Windows platforms, and the Unknown value (?) on other platforms.	
Priority Property	The priority of the task specified by the associated Progress.BPM.Task object.	
PRIVATE-DATA Attribute	An arbitrary string associated with the handle of an object or widget.	
PROCEDURE Statement	Defines an internal procedure as an ABL procedure or declares an internal procedure prototype for an external routine in a Windows dynamic link library (DLL) or UNIX shared library, or for an internal ABL procedure defined in an external procedure that is itself a super procedure of the declaration procedure. The following syntax boxes describe the syntax for each use of the statement, beginning with an internal procedure definition.	PROCEDURE proc-name [ PRIVATE ] :<br>&nbsp;<br>&nbsp;&nbsp;[ procedure-body ] 	PROCEDURE proc-name <br>&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;EXTERNAL "dllname" [ CDECL | PASCAL | STDCALL ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ ORDINAL n ] [ PERSISTENT ]<br>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;IN SUPER } :<br>&nbsp;<br>&nbsp;&nbsp;[ procedure-body ]	
PROCEDURE-COMPLETE Event	Events are run-time conditions that cause the ABL Virtual Machine (AVM) to respond by executing specified ABL code or by activating certain system behaviors. Events can occur directly as a result of ABL, user, or other external actions that affect the application. However events occur, the resulting executed code or activated behavior is referred to as event driven.	
ProcedureName Property	The filename or pathname of the remote procedure that an AppServer client invoked for the request executing in the current AppServer session. 	
PROCEDURE-NAME Attribute	A string specifying the name of the remote procedure executed to instantiate the specified asynchronous request handle.	
ProcessName Property	The name of the Process of which the Progress.BPM.Task object is part. This value will be the name used to create the process (by default, the process template name) followed by a '#' sign, followed by a process instance ID (for example, SomeProcess#37892).	
ProcessTemplateName Property	The name of the process template with which the Progress.BPM.DataSlotTemplate object is associated.	
PROC-HANDLE Function	Returns a value in the appropriate data type (usually INTEGER) that is a unique identifier for a stored procedure.	PROC-HANDLE	DEFINE VARIABLE iHandle AS INTEGER NO-UNDO.<br>&nbsp;<br>RUN STORED-PROCEDURE pcust iHandle = PROC-HANDLE (10, OUTPUT 0, OUTPUT 0).<br>FOR EACH proc-text-buffer WHERE PROC-HANDLE = iHandle:<br>  DISPLAY proc-text.<br>END.<br>CLOSE STORED-PROCEDURE pcust WHERE PROC-HANDLE = iHandle.	
PROC-STATUS Function	Returns the return status from a stored procedure. The return status is an INTEGER value that indicates whether a stored procedure failed and why.	PROC-STATUS	DEFINE VARIABLE iStat AS INTEGER NO-UNDO.<br>&nbsp;<br>RUN STORED-PROCEDURE pcust (10, OUTPUT 0, OUTPUT 0).<br>FOR EACH proc-text-buffer:<br>END.<br>CLOSE STORED-PROCEDURE pcust iStat = PROC-STATUS.<br>DISPLAY iStat.	
PROGRAM-NAME Function	Returns the name of the calling program.	PROGRAM-NAME( n )	
PROGRESS Function	Returns one of the following character values which identifies the ABL product that is running: Full, Query or Run-time. Can also return COMPILE if you use the Developer&#8217;s Toolkit, or COMPILE-ENCRYPT if you use the run-time Compiler.	PROGRESS	/* Depending on the version of PROGRESS you are running, the main menu reflects<br>&nbsp;&nbsp;&nbsp;available features for end-user */<br>&nbsp;<br>DEFINE VARIABLE menu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AS CHARACTER NO-UNDO EXTENT 3.<br>DEFINE VARIABLE exit-prompt AS CHARACTER NO-UNDO.<br>&nbsp;<br>IF PROGRESS EQ "FULL" THEN<br>  exit-prompt = " 3. Return to Full Editor ".<br>ELSE IF PROGRESS EQ "QUERY" THEN<br>  exit-prompt = " 3. Return to Query Editor".<br>ELSE IF PROGRESS EQ "RUN-TIME" THEN<br>  exit-prompt = "3. Exit Program".<br>&nbsp;<br>DO WHILE TRUE:<br>  DISPLAY<br>    "  1. Display Customer Data" @ menu[1] SKIP<br>    "  2. Display Order Data"    @ menu[2] SKIP<br>    exit-prompt                  @ menu[3]<br>    FORMAT "x(26)" SKIP<br>  WITH FRAME choices NO-LABELS.<br>&nbsp;<br>  CHOOSE FIELD menu AUTO-RETURN WITH FRAME choices<br>    TITLE "Demonstration menu" CENTERED ROW 10.<br>  HIDE FRAME choices.<br>&nbsp;<br>  IF FRAME-INDEX EQ 1 THEN MESSAGE<br>    "You picked option 1.".<br>  ELSE IF FRAME-INDEX EQ 2 THEN MESSAGE<br>    "You picked option 2.".<br>  ELSE IF FRAME-INDEX EQ 3 THEN RETURN.<br>END.	MESSAGE "You are currently running this PROGRESS product:" PROGRESS<br>  VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.	
PROGRESS-SOURCE Attribute	How an editor widget wraps lines of ABL source code that are longer than the widget&#8217;s display width.	
PROMPT-FOR Statement	Requests input and places that input in the screen buffer (frame).	PROMPT-FOR <br>  [ STREAM stream | STREAM-HANDLE handle ]<br>  [ UNLESS-HIDDEN ]<br>  {     { field <br>            [ format-phrase ]<br>            [ WHEN expression ]<br>        }<br>     |  { TEXT ( { field <br>                     [ format-phrase ]<br>                     [ WHEN expression ]<br>                 } ...<br>               )<br>        }<br>     |  { constant <br>            [ { AT | TO } n ] <br>            [ VIEW-AS TEXT ]<br>            [ FGCOLOR expression ]<br>            [ BGCOLOR expression ]<br>            [ FONT expression ]<br>        }<br>     |  SPACE [ ( n ) ]  |  SKIP [ ( n ) ]  |  ^ <br>  } ... <br>  [ GO-ON ( key-label ... ) ]<br>  [ IN WINDOW window ]<br>  [ frame-phrase ]<br>  [ editing-phrase ]	PROMPT-FOR<br>  [ STREAM stream | STREAM-HANDLE handle ]<br>  [ UNLESS-HIDDEN ]<br>  record [ EXCEPT field ... ] <br>  [ IN WINDOW window ]<br>  {  [ frame-phrase ] }	
PROMSGS Function	Returns the current value of the ABL PROMSGS variable.	PROMSGS	IF PROMSGS = "promsgs" THEN<br>&nbsp;&nbsp;MESSAGE "Using default promsgs file.".<br>ELSE <br>&nbsp;&nbsp;MESSAGE "Using" PROMSGS.	
PROMSGS Statement	Sets the ABL PROMSGS variable for the current ABL session. The PROMSGS variable holds the name of the current ABL message file. ABL supplies different versions of this file to support various languages.	PROMSGS = string-expression 	
PROPATH Function	Returns the current value of the PROPATH environment variable.	PROPATH	DEFINE VARIABLE ix AS INTEGER NO-UNDO.<br>&nbsp;<br>DISPLAY PROPATH.<br>&nbsp;<br>REPEAT ix = 1 TO NUM-ENTRIES(PROPATH):<br>  DISPLAY ENTRY(ix , PROPATH) FORMAT "x(30)".<br>END.	
PROPATH Statement	Sets the PROPATH environment variable for the current ABL session.	PROPATH = string-expression 	
PROVERSION Function	Returns the version of ABL, or release of OpenEdge, you are running.	PROVERSION	MM.EE.SS.HH[Beta] 	
ProWinHandle Property	The handle to one of the following ABL window widgets:	USING System.Windows.Forms.* FROM ASSEMBLY.<br>USING Progress.Windows.* FROM ASSEMBLY.<br>&nbsp;<br>DEFINE VARIABLE win1&nbsp; AS HANDLE NO-UNDO.<br>DEFINE VARIABLE form1 AS Progress.Windows.Form NO-UNDO.<br>&nbsp;<br>/* Create a form */<br>form1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = NEW Progress.Windows.Form().<br>form1:TEXT = "Form1".<br>form1:Show().<br>&nbsp;<br>/* Create a window */<br>CREATE WINDOW win1 ASSIGN<br>&nbsp;&nbsp;TITLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = "Win1"<br>&nbsp;&nbsp;HEIGHT-CHARS = 5<br>&nbsp;&nbsp;WIDTH-CHARS &nbsp;= 35<br>&nbsp;&nbsp;VISIBLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= TRUE<br>&nbsp;&nbsp;SENSITIVE&nbsp;&nbsp;&nbsp;&nbsp;= TRUE.<br>&nbsp;<br>/* Make the form the parent of the window */<br>win1:PARENT = form1:ProWinHandle.<br>&nbsp;<br>WAIT-FOR Application:RUN( form1 ).<br>&nbsp;<br>DELETE WIDGET win1.	
PROXY Attribute	Indicates whether a procedure handle is a proxy persistent procedure handle. 	
PROXY-PASSWORD Attribute	Authenticates an AppServer or Web service client to the HTTP-based proxy server.	
PROXY-USERID Attribute	Authenticates an AppServer or Web service client to the HTTP-based proxy server.	
PUBLIC-ID Attribute	This attribute returns the public ID of the external DTD from which an XML document was generated.	
Publish Method	Publishes an ABL class event defined in the current class definition. Publishing an event causes any event handlers subscribed to the event to execute.	[ THIS-OBJECT : | class-type-name : ] <br>&nbsp;&nbsp;event-name : Publish ( [ parameter [ , parameter ] ... ] ) [ NO-ERROR ]	
PUBLISH Statement	Causes an ABL named event to occur.	PUBLISH event-name <br>  [ FROM publisher-handle ]<br>  [ ( parameter [ , parameter ] ... ) ] 	
PUBLISHED-EVENTS Attribute	A comma-separated list of ABL named events published by a particular procedure. Returns the empty string for a Web service procedure. 	
PUT Statement	Sends the value of one or more expressions to an output destination other than the terminal. 	PUT<br>  [ STREAM stream | STREAM-HANDLE handle ]<br>  [ UNFORMATTED ]<br>  [     { expression <br>            [ FORMAT string ]<br>            [ { AT | TO } expression ]<br>        }<br>     |  SKIP [ ( expression ) ]  <br>     |  SPACE [ ( expression ) ] <br>  ] ...	PUT [ STREAM stream | STREAM-HANDLE handle ] CONTROL expression ...	
PUT-BITS Statement	Uses the bit representation of an integer to set a given number of bits at a given location within another integer.	PUT-BITS( destination , position , numbits ) = expression 	
PUT-BYTE Statement	Stores the unsigned 1-byte value of an integer expression at the specified memory location.	PUT-BYTE ( destination , position ) = expression 	
PUT-BYTES Statement	Copies a RAW or MEMPTR variable to the specified location in another RAW or MEMPTR variable.	PUT-BYTES ( destination , position ) = expression 	
PUT-DOUBLE Statement	Stores the 8-byte floating-point value of a DECIMAL expression at the specified memory location.	PUT-DOUBLE ( destination , position ) = expression 	
PUT-FLOAT Statement	Stores the 4-byte floating-point value of a DECIMAL expression at the specified memory location.	PUT-FLOAT ( destination , position ) = expression 	
PUT-INT64 Statement	Stores the signed 64-bit value of an INT64 or INTEGER expression at the specified memory location as an INT64 data type.	PUT-INT64 ( destination , position ) = expression 	
PUT-KEY-VALUE Statement	Adds, modifies, and deletes keys in the current environment.	PUT-KEY-VALUE <br>  {  { SECTION section-name <br>         KEY { key-name | DEFAULT }<br>         VALUE value <br>     }<br>     |  { COLOR | FONT } { number | ALL } <br>  }<br>  [ NO-ERROR ]	
PUT-LONG Statement	Stores the signed 32-bit value of an integer expression at the specified memory location.	PUT-LONG ( destination , position ) = expression 	
PUT-SHORT Statement	Stores the signed 16-bit value of an integer expression at the specified memory location.	PUT-SHORT ( destination , position ) = expression 	
PUT-STRING Statement	Stores the null-terminated value of a CHARACTER or LONGCHAR expression at the specified memory location. If numbytes is specified, PUT-STRING will copy the requested number of bytes from the variable, regardless of whether there are embedded nulls. In this case PUT-STRING will not put a terminating null into the MEMPTR unless the last byte copied happens to be a null.	PUT-STRING ( destination , position , [ numbytes ] ) = expression 	
PUT-UNSIGNED-LONG Statement	Writes an INTEGER or INT64 value as a 32-bit unsigned value to a MEMPTR or RAW value. This statement is analogous to the PUT-UNSIGNED-SHORT statement, except with a 32-bit value. 	PUT-UNSIGNED-LONG ( destination , position ) = expression 	
PUT-UNSIGNED-SHORT Statement	Stores the unsigned 16-bit value of an integer expression at the specified memory location.	PUT-UNSIGNED-SHORT ( destination , position ) = expression 	
QUALIFIED-USER-ID Attribute	Sets or reads the values of the USER-ID attribute (user name) and DOMAIN-NAME attribute separated by the '@' domain delimiter. This value represents a fully qualified user identity that you can use to establish identity in ABL sessions or database connections using the SECURITY-POLICY:SET-CLIENT(&nbsp;) method or the SET-DB-CLIENT function. This user ID is then used to authorize such actions as accessing resources (run-time permissions checking) and providing an auditing identity, among other things. For a multi-tenant database connection, the user&#8217;s identity also establishes the user&#8217;s database tenant organization.	
QUERY Attribute	The handle of the query connected to a browse widget, a buffer object, a data-relation object, or a data-source object.	
QUERY-CLOSE Method	Closes a query object.	QUERY-CLOSE (&nbsp;)	
QUERY-OFF-END Attribute	Sets or reads the values of the USER-ID attribute (user name) and DOMAIN-NAME attribute separated by the '@' domain delimiter. This value represents a fully qualified user identity that you can use to establish identity in ABL sessions or database connections using the SECURITY-POLICY:SET-CLIENT(&nbsp;) method or the SET-DB-CLIENT function. This user ID is then used to authorize such actions as accessing resources (run-time permissions checking) and providing an auditing identity, among other things. For a multi-tenant database connection, the user&#8217;s identity also establishes the user&#8217;s database tenant organization.	
QUERY-OFF-END Function	Returns a LOGICAL value indicating whether the specified query is positioned at the end of its result list (either before the first record or after the last record).	QUERY-OFF-END ( query-name )	
QUERY-OPEN Method	Opens a query object.	QUERY-OPEN (&nbsp;)	
QUERY-PREPARE Method	Compiles a predicate (query condition).	QUERY-PREPARE ( predicate-expression )	
QUIT Attribute	Indicates that a QUIT condition was returned from the AppServer as a result of processing the specified asynchronous request. Returns FALSE for an asynchronous request made on a Web service.	
QUIT Statement	Raises the QUIT condition. By default, this exits from the ABL session and returns to the operating system. When QUIT is executed from within a procedure running on an AppServer, it terminates the ABL session running on the AppServer, causing the AppServer server to shut down and returns to the ABL client session from which it was spawned.	QUIT	DEFINE SUB-MENU cusmaint1<br>&nbsp;&nbsp;MENU-ITEM crecust LABEL "Create New Customer"<br>&nbsp;&nbsp;MENU-ITEM chgcust LABEL "Chan&amp;ge Existing Customer"<br>&nbsp;&nbsp;MENU-ITEM delcust LABEL "Delete Customer"<br>&nbsp;&nbsp;MENU-ITEM prtcust LABEL "Print Customer List"<br>&nbsp;&nbsp;MENU-ITEM extcust LABEL "E&amp;xit ABL".<br>&nbsp;<br>DEFINE MENU mainbar MENUBAR<br>&nbsp;&nbsp;SUB-MENU cusmaint1 LABEL "Customer".<br>&nbsp;<br>ON CHOOSE OF MENU-ITEM crecust<br>&nbsp;&nbsp;RUN newcust.p.<br>&nbsp;<br>ON CHOOSE OF MENU-ITEM chgcust<br>&nbsp;&nbsp;RUN chgcust.p.<br>&nbsp;<br>ON CHOOSE OF MENU-ITEM delcust<br>&nbsp;&nbsp;RUN delcust.p.<br>&nbsp;<br>ON CHOOSE OF MENU-ITEM prtcust<br>&nbsp;&nbsp;RUN prncust.p.<br>&nbsp;<br>ON CHOOSE OF MENU-ITEM extcust<br>&nbsp;&nbsp;QUIT.<br>&nbsp;<br>ASSIGN<br>&nbsp;&nbsp;CURRENT-WINDOW:MENUBAR = MENU mainbar:HANDLE<br>&nbsp;&nbsp;CURRENT-WINDOW:VISIBLE = TRUE.<br>&nbsp;<br>WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW.	
QUOTER Function	Converts the specified data type to CHARACTER and encloses the results in quotes when necessary.	QUOTER ( expression [ , quote-char [ , null-string ] ] )	
RADIO-BUTTONS Attribute	The label and value associated with each radio button in a radio set. 	
RADIO-SET Widget	A radio set is a group of values of which only one can be set at any time. You can define a static radio set by using the VIEW-AS phrase with any LOGICAL, CHARACTER, INTEGER, INT64, DECIMAL, or DATE value. You can create a dynamic radio set with the CREATE widget statement. For example:				
RANDOM Function	Returns a random INTEGER value between two integers (inclusive). 	RANDOM ( low , high )	
RAW Function	Extracts bytes from a field.	RAW ( field [ , position [ , length ] ] )	
RAW Statement	Writes bytes to a field.	RAW ( field [ , position [ , length ] ] ) = expression 	
RAW-TRANSFER Method	Copies data to or from a buffer object with no interpretation. This method works like the RAW-TRANSFER statement.	RAW-TRANSFER ( to-mode , handle-expression )	
RAW-TRANSFER Statement	Copies a record wholesale from a source to a target.	RAW-TRANSFER<br>  {      [ BUFFER ]  buffer     TO  [ FIELD ]   raw-field <br>     |   [ FIELD ]   raw-field  TO  [ BUFFER ]  buffer <br>     |   [ BUFFER ]  buffer     TO  [ BUFFER ]  buffer <br>  }<br>  [ NO-ERROR ]	
RCODE-INFO Handle	A handle to a specific ABL r&#8209;code file.	RCODE-INFO [ :attribute ]	
Read Method	Reads data from the socket.	READ ( buffer , position , bytes-to-read , [ mode ] )	
READ-FILE Method	Clears an editor widget, reads the contents of a specified text file into the widget, and sets the widget&#8217;s MODIFIED attribute to FALSE. 	READ-FILE ( filename )	
READ-JSON Method	Reads a JSON string into a ProDataSet, a temp-table, or a temp-table buffer object.	READ-JSON ( source-type , <br>&nbsp;&nbsp;{ file | memptr | handle | longchar | JsonArray | JsonObject }<br>&nbsp;&nbsp;[ , read-mode ] )	
READKEY Statement	Reads one keystroke from an input source and sets the value of LASTKEY to the keycode of that keystroke. Use the READKEY statement when you want to look at each keystroke a user makes and take some action based on that keystroke.    	READKEY [ STREAM stream | STREAM-HANDLE handle ] [ PAUSE n ]	
ReadOnly Property	This property is TRUE if the value of the associated DataSlot can be read but not set; otherwise, the property is FALSE.	
READ-ONLY Attribute	Indicates whether an object is write-protected.	
READ-RESPONSE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
READ-XML Method	Reads an XML document into a ProDataSet, temp-table, or temp-table buffer object. You can read data, schema, or both. 	READ-XML ( source-type , { file | memptr | handle | longchar } , read-mode <br>&nbsp;&nbsp;, schema-location , override-default-mapping <br>&nbsp;&nbsp;[ , field-type-mapping [ , verify-schema-mode ] ] )	
READ-XMLSCHEMA Method	Reads XML Schema from an XML document and uses that schema to either create a schema for a ProDataSet or temp-table object, or verify existing schema in a ProDataSet, temp-table, or temp-table buffer object. 	READ-XMLSCHEMA ( source-type , { file | memptr | handle | longchar } <br>&nbsp;&nbsp;, override-default-mapping <br>&nbsp;&nbsp;[ , field-type-mapping [ , verify-schema-mode ] ] )	
Reassign Method	Instructs the SBM Server to reassign the task specified by an associated Progress.BPM.Task object to the specified user name.	Reassign ( INPUT name &nbsp;AS CHARACTER )	
RECALL Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
RECID Attribute	The unique internal identifier of the database record currently associated with the buffer.	
RECID Function	Returns the unique internal identifier of the database record currently associated with the record buffer you name. This internal identifier has the data type RECID, a four-byte value that is supported by OpenEdge databases and some non-OpenEdge DataServers.	RECID ( record )	
RECORD-LENGTH Attribute	The length, in bytes, of the record associated with a buffer.	
RECORD-LENGTH Function	Returns the length of a record in a buffer as an INTEGER value.	RECORD-LENGTH ( buffer )	
RECTANGLE Widget	A rectangle is a graphical widget that can be displayed in a frame foreground or background. You can define a static rectangle with the DEFINE RECTANGLE statement. You can create a dynamic rectangle with the CREATE widget statement. For example:				
RECURSIVE Attribute	Indicates if the data-relation is recursive.	
REFRESH Method	Forces the AVM to refresh the display of the current rows in a browse. 	REFRESH (&nbsp;)	
REFRESHABLE Attribute	Indicates whether the rows that appear in a browse are refreshed when an application opens or repositions a query.	
RefreshAll Method	Refreshes field values displayed for all rows (parent and child) in any bound .NET control with values from the corresponding records in the bound ABL data source object.	RefreshAll(&nbsp;)	
REFRESH-AUDIT-POLICY Method	Notifies the specified audit-enabled database that its audit policy tables have changed, which causes the database to refresh its current run-time audit policy settings cache before performing any more database operations. 	REFRESH-AUDIT-POLICY ( integer-expression | logical-name | alias )	
REGISTER-DOMAIN Method	Registers a security domain in the ABL session domain registry. The AVM uses this registry to authenticate or validate (through a single sign-on (SSO) operation) the session identity represented by a client-principal object, as well as the connection identity for any OpenEdge database configured to use the session (application) registry.	REGISTER-DOMAIN ( domain-name , access-code <br>&nbsp;&nbsp;[ , domain-description [ , domain-type ] ] )	
REJECT-CHANGES Method	Rejects changes to the data in one temp-table or all temp-tables in a ProDataSet object. 	REJECT-CHANGES(&nbsp;)	
REJECTED Attribute	Set this attribute to indicate whether a change to the data in a ProDataSet object, a temp-table buffer, or a temp-table row is rejected. 	
REJECTED Function	Returns the current REJECTED attribute setting for a ProDataSet temp-table buffer.	REJECTED( buffer-name )	
REJECT-ROW-CHANGES Method	Rejects changes to the data in one row of a ProDataSet temp-table.	REJECT-ROW-CHANGES(&nbsp;)	
RELATION-FIELDS Attribute	Returns a comma-separated list of parent-field, child-field pairs describing the relationship between parent and child buffers as specified in the data-relation object definition.	"parent-field1,child-field1[,parent-fieldn,child-fieldn]..."	
RELATIONS-ACTIVE Attribute	Indicates whether all data-relation objects in a ProDataSet object are active or inactive. Set to TRUE to activate all data-relation objects. Set to FALSE to deactivate all data-relation objects. All data-relation objects in a ProDataSet object are active by default. 	
RelationshipOperator Property	This property stores the value of the Relationship argument passed to the class's constructor.	
RELEASE Statement	Verifies that a record complies with mandatory field and unique index definitions. It clears the record from the buffer and unites it to the database if it has been changed.	RELEASE record [ NO-ERROR ]	
REMOTE Attribute	Indicates whether the specified procedure is running at the top level of an AppServer session as the result of a remote procedure call from a client application, or whether the current ABL session is an AppServer session. Returns FALSE for a Web service procedure.	
REMOTE-HOST Attribute	Indicates the IP (Internet Protocol) address of the machine with which the socket object is communicating.	
REMOTE-PORT Attribute	Indicates the port number of the socket.	
Remove Method	Removes one or more elements from the JsonArray. All the remaining elements are shifted up and JsonArray:Length is decremented by the number of elements removed. 	Remove( INPUT index AS INTEGER )<br>&nbsp;<br>&nbsp;<br>Remove( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT count AS INTEGER )	
REMOVE-ATTRIBUTE Method	Removes the specified attribute of an element. If the removed attribute has a default value (specified by the document&#8217;s DTD) it is set to its default value.	REMOVE-ATTRIBUTE ( { attribute-name | index } [ , namespaceURI ] ) 	
REMOVE-CHILD Method	Unlinks the node and its sub-tree from the XML document. The XML object is not deleted, only disconnected from the structure. 	REMOVE-CHILD ( x-node-handle )	
REMOVE-EVENTS-PROCEDURE Method	Removes an external procedure from the list that the AVM searches for event procedures to handle an ActiveX control event.	REMOVE-EVENTS-PROCEDURE ( procedure-handle )	
RemoveMessage Method	Removes the indexed error (both error message string and error message number) from the message list. The method decrements the NumMessages property by 1 and moves the messages after the indexed error forward in the list by 1. 	RemoveMessage ( INPUT MessageIndex AS INTEGER )	
REMOVE-SUPER-PROCEDURE Method	Dissociates a super procedure file from a procedure file or from the current ABL session. Returns FALSE for a Web service procedure.	REMOVE-SUPER-PROCEDURE ( super-proc-hdl  )	
REPEAT Statement	Begins a block of statements that are processed repeatedly until the block ends in one of several ways. Use an END statement to end a REPEAT block.	[ label : ] <br>REPEAT<br>&nbsp;&nbsp;[ FOR record [ , record ] ... ]<br>&nbsp;&nbsp;[ preselect-phrase ]<br>&nbsp;&nbsp;[ query-tuning-phrase ]<br>&nbsp;&nbsp;[ variable = expression1 TO expression2 [ BY k ] ]<br>&nbsp;&nbsp;[ WHILE expression ]<br>&nbsp;&nbsp;[ TRANSACTION ] <br>&nbsp;&nbsp;[ STOP-AFTER expression ]<br>&nbsp;&nbsp;[ on-endkey-phrase ]<br>&nbsp;&nbsp;[ on-error-phrase ]<br>&nbsp;&nbsp;[ on-quit-phrase ]<br>&nbsp;&nbsp;[ on-stop-phrase ]<br>&nbsp;&nbsp;[ frame-phrase ]<br>&nbsp;&nbsp;[ catch-block [ catch-block ... ] ]<br>&nbsp;&nbsp;[ finally-block ] :<br>&nbsp;<br>&nbsp;&nbsp;repeat-body 	
REPLACE Function	Returns a string with specified substring replacements.	REPLACE ( source-string , from-string , to-string )	
REPLACE Method	Replaces an item in a combo box, radio set, or selection list. Replaces an existing text string in an editor with a new text string.	REPLACE ( { new-item-list | new-label , new-value } <br>&nbsp;&nbsp;, { list-item | list-index } )	
REPLACE-CHILD Method	Replace an old XML node with a new node. The old XML node is not deleted, only disconnected from the structure. If the new XML node is already in the tree, it is first disconnected.	REPLACE-CHILD ( new-handle , old-handle )	
REPLACE-SELECTION-TEXT Method	Replaces the currently selected text in an editor widget with the new text.	REPLACE-SELECTION-TEXT ( new-text )	
REPOSITION Attribute	The reposition mode of a data-relation object. If TRUE, the relation mode is REPOSITION. If FALSE, the relation mode is SELECTION. The default value is FALSE. 	
REPOSITION Statement	Repositions the cursor associated with a specific query. The query must be associated with a browse widget or defined with the SCROLLING option. The next record to be retrieved is the record following the cursor position.	REPOSITION query <br>&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp; TO ROWID rowid1 [ , rowid2 ] ... <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ FOR TENANT tenant-expression ] [ NO-ERROR ] <br>&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;TO RECID recid [ NO-ERROR ] <br>&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;ROW n <br>&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;FORWARDS n <br>&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;BACKWARDS n <br>&nbsp;&nbsp;}	
REPOSITION-BACKWARD Method	Moves a query object&#8217;s result list pointer back a particular number of rows.	REPOSITION-BACKWARD ( n )	
REPOSITION-FORWARD Method	Moves a query object&#8217;s result list pointer forward a particular number of rows.	REPOSITION-FORWARD ( n )	
REPOSITION-TO-ROW Method	Moves a query object&#8217;s result list pointer to the row corresponding to the specified sequence number.	REPOSITION-TO-ROW ( n )	
REPOSITION-TO-ROWID Method	Moves a query object&#8217;s result list pointer to the row corresponding to the specified ROWID or ROWIDs.	REPOSITION-TO-ROWID (<br>&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rowid1 [ , rowid2 ] [ , tenant-expression ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;rowid-array <br>&nbsp;&nbsp;}<br>&nbsp;	
RequestId Property	Contains a unique value that identifies the client request currently running in an AppServer session. The client generates a value for the RequestId property and is passed on to the AppServer agent as a part of each request. The initial value for this property is a randomly generated character string containing a globally unique identifier.	
REQUEST-INFO Attribute	An object reference to a Progreses.Lang.OERequestInfo class that provides information about a client request sent from this ABL session to an AppServer. 	DEFINE VARIABLE hAppSrv AS HANDLE NO-UNDO.<br>DEFINE VARIABLE ccid AS CHARACTER NO-UNDO.<br>DEFINE VARIABLE rRqInfo AS Progress.Lang.OERequestInfo NO-UNDO. <br>&nbsp;<br>CREATE SERVER hAppSrv.<br>rRqInfo = CAST(hAppSrv:REQUEST-INFO, Progress.Lang.OERequestInfo).<br>ccid = rRqInfo:ClientContextId.	DEFINE VARIABLE ccid AS CHARACTER NO-UNDO.<br>&nbsp;<br>/* Assume that this procedure has been specified as the event procedure */<br>/* for an asynchronous remote procedure call */<br>&nbsp;<br>PROCEDURE AsyncRqIsDone:<br>&nbsp;&nbsp;DEFINE VARIABLE rRqInfo AS Progress.Lang.OERequestInfo NO-UNDO.<br>&nbsp;<br>&nbsp;&nbsp;rRqInfo = CAST(SELF:REQUEST-INFO, Progress.Lang.OERequestInfo).<br>&nbsp;&nbsp;ccid = rRqInfo:ClientContextId.<br>&nbsp;&nbsp;DELETE OBJECT SELF.<br>END.	
RESET Method	Closes the open stream and resets the SAX-writer object to its default values.	RESET(&nbsp;)	
RESIZABLE Attribute	Indicates if the user can resize a widget at run time.	
RESIZE Attribute	Indicates if the user can resize a window at run time.	
RESPONSE-INFO Attribute	An object reference to a Progreses.Lang.OERequestInfo class that provides information returned from an AppServer about its response to an AppServer client request. 	DEFINE VARIABLE hAppSrv AS HANDLE NO-UNDO.<br>DEFINE VARIABLE ccid AS CHARACTER NO-UNDO.<br>DEFINE VARIABLE rRspInfo AS Progress.Lang.OERequestInfo NO-UNDO. <br>&nbsp;<br>CREATE SERVER hAppSrv.<br>hAppSrv:CONNECT( ).<br>RUN remote.p ON SERVER hAppSrv.<br>&nbsp;<br>rRspInfo = CAST(hAppSrv:RESPONSE-INFO, Progress.Lang.OERequestInfo).<br>ccid = rRspInfo:ClientContextId.	DEFINE VARIABLE ccid AS CHARACTER NO-UNDO.<br>&nbsp;<br>/* Assume the following procedure has been specified as the&nbsp;&nbsp;*/<br>/* event procedure for an asynchronous remote procedure call */<br>&nbsp;<br>PROCEDURE AsynRqIsDone:<br>&nbsp;&nbsp;DEFINE VARIABLE rRspInfo AS Progress.Lang.OERequestInfo NO-UNDO.<br>&nbsp;<br>&nbsp;&nbsp;rRspInfo = CAST(SELF:RESPONSE-INFO, Progress.Lang.OERequestInfo).<br>&nbsp;&nbsp;ccid = rRspInfo:ClientContextId.<br>&nbsp;&nbsp;DELETE OBJECT SELF.<br>END.	
RESTART-ROW Attribute	Allows the FILL query to be repositioned to an absolute row number. Similar to RESTART-ROWID, this attribute facilitates batching during a FILL on a ProDataSet temp-table.	RESTART-ROW ( row )	
RESTART-ROWID Attribute	Specifies the ROWID of the data source row at which a FILL operation will start. Set this attribute before each FILL operation in a series of FILL operations to retrieve data source rows in batches. You typically set this attribute by assigning the value of the NEXT-ROWID attribute, which is set by the AVM after each FILL operation.	RESTART-ROWID ( buffer-sequence-number | buffer-name )	
RETAIN-SHAPE Attribute	Indicates that the image should retain its aspect ratio (expand or contract equally in both dimensions).	
RETRY Function	Returns a TRUE value if the current block is being reprocessed after a previous UNDO, RETRY.	RETRY	REPEAT:<br>&nbsp;&nbsp;PROMPT-FOR Customer.CustNum.<br>&nbsp;&nbsp;FIND Customer USING Customer.CustNum.<br>&nbsp;<br>&nbsp;&nbsp;IF NOT RETRY THEN <br>&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY Customer.Name Customer.Address Customer.City Customer.State<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Customer.Country.<br>&nbsp;&nbsp;ELSE <br>&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY Customer.Country.<br>    <br>&nbsp;&nbsp;SET Customer.Name Customer.Address Customer.City Customer.State<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.Country.<br>&nbsp;&nbsp;IF Customer.Country = "" THEN UNDO, RETRY.<br>END.	
RETURN Statement	Leaves the local or remote procedure or user-defined function block, trigger block, database trigger block, the method block of a class, the class constructor block, or the property accessor block, and returns to the calling procedure, user-defined function, method, constructor, or property accessor. If there is no caller, RETURN returns to the Procedure Editor or other ADE or Progress Developer Studio for OpenEdge tool that invoked the procedure, user-defined function, trigger block, database trigger, class-based method, constructor, or property accessor.	RETURN <br>&nbsp;&nbsp;&nbsp;&nbsp;[ return-value |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ERROR [ return-value | error-object-expression ] |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NO-APPLY ] 	
RETURN Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
RETURN-INSERTED Attribute	How an editor widget behaves when a RETURN event occurs.	
ReturnValue Property	Typically, the place you programatically set the value for a RETURN or RETURN ERROR statement in an error object. The ReturnValue property, when set by the AVM, contains the error string from a RETURN ERROR statement. 	
RETURN-VALUE Attribute	The default is the Unknown value (?).	
RETURN-VALUE Function	Provides a character string value returned by the most recently executed RETURN statement of a local or remote procedure, trigger block, user-defined function, method of a class, class constructor, or property accessor.	RETURN-VALUE	
RETURN-VALUE-DATA-TYPE Attribute	When you dynamically invoke a user-defined function, get an attribute, or run a method, RETURN-VALUE-DATA-TYPE lets you do one of the following to the return value:	RETURN-VALUE-DATA-TYPE [ = datatype ]	
RETURN-VALUE-DLL-TYPE Attribute	Specifies the expected data type returned from a Windows Dynamic Link Library (DLL) routine. 	
RGB-VALUE Function	Returns an INTEGER value that represents a combination of a red, green, and blue color value. This function allows you to define an arbitrary color, expanding beyond those colors defined in the color table. 	RGB-VALUE ( redval , greenval , blueval )	
RIGHT Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
RIGHT-MOUSE-CLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
RIGHT-MOUSE-DBLCLICK Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
RIGHT-MOUSE-DOWN Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
RIGHT-MOUSE-UP Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
RIGHT-TRIM Function	Removes trailing white space, or other specified characters, from a CHARACTER or LONGCHAR expression.	RIGHT-TRIM ( expression [ , trim-chars ] )	
R-INDEX Function	Returns an INTEGER value that indicates the position of the target string within the source string. In contrast to the INDEX function, R-INDEX performs the search from right to left.	R-INDEX ( source , target [ , starting ] )	
ROLES Attribute	Returns a comma-separated list of domain roles for the user identity associated with the client-principal object. This list cannot contain embedded spaces. If not specified, the AVM returns a zero-length character string.	
ROUND Function	Rounds a decimal expression to a specified number of places after the decimal point.	ROUND ( expression , precision )	
ROUNDED Attribute	Indicates whether the rectangle appears with rounded corners.	
ROW Attribute	The row position of the top edge of the widget relative to the top edge of the current iteration of a parent widget or the display. Specifies the row position of the mouse cursor for the last mouse event relative to the top edge of the display.	
ROW-CREATE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
ROW-DELETE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
ROW-DISPLAY Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
ROW-ENTRY Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
ROW-HEIGHT-CHARS Attribute	Sets the row height, in characters, of a browse. 	
ROW-HEIGHT-PIXELS Attribute	Sets the row height, in pixels, of a browse.	
ROWID Attribute	The unique internal identifier of the database record currently associated with the buffer.	
ROWID Function	Returns the unique internal identifier of the database record currently associated with the record buffer you name. This internal identifier has the data type ROWID, which is supported for OpenEdge and all other DataServer databases.	ROWID ( record )	
ROW-LEAVE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
ROW-MARKERS Attribute	Indicates whether a browse uses row markers.	
RowModified Property	Indicates whether the current row in the bound .NET control is currently being edited.	
ROW-RESIZABLE Attribute	Indicates whether you can change a browse&#8217;s row height.	
RowsAdded Property	Use this property in an OffEnd event handler to indicate the number of records added to the result set from the most recent batch operation.	
ROW-STATE Attribute	The current change state of the ProDataSet temp-table row associated with the buffer object handle.	
ROW-STATE Function	Returns an INTEGER value that represents the current change state of a static ProDataSet temp-table buffer.	ROW-STATE( buffer-name )	
ROW-UPDATE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
RUN Statement	Calls an ABL procedure. This procedure can be local to or remote from the current session, external from or internal to the current procedure, and either synchronous or asynchronous. When a local or remote procedure is called synchronously, the calling procedure resumes execution only after the called procedure completes execution. When a remote procedure is called asynchronously, the calling procedure resumes execution immediately after the remote request is sent to the AppServer.	RUN<br>  {     extern-proc-name <br>     |  VALUE ( extern-expression )<br>     |  path-name&lt;&lt;member-name&gt;&gt;<br>  }<br>  [ PERSISTENT [ SET proc-handle ] ]<br>  [ ON [ SERVER ] { server-handle | session-handle }<br>       [ TRANSACTION DISTINCT ]<br>       [ ASYNCHRONOUS <br>            [ SET async-request-handle ]<br>            [ EVENT-PROCEDURE event-internal-procedure <br>                 [ IN procedure-context ] ]<br>       ]<br>  ]<br>  [ ( parameter [ , parameter ] ... ) ]<br>  [ argument ] ...<br>  [ NO-ERROR ]	RUN<br>  { intern-proc-name | VALUE ( intern-expression) } <br>  [ IN proc-handle ]<br>  [ ASYNCHRONOUS<br>       [ SET async-request-handle ]<br>       [ EVENT-PROCEDURE event-internal-procedure <br>           [ IN procedure-context ] ]<br>  ]<br>  [ ( parameter [ , parameter ] ... ) ]<br>  [ NO-ERROR ]	RUN portTypeName [ SET hPortType ] ON SERVER hWebService [ NO-ERROR ] .	RUN operationName IN hPortType <br>&nbsp;&nbsp;[ ASYNCHRONOUS <br>&nbsp;&nbsp;&nbsp;&nbsp;[ SET async-request-handle ] <br>&nbsp;&nbsp;&nbsp;&nbsp;[ EVENT-PROCEDURE event-internal-procedure <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ IN procedure-context ] ]<br>&nbsp;&nbsp;[ ( parameter [ , parameter ] ... ) ]<br>&nbsp;&nbsp;[ NO-ERROR ].	
SAVE Method	Saves or sends an XML document as text generated from an X-document object. 	SAVE ( mode , { file | stream | stream-handle | memptr | longchar } )	
SAVE-FILE Method	Saves the current contents of the editor widget to a specified text file and sets the widget&#8217;s MODIFIED attribute to FALSE. 	SAVE-FILE ( filename )	
SAVE-ROW-CHANGES Method	Saves changes from one row of a ProDataSet temp-table to the associated data source.	buffer-handle:SAVE-ROW-CHANGES ( [ buffer-index | buffer-name <br>&nbsp;&nbsp;[ , skip-list [ , no-lobs ] ] ] )	
SAVE-WHERE-STRING Attribute	Returns the WHERE clause used to find the database buffer identified by the buffer-index or buffer-name in a data-source object. 	SAVE-WHERE-STRING ( buffer-index | buffer-name )	
SAX-attributes Handle	Contains the list of attribute names, values, and optional namespaces of an XML element for use in the SAX-reader or SAX-writer object. The purpose of the object is to hold values needed by the SAX parser to set the attribute values of a new XML element as it reads the element into a SAX-reader object or prepares an XML object for writing in a SAX-writer object.	SAX-attributes-handle [ :attribute | :method ]	
SAX-PARSE Method	Performs a single-call parse of an XML document associated with a SAX-reader object.	SAX-PARSE (&nbsp;)	
SAX-PARSE-FIRST Method	Initializes and begins a progressive-scan parse of an XML document associated with a SAX-reader object.	SAX-PARSE-FIRST (&nbsp;)	
SAX-PARSE-NEXT Method	Continues a progressive-scan parse of an XML document associated with a SAX-reader object.	SAX-PARSE-NEXT (&nbsp;)	
SAX-reader Handle	Provides access to the SAX parser to stream an XML document into the object. The SAX-reader object, used with the SAX interface, corresponds to the X-document object of the Document Object Model (DOM) interface, but presents a very different programming interface.	SAX-reader-handle [ :attribute | :method ]	
SAX-writer Handle	A handle to the SAX-writer object. You create the handle and assign it to a handle variable with the CREATE SAX-WRITER statement.	SAX-writer-handle [ :attribute | :method ]	
SCHEMA-CHANGE Attribute	Relaxes the requirement for exclusive access to a database in order to make the following schema changes online:	
SCHEMA-LOCATION Attribute	Determines the list of namespace/location pairs of an XML Schema file to validate against.	"namespace1 location1 namespace2 location2 namespace3 location3" 	hXdoc:SCHEMA-LOCATION = "http://www.example.com com.xsd<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.example.org org.xsd"	hXdoc:ADD-SCHEMA-LOCATION("http://www.example.com", "com.xsd").<br>hXdoc:ADD-SCHEMA-LOCATION("http://www.example.org", "org.xsd").	
SCHEMA-MARSHAL Attribute	Specifies the amount of schema information to marshal for a temp-table parameter. The temp-table may be an independent temp-table or a member of a ProDataSet object. The default value is FULL (which includes all schema information for the temp-table parameter).	
SCHEMA-PATH Attribute	A delimiter-separated list of directory paths used to locate the XML Document Type Definition (DTD) associated with a particular XML document. It is searched if the XML document contains a relative path to the DTD.	
SCREEN-LINES Attribute	The number of display lines available in the window, in character units.	
SCREEN-LINES Function	Returns, as an INTEGER value, the number of lines you can use to display frames. This value omits the space used by the message area and status area.	SCREEN-LINES	DEFINE VARIABLE nbrdown AS INTEGER NO-UNDO.<br>&nbsp;<br>nbrdown = IF SCREEN-LINES &gt; 21 THEN 7 ELSE 6.<br>&nbsp;<br>FOR EACH Customer NO-LOCK WITH nbrdown DOWN:<br>  DISPLAY Customer.CustNum Customer.Name Customer.Address Customer.City<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.State Customer.Country.<br>END.	
SCREEN-VALUE Attribute	The data value in the screen buffer associated with the widget. 	
SCROLL Statement	Moves data up or down in a frame with multiple rows. Use the SCROLL statement to scroll data up or down when you add or delete a line in a frame.	SCROLL [ FROM-CURRENT ] [ UP | DOWN ] { [ frame-phrase ] }	
SCROLLABLE Attribute	The scrolling capabilities of a frame or a dialog box.	
SCROLLBAR-HORIZONTAL Attribute	Indicates whether a horizontal scroll bar appears in an editor or a selection list.	
SCROLL-BARS Attribute	Indicates whether scroll bars appear in a window.	
SCROLLBAR-VERTICAL Attribute	Indicates whether a vertical scroll bar appears in a browse, editor or a selection list.	
SCROLL-NOTIFY Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
SCROLL-TO-CURRENT-ROW Method	Scrolls a browse (if necessary) to bring the currently selected row into view. If the browse supports multiple selections, then SCROLL-TO-CURRENT-ROW(&nbsp;) brings the most recently selected row into view. 	SCROLL-TO-CURRENT-ROW (&nbsp;)	
SCROLL-TO-ITEM Method	Scrolls a selection list so that the specified item appears at the top of the list. 	SCROLL-TO-ITEM ( list-item | list-index )	
SCROLL-TO-SELECTED-ROW Method	Scrolls a browse (if necessary) to bring a specified selected row into view. 	SCROLL-TO-SELECTED-ROW ( n )	
SDBNAME Function	Accepts an integer expression or a character expression as a parameter. If the parameter resolves to a currently connected non-OpenEdge database then the SDBNAME function returns the logical name of the schema holder database containing the non-OpenEdge schema. If the parameter resolves to a currently connected OpenEdge database, the SDBNAME function returns the logical name of this database.	SDBNAME  ( { integer-expression | logical-name | alias } )	
SEAL Method	As part of a successful application-performed authentication operation, you can invoke this method on an unsealed client-principal in order to seal the object using the domain access code you pass as a parameter. Sealing the client-principal begins a login session to assert the identity it represents. You can then pass the sealed object as input to the SECURITY-POLICY:SET-CLIENT(&nbsp;) method method or the SET-DB-CLIENT function to set the identity for the current ABL session and one or more of its database connections using a single sign-on (SSO) operation.	SEAL ( domain-access-code )	
SEAL-TIMESTAMP Attribute	Returns the time stamp (as a DATETIME-TZ value) for when the client-principal object was sealed in the LOGIN state. If the client-principal object is not sealed, this attribute returns the Unknown value (?).	
SEARCH Function	Searches the directories and libraries defined in the PROPATH environment variable for a file. The SEARCH function returns the full pathname of the file unless it is found in your current working directory. If SEARCH does not find the file, it returns the Unknown value (?). 	SEARCH ( opsys-file )	
SEARCH Method	Searches for a specified string in an editor widget starting from the current text cursor position. For graphical interfaces only, the string is highlighted when found.	SEARCH ( string , flag )	
SECURITY-POLICY Handle	A handle to security policy settings and operations for the current ABL session. These settings and operations support session data cryptography, creating a session registry for trusted security domains, and user authentication and validation.	SECURITY-POLICY [ :attribute | :method ]	
SEEK Function	Returns the offset of the file pointer in a text file as an INT64 value. You define a procedure variable to hold the offset value and later position the file to that offset.	SEEK ( { INPUT | OUTPUT | name | STREAM-HANDLE handle } )	
SEEK Statement	Positions the file pointer to a user-defined offset in a text file. This statement does not require you to close and reopen the file.	SEEK <br>&nbsp;&nbsp;{ INPUT | OUTPUT | STREAM stream | STREAM-HANDLE handle } <br>&nbsp;&nbsp;TO { expression | END }	
SELECTABLE Attribute	Indicates whether a widget is selectable for direct manipulation at run time.	
SELECT-ALL Method	Selects all rows, or a range of rows, in a query connected to the browse.	SELECT-ALL ( [ <br>  starting-row-table1 , starting-row-table2, ...<br>  ending-row-table1, ending-row-table2 ...<br>  ] )	
SELECTED Attribute	Indicates whether a widget is selected (highlighted). 	
SELECT-FOCUSED-ROW Method	Selects the row that currently has focus in a browse widget, even if it is not currently displayed.	SELECT-FOCUSED-ROW (&nbsp;)	
SELECTION Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
SELECTION-END Attribute	The offset of the first character after the end of the currently selected text in the widget. 	
SELECTION-LIST Widget	A selection list is a widget that contains a list of possible values for a field or variable. You can use the VIEW-AS phrase to set up a static selection list. You can use the CREATE widget statement to create a dynamic selection list. For example:				
SELECTION-START Attribute	The offset of the first character of the currently selected text in the widget.	
SELECTION-TEXT Attribute	The currently selected text in the widget.	
SELECT-NEXT-ROW Method	Deselects all currently selected rows in a browse and selects the row after the deselected row.	SELECT-NEXT-ROW (&nbsp;)	
SELECT-PREV-ROW Method	Deselects a currently selected row in a browse and selects the row before the deselected row.	SELECT-PREV-ROW (&nbsp;)	
SELECT-ROW Method	Selects the specified row if it is currently in the browse viewport. In a single-select browse, the previously selected row is deselected. No rows are deselected in a multiple-select browse.	SELECT-ROW ( n )	
SELF Handle	A handle to the object or widget associated with the currently executing user&#8209;interface trigger or event procedure.	SELF [ :attribute ]	
SENSITIVE Attribute	Indicates whether a widget can receive input focus or events. Indicates whether certain ABL objects can receive events.	
SEPARATOR-FGCOLOR Attribute	Sets the color of a browse&#8217;s separators.	
SEPARATORS Attribute	Indicates whether the AVM displays the row and column separators of a browse widget.	
SERIALIZE-HIDDEN Attribute	Indicates whether a temp-table field or ProDataSet name is written when the temp-table or ProDataSet is serialized, for example into JSON or XML. 	
SERIALIZE-NAME Attribute	Indicates the name of a ProDataSet, a temp-table, a temp-table buffer, or a temp-table buffer-field object as it should appear when serialized, for example into JSON or XML. 	
SERIALIZE-ROW Method	Serializes the BUFFER's current row to JSON or XML format. 	SERIALIZE-ROW ( target-format , target-type , <br>&nbsp;&nbsp;{ file | stream | stream-handle | memptr | longchar }<br>&nbsp;&nbsp;[ , formatted [ , encoding [ , omit-initial-values <br>&nbsp;&nbsp;[ , omit-outer-object ] ] ] ] )	
SERVER Attribute	The server handle to one of the following:	
SERVER-CONNECTION-BOUND Attribute	Indicates if the current AppServer agent is bound to a particular client application.	
SERVER-CONNECTION-BOUND-REQUEST Attribute	Tells an AppServer agent running on a stateless AppServer to bind or unbind its current client connection.	
SERVER-CONNECTION-CONTEXT Attribute	An application-determined value that you set within an AppServer agent. The AVM passes this value to each AppServer agent that executes a request on behalf of the client connection identified by the SERVER-CONNECTION-ID attribute.	
SERVER-CONNECTION-ID Attribute	Returns the run-time connection ID of the current client connection assigned to this AppServer session.	
SERVER-OPERATING-MODE Attribute	Returns the operating mode of the current AppServer session.	
SESSION Handle	Calls an ABL procedure. This procedure can be local to or remote from the current session, external from or internal to the current procedure, and either synchronous or asynchronous. When a local or remote procedure is called synchronously, the calling procedure resumes execution only after the called procedure completes execution. When a remote procedure is called asynchronously, the calling procedure resumes execution immediately after the remote request is sent to the AppServer.	RUN<br>  {     extern-proc-name <br>     |  VALUE ( extern-expression )<br>     |  path-name&lt;&lt;member-name&gt;&gt;<br>  }<br>  [ PERSISTENT [ SET proc-handle ] ]<br>  [ ON [ SERVER ] { server-handle | session-handle }<br>       [ TRANSACTION DISTINCT ]<br>       [ ASYNCHRONOUS <br>            [ SET async-request-handle ]<br>            [ EVENT-PROCEDURE event-internal-procedure <br>                 [ IN procedure-context ] ]<br>       ]<br>  ]<br>  [ ( parameter [ , parameter ] ... ) ]<br>  [ argument ] ...<br>  [ NO-ERROR ]	RUN<br>  { intern-proc-name | VALUE ( intern-expression) } <br>  [ IN proc-handle ]<br>  [ ASYNCHRONOUS<br>       [ SET async-request-handle ]<br>       [ EVENT-PROCEDURE event-internal-procedure <br>           [ IN procedure-context ] ]<br>  ]<br>  [ ( parameter [ , parameter ] ... ) ]<br>  [ NO-ERROR ]	RUN portTypeName [ SET hPortType ] ON SERVER hWebService [ NO-ERROR ] .	RUN operationName IN hPortType <br>&nbsp;&nbsp;[ ASYNCHRONOUS <br>&nbsp;&nbsp;&nbsp;&nbsp;[ SET async-request-handle ] <br>&nbsp;&nbsp;&nbsp;&nbsp;[ EVENT-PROCEDURE event-internal-procedure <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ IN procedure-context ] ]<br>&nbsp;&nbsp;[ ( parameter [ , parameter ] ... ) ]<br>&nbsp;&nbsp;[ NO-ERROR ].	
SESSION-END Attribute	Sets the end of a logical WebSpeed session. Intended for internal use only.	
SessionId Property	Identifies the session (Progress.BPM.UserSession) associated with a connection made to an SBM Server on behalf of a specific user. An SBM Server generates a unique session ID each time a user connects to it. This session ID is then assigned to the SessionId property on the connected UserSession object. This SessionId property has the Unknown value (?) if there is no current connection (if the Connect(&nbsp;) method has not run successfully, or if Disconnect(&nbsp;) has been called).	
SESSION-ID Attribute	Specifies the user login session ID for the user represented by the client-principal object. This attribute must be set before the associated unsealed client-principal object can be sealed in the LOGIN state using the SEAL(&nbsp;) method, or using a SET-DB-CLIENT function or SECURITY-POLICY:SET-CLIENT(&nbsp;) method call that performs a user authentication operation.	
SET Statement	Requests input, and then puts the data in the screen buffer frame and in the specified fields or variables. The SET statement is a combination of these statements:	SET<br>&nbsp;&nbsp;[ STREAM stream | STREAM-HANDLE handle ]<br>&nbsp;&nbsp;[ UNLESS-HIDDEN ]<br>&nbsp;&nbsp;[ <br>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;field [ view-as-phrase ] [ format-phrase ] }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ WHEN expression ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| TEXT ( field [ format-phrase ] ... ) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| field = expression <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| constant [ AT n | TO n ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| ^<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| SPACE [ ( n ) ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| SKIP [ ( n ) ]<br>&nbsp;&nbsp;] ...<br>&nbsp;&nbsp;[ GO-ON ( key-label ... ) ]<br>&nbsp;&nbsp;[ frame-phrase ]<br>&nbsp;&nbsp;[ editing-phrase ]<br>&nbsp;&nbsp;[ NO-ERROR ]	SET [ STREAM stream | STREAM-HANDLE handle ] [ UNLESS-HIDDEN ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; record [ EXCEPT field ... ] [ frame-phrase ] <br>&nbsp;&nbsp;&nbsp;&nbsp;[ NO-ERROR ]	
Set Method	Sets an element of the JsonArray to the specified value. On successful completion, the method returns TRUE.	Set( INPUT index AS INTEGER, INPUT value AS CHARACTER )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS COM-HANDLE )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS DATE )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS DATETIME )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS DATETIME-TZ )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS DECIMAL )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS HANDLE )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS INT64 )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS INTEGER )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS LOGICAL )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS LONGCHAR )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS MEMPTR )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS RAW )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS RECID )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS ROWID )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS JsonObject )<br>&nbsp;<br>Set( INPUT index AS INTEGER, INPUT value AS JsonArray )	
SET-ACTOR Method	Sets the ACTOR attribute for this SOAP header entry.	SET-ACTOR ( character )	
SET-APPL-CONTEXT Method	Sets (and records) the application context for the current session in each connected audit-enabled database whose current audit policy has this audit event enabled. Application context provides meaningful information about the conditions under which an application audit event occurred.	SET-APPL-CONTEXT ( event-context [ , event-detail [ , audit-custom-detail ] ] )	
SET-ATTRIBUTE Method	Adds a new attribute to an element. If an attribute with the same name is already present, its value is replaced with the specified value. 	SET-ATTRIBUTE ( name , value )	
SET-ATTRIBUTE-NODE Method	Associates an XML ATTRIBUTE node with the referenced X-noderef object handle.	SET-ATTRIBUTE-NODE ( attr-node-handle )	
SET-BLUE-VALUE Method	Specifies the blue component of an entry in the color table. You cannot change a static color with this method. Before changing the color, you must make the color dynamic using the SET-DYNAMIC(&nbsp;) method. For an example, see r-colhan.p in the COLOR-TABLE system handle entry.	SET-BLUE-VALUE ( index , blue-value )	
SET-BREAK Method	Sets a breakpoint for a debugging session. 	SET-BREAK ( [ procedure [ , line-number ] ] )	
SET-BUFFERS Method	Binds all buffers for a query or dynamic ProDataSet object at the same time. Any buffers previously added to the ProDataSet object are removed.	SET-BUFFERS ( buffer [ , buffer ] ... )	
SET-BYTE-ORDER Statement	Sets an internal indicator designating the byte-order of the data pointed to by the MEMPTR variable.	SET-BYTE-ORDER( memptr ) = integer-expression 	
SET-CALLBACK Method	Associates a method within a class instance, or an internal procedure within a persistent procedure, with an ABL callback event.	SET-CALLBACK ( callback-name , routine-name [ , routine-context ] )	
SET-CALLBACK-PROCEDURE Method	Associates an internal procedure with an ABL callback event. 	SET-CALLBACK-PROCEDURE ( callback-name ,internal-procedure <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[ , procedure-context ] )	
SET-CLIENT Method	Sets the identity, using an unsealed or a sealed client-principal object, for the current ABL session, and for all connected and unlocked OpenEdge database connections.	SET-CLIENT ( client-principal-handle )	
SET-COMMIT Method	Directs the transaction object to commit the transaction when the AppServer session completes the current request and returns execution to the client.	SET-COMMIT (&nbsp;)	
SET-CONNECT-PROCEDURE Method	Identifies the name of the procedure that is invoked when a CONNECT event occurs.	SET-CONNECT-PROCEDURE ( event-internal-procedure  [ , procedure-context ] )	
SET-DB-CLIENT Function	Sets the user identity for a specified connected OpenEdge database using an unsealed or a sealed client-principal object.	SET-DB-CLIENT ( { client-principal-handle | ? }<br>&nbsp;&nbsp;[ , { integer-expression | logical-name | alias | ? } ] )	
SET-DYNAMIC Method	Sets a color entry to a dynamic or static color.	SET-DYNAMIC ( index , logical-expr )	
SET-EFFECTIVE-TENANT Function	Sets the effective tenancy of a multi-tenant database connection for a super-tenant user. A super tenant has no real tenancy of its own, but can act as if it is a particular regular tenant without the user having to authenticate a new connection identity that has that particular tenancy. Therefore, the effective tenancy is the acting regular tenancy of a super tenant.	SET-EFFECTIVE-TENANT ( tenant-expression [ , database-name ] )	
SetFields Method	Specifies which columns are bound to a ProBindingSource instance, exposing them for bound .NET controls. You use these method overloads before you bind a data source object to a previously unbound ProBindingSource instance. 	BindingSource:SetFields ( INPUT include-fields&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS CHARACTER ,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT except-fields&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS CHARACTER ,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;"" <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| INPUT parent-buffer-hdl&nbsp;&nbsp;AS HANDLE <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| INPUT parent-buffer-name AS CHARACTER&nbsp;&nbsp;&nbsp;} )	
SET-GREEN-VALUE Method	Specifies the green component of an entry in the color table. If the operation is successful, the method returns TRUE.	SET-GREEN-VALUE ( index , green-value )	
SET-INPUT-SOURCE Method	Specifies the source of XML text to be parsed by a SAX-reader object.	SET-INPUT-SOURCE ( mode , { file |  memptr | handle | longchar } )	
SET-MUST-UNDERSTAND Method	Sets the MUST-UNDERSTAND attribute for this SOAP header entry. 	SET-MUST-UNDERSTAND ( logical )	
SET-NODE Method	Replaces the underlying XML of a SOAP-header-entryref object with the DOM XML sub-tree rooted by the X-noderef object.	 SET-NODE ( x-noderef )	
SetNull Method	Sets the element at index to null for JsonArray. 	SetNull( INPUT index AS INTEGER )	
SetNumber Method	Sets an element of the JsonArray to the specified value. This method is useful in situations where none of the ABL numeric data types can be used to hold a JSON numeric value. On successful execution, this method returns TRUE.	SetNumber( INPUT index AS INTEGER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT value AS CHARACTER )	
SET-NUMERIC-FORMAT Method	Sets the NUMERIC-SEPARATOR and NUMERIC-DECIMAL-POINT attributes simultaneously.	SET-NUMERIC-FORMAT ( separator , decimal-point )	
SET-OUTPUT-DESTINATION Method	Specifies the target for an XML document that a SAX-writer object creates.	SET-OUTPUT-DESTINATION ( mode <br>&nbsp;&nbsp;, { file | stream | stream-handle | memptr | longchar } )	
SetParameter Method	Populates elements in a Progress.Lang.ParameterList object.	SetParameter ( INPUT position AS INTEGER ,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT data-type AS CHARACTER ,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT iomode AS CHARACTER ,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT parameter-value )	
SET-PARAMETER Method	Lets you set parameters for one of the following:	SET-PARAMETER ( parameter-number , data-type , iomode , parameter-value )	
SET-POINTER-VALUE Statement	Sets a variable of type MEMPTR to the value of a particular memory location.	SET-POINTER-VALUE ( memptr-var ) = memptr-value 	
SET-PROPERTY Method	Creates and sets the value of the specified application-defined property stored in the unsealed client-principal object.	SET-PROPERTY ( property-name , property-value )	
SetPropertyValue Method	The SetPropertyValue(&nbsp; ) method enables you to assign a value to a property even if you do not know the property's name or type at compile time. 	class-object-reference:SetPropertyValue ( <br>&nbsp;&nbsp;INPUT object-reference AS Progress.Lang.Object ,<br>&nbsp;&nbsp;INPUT property-name AS CHARACTER, INPUT new-value AS any-data-type )	class-object-reference:SetPropertyValue ( <br>&nbsp;&nbsp;INPUT property-name AS CHARACTER, INPUT new-value AS any-data-type )	class-object-reference:SetPropertyValue ( <br>&nbsp;&nbsp;INPUT object-reference AS Progress.Lang.Object, <br>&nbsp;&nbsp;INPUT property-name AS CHARACTER, INPUT index AS any-data-type, <br>&nbsp;&nbsp;INPUT new-value AS any-data-type )	class-object-reference:SetPropertyValue ( <br>&nbsp;&nbsp;INPUT property-name AS CHARACTER, INPUT index AS any-data-type, <br>&nbsp;&nbsp;INPUT new-value AS any-data-type )	
SET-READ-RESPONSE-PROCEDURE Method	Specifies the name of the procedure to invoke when a READ-RESPONSE event occurs.	SET-READ-RESPONSE-PROCEDURE ( event-internal-procedure <br>                             [ , procedure-context ] )	
SET-RED-VALUE Method	Specifies the red component of an entry in the color table. You cannot change a static color with this method. Before changing the color, you must make the color dynamic using the SET-DYNAMIC(&nbsp;) method. For an example, see r-colhan.p in the COLOR-TABLE system handle entry.	SET-RED-VALUE ( index , red-value )	
SET-REPOSITIONED-ROW Method	Sets the row index where records positioned with the REPOSITION TO ROWID (or RECID) statement are displayed.	SET-REPOSITIONED-ROW ( n , "ALWAYS" | "CONDITIONAL" )	
SET-RGB-VALUE Method	Specifies a combination of the red, green, and blue values of an entry in the color table. You cannot change a static color with this method. Before changing the color, you must make the color dynamic using the SET-DYNAMIC(&nbsp;) method. For an example, see r-colhan.p in the COLOR-TABLE system handle entry.	SET-RGB-VALUE ( index , integer-expression )	
SET-ROLLBACK Method	Directs the transaction object to rollback the transaction when the AppServer session completes the current request and returns execution to the client.	SET-ROLLBACK (&nbsp;)	
SET-SELECTION Method	Selects (and highlights) the text in a widget between two specified character offsets.	SET-SELECTION ( start-pos , end-pos )	
SET-SERIALIZED Method	Sets the SOAP-header-entryref object&#8217;s underlying XML from serialized XML. 	SET-SERIALIZED ( longchar )	
SET-SIZE Statement	Manages memory associated with a MEMPTR variable. This includes allocating and associating a region of memory with an uninitialized MEMPTR variable, setting the size of a region allocated with a Windows dynamic link library (DLL) or UNIX shared library routine for a MEMPTR, and deallocating memory associated with a MEMPTR variable.	SET-SIZE ( memptr-var ) = size 	
SET-SOCKET-OPTION Method	Sets the specified socket option. TCP supports a number of socket options. Please refer to TCP documentation for a description of these options.	SET-SOCKET-OPTION ( name , arguments )	
SET-SORT-ARROW Method	Sets the sort-arrow indicator and, optionally, the sort-level number for a browse column.	SET-SORT-ARROW ( column-index , ascending [ , n ] )	
SETUSERID Function	Authenticates a user identity for a specified database connection, verifying that the user ID and password supplied to the SETUSERID function match a user account in the _User table of the database. If they match, the database connection is set to the specified user identity and the function returns a TRUE value. If the database is multi-tenant, is also sets the user&#8217;s tenancy.	SETUSERID ( userid , password [ , logical-dbname ] )	
SET-WAIT-STATE Method	Sets or cancels an ABL wait state that blocks user and system input. 	SET-WAIT-STATE ( state-string )	
Severity Property	A convenience property intended for ABL programmers who want to rank their application error objects according to a severity scheme. Providing this property through inheritance in the base Progress.Lang.AppError class allows severity ranking without the must subclass.	
SHA1-DIGEST Function	Hashes the specified data using the United States Government Secure Hash Algorithm (SHA-1), and returns a 20-byte binary message digest value as a RAW value.	SHA1-DIGEST( data-to-hash [ , hash-key ] )	
SHADOW-WINDOW Widget	A shadow window widget is a window associated with a .NET form that allows .NET forms and ABL windows to have parenting relationships to each other. A shadow window has no visible representation. It exists solely to support a .NET form and its relationship to ABL windows in an ABL session. 		
SHOW-IN-TASKBAR Attribute	Determines whether an icon for the window appears in the taskbar and in the task-switching window displayed when ALT+TAB is pressed.	
SHOW-STATS Statement	Writes procedure call statistics to the proc.mon output file if you specify the Statistics with Cross-Reference (-yx) parameter. It also writes procedure access and usage statistics to the client.mon output file if you specify the Statistics (-y) parameter, Statistics with CTRL+C (-yc) parameter, Segment Statistics (-yd) parameter, or Statistics with Cross-Reference (-yx) parameter. If you specify Segment Statistics (-yd), it also displays statistics for each code segment.	SHOW-STATS [ CLEAR ]	
SIDE-LABEL-HANDLE Attribute	A handle to the side label of a widget.	
SIDE-LABELS Attribute	Indicates whether a frame displays labels to the left of each field.	
SKIP-DELETED-RECORD Attribute	Indicates whether the AVM should skip deleted records when accessing a dynamic query&#8217;s result list.	
SLIDER Widget	The slider widget represents an integer value as a point on a sliding scale. You can use the VIEW-AS phrase to set up a static slider. You can use the CREATE widget statement to create a dynamic slider. For example:				
SMALL-ICON Attribute	Returns the name of the icon loaded by LOAD-SMALL-ICON(&nbsp;).	
SMALL-TITLE Attribute	Indicates whether the window has a palette-style title bar.	
SoapFault Property	Identifies the SOAP-FAULT object handle that contains a SOAP fault message detail.	
SOAP-fault Handle	A handle to a SOAP-fault object. A SOAP-fault object contains information specific to a SOAP fault.	soap-fault-handle [ :attribute ]	
SOAP-FAULT-ACTOR Attribute	The URI of the Web service actor that caused this SOAP fault. 	
SOAP-FAULT-CODE Attribute	Identifies the SOAP fault code for this SOAP-fault object.	
SOAP-FAULT-DETAIL Attribute	Returns the handle of the SOAP fault detail information associated with this SOAP-fault object.	
SOAP-fault-detail Handle	A handle to a SOAP-fault-detail object. 	soap-fault-detail-handle [ :attribute | :method ]	
SOAP-FAULT-STRING Attribute	Returns the SOAP fault string describing the fault for this SOAP-fault object.	
SOAP-header Handle	A handle to a SOAP-header object. The object maintains a list of entries. Each entry is associated with an existing SOAP-header-entryref object. A SOAP-header object is passed as an input parameter to a response callback procedure and as an output parameter to a request callback procedure.	soap-header-handle [ :attribute | :method ]	
SOAP-header-entryref Handle	A handle to a SOAP-header-entryref object. 	soap-header-entryref-handle [ :attribute | :method ]	
SORT Attribute	Indicates whether to sort new additions to the item list of a widget.	
SORT-ASCENDING Attribute	Indicates the sort order for a browse column.	
Sorted Property	Use this property to indicate whether you have successfully reopened the query to affect the sort based on the argument values specified in the SortRequestEventArgs object. Set to TRUE if the query was successfully reopened. Set to FALSE if the query was not reopened. The default value is TRUE.	
SORT-NUMBER Attribute	Indicates the sort-level number for a browse column.	
SortRequest Event	The .NET event published when some user action initiates a sort operation in the bound .NET control (for example, clicking on a column header in a grid control).	&nbsp;&nbsp;( <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT sender AS CLASS System.Object,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT args AS CLASS Progress.Data.SortRequestEventArgs<br>&nbsp;&nbsp;).	
SOURCE-PROCEDURE Handle	A handle to the procedure file that contains the original invocation (RUN statement or function invocation) of the current internal procedure or user&#8209;defined function.	SOURCE-PROCEDURE [ :attribute | :method ]	
SQRT Function	Returns the square root (as a DECIMAL value) of an expression you specify. 	SQRT ( expression )	
SSL-SERVER-NAME Attribute	The name of the server for the current Secure Sockets Layer (SSL) session.	
SSL-SERVER-NAME Function	Returns the digital certificate subject name for an OpenEdge database connected via SSL. If a database connection does not exist or the connection is not using SSL, this function returns the Unknown value (?).	SSL-SERVER-NAME ( logical-database-name )	
STANDALONE Attribute	Determines the value of the standalone string in the XML declaration of a SAX-writer object.	&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;	
START-BOX-SELECTION Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
START-DOCUMENT Method	Creates the XML document with the prolog information.	START-DOCUMENT()	&lt;?xml version="1.0"?&gt;	
START-ELEMENT Method	Starts an XML node based upon the name of the node in a SAX-writer object.	START-ELEMENT ( name [ , namespace-URI ] [ , SAX-attributes-handle ] )	
START-MOVE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
StartProcess Method	Starts an instance of a process template associated with a connected Progress.BPM.UserSession; that is, it causes the SBM Server to instantiate a process and initiate this process as defined by the process template.	StartProcess( INPUT TemplateName AS CHARACTER)<br>&nbsp;<br>StartProcess( INPUT TemplateName AS CHARACTER, <br>              &nbsp;&nbsp;INPUT dsTemplateArray AS Progress.BPM.DataSlotTemplate EXTENT )	
START-RESIZE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
START-ROW-RESIZE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
START-SEARCH Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
STARTUP-PARAMETERS Attribute	Returns a character string containing a comma-separated list of all startup parameters you defined at startup for the current ABL session. 	-pf dbconnect.pf,-db sports2000,-H pclsmith,-S 5000,(end .pf)	-pf filename,(end .pf)	-parameter-name[ parameter-value][,-parameter-name[ parameter-value]]...	
StatBaseId Property	The StatBaseId property identifies the StatBase VST. This VST contains basic table and index statistics. You can pass the StatBaseId property to the GetVSTHandle() method to return the handle to the StatBase VST. This is a read-only property.	
STATE-DETAIL Attribute	A description that provides detail about the current state of the client-principal object. 	
Status Property	The status of an associated task (Progress.BPM.Task). Possible statuses include the following:	
STATUS Statement	Specifies the text that appears in the status line of a window. The AVM displays the following default messages on that line:	STATUS<br>  {   DEFAULT [ expression ]<br>    | INPUT [ OFF | expression ]<br>  }<br>  [ IN WINDOW window ]	
STATUS-AREA Attribute	Indicates whether a window has a status area.	
STATUS-AREA-FONT Attribute	The font number of the font used in the status area of a window.	
STOP Attribute	Set to TRUE, if the asynchronous request was executing when the client issued the CANCEL REQUESTS(&nbsp;) method.	
STOP Statement	Signals the STOP condition in the current block. By default, the STOP condition stops processing a procedure, backs out the active transaction, and unwinds the call stack until it returns to the startup procedure or the Procedure Editor. You can change this behavior by including the ON STOP phrase on a block statement.	STOP	DEFINE VARIABLE ans AS LOGICAL NO-UNDO.<br>&nbsp;<br>FOR EACH Customer:<br>  DISPLAY Customer.CustNum Customer.Name.<br>  UPDATE Customer.CreditLimit.<br>  ans = FALSE.<br>  MESSAGE "Stopping now undoes changes to this record.".<br>  MESSAGE "Do you want to stop now?" UPDATE ans.<br>  IF ans THEN STOP.<br>END.	DEFINE VARIABLE ans  AS LOGICAL NO-UNDO.<br>&nbsp;<br>FOR EACH Customer ON STOP UNDO, RETRY:<br>  DISPLAY Customer.CustNum Customer.Name.<br>  UPDATE Customer.CreditLimit.<br>  ans = FALSE.<br>  MESSAGE "Stopping now undoes changes to this record."<br>&nbsp;&nbsp;&nbsp;&nbsp;"Do you want to stop now?" <br>&nbsp;&nbsp;&nbsp;&nbsp;VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO UPDATE ans.<br>END.	
STOP-PARSING Method	Causes the parser to stop parsing the XML document. This lets an application search for particular data, then abort the parse as soon as the data are found.	STOP-PARSING (&nbsp;)	SELF:STOP-PARSING(&nbsp;).	
STOPPED Attribute	Indicates whether the last compilation stopped prior to completion.	
STREAM Attribute	A value that specifies the character set used for operating system file I/O &#8212; "ibm850" or "iso8859-1". 	
STRETCH-TO-FIT Attribute	Forces the image to expand or contract to fit within the image widget&#8217;s boundaries.	
STRICT Attribute	Determines if the SAX-writer object should ensure that the XML document is well formed XML.	
STRING Function	Converts a value of any data type into a character value. 	STRING ( source [ , format ] )	
String Property	Returned by the GetType method on a JsonObject or JsonArray indicating that the JSON data type  for the specified property or element is string.	
STRING-VALUE Method	The string value (which the AVM computes at run time) of the contents of the buffer-field object.	STRING-VALUE ( [ i ] ) 	
SUB-MENU Widget	A submenu can be a pull&#8209;down menu within a menu bar, or a submenu within a pull&#8209;down menu or pop&#8209;up menu. You can define a static submenu with the DEFINE SUB-MENU statement. You can use the CREATE widget statement to create a dynamic submenu. For example:			
Subscribe Method	Subscribes an event handler method or procedure to an ABL or .NET class event. This is a built-in event method for managing class events. For more information, see the Subscribe(&nbsp;) event method reference entry.	
SUBSCRIBE Statement	Creates a subscription to an ABL named event. 	SUBSCRIBE [ PROCEDURE subscriber-handle ] [ TO ] event-name <br>&nbsp;&nbsp;{ IN publisher-handle | ANYWHERE }<br>&nbsp;&nbsp;[ RUN-PROCEDURE local-internal-procedure ]&nbsp;&nbsp;[ NO-ERROR ]	
SUBSTITUTE Function	This function returns a character string that is made up of a base string plus the substitution of arguments in the string. It allows you to use a single string in place of concatenated strings. It is designed to simplify the task of translating an application from one language to another. This function is similar to the sprintf function in the C programming language.	SUBSTITUTE ( base-string [ , arg ] ... )	
SUBSTRING Function	Extracts a portion of a character string from a field or variable.	SUBSTRING ( source , position [ , length [ , type ] ] )	
SUBSTRING Statement	Inserts content from a specified expression into a field or variable, optionally replacing existing characters, bytes, or columns.	SUBSTRING ( target , position [ , length [ , type ] ] ) = expression 	
Subtract Method	Subtracts the underlying value of the first enumeration type from the second enumeration type and returns the difference as a new instance. 	EnumHelper:Subtract ( INPUT enum1 AS CLASS System.Enum, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT enum2 AS CLASS System.Enum )	
SUBTYPE Attribute	The subtype of a widget.	
Success Property	An authentication status code that indicates that user credentials have been successfully authenticated.	
SUPER Function	Runs the super procedure version of the current user-defined function.	SUPER [ ( parameter [ , parameter ] ...  ) ]	
SUPER Statement	Invokes a constructor for the immediate super class as the first statement in a constructor of the defining class.	SUPER ( [ parameter [ , parameter ] ... ] )	
SuperClass Property	The object reference for the super class type information, if the user-defined class is a subclass or is an interface that the subclass implements, including an inherited interface. Otherwise, the value of this property is the Unknown value (?). If the Progress.Lang.Class is for an ABL class that inherits a .NET class, this property also returns the Unknown value (?).	
SUPER-PROCEDURES Attribute	A list of the super procedure handles associated with a procedure file or with the current ABL session. The handles appear in last in first out (LIFO) order, comma-delimited, in character format. Returns the empty string for a Web service procedure. 	
SUPPRESS-NAMESPACE-PROCESSING Attribute	Indicates whether namespace processing is suppressed.	
SUPPRESS-WARNINGS Attribute	Indicates whether the AVM suppresses warning messages during the session.	
SUPPRESS-WARNINGS-LIST Attribute	A character expression with a comma separated list of warning message numbers to suppress. 	
SYMMETRIC-ENCRYPTION-ALGORITHM Attribute	A character string that specifies the name of the default cryptographic algorithm to use with the ENCRYPT and DECRYPT functions. The default value is "AES_CBC_128".	
SYMMETRIC-ENCRYPTION-IV Attribute	The default initialization vector value to use with the encryption key in the ENCRYPT and DECRYPT functions. The default value is the Unknown value (?), which indicates that no initialization vector value is used.	
SYMMETRIC-ENCRYPTION-KEY Attribute	The default encryption key (a binary value) to use with the ENCRYPT and DECRYPT functions. The default value is the Unknown value (?). 	
SYMMETRIC-SUPPORT Attribute	Returns a comma-separated list of supported cryptographic algorithm names to use in encrypting and decrypting data. Each algorithm name is a concatenation of three character expressions that identify an algorithm, mode, and key size. 	
SYNCHRONIZE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
SYNCHRONIZE Method	Synchronizes a hierarchy of data-relation queries on a parent buffer.	hBuff:SYNCHRONIZE (&nbsp;)	
SYSTEM-ALERT-BOXES Attribute	Indicates whether the AVM displays system messages in alert boxes.	
SYSTEM-HELP Statement	The SYSTEM-HELP statement calls the Microsoft Windows Help engine to display Windows Help topics, and the HTML Help engine to display HTML Help topics. 	SYSTEM-HELP file-string <br>&nbsp;&nbsp;[ WINDOW-NAME window-name ]<br>&nbsp;&nbsp;{ &nbsp;&nbsp;CONTENTS<br>&nbsp;&nbsp;&nbsp;&nbsp;| CONTEXT int-expr <br>&nbsp;&nbsp;&nbsp;&nbsp;| HELP-TOPIC string <br>&nbsp;&nbsp;&nbsp;&nbsp;| KEY string <br>&nbsp;&nbsp;&nbsp;&nbsp;| ALTERNATE-KEY string <br>&nbsp;&nbsp;&nbsp;&nbsp;| POSITION X x Y y WIDTH dx HEIGHT dy <br>&nbsp;&nbsp;&nbsp;&nbsp;| POSITION MAXIMIZE<br>&nbsp;&nbsp;&nbsp;&nbsp;| QUIT<br>&nbsp;&nbsp;&nbsp;&nbsp;| SET-CONTENTS int-expr <br>&nbsp;&nbsp;&nbsp;&nbsp;| CONTEXT-POPUP int-expr <br>&nbsp;&nbsp;&nbsp;&nbsp;| PARTIAL-KEY string <br>&nbsp;&nbsp;&nbsp;&nbsp;| MULTIPLE-KEY char TEXT string <br>&nbsp;&nbsp;&nbsp;&nbsp;| COMMAND string <br>&nbsp;&nbsp;&nbsp;&nbsp;| FINDER<br>&nbsp;&nbsp;&nbsp;&nbsp;| FORCE-FILE<br>&nbsp;&nbsp;&nbsp;&nbsp;| HELP<br>&nbsp;&nbsp;}	
SYSTEM-ID Attribute	Returns the system ID of the external DTD from which an XML document was generated. This contains the path to the DTD which is either a file system path or an HTTP URL. The ABL parser uses this information to retrieve the DTD when parsing the document. 	
TAB Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
TABLE Attribute	The name of the database table containing the field associated with a widget, buffer, or buffer-field.	
TABLE-CRC-LIST Attribute	Returns a comma-separated list of the CRC value for each table referenced in the r-code file specified by the RCODE-INFO:FILE-NAME attribute. 	
TABLE-HANDLE Attribute	Returns the handle of a temp&#8209;table object, if any, associated with the buffer object. If the buffer is not associated with a temp&#8209;table object, it returns the Unknown value (?). 	
TABLE-LIST Attribute	Returns a comma-separated list of all tables referenced in the r-code file specified by the RCODE-INFO:FILE-NAME attribute. Each table reference includes the table name and related database name (for&nbsp;example: SPORTS.CUSTOMER). 	
TABLE-NUMBER Attribute	The sequence number, within the database, of the table that corresponds to a buffer.	
TableSchema Property	References a Progress.Data.TableDesc class instance that specifies schema information for the data associated with a BindingSource object.	
TableStatId Property	The TableStatId property identifies the TableStat VST. This VST displays statistics on the number of accesses to a specific range of tables. You can pass the TableStatId property to the GetVSTHandle() method to return the handle to the TableStat VST. This is a read-only property.	
TAB-POSITION Attribute	The tab order of a widget within its field group.	
TAB-STOP Attribute	Returns TRUE if the widget is in its parent&#8217;s tab chain.	
Tag Property	A variable that lets the developer store an arbitrary string value.	
TARGET-PROCEDURE Handle	From within an internal procedure: A handle to the procedure file mentioned, explicitly or implicitly, by the original RUN statement that invoked (perhaps through a chain of super procedures) the current internal procedure.	TARGET-PROCEDURE [ :attribute | :method ]	
TEMP-DIRECTORY Attribute	The name of the directory in which the AVM stores temporary files during the session. 	
TempTableCount Property	Returns the number of instances of static and dynamic temp-tables in the current session, You will have two instances of the same temp-table when there are two instances of a persistent procedure containing a static temp-table.	
TempTablePeak Property	Returns the highest temp-table ID used in a temp-table session irrespective of whether the temp-table is created statically or dynamically. This might help when you make adjustments to the -tttablerangesize parameter. 	
TEMP-TABLE-PREPARE Method	Signifies that all the field and index definitions for a temp-table have been supplied.	TEMP-TABLE-PREPARE ( temp-table-name-exp )	
TENANT-ID Function	Returns the tenant ID (as an integer) of the real tenant associated with a database connection. 	TENANT-ID ( [ database-name ] )	
TENANT-ID Method	Returns the tenant ID that is recorded in the client-principal object for an OpenEdge multi-tenant database. A tenant ID is returned if this client-principal instance has been used to set the connection identity for the specified multi-tenant database. The association of this tenant ID and multi-tenant database persists for this instance of the client-principal and cannot be removed for the duration of the user login session identified by this client-principal.	TENANT-ID ( [ db-exp ] )	
TENANT-NAME Function	Returns the name (as a character string) of the real tenant associated with a database connection. 	TENANT-NAME ( [ database-name ] )	
TENANT-NAME Method	Returns the tenant name that is recorded in the client-principal object for an OpenEdge multi-tenant database. A tenant name is returned if this client-principal instance has been used to set the connection identity for the specified multi-tenant database. The association of this tenant name and multi-tenant database persists for this instance of the client-principal and cannot be removed for the duration of the user login session identified by this client-principal.	TENANT-NAME ( [ db-exp ] )	
TENANT-NAME-TO-ID Function	Returns the tenant ID associated with an input tenant name. 	TENANT-NAME-TO-ID ( tenant-name [ , database-name ] )	
TERMINAL Function	In Windows, in graphical interfaces, TERMINAL returns WIN3. In Windows, in character interfaces, TERMINAL returns CO80, BW80, or MONO, depending on the monitor type. On UNIX, TERMINAL returns the value of the $TERM environment variable. In batch mode, TERMINAL returns a null string.	TERMINAL	MESSAGE "You are currently using a" TERMINAL "terminal.".	
TERMINAL Statement	Changes terminal type during program execution. On UNIX, changes the value of the TERM environment variable. 	TERMINAL = termid 	
TEXT Widget	You can use the text widget to display read&#8209;only text in a compact format. This is especially useful when you are creating hard&#8209;copy reports. You can use the VIEW-AS phrase to set up a static text widget. You can use the CREATE widget statement to create dynamic text widgets. For example:				
TEXT-SELECTED Attribute	Indicates whether text is currently selected in a widget.	
THEN Function	Evaluates and returns one of two expressions, depending on the value of a specified condition.	IF condition THEN expression1 ELSE expression2 	
THEN Statement	Makes the execution of a statement or block of statements conditional. If the value of the expression following the IF statement is TRUE, the AVM processes the statements following the THEN statement. Otherwise, the AVM processes the statements following the ELSE statement.	IF expression THEN { block | statement }<br>  [ ELSE { block | statement } ]	
THIS-OBJECT Statement	A statement that invokes an overloaded constructor as the first statement in another overloaded constructor within the same defining class.	THIS-OBJECT ( [ parameter [ , parameter ] ... ] )	
THIS-PROCEDURE Handle	A handle to the procedure object for the currently executing procedure. This object allows you to read and modify the context of the current procedure.	THIS-PROCEDURE [ :attribute | :method ]	
THREE-D Attribute	Indicates whether the AVM displays widgets using a three-dimensional format.	
TIC-MARKS Attribute	Enables the display of short hash marks on the outside of a slider to help indicate the movement of the trackbar with the slider widget. The default is not to display tic marks. If you specify the TIC-MARKS option, it is assumed that you are using new code to create a slider, and the trackbar on the slider widget will be relatively large.	
TIME Function	Returns an INTEGER value representing the time as the number of seconds since midnight. Use this function together with the STRING function to produce the time in hours, minutes, and seconds.	TIME	DEFINE VARIABLE hour &nbsp;&nbsp;&nbsp;&nbsp;AS INTEGER NO-UNDO.<br>DEFINE VARIABLE minute &nbsp;&nbsp;AS INTEGER NO-UNDO.<br>DEFINE VARIABLE sec &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AS INTEGER NO-UNDO.<br>DEFINE VARIABLE timeleft AS INTEGER NO-UNDO.<br>&nbsp;<br>/* seconds till next midnight */<br>sec = timeleft MOD 60.<br>timeleft = (timeleft - sec) / 60.  <br>&nbsp;<br>/* minutes till next midnight */<br>minute = timeleft MOD 60.<br>&nbsp;<br>/* hours till next midnight */<br>hour = (timeleft - minute) / 60.   <br>&nbsp;<br>DISPLAY "Time to midnight:" hour  minute  sec .	DISPLAY STRING(TIME,"HH:MM:SS").	
TIME-SOURCE Attribute	Specifies the client or database server machine that serves as the time source for applications running during the ABL session.	
TimeStarted Property	The date and time a task (Progress.BPM.Task) was started. 	
TIMEZONE Attribute	Specifies the time zone offset from UTC, in minutes, to use for the current session. 	
TIMEZONE Function	Returns an INTEGER value representing the time zone offset from Coordinated Universal Time (UTC), in minutes. Use this function together with the STRING function to produce the time in hours, minutes, and seconds.	TIMEZONE ( [ datetime-tz-expression | char-expression ] )	
TITLE Attribute	The title string a widget displays.	
TITLE-BGCOLOR Attribute	The color number for the background color of the widget title.	
TITLE-DCOLOR Attribute	The color number for the character-mode display color of the widget title.	
TITLE-FGCOLOR Attribute	The color number for the foreground color of the widget title.	
TITLE-FONT Attribute	The font number for the font of the widget title.	
TODAY Function	Returns the current system date.	TODAY	DEFINE VARIABLE rptdate AS DATE NO-UNDO.<br>&nbsp;<br>OUTPUT TO PRINTER.<br>&nbsp;<br>rptdate = TODAY.<br>FORM HEADER rptdate "Customer List" AT 34<br>&nbsp;&nbsp;"Page" AT 66 PAGE-NUMBER FORMAT "&gt;&gt;&gt;9" SKIP(2)<br>&nbsp;&nbsp;WITH NO-BOX PAGE-TOP.<br>VIEW.<br>&nbsp;<br>FOR EACH Customer NO-LOCK:<br>&nbsp;&nbsp;DISPLAY Customer.Name AT 1 Customer.Address AT 31<br>&nbsp;&nbsp;&nbsp;&nbsp;Customer.City + ", " + " " + Customer.State FORMAT "x(35)" AT 31<br>&nbsp;&nbsp;&nbsp;&nbsp;WITH NO-BOX NO-LABELS CENTERED.<br>END.	
TOGGLE-BOX Attribute	Indicates whether a menu-item appears and acts like a toggle box.	
TOGGLE-BOX Widget	You can use the toggle box widget to represent a logical value. You can use the VIEW-AS phrase to set up a static toggle box, or the CREATE widget statement to create a dynamic toggle box. This figure shows five toggle boxes:				
TOOLTIP Attribute	A help text message for a text field or text variable. The AVM automatically displays this text when the user pauses the mouse pointer over a widget for which a tooltip is defined.	
TOOLTIPS Attribute	Indicates whether ToolTip information is displayed when the mouse pointer pauses over a control for which tooltip information is defined.	
TOP Property	The vertical position of the control-frame and control-frame COM object from the top border of the parent container widget, in pixels.	
TOP-NAV-QUERY Attribute	Lets you get or set the default navigation query for a top-level buffer in a ProDataSet object. 	TOP-NAV-QUERY ( index | buffer-name ) [ = query-object-handle ]	
TOP-ONLY Attribute	Indicates whether another frame or window can overlay a given frame or window, respectively.	
TO-ROWID Function	Converts a string representation of a ROWID to a valid ROWID value.	TO-ROWID ( rowid-string )	
ToString Method	Returns information from the specified ABL or .NET class instance, depending on the object type.	ToString(&nbsp;)	namespace.object-name&#8216;integer[type-name[, type-name]...]	"System.Collection.Generic.List&lt;CHARACTER&gt;"	System.Collections.Generic.List`1[System.String]	
TRACKING-CHANGES Attribute	Set to TRUE to start tracking changes to the data in an individual ProDataSet temp-table. The AVM tracks changes to the temp-table until you set this attribute to FALSE. When this attribute is FALSE, any changes you make to the data in the temp-table are considered part of the fill process. The default value is FALSE.	
TRANSACTION Attribute	A handle to the current transaction object. Returns the Unknown value (?) for a Web service procedure. 	
TRANSACTION Function	Returns a LOGICAL value that indicates whether a transaction is currently active.	TRANSACTION	
TransId Property	The TransId property identifies the TransId VST. This VST displays information about the transaction such as transaction number, state, start time, duration, user number, coordinator name, and transaction. You can pass the TransId property to the GetVSTHandle() method to return the handle to Trans VST. This is a read-only property.	
TRANS-INIT-PROCEDURE Attribute	The handle to the transaction initiating procedure that started the currently-open automatic transaction.	
TRANSPARENT Attribute	Makes the background color of the image transparent. The background color is determined by the color of the pixel in the lower-left corner of the image.	
TRIM Function	Removes leading and trailing white space, or other specified characters, from a CHARACTER or LONGCHAR expression.	TRIM ( expression [ , trim-chars ] )	
TRUNCATE Function	Truncates a decimal expression to a specified number of decimal places, returning a decimal value.	TRUNCATE ( expression , decimal-places )	
TYPE Attribute	The type of a handle.	
TypeName Property	The type name of the class or interface, which consists of the package and the class or interface name.	
TYPE-OF Function	Verifies that the class instance to which the specified object reference points is an instance of the specified object type, inherits from the specified super class, or implements the specified interface. If the object reference points to an instance of the specified type, the function returns TRUE. Otherwise, it returns FALSE.	TYPE-OF ( object-reference , object-type-name ).	
U1 Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
UNBOX Function	Unboxes a .NET System.Object or array object and returns a value of a corresponding ABL primitive or array type.	UNBOX ( object-reference )	
UNDERLINE Statement	Underlines a field or variable, using the next display line for the underline. 	UNDERLINE [ STREAM stream | STREAM-HANDLE handle ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; field ... [ frame-phrase ]	
UNDO Attribute	If TRUE, the temp-table is UNDO; if FALSE, the temp-table is NO-UNDO. The default is FALSE (NO-UNDO). The attribute can be set if there is no active transaction. Within an active transaction, it can be set as long as the temp-table is empty.	
UNDO Statement	Backs out all modifications to fields and variables made during the current iteration of a block, and indicates what action to take next.	UNDO<br>  [ label ]<br>  [     , LEAVE [ label2 ] <br>     |  , NEXT [ label2 ] <br>     |  , RETRY [ label1 ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|  , RETURN [ return-value |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ERROR [ return-value | error-object-expression ] |<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NO-APPLY ] <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;, THROW error-object-expression <br>  ]	
UNIQUE-ID Attribute	A value, with one noted exception, that is guaranteed unique for a given handle object type within an ABL session.	
UNIQUE-MATCH Attribute	Specifies that the combo-box widget automatically complete keyboard input based on a unique match to items in the drop-down list.	
UNIX Statement	Runs a program, UNIX command, or UNIX script, or starts a UNIX interactive shell to allow interactive processing of UNIX commands. 	UNIX<br>  [ SILENT ]<br>  [ command-token | VALUE ( expression ) ] ...	
UnknownUser Property	An authentication status code that indicates that the user account does not exist in the user account system defined in the OpenEdge domain.	
UNLOAD Statement	Unloads a set of environment specifications from the current environment, which might be the registry or an initialization file.	UNLOAD environment [ NO-ERROR ]	
Unsubscribe Method	Removes a method or procedure as a handler for an ABL or .NET class event. 	[ publisher : ] event-name:Unsubscribe<br>&nbsp;&nbsp;( [ subscriber : ] handler-method ) [ NO-ERROR ]	[ publisher : ] event-name:Unsubscribe<br>&nbsp;&nbsp;( [ subscriber-handle , ] handler-procedure ) [ NO-ERROR ]	
UNSUBSCRIBE Statement	Cancels a subscription to an ABL named event. Specifically, the UNSUBSCRIBE statement cancels one or more subscriptions to one or more named events.	UNSUBSCRIBE [ PROCEDURE subscriber-handle ]<br>  [ TO ] { event-name | ALL } [ IN publisher-handle ]	
UP Statement	Positions the cursor on a new line in a down or multi-line frame. 	UP [ STREAM stream | STREAM-HANDLE handle ] [ expression ] [ frame-phrase ]	
UP Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
UPDATE Statement	Displays fields or variables, requests input, and then puts the input data in both the screen buffer and in the specified fields or variables.	UPDATE<br>  [ UNLESS-HIDDEN ]<br>  [   field [ format-phrase ] [ WHEN expression ] <br>    | TEXT ( field [ format-phrase ] ... ) <br>    | field = expression  <br>    | constant [ AT n | TO n ] <br>    | ^ <br>    | SPACE [ ( n ) ] <br>    | SKIP [ ( n )] <br>  ] ... <br>  [ GO-ON ( key-label ... ) ]<br>  [ frame-phrase ]<br>  [ editing-phrase ]<br>  [ NO-ERROR ]	UPDATE record <br>  [ EXCEPT field ... ]<br>  [ frame-phrase ]<br>  [ NO-ERROR ]	
UPDATE-ATTRIBUTE Method	Finds an attribute and updates its value within a SAX-attributes object.	UPDATE-ATTRIBUTE ( { attribute-name | index } , attribute-value <br>&nbsp;&nbsp;[ , namespaceURI ] ) )	
UpdateDataSlots Method	Passes an array of DataSlot objects to the SBM server. The server uses the DataSlot values to update the values of the corresponding server dataslots.	UpdateDataSlots( INPUT dsArray AS Progress.BPM.DataSlot EXTENT )	
URL Attribute	A URL to connect to an AppServer, through the AppServer Internet Adapter (AIA), or a web server. 	
URL-DECODE Method	Returns a URL string to decode. This method is called by the url-decode WebSpeed API function. Intended for internal use only.	
URL-ENCODE Method	Returns characters to encode. This method is called by the url-encode WebSpeed API function. Intended for internal use only.	
URL-PASSWORD Attribute	Password parameter for connecting to the server referenced in the URL, if required by the URL protocol.	
URL-USERID Attribute	Userid parameter for connecting to the server referenced in the URL, if required by the URL protocol.	
USE Statement	Specifies environment defaults that apply to subsequent windows that the application creates. The defaults might reside in the registry or in an initialization file. The defaults can involve colors, fonts, environment variables, etc. You must specify a default in a LOAD statement before you specify it in a USE statement.	USE environment [ NO-ERROR ]	
USERID Function	Returns a character string representing the user ID for the specified database connection identity.	USERID [ ( logical-dbname ) ]	
USER-ID Attribute	The non-qualified user ID (user name) associated with a client-principal object. You must set this attribute before you can seal the associated client-principal object with the:	
UserIndexStatId Property	The UserIndexStatId property identifies the UserIndexStat VST. This VST displays statistics on the number of accesses to a specific range of indexes. You can pass the UserIndexStatId property to the GetVSTHandle() method to return the handle to the UserIndexStat VST. This is a read-only property.	
UserIOId Property	The UserIOId property identifies the UserIO VST. This VST contains information about the temp-table database input/output operations, such as user number and name; and the number of accesses, reads, and writes. You can pass the UserIOId property to the GetVSTHandle() method to return the handle to UserIO VST. This is a read-only property.	
UserTableStatId Property	The UserTableStatId property identifies the UserTableStat VST. This VST displays statistics on the number of accesses to a specific range of tables.You can pass the UserTableStatId property to the GetVSTHandle() method to return the handle to UserTableStat VST. This is a read-only property.	
USING Statement	Allows you to reference a single specified ABL or .NET object type, or reference all the types in an ABL package or .NET namespace, using their unqualified type names.	USING<br>&nbsp;&nbsp;{ object-type-name | { package-name | namespace } .* }<br>&nbsp;&nbsp;[ FROM { ASSEMBLY | PROPATH } ]	
V6DISPLAY Attribute	Indicates whether the AVM follows Progress Version 6 rules or Progress Version 7 rules when it lays out and displays widgets in Windows. This attribute lets you compile and execute Progress Version 6 applications on Progress Version 7 in Windows.	
VALIDATE Method	Executes any validation tests established in a database or specified by the VALIDATE option of the Format phrase. 	VALIDATE ( [ "ENABLED-FIELDS" ] )	
VALIDATE Statement	Verifies that a record complies with mandatory field and unique index definitions. 	VALIDATE record [ NO-ERROR ]	
VALIDATE-EXPRESSION Attribute	The value of the validation expression in the database schema for the database field that corresponds to the buffer-field.	
VALIDATE-MESSAGE Attribute	The value of the validation message in the database schema for the database field that corresponds to the buffer-field.	
VALIDATE-SEAL Method	Validates the message authentication code (MAC) generated by the SEAL(&nbsp;) method to seal a client-principal object.	VALIDATE-SEAL ( [ domain-access-code ] )	
VALIDATE-XML Attribute	Sets validation on parsing when an XML document is posted to the transaction server. The default is NO.	
VALIDATION-ENABLED Attribute	Indicates whether the parser validates the XML document against the DTD.	
VALID-EVENT Function	Verifies whether a specified event is valid for a specified widget. For each type of widget, only certain events are valid. The function returns a value (TRUE/FALSE). 	VALID-EVENT ( handle , event-name [ , platform ] )	
VALID-HANDLE Function	Verifies that a handle is valid. 	VALID-HANDLE ( handle )	
VALID-OBJECT Function	Verifies that an object reference points to a valid ABL or .NET object instance. If the object reference represents an object that is currently valid, the function returns TRUE. If the object reference is no longer valid (for example, it was garbage collected or explicitly deleted), the function returns FALSE.	VALID-OBJECT ( object-reference )	
VALUE Attribute	The data values in the system clipboard. 	
Value Property	Returns the ABL value represented by an associated DataSlot object. A DataSlot object's value can be any of several ABL data types; the type of a given DataSlot is designated by its DataTypeName property. Normal ABL assignment rules are in effect when assigning to or from a DataSlot object's Value property.	
VALUE-CHANGED Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
VERSION Attribute	Determines the value of the version string in the XML declaration of a SAX-writer object.	&lt;?xml version="1.0" encoding="UTF-8"?&gt;	
VERSION Function	Returns the version of ABL, or release of OpenEdge, you are running.	PROVERSION	MM.EE.SS.HH[Beta] 	
VersionInfo Property	An object reference to a Progreses.Lang.OEVersionInfo class that identifies the OpenEdge version of a given OpenEdge session.	
VIEW Statement	Displays a widget (sets its VISIBLE attribute to TRUE).	VIEW<br>  [ STREAM stream | STREAM-HANDLE handle ]<br>  [ widget-phrase ]<br>  [ IN WINDOW window ]	
VIEW-AS Attribute	Sets the widget type of a dynamic or static browse column for a buffer-field object. 	
VIEW-FIRST-COLUMN-ON-REOPEN Attribute	Controls whether the browse, when an OPEN Query statement is run, displays the first column in the viewport or the columns that were in the viewport before the Query was reopened.	
VIRTUAL-HEIGHT-CHARS Attribute	The maximum height of the widget, in character units.	
VIRTUAL-HEIGHT-PIXELS Attribute	The maximum height of the widget, in pixels.	
VIRTUAL-WIDTH-CHARS Attribute	The maximum width of the widget, in character units.	
VIRTUAL-WIDTH-PIXELS Attribute	The maximum width of the widget, in pixels.	
VISIBLE Attribute	Indicates whether a widget is currently visible on the display.	VISIBLE [ IN BROWSE browse-name ]	
WAIT-FOR Statement	This WAIT-FOR statement instructs the AVM to stop executing the current block until a specific ABL event occurs. The AVM continues to respond to all other incoming events and execute any associated triggers or event procedures while in this wait state.	WAIT-FOR event-list OF widget-list <br>&nbsp;&nbsp;[ OR event-list OF widget-list ] ...<br>&nbsp;&nbsp;[ FOCUS widget ]<br>&nbsp;&nbsp;[ PAUSE n ]	WAIT-FOR "WEB-NOTIFY" OF DEFAULT-WINDOW<br>&nbsp;&nbsp;[ PAUSE n ]<br>&nbsp;&nbsp;[ EXCLUSIVE-WEB-USER ]	
WARNING Attribute	Indicates whether the last compilation produced warning messages.	
WC-ADMIN-APP Attribute	Indicates whether a WebClient application is an Administrator installation or a personal installation. If TRUE, a user with Administrator privileges installed the application. If FALSE, the user did not have those privileges and installed a personal instance of the application.	
WEB-CONTEXT Handle	Provides access to information on the current connection to the Web server.	WEB-CONTEXT  [ :attribute | :method ]	
WEB-NOTIFY Event	Events are run-time conditions that cause the ABL Virtual Machine (AVM) to respond by executing specified ABL code or by activating certain system behaviors. Events can occur directly as a result of ABL, user, or other external actions that affect the application. However events occur, the resulting executed code or activated behavior is referred to as event driven.	
WEEKDAY Function	Evaluates a date expression and returns the day of the week as an INTEGER value from 1 (Sunday) to 7 (Saturday) for that date.	WEEKDAY ( date )	WEEKDAY ( datetime-expression )	
WHERE Option	Identifies the record or records you want to verify using the CAN-FIND function, retrieve with a FIND statement, query with a FOR statement or OPEN QUERY statement, or preselect in a DO or REPEAT block. 	{ record [ field-list ] }<br>[ constant ]<br>[ [ LEFT ] OUTER-JOIN ]<br>[ OF table ]<br>[ WHERE expression ]<br>[ TENANT-WHERE expression [ SKIP-GROUP-DUPLICATES ] ]<br>[ USE-INDEX index | TABLE-SCAN ] <br>[ USING [ FRAME frame ] field <br>    [ AND [ FRAME frame ] field ] ... ]<br>[ SHARE-LOCK | EXCLUSIVE-LOCK | NO-LOCK ]<br>[ NO-PREFETCH ]	
WHERE-STRING Attribute	Returns and allows you to modify the current WHERE expression from the query generated for a specified data-relation that links the child table to its parent.	DEFINE TEMP-TABLE ttCus LIKE Customer.<br>DEFINE TEMP-TABLE ttOrder LIKE Order.<br>DEFINE DATASET dsCus FOR ttCus,ttOrder DATA-RELATION dr1<br>&nbsp;&nbsp;FOR ttCus, ttOrder RELATION-FIELDS(CustNum,CustNum).<br>&nbsp;<br>DEFINE DATA-SOURCE dscCus FOR Customer.<br>DEFINE DATA-SOURCE dscOrd FOR Order.<br>&nbsp;<br>DEFINE QUERY q1 FOR ttCus.<br>DEFINE QUERY q2 FOR ttOrder.<br>&nbsp;<br>DEFINE BROWSE b1 QUERY q1 <br>&nbsp;&nbsp;DISPLAY ttCus.CustNum ttCus.Name ttCus.Address WITH 3 DOWN.<br>DEFINE BROWSE b2 QUERY q2 <br>&nbsp;&nbsp;DISPLAY ttOrder.CustNum ttOrder.OrderNum ttOrder.ShipDate WITH 6 DOWN.<br>&nbsp;<br>BUFFER ttCus:ATTACH-DATA-SOURCE(DATA-SOURCE dscCus:HANDLE).<br>BUFFER ttOrder:ATTACH-DATA-SOURCE(DATA-SOURCE dscOrd:HANDLE).<br>DATA-SOURCE dscCus:FILL-WHERE-STRING = "WHERE CustNum &lt; 3".<br>DATASET dsCus:FILL(&nbsp;).<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;+ " AND ttOrder.OrderNum &lt; 100". <br>&nbsp;<br>/* Shows full dataset */<br>FOR EACH ttCus:<br>&nbsp;&nbsp;DISPLAY ttCus.CustNum.<br>&nbsp;&nbsp;FOR EACH ttOrder OF ttCus:<br>&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY ttOrder.OrderNum ttOrder.OrderDate.<br>&nbsp;&nbsp;END.<br>END.<br>&nbsp;<br>BROWSE b1:QUERY = DATASET dsCus:TOP-NAV-QUERY.<br>BROWSE b2:QUERY = DATASET dsCus:GET-RELATION(1):QUERY.<br>&nbsp;<br>/* Shows only filtered records */<br>ENABLE b1 b2 WITH FRAME frX ROW 1 SIZE 70 BY 30.<br>&nbsp;<br>WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW.	
WIDGET-ENTER Attribute	A handle, in a trigger associated with an ENTRY event or a LEAVE event, to the next widget to receive input focus. 	
WIDGET-HANDLE Function	This function is supported only for backward compatibility. Use the HANDLE function instead.	WIDGET-HANDLE ( handle-string )	
Widget-Handle Property	The handle of the control frame associated with the control-frame COM object.	
WIDGET-ID Attribute	An application-defined widget ID for a static or dynamic widget. The value of this attribute must be an even INTEGER value between 2 and 65534, inclusive, and it must be unique across all widget IDs in a window. 	
WIDGET-LEAVE Attribute	A handle, in a trigger associated with an ENTRY event or a LEAVE event, to the widget that had input focus prior to the event. 	
Width Property	The width of the control-frame and control-frame COM object, in pixels.	
WIDTH-CHARS Attribute	The width of the widget or the display used in the current session, in character units.	
WIDTH-PIXELS Attribute	The width of the widget or the screen display used in the current session, in pixels.	
WINDOW Attribute	A handle to the window that owns a widget or that contains the owner of a widget.	
WINDOW Widget	A window is a rectangular area on the screen that can contain frame widgets, parent dialog boxes, and parent other windows. It is surrounded by a standard border and affordances provided by your window system to manipulate the window&#8217;s size, location, and appearance on the screen.				
WINDOW-CLOSE Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
WINDOW-MAXIMIZED Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
WINDOW-MINIMIZED Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
WINDOW-RESIZED Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
WINDOW-RESTORED Event	The tables in this section describe user interface events, the user actions that generate the events, and widgets that have default behavior for the events. The term field&#8209;level widgets refers to any widgets that can be part of a field group in a frame: fill&#8209;ins, sliders, selection lists, toggle boxes, radio sets, editors, rectangles, images, text, buttons, combo boxes, and browse widgets. Frames, dialog boxes, windows, menus (including menu bars and pop&#8209;up menus), sub&#8209;menus, and menu items can also receive events. Note that there is frequently a distinction made between a browse widget and a single cell in an updateable browse. For the most part, a browse cell behaves as a fill&#8209;in widget. 	
WINDOW-STATE Attribute	The current visual state of a window in the window system.	
WINDOW-SYSTEM Attribute	A value that indicates the windowing system the application is using.	
WORD-WRAP Attribute	Indicates whether word wrapping is enabled for an editor widget.	
WORK-AREA-HEIGHT-PIXELS Attribute	Indicates the height of the work-area in pixels. The work-area is the portion of the Windows desktop that is not hidden by task bars. That is, the dimensions of the work-area are the dimensions of the Windows desktop minus the dimensions of all task bars on the Windows desktop.	
WORK-AREA-WIDTH-PIXELS Attribute	Indicates the width of the work-area in pixels. The work-area is the portion of the Windows desktop that is not hidden by task bars. That is, the dimensions of the work-area are the dimensions of the Windows desktop minus the dimensions of all task bars on the Windows desktop.	
WORK-AREA-X Attribute	The starting x-coordinate (the upper left-hand corner) of the work-area in pixels. The work-area is the portion of the Windows desktop that is not hidden by task bars. That is, the dimensions of the work-area are the dimensions of the Windows desktop minus the dimensions of all task bars on the Windows desktop.	
WORK-AREA-Y Attribute	The starting y-coordinate (the upper left-hand corner) of the work-area in pixels. The work-area is the portion of the Windows desktop that is not hidden by task bars. That is, the dimensions of the work-area are the dimensions of the Windows desktop minus the dimensions of all task bars on the Windows desktop.	
Write Method	Writes data to the socket.	WRITE ( buffer , position , bytes-to-write )	
WRITE-CDATA Method	Adds a CDATA block to an XML document represented by a SAX-writer object.	WRITE-CDATA ( CDATA_block )	
WRITE-CHARACTERS Method	Adds character data to an XML document represented by a SAX-writer object.	WRITE-CHARACTERS ( { chardata | longchar } )	
WRITE-COMMENT Method	Adds a comment to the XML document represented by a SAX-writer object.	WRITE-COMMENT ( value )	
WRITE-DATA-ELEMENT Method	Creates a complete XML node in a SAX-writer object.	WRITE-DATA-ELEMENT ( name , { chardata | longchar } [ , namespace-URI ] <br>&nbsp;&nbsp;[ , SAX-attributes-handle ] )	
WRITE-EMPTY-ELEMENT Method	Creates an empty XML node in a SAX-writer object.	WRITE-EMPTY-ELEMENT ( name [ , namespace-URI ] [ , SAX-attributes-handle ] )	
WRITE-ENTITY-REF Method	Adds an entity reference to the XML document represented by a SAX-writer object.	WRITE-ENTITY-REF ( value )	
WRITE-EXTERNAL-DTD Method	Adds an external Document Type Definition (DTD) reference to an XML document represented by a SAX-writer object.	WRITE-EXTERNAL-DTD ( name , systemID [ , publicID ] )	
WriteFile Method	Serializes the JsonArray and any JsonConstructs it references to an output file. This is a recursive process resulting in a JSON representation of the entire set of JsonObjects and JsonArrays. On successful completion this method returns TRUE.	WriteFile( INPUT file-name AS CHARACTER )<br>&nbsp;<br>WriteFile( INPUT file-name AS CHARACTER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT formatted AS LOGICAL )<br>&nbsp;<br>WriteFile( INPUT file-name AS CHARACTER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT formatted AS LOGICAL,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT encoding AS CHARACTER )	
WRITE-FRAGMENT Method	Adds character data to the XML document represented by a SAX-writer object.	WRITE-FRAGMENT ( { chardata | longchar | x-noderef } )	
WRITE-JSON Method	Writes a JSON string from a ProDataSet, a temp-table, or a temp-table buffer object. In the case of the temp-table buffer object, all the records of the temp-table associated with the buffer object are written to the JSON string&#8212;not just the one in the buffer.	WRITE-JSON ( target-type , { file | stream | stream-handle | memptr | longchar }<br>&nbsp;&nbsp;[ , formatted [ , encoding [ , omit-initial-values<br>&nbsp;&nbsp;[ , omit-outer-object ] ] ] )	
WRITE-MESSAGE Method	Writes a user message to the current log file. 	WRITE-MESSAGE ( msg-exp [ , subsys-expr ])	
WriteOnly Property	This property is TRUE if the value of the associated dataslot can be set but not read; otherwise, it is FALSE. 	
WRITE-PROCESSING-INSTRUCTION Method	Creates a processing instruction node in an XML document represented by a SAX-writer object.	WRITE-PROCESSING-INSTRUCTION ( target, data )	
WRITE-STATUS Attribute	The current state of a XML write in a SAX-writer object.	
WriteStream Method	Serializes the JsonArray and any JsonConstructs it references to a statically defined output stream. This is a recursive process resulting in a JSON representation of the entire set of JsonObjects and JsonArrays. On successful completion this method returns TRUE.	WriteStream(INPUT stream AS CHARACTER)<br>&nbsp;<br>WriteStream(INPUT stream AS CHARACTER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT formatted AS LOGICAL)<br>&nbsp;<br>WriteStream(INPUT stream AS CHARACTER,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT formatted AS LOGICAL,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INPUT encoding AS CHARACTER)<br>&nbsp;	
WRITE-XML Method	Writes an XML document from a ProDataSet, temp-table, or temp-table buffer object. In the case of the temp-table buffer object, all the records of the temp-table associated with the buffer object are written to the XML document&#8212;not just the one in the buffer. You can write the XML representation of the object with data, schema, or both. If you include schema, it is written using the XML Schema Definition (XSD) language. 	WRITE-XML ( target-type <br>&nbsp;&nbsp;, { file | stream | stream-handle | memptr | handle | longchar }<br>&nbsp;&nbsp;[ , formatted [ , encoding [ , schema-location [ , write-xmlschema <br>&nbsp;&nbsp;[ , min-xmlschema [ , write-before-image [ , omit-initial-values <br>&nbsp;&nbsp;] ] ] ] ] ] ] )	
WRITE-XMLSCHEMA Method	Writes an XML representation of the definition of a ProDataSet, temp-table, or temp-table buffer object (that is, an XML Schema file). The XML Schema is written using the XML Schema Definition (XSD) language. 	WRITE-XMLSCHEMA ( target-type , <br>&nbsp;&nbsp;{ file | stream | stream-handle | memptr | handle | longchar }<br>&nbsp;&nbsp;[ , formatted [ , encoding [ , min-xmlschema [ , omit-initial-values <br>&nbsp;&nbsp;] ] ] ] )	
X Attribute	The pixel location of the left edge of a widget relative to the left edge of the parent widget or the display. The pixel location of the mouse cursor relative to the left edge of the display (for the last mouse event).	
XCODE-SESSION-KEY Attribute	When set, the XCODE-SESSION-KEY attribute contains the encryption key used by the COMPILE statement for the current session. The attribute must contain the same key used with the XCODE utility. The attribute does not have a default or initial value. To unset the attribute, set it with the Unknown value (?).	
X-DOCUMENT Attribute	Contains the X-document object handle of an XML document posted to the transaction server or the Unknown value (?) if there isn&#8217;t one.	
XML-DATA-TYPE Attribute	Returns the XML Schema data type for the buffer-field object. 	
XML-NODE-NAME Attribute	Indicates the name of the XML element or attribute representing the ProDataSet, the temp-table, the temp-table buffer, or the temp-table buffer-field object name in an XML document. 	
XML-NODE-TYPE Attribute	The XML node type of the buffer-field or ProDataSet object, which lets you specify how the object is represented in XML and XML Schema.	
XML-SCHEMA-PATH Attribute	A delimiter-separated list of directory paths for the XML Document Type Definition (DTD) associated with a particular XML document in a WebSpeed environment. Searched if the XML document contains a relative path to the DTD.	
XML-SUPPRESS-NAMESPACE-PROCESSING Attribute	Specifies whether to suppress namespace processing.	
Xor Method	Performs a bitwise exclusive OR operation on the underlying values of the specified enumeration types and returns a new instance. You typically use this method to toggle a flag.	EnumHelper:Xor ( INPUT enum1 AS CLASS System.Enum, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT enum2 AS CLASS System.Enum )	
Y Attribute	The pixel location of the top edge of the widget relative to the top edge of the parent widget or the display. The pixel location of the mouse cursor relative to the top edge of the display (for the last mouse event). This attribute is functionally equivalent to the ROW attribute.	
YEAR Function	Evaluates a date expression and returns the year value of that date, including the century, as an INTEGER value.	YEAR ( date )	YEAR ( datetime-expression )	
YEAR-OFFSET Attribute	The current start date for the ABL two-digit year-range of 100 years. Use this attribute to display DATE, DATETIME, and DATETIME-TZ data when the format specifies a two-digit year.	
