0% found this document useful (0 votes)
43 views188 pages

Data Movement Modeling

Uploaded by

Leandro Arge
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views188 pages

Data Movement Modeling

Uploaded by

Leandro Arge
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 188

SAP® PowerDesigner®

Document Version: 16.5 SP04 - 2014-09-23

Data Movement Modeling


Table of Contents
1 Getting Started with Data Movement Modeling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Creating a DMM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1 DMM Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.2 Opening Legacy ILMs in the DMM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
1.2 Customizing your Modeling Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1 Setting Model Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
1.2.2 Setting DMM Display Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.3 Extending your Modeling Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.4 Traceability Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2 Data Movement Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


2.1 Data Movement Diagram Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Replication Processes (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.1 Creating a Replication Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2 Replication Process Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.3 Replication Server Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.4 Replicating Data with the Replication Wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.5 Visualizing and Refining Data Replications with the Mapping Editor. . . . . . . . . . . . . . . . . . . . 24
2.3 Transformation Processes (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
2.3.1 Creating a Transformation Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.2 Transformation Process Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
2.3.3 Creating a Data Transformation with the Transformation Wizard. . . . . . . . . . . . . . . . . . . . . . 34
2.3.4 Creating a Data Transformation with the Convert Mappings to ETL Wizard. . . . . . . . . . . . . . . 37
2.4 Databases (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.1 Creating a Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4.2 Database Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4.3 Replication Server Primary Database Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.4.4 Database Contextual Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.5 XML Documents (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
2.5.1 Creating an XML Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.5.2 XML Document Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.6 Business Processes (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.6.1 Creating a Business Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.6.2 Business Process Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.7 Flat Files (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
2.7.1 Creating a Flat File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.7.2 Flat File Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
2.8 Servers (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.8.1 Creating a Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

Data Movement Modeling


2 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Table of Contents
2.8.2 Server Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.9 Publications (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.9.1 Adding or Removing Publications from a Replication Process. . . . . . . . . . . . . . . . . . . . . . . . 55
2.9.2 Publication Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.9.3 Replication Server Database Replication Definition Properties. . . . . . . . . . . . . . . . . . . . . . . . 57
2.9.4 Replication Server Publication Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.10 Articles (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.10.1 Adding or Removing Articles from a Publication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.10.2 Article Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.10.3 Replication Server Replication Definition and Article Properties. . . . . . . . . . . . . . . . . . . . . . . 61
2.11 Columns (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.11.1 Adding or Removing Columns from an Article. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.11.2 Column Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.11.3 Replication Server Article Column Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.12 Procedures (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.12.1 Adding or Removing Procedures from a Publication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.12.2 Procedure Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
2.12.3 Replication Server Function Replication Definition Properties. . . . . . . . . . . . . . . . . . . . . . . . 68
2.13 Subscriptions (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
2.13.1 Adding or Removing Subscriptions from a Replication Process or Publication. . . . . . . . . . . . . 70
2.13.2 Subscription Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.13.3 Replication Server Subscription Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.14 Users (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
2.14.1 Creating a User. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.14.2 User Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.14.3 Replication Server User Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.15 Event Scripts (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.15.1 Creating an Event Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
2.15.2 Event Script Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.15.3 Replication Server Function String Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.16 Data Connections (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.16.1 Creating a Data Connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.16.2 Data Connection Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.16.3 Replication Server Connection Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.17 Data Connection Groups (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.17.1 Creating a Data Connection Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.17.2 Data Connection Group Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.17.3 Replication Server Logical Connection Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
2.18 Process Connections (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.18.1 Creating a Process Connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.18.2 Process Connection Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92

Data Movement Modeling


Table of Contents © 2014 SAP SE or an SAP affiliate company. All rights reserved. 3
2.18.3 Replication Server Route Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
2.19 Migrating Deprecated Model Container Objects into a Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.19.1 Creating a Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.19.2 Adding Models to a Project Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.19.3 Rebuilding Dependency Links in a Project Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

3 Data Transformation and Control Flow Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100


3.1 Data Transformation Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.1.1 Data Transformation Diagram Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.1.2 Data Transformation Task Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.1.3 Data Structure Mapping Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.2 Transformation Control Flow Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.2.1 Transformation Control Flow Diagram Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.2.2 Transformation Control Flow Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.3 Data Inputs (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.3.1 Creating a Data Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.3.2 Data Input Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.4 Actions (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.4.1 Creating an Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.4.2 Action Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.4.3 Inserting a Script Execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.4.4 Inserting a Data Query Execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.4.5 Inserting a Data Aggregation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
3.4.6 Inserting a Data Sort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
3.4.7 Inserting a Data Filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.4.8 Inserting a Data Split. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
3.4.9 Inserting a Data Merge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
3.4.10 Inserting a Data Join. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
3.4.11 Inserting a Data Lookup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
3.4.12 Inserting a Data Projection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.4.13 Inserting a Data Calculator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
3.5 Data Outputs (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
3.5.1 Creating a Data Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
3.5.2 Data Output Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
3.6 Data Flows (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
3.6.1 Creating a Data Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
3.6.2 Data Flow Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
3.7 Data Structure Columns (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
3.7.1 Creating a Data Structure Column. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3.7.2 Data Structure Column Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3.8 Transformation Parameters (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
3.8.1 Creating a Transformation Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Data Movement Modeling


4 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Table of Contents
3.8.2 Transformation Parameter Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
3.8.3 Example: Assigning a Parameter to a Data Structure Column. . . . . . . . . . . . . . . . . . . . . . . . 135
3.9 Transformation Starts (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
3.9.1 Creating a Transformation Start. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.9.2 Transformation Start Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.10 Transformation Task Executions (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
3.10.1 Creating a Transformation Task Execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
3.10.2 Transformation Task Execution Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
3.10.3 Creating Multiple Transformation Task Executions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
3.11 Transformation Synchronizations (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
3.11.1 Creating a Transformation Synchronization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3.11.2 Transformation Synchronization Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3.12 Transformation Decisions (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
3.12.1 Creating a Transformation Decision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.12.2 Transformation Decision Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
3.13 Transformation Ends (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144
3.13.1 Creating a Transformation End. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
3.13.2 Transformation End Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
3.14 Control Flows (DMM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
3.14.1 Creating a Control Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
3.14.2 Control Flow Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

4 Generating and Reverse Engineering Replication Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148


4.1 Generating Replication Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.2 Reverse Engineering Replication Processes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.3 Generating Other Models from a DMM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

5 Checking a DMM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150


5.1 Database Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
5.2 Replication Process Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
5.3 Publication Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
5.4 Subscription Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5.5 Article, Article Column, and Procedure Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.6 Article and Replication Process Event Script Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.7 XML Document Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.8 Business Process Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
5.9 Flat File Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.10 Transformation Process Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.11 Data Transformation Task Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.12 Data Input and Output Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
5.13 Data Transformation Action Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
5.14 Transformation Control Flow Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

Data Movement Modeling


Table of Contents © 2014 SAP SE or an SAP affiliate company. All rights reserved. 5
5.15 Transformation Task Execution Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
5.16 Other Object Checks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

6 Working with SAP® Replication Server®. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165


6.1 Modeling for Replication Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.1.1 Creating a Basic Replication Server Environment with the Replication Wizard. . . . . . . . . . . . 167
6.1.2 Completing your Replication Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
6.1.3 Modeling for Heterogeneous Replications with Replication Agents and ECDA. . . . . . . . . . . . 170
6.1.4 Modeling a Warm Standby Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.1.5 Modeling for Mirror Activator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
6.1.6 Modeling for RepConnector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
6.1.7 Modeling for High Volume Adaptive Replication (HVAR). . . . . . . . . . . . . . . . . . . . . . . . . . . .172
6.1.8 Modeling for Multi-Path Replication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.1.9 Modeling for SQL Statement Replication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.1.10 Modeling Replications to an SAP® IQ Data Warehouse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.1.11 Replication Server Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
6.2 Generating for Replication Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
6.2.1 Generating an alter replication definition Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
6.3 Reverse Engineering for Replication Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
6.3.1 Reverse Engineering a Single Replication Process Object. . . . . . . . . . . . . . . . . . . . . . . . . . .184
6.3.2 Reverse Engineering Several Replication Processes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

Data Movement Modeling


6 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Table of Contents
1 Getting Started with Data Movement
Modeling
A data movement model (DMM) provides a global view of the movement of information in your organization. You
can analyze and document where your data originates, where it moves to, and how it is transformed on the way,
including replications and ETL.

The SAP® PowerDesigner® DMM allows you to model the movement, replication, and transformation of data in
your enterprise with the following diagrams:

● Data movement diagram (see Data Movement Diagrams [page 15]) allows you to model:

○ Data replication – lets you describe and configure replication processes where a source database is
replicated into one or more remote databases via replication engines. You can generate and reverse
engineer SAP® Replication Server® files.
○ Data transformation – shows a high-level view of a data transformation, where data from diverse sources
are combined to be loaded to output sources via ETL (Extract Transform and Load) and EII (Enterprise
Information Integration). The transformations are modeled in more detail in data transformation and
transformation control flow diagrams.
● Data transformation diagram - lets you detail how data is extracted from data inputs, transformed by actions,
and loaded into data outputs (see Data Transformation Diagrams [page 101]).
● Transformation control flow diagram - lets you represent a sequence of data transformations (see
Transformation Control Flow Diagrams [page 107]).

The following example shows how the various diagrams work together when modeling a data transformation. The
data movement diagram contains the transformation process with its input and output sources. You can build one
or more data transformation diagram(s) to detail your transformations, and a transformation control flow
diagram to show the order in which these transformations are executed:

Data Movement Modeling


Getting Started with Data Movement Modeling © 2014 SAP SE or an SAP affiliate company. All rights reserved. 7
1.1 Creating a DMM

You create a new data movement model by selecting File New Model .

Context

The New Model dialog is highly configurable, and your administrator may hide options that are not relevant for
your work or provide templates or predefined models to guide you through model creation. When you open the
dialog, one or more of the following buttons will be available on the left hand side:

● Categories - which provides a set of predefined models and diagrams sorted in a configurable category
structure.

Data Movement Modeling


8 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Getting Started with Data Movement Modeling
● Model types - which provides the classic list of PowerDesigner model types and diagrams.
● Template files - which provides a set of model templates sorted by model type.

Procedure

1. Select File New Model to open the New Model dialog.


2. Click a button, and then select a category or model type ( Data Movement Model ) in the left-hand pane.
3. Select an item in the right-hand pane. Depending on how your New Model dialog is configured, these items
may be first diagrams or templates on which to base the creation of your model.
Use the Views tool on the upper right hand side of the dialog to control the display of the items.
4. Enter a model name. The code of the model, which is used for script or code generation, is derived from this
name using the model naming conventions.
5. [optional] Click the Select Extensions button and attach one or more extensions to your model.
6. Click OK to create and open the data movement model .

Data Movement Modeling


Getting Started with Data Movement Modeling © 2014 SAP SE or an SAP affiliate company. All rights reserved. 9
Note
Sample DMMs are available in the Example Directory.

1.1.1 DMM Properties

You open the model property sheet by right-clicking the model in the Browser and selecting Properties.

Each data movement model has the following model properties:

Property Description

Name/Code/Comment Identify the model. The name should clearly convey the model's purpose to non-
technical users, while the code, which is used for generating code or scripts, may
be abbreviated, and should not normally include spaces. You can optionally add a
comment to provide more detailed information about the model. By default the
code is auto-generated from the name by applying the naming conventions speci­
fied in the model options. To decouple name-code synchronization, click to release
the = button to the right of the Code field.

Filename Specifies the location of the model file. This box is empty if the model has never
been saved.

Author Specifies the author of the model. If you enter nothing, the Author field in diagram
title boxes displays the user name from the model property sheet Version Info tab.
If you enter a space, the Author field displays nothing.

Version Specifies the version of the model. You can use this box to display the repository
version or a user defined version of the model. This parameter is defined in the dis­
play preferences of the Title node.

Default diagram Specifies the diagram displayed by default when you open the model.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple key­
words, separate them with commas.

Data Movement Modeling


10 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Getting Started with Data Movement Modeling
1.1.2 Opening Legacy ILMs in the DMM

The data movement model (DMM) was formerly called the information liquidity model (ILM) and model files had a
*.ilm extension. All new DMMs are created with a *.dmm extension.In addition to supporting *.dmm files, the DMM
will also open and save *.ilm files. To save a *.ilm file as a *.dmm file, select File Save As .

1.2 Customizing your Modeling Environment

The PowerDesigner data movement model provides various means for customizing and controlling your modeling
environment.

1.2.1 Setting Model Options

You can set DMM model options by selecting Tools Model Options or right-clicking the diagram background
and selecting Model Options.

You can set the following options on the Model Settings page:

Option Description

Name/Code case Specifies that the names and codes for all objects are case sensitive, allowing you to have
sensitive two objects with identical names or codes but different cases in the same model. If you
change case sensitivity during the design process, we recommend that you check your
model to verify that your model does not contain any duplicate objects.

Enable links to re­ Displays a Requirements tab in the property sheet of every object in the model, which al­
quirements lows you to attach requirements to objects (see Requirements Modeling).

External Shortcut Specifies the properties that are stored for external shortcuts to objects in other models
Properties for display in property sheets and on symbols. By default, All properties appear, but you
can select to display only Name/Code to reduce the size of your model.

Note
This option only controls properties of external shortcuts to models of the same type
(PDM to PDM, EAM to EAM, etc). External shortcuts to objects in other types of model
can show only the basic shortcut properties.

For information about controlling the naming conventions of your models, see Core Features Guide > Modeling
with PowerDesigner > Objects > Naming Conventions.

Data Movement Modeling


Getting Started with Data Movement Modeling © 2014 SAP SE or an SAP affiliate company. All rights reserved. 11
1.2.2 Setting DMM Display Preferences
PowerDesigner display preferences allow you to customize the format of object symbols, and the information that
is displayed on them. To set data movement model display preferences, select Tools Display Preferences or
right-click the diagram background and select Display Preferences.

In the Display Preferences dialog, select the type of object in the list in the left pane, and modify its appearance in
the right pane.

You can control what properties it will display on the Content tab, and how it will look on the Format tab. If the
properties that you want to display are not available for selection on the Content tab, click the Advanced button
and add them using the Customize Content dialog.

For detailed information about controlling the appearance and content of object symbols, see Core Features
Guide > Modeling with PowerDesigner > Diagrams, Matrices, and Symbols > Display Preferences.

1.2.3 Extending your Modeling Environment


You can customize and extend PowerDesigner metaclasses, parameters, and file generation with extensions,
which can be stored as part of your model or in separate extension files (*.xem) for reuse with other models.

To access extensions defined in a *.xem file, simply attach the file to your model. You can do this when creating a
new model by clicking the Select Extensions button at the bottom of the New Model dialog, or at any time by
selecting Model Extensions to open the List of Extensions and clicking the Attach an Extension tool.

In each case, you arrive at the Select Extensions dialog, which lists the extensions available, sorted on sub-tabs
appropriate to the type of model you are working with:

To quickly add a property or collection to an object from its property sheet, click the menu button in the bottom-
left corner (or press F11) and select New Attribute or New List of Associated Objects. For more information, see
Core Features Guide > Modeling with PowerDesigner > Objects > Extending Objects.

Data Movement Modeling


12 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Getting Started with Data Movement Modeling
To create a new extension file and define extensions in the Resource Editor, select Model Extensions , click
Add a Row, and then click Properties. For detailed information about working with extensions, see Customizing
and Extending PowerDesigner > Extension Files.

1.2.4 Traceability Links

Traceability links provide a flexible means for creating a connection between any object in any type of model and
any other object in the same model or any other model of any type. Traceability links have no formal semantic
meaning, but can be followed when performing an impact analysis or otherwise navigating through the model
structure.

To create a traceability link between objects in the same diagram, select the Link/Traceability Link tool in the
Toolbox. Click inside the symbol of the object that is dependent and, while continuing to hold down the mouse
button, drag the cursor and release it on the symbol of the object on which it depends.

In the following example, the Work entity is shown as being dependent on School through a traceability link:

To create a traceability link to any object in any model that is open in the Workspace, open the property sheet of
the dependent object, click its Traceability Links tab, and click the Add Objects tool. Use the Model list to select a
different model, select the object to point to and click OK to create the link and return to the dependent object's
Traceability Links tab.

You can optionally specify a type for any traceability link in the Link Type column.

Click the Types and Grouping tool to perform various actions on this tab:

● To make a link type available for selection in the Link Type column, click the Types and Grouping tool and
select New Link Type. Enter a Name for the link type and, optionally, a Comment to explain its purpose, and
then click OK.

Note
Traceability link types created in this way are stored as stereotypes in an extension file embedded in the
model. To work directly with this file click the Types and Grouping tool and select Manage Extensions. For
detailed information about working with these files, see Customizing and Extending PowerDesigner >
Extension Files.

● To control the display and grouping of links, click the Types and Grouping tool and select:

○ No Grouping - to display all the links in a single list.


○ Group by Object Type - to display links to different types of objects on separate sub-tabs. To add a link to
a new object type, click the plus sign on the leftmost sub-tab.
○ Group by Link Type - to display different link types on separate sub-tabs. To add a new link type, click the
plus sign on the leftmost sub-tab.

Data Movement Modeling


Getting Started with Data Movement Modeling © 2014 SAP SE or an SAP affiliate company. All rights reserved. 13
Note
To see all of the objects that point to an object via traceability links, open its property sheet, click its
Dependencies tab, and click the Incoming Traceability Links sub-tab.

Data Movement Modeling


14 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Getting Started with Data Movement Modeling
2 Data Movement Diagrams
A data movement diagram provides a high-level graphical view of the movement of your information, including
data sources, replications, and ETL operations.

Note

To create a data movement diagram in an existing DMM, right-click the model in the Browser and select New
Data Movement Diagram . To create a new model, select File New Model , choose Data Movement
Model as the model type and Data Movement Diagram as the first diagram, and then click OK.

You can create the following types of data movement diagrams:

● Replication diagram – lets you model the replication of data from source to remote databases via replication
processes (see Replication Processes (DMM) [page 18]). Replication processes contain publications and
article definitions that define which data are replicated. Scripts can be generated for the Replication Server
engine.
In the following example, data contained in the New York primary database is replicated by the Europe
replication process into the Paris, Berlin, and Madrid remote databases:

● Transformation diagram – lets you model ETL and EII transformations of data from input to output sources
via transformation processes (see Transformation Processes (DMM) [page 31]). The transformation is
specified in detail in one or more data transformation diagrams (see Data Transformation Diagrams [page
101]) which can be linked together in transformation control flow diagrams (see Transformation Control Flow
Diagrams [page 107]).
In the following example, multiple input sources are transformed by the Data Fusion and
Reorganization transformation process, and then loaded to the Giant Corp data warehouse:

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 15
2.1 Data Movement Diagram Objects

PowerDesigner supports all the objects necessary to build data movement diagrams.

Object Tool Symbol Description

Replication proc­ Instance of a data replication engine that replicates


ess data from one or more source databases to one or
more remote databases. See Replication Processes
(DMM) [page 18].

Replication Instance of a Replication Server replication engine that


Server replicates data from one or more primary databases
to one or more remote databases. This tool only dis­
plays when a Replication Server XEM is attached to
the DMM. See Working with SAP® Replication Server®
[page 165].

Data Movement Modeling


16 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Object Tool Symbol Description

Transformation Instance of a data movement process that models and


process document data transformations using Data Transfor­
mation Diagrams and Transformation Control Flow Di­
agrams. See Transformation Processes (DMM) [page
31].

Database Data store modeled in one or more physical data mod­


els. See Databases (DMM) [page 41].

XML Document Data store modeled in an XML model. See XML Docu­
ments (DMM) [page 47].

Business process Data store modeled in a business process model. See


Business Processes (DMM) [page 49].

Flat file Text file which contains records. See Flat Files (DMM)
[page 51].

Server Network device to which other objects are deployed.


See Servers (DMM) [page 53].

Publication [none] [none] Set of tables, views and stored procedures to replicate
via articles. See Publications (DMM) [page 54].

Article [none] [none] Table or view to replicate. See Articles (DMM) [page
59].

Column [none] [none] Table or view column to replicate. See Columns


(DMM) [page 63].

Procedure [none] [none] Precompiled collection of SQL statements stored un­


der a name in the database and processed as a unit.
See Procedures (DMM) [page 66].

Subscription [none] [none] Request for a replication engine to maintain a repli­


cated copy of database objects (such as tables, views
or stored procedures) in a remote database at a speci­
fied location. See Subscriptions (DMM) [page 69].

User [none] [none] Person or group who is allowed to log onto the replica­
tion process. See Users (DMM) [page 73].

Event script [none] [none] Stored procedure to execute on a replication process


or an article. See Event Scripts (DMM) [page 74].

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 17
Object Tool Symbol Description

Data connection Link between a database or other data store and a


replication process or transformation process that
specifies the way data is moved. See Data Connec­
tions (DMM) [page 76].

Connection [none] [none] Set of data connections that provides a backup in case
group the primary database goes down. See Data Connec­
tion Groups (DMM) [page 87].

Process connec­ Link between two replication processes that specifies


tion the way data is moved. See Process Connections
(DMM) [page 91].

2.2 Replication Processes (DMM)

A replication process is an instance of a replication engine that copies data from one or more source databases to
one or more remote databases or other replication processes.

Note
You should use a replication process when your main focus is to copy all or part of a database as a backup, or
to synchronize remote sites. For more complex operations, you should use a transformation process
(Transformation Processes (DMM) [page 31]).

In the following example, the Europe replication process copies data contained in the World source database into
the Paris replication process, which in turn copies data into the Finance and HR remote databases:

Data Movement Modeling


18 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
A replication process can contain the following items:

● Publications - specify the tables, views or procedures to replicate (see Publications (DMM) [page 54]).
● Subscriptions - specify to which remote databases the publications will be replicated (see Subscriptions
(DMM) [page 69]).
● Users - specify people who are granted appropriate permissions on the replication process (see Users (DMM)
[page 73]).
● Connection groups - specify a set of data connections in which one acts as a backup for the other (see Data
Connection Groups (DMM) [page 87]).
● Event scripts - specify instructions for executing a global function in a database (see Event Scripts (DMM)
[page 74]).

Note
You must deploy your replication process to a server (see Servers (DMM) [page 53]) to ensure correct script
generation.

Although you can create all the objects necessary to model data replication by hand in any order, we recommend
that you use the following workflow:

1. Create a PDM to represent the schema of your source database, or be ready to reverse engineer one from a
data source.
2. Create a DMM and launch the Replication Wizard to create your basic replication environment (see
Replicating Data with the Replication Wizard [page 22]).
3. [optional] Launch the Mapping Editor to visualize and refine the details of your replications (see Visualizing
and Refining Data Replications with the Mapping Editor [page 24]).
4. Add additional objects to your environment as necessary either by hand or by relaunching the Replication
Wizard (see Completing your Replication Environment [page 168].
5. Generate scripts for your replication or synchronization engine.

2.2.1 Creating a Replication Process

You can create a replication process using a Wizard or from the Toolbox, Browser, or Model menu.

● Use the Replication Wizard (see Replicating Data with the Replication Wizard [page 22]).
● Use the Replication Process tool in the Toolbox.
● Select Model Replication Processes to access the List of Replication Processes, and click the Add a
Row tool.
● Right-click the model (or a package) in the Browser, and select New Replication Process .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 19
2.2.2 Replication Process Properties

To view or edit a replication process's properties, double-click its diagram symbol or Browser or list entry. The
property sheet tabs and fields listed here are those available by default, before any customization of the interface
by you or an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de­
tailed information about the object. By default the code is generated from the name by apply­
ing the naming conventions specified in the model options. To decouple name-code synchro­
nization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Type Specifies the replication process type. You can choose between:

● Undefined – to model any standard replication engine.

● Replication Server – to model data replication from one or more primary databases to
one or more remote databases (see Working with SAP® Replication Server® [page 165]).

The type controls the display of additional information and tabs. Types are defined in the ex­
tensions (XEM) attached to the model. Click the Preview tab to view the generated code ac­
cording to the type you selected.

Server Specifies the name of the server to which the replication process is deployed(see Servers
(DMM) [page 53]). Use the tools to the right of the list to create, browse for, or view the
properties of the currently selected object.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords, sepa­
rate them with commas.

The following tabs are also available:

Data Movement Modeling


20 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
● Publications - lists the publications the replication process has to replicate (see Publications (DMM) [page
54]).
● Subscriptions - lists the subscriptions to the publications associated with the replication process (see
Subscriptions (DMM) [page 69]).
● Connection Groups - lists a set of data connections that can alternatively play the role of the backup database
to which the replication process will replicate data (see Data Connection Groups (DMM) [page 87]).
● Event Scripts - lists the event scripts associated with the replication process (see Event Scripts (DMM) [page
74]).
● Users - lists the users who have appropriate rights to log onto the replication process (see Users (DMM) [page
73]).
● Database Connection - lets you specify the data source connection parameters to send orders to the
replication process (see Database Properties [page 42]).

2.2.3 Replication Server Properties

Replication Server property sheets contain all the standard replication process tabs, along with the RepServer
Connection tab.

The RepServer Connection tab contains the following properties:

Property Description

Replication Server con­ Specifies the connection information for Replication Server. You have to specify the
nection options following options:

● Port number – specifies the Replication Server port number (Scripting name:
PortNumber)
● User name – specifies the name of the administration user (Scripting name:
UserName)
● Password – specifies the password of the administration user (Scripting name:
Password)

RSSD database options Specifies the connection information for the RSSD. You have to specify the following
options:

● Host name (Scripting name: HostName)


● Port number (Scripting name: PortNumber)
● Database name (Scripting name: DatabaseName)
● Database type [v12.6 and higher] (Scripting name: DatabaseType)

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 21
2.2.4 Replicating Data with the Replication Wizard
The Replication Wizard guides you through creating all the objects necessary to replicate data from a source to a
remote database. You can replicate the entire database or choose specific tables to replicate. You can run the
wizard as many times as necessary to create additional replications on one or multiple replication processes.

Prerequisites

To produce a meaningful replication, we recommend that you, as a minimum, create a PDM to represent the
schema of your source database or be ready to reverse engineer one from a data source.

Context

The Replication Wizard can create a replication environment from scratch, or be launched from the contextual
menu of an existing source database or replication process. When launched from an existing environment,
unnecessary wizard pages will not be displayed. The procedure in this topic shows the creation of a replication
environment from scratch.

Procedure

1. Select Tools Replication Wizard to launch the Replication Wizard, and then click Next to go to the next
step.

Data Movement Modeling


22 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2. The Source Database page lets you specify the database that provides the data to replicate. You can:

○ Create a new database in your DMM by entering a new name in the Source database field
○ Select an existing database from the list of available databases by clicking the Select a Database tool.

Make your selection, and then click Next.


3. The Source Physical Data Models page lets you specify the schema of the source database. You can:

○ Select one or more existing PDMs. Note that only PDMs open in the workspace are listed on this page.
○ Create a new PDM. Select a DBMS, and click the Share or Copy radio button. To reverse engineer a PDM
from a live data source, select the Reverse engineer the database using a data source option, click the
Connect to a Data Source tool, and specify your data source and connection parameters.

Make your selection, and then click Next.


4. The Replication Process page lets you specify the replication process to use for the replication of the source
database tables. You can:

○ Create a replication process by entering a new name in the Replication Process field and selecting a type
to identify your replication engine.
○ Select an existing replication process by clicking the Browse tool.

Make your selection, and then click Next.


5. The Publications page lets you specify the publications that define the data to be replicated. You can:

○ Create a single publication for all the tables to replicate by entering a new name in the Publication field.
○ Select an existing publication.
○ Create a separate publication for each table, and manage them individually.

[Optional - Replication Server only] Select a publication type to specify a replication mode for your replication
process.

Make your selection, and then click Next.


6. The Data to Replicate page lets you select tables, views and procedures to include in publications for
replication.

Make your selection, and then click Next.


7. The Remote Database Connection page lets you specify the database and database connections to which
your data will be replicated. You can:

○ Create a new database in your DMM by entering a new name in the Remote Database Connection field.
○ Select an existing database from the list of available databases by clicking the Select a Database tool.
○ Select one or more existing data connections in the lower part of the page.

Make your selection, and then click Next.


8. The Remote Physical Data Models page lets you specify the schema of the remote database. You can:

○ Select one or more existing PDMs. Note that only PDMs open in the workspace are listed on this page.
○ Create a new PDM. Select a DBMS, and click the Share or Copy radio button. To reverse engineer a PDM
from a live data source, select the Reverse engineer the database using a data source option, click the
Connect to a Data Source tool, and specify your data source and connection parameters.

Make your selection, and then click Next.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 23
9. The Completing the Replication page summarizes what the Replication Wizard will do when you will click
Finish. Select the checkbox to instruct it to update the remote database with the replicated source tables.

When you click Finish, the wizard creates all the objects necessary to model your data replication.

2.2.5 Visualizing and Refining Data Replications with the


Mapping Editor

The Mapping Editor provides a quick and convenient way to visually create and refine data replications between
source and remote databases. Each replication displays as an arrow linking source and target objects.

Prerequisites

You must, as a minimum, have created a replication process in your DMM to create replications with the Mapping
Editor. If no source and remote databases are connected to the replication process, you must specify them (see
Creating a Data Connection with the Database Connection Wizard [page 26]).

Data Movement Modeling


24 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Procedure

1. Right-click the replication process symbol, and select Mapping Editor.


2. The Mapping Editor opens and display the replications specified for the replication process as links between
source and target objects. If no source or remote database is connected to the replication process, you must
specify one (see Creating a Data Connection with the Database Connection Wizard [page 26]).
3. Review and refine existing replications in any of the following ways:

○ Create a new replication. The replication is represented by a link joining source and target objects. You
will generally perform the following types of drag and drops:

○ Drag a source table, view or procedure onto a target table, view or procedure to create any
replication. Sub-objects with same name and code are also replicated.
An article or procedure for the parent replicated object is created in the properties pane, along with
an article column for each replicated sub-object, and displays the details of the replication. You can
delete the replication of unwanted columns.
○ Drag a source table or view column onto a target table or view column.
The source column is replicated to the target column. An article column for the replicated column is
created in the properties pane, and displays the details of the replication.
○ Delete a replication. Select a replication link, and press Del.
○ Edit a replication properties. Double-click an article, procedure, or article column in the properties pane to
open its property sheet, and edit its properties.

In the following example, the name column of the Customer table in the source database is replicated to the
Customer name column of the Customer table in the remote database. The properties of the replicated
column are displayed in the properties pane in the lower part of the window:

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 25
4. [optional] Double-click the replication object in the properties pane to open its property sheet, and edit its
properties then click OK to return to the editor.
5. Click OK to close the editor and return to the diagram. If you have specified a database with the Database
Connection Wizard, you can display the databases linked to the replication process by right-clicking the
diagram background, and select Diagram Show Symbols .

Note
Click the Play Demo tool in the lower-left corner of the Mapping Editor window to launch a video that briefly
illustrates its main features.

2.2.5.1 Creating a Data Connection with the Database


Connection Wizard
The Database Connection Wizard can be launched from the Mapping Editor to connect a source or remote
database to your replication process. The wizard will create a data connection and a database associated with a
PDM to specify its schema. You must have at least one source database and one remote database connected to
your replication process to create replications.

Data Movement Modeling


26 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Procedure

1. Click the Create Data Connection tool in the Source or Target pane to launch the Database Connection
Wizard.
2. On the Databases page, you can:

○ Create a database by entering a new name for the database in the Database field.
○ Select an existing database from the list of available databases by clicking the Select a Database tool.

Make your selection, and then click Next.


3. [new database] The Physical Data Models page lets you associate a PDM with your database to specify its
schema. Select one or more PDMs among the list of models open in your workspace, and click Finish to close
the wizard.

The database is now connected to your replication process, and displayed in the appropriate pane in the
Mapping Editor.

In the following example, the Source_PDM Project Management PDM is selected as the source database
for the replication process and the Target_PDM Project Implementation PDM is selected as the remote
database for the replication process:

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 27
2.2.5.2 Mapping Editor Window

The Mapping Editor window is divided into three panes:

● The Source pane [white background] - is on the left of the window and displays the data to replicate. You need
to have at least one data connection (see Creating a Data Connection with the Database Connection Wizard
[page 26]) in this pane to specify the PDM that represents your source database.
● The Target pane [gray background] - is on the right of the window and displays the location to where data will
be replicated. You need to have at least one data connection (see Creating a Data Connection with the
Database Connection Wizard [page 26]) in this pane to specify the PDM that represents your target database.
● The properties pane - is on the lower part of the window, and displays the following objects depending on the
item you select in the Source pane.

Selected item Properties pane displays...

Data connection, model or A summary of the publications (see Publications (DMM) [page 54]) the se­
folder lected item contains.

Data Movement Modeling


28 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Selected item Properties pane displays...

Parent object (table, view, A list of articles (see Articles (DMM) [page 59]) or procedures (see Proce­
procedure) dures (DMM) [page 66]) that contain the selected item for replication.

Sub-object (table or view col­ A list of article columns (see Columns (DMM) [page 63]) that contain the
umn) selected item for replication.

You can replicate the same source object to multiple target objects. The details of its replications are listed in
the properties pane. Use the Customize Columns and Filters tool from the properties pane toolbar to display
additional object properties columns.
In the following example, the Mapping Editor displays how the source Contact table and its columns are
replicated to both the Contact and Customer remote tables. Note that the properties pane lists two articles,
one for each of the remote tables.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 29
Source and Target panes tools

The following tools are available in the Source and Target panes:

Tool Description

Properties - Opens the property sheet of the selected source object.

Create Data Connection - Launches the Database Connection Wizard that allows you to specify
a database connection (see Creating a Data Connection with the Database Connection Wizard
[page 26]).

Delete Data Connection - Deletes the selected database connection. Related mappings, if any,
are automatically deleted.

Add Models to Database - Opens a selection dialog to let you add one or more models to an
existing database connection.

Remove Model from Database - Removes the selected model from the database connection.
Related mappings, if any, are automatically deleted.

Create Mapping Between Source and Target Objects - Creates a mapping between the se­
lected source and target objects. The mapping details appear in the properties pane. This tool
is only available when a mapping between the two selected objects is appropriate.

Delete Mappings - Deletes all the mappings for the selected object.

[source only] Filter Mappings - Filters the mappings shown between the Source and Target
panes. You can choose between:

● All Mappings
● Only Mappings Of The Selected Object And Its Sub-Objects
● Only Mappings Of The Selected Object

[source only] Filter Objects - Filters source objects to show:

● All Objects
● Only Objects With Mappings
● Only Objects Without Mappings

Find Source/Target Object - Finds and highlights an object in the selected pane.

Data Movement Modeling


30 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.3 Transformation Processes (DMM)

A transformation process is an instance of a data transformation engine that extracts data from input sources,
transforms it, and loads it to output sources. Input and output sources can be databases, flat files, XML
documents, or business processes.

Note
You should use a transformation process when your main focus is complex transformations of data, such as
are required for data warehousing. For simple copying of data, you should use a replication process (see
Replication Processes (DMM) [page 18]).

In the following example, multiple input sources are transformed by the Data Fusion and Reorganization
transformation process, and then loaded to the Giant Corp data warehouse:

Note
You must deploy your transformation process to a server (see Servers (DMM) [page 53]) to ensure correct
script generation.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 31
Although you can create all the objects necessary to model a data transformation by hand in any order, we
recommend that you use the following workflow:

1. Identify any input and output sources. These may be existing PDMs, XSMs, BPMs and flat files or live data
sources that can be reversed engineered.
2. Create a DMM and launch one of the following wizards to create your basic transformation environment:

○ Transformation Wizard – see Creating a Data Transformation with the Transformation Wizard [page 34].
○ Convert Mappings to ETL Wizard [for existing PDM mappings] – see Creating a Data Transformation with
the Convert Mappings to ETL Wizard [page 37].
3. Press Ctrl, and double-click the transformation process symbol to open its created data transformation
diagram, and specify any other necessary transformation objects, such as data query executions, calculators,
etc. (see Data Transformation Diagrams [page 101]).
4. [optional] Create a control flow diagram to detail the order in which a series of data transformation tasks is
executed (see Transformation Control Flow Diagrams [page 107]).

You can use the completed model to guide you in writing a data transformation for your ETL engine.

2.3.1 Creating a Transformation Process

You can create a transformation process using a Wizard or from the Toolbox, Browser, or Model menu.

● Use the Transformation Wizard (see Creating a Data Transformation with the Transformation Wizard [page
34]).
● Use the Convert Mappings to ETL Wizard (see Creating a Data Transformation with the Convert Mappings to
ETL Wizard [page 37]).
● Use the Transformation Process tool in the Toolbox.
● Select Model Transformation Processes to access the List of Transformation Processes, and click the
Add a Row tool.
● Right-click the model (or a package) in the Browser, and select New Transformation Process .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


32 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.3.2 Transformation Process Properties

To view or edit a transformation process's properties, double-click its diagram symbol or Browser or list entry.
The property sheet tabs and fields listed here are those available by default, before any customization of the
interface by you or an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Server Specifies the name of the server to which the transformation process is deployed. Use the
tools to the right of the list to create, browse for, or view the properties of the currently se­
lected object.

Type Displayed only if process types/transformation engines have been defined in an extension
file (see Customizing and Extending PowerDesigner > Extension Files)under Profile/
Transformation Process. If different extensions are defined for different types of proc­
ess then use this field to control their display.

Note
If you change the type, any data types and SQL functions selected for data structure
columns in the different transformation steps will be converted to the equivalents on the
new transformation engine. For information about data types, see Customizing and Ex­
tending PowerDesigner > DBMS Definition Files > Script/Data Type Category.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

The following tabs are also available:

● Data Transformation Tasks - lists the data transformation tasks representing the data transformation
diagrams in the transformation process (see Data Transformation Diagrams [page 101]).
● Transformation Control Flows - lists the control flows representing the transformation control flow diagrams
in the transformation process (see Transformation Control Flow Diagrams [page 107]).

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 33
2.3.3 Creating a Data Transformation with the
Transformation Wizard
The Transformation Wizard helps you to set up a basic transformation process with input and output sources, and
automatically creates one or more data transformation diagrams.

Context

The Transformation Wizard can create a transformation environment from scratch, or be launched from the
contextual menu of a transformation process, an input or output source, a task in the Browser. When launched
from an existing environment, unnecessary wizard pages will not be displayed. The procedure in this topic shows
the creation of a transformation environment from scratch:

Procedure

1. Select Tools Transformation Wizard to launch the Transformation Wizard, and then click Next to go to
the next step.

2. The Transformation Process page lets you specify the transformation process to use for the data to be
transformed. You can:

○ Create a transformation process by entering a new name in the Transformation Process field, and
selecting a type to identify your transformation engine.

Data Movement Modeling


34 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
○ Select an existing transformation process by clicking the Browse tool.

Make your selection, and then click Next.


3. The Transformation Tasks page lets you specify the task(s) that will contain the details of your
transformation. You can:

○ Create a single task for all the source objects in the same data transformation diagram.
○ Select an existing task.
○ Create a separate task and a data transformation diagram for each source object, and manage them
individually.

Make your selection, and then click Next.


4. The Source Models page lets you select the source models from which to extract the data to be transformed,
and which will become input sources in the data movement diagram. Select one or more models open in the
workspace. You can also:

○ Click the Open Model tool to browse for other model files.
○ Click the Reverse Engineer tool to create a new model by reverse engineering a database, XML schema or
process language.

Make your selection, and then click Next.


5. The Source Objects page lets you select the source tables, views, elements, operations, and flat files to
transform, and which will become data inputs in the data transformation diagram.

Make your selection, and then click Next.


6. The Target Mode page lets you specify the location where you want to load your transformed data. You can:

○ Select existing models – in the following pages, you will select target models and objects, in which to load
the data.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 35
○ Create a new model [default if creating a task for each input source]. Enter a model name, type, and
language, and click the Share or Copy radio button. Click Next to go to the completion page.
○ No target model [only available if creating a task for each input source]. Click Next to go to the completion
page.

Make your selection, and then click Next.


7. The Target Models page [only available if creating a single task for all source objects] lets you select the target
models to which to load the transformed data, and which will become output sources in the data movement
diagram. Select one or more models open in the workspace. You can also:

○ Click the Open Model tool to browse for other model files.
○ Click the Reverse Engineer tool to create a new model by reverse engineering a database or XML schema.

Make your selection, and then click Next.


8. The Target Objects page [not available for new models] lets you select the target tables, views, elements, and
flat files that will contain the transformed data, and which will become data outputs in the data transformation
diagram.

Make your selection, and then click Next.


9. The last page of the wizard summarizes the objects that will be created. You can choose to create a default
transformation to connect input to output sources, and create a default replication, if their names match. This
option is not available if you chose the No target model option.

When you click Finish the wizard creates:

○ A data movement diagram containing a transformation process connected to its input and output
sources.
○ One or more data transformation diagrams containing data inputs and, if required data outputs. Press
Ctrl and double-click the transformation process to open diagrams.

Data Movement Modeling


36 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.3.4 Creating a Data Transformation with the Convert
Mappings to ETL Wizard

You can create a data transformation from an existing PDM-PDM mapping with the Convert Mappings to ETL
Wizard. It helps you set up your transformation process with PDMs connected to it as input and output sources,
along with basic data transformation diagrams with the appropriate data inputs and outputs, and appropriate
actions.

Context

The Convert Mappings to ETL Wizard can be launched from the Tools menu and from the contextual menu of a
target database whose attached PDM(s) contain mappings, thus some pages may not be available.

Procedure

1. Select Tools Convert Mappings to ETL Wizard to launch the Convert Mappings to ETL Wizard, and click
Next to go to the next step.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 37
2. The Database Selection page lets you specify the target database containing mappings. You can:

○ Create a new database in your DMM by entering a new name in the Target Database field.
○ Select an existing database from the list of available database by clicking the Select a Database tool.

Make your selection, and then click Next.


3. The Target Models page lets you select the target models from which to extract the mapping information, and
which will serve as the targets for the transformation. Any models attached to the previously selected
database are selected by default. You can click the Open Model tool to browse for other model files.

Make your selection, and then click Next.


4. The Transformation Process page lets you specify the transformation process to use for the data to be
transformed. You can:

○ Create a transformation process by entering a new name in the Transformation Process field, and
selecting a type to identify your transformation engine.
○ Select an existing transformation process by clicking the Browse tool.

Make your selection, and then click Next.


5. The Transformation Tasks page lets you specify the task(s) that will contain the details of your
transformation. You can:

○ Create a single task for all the mapped tables in the same data transformation diagram.
○ Select an existing task.
○ Create a separate task and a data transformation diagram for each mapped table, and manage them
individually.

Make your selection, and then click Next.


6. The Target Objects page lets you select the target tables that will contain the transformed data.

Make your selection, and then click Next.

Data Movement Modeling


38 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
7. The last page of the wizard summarizes the objects that will be created:

When you click Finish the wizard creates:

○ A data movement diagram containing a transformation process connected to its input and output
sources.
○ One or more data transformation diagrams containing data inputs and outputs, and any appropriate
actions retrieved from the mapping conversion. Press Ctrl and double-click the transformation process to
open diagrams.

2.3.4.1 Mapping Conversion

A PDM-PDM mapping is specified in a query or a textual expression defined in a target table, and from which its
source(s) and associated model(s) can be retrieved.

When you select a target mapped table, the wizard creates the corresponding output and retrieves the input
sources from the mapped table. Additional objects (actions) can be created, if at least one of the following
situations occurs:

● The mapped table owns criteria (Where, Group by).


● The mapped table has more than one source.
● The columns of the mapped table have more than one source.

In the following example, the GiantCorp target table is mapped to the Acme and BlueCorp source tables, has
Where and Group by criteria, and has an Address column mapped to the Street and City source columns:

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 39
The Convert Mappings to ETL Wizard will create the following objects in a data transformation diagram:

● The Acme and BlueCorp data inputs and a data join for the source tables.
● A data calculator for the two column sources and the Where criterion.
● A data aggregation for the Group by criterion.
● The GiantCorp data output for the mapped target table.

Data Movement Modeling


40 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.4 Databases (DMM)

A database can serve as an input to or output from a replication process or a transformation process. The
structure of the database is modeled in one or more Physical Data Models (PDM) that can, in turn, be linked to a
live database.

In the following example, data from the New York source database is replicated by the Europe replication
process (see Replication Processes (DMM) [page 18]) to the Paris and Berlin remote databases:

In the following example, data from the Small Corp and Acme databases is transformed by the Data Fusion
and Reorganization transformation process (see Transformation Processes (DMM) [page 31]), and loaded to
the Giant Corp data warehouse:

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 41
You can generate to or reverse-engineer from your live database using the commands available from the
database contextual menu (see Database Contextual Menu [page 46]).

2.4.1 Creating a Database

You can create a database from the Toolbox, Browser, or Model menu.

● Use the Database tool in the Toolbox.


● Select Model Databases to access the List of Databases, and click the Add a Row tool.
● Right-click the model (or a package) in the Browser, and select New Database .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

2.4.2 Database Properties

To view or edit a database's properties, double-click its diagram symbol or Browser or list entry. The property
sheet tabs and fields listed here are those available by default, before any customization of the interface by you or
an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Data Movement Modeling


42 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

Type Specifies the database type. You can choose between:

● Undefined – any standard relational database.

● RepConnector™ – a database which captures database changes in real time and deliver
them in XML to message queues, that can be used by any supported message queuing
system.

● UltraLite® – a relational database with synchronization features for small, mobile, and
embedded devices (PDA, Pocket PC etc.).

Types are specified in the extensions (XEM) attached to the model. Click the Preview tab to
view the generated code according to the type you selected.

Server Specifies the name of the server to which the database is deployed. Use the tools to the
right of the list to create a server, browse the complete tree of available servers or view the
properties of the selected server (see Servers (DMM) [page 53]).

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

Physical Data Models Tab

This tab lets you associate one or more PDMs with the database in order to describe its structure. PDMs must be
open in the workspace to create associations. Click the Add Existing Physical Data Models tool in the toolbar to
open a selection list, select one or more PDMs and click OK. You can click the Open Model tool in the toolbar to
open the associated PDM.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 43
Database Connection Tab

This tab allows PowerDesigner to communicate with the database in order to generate your models and reverse
engineer your data sources. The following properties are available:

Property Description

Data source Specifies the connection profile that is used to connect to your database. Click the Select a
Data Source tool to open the Select a Data Source dialog and select one of the following
radio buttons, depending on your chosen method for connecting to your data source:

● ODBC machine data source


● ODBC file data source - use the tool to the right of the data source field to browse to a
new file.
● Connection profile - use the tools to the right of the data source field to browse to a
new directory or file.

Use the Modify and Configure buttons to modify or configure your data source connection.
Click OK to close the dialog.

For detailed information about creating, configuring, and using connection profiles, see
Core Features Guide > Modeling with PowerDesigner > Getting Started with PowerDesigner
> Connecting to a Database.

Login Specifies the name of the user ID with which you log on to the database.

Password Specifies the password for the connection.

2.4.3 Replication Server Primary Database Properties

Primary databases connected to a Replication Server replication process have additional properties.

The RepAgent Options tab contains the following properties:

Property Description

Use replication agent Specifies if a replication agent should be used for primary database. This option is
not necessary if the PDM of the primary database is defined and opened.

Scripting name: UseReplicationAgent

RepAgent type Specifies the replication agent type (Oracle, DB2, SQL Server, Informix, Mirror Acti­
vator™).

Scripting name: RepAgentType

RepAgent name Specifies the replication agent instance name. It is used to generate replication
agent script using isql.

Scripting name: RepAgentName

Data Movement Modeling


44 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

RepAgent port number Specifies the replication agent port number.

Scripting name: RepAgentPortNumber

RepAgent user name Specifies the replication agent user login name. It is used to generate replication
agent script using isql.

Scripting name: RepAgentUserName

RepAgent password Specifies the replication agent user login password. It is used to generate replica­
tion agent script using isql.

Scripting name: RepAgentPassword

Primary database port Specifies the primary database port number.


number
Scripting name: RepAgentPrimDBPortNumber

Primary database user Specifies the primary database server user login name for the replication agent in­
name stance.

Scripting name: RepAgentPrimDBUserName

Primary database pass­ Specifies the primary database server user login password for the replication agent
word instance.

Scripting name: RepAgentPrimDBPassword

RSSD user name Specifies the RSSD user login name for the replication agent instance.

Scripting name: RepAgentRSSDUserName

RSSD password Specifies the RSSD user login password for the replication agent instance.

Scripting name: RepAgentRSSDPassword

RSSD character set [v15.1 and higher] Specifies the character set used in communication with the RSSD
of the primary Replication Server.

Scripting name: RepAgentRSSDCharSet

RepServer user name Specifies the Replication Server user login name for the replication agent instance.

Scripting name: RepAgentRepServerUserName

RepServer password Specifies the Replication Server user login password for the replication agent in­
stance.

Scripting name: RepAgentRepServerPassword

RepServer character set [v15.1 and higher] Specifies the character set used in communication with the Repli­
cation Server.

Scripting name: RepAgentRepServerCharSet

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 45
Property Description

LTL character case [v15.1 and higher] Specifies the character case in which the Replication Agent™
sends database object names to the Replication Server.

Scripting name: Ltl_Character_Case

Create LTL character pa­ [v15.1 and higher] Instructs PowerDesigner to automatically create the LTL charac­
rameter automatically ter parameter.

Scripting name: CreateLTLCharacterParameterAutomatically

Logical Paths Tab

The Logical Paths tab lists the logical paths defined for the primary database (see Logical Paths [page 175]).

2.4.4 Database Contextual Menu

The database contextual menu contains commands that let you perform a wide range of actions.

This menu contains the following commands:

Command Description

Generate Scripts Generates a script to prepare the replication of tables.

Generate and Execute Generates and executes a script on the connected database to replicate tables.
Scripts

Generate Database Generates a database creation script from the associated PDM (see Data Model­
ing > Building Data Models > Generating and Reverse-Engineering Databases >
Generating a Database from a PDM).

Modify Database Modifies an existing database schema by synchronizing it with your model (see
Data Modeling > Building Data Models > Generating and Reverse-Engineering Da­
tabases > Modifying a Database).

Reverse Engineer Database Reverse engineers an existing database schema into an existing PDM. The data­
base schema can either be from script files or from a data source (see Data Mod­
eling > Building Data Models > Generating and Reverse-Engineering Databases >
Reverse Engineering a Database into a PDM).

Connect Connects to a data source (see Core Features Guide > Modeling with PowerDe­
signer > Getting Started with PowerDesigner > Connecting to a Database).

Data Movement Modeling


46 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Command Description

Execute SQL Opens the Execute SQL Query window to let you send SQL queries to a con­
nected data source and display the result. If you are not already connected to the
data source, the Connect to Data Source window opens. Choose your connection
profile, and click Connect to open the Execute SQL Query window. Enter one or
more SQL statements in the dialog to query your database, and click the Run but­
ton to apply them to the data source, and display the query results in the Results
window.

The following commands are available for replication server environments:

Command Description

Reverse Engineering [v15.7 and higher] Reverses table and procedure bindings to data connections
and logical paths.

Bind Tables/Procedures [v15.7 and higher] Opens a dialog to allow you to bind tables or procedures to
data connections or a logical path (see Binding Database Objects to Connections
or Logical Paths [page 175]).

Show Table/Procedure Bind­ [v15.7 and higher] Opens a matrix to allow you to bind tables or procedures to
ing Matrix data connections (see Binding Database Objects to Connections or Logical Paths
[page 175]).

Create Standby Database Creates a standby database for a warm standby application (see Modeling a
Warm Standby Application [page 171]

2.5 XML Documents (DMM)

An XML document can serve as an input to or output from a transformation process. The structure of the XML
document is modeled in an XML model (XSM) which is associated with the XML document.

In the following example, data from the Acme Data XML file is transformed by the Data Fusion transformation
process (see Transformation Processes (DMM) [page 31]), and loaded to the Giant Corp data warehouse (see
Databases (DMM) [page 41]) and to the Acme Corp XML file:

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 47
2.5.1 Creating an XML Document

You can create an XML document from the Toolbox, Browser, or Model menu.

● Use the XML Document tool in the Toolbox.


● Select Model XML Documents to access the List of XML Documents, and click the Add a Row tool.
● Right-click the model (or a package) in the Browser, and select New XML Document .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

2.5.2 XML Document Properties

To view or edit an XML document's properties, double-click its diagram symbol or Browser or list entry. The
property sheet tabs and fields listed here are those available by default, before any customization of the interface
by you or an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-techni­
Comment cal users, while the code, which is used for generating code or scripts, may be abbrevi­
ated, and should not normally include spaces. You can optionally add a comment to pro­
vide more detailed information about the object. By default the code is generated from
the name by applying the naming conventions specified in the model options. To decou­
ple name-code synchronization, click to release the = button to the right of the Code
field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or
add stereotypes to the list by specifying them in an extension file.

Data Movement Modeling


48 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

XML file path Specifies the location of the XML file that contains the data. Enter a file path or click the
Select File tool to the right of the field to select a file.

XSD file path Specifies the location of the file that contains the XML schema which describes the
structure of the XML file. Enter a file path or click the Select File tool to the right of the
field to select a file.

Source model Specifies the XML model (XSM) that defines the structure of the XML document. You
choose the model from the list of models open in the workspace.

You have access to the following XSM-specific commands from the XML document con­
textual menu:

● Generate Schema – to generate a schema file and describe the structure of the
XSM.
● Reverse Engineer Schema – to reverse engineer a schema file and create an XSM.
● Open Model - to open the associated XSM.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

2.6 Business Processes (DMM)

A business process can serve as an input to a transformation process. The structure of the business process is
modeled in a business process model (BPM) which is associated with the business process.

In the following example, the Small Corp Web Service business process is transformed by the Data
Reorganization transformation process (see Transformation Processes (DMM) [page 31]), and then loaded to
the Medium Corp data warehouse (see Databases (DMM) [page 41]).

2.6.1 Creating a Business Process

You can create a business process from the Toolbox, Browser, or Model menu.

● Use the Business Process tool in the Toolbox.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 49
● Select Model Business Process to access the List of Business Processes, and click the Add a Row tool.
● Right-click the model (or a package) in the Browser, and select New Business Process .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

2.6.2 Business Process Properties

To view or edit a business process's properties, double-click its diagram symbol or Browser or list entry. The
property sheet tabs and fields listed here are those available by default, before any customization of the interface
by you or an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-techni­
Comment cal users, while the code, which is used for generating code or scripts, may be abbrevi­
ated, and should not normally include spaces. You can optionally add a comment to pro­
vide more detailed information about the object. By default the code is generated from
the name by applying the naming conventions specified in the model options. To decou­
ple name-code synchronization, click to release the = button to the right of the Code
field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or
add stereotypes to the list by specifying them in an extension file.

Source model Specifies the Business Process Model (BPM) that defines the business process. You
choose the model from the list of BPMs open in the workspace.

You have access to the following BPM-specific commands from the business process
contextual menu:

● Generate Business Language – to generate objects from a BPM.


● Reverse Engineer Business Language – to reverse engineer a business process lan­
guage file into a BPM.
● Open Model - to open the associated BPM.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

Data Movement Modeling


50 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.7 Flat Files (DMM)

A flat file can serve as an input to or output from a transformation process. A flat file is a text file containing data in
which each line holds one record.

In the following example, the Acme CSV text file is transformed by the Data Conversion transformation process
(see Transformation Processes (DMM) [page 31]), and then loaded to the Acme Corp data warehouse (see
Databases (DMM) [page 41]) and Acme Fixed Length text file.

2.7.1 Creating a Flat File

You can create a flat file from the Toolbox, Browser, or Model menu.

● Use the Flat File tool in the Toolbox.


● Select Model Flat Files to access the List of Flat Files, and click the Add a Row tool.
● Right-click the model (or a package) in the Browser, and select New Flat File .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 51
2.7.2 Flat File Properties

To view or edit a flat file's properties, double-click its diagram symbol or Browser or list entry. The property sheet
tabs and fields listed here are those available by default, before any customization of the interface by you or an
administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Separator Specifies a column separator which separates fields. Select the Custom Delimiter mode in
order to select a predefined value or enter a new one.

Row delimiter Specifies a row delimiter, which separates records. Select the Custom Delimiter mode in
order to select a predefined value or enter a new one.

Default: comma

Mode You can choose one of the following values:

● CSV (Comma Separated Value) [default] - Specifies a file which contains tabular data,
and which uses a comma to separate fields. When you select this option, the Separator
field and the Row Delimiter field are not available.
● Custom Delimiter – Lets you specify a column separator and a row delimiter to sepa­
rate records.
● Fixed Length – Lets you specify a row delimiter to separate records. When you select
this option, the Separator field is not available.

Header Specifies whether the file whose path is specified in the Path field contains a header.

Path Specifies the path to the file containing data. Click the Select File tool to the right of the
field to browse for a file.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

The following tabs are also available:

● Columns - lists the data structure columns associated with the flat file (see Data Structure Columns (DMM)
[page 131]). Click the Retrieve Columns by Parsing File Header tool, if you want to retrieve columns by
parsing the header of the file, whose path is specified in the Path field. The list of columns can be ordered.

Data Movement Modeling


52 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.8 Servers (DMM)

A server is a network device to which a database, a replication process or a transformation process is deployed.
You should assign each of these objects to a server to ensure correct script generation.

In the following example, each of the databases and the replication process are deployed on a separate server:

To deploy an object to a server, drag and drop the database or process onto the server symbol. To detach the
database or process from the server symbol, drag it outside the server symbol.

2.8.1 Creating a Server

You can create a server from a database or process property sheet, or from the Toolbox, Browser, or Model menu.

● Use the Server tool in the Toolbox.


● Open a database or a process property sheet, and click the Create tool.
● Select Model Servers to access the List of Servers, and click the Add a Row tool.
● Right-click the model (or a package) in the Browser, and select New Server .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 53
2.8.2 Server Properties

To view or edit a server's properties, double-click its diagram symbol or Browser or list entry. The property sheet
tabs and fields listed here are those available by default, before any customization of the interface by you or an
administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or
add stereotypes to the list by specifying them in an extension file.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

2.9 Publications (DMM)

A publication specifies the data to replicate and enables remote databases to subscribe to them as a group. You
must specify a data connection between the source database and the replication process before you can create a
publication. Publications have no symbol in the diagram but are listed on the Publications tab of a replication
process property sheet.

A publication can contain the following items:

● Articles - contains tables or views to replicate (see Articles (DMM) [page 59]).
● Procedures - are stored procedures to replicate (see Procedures (DMM) [page 66]).
● Subscriptions - specify which data is replicated and where (see Subscriptions (DMM) [page 69]). This list is
also available from the replication process property sheet.

In the following example, the New York publication contains three articles, each of which contains a table to be
replicated.

Data Movement Modeling


54 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Note
When a data connection is deleted, all publications attached to it are deleted.

2.9.1 Adding or Removing Publications from a Replication


Process

You can create or delete a publication using the tools available on the Publications tab of a replication process
property sheet.

The Publications tab contains the following tools:

Tool Description

Add a Row – Creates a new publication for which you must specify a data connection to enable the
creation.

Add Publications for Data Connections – Opens a selection dialog listing all the data connections
incoming to the parent replication process. Select one or more data connections in the list, and
then click OK to create publications in the replication process.

Delete - Removes the selected publication from the replication process.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 55
Note
The Replication Wizard (see Replicating Data with the Replication Wizard [page 22]) can automatically create
publications as part of your replication environment.

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

2.9.2 Publication Properties


To view or edit a publication's properties, double-click its Browser or list entry. The property sheet tabs and fields
listed here are those available by default, before any customization of the interface by you or an administrator.

The General tab contains the following properties:

Property Description

Process [read-only] Specifies the replication process to which the publication belongs (see Repli­
cation Processes (DMM) [page 18]).

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or
add stereotypes to the list by specifying them in an extension file.

Data Connection Specifies the connection from which the data are published. Select a data connection in­
coming to the parent replication process from the list (see Data Connections (DMM)
[page 76]).

Type [Replication Server only] Specifies the publication type. Click the Preview tab to view the
generated code. You can choose one of the following values to replicate:

● Database – the entire database.


● Publication – publications, replication definitions and articles.
● Replication Definition – replication definitions only.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

The following tabs are also available:

● Articles - lists the tables or views to replicate (see Articles (DMM) [page 59]).
● Procedures - lists the stored procedures to replicate (see Procedures (DMM) [page 66]).
● Subscriptions - lists the remote database subscriptions to the publication (see Subscriptions (DMM) [page
69]).

Data Movement Modeling


56 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.9.3 Replication Server Database Replication Definition
Properties

Replication Server replication definition property sheets contain all the standard publication tabs, along with the
RepServer Options tab.

The RepServer Options tab contains the following properties:

Property Description

Replicate DDL (v12.6 and Specifies whether the Data Definition Language (DDL) should be replicated.
higher)
Scripting name: ReplicateDDL

DDL User Name (v15.2 [Oracle or SQL Server primary database] Specifies the DDL user name for the repli­
and higher) cation agent.

Scripting name: DDLUserName

DDL Password (v15.2 and [Oracle or SQL Server primary database] Specifies the DDL password for the repli­
higher) cation agent.

Scripting name: DDLPassword

Replicate table (v12.6 and Specifies the list of tables to replicate for the database.
higher)
Scripting name: ReplicateTable

Replicate function (v12.6 Specifies the list of stored procedures to replicate for the database.
and higher)
Scripting name: ReplicateFunction

Replicate transaction Specifies the list of transactions to replicate for the database.
(v12.6 and higher)
Scripting name: ReplicateTransaction

Replicate system proce­ Specifies the list of stored procedures to replicate for the database.
dure
Scripting name: ReplicateSystemProcedure

Transaction set (v12.6 Specifies the list of transactions to replicate for the database.
and higher)
Scripting name: TransactionSet

Threshold (v15.2 and [ASE primary databases] Specifies the minimum number of rows that a replicated
higher) SQL statement must impact before SQL statement replication is activated for the
database.

Scripting name: Threshold

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 57
Property Description

Replicate SQLDML (v15.2 [ASE primary databases] Enables SQL statement replication. If this option is ena­
and higher) bles, you can select any of the following statement types for replication:

● Update
● Delete
● Insert select
● Select into

Scripting name: ReplicateSQLDML

Request alter from pri­ Specifies that the alter repdef command will be requested from the primary da­
mary database (v15.2 and tabase.
higher)
Scripting name: AlterFromPDB

With DSI_suspended Specifies that the with DSI_suspended option will be generated for the alter
(v15.2 and higher) statement.

Scripting name: SuspendDSI

2.9.4 Replication Server Publication Properties

Replication Server publication property sheets include a specific Type property on the General tab. The name of
the tabs for articles and procedures changes with the publication type.

Property Description

Type Specifies the type of the publication. You can choose from one of the following properties:

● Undefined – no type is specified. Tabs for articles and procedures are renamed into the
Articles & Replication Definitions tab and the Articles & Function Replication Definitions
tab.
● Database – specifies the creation of a database replication limited to the tables listed in
articles. Tabs for articles and procedures are renamed into the Tables tab and the
Procedures tab.
● Publication – specifies the creation of an article and of a replication definition for each arti­
cle. The validation of the publication is also generated. Tabs for articles and procedures
are renamed into the Articles & Replication Definitions tab and the Articles & Function
Replication Definitions tab.
● Replication Definitions – specifies the creation of a replication definition for each article.
Tabs for articles and procedures are renamed into the Replication Definitions tab and the
Function Replication Definitions tab.

Data Movement Modeling


58 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.10 Articles (DMM)

An article is the basic unit of replication and contains either a table or a view to replicate. Articles are gathered
together into a publication to be replicated by the replication process. Articles have no symbol in the diagram, but
are listed on the Articles tab of a publication property sheet.

An article can contain the following items:

● Columns – contains the table or view columns to replicate (see Columns (DMM) [page 63]).
● Scripts – specify instructions for executing a specific function in a database (see Event Scripts (DMM) [page
74]).
● Where Clauses – let you filter rows out of an article to publish.

In the following example, the Contact and Customer articles contain tables with the same names and are
included in the Glasgow publication:

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 59
2.10.1 Adding or Removing Articles from a Publication

You can create or delete an article using the tools available on the Articles tab of a publication property.

The Articles tab contains the following tools:

Tool Description

Add a Row - Creates a new article for which you must select a source table or view to enable the
creation.

Add Articles from Source Database - Opens a selection dialog listing all the tables and views not yet
selected for the publication from the source database. Select one or more objects in the list, and
then click OK to create articles in the publication.

Delete - Removes the seleted article from the publication.

Note
The Replication Wizard (see Replicating Data with the Replication Wizard [page 22]) can automatically create
articles as part of your replication environment.

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

2.10.2 Article Properties

To view or edit an article's properties, double-click its Browser or list entry. The property sheet tabs and fields
listed here are those available by default, before any customization of the interface by you or an administrator.

The General tab contains the following properties:

Property Description

Publication [read-only] Specifies the publication to which the article belongs (see Publications (DMM)
[page 54]).

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Data Movement Modeling


60 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

Source table Specifies the source table or view which the article contains. Click the Properties tool to
the right of the field to display the source object property sheet.

Remote table Specifies the remote table or view to which the article will be replicated.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

Article Property Sheet Where Clause Tab

The Where Clause tab lets you specify a Where clause to filter the table or view rows to replicate in a script editor.

Where clauses can help maximize application performance by reducing the amount of data replicated or control
the availability of data by restricting its replication to specific subscriptions.

For example you could replicate all the data of the French HR department to the US headquarters, and use a
Where clause to provide a filtered subset of this data to the Asia office.

Note
Click the Open Auto Completion List tool or press Ctrl+Space to display a list of items and operators available
for use in the clause.

The following tabs are also available:

● Columns - lists the columns to replicate (see Columns (DMM) [page 63]).
● Event Scripts - lists the event scripts associated with the article (see Event Scripts (DMM) [page 74]).

2.10.3 Replication Server Replication Definition and Article


Properties

Replication Server replication definition and article property sheets contain all the standard article tabs, along
with the RepServer Options tab.

The RepServer Options tab contains the following properties:

Property Description

Enable replication Enables replication for a table.

Scripting name: EnableReplicate

Primary table name Specifies the name of the table in the primary database to be replicated.

Scripting name: PrimaryTableName

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 61
Property Description

Replication definition name Specifies the name of the replication definition.

Scripting name: ReplicationDefinitionName

Multiple owner Specifies the mode of the table to replicate, so that both the table name and the
owner name are considered for replication.

Scripting name: MultipleOwner

Column replication type Specifies the type of the column replication: "all columns", "minimal columns".

Scripting name: ColumnReplication

Standby type Specifies the type of standby: "all", "replication definition".

Scripting name: StandBy

Dynamic SQL (v15.1 and Specifies the mode (on, off, default) of the connection so that the replication def­
higher) inition allows the execution of dynamic SQL statements. Additional configuration
parameters linked to dynamic SQL are only available when the mode is set to
"on".

Scripting name: DynamicSQL

Threshold (v15.2 and higher) Specifies the minimum number of rows that a replicated SQL statement must
impact before SQL statement replication is activated.

Scripting name: RepDefThreshold

Replicate SQLDML (v15.2 and [ASE primary databases] Enables SQL statement replication. If this option is en­
higher) abled, you can select any of the following statement types for replication:

● Update
● Delete
● Insert select
● Select into

Scripting name: ReplicateSQLDML

Request alter from primary Specifies that the alter repdef command will be requested from the primary
database (v15.5 and higher) database.

Scripting name: AlterFromPDB

With DSI_suspended (v15.2 Specifies that the with DSI_suspended option will be generated for the alter
and higher) statement.

Scripting name: SuspendDSI

Data Movement Modeling


62 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.11 Columns (DMM)

An article column contains a table or view column to replicate. Article columns belong to articles which are
gathered together into publications to be replicated by the replication process. Article columns have no symbol in
the diagram, but are listed on the Columns tab of an article property sheet.

Note
When you create an article, all the columns of the source table or view are added by default. You can review and
refine the replication of columns graphically in the Mapping Editor (see Visualizing and Refining Data
Replications with the Mapping Editor [page 24]).

In the following example, the SalesRep article contains two columns to replicate:

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 63
2.11.1 Adding or Removing Columns from an Article

You can create or delete columns using the tools available on the Columns tab of an article property sheet.

The Columns tab contains the following tools:

Tool Description

Add a Row - Creates a new column for which you must select a source table or view column to enable
the creation.

Add Article Columns from Source Database - Opens a selection dialog listing all the columns not yet
selected for the article from the source database. Select one or more objects in the list, and then
click OK to create columns in the article.

Delete - Removes the selected column from the article.

Note
The Replication Wizard (see Replicating Data with the Replication Wizard [page 22]) can automatically create
columns as part of your replication environment.

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

2.11.2 Column Properties

To view or edit a column's properties, double-click its Browser or list entry. The property sheet tabs and fields
listed here are those available by default, before any customization of the interface by you or an administrator.

The General tab contains the following properties:

Property Description

Article [read-only] Specifies the article to which the column belongs (see Articles (DMM) [page 59]).

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de­
tailed information about the object. By default the code is generated from the name by apply­
ing the naming conventions specified in the model options. To decouple name-code synchro­
nization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Source column Specifies the source table or view column to replicate. Click the Properties tool to the right of
the field to display the source object property sheet.

Data Movement Modeling


64 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

Remote column Specifies the remote table or view column to which the column will be replicated.

Data type Specifies the data type of the column.

Length Specifies the maximum length of the data type.

Precision Specifies the maximum number of places after the decimal point.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords, sepa­
rate them with commas.

2.11.3 Replication Server Article Column Properties

Replication Server article column property sheets contain all the standard article column tabs, along with the
RepServer Options tab.

The RepServer Options tab contains the following properties:

Property Description

Column replication type Specifies an event for the replication of an article column. You can choose from
one of the following values:

● always_replicate
● replicate_if_changed
● do_not_replicate

Scripting name: ColumnReplication

Primary key Specifies whether the column is a primary key column.

Scripting name: IsPrimary

Mandatory Specifies whether the column is mandatory in the replicated table.

Scripting name: IsMandatory

Searchable Specifies whether the article column is searchable.

Scripting name: Searchable

Data type Specifies the datatype of a column after a column-level datatype translation, but
before any class-level translation and presentation to the replicated database.

Scripting name: PublishedDataType

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 65
Property Description

Identity (v15.1 and higher) Specifies an article column computed from a table column when the source col­
umn attribute is specified. Only numerical typed column such as integer, nu­
meric, or smallint can have this property.

Scripting name: Identity

References (v15.5 and higher) Specifies a referential constraint (include foreign key and check constraints) to
another table. During the bulk applying time, HVAR replication will load inserts
(or deletes) to the referenced tables before (or after) the replication definition
table.

Scripting name: References

2.12 Procedures (DMM)

A procedure contains a stored procedure to replicate from a source to a remote database. Procedures have no
symbol in the diagram, but are listed on the Procedures tab of a publication property sheet.

2.12.1 Adding or Removing Procedures from a Publication

You can create or delete a procedure using the tools available on the Procedures tab of a publication property
sheet.

The Procedures tab contains the following tools:

Tool Description

Add a Row - Creates a new procedure (with the same name and code) for which you have to select a
source procedure to enable the creation.

Add Procedures from Source Database - Opens a selection dialog listing all the procedures not yet
selected for the publication from the source database. Select one or more objects in the list, and
then click OK to make them procedures for the publication.

Delete - Removes the selected procedure from the publication.

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


66 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.12.2 Procedure Properties

To view or edit a procedure's properties, double-click its Browser or list entry. The property sheet tabs and fields
listed here are those available by default, before any customization of the interface by you or an administrator.

The General tab contains the following properties:

Property Description

Publication [read-only] Specifies the publication in which the procedure is defined (see Publications
(DMM) [page 54]).

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Source procedure Specifies the source procedure to be replicated. Click the Properties tool to the right of the
field to display the source object property sheet.

Remote procedure Specifies the remote procedure to which the procedure will be replicated. By default its
name is identical to the source procedure name, but you can select another procedure in
the list.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

Procedure Property Sheet Parameters Tab

This tab lists the call parameters of the procedure. Stored procedures can use parameters to accept values from
and return values to the calling replication process.

For example, the rs_delexception procedure used to delete a transaction in the exceptions log takes the
transaction_id parameter, which specifies the number of the transaction to delete.

Each parameter contains the following properties:

Property Description

Procedure [read-only] Specifies the procedure to which the parameter belongs.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 67
Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de­
tailed information about the object. By default the code is generated from the name by apply­
ing the naming conventions specified in the model options. To decouple name-code synchro­
nization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Data type Specifies the data type of the parameter.

Length Specifies the maximum length of the data type.

Precision Specifies the maximum number of places after the decimal point.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords, sepa­
rate them with commas.

2.12.3 Replication Server Function Replication Definition


Properties

Replication Server function replication definition property sheets contain all the standard procedure tabs, along
with the RepServer Options tab.

The RepServer Options tab contains the following properties:

Property Description

Standby type Specifies the type of standby. You can choose from one of the following values:

● All
● Replication definition

Scripting name: StandBy

Primary procedure name Specify the name of the procedure.

Scripting name: PrimaryProcedureName

Procedure option Logs the execution of the stored procedure you are replicating either in the cur­
rent database (log_current ) or in the database where the stored procedure re­
sides (log_sproc).

Scripting name: ProcedureOption

Data Movement Modeling


68 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

Stored procedure option Specifies the options for the stored procedure. You can choose from one of the
following values:

● Function: Enables replication for a stored procedure associated with a func­


tion replication definition.
● Table: Enables replication for a stored procedure associated with a table
replication definition. This option is equivalent to executing sp_setreplicate
on the procedure.
● false : Disables replication for the stored procedure.

Scripting name: StoredProcedureOption

System procedure (v15.2 and Specifies that the function is a stored procedure.
higher)
Scripting name: IsSystemProcedure

Function replication definition Specifies the name of the function replication definition.
name
Scripting name: FunctionReplicationDefinitionName

Request (v15.1 and higher) Specifies whether the function replication definition is a request.

Scripting name: Request

Request alter from primary da­ Specifies that the alter repdef command will be requested from the primary
tabase (v15.5 and higher) database.

Scripting name: AlterFromPDB

With DSI_suspended (v15.5 Specifies that the with DSI_suspended option will be generated for the
and higher) alter statement.

Scripting name: SuspendDSI

2.13 Subscriptions (DMM)

A subscription specifies where a publication must be replicated. Subscriptions can include Where clauses to filter
the data to be replicated to the remote database. Subscriptions have no symbol in the diagram, but are listed on
the Subscriptions tab of a replication process property sheet.

In the following example, the NY subscription instructs the Singapore replication process to replicate data
published via the New York publication in the Tokyo remote database:

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 69
2.13.1 Adding or Removing Subscriptions from a Replication
Process or Publication

You can create or delete a subscription using the tools available on the Subscriptions tab of a replication process
or publication property sheet.

The Subscriptions tab contains the following tools:

Tool Description

[replication process] Add a Row - Creates a new subscription for which you have to select a publica­
tion and a data connection to enable the creation.

[publication] Add Subscriptions - Opens a selection dialog listing all the subscriptions not yet se­
lected for the publication. Select one or more objects in the list, and then click OK to create sub­
scriptions to the publication.

Delete - Removes the selected subscription from the replication process or publication.

Note
The Replication Wizard (see Replicating Data with the Replication Wizard [page 22]) can automatically create
subscriptions as part of your replication environment.

Data Movement Modeling


70 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

2.13.2 Subscription Properties

To view or edit a subscription's properties, double-click its Browser or list entry. The property sheet tabs and
fields listed here are those available by default, before any customization of the interface by you or an
administrator.

The General tab contains the following properties:

Property Description

Process [read-only] Specifies the replication process to which the subscription belongs.

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de­
tailed information about the object. By default the code is generated from the name by apply­
ing the naming conventions specified in the model options. To decouple name-code synchro­
nization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Publication Specifies the publication that contains the data to be replicated.

Data Connection Specifies the connection to the remote database to which the data must be replicated.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords, sepa­
rate them with commas.

The following tabs are also available:

● Where Clause - lets you create Where clauses in a script editor to filter rows out of a table or view to subscribe
to (see Article Properties [page 60]).

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 71
2.13.3 Replication Server Subscription Properties

Replication Server subscription property sheets contain all the standard subscription tabs, along with additional
properties.

For v15.7 and higher, the General tab contains the following properties:

Property Description

Primary connection Specifies the data connection from the primary database to the source replica­
tion server which carries the data being subscribed to.

Replicate connection Specifes the data connection from the replication server to the replicated data­
base which carries the subscription.

RepServer Options Tab

The RepServer Options tab contains the following properties:

Property Description

For new articles Option for new articles

Subscribe for truncated tables Specifies subscription for truncated tables.

Materialization You can choose from one of the following values:

● Incrementally
● Without holdlock
● Without materialization

Suspend replication Specifies the replication suspension. You can choose from one of the following
values:

● Suspension – specifies the Data Server Interface (DSI) suspension for the
replicate database after you change the subscription status.
● Suspension at active replicate only – specifies the active database DSI sus­
pension in a warm standby application.

Data Movement Modeling


72 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.14 Users (DMM)

A user is a person or a group who is allowed to log onto the replication process, and act as a replication system
administrator. Users have no symbol in the diagram, but are listed on the Users tab of a replication process
property sheet.

In the following example, Dave, Tracy, and Ben are authorized users for the World replication process:

2.14.1 Creating a User

You can create a user from the property sheet of, or in the Browser under, a replication process.

● Click the Users tab in the property sheet of a replication process, and click the Add a Row tool.
● Right-click a replication process in the Browser, and select New User .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 73
2.14.2 User Properties

To view or edit a user's properties, double-click its Browser or list entry. The property sheet tabs and fields listed
here are those available by default, before any customization of the interface by you or an administrator.

The General tab contains the following properties:

Property Description

Process [read-only] Specifies the replication process to which the active user belongs.

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de­
tailed information about the object. By default the code is generated from the name by apply­
ing the naming conventions specified in the model options. To decouple name-code synchro­
nization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords, sepa­
rate them with commas.

2.14.3 Replication Server User Properties

Replication Server user property sheets contain all the standard user tabs, along with the RepServer Options tab.

The RepServer Options tab contains the following properties:

Property Description

Permission Specifies the permission granted to the user.

Password Specifies the user password.

2.15 Event Scripts (DMM)

An event script is a stored procedure that is run on a replication process (for global actions) or an article (for
specific actions) when the associated event occurs. The event scripts available to your specific replication
process are specified in the extension file attached to your model. For example, you can create a global event
script which handles connection errors and that will be executed whenever the replication process encounters a
SQL error.

Event scripts have no symbol in the diagram, but are listed on the Event Scripts tab of a replication process
property sheet.

Data Movement Modeling


74 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.15.1 Creating an Event Script

You can create an event script from the property sheet of, or in the Browser under, a replication processe or
article.

Context

● Select the Event Scripts tab in a replication process or article property sheet, click the Add Event Scripts tool
to open the Event Selection dialog, select an event script and click OK to close the dialog.
● Right-click a replication process or an article in the Browser, and select New Event Script .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

2.15.2 Event Script Properties

To view or edit an event script's properties, double-click its Browser or list entry. The property sheet tabs and
fields listed here are those available by default, before any customization of the interface by you or an
administrator.

The General tab contains the following properties:

Property Description

Parent [read-only] Specifies the object to which the active event script belongs. This can be a rep­
lication process or an article.

Event Specifies the event script. You can select another event from the list of available event
scripts.

Comment Specifies a descriptive comment for the event script.

Version Specifies the version of the script.

[Text box] Specifies the script definition. You can use the Open Auto Completion List tool or press Ctrl
+Space to display a contextual help for typing the clause. Click inside the clause text to
close the list.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 75
2.15.3 Replication Server Function String Properties

Replication Server function string property sheets contain all the standard event script tabs, along with the
RepServer Options tab.

The RepServer Options tab contains the following properties:

Property Description

Function string class name Specifies the name of the function class.

Scripting name: FunctionClass

Overwrite function class Specifies whether or not you want to overwrite the function.

Scripting name: FunctionClassOverwrite

Function string name Specifies a name for the function. You can type one of the following values:
rs_select, "rs_select_with_lock", "rs_get_textptr", "rs_textptr_init",
"rs_writetext" events.

Scripting name: FunctionString

Log type Specifies the type of the log. You can choose from one of the following val­
ues: "use primary log", "with log" or "no log".

Scripting name: Log

Scan template Specifies the input template of a function string for the where clause in a
Create Subscription command.

Scripting name: ScanTemplate

Script output type Specifies the type of the output script. You can choose from one of the fol­
lowing values: "language", "rpc", "writetext", or "none".

Scripting name: ScriptOutput

2.16 Data Connections (DMM)

A data connection sends data between a database or other data store and a replication process or transformation
process.

In the following example, data is sent from the New York and Dallas databases to the Europe replication
process, and then replicated to the Paris database:

Data Movement Modeling


76 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
In the following example, data is sent from the Acme web service and Small Corp database to the Data Fusion
transformation process, and then loaded to the Giant Corp data warehouse:

2.16.1 Creating a Data Connection

You can create a data connection from the Toolbox, Browser, or Model menu.

● Use the Connection tool in the Toolbox.


● Select Model Data Connections to access the List of Data Connections, and click the Add a Row tool.
● Right-click the model (or a package) in the Browser, and select New Data Connection .

Note
The Replication Wizard (see Replicating Data with the Replication Wizard [page 22]) can automatically create
data connections as part of your replication environment.

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 77
2.16.2 Data Connection Properties

To view or edit a data connection's properties, double-click its diagram symbol or Browser or list entry. The
property sheet tabs and fields listed here are those available by default, before any customization of the interface
by you or an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

[Data store] Specifies the database, flat file, XML document or business process at the second extrem­
ity of the data connection. Use the tools to the right of the list to create, browse for, or view
the properties of the currently selected object.

Process Specifies the replication process or transformation process at one extremity of the data
connection. Use the tool to the right of the list to view the properties of the selected object.

Access type Specifies the kinds of data flow permitted along the connection. You can choose one of the
following values:

● Write-only - the process can only write data to the data store.
● Read only - the process can only read data from the data store.
● Read/Write - the process can read data from and write data to the data store.

In the following example, the Europe replication process can read data from the Dublin
database, can read data from and write data to the New York database, and can write
data to the Berlin database:

Data Movement Modeling


78 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

2.16.3 Replication Server Connection Properties

Replication Server connection property sheets contain all the standard data connection tabs, along with additional
property tabs.

Connection Tab

The following properties are available on the Connection tab:

Property Description

Connection option Option for a connection: dsi_suspended or log transfer on.

Scripting name: ConnectionOption

Connection profile (v15.2 Specifies a connection profile that will create the necessary connection configura­
and higher) tions and replicate database object definitions. Select the appropriate profile from
the list.

Scripting name: ConnectionProfile

Connection profile version Specifies the version of the connection profile to use.
(v15.2 and higher)
Scripting name: ConnectionProfileVersion

Function string class Name of the function class.

Scripting name: FunctionClass

Error string class Name of the error class.

Scripting name: ErrorClass

User name Maintenance user name.

Scripting name: UserName

Password Maintenance user password.

Scripting name: Password

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 79
Property Description

Dump marker If this connection is in a connection group, then it can be flagged as dump marker.

Scripting name: DumpMarker

Default connection (v15.7 Indicates that the connection is the default connection between the two points
and higher) when more than one connection is specified.

Scripting name: DefaultConnection

Database Options tab

The following properties are available on the Database Options tab:

Property Description

Number of commands in Specifies the number of commands to write into the exceptions log for a transaction.
log The value "–1" stands for all commands.

Scripting name: DatabaseParameter_dsi_max_cmds_to_log

Number of bytes in log Specifies the number of bytes to write into the exceptions log for each rs_writetext
function in a failed transaction. Change this parameter to prevent transactions with
large text, image or raw object columns from filling the RSSD or its log. The value "-1"
means all text, image, or rawobject columns.

Scripting name: DatabaseParameter_dsi_max_text_to_log

Number of transactions Specifies the maximum number of transactions in a group. Larger numbers may im­
in group prove data latency at the replicate database. Range of values: 1 – 100.

Scripting name: DatabaseParameter_dsi_max_xact_in_group

Number of parallel Specifies the number of parallel DSI threads to be reserved for use with large trans­
threads actions. The maximum value is one less than the value of dsi_num_threads.

Scripting name: DatabaseParameter_dsi_num_large_xact_threads

Cache size Specifies the maximum SQT (Stable Queue Transaction interface) cache memory for
the database connection, in bytes. The default, "0," means that the current setting of
sqt_max_cache_size is used as the maximum cache size for the connection. To con­
firm the current value of sqt_max_cache_size, execute rs_configure.

Scripting name: DatabaseParameter_dsi_sqt_max_cache_size

Group size Specifies the maximum number of bytes, including stable queue overhead, to place
into one grouped transaction. A grouped transaction is multiple transactions that the
DSI applies as a single transaction. A value of -1 means no grouping.

Scripting name: DatabaseParameter_dsi_xact_group_size

Data Movement Modeling


80 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

Number of commands Specifies the number of LTL commands an LTI or RepAgent Executor thread can
per timeslide possess before it must yield the CPU to other threads.

Scripting name: DatabaseParameter_exec_cmds_per_timeslice

Save interval Specifies the number of minutes that the Replication Server saves messages after
they have been successfully passed to the destination data server.

Scripting name: DatabaseParameter_save_interval

Partitioning rule Specifies the partitioning rules (one or more) the DSI uses to partition transactions
among available parallel DSI threads.

Scripting name: DatabaseParameter_dsi_partitioning_rule

Use batch markers Controls the processing of function strings rs_batch_start and rs_batch_end. If
(v15.0 and higher) use_batch_markers is set to on, the rs_batch_start function string is prepended to
each batch of commands and the rs_batch_end function string is appended to each
batch of commands. Set use_batch_markers to on only for replicate data servers
that require additional SQL to be sent at the beginning or end of a batch of com­
mands that is not contained in the rs_begin function string.

Scripting name: DatabaseParameter_use_batch_markers

Dynamic sql Specifies the mode (on, off, default) of the connection so that the replication defini­
tion allows the execution of dynamic SQL statements . Additional configuration pa­
rameters linked to dynamic SQL are only available when the mode is set to "on".

Scripting name: DatabaseParameter_DynamicSQL

Replication Specifies whether or not transactions applied by the DSI are marked in the transac­
tion log as being replicated.

Scripting name: DatabaseParameter_dsi_replication

Serialization method Specifies the method used to maintain serial consistency between parallel DSI
threads when applying transactions to a replicate data server.

Scripting name: DatabaseParameter_dsi_serialization_method

SQL data style Formats datatypes (particularly date/time, binary, bit and money) to be compatible
with: DB2 ("db2"), Lotus Notes ("notes"), SQL Anywhere®, formerly Watcom SQL
("watcom") or SQL Remote ("sqlremote").

Scripting name: DatabaseParameter_dsi_sql_data_style

Text convert multiplier Changes the length of text datatype columns at the replicate site. Use dsi_text_con­
vert_multiplier when text datatype columns must expand or contract due to charac­
ter set conversion. Replication Server multiplies the length of primary text data by
the value of dsi_text_convert_multiplier to determine the length of text data at the
replicate site. Its type is float.

Scripting name: DatabaseParameter_dsi_text_convert_multiplier

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 81
Property Description

Dump load Enables coordinated dump when set to "on" at replicate sites only.

Scripting name: DatabaseParameter_dump_load

Distributor write request Specifies the amount of memory available to the Distributor for messages waiting to
limit be written to the outbound queue.

Scripting name: DatabaseParameter_md_sqm_write_request_limit

Subscription write re­ Specifies the memory available to the subscription materialization or dematerializa­
quest limit tion thread for messages waiting to be written to the outbound queue.

Scripting name: DatabaseParameter_sub_sqm_write_request_limit

LTI write request limit Specifies the amount of memory available to the LTI or RepAgent Executor thread for
messages waiting to be written to the inbound queue.

Scripting name: DatabaseParameter_exec_sqm_write_request_limit

Parallel DSI Provides a shorthand method for configuring parallel DSI threads. A setting of "on"
configures dsi_num_threads to 5, dsi_num_large_xact_threads to 2, dsi_serializa­
tion_method to "wait_for_commit", and dsi_sqt_max_cache_size to 1 million bytes. A
setting of "off" configures these parallel DSI values to their defaults.

Scripting name: DatabaseParameter_parallel_dsi

Replication DDL (v15.0 Specifies whether or not transactions are to be replicated back to the original data­
and higher) base to support bidirectional replication. When set to "on", DSI sends set replication
off to the replicate database, which instructs it to mark the succeeding DDL transac­
tions available in the system log not to be replicated. Therefore, these DDL transac­
tions are not replicated back to the original database, which enables DDL transaction
replication in bidirectional MSA replication environment.

Scripting name: DatabaseParameter_dsi_replication_ddl

Dynamic sql cache man­ Specifies the dynamic SQL cache for a connection. You can choose from one of the
agement (v15.0.1 and following values:
higher)
● mru (default) – specifies that once dynamic_sql_cache_size is reached, the old
dynamic SQL prepared statements are deallocated to give room for new state­
ments.
● fixed – specifies that once the dynamic_sql_cache_size is reached, allocation for
new dynamic SQL statements stops.

Scripting name: DatabaseParameter_dynamic_sql_cache_management

Dynamic SQL cache size Specifies an estimation of the number of database objects which can be used by SQL
(v15.0.1 and higher) for a connection. This can be used to limit resource demand on a data server. Mini­
mum value 1 is and Maximum value is 65,535.

Scripting name: DatabaseParameter_dynamic_sql_cache_size

Data Movement Modeling


82 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Security Tab

The following properties are available on the Security tab:

Property Description

Message confidentiality Specifies whether Replication Server sends and receives encrypted data. If set to
"required," outgoing data is encrypted. If set to "not required," Replication Server ac­
cepts incoming data that is encrypted or not.

Scripting name: SecurityParameter_msg_confidentiality

Unified login Specifies how Replication Server seeks to log in to remote data servers and accepts
incoming logins.

Scripting name: SecurityParameter_unified_login

Use security services Specifies whether Replication Server can use security services. If use_security_serv­
ices is "off," no security features take effect. This parameter can only be set by con­
figuring Replication Server.

Scripting name: SecurityParameter_use_security_services

Message integrity Specifies whether data is checked for tampering.

Scripting name: SecurityParameter_msg_integrity

Message origin check Specifies whether the source of data should be verified.

Scripting name: SecurityParameter_msg_origin_check

Message replay detection Specifies whether data should be checked to make sure it has not been read or inter­
cepted.

Scripting name: SecurityParameter_msg_replay_detection

Message sequence check Specifies whether data should be checked for interception.

Scripting name: SecurityParameter_msg_sequence_check

Mutual authorization Requires remote server to provide proof of identify before a connection is estab­
lished.

Scripting name: SecurityParameter_mutual_auth

Security mechanism The name of the third-party security mechanism enabled for the pathway.

Scripting name: SecurityParameter_security_mechanism

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 83
Transaction Options Tab

The following properties are available on the Transaction Options tab:

Property Description

Disk affinity Specifies an allocation hint for assigning the next partition. Enter the logical name of
the partition to which the next segment should be allocated when the current parti­
tion is full.

Scripting name: DatabaseParameter_disk_affinity

Packet size Specifies the maximum size of a network packet. During database communication,
the network packet value must be within the range accepted by the database. You
may change this value if you have a System 10 or later SQL Server or Adaptive
Server® that has been reconfigured.

Scripting name: DatabaseParameter_db_packet_size

Batch Specifies how Replication Server sends commands to data servers. When batch is
"on," Replication Server may send multiple commands to the data server as a single
command batch. When batch is "off," Replication Server sends commands to the
data server one at a time.

Scripting name: DatabaseParameter_batch

Batch begin Specifies whether a begin transaction can be sent in the same batch as other com­
mands (such as insert, delete, and so on).

Scripting name: DatabaseParameter_batch_begin

Command retry Specifies the number of times to retry a failed transaction. The value must be
greater than or equal to 0.

Scripting name: DatabaseParameter_command_retry

Command batch size Specifies the maximum number of bytes that Replication Server places into a com­
mand batch.

Scripting name: DatabaseParameter_dsi_cmd_batch_size

Command separator Specifies the character that separates commands in a command batch.

Scripting name: DatabaseParameter_dsi_cmd_separator

Character convert The specification for handling character-set conversion on data and identifiers be­
tween the primary Replication Server and the replicate Replication Server. This pa­
rameter applies to all data and identifiers to be applied at the DSI in question.

Scripting name: DatabaseParameter_dsi_charset_convert

Data Movement Modeling


84 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

Check locks interval Specifies the number of milliseconds (ms) the DSI executor thread waits between
executions of the rs_dsi_check_thread_lock function string. Used with parallel DSI
function string. Used with parallel DSI.

Scripting name: DatabaseParameter_dsi_commit_check_locks_intrvl

Stop Unsupported Com­ When set to on, DIST suspends itself if a command is not supported by downstream
mands (v15.0 and higher) Replication Server. When set to off, DIST ignores the unsupported command. Re­
gardless of dist_stop_unsupported_cmd parameter's setting, Replication Server al­
ways logs an error message when it sees the first instance of a command that can­
not be sent over to a lower-version Replication Server.

Scripting name: DatabaseParameter_dist_stop_unsupported_cmd

DSI bulk copy (v15.1 and Turns the bulk copy-in feature on or off for a connection. If dynamic_sql and
higher) dsi_bulk_copy are both on, DSI applies bulk copy-in. Dynamic SQL is used if bulk
copy-in is not used.

Scripting name: DatabaseParameter_dsi_bulk_copy

DSI dataserver make [Non-ASE replicate database connections] Specifies the data server type that con­
(v15.5 and higher) tains the replicate database that you want to use RTL for.

Scripting name: ConnectionParameter_dsi_dataserver_make

DSI compile enable (v15.5 [Primary database connections] Enables High Volume Adaptive Replication (HVAR),
and higher) in which Replication Server compiles log-ordered, row-by-row changes to net-row
changes.

Scripting name: DatabaseParameter_dsi_compile_enable

Check locks times Specifies the number of times the DSI executor thread executes the
rs_dsi_check_thread_lock function string before logging a warning message. Used
with parallel DSI.

Scripting name: DatabaseParameter_dsi_commit_check_locks_logs

Max check locks times Specifies the maximum number of times a DSI executor thread checks whether it is
blocking other transactions in the replicate database before rolling back its transac­
tion and retrying it. Used with parallel DSI.

Scripting name: DatabaseParameter_dsi_commit_check_locks_max

Commit control Specifies whether commit control processing is handled internally by Replication
Server using internal tables (on) or externally using the rs_threads system table
(off).

Scripting name: DatabaseParameter_dsi_commit_control

Request stored proce­ Turns on or off request stored procedures at the DSI of the primary Replication
dure Server.

Scripting name: DatabaseParameter_dsi_exec_request_sproc

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 85
Property Description

Fade out time Specifies the number of seconds of idle time before a DSI connection is closed. A
value of "-1" specifies that a connection will not close.

Scripting name: DatabaseParameter_dsi_fadeout_time

Ignore underscore name When the transaction partitioning rule is set to "name," specifies whether or not Rep­
lication Server ignores transaction names that begin with an underscore.

Scripting name: DatabaseParameter_dsi_ignore_underscore_name

Keep triggers Specifies whether triggers should fire for replicated transactions in the database. Set
off to cause Replication Server to set triggers off in the Adaptive Server database, so
that triggers do not fire when transactions are executed on the connection. Set on
for all databases except standby databases.

Scripting name: DatabaseParameter_dsi_keep_triggers

Number of transactions Specifies the number of commands allowed in a transaction before the transaction is
in log considered to be large.

Scripting name: DatabaseParameter_dsi_large_xact_size

Number of threads Specifies the number of parallel DSI threads to be used. The maximum value is 255.

Scripting name: DatabaseParameter_dsi_num_threads

DSI isolation level (v15.0 Specifies the isolation level for transactions. The ANSI standard and Adaptive Server
and higher) supported values are: 0 – ensures that data written by one transaction represents
the actual data. 1 – prevents dirty reads and ensures that data written by one trans­
action represents the actual data. 2 – prevents nonrepeatable reads and dirty reads,
and ensures that data written by one transaction represents the actual data. 3 – pre­
vents phantom rows, nonrepeatable reads, and dirty reads, and ensures that data
written by one transaction represents the actual data. NoteData servers supporting
other isolation levels are supported as well through the use of the rs_set_isola­
tion_level function string. Replication Server supports all values for replicate data
servers. The default value is the current transaction isolation level for the target data
server.

Scripting name: DatabaseParameter_dsi_isolation_level

DSI bulk threshold (v15.1 Specifies the number of insert commands that, when reached, triggers Replication
and higher) Server to use bulk copy-in. When Stable Queue Transaction (SQT) encounters a
large batch of insert commands, it retains in memory the number of insert com­
mands specified to decide whether to apply bulk copy-in. Because these commands
are held in memory, we suggest that you do not configure this value much higher
than the configuration value for dsi_large_xact_size. Minimum: 1

Scripting name: DatabaseParameter_dsi_bulk_threshold

Data Movement Modeling


86 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

DSI connector type (v15.5 [non-ASE replicate database connections] Specifies the connector type used for the
and higher) connector implementation, such as Open Client™, JDBC and ODBC. When multiple
connectors are available, RepServer will designate one as the default.

Scripting name: ConnectionParameter_dsi_connector_type

DSI compile max cmds Specifies when HVAR replication should finish current transaction grouping and
(v15.5 and higher) start a new group. If there are no more commands to read, it will finish the current
group even if the group has not reached to the maximum number of commands. The
default value is 100,000 commands, with a minimum of 100.

Scripting name: DatabaseParameter_dsi_compile_max_cmds

Replicate Tables Tab

For Replication Server v15.5 and higher, the Replicate Tables tab is available for connections to replicate
databases and lists the tables to replicate (see Replicate Tables [page 173]).

Bound Procedures and Bound Tables Tabs

For Replication Server v15.7 and higher, the Bound Procedures and Bound Tables tabs is available for connections
to primary databases and lists the procedures and tables to replicate via this connection. You can alternately bind
procedures and tables to logical connections that can, in turn, be associated with a default and multiple alternate
data connections (see Logical Paths [page 175]).

2.17 Data Connection Groups (DMM)

A data connection group allows you to specify a set of data connections, in which one active database is supported
by any number of backups. In case the active database fails for any reason, RepServer can switch to a backup
database, and resume operations.

In the following example, if the Boston database fails, the Boston Backup resumes operations:

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 87
2.17.1 Creating a Data Connection Group

You can create a data connection group from the Connection Groups tab of a replication process property sheet.

Procedure

1. Open a replication process property sheet, and click the Connection Groups tab.
2. Click the Add a Row tool, and enter a name for the new connection group.
3. Double-click the new connection group to open its property sheet, and click the Connections tab.
4. Click the Add Data Connections tool, select one or more data connections in the list, and click OK to return to
the Connections tab.
5. Click the General tab, and select a data connection in the Default connection field to act as the active
database.

Results

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


88 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.17.2 Data Connection Group Properties

To view or edit a data connection group's properties, double-click its Browser or list entry. The property sheet
tabs and fields listed here are those available by default, before any customization of the interface by you or an
administrator.

The General tab contains the following properties:

Property Description

Process [read only] Specifies the replication process to which the active connection group belongs.

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de­
tailed information about the object. By default the code is generated from the name by apply­
ing the naming conventions specified in the model options. To decouple name-code synchro­
nization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Default connec­ Specifies the default data connection used by the replication process to get data from the
tion active database.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords, sepa­
rate them with commas.

The following tabs are also available:

● Connections - lists the data connections that can be used as a backup for the active database (see Data
Connections (DMM) [page 76]). This list populates the Default connection field in the General tab.

2.17.3 Replication Server Logical Connection Properties

Replication Server logical connection property sheets contain all the standard data connection groups tabs along
with the Connection Options tab.

The Connection Options tab contains the following properties:

Property Description

Logical name Specifies a logical name for a logical connection.

Scripting name: LogicalName

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 89
Property Description

Replication minimum col­ Specifies whether Replication Server should send all replication definition columns
umns for all transactions or only those needed to perform update or delete operations at
the standby database. Replication Server uses this value in standby situations only
when a replication definition does not contain a "send standby" option with any pa­
rameter. In the other case, Replication Server uses the "replicate minimal columns"
or "replicate all columns" parameter in the replication definition.

Scripting name: ReplicateMinimalColumns

Materialization save inter­ Specifies the materialization queue save interval. This parameter is only used for
val standby databases in a warm standby application.

Scripting name: MaterializationSaveInterval

Save interval Specifies the number of minutes the Replication Server takes to save messages af­
ter they have been successfully passed to the destination data server. For more in­
formation, see the Replication Server Administration Guide.

Scripting name: SaveInterval

Send standby columns Specifies which columns Replication Server should send to the standby database
for a logical connection and overrides the "send standby" option in the replication
definition that tell Replication Server which table columns to send to the standby
database.

Scripting name: SendStandbyRepdefCols

Send truncate table Specifies the truncated tables to send.

Scripting name: SendTruncateTable

Distribution Specifies values for distribution: On or Off.

Scripting name: Distribution

Primary Logical Connec­ [v15.7 and higher] In environments with multiple parallel logical connections, all the
tion connections must specify one among them as the primary logical connection. The
primary logical connection itself sets this field to None.

Scripting name: PrimaryLogicalConnection

Data Movement Modeling


90 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
2.18 Process Connections (DMM)

A process connection sends data between two replication processes to let you model a data replication system
with more than one replication process.

In the following example, data is sent from the New York database to the World replication process which
distributes data to the London and Singapore replication processes, which in turn replicate data to multiple
databases:

2.18.1 Creating a Process Connection

You can create a process connection from the Toolbox, Browser, or Model menu.

● Use the Connection tool in the Toolbox.


● Select Model Process Connections to access the List of Process Connections, and click the Add a Row
tool.
● Right-click the model (or a package) in the Browser, and select New Process Connection .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 91
2.18.2 Process Connection Properties

To view or edit a process connection's properties, double-click its diagram symbol or Browser or list entry. The
property sheet tabs and fields listed here are those available by default, before any customization of the interface
by you or an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated, and
should not normally include spaces. You can optionally add a comment to provide more de­
tailed information about the object. By default the code is generated from the name by apply­
ing the naming conventions specified in the model options. To decouple name-code synchro­
nization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Source Process Specifies the source replication process for the connection. Use the Properties tool to the
right of the list to view the properties of the currently selected replication process.

Target Process Specifies the target replication process for the connection. Use the tools to the right of the
list to create, browse for, or view the properties of the currently selected object.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords, sepa­
rate them with commas.

2.18.3 Replication Server Route Properties

Replication Server route property sheets contain all the standard process connection tabs, along with the Route
Options tab and the Security tab.

Route Options Tab

The following properties are available on the Route Options tab:

Property Description

User name Specifies a name for the user.

Scripting name: UserName

Data Movement Modeling


92 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

Password Specifies a password for the user.

Scripting name: Password

Next site Specifies that the connection passes through an intermediate Replication Server
site.

Scripting name: NextSite

Disk affinity Specifies an allocation hint for assigning the next partition. Enter the logical name of
the partition to which the next segment should be allocated when the current parti­
tion is full.

Scripting name: RouteParameter_disk_affinity

RSI batch size Specifies a number of bytes sent to another Replication Server before a truncation
point is requested. The range is 1024 to 262144.

Scripting name: RouteParameter_rsi_batch_size

Save interval Specifies the number of minutes that the Replication Server takes to save mes­
sages after they have been successfully passed to the destination Replication
Server.

Scripting name: RouteParameter_save_interval

Large message Specifies route behavior if a large message is encountered. This parameter is appli­
cable only to direct routes where the site version at the replicate site is 12.1 or ear­
lier. Values are "skip" and "shutdown."

Scripting name: RouteParameter_rsi_xact_with_large_msg

RSI synchronize interval Specifies the number of seconds between RSI synchronization inquiry messages.
The Replication Server uses these messages to synchronize the RSI outbound
queue with destination Replication Servers. Values must be greater than 0.

Scripting name: RouteParameter_rsi_sync_interval

RSI packet size Specifies the packet size, in bytes, for communications with other Replication Serv­
ers. The range is 1024 to 8192.

Scripting name: RouteParameter_rsi_packet_size

RSI fadeout time Specifies the number of seconds of idle time before Replication Server closes a con­
nection with a destination Replication Server. The value -1 specifies that Replication
Server will not close the connection.

Scripting name: RouteParameter_rsi_fadeout_time

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 93
Property Description

Primary connection [v15.7 and higher] Specifies the data connection which carries the data that will
transit on the route. If this property is set to None, then the route will accept data
arriving from any data connection.

Scripting name: PrimaryConnection

Security Tab

The following properties are available on the Security tab:

Property Description

Message confidentiality Specifies whether Replication Server sends and receives encrypted data. If set to
"required," outgoing data is encrypted. If set to "not required," Replication Server
accepts incoming data that is encrypted or not encrypted.

Scripting name: SecurityParameter_msg_confidentiality

Unified login Specifies how Replication Server seeks to log in to remote data servers and ac­
cepts incoming logins.

Scripting name: SecurityParameter_unified_login

Use security services Specifies whether to use security services. If use_security_services is "off," no se­
curity features take effect. This parameter can only be set by configuring replica­
tion server.

Scripting name: SecurityParameter_use_security_services

Message integrity Specifies whether data is checked for tampering.

Scripting name: SecurityParameter_msg_integrity

Message origin check Specifies whether the source of data should be verified.

Scripting name: SecurityParameter_msg_origin_check

Message replay detection Specifies whether data should be checked to make sure it has not been read or in­
tercepted.

Scripting name: SecurityParameter_msg_replay_detection

Message sequence check Specifies whether data should be checked for interception.

Scripting name: SecurityParameter_msg_sequence_check

Data Movement Modeling


94 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Property Description

Mutual authorization Specifies a remote server to provide proof of identify before a connection is estab­
lished.

Scripting name: SecurityParameter_mutual_auth

Security mechanism Specifies the name of the third-party security mechanism enabled for the pathway.

Scripting name: SecurityParameter_security_mechanism

2.19 Migrating Deprecated Model Container Objects into a


Project

Until v15.0 you could use an information liquidity model (the former name of the data movement model) to display
groups of models and the generation and mapping links between them. Now PowerDesigner projects are used to
organize your models and project diagrams provide improved visibility for the interconnections between your
models.

The following objects are no longer available in the Data Movement Model:

● Conceptual data – container for conceptual data models.


● Data access application – container for object-oriented models.
● Data access link – relationship that documents the way data are mapped between model containers.
● Generation link – relationship that documents generation dependencies between model containers.

In the following example, a deprecated ILM shows how a CDM, a PDM, and an OOM are linked by generation and
data access links:

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 95
PowerDesigner projects enable you to:

● Gather together and display in a diagram any types of PowerDesigner models and other files.
● Display different types of link, such as shortcuts, references, traceability links and so on.
● Benefit from the automatic update of links.
● Check all the models and other files contained within the project into and out of the repository in one
operation.

For detailed information about projects, see Core Features Guide > Modeling with PowerDesigner > Projects and
Frameworks.

2.19.1 Creating a Project

Create a project to contain the models whose links you want to view.

Procedure

1. Select File New Project to open the New Project dialog box.
2. Select Empty Project in the tree, enter a project name and location, and select the Append Name To Location
check box if you want to add the project name to the root directory.
3. Click OK to close the dialog box, and create the project.

Data Movement Modeling


96 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
Results

The project is created in the Browser, and an empty project diagram opens.

2.19.2 Adding Models to a Project Diagram

Complement a project diagram by adding models whose links you want to view.

Context

● Drag and drop one or more models from the file system to the Browser or from the Browser to the project
diagram, or
● Click the Add Project Document tool in the Toolbox, click in the diagram to open a standard Open dialog box,
browse to and select one or more models in your file system, and then click Open.

In order to maximize the convenience of the project as a container, you should create (or place) all the associated
models inside the project directory. However, you can also link to files outside the project directory. Such files are
listed under the project node in the Browser, but display small icons on their symbol to indicate that they are
located outside the project folder. You can, at any time, right-click a model in the Browser or its symbol in the
diagram, and select Move to Project Directory to move it inside the project.

Note
We recommend that your models are open when you add them to a project in order to guarantee that their
dependency links are correctly rebuilt.

2.19.3 Rebuilding Dependency Links in a Project Diagram

The dependency links (for example, generation, mappings, shortcuts, and so on) shown in a project diagram are
automatically generated when you add linked models to it. You cannot manually create them.

Context

Models that are included in the project, but which are not displayed in the project diagram will not be added nor
have their links represented when you rebuild dependency links.

Note
Models must be present in the project diagram before you can rebuild their dependency links.

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 97
Procedure

1. Select Tools Rebuild Dependency Links to open the Rebuild Dependency Links dialog box.
2. Select the check boxes that correspond to the dependency links you want to rebuild.
3. Click OK to close the dialog box and return to the diagram.
Any missing links are updated in the diagram.

Results

The following example shows models in a project diagram connected by a variety of dependency links:

You can explore the details of any of the dependency links in your diagram by right-clicking it and selecting Show
Dependencies. Each type of link has its own viewer:

● Generation – displays the generation links between models in the Generation Links Viewer (see Core Features
Guide > Linking and Synchronizing Models > Generating Models and Model Objects).
● Mapping – displays the mapping links between models in the Mapping Editor (see Core Features Guide >
Linking and Synchronizing Models > Object Mappings).

Data Movement Modeling


98 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Movement Diagrams
● Reference – displays the shortcuts and replications between models in the Shortcuts and Replications dialog
box (see Core Features Guide > Linking and Synchronizing Models > Shortcuts and Replicas).

Data Movement Modeling


Data Movement Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 99
3 Data Transformation and Control Flow
Diagrams
The data movement model lets you model and document ETL and EII processes in a rich graphical environment,
supported by sophisticated metadata. By modeling your transformations in PowerDesigner, you can benefit from
its powerful traceability and impact analysis features.

In most enterprises, information is stored in multiple databases, data warehouses and applications. Such a
situation requires the recombination and transformation of data coming from diverse sources into new formats
for replication reporting or other consumption.

ETL (Extract Transform and Load) and EII (Enterprise Information Integration) are two technologies that address
this need:

● ETL is a process in data warehousing that refers to three separate functions combined into a single
programming tool:

○ Extract – reads data from a specified source system.


○ Transform – manipulates the extracted data to convert it for particular specialized consumption.
○ Load – writes the resulting data to a target.

● EII combines raw data by orchestrating and organizing queries to diverse source systems without any
previous aggregation of the content. The data is not permanently moved into a new location.

The DMM lets you model and analyze data transformations in high-level and detailed views as follows:

● Data movement diagram – high-level diagram, which enables you to model a high-level view of your data
transformations by specifying:

○ Input sources – Databases (PDMs), XML documents (XSMs), business processes (BPMs), and flat files
such as .CSV and .XLS
○ Transformation process – where the transformations occur. It contains lower level detailed
transformation diagrams (see Transformation Processes (DMM) [page 31]).
○ Output sources – Databases (PDMs), XML documents (XSMs), and flat files such as .CSV and .XLS
● Data transformation diagram – low level diagram, which enables you to model a transformation task by
specifying how data is extracted from data inputs, transformed by actions and loaded into data outputs. Data
inputs and outputs are linked to the input and output sources specified in the high-level diagram.
● Transformation control flow diagram – low level diagram, which enables you to specify the sequence of
execution of a series of tasks.

The following example shows how input and output sources can be linked to a transformation process at a high
level, and how the transformation is modeled in the lower level diagrams:

Data Movement Modeling


100 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.1 Data Transformation Diagrams

A data transformation diagram provides a graphical view of the inputs, outputs, and steps involved in a data
transformation task.

Note
You create a data transformation diagram by opening the property sheet of a transformation process to the
Data Transformation Tasks tab, clicking the Add a Row tool to create a new transformation task, and then
clicking the Open Data Transformation Diagram tool to navigate to the new diagram. Alternately, double-click a
transformation process symbol that has no sub-diagram. A task and a data transformation diagram are
created.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 101
Data comes from data inputs, are transformed by actions, and loaded to data outputs. These steps are linked
together by data flows. The data that is to be transformed is represented by data structure columns, which are
contained in each of these steps.

In the following example, data extracted from the Acme and Small Corp database inputs are merged into
DataMerge, filtered by DataFilter, sorted by DataSort, and are then loaded into the Giant Corp database output:

You can display a step's data structure columns directly in its symbol. To toggle between the basic and the detail
formats:

● Right-click a symbol, and select Show Detail.


or
● Select one or more symbols, and press ctrl + Q.

The number of displayed columns is specified in the Object View page of the Display Preferences dialog box. See
Setting DMM Display Preferences [page 12].

In the following example, Acme, Data Filter, DataSort, and DataProjection_2 display their data structure columns
in their symbol:

Data Movement Modeling


102 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.1.1 Data Transformation Diagram Objects

PowerDesigner supports all the objects necessary to build data transformation diagrams.

● Data inputs — represent the sources from where data is extracted, such as a database or an XML document.
● Actions — specify how the data is transformed using, for example, data query executions or data
aggregations.
● Data outputs — represent the targets to where data is loaded, such as a database or an XML document.
● Data flows — conveys data structure columns from one object to another.

3.1.2 Data Transformation Task Properties

To view or edit a data transformation task's properties, double-click its diagram symbol or Browser or list entry.
The property sheet tabs and fields listed here are those available by default, before any customization of the
interface by you or an administrator.

The General tab contains the following properties:

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 103
Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or
add stereotypes to the list by specifying them in an extension file.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

The following tabs are also available:

● Inputs - lists the inputs associated with the transformation task and allows you to create, edit, or delete inputs
(see Data Inputs (DMM) [page 109]).
● Actions - lists the actions associated with the transformation task and allows you to create, edit, or delete
actions (see Actions (DMM) [page 112]).
● Outputs - lists the outputs associated with the transformation task and allows you to create, edit, or delete
outputs (see Data Outputs (DMM) [page 127]).
● Parameters - lists the parameters associated with the transformation task and allows you to create, edit, or
delete parameters (see Transformation Parameters (DMM) [page 133]).

3.1.3 Data Structure Mapping Editor

The Data Structure Mapping Editor allows you to visualize or define data structure columns in the Data
Transformation Task Diagram. You can open it from the contextual menu of any data transformation step (data
inputs, data outputs, and actions) or data flow symbol or from the Data Structure Columns tab of their property
sheets using the Open Mapping Editor tool.

You can use the Data Structure Mapping Editor to represent the mapping between the data structure columns of
the source and target objects of a data flow.

The output data structure of a step becomes the input data structure of the next step and a mapping is defined
between the output of the previous step and the input of the current step.

Data Movement Modeling


104 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
Types of Mapping

The object symbol from which you open the Data Structure Mapping Editor determines the type of mapping you
can perform:

Open from a.... Description

Data input Allows the mapping of a source PDM, XSM, BPM or flat file data structure
columns to the current data input data structure columns. The target pane is
active.

Action Allows the mapping of the data structure columns of a previous step to the
current action data structure columns. The target pane is active.

Data output Allows the mapping of a target PDM, XSM, or flat file data structure columns
to the current data output data structure columns. The source pane is active.

Data flow Allows the mapping of the data structure columns of the source and target
objects of the flow. The target pane is generally active, except when the data
flow links an action and an output. In this case the Source pane is active.

In the following example, the Mapping Editor shows the mapping between the Employee Name and the Name data
structure columns. The Target pane is active, and the Data Flows pane lets you add source objects for the current
column, and edit its source expression:

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 105
3.1.3.1 Creating a Mapping from the Data Structure Mapping
Editor

You can create a mapping in the Mapping Editor in various ways.

● Drag an object from one pane and drop it on an object in the other.
● Select an object in each of the target and source panes, and then click the Create Mapping between Source
and Target Objects tool.
● Select an object in each of the target and source panes, right-click one, and select Create Mapping.

For detailed information about mappings and the Mapping Editor, see Core Features Guide > Linking and
Synchronizing Models > Object Mappings.

Data Movement Modeling


106 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.2 Transformation Control Flow Diagrams

A transformation control flow diagram provides a graphical view of the order in which a series of data
transformation tasks is linked together in a control flow.

Note
You create a transformation control flow diagram by opening the property sheet of a transformation process to
the Transformation Control Flows tab, clicking the Add a Row tool to create a new transformation control flow,
and then clicking the Open Transformation Control Flow Diagram tool to navigate to the new diagram.

The transformation control flow can include starts, task executions, decisions, synchronizations, and ends, which
are linked together by control flows

In the following example, the Paris Sales, Shanghai Sales, and New York Sales tasks are performed in parallel. If it
is Friday, the Sales Central DataWarehouse task is executed. Whether or not it is Friday, the Sales Data Mart
transformation task execution is performed:

3.2.1 Transformation Control Flow Diagram Objects

PowerDesigner supports all the objects necessary to build transformation control flow diagrams.

Object Tool Symbol Description

Transformation start Starting point, which initiates the execution of


a transformation control flow (see Transfor­
mation Starts (DMM) [page 136]).

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 107
Object Tool Symbol Description

Transformation task execution Instance of one or more data transformation


tasks (see Transformation Task Executions
(DMM) [page 138]).

Transformation synchronization Synchronization of the execution of several


tasks (see Transformation Synchronizations
(DMM) [page 140]).

Transformation decision Choice to make when different paths are pos­


sible (see Transformation Decisions (DMM)
[page 142]).

Transformation end Ending point, which terminates the execution


of a transformation control flow (see Trans­
formation Ends (DMM) [page 144]).

Control flow Oriented link between objects (see Control


Flows (DMM) [page 146]).

3.2.2 Transformation Control Flow Properties

To view or edit a transformation control flow's properties, double-click its diagram symbol or Browser or list entry.
The property sheet tabs and fields listed here are those available by default, before any customization of the
interface by you or an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or
add stereotypes to the list by specifying them in an extension file.

Data Movement Modeling


108 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
Property Description

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

The following tabs are also available:

● Task Executions - lists the task executions associated with the transformation control flow and allows you to
create, edit, or delete task executions (see Transformation Task Executions (DMM) [page 138]).

3.3 Data Inputs (DMM)

A data input represents a source of data in a data transformation diagram, and is linked to a database, an XML
document, a web service or a flat file.

In the following example, the Small Corp and Acme databases in the data movement diagram are represented by
the Small Corp and Acme database inputs in the data transformation diagram:

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 109
You can create the following data inputs in a data transformation diagram:

Object Tool Symbol Description

Database input Database from where data is ex­


tracted.

XML input XML document from where data is


extracted.

Web service in­ Business process from where data


put is extracted.

Flat file input Flat file from where data is ex­


tracted.

3.3.1 Creating a Data Input

You can create a data input from the Browser or Model menu, or in a data transformation diagram.

● Drag a source data store (database, XML document, business process, or flat file) from the browser or from a
data movement diagram, and drop it onto the data transformation diagram.
● Drag a PDM table or view, an XSM element, or a BPM operation from the browser, and drop it onto the data
transformation diagram.
● Use the appropriate Data Input tool in the Toolbox.
● Right-click a data transformation task in the Browser, and select New <Data Input> .
● Open a transformation task property sheet, click the Inputs tab, and click the Add a Row tool.
● Select Model <Data Inputs> to access the List of Data Inputs, and click the Add a Row tool.

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


110 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.3.2 Data Input Properties

To view or edit a data input's properties, double-click its diagram symbol or Browser or list entry. The property
sheet tabs and fields listed here are those available by default, before any customization of the interface by you or
an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Data connection Specifies the data store represented by the input. You must select a data connection to ac­
cess the list of available data stores. This field will be automatically completed if you drag
the data store from the browser, and drop it onto the diagram.

Source object [XML and Web service inputs only] Specifies the particular object from the source model
to be used as input. Use the tools to the right of the list to browse for an object or view the
properties of the currently selected object.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

The following tabs are also available:

● Data Structure Source Objects - [database inputs] Lists the source objects to which the object is attached.
Use the Add Source Object tool to add a new object.
● Data Structure Columns - Lists the data structure columns associated with the object (see Data Structure
Columns (DMM) [page 131]).
● SQL Query - [database inputs] Allows you to edit the default SQL query to help you create your data structure
columns. The following tools are available:

Tool Description

Retrieve Columns by Parsing Query — Parses the query you have specified in the textbox us­
ing the SQL Editor. The columns of the query are automatically created in the Data Structure
Columns tab and their parent tables or views are displayed in the Data Structure Source
Objects tab. You can also click this tool to update data structure columns and source tables
when you have modified source expressions of data structure columns.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 111
Tool Description

Edit SQL Query — Opens the query in the SQL editor that helps you select PDM objects (ta­
bles, views, columns, procedures, and users) to build the SQL query script.

3.4 Actions (DMM)

An action represents a transformation to execute on input flows in a data transformation diagram. Filtering,
aggregating or duplicating data are examples of transformation you may need to perform in your activities.

Actions are linked to the previous step (data input or another action) using a data flow. Values of the input flow
automatically appear in the Data Structure Columns tab of the action.

In the following example, the values of the Acme database input are propagated to the DataProjection_1 action,
and are in turn propagated to the DataMerge action, and so on until they reach the GiantCorp database output:

You can create the following actions in a data transformation diagram:

Object Tool Symbol Description

Script execution Executes a script (see Inserting a Script Execution [page


115]).

Data Movement Modeling


112 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
Object Tool Symbol Description

Data query execu­ Executes an SQL Query in the database (see Inserting a
tion Data Query Execution [page 116]).

Data aggregation Reduces the number of rows from an input data flow in
order to group the data (see Inserting a Data Aggrega­
tion [page 117]).

Data sort Sorts input rows from an input data flow (see Inserting a
Data Sort [page 119]).

Data filter Filters rows from an input data flow (see Inserting a Data
Filter [page 120]).

Data split Duplicates an input data flow into several output data
flows (see Inserting a Data Split [page 121]).

Data join Joins data from several input data flows into one output
data flow (see Inserting a Data Join [page 122]).

Data lookup Finds the corresponding value to a key column and store
it in a new column of the output data flow (see Inserting
a Data Lookup [page 124]).

Data merge Merges all the rows from several input data flows into
one output data flow (see Inserting a Data Merge [page
121]).

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 113
Object Tool Symbol Description

Data projection Defines basic data transformations, such as removing


columns or changing the order of columns (see Inserting
a Data Projection [page 125]).

Data calculator Defines complex data transformations, such as filtering


or aggregating data (see Inserting a Data Calculator
[page 126]).

3.4.1 Creating an Action

You can create an action from the Toolbox, Browser, or Model menu.

● Use the <Action> tool in the Toolbox.


● Select Model <Actions> to access the List of Actions, and click the Add a Row tool.
● Right-click a data transformation task in the Browser, and select New <Action> .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

3.4.2 Action Properties

To view or edit an action's properties, double-click its diagram symbol or Browser or list entry. The property sheet
tabs and fields listed here are those available by default, before any customization of the interface by you or an
administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Data Movement Modeling


114 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
Property Description

Mode [Data lookup only]

Specifies the mean by which values are mapped. You can choose between the following
options:

● Database – [Default] The mapping is performed against a database table. This option
triggers the display of the Script tab.
● Predefined – The mapping is performed against a list of key value pairs. This option
triggers the display of the Lookup Keys tab.

Source column [Data lookup only] Specifies the source column key to replace.

Target column [Data lookup only] Specifies the target column, which contains the resulting value.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

The following tabs are also available:

● Script [script executions, data query executions, and data lookups] - specifies the script executed by the
action.
● Aggregation Columns [data aggregations] - lists the columns to be aggregated.
● Sort Columns [data sorts] - lists the columns on which to sort.
● Criteria [data filters and data calculators] - specifies the SQL query used by the action.
● Joins [data joins] - lists the joins used to combine the input flows.
● Data Structure Columns - lists the data structure columns received via the incoming flow, and on which the
action operates.
● Data Structure Source Objects [data query executions] - lists the source tables or views affected by the query.

3.4.3 Inserting a Script Execution

A script execution executes a script for each row of the input flow. For example, it can be used to create a log file, a
mail or a text file related to the input flow.

Procedure

1. Select the Script Execution tool in the Toolbox, and create the action in the diagram.
2. Select the Data Flow tool, and draw a flow from the preceding step (a data input or action) to the script
execution to initialize it with the incoming data structure columns.
3. Double-click the script execution symbol to open its property sheet, click the Script tab, select or enter a
script language, and enter a script in the textbox.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 115
4. [optional] Click the Data Structure Columns tab, and add, edit, reorder or delete columns as appropriate.
5. Click OK to save your changes and return to the diagram.

3.4.4 Inserting a Data Query Execution


A data query execution executes an SQL Query against a database for each row of the input flow to transform it,
and create a new data flow. Data from the input flow can be used as parameter.

Procedure

1. Select the Data Query Execution tool in the Toolbox, and create the action in the diagram.
2. Select the Data Flow tool, and draw a flow from the preceding step (a data input or action) to the data query
execution.
3. Double-click the data query execution symbol to open its property sheet, click the Script tab, and select a
data connection to access the database.
4. Enter an SQL query script in the textbox or click the Edit SQL Query tool to select PDM objects in the SQL
Editor, and build the script.
5. Click the Retrieve Columns by Parsing Query tool that lets you parse the query you have specified in the
textbox using the SQL Editor. The columns of the query are automatically created in the Data Structure
Columns tab, and their parent tables or views are displayed in the Data Structure Source Objects tab.

Data Movement Modeling


116 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
6. [optional] Click the Data Structure Columns tab, and add, edit, reorder or delete columns as appropriate.
7. Click OK to save your changes and return to the diagram.

3.4.5 Inserting a Data Aggregation

A data aggregation aggregates incoming data using functions such as Avg, Min, Max, Count, Sum etc.

Procedure

1. Select the Data Aggregation tool in the Toolbox, and create the action in the diagram.
2. Select the Data Flow tool, and draw a flow from the preceding step (a data input or action) to the data
aggregation to initialize it with the incoming data structure columns.
3. Double-click the data aggregation symbol to open its property sheet, click the Aggregation Columns tab, and
click the Select Aggregation Columns tool to open a selection dialog box, which allows you to select one or
more columns to aggregate. Make your selection, click OK to add the columns and return to the tab, then click
Apply.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 117
4. Click the Data Structure Column tab and for each column, enter an aggregation function in the Source
Expression column. Delete columns that will not be aggregated.
5. Click OK to save your changes and return to the diagram.

Results

Note
You can right-click a data aggregation symbol, and select Aggregated Columns to access the Aggregation
Columns tab directly.

Data Movement Modeling


118 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.4.6 Inserting a Data Sort

A data sort sorts incoming rows by one or more data structure columns.

Procedure

1. Select the Data Sort tool in the Toolbox, and create the action in the diagram.
2. Select the Data Flow tool, and draw a flow from the preceding step (a data input or action) to the data sort to
initialize it with the incoming data structure columns.
3. Double-click the data sort symbol to open its property sheet, click the Sort Columns tab and click the Select
Sort Columns tool to open a selection dialog box, which allows you to select one or more columns to sort by.
Make your selection, click OK to add the columns and return to the tab.
4. For each of the sort column, click in the Order column, and specify whether it should be sorted in ascending
(default) or descending order.

5. Click OK to save your changes and return to the diagram.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 119
Results

Note
You can right-click a data sort symbol, and select Sorted Columns to access the Sort Columns tab directly.

3.4.7 Inserting a Data Filter

A data filter filters incoming rows using SQL criteria.

Procedure

1. Select the Data Filter tool in the Toolbox, and create the action in the diagram.
2. Select the Data Flow tool, and draw a flow from the preceding step (a data input or action) to the data filter to
initialize it with the incoming data structure columns.
3. Double-click the data filter symbol to open its property sheet, click the Criteria tab, and enter a criterion
expression to filter by.

Data Movement Modeling


120 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
4. Click OK to save your changes and return to the diagram.

Results

Note
You can right-click a data filter symbol, and select Criteria to access the Criteria tab directly.

3.4.8 Inserting a Data Split

A data split duplicates a simple input data flow into two or more identical output data flows.

Procedure

1. Select the Data Split tool in the Toolbox, and create the action in the diagram.
2. Select the Data Flow tool, and draw a flow from the preceding step (a data input or action) to the data split to
initialize it with the incoming data structure columns.
3. Click OK to save your changes and return to the diagram.

Results

Note
When a data input or an action has more than one output flow, you can right-click the data input or action, and
select Insert Split. This automatically creates a data split after the data input or action. Conversely, you can
select Remove Split to display each output flow instead of the data split.

3.4.9 Inserting a Data Merge

A data merge combines two or more identical input flows into a single output flow.

Context

To combine different input flows, see Inserting a Data Join [page 122].

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 121
Procedure

1. Select the Data Merge tool in the Toolbox, and create the action in the diagram.
2. Select the Data Flow tool, and draw a flow from the preceding step (a data input or action) to the data merge
to initialize it with the incoming data structure columns.
3. Click OK to save your changes and return to the diagram.

Results

Note
When a data output or an action has more than two input flows, you can right-click the data output or action
and select Insert Merge. It automatically creates a data merge before the data output or action. Conversely,
you can select Remove Merge to display each input flow instead of the data merge.

3.4.10 Inserting a Data Join

A data join performs a join on two or more input flows, and combines them.

Procedure

1. Select the Data Join tool in the Toolbox, and create the action in the diagram.
2. Select the Data Flow tool, and draw a flow from the preceding step (a data input or action) to the data join to
initialize it with the incoming data structure columns.
3. Double-click the data join symbol to open its property sheet, click the Join Columns tab and click the Add a
Row tool to create a join.
4. Click Column 1 and select a column to join on. Click Column 2, and select a second column to join on.
5. Click the Join Expression column to select a join expression, and click Apply.

Data Movement Modeling


122 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
6. [optional] Click the Data Structure Columns tab and delete any unnecessary columns. For example, you may
want to delete one of the two columns you selected for the join.
7. Click OK to save your changes and return to the diagram.

Results

Note
You can right-click a data join symbol, and select Joins to access the Joins tab directly.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 123
3.4.11 Inserting a Data Lookup
A data lookup lets you find the corresponding value to a key column, and replace it by creating a new column for
the output data flow. The mapping between the key column and its value can come from database tables or from
a predefined list of key value pairs.

Procedure

1. Select the Data Lookup tool in the Toolbox, and create the action in the diagram.
2. Select the Data Flow tool, and draw a flow from the preceding step (a data input or action) to the data lookup
to initialize it with the incoming data structure columns.
3. Double-click the data lookup symbol to open its property sheet, and select one of the following modes:

○ Database mode - Select the source column from which you want to draw the values to be replaced.
Create the target column, which will contain the values returned by the lookup. The target column will
automatically replace the source column in the Data Structure Columns tab.
Click the Script tab, select a data connection, and specify a SQL query in the textbox. The query will be
executed against the database tables and will return two columns (a key column to search for a
corresponding value and a value column to store the corresponding value).

○ Predefined mode - Select the source column from which you want to draw the values to be replaced.
Create the target column, which will contain the values returned by the lookup. The target column will
automatically replace the source column in the Data Structure Columns tab.

Data Movement Modeling


124 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
Click the Lookup Keys tab, and enter key value pairs in the list as appropriate.

4. Click OK to save your changes and return to the diagram.

3.4.12 Inserting a Data Projection

A data projection performs basic data transformations, such as removing columns or changing the order of
columns.

Context

For more advanced transformations, see Inserting a Data Calculator [page 126].

Procedure

1. Select the Data Projection tool in the Toolbox, and create the action in the diagram.
2. Select the Data Flow tool, and draw a flow from the preceding step (a data input or action) to the data
projection to initialize it with the incoming data structure columns.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 125
3. Double-click the data projection symbol to open its property sheet, and click the Data Structure Columns tab,
which is automatically completed with the values from the input flow. Reorder or delete columns as
appropriate.
4. Click OK to save your changes and return to the diagram.

3.4.13 Inserting a Data Calculator

A data calculator allows you to perform any kind of data transformations, by specifying an SQL query.

Procedure

1. Select the Data Calculator tool in the Toolbox, and create the action in the diagram.
2. Select the Data Flow tool, and draw a flow from the preceding step (a data input or action) to the data
calculator to initialize it with the incoming data structure columns.
3. Double-click the data calculator symbol to open its property sheet, click the Criteria tab, and enter the
appropriate SQL script to perform the desired data transformation.

4. [optional] Click the Data Structure Columns tab, and add, edit, reorder or delete columns as appropriate.
5. Click OK to save your changes and return to the diagram.

Data Movement Modeling


126 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
Results

Note
You can right-click a data calculator symbol, and select Criteria to access the Criteria tab directly.

3.5 Data Outputs (DMM)

A data output represents a target destination to load data in a data transformation diagram, and is linked to a
database, an XML document, or a flat file.

In the following example, the Giant Corp database in the data movement diagram is represented by the Giant Corp
database output in the data transformation diagram:

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 127
You can create the following data outputs in a data transformation diagram:

Object Tool Symbol Description

Database output Database to where data is loaded.

XML output XML document to where data is loaded.

Flat file output Flat file to where data is loaded.

3.5.1 Creating a Data Output

You can create a data output from the Browser or Model menu, or in a data transformation diagram.

● Drag a target data store (database, XML document, or flat file) from the browser or from a data movement
diagram, and drop it onto the data transformation diagram.
● Drag a PDM table or view, or an XSM element from a model attached to a target data store in the browser, and
drop it onto the data transformation diagram.
● Use the appropriate Data Output tool in the Toolbox.
● Right-click a data transformation task in the Browser, and select New <Data Output> .
● Open a transformation task property sheet, click the Outputs tab, and click the Add a Row tool.
● Select Model <Data Outputs> to access the List of Data Outputs, and click the Add a Row tool.

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


128 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.5.2 Data Output Properties
To view or edit a data output's properties, double-click its diagram symbol or Browser or list entry. The property
sheet tabs and fields listed here are those available by default, before any customization of the interface by you or
an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Mode [Database output only] Specifies the type of action the database output performs on the
target object by analyzing its input flows. You can choose one of the following options:

● Clear – Deletes rows in the target object.


● Delete & insert – Deletes rows in the target object, and inserts a new row.
● Insert – Inserts a row in a target object.
● Insert or update – Looks for a row in a target objet, and inserts it if it does not exist or
updates it.
● Update – Looks for an existing row in a target objet, and updates it

Data connection Specifies the data store represented by the output. You must select a data connection to
access the list of available data stores. This field will be automatically completed if you
drag the data store from the browser, and drop it onto the diagram.

Target object [Database and XML document outputs only] Specifies the particular object from the target
model to be used as output. Use the tools to the right of the list to browse for an object or
view the properties of the currently selected object.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

3.6 Data Flows (DMM)


A data flow conveys data between steps in a data transformation diagram.

In the following example, data flows convey data from the Acme database input through several actions, and to
the Giant Corp database output:

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 129
When you link two steps with a data flow, the data structure of the destination object is initialized with the data
structure of the source object.

Any name, code or data type changes you perform on the data structure columns of a source object are
automatically applied to the data structure columns of the target object, when they match.

3.6.1 Creating a Data Flow

You can create a data flow from the Toolbox or Model menu.

● Use the Data Flow tool in the Toolbox.


● Select Model Data Flows to access the List of Data Flows, and click the Add a Row tool.

Data flows can be created in a list of data flows only if you have previously defined the required source and
destination objects.

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

Data Movement Modeling


130 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.6.2 Data Flow Properties

To view or edit a data flow's properties, double-click its diagram symbol or Browser or list entry. The property
sheet tabs and fields listed here are those available by default, before any customization of the interface by you or
an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Source Specifies the object from which the data flow originates. Use the tools to the right of the list
to create, browse for, or view the properties of the currently selected object.

Destination Specifies the object to which the data flow leads. Use the tools to the right of the list to cre­
ate, browse for, or view the properties of the currently selected object.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

3.7 Data Structure Columns (DMM)

A data structure column represents a database table column, a flat file column, an XML element or attribute, or an
output parameter of a web service operation at a particular point in the transformation.

For example, you may have a column called Name in your source database, which is extracted and processed by a
number of transformation actions before being loaded into your target database. Each of these steps in the
transformation task will contain a data structure column, which represents the column at that point in the
transformation. The column may be renamed filtered, reordered, and/or have its data type, length, default value
etc, changed, and you can trace each of these changes by referring to the data structure column at the relevant
point in the transformation.

You can use the Data Structure Mapping Editor (see Data Structure Mapping Editor [page 104]) to show how
source and target objects data structure columns are mapped.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 131
3.7.1 Creating a Data Structure Column

When you draw a data flow from one step to the next, the data structure columns in the first step will
automatically be created in the second step. You can also manually create data structure columns by using the
Add Columns and Add a Row tools on the Data Structure Columns tab of a data input, an action or a data output.

These tools may not be available for actions, such as a data lookup or data split object, which do not modify the
structure of the data format.

Note
If you delete a data flow connecting two steps, any data structure columns automatically created by the flow
will be deleted, except when the second step is an output and the columns have mappings attached.

3.7.2 Data Structure Column Properties

To view or edit a data structure column's properties, double-click its diagram symbol or Browser or list entry. The
property sheet tabs and fields listed here are those available by default, before any customization of the interface
by you or an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Data type Specifies the type of the column, such as numeric, alphanumeric, boolean, etc. If you
change the type of the transformation process, the data type used by the data structure
column will be converted to its equivalent in the new transformation engine. For more in­
formation about data types, see Customizing and Extending PowerDesigner > DBMS Defini­
tion Files > Script/Data Type Category.

Length Specifies the maximum length of the data type.

Precision Specifies the maximum number of places after the decimal point.

Mandatory Specifies a column that must be assigned a not null value.

Default value Specifies a default value for the data structure column.

Data Movement Modeling


132 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
Property Description

Target object [data structure column owned by a data output only] Specifies the target object in which
the data structure column is loaded. You can use the tools to the right of the list to browse
the complete tree of available objects or view the properties of the currently selected ob­
ject.

Identifier Specifies the data structure column as an identifier. This is useful when you update the tar­
get tables used to create a join.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

Data Structure Source Objects Tab

This tab lists the source objects to which the object is attached and is generally automatically propagated and
read-only. However, you can add or delete source objects for data structure columns belonging to the following
types of steps:

● Inputs
● Script execution, data query execution, data calculator, data aggregation, and data projection actions
● Outputs

To specify a more complex source expression using functions, click the Edit Source Expression tool, in the lower
part of the dialog box, to open the Source Expression Editor.

Note
You can also add or delete source objects for the following steps:

● Inputs (see Data Inputs (DMM) [page 109]) – source objects correspond to objects of source data stores
linked to a database, an XML document, a web service or a flat file.
● Data query executions (see Inserting a Data Query Execution [page 116]) – source objects originate from
the previous steps to which data query executions are linked.

3.8 Transformation Parameters (DMM)

A parameter is an input or output variable global to a transformation task that you can use to customize your data
transformations. A parameter is available to all diagrams within a given task. For example, if you manipulate sales
figures, you might require a parameter specifying the sales region you are interested in.

Parameters are used in the source expression of data structure columns (see Data Structure Columns (DMM)
[page 131]).

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 133
3.8.1 Creating a Transformation Parameter

You can create a transformation parameter from the property sheet of, or in the Browser under, a transformation
task.

● Open a transformation task property sheet, click the Parameters tab, and click the Add a Row tool.
● Right-click a data transformation task in the Browser, and select New Transformation Parameter.

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

3.8.2 Transformation Parameter Properties

To view or edit a transformation parameter's properties, double-click its Browser or list entry. The property sheet
tabs and fields listed here are those available by default, before any customization of the interface by you or an
administrator.

The General tab contains the following properties:

Property Description

Parent [read-only] Specifies the parent task.

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Type Specifies the type of the parameter. You can choose one of the following values:

● In – specifies an input parameter.


● Out – specifies an output parameter.

Data type Specifies the type of the parameter. If you change the type of the transformation process,
the data type used by the parameter will be converted to its equivalent in the new transfor­
mation engine. For more information about data types, see Customizing and Extending
PowerDesigner > DBMS Definition Files > Script/Data Type Category.

Default value Specifies a default value for the parameter.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

Data Movement Modeling


134 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.8.3 Example: Assigning a Parameter to a Data Structure
Column

You can assign a parameter to a data structure column whose source expression can be modified.

Procedure

1. Create a parameter and call it SourceUserName.


2. Open a step's property sheet whose data structure columns can be modified.
3. Click the Data Structure Columns tab, and double-click a data structure column to open its property sheet.
4. Click the Data Structure Source Objects tab, and in the source expression box, click the Edit Source
Expression tool to open the corresponding editor.
5. Click Parameters in the Source field to display the available parameters in the Source Columns field, position
the cursor in the script textbox where you want to add the parameter, and then double-click the
SourceUserName parameter to add it to the query script.
6. Complete the script as appropriate.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 135
7. Click OK to close the dialog box.

The source expression of the data structure column is updated.

8. Click OK to close the dialog box.

3.9 Transformation Starts (DMM)

A transformation start initiates the sequence of execution of a series of data transformation tasks in a
transformation control flow diagram.

In the following example, TransformationStart initiates the sequence of the Paris Sales, Shanghai Sales and New
York Sales tasks:

Data Movement Modeling


136 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.9.1 Creating a Transformation Start

You can create a transformation start from the Toolbox, Browser, or Model menu.

● Use the Transformation Start tool in the Toolbox.


● Select Model Starts to access the List of Transformation Starts, and click the Add a Row tool.
● Right-click a transformation control flow in the Browser, and select New Transformation Start .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

3.9.2 Transformation Start Properties

To view or edit a transformation start's properties, double-click its diagram symbol or Browser or list entry. The
property sheet tabs and fields listed here are those available by default, before any customization of the interface
by you or an administrator.

The General tab contains the following properties:

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 137
Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or
add stereotypes to the list by specifying them in an extension file.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

3.10 Transformation Task Executions (DMM)

A transformation task execution is an instance of one or more data transformation tasks in a transformation
control flow diagram. Tasks can be executed serially or in parallel.

In the following example, the Paris Sales, Shanghai Sales and New York Sales tasks are executed in parallel:

Data Movement Modeling


138 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.10.1 Creating a Transformation Task Execution

You can create a transformation task execution from the Toolbox, Browser, or Model menu.

● Drag a data transformation task from the browser and drop it onto a transformation control flow diagram.
● Use the Transformation Task Execution tool in the Toolbox.
● Select Model Transformation Task Executions to access the List of Transformation Task Executions,
and click the Add a Row tool.
● Right-click a transformation control flow in the Browser, and select New Transformation Task
Execution .

Note
You can also create and automatically link multiple task executions (see Creating Multiple Transformation Task
Executions [page 140]).

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

3.10.2 Transformation Task Execution Properties

To view or edit a transformation task execution's properties, double-click its diagram symbol or Browser or list
entry. The property sheet tabs and fields listed here are those available by default, before any customization of
the interface by you or an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or
add stereotypes to the list by specifying them in an extension file.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 139
Transformation Task Execution Property Sheet Tasks Tab

The Tasks tab displays a list of data transformation tasks, and allows you to add, edit or delete tasks. Each
transformation task execution must be associated with a data transformation task (see Data Transformation
Diagrams [page 101])

3.10.3 Creating Multiple Transformation Task Executions


You can create multiple transformation task executions in your diagram and manage the mode (parallel or serial)
and order of execution.

Procedure

1. Click the diagram background, and select Create Task Executions (or Right-click a transformation control
flow in the Browser, and select Create Task Executions) to open the Create Task Executions dialog box.
2. Select one or more data transformation tasks to add to your diagram.
3. [optional] Reorder the selected task executions according to your needs, using the arrows at the bottom of
the dialog box.
4. Specify the execution mode. You can choose between:

○ Parallel
○ Serial

A task execution is created for each selected data transformation task. You can open the diagram of the data
transformation task associated with the task execution, by pressing Ctrl and double-clicking the symbol. If
several tasks are associated, a selection dialog box opens to let you select the diagram you want.

3.11 Transformation Synchronizations (DMM)


A transformation synchronization enables the synchronization of control flows between two or more concurrent
actions.

In the following example, the output flows of the Friday decision and of the Sales Central DataWarehouse task are
synchronized into one output flow, which goes to the Sales Data Mart task execution:

Data Movement Modeling


140 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
A transformation synchronization can be either a:

● Fork – Splits a single input flow into several independent output flows executed in parallel:

● Join – Merges multiple input flows into a single output flow. All input flows must reach the join before the
single output flow continues:

3.11.1 Creating a Transformation Synchronization

You can create a transformation synchronization from the Toolbox, Browser, or Model menu.

● Use the Transformation Synchronization tool in the Toolbox.


● Select Model Transformation Synchronizations to access the List of Transformation Synchronizations,
and click the Add a Row tool.
● Right-click a transformation control flow in the Browser, and select New Transformation
Synchronization .

By default, the transformation synchronization symbol is created horizontally. To toggle between horizontal and
vertical display, right-click the symbol and select Change to Vertical or Change to Horizontal in the contextual
menu.

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

3.11.2 Transformation Synchronization Properties

To view or edit a transformation synchronization's properties, double-click its diagram symbol or Browser or list
entry. The property sheet tabs and fields listed here are those available by default, before any customization of
the interface by you or an administrator.

The General tab contains the following properties:

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 141
Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or
add stereotypes to the list by specifying them in an extension file.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

3.12 Transformation Decisions (DMM)

A transformation decision lets you choose between different paths by evaluating guard conditions, which must be
satisfied for an associated flow to execute some action.

In the following example, the Sales Central DataWarehouse task will only be executed on Friday:

A transformation decision allows you to create complex flows, such as:

● if ... then ... else ...


● switch ... case ...
● do ... while ...
● loop
● for ... next ...

Note
It is not possible to attach two flows of opposite directions to the same corner on a transformation decision
symbol.

Data Movement Modeling


142 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.12.1 Creating a Transformation Decision

You can create a transformation decision from the Toolbox, Browser, or Model menu.

● Use the Transformation Decision tool in the Toolbox.


● Select Model Transformation Decisions to access the List of Transformation Decisions, and click the
Add a Row tool.
● Right-click a transformation control flow in the Browser, and select New Transformation Decision .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

3.12.2 Transformation Decision Properties

To view or edit a transformation decision's properties, double-click its diagram symbol or Browser or list entry.
The property sheet tabs and fields listed here are those available by default, before any customization of the
interface by you or an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Type Dynamically specifies the type of the transformation decision: conditional branch, merge,
or incomplete.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 143
Condition Tab

The Condition tab contains the following properties:

Properties Description

Alias Specifies a short name for the condition, to be displayed in the transformation decision
symbol.

Condition (text Specifies a condition to be evaluated to determine how the transformation decision should
box) be traversed. You can enter any appropriate information in this box, as well as open, insert
and save text files.

3.13 Transformation Ends (DMM)

A transformation end terminates the sequence of execution of a series of tasks in a transformation control flow
diagram, and specifies the result for the execution, which can be either Success or Error.

In the following example, TransformationEnd terminates the sequence of execution of Sales Central
DataWarehouse and Sales Data Mart:

You can create several ends within the same diagram if you want to show different end cases. In the following
example, two different ends are possible depending on whether or not it is the end of the quarter.

Data Movement Modeling


144 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
3.13.1 Creating a Transformation End

You can create a transformation end from the Toolbox, Browser, or Model menu.

● Use the Transformation End tool in the Toolbox.


● Select Model Transformation Ends to access the List of Transformation Ends, and click the Add a Row
tool.
● Right-click a transformation control flow in the Browser, and select New Transformation End .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

3.13.2 Transformation End Properties

To view or edit a transformation end's properties, double-click its diagram symbol or Browser or list entry. The
property sheet tabs and fields listed here are those available by default, before any customization of the interface
by you or an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name should clearly convey the object's purpose to non-technical
Comment users, while the code, which is used for generating code or scripts, may be abbreviated,
and should not normally include spaces. You can optionally add a comment to provide
more detailed information about the object. By default the code is generated from the
name by applying the naming conventions specified in the model options. To decouple
name-code synchronization, click to release the = button to the right of the Code field.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Type Specifies whether the control flow execution has succeeded (Success) or has failed (Er­
ror).

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 145
3.14 Control Flows (DMM)

A control flow connects transformation starts, task executions, decisions, synchronizations and ends.

In the following example, a synchronization is connected to the Sales Data Mart task execution, which is in turn
connected to TransformationEnd:

3.14.1 Creating a Control Flow

You can create a control flow from the Toolbox, Browser, or Model menu.

● Use the Control Flow tool in the Toolbox.


● Select Model Control Flows to access the List of Control Flows, and click the Add a Row tool.
● Right-click a transformation control flow in the Browser, and select New Control Flow .

For general information about creating objects, see Core Features Guide > Modeling with PowerDesigner >
Objects.

3.14.2 Control Flow Properties

To view or edit a control flow's properties, double-click its diagram symbol or Browser or list entry. The property
sheet tabs and fields listed here are those available by default, before any customization of the interface by you or
an administrator.

The General tab contains the following properties:

Property Description

Name/Code/ Identify the object. The name and code are read-only. You can optionally add a comment to
Comment provide more detailed information about the object.

Stereotype Extends the semantics of the object. You can enter a stereotype directly in this field, or add
stereotypes to the list by specifying them in an extension file.

Source Specifies the object from which the control flow originates. Use the tools to the right of the
list to create, browse for, or view the properties of the currently selected object.

Data Movement Modeling


146 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Data Transformation and Control Flow Diagrams
Property Description

Destination Specifies the object to which the control flow leads. Use the tools to the right of the list to
create, browse for, or view the properties of the currently selected object.

Keywords Provide a way of loosely grouping objects through tagging. To enter multiple keywords,
separate them with commas.

Data Movement Modeling


Data Transformation and Control Flow Diagrams © 2014 SAP SE or an SAP affiliate company. All rights reserved. 147
4 Generating and Reverse Engineering
Replication Objects
PowerDesigner can generate and reverse engineer replication objects.

4.1 Generating Replication Objects

You can generate replication scripts for one or more replication engines.

Procedure

1. Select Tools Target Generate Scripts to open the Generation dialog.


2. Enter the directory to which you want to generate the scripts, and select if you want to perform a check model
before generating.
3. On the Targets tab, select the replication engines that you want to generate scripts for.
4. [optional] Click the Selection tab and specify the objects that you want to generate from. By default, all
objects are generated, and PowerDesigner remembers for any subsequent generation the changes you make.
5. [optional] Click the Options tab and set any necessary generation options.
6. [optional] Click the Generated Files tab and specify which files will be generated. By default, all files are
generated, and PowerDesigner remembers for any subsequent generation the changes you make.
7. [optional] Click the Tasks tab and specify any additional generation tasks to perform.
8. Click OK to begin generation.

4.2 Reverse Engineering Replication Processes

You can reverse engineer Replication Server objects from the embedded Replication Server database (RDSS) via
a database connection to create or update them in your DMM.

Procedure

1. Choose whether to reverse engineer to a single or multiple replication processes:

○ For a single replication process, right-click its symbol and select Reverse Engineering.
○ For multiple replication processes, select Tools Reverse Engineering Replication Server , select the
replication processes to reverse engineer in the selection dialog, and then click OK.

Data Movement Modeling


148 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Generating and Reverse Engineering Replication Objects
2. If one or more of your replication processes does not have a data source defined, you will be prompted to
specify it.

For detailed information about creating, configuring, and using connection profiles, see Core Features Guide >
Modeling with PowerDesigner > Getting Started with PowerDesigner > Connecting to a Database.
3. If you have not yet created the consolidated or remote databases in your model, PowerDesigner will prompt
you to specify the appropriate data sources, and create them for you.
4. Once the reverse engineering is complete, the Merge Models window opens to allow you to select the changes
that you want to apply to your model. Select the changes that you want to apply and then click OK to apply the
merge.

For detailed information about merging models, see Core Features Guide > Modeling with PowerDesigner >
Comparing and Merging Models.

4.3 Generating Other Models from a DMM

You can generate another DMM from your DMM. When changes are made to the source model, they can then be
easily propagated to the generated models using the Update Existing Model generation mode.

Procedure

1. Select Tools Generate Data Movement Model to open the Data Movement Model Generation Options
Window.
2. On the General tab, select a radio button to generate a new or update an existing model, and complete the
appropriate options.
3. [optional] Click the Detail tab and set any appropriate options. We recommend that you select the Check
model option to check the model for errors and warnings before generation.
4. [optional] Click the Target Models tab and specify the target models for any generated shortcuts.
5. [optional] Click the Selection tab and select or deselect objects to generate.
6. Click OK to begin generation.

Results

Note
For detailed information about the options available on the various tabs of the Generation window, see Core
Features Guide > Linking and Synchronizing Models > Generating Models and Model Objects.

Data Movement Modeling


Generating and Reverse Engineering Replication Objects © 2014 SAP SE or an SAP affiliate company. All rights reserved. 149
5 Checking a DMM
The data movement model is a very flexible tool, which allows you quickly to develop your model without
constraints. You can check the validity of your DMM at any time.

A valid DMM conforms to the following kinds of rules:

● Each object name in a DMM must be unique within its namespace


● Each replication process must be linked to at least one process using a process connection or to at least one
database or XML document using a data connection

Note
We recommend that you check your data movement model before generating scripts or another model from it .
If the check encounters errors, generation will be stopped. The Check model option is enabled by default in the
Generation dialog box.

You can check your model in any of the following ways:

● Press F4, or
● Select Tools Check Model , or
● Right-click the diagram background and select Check Model from the contextual menu

The Check Model Parameters dialog opens, allowing you to specify the kinds of checks to perform, and the
objects to apply them to. The following sections document the DMM-specific checks available by default. For
information about checks made on generic objects available in all model types and for detailed information about
using the Check Model Parameters dialog, see Core Features Guide > Modeling with PowerDesigner > Objects >
Checking Models.

5.1 Database Checks

PowerDesigner provides default model checks to verify the validity of databases.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Data Movement Modeling


150 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Checking a DMM
Check Description and Correction

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Existence of data A database must either be linked to at least one replication process or transformation
connection or data process using a data connection, or to at least one data store [database, data access ap­
access link plication or XML document] using a data access link

● Manual correction: Add any missing data connection links between the database and
the replication process or the transformation process or add any missing data access
links between the database and the data store
● Automatic correction: None

Database code maxi­ The database code length is limited by the maximum length specified in the XEM defini­
mum length tion [CodeMaxLen entry, in the Objects > Settings category] and in the naming conven­
tions of the model options.

● Manual correction: Modify the code length to meet this requirement


● Automatic correction: Truncates the code length to the maximum length specified in
the XEM definition

Existence of model At least one model must be attached to the database.

● Manual correction: Add any missing models in the Physical Data Models tab of the
database property sheet
● Automatic correction: None

5.2 Replication Process Checks

PowerDesigner provides default model checks to verify the validity of replication processes.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Data Movement Modeling


Checking a DMM © 2014 SAP SE or an SAP affiliate company. All rights reserved. 151
Check Description and Correction

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Existence of data or A replication process must be linked to at least one process using a process connection
process connection or to at least one database or XML document using a data connection.

● Manual correction: Add any missing connections to the replication process


● Automatic correction: None

5.3 Publication Checks

PowerDesigner provides default model checks to verify the validity of publications.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Publication code The publication code length is limited by the maximum length specified in the XEM defini­
maximum length tion [CodeMaxLen entry, in the Objects > Settings category] and in the naming conven­
tions of the model options.

● Manual correction: Modify the code length to meet this requirement


● Automatic correction: Truncates the code length to the maximum length specified in
the XEM definition

Existence of data A publication must be linked to a data connection.


connection
● Manual correction: Add any missing data connection links to publication from the
replication property sheet
● Automatic correction: None

Data Movement Modeling


152 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Checking a DMM
Check Description and Correction

Existence of sub­ A subscription establishes a link between a publication and a database connection to de­
scription fine where data published via the publication must be replicated.

A publication should be linked to at least one subscription.

● Manual correction: Add any missing subscription links to publication from the replica­
tion property sheet
● Automatic correction: None

5.4 Subscription Checks

PowerDesigner provides default model checks to verify the validity of subscriptions.

Check Description and Correction

Name/Code contains terms not in glossary [if glossary enabled] Names and codes must contain only ap­
proved terms drawn from the glossary.

● Manual correction: Modify the name or code to contain only


glossary terms.
● Automatic correction: None.

Name/Code contains synonyms of glossary [if glossary enabled] Names and codes must not contain syno­
terms nyms of glossary terms.

● Manual correction: Modify the name or code to contain only


glossary terms.
● Automatic correction: Replaces synonyms with their associ­
ated glossary terms.

Name/Code uniqueness Object names must be unique in the namespace.

● Manual correction: Modify the duplicate name or code.


● Automatic correction: Appends a number to the duplicate
name or code.

Existence of data connection A subscription must be linked to a data connection.

● Manual correction: Add any missing data connection links to


subscription from the replication property sheet
● Automatic correction: None

Data Movement Modeling


Checking a DMM © 2014 SAP SE or an SAP affiliate company. All rights reserved. 153
Check Description and Correction

Existence of publication A subscription establishes a link between a publication and a data­


base connection to define where data published via the publication
must be replicated.

A subscription must be linked to at least one publication.

● Manual correction: Add any missing publications to subscrip­


tion from the replication property sheet
● Automatic correction: None

5.5 Article, Article Column, and Procedure Checks

PowerDesigner provides default model checks to verify the validity of articles, article columns, and procedures.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Code maximum The code length is limited by the maximum length specified in the XEM definition
length / Article ( Settings <object> CodeMaxLen ) and in the naming conventions of the model
source table maxi­ options.
mum length / Article
remote table maxi­ ● Manual correction: Modify the code length to meet this requirement
mum length ● Automatic correction: Truncates the code length to the maximum length specified in
the XEM definition

Undefined source An article must be linked to a table or a view, an article column to a table or view column,
and a procedure to a stored procedure.

● Manual correction: Specify the appropriate source table, column, or procedure on the
General tab of the property sheet.
● Automatic correction: None

Data Movement Modeling


154 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Checking a DMM
5.6 Article and Replication Process Event Script Checks

PowerDesigner provides default model checks to verify the validity of article and replication process event scripts.

Check Description and Correction

Event script code The event script code length is limited by the maximum length specified in the XEM defi­
maximum length nition [CodeMaxLen entry, in the Objects > Settings category] and in the naming conven­
tions of the model options.

● Manual correction: Modify the code length to meet this requirement


● Automatic correction: Truncates the code length to the maximum length specified in
the XEM definition

Event script event Event script events must be unique in the namespace.
uniqueness
● Manual correction: Modify the duplicate event script event
● Automatic correction: Deletes the duplicate event script event

Undefined event An event script allows you to define how events on an article are implemented. An event
script must have its event defined.

● Manual correction: Select an event from the Event Selection dialog box accessible
from the Event Scripts tab of an article property sheet
● Automatic correction: None

Undefined script An event script allows you to define how events on the article are implemented. An event
script must have its implementation script defined.

● Manual correction: Type a script for the event in the Script column accessible from
the Event Scripts tab of an article property sheet
● Automatic correction: None

5.7 XML Document Checks

PowerDesigner provides default model checks to verify the validity of XML documents.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Data Movement Modeling


Checking a DMM © 2014 SAP SE or an SAP affiliate company. All rights reserved. 155
Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Existence of data An XML document must be either linked to at least one transformation process using a
connection or data data connection, or to at least one data store [database, data access application or XML
access link document], using a data access link

● Manual correction: Add any missing data connection links between the XML docu­
ment and the transformation process, or add any missing data access links between
the XML document and the data store
● Automatic correction: None

Existence of model At least one model must be attached to the XML document.

● Manual correction: Add any missing models in the XSM Models tab of the XML docu­
ment property sheet
● Automatic correction: None

5.8 Business Process Checks

PowerDesigner provides default model checks to verify the validity of business processes.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Data Movement Modeling


156 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Checking a DMM
Check Description and Correction

Existence of model At least one model must be attached to the business process

● Manual correction: Add any missing models in the BPM Models tab of the business
process property sheet
● Automatic correction: None

5.9 Flat File Checks

PowerDesigner provides default model checks to verify the validity of flat files.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Existence of data At least one data structure column must be defined in the flat file.
structure column
● Manual correction: Add any missing data structure columns in the Data Structure
Columns tab of the flat file.
● Automatic correction: None

Data Movement Modeling


Checking a DMM © 2014 SAP SE or an SAP affiliate company. All rights reserved. 157
5.10 Transformation Process Checks

PowerDesigner provides default model checks to verify the validity of transformation processes.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Existence of data or A transformation process must be linked to at least one process using a process connec­
process connection tion or to at least one database, business process, XML document or flat file using a data
connection.

● Manual correction: Add any missing connections to the transformation process


● Automatic correction: None

5.11 Data Transformation Task Checks

PowerDesigner provides default model checks to verify the validity of data transformation tasks.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Data Movement Modeling


158 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Checking a DMM
Check Description and Correction

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Existence of data At least one data transformation action should be associated with the data transforma­
transformation ac­ tion task.
tion
● Manual correction: Add any missing data transformation actions in the Actions tab of
the data transformation action property sheet
● Automatic correction: None

Existence of data in­ At least one data input should be associated with the data transformation task.
put
● Manual correction: Add any missing data inputs in the Inputs tab of the data transfor­
mation action property sheet
● Automatic correction: None

Existence of data At least one data output should be associated with the data transformation task.
output
● Manual correction: Add any missing data outputs in the Outputs tab of the data
transformation action property sheet
● Automatic correction: None

Existence of data At data transformation task should contain at least one data flow between each transfor­
flow mation step in the data transformation diagram.

● Manual correction: Add any missing data flows in the data transformation diagram
● Automatic correction: None

5.12 Data Input and Output Checks

PowerDesigner provides default model checks to verify the validity of data inputs and outputs.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Data Movement Modeling


Checking a DMM © 2014 SAP SE or an SAP affiliate company. All rights reserved. 159
Check Description and Correction

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Existence of data Data inputs and outputs must be linked to a data connection.
connection
● Manual correction: Select a data connection in the Data Connection list of the prop­
erty sheet
● Automatic correction: None

Existence of source Data inputs and outputs must have at least one data structure source object.
object
● Manual correction: Add any missing source objects in the Data Structure Source Ob­
jects tab.
● Automatic correction: None

Existence of data Data inputs and outputs must have at least one data structure column.
structure column
● Manual correction: Add any missing data structure columns in the Data Structure
Columns tab.
● Automatic correction: None

Existence of target [data ouputs only] A data output must have at least one data structure target object.
object
● Manual correction: Add any missing target objects in the Data Structure Target Ob­
jects tab.
● Automatic correction: None

Data structure mis­ The data type between the data structure column and its source objects must match
match
● Manual correction: Set the same data type for the data structure column and its
source objects.
● Automatic correction: None

5.13 Data Transformation Action Checks

PowerDesigner provides default model checks to verify the validity of data transformation actions.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Data Movement Modeling


160 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Checking a DMM
Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Existence of source A data transformation action must have at least one data structure source object.
object
● Manual correction: Add any missing source objects in the Data Structure Source Ob­
jects tab of the data transformation action.
● Automatic correction: None

Existence of data At least one data structure column must be defined in the data transformation action.
structure column
● Manual correction: Add any missing data structure columns in the Data Structure
Columns tab of the data transformation action.
● Automatic correction: None

Existence of data A data sort must have at least one sort column defined to sort data.
structure sorted col­
● Manual correction: Add any missing sort columns in the Sort Columns tab of the data
umn [data sort only]
sort
● Automatic correction: None

Undefined script A script execution/data lookup must have a script defined.


[script execution and
● Manual correction: Define any missing script in the Script tab of the script execution/
data lookup only]
data lookup
● Automatic correction: None

Existence of data A data query execution must be linked to a data connection to insert or update data in the
connection [data database.
query execution
● Manual correction: Select a data connection in the Data Connection list in the Script
only]
tab of the property sheet
● Automatic correction: None

Undefined source A data aggregation must have at least one source expression defined to aggregate data.
expression for data
● Manual correction: Add any missing source expressions in the Source expression box
structure columns
in the Data Structure Source Object tab of the data aggregation
[data aggregation
● Automatic correction: None
only]

Data Movement Modeling


Checking a DMM © 2014 SAP SE or an SAP affiliate company. All rights reserved. 161
Check Description and Correction

Existence of aggre­ A data aggregation must have at least one aggregation column defined to aggregate data.
gated column [data
● Manual correction: Add any missing aggregation columns in the Aggregation Col­
aggregation only]
umns tab of the data aggregation
● Automatic correction: None

Undefined criterion A data filter must have a criterion defined to filter data
[data filter only]
● Manual correction: Add any missing criteria in the Criteria tab of the data filter
● Automatic correction: None

Existence of data A data join must have a data structure defined


structure join [data
● Manual correction: Add any missing data structure joins in the Join Columns tab of
join only]
the data join
● Automatic correction: None

Missing occurrences A data structure join must have two sources defined.
in join sources [data
● Manual correction: Add any missing sources for a data structure join in the Join Col­
join only]
umns tab of the data join
● Automatic correction: None

Match data structure The two data structure column sources of a data merge must be equivalent [same num­
column sources ber of data structure columns and same data type ]
[data merge only]
● Manual correction: Add any missing data structure column in the data merge sources
and/or modify the source data type in the data structure column property sheet
● Automatic correction: None

5.14 Transformation Control Flow Checks

PowerDesigner provides default model checks to verify the validity of transformation control flows.

Check Description and Correction

Name/Code con­ [if glossary enabled] Names and codes must contain only approved terms drawn from
tains terms not in the glossary.
glossary
● Manual correction: Modify the name or code to contain only glossary terms.
● Automatic correction: None.

Name/Code con­ [if glossary enabled] Names and codes must not contain synonyms of glossary terms.
tains synonyms of
● Manual correction: Modify the name or code to contain only glossary terms.
glossary terms
● Automatic correction: Replaces synonyms with their associated glossary terms.

Data Movement Modeling


162 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Checking a DMM
Check Description and Correction

Name/Code unique­ Object names must be unique in the namespace.


ness
● Manual correction: Modify the duplicate name or code.
● Automatic correction: Appends a number to the duplicate name or code.

Existence of trans­ At least one transformation start should be associated with the data transformation con­
formation start trol flow.

● Manual correction: Add any missing transformation starts in the Starts tab of the
transformation control flow property sheet
● Automatic correction: None

Existence of trans­ At least one transformation end should be associated with the transformation control
formation end flow.

● Manual correction: Add any missing transformation ends in the Ends tab of the trans­
formation control flow property sheet
● Automatic correction: None

Existence of control At transformation control flow should contain at least one control flow between each
flow start, end, transformation task execution and synchronization in the transformation con­
trol flow diagram.

● Manual correction: Add any missing data flows in the transformation control flow dia­
gram
● Automatic correction: None

5.15 Transformation Task Execution Checks

PowerDesigner provides default model checks to verify the validity of transformation task executions.

Check Description and Correction

Name/Code contains terms not [if glossary enabled] Names and codes must contain only approved terms
in glossary drawn from the glossary.

● Manual correction: Modify the name or code to contain only glossary


terms.
● Automatic correction: None.

Data Movement Modeling


Checking a DMM © 2014 SAP SE or an SAP affiliate company. All rights reserved. 163
Check Description and Correction

Name/Code contains synonyms [if glossary enabled] Names and codes must not contain synonyms of glos­
of glossary terms sary terms.

● Manual correction: Modify the name or code to contain only glossary


terms.
● Automatic correction: Replaces synonyms with their associated glossary
terms.

Name/Code uniqueness Object names must be unique in the namespace.

● Manual correction: Modify the duplicate name or code.


● Automatic correction: Appends a number to the duplicate name or code.

Existence of data transformation A transformation task execution must be linked to a transformation task.
task
● Manual correction: Select a transformation task in the Task list of the
property sheet
● Automatic correction: None

5.16 Other Object Checks

PowerDesigner provides default model checks to verify the validity of packages, users, data and process
connections, connection groups, servers, data transformation and transformation control flow diagrams, data
and control flows, and transformation starts, ends, syncronizations, and decisions.

Check Description and Correction

Name/Code contains terms not [if glossary enabled] Names and codes must contain only approved terms
in glossary drawn from the glossary.

● Manual correction: Modify the name or code to contain only glossary


terms.
● Automatic correction: None.

Name/Code contains synonyms [if glossary enabled] Names and codes must not contain synonyms of glos­
of glossary terms sary terms.

● Manual correction: Modify the name or code to contain only glossary


terms.
● Automatic correction: Replaces synonyms with their associated glossary
terms.

Name/Code uniqueness Object names must be unique in the namespace.

● Manual correction: Modify the duplicate name or code.


● Automatic correction: Appends a number to the duplicate name or code.

Data Movement Modeling


164 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Checking a DMM
6 Working with SAP® Replication Server®
SAP® Replication Server® is a relational database replication engine which helps you to replicate data from a
primary database to one or more replicate databases. PowerDesigner supports modeling for Replication Server
version 12.5 and higher, including round-trip engineering.

The following example shows a data movement diagram representing a replication of data from a source
database to two remote databases, each of which are modeled in Physical Data Models (PDMs):

6.1 Modeling for Replication Server

PowerDesigner supports the modeling of all the components required to deploy a Replication Server solution in
your environment.

Network Components

The PowerDesigner DMM provides support for the following network components when modeling a Replication
Server environment:

● Replication Servers – coordinate the data replication activities for the local data servers and exchange data
with Replication servers at other sites. PowerDesigner models replication servers as replication processes
(see Replication Processes (DMM) [page 18]) with a Replication Server type and additional properties (see
Replication Server Properties [page 21]).
● Primary and Replicate databases – contain data that will be replicated and receive replicated data
respectively. The structure of each database is modeled in an attached PDM. PowerDesigner models
databases in a Replication Server environment as standard databases (see Databases (DMM) [page 41]) with
additional properties (see Replication Server Primary Database Properties [page 44]).

Data Movement Modeling


Working with SAP® Replication Server® © 2014 SAP SE or an SAP affiliate company. All rights reserved. 165
● Servers – provide a logical location for replication servers and databases. You should associate all of your
network components to appropriate servers to ensure correct script generation and a model check is used to
verify that each component is associated to a server (see Servers (DMM) [page 53]).

Data Connections

Network components are connected via the following kinds of data connections:

● Connections– specify a message stream from a database to a Replication Server, or from a Replication Server
to a database. PowerDesigner models connections as standard data connections (see Data Connections
(DMM) [page 76]) with additional properties (see Replication Server Connection Properties [page 79]).
● Routes – specify one-way message streams that send requests from one Replication Server to another.
PowerDesigner models routes as standard process connections (see Process Connections (DMM) [page 91])
with additional properties (see Replication Server Route Properties [page 92]).
● Logical Connections – consist of a pair of physical connections that are configured in a warm-standby
environment (see Modeling a Warm Standby Application [page 171]) to link an active and a standby
database. PowerDesigner models logical connections as data connection groups (see Data Connection
Groups (DMM) [page 87]) with additional properties (see Replication Server Logical Connection Properties
[page 89]).

Replication Definitions

Replication definitions describe the tables, views, databases, and stored procedures that you want to replicate:

● Replication definitions – describe a source table to be replicated, the columns you want to copy, and may also
describe attributes of the destination table. Destination tables that match the specified characteristics can
subscribe to the replication definition. PowerDesigner models Replication Server replication definitions as
articles (see Articles (DMM) [page 59]) with additional properties (see Replication Server Replication
Definition and Article Properties [page 61]).
● Database replication definitions – allow you to replicate an entire primary database to one or more replicate
databases. PowerDesigner models database replication definitions as publications (see Publications (DMM)
[page 54]) with a Database type and additional properties (see Replication Server Database Replication
Definition Properties [page 57]).
● Function replication definitions – specify information about a stored procedure to replicate. PowerDesigner
models function replication definitions as publication procedures (see Procedures (DMM) [page 66]) with
additional properties (see Replication Server Function Replication Definition Properties [page 68]).
● Articles – specify a replication definition extension for tables or stored procedures that allow you to assign
table or function replication definitions in a publication. PowerDesigner models Replication Server articles as
standard articles (see Articles (DMM) [page 59]) with additional properties (see Replication Server Article
Column Properties [page 65]).

Data Movement Modeling


166 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Working with SAP® Replication Server®
Publications and Subscriptions

Replication definitions are grouped together into publications that replicate databases can subscribe to:

● Publications – collect replication definitions together, to simplify subscriptions. PowerDesigner models


Replication Server publications as standard publications (see Publications (DMM) [page 54]) with additional
properties (see Replication Server Publication Properties [page 58]).
● Subscriptions – instruct Replication Server to replicate the data specified in a replication definition or
publication to a particular replicate database. PowerDesigner models Replication Server subscriptions as
standard subscriptions (see Subscriptions (DMM) [page 69]) with additional properties (see Replication
Server Subscription Properties [page 72]).

Other Objects

These sub-objects are created inside a Replication Server object:

● Users – specifies a user name and password to connect to a Replication Server. PowerDesigner models
Replication Server users as standard users (see Users (DMM) [page 73]) with additional properties (see
Replication Server User Properties [page 74]).
● Function strings – contain instructions for executing a function in a database. PowerDesigner models
Replication Server function strings as event scripts (see Event Scripts (DMM) [page 74]) with additional
properties (see Replication Server Function String Properties [page 76]).

6.1.1 Creating a Basic Replication Server Environment with


the Replication Wizard

The replication wizard provides a quick way to configure a Replication Server process for replicating one database
to another. You can replicate the entire database or choose specific tables to replicate. You can run the wizard as
many times as necessary to create additional replications on a single or multiple Replication Servers.

Prerequisites

Although you can launch the Replication wizard without already having modeled your databases in PDMs, we
recommend that you as a minimum create a PDM to represent the structure of your primary database. You can
reverse-engineer an existing database by selecting File Reverse Engineer Database .

Procedure

1. Select File New Model to open the New Model window and select Data Movement Model in the Model
Type list and Data Movement Diagram in the Diagram pane.

Data Movement Modeling


Working with SAP® Replication Server® © 2014 SAP SE or an SAP affiliate company. All rights reserved. 167
2. Click the Select Extensions button to open the Select Extensions dialog, click the General Purpose sub-tab,
select the appropriate version of Replication Server, and then click OK.
3. Click OK to create the DMM, which opens with an empty diagram.

4. Select Tools Replication Wizard to open a wizard that guides you through configuring Replication
Server for replicating data between your source and remote databases (see Replicating Data with the
Replication Wizard [page 22]).

When you click OK to close the wizard, PowerDesigner will create source and remote database objects in your
DMM, as well as all the necessary articles, publications, and subscriptions that Replication Server requires to
manage the replication of data between them.

6.1.2 Completing your Replication Environment

Once you have created any appropriate replication processes, replication definitions, publications and
subscriptions with the replication wizard, you should complete your environment with the following kinds of
supporting objects.

Creating Servers

Though it is not compulsory to assign each of your databases and replication servers to a server, we strongly
recommend that you do so, in order to enable the accurate generation of appropriate network addresses in your
replication scripts and a model check is used to verify that each component is associated to a server.

For information about working with servers, see Servers (DMM) [page 53].

Creating Maintenance Users

In order to access all the databases in the environment, Replication Server needs you to allocate Maintenance
Users in each primary and replicate database. The maintenance user needs to have permission rights to access
the source tables in the primary database and the target tables in the remote database. These are specified on the
Connection tab of the property sheet of the data connection that links the database to the replication server (see
Replication Server Connection Properties [page 79]).

A SQL script that contains the definition of permission rights for the maintenance user is generated for the
primary database and the remote database on the tables referenced in the replication definition.

Creating Additional Replication Servers

In many replication environments, individual replication servers are located at each physical site, and connected
by routes, oriented links that transfer requests from one Replication Server to another.

Use the connection tool to draw a route between to replication processes.

Data Movement Modeling


168 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Working with SAP® Replication Server®
The name of the administrator must be the same for both process servers. If the names differ, you must specify
the user name and password for the target server in the Route Options tab of the route property sheet (see
Replication Server Route Properties [page 92]).

Controlling Subscription Materialization

Typically, creating a subscription causes Replication Server to immediately materialize the subscription by
copying the initial requested data from the primary database to the replicate database. Once the subscription is
created and materialized, Replication Server begins distributing primary data changes to the replicated data.

For large tables and non-SAP® Adaptive Server® Enterprise databases, it can be more efficient to delay
materializing data until after the creation of a subscription, displacing it to a time when the network is less busy.

Use the Materialize Subscription generation option (see Generating for Replication Server [page 181]) to control
when materialization is performed.

Populating Database Objects

Database symbols provide various shortcuts to assist you in defining their structures. You can:

● Reverse-engineer an existing database – by right-clicking the database and selecting Reverse Engineer
Database, to create a new PDM.
● Create a primary or replicate database structure from article or subscription information - by right-clicking
the database and selecting Update <Type> Database to deduce the database structure from the definition of
articles in the Replication server, in which a subscription must be specified.
● Associate the same PDM with the source database and the remote database - if the remote database has the
same structure as the consolidated database.

Data Movement Modeling


Working with SAP® Replication Server® © 2014 SAP SE or an SAP affiliate company. All rights reserved. 169
Note
You can connect to the Replication Server System Database (RSSD) at any time by right-clicking the
replication process, and selecting the Connect and the Execute SQL commands.

Previewing scripts

When modeling, you can preview the script that will be generated for any object by clicking the Preview tab in its
property sheet. Objects that belong to a replication server (such as replication definitions, publications, and
subscriptions) have their own Preview tabs, which show the part of the replication server script that is dedicated
to them.

6.1.3 Modeling for Heterogeneous Replications with


Replication Agents and ECDA

Heterogeneous databases are databases other than Adaptive Server Enterprise or Adaptive Server
Anywhere/SQL Anywhere®. Replication agents allow Replication Server to communicate with heterogeneous
primary databases.

Modeling a Heterogeneous Primary Database

The replication agent captures the changes made in the primary database and sends the transaction log to the
primary Replication Server. To model for a heterogeneous primary database using a replication agent, you need
to:

● Specify server objects to contain the primary database and replication process, each with the appropriate
host machine name and port number (see Server Properties [page 54]).
● Specify the appropriate properties for the Replication Server connection and RSSD database on the
RepServer Connection tab of the replication process property sheet (see Replication Server Properties [page
21])
● Specify the RepAgent type, the RepAgent user (to access the replication server), the primary database user
(to access the database), and the other properties on the RepAgent Options tab of the primary database
property sheet (see Replication Server Primary Database Properties [page 44]).

Note
In order to generate and execute the replication agent SQL file using isql, you must select the "Execute
generated scripts in Replication Agent" on the Tasks tab of the Generation window (see Generating for
Replication Server [page 181]).

Data Movement Modeling


170 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Working with SAP® Replication Server®
Modeling a Heterogeneous Replicate Database

The ECDA communicates replicated data from a replication server to a heterogeneous replicate database. To
model for a heterogeneous replicate database, you need to:

● Specify server objects to contain the replicate database and replication process, each with the appropriate
host machine name and port number (see Server Properties [page 54]).
● Specify the DirectConnect™ instance name in the Code of the replicate database in its property sheet (see
Replication Server Primary Database Properties [page 44]).

6.1.4 Modeling a Warm Standby Application

A warm standby application is a pair of Adaptive Server or SQL Server databases, one of which is a backup of the
other. Client applications update the active database, and Replication Server maintains the standby database as a
copy of the active database.

Procedure

1. Create a database in your DMM and link it to a PDM that contains the structure of the active database.
2. Create a Replication Server replication process, and link the database to it with a connection.
3. Right-click the database and select Create Standby Database.
PowerDesigner converts the standard connection into a logical connection (see Data Connection Groups
(DMM) [page 87]) between the active database, the replication process, and a standby database, that it
creates and links to the PDM used to describe the active database.

Data Movement Modeling


Working with SAP® Replication Server® © 2014 SAP SE or an SAP affiliate company. All rights reserved. 171
6.1.5 Modeling for Mirror Activator

Mirror Activator is a combination of Mirror Replication Agent, Replication Server, and a third party disk replication
system to add disk replication for transaction logs to the Replication Server transaction-based replication to
provide an optimal disaster recovery solution.

The Mirror Replication replication agent reads the log file replicated by a disk replication system, and sends it to
Replication Server. To model for a primary database to which the Mirror Replication replication agent is deployed,
simply select Mirror Activator in the RepAgent type list on the RepAgent Options tab of its property sheet (see
Replication Server Primary Database Properties [page 44]).

6.1.6 Modeling for RepConnector

RepConnector™ allows you to use Real-Time Data Services to capture transactions in an ASE database and deliver
them as events to external applications in real time. PowerDesigner supports modeling for replication
environments in which RepConnector is deployed, but does not generate specific orders for RepConnector itself.

To specify that an ASE database has RepConnector enabled, simply select RepConnector in the Type list on the
General tab of the database property sheet. The database symbol changes to reflect the use of RepConnector:

Note
If you are working with PowerDesigner in the Eclipse environment, you can invoke the RepConnector Manager
directly from the remote database object contextual menu.

6.1.7 Modeling for High Volume Adaptive Replication (HVAR)

For Replication Server v15.5 and higher, PowerDesigner supports modeling for HVAR, whereby log-ordered, row-
by-row changes are compiled into net-row changes.

You can enable HVAR with the following properties:

● On the Transaction Options tab of a connection going from a replication server to a remote database (see
Replication Server Connection Properties [page 79]):

○ DSI compile enable


○ DSI compile max cmds

Data Movement Modeling


172 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Working with SAP® Replication Server®
○ DSI bulk threshold
○ DSI dataserver make
● On the RepServer Options tab of a replicate table (see Replicate Tables [page 173]):

○ DSI compile enable


○ DSI command convert
● On the RepServer Options tab of an article column (see Replication Server Article Column Properties [page
65]):

○ References

6.1.7.1 Replicate Tables

For Replication Server v15.5 and higher, you can enable HVAR compilation of individual replicate tables.

Replicate tables are listed on the Replicate Tables tab of a connection going from a replication server to a remote
database. The following properties are available on the RepServer Options tab of the replicate table property
sheet:

Property Description

DSI compile enable Enables HVAR compilation of a specified table. It takes effect only when HVAR repli­
cation is on. If replicating net-row changes cause unexpected consequences, users
should turn off HVAR replication or dsi_compile_enable for the troublesome tables.
By default, table level dsi_compile_enable is on.

Scripting name: TableParameter_dsi_compile_enable

DSI command convert Specifies how a replicate command can be converted. Legal values are: "none",
"i2none", "u2none", "d2none", "i2di", "u2di", and "t2none", where "i" for insert, "u"
for update, "d" for delete, "t" for truncate table, and "none" for no operation. Multi­
ple values, separated by comma, are allowed, as long as there are no duplicated
source operators. For example, "d2none" means do not replicate delete command.
"i2di,u2di" means convert both insert and update to delete followed by insert
(equivalent to auto-correction). To have "u2di" on, replication definition must spec­
ify "replicate all columns and always_replicate for text/image columns. This param­
eter can be configured at database level. The default value of this parameter is
"none".

Scripting name: TableParameter_dsi_command_convert

Data Movement Modeling


Working with SAP® Replication Server® © 2014 SAP SE or an SAP affiliate company. All rights reserved. 173
6.1.8 Modeling for Multi-Path Replication

Replication Server v15.7 and higher supports Multi-Path Replication™ of Adaptive Server Enterprise v15.7 and
higher primary databases to increase replication throughput and performance, and reduce contention.

Context

You can create multiple primary replication paths for multiple Replication Agent connections from a primary
database to one or more Replication Servers, and multiple replicate paths from one or more Replication Servers
to the replicate database. You can use multi-path replication in warm standby and multisite availability (MSA)
environments. You can convey transactions over dedicated routes between Replication Servers to avoid
congestion on shared routes, and you can dedicate an end-to-end replication path from the primary database
through Replication Servers to the replicate database, to objects such as tables and stored procedures.

PowerDesigner provides support for multi-path replication by letting you:

● Draw multiple parallel connections between a database and replication server and between replication
servers and specify which is the default path.
● Specify logical paths to which you bind tables and procedures to replicate, and to which you can associate a
primary and multiple alternative physical paths.

In the following example dual paths are specified for replication to both the US and European nodes:

PowerDesigner's support for multi-path replication is available in the following objects:

● Primary databases:

○ The Logical Paths tab (see Replication Server Primary Database Properties [page 44]) lists the logical
paths (see Logical Paths [page 175]) defined for the database.

Data Movement Modeling


174 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Working with SAP® Replication Server®
○ Right-click the database symbol and select Bind Tables or Bind Procedures to bind database objects to
one or more connections or logical paths (see Binding Database Objects to Connections or Logical Paths
[page 175]).
● Connections:

○ Selecting the Default connection checkbox on the Connections tab specifies that this is the default
connection between the database and replication server (see Replication Server Connection Properties
[page 79]).
○ The Bound Procedures and Bound Tables tabs list the procedures and tables that are allocated to the
connection.
● Routes:

○ In an environment with multiple parallel routes between replication servers, the Primary connection field
on the Route Options tab specifies the data connection which carries the data that will transit on the
route. If this property is set to None, then the route will accept data arriving from any data connection
(see Replication Server Route Properties [page 92]).
● Logical Connections:

○ In a warm standby environment with multiple parallel logical connections, select one as the primary
connection and choose it in the Primary logical connection list on the Connection Options tab of the other
logical connections (see Replication Server Logical Connection Properties [page 89]).

6.1.8.1 Logical Paths

For Replication Server v15.7 and higher, you can specify logical paths to group database objects to reduce binding
definitions to each physical paths.

Logical paths are listed on the Logical Paths tab of a primary database. The following tabs are available:

● Bound Procedures - lists the procedures (see Procedures (DMM) [page 66]) associated with the logical path.
● Bound Tables - lists the tables (see Articles (DMM) [page 59]) associated with the logical path.
● Data Connections - lists the connections (see Data Connections (DMM) [page 76]) associated with the logical
path. Select the Default connection property on a data connection property sheet to specify it as the default
connection for the logical path.

6.1.8.2 Binding Database Objects to Connections or Logical


Paths

PowerDesigner provides tools to help you bind tables and procedures to data connections and logical paths.

Procedure

1. Right-click the primary database and select Bind Tables or Bind Procedures.
2. Select all the tables or procedures from the database that you want to bind to a data connection or logical
path and click OK.

Data Movement Modeling


Working with SAP® Replication Server® © 2014 SAP SE or an SAP affiliate company. All rights reserved. 175
3. Select one or more data connections to bind the objects to. Select:

○ A single data connection - to bind the tables or procedures to that data connection.
○ Multiple data connections - to bind the tables or procedures to a logical path which is, in turn, associated
with each of the selected data connections, with the first in the list selected as the default connection.
4. Click OK to confirm your choice and then click OK on the message displaying the results to complete the
binding.
5. [optional] To review bindings between tables or procedures and data connections, right-click the primary
database and select Show Table Binding Matrix or Show Procedure Binding Matrix. The matrices list the tables
or procedures along the top and the available data connections down the side. Click in a cell and press the
spacebar or V key to add or remove a binding.
For detailed information about working with dependency matrices, see Core Features Guide > Modeling with
PowerDesigner > Diagrams, Matrices, and Symbols > Dependency Matrices.

6.1.9 Modeling for SQL Statement Replication

For Replication Server v15.2 and higher, PowerDesigner supports modeling for SQL statement replication.

You can enable SQL statement replication with the following properties:

● On Article, Replication Definition, and Database Replication Definition property sheet RepServer Options tab
(see Replication Server Replication Definition and Article Properties [page 61] and Replication Server Database
Replication Definition Properties [page 57]):

○ Threshold
○ Replicate SQDML

6.1.10 Modeling Replications to an SAP® IQ Data Warehouse

SAP® IQ (IQ) is a high-performance decision support server designed specifically for data warehousing. Since IQ is
not optimized for inserting, updating and deleting row by row, you should implement a staging database to
replicate data from OLTP databases to an IQ data warehouse.

Context

PowerDesigner can automate the creation of the staging database. You create a standard replication with IQ as
the remote database, and then, a single command allows you to create all the artifacts required to implement the
staging database.

Data Movement Modeling


176 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Working with SAP® Replication Server®
Procedure

1. Create a PDM to represent the structure of your primary database. You can reverse-engineer an existing
database by selecting File Reverse Engineer Database .

2. Select File New Model to open the New Model window and select Data Movement Model in the Model
Type list and Data Movement Diagram in the Diagram pane.
3. Click the Select Extensions button to open the Select Extensions dialog, click the General Purpose sub-tab,
select the appropriate version of Replication Server and the IQ Staging extension file, and then click OK to
return to the New Model window.
4. Click OK to create the DMM, which opens with an empty diagram.
5. Click the Replication Server tool in the Toolbox, and then click in the center of the diagram to create a
replication process. Right-click the Replication server symbol, and select Replication Wizard to open a wizard
that guides you through configuring Replication Server for replicating data between your source and remote
databases (see Replicating Data with the Replication Wizard [page 22]).

The source database can be any supported database and the remote database must be Sybase IQ.

When you click OK to close the wizard, PowerDesigner will create source and remote database objects in your
DMM, as well as all the necessary articles, publications, and subscriptions that Replication Server requires to
manage the replication of data between them:

6. Open the property sheet of the IQ database, select the Staging Database tab, and enter the appropriate
properties:

Staging database options Description

Sybase ASE version Version of the ASE staging database automatically created.

Database name PDM name of the staging database.

Database code PDM code of the staging database.

Server name Server name of the staging database.

Server code Serve code of the staging database.

Use insert table in Sybase IQ Indicates that an insert staging table will be used in IQ to copy inserted rows
from staging database in order to support transformation inside IQ.

Support update in Sybase IQ Indicates that an update statement will cause an update in IQ. If you do not
select this option, update statements will be replaced by delete and insert
statements.

Data Movement Modeling


Working with SAP® Replication Server® © 2014 SAP SE or an SAP affiliate company. All rights reserved. 177
Staging database options Description

Insert table code Template for defining the code of an insert table.

Update table code Template for defining the code of an update table.

Delete table code Template for defining the code of a delete table

Use stored procedure for Creates stored procedures in the staging database and uses them in Rep­
function strings Server function strings.

Insert procedure code Template for defining the code of insert stored procedures.

Update procedure code Template for defining the code of update stored procedures.

Delete procedure code Template for defining the code of delete stored procedures.

7. Click OK to return to the diagram and then select Tools Check Model to verify that your model contains
no errors and then save the model for reference.

8. Select Tools Generate Data Movement Model to open the Generate dialog.
9. Click the Enable transformations button on the Detail tab, and then click the Extensions tab and select the IQ
Staging xem.
10. Click OK to launch the generation of a new DMM that recreates the original transformation but with an ASE
staging database and an IQ Staging transformation process inserted between the replication server and the
IQ database to represent the data transfer between the staging database and IQ:

The RepServer definition is modified, it is no longer directly connected to IQ but to the ASE staging database,
and function strings to replicate data into the ASE staging database have been added:

○ Creating a ASE database with the same structure as IQ.


○ Creating the stored procedures used by RepServer function strings in the staging database.
○ Changing the RepServer connection to the staging database.
○ Creating or modifying RepServer function strings to invoke the stored procedures.
○ Creating staging tables in IQ to move data from the staging database into temporary tables in IQ before
moving the data into IQ tables.
○ Creating a stored procedure in IQ to load data from the staging database into IQ.
○ Creating a stored procedure in the staging database to clean transferred data.

Data Movement Modeling


178 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Working with SAP® Replication Server®
Note
If you need to change any aspect of your replication definitions, you must do so in the original DMM, and
then regenerate to recreate the staging database. Any changes made to replication definitions in the
generated DMM will not be accurately reflected in the staging database.

6.1.10.1 Generating Scripts for Replication to IQ

To generate the RepServer definition and ASE staging database, you need to generate the RepServer definition,
the ASE staging database, and the IQ database.

Procedure

1. Right click the Replication Server process symbol and select Generate Scripts. Click the Tasks tab and select
the Execute generated scripts in Replication Server task.

The Replication Server creation script is generated and executed using ISQL.
2. Click OK in the Generation dialog box.
3. Right-click the ASE staging database symbol and select Generate Database. Specify any appropriate
database generation options and click OK to start generation.
4. Right-click the IQ database symbol and select Generate Database or Modify Database. Specify any
appropriate database generation or modification options and click OK to start generation.

6.1.10.2 Transferring Staged Data to IQ

When the replication is set up, you can start RepServer to begin data replication. Data modifications made in the
source database are replicated to the ASE staging database or the staging tables in IQ. At some point, you need to
transfer the data from the staging database into IQ.

Context

You automate this process using a script that performs the following tasks periodically.

Procedure

1. Suspend replication to make sure data will not change during the transfer from staging database to IQ.

Data Movement Modeling


Working with SAP® Replication Server® © 2014 SAP SE or an SAP affiliate company. All rights reserved. 179
2. Run the IQ_LOAD_STAGING stored procedure in IQ to move data into IQ.
3. Run the IQ_CLEAN_STAGING stored procedure in ASE staging database to remove the already transferred
data.
4. Resume replication.

6.1.11 Replication Server Object Properties

When modeling for a Replication Server environment, you use standard DMM objects with additional properties.

Replication Server Object PowerDesigner Object

Replication servers (see Replication Server Properties Replication processes


[page 21])

Primary and replicate databases (see Replication Databases


Server Primary Database Properties [page 44])

Connections (see Replication Server Connection Prop­ Data connections


erties [page 79])

Routes (see Replication Server Route Properties [page Process connections


92])

Logical connections (seeReplication Server Logical Data connection groups


Connection Properties [page 89] )

Replication definitions and articles (see Replication Articles


Server Replication Definition and Article Properties
[page 61])

Database replication definitions (see Replication Server Publications


Database Replication Definition Properties [page 57])

Function replication definitions (see Replication Server Procedures


Function Replication Definition Properties [page 68])

Article columns (see Replication Server Article Column Article columns


Properties [page 65])

Publications (see Replication Server Publication Prop­ Publications


erties [page 58])

Subscriptions (see Replication Server Subscription Subscriptions


Properties [page 72])

Users (see Replication Server User Properties [page Users


74])

Function strings (see Replication Server Function Event scripts


String Properties [page 76])

Data Movement Modeling


180 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Working with SAP® Replication Server®
6.2 Generating for Replication Server

You can generate Replication Server scripts (*.sql) for the replication process, and/or for the primary and remote
databases.

Context

One SQL file is generated per server and contains all the orders for the server. The SQL file cannot be executed
using an live database connection. You need to use the isql command to execute this SQL file. You can preview the
script that will be generated for each object on the Preview tab of its property sheet.

Note
In order for you to connect properly to the replication process you must verify that:

● The code of the replication process object corresponds to the instance name of the Replication Server
● The User name and Password extended attributes correspond to the Replication Server login user name
and password
● Each database has been generated using one of the Generate commands from its contextual menu

isql.exe -e -U USRNAME -P PWD -S SVR_TEST -i SVR_TEST.sql

Procedure

1. Select Tools Replication Server <version> Generate Scripts to open the Generate dialog.

You can, alternately, right-click any database or replication process in the replication environment and select
Generate Scripts to open the Generate dialog and generate a script for that element only.
2. Specify a directory in which to generate the scripts.
3. [optional] Select the Check Model option to verify the validity of your model before generation.
4. On the Targets tab, select the replication engine(s) that you want to generate for. This tab may not appear if
you are generating for only a single replication process.
5. On the Selection tab, select the objects that you want to include in the generation. Use the sub-tabs to
navigate between separate lists of object types. The selections you make here will affect the files that are
available to select on the Generated Files tab.
6. On the Options tab, set generation options as appropriate. The following options are available:

Option Description

Create <replication object> Specifies to include create statements for this type of replication ob­
ject in the generated script.

Data Movement Modeling


Working with SAP® Replication Server® © 2014 SAP SE or an SAP affiliate company. All rights reserved. 181
Option Description

Drop <replication object> be­ Specifies to include drop statements for this type of replication object
fore creation if it already exists in the generated script before inserting the appropriate create state­
ment.

Materialize subscriptions Specifies how the data associated with subscriptions is to be material­
ized.

7. On the Tasks tab, select generation tasks as appropriate. The following tasks are available:

Task Description

Execute generated scripts in Repli­ Allows you to directly execute the generated scripts in Replication
cation Server Server.

Execute generated scripts in Rep­ Allows you to directly execute the generated scripts in RepAgent.
Agent

Note
To execute these tasks, you must have OpenClient isql installed on your machine. For information on how
to install OpenClient isql for Replication Server, see the Replication Server documentation

8. Click OK to generate the scripts in the specified directory.

When the generation is complete, the Generated Files dialog opens listing the scripts, each of which you can
open and review by selecting it and clicking Edit.

The Replication Server file is generated in the destination directory.

6.2.1 Generating an alter replication definition Statement

For Replication Server v15.5 and higher, PowerDesigner supports the generation of alter replication
definition statements to update your replication environment.

Context

To generate an alter replication definition statement you must have an archived DMM and associated
PDMs to represent the current replication environment. Any changes between the archived DMM and your
current model will be generated in the statement.

Data Movement Modeling


182 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Working with SAP® Replication Server®
Procedure

1. Right-click the replication server for which you want to generate the alter replication definition
statement and select Update Replication Definition.
2. In the Update Replication Definition dialog, select the archived DMM that you want to use as a baseline, and
specify a file to which you want to generate the script.
3. Click OK to begin generation of the script. If you are prompted to open any of the associated PDMs, then click
Yes.
The script is generated to the specified file.

6.2.1.1 Archiving a Replication Environment

You can archive a DMM and its associated PDMs at any time. For Replication Server v15.5 and higher, the archived
replication environment can be used as a baseline for use when generating an alter replication
definition statement.

Procedure

1. Open the DMM representing the state of your replication environment that you want to use as a baseline.

2. Select File Save as and select Archived DMM in the Save as type list.
3. Specify a name for your archived DMM and click Save.
You will be prompted to save the associated PDMs as archives.
4. Click Yes to archive the PDMs referenced in the DMM.
If any of the PDMs has not previously been saved, you will be prompted to specify a name for its archive.

Results

Your replication environment is saved as an archive, which can be used as a baseline against which to generate an
alter replication definition statement.

6.3 Reverse Engineering for Replication Server

You can reverse engineer an existing Replication Server definition into a DMM using one live connection for the
consolidated database and one for the remote database.

There are two ways for reverse engineering Replication Server objects:

Data Movement Modeling


Working with SAP® Replication Server® © 2014 SAP SE or an SAP affiliate company. All rights reserved. 183
● Reverse engineer a single replication process using the Reverse Engineering command from its contextual
menu
● Reverse engineer several replication processes using the Tools Reverse Engineering Replication Server
command that allows you to select the replication processes to reverse engineer

The process of reverse engineering replication processes equals to retrieve Replication Server objects from the
embedded Replication Server database (RDSS) via a live connection to create the corresponding DMM objects.

6.3.1 Reverse Engineering a Single Replication Process


Object

You reverse engineer a single replication process object using the Reverse Engineering command from its
contextual menu. It allows you to also reverse engineer all its related objects.

Procedure

1. Open a replication process property sheet to define the data source, user name and password of the
consolidated database in the Database Connection tab.

(If you do not define the data source, the Select a Data Source dialog box opens during the reverse
engineering process).
2. If you have already defined the consolidated database and remote database, you can create a data
connection from the consolidated database to the replication process and another data connection from the
replication process to the remote database.

If you have not defined the consolidated database or remote database, PowerDesigner creates a default one
for you during the reverse engineering process.
3. Right-click the replication process symbol and select Reverse Engineering from the contextual menu that is
displayed.

If you have not defined the data source for the remote database in the Database Connection tab of the remote
database property sheet, PowerDesigner asks you to select the data source of the remote database.

Once the reverse engineering is performed, PowerDesigner displays the Merge Models window to show you
the differences between the reverse engineered model and the current model. You can decide whether you
want to accept or not the created or modified objects.

For more information about comparing and merging models, see Core Features Guide > Modeling with
PowerDesigner > Comparing and Merging Models.

The objects are added to your model. They are visible in the diagram and in the Browser. They are also listed
in the Reverse tab of the Output window, located in the lower part of the main window.

Data Movement Modeling


184 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Working with SAP® Replication Server®
6.3.2 Reverse Engineering Several Replication Processes

You reverse engineer several replication processes using the Tools Reverse Engineering Replication Server
command from the Menu bar.

Context

You can customize your objects selection for reverse engineering.

Procedure

1. For each replication process, define the data source, user name and password of the consolidated database in
the Database Connection tab of the replication process property sheet.

(If you do not define the data source, the Select a Data Source dialog box opens during the reverse
engineering process)

2. Select Tools Reverse Engineering Replication Server .


3. Select the replication processes you want to reverse engineer.

For each remote database, PowerDesigner asks you to select the data source of the remote database.

Once the reverse engineering is performed, PowerDesigner displays the Merge Models window to show you
the differences between the reverse engineered model and the current model. You can decide whether you
want to accept or not the created or modified objects.

Data Movement Modeling


Working with SAP® Replication Server® © 2014 SAP SE or an SAP affiliate company. All rights reserved. 185
Important Disclaimers and Legal Information

Coding Samples
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive system
environment. The Code is only intended to better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and
completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, unless damages were caused by SAP
intentionally or by SAP's gross negligence.

Accessibility
The information contained in the SAP documentation represents SAP's current view of accessibility criteria as of the date of publication; it is in no way intended to be a
binding guideline on how to ensure accessibility of software products. SAP in particular disclaims any liability in relation to this document. This disclaimer, however, does
not apply in cases of wilful misconduct or gross negligence of SAP. Furthermore, this document does not result in any direct or indirect contractual obligations of SAP.

Gender-Neutral Language
As far as possible, SAP documentation is gender neutral. Depending on the context, the reader is addressed directly with "you", or a gender-neutral noun (such as "sales
person" or "working days") is used. If when referring to members of both sexes, however, the third-person singular cannot be avoided or a gender-neutral noun does not
exist, SAP reserves the right to use the masculine form of the noun and pronoun. This is to ensure that the documentation remains comprehensible.

Internet Hyperlinks
The SAP documentation may contain hyperlinks to the Internet. These hyperlinks are intended to serve as a hint about where to find related information. SAP does not
warrant the availability and correctness of this related information or the ability of this information to serve a particular purpose. SAP shall not be liable for any damages
caused by the use of related information unless damages have been caused by SAP's gross negligence or willful misconduct. All links are categorized for transparency
(see: http://help.sap.com/disclaimer).

Data Movement Modeling


186 © 2014 SAP SE or an SAP affiliate company. All rights reserved. Important Disclaimers and Legal Information
Data Movement Modeling
Important Disclaimers and Legal Information © 2014 SAP SE or an SAP affiliate company. All rights reserved. 187
www.sap.com/contactsap

© 2014 SAP SE or an SAP affiliate company. All rights reserved.

No part of this publication may be reproduced or transmitted in any


form or for any purpose without the express permission of SAP SE
or an SAP affiliate company. The information contained herein may
be changed without prior notice.
Some software products marketed by SAP SE and its distributors
contain proprietary software components of other software
vendors. National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company
for informational purposes only, without representation or warranty
of any kind, and SAP or its affiliated companies shall not be liable for
errors or omissions with respect to the materials. The only
warranties for SAP or SAP affiliate company products and services
are those that are set forth in the express warranty statements
accompanying such products and services, if any. Nothing herein
should be construed as constituting an additional warranty.
SAP and other SAP products and services mentioned herein as well
as their respective logos are trademarks or registered trademarks
of SAP SE (or an SAP affiliate company) in Germany and other
countries. All other product and service names mentioned are the
trademarks of their respective companies.
Please see http://www.sap.com/corporate-en/legal/copyright/
index.epx for additional trademark information and notices.

You might also like