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. |
Source Models: |
Specify the names of the source models. Model names are case sensitive. The source models can be open or closed. |
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. |
Target Model Repository: |
Specify the name of the data repository that will host the resulting target model. Repository names are case sensitive. |
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>. |
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. |
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. |
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". |
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". |
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. |
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. |
user output to stdout: |
Specifies that the result from the Express-X function xpxPrintf and xpxOutputValue will 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. |
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). |
log expressions: |
Log the evaluation of all Express-X expressions. |
log predef functions: |
Log the execution of all built-in Express-X functions. |
log functions: |
Log the execution of all FUNCTION and PROCEDURE. |
log iterations: |
Log all the iteration processes in the actual Express-X process. |
log instance creation: |
Log all entity instance creation and all aggregate instance creation. |
log assignments: |
Log all assignments in the actual Express-X process. |
log aggregate contents: |
Log contents (system defined limit of number of elements) of aggregates accessed by the current Express-X process. |
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. |
log warnings: |
Log all warning events detected by the EDMexpressVM when executing the current process. |
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. |