Try OpenEdge Now
skip to main content
ABL Reference
Handle Attributes and Methods Reference : ACTIVE attribute
 

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.
Alternatively, you can activate or deactivate all data-relations in a ProDataSet object by setting the RELATIONS-ACTIVE attribute on the ProDataSet object handle. All data-relations in a ProDataSet object are active by default.
Data type: LOGICAL
Access: Readable/Writeable
Applies to: Data-relation object handle
Deactivate an individual data-relation in a ProDataSet object when you want a FILL operation to load data into a ProDataSet member buffer using the individual buffer's query. Likewise, you can reactivate a data-relation in a ProDataSet object after completing a FILL operation to use the data-relation for traversing the data after the data is loaded.
When the AVM encounters an inactive relation (or the last child buffer in the relation tree), during a FILL operation on a ProDataSet buffer object handle, the AVM does not fill the child buffers of that relation. When the AVM encounters an inactive relation during a FILL operation on a ProDataSet object handle, it treats the first child buffer of the inactive relation as a top-level table (including all rows from its data source) and fills each child buffer based on the data relation's query. If you do not want the AVM to treat the first child buffer of the inactive relation as a top-level table, set the FILL-MODE of that buffer to NO-FILL. The AVM does not fill any of the child buffers.
If the AVM encounters an inactive relation while navigating a ProDataSet object, it does not prepare or open a dynamic query for the child table, even if there is a browse associated with the relation's query. If you want to access the child temp-table, you must do so through a separate query, a FOR EACH statement, or some other standard ABL construct in your application code.
When you reactivate data-relations, the AVM does not automatically resynchronize the hierarchy of queries on buffers below the newly active relation. If you want to resynchronize the related buffers, use the SYNCHRONIZE( ) method on the parent buffer.