# SAP PowerDesigner PDM 8.x to 16.x - Export

Availability-note[AWS](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-aws)

AWS-only features are available at any of the following URLs: us.cloud.talend.com, eu.cloud.talend.com, ap.cloud.talend.com

## Bridge Requirements

This bridge:

* is only supported on Microsoft Windows.

## Bridge Specifications

| **Vendor** | **SAP** |
| --- | --- |
| **Tool Name** | **PowerDesigner PDM (Physical Data Modeling)** |
| **Tool Version** | **8.0 to 16.x** |
| **Tool Web Site** | https://www.sap.com/products/powerdesigner-data-modeling-tools.html |
| **Supported Methodology** | [Data Modeling] Data Store (Physical Data Model), Graphical Layout via PDM XML File |

**SPECIFICATIONS**  
**Tool:** SAP / PowerDesigner PDM (Physical Data Modeling) version 8.0 to 16.x via PDM XML File  
See https://www.sap.com/products/powerdesigner-data-modeling-tools.html  
**Metadata:** [Data Modeling] Data Store (Physical Data Model), Graphical Layout  
**Component:** SybasePowerDesignerPdm version 12.0.0  
  
**OVERVIEW**  
This bridge generates a PowerDesigner .PDM (physical data model) file with tables, columns, data types, relationships and their implementation (e.g. PK/FK) as well as the graphical layout (diagrams).  
  
**REQUIREMENTS**  
n/a  
  
**FREQUENTLY ASKED QUESTIONS**  
**Q: All the symbols are in the center of the screen?**  
A: In the tool, select 'Symbol-&gt;Auto-Layout', it will redraw the current diagram. Note that you will have to do this for each diagram.  
  
**Q: Some symbols seem to be missing?**  
A: In the tool, select 'Tools-&gt;Complete Links', it will draw the missing symbols. Note that you will have to do this for each diagram.  
  
**LIMITATIONS**  
When importing from a multi model source technology (e.g. a database server with multiple databases or schemas), only one model (e.g. schema) is exported. Therefore, limit the import scope to a single model (e.g. subset one schema of a database).  
  
Refer to the current general known limitations at [MIMB Known Limitations](https://help.qlik.com/talend/en-US/talend-data-catalog/8.1/Subsystems/ModelBridgeGuide/Content/MIMB-Known-Limitations.htm)  
**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** |
| --- | --- | --- | --- | --- | --- |
| **Version** | The version of Sybase Power Designer (PDM) file to generate. | ENUMERATED | <table><tr><td>8.0</td></tr><tr><td>9.0</td></tr><tr><td>9.5</td></tr><tr><td>10.0</td></tr><tr><td>11.0</td></tr><tr><td>12.0</td></tr><tr><td>15.0</td></tr><tr><td>16.0</td></tr><tr><td>16.5</td></tr><tr><td>16.7</td></tr></table> | 16.7 |  |
| **File** | The path name of the generated PDM file.<br><br><br><br>In order to load the converted model, start PowerDesigner and:<br><br><br><br>1. Choose 'Open' from the File menu.<br><br>2. In the 'List files of type' list box select PowerDesigner Files.<br><br>3. Browse to the generated CDM file and select it from the file name list.<br><br>4. Click 'Open'. | FILE | \*.pdm |  | Mandatory |
| **Target Database** | The target database. 'Auto Detect' means that this bridge will try to auto-detect the target database from the source model.<br><br><br><br>A database prefixed with:<br><br>'Star (\*)'<br><br>Only available for PowerDesigner 10 or newer.<br><br><br><br>'Double star (\*\*)'<br><br>Only available for PowerDesigner 11 or newer.<br><br><br><br>'Triple star (\*\*\*)'<br><br>Only available for PowerDesigner 12 or newer.<br><br><br><br>'Fourfold star (\*\*\*\*)'<br><br>Only available for PowerDesigner 15 or newer.<br><br><br><br>'Fivefold star (\*\*\*\*\*)'<br><br>Only available for PowerDesigner 16 or newer.<br><br><br><br>'Sixfold star (\*\*\*\*\*\*)'<br><br>Only available for PowerDesigner 16.5 or newer.<br><br><br><br>'Sevenfold star (\*\*\*\*\*\*\*)'<br><br>Only available for PowerDesigner 16.7 or newer. | ENUMERATED | <table><tr><td>Auto Detect</td></tr><tr><td>Access 95</td></tr><tr><td>Access 2000</td></tr><tr><td>***** Access 2007</td></tr><tr><td>ADABAS D</td></tr><tr><td>ALLBASE/SQL G.1</td></tr><tr><td>ANSI Level 2</td></tr><tr><td>AS/400</td></tr><tr><td>******* Amazon Redshift Database</td></tr><tr><td>****** Hadoop Hive 1.0</td></tr><tr><td>******* Hadoop Hive 2</td></tr><tr><td>IBM DB2 UDB 5.x Common Server</td></tr><tr><td>IBM DB2 UDB 6.x Common Server</td></tr><tr><td>IBM DB2 UDB 7.x Common Server</td></tr><tr><td>* IBM DB2 UDB 8.x Common Server</td></tr><tr><td>**** IBM DB2 UDB 9.0 Common Server</td></tr><tr><td>***** IBM DB2 UDB 9.5 Common Server</td></tr><tr><td>***** IBM DB2 UDB 9.7 Common Server</td></tr><tr><td>****** IBM DB2 Version 10.x for Linux, UNIX, and Windows</td></tr><tr><td>******* IBM DB2 Version 11.x for Linux, UNIX, and Windows</td></tr><tr><td>IBM DB2 4.x for MVS/ESA</td></tr><tr><td>IBM DB2 5.x for OS/390</td></tr><tr><td>IBM DB2 UDB 6 for OS/390</td></tr><tr><td>IBM DB2 UDB 7 for OS/390</td></tr><tr><td>* IBM DB2 UDB 8 for OS/390</td></tr><tr><td>**** IBM DB2 Version 9.x for z/OS</td></tr><tr><td>***** IBM DB2 Version 10 for z/OS</td></tr><tr><td>****** IBM DB2 Version 11 for z/OS</td></tr><tr><td>****** IBM DB2 Version 12 for z/OS</td></tr><tr><td>INFORMIX SQL 7.x</td></tr><tr><td>INFORMIX SQL 8.x</td></tr><tr><td>INFORMIX SQL 9.x</td></tr><tr><td>***** INFORMIX SQL 10.x</td></tr><tr><td>***** INFORMIX SQL 11.x</td></tr><tr><td>InterBase 4.0</td></tr><tr><td>InterBase 5.x</td></tr><tr><td>InterBase 6.x</td></tr><tr><td>Microsoft SQL Server 6.x</td></tr><tr><td>Microsoft SQL Server 7.x</td></tr><tr><td>Microsoft SQL Server 2000</td></tr><tr><td>*** Microsoft SQL Server 2005</td></tr><tr><td>**** Microsoft SQL Server 2008</td></tr><tr><td>****** Microsoft SQL Server 2012</td></tr><tr><td>****** Microsoft SQL Server 2014</td></tr><tr><td>****** Microsoft SQL Server 2016</td></tr><tr><td>******* Microsoft SQL Server 2017</td></tr><tr><td>MySQL 3.22</td></tr><tr><td>MySQL 3.23</td></tr><tr><td>* MySQL 4</td></tr><tr><td>*** MySQL 5</td></tr><tr><td>***** Netezza 4.5</td></tr><tr><td>***** Netezza 5.0</td></tr><tr><td>****** Netezza 7.x</td></tr><tr><td>NonStop SQL</td></tr><tr><td>ODBC 3.0</td></tr><tr><td>ORACLE Version 7</td></tr><tr><td>ORACLE Version 8</td></tr><tr><td>ORACLE Version 8i (8.1.5)</td></tr><tr><td>ORACLE Version 8i2 (8.1.6)</td></tr><tr><td>* ORACLE Version 9i</td></tr><tr><td>* ORACLE Version 9i2</td></tr><tr><td>** ORACLE Version 10g</td></tr><tr><td>**** ORACLE Version 11g</td></tr><tr><td>****** ORACLE Version 12c</td></tr><tr><td>******* ORACLE Version 18c</td></tr><tr><td>******* ORACLE Version 19c</td></tr><tr><td>PostgreSQL 7</td></tr><tr><td>*** PostgreSQL 8</td></tr><tr><td>****** PostgreSQL 9.x</td></tr><tr><td>****** SAP HANA Database 1.0</td></tr><tr><td>******* SAP HANA 1.0 Database</td></tr><tr><td>******* SAP HANA 2.0 Database</td></tr><tr><td>Sybase AS Anywhere 6</td></tr><tr><td>Sybase AS Anywhere 7</td></tr><tr><td>* SAP SQL Anywhere 8</td></tr><tr><td>* SAP SQL Anywhere 9</td></tr><tr><td>**** SAP SQL Anywhere 10</td></tr><tr><td>**** SAP SQL Anywhere 11</td></tr><tr><td>***** SAP SQL Anywhere 12</td></tr><tr><td>****** SAP SQL Anywhere 16</td></tr><tr><td>****** SAP SQL Anywhere 17</td></tr><tr><td>******* Snowflake</td></tr><tr><td>SAP AS Enterprise 11.0</td></tr><tr><td>* SAP AS Enterprise 11.5-11.9</td></tr><tr><td>SAP AS Enterprise 12.0</td></tr><tr><td>* SAP AS Enterprise 12.5</td></tr><tr><td>* SAP AS Enterprise 12.5.1</td></tr><tr><td>*** SAP AS Enterprise 15.0</td></tr><tr><td>**** SAP AS Enterprise 15.0.2</td></tr><tr><td>***** SAP AS Enterprise 15.5</td></tr><tr><td>***** SAP AS Enterprise 15.7</td></tr><tr><td>****** SAP AS Enterprise 16.0</td></tr><tr><td>SAP AS IQ 12.0</td></tr><tr><td>* SAP AS IQ 12.4.3</td></tr><tr><td>* SAP AS IQ 12.5</td></tr><tr><td>** SAP AS IQ 12.6</td></tr><tr><td>**** SAP AS IQ 12.7</td></tr><tr><td>***** SAP IQ 15.0</td></tr><tr><td>***** SAP IQ 15.2</td></tr><tr><td>****** SAP IQ 15.3</td></tr><tr><td>****** SAP IQ 15.4</td></tr><tr><td>****** SAP IQ 16.0</td></tr><tr><td>Teradata</td></tr><tr><td>Teradata V2R5</td></tr><tr><td>**** Teradata V2R6</td></tr><tr><td>***** Teradata 12</td></tr><tr><td>***** Teradata 13</td></tr><tr><td>****** Teradata 14</td></tr><tr><td>****** Teradata 15</td></tr><tr><td>****** Teradata 16</td></tr></table> | Auto Detect |  |
| **Description** | How to export the Description and Comment properties in PowerDesigner:<br><br><br><br>'Comment & Description'<br><br>Export the comment property to the PowerDesigner comment field and the description property to the PowerDesigner description field.<br><br><br><br>'Comment'<br><br>Export the comment property (or the description property, if any), to the PowerDesigner comment field.<br><br><br><br>'Notes/Description'<br><br>Export the comment property (or the description property, if any), to the PowerDesigner description field. | ENUMERATED | <table><tr><td>Comment &amp; Description</td></tr><tr><td>Comment</td></tr><tr><td>Notes/Description</td></tr></table> | Comment & Description |  |
| **XML Indentation (pretty printing)** | Controls the pretty printing of XML, for the purpose of opening the generated file in a text editor. E.g.<br><br><br><br>'space characters'<br><br>Several space characters as indentation.<br><br><br><br>'tab key'<br><br>Tab character as indentation.<br><br><br><br>'empty'<br><br>No indentation which leads to a more compact file. | STRING |  |  |  |
| **Reverse role names** | Swap relationship rolenames for each model:<br><br><br><br>'False'<br><br>Do not swap rolenames.<br><br><br><br>'True'<br><br>Swap rolenames. | BOOLEAN | <table><tr><td>False</td></tr><tr><td>True</td></tr></table> | False |  |
| **Connection** | Allows selecting a connection by name, if the source model contains multiple database connections.<br><br>If the source model contains multiple connections and this parameter value is left empty, the connection with the most objects is selected. | STRING |  |  |  |

## Bridge Mapping

| **Meta Integration Repository (MIR)<br>Metamodel<br>(based on the OMG CWM standard)** | **"SAP PowerDesigner PDM 8.x to 16.x"<br>Metamodel<br>SybasePowerDesignerPdm07** | **Mapping Comments** |
| --- | --- | --- |
|  |  |  |
| **Association** | **Reference** |  |
| Aggregation |  | . |
| Comment | Comment |  |
| Description | Comment | Mapped only if comment is empty. |
| ExtraConstraint |  | . |
| PhysicalName | Code | Diagram Physical Name.Computed from the Name if not set |
| **AssociationRole** | **Reference** |  |
| ExtraConstraint | Update constraint, Delete constraint |  |
| Multiplicity | Cardinality |  |
| **AssociationRoleNameMap** | **Attribute/Index** |  |
| **Attribute** | **Column** |  |
| Comment | Comment |  |
| Description | Comment | Mapped only if comment is empty. |
| DesignLevel |  | . |
| ExtraConstraint | Business Rule |  |
| Optional | Mandatory |  |
| PhysicalName | Code | Attribute Physical Name.Computed from the Name if not set |
| Position |  | The attributes are ordered by position in the PDM file |
| **BaseType** | **Domain, Attribute Data Type** | **See DerivedType** |
| **CandidateKey** | **Key** |  |
| Comment | Comment |  |
| Description | Comment | Mapped only if comment is empty. |
| PhysicalName | Code | Key Physical Name.Computed from the Name if not set |
| UniqueKey | Primary Key | The primary key will be referenced in the &lt;PKey&gt; tag. |
| **Class** | **Table** |  |
| Comment | Comment |  |
| Description | Comment | Mapped only if comment is empty. |
| DimensionalRole | Dimensional Type |  |
| PhysicalName | Code | Class Physical Name.Computed from the Name if not set |
| **ClassDiagram** | **Physical Diagram** |  |
| Comment | Comment |  |
| Description | Comment |  |
| Name | Name |  |
| PhysicalName | Code |  |
| **DatabaseSchema** | **User** | **Tables and objects belonging to a User are linked to a schema** |
| Comment | Comment |  |
| PhysicalName | Code |  |
| **DerivedType** | **Domain, Attribute Data Type** |  |
| Description | Comment |  |
| Length | Length |  |
| LowerBound | Minimum |  |
| PhysicalName | Code | Type Physical Name.Computed from the Name if not set |
| Scale | Precision |  |
| UpperBound | Maximum |  |
| UserDataType | Data type | See datatype conversion array |
| UserDefined |  | Only user defined types are mapped to domain. |
| **ForeignKey** | **Join** |  |
| **Generalization** | **Reference** |  |
| Comment | Comment |  |
| Description | Comment |  |
| PhysicalName | Code | Generalization Physical Name.Computed from the Name if not set |
| **GeneralizationRole** | **Reference** |  |
| Comment | Comment |  |
| Description | Comment |  |
| PhysicalName | Code | Generalization Physical Name.Computed from the Name if not set |
| **Identity** | **Identity** | **Identity column** |
| Comment | Comment |  |
| Description | Comment | Mapped only if comment is empty. |
| PhysicalName | Code | Index Physical Name.Computed from the Name if not set |
| Position |  | The index members are ordered by position in the PDM file |
| SortOrder | Sort |  |
| **Note** | **Annotation** |  |
| **Projection** | **Symbol** | **Graphical Information** |
| BackgroundColor | fill color |  |
| FontColor | font color |  |
| Height | height |  |
| LineColor | line color |  |
| Width | width |  |
| X | x |  |
| Y | y |  |
| **RelationshipProjection** | **Symbol** | **Graphical Information** |
| FontColor | font color |  |
| LineColor | line color |  |
| **SQLViewAssociation** | **View Relationship** |  |
| **SQLViewAttribute** | **View Column** |  |
| Expression | SQL Query | The expression is put in the SQL field of the SQLViewEntity. |
| Position |  | The attributes are ordered by position in the PDM file |
| **SQLViewEntity** | **View** | **Views might be inconsistent if objects have been renamed.** |
| Comment | Comment |  |
| Description | Comment | Mapped only if comment is empty. |
| PhysicalName | Code | View Physical Name.Computed from the Name if not set |
| WhereClause | SQL Query |  |
| **StoreModel** | **Model** |  |
| Comment | Comment |  |
| Description | Comment | Mapped only if comment is empty. |
| PhysicalName | Code | Model Physical Name.Computed from the Name if not set |
| **StoredProcedure** | **Stored Procedure** |  |
| Comment | Comment |  |
| Description | Comment | Mapped only if comment is empty. |
| Semantics | Definition |  |
| **Trigger** | **Trigger** | **Create one trigger for each mode specified.** |
| Comment | Comment |  |
| Description | Comment | Mapped only if comment is empty. |
| PhysicalName | Code | Trigger Physical Name.Computed from the Name if not set |
| Semantics | Trigger Code |  |
| **TypeValue** | **List of Values** | **All the values are listed in one tag** |
| Comment | Comment |  |
| Description | Comment | Mapped only if comment is empty. |
| Value | Value |  |