Top Method Summary
Options Name Purpose
AfterWriteFileHandler (Object, AfterWriteFileEventArgs) Event handler for the AfterWriteFile event of the BusinessEntityGenerator
CorrectKeywordCase (character, KeywordCaseEnum) Corrects the case of the ABL keywords in the given source file
GenerationFinishedHandler (Object, EventArgs) Event handler for the GenerationFinished event of the BusinessEntityGenerator
Consultingwerk.Studio.SourceCode.KeywordCaseEnum GetKeywordCase () Resolves the configured KeywordCasing setting into the matching KeywordCaseEnum value
LOGICAL IsParseableExtension (character) Returns whether the given file extension belongs to a parseable ABL source file
CHARACTER NormalizeFileName (character) Returns the canonical name of an announced generated file
ProcessGeneratedFile (character, KeywordCaseEnum, IStatusManager) Corrects the keyword case of a single generated file
ShutdownInternal () Uninitializes the plug-in instance and unsubscribes from events
StartupInternal () Initializes the plug-in instance and subscribes to required events


Method Detail
Top

AfterWriteFileHandler (Object, AfterWriteFileEventArgs)

Purpose: Event handler for the AfterWriteFile event of the BusinessEntityGenerator
Notes: Does not process the file immediately - a single file may be
written more than once during a generation run. The unique file
name is only remembered here and processed once in the
GenerationFinished handler. Only parseable ABL source files
(.p / .w / .cls) are remembered.

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

CorrectKeywordCase (character, KeywordCaseEnum)

Purpose: Corrects the case of the ABL keywords in the given source file
Notes: The matching @lowercase. / @uppercase. annotation is added when
it is missing, so generated files that do not already carry the
annotation receive it

Parameters:
pcFileName CHARACTER
The name of the source file to process
poCase Consultingwerk.Studio.SourceCode.KeywordCaseEnum
The requested keyword case
Top

GenerationFinishedHandler (Object, EventArgs)

Purpose: Event handler for the GenerationFinished event of the BusinessEntityGenerator
Notes: Corrects the keyword case of every file remembered during the
generation run, then clears the collected file names. A failure
while processing a single file (e.g. an unparseable source) is
reported via the status manager but does not abort the
processing of the remaining files.

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

Consultingwerk.Studio.SourceCode.KeywordCaseEnum GetKeywordCase ()

Purpose: Resolves the configured KeywordCasing setting into the matching
KeywordCaseEnum value
Notes:
case correction is not configured

Returns Consultingwerk.Studio.SourceCode.KeywordCaseEnum
The requested keyword case, or the unknown value (?) when keyword
Top

LOGICAL IsParseableExtension (character)

Purpose: Returns whether the given file extension belongs to a parseable
ABL source file
Notes: The KeywordCaseProcessor relies on the Proparse AST, which can
only parse compilable source files (.p / .w / .cls). Include
files (.i) and other generated artifacts are skipped

Parameters:
pcExtension CHARACTER
The file extension (without the leading dot)
Returns LOGICAL
TRUE when the extension is .p, .w or .cls
Top

CHARACTER NormalizeFileName (character)

Purpose: Returns the canonical name of an announced generated file
Notes: The generator announces the same file under two notations: the
class generation path builds the name from the configured source
folder using forward slashes, while UpdateDataAccessObject
resolves it through FILE-INFO, which returns backslashes. Both
reach this plug-in, so without resolving the name the Data
Access class ends up in the inventory twice and is parsed and
rewritten twice (SCL-5659). A name that cannot be resolved (the
file has been removed again in the meantime) is kept as
announced - the failure is then reported per file in
ProcessGeneratedFile rather than aborting the generation run

Parameters:
pcFileName CHARACTER
The file name as announced by the generator
Returns CHARACTER
The resolved file name, or the announced name when it cannot be resolved
Top

ProcessGeneratedFile (character, KeywordCaseEnum, IStatusManager)

Purpose: Corrects the keyword case of a single generated file
Notes: A failure (e.g. an unparseable source) is reported via the
status manager but is contained to this file, so the remaining
files are still processed

Parameters:
pcFileName CHARACTER
The name of the source file to process
poCase Consultingwerk.Studio.SourceCode.KeywordCaseEnum
The requested keyword case
poStatus Consultingwerk.Framework.IStatusManager
The status manager to report progress and errors to (may be invalid)
Top

ShutdownInternal ()

Purpose: Uninitializes the plug-in instance and unsubscribes from events
Notes: Called by derived classes from their Shutdown method

Top

StartupInternal ()

Purpose: Initializes the plug-in instance and subscribes to required events
Notes: Called by derived classes from their Startup method



©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       16.08.2026 16:54:33