SAP PowerDesigner CDM 7.5 to 16.x - Import
Bridge Requirements
This bridge:is only supported on Microsoft Windows.
Bridge Specifications
Vendor | SAP |
Tool Name | PowerDesigner CDM (Conceptual Data Modeling) |
Tool Version | 7.5 to 16.x |
Tool Web Site | https://www.sap.com/products/powerdesigner-data-modeling-tools.html |
Supported Methodology | [Data Modeling] Data Store (Logical Data Model), Graphical Layout via CDM XML File |
Data Profiling | |
Incremental Harvesting | |
Multi-Model Harvesting | |
Remote Repository Browsing for Model Selection |
SPECIFICATIONS
Tool: SAP / PowerDesigner CDM (Conceptual Data Modeling) version 7.5 to 16.x via CDM XML File
See https://www.sap.com/products/powerdesigner-data-modeling-tools.html
Metadata: [Data Modeling] Data Store (Logical Data Model), Graphical Layout
Component: SybasePowerDesignerCdm07 version 11.2.0
OVERVIEW
This bridge imports data models from a PowerDesigner .CDM (Conceptual data model) file with Entities, Attributes, Domains. This bridge also imports all relationships and their implementation (e.g. PK/FK) as well as the graphical layout (diagrams).
REQUIREMENTS
n/a
FREQUENTLY ASKED QUESTIONS
Q: How do I handle CDM XML files which contain shortcuts to external entities?
A: CDM XML model files may contain relationships which refer to entities defined as 'shortcuts', which are references to external entities. Unfortunately, in this case the CDM XML file does not contain sufficient information to reconstruct the PK/FK relationships properly. If this is the case with the imported file, there will be a message in the log like:
This model may have shortcut dependencies on external model: 'file:///...'
and, by default, the bridge will not attempt to reconstruct those PK/FK relationships to shortcuts.
However, the source tool has the capability to merge these files together and as a result, the shortcuts are resolved. To do so:
- Refer to the log for all the files with shortcuts
- Open the tool and go to the Tools -> Merge Models... menu option
- Create a new merged model
- Save the new model as a CDM XML and import.
Q: I see warnings or errors in the log, How can I validate the model before importing?
A: PowerDesigner allows checking the model for modeling inconsistencies.
Please use menu Tools -> Check Model... and take the necessary, yet corrective actions to resolve detected issues.
LIMITATIONS
Refer to the current general known limitations at https://www.metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.html
CDM files in binary format are not supported.
SUPPORT
Provide a troubleshooting package with debug log. Debug log can be set in the UI or in conf/conf.properties with MIR_LOG_LEVEL=6
Bridge Parameters
Parameter Name | Description | Type | Values | Default | Scope | ||||
File | This bridge imports CDM XML files. If you do not have the model saved as a CDM XML file already, you may create a CDM file for import: 1. Be sure the Conceptual Data Model is opened in SAP PowerDesigner. 2. Choose 'Save As' from the 'File' menu. 3. In the 'Save as type' list, select 'Conceptual Data Model (XML) (*.CDM)'. 4. Enter the file name and select a directory to save the file in. 5. Click 'Save'. The bridge will use the generated CDM XML file as input. |
FILE | *.cdm | Mandatory | |||||
Apply binary characters filter | Specifies if invalid binary characters should be filtered out of the file as a pre-process before parsing the CDM XML file. This option is a workaround for a bug in the PowerDesigner tool which sometimes generates a file that does not conform with the XML specification (contains binary characters). Warning: Applying this filter may remove some Unicode national characters. |
BOOLEAN | True | ||||||
Import UDPs | A User Defined Property (UDP) is usually defined with a property definition object that has a default value. The objects that the property applies to may have an explicit value for this property. They may instead have no value assigned at all in which case the default value of the property definition (implicit value) applies. Control how property definitions and values are imported: 'As metadata' Import the explicit value as the property value. Implicit values are not imported. The default value is kept on the property type only. 'As metadata, migrate default values' Import the explicit or implicit values as property value. 'In description, migrate default values' Append the property name and value, even if implicit, to the object's description property. 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 | |||||
Import Association Classes | An Association Class in the CDM represents attributes and connects multiple entities. Specify whether the bridge should import such a concept as an Entity: 'False' The Association Class and all contained Attributes are ignored. 'True' The Association Class and all contained Attributes are imported. |
BOOLEAN | False | ||||||
Append volumetric information to the description field | Import and append the volumetric (number of occurrences) information to the description property. | BOOLEAN | False | ||||||
Remove text formatting | PowerDesigner versions 7.0 to 7.5 store annotations as plain text, while versions 8 and later use RTF. Remove Rich Text Formatting (RTF) from annotations: 'False' The model was generated by PowerDesigner 7.0 or 7.5. 'True' The model was generated by PowerDesigner 8.0 or greater. |
BOOLEAN | True | ||||||
Reverse role names | Swap relationship rolenames for each model: 'False' Do not swap role names. 'True' Swap role names. |
BOOLEAN | False |
Bridge Mapping
Meta Integration Repository (MIR) Metamodel (based on the OMG CWM standard) |
"SAP PowerDesigner CDM 7.5 to 16.x" Metamodel SybasePowerDesignerCdm07 |
Mapping Comments |
Association | Relationship | |
Aggregation | Dependent | |
Comment | Comment | |
Description | Description | |
Name | Name | |
NativeId | Object ID | |
PhysicalName | Code | |
AssociationRole | Relationship Role | |
Multiplicity | Cardinality | |
Name | Role Name | |
NativeId | Object ID | |
Source | based on the multiplicity of each role and the "Dominant" property | |
AssociationRoleNameMap | Relationship | Created when migrated attributes are renamed |
Attribute | Data Item, Entity Attribute | Data Items not attached to entity attributes are not imported. |
Comment | Comment | |
Description | Description | |
ExtraConstraint | Business Rule | |
InitialValue | Default value | |
Name | Name | |
NativeId | Object ID | |
Optional | Mandatory | |
PhysicalName | Code | |
Position | Order in the Entity Attributes' list | |
BaseType | Domain, Attribute | see DerivedType below |
BusinessRule | BusinessRule | |
Comment | Comment | |
Description | Description | |
Name | Name | |
PhysicalName | Code | |
Type | calculated from Type | |
Value | Expression | |
CandidateKey | Identifier | Non-empty identifiers are imported |
Name | Name | |
NativeId | Object ID | |
PhysicalName | Code | |
UniqueKey | True | |
Class | Entity | |
Comment | Comment | |
CppClassType | Set to ENTITY | |
CppPersistent | Set to True | |
Description | Description | |
Name | Name | |
NativeId | Object ID | |
PhysicalName | Code | |
ClassDiagram | Conceptual Diagram | |
Name | Name | |
NativeId | Object ID | |
PhysicalName | Code | |
DerivedType | Domain, Attribute | |
Comment | Comment | |
DataType | Data Type | See datatype conversion array |
Description | Description | |
InitialValue | Default value | |
Length | Length | |
LowerBound | Minimum value | |
Name | Name | computed if not for domains |
PhysicalName | Code | computed if not for domains |
Scale | Precision | |
UpperBound | Maximum value | |
UserDefined | True for Domains | |
DesignPackage | Package | A main package "Logical View" is also created to contain all the objects that are defined at the model level |
Comment | Comment | |
Description | Description | |
Name | Name | |
NativeId | Object ID | |
PhysicalName | Code | |
UserDefined | True for user defined packages | |
ForeignKey | Generated based on primary keys and association roles | |
NativeId | Object ID | |
Generalization | Inheritance | |
Comment | Comment | |
Complete | Complete | |
Description | Description | |
Exclusive | Exclusive | |
Name | Name | |
NativeId | Object ID | |
PhysicalName | Code | |
GeneralizationRole | InheritanceLink | |
NativeId | Object ID | |
IndexMember | Associated with each attribute in a key | |
Description | Comment | |
NativeId | Object ID | |
Position | Position of the attribute in the key | |
Note | Notes:Annotation, Notes:Description | The RichTextFormat description and notes can be converted into plain text using a bridge parameter |
Value | the text | |
Projection | Symbol | Graphical Information |
BackgroundColor | fill color | |
Bold | bold | |
FontColor | font color | |
FontName | font | |
FontSize | font size | |
Height | heigth | |
Italic | italic | |
LineColor | line color | |
Width | width | |
X | x | |
Y | y | |
PropertyElementTypeScope | MetaClass | Extended Model Definitions |
Scope | based on MetaClass type | |
PropertyType | Extended Attribute | Extended Model Definitions |
DataType | Data type | |
Description | Comment | |
Group | Extended Model Definition | |
InitialValue | Default value | |
Name | Name | |
PropertyValue | Extended Attribute | Extended Model Definitions |
Value | Value | |
RelationshipProjection | Symbol | Graphical Information |
BackgroundColor | fill color | |
Bold | bold | |
FontColor | font color | |
FontName | font | |
FontSize | font size | |
Italic | italic | |
LineColor | line color | |
Shape | Shape Symbol | Graphical Information |
BackgroundColor | fill color | |
Bold | bold | |
FontColor | font color | |
FontName | font | |
FontSize | font size | |
Height | height | |
Italic | italic | |
LineColor | line color | |
ShapeType | symbol type | |
Width | width | |
X | x | |
Y | y | |
StoreModel | Model | |
Comment | Comment | |
Description | Description | |
Name | Name | |
NativeId | Object ID | |
PhysicalName | Code | |
TypeValue | Standard Checks : List of values | |
Name | Label or Value | Name is set to Value if Label is not specified |
NativeId | Object ID | |
Position | Order in the List | |
Value | Value |