Namespace: Consultingwerk.OERA
Class 
BusinessEntity Copy to Clipboard
Parent classes:
Inherits: Progress.Lang.Object
Implements: Ccs.BusinessLogic.IBusinessEntity, Ccs.BusinessLogic.IUpdatableBusinessEntity, Consultingwerk.OERA.IBusinessEntity, Consultingwerk.OERA.IBusinessService, Consultingwerk.OERA.IHasContextID, Consultingwerk.OERA.BusinessEntityDescriptor.IProvidesBusinessEntityDescriptor
Inherited by: Consultingwerk.OERA.BusinessEntityDispatcher.BusinessEntityDispatcher Consultingwerk.OERA.DynamicBusinessEntity.RestAddressDummyDynamicBusinessEntity Consultingwerk.BusinessEntityDesigner.Services.BusinessEntityBusinessEntity Consultingwerk.BusinessEntityDesigner.Services.DatabaseSchemaBusinessEntity Consultingwerk.SmartFramework.SmartBusinessEntity Consultingwerk.SmartFramework.Repository.BusinessEntities.RepositoryObjectBusinessEntity Consultingwerk.SmartFramework.Repository.BusinessEntities.MetaDataSource.MetaDataSourceBusinessEntity Consultingwerk.SmartFramework.Repository.BusinessEntities.MetaEntityTable.MetaEntityTableBusinessEntity Consultingwerk.SmartFramework.Repository.BusinessEntities.MetaBusinessEntity.MetaBusinessEntityBusinessEntity Consultingwerk.SmartFramework.Repository.Class.AttributeBusinessEntity Consultingwerk.SmartFramework.Repository.Class.AttributeGroupBusinessEntity Consultingwerk.SmartFramework.Repository.Class.AttributeUsed.AttributeValueBusinessEntity Consultingwerk.SmartFramework.Repository.Class.AttributeValueBusinessEntity Consultingwerk.SmartFramework.Repository.Class.ClassTypeBusinessEntity Consultingwerk.SmartFramework.Repository.Class.LinkTypeBusinessEntity Consultingwerk.SmartFramework.Repository.Class.ObjectTypeBusinessEntity Consultingwerk.SmartFramework.Repository.Class.SupportedInstanceObjectTypeBusinessEntity Consultingwerk.SmartFramework.Repository.Class.SupportedLinkBusinessEntity Consultingwerk.SmartFramework.Repository.Customization.CustomizationBusinessEntity Consultingwerk.SmartFramework.Repository.Customization.CustomizationTypeBusinessEntity Consultingwerk.SmartFramework.Repository.Field.EntityFieldMappingBusinessEntity Consultingwerk.SmartFramework.Repository.Object.Export.ObjectMasterBusinessEntity Consultingwerk.SmartFramework.Repository.Object.ObjectMasterBusinessEntity Consultingwerk.SmartFramework.Repository.Object.WhereUsed.WhereUsedBusinessEntity Consultingwerk.SmartFramework.Repository.ScreenMapping.EntityTableMappingBusinessEntity Consultingwerk.SmartFramework.Repository.ScreenMapping.ScreenTypeBusinessEntity Consultingwerk.SmartFramework.Repository.ScreenMapping.UiTypeBusinessEntity Consultingwerk.SmartFramework.Scheduler.SchedulerJobBusinessEntity Consultingwerk.SmartFramework.Scheduler.SchedulerJobPlanBusinessEntity Consultingwerk.SmartFramework.Scheduler.SchedulerJobStatusBusinessEntity Consultingwerk.SmartFramework.Authentication.UserBusinessEntity Consultingwerk.SmartFramework.Authentication.UserProfileBusinessEntity Consultingwerk.SmartFramework.Authorization.FieldSecurityItemBusinessEntity Consultingwerk.SmartFramework.Authorization.GroupBusinessEntity Consultingwerk.SmartFramework.Authorization.MenuGroupBusinessEntity Consultingwerk.SmartFramework.Authorization.ParentGroupBusinessEntity Consultingwerk.SmartFramework.Authorization.SecurityAssignmentBusinessEntity Consultingwerk.SmartFramework.Authorization.SecurityObjectBusinessEntity Consultingwerk.SmartFramework.Authorization.SecurityRealmBusinessEntity Consultingwerk.SmartFramework.Authorization.SecurityTokenBusinessEntity Consultingwerk.SmartFramework.Authorization.ToolbarSecurityItemBusinessEntity Consultingwerk.SmartFramework.Authorization.UserGroupBusinessEntity Consultingwerk.SmartFramework.Context.ContextStoreBusinessEntity Consultingwerk.SmartFramework.Lock.LockBusinessEntity Consultingwerk.SmartFramework.Menu.MenuBusinessEntity Consultingwerk.SmartFramework.Menu.MenuStyleBusinessEntity Consultingwerk.SmartFramework.Menu.ModuleBusinessEntity Consultingwerk.SmartFramework.Menu.ProductBusinessEntity Consultingwerk.OERA.DynamicBusinessEntity.DynamicBusinessEntity Consultingwerk.SmartFramework.System.AttachmentBusinessEntity Consultingwerk.SmartFramework.System.AttachmentRoleBusinessEntity Consultingwerk.SmartFramework.System.CommentRoleBusinessEntity Consultingwerk.SmartFramework.System.ConfigurationValueBusinessEntity Consultingwerk.SmartFramework.System.DeletionBusinessEntity Consultingwerk.SmartFramework.System.KeyFieldAssignmentTypeBusinessEntity Consultingwerk.SmartFramework.System.LanguageBusinessEntity Consultingwerk.SmartFramework.System.LoginCompanyBusinessEntity Consultingwerk.SmartFramework.System.MessageBusinessEntity Consultingwerk.SmartFramework.System.ModifiedStateBusinessEntity Consultingwerk.SmartFramework.System.RelationBusinessEntity Consultingwerk.SmartFramework.System.SmartBusinessEntityBusinessEntity Consultingwerk.SmartFramework.System.TableBusinessEntity Consultingwerk.SmartFramework.System.TranslationBusinessEntity Consultingwerk.SmartFramework.System.UiTranslationBusinessEntity Consultingwerk.SmartFramework.System.ValueListBusinessEntity Consultingwerk.SmartFramework.Web.RouteBusinessEntity Consultingwerk.SmartFramework.Workflow.WorkflowBusinessEntity Consultingwerk.SmartFramework.Workflow.WorkflowInstanceBusinessEntity Consultingwerk.RollbaseAdapter.MetaData.ObjectDefBusinessEntity Consultingwerk.RollbaseAdapter.MetaData.ObjectDefNamesBusinessEntity Consultingwerk.Util.ClassHelper.ClassHelperBusinessEntity Consultingwerk.Windows.Framework.Localization.UserInterfaceCultureBusinessEntity
ABSTRACT

File:BusinessEntity
Purpose:Provides Access and Business Logik for a ProDataset
Author(s):Mike Fechner / Consultingwerk Ltd.
Created:Wed Feb 24 22:22:37 CET 2010
Notes:Supports the "IDataAccessFactory" custom log entry type
to trace loading of the Data Access class



Top Method Summary
Options Name Purpose
+ CanFind (dataset-handle, 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.
+ LOGICAL CanFind (character, character) 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.
+ CountResultRecords (dataset-handle, ICountRecordsRequest) Counts the number of results of the query
# DestroyDataAccessObject () Unloads the DataAccess object
+ dispose () Destroy/Shutdown/Anti-Initializer
# FetchChildTableRecords (handle) Populates records in the child table identified by the buffer handle of the child table
+ FetchData (IFetchDataRequest) Fetch data from the Data Access object
# FetchData (IFetchDataRequest, handle) Fetch data from the Data Access object
+ F FetchData (IFetchDataRequest, dataset-handle) Fetch data and/or definitions
+ FetchDataByKeyTable (dataset-handle, IFetchDataByKeyTableParameter) Supports retrieve multiple DB records from a Business Entity based on a temp-table with key values
# F FetchDataByKeyTable (IFetchDataByKeyTableParameter, handle) Fetch data from the Data Access object
+ FetchDataset (dataset-handle) Creates and returns an empty dataset to the caller
# FetchRelatedRecords (handle, character) Populates records in the named tables based on their relation to the provided record
+ Consultingwerk.OERA.BusinessEntityDescriptor.IBusinessEntityDescriptor GetBusinessEntityDescriptor () Returns the Business Entity Descriptor for this Business Entity
+ GetBusinessEntityDescriptor (dataset-handle, GetBusinessEntityDescriptorParameter) Returns the Business Entity Descriptor for this Business Entity
+ Ccs.BusinessLogic.IGetDataResponse getData (IGetDataRequest, dataset-handle) Performs a read request
# Consultingwerk.OERA.IDataAccess GetDataAccessObject () Returns the reference to the DataAccess Object
+ getDataset (dataset-handle) Returns an empty instance of the primary ProDataset to the caller
+ Progress.Lang.Class GetDatasetModelType () Returns the class reference of the DatasetModel type associated with this Business Entity
+ GetInitialValues (dataset-handle, GetInitialValuesParameter) Returns a dataset with one record containing the initial values
+ Consultingwerk.OERA.RestResource.ListRestAddress GetRestAddresses () Returns the list of supported rest adresses to the caller
+ Consultingwerk.OERA.RestResource.ListRestMethod GetRestMethods () Returns the list of supported rest adresses for methods to the caller
+ Ccs.BusinessLogic.IGetResultCountResponse getResultCount (IGetDataRequest) Returns the count of the total number of result records or a guess of the result count to the caller
+ Progress.Lang.Class GetTableModelType (character) Returns the class reference of the TableModel type associated with this Business Entity
+ CHARACTER GetTopNavBuffers () Returns the names of the dataset TOP-NAV-BUFFER's
+ GetTopNavBuffers (dataset-handle, CharacterHolder) Populates the provided CharacterHolder with a comma-delimited list of the names of the dataset TOP-NAV-BUFFER's
+ initialize () Initializer/Startup
# InitializeDataAccessObject () Initializes the DataAcess Object
# InvokeReceiveData (RequestTypeEnum, Object) Invokes the ReceiveDataMethod
# LOGICAL PopulateFromPartialBuffer (handle) Populates a single ProDataset record from the partial record to the complete record
# PopulatePartialBuffer (handle) Populates a single ProDataset record from the partial record to the complete record
# A ReceiveData () Provides a hook to modify data in the ProDataset after Read and Update operations (i.e. population of aggregated values)
# Consultingwerk.OERA.FetchDataRequest RequestForKeyField (character, character, character) Factory method for the FetchDataRequest class
# Consultingwerk.OERA.FetchDataRequest RequestForKeyField (character, character, decimal) Factory method for the FetchDataRequest class
# Consultingwerk.OERA.FetchDataRequest RequestForKeyField (character, character, integer) Factory method for the FetchDataRequest class
# RestoreDatasetHandle () Restores the DatasetHandle property value
+ SaveChanges () Saves changes using the DataAccess object
+ F SaveChanges (dataset-handle) Saves changes
+ F SaveChanges (dataset-handle, Object) Saves changes
# SaveChanges (IActionType) Saves changes with an Action Type instance
+ SavePartialChanges (dataset-handle, Object) Saves partial changes to the Busiuness Entity Dataset
# CHARACTER UniqueFindPredicateWithValueBuffer (handle, handle, character) Builds a unique find predicate for a prodataset buffer (based on an unique index).
+ Progress.Lang.Object updateData (dataset-handle, IUpdateDataRequest) Stores data modifications in the persistent storage (typically a database)
# ValidateAddOnlyColumns (handle, character) Performs AddOnly validation for a list of columns
# ValidateBasedOnBusinessEntityDescriptor () Performs validation based on the Business Entity Descriptor properties
# A ValidateData () Provides a hook for high level data validation before Update operations
+ ValidateData (dataset-handle, IValidateDataContext) Provides a client callable method for data validation
# ValidateMandatoryColumns (handle, character) Performs Mandatory validation for a list of columns
+ ValidatePartialData (dataset-handle, IValidateDataContext) Provides a client callable method for partial data validation
# ValidateReadOnlyColumns (handle, character) Performs ReadOnly validation for a list of columns

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

Top Property Summary
Options Name Purpose
+ Progress.Lang.Enum ActionType
+ CHARACTER ContextID
+ CHARACTER DataAccessName
+ Consultingwerk.OERA.IDataAccess DataAccessObject
+ HANDLE DatasetHandle
# Consultingwerk.OERA.IFetchDataRequest FetchDataRequest
# HANDLE OriginalDatasetHandle
+ Consultingwerk.OERA.Enum.RequestTypeEnum RequestType
# Progress.Lang.Object SaveChangesParameter
+ LOGICAL TrackingChanges
# Consultingwerk.OERA.IValidateDataContext ValidateDataContext


Method Detail
Top

PUBLIC CanFind (dataset-handle, 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: Invokable method
Result will be assigned to the Result property of the CanFindParameter
instance

Parameters:
phDataset DATASET-HANDLE
Not used, do not pass in a DATASET or DATASET-HANDLE
poParameter Consultingwerk.OERA.CanFindParameter
The CanFindParameter with the parameters for this call
Top

PUBLIC LOGICAL CanFind (character, character)

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:

Parameters:
pcTableName CHARACTER
The name of the temp-table
pcFindString CHARACTER
The find string
Returns LOGICAL
Logical value indicating if the record can be found
Top

PUBLIC CountResultRecords (dataset-handle, ICountRecordsRequest)

Purpose: Counts the number of results of the query
Notes: Used by the Generic JSDO Service to support the Count feature
Supports STOP-AFTER: When STOP-AFTER occurs, the StopAfterNumResults
value of the parameter object is returns as the Results
https://consultingwerk.atlassian.net/wiki/spaces/SCL/pages/8094448/Generic+Service+Interface+for+JSDO+with+Kendo+UI+dialect#GenericServiceInterfaceforJSDOwithKendoUIdialect-ResourceCount //consultingwerk.atlassian.net/wiki/spaces/SCL/pages/8094448/Generic+Service+Interface+for+JSDO+with+Kendo+UI+dialect#GenericServiceInterfaceforJSDOwithKendoUIdialect-ResourceCount

Parameters:
phDataset DATASET-HANDLE
The dataset handle (not used)
poParameter Consultingwerk.OERA.ICountRecordsRequest
The CharacterHolder to receive the list of TOP-NAV-BUFFERS
Top

PROTECTED DestroyDataAccessObject ()

Purpose: Unloads the DataAccess object
Notes:

Top

PUBLIC dispose ()

Purpose: Destroy/Shutdown/Anti-Initializer
Notes:

Top

PROTECTED FetchChildTableRecords (handle)

Purpose: Populates records in the child table identified by the buffer handle
of the child table
Notes: Calls into a second instance of the Business Entity and performs a
FetchDataRequest based on the current record in the parent buffer
Performs no action, when the Child table record for the parent is
already available

Parameters:
phChildBuffer HANDLE
The child buffer
Top

PUBLIC FetchData (IFetchDataRequest)

Purpose: Fetch data from the Data Access object
Notes:

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

PROTECTED FetchData (IFetchDataRequest, handle)

Purpose: Fetch data from the Data Access object
Notes: This variant of FetchData is used by strong-typed
methods in the actual Business Entity class and provides
the handle of a BY-REFERENCE DATASET Parameter received
from the caller (typically the Service Interface class)

Parameters:
poFetchDataRequest Consultingwerk.OERA.IFetchDataRequest
The IFetchDataRequest object with the parameters for this call
phDataset HANDLE
The handle of the DATASET received BY-REFERENCE from the caller
Top

PUBLIC FetchData (IFetchDataRequest, dataset-handle)

Purpose: Fetch data and/or definitions
Notes:

Parameters:
poFetchDataRequest Consultingwerk.OERA.IFetchDataRequest
The IFetchDataRequest object with the parameter for this call
phDataset DATASET-HANDLE
OUTPUT Dataset with the resulting data
Top

PUBLIC FetchDataByKeyTable (dataset-handle, IFetchDataByKeyTableParameter)

Purpose: Supports retrieve multiple DB records from a Business Entity based on
a temp-table with key values
Notes: Proxy method to calling the same method in the data access class
SCL-647

Parameters:
phDataset DATASET-HANDLE
INPUT-OUTPUT DATSET-HANDLE, only used for OUTPUT of the resulting dataset
poParameter Consultingwerk.OERA.IFetchDataByKeyTableParameter
The IFetchDataByKeyTableParameter with the data for this call
Top

PROTECTED FetchDataByKeyTable (IFetchDataByKeyTableParameter, handle)

Purpose: Fetch data from the Data Access object
Notes: This variant of FetchDataByKeyTable is used by strong-typed
methods in the actual Business Entity class and provides
the handle of a BY-REFERENCE DATASET Parameter received
from the caller (typically the Service Interface class)

Parameters:
poParameter Consultingwerk.OERA.IFetchDataByKeyTableParameter
The IFetchDataByKeyTableParameter with the data for this call
phDataset HANDLE
The handle of the DATASET received BY-REFERENCE from the caller
Top

PUBLIC FetchDataset (dataset-handle)

Purpose: Creates and returns an empty dataset to the caller
Notes: Useful for dynamic callers that need access to the dataset schema prior to calling FetchData

Parameters:
phDataset DATASET-HANDLE
OUTPUT Dataset with the resulting data
Top

PROTECTED FetchRelatedRecords (handle, character)

Purpose: Populates records in the named tables based on their relation to
the provided record
Notes:

Parameters:
phBufferHandle HANDLE
The source buffer handle
pcRelatedTables CHARACTER
Comma delimited list of temp-table names to populate
Top

PUBLIC Consultingwerk.OERA.BusinessEntityDescriptor.IBusinessEntityDescriptor GetBusinessEntityDescriptor ()

Purpose: Returns the Business Entity Descriptor for this Business Entity
Notes: https://consultingwerk.atlassian.net/wiki/spaces/SCL/pages/8094518/Business+Entity+Descriptor

Returns Consultingwerk.OERA.BusinessEntityDescriptor.IBusinessEntityDescriptor
The IBusinessEntityDescriptor of the Business Entity
Top

PUBLIC GetBusinessEntityDescriptor (dataset-handle, GetBusinessEntityDescriptorParameter)

Purpose: Returns the Business Entity Descriptor for this Business Entity
Notes: Invokable Method
https://consultingwerk.atlassian.net/wiki/spaces/SCL/pages/8094518/Business+Entity+Descriptor //consultingwerk.atlassian.net/wiki/spaces/SCL/pages/8094518/Business+Entity+Descriptor

Parameters:
phDataset DATASET-HANDLE
The dataset of the Business Entity
poParameter Consultingwerk.OERA.BusinessEntityDescriptor.GetBusinessEntityDescriptorParameter
The GetBusinessEntityDescriptorParameter with the data for this call
Top

PUBLIC Ccs.BusinessLogic.IGetDataResponse getData (IGetDataRequest, dataset-handle)

Purpose: Performs a read request
Notes:

Parameters:
poRequest Ccs.BusinessLogic.IGetDataRequest
The IGetDataRequest instance with the getData request parameters
phDataset DATASET-HANDLE
OUTPUT Dataset
Returns Ccs.BusinessLogic.IGetDataResponse
The IGetDataResponse instance
Top

PROTECTED Consultingwerk.OERA.IDataAccess GetDataAccessObject ()

Purpose: Returns the reference to the DataAccess Object
Notes: If THIS-OBJECT:DataAccessObject is not valid, this
method will invoke InitializeDataAccessObject before
returning the reference

Returns Consultingwerk.OERA.IDataAccess
The reference to the Data Access object
Top

PUBLIC getDataset (dataset-handle)

Purpose: Returns an empty instance of the primary ProDataset to the caller
Notes: Used for catalog generation or initialization of dynamic user
interfaces etc.

Parameters:
phDataset DATASET-HANDLE
OUTPUT Dataset (not intended to be called BY-REFERENCE)
Top

PUBLIC Progress.Lang.Class GetDatasetModelType ()

Purpose: Returns the class reference of the DatasetModel type
associated with this Business Entity
Notes:

Returns Progress.Lang.Class
The Progress.Lang.Class reference
Top

PUBLIC GetInitialValues (dataset-handle, GetInitialValuesParameter)

Purpose: Returns a dataset with one record containing the initial values
Notes: Can be overridden in Business Entity implementations to provide
dynamic initial values. The base class implementation will return
the buffer fields initial values. The parameter object's TableNames
is a comma-delimited list. The parameter object's ForeignKeyFields
property is a character array (one element per table) of comma delimited
lists of the provided foreign field names. The foreing field values is a
character array (one element per table) of CHR(1) delimited field
values

Parameters:
phDataset DATASET-HANDLE
Used to return the dataset
poParameter Consultingwerk.OERA.GetInitialValuesParameter
The GetInitialValuesParameter instance with the parameters for this call
Top

PUBLIC Consultingwerk.OERA.RestResource.ListRestAddress GetRestAddresses ()

Purpose: Returns the list of supported rest adresses to the caller
Notes:

Returns Consultingwerk.OERA.RestResource.ListRestAddress
The list of supported rest adresses to the caller
Top

PUBLIC Consultingwerk.OERA.RestResource.ListRestMethod GetRestMethods ()

Purpose: Returns the list of supported rest adresses for methods
to the caller
Notes:

Returns Consultingwerk.OERA.RestResource.ListRestMethod
The list of supported rest methods to the caller
Top

PUBLIC Ccs.BusinessLogic.IGetResultCountResponse getResultCount (IGetDataRequest)

Purpose: Returns the count of the total number of result records or a guess
of the result count to the caller
Notes:

Parameters:
poRequest Ccs.BusinessLogic.IGetDataRequest
The IGetDataRequest instance with the getResultCount request parameters
Returns Ccs.BusinessLogic.IGetResultCountResponse
The IGetResultCountResponse instance
Top

PUBLIC Progress.Lang.Class GetTableModelType (character)

Purpose: Returns the class reference of the TableModel type
associated with this Business Entity
Notes:

Parameters:
pcTableName CHARACTER
The name of the temp-table
Returns Progress.Lang.Class
The Progress.Lang.Class reference
Top

PUBLIC CHARACTER GetTopNavBuffers ()

Purpose: Returns the names of the dataset TOP-NAV-BUFFER's
Notes:

Returns CHARACTER
The list of TOP-NAV-BUFFERS
Top

PUBLIC GetTopNavBuffers (dataset-handle, CharacterHolder)

Purpose: Populates the provided CharacterHolder with a comma-delimited list
of the names of the dataset TOP-NAV-BUFFER's
Notes:

Parameters:
phDataset DATASET-HANDLE
The dataset handle (not used)
poParameter Consultingwerk.CharacterHolder
The CharacterHolder to receive the list of TOP-NAV-BUFFERS
Top

PUBLIC initialize ()

Purpose: Initializer/Startup
Notes:

Top

PROTECTED InitializeDataAccessObject ()

Purpose: Initializes the DataAcess Object
Notes: Uses the DataAccessName property

Top

PROTECTED InvokeReceiveData (RequestTypeEnum, Object)

Purpose: Invokes the ReceiveDataMethod
Notes: This method is on purpose overridable. This method allows to
control centrally if ReceiveData should be called or not by
deciding if SUPER:InvokeReceiveData (poRequestType, poRequest)
is called or not

Parameters:
poRequestType Consultingwerk.OERA.Enum.RequestTypeEnum
The RequestTypeEnum describing the type of the current call
poRequest Progress.Lang.Object
The request argument, IFetchDataRequest, IFetchDataByKeyTableRequest or the parameter argument passed to the SaveChanges methods
Top

PROTECTED LOGICAL PopulateFromPartialBuffer (handle)

Purpose: Populates a single ProDataset record from the partial record to the complete
record
Notes: Used during SavePartialChanges and ValidatePartialData before SaveChanges
(for a single record) or ValidateData are called

Parameters:
phPartialBuffer HANDLE
The buffer of the partial dataset to use as the source
Returns LOGICAL
Logical value indicating if the operation was successful
Top

PROTECTED PopulatePartialBuffer (handle)

Purpose: Populates a single ProDataset record from the partial record to the complete
record
Notes: Used during SavePartialChanges and ValidatePartialData before SaveChanges
(for a single record) or ValidateData are called

Parameters:
phPartialBuffer HANDLE
The buffer of the partial dataset to use as the source
Top

PROTECTED ReceiveData ()

Purpose: Provides a hook to modify data in the ProDataset after Read and
Update operations (i.e. population of aggregated values)
Notes: Invoked during FetchData () and SaveChanges ()
Abstract method to be implemented by the actual Business Entity

Top

PROTECTED Consultingwerk.OERA.FetchDataRequest RequestForKeyField (character, character, character)

Purpose: Factory method for the FetchDataRequest class
Notes: Return a request instance based on a table, keyfield and value

Parameters:
pcTableName CHARACTER
The name of the temp-table to request
pcKeyFieldName CHARACTER
The name of the key field
pcKeyFieldValue CHARACTER
The value of the key field
Returns Consultingwerk.OERA.FetchDataRequest
The FetchDataRequest instance
Top

PROTECTED Consultingwerk.OERA.FetchDataRequest RequestForKeyField (character, character, decimal)

Purpose: Factory method for the FetchDataRequest class
Notes: Return a request instance based on a table, keyfield and value

Parameters:
pcTableName CHARACTER
The name of the temp-table to request
pcKeyFieldName CHARACTER
The name of the key field
pdeKeyFieldValue DECIMAL
The value of the key field
Returns Consultingwerk.OERA.FetchDataRequest
The FetchDataRequest instance
Top

PROTECTED Consultingwerk.OERA.FetchDataRequest RequestForKeyField (character, character, integer)

Purpose: Factory method for the FetchDataRequest class
Notes: Return a request instance based on a table, keyfield and value

Parameters:
pcTableName CHARACTER
The name of the temp-table to request
pcKeyFieldName CHARACTER
The name of the key field
piKeyFieldValue INTEGER
The value of the key field
Returns Consultingwerk.OERA.FetchDataRequest
The FetchDataRequest instance
Top

PROTECTED RestoreDatasetHandle ()

Purpose: Restores the DatasetHandle property value
Notes:

Top

PUBLIC SaveChanges ()

Purpose: Saves changes using the DataAccess object
Notes: This method saves changes contained in the dataset currently present
in the Business Entity

Top

PUBLIC SaveChanges (dataset-handle)

Purpose: Saves changes
Notes: This method is called from consumers of the Business Entity and
receives the dataset. It calls into the SaveChanges() method with no
parameters after the internal dataset has been set
This method is called by the ServiceInterface when no parameter object
has been passed in

Parameters:
phDataset DATASET-HANDLE
INPUT-OUTPUT Dataset with changes
Top

PUBLIC SaveChanges (dataset-handle, Object)

Purpose: Saves changes
Notes: This method is called from consumers of the Business Entity and
receives the dataset. It calls into the SaveChanges() method with no
parameters after the internal dataset has been set
This method is called by the ServiceInterface when a parameter object
has been passed in. The parameter object will be accessible from within
the business entity using the protected property SaveChangesParameter

Parameters:
phDataset DATASET-HANDLE
INPUT-OUTPUT Dataset with changes
poParameter Progress.Lang.Object
Optional Parameter object for the SaveChanges method
Top

PROTECTED SaveChanges (IActionType)

Purpose: Saves changes with an Action Type instance
Notes: This method is called from consumers of the Business Entity and
receives the dataset. It calls into the SaveChanges() method with no
parameters after the internal dataset has been set
Validation is completely delegated to the Action Type instance

Parameters:
poActionType Consultingwerk.OERA.IActionType
The Action Type instance
Top

PUBLIC SavePartialChanges (dataset-handle, Object)

Purpose: Saves partial changes to the Busiuness Entity Dataset
Notes: Saves only those fields from the provided Dataset. Does fetch the
complete dataset first, then applies changes from the provided
dataset to the complete dataset and saves this using SaveChanges.
Relies on ROW-STATE in the partial dataset as well! A seperate method
may be added in the future, that only expects current values from the
passed in ProDataset
When multiple records are provided in the partial dataset, currently
each record is processed alone
For simplicity of the partial dataset, we do not expect this dataset to
have indexes defined. However, we do expect that the partial dataset
contains the columns of the primary unique key of the business entity
dataset columns
Flow of actions:
- Fetch the whole Dataset Records
- Manipulate the "before"
- Manipulate the "after"
- SaveChanges()
- Transfer ERROR, ERROR-STRING attributes
- Return updated partial records to the caller
SCL-987

Parameters:
phDataset DATASET-HANDLE
INPUT-OUTPUT Dataset with changes
poParameter Progress.Lang.Object
Optional Parameter object for the SavePartialChanges method (BusinessEntity:SaveChangesParameter)
Top

PROTECTED CHARACTER UniqueFindPredicateWithValueBuffer (handle, handle, character)

Purpose: Builds a unique find predicate for a prodataset buffer (based on an
unique index).
Notes: Based on BufferHelper:UniqueFindPredicateWithValueBuffer. Called from
SavePartialChanges. Extracted from SavePartialChanges to allow injecting
missing key field values (e.g. tenant related fields) by overriding
this method.

Parameters:
phBuffer HANDLE
The Business Entity ProDataset member buffer
phPartialBuffer HANDLE
The buffer of the partial dataset, values will be used from it's before-buffer
pcBufferName CHARACTER
The name of the buffer for the find string
Returns CHARACTER
The unique find predicate used to locate the ProDataset buffer for the partial update
Top

PUBLIC Progress.Lang.Object updateData (dataset-handle, IUpdateDataRequest)

Purpose: Stores data modifications in the persistent storage (typically a
database)
Notes: The output dataset will contain validation error messages in the
ERROR-STRING attributes of the record buffers. Records with Errors
will also have the ERROR attribute set to TRUE. When at least a single
record has a validation error, the ERROR attribute of the ProDataset
is assigned to TRUE as well

Parameters:
phDataset DATASET-HANDLE
INPUT-OUTPUT Dataset containing modified records to be processed (should be passed BY-REFERENCE)
poUpdateDataRequest Ccs.BusinessLogic.IUpdateDataRequest
The optional request object that allows to provide custom instructions to the method
Returns Progress.Lang.Object
An optional response object returned by the method
Top

PROTECTED ValidateAddOnlyColumns (handle, character)

Purpose: Performs AddOnly validation for a list of columns
Notes:

Parameters:
phBuffer HANDLE
The handle of the buffer to validate
pcColumns CHARACTER
The list of columns to validate
Top

PROTECTED ValidateBasedOnBusinessEntityDescriptor ()

Purpose: Performs validation based on the Business Entity Descriptor
properties
Notes:

Top

PROTECTED ValidateData ()

Purpose: Provides a hook for high level data validation before Update
operations
Notes: Invoked during SaveChanges (). When the ERROR flag of the ProDataset
is set, the Update operation will be cancelled before writing back
the data to the database using the DataAccess object
Abstract method to be implemented by the actual Business Entity

Top

PUBLIC ValidateData (dataset-handle, IValidateDataContext)

Purpose: Provides a client callable method for data validation
Notes: Invokes ValidateData(), but not linked to any SaveChanges invokation
The poContext parameter is available during the method execution through
the ValidateDataContext property
See SCL-1030

Parameters:
phDataset DATASET-HANDLE
The DATASET-HANDLE with the data to validate
poContext Consultingwerk.OERA.IValidateDataContext
The IValidateDataContext instance with the context for this call
Top

PROTECTED ValidateMandatoryColumns (handle, character)

Purpose: Performs Mandatory validation for a list of columns
Notes:

Parameters:
phBuffer HANDLE
The handle of the buffer to validate
pcColumns CHARACTER
The list of columns to validate
Top

PUBLIC ValidatePartialData (dataset-handle, IValidateDataContext)

Purpose: Provides a client callable method for partial data validation
Notes: Invokes ValidateData(), but not linked to any SaveChanges invokation
The poContext parameter is available during the method execution through
the ValidateDataContext property
See SCL-1030, SCL-1034

Parameters:
phDataset DATASET-HANDLE
The DATASET-HANDLE with the data to validate
poContext Consultingwerk.OERA.IValidateDataContext
The IValidateDataContext instance with the context for this call
Top

PROTECTED ValidateReadOnlyColumns (handle, character)

Purpose: Performs ReadOnly validation for a list of columns
Notes: ReadOnly columns may not be updated on Add and Update

Parameters:
phBuffer HANDLE
The handle of the buffer to validate
pcColumns CHARACTER
The list of columns to validate


Constructor Detail
Top

PUBLIC BusinessEntity (handle)

Purpose: Constructor for the SmartBusinessEntity class
Notes:

Parameters:
phDataset HANDLE
The handle of the Business Entity Dataset (passed from the actual Business Entity)


Property Detail
Top

PUBLIC Progress.Lang.Enum ActionType


Returns Progress.Lang.Enum
Top

PUBLIC CHARACTER ContextID


Returns CHARACTER
Top

PUBLIC CHARACTER DataAccessName


Returns CHARACTER
Top

PUBLIC Consultingwerk.OERA.IDataAccess DataAccessObject


Returns Consultingwerk.OERA.IDataAccess
Top

PUBLIC HANDLE DatasetHandle


Returns HANDLE
Top

PROTECTED Consultingwerk.OERA.IFetchDataRequest FetchDataRequest


Returns Consultingwerk.OERA.IFetchDataRequest
Top

PROTECTED HANDLE OriginalDatasetHandle


Returns HANDLE
Top

PUBLIC Consultingwerk.OERA.Enum.RequestTypeEnum RequestType


Returns Consultingwerk.OERA.Enum.RequestTypeEnum
Top

PROTECTED Progress.Lang.Object SaveChangesParameter


Returns Progress.Lang.Object
Top

PUBLIC LOGICAL TrackingChanges


Returns LOGICAL
Top

PROTECTED Consultingwerk.OERA.IValidateDataContext ValidateDataContext


Returns Consultingwerk.OERA.IValidateDataContext


©2006-2020 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       24.05.2022 19:15:23