Top Method Summary
Options Name Purpose
LONGCHAR BuildDiagram (character) Returns the Markdown document with the Mermaid diagram of the given container
CopyTable (handle, handle) Copies all records of a dataset table into a temp-table
DeleteDiagram (character, character) Deletes the diagram file of a container
dispose () Disposes the service instance
CHARACTER EscapeLabel (character) Escapes a text for use in a quoted Mermaid label
LOGICAL FetchContainer (character) Reads the container, its pages, object instances and links into the temp-tables of this class
FetchObjectMasterDescriptions () Populates the ObjectDescription of the object masters of the object instances
FetchObjectMasterDescriptions (character) Populates the ObjectDescription of the object instances with the description of the object masters matching the given query string
CHARACTER GenerateDiagram (character) Generates the diagram file of the given container
CHARACTER GetDiagramFileName (character, character) Returns the name of the diagram file of a container
CHARACTER GetDiagramFolder () Returns the absolute name of the folder the diagrams are written to
CHARACTER GetLinkNodeId (character) Returns the Mermaid node id of the source or target of a link
CHARACTER GetNodeId (character) Returns the Mermaid node id for an object instance
Consultingwerk.SmartFramework.Repository.ISmartRepositoryService GetRepositoryService () Returns the repository service
initialize () Initializes the service instance
LOGICAL IsDiagramContainer (character) Returns if a diagram is generated for Object Masters of the given Object Type
Consultingwerk.SmartFramework.Repository.Object.ObjectMasterDatasetModel NewObjectMasterDatasetModel () Returns a new ObjectMasterDatasetModel for reading repository data
ObjectMasterChangedHandler (Object, ObjectMasterChangedEventArgs) Event handler for the ObjectMasterChanged event of the ISmartRepositoryService
ProcessObjectMasterChange (ObjectMasterChangedEventArgs) Updates the diagram files for a changed Object Master
LONGCHAR RenderDiagram () Renders the Markdown document with the Mermaid diagram from the temp-tables of this class
CHARACTER RenderInstance (buffer) Renders the Mermaid node of an object instance
LOGICAL WriteFileWhenChanged (character, longchar) Writes the content to the file when the file does not exist or its content differs

Top Property Summary
Options Name Purpose
CHARACTER MermaidPath


Method Detail
Top

LONGCHAR BuildDiagram (character)

Purpose: Returns the Markdown document with the Mermaid diagram of the
given container
Notes: Returns the unknown value when the Object Master does not exist
or is not a MetaForm or MetaControlGroup (or a sub type)

Parameters:
pcObjectMasterGuid CHARACTER
The ObjectMasterGuid of the container
Returns LONGCHAR
The Markdown document with the Mermaid diagram
Top

CopyTable (handle, handle)

Purpose: Copies all records of a dataset table into a temp-table
Notes: Fields are copied by name

Parameters:
phSourceBuffer HANDLE
The buffer of the dataset table
phTargetBuffer HANDLE
The buffer of the temp-table
Top

DeleteDiagram (character, character)

Purpose: Deletes the diagram file of a container
Notes: Used when a container is deleted, renamed or moved to another
product module. Does nothing when the file does not exist

Parameters:
pcObjectName CHARACTER
The object name of the container
pcModuleGuid CHARACTER
The GUID of the product module of the container
Top

dispose ()

Purpose: Disposes the service instance
Notes: CCS IService member, invoked by the ServiceContainer

Top

CHARACTER EscapeLabel (character)

Purpose: Escapes a text for use in a quoted Mermaid label
Notes: Line breaks become blanks, quotes and angle brackets are
replaced by Mermaid entity codes

Parameters:
pcText CHARACTER
The text to escape
Returns CHARACTER
The escaped text
Top

LOGICAL FetchContainer (character)

Purpose: Reads the container, its pages, object instances and links
into the temp-tables of this class
Notes: Uses DatasetModels with a dedicated Business Entity instance,
as this may be invoked while the ObjectMasterBusinessEntity is
saving changes

Parameters:
pcObjectMasterGuid CHARACTER
The ObjectMasterGuid of the container
Returns LOGICAL
Logical value indicating if the Object Master is a container a diagram is generated for
Top

FetchObjectMasterDescriptions ()

Purpose: Populates the ObjectDescription of the object masters of the
object instances
Notes: Fetches the object masters in chunks, each with a single
request

Top

FetchObjectMasterDescriptions (character)

Purpose: Populates the ObjectDescription of the object instances with
the description of the object masters matching the given
query string
Notes:

Parameters:
pcQueryString CHARACTER
The where clause for the eSmartObjectMaster table
Top

CHARACTER GenerateDiagram (character)

Purpose: Generates the diagram file of the given container
Notes: The file is only written when its content has changed

Parameters:
pcObjectMasterGuid CHARACTER
The ObjectMasterGuid of the container
Returns CHARACTER
The name of the diagram file or the unknown value when no diagram was generated
Top

CHARACTER GetDiagramFileName (character, character)

Purpose: Returns the name of the diagram file of a container
Notes: <MermaidPath>/<ProductCode>/<ModuleName>/<ObjectName>.md

Parameters:
pcObjectName CHARACTER
The object name of the container
pcModuleGuid CHARACTER
The GUID of the product module of the container
Returns CHARACTER
The absolute file name or the unknown value when the diagram folder or the product module cannot be resolved
Top

CHARACTER GetDiagramFolder ()

Purpose: Returns the absolute name of the folder the diagrams are
written to
Notes: A relative MermaidPath is resolved against the folder of the
.BusinessEntityDesignerSettings.xml file found on the PROPATH

Returns CHARACTER
The absolute folder name or the unknown value when MermaidPath is empty or the settings file cannot be found
Top

CHARACTER GetLinkNodeId (character)

Purpose: Returns the Mermaid node id of the source or target of a link
Notes: An empty instance guid denotes the container

Parameters:
pcObjectInstanceGuid CHARACTER
The ObjectInstanceGuid of the link source or target
Returns CHARACTER
The Mermaid node id or the unknown value when the instance does not exist
Top

CHARACTER GetNodeId (character)

Purpose: Returns the Mermaid node id for an object instance
Notes: Characters other than letters, digits and the underscore are
replaced by an underscore. The id is prefixed with "i_"

Parameters:
pcInstanceName CHARACTER
The name of the object instance
Returns CHARACTER
The Mermaid node id
Top

Consultingwerk.SmartFramework.Repository.ISmartRepositoryService GetRepositoryService ()

Purpose: Returns the repository service
Notes:

Returns Consultingwerk.SmartFramework.Repository.ISmartRepositoryService
The ISmartRepositoryService reference
Top

initialize ()

Purpose: Initializes the service instance
Notes: CCS IService member, invoked by the ServiceContainer after the
service has been registered. Subscribes to the
ObjectMasterChanged event of the ISmartRepositoryService. When
no repository service is registered yet, a SmartRepositoryService
is registered without calling its initialize () method, so that
no OERA request is performed while the services are still being
loaded - the SmartRepositoryService fills its object type cache
on first use (see SCL-5594)

Top

LOGICAL IsDiagramContainer (character)

Purpose: Returns if a diagram is generated for Object Masters of the
given Object Type
Notes: MetaForm, MetaControlGroup and their sub types

Parameters:
pcObjectTypeGuid CHARACTER
The ObjectTypeGuid of the Object Master
Returns LOGICAL
Logical value indicating if a diagram is generated for the Object Type
Top

Consultingwerk.SmartFramework.Repository.Object.ObjectMasterDatasetModel NewObjectMasterDatasetModel ()

Purpose: Returns a new ObjectMasterDatasetModel for reading repository data
Notes: Uses a dedicated Business Entity instance and skips the
calculated fields

Returns Consultingwerk.SmartFramework.Repository.Object.ObjectMasterDatasetModel
The new ObjectMasterDatasetModel instance
Top

ObjectMasterChangedHandler (Object, ObjectMasterChangedEventArgs)

Purpose: Event handler for the ObjectMasterChanged event of the
ISmartRepositoryService
Notes: Errors are logged and not thrown, the changes have already been
saved when the event is raised

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

ProcessObjectMasterChange (ObjectMasterChangedEventArgs)

Purpose: Updates the diagram files for a changed Object Master
Notes: Deletes the diagram of a deleted container and the previous
diagram of a renamed container or a container moved to another
product module, then generates the current diagram

Parameters:
poEventArgs Consultingwerk.SmartFramework.Repository.ObjectMasterChangedEventArgs
The ObjectMasterChangedEventArgs describing the change
Top

LONGCHAR RenderDiagram ()

Purpose: Renders the Markdown document with the Mermaid diagram from
the temp-tables of this class
Notes: Uses a stable sort order and no timestamp, so the document only
changes when the container changes

Returns LONGCHAR
The Markdown document with the Mermaid diagram
Top

CHARACTER RenderInstance (buffer)

Purpose: Renders the Mermaid node of an object instance
Notes: Shows the instance name, the object master name and
description, the layout position and the parent instance

Parameters:
b_ttInstance buffer
The buffer of the object instance to render
Returns CHARACTER
The Mermaid node definition
Top

LOGICAL WriteFileWhenChanged (character, longchar)

Purpose: Writes the content to the file when the file does not exist or
its content differs
Notes: Avoids touching unchanged files. The file is written in UTF-8

Parameters:
pcFileName CHARACTER
The absolute name of the file
plcContent LONGCHAR
The content to write
Returns LOGICAL
Logical value indicating if the file was written


Property Detail
Top

CHARACTER MermaidPath


Returns CHARACTER


©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       19.09.2026 10:14:14