This section describes some of the most useful attributes you can access through a buffer handle, for either a static or dynamic buffer. You can see a complete list and descriptions at Buffer object handle in the ABL Reference.

DYNAMIC attribute

DYNAMIC attribute is a LOGICAL attribute which returns true if the buffer is dynamic and false if is static.

NAME, TABLE, and DBNAME attributes

The NAME attribute is the name of the underlying buffer. For a dynamic buffer, it is the table name the buffer was created for.

The TABLE attribute is the name of the database table or temp-table the buffer is defined or created for.

The DBNAME attribute is the database name for a buffer defined or created for a database table. For a temp-table, this equals the string "PROGRESST".

ROWID attribute

The ROWID attribute is the value of the RowID of the record currently in the buffer. You can use this, for example, to reposition a query to the same record.

NEW, LOCKED, and CURRENT-CHANGED attributes

The NEW attribute is a logical value that is true if the record in the buffer is newly created, and false if it is a record that has been read from the database table or temp-table the buffer is for.

The LOCKED attribute is a logical value that is true if the underlying record is locked and false if it is not.

The CURRENT-CHANGED attribute is a logical value that is true if the record in the buffer has any different field values from the underlying database table record, indicating that it has been changed by another user since it was read.

NUM-FIELDS attribute

The NUM-FIELDS attribute is the number of fields in the buffer.

AVAILABLE and AMBIGUOUS attributes

These attributes perform the same functions as their counterpart functions in static buffer references. If there is currently a record in the buffer, the logical AVAILABLE attribute is true, otherwise it is false. If a FIND statement or method executed on the buffer finds more than one matching record, then there is no record in the buffer (AVAILABLE is set to false) and the logical AMBIGUOUS attribute is set to true.