CREATE BUFFER statement
- Last Updated: February 11, 2026
- 2 minute read
- OpenEdge
- Version 13.0
- Documentation
Creates a dynamic buffer object.
Syntax
|
- handle
- A variable of type HANDLE that represents the handle of the buffer object.
- FOR TABLE table-name|table-handle|buffer-handle
- A character expression (table-name) that evaluates
to a unique database table name or static temp-table name, a temp-table
handle (table-handle), or to an existing buffer
object handle (buffer-handle), each of which can
specify the record source for which to create the buffer object.
If table-name is ambiguous, you must qualify the database table name with a database name or rename the temp-table. Otherwise, if the database table exists in multiple connected databases, the AVM creates the buffer in the first connected database.
- BUFFER-NAME buffer-name
- An expression of type CHARACTER that evaluates, at run time, to the name of the dynamic buffer you are creating. This option lets a dynamic query have multiple buffers for the same table.
- IN WIDGET-POOL widget-pool-name
- An expression of type CHARACTER that evaluates, at run time,
to the name of the widget pool that contains the dynamic buffer.Note: Widget pool names are not case-sensitive.
Example
The following example runs the query "for each customer" dynamically
against the Sports2020 database using a purely dynamic
buffer with no compile time references at all:
r-crtbuf.p
|
The following code fragment shows several different
ways you can create an alternate dynamic buffer for a static temp-table.
Note the notation BUFFER tt1:HANDLE and TEMP-TABLE tt1:HANDLE for
accessing the default buffer object handle and temp-table object
handle, respectively, for the static temp-table, tt1:
|
Notes
- If the character expression, table-name, identifies a temp-table defined as REFERENCE-ONLY, the statement sets handle to an unbound object that cannot function as a buffer object. To create a valid buffer object for such a table, use FOR TABLE table-handle or buffer-handle instead.
- Unless you need to use an alternate buffer, the most economical
and cleanest way to obtain a buffer object handle for a table is
to retrieve the handle for its default buffer. For example:
DEFINE VARIABLE hbuf AS HANDLE NO-UNDO. DEFINE VARIABLE htab AS HANDLE NO-UNDO. DEFINE TEMP-TABLE tt2 NO-UNDO FIELD x AS CHARACTER. CREATE TEMP-TABLE htab. htab:TEMP-TABLE-PREPARE( "dynTT" ). /* Obtaining the default buffer for a table */ hbuf = BUFFER Customer:HANDLE. /* For a database table */ hbuf = BUFFER tt2:HANDLE. /* For a static temp-table */ hbuf = htab:DEFAULT-BUFFER-HANDLE. /* For a dynamic temp-table */