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. |
Source Model: |
Specify the name of the source model. Model names are case sensitive. The <Source Model> can be open or closed. |
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. |
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: |
A comma separated list of source areas for which a log should be obtained. |
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". |
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". |
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 functions xpxPrintf and xpxOutputValue will 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). |
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 schema. |
log instance creation: |
All creation of entity instances and aggregate instances during the execution of the actual Express-X process will be reported. |
log assignments: |
All assignment during the execution of the actual Express-X process will be reported. |
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 derived attributes in the source and target schemas. |
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. |