Top Method Summary
Options Name Purpose
AttachDataSources () Attaches the DATA-SOURCE objects to the ProDataset Buffers
BindDataset (dataset) Do nothing, just receive the parameter and bind to the received Dataset reference
CustomizeFetchDataRequest (IFetchDataRequest) Hook method to support customization the IFetchDataRequest or ICountRecordsRequest
Consultingwerk.IQueryExpression CustomizeTableNameFetchDataRequest (IQueryExpression, character) Handles the customization of the ParentTableName or ChildTableName filters
DefineReadEvents () TO-DO: Subscribe to ProDataset Event Handlers using SET-CALLBACK as needed
DetachDataSources () Detaches the DATA-SOURCE objects to the ProDataset Buffers
eSmartRelationAfterFill (dataset) AFTER-FILL Callback for the eSmartRelation Table
FetchDataByStaticQuery (IFetchDataByStaticQueryRequest) Fetches data for single table, using a static query
FetchSmartRelationByRelationGuid (character, character) FetchData method for static query
GetMissingDatabaseRelations (dataset, GetMissingDatabaseRelationsParameter) Returns a list of missing Database Relations to the caller
SaveChanges () Save changes to physical storage
CHARACTER SourceColumn (character, character) Returns the database field name matching a temp-table field name contained in a consumers query string (query string vs. temp-table definition)
CHARACTER SourceDefaultQuery (character) Returns the base query string used to retrieve data for the temp tables. This query string will be appended by the query provided by the consumer (FetchDataRequest object).

Top Constructor Summary
Options Name Purpose
RelationDataAccess (handle) Constructor for the RelationDataAccess class


Method Detail
Top

AttachDataSources ()

Purpose: Attaches the DATA-SOURCE objects to the ProDataset Buffers
Notes: Overrides ABSTRACT method in Consultingwerk.OERA.DataAccess,
Invoked in FetchData and SaveChanges

Top

BindDataset (dataset)

Purpose: Do nothing, just receive the parameter and bind to the received
Dataset reference
Notes: Invoked from the class constructor

Parameters:
dsRelation DATASET dsRelation
DATASET to bind to
Top

CustomizeFetchDataRequest (IFetchDataRequest)

Purpose: Hook method to support customization the IFetchDataRequest or ICountRecordsRequest
Notes: Centralized location to customize queries for FetchData and CountResultRecords

Parameters:
poFetchDataRequest Consultingwerk.OERA.IFetchDataRequest
The IFetchDataRequest instance to customize
Top

Consultingwerk.IQueryExpression CustomizeTableNameFetchDataRequest (IQueryExpression, character)

Purpose: Handles the customization of the ParentTableName or ChildTableName filters
Notes: Invoked from CustomizeFetchDataRequest

Parameters:
poQueryExpression Consultingwerk.IQueryExpression
The IQueryExpression instance to customize
pcFieldName CHARACTER
The field name to customize
Returns Consultingwerk.IQueryExpression
The IQueryExpression instance (same, for lists, different, for single QueryExpression as input)
Top

DefineReadEvents ()

Purpose: TO-DO: Subscribe to ProDataset Event Handlers using SET-CALLBACK
as needed
Notes: Overrides ABSTRACT method in Consultingwerk.OERA.DataAccess,
Invoked in FetchData, note that the callback methods need to be
PUBLIC and need to have the Dataset defined as an INPUT Parameter.
Errors thrown from or raised in the FILL call-back methods of the
DataAccess class (SET-CALLBACK) will stop the Dataset from getting
filled / filled further. However errors thrown from the call-back
methods are not thrown from the FILL() method further up into a
catch block or to the client.
See http://knowledgebase.progress.com/articles/Article/P188375
Sample: BUFFER eCustomer:SET-CALLBACK (Consultingwerk.DatasetBufferCallbackEnum:AfterFill,
"eCustomerAfterFill":U) U) .

Top

DetachDataSources ()

Purpose: Detaches the DATA-SOURCE objects to the ProDataset Buffers
Notes: Overrides ABSTRACT method in Consultingwerk.OERA.DataAccess,
Invoked in FetchData and SaveChanges

Top

eSmartRelationAfterFill (dataset)

Purpose: AFTER-FILL Callback for the eSmartRelation Table
Notes: We're not using the SmartRelation itself for populating the Parent
and Child table name to avoid chicken and egg situations

Parameters:
dsRelation DATASET dsRelation
The Dataset
Top

FetchDataByStaticQuery (IFetchDataByStaticQueryRequest)

Purpose: Fetches data for single table, using a static query
Notes:

Parameters:
poParameter Consultingwerk.OERA.IFetchDataByStaticQueryRequest
The query parameter object
Top

FetchSmartRelationByRelationGuid (character, character)

Purpose: FetchData method for static query
Notes:

Parameters:
pcRelationGuid CHARACTER
The RelationGuid value
pcChildTables CHARACTER
a list of the child tables to fill
Top

GetMissingDatabaseRelations (dataset, GetMissingDatabaseRelationsParameter)

Purpose: Returns a list of missing Database Relations to the caller
Notes:

Parameters:
dsMissingRelations DATASET dsMissingRelations
INPUT-OUTPUT DATASET
poParameter Consultingwerk.SmartFramework.System.GetMissingDatabaseRelationsParameter
The Parameter Object for this method
Top

SaveChanges ()

Purpose: Save changes to physical storage
Notes: This implementation of data access save traverses all records in order
to:
- Allow the DA to control transactions, which cannot be directly
controlled in distributed BL. Transaction control is a concern of
the BL, but should not be controlled with TRANSACTION keyword.
- Offer a course grained save interface from distributed BL
- The default operation here is just a transaction per record
- This simple sample does not use child relations to traverse
the buffers as the OERI BE example. (A property that controls
update order would give the same effect).
- Traversing of child data from a parent would make sense if done for
one parent record at a time.

Top

CHARACTER SourceColumn (character, character)

Purpose: Returns the database field name matching a temp-table field name
contained in a consumers query string (query string vs. temp-table
definition)
Notes: Call-back used by Consultingwerk.OERA.Query.DSQueryString (part of
DataAccess:FetchData FetchData () query preparation
TO-DO: Provide code for alternative mapping

Parameters:
pcTable CHARACTER
The temp table name to return the source (database table) field name for
pcColumn CHARACTER
The temp table column name to return the source (database table) field name for
Returns CHARACTER
The database field name mapped to the passed in temp-table field
Top

CHARACTER SourceDefaultQuery (character)

Purpose: Returns the base query string used to retrieve data for the temp
tables. This query string will be appended by the query provided by
the consumer (FetchDataRequest object).
Notes: Call-back used by Consultingwerk.OERA.Query.DSQueryString (part of
DataAccess:FetchData FetchData () query preparation
TO-DO: Provide code to return the DATA-SOURCE root query string

Parameters:
pcTable CHARACTER
The temp table name to return the source default (database) query string for
Returns CHARACTER
The base query string used to retrieve data for the given temp-table


Constructor Detail
Top

RelationDataAccess (handle)

Purpose: Constructor for the RelationDataAccess class
Notes: Used by the BusinessEntity, will receive the handle of the dataset
instance form the BusinessEntity as a parameter. Permanently BIND's
to that dataset using the PRIVATE BindDataset Method.

Parameters:
phDataset HANDLE
The handle of the Business Entity dataset


ProDataset Detail

ProDataset dsMissingRelations

Member tables: ttRelation

ProDataset dsRelation

Member tables: eSmartRelation


Temp-Table Detail

Temp-Table eSmartRelation

Defined in:

Temp-Table ttRelation

Defined in:


©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       13.04.2026 10:27:59