Top Method Summary
Options Name Purpose
ActivateRelationeSmartObjectMastereSmartLinkRelation () Activates at eSmartObjectMastereSmartLinkRelation DATA-RELATION
ActivateRelationeSmartObjectMastereSmartObjectInstanceRelation () Activates at eSmartObjectMastereSmartObjectInstanceRelation DATA-RELATION
ActivateRelationeSmartObjectMastereSmartPageRelation () Activates at eSmartObjectMastereSmartPageRelation DATA-RELATION
ApplyCascadedRenames () Applies the collected renames to the customized variants of the renamed base object masters
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
CHARACTER BuildDataSourceQueryString (handle, IFetchDataRequest, character) Returns the Query String to be used for the DATA-SOURCE of a ProDataset member buffer
CHARACTER BuildDisableRiGuidList () Builds a comma-separated list of ObjectInstanceGuids for which referential integrity should be disabled during the save operation
CollectCascadedRenames () Collects the renames of base object masters and of instances of base object masters from the before-image of the dataset
CommitChanges (handle) This procedure is called from saveChanges in the DA to do the actual database commit and any transaction-related validation logic for a buffer.
DefineReadEvents () TO-DO: Subscribe to ProDataset Event Handlers using SET-CALLBACK as needed
DeleteOrphanedInstances () Deletes SmartObjectInstance records that were orphaned because referential integrity was disabled for the delete of their parent container.
DetachDataSources () Detaches the DATA-SOURCE objects to the ProDataset Buffers
FetchData (IFetchDataRequest) Fetch data from the data source
FetchDataByKeyTable2 (IFetchDataByKeyTableParameter) Allows retrieve multiple DB records from a Business Entity based on a temp-table with key values
FetchDataByStaticQuery (IFetchDataByStaticQueryRequest) Fetches data for single table, using a static query
FetchObjectMasterWithAttributeValues (FindObjectMasterWithAttributeValuesParameter) Returns a dataset with Object Master records that have the given attribute values
FetchSmartObjectMasterByObjectMasterGuid (character, character) FetchData method for static query
FetchSmartObjectMasterByObjectName (character, character) FetchData method for static query
FilleSmartLinkOfeSmartObjectMaster (character, character, logical) Fill child tables method for static query
FilleSmartObjectInstanceOfeSmartObjectMaster (character, character, logical) Fill child tables method for static query
FilleSmartPageOfeSmartObjectMaster (character, character, logical) Fill child tables method for static query
CHARACTER GetBaseObjectMasterGuid (character) Returns the ObjectMasterGuid of the base object master of a customized variant
CHARACTER GetCustomizationResultCode (character) Returns the customization result code of an object master
LOGICAL GetCustomizationTopology (character, character, character, character, character, character) Returns the customization topology of an object master: the customization result code of the object master, the base object master of a customized variant and the customized variants of a base object master
CHARACTER GetCustomizedObjectMasterGuid (character, character) Returns the ObjectMasterGuid of the customized variant of a base object master that applies to a list of customization result codes
CHARACTER GetObjectMasterGuidFromInstanceGuid (character) Returns the Object Master Guid based on an Object Instance GUID
CHARACTER GetObjectMasterGuidFromObjectName (character) Returns the ObjectMasterGuid from on ObjectName
LOGICAL HasReparentedInstance (character) Checks if a deleted container has children that are being moved to a different parent.
HANDLE InsertToDataSourceQuery (handle, IFetchDataRequest, character) Creates a new Query to be used as a DATA-SOURCE for a ProDataset member buffer
MovePage (MovePageParameter) Moves a page in a container
ObjectIsA (ObjectIsAParameter) Returns if the object master is a child of the given class
CHARACTER RenameCustomizedObjectInstances (character, character, character) Renames the customized (shadow) instances of an instance of a base object master in all customized variants of that object master
SaveChanges () Override SaveChanges to handle deletion of SmartObjectInstances and their children
SaveRowChanges (handle) Overridable method that executes SAVE-ROW-CHANGES on the before buffer
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
ObjectMasterDataAccess (handle) Constructor for the ObjectMasterDataAccess class

Top Property Summary
Options Name Purpose
CHARACTER CascadedObjectMasterGuids


Method Detail
Top

ActivateRelationeSmartObjectMastereSmartLinkRelation ()

Purpose: Activates at eSmartObjectMastereSmartLinkRelation DATA-RELATION
Notes:

Top

ActivateRelationeSmartObjectMastereSmartObjectInstanceRelation ()

Purpose: Activates at eSmartObjectMastereSmartObjectInstanceRelation DATA-RELATION
Notes:

Top

ActivateRelationeSmartObjectMastereSmartPageRelation ()

Purpose: Activates at eSmartObjectMastereSmartPageRelation DATA-RELATION
Notes:

Top

ApplyCascadedRenames ()

Purpose: Applies the collected renames to the customized variants of the
renamed base object masters
Notes: SCL-5899: Object master renames are applied first (index RenameType),
so that the customized variants are found by the new name of
the base when the instances are renamed afterwards

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:
dsObjectMaster DATASET dsObjectMaster
DATASET to bind to
Top

CHARACTER BuildDataSourceQueryString (handle, IFetchDataRequest, character)

Purpose: Returns the Query String to be used for the DATA-SOURCE of a ProDataset
member buffer
Notes: Wrapper to the access to the DSQueryString class to simplify overriding
the query manipulation in a custom Data Access class or customer
DataAccess base class override
This method is used to provide the query string for non top-level buffers
The returned Query String is based on the Query String that was provided
(by the consumer) and the Source Default Query of the Data Access object

Parameters:
phBufferHandle HANDLE
The Handle of the ProDataset member buffer
poFetchDataRequest Consultingwerk.OERA.IFetchDataRequest
The FetchDataRequest object of the current request
pcQueryString CHARACTER
The query string provided by the consumer
Returns CHARACTER
The Query String to be used for the data source of the ProDataset member buffer
Top

CHARACTER BuildDisableRiGuidList ()

Purpose: Builds a comma-separated list of ObjectInstanceGuids for which referential
integrity should be disabled during the save operation
Notes: This method detects the scenario where a container is being deleted while
its children are being moved (ParentInstanceGuid changed). In such cases,
the cascading delete from the SmartRelation would delete the children before
they can be reparented, so RI must be disabled for the deleted containers.
while their children are being moved

Returns CHARACTER
A comma-separated list of ObjectInstanceGuids for containers being deleted
Top

CollectCascadedRenames ()

Purpose: Collects the renames of base object masters and of instances of
base object masters from the before-image of the dataset
Notes: SCL-5899: Invoked before the changes are saved, as the previous
names are only available in the before-image. Whether the
container of a renamed instance is a base object master is
decided when the rename is applied.
An instance name of ? or "" is a transient state of the
RepositoryObjectImporter and never cascades

Top

CommitChanges (handle)

Purpose: This procedure is called from saveChanges in the DA
to do the actual database commit and any transaction-related
validation logic for a buffer.
Notes:

Parameters:
phBuffer HANDLE
The handle of the buffer to commit
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

DeleteOrphanedInstances ()

Purpose: Deletes SmartObjectInstance records that were orphaned because referential
integrity was disabled for the delete of their parent container.
Notes: When a container (e.g. a GroupBox) is deleted while one of its children is
moved out (reparented) in the same save, the cascading delete is suppressed
for that container (see BuildDisableRiGuidList) to avoid deleting the
reparented child before it gets saved. Any remaining children that were
neither moved out nor deleted by the client would otherwise stay behind
referencing a no longer existing parent. This method removes those leftover
children - and their dependent records - through the referential integrity
service, so no orphaned data is left in the repository.

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

FetchData (IFetchDataRequest)

Purpose: Fetch data from the data source
Notes: poFetchDataRequest:Context property is used to control batching
(forward/backwards) and the FindRowWhere/PreFetchOnFind
The first entry by CHR(1) in the Context is CHR(2) delimited:
1. Entry: RESTART-ROWID(s) - CHR(5) Delimited
2. Entry: Find String
3. Entry: PrefetchOnFind Value
The poFetchDataRequest parameter may also be passed in as a
FetchDataAccessRequest instance allowing further specific arguments
to be passed that are only relevant to the DataAccess class

Parameters:
poFetchDataRequest Consultingwerk.OERA.IFetchDataRequest
The IFetchDataRequest object with the parameters for this call
Top

FetchDataByKeyTable2 (IFetchDataByKeyTableParameter)

Purpose: Allows retrieve multiple DB records from a Business Entity based on
a temp-table with key values
Notes:

Parameters:
poParameter Consultingwerk.OERA.IFetchDataByKeyTableParameter
The IFetchDataByKeyTableParameter with the data for this call
Top

FetchDataByStaticQuery (IFetchDataByStaticQueryRequest)

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

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

FetchObjectMasterWithAttributeValues (FindObjectMasterWithAttributeValuesParameter)

Purpose: Returns a dataset with Object Master records that have the given attribute values
Notes:

Parameters:
poAttributes Consultingwerk.SmartFramework.Repository.Object.FindObjectMasterWithAttributeValuesParameter
The FindObjectMasterWithAttributeValuesParameter instance with the data with this call
Top

FetchSmartObjectMasterByObjectMasterGuid (character, character)

Purpose: FetchData method for static query
Notes:

Parameters:
pcObjectMasterGuid CHARACTER
The ObjectMasterGuid value
pcChildTables CHARACTER
a list of the child tables to fill
Top

FetchSmartObjectMasterByObjectName (character, character)

Purpose: FetchData method for static query
Notes:

Parameters:
pcObjectName CHARACTER
The ObjectName value
pcChildTables CHARACTER
a list of the child tables to fill
Top

FilleSmartLinkOfeSmartObjectMaster (character, character, logical)

Purpose: Fill child tables method for static query
Notes:

Parameters:
pcObjectMasterGuid CHARACTER
The ObjectMasterGuid value
pcChildTables CHARACTER
The list of child table to fill
plApplyCallback LOGICAL
Whether to apply the buffer read callbacks
Top

FilleSmartObjectInstanceOfeSmartObjectMaster (character, character, logical)

Purpose: Fill child tables method for static query
Notes:

Parameters:
pcObjectMasterGuid CHARACTER
The ObjectMasterGuid value
pcChildTables CHARACTER
The list of child table to fill
plApplyCallback LOGICAL
Whether to apply the buffer read callbacks
Top

FilleSmartPageOfeSmartObjectMaster (character, character, logical)

Purpose: Fill child tables method for static query
Notes:

Parameters:
pcObjectMasterGuid CHARACTER
The ObjectMasterGuid value
pcChildTables CHARACTER
The list of child table to fill
plApplyCallback LOGICAL
Whether to apply the buffer read callbacks
Top

CHARACTER GetBaseObjectMasterGuid (character)

Purpose: Returns the ObjectMasterGuid of the base object master of a
customized variant
Notes: SCL-5900: A customized variant shares the ObjectName of its base
object master (CustomizationResultGuid = ""). Returns the unknown
value when the object master does not exist, is the base object
master itself or has no base (compatibility with existing data)

Parameters:
pcObjectMasterGuid CHARACTER
The ObjectMasterGuid of the customized variant
Returns CHARACTER
The ObjectMasterGuid of the base object master or ?
Top

CHARACTER GetCustomizationResultCode (character)

Purpose: Returns the customization result code of an object master
Notes: SCL-5900: Returns an empty string for a base object master
(CustomizationResultGuid = "") and for a customization result
that does not exist, the unknown value when the object master
does not exist

Parameters:
pcObjectMasterGuid CHARACTER
The ObjectMasterGuid of the object master
Returns CHARACTER
The customization result code of the object master
Top

LOGICAL GetCustomizationTopology (character, character, character, character, character, character)

Purpose: Returns the customization topology of an object master: the
customization result code of the object master, the base object
master of a customized variant and the customized variants of a
base object master
Notes: SCL-5901: Serves the resolution cache of the SmartRepositoryService,
which resolves the customized variant that applies to a request
without further database access. A customized variant shares the
ObjectName of its base object master (CustomizationResultGuid = "").
The variants are returned as two parallel comma delimited lists of
the customization result codes and the ObjectMasterGuids. A variant
whose customization result does not exist is not returned

Parameters:
pcObjectMasterGuid CHARACTER
The ObjectMasterGuid of the object master
pcObjectName CHARACTER
OUTPUT The ObjectName of the object master
pcCustomizationResultCode CHARACTER
OUTPUT The customization result code of the object master, an empty string for a base object master
pcBaseObjectMasterGuid CHARACTER
OUTPUT The ObjectMasterGuid of the base object master of a customized variant, ? for a base object master or a variant without a base
pcCustomizationResultCodes CHARACTER
OUTPUT The comma delimited list of the customization result codes of the variants of a base object master
pcCustomizedObjectMasterGuids CHARACTER
OUTPUT The comma delimited list of the ObjectMasterGuids of the variants of a base object master, in the order of the codes
Returns LOGICAL
Logical value indicating if the object master exists
Top

CHARACTER GetCustomizedObjectMasterGuid (character, character)

Purpose: Returns the ObjectMasterGuid of the customized variant of a base
object master that applies to a list of customization result codes
Notes: SCL-5900: The first customization result code of the list for
which a customized variant of the object master exists wins
(single winner, no stacking of variants). Returns the unknown
value when the object master is not a base object master, when
the list is empty or when no variant exists for any of the codes

Parameters:
pcBaseObjectMasterGuid CHARACTER
The ObjectMasterGuid of the base object master
pcCustomizationResultCodes CHARACTER
The comma delimited list of customization result codes in prioritized order
Returns CHARACTER
The ObjectMasterGuid of the customized variant or ?
Top

CHARACTER GetObjectMasterGuidFromInstanceGuid (character)

Purpose: Returns the Object Master Guid based on an Object Instance GUID
Notes:

Parameters:
pcInstanceGuid CHARACTER
The Object Instance Guid
Returns CHARACTER
The ObjectMasterGuid value or ?
Top

CHARACTER GetObjectMasterGuidFromObjectName (character)

Purpose: Returns the ObjectMasterGuid from on ObjectName
Notes: SCL-5897: An object name without a customization result resolves to
the base object master (CustomizationResultGuid = ""). Customized
variants of an object master share the ObjectName of the base and
are only returned when their ObjectMasterGuid is passed in.
For compatibility with existing data, an object master that carries
a customization result (or the unknown value) but has no base is
still returned, as long as the object name is unique

Parameters:
pcObjectName CHARACTER
The Object Name or ObjectMasterGuid value
Returns CHARACTER
The ObjectMasterGuid value or ?
Top

LOGICAL HasReparentedInstance (character)

Purpose: Checks if a deleted container has children that are being moved to a different parent.
Notes: This method searches for rows in the before-table that have the specified
ObjectInstanceGuid as their ParentInstanceGuid and verifies that the
ParentInstanceGuid has changed in the after-table

Parameters:
pcObjectInstanceGuid CHARACTER
The ObjectInstanceGuid of the deleted container to check
Returns LOGICAL
Logical value indicating if the container has children being moved
Top

HANDLE InsertToDataSourceQuery (handle, IFetchDataRequest, character)

Purpose: Creates a new Query to be used as a DATA-SOURCE for a ProDataset
member buffer
Notes: Wrapper to the access to the DSQueryString class to simplify overriding
the query manipulation in a custom Data Access class or customer
DataAccess base class override
This Query is prepared based on the Query String that was provided
(by the consumer) and the Source Default Query of the Data Access object

Parameters:
phBufferHandle HANDLE
The Handle of the ProDataset member buffer
poFetchDataRequest Consultingwerk.OERA.IFetchDataRequest
The FetchDataRequest object of the current request
pcQueryString CHARACTER
The query string provided by the consumer
Returns HANDLE
The handle of the Query that was created
Top

MovePage (MovePageParameter)

Purpose: Moves a page in a container
Notes:

Parameters:
poParameter Consultingwerk.SmartFramework.Repository.Object.MovePageParameter
The Parameter Object for this method
Top

ObjectIsA (ObjectIsAParameter)

Purpose: Returns if the object master is a child of the given class
Notes:

Parameters:
poParameter Consultingwerk.SmartFramework.Repository.Object.ObjectIsAParameter
The Parameter Object for this method
Top

CHARACTER RenameCustomizedObjectInstances (character, character, character)

Purpose: Renames the customized (shadow) instances of an instance of a base
object master in all customized variants of that object master
Notes: SCL-5899: A customized instance is matched to its base instance by
name (the instance of a variant container whose InstanceName exists
in the base container), so renaming the base instance has to
cascade to the customized instances. When a variant already has an
instance of the new name, the customized instance keeps its name
(the collision is reported by the repository integrity check).
Nothing happens when the object master is not a base object master

Parameters:
pcBaseObjectMasterGuid CHARACTER
The ObjectMasterGuid of the base object master
pcOldInstanceName CHARACTER
The previous name of the instance of the base object master
pcNewInstanceName CHARACTER
The new name of the instance of the base object master
Returns CHARACTER
The comma-delimited list of the ObjectMasterGuids of the customized variants that were modified
Top

SaveChanges ()

Purpose: Override SaveChanges to handle deletion of SmartObjectInstances and their children
Notes: SCL-5899: Renames of a base object master and of instances of a
base object master cascade to the customized variants of the
object master after the changes have been saved

Top

SaveRowChanges (handle)

Purpose: Overridable method that executes SAVE-ROW-CHANGES on the before buffer
Notes: Called from CommitChanges

Parameters:
phBeforeBuffer HANDLE
The handle of the before buffer
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

ObjectMasterDataAccess (handle)

Purpose: Constructor for the ObjectMasterDataAccess 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


Property Detail
Top

CHARACTER CascadedObjectMasterGuids


Returns CHARACTER


ProDataset Detail

ProDataset dsObjectMaster

Member tables: eSmartObjectMaster, eSmartLink, eSmartObjectInstance, eSmartPage


Temp-Table Detail

Temp-Table eSmartLink

Defined in:

Temp-Table eSmartObjectInstance

Defined in:

Temp-Table eSmartObjectMaster

Defined in:

Temp-Table eSmartPage

Defined in:


©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       10.10.2026 15:30:29