Meta Integration® Model Bridge (MIMB)
"Metadata Integration" Solution

MIMB Bridge Documentation

MIMB Import Bridge from erwin 9.x and 2019 R1 Data Modeler (File)

Bridge Specifications

Vendor erwin, Inc.
Tool Name erwin Data Modeler
Tool Version 9.x, 2019 R1
Tool Web Site https://erwin.com/products/erwin-data-modeler/
Supported Methodology [Data Modeling] Data Store (Physical Data Model, Logical Data Model, Stored Procedure Expression Parsing), Graphical Layout via COM API on Native (.erwin) or Export (.XML) File

BRIDGE INFORMATION
Import tool: erwin, Inc. erwin Data Modeler 9.x, 2019 R1 (https://erwin.com/products/erwin-data-modeler/)
Import interface: [Data Modeling] Data Store (Physical Data Model, Logical Data Model, Stored Procedure Expression Parsing), Graphical Layout via COM API on Native (.erwin) or Export (.XML) File from erwin 9.x and 2019 R1 Data Modeler (File)
Import bridge: 'CaErwin9Xml' 10.1.0

BRIDGE DOCUMENTATION
This bridge can import either the .erwin format files or .XML format files saved using erwin Data Modeler.

ERWIN XML FORMAT:
You can create the .xml version of a file (Save As... in erwin), select the 'XML Repository' format for the type of XML file that erwin creates.
Here are the steps to create this type of .XML file:
1. Open the .erwin file in erwin.
2. Select File, then Save As...
3. Select 'XML Repository (*.xml)' for the 'Save as type' pulldown.
4. Specify a path and name for the exported file.
5. Click OK

ERWIN NATIVE FORMAT (.erwin):
The bridge requires the erwin Data Modeler COM/OLE API to be installed in order to parse .ERWIN format files.
Erwin Data Modeler must be properly installed with a valid license on the machine executing this bridge.
In order to test this, open an erwin model in Data Modeler and save it as 'XML Repository Format'.
Starting with Erwin Data Modeler 9.8 / 2018 R1, Erwin requires the user to re-confirm the license in the UI if the tool has not been used for more than 72 hours.
In order to avoid this inconvenience, Erwin Data Modeler should be installed through the 'Offline Activation' email process which is available only on a node locked license.

ERWIN WINDOWS USER:
The bridge must run on behalf of the Windows user that can run the erwin software.
If the bridge is running as part of a Windows desktop application, then you must log on windows with that user.
If the bridge is running as part of a Windows service, then go to the Windows services and click on the 'Properties' menu of such service, go to the 'Log On' tab, select 'This account' and specify the same user name and password used as Windows session when using erwin, and restart the Windows service.

ERWIN WINDOWS COM API:
The bridge uses the Erwin Windows COM API via simple scripts (ErwinApi.js and ErwinXml.js).
If these scripts are not working properly, contact Erwin support to debug the issue (which may require re-installing erwin).
The scripts can be tested as follows:
cscript.exe //E:jscript //Nologo .\conf\MIRModelBridgeTemplate\ERwin\ERwinApi.js -version 9 -GetVersion
cscript.exe //E:jscript //Nologo .\conf\MIRModelBridgeTemplate\ERwin\ERwinXml.js -version 9 -from eMovies.erwin -to eMovies.xml -log eMoviesLog.txt

FREQUENTLY ASKED QUESTIONS

Q: What erwin version does this bridge support?
A: This import bridge supports the XML file version generated by erwin.

Q: How does the bridge import the ordering of attributes ?
A: The bridge imports the physical order preferably, if the information is present in the XML file, otherwise the logical order is used.
To view the physical column ordering in erwin 9:
- Switch to the model Physical View,
- In the 'Diagram' menu, select 'Diagrams',
- Click on the 'Table' tab
- Select 'Physical Order' from the 'Physical Display Level' pull-down.
This is the order erwin uses when generating SQL DDL, and MIMB will import this order, if it is available in the file.
If you wish to import the logical order, please derive a logical only model in erwin and import it.

WARNING ON POTENTIAL MISSING PHYSICAL NAMES

This issue is particularly relevant when you convert from erwin to ETL or BI (business intelligence) tools, or to the OMG CWM XMI standard. When you save a logical and physical model, the physical names of tables, columns, and keys might not always be saved into the XML file. When you use erwin to manage the automatic generation of physical names from logical names, only the generation rules are saved. This is not an issue for physical-only erwin models, which are often used to re-engineer existing databases.

The main workaround for this issue is to select the 'AllFusion Repository Format' radio button (as described above) when saving the .XML file. Just import the produced XML file in the erwin 9 import bridge as usual.

Another solution is to make sure all physical names are explicitly set, therefore not relying on any generation rules from the logical names.

Alternatively, you can derive a new physical model (to be saved as XML) from your existing logical and physical model. Select 'Derive New Model...' from the 'Tools' menu, and select 'New Model Type' as 'Physical'.
The next step of the wizard will then invoke all the generation rules to produce all the physical names.
The new physical model can then be saved as XML. Note that the logical names of the tables are also available in this new XML file, but unfortunately the logical names of attributes might still be missing.

Note that the bridge automatically parses the .ERWIN files using the correct XML generation function in erwin, so that the problem of missing physical names does not occur.

WARNING ON POTENTIAL MISSING DIMENSIONAL MODELING ROLES

This issue is particularly relevant when erwin is used for dimensional modeling to BI tools, or to the OMG CWM XMI standard. As for the physical name issue explained above, the dimensional modeling roles (Fact, Dimensional, or Outrigger) may not be available in the XML file if they are automatically calculated by erwin.

One solution, is to make sure all dimensional modeling roles are explicitly set (use the 'Table Editor', tab 'Dimensional'), therefore not relying on automatic calculations by erwin based on usage.

WARNING ON POTENTIAL POPUP MESSAGES

When importing .erwin models, there is a possibility that erwin may present a popup window that is unavailable for the bridge to respond to.
The result is the bridge will hang during import. A possible workaround recommended by the vendor is to modify the registry as follows, to avoid popup messages:
* Edit the registry on the machine where the bridge is running, using Regedit.exe
* Look for the key:
for version 9.0 to 9.6: HKEY_CURRENT_USER\Software\CA\ERwin Data Modeler\9.0\Messages
for version 9.7: HKEY_CURRENT_USER\Software\erwin\Data Modeler\9.7\Messages
* Add data 'GDM-46=1;' to the value 'Message Status'


Bridge Parameters

Parameter Name Description Type Values Default Scope
File When creating the .xml version of a file (Save As... in erwin), it is recommended that one select the 'XML Repository Format' radio button for the type of XML file that erwin creates. Please see warnings in the overall bridge tool tip about using the standard XML format that erwin provides.
Here are the steps to create this type of .XML file:

1. Open the .erwin file in erwin.
2. Select File, then Save As...
3. Select 'XML Repository (*.xml)' for the 'Save as type' pulldown.
4. Specify a path and name for the exported file.
5. Click OK

The bridge will use the generated XML or ERWIN file as input. Remember that erwin must be installed on the same machine that the bridge runs on in order for the ERWIN format to be parsed.
FILE
*.xml
*.erwin
*.erwin_tmpl
  Mandatory
Import UDPs A User Defined Property (UDP) is usually defined with a property definition object that has a default value. The objects the property applies to may also specify an explicit value for this property, or no value at all in which case the default value of the property definition applies.

This option allows you to control how property definitions and values are imported:

- By default, the bridge imports the property definition as a Property Type.

- 'As metadata' - Import an explicit value as Property Value, implicit values are not imported, the default value is kept on the Property Type only. This is the default behavior.

- 'As metadata, migrate default values' - Import explicit and implicit values as Property Value objects.

- 'In description, migrate default values' - Append the property name and value, even if implicit, to the object's description and/or comment (depending upon the design level). This allows you to export the UDP values to another tool which does not support the notion of UDP.

- 'Both, migrate default values' - Import the UDP value, even if implicit, both as metadata and in the object's description and/or comment (depending upon the design level).
ENUMERATED
As metadata
As metadata, migrate default values
In description, migrate default values
Both, migrate default values
As metadata  
Import relationship name Specifies how to import the relationship names from erwin

'From relationship name' - from the name property. This is the default.

'From derived name' - from the verb phrase derived name.
ENUMERATED
From relationship name
From derived name
From relationship name  
Import column order from Specifies how to import the position of columns in tables
'Column order' - Order of the columns displayed in the erwin physical view.
'Physical order' - Order of the columns in the database, as generated in SQL DDL. This is the default value.

To view the columns physical order in erwin, edit the current subject area 'Stored Display Settings', then click on tab 'Physical', group 'Display Level', then on the 'Physical Order' radio button.
ENUMERATED
Column order
Physical order
Physical order  
Import owner schemas Specifies if owner schemas should be imported.

'True' - The owner schema for Tables, Views and other database objects is imported. This is the default value.

'False' - The owner schema for Tables, Views and other database objects is ignored. This option may be useful for models where physical names are not unique, to indicate the model should be treated as a logical model (not ready for SQL DDL generation) while physical information is still maintained the model.
BOOLEAN
False
True
True  
Import diagrams Specifies if diagrams should be imported.

'None' - Diagrams are not imported.

'Current view' - Only the current view of the diagrams are imported. This is the default value.

'All' - Diagrams are imported twice: once for the logical view and once for the physical view.
ENUMERATED
None
Current view
All
Current view  
Move entities to subject areas erwin entities belong under the model and may be assigned to one or more subject areas. This parameter is useful if the erwin modeler wished to use subject areas as conventional (UML) design packages with their own namespace where any entity may belong to ONLY one subject area.
Specifically, if entities belong to only one subject area, they will be placed in the corresponding package. Other entities are placed under the model. Additionally, this option assumes that all entities are defined within a user defined subject area.
BOOLEAN
False
True
False  
Miscellaneous Specify miscellaneous options identified with a -letter and value.

For example, -m 4G

-v set environment variable(s) (e.g. -v var1=value -v var2="value with spaces").
-m the maximum Java memory size whole number (e.g. -m 4G or -m 2500M ).
-j the last option that is followed by Java command line options (e.g. -j -Dname=value -Xms1G).
STRING      

 

Bridge Mapping

Meta Integration Repository (MIR)
Metamodel
(based on the OMG CWM standard)
"erwin 9.x and 2019 R1 Data Modeler (File)"
Metamodel
CA ERwin Data Modeler (Model)
Mapping Comments
     
Argument Argument  
Comment Comment  
DefaultValue Default Value  
Description Definition  
DesignLevel Design Level  
Kind Kind  
Name Name  
NativeId Native Id  
PhysicalName Physical Name  
Position Position  
Association Relationship  
Aggregation Identifying True if identifying
Comment Comment  
Description Definition  
DesignLevel Design Level  
ExtraConstraint Constraint  
Name Name  
NativeId Native Id  
AssociationRole Unnamed RelationshipEnd, Named RelationshipEnd  
Multiplicity Cardinality  
Name Name  
OnDelete On Delete  
OnInsert On Insert  
OnUpdate On Update  
Source Source Based on the multiplicity of each role and the Identifying/Non Identifying property
Attribute Attribute, Column, Primary Key Column - Attribute, Primary Key Attribute, Column - Attribute, Primary Key Column  
Comment Comment  
Description Definition  
DesignLevel Design Level  
ExtraConstraint Constraint if the validation rule cannot be set on the type
Generate Generate  
InitialValue Default Value imported from the default value tag associated to this type
Name Physical Name, Name  
NativeId Native Id  
Optional Nullable  
PhysicalName Physical Name  
Position Position  
BusinessRule Min - Max, Valid Values List, Default Value, User-Defined  
Comment Comment  
Description Definition  
DesignLevel Design Level  
LowerBound Min  
Name Name  
NativeId Native Id  
PhysicalName Physical Name  
UpperBound Max  
Value Default Value, Text  
CandidateKey Candidate Key Group  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Name Name  
NativeId Native Id  
PhysicalName Physical Name if set by the user
UniqueKey Unique Key True for Primary Key/Alternate Key, False for Inversion Entries
Class Entity, Table, Table - Entity, Data Source Table  
Comment Comment  
Description Definition  
DesignLevel Design Level  
DimensionalRole Dimensional Role  
DimensionalType Dimensional Type  
Generate Generate  
Name Physical Name, Name  
NativeId Native Id  
PhysicalName Physical Name  
ClassDiagram ER Diagram  
Comment Comment  
Description Definition  
DesignLevel Design Level  
MaxDefinitionLength Max Definition Length  
Name Name  
NativeId Native Id  
Notation Notation  
PhysicalName Physical Name  
Condition Condition  
Name Name  
ConnectionNamespace Folder  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Name Name  
NativeId Native Id  
PhysicalName Physical Name  
ConnectionPackage Data Source Schema, Directory  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Name Name  
NativeId Native Id  
PhysicalName Physical Name  
DatabaseSchema Database Schema  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Name Name  
NativeId Native Id  
PhysicalName Physical Name  
DerivedType Domain The MIR UserDefined property is set to True for User Defined Domains
Comment Comment  
DataType Data Type See datatype conversion arrays
Description Definition  
DesignLevel Design Level  
InitialValue Initial Value imported from the default value tag associated to this type
Length Length extracted from the datatype
LowerBound Lower Bound imported from the validation rule associated to this type
Name Name  
NativeDataType Native Data Type  
NativeId Native Id  
NativeLogicalDataType Native Logical Data Type  
PhysicalName Physical Name computed from the datatype, length and precision
Scale Scale extracted from the datatype
UpperBound Upper Bound imported from the validation rule associated to this type
UserDataType User Data Type  
DesignPackage Subject Area  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Name Name  
NativeId Native Id  
FlatTextFile Data Source File, File  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Name Physical Name, Name  
NativeId Native Id  
PhysicalName Physical Name  
ForeignKey Foreign Key Group  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Generate Generate  
Name Name  
NativeId Native Id  
PhysicalName Physical Name if set by the user
Generalization Subtype Relationship  
Complete Complete  
Description Definition  
DesignLevel Design Level set to Logical Only if involved in a transformation
Exclusive Exclusive  
Name Name  
NativeId Native Id  
GeneralizationRole Subtype Relationship Role  
Description Definition  
DesignLevel Design Level  
Name Name  
NativeId Native Id  
OnDelete On Delete  
OnInsert On Insert  
OnUpdate On Update  
Identity Identity  
Cache Cache  
Cycle Cycle  
IncrementValue Increment Value  
MaximumValue Maximum Value  
MinimumValue Minimum Value  
Name Name  
StartValue Start Value  
Index Index  
Clustered Clustered  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Generate Generate  
Name Name  
NativeId Native Id  
PhysicalName Physical Name  
Unique Unique  
IndexMember Index Member  
Comment Comment  
Description Definition  
DesignLevel Design Level  
NativeId Native Id  
Position Position  
SortOrder Sort Order  
Note Note  
Author Author  
Importance Importance  
ModificationTime Modification Time  
Name Name  
NativeId Native Id  
Status Status  
Value Note  
PropertyElementTypeScope UDPs used for UDP values and column physical information specific to Teradata: COMPRESS, CASE and FORMAT
Name Name  
Scope Scope  
PropertyType UDP UDP design level: Logical and/or Physical
DataType Data Type  
Description Definition  
DesignLevel Design Level  
Group Group  
InitialValue Initial Value  
Name Name  
NativeId Native Id  
Position Position  
Usage Usage set to User
SQLViewAssociation View Relationship  
AliasName Alias Name  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Name Name  
NativeId Native Id  
PhysicalName Physical Name  
SQLTableSequence Sequence  
SQLViewAttribute View Column  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Expression Expression  
InitialValue Default Value  
Name Name  
NativeId Native Id  
Optional Nullable  
Position Position  
SQLViewEntity View  
Comment Comment  
Description Definition  
DesignLevel Design Level  
DimensionalRole Dimensional Role  
Generate Generate  
GroupByClause Group By Clause  
HavingClause Having Clause  
Name Name  
NativeId Native Id  
OrderByClause Order By Clause  
SelectType Select Type  
ViewStatement View Statement  
ViewStatementType View Statement Type  
ViewType View Type  
WhereClause Where Clause The View SQL if user defined or else the Where clause
Sequence Sequence  
Comment Comment  
DataType Data Type  
Description Definition  
DesignLevel Design Level  
Generate Generate  
Length Length  
Name Name  
NativeDataType Native Data Type  
NativeId Native Id  
Scale Scale  
StoreConnection Model Source, Data Source  
Comment Comment  
Connection Connection  
Description Definition  
DesignLevel Design Level  
Name Name  
NativeId Native Id  
PhysicalName Physical Name  
StoreType Store Type  
SystemMajorVersion System Major Version  
SystemMinorVersion System Minor Version  
SystemReleaseVersion System Release Version  
SystemType System Type  
SystemTypeOld System Type Old  
StoreModel Model  
Author Author  
Comment Comment  
CreationTime Creation Time  
Description Definition  
DesignLevel Design Level  
ModificationTime Modification Time  
Modifier Modifier  
Name Name  
NativeId Native Id  
PhysicalName Physical Name  
StoreType Store Type  
SystemMajorVersion System Major Version  
SystemMinorVersion System Minor Version  
SystemReleaseVersion System Release Version  
SystemType System Type  
SystemTypeOld System Type Old  
StoredProcedure Stored Procedure  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Generate Generate  
Name Name  
NativeId Native Id  
Postcondition Postcondition  
Precondition Precondition  
Semantics Code  
Synonym Synonym  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Generate Generate  
Name Name  
NativeId Native Id  
Trigger Trigger  
Comment Comment  
Description Definition  
DesignLevel Design Level  
FireOnDelete Fire On Delete  
FireOnInsert Fire On Insert  
FireOnUpdate Fire On Update  
Generate Generate  
Name Name  
NativeId Native Id  
Semantics Code  
TriggerType Trigger Type  
TypeValue Type Value  
Comment Comment  
Description Definition  
DesignLevel Design Level  
Name Name  
NativeId Native Id  
PhysicalName Physical Name  
Position Position  
Value Value  

Last updated on Tue, 23 Apr 2019 17:36:12

Copyright © Meta Integration Technology, Inc. 1997-2019 All Rights Reserved.

Meta Integration® is a registered trademark of Meta Integration Technology, Inc.
All other trademarks, trade names, service marks, and logos referenced herein belong to their respective companies.