Top Method Summary
Options Name Purpose
CHARACTER AddCalculatedField (AddCalculatedFieldParameter) Adds a calculated field to a Business Entity
CHARACTER AddTempTable (AddTempTableParameterParameter) Adds a temp-table to a Business Entity and creates a data relation to a parent temp-table
AppendProjectFolderToPropath (character) Appends the folder of the given settings file to the session PROPATH
CompleteDesignForGenerator (character) Completes the Business Entity Designer model built from a ProDataset (see LoadDesignFromBusinessService) for the generator
LONGCHAR CreateBusinessEntity (CreateBusinessEntityParameter) Creates a new Business Entity
LONGCHAR CreateDataFields (character, character, character) Creates data fields for a Business Entity
LONGCHAR CreateDesignFile (CreateDesignFileParameter, character) Creates the Business Entity Designer file (.bedgm) of a business service from its ProDataset
CHARACTER CustomPropertiesScopeName (CustomPropertiesScopeEnum, character, character) Returns the scope name in the form the Business Entity Designer plugins expect it
Progress.Json.ObjectModel.JsonObject CustomPropertyJson (character, character, character) Returns a JsonObject describing a single design property
DisposePlugins () Unloads the plugin manager service
EnsurePluginsForCurrentSettings () Re-initializes the server plugins when the settings file has changed
CHARACTER EntityClassNameFromTempTableName (character) Derives the entity class name (used by the model class generator) from a temp-table name by removing the default table prefix and suffix of the Business Entity Designer settings
CHARACTER FindCustomPropertyDocumentationFile (character) Returns the documentation file of a design property, searching every custom properties scope
FixBaseFolders (character) Turns the base folder settings into absolute paths
CHARACTER FixRelativePath (character) Fixes a relative path to an absolute path
CHARACTER FixRelativePath (character, character) Fixes a relative path to an absolute path
GeneratorTempTableAddedHandler (Object, TempTableAddedToDesignEventArgs) Forwards the TempTableAdded event of a BatchGenerator as the TempTableAddedToDesign event of this controller
LONGCHAR GetCustomPropertyDocumentation (CustomPropertyParameter) Returns the Markdown documentation of a design property with a structured value
CHARACTER GetCustomPropertyDocumentationFile (CustomPropertiesScopeEnum, character) Returns the name of the Markdown file describing the structure of the value of the given custom property
Consultingwerk.Framework.Collections.CharacterList GetCustomPropertyNames (CustomPropertiesScopeEnum) Returns the list of the custom property names registered by the Business Entity Designer plugins for the given scope
Consultingwerk.Framework.Collections.CharacterList GetCustomPropertyValues (CustomPropertiesScopeEnum, character, character) Returns the list of the values that are valid for the given custom property
Consultingwerk.Framework.Collections.CharacterList GetStoredCustomPropertyNames (CustomPropertiesScopeEnum, character, character) Returns the names of the design properties stored in the model for the given scope and object
InitializeBusinessEntityDesignerServices () Initialize Business Entity Designer services
InitializeEnvironment () Hook to initialize environment (logging, settings, etc.)
InitializeEnvironment (character) Loads the Business Entity Designer settings from the given settings file and turns the base folder settings into absolute paths
InitializePlugins () Loads the plugin manager service
InitializeProjectEnvironment (character) Loads the Business Entity Designer settings for the requested project
LOGICAL IsFolderInPropath (character) Returns if the given folder is an entry of the session PROPATH
LONGCHAR ListCustomPropertyNames (CustomPropertyParameter) Returns the design property names that are available for a custom properties scope of a Business Entity
LONGCHAR ListCustomPropertyValueList (CustomPropertyParameter) Returns the values that are valid for a single design property
LONGCHAR ListCustomPropertyValues (CustomPropertyParameter) Returns the design property values stored in the .bedgm model of a Business Entity
LoadDesignFromBusinessService (character) Loads the Business Entity Designer model of a business service from the ProDataset of the service into dsBusinessEntity
OnAfterGenerateSource (EventArgs) Raises the AfterGenerateSource event
OnAfterRegenerateSource (EventArgs) Raises the AfterRegenerateSource event
OnGetCustomPropertyDocumentation (GetCustomPropertyDocumentationEventArgs) Raises the GetCustomPropertyDocumentation event
OnGetCustomPropertyNames (GetCustomPropertyNamesEventArgs) Raises the GetCustomPropertyNames event
OnGetCustomPropertyValues (GetCustomPropertyValuesEventArgs) Raises the GetCustomPropertyValues event
OnTempTableAddedToDesign (TempTableAddedToDesignEventArgs) Raises the TempTableAddedToDesign event
CHARACTER OpenFile (character) Opens a Business Entity Designer file
CHARACTER OpenFile (character, character) Opens a Business Entity Designer file of the given project
Consultingwerk.BusinessEntityDesigner.Services.CustomPropertiesScopeEnum ParseCustomPropertiesScope (character) Returns the custom properties scope matching the given name
LOGICAL PromptForOverwrite (character) Prompts the user if a resource should be overwritten
RegenerateSource () Regenerates the source code
RegenerateSource (EventArgs) Regenerates the source code
CHARACTER RegenerateSource (RegenerateBusinessEntityParameter) Regenerates the source code for the given Business Entity
CHARACTER RemoveField (RemoveFieldParameter) Removes a field from a Business Entity
CHARACTER ResolveClassName (character) Returns the fully qualified class name of a business service given as a class name, a .cls file name or a .bedgm file name
ResolveCustomPropertiesScopeName (CustomPropertiesScopeEnum, character, character, character) Resolves the name of the object a custom properties scope refers to against the Business Entity Designer model
CHARACTER ResolveDesignFileName (character) Returns the name of the Business Entity Designer file (.bedgm) of the given entity, relative to the PROPATH
CHARACTER ResolveNewDesignFileName (character, character) Returns the name of the Business Entity Designer file (.bedgm) to create for the given class
CHARACTER ResolveProjectFolder (character) Returns the folder configured for the given project
CHARACTER ResolveProjectSettingsFile (character) Returns the .BusinessEntityDesignerSettings.xml file of the given project
RestorePropath () Restores the PROPATH that was in place before a project folder was appended for the current request
SaveFile (character) Saves a .bedgm file
StoreCustomProperty (CustomPropertiesScopeEnum, character, character, character, character, character) Stores a single design property in the Business Entity Designer model
Progress.Json.ObjectModel.JsonArray StoredCustomPropertiesJson (CustomPropertiesScopeEnum, character, character) Returns the design properties stored in the model for the given scope
LONGCHAR UpdateCustomProperty (CustomPropertyParameter) Creates, updates or removes a single design property in the .bedgm model of a Business Entity and saves the model
LOGICAL UseDesignFile (character) Returns if the Business Entity Designer model of the given entity is read from a .bedgm design file

Top Constructor Summary
Options Name Purpose
BusinessEntityDesignerMcpBusinessTask () Constructor for BusinessEntityDesignerMcpBusinessTask

Top Event Summary
Options Name Purpose
AfterGenerateSource (Object, EventArgs) Event raised after the source code is generated
AfterRegenerateSource (Object, EventArgs) Event raised after the source code is re-generated
GetCustomPropertyDocumentation (Object, GetCustomPropertyDocumentationEventArgs) Event raised to resolve the Markdown file describing the structure of a custom property value
GetCustomPropertyNames (Object, GetCustomPropertyNamesEventArgs) Event raised to collect the custom property names available for a custom properties scope
GetCustomPropertyValues (Object, GetCustomPropertyValuesEventArgs) Event raised to collect the values that are valid for a custom property
TempTableAddedToDesign (Object, TempTableAddedToDesignEventArgs) Event raised when a new temp-table has been completely added to the Business Entity design

Top Property Summary
Options Name Purpose
LOGICAL AddProjectFolderToPropath
HANDLE DatasetHandle
CHARACTER PluginSettingsFile


Method Detail
Top

CHARACTER AddCalculatedField (AddCalculatedFieldParameter)

Purpose: Adds a calculated field to a Business Entity
Notes:

Parameters:
poParameter Consultingwerk.BusinessEntityDesigner.Mcp.AddCalculatedFieldParameter
The AddCalculatedFieldParameter with details
Returns CHARACTER
The response from the SmartFramework MCP server
Top

CHARACTER AddTempTable (AddTempTableParameterParameter)

Purpose: Adds a temp-table to a Business Entity and creates a data relation to a parent temp-table
Notes:

Parameters:
poParameter Consultingwerk.BusinessEntityDesigner.Mcp.AddTempTableParameterParameter
The AddTempTableParameterParameter with details
Returns CHARACTER
The response from the SmartFramework MCP server
Top

AppendProjectFolderToPropath (character)

Purpose: Appends the folder of the given settings file to the session PROPATH
Notes: SCL-5995. Only when AddProjectFolderToPropath is TRUE and the folder
is not yet on the PROPATH - the folder of the application's own
settings file is. The original PROPATH is kept for RestorePropath

Parameters:
pcSettingsFileName CHARACTER
The .BusinessEntityDesignerSettings.xml file of the project in charge
Top

CompleteDesignForGenerator (character)

Purpose: Completes the Business Entity Designer model built from a
ProDataset (see LoadDesignFromBusinessService) for the generator
Notes: SCL-6026. The ProDatasetImporter describes the schema only. The
generator additionally needs the include file paths (derived from
the package of the class, like the BatchGenerator does), the
table prefix / suffix settings and the layout of the tables in
the designer. The source code generation of the class, the Data
Access class and the Dataset Controller is switched off: the
class exists already and is not a generated Business Entity

Parameters:
pcClassName CHARACTER
The fully qualified class name of the business service
Top

LONGCHAR CreateBusinessEntity (CreateBusinessEntityParameter)

Purpose: Creates a new Business Entity
Notes:

Parameters:
poParameter Consultingwerk.BusinessEntityDesigner.Mcp.CreateBusinessEntityParameter
The CreateBusinessEntityParameter with details
Returns LONGCHAR
The response from the SmartFramework MCP server
Top

LONGCHAR CreateDataFields (character, character, character)

Purpose: Creates data fields for a Business Entity
Notes: SCL-6027. A class without a .bedgm file (e.g. a Business Task
inheriting BusinessEntityBusinessTask) is described through its
ProDataset. That model has no FieldSource - the information the
repository service uses to tell a MetaDataField from a
MetaCalculatedField - so all fields of such a class are created
as MetaDataField

Parameters:
pcEntityName CHARACTER
The name of the Business Entity
pcProductModule CHARACTER
The name of the product module
pcEntityObject CHARACTER
Output: the name of the repository entity object created for the Business Entity's primary temp-table (e.g. eCustomer)
Returns LONGCHAR
The response from the SmartFramework MCP server
Top

LONGCHAR CreateDesignFile (CreateDesignFileParameter, character)

Purpose: Creates the Business Entity Designer file (.bedgm) of a business
service from its ProDataset
Notes: SCL-6026. Meant for a Business Task inheriting
BusinessEntityBusinessTask, which has no design file as it is not
generated by the Business Entity Designer. The model is built from
the ProDataset of the class (see LoadDesignFromBusinessService) and
completed for the generator: the source code generation of the
class, the Data Access class and the Dataset Controller is switched
off, so a later regeneration maintains the temp-table include files,
the dataset include file and the XML schema only. With that file the
other Business Entity Designer tools of the MCP server (regenerate,
add temp-table, add calculated field, remove field, custom
properties) work for the task as well

Parameters:
poParameter Consultingwerk.BusinessEntityDesigner.Mcp.CreateDesignFileParameter
The CreateDesignFileParameter with details
pcFileName CHARACTER
Output: the fully qualified name of the created .bedgm file
Returns LONGCHAR
The response from the SmartFramework MCP server
Top

CHARACTER CustomPropertiesScopeName (CustomPropertiesScopeEnum, character, character)

Purpose: Returns the scope name in the form the Business Entity Designer
plugins expect it
Notes: SCL-5831. Fields and indexes are qualified with the name of their
temp-table, the Business Entity scope uses the qualified class name
of the Business Entity

Parameters:
poScope Consultingwerk.BusinessEntityDesigner.Services.CustomPropertiesScopeEnum
The custom properties scope
pcTempTableName CHARACTER
The name of the temp-table owning the object
pcObjectName CHARACTER
The name of the object within the scope
Returns CHARACTER
The qualified scope name
Top

Progress.Json.ObjectModel.JsonObject CustomPropertyJson (character, character, character)

Purpose: Returns a JsonObject describing a single design property
Notes: SCL-5831

Parameters:
pcScopeName CHARACTER
The name of the object the property belongs to
pcPropertyName CHARACTER
The name of the design property
pcPropertyValue CHARACTER
The value of the design property
Returns Progress.Json.ObjectModel.JsonObject
The JsonObject with the design property
Top

DisposePlugins ()

Purpose: Unloads the plugin manager service
Notes:

Top

EnsurePluginsForCurrentSettings ()

Purpose: Re-initializes the server plugins when the settings file has changed
Notes: The ServerPlugins list is a property of the settings file, so the
plugin manager created for a previous request may hold the plugins of
a different project (SCL-5632)

Top

CHARACTER EntityClassNameFromTempTableName (character)

Purpose: Derives the entity class name (used by the model class generator)
from a temp-table name by removing the default table prefix and
suffix of the Business Entity Designer settings
Notes: SCL-6026. eSCL6026Order becomes SCL6026Order

Parameters:
pcTempTableName CHARACTER
The name of the temp-table
Returns CHARACTER
The entity class name
Top

CHARACTER FindCustomPropertyDocumentationFile (character)

Purpose: Returns the documentation file of a design property, searching every
custom properties scope
Notes: SCL-5831

Parameters:
pcPropertyName CHARACTER
The name of the design property
Returns CHARACTER
The PROPATH relative name of the Markdown file or ?
Top

FixBaseFolders (character)

Purpose: Turns the base folder settings into absolute paths
Notes: Relative base folders are anchored on the folder of the settings
file that is in charge, which makes each project's settings file
describe the output folders of that project (SCL-5632)

Parameters:
pcBaseFolder CHARACTER
The folder relative base folder settings are resolved against
Top

CHARACTER FixRelativePath (character)

Purpose: Fixes a relative path to an absolute path
Notes: Uses the location of the .BusinessEntityDesignerSettings.xml file as the base for relative paths

Parameters:
pcPath CHARACTER
The relative path
Returns CHARACTER
The absolute path
Top

CHARACTER FixRelativePath (character, character)

Purpose: Fixes a relative path to an absolute path
Notes: Overload that takes the base folder for relative paths, so that the
output folders of a project are anchored on the folder of that
project's .BusinessEntityDesignerSettings.xml file (SCL-5632)

Parameters:
pcPath CHARACTER
The relative path
pcBaseFolder CHARACTER
The folder relative paths are resolved against
Returns CHARACTER
The absolute path
Top

GeneratorTempTableAddedHandler (Object, TempTableAddedToDesignEventArgs)

Purpose: Forwards the TempTableAdded event of a BatchGenerator as the
TempTableAddedToDesign event of this controller
Notes: SCL-5683

Parameters:
sender Progress.Lang.Object
The reference to the object that raised the event
e Consultingwerk.BusinessEntityDesigner.Services.TempTableAddedToDesignEventArgs
The TempTableAddedToDesignEventArgs with the data for this event
Top

LONGCHAR GetCustomPropertyDocumentation (CustomPropertyParameter)

Purpose: Returns the Markdown documentation of a design property with a
structured value
Notes: SCL-5831. The documentation files are provided by the Business
Entity Designer plugins and are versioned with the ABL sources.
Without a scope, every custom properties scope is searched

Parameters:
poParameter Consultingwerk.BusinessEntityDesigner.Mcp.CustomPropertyParameter
The CustomPropertyParameter with the Business Entity, the optional scope and the property name
Returns LONGCHAR
The contents of the Markdown file describing the design property
Top

CHARACTER GetCustomPropertyDocumentationFile (CustomPropertiesScopeEnum, character)

Purpose: Returns the name of the Markdown file describing the structure of
the value of the given custom property
Notes: SCL-5831. Returns the Unknown Value when no plugin provides a
documentation file for the property

Parameters:
poCustomPropertiesScope Consultingwerk.BusinessEntityDesigner.Services.CustomPropertiesScopeEnum
The property scope of the custom property
pcPropertyName CHARACTER
The name of the custom property
Returns CHARACTER
The PROPATH relative name of the Markdown file or ?
Top

Consultingwerk.Framework.Collections.CharacterList GetCustomPropertyNames (CustomPropertiesScopeEnum)

Purpose: Returns the list of the custom property names registered by the
Business Entity Designer plugins for the given scope
Notes: SCL-5831. Mirrors the method of the same name of the GUI
BusinessEntityDatasetController

Parameters:
poCustomPropertiesScope Consultingwerk.BusinessEntityDesigner.Services.CustomPropertiesScopeEnum
The property scope to return the property names for
Returns Consultingwerk.Framework.Collections.CharacterList
The CharacterList with the custom property names
Top

Consultingwerk.Framework.Collections.CharacterList GetCustomPropertyValues (CustomPropertiesScopeEnum, character, character)

Purpose: Returns the list of the values that are valid for the given custom
property
Notes: SCL-5831. An empty list means that the property accepts free-form
values. Building the list can be expensive - the Model Class
Generator scans the code base for ABL enums - so it is deliberately
not part of the custom property name listing

Parameters:
poCustomPropertiesScope Consultingwerk.BusinessEntityDesigner.Services.CustomPropertiesScopeEnum
The property scope of the custom property
pcCustomPropertiesScopeName CHARACTER
The qualified name of the object within the scope
pcPropertyName CHARACTER
The name of the custom property
Returns Consultingwerk.Framework.Collections.CharacterList
The CharacterList with the valid values
Top

Consultingwerk.Framework.Collections.CharacterList GetStoredCustomPropertyNames (CustomPropertiesScopeEnum, character, character)

Purpose: Returns the names of the design properties stored in the model for
the given scope and object
Notes: SCL-5831. Returns an empty list when the scope needs the name of an
object and none is given

Parameters:
poScope Consultingwerk.BusinessEntityDesigner.Services.CustomPropertiesScopeEnum
The custom properties scope
pcTempTableName CHARACTER
The name of the temp-table owning the object
pcObjectName CHARACTER
The name of the object within the scope
Returns Consultingwerk.Framework.Collections.CharacterList
The CharacterList with the stored property names
Top

InitializeBusinessEntityDesignerServices ()

Purpose: Initialize Business Entity Designer services
Notes:

Top

InitializeEnvironment ()

Purpose: Hook to initialize environment (logging, settings, etc.)
Notes: Extend as needed for MCP execution context. Uses the first
.BusinessEntityDesignerSettings.xml file found in the PROPATH

Top

InitializeEnvironment (character)

Purpose: Loads the Business Entity Designer settings from the given settings
file and turns the base folder settings into absolute paths
Notes: The BusinessEntityDesignerSettings class is static session state and
PASOE agent sessions are reused across requests, so the settings are
resolved per request. Relative base folders are anchored on the
folder of the settings file, which makes each project's settings
file describe the output folders of that project (SCL-5632)

Parameters:
pcSettingsFileName CHARACTER
The name of the .BusinessEntityDesignerSettings.xml file to load
Top

InitializePlugins ()

Purpose: Loads the plugin manager service
Notes: The plugin manager reads the ServerPlugins property of the currently
loaded settings file, so the settings have to be resolved before

Top

InitializeProjectEnvironment (character)

Purpose: Loads the Business Entity Designer settings for the requested project
Notes: Used by the generating methods that do not open an existing .bedgm
file. When no project name is given, the first settings file in the
PROPATH remains in charge (SCL-5632)

Parameters:
pcProjectName CHARACTER
The optional name of the project to generate into
Top

LOGICAL IsFolderInPropath (character)

Purpose: Returns if the given folder is an entry of the session PROPATH
Notes: SCL-5995. Relative PROPATH entries are resolved against the working
directory, the comparison is independent of the slash direction and
of a trailing slash. An entry that denotes the same folder in another
spelling is not recognized - the folder is then appended a second
time, which is harmless as it is appended to the end of the PROPATH

Parameters:
pcFolder CHARACTER
The absolute path of the folder to test
Returns LOGICAL
Logical value indicating if the folder is an entry of the PROPATH
Top

LONGCHAR ListCustomPropertyNames (CustomPropertyParameter)

Purpose: Returns the design property names that are available for a custom
properties scope of a Business Entity
Notes: SCL-5831. The response combines the property names registered by the
Business Entity Designer plugins with the names already stored in
the .bedgm model for the given object. The list of the valid values
of a property is deliberately not part of this response - building
it can be expensive, so it is requested separately with
ListCustomPropertyValueList

Parameters:
poParameter Consultingwerk.BusinessEntityDesigner.Mcp.CustomPropertyParameter
The CustomPropertyParameter with the Business Entity, the scope and the optional name of the object
Returns LONGCHAR
The JSON response of the SmartFramework MCP server
Top

LONGCHAR ListCustomPropertyValueList (CustomPropertyParameter)

Purpose: Returns the values that are valid for a single design property
Notes: SCL-5831. An empty list of values means that the property accepts
free-form values

Parameters:
poParameter Consultingwerk.BusinessEntityDesigner.Mcp.CustomPropertyParameter
The CustomPropertyParameter with the Business Entity, the scope, the optional name of the object and the property name
Returns LONGCHAR
The JSON response of the SmartFramework MCP server
Top

LONGCHAR ListCustomPropertyValues (CustomPropertyParameter)

Purpose: Returns the design property values stored in the .bedgm model of a
Business Entity
Notes: SCL-5831. Without the name of an object, the properties of every
object of the scope are returned

Parameters:
poParameter Consultingwerk.BusinessEntityDesigner.Mcp.CustomPropertyParameter
The CustomPropertyParameter with the Business Entity, the scope and the optional name of the object
Returns LONGCHAR
The JSON response of the SmartFramework MCP server
Top

LoadDesignFromBusinessService (character)

Purpose: Loads the Business Entity Designer model of a business service
from the ProDataset of the service into dsBusinessEntity
Notes: SCL-6027. Used for classes without a .bedgm file, e.g. a Business
Task inheriting BusinessEntityBusinessTask. The ProDataset is
obtained through IBusinessEntity:FetchDataset or - for a service
that only implements IProvidesBusinessEntityDescriptor - through
the descriptor request with ReturnDataset. The model carries no
FieldSource, as a ProDataset does not know where the field values
come from

Parameters:
pcEntityName CHARACTER
The class name or the .cls file name of the business service
Top

OnAfterGenerateSource (EventArgs)

Purpose: Raises the AfterGenerateSource event
Notes: The GenerationFinished event of the BusinessEntityGenerator is
raised afterwards, so that the plug-ins deferring their work to
the end of a generation run (e.g. the keyword case plug-in) also
run on the server path (SCL-5667). It is raised after the
AfterGenerateSource subscribers, because those generate further
source files that are to be post-processed as well

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

OnAfterRegenerateSource (EventArgs)

Purpose: Raises the AfterRegenerateSource event
Notes: Raises the GenerationFinished event of the BusinessEntityGenerator
afterwards, see OnAfterGenerateSource (SCL-5667)

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

OnGetCustomPropertyDocumentation (GetCustomPropertyDocumentationEventArgs)

Purpose: Raises the GetCustomPropertyDocumentation event
Notes: SCL-5831

Parameters:
e Consultingwerk.BusinessEntityDesigner.Services.GetCustomPropertyDocumentationEventArgs
The GetCustomPropertyDocumentationEventArgs with the data for this event
Top

OnGetCustomPropertyNames (GetCustomPropertyNamesEventArgs)

Purpose: Raises the GetCustomPropertyNames event
Notes: SCL-5831

Parameters:
e Consultingwerk.BusinessEntityDesigner.Services.GetCustomPropertyNamesEventArgs
The GetCustomPropertyNamesEventArgs with the data for this event
Top

OnGetCustomPropertyValues (GetCustomPropertyValuesEventArgs)

Purpose: Raises the GetCustomPropertyValues event
Notes: SCL-5831

Parameters:
e Consultingwerk.BusinessEntityDesigner.Services.GetCustomPropertyValuesEventArgs
The GetCustomPropertyValuesEventArgs with the data for this event
Top

OnTempTableAddedToDesign (TempTableAddedToDesignEventArgs)

Purpose: Raises the TempTableAddedToDesign event
Notes: SCL-5683

Parameters:
e Consultingwerk.BusinessEntityDesigner.Services.TempTableAddedToDesignEventArgs
The TempTableAddedToDesignEventArgs with the data for the event
Top

CHARACTER OpenFile (character)

Purpose: Opens a Business Entity Designer file
Notes: Overload without a project name, see OpenFile (character, character)

Parameters:
pcEntityName CHARACTER
The name of the Business Entity Designer file
Returns CHARACTER
The fully qualified path to the .bedgm file
Top

CHARACTER OpenFile (character, character)

Purpose: Opens a Business Entity Designer file of the given project
Notes: Resolves the .bedgm file and the Business Entity Designer settings
that are in charge for this request (SCL-5632):
- With a project name, the settings file of that project is loaded
and the .bedgm file is resolved against its SourceCodeBaseFolder,
because the design files of other projects (UnitTests, Tests) are
not on the PASOE PROPATH.
- Without a project name, the .bedgm file is resolved through the
PROPATH as before, and the settings file closest to it wins - the
one in its own folder, or in the closest parent folder. Only when
no settings file is found that way, the first settings file in the
PROPATH is used

Parameters:
pcEntityName CHARACTER
The name of the Business Entity Designer file
pcProjectName CHARACTER
The optional name of the project the Business Entity belongs to
Returns CHARACTER
The fully qualified path to the .bedgm file
Top

Consultingwerk.BusinessEntityDesigner.Services.CustomPropertiesScopeEnum ParseCustomPropertiesScope (character)

Purpose: Returns the custom properties scope matching the given name
Notes: SCL-5831. Accepts the member names of the CustomPropertiesScopeEnum
and the short aliases Entity, Table and Relation

Parameters:
pcScope CHARACTER
The name of the custom properties scope
Returns Consultingwerk.BusinessEntityDesigner.Services.CustomPropertiesScopeEnum
The matching CustomPropertiesScopeEnum member
Top

LOGICAL PromptForOverwrite (character)

Purpose: Prompts the user if a resource should be overwritten
Notes:

Parameters:
pcObjectName CHARACTER
The name of the resources that
Returns LOGICAL
Logical value indicating if an existing object should be overwritten
Top

RegenerateSource ()

Purpose: Regenerates the source code
Notes:

Top

RegenerateSource (EventArgs)

Purpose: Regenerates the source code
Notes: The event arguments are passed to the AfterGenerateSource event,
so the server plugins receive the explicit instructions of the
developer - e.g. a GenerateSourceEventArgs requesting to overwrite
the SmartTable registration (SCL-5822)

Parameters:
poEventArgs Consultingwerk.EventArgs
The Consultingwerk.EventArgs to raise the AfterGenerateSource event with
Top

CHARACTER RegenerateSource (RegenerateBusinessEntityParameter)

Purpose: Regenerates the source code for the given Business Entity
Notes:

Parameters:
poParameter Consultingwerk.BusinessEntityDesigner.Mcp.RegenerateBusinessEntityParameter
The RegenerateBusinessEntityParameter with details
Returns CHARACTER
The response from the SmartFramework MCP server
Top

CHARACTER RemoveField (RemoveFieldParameter)

Purpose: Removes a field from a Business Entity
Notes:

Parameters:
poParameter Consultingwerk.BusinessEntityDesigner.Mcp.RemoveFieldParameter
The RemoveFieldParameter with details
Returns CHARACTER
The response from the SmartFramework MCP server
Top

CHARACTER ResolveClassName (character)

Purpose: Returns the fully qualified class name of a business service
given as a class name, a .cls file name or a .bedgm file name
Notes: SCL-6026. A file name is resolved through the PROPATH first
(ClassHelper:FileNameToClassName). FileNameToClassName). A relative file name that is
not in the PROPATH - e.g. of a project whose folder is not on the
PROPATH of the AppServer - is converted textually: the extension
is removed and the folder separators become package separators

Parameters:
pcEntityName CHARACTER
The class name, .cls file name or .bedgm file name
Returns CHARACTER
The fully qualified class name
Top

ResolveCustomPropertiesScopeName (CustomPropertiesScopeEnum, character, character, character)

Purpose: Resolves the name of the object a custom properties scope refers to
against the Business Entity Designer model
Notes: SCL-5831. Fields and indexes may be passed qualified with the name
of their temp-table (eCustomer.CustNum); an unqualified name is
resolved against the first matching temp-table

Parameters:
poScope Consultingwerk.BusinessEntityDesigner.Services.CustomPropertiesScopeEnum
The custom properties scope
pcScopeName CHARACTER
The name of the object within the scope
pcTempTableName CHARACTER
OUTPUT The name of the temp-table owning the object
pcObjectName CHARACTER
OUTPUT The name of the object itself
Top

CHARACTER ResolveDesignFileName (character)

Purpose: Returns the name of the Business Entity Designer file (.bedgm)
of the given entity, relative to the PROPATH
Notes: A .bedgm file name is returned as is, a .cls file name and a
class name are translated into the .bedgm file next to the class

Parameters:
pcEntityName CHARACTER
The name of the Business Entity Designer file, the .cls file or the class
Returns CHARACTER
The relative name of the .bedgm file
Top

CHARACTER ResolveNewDesignFileName (character, character)

Purpose: Returns the name of the Business Entity Designer file (.bedgm) to
create for the given class
Notes: SCL-6026. Mirrors the resolution of OpenFile: with a project name
the file goes into the SourceCodeBaseFolder of that project's
settings, without a project name it goes next to the class source
file found in the PROPATH - and only when the source file is not
in the PROPATH into the SourceCodeBaseFolder of the settings in
charge. The Business Entity Designer settings of the request have
to be initialized before (InitializeProjectEnvironment)

Parameters:
pcClassName CHARACTER
The fully qualified class name of the business service
pcProjectName CHARACTER
The optional name of the project the business service belongs to
Returns CHARACTER
The name of the .bedgm file to create (absolute, or relative to the SourceCodeBaseFolder)
Top

CHARACTER ResolveProjectFolder (character)

Purpose: Returns the folder configured for the given project
Notes: The project name is resolved through the McpServerProjects
configuration property. The ConfigurationProvider flattens nested
JSON objects into dotted property names, so a single project is read
as "McpServerProjects.<name>". Relative folders are resolved against
the working directory of the PASOE agent (SCL-5632)

Parameters:
pcProjectName CHARACTER
The name of the project
Returns CHARACTER
The absolute path of the project folder
Top

CHARACTER ResolveProjectSettingsFile (character)

Purpose: Returns the .BusinessEntityDesignerSettings.xml file of the given project
Notes:

Parameters:
pcProjectName CHARACTER
The name of the project
Returns CHARACTER
The absolute path of the project's settings file
Top

RestorePropath ()

Purpose: Restores the PROPATH that was in place before a project folder was
appended for the current request
Notes: SCL-5995. PASOE agent sessions are reused, so the project of one
request must not leak into the next one. Called in the FINALLY
block of every public method that resolves a project

Top

SaveFile (character)

Purpose: Saves a .bedgm file
Notes:

Parameters:
pcFileName CHARACTER
The name (including path) of the .bedgm file to save
Top

StoreCustomProperty (CustomPropertiesScopeEnum, character, character, character, character, character)

Purpose: Stores a single design property in the Business Entity Designer model
Notes: SCL-5831. An empty property value removes the property

Parameters:
poScope Consultingwerk.BusinessEntityDesigner.Services.CustomPropertiesScopeEnum
The custom properties scope
pcTempTableName CHARACTER
The name of the temp-table owning the object
pcObjectName CHARACTER
The name of the object within the scope
pcPropertyName CHARACTER
The name of the design property
pcPropertyValue CHARACTER
The value of the design property, empty to remove it
pcAction CHARACTER
OUTPUT The action that has been performed - created, updated, removed or unchanged
Top

Progress.Json.ObjectModel.JsonArray StoredCustomPropertiesJson (CustomPropertiesScopeEnum, character, character)

Purpose: Returns the design properties stored in the model for the given
scope
Notes: SCL-5831. Without the name of an object, the properties of every
object of the scope are returned

Parameters:
poScope Consultingwerk.BusinessEntityDesigner.Services.CustomPropertiesScopeEnum
The custom properties scope
pcTempTableName CHARACTER
The name of the temp-table owning the object
pcObjectName CHARACTER
The name of the object within the scope, empty for all objects
Returns Progress.Json.ObjectModel.JsonArray
The JsonArray with the design properties
Top

LONGCHAR UpdateCustomProperty (CustomPropertyParameter)

Purpose: Creates, updates or removes a single design property in the .bedgm
model of a Business Entity and saves the model
Notes: SCL-5831. An empty property value removes the property. The value is
validated against the list of values contributed by the Business
Entity Designer plugins when such a list exists; properties without
a value list accept free-form values. Property names that no plugin
registers are accepted as well and reported back as a warning

Parameters:
poParameter Consultingwerk.BusinessEntityDesigner.Mcp.CustomPropertyParameter
The CustomPropertyParameter with the Business Entity, the scope, the name of the object, the property name and the property value
Returns LONGCHAR
The JSON response of the SmartFramework MCP server
Top

LOGICAL UseDesignFile (character)

Purpose: Returns if the Business Entity Designer model of the given entity
is read from a .bedgm design file
Notes: SCL-6027. True when the name refers to a .bedgm file or when a
.bedgm file exists in the PROPATH for the class. False for a
class without a design file, e.g. a Business Task - its model
is then built from the ProDataset of the class, see
LoadDesignFromBusinessService

Parameters:
pcEntityName CHARACTER
The name of the Business Entity Designer file, the .cls file or the class
Returns LOGICAL
Logical value indicating if a .bedgm file is used


Constructor Detail
Top

BusinessEntityDesignerMcpBusinessTask ()

Purpose: Constructor for BusinessEntityDesignerMcpBusinessTask
Notes:



Event Detail
Top

AfterGenerateSource (Object, EventArgs)

Purpose: Event raised after the source code is generated
Notes:

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

AfterRegenerateSource (Object, EventArgs)

Purpose: Event raised after the source code is re-generated
Notes:

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

GetCustomPropertyDocumentation (Object, GetCustomPropertyDocumentationEventArgs)

Purpose: Event raised to resolve the Markdown file describing the
structure of a custom property value
Notes: SCL-5831

Parameters:
sender Progress.Lang.Object
The reference to the object that raised the event
e Consultingwerk.BusinessEntityDesigner.Services.GetCustomPropertyDocumentationEventArgs
The GetCustomPropertyDocumentationEventArgs with the data for this event
Top

GetCustomPropertyNames (Object, GetCustomPropertyNamesEventArgs)

Purpose: Event raised to collect the custom property names available for
a custom properties scope
Notes: SCL-5831

Parameters:
sender Progress.Lang.Object
The reference to the object that raised the event
e Consultingwerk.BusinessEntityDesigner.Services.GetCustomPropertyNamesEventArgs
The GetCustomPropertyNamesEventArgs with the data for this event
Top

GetCustomPropertyValues (Object, GetCustomPropertyValuesEventArgs)

Purpose: Event raised to collect the values that are valid for a custom
property
Notes: SCL-5831

Parameters:
sender Progress.Lang.Object
The reference to the object that raised the event
e Consultingwerk.BusinessEntityDesigner.Services.GetCustomPropertyValuesEventArgs
The GetCustomPropertyValuesEventArgs with the data for this event
Top

TempTableAddedToDesign (Object, TempTableAddedToDesignEventArgs)

Purpose: Event raised when a new temp-table has been completely added
to the Business Entity design
Notes: SCL-5683

Parameters:
sender Progress.Lang.Object
The reference to the object that raised the event
e Consultingwerk.BusinessEntityDesigner.Services.TempTableAddedToDesignEventArgs
The TempTableAddedToDesignEventArgs with the data for this event


Property Detail
Top

LOGICAL AddProjectFolderToPropath


Returns LOGICAL
Top

HANDLE DatasetHandle


Returns HANDLE
Top

CHARACTER PluginSettingsFile


Returns CHARACTER


Temp-Table Detail


©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       10.10.2026 15:21:29