Namespace: Consultingwerk.OERA
Class 
DataAccess Copy to Clipboard
Parent classes:
Inherits: Progress.Lang.Object
Implements: Consultingwerk.OERA.IDataAccess, Consultingwerk.OERA.IDataAccessCanFind, Consultingwerk.OERA.IDataAccessCountRecords, Consultingwerk.OERA.Query.IDSQueryStringSource
Inherited by: Consultingwerk.Framework.RepositoryServices.Dynamics.Entities.LanguageDataAccess Consultingwerk.Framework.RepositoryServices.Dynamics.Entities.LoginCompanyDataAccess Consultingwerk.Framework.RepositoryServices.Dynamics.Entities.SmartObjectDataAccess Consultingwerk.Framework.RepositoryServices.Dynamics.Entities.SmartObjectInstanceDataAccess Consultingwerk.Framework.RepositoryServices.Dynamics.ObjectTypeDataAccess Consultingwerk.Framework.RepositoryServices.Dynamics.ProductModuleDataAccess Consultingwerk.RollbaseAdapter.MetaData.ObjectDefDataAccess Consultingwerk.RollbaseAdapter.MetaData.ObjectDefNamesDataAccess Consultingwerk.BusinessEntityDesigner.Services.BusinessEntityDataAccess Consultingwerk.BusinessEntityDesigner.Services.DatabaseSchemaDataAccess Consultingwerk.SmartFramework.SmartDataAccess Consultingwerk.SmartFramework.System.TableDataAccess Consultingwerk.SmartFramework.System.TranslationDataAccess Consultingwerk.SmartFramework.System.UiTranslationDataAccess Consultingwerk.SmartFramework.System.ValueListDataAccess Consultingwerk.SmartFramework.Web.RouteDataAccess Consultingwerk.SmartFramework.Workflow.WorkflowDataAccess Consultingwerk.SmartUnit.OERA.MockDataAccess.GenericMockDataAccess Consultingwerk.SmartFramework.Authorization.ToolbarSecurityItemDataAccess Consultingwerk.SmartFramework.Authorization.UserGroupDataAccess Consultingwerk.SmartFramework.Context.ContextStoreDataAccess Consultingwerk.SmartFramework.Lock.LockDataAccess Consultingwerk.SmartFramework.Menu.MenuDataAccess Consultingwerk.SmartFramework.Menu.MenuStyleDataAccess Consultingwerk.SmartFramework.Menu.ModuleDataAccess Consultingwerk.SmartFramework.Menu.ProductDataAccess Consultingwerk.SmartFramework.Repository.Class.AttributeDataAccess Consultingwerk.SmartFramework.Repository.Class.AttributeGroupDataAccess Consultingwerk.SmartFramework.Repository.Class.AttributeUsed.AttributeValueDataAccess Consultingwerk.SmartFramework.Repository.Class.AttributeValueDataAccess Consultingwerk.SmartFramework.Repository.Class.ClassTypeDataAccess Consultingwerk.SmartFramework.Repository.Class.LinkTypeDataAccess Consultingwerk.SmartFramework.Repository.Class.ObjectTypeDataAccess Consultingwerk.SmartFramework.Repository.Class.SupportedInstanceObjectTypeDataAccess Consultingwerk.SmartFramework.Repository.Class.SupportedLinkDataAccess Consultingwerk.SmartFramework.Repository.Customization.CustomizationDataAccess Consultingwerk.SmartFramework.Repository.Customization.CustomizationTypeDataAccess Consultingwerk.SmartFramework.Repository.Field.EntityFieldMappingDataAccess Consultingwerk.SmartFramework.Repository.Object.Export.ObjectMasterDataAccess Consultingwerk.SmartFramework.Authentication.UserDataAccess Consultingwerk.SmartFramework.Authorization.FieldSecurityItemDataAccess Consultingwerk.SmartFramework.Authorization.GroupDataAccess Consultingwerk.SmartFramework.Authorization.MenuGroupDataAccess Consultingwerk.SmartFramework.Authorization.SecurityAssignmentDataAccess Consultingwerk.SmartFramework.Authorization.SecurityObjectDataAccess Consultingwerk.SmartFramework.Authorization.SecurityRealmDataAccess Consultingwerk.SmartFramework.Authorization.SecurityTokenDataAccess Consultingwerk.SmartFramework.Repository.Object.ObjectMasterDataAccess Consultingwerk.SmartFramework.Repository.Object.WhereUsed.WhereUsedDataAccess Consultingwerk.SmartFramework.Repository.ScreenMapping.EntityTableMappingDataAccess Consultingwerk.SmartFramework.Repository.ScreenMapping.ScreenTypeDataAccess Consultingwerk.SmartFramework.Repository.ScreenMapping.UiTypeDataAccess Consultingwerk.SmartFramework.Scheduler.SchedulerJobDataAccess Consultingwerk.SmartFramework.Scheduler.SchedulerJobPlanDataAccess Consultingwerk.SmartFramework.Scheduler.SchedulerJobStatusDataAccess Consultingwerk.SmartFramework.System.AttachmentDataAccess Consultingwerk.SmartFramework.System.AttachmentRoleDataAccess Consultingwerk.SmartFramework.System.CommentRoleDataAccess Consultingwerk.SmartFramework.System.ConfigurationValueDataAccess Consultingwerk.SmartFramework.System.DeletionDataAccess Consultingwerk.SmartFramework.System.KeyFieldAssignmentTypeDataAccess Consultingwerk.SmartFramework.System.LanguageDataAccess Consultingwerk.SmartFramework.System.LoginCompanyDataAccess Consultingwerk.SmartFramework.System.MessageDataAccess Consultingwerk.SmartFramework.System.ModifiedStateDataAccess Consultingwerk.SmartFramework.System.RelationDataAccess Consultingwerk.SmartFramework.System.SmartBusinessEntityDataAccess Consultingwerk.Windows.Framework.Localization.UserInterfaceCultureDataAccess
ABSTRACT

File:DataAccess
Purpose:Abstract base class for OERA Data Access objects
Author(s):Mike Fechner / Consultingwerk Ltd.
Created:Wed Feb 24 22:19:03 CET 2010
Notes:SCL-1480: Now supports the SaveRowChanges custom log entry
type to log details about "current row modified by another
user" issues



Top Method Summary
Options Name Purpose
+ ActivateDefaultRelations () Enables the given ProDataset relations. Disables all other parent-relations of the relation's child buffer */
+ ActivateRelations (character) Enables the given ProDataset relations. Disables all other parent-relations of the relation's child buffer
# AssignKeyFieldValues (handle) Invoked by DataAccess:CommitChanges within the database transaction to optionally assign key field values for new records
# LOGICAL AttachDataSource (handle, handle, character) Attaches a data-source object to a temp-table buffer in a ProDataSet object
# LOGICAL AttachDataSource (handle, handle, character, character) Attaches a data-source object to a temp-table buffer in a ProDataSet object
# LOGICAL AttachDataSource (handle, handle, character, character, character) Attaches a data-source object to a temp-table buffer in a ProDataSet object
# LOGICAL AttachDataSource (handle, IBufferDataSource) Attaches a data-source object generated by an BufferDataSource instance to a temp-table buffer in a ProDataSet object
# LOGICAL AttachDataSource (handle, IBufferDataSource, character) Attaches a data-source object generated by an BufferDataSource instance to a temp-table buffer in a ProDataSet object
# A AttachDataSources () Attaches the DATA-SOURCE objects to the ProDataset Buffers
# CHARACTER BuildDataSourceQueryString (handle, IFetchDataRequest, character) Returns the Query String to be used for the DATA-SOURCE of a ProDataset member buffer
+ CanFind (CanFindParameter) Returns a TRUE value if a record is found that meets the specified FIND criteria; otherwise it returns FALSE. CAN-FIND does not make the record available to the Business Entity or it's caller.
# CommitChanges (handle) This method is called from SaveChanges in the DA to do the actual database commit and any transaction-related validation logic for a buffer.
+ CountResultRecords (ICountRecordsRequest) Counts the number of result records in the data source query
# CustomizeFetchDataRequest (IFetchDataRequest) Hook method to support customization the IFetchDataRequest or ICountRecordsRequest
# LOGICAL DatasetBufferFill (handle, IFetchDataRequest) Invokes the FILL method of a ProDataset member buffer
# LOGICAL DatasetFill (handle, IFetchDataRequest) Invokes the ProDataset FILL method
# A DefineReadEvents () TO-DO: Subscribe to ProDataset Event Handlers using SET-CALLBACK as needed
# A DetachDataSources () Detaches the DATA-SOURCE objects to the ProDataset Buffers
# EnableDataAccessQueryLogging () Enables DataAccessLogging
# CHARACTER ExpandTables (character) Expands the FetchDataRequest:Tables parameter, in case it contains the * wild-card character
+ FetchData (IFetchDataRequest) Fetch data from the data source
+ FetchDataByKeyTable (IFetchDataByKeyTableParameter) Allows retrieve multiple DB records from a Business Entity based on a temp-table with key values
- FetchDataInternal (IFetchDataRequest) Fetch data from the data source
# ROWID FindRecord (character, handle, character, integer, integer) Finds a record in the data source query and returns the ROWID ARRAY (used as RESTART-ROWID in FetchData)
# Consultingwerk.OERA.FindRecordResult FindRecord2 (character, handle, character, integer, integer) Finds a record in the data source query and returns the ROWID ARRAY (used as RESTART-ROWID in FetchData)
+ Consultingwerk.OERA.FindRecordResult FindRecord2 (character, handle, character, integer, integer, logical) Finds a record in the data source query and returns the ROWID ARRAY (used as RESTART-ROWID in FetchData)
# FindSourceBuffer (handle, logical) Locates the matching record in the first source buffer of the given Dataset Buffer
# HandleRecordLockedError (handle, SysError) Handles a record locked error invoked during the SAVE-ROW-CHANGES method
# InitializeDataAccessQueryLogging () Initializes DataAccessLogging
# HANDLE InsertToDataSourceQuery (handle, IFetchDataRequest, character) Creates a new Query to be used as a DATA-SOURCE for a ProDataset member buffer
# InvokeCommitChangesCallback (CommitCallbackTypeEnum, handle) Invokes a CommitChangesCallback
# LOGICAL IsQueryFlagPresent (character, character) Returns if the passed in field (prefixed with the temp-table) is referenced in a list of query flag fiels and is contained in the FetchDataRequest's QueryExpression
# LogCurrentRowModifiedIssue (handle) Logs details about "current row has been modified by another user to the current logile
# LogUnableToFindDbBufferIssue (handle, Error) Logs details about "Unable to find record for db buffer "name" during SAVE-ROW-CHANGES" to the current logile
# Consultingwerk.OERA.IDSQueryString NewDSQueryString (character, character) Factory method for the DSQueryString objects
# Consultingwerk.OERA.IDSQueryString NewDSQueryString (character, character, logical) Factory method for the DSQueryString objects
# Consultingwerk.OERA.IDSQueryString NewDSQueryStringForKeyValueTable (character, character, logical, IFetchDataByKeyTableParameter, character) Factory method for the DSQueryStringForKeyValueTable objects
# Consultingwerk.IQueryRowIdentifier NewQueryRowIdentifier () Overridable factory method to create an instance of the IQueryRowIdentifier class
# OnAfterSaveChanges (EventArgs) Raises the AfterSaveChanges
# OnAfterSavingRowChanges (SaveRowChangesEventArgs) Raises the AfterSavingRowChanges event
# OnBeforeSaveChanges (EventArgs) Raises the BeforeSaveChanges
# OnBeforeSavingRowChanges (SaveRowChangesEventArgs) Raises the BeforeSavingRowChanges event
# OnHandleCommitError (HandleCommitErrorEventArgs) Raises the HandleCommitError
# OnHandleCommitSysError (HandleCommitErrorEventArgs) Raises the HandleCommitSysError
+ CHARACTER ParentRelationSourceQueryString (handle) Returns the query string matching the DATA-RELATION field pairs referencing the source fields on the parent table
# Consultingwerk.IQueryExpression ParseTopBufferRequestQuery (IFetchDataRequest) Parses the Query of the top-buffer from the current request
# ProcessFetchDataRequestVariables (IFetchDataRequest) Expands variables in the FetchDataRequest:Queries
+ RepositionBackwards (handle, integer) Reposition the given query backwards by the given number of records
# ROWID RepositionBackwards (handle, rowid[], integer) Evaluates the ROWID from which the ProDataset FILL operation needs to start on a backwards fill operation
# SaveBuffer (handle) Called from saveChanges to process changes for a single DataSet temp-table buffer.
+ SaveChanges () Save changes to physical storage
# SaveRowChanges (handle) Overridable method that executes SAVE-ROW-CHANGES on the before buffer
# SetDatasetBufferCallback (handle, character, character) Sets's a ProDataset Buffer Callback-Method (BEFORE-FILL, AFTER-FILL, BEFORE-ROW-FILL, ...)
# SetDatasetBufferCallback (handle, character, character, Object) Sets's a ProDataset Buffer Callback-Method (BEFORE-FILL, AFTER-FILL, BEFORE-ROW-FILL, ...)
# SetDatasetCallback (character, character) Sets's a ProDataset Callback-Method (BEFORE-FILL, AFTER-FILL)
# SetDatasetCallback (character, character, Object) Sets's a ProDataset Callback-Method (BEFORE-FILL, AFTER-FILL)
# Consultingwerk.IQueryRowIdentifier SkipRecords (integer, handle) Returns the Query Row Identifier (ROWID) to be used when navigating that DATA-SOURCE query based on the Skip argument of the FetchDataRequest
# Consultingwerk.IQueryRowIdentifier SkipRecords (integer, handle, logical) Returns the Query Row Identifier (ROWID) to be used when navigating that DATA-SOURCE query based on the Skip argument of the FetchDataRequest
+ A 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)
+ A 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).
# SuggestDataSourceIndex (handle, character) Method allows enforcing specific indexes when populating child record of a data-relation. When the parent buffer and the child buffer are FILL'ed during the ProDataset:FILL() operation, we ensure the given index

Top Constructor Summary
Options Name Purpose
DataAccess () Static Constructor of the DataAccess class
+ DataAccess (handle) Constructor of the DataAccess objects

Top Event Summary
Options Name Purpose
+ AfterSaveChanges (Object, EventArgs) Raised at the end of SaveChanges - within the database transaction block
+ AfterSavingRowChanges (Object, SaveRowChangesEventArgs) Event raised after the execution of the SAVE-ROW-CHANGES method for an individul record in the DataAccessObject
+ BeforeSaveChanges (Object, EventArgs) Raised at the beginning of SaveChanges - within the database transaction block
+ BeforeSavingRowChanges (Object, SaveRowChangesEventArgs) Event raised before the execution of the SAVE-ROW-CHANGES method for an individul record in the DataAccessObject
+ HandleCommitError (Object, HandleCommitErrorEventArgs) Raised to allow custom handling of AppError's (Application errors, e.g. from DB triggers) raised while performing the SaveRowChanges method
+ HandleCommitSysError (Object, HandleCommitErrorEventArgs) Raised to allow custom handling of SysError's (Progress runtime errors) raised while performing the SaveRowChanges method

Top Property Summary
Options Name Purpose
# Consultingwerk.Framework.Collections.CharacterDictionary AssignSkipDictionary
+ CHARACTER AssignSkipList
+ CHARACTER CUSTOM_LOG_ENTRY
+ HANDLE DatasetHandle
# LOGICAL DataSourcesAttached
# Consultingwerk.OERA.IFetchDataRequest FetchDataRequest
+ LOGICAL FilterUsingInnerJoin
+ LOGICAL ForceApplyQueryOnChildTables
# LOGICAL InFetchDataByKeyTable
+ LOGICAL LogFetchDataDetails
# LOGICAL PrepareJoinedChildTableQueries
# Consultingwerk.OERA.QueryPurposeEnum QueryPurpose
+ Consultingwerk.OERA.Enum.RequestTypeEnum RequestType
# LOGICAL ThrowErrorsOnFillFailed
# LOGICAL ValidateRestartRowid


Method Detail
Top

PUBLIC ActivateDefaultRelations ()

Purpose: Enables the given ProDataset relations. Disables all other
parent-relations of the relation's child buffer

Top

PUBLIC ActivateRelations (character)

Purpose: Enables the given ProDataset relations. Disables all other
parent-relations of the relation's child buffer
Notes: Supports a comma-delimited list of relations

Parameters:
pcRelationNames CHARACTER
The name of the relation to enable
Top

PROTECTED AssignKeyFieldValues (handle)

Purpose: Invoked by DataAccess:CommitChanges within the database transaction
to optionally assign key field values for new records
Notes: Provides a hook to assign key fields for new records before the
changes (create) are written to the database. The default implementation
of this method does nothing. Override this method to implement specific
code

Parameters:
phBeforeBuffer HANDLE
The handle of the before buffer
Top

PROTECTED LOGICAL AttachDataSource (handle, handle, character)

Purpose: Attaches a data-source object to a temp-table buffer in a ProDataSet
object
Notes: Filters out any white space character from the field lists to allow
for human readable source code in the DataAccess classes
AttachDataSources method

Parameters:
phDatasetBuffer HANDLE
The handle of the ProDataset Buffer
phDataSource HANDLE
The handle of the DATA-SOURCE object
pcPairsList CHARACTER
pairs-list An optional character expression that evaluates to a comma-delimited list of field name pairs that specify a mapping between different field names in the data-source object buffer and the ProDataSet temp-table buffer
Returns LOGICAL
Logical return value of the ATTACH-DATA-SOURCE method
Top

PROTECTED LOGICAL AttachDataSource (handle, handle, character, character)

Purpose: Attaches a data-source object to a temp-table buffer in a ProDataSet
object
Notes: Filters out any white space character from the field lists to allow
for human readable source code in the DataAccess classes
AttachDataSources method

Parameters:
phDatasetBuffer HANDLE
The handle of the ProDataset Buffer
phDataSource HANDLE
The handle of the DATA-SOURCE object
pcPairsList CHARACTER
pairs-list An optional character expression that evaluates to a comma-delimited list of field name pairs that specify a mapping between different field names in the data-source object buffer and the ProDataSet temp-table buffer
pcExceptList CHARACTER
An optional character expression that evaluates to a comma-separated list of fields in the ProDataSet object buffer that will not be populated with data from the data source (that is, fields to exclude). Use this option when it is easier to specify fields to exclude rather than include. You can specify except-fields or include-fields, but not both
Returns LOGICAL
Logical return value of the ATTACH-DATA-SOURCE method
Top

PROTECTED LOGICAL AttachDataSource (handle, handle, character, character, character)

Purpose: Attaches a data-source object to a temp-table buffer in a ProDataSet
object
Notes: Filters out any white space character from the field lists to allow
for human readable source code in the DataAccess classes
AttachDataSources method

Parameters:
phDatasetBuffer HANDLE
The handle of the ProDataset Buffer
phDataSource HANDLE
The handle of the DATA-SOURCE object
pcPairsList CHARACTER
pairs-list An optional character expression that evaluates to a comma-delimited list of field name pairs that specify a mapping between different field names in the data-source object buffer and the ProDataSet temp-table buffer
pcExceptList CHARACTER
An optional character expression that evaluates to a comma-separated list of fields in the ProDataSet object buffer that will not be populated with data from the data source (that is, fields to exclude). Use this option when it is easier to specify fields to exclude rather than include. You can specify except-fields or include-fields, but not both
pcIncludeFields CHARACTER
An optional character expression that evaluates to a comma-separated list of fields to include in the ProDataSet object buffer, as an alternative to specifying fields to exclude in except-fields. Use this option when it is easier to specify fields to include rather than exclude. You can specify include-fields or except-fields, but not both. If you specify include-fields, you must set except-fields to the Unknown value (?)
Returns LOGICAL
Logical return value of the ATTACH-DATA-SOURCE method
Top

PROTECTED LOGICAL AttachDataSource (handle, IBufferDataSource)

Purpose: Attaches a data-source object generated by an BufferDataSource
instance to a temp-table buffer in a ProDataSet object
Notes: Filters out any white space character from the field lists to allow
for human readable source code in the DataAccess classes
AttachDataSources method

Parameters:
phDatasetBuffer HANDLE
The handle of the ProDataset Buffer
poDataSource Consultingwerk.OERA.IBufferDataSource
The reference to the the BufferDataSource instance that manages a data-source object handle
Returns LOGICAL
Logical return value of the ATTACH-DATA-SOURCE method
Top

PROTECTED LOGICAL AttachDataSource (handle, IBufferDataSource, character)

Purpose: Attaches a data-source object generated by an BufferDataSource
instance to a temp-table buffer in a ProDataSet object
Notes: Filters out any white space character from the field lists to allow
for human readable source code in the DataAccess classes
AttachDataSources method

Parameters:
phDatasetBuffer HANDLE
The handle of the ProDataset Buffer
poDataSource Consultingwerk.OERA.IBufferDataSource
The reference to the the BufferDataSource instance that manages a data-source object handle
pcPairsList CHARACTER
pairs-list An optional character expression that evaluates to a comma-delimited list of field name pairs that specify a mapping between different field names in the data-source object buffer and the ProDataSet temp-table buffer
Returns LOGICAL
Logical return value of the ATTACH-DATA-SOURCE method
Top

PROTECTED AttachDataSources ()

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

Top

PROTECTED 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

PUBLIC CanFind (CanFindParameter)

Purpose: Returns a TRUE value if a record is found that meets the specified
FIND criteria; otherwise it returns FALSE. CAN-FIND does not make
the record available to the Business Entity or it's caller.
Notes: Result will be assigned to the Result property of the CanFindParameter
instance

Parameters:
poParameter Consultingwerk.OERA.CanFindParameter
The CanFindParameter with the parameters for this call
Top

PROTECTED CommitChanges (handle)

Purpose: This method is called from SaveChanges in the DA
to do the actual database commit and any transaction-related
validation logic for a buffer.
Notes: This is taken directly from the OERI.
- Note that in this sample that illustrates support for distributed
business logic the DA saves the whole dataset in SaveChanges, so
this is not currently called from the BE.
- The event names are the same as in the OERI. The word "Trans"
is somewhat misleading as the DA need to support large transactions.
One could consider using a name that indicates that this is a row
event instead.

Parameters:
phBuffer HANDLE
The handle of the after buffer to commit
Top

PUBLIC CountResultRecords (ICountRecordsRequest)

Purpose: Counts the number of result records in the data source query
Notes:

Parameters:
poFetchDataRequest Consultingwerk.OERA.ICountRecordsRequest
The ICountRecordsRequest that also implements IFetchDataRequest
Top

PROTECTED 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

PROTECTED LOGICAL DatasetBufferFill (handle, IFetchDataRequest)

Purpose: Invokes the FILL method of a ProDataset member buffer
Notes: Allows overriding this method in custom variants of the Data Access
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

Parameters:
phBuffer HANDLE
The handle of the proDataset
poFetchDataRequest Consultingwerk.OERA.IFetchDataRequest
The FetchDataRequest instance with the parameters for the current read
Returns LOGICAL
If the FILL is successful, this method returns TRUE. Otherwise, it returns FALSE.
Top

PROTECTED LOGICAL DatasetFill (handle, IFetchDataRequest)

Purpose: Invokes the ProDataset FILL method
Notes: Allows overriding this method in custom variants of the Data Access
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

Parameters:
phDataset HANDLE
The handle of the ProDataset
poFetchDataRequest Consultingwerk.OERA.IFetchDataRequest
The FetchDataRequest instance with the parameters for the current read
Returns LOGICAL
If the FILL is successful, this method returns TRUE. Otherwise, it returns FALSE.
Top

PROTECTED DefineReadEvents ()

Purpose: TO-DO: Subscribe to ProDataset Event Handlers using SET-CALLBACK
as needed
Notes: ABSTRACT method in Consultingwerk.OERA.DataAccess, overridden in
actual DataAccess objects
Invoked in FetchData

Top

PROTECTED DetachDataSources ()

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

Top

PROTECTED EnableDataAccessQueryLogging ()

Purpose: Enables DataAccessLogging
Notes:

Top

PROTECTED CHARACTER ExpandTables (character)

Purpose: Expands the FetchDataRequest:Tables parameter, in case it contains
the * wild-card character
Notes:

Parameters:
pcTables CHARACTER
The initial Tables parameter
Returns CHARACTER
The tables parameter with the wild-cards expanded
Top

PUBLIC 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
IFetchDataAccessRequest 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

PUBLIC FetchDataByKeyTable (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

PRIVATE FetchDataInternal (IFetchDataRequest)

Purpose: Fetch data from the data source
Notes: Internal version of the method. The attaching and de-attaching of
the DataSources is no done in FetchData. The possible recursive call
to fetch a complete LAST batch after FindRowWhere is calling into
the method FetchDataInteral do not interfer with the attaching of
the data-source's. SCL-621: This structure allows us to always deattach
the data-sources when they should still be around (left over due to
missing FINALLY-Block execution after STOP-Condition

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

PROTECTED ROWID FindRecord (character, handle, character, integer, integer)

Purpose: Finds a record in the data source query and returns the ROWID ARRAY
(used as RESTART-ROWID in FetchData)
Notes: This method is kept for backwards compatibility as the FindRecord2
method is now the actual working method

Parameters:
pcFindString CHARACTER
WHERE eCustomer.CustNum = 10
phBufferHandle HANDLE
The temp-table buffer handle
pcQueryString CHARACTER
The current data-source query string
piPrefetch INTEGER
The number of records to prefetch
piBatchSize INTEGER
The number of records to return to the client (total incl. prefetch)
Returns ROWID
The ROWID array of the records - that starts the resulting batch
Top

PROTECTED Consultingwerk.OERA.FindRecordResult FindRecord2 (character, handle, character, integer, integer)

Purpose: Finds a record in the data source query and returns the ROWID ARRAY
(used as RESTART-ROWID in FetchData)
Notes: Defaults to THROW error on not found

Parameters:
pcFindString CHARACTER
WHERE eCustomer.CustNum = 10
phBufferHandle HANDLE
The temp-table buffer handle
pcQueryString CHARACTER
The current data-source query string
piPrefetch INTEGER
The number of records to prefetch
piBatchSize INTEGER
The number of records to return to the client (total incl. prefetch)
Returns Consultingwerk.OERA.FindRecordResult
The FindRecordResult with the array of rowids and the information if a previous batch is available
Top

PUBLIC Consultingwerk.OERA.FindRecordResult FindRecord2 (character, handle, character, integer, integer, logical)

Purpose: Finds a record in the data source query and returns the ROWID ARRAY
(used as RESTART-ROWID in FetchData)
Notes:

Parameters:
pcFindString CHARACTER
WHERE eCustomer.CustNum = 10
phBufferHandle HANDLE
The temp-table buffer handle
pcQueryString CHARACTER
The current data-source query string
piPrefetch INTEGER
The number of records to prefetch
piBatchSize INTEGER
The number of records to return to the client (total incl. prefetch)
plThrowOnNotFound LOGICAL
Logical value indicating if an error should be thrown when the record cannot be found
Returns Consultingwerk.OERA.FindRecordResult
The FindRecordResult with the array of rowids and the information if a previous batch is available, returns ? when no record was found and plThrowOnNotFound = FALSE
Top

PROTECTED FindSourceBuffer (handle, logical)

Purpose: Locates the matching record in the first source buffer of the given
Dataset Buffer
Notes:

Parameters:
phBuffer HANDLE
The handle of a (after or before) ProDataset buffer
plExclusiveLock LOGICAL
Logical value indicating if the record should be locked exclusively
Top

PROTECTED HandleRecordLockedError (handle, SysError)

Purpose: Handles a record locked error invoked during the SAVE-ROW-CHANGES
method
Notes: Allows customization to the Progress default error message

Parameters:
phBeforeBuffer HANDLE
The handle to befure buffer
poSysError Progress.Lang.SysError
The orignal error raised
Top

PROTECTED InitializeDataAccessQueryLogging ()

Purpose: Initializes DataAccessLogging
Notes:

Top

PROTECTED 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

PROTECTED InvokeCommitChangesCallback (CommitCallbackTypeEnum, handle)

Purpose: Invokes a CommitChangesCallback
Notes: Provides a central location to handle error thrown from these
callback methods. By default errors thrown will be thrown to the
caller. By overriding this mehod customers can CATCH errors and add
them to the ProDataset buffer ERROR-STRING etc.

Parameters:
poCommitCallbackType Consultingwerk.OERA.Enum.CommitCallbackTypeEnum
The CommitCallbackTypeEnum value describing the callback to be invoked
phBeforeBuffer HANDLE
The handle of the before-buffer (to determine the ROW-STATE)
Top

PROTECTED LOGICAL IsQueryFlagPresent (character, character)

Purpose: Returns if the passed in field (prefixed with the temp-table)
is referenced in a list of query flag fiels and is contained in the
FetchDataRequest's QueryExpression
Notes:

Parameters:
pcFieldName CHARACTER
The name of the field to verify
pcQueryFlagFields CHARACTER
The name of the fields to compare with
Returns LOGICAL
Logical value indicating if the passed in field is referenced in a list of query flag fiels and is contained in the FetchDataRequest's QueryExpression
Top

PROTECTED LogCurrentRowModifiedIssue (handle)

Purpose: Logs details about "current row has been modified
by another user to the current logile
Notes: Invoked by the SaveRowChanges method when error 11913 occurs
and the SaveRowChanges custom logentry type is activated

Parameters:
phBeforeBuffer HANDLE
The handle of the current before buffer (record)
Top

PROTECTED LogUnableToFindDbBufferIssue (handle, Error)

Purpose: Logs details about "Unable to find record for db buffer "name" during
SAVE-ROW-CHANGES" to the current logile
Notes: Invoked by the SaveRowChanges method when error 11912 occurs
and the SaveRowChanges custom logentry type is activated

Parameters:
phBeforeBuffer HANDLE
The handle of the current before buffer (record)
poError Progress.Lang.Error
The Error instance
Top

PROTECTED Consultingwerk.OERA.IDSQueryString NewDSQueryString (character, character)

Purpose: Factory method for the DSQueryString objects
Notes: It's not recommended that customers override this method, SCL-866
Customers should rather override the two methods NewDSQueryString
(pcQuery, pcBuffer, plFilterUsingInnerJoin) and NewDSQueryStringForKeyValueTable
(pcQuery, pcBuffer, plFilterUsingInnerJoin, poFetchDataByKeyTableParameter,
pcFieldPairs)

Parameters:
pcQuery CHARACTER
The Query String for the DSQueryString instance
pcBuffer CHARACTER
The Buffer Name for the DSQueryString instance
Returns Consultingwerk.OERA.IDSQueryString
The new IDSQueryString instance
Top

PROTECTED Consultingwerk.OERA.IDSQueryString NewDSQueryString (character, character, logical)

Purpose: Factory method for the DSQueryString objects
Notes: Customers should override this method as a factory for custom IDSQueryString
implementations

Parameters:
pcQuery CHARACTER
The Query String for the DSQueryString instance
pcBuffer CHARACTER
The Buffer Name for the DSQueryString instance
plFilterUsingInnerJoin LOGICAL
Logical value indicating if the data source query should be using an inner join
Returns Consultingwerk.OERA.IDSQueryString
The new IDSQueryString instance
Top

PROTECTED Consultingwerk.OERA.IDSQueryString NewDSQueryStringForKeyValueTable (character, character, logical, IFetchDataByKeyTableParameter, character)

Purpose: Factory method for the DSQueryStringForKeyValueTable objects
Notes: Customers should override this method as a factory for custom
DSQueryStringForKeyValueTable implementations

Parameters:
pcQuery CHARACTER
The Query String for the DSQueryString instance
pcBuffer CHARACTER
The Buffer Name for the DSQueryString instance
plFilterUsingInnerJoin LOGICAL
Logical value indicating if the data source query should be using an inner join
poFetchDataByKeyTableParameter Consultingwerk.OERA.IFetchDataByKeyTableParameter
The IFetchDataByKeyTableParameter instance with the parameter of the FetchDataByKeyTable method
pcFieldPairs CHARACTER
The originally attached field pairs
Returns Consultingwerk.OERA.IDSQueryString
The new IDSQueryString instance
Top

PROTECTED Consultingwerk.IQueryRowIdentifier NewQueryRowIdentifier ()

Purpose: Overridable factory method to create an instance of the IQueryRowIdentifier
class
Notes:

Returns Consultingwerk.IQueryRowIdentifier
The reference to the new instance of the IQueryRowIdentifier interface
Top

PROTECTED OnAfterSaveChanges (EventArgs)

Purpose: Raises the AfterSaveChanges
Notes:

Parameters:
e Consultingwerk.EventArgs
The Consultingwerk.EventArgs with the data for the event
Top

PROTECTED OnAfterSavingRowChanges (SaveRowChangesEventArgs)

Purpose: Raises the AfterSavingRowChanges event
Notes:

Parameters:
e Consultingwerk.OERA.SaveRowChangesEventArgs
The SaveRowChangesEventArgs with the data for this event
Top

PROTECTED OnBeforeSaveChanges (EventArgs)

Purpose: Raises the BeforeSaveChanges
Notes:

Parameters:
e Consultingwerk.EventArgs
The Consultingwerk.EventArgs with the data for the event
Top

PROTECTED OnBeforeSavingRowChanges (SaveRowChangesEventArgs)

Purpose: Raises the BeforeSavingRowChanges event
Notes:

Parameters:
e Consultingwerk.OERA.SaveRowChangesEventArgs
The SaveRowChangesEventArgs with the data for this event
Top

PROTECTED OnHandleCommitError (HandleCommitErrorEventArgs)

Purpose: Raises the HandleCommitError
Notes:

Parameters:
e Consultingwerk.OERA.HandleCommitErrorEventArgs
The HandleCommitErrorEventArgs with the data for the event
Top

PROTECTED OnHandleCommitSysError (HandleCommitErrorEventArgs)

Purpose: Raises the HandleCommitSysError
Notes:

Parameters:
e Consultingwerk.OERA.HandleCommitErrorEventArgs
The HandleCommitErrorEventArgs with the data for the event
Top

PUBLIC CHARACTER ParentRelationSourceQueryString (handle)

Purpose: Returns the query string matching the DATA-RELATION field pairs
referencing the source fields on the parent table
Notes:

Parameters:
phBuffer HANDLE
The child buffer of the relation
Returns CHARACTER
The source query string matching the data-relation criteria
Top

PROTECTED Consultingwerk.IQueryExpression ParseTopBufferRequestQuery (IFetchDataRequest)

Purpose: Parses the Query of the top-buffer from the current request
Notes:

Parameters:
poFetchDataRequest Consultingwerk.OERA.IFetchDataRequest
The reference to the IFetchDataRequest
Returns Consultingwerk.IQueryExpression
The IQueryExpression representing the query string or ? when there is no query
Top

PROTECTED ProcessFetchDataRequestVariables (IFetchDataRequest)

Purpose: Expands variables in the FetchDataRequest:Queries
Notes: Variables are expected within a character value and be surrounded
by ${ } (ANT style property Syntax)
${LanguageIsoCode}, ${LanguageKey}, ${UserKey}, ${UserName}, ${UserFullName},
${CurrentWeek}, ${LastWeek}, ${CurrentMonth}, ${LastMonth}, ${CurrentYear},
${LastYear}, ${Today}, ${Yesterday}, ${Tomorrow}

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

PUBLIC RepositionBackwards (handle, integer)

Purpose: Reposition the given query backwards by the given number of records
Notes: Overidable by child classes to implement custom behaviour

Parameters:
phQuery HANDLE
The query handle to reposition backwards
piNumRecords INTEGER
The number of records
Top

PROTECTED ROWID RepositionBackwards (handle, rowid[], integer)

Purpose: Evaluates the ROWID from which the ProDataset FILL operation
needs to start on a backwards fill operation
Notes: This method may be overridden in a DataAccess object class
This method is no longer used for the backwards batching.
It is kept for backwards compability of customers code.

Parameters:
phQuery HANDLE
The Query Handle to reposition backwards
proRowids ROWID
The current ROWID Array
piBatchSize INTEGER
The number of records to reposition backwards
Returns ROWID
The array of starting ROWIDs for the next FILL operation
Top

PROTECTED SaveBuffer (handle)

Purpose: Called from saveChanges to process changes
for a single DataSet temp-table buffer.
Notes: This is similar to the OERI BE version, but has no pre and
post transaction hooks because:
- This method might very well be called inside a transaction.
- The BE supports hooks outside of the transaction scope.

Parameters:
phBuffer HANDLE
The handle of the after buffer
Top

PUBLIC 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 contolled 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

PROTECTED 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

PROTECTED SetDatasetBufferCallback (handle, character, character)

Purpose: Sets's a ProDataset Buffer Callback-Method (BEFORE-FILL, AFTER-FILL, BEFORE-ROW-FILL, ...)
Notes:

Parameters:
phBuffer HANDLE
The ProDataset Buffer Handle to add the callback for
pcCallback CHARACTER
The DatasetBufferEventEnum value to add the callback method for
pcMethod CHARACTER
The name of the Method to register as a callback
Top

PROTECTED SetDatasetBufferCallback (handle, character, character, Object)

Purpose: Sets's a ProDataset Buffer Callback-Method (BEFORE-FILL, AFTER-FILL, BEFORE-ROW-FILL, ...)
Notes:

Parameters:
phBuffer HANDLE
The ProDataset Buffer Handle to add the callback for
pcCallback CHARACTER
The DatasetBufferEventEnum value to add the callback method for
pcMethod CHARACTER
The name of the Method to register as a callback
poObject Progress.Lang.Object
The Object that contains the callback method
Top

PROTECTED SetDatasetCallback (character, character)

Purpose: Sets's a ProDataset Callback-Method (BEFORE-FILL, AFTER-FILL)
Notes:

Parameters:
pcCallback CHARACTER
The DatasetEventEnum value to add the callback method for
pcMethod CHARACTER
The name of the Method to register as a callback
Top

PROTECTED SetDatasetCallback (character, character, Object)

Purpose: Sets's a ProDataset Callback-Method (BEFORE-FILL, AFTER-FILL)
Notes:

Parameters:
pcCallback CHARACTER
The DatasetEventEnum value to add the callback method for
pcMethod CHARACTER
The name of the Method to register as a callback
poObject Progress.Lang.Object
The Object that contains the callback method
Top

PROTECTED Consultingwerk.IQueryRowIdentifier SkipRecords (integer, handle)

Purpose: Returns the Query Row Identifier (ROWID) to be used when navigating
that DATA-SOURCE query based on the Skip argument of the FetchDataRequest
Notes: Typically used when paging from a JSDO/Kendo UI client, SCL-819, SCL-822

Parameters:
piSkipRecords INTEGER
The number of records to skip from the beginning
phBuffer HANDLE
The temp-table buffer who's data-source should be navigated using Skip
Returns Consultingwerk.IQueryRowIdentifier
The IQueryRowIdentifier identifying the restart rowid
Top

PROTECTED Consultingwerk.IQueryRowIdentifier SkipRecords (integer, handle, logical)

Purpose: Returns the Query Row Identifier (ROWID) to be used when navigating
that DATA-SOURCE query based on the Skip argument of the FetchDataRequest
Notes: Typically used when paging from a JSDO/Kendo UI client, SCL-819, SCL-822

Parameters:
piSkipRecords INTEGER
The number of records to skip from the beginning
phBuffer HANDLE
The temp-table buffer who's data-source should be navigated using Skip
plSkipRowsSequentually LOGICAL
Logical value indicating if we should skip rows sequentially
Returns Consultingwerk.IQueryRowIdentifier
The IQueryRowIdentifier identifying the restart rowid
Top

PUBLIC 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

PUBLIC 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
Top

PROTECTED SuggestDataSourceIndex (handle, character)

Purpose: Method allows enforcing specific indexes when populating child record
of a data-relation. When the parent buffer and the child buffer are
FILL'ed during the ProDataset:FILL() operation, we ensure the given index
Notes: Allows to avoid situations where in a Order -> OrderLine data-relation
when filtered by Orderline.ItemNum the itemnum index is choosen instead
of the more efficient orderline index (both indexes provide one equality
match, but itemnum is the alphabetically first index)
This method should be called from the dataset's BEFORE-FILL call back
Only processes the first buffer of the data-source query, as we assume,
that the proper join criteria between the data-source query buffers
is specified in the SourceDefaultQuery

Parameters:
phChildBuffer HANDLE
The handle of the child buffer
pcIndexName CHARACTER
The index name to use


Constructor Detail
Top

STATIC DataAccess ()

Purpose: Static Constructor of the DataAccess class
Notes:

Top

PUBLIC DataAccess (handle)

Purpose: Constructor of the DataAccess objects
Notes: Requires to pass a valid dataset handle

Parameters:
phDataset HANDLE
The handle of the Business Entity dataset


Event Detail
Top

PUBLIC AfterSaveChanges (Object, EventArgs)

Purpose: Raised at the end of SaveChanges - within the database transaction
block
Notes:

Parameters:
sender Progress.Lang.Object
The object that raised the AfterSaveChanges event
e Consultingwerk.EventArgs
The Consultingwerk.EventArgs with the data for the event
Top

PUBLIC AfterSavingRowChanges (Object, SaveRowChangesEventArgs)

Purpose: Event raised after the execution of the SAVE-ROW-CHANGES method
for an individul record in the DataAccessObject
Notes:

Parameters:
sender Progress.Lang.Object
The reference to the object that raised this event
e Consultingwerk.OERA.SaveRowChangesEventArgs
The SaveRowChangesEventArgs with the data for this event
Top

PUBLIC BeforeSaveChanges (Object, EventArgs)

Purpose: Raised at the beginning of SaveChanges - within the database transaction
block
Notes: This is not a cancelable event - as we have already started the database
transaction and really only errors should revert it at this point

Parameters:
sender Progress.Lang.Object
The object that raised the BeforeSaveChanges event
e Consultingwerk.EventArgs
The Consultingwerk.EventArgs with the data for the event
Top

PUBLIC BeforeSavingRowChanges (Object, SaveRowChangesEventArgs)

Purpose: Event raised before the execution of the SAVE-ROW-CHANGES method
for an individul record in the DataAccessObject
Notes:

Parameters:
sender Progress.Lang.Object
The reference to the object that raised this event
e Consultingwerk.OERA.SaveRowChangesEventArgs
The SaveRowChangesEventArgs with the data for this event
Top

PUBLIC HandleCommitError (Object, HandleCommitErrorEventArgs)

Purpose: Raised to allow custom handling of AppError's (Application errors,
e.g. from DB triggers) raised while performing the SaveRowChanges method
Notes:

Parameters:
sender Progress.Lang.Object
The object that raised the HandleCommitError event
e Consultingwerk.OERA.HandleCommitErrorEventArgs
The HandleCommitErrorEventArgs with the data for the event
Top

PUBLIC HandleCommitSysError (Object, HandleCommitErrorEventArgs)

Purpose: Raised to allow custom handling of SysError's (Progress runtime errors)
raised while performing the SaveRowChanges method
Notes:

Parameters:
sender Progress.Lang.Object
The object that raised the HandleCommitError event
e Consultingwerk.OERA.HandleCommitErrorEventArgs
The HandleCommitErrorEventArgs with the data for the event


Property Detail
Top

PROTECTED Consultingwerk.Framework.Collections.CharacterDictionary AssignSkipDictionary


Returns Consultingwerk.Framework.Collections.CharacterDictionary
Top

PUBLIC CHARACTER AssignSkipList


Returns CHARACTER
Top

PUBLIC CHARACTER CUSTOM_LOG_ENTRY


Returns CHARACTER
Top

PUBLIC HANDLE DatasetHandle


Returns HANDLE
Top

PROTECTED LOGICAL DataSourcesAttached


Returns LOGICAL
Top

PROTECTED Consultingwerk.OERA.IFetchDataRequest FetchDataRequest


Returns Consultingwerk.OERA.IFetchDataRequest
Top

PUBLIC LOGICAL FilterUsingInnerJoin


Returns LOGICAL
Top

PUBLIC LOGICAL ForceApplyQueryOnChildTables


Returns LOGICAL
Top

PROTECTED LOGICAL InFetchDataByKeyTable


Returns LOGICAL
Top

PUBLIC LOGICAL LogFetchDataDetails


Returns LOGICAL
Top

PROTECTED LOGICAL PrepareJoinedChildTableQueries


Returns LOGICAL
Top

PROTECTED Consultingwerk.OERA.QueryPurposeEnum QueryPurpose


Returns Consultingwerk.OERA.QueryPurposeEnum
Top

PUBLIC Consultingwerk.OERA.Enum.RequestTypeEnum RequestType


Returns Consultingwerk.OERA.Enum.RequestTypeEnum
Top

PROTECTED LOGICAL ThrowErrorsOnFillFailed


Returns LOGICAL
Top

PROTECTED LOGICAL ValidateRestartRowid


Returns LOGICAL


©2006-2020 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       04.02.2020 23:14:20