Top Method Summary
Options Name Purpose
BuildAndCachePartition (IGetMenuStructureParameter, character) Builds the ttMenuStructure result for a single request out of the combined dsMenu dataset and stores it in the cache
GetMenuItems (character[], table) Returns the Menu Items referenced by the givens keys
GetMenuStructure (IGetMenuStructureParameter, table) Returns the Menu Structure for a given root key
LOGICAL IsDescendantOf (character, character) Returns whether a menu item is a descendant of a given root menu key
LoginCompanyKeyChangedHandler () Event handler for the LoginCompanyKeyChanged event of the SessionManager
CHARACTER MenuStructureCacheKey (IGetMenuStructureParameter) Returns the cache key for a given menu structure request
PreloadMenuStructures (IGetMenuStructureParameter[]) Preloads the Menu Structure for multiple root keys into the internal cache using a single AppServer request
UserNameChangedHandler () Event handler for the UserNameChanged event of the SessionManager

Top Constructor Summary
Options Name Purpose
MenuStructureProvider () Constructor for the MenuStructureProvider class


Method Detail
Top

BuildAndCachePartition (IGetMenuStructureParameter, character)

Purpose: Builds the ttMenuStructure result for a single request out of the
combined dsMenu dataset and stores it in the cache
Notes: The rows for a request are the descendants of its root menu key
(plus the root row itself when IncludeRootMenuEntry is requested),
matching exactly the rows a single GetMenuStructure call returns.

Parameters:
poGetMenuStructureParameter Consultingwerk.SmartFramework.IGetMenuStructureParameter
The IGetMenuStructureParameter with the data for the request
pcCacheKey CHARACTER
The cache key to store the result under
Top

GetMenuItems (character[], table)

Purpose: Returns the Menu Items referenced by the givens keys
Notes: Used by the Menu Function LRU

Parameters:
pcKeys CHARACTER
The CHARACTER Array with the menu item keys
ttMenuStructure TEMP-TABLE ttMenuStructure
OUTPUT Temp-Table with the Menu Structure data
Top

GetMenuStructure (IGetMenuStructureParameter, table)

Purpose: Returns the Menu Structure for a given root key
Notes:

Parameters:
poGetMenuStructureParameter Consultingwerk.SmartFramework.IGetMenuStructureParameter
The IGetMenuStructureParameter with the data for the request
ttMenuStructure TEMP-TABLE ttMenuStructure
OUTPUT Temp-Table with the Menu Structure data
Top

LOGICAL IsDescendantOf (character, character)

Purpose: Returns whether a menu item is a descendant of a given root menu key
Notes: Walks the ParentMenuGuid chain of the combined dsMenu dataset. Uses
a dedicated buffer so it can be called from within a query over the
eSmartMenu buffer. A guard limits the walk against malformed data.

Parameters:
pcMenuKey CHARACTER
The menu key to test
pcRootKey CHARACTER
The root menu key
Returns LOGICAL
TRUE when pcMenuKey is a descendant of pcRootKey
Top

LoginCompanyKeyChangedHandler ()

Purpose: Event handler for the LoginCompanyKeyChanged event of the SessionManager
Notes:

Top

CHARACTER MenuStructureCacheKey (IGetMenuStructureParameter)

Purpose: Returns the cache key for a given menu structure request
Notes: The key intentionally does not include SkipAuthorizationCheck, in
line with the original inline computation in GetMenuStructure.

Parameters:
poGetMenuStructureParameter Consultingwerk.SmartFramework.IGetMenuStructureParameter
The IGetMenuStructureParameter with the data for the request
Returns CHARACTER
The cache key used to store and retrieve the menu structure
Top

PreloadMenuStructures (IGetMenuStructureParameter[])

Purpose: Preloads the Menu Structure for multiple root keys into the internal
cache using a single AppServer request
Notes: Bundling counterpart to GetMenuStructure (SCL-5367). The server
fans out over the requested root keys, so the complete main menu can
be rendered with a single AppServer round-trip instead of one
round-trip per top-level menu structure. Parameters that are already
cached are not requested again. Each returned subtree is partitioned
out of the combined result and stored under the same cache key that
GetMenuStructure computes, so subsequent GetMenuStructure calls are
served from the cache.

Parameters:
poParameters Consultingwerk.SmartFramework.IGetMenuStructureParameter
The array of IGetMenuStructureParameter requests to preload
Top

UserNameChangedHandler ()

Purpose: Event handler for the UserNameChanged event of the SessionManager
Notes:



Constructor Detail
Top

MenuStructureProvider ()

Purpose: Constructor for the MenuStructureProvider class
Notes:



Temp-Table Detail

Temp-Table ttMenuStructure

Defined in:


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