Top Method Summary
Options Name Purpose
DeleteMenuItem (character) Deletes a menu item and it's children
F FetchData (IFetchDataRequest, dataset) Fetch data from the Data Access object
FetchDataByKeyTable (dataset, IFetchDataByKeyTableParameter) Supports to retrieve multiple DB records from a Business Entity based on a temp-table with key values
F FetchDataByReference (IFetchDataRequest, dataset) Fetch data from the Data Access object
FetchFunction (dataset, character) Fetches a Function by guid or code Notes : First tries to fetch by FunctionGuid. When no record is returned, falls back to fetching by FunctionCode. @param dsMenu INPUT-OUTPUT DATASET-HANDLE for the response dataset @param pcValue The guid or code value */
FetchFunction (dataset, CharacterHolder) Fetches a Function by guid or code using a CharacterHolder value. @param dsMenu INPUT-OUTPUT DATASET-HANDLE for the response dataset @param poValue The CharacterHolder containing the guid or code */
FetchMenu (dataset, character) Fetches a Menu by guid or structure code Notes : First tries to fetch by MenuGuid. When no record is returned, falls back to fetching by MenuStructureCode. @param dsMenu INPUT-OUTPUT DATASET-HANDLE for the response dataset @param pcValue The guid or structure code value */
FetchMenu (dataset, CharacterHolder) Fetches a Menu by guid or structure code using a CharacterHolder value. @param dsMenu INPUT-OUTPUT DATASET-HANDLE for the response dataset @param poValue The CharacterHolder containing the guid or structure code */
CHARACTER GetMenuGuidByMenuStructureId (character) Determines the MenuGuid based on the MenuStructureCode
GetMenuItems (dataset, CharacterHolder) Returns Menu Items based on a list of FunctionGuids to the client
GetMenus (dataset, CharacterHolder) Returns the eSmartMenu records for a comma delimited list of MenuGuid's
GetMenusForGroups (dataset, CharacterHolder) Returns the eSmartMenu records for a comma delimited list of user group guids
GetMenuStructure (dataset-handle, IGetMenuStructureParameter) Returns a recursive menu structure
GetMenuStructure (handle, handle, character, integer, integer, logical, IMenuFunctionContainerSecurityService) Returns one level of menu data
GetMenuStructures (dataset, CharacterHolder) Returns the recursive menu structures for multiple root menu keys in a single AppServer request (SCL-5367)
MergeMenuStructure (handle, handle, handle) Merges the eSmartMenu / eSmartFunction rows of a source dataset into the passed target buffers, skipping rows that are already present
MoveMenuStructure (dataset-handle, MoveMenuStructureParameter) Moves a Menu Structure item
PopulateMenuStructureForRoot (handle, handle, IGetMenuStructureParameter, IMenuFunctionContainerSecurityService) Populates the recursive menu structure for a single root menu key into the passed target buffers
PopulateMenuStyle (handle) Populates the Menu Style in the dataset
ReceiveData () Provides a hook to modify data in the ProDataset after Read and Update operations (i.e. population of aggregated values)
RefreshMenuCache () Refreshes the Menu Cache
ValidateData () Provides a hook for high level data validation before Update operations

Top Constructor Summary
Options Name Purpose
MenuBusinessEntity () Constructor of the MenuBusinessEntity class

Top Property Summary
Options Name Purpose
LOGICAL CacheMenuAtStartup


Method Detail
Top

DeleteMenuItem (character)

Purpose: Deletes a menu item and it's children
Notes:

Parameters:
pcMenuGuid CHARACTER
The GUID of the menu item to delete
Top

FetchData (IFetchDataRequest, dataset)

Purpose: Fetch data from the Data Access object
Notes:

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

FetchDataByKeyTable (dataset, IFetchDataByKeyTableParameter)

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

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

FetchDataByReference (IFetchDataRequest, dataset)

Purpose: Fetch data from the Data Access object
Notes:

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

FetchFunction (dataset, character)

Purpose: Fetches a Function by guid or code
Notes : First tries to fetch by FunctionGuid. When no record is returned,
falls back to fetching by FunctionCode.

Parameters:
dsMenu DATASET dsMenu
INPUT-OUTPUT DATASET-HANDLE for the response dataset
pcValue CHARACTER
The guid or code value
Top

FetchFunction (dataset, CharacterHolder)

Purpose: Fetches a Function by guid or code using a CharacterHolder value.

Parameters:
dsMenu DATASET dsMenu
INPUT-OUTPUT DATASET-HANDLE for the response dataset
poValue Consultingwerk.CharacterHolder
The CharacterHolder containing the guid or code
Top

FetchMenu (dataset, character)

Purpose: Fetches a Menu by guid or structure code
Notes : First tries to fetch by MenuGuid. When no record is returned,
falls back to fetching by MenuStructureCode.

Parameters:
dsMenu DATASET dsMenu
INPUT-OUTPUT DATASET-HANDLE for the response dataset
pcValue CHARACTER
The guid or structure code value
Top

FetchMenu (dataset, CharacterHolder)

Purpose: Fetches a Menu by guid or structure code using a CharacterHolder value.

Parameters:
dsMenu DATASET dsMenu
INPUT-OUTPUT DATASET-HANDLE for the response dataset
poValue Consultingwerk.CharacterHolder
The CharacterHolder containing the guid or structure code
Top

CHARACTER GetMenuGuidByMenuStructureId (character)

Purpose: Determines the MenuGuid based on the MenuStructureCode
Notes:

Parameters:
pcMenuStructureCode CHARACTER
Returns CHARACTER
The MenuGuid
Top

GetMenuItems (dataset, CharacterHolder)

Purpose: Returns Menu Items based on a list of FunctionGuids to the client
Notes:

Parameters:
dsMenu DATASET dsMenu
The dataset with the Menu Structure
poKeys Consultingwerk.CharacterHolder
The CharacterHolder instance with the comma delimited list of Menu Function Keys, CHR(1) delimited
Top

GetMenus (dataset, CharacterHolder)

Purpose: Returns the eSmartMenu records for a comma delimited list of MenuGuid's
Notes:

Parameters:
dsMenu DATASET dsMenu
The dataset with the Menu Structure
poMenuGuids Consultingwerk.CharacterHolder
The CharacterHolder instance with the comma delimited list of MenuGuid's
Top

GetMenusForGroups (dataset, CharacterHolder)

Purpose: Returns the eSmartMenu records for a comma delimited list of user group
guids
Notes:

Parameters:
dsMenu DATASET dsMenu
The dataset with the Menu Structure
poGroups Consultingwerk.CharacterHolder
The CharacterHolder class that contains the comma delimited list of user groups
Top

GetMenuStructure (dataset-handle, IGetMenuStructureParameter)

Purpose: Returns a recursive menu structure
Notes:

Parameters:
phDataset DATASET-HANDLE
INPUT-OUTPUT DATASET-HANDLE
poGetMenuStructureParameter Consultingwerk.SmartFramework.IGetMenuStructureParameter
Top

GetMenuStructure (handle, handle, character, integer, integer, logical, IMenuFunctionContainerSecurityService)

Purpose: Returns one level of menu data
Notes:

Parameters:
phBuffer HANDLE
The target buffer (eSmartMenu)
phFunctionBuffer HANDLE
The target buffer (eSmartFunction), only populated when plIncludeMenuFunction = TRUE
pcParentMenuKey CHARACTER
The current parent menu key
piNumberOfLevels INTEGER
The maximum number of levels to return (limit recursion)
piCurrentLevel INTEGER
The current level (recursion)
plIncludeMenuFunction LOGICAL
Logical value indicating if the menu function table should be populated as well
poMenuFunctionSecurityService Consultingwerk.SmartFramework.Menu.IMenuFunctionContainerSecurityService
The reference to the IMenuFunctionContainerSecurityService
Top

GetMenuStructures (dataset, CharacterHolder)

Purpose: Returns the recursive menu structures for multiple root menu keys
in a single AppServer request (SCL-5367)
Notes: Bundling counterpart to GetMenuStructure. The fan-out over the
individual root menu keys happens on the server, so the client can
render the complete main menu with a single AppServer round-trip
instead of one round-trip per top-level menu structure. The
existing GetMenuStructure method is left unchanged for all existing
callers.
The requests are passed as a CHR(1) delimited list in the
CharacterHolder value. Each entry describes one root menu request
with its fields delimited by CHR(2) in the order: RootMenuKey,
NumberOfLevels, IncludeRootMenuEntry, IncludeMenuFunction,
SkipAuthorizationCheck.

Parameters:
dsMenu DATASET dsMenu
INPUT-OUTPUT DATASET for the combined menu structures
poRequests Consultingwerk.CharacterHolder
The CharacterHolder with the CHR(1) delimited list of requests
Top

MergeMenuStructure (handle, handle, handle)

Purpose: Merges the eSmartMenu / eSmartFunction rows of a source dataset into
the passed target buffers, skipping rows that are already present
Notes: Used by GetMenuStructures (SCL-5367) to combine possibly overlapping
subtrees into a single dataset without violating the unique indexes.
The target buffers are passed explicitly (rather than referencing the
class-level eSmartMenu / eSmartFunction buffers) so the merge target is
not the Business Entity's own dsMenu, which FetchData empties during the
per-root population (SCL-5371).

Parameters:
phSourceDataset HANDLE
The handle of the source dataset
phTargetMenu HANDLE
The target eSmartMenu buffer handle
phTargetFunction HANDLE
The target eSmartFunction buffer handle
Top

MoveMenuStructure (dataset-handle, MoveMenuStructureParameter)

Purpose: Moves a Menu Structure item
Notes: Validates that we don't move a structure into a child or grand child structure

Parameters:
phDataset DATASET-HANDLE
DATASET-HANDLE, not used
poParameter Consultingwerk.SmartFramework.Menu.MoveMenuStructureParameter
The MoveMenuStructureParameter with the data for this call
Top

PopulateMenuStructureForRoot (handle, handle, IGetMenuStructureParameter, IMenuFunctionContainerSecurityService)

Purpose: Populates the recursive menu structure for a single root menu key
into the passed target buffers
Notes: Extracted from GetMenuStructure so that the identical population
logic can be reused by the bundling GetMenuStructures method
(SCL-5367). The target buffers are the eSmartMenu / eSmartFunction
buffers of the dataset that is returned to the client.

Parameters:
phMenuBuffer HANDLE
The target eSmartMenu buffer handle
phFunctionBuffer HANDLE
The target eSmartFunction buffer handle
poGetMenuStructureParameter Consultingwerk.SmartFramework.IGetMenuStructureParameter
The IGetMenuStructureParameter with the data for the request
poMenuFunctionSecurityService Consultingwerk.SmartFramework.Menu.IMenuFunctionContainerSecurityService
The IMenuFunctionContainerSecurityService reference or the unknown value
Top

PopulateMenuStyle (handle)

Purpose: Populates the Menu Style in the dataset
Notes:

Parameters:
phDataset HANDLE
The dataset that contains the eSmartMenu records
Top

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 ()

Top

RefreshMenuCache ()

Purpose: Refreshes the Menu Cache
Notes:

Top

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



Constructor Detail
Top

MenuBusinessEntity ()

Purpose: Constructor of the MenuBusinessEntity class
Notes: Passes the handle of the dataset instance to the base class and
sets the default DataAccessName



Property Detail
Top

LOGICAL CacheMenuAtStartup


Returns LOGICAL


ProDataset Detail

ProDataset dsMenu

Member tables: eSmartMenu, eSmartFunction


Temp-Table Detail

Temp-Table eSmartFunction

Defined in:

Temp-Table eSmartMenu

Defined in:


©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       06.07.2026 14:29:43