Convert Models

Note: This function can only be used with the EDMmodelConverter licensed key fully installed.
Invokes the EDMmodelConverter to convert or merge existing data models (source models) in the EDMdatabase. The result of the conversion/merging process can be a new data model (target model) in the EDMdatabase or the result of the operation can be added to an existing data model. The source models must be populations of the same underlying Express schema. 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/merging 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 models will be unchanged when the conversion/merging process is terminated.
This command can optionally pass arguments to the actual Express-X process running in the EDMexpressVM. Hence the actual Express-X process can be parameterized.
Express-X can be used as a programming language for creating, manipulating, deletion and querying data in any data model in EDMdatabase. Hence the specified Express-X schema can be successfully “executed” as a complete or a partial EXPRESS Data Manager application.
The EDMmodelConverter is using the EDMexpressVM to perform the actual convert/merge operation. Hence, the interactive EDMdebugger can be used for debugging the actual convert/merging 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 models. 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 Models:

Specify the names of the source models. Model names are case sensitive. The source models can be open or closed.
The order in which the source models are entered into this field is significant, as the Express-X schema used may require a certain order to produce the expected results. The source models will be mapped to the schema instances in the GLOBAL declaration in the Express-X schema in the same order as the models are listed in the <Source Models> argument. At least one source model must be specified. When more source models are specified, the characters comma or space has to be used as a separator between each source model name.
The format of a source model name is "RepositoryName.ModelName"
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. The selected item in the selection list will be added to the model names already existing in the related dialog input field.

Express-X schema:

Specify the name of an Express-X schema describing the mapping/merging of the models specified in the arguments <Source Models> and <Target Model>. Express-X schema names are case insensitive.
The actual Express-X schema may also be 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:

Specify the Express-X source line intervals that should be logged during the conversion Specify the Express-X source line intervals that should be logged during the conversion process. A source line interval is specified by a single line number or by the first line number and the last line number separated by the hyphen '-' character. Any number of intervals can be specified, the intervals are separated by a comma. The order of the intervals is not significant.
Example: 10, 20-30, 2000 - 2200, 99
This argument and the <Express-X constructs to log> specifies that only the parts of the Express-X schema defined by these arguments should be logged, otherwise the complete schema would be logged.

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 conversion 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 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, or rewound when the [ring file] option is set. 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 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 function 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 functions would be written to the actual log file <Log file> if defined, else the output from these functions would be written to the EDMsupervisor output window.

use existing target model:

The created target instances will be added to an already existing data model.

deleting existing model:

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

user parameters

Enables the user to specify a set of parameters. A new dialog window is opened, where the parameters are to be specified. Required input is number of arguments, parameter datatype and parameter value.
When activating the Select button in the new dialog window, all legal data types are displayed in the related selection list.

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 process.
This option is automatically enabled when the [full log] option is enabled.

log instance creation:

Log all entity instance creation and all aggregate instance creation.
This option is automatically enabled when the [full log] option is enabled.

log assignments:

Log all assignments in the actual Express-X process.
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 DERIVE attributes, any invoked QuerySchema or RuleSchema processes.

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.
This option is not applicable in the remote version Remote Systems> Methods>Convert Models.