Top Method Summary
Options Name Purpose
# AssignKeyFieldValues (handle) Invoked by DataAccess:CommitChanges within the database transaction to optionally assign key field values for new records
Inherited from Consultingwerk.OERA.DataAccess
# LOGICAL AttachDataSource (handle, handle, character) Attaches a data-source object to a temp-table buffer in a ProDataSet object
Inherited from Consultingwerk.OERA.DataAccess
# LOGICAL AttachDataSource (handle, handle, character, character) Attaches a data-source object to a temp-table buffer in a ProDataSet object
Inherited from Consultingwerk.OERA.DataAccess
# LOGICAL AttachDataSource (handle, handle, character, character, character) Attaches a data-source object to a temp-table buffer in a ProDataSet object
Inherited from Consultingwerk.OERA.DataAccess
# LOGICAL AttachDataSource (handle, IBufferDataSource) Attaches a data-source object generated by an BufferDataSource instance to a temp-table buffer in a ProDataSet object
Inherited from Consultingwerk.OERA.DataAccess
# LOGICAL AttachDataSource (handle, IBufferDataSource, character) Attaches a data-source object generated by an BufferDataSource instance to a temp-table buffer in a ProDataSet object
Inherited from Consultingwerk.OERA.DataAccess
# AttachDataSources () Attaches the DATA-SOURCE objects to the ProDataset Buffers
Overrides Consultingwerk.OERA.DataAccess:AttachDataSources ()
- 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
Inherited from Consultingwerk.OERA.DataAccess
+ 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.
Inherited from Consultingwerk.OERA.DataAccess
# 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.
Inherited from Consultingwerk.OERA.DataAccess
+ CountResultRecords (ICountRecordsRequest) Counts the number of result records in the data source query
Inherited from Consultingwerk.OERA.DataAccess
# LOGICAL DatasetBufferFill (handle, IFetchDataRequest) Invokes the FILL method of a ProDataset member buffer
Inherited from Consultingwerk.OERA.DataAccess
# LOGICAL DatasetFill (handle, IFetchDataRequest) Invokes the ProDataset FILL method
Inherited from Consultingwerk.OERA.DataAccess
# DefineReadEvents () TO-DO: Subscribe to ProDataset Event Handlers using SET-CALLBACK as needed
Overrides Consultingwerk.OERA.DataAccess:DefineReadEvents ()
# DetachDataSources () Detaches the DATA-SOURCE objects to the ProDataset Buffers
Overrides Consultingwerk.OERA.DataAccess:DetachDataSources ()
# CHARACTER ExpandTables (character) Expands the FetchDataRequest:Tables parameter, in case it contains the * wild-card character
Inherited from Consultingwerk.OERA.DataAccess
+ FetchData (IFetchDataRequest) Fetches matching languages
Overrides Consultingwerk.OERA.DataAccess:FetchData (IFetchDataRequest)
+ FetchDataByKeyTable (IFetchDataByKeyTableParameter) Allows retrieve multiple DB records from a Business Entity based on a temp-table with key values
Inherited from Consultingwerk.OERA.DataAccess
# 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)
Inherited from Consultingwerk.OERA.DataAccess
# 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)
Inherited from Consultingwerk.OERA.DataAccess
# FindSourceBuffer (handle, logical) Locates the matching record in the first source buffer of the given Dataset Buffer
Inherited from Consultingwerk.OERA.DataAccess
# HandleRecordLockedError (handle, SysError) Handles a record locked error invoked during the SAVE-ROW-CHANGES method
Inherited from Consultingwerk.OERA.DataAccess
# HANDLE InsertToDataSourceQuery (handle, IFetchDataRequest, character) Creates a new Query to be used as a DATA-SOURCE for a ProDataset member buffer
Inherited from Consultingwerk.OERA.DataAccess
# InvokeCommitChangesCallback (CommitCallbackTypeEnum, handle) Invokes a CommitChangesCallback
Inherited from Consultingwerk.OERA.DataAccess
# Consultingwerk.OERA.IDSQueryString NewDSQueryString (character, character) Factory method for the DSQueryString objects
Inherited from Consultingwerk.OERA.DataAccess
# Consultingwerk.OERA.IDSQueryString NewDSQueryString (character, character, logical) Factory method for the DSQueryString objects
Inherited from Consultingwerk.OERA.DataAccess
# Consultingwerk.OERA.IDSQueryString NewDSQueryStringForKeyValueTable (character, character, logical, IFetchDataByKeyTableParameter, character) Factory method for the DSQueryStringForKeyValueTable objects
Inherited from Consultingwerk.OERA.DataAccess
# IQueryRowIdentifier NewQueryRowIdentifier () Overridable factory method to create an instance of the IQueryRowIdentifier class
Inherited from Consultingwerk.OERA.DataAccess
# OnAfterSaveChanges (EventArgs) Raises the AfterSaveChanges
Inherited from Consultingwerk.OERA.DataAccess
# OnAfterSavingRowChanges (SaveRowChangesEventArgs) Raises the AfterSavingRowChanges event
Inherited from Consultingwerk.OERA.DataAccess
# OnBeforeSaveChanges (EventArgs) Raises the BeforeSaveChanges
Inherited from Consultingwerk.OERA.DataAccess
# OnBeforeSavingRowChanges (SaveRowChangesEventArgs) Raises the BeforeSavingRowChanges event
Inherited from Consultingwerk.OERA.DataAccess
# OnHandleCommitError (HandleCommitErrorEventArgs) Raises the HandleCommitError
Inherited from Consultingwerk.OERA.DataAccess
# OnHandleCommitSysError (HandleCommitErrorEventArgs) Raises the HandleCommitSysError
Inherited from Consultingwerk.OERA.DataAccess
+ CHARACTER ParentRelationSourceQueryString (handle) Returns the query string matching the DATA-RELATION field pairs referencing the source fields on the parent table
Inherited from Consultingwerk.OERA.DataAccess
# PopulateCultureTable (character) Populates the ttUserInterfaceCulture temp-table
+ RepositionBackwards (handle, integer) Reposition the given query backwards by the given number of records
Inherited from Consultingwerk.OERA.DataAccess
# ROWID RepositionBackwards (handle, rowid[], integer) Evaluates the ROWID from which the ProDataset FILL operation needs to start on a backwards fill operation
Inherited from Consultingwerk.OERA.DataAccess
# SaveBuffer (handle) Called from saveChanges to process changes for a single DataSet temp-table buffer.
Inherited from Consultingwerk.OERA.DataAccess
+ SaveChanges () Save changes to physical storage
Inherited from Consultingwerk.OERA.DataAccess
# SaveRowChanges (handle) Overridable method that executes SAVE-ROW-CHANGES on the before buffer
Inherited from Consultingwerk.OERA.DataAccess
# SetDatasetBufferCallback (handle, character, character) Sets's a ProDataset Buffer Callback-Method (BEFORE-FILL, AFTER-FILL, BEFORE-ROW-FILL, ...)
Inherited from Consultingwerk.OERA.DataAccess
# SetDatasetBufferCallback (handle, character, character, Object) Sets's a ProDataset Buffer Callback-Method (BEFORE-FILL, AFTER-FILL, BEFORE-ROW-FILL, ...)
Inherited from Consultingwerk.OERA.DataAccess
# SetDatasetCallback (character, character) Sets's a ProDataset Callback-Method (BEFORE-FILL, AFTER-FILL)
Inherited from Consultingwerk.OERA.DataAccess
# SetDatasetCallback (character, character, Object) Sets's a ProDataset Callback-Method (BEFORE-FILL, AFTER-FILL)
Inherited from Consultingwerk.OERA.DataAccess
# 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
Inherited from Consultingwerk.OERA.DataAccess
+ 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)
Overrides Consultingwerk.OERA.DataAccess:SourceColumn (character, character)
+ 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).
Overrides Consultingwerk.OERA.DataAccess:SourceDefaultQuery (character)
# 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
Inherited from Consultingwerk.OERA.DataAccess

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

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

Top Property Summary
Options Name Purpose
# Consultingwerk.Framework.Collections.CharacterDictionary AssignSkipDictionary Gets the reference to a CharacterDictionary with an entry per buffer (after-buffer name) as the key and the the skip-list of the SAVE-ROW-CHANGES method used as the value
Inherited from Consultingwerk.OERA.DataAccess
+ CHARACTER AssignSkipList Gets and sets the skip-list of the SAVE-ROW-CHANGES method used as the skip-list of the SAVE-ROW-CHANGES method used in CommitChanges method
Inherited from Consultingwerk.OERA.DataAccess
+ CHARACTER CUSTOM_LOG_ENTRY Gets the custom log file entry used by the DataAccess class
Inherited from Consultingwerk.OERA.DataAccess
+ HANDLE DatasetHandle Gets the reference to the Dataset handle used by this Data Access object
Inherited from Consultingwerk.OERA.DataAccess
# LOGICAL DataSourcesAttached Returns if the DataSources are currently attached
Inherited from Consultingwerk.OERA.DataAccess
# Consultingwerk.OERA.IFetchDataRequest FetchDataRequest Returns the reference to the current IFetchDataRequest instance
Inherited from Consultingwerk.OERA.DataAccess
+ LOGICAL FilterUsingInnerJoin Instructs the Query-Builder in method BuildQueryString to remove an eventually present OUTER-JOIN keyword from the source default query when filtering on a ceratin table.
Inherited from Consultingwerk.OERA.DataAccess
+ LOGICAL ForceApplyQueryOnChildTables Allows to force applying the Source Default Query to child tables even when no filter expression was provided by the consumer
Inherited from Consultingwerk.OERA.DataAccess
+ LOGICAL LogFetchDataDetails Allows to turn on and off the logging of details of the FetchData method execution
Inherited from Consultingwerk.OERA.DataAccess
# LOGICAL PrepareJoinedChildTableQueries Gets and sets if the Data Access class should prepare the query on joined child tables during FetchData
Inherited from Consultingwerk.OERA.DataAccess
# Consultingwerk.OERA.QueryPurposeEnum QueryPurpose Returns the current purpose of the SourceDefaultQuery callback
Inherited from Consultingwerk.OERA.DataAccess
+ RequestTypeEnum RequestType Returns the type of the current request (FetchData/SaveChanges)
Inherited from Consultingwerk.OERA.DataAccess
# LOGICAL ThrowErrorsOnFillFailed Gets and sets if errors (negative return-value) during the ProDataset FILL() method should cause an error thrown by the DataAccess class
Inherited from Consultingwerk.OERA.DataAccess


Method Detail
Top

PROTECTED AssignKeyFieldValues (handle)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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 ()

Overrides Consultingwerk.OERA.DataAccess: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

PRIVATE BindDataset (dataset)

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

Parameters:
dsUserInterfaceCulture DATASET
DATASET to bind to
Top

PROTECTED CHARACTER BuildDataSourceQueryString (handle, IFetchDataRequest, character)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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 LOGICAL DatasetBufferFill (handle, IFetchDataRequest)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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 ()

Overrides Consultingwerk.OERA.DataAccess: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

Top

PROTECTED DetachDataSources ()

Overrides Consultingwerk.OERA.DataAccess: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

PROTECTED CHARACTER ExpandTables (character)

Inherited from Consultingwerk.OERA.DataAccess
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)

Overrides Consultingwerk.OERA.DataAccess:FetchData (IFetchDataRequest)
Purpose: Fetches matching languages
Notes:

Parameters:
poFetchDataRequest Consultingwerk.OERA.IFetchDataRequest
The IFetchDataRequest instance with the dat afor this call
Top

PUBLIC FetchDataByKeyTable (IFetchDataByKeyTableParameter)

Inherited from Consultingwerk.OERA.DataAccess
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

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

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)
Returns Consultingwerk.OERA.FindRecordResult
The FindRecordResult with the array of rowids and the information if a previous batch is available
Top

PROTECTED FindSourceBuffer (handle, logical)

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Locates the matching record in the first source buffer of the given
Dataset Buffer
Notes:

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

PROTECTED HandleRecordLockedError (handle, SysError)

Inherited from Consultingwerk.OERA.DataAccess
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 HANDLE InsertToDataSourceQuery (handle, IFetchDataRequest, character)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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 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 Consultingwerk.OERA.IDSQueryString NewDSQueryString (character, character)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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 IQueryRowIdentifier NewQueryRowIdentifier ()

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Overridable factory method to create an instance of the IQueryRowIdentifier
class
Notes:

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

PROTECTED OnAfterSaveChanges (EventArgs)

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Raises the AfterSaveChanges
Notes:

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

PROTECTED OnAfterSavingRowChanges (SaveRowChangesEventArgs)

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Raises the AfterSavingRowChanges event
Notes:

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

PROTECTED OnBeforeSaveChanges (EventArgs)

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Raises the BeforeSaveChanges
Notes:

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

PROTECTED OnBeforeSavingRowChanges (SaveRowChangesEventArgs)

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Raises the BeforeSavingRowChanges event
Notes:

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

PROTECTED OnHandleCommitError (HandleCommitErrorEventArgs)

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Raises the HandleCommitError
Notes:

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

PROTECTED OnHandleCommitSysError (HandleCommitErrorEventArgs)

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Raises the HandleCommitSysError
Notes:

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

PUBLIC CHARACTER ParentRelationSourceQueryString (handle)

Inherited from Consultingwerk.OERA.DataAccess
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 PopulateCultureTable (character)

Purpose: Populates the ttUserInterfaceCulture temp-table
Notes:

Parameters:
pcCultureType CHARACTER
The name of the System.Globalization.CultureTypes to retrieve cultures for
Top

PUBLIC RepositionBackwards (handle, integer)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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 ()

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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 IQueryRowIdentifier SkipRecords (integer, handle)

Inherited from Consultingwerk.OERA.DataAccess
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 IQueryRowIdentifier
The IQueryRowIdentifier identifying the restart rowid
Top

PUBLIC CHARACTER SourceColumn (character, character)

Overrides Consultingwerk.OERA.DataAccess: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)

Overrides Consultingwerk.OERA.DataAccess: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)

Inherited from Consultingwerk.OERA.DataAccess
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

PUBLIC UserInterfaceCultureDataAccess (handle)

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


Event Detail
Top

PUBLIC AfterSaveChanges (Object, EventArgs)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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)

Inherited from Consultingwerk.OERA.DataAccess
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

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Gets the reference to a CharacterDictionary with an entry per buffer
(after-buffer name) as the key and the the skip-list of the SAVE-ROW-CHANGES
method used as the value
Notes: Entries in this Dictionary have preference over the AssignSkipList character list
skip-list
An optional character expression that evaluates to a comma-separated
list of field names for fields that should not be assigned after a
new row is created (that is, fields to skip). For example, a key
field or other fields assigned a value by a CREATE database trigger.

Returns Consultingwerk.Framework.Collections.CharacterDictionary
Top

PUBLIC CHARACTER AssignSkipList

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Gets and sets the skip-list of the SAVE-ROW-CHANGES method used as
the skip-list of the SAVE-ROW-CHANGES method used in CommitChanges
method
Notes: This property is depricated now. Please use the AssignSkipDictionary
class now.

Returns CHARACTER
Top

PUBLIC CHARACTER CUSTOM_LOG_ENTRY

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Gets the custom log file entry used by the DataAccess class
Notes:

Returns CHARACTER
Top

PUBLIC HANDLE DatasetHandle

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Gets the reference to the Dataset handle used by this Data Access
object
Notes: The Data Access object will typically be working on the ProDataset
instance of a Business Entity (owner of the ProDataset)

Returns HANDLE
Top

PROTECTED LOGICAL DataSourcesAttached

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Returns if the DataSources are currently attached
Notes:

Returns LOGICAL
Top

PROTECTED Consultingwerk.OERA.IFetchDataRequest FetchDataRequest

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Returns the reference to the current IFetchDataRequest instance
Notes: Allows accessing the IFetchDataRequest instance during ProDataset
event call back and during the AttachDataSources method

Returns Consultingwerk.OERA.IFetchDataRequest
Top

PUBLIC LOGICAL FilterUsingInnerJoin

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Instructs the Query-Builder in method BuildQueryString to remove
an eventually present OUTER-JOIN keyword from the source default
query when filtering on a ceratin table.
Notes: This allows to filter Customers by SalesRep fields in a Query:
FOR EACH Customer, FIRST SalesRep OF Customer OUTER-JOIN
The property is forwarded to the constructor of the DSQueryString
class.
See Bug 2609 for a detailled discussion on the new functionality

Returns LOGICAL
Top

PUBLIC LOGICAL ForceApplyQueryOnChildTables

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Allows to force applying the Source Default Query to child tables
even when no filter expression was provided by the consumer
Notes: When set to TRUE the FetchData method will assume a default
"FOR EACH <temp-table-name>" query from the client, rather than an
empty query string
Useful when the source default query is required to filter out records
even when dependent on the parent table relation (e.g. when records
with certain statusses are filterred out)

Returns LOGICAL
Top

PUBLIC LOGICAL LogFetchDataDetails

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Allows to turn on and off the logging of details of the
FetchData method execution
Notes:

Returns LOGICAL
Top

PROTECTED LOGICAL PrepareJoinedChildTableQueries

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Gets and sets if the Data Access class should prepare the query on
joined child tables during FetchData
Notes: SCL-334: DataAccess does not prepare queries on child tables with
joined query data sources

Returns LOGICAL
Top

PROTECTED Consultingwerk.OERA.QueryPurposeEnum QueryPurpose

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Returns the current purpose of the SourceDefaultQuery callback
Notes: Only valid while the SourceDefaultQuery method is executed, allows
to return different/optimized queries for differnt usages of
the data source query, see SCL-258

Returns Consultingwerk.OERA.QueryPurposeEnum
Top

PUBLIC RequestTypeEnum RequestType

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Returns the type of the current request (FetchData/SaveChanges)
Notes: Can be used in AttachDataSource etc. to adjust data sources for
optimized read or save operations

Returns RequestTypeEnum
Top

PROTECTED LOGICAL ThrowErrorsOnFillFailed

Inherited from Consultingwerk.OERA.DataAccess
Purpose: Gets and sets if errors (negative return-value) during the ProDataset
FILL() method should cause an error thrown by the DataAccess class
Notes: The default behaviour is not to throw errors to be consistent with
the previous behaviour and the default behaviour of ProDatasets,
see: http://knowledgebase.progress.com/articles/Article/P188375

Returns LOGICAL


©2006-2016 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       26.08.2016 08:49:28