erwin 4.x Data Modeler - Import - 7.1

Talend Data Catalog Bridges

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
EnrichPlatform
Talend Data Catalog

Bridge Requirements

This bridge:
  • is only supported on Microsoft Windows.

Bridge Specifications

Vendor erwin, Inc.
Tool Name erwin Data Modeler
Tool Version 4.x
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 (.ER1) or Export (.XML) File
Incremental Harvesting
Multi-Model Harvesting
Remote Repository Browsing for Model Selection
Data Profiling

Import tool: erwin, Inc. erwin Data Modeler 4.x (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 (.ER1) or Export (.XML) File from erwin 4.x Data Modeler Import bridge: 'CaErwin4Xml' 10.1.0

This bridge imports files in either ER1 or XML format that were saved by using any version of erwin Data Modeler 4. The bridge parses the XML files natively.

WARNING ONE:
The bridge requires the erwin Data Modeler COM/OLE API to be installed in order to parse .ER1 format files. Therefore, erwin 4 Data Modeler must be properly installed and the specific .ER1 file must be able to be opened on the machine executing this bridge.

WARNING TWO:
When creating the .XML version of a file, select the 'Advantage Repository Export' option for the type of XML file that erwin creates. Here are the steps to create this type of Repository .XML file:
1. Open the .ER1 file in erwin.
2. Select 'Tools'->'Add-Ins...'->'Advantage Repository Export'
3. Select 'XML files (*.xml)' for the 'Save as type' pulldown.
4. Specify a path and name for the exported file.
5. Click OK

By default, erwin Data Modeler is NOT installed with this option to save .XML files in the 'Advantage Repository Format'. When installing, or modifying an installation, be sure to specifically select this component for installation.

FREQUENTLY ASKED QUESTIONS

Q: Which erwin version does this bridge support?
A: This import bridge supports the 4002 XML file version generated by erwin 4.0 (SP1) build 1511 and later versions. This erwin 4 model bridge does not support the XML format produced in earlier versions of erwin 4.0 such as erwin 4.0 Patch 1 (build 1338).

Q: How does the bridge import the order of attributes?
A: The bridge imports the physical column order preferably, if the information is present in the XML file, otherwise the logical order is used.
The order of attributes might not be the same after you use the bridge to import the file.
To view the physical column order in erwin 4:
1. Switch to the model Physical View.
2. In the 'Format' menu, select 'Stored Display Settings...'.
3. Click the 'Physical' tab and select 'Physical Order'.
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.

Q: Why do I see the message 'Error getting persistence units' when I run the bridge with an ER1 file?
A: This message usually indicates that the erwin software requires more information translating between the ER1 and XML formats. You can usually resolve this error by opening the ER1 file in the latest version of erwin 4 and saving it again as XML.

WARNING ON POTENTIAL MISSING PHYSICAL NAMES

This issue is particularly relevant when converting from erwin to ETL or BI tools, or to the OMG CWM XMI standard.
When saving a logical and physical model, the physical names of tables, columns, and keys may not always be saved into the XML file. Indeed, when erwin is used to manage the automatic generation of physical names from logical names, only the generation rules are saved. This will obviously not be an issue for physical only erwin models (which is often the case when re-engineering existing databases).

The main workaround for this issue is to use the erwin 4 Add-In for the Advantage Repository available in the menu 'Tools' -> 'Add-Ins' -> 'Advantage Repository Export'. This Add-In is primarily used to exchange metadata between erwin 4 and the Advantage Repository software. It is available since erwin v4.1 SP1 (build 2522) and a specific checkbox allows to install it in the erwin 4 installer wizard. This Add-In generates a slightly different XML file in which the physical names are explicitly expanded. Just import the produced XML file in the erwin 4 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 .ER1 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

Dimensional modeling roles (Fact, Dimensional, or Outrigger) might not be available in the XML file if they are automatically calculated by erwin.

Explicitly set all dimensional modeling roles by using the Dimensional tab of the Table Editor.

KNOWN BUGS of erwin 4.0 (SP1) build 1511:

WARNING ON INCORRECT GRAPHICAL INFORMATION ON RELATIONSHIPS

Some relationships can be properly displayed in the GUI of erwin, but the export XML may contain incorrect graphical positions. The solution is to move the relationships within erwin, then the graphical positions are systematically recomputed, and therefore properly exported to XML.

WARNING ON MISSING DISCRIMINATOR OF SUBTYPE RELATIONSHIP

When you import an erwin 3.5x ER1 file into erwin 4.0 (SP1) and save it as XML, discriminators of subtype relationships might be missing. Open the subtype relationship window and reselect the discriminators before exporting the XML.


Bridge Parameters

Parameter Name Description Type Values Default Scope
File When a model is currently loaded in erwin 4.x:
1. Choose 'Save As' from the 'File' menu.
2. Select the XML or ER1 format type in the 'Save as type' list.
3. Type the file name for the model you are saving in the 'File name' text box
4. Click 'Save'.

The bridge will use the generated XML or ER1 file as input.

Remember that erwin must be installed on the same machine that the bridge runs on in order for the ER1 format to be parsed.
FILE
*.xml
*.er1
  Mandatory
Apply binary characters filter Specifies if invalid binary characters should be filtered out of the file as a pre-process, before parsing the XML document. This option is a workaround for a bug in the erwin 4 tool which sometimes generates a file that is not conformant with the XML specification, with binary characters in it.

Warning: applying this filter may remove some Unicode national characters.

If it does removes some of your Unicode national characters, you may try to turn this option off.

TRUE is the default.
BOOLEAN   True  
Import IDs Each object defined in the erwin 4 XML file has an ID. This option allows you to specify whether the bridge should import them in the NativeID property.

'True' - The ID is saved in the NativeId property. This is the default.
'False' - The ID is ignored.
BOOLEAN   True  
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, only if used' - Import explicit and implicit values as Property Value objects, but only if there is an at least one explicit value assigned for a given UDP. Use this option to skip unused UDPs.

'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 property only. 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.
ENUMERATED
As metadata
As metadata, only when used
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 relationship description' - from the description property. This option may be useful to some database modelers who decided to use the description property to document the relationships name instead of the regular name property.
ENUMERATED
From relationship name
From relationship description
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 subject areas Specifies how to import the subject areas from erwin:

'As diagrams' - import as diagrams only.

'As packages and diagrams' - import as packages and diagrams. This is the default value.

'Do not import subject areas' - do not import subject areas.

This option may be useful to some database modelers who decided to save the hierarchy structure of subject areas.
ENUMERATED
As diagrams
As packages and diagrams
Do not import subject areas
As packages and diagrams  
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   True  

 

Bridge Mapping

Meta Integration Repository (MIR)
Metamodel
(based on the OMG CWM standard)
"erwin 4.x Data Modeler"
Metamodel
CaErwin4Xml
Mapping Comments
     
Association Relationship  
Aggregation Identifying/ Non Identifying True if identifying
Comment Comment  
Description Definition optional: UDP values can be added to the description
DesignLevel Logical_Only, Physical_Only  
PhysicalName Physical_Name Foreign Key Constraint Name
AssociationRole Relationship  
DesignLevel Logical Only, Physical Only  
ExtraConstraint Delete, Insert, Update Rule We may not know all the codes for these rules for models migrated from Erwin 3.5
Multiplicity Cardinality, Nulls  
Source   Based on the multiplicity of each role and the Identifying/Non Identifying property
AssociationRoleNameMap Attribute/Index The association between the primary key column and the foreign key column
Attribute Attribute/Column  
Comment Comment  
Description Definition optional: UDP values can be added to the description
DesignLevel Logical Only, Physical Only  
ExtraConstraint Validation Rule if the validation rule cannot be set on the type
Optional Null Option  
PhysicalName Column Name  
Position Physical Order  
BaseType Domain, Attribute Data Type  
Comment Comment  
DataType Datatype See datatype conversion arrays
Description Definition optional: UDP values can be added to the description
Length Datatype extracted from the datatype
Name Logical Name  
PhysicalName   computed from the datatype, length and precision
Scale Datatype extracted from the datatype
CandidateKey Key Group/Index (non Foreign Key)  
Comment Comment  
Description Definition  
PhysicalName Physical_Name if set by the user
UniqueKey   True for Primary Key/Alternate Key, False for Inversion Entries
Class Entity/Table  
Comment Comment  
CppClassType   Set to ENTITY
CppPersistent   Set to True
Description Definition optional: UDP values can be added to the description
DesignLevel Logical_Only, Physical_Only  
DimensionalRole Dimensional Modeling Role  
DimensionalType Dimension Type  
Name Logical Name  
PhysicalName Physical Name  
ClassDiagram Subject Area  
Description Definition  
Name Name  
DatabaseSchema Owner Table, View or Index owner
Name Name  
DerivedType Domain, Attribute Data Type, Validation Rule  
Comment Comment  
DataType Datatype See datatype conversion arrays
Description Definition  
InitialValue Default value imported from the default value tag associated to this type
Length Datatype extracted from the datatype
LowerBound Validation_Rule_Max_Value imported from the validation rule associated to this type
Name Logical Name  
PhysicalName Physical Name computed from the datatype, length and precision
Scale Datatype extracted from the datatype
UpperBound Validation_Rule_Max_Value imported from the validation rule associated to this type
UserDefined   True for User Defined Domain
DesignPackage   No equivalent in ERwin. A main package "Logical View" will be created to contain all entities/references
ForeignKey Key Group/Index (Foreign Key)  
Comment Comment  
Description Definition  
PhysicalName Physical_Name if set by the user
Generalization Supertype/Subtype  
DesignLevel   set to Logical Only if involved in a transformation
GeneralizationRole Supertype/Subtype Relationships  
DesignLevel   set to Logical Only if involved in a transformation
Identity Sequence, Identity properties  
Cycle Cycle  
IncrementValue Increment By  
MaximumValue Maximum Value  
MinimumValue Minimum Value  
StartValue Starting Value  
Index Key Group/Index  
Clustered Index Clustered  
Generate Index Generate  
Name physical name of the key Erwin does it this way
IndexMember Key Group Member/Index Member Associated with each attribute in a key
Position Key Group Member Position  
SortOrder Desc  
Note Note  
Value   Note value
Projection Drawing Object Graphical Information
BackgroundColor fill color  
Bold bold  
FontColor font color  
FontName font  
FontSize font size  
Height height  
Italic italic  
LineColor outline color  
Strike strikeout  
Underline underline  
Width width  
X x  
Y y  
PropertyElementTypeScope User Defined Property  
Scope UDP Class  
PropertyType User Defined Property  
DataType Type  
Description Description  
DesignLevel   UDP design level: Logical and/or Physical
InitialValue Default value  
NativeId   Object id
PhysicalName   Not used
Position position  
Usage   set to User
PropertyValue User Defined Property used for UDP values and column physical information specific to Teradata: COMPRESS, CASE and FORMAT
Value Value value set on an object
RelationshipProjection Drawing Object Graphical Information
BackgroundColor fill color  
Bold bold  
FontName font  
FontSize font size  
Italic italic  
LineColor outline color  
LinePoints relationship path  
Strike strikeout  
Underline underline  
X x relationship mid point
Y y relationship mid point
SQLViewAssociation View Relationship  
Comment Comment  
SQLTableSequence Relationship Sequence  
SQLViewAttribute View Column  
Comment Comment  
Description Definition optional: UDP values can be added to the description
PhysicalName Column Name  
Position Column Position  
SQLViewEntity View Table  
Comment Comment  
Description Definition optional: UDP values can be added to the description
WhereClause View SQL or Where clause The View SQL if user defined or else the Where clause
Sequence Sequence  
DataType Datatype  
Length Datatype  
Name name  
NativeDataType Datatype  
Scale Datatype  
Shape Drawing Object  
BackgroundColor Fill Color Shape's background color
Bold Font, Bold Text property
FontColor Font Color  
FontName Font Font typeface name
FontSize Font Size  
Height   Calculated property
Italic Font Italic Text property
LineColor Line Color Shape outline color
LinePoints   Vertex coordinates for polygons and polylines, end points for straight lines
Name Name Autogenerated name of the shape
ShapeType   Type of the shape in the drawing objects palette
Strike Font Strikeout Text property
Underline Font Underline  
Width   Calculated property
X   X coordinate for center of the shape
Y   Y coordinate for center of the shape
Z   Not a user accesible property
StoreModel Model/Diagram The model is built using the elements contained in the ERwin file
Description Definition optional: UDP values can be added to the description
SystemType Target Server  
SystemTypeOld Target Server  
StoredProcedure Stored Procedure Model-level and Table-level Stored Procedure
Comment Comment  
Description   optional: UDP values can be added to the description
Semantics Code  
Trigger Trigger Table Trigger
Comment Comment  
Description   optional: UDP values can be added to the description
Semantics Trigger Code  
TriggerType Fire  
TypeValue Validation Rule  
Position Order  
Value Definition