Release 10.1A: OpenEdge Development:
Progress 4GL Reference

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

> Alternatively, you can activate or deactivate an individual data-relation object in a ProDataSet object by setting the ACTIVE attribute on the Data-relation object handle.

> Data type: LOGICAL

> Access: Readable/Writeable

> Applies to: ProDataSet object handle

> Deactivate all data-relations in a ProDataSet object when you want a FILL operation to load data into each ProDataSet member buffer using the individual buffer’s query (instead of recursively loading parent and child buffers as defined by the data-relations). Likewise, you can reactivate all data-relations in a ProDataSet object after completing a FILL operation to use the data-relations for traversing the data after the data is loaded.

> When Progress encounters an inactive relation (or the last child buffer in the relation tree), during a FILL operation on a ProDataSet buffer object handle, Progress does not fill the child buffers of that relation. When Progress 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 records from its data source) and fills each child buffer based on the data relation’s query. If you do not want Progress 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. Progress does not fill any of the child buffers.

> If Progress 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 Progress construct in your application code.

> When you reactivate data-relations, Progress 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.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095