Convert Model

Note: This function can only be used with the EDMmodelConverter licensed key fully installed.
Invokes the EDMmodelConverter to convert an existing data model (source model) in the EDMdatabase. The result of the conversion will be a new data model (target model) in the EDMdatabase or the result of the conversion can be added to an existing data model. The underlying Express schema of the target model (target schema) must exist as a dictionary model in the EDMdatabase before the EDMmodelConverter is invoked by this command. Likewise the Express-X schema that defines the conversion must exist as an Express-X dictionary model before this command can be successfully executed.
The command Schemata>DefineSchema can be used to create a dictionary model of an Express schema in the EDMdatabase and the command Schemata>EXPRESS-X>DefineSchema can be used to create an Express-X dictionary model in the EDMdatabase.
The source model will be unchanged when the conversion process is terminated.
Express-X can be used as a programming language for creating, manipulating, deleting and query data in any data model in EDMdatabase that can be accessed by the caller. Hence the specified Express-X schema can be successfully “executed” without creating a new data model, i.e., the Express-X schema can define a complete or a partial Express Data Manager application.
The EDMmodelConverter is using the EDMexpressVM to perform the actual convert/merge operation. The interactive EDMdebugger can be used for debugging the actual conversion process.
A powerful trace/logging mechanism is available for testing and debugging of execution of any process in EDMexpressVM. This logging will normally produce very much output. Hence the available filtering mechanisms for “what source area to log”, “when the specified source area should be logged" and "what kind of information should be logged" should be used.
The argument <Source area to log> specifies "what source area to log". When no filter for "what source area to log" is specified, all actual source area will be logged.
The argument <Express-X declarations to log> specifies "when the specified source area should be logged". When no filter for "when the specified source area should be logged" is specified, the actual source area will be logged whenever it is executed.
The options [full log], [log conditions], [log expressions], [log predef functions], [log functions], [log iterations], [log instance creation], [log assignments], [log aggregate contents], [log mapping schema only], [log errors] and [log warnings] are used to specify "what kind of information should be logged".
Arguments:

Source Model Repository:

Specify the name of the data repository(ies) to search for the source model. Repository names are case sensitive.
When activating the Select button, the name of all open repositories will be displayed in the related selection list.

Source Model:

Specify the name of the source model. Model names are case sensitive. The <Source Model> can be open or closed.
When activating the Select button, the name of all models located in the repository(ies) specified in the <Source Model Repository> will be displayed in the related selection list.

Express-X schema:

Specify the name of an Express-X schema describing the mapping between the models specified in the arguments <Source Model> and <Target Model>. Express-X schema names are case insensitive.
The specified Express-X schema may also define a complete or a partial Express Data Manager application.
When activating the Select button, the name of all Express-X schemata that exists as an Express-X dictionary model in the EDMdatabase will be displayed in the related selection list.

Target Model Repository:

Specify the name of the data repository that will host the resulting target model. Repository names are case sensitive.
When activating the Select button, the name of all open repositories will be displayed in the related selection list.

Target Model:

Specify the name of the target model to receive the result of the actual Express-X process. The <Target model> name must be unique within the <Target model repository>.
The model name must start with a letter and the rest of the model name can be any mix of alphanumeric characters and the underscore character. Model names are case sensitive.
The target model can be an already existing data model or it can be the name of a new data model that will be created by the actual operation.
When activating the Select button, the name of all models located in the repository specified in the <Target Model Repository> will be displayed in the related selection list.

Express-X declarations to log:

A comma separated list of Express-X declarations for which a log should be recorded. Express-X declaration names are case insensitive.
When activating the Select button, the names of all available Express-X declarations will be displayed in the related selection list. The value selected from the "selection list" will be added to the current value in the related dialog input field.
Declarations that can be specified are: MAP, COMPOSE, STATEMENTS

Source area to log:

A comma separated list of source areas for which a log should be obtained.
A source are can be specified by an Express-X declaration name, by a single line number (23,27 etc) or an interval line numbers (31-35,43-47, etc). Express-X declaration names are case insensitive.
When activating the Select button, the names of all available "Express-X declarations" will be displayed in the related selection list. The value selected from the "selection list" will be added to the current value in the related dialog input field.
Declarations that can be specified by name are: MAP, COMPOSE. STATEMENTS, FUNCTION and PROCEDURE

Log file:

Specify the name of the file that will hold the log information. This file can be an existing file or the name of a file that will be created by the actual Express-X process. Default file extension is ".log".
This argument is only valid when the [log to file] option is set
When activating the Select button, a window is opened to allow browsing the directory structure and select/specify the desired file.

Max file size:

Specify an integer value that is the maximum number of bytes the specified <Log file> can hold before the <Log file> is closed. Specifying the value 0 (zero) means no size limit for the <Log File> is defined. This argument is only effective when the <Log file> argument is specified and the [log to file] option is set.

User output file:

Specify the name of a file that will be used to receive the result of executing the xpxPrintf and xpxOutputValue function in the actual Express-X schema. The specified file can be an existing file or the name of a file that will be created by the EDMmodelConverter. The default file extension is ".txt".
This argument is effective valid when the [user output to file] option is set.
When activating the Select button, a window is opened to allow browsing the directory structure and select/specify the desired file.

Options:

accumulating command output:

A global option that appends the command output to the EDMsupervisor output window. Otherwise the output window is refreshed and only the last command output is displayed.

match selected input:

A global option that specifies that only items that partly or exactly matches the string in the related argument input field when activating a Select button, will be displayed in the selection list. An empty (blank) string will match all items.
This option has no effect on file name arguments.

user output to file:

Specifies that the result from the Express-X functions xpxPrintf and xpxOutputValue will be written to the file specified in the <User output file> argument.
If none of the options [user output to file] or [user output to stdout] are set, then the output from these function will be written to the actual <Log file> if defined, else the output from these functions will be written to the EDMsupervisor output window.

user output to stdout:

Specifies that the result from the Express-X functions xpxPrintf and xpxOutputValue will be written to the EDMsupervisor output window.
If none of the options [user output to file] or [user output to stdout] are set, then the output from these function would be written to the actual <Log file> if defined, else the output from these functions would be written to the EDMsupervisor output window.

use existing target model:

The result of this operation will be added to an already existing data model.

deleting existing model:

Delete the target model before operation, if it already exists.

full log:

Specifies that all available logging information, except [logging aggregate contents] should be recorded. The option [logging aggregate contents] must be separately enabled due to the very high volume of information this option is normally outputting.

log conditions:

Log evaluation of all logical conditions (expressions).
This option is automatically enabled when the [full log] option is enabled.

log expressions:

Log the evaluation of all Express-X expressions.
This option is automatically enabled when the [full log] option is enabled.

log predef functions:

Log the execution of all built-in Express-X functions.
This option is automatically enabled when the [full log] option is enabled.

log functions:

Log the execution of all FUNCTION and PROCEDURE.
This option is automatically enabled when the [full log] option is enabled.

log iterations:

Log all the iteration processes in the actual Express-X schema.
This option is automatically enabled when the [full log] option is enabled.

log instance creation:

All creation of entity instances and aggregate instances during the execution of the actual Express-X process will be reported.
This option is automatically enabled when the [full log] option is enabled.

log assignments:

All assignment during the execution of the actual Express-X process will be reported.
This option is automatically enabled when the [full log] option is enabled.

log aggregate contents:

Log contents (system defined limit of number of elements) of aggregates accessed by the current Express-X process.
This option is not automatically enabled by the [full log] option.

log mapping schema only:

Log declarations in the mapping schema only, i.e. do not log evaluation of derived attributes in the source and target schemas.

log errors:

Log all error events detected by the EDMexpressVM when executing the current process.
This option is automatically enabled when the [full log] option is enabled.

log warnings:

Log all warning events detected by the EDMexpressVM when executing the current process.
This option is automatically enabled when the [full log] option is enabled.

log to file:

The log records will be written to the file specified by the <Log file> argument.

log to stdout:

The log records will be written to the EDMsupervisor output window.

activate debugger

The EDMdebugger will be invoked on the first declaration in the actual Express-X schema that is executed.