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.
You can define a query for the data source of a ProDataSet member buffer at any level of the ProDataSet object to select the records to fill in one FILL operation. You can also use the FILL-WHERE-STRING attribute to override the WHERE clause in the query for the data source during a FILL operation.
You can perform a FILL operation on a ProDataSet object or one of its member buffer objects any number of times. You might do this, for example, to load data in a ProDataSet object or buffer after you have modified a data-source object query or attached to a different data-source object.
You can specify the FILL mode to direct the FILL operation for a ProDataSet member buffer using the FILL-MODE attribute. The default FILL-MODE is MERGE. When FILL-MODE is REPLACE, the BEFORE-ROW-FILL event handler is run after the original ProDataSet row is copied into the ProDataSet buffer.
A number of built-in events fire automatically at different points during the FILL process, for example before the FILL, after a record is created in the temp-table, and so on. For more information about ProDataSet events, see the ProDataSetevents.
You can recursively fill a ProDataSet with self-referencing elements, for example, bill-of-materials parent/child tables or organization chart manager/employee tables. For a static ProDataSet, use the RECURSIVE option of the data-relation object. For a dynamic ProDataSet, use the ADD-PARENT-ID-RELATION( ) method of the ProDataSet object handle.
Note: When executing the FILL( ) method on a temp-table or ProDataSet, and the default buffer of one of the contained temp-tables is available, there is no guarantee as to the state of that buffer after the method finishes executing. The record buffer may not be available. If default buffer availability is an issue, it is suggested that a named buffer be used with this method. A named buffer can be created with the DEFINE BUFFER statement.
For more information about filling a ProDataSet object, see OpenEdge Development: ProDataSets.
If successful, this method returns TRUE. Otherwise, it returns FALSE.