Designer Guide
Designer Guide
Informatica PowerCenter®
(Version 7.1.1)
Informatica PowerCenter Designer Guide
Version 7.1.1
August 2004
This software and documentation contain proprietary information of Informatica Corporation, they are provided under a license agreement
containing restrictions on use and disclosure and is also protected by copyright law. Reverse engineering of the software is prohibited. No
part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)
without prior consent of Informatica Corporation.
Use, duplication, or disclosure of the Software by the U.S. Government is subject to the restrictions set forth in the applicable software
license agreement as provided in DFARS 227.7202-1(a) and 227.7702-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (OCT 1988), FAR
12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable.
The information in this document is subject to change without notice. If you find any problems in the documentation, please report them to
us in writing. Informatica Corporation does not warrant that this documentation is error free.
Informatica, PowerMart, PowerCenter, PowerChannel, PowerCenter Connect, MX, and SuperGlue are trademarks or registered trademarks
of Informatica Corporation in the United States and in jurisdictions throughout the world. All other company and product names may be
trade names or trademarks of their respective owners.
Informatica PowerCenter products contain ACE (TM) software copyrighted by Douglas C. Schmidt and his research group at Washington
University and University of California, Irvine, Copyright (c) 1993-2002, all rights reserved.
Portions of this software contain copyrighted material from The JBoss Group, LLC. Your right to use such materials is set forth in the GNU
Lesser General Public License Agreement, which may be found at http://www.opensource.org/licenses/lgpl-license.php. The JBoss materials
are provided free of charge by Informatica, “as-is”, without warranty of any kind, either express or implied, including but not limited to the
implied warranties of merchantability and fitness for a particular purpose.
Portions of this software contain copyrighted material from Meta Integration Technology, Inc. Meta Integration® is a registered trademark
of Meta Integration Technology, Inc.
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
The Apache Software is Copyright (c) 1999-2004 The Apache Software Foundation. All rights reserved.
DISCLAIMER: Informatica Corporation provides this documentation “as is” without warranty of any kind, either express or implied,
including, but not limited to, the implied warranties of non-infringement, merchantability, or use for a particular purpose. The information
provided in this documentation may include technical inaccuracies or typographical errors. Informatica could make improvements and/or
changes in the products described in this documentation at any time without notice.
Table of Contents
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
New Features and Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
PowerCenter 7.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
PowerCenter 7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
PowerCenter 7.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii
About Informatica Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiv
About this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxv
Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxv
Other Informatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxvi
Visiting Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . xxxvi
Visiting the Informatica Webzine . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxvi
Visiting the Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxvi
Visiting the Informatica Developer Network . . . . . . . . . . . . . . . . . . . xxxvi
Obtaining Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxvii
iii
Navigating the Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Search Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Iconizing and Restoring Workspace Objects . . . . . . . . . . . . . . . . . . . . . . 19
Arranging Objects in the Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Zooming the Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Viewing the Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Designer Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Adding a Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Printing the Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Viewing the Last Saved Date/Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Opening and Closing a Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Creating Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Checking Out and In Versioned Repository Objects . . . . . . . . . . . . . . . . 25
Searching for Versioned Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Entering Descriptions for Repository Objects . . . . . . . . . . . . . . . . . . . . . 27
Reverting to a Previous Object Version . . . . . . . . . . . . . . . . . . . . . . . . . 27
Copying Designer Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Exporting and Importing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Working with Multiple Ports or Columns . . . . . . . . . . . . . . . . . . . . . . . 30
Renaming Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Using Shortcut Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Working with Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Creating Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Editing Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Deleting Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Using Business Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Adding Business Names to Sources or Targets . . . . . . . . . . . . . . . . . . . . . 36
Displaying Business Names in the Navigator . . . . . . . . . . . . . . . . . . . . . 36
Displaying Business Names as Column Names . . . . . . . . . . . . . . . . . . . . 37
Using Business Names as Port Names in Source Qualifiers . . . . . . . . . . . 37
Using Business Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Specifying the Documentation Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Creating Links to Documentation Files . . . . . . . . . . . . . . . . . . . . . . . . . 39
Viewing Business Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
iv Table of Contents
Source Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Special Character Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Updating Source Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Creating Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Working with Relational Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Importing Relational Source Definitions . . . . . . . . . . . . . . . . . . . . . . . . 46
Updating a Relational Source Definition . . . . . . . . . . . . . . . . . . . . . . . . 49
Working with COBOL Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Importing COBOL Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Components in a COBOL Source File . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Configuring COBOL Source Definitions . . . . . . . . . . . . . . . . . . . . . . . 57
Importing a Microsoft Excel Source Definition . . . . . . . . . . . . . . . . . . . . . . 62
Defining Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Formatting Columns of Numeric Data . . . . . . . . . . . . . . . . . . . . . . . . . 63
Steps for Importing a Microsoft Excel Source Definition . . . . . . . . . . . . 63
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table of Contents v
Working with Multibyte Data in Fixed-Width Targets . . . . . . . . . . . . . . . . . 106
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
vi Table of Contents
Copying Mapping Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Copying Objects in a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Exporting and Importing a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Editing a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Debugging a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Deleting a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Viewing Link Paths to a Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Viewing Source Column Dependencies . . . . . . . . . . . . . . . . . . . . . . . . 142
Connecting Mapping Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Options for Linking Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Rules and Guidelines for Connecting Mapping Objects . . . . . . . . . . . . 146
Linking Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Manually Linking Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Linking by Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Linking Ports by Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Propagating Port Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Understanding Dependency Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Propagating Dependencies in a Link Path . . . . . . . . . . . . . . . . . . . . . . 153
Propagating Implicit Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Propagated Attributes by Transformation . . . . . . . . . . . . . . . . . . . . . . . 155
General Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Steps to Propagate Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Working with Sources in a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Working with Transformations in a Mapping . . . . . . . . . . . . . . . . . . . . . . . 162
Working with Mapplets in a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Working with Targets in a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Configuring Relational Targets in a Mapping . . . . . . . . . . . . . . . . . . . . 164
Configuring Flat File Targets in a Mapping . . . . . . . . . . . . . . . . . . . . . 164
Configuring XML Targets in a Mapping . . . . . . . . . . . . . . . . . . . . . . . 165
Setting the Target Load Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Working with Relational Targets in a Mapping . . . . . . . . . . . . . . . . . . . . . . 167
Rejecting Truncated and Overflow Data . . . . . . . . . . . . . . . . . . . . . . . 167
Target Update Override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Table Name Prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Adding Pre- and Post-Session SQL Commands . . . . . . . . . . . . . . . . . . 172
Validating a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Connection Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Expression Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Table of Contents ix
Variable Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Mapping Variables in Mapplets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Using Mapping Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
x Table of Contents
Monitoring the Session Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Using the Workflow Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Modifying Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Evaluating Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Evaluating Expressions Using Mapping Variables . . . . . . . . . . . . . . . . . 286
Steps for Evaluating Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Copying Breakpoint Information and Configuration . . . . . . . . . . . . . . . . . 289
Table of Contents xi
Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Business Component Locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Creating Links to Business Component Documentation . . . . . . . . . . . . 328
Creating a Directory or Business Component . . . . . . . . . . . . . . . . . . . . . . . 329
Editing a Business Component Directory . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Deleting a Directory or Business Component . . . . . . . . . . . . . . . . . . . . . . . 332
Copying a Directory or Business Component . . . . . . . . . . . . . . . . . . . . . . . 333
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
List of Figures xv
Figure 5-4. Example of Input, Output, and Input/Output Ports . . . . . . . . . . . . . . . . . . . . . .144
Figure 5-5. Link One Port to Multiple Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . .145
Figure 5-6. Link Multiple Transformations to One Target . . . . . . . . . . . . . . . . . . . . . . . . . . .145
Figure 5-7. Link by Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147
Figure 5-8. Link by Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
Figure 5-9. Link by Name and Prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
Figure 5-10. Link by Name and Suffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
Figure 5-11. Propagate Port Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
Figure 5-12. Source Qualifier Transformation in a Mapping . . . . . . . . . . . . . . . . . . . . . . . . .160
Figure 5-13. Mapplet Display in Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
Figure 5-14. Target Load Order Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
Figure 5-15. Relational Target Properties Tab in the Mapping Designer . . . . . . . . . . . . . . . . .167
Figure 5-16. Sample Mapping for Target Update Override . . . . . . . . . . . . . . . . . . . . . . . . . .168
Figure 5-17. UPDATE Statement for Sample Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
Figure 5-18. Invalid Mappings with Blocking Transformations . . . . . . . . . . . . . . . . . . . . . . .176
Figure 5-19. Sample Mappings with Blocking Transformations . . . . . . . . . . . . . . . . . . . . . . .176
Figure 6-1. Sample Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
Figure 6-2. Example of Input, Output, and Input/Output Ports . . . . . . . . . . . . . . . . . . . . . .187
Figure 6-3. Aggregator Transformation Sample Input and Output Ports . . . . . . . . . . . . . . . . .189
Figure 6-4. Expression Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191
Figure 6-5. Variable Ports Store Values Across Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194
Figure 6-6. Default Value for Input and Input/Output Ports . . . . . . . . . . . . . . . . . . . . . . . . .198
Figure 6-7. Default Value for Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
Figure 6-8. Using a Constant as a Default Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
Figure 6-9. Using the ERROR Function to Skip Null Input Values . . . . . . . . . . . . . . . . . . . .203
Figure 6-10. Entering and Validating Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207
Figure 6-11. Reverting to Original Reusable Transformation Properties . . . . . . . . . . . . . . . . .213
Figure 7-1. Sample Mapplet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
Figure 7-2. Sample Mapplet in a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218
Figure 7-3. Expanded Mapplet in a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219
Figure 7-4. Source Qualifier Providing Mapplet Source Data . . . . . . . . . . . . . . . . . . . . . . . . .225
Figure 8-1. Mapping Parameters in the SQL Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238
Figure 8-2. Mapping Parameters in the Expression Editor . . . . . . . . . . . . . . . . . . . . . . . . . . .238
Figure 8-3. Setting a Mapping Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
Figure 9-1. Debugger Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252
Figure 9-2. Breakpoint Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
Figure 9-3. Breakpoint Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
Figure 9-4. Multiple Conditions Within a Single Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . .257
Figure 9-5. Multiple Breakpoints Within a Single Transformation . . . . . . . . . . . . . . . . . . . . .257
Figure 9-6. Selecting a Port for Breakpoint Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .259
Figure 9-7. Operators for Global Breakpoint Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . .259
Figure 9-8. Debugger Wizard Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263
Figure 9-9. Debugger Wizard Server and Session Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264
xx List of Tables
Preface
Welcome to PowerCenter, Informatica’s software product that delivers an open, scalable data
integration solution addressing the complete life cycle for all data integration projects
including data warehouses and data marts, data migration, data synchronization, and
information hubs. PowerCenter combines the latest technology enhancements for reliably
managing data repositories and delivering information resources in a timely, usable, and
efficient manner.
The PowerCenter metadata repository coordinates and drives a variety of core functions,
including extracting, transforming, loading, and managing data. The PowerCenter Server can
extract large volumes of data from multiple platforms, handle complex transformations on the
data, and support high-speed loads. PowerCenter can simplify and accelerate the process of
moving data warehouses from development to test to production.
xxi
New Features and Enhancements
This section describes new features and enhancements to PowerCenter 7.1.1, 7.1, and 7.0.
PowerCenter 7.1.1
This section describes new features and enhancements to PowerCenter 7.1.1.
Data Profiling
♦ Data sampling. You can create a data profile for a sample of source data instead of the
entire source. You can view a profile from a random sample of data, a specified percentage
of data, or for a specified number of rows starting with the first row.
♦ Verbose data enhancements. You can specify the type of verbose data you want the
PowerCenter Server to write to the Data Profiling warehouse. The PowerCenter Server can
write all rows, the rows that meet the business rule, or the rows that do not meet the
business rule.
♦ Session enhancement. You can save sessions that you create from the Profile Manager to
the repository.
♦ Domain Inference function tuning. You can configure the Data Profiling Wizard to filter
the Domain Inference function results. You can configure a maximum number of patterns
and a minimum pattern frequency. You may want to narrow the scope of patterns returned
to view only the primary domains, or you may want to widen the scope of patterns
returned to view exception data.
♦ Row Uniqueness function. You can determine unique rows for a source based on a
selection of columns for the specified source.
♦ Define mapping, session, and workflow prefixes. You can define default mapping,
session, and workflow prefixes for the mappings, sessions, and workflows generated when
you create a data profile.
♦ Profile mapping display in the Designer. The Designer displays profile mappings under a
profile mappings node in the Navigator.
PowerCenter Server
♦ Code page. PowerCenter supports additional Japanese language code pages, such as JIPSE-
kana, JEF-kana, and MELCOM-kana.
♦ Flat file partitioning. When you create multiple partitions for a flat file source session, you
can configure the session to create multiple threads to read the flat file source.
♦ pmcmd. You can use parameter files that reside on a local machine with the Startworkflow
command in the pmcmd program. When you use a local parameter file, pmcmd passes
variables and values in the file to the PowerCenter Server.
xxii Preface
♦ SuSE Linux support. The PowerCenter Server runs on SuSE Linux. On SuSE Linux, you
can connect to IBM, DB2, Oracle, and Sybase sources, targets, and repositories using
native drivers. Use ODBC drivers to access other sources and targets.
♦ Reserved word support. If any source, target, or lookup table name or column name
contains a database reserved word, you can create and maintain a file, reswords.txt,
containing reserved words. When the PowerCenter Server initializes a session, it searches
for reswords.txt in the PowerCenter Server installation directory. If the file exists, the
PowerCenter Server places quotes around matching reserved words when it executes SQL
against the database.
♦ Teradata external loader. When you load to Teradata using an external loader, you can
now override the control file. Depending on the loader you use, you can also override the
error, log, and work table names by specifying different tables on the same or different
Teradata database.
Repository
♦ Exchange metadata with other tools. You can exchange source and target metadata with
other BI or data modeling tools, such as Business Objects Designer. You can export or
import multiple objects at a time. When you export metadata, the PowerCenter Client
creates a file format recognized by the target tool.
Repository Server
♦ pmrep. You can use pmrep to perform the following functions:
− Remove repositories from the Repository Server cache entry list.
− Enable enhanced security when you create a relational source or target connection in the
repository.
− Update a connection attribute value when you update the connection.
♦ SuSE Linux support. The Repository Server runs on SuSE Linux. On SuSE Linux, you
can connect to IBM, DB2, Oracle, and Sybase repositories.
Security
♦ Oracle OS Authentication. You can now use Oracle OS Authentication to authenticate
database users. Oracle OS Authentication allows you to log on to an Oracle database if you
have a logon to the operating system. You do not need to know a database user name and
password. PowerCenter uses Oracle OS Authentication when the user name for an Oracle
connection is PmNullUser.
Preface xxiii
♦ Pipeline partitioning. You can create multiple partitions in a session containing web
service source and target definitions. The PowerCenter Server creates a connection to the
Web Services Hub based on the number of sources, targets, and partitions in the session.
XML
♦ Multi-level pivoting. You can now pivot more than one multiple-occurring element in an
XML view. You can also pivot the view row.
PowerCenter 7.1
This section describes new features and enhancements to PowerCenter 7.1.
Data Profiling
♦ Data Profiling for VSAM sources. You can now create a data profile for VSAM sources.
♦ Support for verbose mode for source-level functions. You can now create data profiles
with source-level functions and write data to the Data Profiling warehouse in verbose
mode.
♦ Aggregator function in auto profiles. Auto profiles now include the Aggregator function.
♦ Creating auto profile enhancements. You can now select the columns or groups you want
to include in an auto profile and enable verbose mode for the Distinct Value Count
function.
♦ Purging data from the Data Profiling warehouse. You can now purge data from the Data
Profiling warehouse.
♦ Source View in the Profile Manager. You can now view data profiles by source definition
in the Profile Manager.
♦ PowerCenter Data Profiling report enhancements. You can now view PowerCenter Data
Profiling reports in a separate browser window, resize columns in a report, and view
verbose data for Distinct Value Count functions.
♦ Prepackaged domains. Informatica provides a set of prepackaged domains that you can
include in a Domain Validation function in a data profile.
Documentation
♦ Web Services Provider Guide. This is a new book that describes the functionality of Real-time
Web Services. It also includes information from the version 7.0 Web Services Hub Guide.
♦ XML User Guide. This book consolidates XML information previously documented in the
Designer Guide, Workflow Administration Guide, and Transformation Guide.
Licensing
Informatica provides licenses for each CPU and each repository rather than for each
installation. Informatica provides licenses for product, connectivity, and options. You store
xxiv Preface
the license keys in a license key file. You can manage the license files using the Repository
Server Administration Console, the PowerCenter Server Setup, and the command line
program, pmlic.
PowerCenter Server
♦ 64-bit support. You can now run 64-bit PowerCenter Servers on AIX and HP-UX
(Itanium).
♦ Partitioning enhancements. If you have the Partitioning option, you can define up to 64
partitions at any partition point in a pipeline that supports multiple partitions.
♦ PowerCenter Server processing enhancements. The PowerCenter Server now reads a
block of rows at a time. This improves processing performance for most sessions.
♦ CLOB/BLOB datatype support. You can now read and write CLOB/BLOB datatypes.
Repository Server
♦ Updating repository statistics. PowerCenter now identifies and updates statistics for all
repository tables and indexes when you copy, upgrade, and restore repositories. This
improves performance when PowerCenter accesses the repository.
♦ Increased repository performance. You can increase repository performance by skipping
information when you copy, back up, or restore a repository. You can choose to skip MX
data, workflow and session log history, and deploy group history.
♦ pmrep. You can use pmrep to back up, disable, or enable a repository, delete a relational
connection from a repository, delete repository details, truncate log files, and run multiple
pmrep commands sequentially. You can also use pmrep to create, modify, and delete a
folder.
Repository
♦ Exchange metadata with business intelligence tools. You can export metadata to and
import metadata from other business intelligence tools, such as Cognos Report Net and
Business Objects.
♦ Object import and export enhancements. You can compare objects in an XML file to
objects in the target repository when you import objects.
♦ MX views. MX views have been added to help you analyze metadata stored in the
repository. REP_SERVER_NET and REP_SERVER_NET_REF views allow you to see
information about server grids. REP_VERSION_PROPS allows you to see the version
history of all objects in a PowerCenter repository.
Preface xxv
Transformations
♦ Flat file lookup. You can now perform lookups on flat files. When you create a Lookup
transformation using a flat file as a lookup source, the Designer invokes the Flat File
Wizard. You can also use a lookup file parameter if you want to change the name or
location of a lookup between session runs.
♦ Dynamic lookup cache enhancements. When you use a dynamic lookup cache, the
PowerCenter Server can ignore some ports when it compares values in lookup and input
ports before it updates a row in the cache. Also, you can choose whether the PowerCenter
Server outputs old or new values from the lookup/output ports when it updates a row. You
might want to output old values from lookup/output ports when you use the Lookup
transformation in a mapping that updates slowly changing dimension tables.
♦ Union transformation. You can use the Union transformation to merge multiple sources
into a single pipeline. The Union transformation is similar to using the UNION ALL SQL
statement to combine the results from two or more SQL statements.
♦ Custom transformation API enhancements. The Custom transformation API includes
new array-based functions that allow you to create procedure code that receives and
outputs a block of rows at a time. Use these functions to take advantage of the
PowerCenter Server processing enhancements.
♦ Midstream XML transformations. You can now create an XML Parser transformation or
an XML Generator transformation to parse or generate XML inside a pipeline. The XML
transformations enable you to extract XML data stored in relational tables, such as data
stored in a CLOB column. You can also extract data from messaging systems, such as
TIBCO or IBM MQSeries.
Usability
♦ Viewing active folders. The Designer and the Workflow Manager highlight the active
folder in the Navigator.
♦ Enhanced printing. The quality of printed workspace has improved.
Version Control
You can run object queries that return shortcut objects. You can also run object queries based
on the latest status of an object. The query can return local objects that are checked out, the
latest version of checked in objects, or a collection of all older versions of objects.
xxvi Preface
Note: PowerCenter Connect for Web Services allows you to create sources, targets, and
transformations to call web services hosted by other providers. For more informations, see
PowerCenter Connect for Web Services User and Administrator Guide.
Workflow Monitor
The Workflow Monitor includes the following performance and usability enhancements:
♦ When you connect to the PowerCenter Server, you no longer distinguish between online
or offline mode.
♦ You can open multiple instances of the Workflow Monitor on one machine.
♦ You can simultaneously monitor multiple PowerCenter Servers registered to the same
repository.
♦ The Workflow Monitor includes improved options for filtering tasks by start and end
time.
♦ The Workflow Monitor displays workflow runs in Task view chronologically with the most
recent run at the top. It displays folders alphabetically.
♦ You can remove the Navigator and Output window.
XML Support
PowerCenter XML support now includes the following features:
♦ Enhanced datatype support. You can use XML schemas that contain simple and complex
datatypes.
♦ Additional options for XML definitions. When you import XML definitions, you can
choose how you want the Designer to represent the metadata associated with the imported
files. You can choose to generate XML views using hierarchy or entity relationships. In a
view with hierarchy relationships, the Designer expands each element and reference under
its parent element. When you create views with entity relationships, the Designer creates
separate entities for references and multiple-occurring elements.
♦ Synchronizing XML definitions. You can synchronize one or more XML definition when
the underlying schema changes. You can synchronize an XML definition with any
repository definition or file used to create the XML definition, including relational sources
or targets, XML files, DTD files, or schema files.
♦ XML workspace. You can edit XML views and relationships between views in the
workspace. You can create views, add or delete columns from views, and define
relationships between views.
♦ Midstream XML transformations. You can now create an XML Parser transformation or
an XML Generator transformation to parse or generate XML inside a pipeline. The XML
transformations enable you to extract XML data stored in relational tables, such as data
stored in a CLOB column. You can also extract data from messaging systems, such as
TIBCO or IBM MQSeries.
Preface xxvii
♦ Support for circular references. Circular references occur when an element is a direct or
indirect child of itself. PowerCenter now supports XML files, DTD files, and XML
schemas that use circular definitions.
♦ Increased performance for large XML targets. You can create XML files of several
gigabytes in a PowerCenter 7.1 XML session by using the following enhancements:
− Spill to disk. You can specify the size of the cache used to store the XML tree. If the size
of the tree exceeds the cache size, the XML data spills to disk in order to free up
memory.
− User-defined commits. You can define commits to trigger flushes for XML target files.
− Support for multiple XML output files. You can output XML data to multiple XML
targets. You can also define the file names for XML output files in the mapping.
PowerCenter 7.0
This section describes new features and enhancements to PowerCenter 7.0.
Data Profiling
If you have the Data Profiling option, you can profile source data to evaluate source data and
detect patterns and exceptions. For example, you can determine implicit data type, suggest
candidate keys, detect data patterns, and evaluate join criteria. After you create a profiling
warehouse, you can create profiling mappings and run sessions. Then you can view reports
based on the profile data in the profiling warehouse.
The PowerCenter Client provides a Profile Manager and a Profile Wizard to complete these
tasks.
Documentation
♦ Glossary. The Installation and Configuration Guide contains a glossary of new PowerCenter
terms.
♦ Installation and Configuration Guide. The connectivity information in the Installation
and Configuration Guide is consolidated into two chapters. This book now contains
chapters titled “Connecting to Databases from Windows” and “Connecting to Databases
from UNIX.”
♦ Upgrading metadata. The Installation and Configuration Guide now contains a chapter
titled “Upgrading Repository Metadata.” This chapter describes changes to repository
xxviii Preface
objects impacted by the upgrade process. The change in functionality for existing objects
depends on the version of the existing objects. Consult the upgrade information in this
chapter for each upgraded object to determine whether the upgrade applies to your current
version of PowerCenter.
Functions
♦ Soundex. The Soundex function encodes a string value into a four-character string.
SOUNDEX works for characters in the English alphabet (A-Z). It uses the first character
of the input string as the first character in the return value and encodes the remaining
three unique consonants as numbers.
♦ Metaphone. The Metaphone function encodes string values. You can specify the length of
the string that you want to encode. METAPHONE encodes characters of the English
language alphabet (A-Z). It encodes both uppercase and lowercase letters in uppercase.
Installation
♦ Remote PowerCenter Client installation. You can create a control file containing
installation information, and distribute it to other users to install the PowerCenter Client.
You access the Informatica installation CD from the command line to create the control
file and install the product.
PowerCenter Server
♦ DB2 bulk loading. You can enable bulk loading when you load to IBM DB2 8.1.
♦ Distributed processing. If you purchase the Server Grid option, you can group
PowerCenter Servers registered to the same repository into a server grid. In a server grid,
PowerCenter Servers balance the workload among all the servers in the grid.
♦ Row error logging. The session configuration object has new properties that allow you to
define error logging. You can choose to log row errors in a central location to help
understand the cause and source of errors.
♦ External loading enhancements. When using external loaders on Windows, you can now
choose to load from a named pipe. When using external loaders on UNIX, you can now
choose to load from staged files.
Preface xxix
♦ External loading using Teradata Warehouse Builder. You can use Teradata Warehouse
Builder to load to Teradata. You can choose to insert, update, upsert, or delete data.
Additionally, Teradata Warehouse Builder can simultaneously read from multiple sources
and load data into one or more tables.
♦ Mixed mode processing for Teradata external loaders. You can now use data driven load
mode with Teradata external loaders. When you select data driven loading, the
PowerCenter Server flags rows for insert, delete, or update. It writes a column in the target
file or named pipe to indicate the update strategy. The control file uses these values to
determine how to load data to the target.
♦ Concurrent processing. The PowerCenter Server now reads data concurrently from
sources within a target load order group. This enables more efficient joins with minimal
usage of memory and disk cache.
♦ Real time processing enhancements. You can now use real-time processing in sessions that
also process active transformations, such as the Aggregator transformation. You can apply
the transformation logic to rows defined by transaction boundaries.
Repository Server
♦ Object export and import enhancements. You can now export and import objects using
the Repository Manager and pmrep. You can export and import multiple objects and
objects types. You can export and import objects with or without their dependent objects.
You can also export objects from a query result or objects history.
♦ pmrep commands. You can use pmrep to perform change management tasks, such as
maintaining deployment groups and labels, checking in, deploying, importing, exporting,
and listing objects. You can also use pmrep to run queries. The deployment and object
import commands require you to use a control file to define options and resolve conflicts.
♦ Trusted connections. You can now use a Microsoft SQL Server trusted connection to
connect to the repository.
Security
♦ LDAP user authentication. You can now use default repository user authentication or
Lightweight Directory Access Protocol (LDAP) to authenticate users. If you use LDAP, the
repository maintains an association between your repository user name and your external
login name. When you log in to the repository, the security module passes your login name
to the external directory for authentication. The repository maintains a status for each
user. You can now enable or disable users from accessing the repository by changing the
status. You do not have to delete user names from the repository.
♦ Use Repository Manager privilege. The Use Repository Manager privilege allows you to
perform tasks in the Repository Manager, such as copy object, maintain labels, and change
object status. You can perform the same tasks in the Designer and Workflow Manager if
you have the Use Designer and Use Workflow Manager privileges.
♦ Audit trail. You can track changes to repository users, groups, privileges, and permissions
through the Repository Server Administration Console. The Repository Agent logs
security changes to a log file stored in the Repository Server installation directory. The
xxx Preface
audit trail log contains information, such as changes to folder properties, adding or
removing a user or group, and adding or removing privileges.
Transformations
♦ Custom transformation. Custom transformations operate in conjunction with procedures
you create outside of the Designer interface to extend PowerCenter functionality. The
Custom transformation replaces the Advanced External Procedure transformation. You can
create Custom transformations with multiple input and output groups, and you can
compile the procedure with any C compiler.
You can create templates that customize the appearance and available properties of a
Custom transformation you develop. You can specify the icons used for transformation,
the colors, and the properties a mapping developer can modify. When you create a Custom
transformation template, distribute the template with the DLL or shared library you
develop.
♦ Joiner transformation. You can use the Joiner transformation to join two data streams that
originate from the same source.
Version Control
The PowerCenter Client and repository introduce features that allow you to create and
manage multiple versions of objects in the repository. Version control allows you to maintain
multiple versions of an object, control development on the object, track changes, and use
deployment groups to copy specific groups of objects from one repository to another. Version
control in PowerCenter includes the following features:
♦ Object versioning. Individual objects in the repository are now versioned. This allows you
to store multiple copies of a given object during the development cycle. Each version is a
separate object with unique properties.
♦ Check out and check in versioned objects. You can check out and reserve an object you
want to edit, and check in the object when you are ready to create a new version of the
object in the repository.
♦ Compare objects. The Repository Manager and Workflow Manager allow you to compare
two repository objects of the same type to identify differences between them. You can
compare Designer objects and Workflow Manager objects in the Repository Manager. You
can compare tasks, sessions, worklets, and workflows in the Workflow Manager. The
PowerCenter Client tools allow you to compare objects across open folders and
repositories. You can also compare different versions of the same object.
♦ Delete or purge a version. You can delete an object from view and continue to store it in
the repository. You can recover or undelete deleted objects. If you want to permanently
remove an object version, you can purge it from the repository.
♦ Deployment. Unlike copying a folder, copying a deployment group allows you to copy a
select number of objects from multiple folders in the source repository to multiple folders
in the target repository. This gives you greater control over the specific objects copied from
one repository to another.
Preface xxxi
♦ Deployment groups. You can create a deployment group that contains references to
objects from multiple folders across the repository. You can create a static deployment
group that you manually add objects to, or create a dynamic deployment group that uses a
query to populate the group.
♦ Labels. A label is an object that you can apply to versioned objects in the repository. This
allows you to associate multiple objects in groups defined by the label. You can use labels
to track versioned objects during development, improve query results, and organize groups
of objects for deployment or export and import.
♦ Queries. You can create a query that specifies conditions to search for objects in the
repository. You can save queries for later use. You can make a private query, or you can
share it with all users in the repository.
♦ Track changes to an object. You can view a history that includes all versions of an object
and compare any version of the object in the history to any other version. This allows you
to see the changes made to an object over time.
XML Support
PowerCenter contains XML features that allow you to validate an XML file against an XML
schema, declare multiple namespaces, use XPath to locate XML nodes, increase performance
for large XML files, format your XML file output for increased readability, and parse or
generate XML data from various sources. XML support in PowerCenter includes the
following features:
♦ XML schema. You can use an XML schema to validate an XML file and to generate source
and target definitions. XML schemas allow you to declare multiple namespaces so you can
use prefixes for elements and attributes. XML schemas also allow you to define some
complex datatypes.
♦ XPath support. The XML wizard allows you to view the structure of XML schema. You
can use XPath to locate XML nodes.
♦ Increased performance for large XML files. When you process an XML file or stream, you
can set commits and periodically flush XML data to the target instead of writing all the
output at the end of the session. You can choose to append the data to the same target file
or create a new target file after each flush.
♦ XML target enhancements. You can format the XML target file so that you can easily view
the XML file in a text editor. You can also configure the PowerCenter Server to not output
empty elements to the XML target.
Usability
♦ Copying objects. You can now copy objects from all the PowerCenter Client tools using
the copy wizard to resolve conflicts. You can copy objects within folders, to other folders,
and to different repositories. Within the Designer, you can also copy segments of
mappings to a workspace in a new folder or repository.
♦ Comparing objects. You can compare workflows and tasks from the Workflow Manager.
You can also compare all objects from within the Repository Manager.
xxxii Preface
♦ Change propagation. When you edit a port in a mapping, you can choose to propagate
changed attributes throughout the mapping. The Designer propagates ports, expressions,
and conditions based on the direction that you propagate and the attributes you choose to
propagate.
♦ Enhanced partitioning interface. The Session Wizard is enhanced to provide a graphical
depiction of a mapping when you configure partitioning.
♦ Revert to saved. You can now revert to the last saved version of an object in the Workflow
Manager. When you do this, the Workflow Manager accesses the repository to retrieve the
last-saved version of the object.
♦ Enhanced validation messages. The PowerCenter Client writes messages in the Output
window that describe why it invalidates a mapping or workflow when you modify a
dependent object.
♦ Validate multiple objects. You can validate multiple objects in the repository without
fetching them into the workspace. You can save and optionally check in objects that
change from invalid to valid status as a result of the validation. You can validate sessions,
mappings, mapplets, workflows, and worklets.
♦ View dependencies. Before you edit or delete versioned objects, such as sources, targets,
mappings, or workflows, you can view dependencies to see the impact on other objects.
You can view parent and child dependencies and global shortcuts across repositories.
Viewing dependencies help you modify objects and composite objects without breaking
dependencies.
♦ Refresh session mappings. In the Workflow Manager, you can refresh a session mapping.
Preface xxxiii
About Informatica Documentation
The complete set of documentation for PowerCenter includes the following books:
♦ Data Profiling Guide. Provides information about how to profile PowerCenter sources to
evaluate source data and detect patterns and exceptions.
♦ Designer Guide. Provides information needed to use the Designer. Includes information to
help you create mappings, mapplets, and transformations. Also includes a description of
the transformation datatypes used to process and transform source data.
♦ Getting Started. Provides basic tutorials for getting started.
♦ Installation and Configuration Guide. Provides information needed to install and
configure the PowerCenter tools, including details on environment variables and database
connections.
♦ PowerCenter Connect® for JMS® User and Administrator Guide. Provides information
to install PowerCenter Connect for JMS, build mappings, extract data from JMS messages,
and load data into JMS messages.
♦ Repository Guide. Provides information needed to administer the repository using the
Repository Manager or the pmrep command line program. Includes details on
functionality available in the Repository Manager and Administration Console, such as
creating and maintaining repositories, folders, users, groups, and permissions and
privileges.
♦ Transformation Language Reference. Provides syntax descriptions and examples for each
transformation function provided with PowerCenter.
♦ Transformation Guide. Provides information about how to create and configure each type
of transformation in the Designer.
♦ Troubleshooting Guide. Lists error messages that you might encounter while using
PowerCenter. Each error message includes one or more possible causes and actions that
you can take to correct the condition.
♦ Web Services Provider Guide. Provides information you need to install and configure the Web
Services Hub. This guide also provides information about how to use the web services that the
Web Services Hub hosts. The Web Services Hub hosts Real-time Web Services, Batch Web
Services, and Metadata Web Services.
♦ Workflow Administration Guide. Provides information to help you create and run
workflows in the Workflow Manager, as well as monitor workflows in the Workflow
Monitor. Also contains information about administering the PowerCenter Server and
performance tuning.
♦ XML User Guide. Provides information you need to create XML definitions from XML,
XSD, or DTD files, and relational or other XML definitions. Includes information about
running sessions with XML data. Also includes details on using the midstream XML
transformations to parse or generate XML data within a pipeline.
xxxiv Preface
About this Book
The Designer Guide is written for IS developers and software engineers responsible for
implementing your data warehouse. The Designer Guide assumes that you have a solid
understanding of your operating systems, relational database concepts, and database engines,
flat files, or mainframe system in your environment. This guide also assumes that you are
familiar with the interface requirements for your supporting applications.
The material in the book is available for online use.
Document Conventions
This guide uses the following formatting conventions:
italicized monospaced text This is the variable name for a value you enter as part of an
operating system command. This is generic text that should be
replaced with user-supplied values.
Warning: The following paragraph notes situations where you can overwrite
or corrupt data, unless you follow the specified procedure.
bold monospaced text This is an operating system command you enter from a prompt to
run a task.
Preface xxxv
Other Informatica Resources
In addition to the product manuals, Informatica provides these other resources:
♦ Informatica Customer Portal
♦ Informatica Webzine
♦ Informatica web site
♦ Informatica Developer Network
♦ Informatica Technical Support
xxxvi Preface
The site contains information about how to create, market, and support customer-oriented
add-on solutions based on Informatica’s interoperability interfaces.
Belgium
Phone: +32 15 281 702
Hours: 9 a.m. - 5:30 p.m. (local time)
France
Phone: +33 1 41 38 92 26
Hours: 9 a.m. - 5:30 p.m. (local time)
Germany
Phone: +49 1805 702 702
Hours: 9 a.m. - 5:30 p.m. (local time)
Netherlands
Phone: +31 306 082 089
Hours: 9 a.m. - 5:30 p.m. (local time)
Singapore
Phone: +65 322 8589
Hours: 9 a.m. - 5 p.m. (local time)
Switzerland
Phone: +41 800 81 80 70
Hours: 8 a.m. - 5 p.m. (local time)
Preface xxxvii
xxxviii Preface
Chapter 1
1
Overview
The Designer has tools to help you build mappings and mapplets so you can specify how to
move and transform data between sources and targets. The Designer helps you create source
definitions, target definitions, and transformations to build your mappings.
The Designer allows you to work with multiple tools at one time and to work in multiple
folders and repositories at the same time. It also includes windows so you can view folders,
repository objects, and tasks.
You can configure general Designer settings, such as background color and font. You can also
configure specific tool settings for each Designer tool.
Designer Tools
The Designer provides the following tools:
♦ Source Analyzer. Use to import or create source definitions for flat file, XML, COBOL,
Application, and relational sources.
♦ Warehouse Designer. Use to import or create target definitions.
♦ Transformation Developer. Use to create reusable transformations.
♦ Mapplet Designer. Use to create mapplets.
♦ Mapping Designer. Use to create mappings.
Designer Windows
The Designer consists of the following windows:
♦ Navigator. Use to connect to and work in multiple repositories and folders. You can also
copy and delete objects and create shortcuts using the Navigator.
♦ Workspace. Use to view or edit sources, targets, mapplets, transformations, and mappings.
You can work with a single tool at a time in the workspace. You can use the workspace in
default or workbook format.
♦ Status bar. Displays the status of the operation you perform.
♦ Output. Provides details when you perform certain tasks, such as saving your work or
validating a mapping. Right-click the Output window to access window options, such as
printing output text, saving text to file, and changing the font size.
♦ Overview. An optional window to simplify viewing workbooks containing large mappings
or a large number of objects. Outlines the visible area in the workspace and highlights
selected objects in color. To open the Overview window, choose View-Overview Window.
♦ Instance Data. View transformation data while you run the Debugger to debug a
mapping. For more information, see “Using the Debugger” on page 249.
Navigator
Overview 3
Figure 1-2 illustrates the Overview window:
Overview Window
1. Choose Tools-Options.
Reload Tables/Mappings Reloads the last view of a tool when you open it. For example, if you have a mapping
when Opening a Folder open when you disconnect from a repository, and you select this option, the next time
you open the folder and the Mapping Designer, the same mapping displays.
Ask Whether to Reload Appears only when you select Reload Tables/Mappings when Opening a Folder.
the Tables/Mappings Select to have the Designer prompt you to reload objects each time you open a
folder.
Display Tool Names on Displays the name of the tool in the upper left corner of the workspace or workbook.
Views
Overview Window Pans By default, when you drag the focus of the Overview window, the focus of the
Delay workbook moves concurrently. When you select this option, the focus of the
workspace does not change until you release the mouse button.
Save MX Data Select this option to use MX Views for third party repository tools.
Receive Notifications Allows you to receive notification messages in the Designer and view them in the
from Server Output window. Notification messages include information about objects that are
created, modified, or deleted by another user or notices posted by the Repository
Server administrator.
Group Source by Dbds Displays sources grouped by database in the Navigator. Otherwise, sources appear
in alphabetical order by source name, with the database name in parentheses.
Display Sources Using Displays sources by business names in the Navigator. If you enable the option to
Business Names display sources by business names, the Navigator displays the business names first,
and then the source type name and table name in parentheses.
Display Targets Using Displays targets by business names in the Navigator. If you enable the option to
Business Names display targets by business names, the Navigator displays the business names first,
then the target type name and table name in parentheses.
Workspace File The directory for workspace files created by the Designer. Workspace files maintain
the last source or target you opened, or the last mapping you saved. This directory
should be a local directory to prevent file corruption or overwrites by multiple users.
By default, the Designer creates files in the installation directory.
HTML Documentation The HTML or URL path to enter links to business documentation .
Path or URL
1. Choose Tools-Options.
2. Click the Tables tab.
3. From the Tables list, select the repository object you want to customize.
Background(2) The second background color. You can combine two background colors to create a color
gradient in the title bar of the repository object. Choose the same color for Background and
Background(2) if you do not want a color gradient.
Columns Available All available columns display when the repository object is fully sized.
Columns Selected Columns that display in the Designer when the repository object appears fully sized. To
display a column, select the column in Available Columns and click the arrow button to
move the column into the Columns Selected section. You can also delete and change the
order in which the columns appear.
Show Tooltips Shows column or object name when you point to the column or the title bar of the
repository object. When selected, this option also displays business names when you point
to the icon on the title bar of the object. This option applies to all repository objects.
1. Choose Tools-Options.
Some options in the Format tab are disabled, depending on which tool you choose to
edit. Items in Workspace Colors also depend on which tool you select.
3. You can configure the following format options for the selected tool:
Tools All tools Select the Designer tool you want to customize.
Import Primary Keys Source Analyzer/ Select to have the Designer import primary keys for relational
Warehouse Designer source or target definitions.
Import Foreign Keys Source Analyzer/ Select to have the Designer import foreign keys for relational
Warehouse Designer source or target definitions.
Create Source Mapping Designer/ Select to have the Designer automatically create a Source
Qualifier when Mapplet Designer Qualifier or a Normalizer transformation for each source you
Opening Sources add to the mapping. Clear the option if you want to manually
create all Source Qualifiers and Normalizers. You might want
to create a Source Qualifier manually when you use the
Source Qualifier to join relational tables.
Use Business Names Mapping Designer/ Select to have the Source Qualifier use business names as
as Column Names for Mapplet Designer column names.
Source Qualifier
Workspace Colors All tools Select to have Workspace Colors display all items that you
can customize in the selected tool.
Color All tools Select the color of the selected item in Workspace Colors.
Font Categories All tools Select a Designer tool that you want to customize.
Change Font All tools Select to change the display font and language script for the
Designer tool you selected from the Categories menu. You
might want to do this if the PowerCenter Client code page is
different from the source file code page.
Reset All All tools Select to reset all Format options to their original default
values.
1. Choose Tools-Options.
2. Click the Debug tab.
Option Description
Data Display Select information to display in the Target Data and Instance Data windows.
TCP/IP Select a specific TCP/IP port or a range of ports for the Designer connection to the
PowerCenter Server.
1. Choose Tools-Options.
2. Select the Miscellaneous tab.
Option Description
Generate Unique Name Generates unique names for copied objects if you select the Rename option. For
When Resolved To “Rename” example, if the source object s_customers has the same name as a source in
the destination folder, the Rename option generates the unique name
s_customers1. Enabled by default.
Show Check Out Image in Displays the Check Out icon when you check out an object. Enabled by default.
Navigator
Reset All Resets all Copy Wizard and Versioning options to their default values.
♦ Repository. Contains buttons to connect to and disconnect from repositories and folders,
export and import objects, save changes, and print mappings or mapplets.
Figure 1-4 displays the Repository toolbar:
♦ View. Contains buttons to customize toolbars, toggle windows, toggle full-screen view,
change workspace mode, and view properties.
Figure 1-5 displays the View toolbar:
♦ Layout. Contains buttons to iconize, and arrange repository objects, copy, link, and move
columns, and zoom in/out of the workspace.
Figure 1-6 displays the Layout toolbar:
♦ Versioning. Contains buttons to check in objects, undo checkouts, find checkouts, view
history, undo labels, and manage queries.
Figure 1-9 displays the Versioning toolbar:
Once a toolbar appears, it displays until you exit the Designer or hide the toolbar. You can
click and drag each toolbar to resize and reposition each toolbar.
If you do not see all buttons in the toolbar, you can customize the toolbar. For more
information, see “Customizing a Toolbar” on page 14.
Displaying a Toolbar
You can configure a toolbar to display at all times.
To display a toolbar:
1. Choose Tools-Customize.
2. On the Toolbars tab, select the toolbars you want to display.
3. To show tooltips as you hold the cursor over a toolbar button, select Show Tooltips.
4. Click OK.
Note: You can configure the toolbars to display in the Designer, Workflow Manager, and the
Workflow Monitor.
Creating a Toolbar
You can create a new toolbar and choose buttons for the new toolbar.
Using Toolbars 13
To create a new toolbar:
1. Choose Tools-Customize.
2. On the Toolbars tab, click New.
3. Enter a name for the new toolbar and click OK.
A new floating toolbar appears, and the toolbar name appears in the toolbar list.
4. Click the Commands tab.
5. Select a toolbar from the Categories list to view the buttons available.
6. Drag any desired button from the Buttons area to the new floating toolbar.
7. Repeat steps 5 and 6 as necessary.
8. Click OK when you finish creating the toolbar.
Note: You can create toolbars in the Designer, Workflow Manager, and the Workflow Monitor.
Customizing a Toolbar
You can customize an existing toolbar by adding or removing buttons on the toolbar.
To customize a toolbar:
1. Choose Tools-Customize.
2. Verify you select the toolbar you want to customize.
The toolbar appears.
3. To remove a button from the toolbar, drag the button from the toolbar to the Customize
dialog box.
4. To add a button, click the Commands tab.
5. Select a toolbar from the Categories list to view the buttons available.
6. Drag any desired button from the Buttons area to the customized toolbar.
7. Repeat steps 5 and 6 as necessary.
8. Click OK when you finish customizing the toolbar.
Note: You can customize toolbars to display in the Designer, Workflow Manager, and the
Workflow Monitor.
The Menu Contents list displays the custom tools. The Designer places the tool names at the
bottom of the Tools menu in the order in which they appear in this list.
Option Description
Command The name and file path of the tool executable file. Click the Browse button to select the
executable file.
Arguments The arguments that the Designer passes to the custom tool. The arguments are optional or
required, depending on the tool.
If you want the Designer to prompt you for arguments when you start the custom tool, select
Prompt for Arguments.
Initial Directory The directory in which the custom tool should start. If you do not enter an initial directory, the
Designer uses the custom tool program executable directory.
5. Click OK.
The Designer adds the new tool to the Tools menu.
Search Tools
The Designer includes the Find Next and Find in Workspace tools to help you find columns
or ports in repository objects, or strings in the output window.
Find Next
You can use the Find Next tool to search for a column or port name (or any set of characters
in a name) in:
♦ Transformations
♦ Mapplets
♦ Source definitions
♦ Target definitions
With the Find Next tool, you can search one object at a time. You cannot search multiple
objects at the same time. You can use Find Next in each Designer tool. Select a single
transformation or click in the Output window before performing the search.
The Designer saves the last 10 strings searched in the Find Next box on the Standard toolbar.
1. Select the transformation, mapplet, source or target definition, or click the Output
window.
2. Enter the text you want to search in the Find box on the Standard toolbar. For example,
you might enter add to locate an address column.
3. Select Edit-Find Next, click the Find Next button, or press Enter to search for the string.
4. Press Enter again to search for the next occurrence of the search string. The Designer
searches each port or column name in the transformation and wraps to the top of the
transformation until it finds a match.
Find in Workspace
You can search for a string in the Save, Generate, or Validate tabs in the Output window. The
Find in Workspace tool searches for a field name or transformation name in all
transformations in the workspace.
The Find in Workspace tool lets you to search all of the transformations in the workspace for
port or transformation names. You can search for column or port names or table names
matching the search string. You can specify whether to search across all names in the
workspace, or across the business name of a table, column, or port. You can also choose to
search for whole word matches for the search string or matches which match the case of the
search string.
1. In any of the Designer tools, click the Find in Workspace button, or choose Edit-Find in
Workspace.
Fields The Designer searches for column or port names matching the search text.
Tables The Designer searches for table names matching the search text.
3. Specify the search string in the Find What entry field, or select a search string from the
list.
The Designer saves the last 10 search strings in the list.
4. Specify whether you want to look for matches to the search text among all names or
business names.
Names The Designer searches across all names of tables, columns, or ports in the
workspace.
Business names The Designer searches across the business names of tables, columns, or ports in
the workspace.
Look in all tables Select this option to search across all tables in the workspace. If you do not select
this option, the Designer searches across all currently selected tables in the
workspace. This option is automatically selected when you search for table names
matching the search string.
Match whole word Select this option to find names or business names that match the specified string.
only
Match case Select this option if you want to search for strings that match the case of the
specified search string.
1. Choose Layout-Arrange.
2. Select desired pipelines by target.
You can select the Iconic option to display arranged pipelines in iconized form.
3. Click OK.
Adding a Repository
When you want to access information in another repository, you must add a definition of that
repository to the Designer.
To add a repository in the Navigator, select Repository-Add to enter the repository name and
user name. You can also click the Add a Repository button on the Repository toolbar.
You must configure a Repository Agent in the Repository Manager in order to connect to a
repository. For more information about configuring a Repository Agent, see “Managing the
Repository” in the Repository Guide.
Designer Tasks 23
Viewing the Last Saved Date/Time
You can view the date and time an object was last saved in the repository. To view the “Last
Saved” date and time, select the object in the Navigator and select View-Properties.
Note: Sources do not have a “Last Saved” date and time.
For Windows, you can use Regional Settings in the Control Panel to customize the “Last
Saved” date and time format.
Creating Shortcuts
To create a shortcut to an object in a shared folder, drag the object into the destination folder
or into the mapping. For example, to create a shortcut to a source, drag the source from the
shared folder into the mapping you have open in the workspace. You can also create a shortcut
by dropping the source into the destination folder. To use the new shortcut, drag it into the
workspace.
You can create a shortcut to a shared folder in the same repository. You can also create a
shortcut in a local repository that points to a shared folder in the global repository, as long as
both repositories are in the same domain.
As with copying objects, the destination folder must be open.
Note: You cannot create shortcuts to objects in non-shared folders.
For more information about shortcuts, see “Local and Global Shortcuts” in the Repository
Guide.
Checking In Objects
You commit changes to the repository by checking in objects. When you check in an object,
the repository creates a new version of the object and assigns it a version number. The
repository increments the version number by one each time you save a new version.
You can check in an object from the Designer workspace. To check in an object from the
Designer workspace, select the object and choose Versioning-Check in.
You can check in an object when you review the results of the following tasks:
♦ View object history. You can check in an object from the View History window when you
view the history of an object.
♦ View checkouts. You can check in an object from the View Checkouts window when you
search for checked out objects.
♦ View query results. You can check in an object from the Query Results window when you
search for object dependencies or run an object query.
To check in the object, select the object or objects and choose Tools-Check in. Enter text into
the comment field in the Check in dialog box.
Designer Tasks 25
Figure 1-13 shows the Designer Check In dialog box:
When you check in the object, the repository creates a new object version and increments the
version number by one.
Edit a query.
Delete a query.
Create a query.
Configure permissions.
Run a query.
From the Query Browser, you can create, edit, and delete queries. You can also configure
permissions for each query from the Query Browser. You can run any query for which you
have read permissions from the Query Browser.
For information about working with object queries, see the Repository Guide.
Designer Tasks 27
♦ Mappings
1. In the Designer, open the tool associated with the object you want to copy. For example,
open the Mapping Designer if you want to copy a mapping as an image.
2. Open the object you want to copy.
If you choose to show iconized mappings, the copied image does not show mapping
links. You can copy the mapping links by selecting them manually.
3. Click and drag the pointer to create a rectangle around the objects you want to select.
You can also Ctrl-click to select individual objects. However, if you use this method to
select objects, the copied image does not show mapping links.
4. Press Alt+Ctrl+C or choose Edit-Copy As Image.
You can copy one image to the Clipboard at a time.
5. Paste the image into the workspace of any application that uses graphic files. For
example, you can paste the image into a Microsoft Word document.
Designer Tasks 29
Working with Multiple Ports or Columns
In all Designer tools, you can move or delete multiple ports or columns at the same time.
Note: You cannot select multiple ports or columns when editing COBOL sources in the
Source Analyzer.
Row Header
Number
4. Hold down the Shift key as you click the last port or column in the range that you want
to move or delete.
The Designer highlights all ports or columns within the selected range.
Or, to select individual ports or columns, hold down the Ctrl key and click each port or
column using the row header number you want to move or delete.
Note: When you select multiple ports or columns, the Designer disables add, copy, and
paste.
5. Click Delete.
Renaming Ports
You can rename ports in sources, targets, and transformations. To rename a port in a source,
target, or transformation, double-click and type in the new name. The Designer propagates
the new name to the mappings and mapplets that use this source, target, or transformation.
You can rename ports in the following Designer tools:
Task Shortcut
Edit the text of a cell. F2, then move the cursor to the desired location.
Find all combination and list boxes. Type the first letter on the list.
Open the Expression Editor from the expression field. F2, then press F3
Designer Tasks 31
Working with Metadata Extensions
You can extend the metadata stored in the repository by associating information with
individual repository objects. For example, you may wish to store your contact information
with the sources you create. If you create an Aggregator transformation, you may wish to store
your email address with that transformation. You associate information with repository
objects using metadata extensions.
Repository objects can contain both vendor-defined and user-defined metadata extensions.
You can view and change the values of vendor-defined metadata extensions, but you cannot
create, delete, or redefine them. You can create, edit, delete, and view user-defined metadata
extensions, as well as change their values.
You can create metadata extensions for the following objects in the Designer:
♦ Source definitions
♦ Target definitions
♦ Transformations
♦ Mappings
♦ Mapplets
You can create either reusable or non-reusable metadata extensions. You associate reusable
metadata extensions with all repository objects of a certain type, such as all source definitions
or all Expression transformations. You associate non-reusable metadata extensions with a
single repository object, such as one target definition or one mapping.
For more information about metadata extensions, see “Metadata Extensions” in the Repository
Guide.
To create, edit, and delete user-defined metadata extensions in the Designer, you must have
read and write permissions on the folder.
Add Button
User-Defined
Metadata
This tab lists the existing user-defined and vendor-defined metadata extensions. User-
defined metadata extensions appear in the User Defined Metadata Domain. If they exist,
vendor-defined metadata extensions appear in their own domains.
5. Click the Add button.
A new row appears in the User Defined Metadata Extension Domain.
6. Enter the information in Table 1-2:
Required/
Field Description
Optional
Extension Name Required Name of the metadata extension. Metadata extension names must
be unique for each type of object in a domain.
Metadata extension names cannot contain special characters
except underscores and cannot begin with numbers.
Precision Required for string The maximum length for string metadata extensions.
extensions
Value Optional For a numeric metadata extension, the value must be an integer
between -2,147,483,647 and 2,147,483,647.
For a boolean metadata extension, choose true or false.
For a string metadata extension, click the Open button in the Value
field to enter a value of more than one line, up to 2,147,483,647
bytes.
Required/
Field Description
Optional
UnOverride Optional Restores the default value of the metadata extension when you
click Revert. This column appears only if the value of one of the
metadata extensions was changed.
7. Click OK.
1. In the Source Analyzer or Warehouse Designer, open the source or target definition.
2. In the Edit Tables dialog box, click Rename.
3. Enter the business name in the Business Name field.
4. Click OK.
To display business names in the Navigator, enable the Display Table As Business Name
option. The business name appears in the Navigator with the table name in parentheses.
If you create a shortcut to a source or target when you enable business names to display in the
Navigator, the Designer names the shortcut Shortcut_To_BusinessName. For more
information, see “Configuring General Options” on page 5.
♦ Complete file path or link. Precede the file path with ://, such as file://c:\doc\help\ or
http://internal.company.com/doc/help/. A file path must be preceded by file:// to be valid.
To create a link, edit the properties of the object. How you do this depends on the type of
object you want to document.
Table 1-3 summarizes how to create a link for repository objects:
Table/Transformation - Double-click the table/transformation in the workspace to open the Edit dialog
box.
- Enter the documentation link in the Description window.
Business Component Directory - Select the business component directory in the Navigator.
- Select Repository-Business Component-Edit Properties.
- Enter the documentation link in the comment field.
Tip: To add comments to individual business components, edit the properties of the original
object it references.
41
Overview
To extract data from a source, you must first define sources in the repository. You can import
or create the following types of source definitions in the Source Analyzer:
♦ Relational tables, views, and synonyms
♦ Fixed-width and delimited flat files that do not contain binary data.
♦ COBOL files
♦ XML files
♦ Data models using certain data modeling tools through Metadata Exchange for Data
Models (an add-on product)
For more information about XML files, see the XML User Guide.
For information about flat file sources, see “Working with Flat Files” on page 69.
Note: Because source definitions must match the source, Informatica recommends importing
definitions instead of creating them manually.
@#$_ Retains the character in the source Retains the character in the source instance
definition table name. table name.
Retains the character in the source Retains the character in the source instance
definition column names. column names.
Retains the character in the Source Qualifier
transformation name.
Retains the character in the Source Qualifier
transformation port names.
Does not use quotation marks around the
table or column names in the SQL query.
/+-=~`!%^&*()[]{} Retains the character in the source Replaces the character in the source instance
';?,<>\| <space> definition table name. table name with the underscore character.
Retains the character in the source Retains the character in the source instance
definition column names. column names.
Replaces the character in the Source
Qualifier transformation name with the
underscore character.
Replaces the character in the Source
Qualifier transformation port names with the
underscore character.
Delimits table and column names including
special characters with quotation marks in the
SQL query.
.":\t\r\n The Designer does not recognize The Designer does not recognize these
these characters in relational source characters in relational source table and
table and column names. column names.
According to Table 2-1, when you add a relational source definition with slash characters in
the table name to a mapping, the Designer replaces the slash character with an underscore
character. However, the Designer retains slash characters in mapping port names.
Overview 43
Table 2-2 describes how the Designer handles special characters in non-relational sources:
@#$_ Retains the character in the source Retains the character in the source
definition table name. instance table name.
Retains the character in the source Retains the character in the source
definition column names. instance column names.
Note: You cannot use the @ character as Retains the character in the Source
the first character in a table or column Qualifier transformation name.
name. Retains the character in the Source
Qualifier transformation port names.
Note: You cannot use the @ character as
the first character in a table or column
name.
/ Retains the character in the source Replaces the character in the source
definition table name. instance table name with the underscore
Retains the character in the source character.
definition column names. Retains the character in the source
instance column names.
Replaces the character in the Source
Qualifier transformation name with the
underscore character.
Replaces the character in the Source
Qualifier transformation port names with
the underscore character.
.+-=~`!%^&*()[]{}'" The Designer does not recognize these The Designer does not recognize these
;:?,<>\| characters in non-relational source table characters in non-relational source table
\t\r\n <space> and column names. and column names.
Some databases require special configuration or commands to allow table and field names
containing the slash character. For more information, consult the database documentation.
Modification Result
Change a column datatype. Mappings may be invalidated. If the column is connected to an input port that uses a
datatype incompatible with the new one (for example, Decimal to Date), the mapping is
invalidated.
Modification Result
Change a column name. Mapping may be invalidated. If you change the column name for a column you just
added, the mapping remains valid. If you change the column name for an existing
column, the mapping is invalidated.
Delete a column. Mappings may be invalidated if the mapping uses values from the deleted column.
When you add a new column to a source in the Source Analyzer, all mappings using the
source definition remain valid. However, when you add a new column and change some of its
properties, the Designer invalidates mappings using the source definition.
You can change the following properties for a newly added source column without
invalidating a mapping:
♦ Name
♦ Datatype
♦ Format
♦ Usage
♦ Redefines
♦ Occurs
♦ Key type
If the changes invalidate the mapping, you must open and edit the mapping. Then choose
Repository-Save to save the changes to the repository. If the invalidated mapping is used in a
session, you must validate the session. For more information about validating sessions, see
“Working with Sessions” in the Workflow Administration Guide.
Creating Sessions
When you create a session, you can specify a source location different from the location you
use when you import the source definition. If the source is a file, you can override some of the
file properties when you create a session. For more information, see “Working with Sources”
in the Workflow Administration Guide.
Overview 45
Working with Relational Sources
You can add and maintain relational source definitions for tables, views, and synonyms:
♦ Import source definitions. Import source definitions into the Source Analyzer.
♦ Update source definitions. Update source definitions either manually, or by reimporting
the definition.
2. Select the ODBC data source used to connect to the source database.
If you need to create or modify an ODBC data source, click the Browse button to open
the ODBC Administrator. Create the appropriate data source and click OK. Select the
new ODBC data source.
3. Enter a database user name and password to connect to the database.
Note: The user name must have the appropriate database permissions to view the object.
You may need to specify the owner name for database objects you want to use as sources.
4. Click Connect.
5. Scroll down through the list of sources to find the source you want to import. Select the
relational object or objects you want to import.
You can hold down the Shift key to select a block of sources within one folder, or hold
down the Ctrl key to make non-consecutive selections within a folder. You can also select
all tables within a folder by selecting the folder and clicking Select All. Use the Select
None button to clear all highlighted selections.
6. Click OK.
New Source
Definition
7. Choose Repository-Save.
1. In the Source Analyzer, double-click the title bar of the source definition.
Select Table Displays the source definition you are editing. To choose a different open source
definition to edit, select it from the list.
Rename button Opens a dialog box to edit the name of the source definition and enter a business name.
Description Optional description of source table. Character limit is 2,000 bytes/K, where K is the
maximum number of bytes for each character in the repository code page. Enter links to
business documentation.
Database Type Indicates the source or database type. If necessary, select a new database type.
3. Click the Columns Tab. Edit column names, datatypes, and restrictions as needed. Click
OK.
1. In the Designer, connect to the repository containing the source definition you wish to
update.
2. Open the Source Analyzer and import the source definition again.
4. To view the differences between the table you are importing and the existing table, click
Compare. A dialog box displays the attributes in each source side-by-side.
For more information about comparing sources, see “Comparing Sources” on page 303.
5. Specify whether you want to retain primary key-foreign key information or source
descriptions in the existing source definition.
The following table describes the options available in the Table Exists dialog box when
reimporting a source definition:
Option Description
Apply to all tables Select this option to apply rename, replace, or skip all tables in the
folder.
Retain user-defined Pk-Fk relationships Select this option if you want to keep the primary key-foreign key
relationships in the source definition being replaced.
Retain user-defined descriptions Select this option if you want to retain the source description and
column and port descriptions of the source definition being
replaced.
Option Description
Replace Replace the existing source definition with the new one.
7. If you click Rename, enter the name of the source definition and click OK.
8. Choose Repository-Save to save the new source definition.
program-id. mead.
environment division.
data division.
file section.
fd FILE-ONE.
01 SCHOOL-REC.
procedure division.
stop run.
TabSize=n
n is the number of spaces the Designer reads for every tab character.
Suppose your COBOL copybook file is called sample.cpy. The COBOL file below shows how
to use the copy statement to insert the sample copybook into a COBOL file template:
program-id. mead.
environment division.
select file-one assign to "fname".
data division.
file section.
fd FILE-ONE.
copy “sample.cpy”.
working-storage section.
procedure division.
stop run.
1. Open the Source Analyzer, and choose Sources-Import from COBOL file.
2. Select the COBOL file you want to analyze.
FD Section
The Designer assumes that each FD entry defines the equivalent of a source table in a
relational source and creates a different COBOL source definition for each such entry. For
example, if the COBOL file has two FD entries, CUSTOMERS and ORDERS, the Designer
creates one COBOL source definition containing the fields attributed to CUSTOMERS, and
another with the fields that belong to ORDERS.
Fields
The Designer identifies each field definition, reads its datatype (numeric, string, or nstring),
and assigns it to the appropriate source definition. Each field definition includes a large
number of possible attributes, described later in this section.
OCCURS
COBOL files often contain multiple instances of the same type of data within the same
record. For example, a COBOL file may include data about four different financial quarters,
each stored in the same record. When the Designer analyzes the file, it creates a different
column for each OCCURS statement in the COBOL file. These OCCURS statements define
repeated information in the same record. You can use the Normalizer transformation to
normalize this information.
For each OCCURS statement, the Designer creates the following items:
♦ One target table when you drag the COBOL source definition into the Warehouse
Designer.
♦ A primary-foreign key relationship
♦ A generated column ID (GCID)
REDEFINES
COBOL uses REDEFINES statements to build the description of one record based on the
definition of another record. When you import the COBOL source, the Designer creates a
single source that includes REDEFINES.
Storage Type
Table 2-4 shows the COBOL file properties that you can set on the Table tab:
Required/
Table Option Description
Optional
Rename button Optional Use the Rename button to rename the source definition and enter a
business name for the source definition.
Database Type Required Source location or type. This must be set to VSAM.
IBM COMP Optional Indicates the storage type. If selected, the PowerCenter Server uses word
storage. Otherwise, it uses byte storage.
Advanced button Required Use the Advanced button to open a dialog box with fixed-width options.
All of the columns in HST_MTH are at the same level, 7, in this COBOL source. The
heading for the record HST_MTH is at level 5, two levels above the columns in that
source.
♦ FD Section. You may need to configure the source definition to group fields. Although the
Designer creates a separate source definition for each FD entry in the COBOL file, each
entry may represent the functional equivalent of multiple tables of data. When you
configure the source definition, you create different levels of fields within the source to
group data into separate pseudo-tables.
♦ Field Attributes. When you review a COBOL source, you see several attributes for each
field (the COBOL equivalent of a column), representing the ways in which you can
configure a field in a COBOL file.
Among these attributes, the picture clause is the most fundamental, since it shows how the
COBOL file represents data. COBOL uses its own set of conventions for configuring how
data is formatted within the column. For example, the picture X(32) indicates that text
data in the field is 32 bytes long. The picture clause 9(7) indicates that the field contains
Table 2-5 describes the attributes you can set in the Columns tab of a COBOL source
definition:
Attribute Description
Physical offsets (POffs) The offset of the field in the file. The Designer calculates this read-only setting using
the physical length, picture, usage, and REDEFINES settings for the field.
Level An indicator used to identify all fields that provide data for the same record. If you want
to group fields, you set all its columns to the same level. Using this feature, it is
possible to create multiple record types (the equivalent of separate tables of data) from
the same COBOL source.
Occurs A COBOL statement indicating that multiple instances of this field appear in the same
record.
Attribute Description
Usage The storage format for data in the field. Different COBOL conventions exist, such as
COMP-1 and COMP-X. All available conventions appear in the drop-down list of
usages for each field.
Key Type The type of key constraint to apply to this field. When you configure a field as a primary
key, the PowerCenter Server generates unique numeric IDs for this field when running
a workflow using the COBOL file as a source.
Signed (S) Indicates whether numeric values in the field are signed.
Trailing sign (T) If selected, indicates that the sign (+ or -) exists in the last digit of the field. If not
selected, the sign appears as the first character in the field.
Included sign (I) Indicates whether the sign is included in any value appearing in the field.
Real decimal point (R) For numeric values, specifies whether the decimal point is a period (.) or a V character.
Redefines Indicates that the field uses a REDEFINES statement in COBOL to base its own field
definition on that of another field.
Shift key You can define the shift state for shift-sensitive COBOL files that do not contain shift
keys.
This attribute appears when you select User Defined Shift State in the Edit Flat File
Information dialog box for fixed-width files.
Choose Shift-In if the column contains single-byte characters. Choose Shift-Out if the
column contains multibyte characters.
For more information, see “Working with Shift-Sensitive Flat Files” on page 103.
Defining Ranges
The Designer creates source definitions based on ranges you define in Microsoft Excel. You
can define one or more ranges in a Microsoft Excel sheet. If you have multiple sheets, define
at least one range for each sheet. When you import sources in the Designer, each range
displays as a relational source.
You must define a range in the Designer to import the Excel source.
To define a range:
6. Click OK.
7. Choose File-Save.
1. In the Designer, connect to the repository and open the folder for the source definition.
3. Select Excel Files (Microsoft Excel Driver (*.xls)) for the data source.
4. Click the Browse button to open the ODBC Administrator.
5. In the User or System DSN tabs, depending on where you created the data source,
double-click the Microsoft Excel driver.
6. Click Select Workbook and browse for the Microsoft Excel file, which is considered a
relational database.
Range displayed as
table definition.
9. Select the table you want to import. To select more than one table, hold down the Ctrl or
Shift keys to highlight multiple tables.
10. Click OK.
The newly-created source definition appears in the Source Analyzer.
If you receive this error, increase the value of the APPLHEAPSZ variable for your DB2
operating system. APPLHEAPSZ is the application heap size (in 4KB pages) for each process
using the database.
Troubleshooting 67
68 Chapter 2: Working with Sources
Chapter 3
69
Overview
You can use flat files as sources, targets, and lookups in a mapping. To do so, you must first
create or import the definitions in the repository. You can import or create flat file source
definitions in the Source Analyzer. You can import or create flat file target definitions in the
Warehouse Designer. You can import flat files lookups or use existing file definitions in a
Lookup transformation.
For more information about flat file lookups, see “Lookup Transformation” in the
Transformation Guide.
Note: Because source definitions must exactly match the source, Informatica recommends
importing file source definitions instead of creating them manually.
2. Select the file you want to use, and select a code page.
Code pages display that are compatible with the repository code page. When you import
a flat file source definition, select a code page that is a subset of the PowerCenter Server
code page.
When you import a flat file target definition, select a code page that is a superset of the
PowerCenter Server code page.
3. Click OK.
The contents of the file appear in the window at the bottom of the Flat File Wizard.
Flat File Type Required File type. Select Fixed Width for a fixed-width file.
Enter a name for this Required This does not have to be the name of the file.
definition
Start Import At Row Optional Indicates the row number at which the Flat File Wizard starts reading
when it imports the file.
For example, if you specify to start at row 2, the Flat File Wizard skips
1 row before reading.
Import Field Names Optional If selected, the Designer uses data in the first row for column names.
From First Line Select this option if column names appear in the first row. Invalid field
names are prepended with “FIELD_.”
5. Click Next.
Follow the directions in the wizard to manipulate the column breaks in the file preview
window. Move existing column breaks by dragging them. Double-click a column break to
delete it.
For shift-sensitive files, the Flat File Wizard displays single-byte shift characters as ‘.’ in
the window. Double-byte shift characters display as ‘..’ in the window so you can
configure the column breaks accurately.
Name Required The port name that you want to appear for each column. If you
select Import Field Names from First Line, the wizard reads the
column names provided in the file.
Datatype Required Column datatype. Select Text, Numeric, or Datetime, and then enter
the appropriate Length/Precision, Scale, and Width.
For numeric columns, Precision is the number of significant digits,
and Width is the number of bytes to read from source files or to write
to target files.
For text columns, Precision is measured in bytes for fixed-width files
and in characters for delimited files.
By default, the Flat File Wizard enters the same value for both
Precision and Width. You can change the value of the precision to
enter the number of significant digits, but the width must be greater
than or equal to the precision.
Note: Only characters 0 to 9 are considered numeric. Columns that
contain multibyte character set numbers, such as Japanese, are
considered text.
7. Click Finish.
8. Choose Repository-Save.
Note: If the file size exceeds 256 KB or contains more than 16 KB of data for each row, verify
that the Flat File Wizard imports the file with the correct field precision and width. If not,
adjust the field precision and width in the Flat File Wizard or in the imported definition.
2. Select the file you want to use, and select a code page.
Code pages display that are compatible with the repository code page. When you import
a file source definition, select a code page that is a subset of the PowerCenter Server code
page.
When you import a file target definition, select a code page that is a superset of the
PowerCenter Server code page.
3. Click OK.
Flat File Type Required File type. Select Delimited for a delimited file.
Enter a name for this Required This does not have to be the name of the file.
definition
Start Import At Row Optional Indicates the row number at which the Flat File Wizard starts reading
when Flat File Wizard imports the file.
For example, if you specify to start at row 2, the Flat File Wizard skips
1 row before reading.
Import Field Names From Optional If selected, the Designer uses data in the first row for column names.
First Line Select this option if column names appear in the first row. Invalid field
names are automatically prepended with “FIELD_”.
5. Click Next.
Delimiters Required Character used to separate columns of data. Use the Other field
to enter a different delimiter. Delimiters must be printable
characters and must be different from the escape character and
the quote character (if selected). You cannot select unprintable
multibyte characters as delimiters.
For more information, see “Rules for Delimited File Settings” on
page 92.
Treat Consecutive Optional If selected, the Flat File Wizard reads one or more consecutive
Delimiters as One delimiters as one. Otherwise, the Flat File Wizard reads two
consecutive delimiters as a null value.
Remove Escape Optional This option is selected by default. Clear this option to include
Character From Data the escape character in the output string.
Use Default Text Length Optional If selected, the Flat File Wizard uses the entered default text
length for all string datatypes.
Text Qualifier Required Quote character that defines the boundaries of text strings.
Choose No Quote, Single Quote, or Double Quotes. If you
select a quote character, the Flat File Wizard ignores delimiters
within pairs of quotes. For more information, see “Rules for
Delimited File Settings” on page 92.
7. Click Next.
Name Required The port name that you want to appear for each column. If you
select Import Field Names from First Line, the wizard reads the
column names provided in the file instead.
Datatype Required Column datatype. Select Text, Numeric, or Datetime, and then
enter the appropriate Length/Precision, Scale, and Width.
For numeric columns, Precision is the number of significant digits.
The Flat File Wizard ignores the width for numeric columns in
delimited files.
For Text columns, Precision is the maximum number of characters
contained in the source field or the target field. The Flat File Wizard
ignores the precision when reading text columns in or writing text
columns to delimited files.
By default, the Flat File Wizard enters the same value for both
Precision and Width. You can change the value of the precision or
width, but the Flat File Wizard only allows you to define the
precision to be greater than or equal to the width.
For more information, see “Formatting Flat File Columns” on
page 94.
Note: Only characters 0 to 9 are considered numeric. Columns that
contain multibyte character set numbers, such as Japanese, are
considered text.
9. Click Finish.
10. Choose Repository-Save.
Note: If the file size exceeds 256 KB or contains more than 16 KB of data for each line, verify
that the Flat File Wizard imports the file with the correct field precision. If not, adjust the
field precision in the Flat File Wizard or in the imported definition.
You can edit the following options on the Table tab of a flat file source or target definition:
♦ Business name. Add a more descriptive name to the source or target definition.
♦ Description. Add a comment or link to business documentation. These display in
Repository Manager for the source or target definition. Adding comments or business
documentation links to a source or target is an easy way to document its purpose. You can
add or modify comments to any existing source or target.
For more information about creating links to business documentation, see “Using Business
Documentation” on page 39.
You can enter up to (2,000 bytes)/K characters in the description, where K is the
maximum number of bytes a character contains in the selected repository code page. For
example, if the repository code page is a Japanese code page where K=2, each description
and comment field allows you to enter up to 1,000 characters.
♦ Keywords. Allows you to keep track of your flat file targets. As development and
maintenance work continues, the number of targets increases. While all of these targets
may appear in the same folder, they may all serve different purposes. Keywords can help
you find related targets. Keywords can include developer names, mappings, or the
associated schema.
You can use keywords to perform searches in the Repository Manager. For more
information about keyword searches in the Repository Manager, see “Using the Repository
Manager” in the Repository Guide.
1. In the Source Analyzer, double-click the title bar of the source definition.
In the Warehouse Designer, double-click the title bar of the target definition.
The Edit Tables dialog box appears.
2. Click the Rename button to edit the source or target name and the business name.
3. Choose Flat File in the Database Type field.
4. Click the Advanced button to edit the flat file properties.
A different dialog box appears for fixed-width and delimited files.
For more information, see “Importing Fixed-Width Flat Files” on page 72 and
“Importing Delimited Flat Files” on page 76.
5. To add a description, type a description in the Description field.
6. To add keywords for target definitions, click Edit Keywords. The Edit Keywords dialog
box appears. Use the buttons to create and move keywords.
Move Down
Move Up
Delete Keyword
New Keyword
7. Click OK.
8. Choose Repository-Save.
You can edit the following information in the Columns tab of a source or target definition:
♦ Column Name. The names of columns in the flat file source or target.
♦ Datatype. The datatype of the column. For flat files, you can choose datetime, nstring,
number, or string.
♦ Precision, Scale, and Format. When importing file definitions, you often need to consider
the precision, scale, field width, and format of values in each column. You can edit the
field width and format by clicking in the Format column. Enter the precision, scale, and
format as necessary. For more details on formatting flat file columns, see “Formatting Flat
File Columns” on page 94.
♦ Not Null. Choose whether you want to allow null data in your source or target.
♦ Key Type. Choose NOT A KEY for flat file source and target definitions.
♦ Shift Key. You can define the shift state for shift-sensitive fixed-width flat file sources that
do not contain shift keys. This attribute appears when you select User Defined Shift State
in the Edit Flat File Information dialog box for fixed-width files.
Choose Shift-In if the column contains single-byte characters. Choose Shift-Out if the
column contains multibyte characters.
For more information, see “Working with Shift-Sensitive Flat Files” on page 103.
♦ Business Name. Optionally, you can add business names to each source or target field.
Note: If the file columns for a source or lookup definition change significantly, you may need
to reimport the file.
1. In the Source Analyzer, double-click the title bar of a flat file source definition.
or
In the Warehouse Designer, double-click the title bar of a flat file target definition.
2. Click the Columns tab.
3. Configure the options of the source or target definition as described above.
4. If you want to add columns, select a column and click Add.
5. Enter the name, datatype, and other characteristics of the column. Repeat these steps for
each column you want to add to the source or target definition.
6. If you want to move a column, use the Up and Down buttons, or drag it within the
scrolling list.
7. Click OK.
8. Choose Repository-Save.
Figure 3-4 shows the Edit Flat File Information - Fixed Width Files dialog box for target
definitions:
Fixed-Width
Description for Sources and Lookups Description for Targets
Advanced Setting
Null Character Character used in the source file to Character the PowerCenter Server uses in the
represent a null value. This can be any valid target file to represent a null value. This can
character in the file code page or any binary be any valid character in the file code page.
value from 0 to 255.
Repeat Null If selected, the PowerCenter Server reads If selected, the PowerCenter Server writes as
Character repeat null characters in a single field as a many null characters as possible into the
single null value. When you specify a target field. If you do not select this option, the
multibyte null character and select Repeat PowerCenter Server enters a single null
Null Character, the field may contain extra character at the beginning of the field to
trailing bytes if the field length is not evenly represent a null value.
divisible by the number of bytes in the null If you specify a multibyte null character and
character. In this case, the field is not null. there are extra bytes left after writing null
Informatica recommends that you always characters, the PowerCenter Server pads the
specify a single-byte null character. column with single-byte spaces. If a column is
For more information, see “Null Character not big enough to take a null character
Handling” on page 88. because it is smaller than the multibyte
character specified as the null character, the
session fails at initialization.
For more information, see “Null Character
Handling” on page 88.
Code Page Code pages that are a subset of the Code pages that are a superset of the
PowerCenter Server page appear. If you PowerCenter Server code page appear. If you
plan to run a workflow in ASCII data plan to run a workflow in ASCII data
movement mode, use ISO Western movement mode, use ISO Western European
European Latin 1 code page. If you plan to Latin 1 code page. If you plan to use Unicode
use Unicode data movement mode, use a data movement mode, use a code page that is
code page that is a subset of the a superset of the PowerCenter Server code
PowerCenter Server code page. page.
Fixed-Width
Description for Sources and Lookups Description for Targets
Advanced Setting
User Defined Shift If selected, you can define the shift state for N/A
State source columns on the Columns tab.
Select User Defined Shift State when your
source file contains both multibyte and
single-byte data, but does not contain shift-in
and shift-out keys. If a multibyte file source
does not contain shift keys, you must define
shift states for each column in the flat file
source definition so the PowerCenter Server
can read each character correctly. For more
information about defining shift keys, see
“Working with Shift-Sensitive Flat Files” on
page 103.
Null Repeat Null PowerCenter Server Behavior When PowerCenter Server Behavior When
Character Character Reading From Sources and Lookups Writing To Targets
Binary Disabled A column is null if the first byte in the The PowerCenter Server enters a single
column is the binary null character. The binary null character at the beginning of
PowerCenter Server reads the rest of the the field to represent a null value.
column as text data to determine the If there are extra bytes left after writing
column alignment and track the shift state the null character, the PowerCenter
for shift-sensitive code pages. If data in the Server pads the column with single-byte
column is misaligned, the PowerCenter spaces.
Server skips the row and writes the
skipped row and a corresponding error
message to the session log.
Non-binary Disabled A column is null if the first character in the The PowerCenter Server enters a single
column is the null character. The null character at the beginning of the
PowerCenter Server reads the rest of the field to represent a null value.
column to determine the column alignment If you specify a multibyte null character
and track the shift state for shift sensitive and there are extra bytes left after
code pages. If data in the column is writing the null character, the
misaligned, the PowerCenter Server skips PowerCenter Server pads the column
the row and writes the skipped row and a with single-byte spaces. If a column is
corresponding error message to the not big enough to take a null character
session log. because it is smaller than the multibyte
character specified as the null character,
the session fails at initialization.
Binary Enabled A column is null if it contains only the The PowerCenter Server writes as many
specified binary null character. The next binary null characters as possible into
column inherits the initial shift state of the the target field.
code page.
Non-binary Enabled A column is null if the repeating null The PowerCenter Server writes as many
character fits into the column exactly, with null characters as possible into the
no bytes leftover. For example, a five-byte target field.
column is not null if you specify a two-byte If you specify a multibyte null character
repeating null character. and there are extra bytes left after
In shift-sensitive code pages, shift bytes do writing the null characters, the
not affect the null value of a column. If a PowerCenter Server pads the column
column contains a shift byte at the with single-byte spaces.
beginning or end of the column and the If a column is not big enough to take a
repeating null character fits into the column null character because it is smaller than
with no bytes left over, the column is null. the multibyte character specified as the
Specify a single-byte null character when null character, the session fails at
you use repeating non-binary null initialization.
characters. This ensures that repeating
null characters fit into a column exactly.
Figure 3-6 shows the Edit Flat File Information - Delimited Files dialog box for target
definitions:
Delimited File
Description for Sources and Lookups Description for Targets
Advanced Settings
Delimiters Character used to separate columns of data. Character used to separate columns of data.
Use the Browse button to the right of this field Use the Browse button to the right of this
to enter an unprintable delimiter. Delimiters field to enter an unprintable delimiter.
can be either printable or single-byte Delimiters can be either printable or single-
unprintable characters, and must be different byte unprintable characters, and must be
from the escape character and the quote different from the quote character (if
character (if selected). You cannot select selected). You cannot select unprintable
unprintable multibyte characters as multibyte characters as delimiters.
delimiters. If you enter more than one delimiter, the
PowerCenter Server uses the first delimiter
you specify.
Optional Quotes Select No Quotes, Single Quotes, or Double Select No Quotes, Single Quotes, or Double
Quotes. Quote character that defines the Quotes. Quote character that defines the
boundaries of text strings. Double Quotes is boundaries of text strings. Double Quotes is
chosen by default. chosen by default.
If selected, the PowerCenter Server ignores If you select a quote character, the
delimiters within the quote character. PowerCenter Server does not treat delimiter
For example, suppose a source file uses a characters within the quote characters as a
comma as a delimiter and the PowerCenter delimiter.
Server reads the following row from the For example, suppose a target file uses a
source file: 342-3849, ‘Smith, Jenna’, comma as a delimiter and the PowerCenter
‘Rockville, MD’, 6. Server writes the following row to the target
If you select the optional single quote file: 342-3849, ‘Smith, Jenna’, ‘Rockville,
character, the PowerCenter Server ignores MD’, 6.
the commas within the quotes and reads the If you select the optional single quote
row as four fields. character, the PowerCenter Server ignores
If you do not select the optional single quote, the commas within the quotes and writes the
the PowerCenter Server reads six separate row as four fields.
fields. If you do not select the optional single
Note: You can improve session performance if quote, the PowerCenter Server writes six
the source file does not contain quotes or separate fields.
escape characters.
Code Page Code pages that are a subset of the Code pages that are a superset of the
PowerCenter Server code page appear. If you PowerCenter Server code page appear. If
plan to run a workflow in ASCII data you plan to run a workflow in ASCII data
movement mode, use ISO Western European movement mode, use ISO Western
Latin 1 code page. If you plan to use Unicode European Latin 1 code page. If you plan to
data movement mode, use a code page that use Unicode data movement mode, use a
is a subset of the PowerCenter Server code code page that is a superset of the
page. PowerCenter Server code page.
Delimited File
Description for Sources and Lookups Description for Targets
Advanced Settings
Table 3-4. Precision and Field Width Definitions for Flat File Definitions
Number Precision is the number of significant digits. Precision is the number of significant digits.
Field width is the number of bytes the PowerCenter The PowerCenter Server ignores any field
Server reads from or writes to the file. By default, width formatting.
the field width equals the precision. For more information about defining the
Use the Format column to define the field width. precision and field width for number
For more information about defining the precision columns, see “Formatting Numeric
and field width for number columns, see Columns” on page 95.
“Formatting Numeric Columns” on page 95.
Datetime You do not enter a precision value. You do not enter a precision value.
Field width is the number of bytes the PowerCenter The PowerCenter Server ignores any field
Server reads from or writes to the file. width formatting.
The datetime format specified for the column For more information about defining the
determines the field width. For example, the precision and field width for datetime
datetime format of MM/DD/YYYY HH24:MI:SS has columns, see “Formatting Datetime
a field width of 19. Columns” on page 98.
Use the Format column to define the format and
field width.
For more information about defining the precision
and field width for datetime columns, see
“Formatting Datetime Columns” on page 98.
String Precision is the number of bytes the PowerCenter Precision is the maximum number of
Server reads from or writes to the file. characters the PowerCenter Server reads
You do not enter a field width for string values. The from or writes to the file.
precision is the total length of the source or target You do not enter a field width.
field.
Note: If you plan to load multibyte data into a fixed-
width file target, you need to configure the
precision to accommodate the multibyte data. For
more information, see “Working with Multibyte Data
in Fixed-Width Targets” on page 106.
For more information about precision and scale, see “Datatype Reference” on page 411.
For numeric values, you can choose thousands and decimal separators. For example, you
can configure the file definition for numeric data with the following format:
1.000.000,95
Note: If the source file structure changes significantly, you may need to reimport the flat
file source definition.
You can define the appearance of number and datetime columns at the following locations:
− Source or target field. You can define the format for individual columns on the
Columns tab for the source in the Source Analyzer, or for the target in the Warehouse
Designer. For more information, see “Formatting Numeric Columns” on page 95 and
“Formatting Datetime Columns” on page 98.
− Source or target instance in a mapping. You can define the default datetime and
numeric formats for a source or target instance in a mapping in the Mapping Designer.
The PowerCenter Server uses the default formats you define when you do not define a
format for an individual column. For more information, see “Defining Default
Datetime and Numeric Formats” on page 102.
Figure 3-7. Column Format Settings Dialog Box for Number Columns
Numeric Data
You can define decimal and thousands separators in the numeric data area of the Column
Format Settings dialog box. For the decimal separator, you can choose a comma or a period.
The default is the period. For the thousands separator, you can choose no separator, a comma,
or a period. The default is no separator.
To specify numeric separators, click Override Separators and choose a separator from the
Decimal Separator and Thousands Separator fields. You can override one or both separators.
When you override the separators, you must choose different options for each.
For example, your source data contains a numeric field with the following data:
9.999.999,00
5.000.000,00
Choose the period as the thousands separator, and choose the comma as the decimal separator
in the flat file source definition.
Suppose you want to output the data above to a file target with the following format:
9,999,999.00
Choose the comma as the thousands separator, and choose the period as the decimal separator
in the flat file target definition.
Field Width
You can change the field width in the Column Format Settings dialog box by padding the
width or by defining a fixed-width value in bytes. By default, the field width equals the
precision.
When you want to output numeric data to a fixed-width flat file, you must configure the field
width for the target field to accommodate the total length of the target field. If the data for a
target field is too long for the field width, the PowerCenter Server rejects the row and writes a
message to the session log. When you configure the field width for flat file target definitions,
you must accommodate characters the PowerCenter Server writes to the target file, such as
decimals and negative signs. For more information, see “Working with Targets” in the
Workflow Administration Guide.
To adjust the field width, select Adjust Width and enter the number of bytes in the Padding
field. When you adjust the field width, the PowerCenter Server defines the field width as the
Format Column
When you override the numeric separators or define the field width, the Designer shows the
options you define in the Format column on the Columns tab. For example, suppose you have
a numeric column with a precision of 5. Click the Format column and define the options in
the Column Format Settings dialog box as described in Figure 3-8:
Format Options
The Designer displays N,NNN(F 6.5).NN in the Format column for the PRICE column.
Note: If you do not define a decimal and thousands separators for a particular source or target
field, the PowerCenter Server uses the separators you specify in the source or target instance
in the Mapping Designer. For more information, see “Defining Default Datetime and
Numeric Formats” on page 102.
Figure 3-10. Column Format Settings Dialog Box for Datetime Columns
You can define the following formatting options for datetime values in the Column Format
Settings dialog box:
♦ Format string
♦ Field width
When you define formatting options in the Column Format Settings dialog box, the Designer
shows the options you define in the Format column on the Columns tab. For more
information, see “Format Column” on page 101.
Format String
You can enter any datetime format in the Format String field in the Column Format Settings
dialog box. For example, you can specify the datetime format as MM/YYYY. Or, you can
specify the time only, for example, HH24:MI. For a list of supported date and time formats,
see “Dates” in the Transformation Language Reference.
To specify the datetime format, choose Format String and enter the format in the Format
String field. You can choose a format from the list, or you can enter a format using the
keyboard. The default format is MM/DD/YYYY HH24:MI:SS, which has a field width of 19.
For example, your source data contains a datetime field with the following data:
11/28/2002
10/15/2003
Enter the following format in the flat file source definition: MM/DD/YYYY.
15-10-2003
Enter the following format in the flat file target definition: DD-MM-YYYY.
You can also enter any single-byte or multibyte string literal in the Format String field. To
enter a string literal, enclose it in double quotes (“”). When you enter string literals in the
format string, the PowerCenter Server writes the strings to the file target when it runs the
session. You might want to add string literals to describe the different date parts.
For example, you enter the following text in the Format String field:
“Month”MM/”Day”DD/”Year”YYYY
When you run the session and the PowerCenter Server outputs the date October 21, 2002, it
writes the following to the target file:
Month10/Day21/Year2002
Field Width
You can define the field width after you define a format string. You can change the field width
by padding the width or by defining a fixed-width value in bytes. By default, the field width
equals the precision.
To adjust the field width after you enter a format string, select Adjust Width and enter the
number of bytes in the Padding field. When you adjust the field width, the PowerCenter
Server defines the field width as the number of bytes required for the datetime format plus the
padding you enter. For example, when the datetime format is MM/YYYY and you enter 5 in
the Padding field for a flat file source, the PowerCenter Server reads 12 bytes from the file.
When the datetime format is MM/YYYY and you enter 5 in the Padding field for a flat file
target, the PowerCenter Server writes 12 bytes to the file.
When you use Adjust Width, the PowerCenter Server adjusts the field width based on the
format string. This allows you to change the format string without manually adjusting the
field width.
To fix the field width after you enter a format string, select Fixed Width and enter the number
of bytes in the Field Width field. You must specify a fixed-width value greater than or equal to
the number of bytes required for the datetime format. For example, when the datetime format
is MM/DD/YYYY HH24:MI:SS, you must specify a fixed-width value greater than or equal
to 19. When you enter 21 in the Field Width field, the PowerCenter Server reads 21 bytes
from a file source, and it writes 21 bytes to a file target.
For example, suppose you have a target field with a datetime format of MM/DD/YYYY,
which requires 10 bytes. You want to add two blank spaces to the target field to make the
target file easier to view. Select Adjust Width and enter 2 in the Padding field. Or, select Fixed
Width and enter 12 in the Field Width field.
Note: When padding datetime data in flat file targets, the PowerCenter Server adds blank
spaces to the right side of the target column.
Figure 3-12 shows the options the Designer displays in the Format column:
Format Options
Displays the datetime format
you specified.
The Designer displays A 23 MM/DD/YYYY HH24:MI:SS in the Format column for the DATE
port.
Figure 3-13. Default Datetime and Numeric Formats in a Flat File Target Instance
For more information about defining the format string for datetime columns, see “Formatting
Datetime Columns” on page 98. For a list of supported date formats, see “Dates” in the
Transformation Language Reference.
Note: You can view the default formats for each source or target instance on the Mappings tab
in the session properties in the Workflow Manager.
Notation Description
a Single-byte character
A Multibyte character
-o Shift-out character
-i Shift-in character
The Flat File Wizard displays single-byte shift characters as ‘.’ in the window. Double-byte
shift characters display as ‘..’ in the window. Shift-in characters display on a green
background. Shift-out characters display on a blue background.
Shift Keys
Troubleshooting 107
108 Chapter 3: Working with Flat Files
Chapter 4
109
Overview
Before you create a mapping, you must define targets in the repository. Use the Warehouse
Designer to import and design target definitions. Target definitions include properties such as
column names and datatypes.
You can use the Warehouse Designer to create and maintain target definitions.
Overview 111
Table 4-1 describes how the Designer handles special characters in relational targets:
@#$_ Retains the character in the target Retains the character in the target
definition table name. instance table name.
Retains the character in the target Retains the character in the target
definition column name. instance column names.
Does not use quotation marks around
the table or column names in the target
update override.
/+-=~`!%^&*()[]{}'; Retains the character in the target Replaces the character in the target
?,<>\| <space> definition table name. instance table name with the
Retains the character in the target underscore character.
definition column name. Retains the character in the target
instance column names.
Delimits table and column names
including special characters with
quotation marks in the target update
override.
.":\t\r\n The Designer does not recognize these The Designer does not recognize these
characters in relational target table and characters in relational target table and
column names. column names.
Table 4-2 describes how the Designer handles special characters in non-relational targets:
@#$_ Retains the character in the target Retains the character in the target
definition table name. instance table name.
Retains the character in the target Retains the character in the target
definition column names. instance column names.
Note: You cannot use the @ character as Note: You cannot use the @ character as
the first character in a table or column the first character in a table or column
name. name.
/ Retains the character in the target Replaces the character in the target
definition table name. instance table name with the underscore
Retains the character in the target character.
definition column names. Retains the character in the target
instance column names.
.+-=~`!%^&*()[]{}'" The Designer does not recognize these The Designer does not recognize these
;:?,<>\| characters in non-relational target table characters in non-relational target table
\t\r\n <space> and column names. and column names.
Some databases require special configuration or commands to allow table and field names
containing special characters. For more information, consult the database documentation.
Figure 4-2 shows that the Designer creates six target definitions when you drag the source
from Figure 4-1 into the Warehouse Designer workspace:
1. With the Warehouse Designer tool active, drag the source definition you want to use into
the workspace. For XML sources, select the option to create relational targets or XML
targets and click OK. The target definition appears.
2. To edit the target definition, double-click the title bar.
3. Enter a target name and select the target type. Add or edit columns or target properties,
and then click OK.
For more information about adding columns, creating indexes, or configuring other
target options, see “Maintaining Relational Target Definitions” on page 119.
4. Choose Repository-Save.
The new target definition is saved to the repository. You can now use the target definition in a
mapping. You can also create a target tables in the target database based on relational target
definitions. For more information, see “Creating a Target Table” on page 127.
Modification Result
Change a column datatype. Mapping may be invalidated. If the column is connected to an input port that uses a
datatype that is incompatible with the new one (for example, Decimal to Date), the
mapping is invalid.
Change a column name. Mapping may be invalidated. If you change the column name for a column you just
added, the mapping remains valid. If you change the column name for an existing
column, the mapping is invalidated.
Delete a column. Mapping may be invalidated if the mapping uses values from the deleted column.
When you add a new column to a target in the Warehouse Designer, all mappings using the
target definition remain valid. However, when you add a new column and change some of its
properties, the Designer invalidates mappings using the target definition.
1. In the Warehouse Designer, follow the same steps to import the target definition, and
select the target to import.
The Designer notifies you that a target definition with that name already exists in the
repository and displays the following dialog box:
If you have multiple tables to import and replace, check Apply to all tables.
2. Click Replace, Rename, Skip, or Compare.
3. If you click Rename, enter the name of the target definition and click OK.
4. If you have a relational target definition and click Replace, specify whether you want to
retain primary key-foreign key information and target descriptions.
Option Description
Apply to all tables Select this option to apply rename, replace, or skip all tables in the
folder.
Retain user-defined PK-FK relationships Select this option to keep the primary key-foreign key relationships
in the target definition being replaced. This option is disabled when
the target definition is non-relational.
Retain user-defined descriptions Select this option to retain the target description and column and
port descriptions of the target definition being replaced.
1. In the Warehouse Designer, double-click the title bar of the target definition.
The Edit Tables dialog box appears.
2. Click the Rename button to edit the target name and the business name.
3. To change the target type, choose a different database in the Database Type field.
To change the target type to a flat file target, choose flat file. For more information about
editing flat file target definitions, see “Editing Flat File Definitions” on page 81.
4. Edit the following properties for relational target definitions:
♦ To add a constraint, type the SQL statement into the Constraints field.
♦ To add a creation option, type the SQL statement in to the Creation options field.
5. To add a description, type a description in the Description field.
6. To add keywords, click Edit Keywords. The Edit Keywords dialog box appears. Use the
buttons to create and move keywords.
Move down.
Move up.
Delete keyword.
New keyword.
7. Click OK.
8. Choose Repository-Save to save your work.
You can edit the following information in the Columns tab of the target definition:
♦ Column name. The column names in the target. When editing a relational target
definition, edit the column name only if you are manually creating the relational target
definition or if the actual target column name changed.
♦ Datatype. The datatypes that display in the target definition depend on the target type of
the target definition.
♦ Precision and scale. When designing or importing relational targets, you often need to
consider the precision and scale of values in each column. Precision is the maximum
number of significant digits for numeric datatypes, or the maximum number of characters
for string datatypes. Precision includes scale. Scale is the maximum number of digits after
the decimal point for numeric values. Therefore, the value 11.47 has a precision of 4 and a
scale of 2. The string Informatica has a precision (or length) of 11.
All datatypes for relational targets have a maximum precision. For example, the Integer
datatype has a maximum precision of 10 digits. Some numeric datatypes have a similar
limit on the scale or do not allow you to set the scale beyond 0. Integers, for example, have
a scale of 0, since by definition they never include decimal values.
♦ Not null. Choose whether you want to allow null data in your target.
♦ Key type. Select Primary, Foreign, Primary-Foreign, or Not a Key. Applies to relational
targets only.
♦ Business name. Optionally, you can add business names to each target column.
Defining Indexes
Since indexes speed queries against tables, adding indexes to your target database is an
important part of target table design. You can add index information to relational target
definitions. Queries to the data warehouse determine which columns you should index. If you
define indexes, select the option to create indexes when you create target tables. For more
information, see “Creating a Target Table” on page 127.
Figure 4-5 shows the Indexes tab of a relational target definition:
1. In the Warehouse Designer, double-click the title bar of a relational target definition.
2. Select the Indexes tab.
3. To add an index, click the Add button in the Indexes section.
4. Enter a name for the index and press Enter.
5. To add a column to the index, click the Add button in the Columns section. Select a
column name and click OK.
6. Repeat steps 4 and 5 for each column you want to assign.
7. Click OK to close the dialog box.
8. Choose Repository-Save.
Important: When you generate and execute the DDL to create the target table, select the Create
index option.
For more information, see “Creating a Target Table” on page 127.
1. In the Warehouse Designer, select the relational target definition you want to create in
the database. If you want to create multiple tables, select all relevant table definitions.
2. Choose Targets-Generate/Execute SQL.
Click Connect and select the database where the target table should be created. Click OK
to make the connection.
Enter a file name and location for the SQL script you are about to generate, as well as any
options you want to include in the SQL DDL code. This text file exists on your local file
system, not in the repository.
Depending on the Generation options you select, the SQL script will contain all of the
CREATE and DROP commands that match your selections. If you created a target
definition with primary keys, for example, select the Primary key option.
3. Click Generate if you want to create the SQL script, or Generate and Execute if you want
to create the file, and then immediately run it.
When you click Generate SQL file, the SQL generated for the selected table definitions is
stored in the file you selected. If the file already exists, a dialog box appears prompting
you to overwrite the existing file. The progress of copying the generated SQL file appears
in the Output window in Designer.
After the file has been generated, you can click Edit SQL file, which opens a text editor so
you can modify the SQL statements. When the Designer generates the SQL file for the
1. In the Warehouse Designer, modify the relational target definition and select it.
2. Choose Targets-Generate/Execute SQL.
In the dialog box, connect to the appropriate target database. Select the DROP options
checked for the table and any indexes on the table.
3. Click Generate and Execute.
4. The Designer drops and recreates the table, including any indexes assigned to it.
When I connect to a database to import target definitions, I do not see the tables, views, or
synonyms I want to import.
Make sure you entered the correct owner name when connecting to the database. By default,
the owner name the Designer uses to identify sources and targets for import is the same as the
database user name you used to connect to the database. You may need to enter a different
owner name to see the targets you want to import.
Instead of showing me a target when I drag it into a workspace, the Designer prompts me
to copy it or make a shortcut.
Each workbook represents metadata from a single folder. While you can change the tool mode
(for example, Source Analyzer or Warehouse Designer) used to view metadata in that folder,
the workbook remains tied to the folder. If you want to edit metadata from a different folder,
move the focus in the Navigator window to the second folder and click Open. The Designer
then opens another workbook, representing metadata from the second folder.
When I try to run a workflow that includes targets I have designed, the session log tells me
that one or more target tables does not exist.
When you are designing a target, you are adding a target definition to the repository. To
actually create the target table, run the necessary SQL DDL code in the database where you
want the target to appear.
If you receive this error, increase the value of the APPLHEAPSZ variable for your DB2
operating system. APPLHEAPSZ is the application heap size (in 4KB pages) for each process
using the database.
Troubleshooting 131
132 Chapter 4: Working with Targets
Chapter 5
Mappings
133
Overview
A mapping is a set of source and target definitions linked by transformation objects that
define the rules for data transformation. Mappings represent the data flow between sources
and targets. When the PowerCenter Server runs a session, it uses the instructions configured
in the mapping to read, transform, and write data.
Every mapping must contain the following components:
♦ Source definition. Describes the characteristics of a source table or file.
♦ Transformation. Modifies data before writing it to targets. Use different transformation
objects to perform different functions.
♦ Target definition. Defines the target table or file.
♦ Links. Connect sources, targets, and transformations so the PowerCenter Server can move
the data as it transforms it.
A mapping can also contain one or more mapplets. A mapplet is a set of transformations that
you build in the Mapplet Designer and can use in multiple mappings.
When you add an object to a mapping, you configure the properties according to the way you
want the PowerCenter Server to transform the data. You also connect the mapping objects
according to the way you want the PowerCenter Server to move the data. You connect the
objects through ports.
The Mapping Designer displays objects in three different views:
♦ Iconized. Shows an icon of the object with the object name.
♦ Normal. Shows the columns in the ports tab and the input and output port indicators. You
can connect objects that are in the normal view.
♦ Edit. Shows the object properties. You can switch between the different tabs and configure
the object in this view.
Object Dependency
Some objects in a mapping are also stored as independent objects in the repository:
♦ Sources
♦ Targets
Overview 135
♦ Reusable transformations
♦ Mapplets
The mapping is dependent on these objects. When this metadata changes, the Designer and
other PowerCenter Client applications track the effects of these changes on mappings. In
these cases, you may find that mappings become invalid even though you do not edit the
mapping. When a mapping becomes invalid, the PowerCenter Server cannot run it properly,
and the Workflow Manager invalidates the session.
The only objects in a mapping that are not stored as independent repository objects are the
non-reusable transformations that you build within the mapping. These non-reusable
transformations are stored within the mapping only.
For more information about viewing object dependencies, see “Using the Repository
Manager” in the Repository Guide.
Developing a Mapping
When you develop a mapping, use the following procedure as a guideline:
1. Verify that all source, target, and reusable objects are created. Create source and target
definitions. If you want to use mapplets, you must create them also. You can create
reusable transformations in the Transformation Developer, or you can create them while
you develop a mapping.
2. Create the mapping. You can create a mapping by dragging a source, target, mapplet, or
reusable transformation into the Mapping Designer workspace, or you can choose
Mapping-Create from the menu.
3. Add sources and targets. Add sources and targets to the mapping.
4. Add transformations and transformation logic. Add transformations to the mapping and
build transformation logic into the transformation properties.
5. Connect the mapping. Connect the mapping objects to create a flow of data from
sources to targets, through mapplets and transformations that add, remove, or modify
data along this flow.
6. Validate the mapping. Validate the mapping to identify connection or transformation
errors.
7. Save the mapping. When you save the mapping, the Designer validates it, identifying
any errors. The Designer displays validation messages in the Output window. A mapping
with errors is invalid, and you cannot run a session against it until you validate it.
Creating a Mapping
The first step in the process of moving data between sources and targets is to create a mapping
in the Mapping Designer.
To create a mapping:
Opening a Mapping
To open a mapping, drag it from the Navigator into the Mapping Designer workspace. If you
have a mapping in the same folder already open, the Designer prompts you to close it before
continuing. Click OK to close the current mapping and open the other one.
You can open one mapping at a time in a folder. If you open more than one folder at a time,
you can open a mapping in each folder.
Tip: You can also right-click a mapping in the Navigator and choose Open to open a mapping.
Copying a Mapping
The Designer allows you to copy mappings:
♦ Within a folder
♦ To a folder in the same repository
♦ To another repository
The Designer provides a Copy Wizard that allows you to copy objects in the repository. When
you copy a mapping, the Copy Wizard creates a copy of each component in the mapping, if
the component does not already exist. If any of the mapping components already exist, the
Copy Wizard prompts you to rename, replace, or reuse those components. However, if the
object is a shortcut, or if the destination folder already contains a shortcut with the same
name, you cannot replace the object. You can only rename or reuse the object. If a mapping
contains sources with primary key-foreign key relationships to sources not used in the
mapping, the Copy Wizard prompts you to copy the related source.
For more information about copying objects, see “Copying Objects” in the Repository Guide.
Editing a Mapping
After you create a mapping, you can edit it by adding, modifying, or deleting objects. Objects
include source definitions, target definitions, mapplets, and transformations. Before the
Designer deletes objects in the mapping, it displays the list of objects to delete. The Designer
displays a validation message in the Output window when you save a mapping.
To see what sessions or shortcuts may be affected by changes you make to a mapping, select
the mapping in the Navigator, right-click, and select View Dependencies. Or, select
Mappings-View Dependencies from the menu. For more information about viewing
dependencies, see “Using Business Names” on page 36.
Debugging a Mapping
You can debug a valid mapping to gain troubleshooting information about data and error
conditions. To debug a mapping, you configure and run the Debugger from within the
Mapping Designer. When you run the Debugger, it pauses at breakpoints and allows you to
view and edit transformation output data.
For more information about debugging a mapping, see “Using the Debugger” on page 249.
Deleting a Mapping
You may decide to delete mappings that you no longer use. When you delete a mapping, you
do not delete any sources, targets, mapplets, or reusable transformations defined outside the
mapping.
Note: If you enable version control, a deleted mapping remains checked out until you check it
in. To check in a deleted mapping, choose Versioning-Find Checkouts. Select the deleted
mapping and choose Tools-Check In.
You can delete a mapping from the Navigator window, or you can delete the mapping
currently displayed in the Mapping Designer workspace.
♦ To delete a mapping from the Navigator window, select the mapping and press the Delete
key, or choose Edit-Delete.
♦ To delete a mapping currently displayed in the Mapping Designer workspace, choose
Mappings-Delete.
Define the following expression in the Q3_sales port in the Aggregator transformation:
LAST(sales, quarter = 3)
Input Port
Input/Output Port
Output Port
To connect ports, you drag between ports in different mapping objects. The Designer
validates the connection and creates the connection only when the connection meets link
validation and concatenation requirements. For more information about guidelines for
connecting mapping objects, see “Rules and Guidelines for Connecting Mapping Objects” on
page 146.For information about linking ports, see “Linking Ports” on page 147.
When you link multiple transformations to a single transformation or target, only one of the
originating transformations can be an active transformation.
Linking by Position
When you link by position, the Designer links the first output port to the first input port, the
second output port to the second input port, and so forth. Use this option when you create
transformations with related ports in the same order.
Figure 5-7 shows the results of linking ports based on their relative positions:
1. Choose Layout-Autolink.
2. Select the transformations and targets.
You can select multiple transformations in the To Transformations list to link one
transformation to multiple transformations. For objects that contain multiple input
Link by Position
4. Click OK. The Designer links the first output port to the first input port, the second
output port to the second input port, and so forth.
Linking by Name
The Designer adds links between input and output ports that have the same name. Linking by
name is not case-sensitive. Link by name when you use the same port names across
transformations.
1. Choose Layout-Autolink.
2. Select the transformations and targets.
You can select multiple transformations in the To Transformations list to link one
transformation to multiple transformations. For objects that contain multiple input
groups such as Custom transformations or XML targets, select the group name from the
To Transformation list.
Link by Name
4. Click OK.
The Designer adds links between input and output ports that have the same name,
regardless of name case.
Figure 5-8 shows the results of linking SQ_CUSTOMERS to FIL_STATE using the
name option:
1. Choose Layout-Autolink.
2. Select the transformations and targets.
You can select multiple transformations in the To Transformations list to link one
transformation to multiple transformations. For objects that contain input groups such as
Custom transformations or XML targets, select the group name from the To
Transformation list.
3. Select Name.
Define prefix(es).
5. In From Transformation, enter the prefix used in the ports from which you are linking.
6. In To Transformation, enter the prefix used in the ports to which you are linking.
In this example, the Designer links ports in SQ_CUSTOMERS to ports in FIL_STATE
where the port name in FIL_STATE is either the same as SQ_CUSTOMERS, or is the
same and is preceded by the prefix “F_”.
7. Click OK.
Figure 5-9 shows the results of linking SQ_CUSTOMERS to FIL_STATE using the
name and prefix option:
1. Choose Layout-Autolink.
2. Select the transformations and targets.
You can select multiple transformations in the To Transformations list to link one
transformation to multiple transformations. For objects that contain multiple input
Define suffix(es).
5. In From Transformation, enter the suffix used in the ports from which you are linking.
6. In To Transformation, enter the suffix used in the ports to which you are linking.
In this example, the Designer links ports from SQ_CUSTOMERS to ports in
FIL_STATE where the port name in FIL_STATE is either the same as
SQ_CUSTOMERS, or is the same and is appended by the prefix “_OUT”.
7. Click OK.
Figure 5-10 shows the results of linking SQ_CUSTOMERS to FIL_STATE using the
name and suffix option.
Example
Suppose you have the following mapping:
The QTY port in the Joiner transformation links to the QTY port in the Aggregator
transformation. The Aggregator transformation references the QTY port in the expressions
for TOTAL_QUANTITY and TOTAL_REVENUE.
You make the following changes to the QTY port in the Joiner transformation:
♦ You change the port name QTY to QUANTITY.
You change the datatype of the MANUFACTURER_ID port from integer to decimal in the
Aggregator transformation. You choose to parse conditions to infer dependencies, and then
propagate the datatype change. The Designer performs the following tasks:
♦ Updates link path dependencies. The Designer updates the ports in the link path,
changing the datatype of the IN_MANUFACTURER_ID port in the Lookup
transformation to decimal.
♦ Identifies dependent ports. The Designer parses the lookup condition and identifies the
MANUFACTURER_ID port in the Lookup transformation as a dependent port.
♦ Updates implicit dependencies. The Designer changes the datatype of the
MANUFACTURER_ID port in the Lookup transformation to decimal.
Application Source - Ports in link path - Port name, datatype, precision, scale
Qualifier
External Procedure - Ports in link path - Port name, datatype, precision, scale
Normalizer in the - Ports in link path - Port name, datatype, precision, scale
pipeline
Source Qualifier - Ports in link path - Port name, datatype, precision, scale
Stored Procedure - Ports in link path - Port name, datatype, precision, scale
Transaction Control - Ports in link path - Port name, datatype, precision, scale
- Condition - Port name
Update Strategy - Ports in link path - Port name, datatype, precision, scale
- Expression - Port name
- Implicit dependencies - Datatype, precision, scale
XML Generator - Ports in link path - Port name, datatype, precision, scale
XML Parser - Ports in link path - Port name, datatype, precision, scale
The Designer does not propagate changes to the following mapping objects:
♦ Unconnected transformations
♦ Reusable transformations
♦ Mapplets
♦ Source and target instances
♦ SDK Source Qualifier
1. Open a mapping in the Mapping Designer, and select one or more ports to propagate.
2. Choose Mappings-Propagate Attributes, and choose Propagate Attributes. You can also
right-click the port and choose Propagate Attributes.
The Designer displays the Propagate Port Attributes dialog box.
After you open the Propagate Port Attributes dialog box, you can select another port and
propagate its attributes.
3. Select the direction and attributes you want to propagate.
4. Optionally, choose to infer dependencies.
Table 5-2 describes the options on the Propagate Port Attributes dialog box:
Required/
Option Description
Optional
Preview Optional Displays the links to the affected ports in green and the unaffected
ports in red.
Propagate Required Propagates the port attributes according to the options you specify in
the dialog box.
Required/
Option Description
Optional
Attributes to Propagate Required Specifies the attributes that you want to propagate. The attributes
include name, datatype, precision, and scale.
5. Click Preview to view the affected ports. The Designer displays the links to the affected
ports in green and the unaffected ports in red.
6. Click Propagate.
When you propagate port attributes, the Output window displays the propagated
attributes and the affected ports.
7. Click Close.
You can let the Designer create the source qualifier by default, so each time you drag a source
into a mapping, the Designer adds a source qualifier and connects it to the source. Use the
automatic source qualifier creation when you want to create one source qualifier for each
source in your mapping. You can disable the automatic creation when you want to join data
from different relational sources. You can then manually create and connect it to the source.
When you edit the source in the Source Analyzer, all instances of the source in mappings
inherit the changes. Some changes might invalidate the mappings using the source. For more
information, see “Working with Relational Sources” on page 46.
However, you specify some properties for every source instance in a mapping. Double-click
the source instance in the Mapping Designer and click the Properties tab. For relational
sources, you can specify the table owner name. For flat file sources, you can specify the default
datetime format, thousands separator, and decimal separator.
You can expand the mapplet in the Mapping Designer by selecting it and choosing Mappings-
Expand from the menu. This expands the mapplet within the mapping for view. You can open
or iconize all the transformations in the mapplet and mapping, but you cannot edit any of the
properties.
When you edit the mapplet in the Mapplet Designer, all instances of the mapplet in mappings
inherit the changes. Some changes might invalidate the mappings using the mapplet. For
more information, see “Editing Mapplets” on page 221.
For more information about mapplets, see “Mapplets” on page 215.
The PowerCenter Server reads sources in a target load order group concurrently, and it
processes target load order groups sequentially.
To specify the order in which the PowerCenter Server sends data to targets, create one source
qualifier for each target within a mapping. To set the target load order, you then determine in
which order the PowerCenter Server reads each source in the mapping.
The Target Load Plan dialog box lists all Source Qualifier transformations in the
mapping, as well as the targets that receive data from each Source Qualifier.
3. Select a Source Qualifier from the list.
4. Click the Up and Down buttons to move the source qualifier within the load order.
5. Repeat steps 3 and 4 for any other source qualifiers you wish to reorder.
6. Click OK.
7. Choose Repository-Save.
Figure 5-15 shows the items you can configure on the Properties tab of a relational target
definition in the Mapping Designer:
Because the target ports must match the target column names, the update statement includes
the keyword :TU to specify the ports in the target transformation. If you modify the
UPDATE portion of the statement, be sure to use :TU to specify ports.
♦ When you save a mapping, the Designer verifies that you have referenced valid port names.
It does not validate the SQL.
♦ If you update an individual row in the target table more than once, the database only has
data from the last update. If the mapping does not define an order for the result data,
♦ If the WHERE clause contains no port references, the mapping updates the same set of
rows for each row of the mapping. For example, the following query updates all employees
with EMP_ID > 100 to have the EMP_NAME from the last row in the mapping:
UPDATE T_SALES set EMP_NAME = :TU.EMP_NAME WHERE EMP_ID > 100
4. Click OK.
Connection Validation
The Designer performs connection validation each time you connect ports in a mapping and
each time you validate or save a mapping. When you connect ports, the Designer verifies that
you make valid connections. When you save or validate a mapping, the Designer verifies that
the connections are valid and that all required ports are connected. When you save or validate
a mapping, the Designer makes the following connection validations:
♦ At least one source and one target must be connected.
♦ Source qualifiers must be mapped to a target.
♦ Mapplets must be connected. At least one mapplet input port and output port is
connected to the mapping. If the mapplet includes a Source Qualifier that uses an SQL
override, the Designer prompts you to connect all mapplet output ports to the mapping.
♦ Datatypes between ports must be compatible. If you change a port datatype to one that is
incompatible with the port it is connected to, the Designer generates an error and
invalidates the mapping. For example, you have two Date/Time ports connected, and you
change one port to a Decimal. The Designer invalidates the mapping. You can however,
change the datatype if it remains compatible with the connected ports, such as Char and
Varchar.
For more information about data conversion, see “Datatype Reference” on page 411.
For more information about connection validation, see “Connecting Mapping Objects” on
page 144.
Expression Validation
You can validate an expression in a transformation while you are developing a mapping. If you
did not correct the errors, the Designer writes the error messages in the Output window when
you save or validate the mapping.
Object Validation
When you validate or save a mapping, the Designer verifies that the definitions of the
independent objects, such as sources or mapplets, match the instance in the mapping. If any
of the objects change while you configure the mapping, the mapping might contain errors.
If any of the objects change while you are not configuring the mapping, the Designer and
other PowerCenter Client applications track the effects of these changes on the mappings.
The Repository Manager displays the status of mappings, so you can see if a mapping is valid
or not. If you notice that a mapping is invalid, you can open the mapping and validate it to
see the error messages in the Output window.
S *MGT1
Exp1
* Blocking Transformation
S *MGT1
Mapping B
(Invalid) Exp2
S *MGT1
* Blocking Transformation
* Blocking Transformation
To make the mappings in Figure 5-18 valid, use a non-blocking transformation for MGT1 or
create two instances of the same source and connect them to the blocking transformation.
Figure 5-19 illustrates two similar mappings, one which is valid, one which is invalid:
S1 *MGT1 S1 *MGT1
S2 *MGT2 S2 MGT2
Mapping A in Figure 5-19 contains two multigroup transformations that block data, MGT1
and MGT2. If you could run this session, MGT1 might block data from S1 while waiting for
a row from S2. And MGT2 might block data from S2 while waiting for a row from S1. The
blocking transformations would block both source pipelines and the session would hang.
Therefore, the Designer marks the mapping invalid.
Mapping B in Figure 5-19 contains one multigroup transformation that blocks data, MGT1.
Blocking transformations can never block all input groups, so MGT1 might block either S1
or S2, but never both. MGT2 is not a blocking transformation, so it will never block data.
-------------------------------------------------------------------------
When I click and drag to create a connection between ports, the Designer copies the port
instead.
Change the mode in which you are working by choosing Layout-Link Columns. Now, when
you click and drag between columns, the Designer tries to link them instead of copying the
selected port.
Troubleshooting 179
I entered a custom query, but it is not working when I run the workflow.
Be sure to test this setting for the Source Qualifier before you run the workflow. Return to the
Source Qualifier and open the dialog box in which you entered the custom query. You can
connect to a database and click the Validate button to test your SQL. The Designer shows you
whatever errors exist in the SQL you entered. Review the session logs if you need further
information.
Transformations
181
Overview
A transformation is a repository object that generates, modifies, or passes data. The Designer
provides a set of transformations that perform specific functions. For example, an Aggregator
transformation performs calculations on groups of data.
Transformations in a mapping represent the operations the PowerCenter Server performs on
the data. Data passes into and out of transformations through ports that you link in a
mapping or mapplet.
Transformations can be active or passive. An active transformation can change the number of
rows that pass through it, such as a Filter transformation that removes rows that do not meet
the filter condition. A passive transformation does not change the number of rows that pass
through it, such as an Expression transformation that performs a calculation on data and
passes all rows through the transformation.
Transformations can be connected to the data flow, or they can be unconnected. An
unconnected transformation is not connected to other transformations in the mapping. It is
called within another transformation, and returns a value to that transformation.
Table 6-1 provides a brief description of each transformation:
Application Source Qualifier Active/ Represents the rows that the PowerCenter Server reads from an
Connected application, such as an ERP source, when it runs a session.
External Procedure Passive/ Calls a procedure in a shared library or in the COM layer of
Connected or Windows.
Unconnected
Input Passive/ Defines mapplet input rows. Available in the Mapplet Designer.
Connected
Joiner Active/ Joins data from different databases or flat file systems.
Connected
Normalizer Active/ Source qualifier for COBOL sources. Can also use in the pipeline to
Connected normalize data from relational or flat file sources.
Output Passive/ Defines mapplet output rows. Available in the Mapplet Designer.
Connected
Source Qualifier Active/ Represents the rows that the PowerCenter Server reads from a
Connected relational or flat file source when it runs a session.
Union Active/ Merges data from different databases or flat file systems.
Connected
Update Strategy Active/ Determines whether to insert, delete, update, or reject rows.
Connected
XML Generator Active/ Reads data from one or more input ports and outputs XML through a
Connected single output port.
XML Parser Active/ Reads XML from one input port and outputs data to one or more
Connected output ports.
XML Source Qualifier Active/ Represents the rows that the PowerCenter Server reads from an
Connected XML source when it runs a session.
When you build a mapping, you add transformations and configure them to handle data
according to your business purpose. Perform the following tasks to incorporate a
transformation into a mapping:
1. Create the transformation. Create it in the Mapping Designer as part of a mapping, in
the Mapplet Designer as part of a mapplet, or in the Transformation Developer as a
reusable transformation.
2. Configure the transformation. Each type of transformation has a unique set of options
that you can configure.
3. Link the transformation to other transformations and target definitions. Drag one port
to another to link them in the mapping or mapplet.
Overview 183
Creating a Transformation
You can create transformations using the following Designer tools:
♦ Mapping Designer. Create transformations that connect sources to targets.
Transformations in a mapping cannot be used in other mappings unless you configure
them to be reusable.
♦ Transformation Developer. Create individual transformations, called reusable
transformations, that you can use in multiple mappings. For more information, see
“Reusable Transformations” on page 209.
♦ Mapplet Designer. Create and configure a set of transformations, called mapplets, that
you can use in multiple mappings. For more information, see “Mapplets” on page 215.
Use the same process to create a transformation in the Mapping Designer, Transformation
Developer, and Mapplet Designer.
To create a transformation:
4. Click and drag across the portion of the mapping where you want to place the
transformation.
The new transformation appears in the workspace. Next, you need to configure the
transformation by adding any new ports to it and setting other properties.
Creating Ports
You can create a new port in the following ways:
♦ Drag a port from another transformation. When you drag a port from another
transformation the Designer creates a port with the same properties, and it links the two
ports. Choose Layout-Copy Columns to enable copying ports.
♦ Click the Add button on the Ports tab. The Designer creates an empty port you can
configure.
Configuring Ports
On the Ports tab, you can configure the following properties:
♦ Port name. The name of the port.
♦ Datatype, precision, and scale. If you plan to enter an expression or condition, make sure
the datatype matches the return value of the expression.
♦ Port type. Transformations may contain a combination of input, output, input/output,
and variable port types.
Linking Ports
Once you add and configure a transformation in a mapping, you link it to targets and other
transformations. You link mapping objects through the ports. Data passes into and out of a
mapping through the following ports:
♦ Input ports. Receive data.
♦ Output ports. Pass data.
♦ Input/output ports. Receive data and pass it unchanged.
Figure 6-2 shows an example of a transformation with input, output, and input/output ports:
Input Port
Input/Output Port
Output Ports
To link ports, drag between ports in different mapping objects. The Designer validates the
link and creates the link only when the link meets validation requirements.
For more information about connecting mapping objects, see “Connecting Mapping Objects”
on page 144. For more information about how to link ports, see “Linking Ports” on page 147.
Transformation Description
Joiner Contains two input groups, the master source and detail source, and one output group.
XML Parser Contains one input group and multiple output groups.
XML Generator Contains multiple input groups and one output group.
When you connect transformations in a mapping, you must consider input and output
groups. For more information about connecting transformations in a mapping, see
“Connecting Mapping Objects” on page 144.
Some multiple input group transformations require the PowerCenter Server to block data at
an input group while the PowerCenter Server waits for a row from a different input group. A
blocking transformation is a multiple input group transformation that blocks incoming data.
The following transformations are blocking transformations:
♦ Custom transformation with the Inputs May Block property enabled
♦ Joiner transformation configured for unsorted input
The Designer performs data flow validation when you save or validate a mapping. Some
mappings that contain blocking transformations might not be valid. For more information
about data flow validation, see “Data Flow Validation” on page 175.
For more information about blocking source data, see “Understanding the Server
Architecture” in the Workflow Administration Guide.
For more information about the transformation language, see the Transformation Language
Reference.
Table 6-3 lists the transformations in which you can enter expressions:
Aggregator Performs an aggregate calculation based on all data The result of an aggregate calculation for
passed through the transformation. Alternatively, you a port.
can specify a filter for records in the aggregate
calculation to exclude certain kinds of records. For
example, you can find the total number and average
salary of all employees in a branch office using this
transformation.
Expression Performs a calculation based on values within a The result of a row-level calculation for a
single row. For example, based on the price and port.
quantity of a particular item, you can calculate the
total purchase price for that line item in an order.
Filter Specifies a condition used to filter rows passed TRUE or FALSE, depending on whether
through this transformation. For example, if you want a row meets the specified condition. Only
to write customer data to the BAD_DEBT table for rows that return TRUE are passed
customers with outstanding balances, you could use through this transformation. The
the Filter transformation to filter customer data. transformation applies this value to each
row passed through it.
Rank Sets the conditions for rows included in a rank. For The result of a condition or calculation
example, you can rank the top 10 salespeople who for a port.
are employed with the company.
Router Routes data into multiple transformations based on a TRUE or FALSE, depending on whether
group expression. For example, you can use this a row meets the specified group
transformation to compare the salaries of employees expression. Only rows that return TRUE
at three different pay levels. You can do this by pass through each user-defined group in
creating three groups in the Router transformation. this transformation. Rows that return
For example, create one group expression for each FALSE automatically pass through the
salary range. default group.
Update Strategy Flags a row for update, insert, delete, or reject. You The numeric code for update, insert,
use this transformation when you want to control delete, or reject. The transformation
updates to a target, based on some condition you applies this value to each row passed
apply. For example, you might use the Update through it.
Strategy transformation to flag all customer rows for
update when the mailing address has changed, or
flag all employee rows for reject for people who no
longer work for the company.
Transaction Specifies a condition used to determine the action the One of the following built-in variables,
Control PowerCenter Server performs, either commit, roll depending on whether or not a row
back, or no transaction change. You use this meets the specified condition:
transformation when you want to control commit and - TC_CONTINUE_TRANSACTION
rollback transactions based on a row or set of rows - TC_COMMIT_BEFORE
that pass through the transformation. For example, - TC_COMMIT_AFTER
you can use this transformation to commit a set of - TC_ROLLBACK_BEFORE
rows based on an order entry date. - TC_ROLLBACK_AFTER
The PowerCenter Server performs
actions based on the return value.
Adding Comments
You can add comments to an expression to give descriptive information about the expression
or to specify a valid URL to access business documentation about the expression.
You can add comments in one of the following ways:
♦ To add comments within the expression, use -- or // comment indicators.
♦ To add comments in the dialog box, click the Comments button.
For examples on adding comments to expressions, see “The Transformation Language” in the
Transformation Language Reference.
For more information about linking to business documentation, see “Using Business
Documentation” on page 39.
To add expressions:
1. In the transformation, select the port and open the Expression Editor.
2. Enter the expression. Use the Functions and Ports tabs and the operator keys.
3. Add comments to the expression. Use comment indicators -- or //.
4. Validate the expression. Use the Validate button to validate the expression.
Rather than entering the same arguments for both calculations, you might create a variable
port for each condition in this calculation, then modify the expression to use the variables.
Table 6-4 shows how you can use variables to simplify complex expressions and temporarily
store data:
Port Value
Port Value
Since the PowerCenter Server groups the input data by state, the company uses variables to
hold the value of the previous state read and a state counter. The following expression
compares the previous state to the state just read:
IIF(PREVIOUS_STATE = STATE, STATE_COUNTER +1, 1)
The STATE_COUNTER is incremented if the row is a member of the previous state. For
each new state, the PowerCenter Server sets the counter back to 1. Then an output port passes
the value of the state counter to the next transformation.
Port Order
The PowerCenter Server evaluates ports in the following order:
1. Input ports. The PowerCenter Server evaluates all input ports first since they do not
depend on any other ports. Therefore, you can create input ports in any order. Since they
do not reference other ports, the PowerCenter Server does not order input ports.
2. Variable ports. Variable ports can reference input ports and variable ports, but not output
ports. Because variable ports can reference input ports, the PowerCenter Server evaluates
variable ports after input ports. Likewise, since variable can reference other variables, the
display order for variable ports is the same as the order in which the PowerCenter Server
evaluates each variable.
For example, if you calculate the original value of a building and then adjust for
depreciation, you might create the original value calculation as a variable port. This
variable port needs to appear before the port that adjusts for depreciation.
3. Output ports. Because output ports can reference input ports and variable ports, the
PowerCenter Server evaluates output ports last. The display order for output ports does
not matter since output ports cannot reference other output ports. Be sure output ports
display at the bottom of the list of ports.
Datatype
When you configure a port as a variable, you can enter any expression or condition in it. The
datatype you choose for this port reflects the return value of the expression you enter. If you
specify a condition through the variable port, any numeric datatype returns the values for
TRUE (non-zero) and FALSE (zero).
This expression counts the number of rows in the VAR1 port. If the initial value of the
variable were set to NULL, the expression would always evaluate to NULL. This is why the
initial value is set to zero.
Input, NULL The PowerCenter Server passes all input null Input
Input/Output values as NULL. Input/Output
Output, ERROR The PowerCenter Server calls the ERROR function Output
Input/Output for output port transformation errors. It skips rows
with errors and writes the input data and error
message in the session log file.
Note: Variable ports do not support default values. The PowerCenter Server initializes variable
ports according to the datatype. For more information, see “Using Local Variables” on
page 193.
Selected
Port
Blank
default
value for
input port
means
NULL.
Figure 6-7 illustrates that the system default value for output ports appears
ERROR(‘transformation error’):
Selected
Port
ERROR
Default
Value
9999
NULL
‘Unknown Value’
SYSDATE
You cannot use values from ports within the expression because the PowerCenter Server
assigns default values for the entire mapping when it initializes the session. Some invalid
default values include the following examples, which incorporate values read from ports:
AVG(IN_SALARY)
IN_PRICE * IN_QUANTITY
:LKP(LKP_DATES, DATE_SHIPPED)
Note: You cannot call a stored procedure or lookup table from a default value expression.
Default Value
Default Value Description
Type
Constant or User-Defined The PowerCenter Server replaces the null value with the value of the
Constant expression constant or constant expression.
ABORT User-Defined The session aborts when the PowerCenter Server encounters a null
input value. The PowerCenter Server does not increase the error count
or write rows to the reject file.
Selected Port
User-Defined
Constant
Default Value
The PowerCenter Server replaces all null values in the EMAIL port with the string
‘UNKNOWN DEPT.’
DEPT_NAME REPLACED VALUE
Housewares Housewares
Produce Produce
Figure 6-9. Using the ERROR Function to Skip Null Input Values
When you use the ERROR function as a default value, the PowerCenter Server skips the row
with the null value. The PowerCenter Server writes all rows skipped by the ERROR function
into the session log file. It does not write these rows to the session reject file.
DEPT_NAME RETURN VALUE
Housewares Housewares
Produce Produce
The following session log shows where the PowerCenter Server skips the row with the null
value:
TE_11019 Port [DEPT_NAME]: Default value is: ERROR(<<Transformation
Error>> [error]: Error. DEPT is NULL
).
CMN_1053 Input row from SRCTRANS: Rowdata: ( RowType=4 Src Rowid=2 Targ
Rowid=2
Default Value
Default Value Description
Type
Transformation Error System When a transformation error occurs and you did not override the default
value, the PowerCenter Server performs the following tasks:
- Increases the transformation error count by 1.
- Skips the row, and writes the error and input row to the session log file or
row error log, depending on session configuration.
The PowerCenter Server does not write the row to the reject file.
Constant or User-Defined The PowerCenter Server replaces the error with the default value.
Constant Expression The PowerCenter Server does not increase the error count or write a
message to the session log.
ABORT User-Defined The session aborts and the PowerCenter Server writes a message to the
session log.
The PowerCenter Server does not increase the error count or write rows to
the reject file.
Replacing Errors
If you do not want the PowerCenter Server to skip a row when a transformation error occurs,
you can use a constant or constant expression as the default value for an output port. For
example, if you have a numeric output port called NET_SALARY and you want to use the
The following examples show how user-defined default values may override the ERROR
function in the expression:
♦ Constant value or expression. The constant value or expression overrides the ERROR
function in the output port expression.
For example, if you enter ‘0’ as the default value, the PowerCenter Server overrides the
ERROR function in the output port expression. It passes the value 0 when it encounters
an error. It does not skip the row or write ‘Negative Sale’ in the session log.
♦ ABORT. The ABORT function overrides the ERROR function in the output port
expression.
If you use the ABORT function as the default value, the PowerCenter Server aborts the
session when a transformation error occurs. The ABORT function overrides the ERROR
function in the output port expression.
♦ ERROR. If you use the ERROR function as the default value, the PowerCenter Server
includes the following information in the session log:
− Error message from the default value
The PowerCenter Server skips the row, and includes both error messages in the log.
TE_7007 Transformation Evaluation Error; current row skipped...
TE_7007 [<<Transformation Error>> [error]: Negative Sale
]
Sun Sep 20 13:57:28 1998
Selected Port
The Designer also validates default values when you save a mapping. If you enter an invalid
default value, the Designer marks the mapping invalid.
Normal PowerCenter Server logs initialization and status information, errors encountered, and skipped
rows due to transformation row errors. Summarizes session results, but not at the level of
individual rows.
Terse PowerCenter Server logs initialization information as well as error messages and notification of
rejected data.
Verbose Init In addition to normal tracing, PowerCenter Server logs additional initialization details, names of
index and data files used, and detailed transformation statistics.
Verbose Data In addition to verbose initialization tracing, PowerCenter Server logs each row that passes into
the mapping. Also notes where the PowerCenter Server truncates string data to fit the precision
of a column and provides detailed transformation statistics.
Allows the PowerCenter Server to write errors to both the session log and error log when you
enable row error logging.
When you configure the tracing level to verbose data, the PowerCenter Server writes row data
for all rows in a block when it processes a transformation.
By default, the tracing level for every transformation is Normal. You change the tracing level
to a Verbose setting only when you need to debug a transformation that is not behaving as
expected. To add a slight performance boost, you can also set the tracing level to Terse,
writing the minimum of detail to the session log when running a workflow containing the
transformation.
When you configure a session, you can override the tracing levels for individual
transformations with a single tracing level for all transformations in the session.
1. In the Designer, open a mapping and double-click the title bar of the transformation you
want to promote.
2. Select the Make Reusable option.
3. When prompted whether you are sure you want to promote the transformation, click Yes.
4. Click OK to return to the mapping.
5. Choose Repository-Save.
Now, when you look at the list of reusable transformations in the folder you are working in,
the newly promoted transformation appears in this list.
Revert to original
properties
defined in
Transformation
Developer.
Mapplets
215
Overview
A mapplet is a reusable object that you create in the Mapplet Designer. It contains a set of
transformations and allows you to reuse that transformation logic in multiple mappings.
For example, if you have several fact tables that require a series of dimension keys, you can
create a mapplet containing a series of Lookup transformations to find each dimension key.
You can then use the mapplet in each fact table mapping, rather than recreate the same
lookup logic in each mapping.
When you use a mapplet in a mapping, you use an instance of the mapplet. Like a reusable
transformation, any change made to the mapplet is inherited by all instances of the mapplet.
Mapplets help simplify mappings in the following ways:
♦ Include source definitions. You can use multiple source definitions and source qualifiers
to provide source data for a mapping.
♦ Accept data from sources in a mapping. If you want the mapplet to receive data from the
mapping, you can use an Input transformation to receive source data.
♦ Include multiple transformations. A mapplet can contain as many transformations as you
need.
♦ Pass data to multiple transformations. You can create a mapplet to feed data to multiple
transformations. Each Output transformation in a mapplet represents one output group in
a mapplet.
♦ Contain unused ports. You do not have to connect all mapplet input and output ports in
a mapping.
Mapplet Input
Mapplet input can originate from a source definition and/or from an Input transformation in
the mapplet. You can create multiple pipelines in a mapplet. You can use multiple source
definitions and source qualifiers or Input transformations. You can also use a combination of
source definitions and Input transformations.
Mapplet Output
Use an Output transformation in a mapplet to pass data through the mapplet into a mapping.
A mapplet must contain at least one Output transformation with at least one connected port
in the mapplet. Each connected port in an Output transformation displays as a mapplet
When you use the mapplet in a mapping, the mapplet object displays only the ports from the
Input and Output transformations. These are referred to as the mapplet input and mapplet
output ports.
Figure 7-2 shows a mapplet in the Mapping Designer:
Notice that you do not see the Input and Output transformations.
Creating a Mapplet
A mapplet can be active or passive depending on the transformations in the mapplet. Active
mapplets contain one or more active transformations. Passive mapplets contain only passive
transformations. When you use a mapplet in a mapping, all transformation rules apply to the
mapplet depending on the mapplet type. For example, as with an active transformation, you
cannot concatenate data from an active mapplet with a different pipeline.
When you add transformations to a mapplet, keep the following restrictions in mind:
♦ If you use a Sequence Generator transformation, you must use a reusable Sequence
Generator transformation.
♦ If you use a Stored Procedure transformation, you must configure the Stored Procedure
Type to be Normal.
♦ You cannot include PowerMart 3.5-style LOOKUP functions in a mapplet.
♦ You cannot include the following objects in a mapplet:
− Normalizer transformations
− COBOL sources
− XML Source Qualifier transformations
− XML sources
− Target definitions
− Other mapplets
Although you can use reusable transformations and shortcuts in a mapplet, to protect the
validity of your mapplet, use a copy of a transformation instead. Reusable transformations
and shortcuts inherit changes to their original transformations. This might invalidate the
mapplet and the mappings that use the mapplet.
For more information about active and passive transformations, see “Overview” on page 182.
Editing Mapplets
You can edit a mapplet in the Mapplet Designer. The Designer validates your changes when
you save the mapplet. When you save changes to a mapplet, all instances of the mapplet and
all shortcuts to the mapplet inherit your changes. These changes might invalidate mappings
that use the mapplet.
To see what mappings or shortcuts may be affected by changes you make to a mapplet, select
the mapplet in the Navigator, right-click, and select View Dependencies. Or, select Mapplets-
View Dependencies from the menu bar.
You can make the following changes to a mapplet without affecting the validity of existing
mappings and sessions:
♦ Add input or output ports.
♦ Change port names or comments.
♦ Change Input or Output transformation names or comments.
♦ Change transformation names, comments, or properties.
♦ Change port default values for transformations in the mapplet.
♦ Add or remove transformations in the mapplet, providing you do not change the mapplet
type from active to passive or from passive to active.
To maintain valid mappings, use the following rules when you edit a mapplet that is used by
mappings:
♦ Do not delete a port from the mapplet. The Designer deletes mapplet ports in the
mapping when you delete links to an Input or Output transformation or when you delete
ports connected to an Input or Output transformation.
♦ Do not change the datatype, precision, or scale of a mapplet port. The datatype,
precision, and scale of a mapplet port is defined by the transformation port to which it is
connected in the mapplet. Therefore, if you edit a mapplet to change the datatype,
precision, or scale of a port connected to a port in an Input or Output transformation, you
change the mapplet port itself.
Pipeline Partitioning
If you purchased the Partitioning option, you can increase the number of partitions in a
pipeline to improve session performance. Increasing the number of partitions allows the
PowerCenter Server to create multiple connections to sources and process partitions of source
data concurrently.
When you create a session, the Workflow Manager validates each pipeline in the mapping for
partitioning. You can specify multiple partitions in a pipeline if the PowerCenter Server can
maintain data consistency when it processes the partitioned data.
There are partitioning restrictions that apply to mapplets. For more information about
restrictions for partitioning data, see “Pipeline Partitioning” in the Workflow Administration
Guide.
To create mapplets from existing mappings, copy the objects from the mapping into the
Mapplet Designer.
To keep existing mappings valid when you edit a mapplet used in a mapping:
♦ Do not delete connected ports in an Input or Output transformation.
♦ Do not change the datatype, precision, or scale of connected ports in an Input or Output
transformation.
♦ Do not change a passive mapplet to an active mapplet or an active mapplet to a passive
mapplet.
229
Overview
In the Designer, you can use mapping parameters and variables to make mappings more
flexible. Mapping parameters and variables represent values in mappings and mapplets. If you
declare mapping parameters and variables in a mapping, you can reuse a mapping by altering
the parameter and variable values of the mapping in the session. This can reduce the overhead
of creating multiple mappings when only certain attributes of a mapping need to be changed.
When you use a mapping parameter or variable in a mapping, first you declare the mapping
parameter or variable for use in each mapplet or mapping. Then, you define a value for the
mapping parameter or variable before you run the session.
You can use mapping parameters and variables in a mapping to incrementally extract data.
Use mapping parameters or variables in the source filter of a Source Qualifier transformation
to determine the beginning timestamp and end timestamp for incrementally extracting data.
For example, you can create a user-defined mapping variable $$LastUpdateDateTime that
saves the timestamp of the last row the PowerCenter Server read in the previous session. Use
$$LastUpdateDateTime for the beginning timestamp and the built-in variable
$$$SessStartTime for the end time stamp in the source filter. Use the following filter to
incrementally extract data based on the SALES.sales_datetime column in the source:
SALES.sales_datetime > TO_DATE (‘$$LastUpdateDateTime’) AND
SALES.sales_datetime < TO_DATE (‘$$$SessStartTime’)
See the Informatica Webzine article “Using Mapping Variables for Incremental Extraction”
for more information.
For more information about using mapping parameters or variables in sessions, see “Working
with Sessions” in the Workflow Administration Guide.
Mapping Parameters
A mapping parameter represents a constant value that you can define before running a
session. A mapping parameter retains the same value throughout the entire session.
When you use a mapping parameter, you declare and use the parameter in a mapping or
mapplet. Then define the value of the parameter in a parameter file. During the session, the
PowerCenter Server evaluates all references to the parameter to that value.
For example, you want to use the same session to extract transaction records for each of your
customers individually. Instead of creating a separate mapping for each customer account, you
can create a mapping parameter to represent a single customer account. Then you can use the
parameter in a source filter to extract only data for that customer account. Before running the
session, you enter the value of the parameter in the parameter file.
To reuse the same mapping to extract records for other customer accounts, you can enter a
new value for the parameter in the parameter file and run the session. Or you can create a
parameter file for each customer account and start the session with a different parameter file
Mapping Variables
Unlike a mapping parameter, a mapping variable represents a value that can change through
the session. The PowerCenter Server saves the value of a mapping variable to the repository at
the end of each successful session run and uses that value the next time you run the session.
When you use a mapping variable, you declare the variable in the mapping or mapplet, and
then use a variable function in the mapping to change the value of the variable. At the
beginning of a session, the PowerCenter Server evaluates references to a variable to its start
value. At the end of a successful session, the PowerCenter Server saves the final value of the
variable to the repository. The next time you run the session, the PowerCenter Server
evaluates references to the variable to the saved value. You can override the saved value by
defining the start value of the variable in a parameter file.
Use mapping variables to perform incremental reads of a source. For example, suppose the
customer accounts in the mapping parameter example above are numbered from 001 to 065,
incremented by one. Instead of creating a mapping parameter, you can create a mapping
variable with an initial value of 001. In the mapping, use a variable function to increase the
variable value by one. The first time the PowerCenter Server runs the session, it extracts the
records for customer account 001. At the end of the session, it increments the variable by one
and saves that value to the repository. The next time the PowerCenter Server runs the session,
it extracts the data for the next customer account, 002. It also increments the variable value so
the next session extracts and looks up data for customer account 003.
For more information about variable functions, see “Variable Functions” on page 242.
Overview 231
Designer expands them before passing the query to the source database for validation. This
allows the source database to validate the query.
When you create a reusable transformation in the Transformation Developer, you can use any
mapping parameter or variable. Since a reusable transformation is not contained within any
mapplet or mapping, the Designer validates the usage of any mapping parameter or variable
in the expressions of reusable transformation. When you use the reusable transformation in a
mapplet or mapping, the Designer validates the expression again. If the parameter or variable
is not defined in the mapplet or mapping, or if it is used incorrectly in the reusable
transformation, the Designer logs an error when you validate the mapplet or mapping.
When the Designer validates a mapping variable in a reusable transformation, it treats the
variable as an Integer datatype.
You cannot use mapping parameters and variables interchangeably between a mapplet and a
mapping. Mapping parameters and variables declared for a mapping cannot be used within a
mapplet. Similarly, you cannot use a mapping parameter or variable declared for a mapplet in
a mapping.
Table 8-1. Default Values for Mapping Parameters and Variables Based on Datatype
Numeric 0
For example, you create a new mapping using an Integer mapping variable,
$$MiscellaneousExpenses. You do not configure an initial value for the variable or define it in
a parameter file. The first time you run a session with the mapping, the PowerCenter Server
uses the default value for numeric datatypes, 0.
Or, suppose you create a mapping parameter $$MiscellaneousCosts to represent additional
expenses that might become relevant in the future, but do not currently exist in source data.
During the session, the PowerCenter Server replaces the parameter with a string. If $$State is
defined as MD in the parameter file, the PowerCenter Server replaces the parameter as
follows:
STATE = ‘MD’
You can perform a similar filter in the Filter transformation using the Informatica
transformation language as follows:
STATE = $$State
If you enclose the parameter in single quotes in the Filter transformation, the PowerCenter
Server reads it as the string literal “$$State” instead of replacing the parameter with “MD.”
For more information about the transformation language, see the Transformation Language
Reference.
Overview 233
Code Page Relaxation
You can configure the PowerCenter Server to relax code page validation when you run the
PowerCenter Server in Unicode data movement mode. However, you might get unexpected
results in the following situations:
♦ The mapping variable value that the PowerCenter Server saves in the repository is not
compatible with the repository code page.
For example, suppose your repository uses the ISO 8859-1 Latin1 code page and you
configure the PowerCenter Server to relax code page validation. If the mapping variable
value contains Japanese character data, such as JapanEUC, the saved mapping variable
value in the repository could be corrupt. There could be data loss converting from the
JapanEUC code page to the Latin1 code page. Make sure the saved mapping variable value
is two-way compatible with the repository code page.
Informatica recommends that you use 7-bit ASCII data for all repository metadata when
you relax code page validation.
♦ The parameter file contains characters that are not compatible with the PowerCenter
Server code page.
The PowerCenter Server interprets the data in the parameter file using the PowerCenter
Server code page. For example, suppose your PowerCenter Server uses the ISO 8859-1
Latin1 code page and you configure the PowerCenter Server to relax code page validation.
If you create a parameter file and use Greek character data, such as ISO 8859-7, the value
the PowerCenter Server reads from the file could be corrupt. There could be data loss
converting from the ISO 8859-7 code page to the Latin1 code page. Make sure the
characters in the parameter file are a subset of the PowerCenter Server code page.
For more information about code page relaxation, see “Globalization Overview” in the
Installation and Configuration Guide.
Add Button
Required/
Field Description
Optional
Datatype Required Datatype of the parameter. Select a valid transformation datatype. Use
any datatype except Binary or Raw.
Required/
Field Description
Optional
Initial Value Optional Initial value of the parameter. If you do not set a value for the
parameter in the parameter file, the PowerCenter Server uses this
value for the parameter during sessions. If this value is also undefined,
the PowerCenter Server uses a default value based on the datatype of
the mapping variable.
Use any of the following formats for initial values for Date/Time
parameters:
- MM/DD/RR
- MM/DD/RR HH24:MI:SS
- MM/DD/YYYY
- MM/DD/YYYY HH24:MI:SS
Mapping Parameter
You can also use mapping parameters in the Expression Editor. When using mapping
parameters in the Expression Editor, do not enclose string parameters in string identifiers.
The PowerCenter Server handles parameters just like any other port identifiers.
Figure 8-2 shows how you can use a mapping parameter in the Expression Editor:
Mapping Parameter
For more information about where you can enter expressions, see “Working with Expressions”
on page 189.
In the mapping, you can use a variable function to set the variable value to increment one day
each time the session runs. If you set the initial value of $$IncludeDateTime to 8/1/2004, the
first time the PowerCenter Server runs the session, it reads only rows dated 8/1/2004. During
the session, the PowerCenter Server sets $$IncludeDateTime to 8/2/2004. It saves 8/2/2004
to the repository at the end of the session. The next time it runs the session, it reads only rows
from August 2, 2004.
Variable Values
Conceptually, the PowerCenter Server holds two different values for a mapping variable
during a session run:
♦ Start value of a mapping variable
♦ Current value of a mapping variable
Start Value
The start value is the value of the variable at the start of the session. The start value could be a
value defined in the parameter file for the variable, a value saved in the repository from the
previous run of the session, a user defined initial value for the variable, or the default value
based on the variable datatype. The PowerCenter Server looks for the start value in the
following order:
1. Value in parameter file
2. Value saved in the repository
Current Value
The current value is the value of the variable as the session progresses. When a session starts,
the current value of a variable is the same as the start value. As the session progresses, the
PowerCenter Server calculates the current value using a variable function that you set for the
variable. Unlike the start value of a mapping variable, the current value can change as the
PowerCenter Server evaluates the current value of a variable as each row passes through the
mapping. The final current value for a variable is saved to the repository at the end of a
successful session. When a session fails to complete, the PowerCenter Server does not update
the value of the variable in the repository. The PowerCenter Server states the value saved to
the repository for each mapping variable in the session log.
For more information about setting variable functions, see “Variable Functions” on page 242.
Note: If a variable function is not used to calculate the current value of a mapping variable, the
start value of the variable is saved to the repository.
Variable Functions
Variable functions determine how the PowerCenter Server calculates the current value of a
mapping variable in a pipeline. You can use variable functions in an expression to set the value
of a mapping variable for the next session run. The transformation language provides the
following variable functions to use in a mapping:
♦ SetMaxVariable. Sets the variable to the maximum value of a group of values. It ignores
rows marked for update, delete, or reject. To use the SetMaxVariable with a mapping
variable, the aggregation type of the mapping variable must be set to Max. For more
information, see “Variable Datatype and Aggregation Type” on page 241.
♦ SetMinVariable. Sets the variable to the minimum value of a group of values. It ignores
rows marked for update, delete, or reject. To use the SetMinVariable with a mapping
variable, the aggregation type of the mapping variable must be set to Min. For more
information, see “Variable Datatype and Aggregation Type” on page 241.
♦ SetCountVariable. Increments the variable value by one. In other words, it adds one to the
variable value when a row is marked for insertion, and subtracts one when the row is
marked for deletion. It ignores rows marked for update or reject. To use the
SetCountVariable with a mapping variable, the aggregation type of the mapping variable
must be set to Count. For more information, see “Variable Datatype and Aggregation
Type” on page 241.
Add Button
Required/
Field Description
Optional
Name Required Variable name. Name variables $$VariableName. The syntax for the
variable name must be $$ followed by any alphanumeric or underscore
characters.
Datatype Required Datatype of the variable. Select a valid transformation datatype. Use
any datatype except Binary. The datatype you select can affect the
Aggregation type you can select. For example, when you create a
String variable, you cannot configure it with a Count aggregation type.
Aggregation Required Aggregation type of the variable. Determines the type of calculation
you can perform with the variable.
- Set the aggregation to Count if you want to use the mapping variable
to count number of rows read from source.
- Set the aggregation to Max if you want to use the mapping variable to
determine a maximum value from a group of values.
- Set the aggregation to Min if you want to use the mapping variable to
determine a minimum value from a group of values.
Required/
Field Description
Optional
Initial Value Optional Initial value of the variable. The PowerCenter Server uses this value
for the variable when the variable value is not saved in the repository
or defined in the parameter file. If this value is also undefined, the
PowerCenter Server uses a default value based on the datatype of the
mapping variable.
Use any of the following formats for initial values for datetime
variables:
- MM/DD/RR
- MM/DD/RR HH24:MI:SS
- MM/DD/YYYY
- MM/DD/YYYY HH24:MI:SS
4. Click OK.
Mapping
Variables
Enclose string and datetime parameters and variables in quotes in the SQL Editor.
When you use a string parameter or variable in a Source Qualifier transformation, enclose it
in string identifiers recognized by the source system, such as single quotation marks.
Tips 247
Troubleshooting
I created a mapping variable for a mapping, but each time I run the session, the value of the
variable stays the same.
You might not have included a variable function in the mapping. To change the value of a
variable from session to session, use a variable function.
Or you might have configured a value for the variable in the parameter file. When you define
a value for a mapping variable in the parameter file, the PowerCenter Server uses that value
for the variable. See the session log to determine what start value the PowerCenter Server uses
for each variable.
In the parameter file, I configured values for parameters in a mapplet, but they are not
being used in the session.
Mapping parameter and variable values in mapplets must be preceded by the mapplet name in
the parameter file, as follows:
mappletname.parameter=value
mappletname.variable=value
I cannot find the variable functions in the Expression Editor of the Rank or Aggregator
transformation.
You cannot use variable functions in the Rank or Aggregator transformation. Use a different
transformation for variable functions.
249
Overview
You can debug a valid mapping to gain troubleshooting information about data and error
conditions. To debug a mapping, you configure and run the Debugger from within the
Mapping Designer. The Debugger uses a session to run the mapping on the PowerCenter
Server. When you run the Debugger, it pauses at breakpoints and allows you to view and edit
transformation output data.
You might want to run the Debugger in the following situations:
♦ Before you run a session. After you save a mapping, you can run some initial tests with a
debug session before you create and configure a session in the Workflow Manager.
♦ After you run a session. If a session fails or if you receive unexpected results in your target,
you can run the Debugger against the session. You might also want to run the Debugger
against a session if you want the PowerCenter Server to process the configured session
properties.
Debug Process
Use the following process to debug a mapping:
1. Create breakpoints. You create breakpoints in a mapping where you want the
PowerCenter Server to evaluate data and error conditions.
2. Configure the Debugger. Use the Debugger Wizard to configure the Debugger for the
mapping. Select the session type the PowerCenter Server uses when it runs Debugger.
When you create a debug session, you configure a subset of session properties within the
Security Requirements
To create or edit breakpoints, you need one of the following sets of privileges and permissions:
♦ Use Designer privilege with read permission for the folder
♦ Super User privilege
To run the Debugger, you must have a valid mapping and one of the following sets of
privileges and permissions:
♦ Use Designer and Use Workflow Manager privilege with read and execute permission for
the folder
♦ Use Designer and Workflow Operator privilege with read permission for the folder
♦ Super User privilege
You also need execute permissions for connection objects associated with the session. For
more information about connection objects see “Configuring the Workflow Manager” in the
Workflow Administration Guide.
Overview 251
Figure 9-1 shows the windows in the Mapping Designer that display when you run the
Debugger:
A breakpoint can consist of an instance name, a breakpoint type, and a condition. When you
enter breakpoints, set breakpoint parameters in the following order:
1. Select the instance name. Choose to create a global breakpoint or a breakpoint against a
single transformation within the mapping or mapplet.
2. Select the breakpoint type. Choose to evaluate error or data conditions. You can also
choose the number of rows to skip for the breakpoint type.
3. Enter the condition. Enter data conditions for global or transformation data breakpoints.
You cannot enter conditions for error breakpoints.
Figure 9-2 shows the Breakpoint Editor:
Instance Name
Breakpoint Type
Data Condition
View Breakpoints
After you set the instance name, breakpoint type, and optional data condition, you can view
each parameter in the Breakpoints section of the Breakpoint Editor:
♦ Instance name. From the Instance Name parameter.
♦ Breakpoint enabled flag. Enable in the View Breakpoints section.
Data Condition
Number of Breakpoint Rows to Skip
Number of Data
Debugger Behavior
Rows Condition
>0 No Pauses after every n times the number of rows passes through the transformation.
0 Yes Pauses each time the row meets the data condition.
>0 Yes Pauses after every n times the row meets the data condition.
Use the following syntax when you check for null and default values, either globally or in a
transformation:
<port> <operator>
For a single transformation, you can enter multiple conditions within a single breakpoint if
you want the Debugger to pause when all the conditions are true. You can also enter multiple
breakpoints for a single transformation if you want the Debugger to pause when at least one
condition is true.
Port Choose port name, <<ROW-ID>>, <<ROW- <ANY-PORT>. You can evaluate this condition
TYPE>>, or <<ANY-PORT>>. against each port in each transformation and
mapplet.
Operator <, <=, =, >, >=, !=, ISNULL, ISDEFAULT. ISNULL, ISDEFAULT.
Value Enter the value or select the port name. Not available.
To enter breakpoints:
1. From within a mapping, you can open the Breakpoint Editor in one of the following
ways:
♦ Press Alt+F9.
♦ Choose Mappings-Debugger-Edit Breakpoints.
♦ Right-click a transformation or mapplet and choose Edit Breakpoint.
Note: You can right-click any portion of an iconized transformation or mapplet. If the
transformation or mapplet is in normal view, right-click the title bar.
2. Select the instance name in the Instance Name section.
3. Click Add to add a new breakpoint.
If you select <<ALL INSTANCES>> and click Add, the Designer prompts you to choose
a specific transformation or a global instance.
4. Select the Breakpoint Type.
5. If you select a data breakpoint type, you can enter the condition. Enter multiple
conditions if you want the PowerCenter Server to evaluate multiple conditions.
6. Repeat steps 2 - 5 for each breakpoint.
7. Click OK when done.
Note: You can click OK after step 3 to create an unconditional data breakpoint. For more
information, see Table 9-1 on page 256.
To edit breakpoints:
1. From within a mapping, you can open the Breakpoint Editor in one of the following
ways:
♦ Press Alt+F9.
♦ Choose Mappings-Debugger-Edit Breakpoints.
♦ Right-click over a transformation and choose Edit Breakpoint.
Note: You can right-click over any portion of an iconized transformation or mapplet. If
the transformation is in normal view, right-click over the title bar.
2. Select an instance name in the Instance Name section.
Tip: Select <<ALL INSTANCES>> in the Instance Name list to view all breakpoints for a
mapping.
3. Select a breakpoint in the Breakpoints section.
4. Change the condition or breakpoint type.
5. Clear the checkbox by a breakpoint to disable it. You can enable the breakpoint again by
selecting the checkbox.
6. Create a new breakpoint using the instructions above for creating breakpoints.
7. Click the Remove button to remove a selected breakpoint.
8. Click the Remove All button to remove all breakpoints for the selected instance. If you
want to remove all breakpoints in the mapping, select <<ALL INSTANCES>>.
When you click Next, the Designer tests the connection to the PowerCenter Server and
verifies that debugging is enabled for the PowerCenter Server. If the connection fails, the
Designer prompts you to select another PowerCenter Server.
You can choose the source reader type and target writer type for each source and target
instance in the debug session on the Reader/Writer tab.
Figure 9-12 shows the Reader/Writer tab for sources and targets:
Figure 9-12. Debugger Wizard Source Reader and Target Writer Properties
The Properties tab displays different source and target properties depending on the type of
source reader or target writer you select on the Reader/Writer tab. The PowerCenter Server
uses default values for all session properties you do not configure on the Properties tab.
Table 9-3 describes the source and target properties for a debug session:
For more information about session properties, see the Workflow Administration Guide.
Row Type Insert, Delete, Update, or Driven. The default row type for session using an Update
Strategy is Update.
Shared Memory Size Default shared memory allocation is 12 MB. You might want to increase this to 24
MB if you run a session with large amounts of character data against a PowerCenter
Server configured to run in Unicode mode.
Parameter File Enter the name and location of the parameter file if the mapping uses any mapping
parameters or variables. $PMSessionLogDir is the default location for the
parameter file.
Enable High Precision When selected, the PowerCenter Server processes the Decimal datatype to a
precision of 28. If a session does not use the Decimal datatype, do not enable high
precision. For more information about using the Decimal datatype with high
precision, see “Working with Sessions” in the Workflow Administration Guide.
$Source Connection Value Enter the database connection you want the PowerCenter Server to use for the
$Source variable.
$Target Connection Value Enter the database connection you want the PowerCenter Server to use for the
$Target variable.
Constraint Based Load Ordering Choose to use constraint-based loading. For more information, see “Working with
Targets” in the Workflow Administration Guide.
When you click Finish, if the mapping includes mapplets, the Debugger displays the mapplet
instance dialog box. Select the mapplets from this dialog box that you want to debug. To clear
an already selected mapplet, hold the Ctrl key and select the mapplet.
Figure 9-16 shows the mapplet instance dialog box:
When you select a mapplet to debug, the Designer expands it to display the individual
transformations when the Debugger runs.
When you do not select a mapplet to debug, the Designer does not expand it in the
workspace. You cannot perform the following tasks for transformations in the mapplet:
♦ Monitor or modify transformation data.
♦ Evaluate expressions.
♦ Edit breakpoints.
♦ Step to a transformation instance.
Initializing State
When you run the Debugger, the Designer connects to the PowerCenter Server, and the
PowerCenter Server initializes the session. During initialization, the Designer closes the
Navigator window and disables functions, such as switching to another tool, saving the
repository, or opening a folder. These functions remain disabled until the Debugger stops.
Running State
When initialization completes, the Debugger moves to the paused state and waits for your
command to continue processing. When you continue, the Debugger moves to the running
state. The PowerCenter Server transforms data and evaluates data against breakpoint
conditions. The Debugger remains in the running state until the PowerCenter Server
encounters a breakpoint, you issue a break command, or the session ends.
Paused State
The Debugger pauses when the PowerCenter Server encounters a break. The following break
conditions cause the Debugger to pause:
♦ The PowerCenter Server encounters a configured breakpoint condition.
♦ You instruct the PowerCenter Server to continue to an instance that does not have an
associated breakpoint.
♦ You issue a manual break command.
♦ The PowerCenter Server encounters a fatal error.
♦ The PowerCenter Server completes evaluation of all data. The Debugger tab displays a
message that the session is complete. When you continue the session, the Debugger clears
the Target and Transformation windows.
Debugger Tasks
You can perform multiple tasks when you run the Debugger. The type of information that
you monitor and the tasks that you perform can vary depending on the Debugger state. For
example, you can monitor logs in all three Debugger states, but you can only modify data
when the Debugger is in the paused state. You can perform the following types of tasks:
♦ Monitor the session. While the PowerCenter Server runs the Debugger, the Mapping
Designer displays indicators and windows to help you monitor the session. For more
information about monitoring the session, see “Monitoring the Debugger” on page 275.
♦ Modify data and breakpoints. When the Debugger pauses, you can modify output data,
row indicators, and breakpoint conditions. For more information about modifying data
and breakpoints, see “Modifying Data” on page 283.
♦ Evaluate expressions. When the Debugger pauses, you can invoke the Expression Editor
and evaluate an expression against the current data in a transformation. The Debugger
returns the result of the expression in a message box. You can enter expressions using ports
in the selected transformation. You can also evaluate mapping variables. For more
information about evaluating expressions, see “Evaluating Expressions” on page 286.
♦ Issue commands to the PowerCenter Server. You can issue commands to the PowerCenter
Server, such as break, continue, or stop.
Table 9-5 describes the different tasks you can perform in each of the Debugger states:
Debugger
Task Description Access
State
Monitor logs Monitor the session log and the debug Initializing - View Output Window
log in the Output window. Running
Paused
Monitor target data When the Debugger moves from the Running - View Target Instance Window
initializing state to the running state, the Paused - View Target Data Command
Designer displays the Target window.
You can view updated target data as the
PowerCenter Server processes the
target data.
Monitor debug Debug indicators display on mapping Running - View Mapping Objects
indicators objects that help you monitor the Paused
breakpoints and data flow.
Debugger
Task Description Access
State
Monitor When the Debugger moves from the Paused - View Instance Window
transformation data initializing state to the running state, the - Show Current Instance Command
Designer displays the Instance window.
When the Debugger pauses, the
Instance window displays data of the
transformation that caused the break.
You can also select other
transformations to view.
Modify data While the Debugger pauses, you can Paused - View Instance Window
modify output data and row parameters.
Evaluate While the Debugger pauses, you can Paused - Evaluate Expression Command
expressions use the Expression Editor to evaluate
mapping variables and expressions in a
transformation.
Issue a manual Issue a manual break command when Running - Break Now Command
break command you want to view transformation data.
Edit breakpoints The PowerCenter Server begins Running - Edit Breakpoints Command
evaluating the modified breakpoints Paused
immediately.
Refresh data After you modify data, you can refresh Paused - Refresh Data Command from
the data. When you refresh data, the Instance Window
PowerCenter Server returns the result of
the modification. If you enter data that is
not valid, you can edit it again before
you continue processing.
Continue processing When you finish viewing and modifying Paused - Next Instance Command
data, you can continue the Debugger. - Step to Instance Command
You have several options for continuing - Continue Command
the session. For more information, see
“Continuing the Debugger” on page 278.
Stop the Debugger Stop the Debugger. Initializing - Stop Debugger Command
Running
Paused
Status request When you request the Debugger status, Running - Status Request Command
the PowerCenter Server displays the Paused
status of the Debugger in the Output
Window.
Limitations
When the Debugger starts, the Designer disables the following functions:
♦ Close the folder or open another folder.
♦ Use the Navigator.
♦ Perform repository functions, such as Save.
♦ Edit or close the mapping.
♦ Switch to another tool in the Designer, such as Warehouse Designer.
♦ Close the Designer.
You can perform these functions after the Debugger stops.
Note: When the mapping contains a Custom transformation, the Instance window displays
information for ports in all input and output groups.
You can display the following information in the Instance window:
♦ RowID. Displays row number passing through the transformation.
♦ Port name. All ports display that are connected to another transformation or target.
♦ Value. Displays the value for each port. If the port contains binary data, this column
displays <raw data>. If the port does not contain data, or if it is null, this column displays
<no data available>. For Router transformations, the values display for input ports and
output ports that meet the group condition. Output ports that do not meet the group
condition display <no data available> in the value column.
♦ Datatype. Displays the datatype of the port.
♦ Length/Precision and scale. Displays the length/precision and scale of the port.
♦ Null indicator. If a column contains a null value, the null indicator column is selected,
and the value displays <no data available>.
♦ Row type. Insert, update, delete, reject, filtered, or not applicable. <<ROW TYPE>>
displays in the Port column, and the row type value displays in the Value column. The row
type does not display if it is not applicable, such as with Sequence Generator
transformations.
♦ Port indicator. Displays one of the following indicators beside the port name:
− Current row. Indicates the port is in the current row.
− Previous row. Indicates the port is in the previous row.
− Current row, default value. Indicates the value for the column in the current row is the
default value.
Instance window displays current row. Instance window displays previous row.
Current and previous row indicators can also show when the Instance window displays the
default value. The Debugger uses the same rules to display the default value indicator in
the Instance window that it uses to evaluate default values for breakpoints. For more
information about default values and breakpoints, see “Using ISNULL and ISDEFAULT”
on page 260.
You can view the following information for each row of target data:
♦ Row ID. Row number of the cached target data.
♦ Row type. Insert, update, delete, reject, or filtered.
♦ Column name and value. Column name and value for each row in the cache.
If the mapping has more than one target, you can choose the target you want to display. Select
a target to view from the list in the Target window. The targets that display in the list are the
targets you selected in the Debugger Wizard. If you want to view a target that you did not
select in the wizard, you can choose Mappings-Debugger-View Target Data.
The Target window displays up to 1,000 rows. After it reaches 1,000, the Designer begins
overwriting data from the first row. You can clear the cache and the Target window by right-
clicking in the Target window, and selecting Clear Data.
Session is complete. The Response from the server: Session completed <successfully/
PowerCenter Server with failure>. Last chance to look at target data.
waits for the final Debugger will shut down when we continue.
command to shut down Server is Ready.
the Debugger.
If you want to save the log when the session completes, right-click inside the Debugger tab,
and choose Save Output As from the menu.
Table 9-7. Workflow Monitor Display Names for Debug Session Types
The Workflow Monitor displays the debug run mode for all debugger sessions and workflows.
Figure 9-20 shows debug mode sessions in the Task view of the Workflow Monitor:
Note: You cannot use the Workflow Monitor to restart, abort, or stop a debug session, debug
workflow, or a session run in debug mode.
After you change data, you can refresh the cache before you continue the session. When you
issue the Refresh command, the Designer processes the request for the current
transformation, and you can see if the data you enter is valid. You can change the data again
before you continue the session.
Restrictions
You cannot change data for the following output ports:
♦ Normalizer transformation. Generated Keys and Generated Column ID ports.
♦ Rank transformation. RANKINDEX port.
♦ Router transformation. All output ports.
♦ Sequence Generator transformation. CURRVAL and NEXTVAL ports.
To find the current value of a mapping variable, evaluate the mapping variable with one of the
variable functions, such as SetMaxVariable or SetCountVariable. The Designer displays only
the mapping variables associated with the transformations in the mapping. To view mapping
variables associated with a mapplet, select the transformation within the expanded mapplet
when the Debugger is running.
For more information about mapping variables, see “Mapping Parameters and Variables” on
page 229.
For more information about variable functions, see “Functions” in the Transformation
Language Reference.
1. Open the mapping with breakpoint and configuration that you want to save.
2. Choose Mappings-Debugger-Save Configuration.
3. Save the file with a .dcf extension.
4. When you choose an existing .dcf file, the Designer appends the configuration
information to the file.
5. If the file contains configuration information for the mapping, the Designer prompts you
to verify that you want to overwrite the configuration.
1. Make the .dcf file accessible to the PowerCenter Client machine where you want to load
configurations.
2. Open the mapping you want to load configuration.
3. Choose Mapping-Debugger-Load Configuration.
The Open DCF File dialog box appears.
Previewing Data
291
Overview
You can preview source and target data in the Designer. You might want to preview source
data before you create a mapping. You might want to preview source or target data while you
are working with a mapping.
You can preview the following types of data:
♦ Relational tables and views. You can preview relational sources and targets. For more
information, see “Previewing Relational Data” on page 293.
♦ Fixed-width and delimited flat files. You can preview flat file sources and targets that do
not contain binary data. For more information, see “Previewing Flat File Data” on
page 295.
♦ XML files. You can preview XML file data in the XML Editor. For more information, see
the XML User Guide.
Before you create a mapping and run a workflow, you might want to verify that you extract
data from the correct source. You might also want to preview the columns in a source before
creating a mapping. For example, you have a relational source definition with 25 columns of
data. To determine which columns to use, you can preview your source data in the workspace.
You might want to preview target data before you truncate target tables or when you
implement an update strategy.
8. To change the number of rows you want to preview, enter a new number and click
Refresh.
9. Click Close.
Browse Button
4. Locate and select the file you want to preview and click Open.
5. Select a code page from the Preview Data dialog box.
The code page must match the code page of the source. If the code page does not match
the code page of the source, the data might display incorrectly.
6. Enter the starting row number and the number of rows you want to preview.
The Preview Data dialog box can display up to 500 rows and up to 65,000 columns.
7. Click Open.
The contents of the file appear in the Data Preview dialog box.
Note: The Preview Data dialog box displays shift characters display as periods “.” in shift-
sensitive flat files.
8. To reset the number of rows you want to preview, enter a new number and click Refresh.
Comparing Objects
299
Overview
The Designer allows you to compare two repository objects of the same type to identify
differences between the objects. For example, you may want to use a target definition in a
mapping, but you have two target definitions that are similar. You can compare the target
definitions to see which one contains the columns you need. When you compare two objects,
the Designer displays their attributes side-by-side.
You can also compare different versions of the same type of objects. For more information
about versioned objects, see the Repository Guide .
You can compare the following types of objects:
♦ Sources. You can compare two sources, two source shortcuts, or a source with a source
shortcut. For more information, see “Comparing Sources” on page 303.
♦ Targets. You can compare two targets, two target shortcuts, or a target with a target
shortcut. For more information, see “Comparing Targets” on page 304.
♦ Transformations. You can compare two transformations, two transformation shortcuts, or
a transformation with a transformation shortcut. To compare reusable transformations, see
“Comparing Reusable Transformations” on page 306. To compare transformations within
a mapping or mapplet, see “Comparing Instances in Mappings and Mapplets” on
page 316.
♦ Mappings and Mapplets. You can compare two mappings, two mapping shortcuts, or a
mapping with a mapping shortcut. You can also compare two mapplets, two mapplet
shortcuts, or a mapplet with a mapplet shortcut. For more information, see “Comparing
Mappings and Mapplets” on page 308.
♦ Instances. Within mappings and mapplets, you can compare two source instances, two
target instances, or two transformations. Within mappings, you can also compare two
mapplet instances. For more information, see “Comparing Instances in Mappings and
Mapplets” on page 316.
♦ Folders. You can compare two folders. For more information, see “Working with Folders”
in the Repository Guide.
You cannot compare objects of different types. For example, you cannot compare a source
definition with a target definition.
You can compare objects under the following circumstances:
♦ When both objects exist in open folders. You can compare an object in any open folder
with another object of the same type in any open folder. The folders can be in different
repositories.
♦ When importing an object. When you import an object into a folder that already contains
an object with the same name, the Designer allows you to compare the objects to
determine whether you want to overwrite or use the existing object.
♦ When copying an object. If you copy an object into a folder that already contains an
object of that type with the same name, the Designer allows you to compare the two
objects to determine whether you want to overwrite or use the existing object.
Differences
Between
Objects
Divider
Each tab in this dialog box contains two columns. The left column displays the attributes in
the first object you compare, and the right column displays the attributes in the second
object. A divider separates the two columns. Slide the divider left or right to resize the
columns. The Designer highlights differences between the objects. Ports or columns common
to both objects appear in the same row.
Note: You cannot change the metadata displayed in the results.
Overview 301
Comparing Sources, Targets, and Transformations
The Designer allows you to compare individual objects of the same type to identify
differences between the objects. For example, if you have two sources with the same name in
different folders, you can compare them to see if they differ.
Use the following tools to compare sources, targets, or transformations:
♦ Source Analyzer. You can compare two sources, two source shortcuts, or a source with a
source shortcut.
♦ Warehouse Designer. You can compare two targets, two target shortcuts, or a target with a
target shortcut.
♦ Transformation Developer. You can compare two reusable transformations, two reusable
transformation shortcuts, or a reusable transformation with a reusable transformation
shortcut.
1. Open the folders that contain the objects you wish to compare.
2. Open the appropriate Designer tool.
3. Choose Sources-Compare, Targets-Compare, or Transformations-Compare, right-click
the workspace and choose Compare Objects, or select the objects and click the Compare
button on the toolbar.
A dialog box similar to the following one opens:
4. If you select one or two objects in the workspace, this dialog box displays their names. If
you do not select any object in the workspace, you must Browse to select objects to
compare.
5. Click Compare.
A dialog box like the one in Figure 11-1 on page 301 displays the results.
Differences
Between
Objects
The tabs in this dialog box vary by source type. If you compare two relational sources, the
Sources dialog box contains Table, Columns, and Metadata Extensions tabs. If you compare a
flat file source with a flat file shortcut, the Sources dialog box contains Table, Columns, Flat
File, Properties, Shortcut, and Metadata Extensions tabs.
Table 11-1 describes the tabs in the Sources dialog box after comparing two sources:
Table 11-1. Sources Dialog Box Tabs After Comparing Two Sources
General All Displays the table name, repository name, folder name, and version for each
source. Displays shortcut properties, such as repository, folder, and original
name when you compare shortcuts.
Table All Displays the table name, business name, owner name, description, and
database type for each source. Displays code page when you compare XML
sources.
Columns All Displays the columns in each source. Each row displays information such as
column name, datatype, precision, and scale. If a column exists in both sources,
it appears in the same row.
Flat File Flat file, Displays attributes such as file type, number of rows skipped, and code page.
COBOL file For delimited files this tab also displays delimiters, how consecutive delimiters
are treated, optional quotes, escape character, and if the Designer removes
escape characters.
For fixed-width files, this tab also displays how the PowerCenter Server reads
end of column characters, null character type, null character, how the
PowerCenter Server reads repeat null characters, number of bytes to skip
between rows, and if the PowerCenter Server strips trailing blanks.
Properties Flat file, Displays the attributes and values for each source. For flat files, this tab displays
XML file attributes such as date/time format, thousands separator, decimal separator, and
owner name. For XML files, this tab displays the owner name. If an attribute
exists in both sources, it appears in the same row.
Metadata All Displays the metadata extensions in each source. Each row displays the
Extensions metadata extension domain, name, datatype, value, precision, and whether the
metadata extension is reusable or non-reusable. If a metadata extension exists
in both sources, it appears in the same row.
Comparing Targets
When you compare two targets, the Targets dialog box displays the results.
Figure 11-3 shows a comparison of two XML targets:
Differences
Between
Targets
The tabs in this dialog box vary by target type. If you compare two relational targets, the
Targets dialog box contains Table, Columns, Keywords, Indexes, and Metadata Extensions
Table 11-2. Targets Dialog Box Tabs After Comparing Two Targets
General All Displays the table name, repository name, folder name, and version for each
target. Displays shortcut properties, such as repository, folder, and original name
when you compare shortcuts.
Table All Displays the table name, business name, constraints, creation options,
descriptions, and database type for each target. Displays code page when you
compare XML targets.
Columns All Displays the columns in each target. Each row displays information such as
column name, datatype, precision, and scale. For foreign key columns, this tab
also displays the primary table and column. If a column exists in both targets, it
appears in the same row.
Key Words All Displays the keywords associated with each target.
Indexes Relational Displays the indexes associated with each target. For each index, this tab
displays the columns in the index, the index description, and if the index is
unique.
Flat File Flat file Displays attributes such as file type, number of rows skipped, and code page.
For delimited files this tab also displays delimiters, how consecutive delimiters
are treated, optional quotes, escape character, and if the Designer removes
escape characters.
For fixed-width files, this tab also displays how the PowerCenter Server reads
end of column characters, null character type, null character, repeat null
characters, number of bytes to skip between rows, and if the PowerCenter
Server strips trailing blanks.
Properties Flat file, Displays the attributes for each target. For flat files, this tab displays attributes
XML file such as date/time format, thousands separator, and decimal separator. For XML
files, this tab displays attributes such as duplicate group row handling and DTD/
Schema reference. If an attribute exists in both targets, it appears in the same
row.
Metadata All Displays the metadata extensions in each target. Each row displays the
Extensions metadata extension domain, name, datatype, value, precision, and whether the
metadata extension is reusable or non-reusable. If a metadata extension exists
in both targets, it appears in the same row.
Differences
Between
Transformations
The tabs in this dialog box vary by transformation type. If you compare two Aggregator
transformations, the Transformations dialog box contains Transformation, Ports, Properties,
and Metadata Extensions tabs. If you compare a Router transformation to a Router
transformation shortcut, the Transformations dialog box contains Transformation, Ports,
Properties, Groups, Shortcut, and Metadata Extensions tabs.
Table 11-3 describes the tabs in the Transformations dialog box after comparing two
transformations:
Table 11-3. Transformations Dialog Box Tabs After Comparing Two Transformations
Transformation
Tab Description
Type
General All Displays the name, repository name, folder name, and version for each
target. Displays shortcut properties, such as repository, folder, and original
name when you compare shortcuts.
Transformation All Displays the name, type, and description for each transformation.
Transformation
Tab Description
Type
Ports All Displays the ports in each transformation. Each row displays information
such as port name, datatype, precision, scale, and port type. This tab also
displays information for each port that is specific to the transformation type,
such as expressions for Expression transformations. If a port exists in both
transformations, it appears in the same row.
Properties All Displays the attributes and values specific to the transformation type. For
example, for Filter transformations, this tab displays the filter condition and
tracing level.
For Joiner transformations, this tab also displays the join condition.
Groups Router Displays the group names and filter conditions for each transformation.
Initialization External Procedure, Displays the initialization properties and values for each procedure.
Properties Custom
Normalizer Normalizer Displays the columns in each transformation. Each row displays information
such as column name, level, and OCCURS clause index. If a column exists
in both transformations, it appears in the same row.
Metadata All Displays the metadata extensions in each transformation. Each row displays
Extensions the metadata extension domain, name, datatype, value, precision, and
whether the metadata extension is reusable or non-reusable. If a metadata
extension exists in both transformations, it appears in the same row.
When you compare two mappings or two mapplets, a dialog box displays the results. The tabs
on this dialog box display the following information:
♦ Summary information. You can view a summary of the differences between each mapping
or mapplet. You can also save this information to a text file. For more information, see
“Viewing Summary Information” on page 310.
♦ General information. You can compare general information about each object such as
name, description, validity, and shortcut details (if applicable). For more information, see
“Comparing General Information” on page 311.
♦ Instances. You can compare the source, target, and transformation instances in each
mapping or mapplet. You can select an instance in each object and compare the instances
in detail. For more information, see “Comparing Instances in Mappings and Mapplets” on
page 316. You can also compare the dependencies, or connections, between each object.
For more information, see “Comparing Links in Mappings and Mapplets” on page 320.
♦ Links. You can compare differences in incoming and outgoing links. If there are no
differences, no information about the links will appear in the dialog box. For more
information, see “Comparing Links in Mappings and Mapplets” on page 320.
♦ Parameters and variables. You can compare the parameters and variables in each object.
For more information, see “Comparing Parameters and Variables” on page 313.
♦ Target load orders. You can compare the target load order in each mapping. The Designer
does not display this tab when you compare mapplets. For more information, see
“Comparing Target Load Orders” on page 314.
♦ Metadata extensions. You can compare the metadata extensions in each mapping or
mapplet. For more information, see “Comparing Metadata Extensions” on page 315.
Differences
Between
Mappings
1. Open the folders that contain the objects you wish to compare.
2. Open the Mapping Designer or Mapplet Designer.
3. Choose Mappings-Compare or Mapplets-Compare.
A dialog box similar to the following one opens:
4. If one of the fields in this dialog box is blank or displays the name of an object you do not
want to compare, click Browse to select an object.
The dialog box now lists the two mappings or mapplets to compare.
This tab presents a summary of the differences between the mappings or mapplets. It lists
differences in instances, parameters and variables, target load orders, and metadata extensions.
You can save this information to a plain text or rich text file. To do this, click Save to file.
Differences
Between
Mappings
You can compare the following items for each mapping or mapplet:
♦ Name
♦ Repository
♦ Folder
♦ Description
♦ Validity of the mapping or mapplet
For shortcuts, you can also compare the following properties:
♦ Repository
♦ Folder
♦ Original name
The columns on this tab show the source and transformation instances in each mapping or
mapplet. For mappings, this tab also shows the target instances in each mapping.
You can compare instances of the same type in detail. For example, if the mappings you
compare contain instances with the same name, you can compare the instances to see if they
differ. To do this, select an instance in each mapping or mapplet and click Compare Instances.
For more information, see “Comparing Instances in Mappings and Mapplets” on page 316.
You can also compare the incoming and outgoing dependencies between instances of the same
type. To do this, select an instance in each mapping or mapplet and click Compare
Dependencies. For more information, see “Comparing Links in Mappings and Mapplets” on
page 320.
Differences
Between
Mappings
This tab lists the parameters and variables in each mapping. For each parameter or variable,
you can view the following information:
♦ Name
♦ Type: parameter or variable
♦ Datatype
♦ Precision
♦ Scale
♦ Aggregation type (for variables only)
♦ Default value
♦ Description
Parameters or variables that are common to both mappings appear in the same row.
For more information about parameters and variables, see “Mapping Parameters and
Variables” on page 229.
Differences
Between
Mapping
Names
You can view the target load groups for each mapping. The Designer lists the source qualifiers
in each mapping from first to last. The targets that receive data from each source qualifier
appear below the source qualifier.
For more information about target load order, see “Setting the Target Load Order” on
page 165.
Differences
Between
Metadata
Extensions
You can view the metadata extensions associated with each mapping or mapplet. For each
metadata extension, the Designer lists the domain, name, datatype, value, precision, and
whether the extension is reusable.
For more information about metadata extensions, see “Working with Metadata Extensions”
on page 32.
Differences
Between
Instances
Tabs on this dialog box vary depending on the type of instance you compare.
Table 11-4. View Sources, Targets, or Mapplets Dialog Box Tabs After Comparing Instances
Tab Description
General Displays the transformation name, repository name, folder name, and version for each instance.
Displays shortcut properties, such as repository, folder, and original name when you compare
shortcuts.
Transformation Displays the instance name, type, and description, plus the table name and description for each
instance.
Ports Displays the ports in each instance. Each row displays information such as port name, datatype,
and precision. If a port exists in both instances, it appears in the same row.
Source* Displays the attributes and values for each source qualifier.
Metadata Displays the metadata extensions in each instance. Each row displays the metadata extension
Extensions domain, name, datatype, value, precision, and whether the metadata extension is reusable or non-
reusable. If a metadata extension exists in both instances, it appears in the same row.
*This tab appears when you compare source qualifier transformation instances.
Table 11-5 shows the tabs listed when you compare two source qualifiers. The tabs that
display depend on the source type. For example, the Normalizer tab displays if one of the
sources is a COBOL source.
Table 11-5. Transformations Dialog Box Tabs After Comparing Two Source Qualifiers
General All Displays the transformation name, repository name, folder name, and
version for each instance. Displays shortcut properties, such as repository,
folder, and original name when you compare shortcuts.
Transformation All Displays the source qualifier name, type, and description, plus the table
name and description for each source qualifier.
Ports All Displays the ports in each source qualifier. Each row displays information
such as port name, datatype, and precision. If a port exists in both source
qualifiers, it appears in the same row.
Properties All Displays the attributes and values for each source qualifier.
Normalizer COBOL Displays the columns in each source qualifier. Each row displays
information such as column name, level, and OCCURS clause index. If a
column exists in both source qualifiers, it appears in the same row.
Sources Relational, Flat Displays the attributes and values for each source qualifier.
File
Metadata All Displays the metadata extensions in each source qualifier. Each row
Extensions displays the metadata extension domain, name, datatype, value, precision,
and whether the metadata extension is reusable or non-reusable. If a
metadata extension exists in both source qualifiers, it appears in the same
row.
If you compare transformation instances, you see the tabs listed in Table 11-3,
“Transformations Dialog Box Tabs After Comparing Two Transformations” on page 306. For
more information about comparing transformations, see “Comparing Reusable
Transformations” on page 306.
The Instance 1 field displays the name of the object you selected.
2. Select another object of the same type from the Instance 2 list.
3. Click Compare.
A dialog box like the one in Figure 11-12 on page 316 displays the results.
The columns on this tab show the source, transformation, and target instances in each
mapping or mapplet. Instances with the same name appear on the same line.
To compare the instances in detail, select an instance in each mapping or mapplet and click
Compare Instances. When you do this, a dialog box like the one in Figure 11-12 on page 316
displays the results. This is the same dialog box that displays when you compare two instances
within a mapping or mapplet.
When you compare links in a mapping or mapplet, you must compare the mappings or
mapplets, click the Instances tab on the results dialog box, and then select an instance to
examine. The Designer displays the mapping name, name of the instance, and the incoming
or outgoing links for that instance. For more information about comparing mappings or
mapplets, see “Comparing Mappings and Mapplets” on page 308.
To compare links between instances, select an instance in each mapping or mapplet and click
Compare Links. When you do this, the Compare Field Links dialog box displays the results.
This dialog box lets you compare incoming and outgoing links.
Incoming
Dependencies
for Selected
Instances
Outgoing
Links for
Selected
Instances
Output Ports in Instance Input Ports in Output Ports in Instance Input Ports in Outgoing Link
AGG_PriceCalculations Outgoing Links AGG_PriceCalculations T_ITEM_SUMMARY
T_ITEM_SUMMARY
Managing Business
Components
This chapter contains information about the following:
♦ Overview, 326
♦ Creating a Directory or Business Component, 329
♦ Editing a Business Component Directory, 331
♦ Deleting a Directory or Business Component, 332
♦ Copying a Directory or Business Component, 333
325
Overview
Business components allow you to organize, group, and display sources and mapplets in a
single location in your repository folder. For example, you can create groups of source tables
that you call Purchase Orders and Payment Vouchers. You can then organize the appropriate
source definitions into logical groups and add descriptive names for them.
Business components let you access data from all operational systems within your
organization through source and mapplet groupings representing business entities. You can
think of business components as tools that let you view your sources and mapplets in a
meaningful way using hierarchies and directories.
A business component is a reference to any of the following objects:
♦ Source
♦ Mapplet
♦ Shortcut to a source
♦ Shortcut to a mapplet
A business component node appears in each repository folder in the Repository Manager and
the Designer. You can add an unlimited number of directories to the business component
tree.
You create business components in the Designer. The Designer creates a business component
when you drag any source or mapplet into any directory of the business component tree. You
can use the same source or mapplet multiple times in the business component tree. Since
business components are references to another object, you can edit the object from its original
location or from the business components directory.
Dragging a single business component or an entire directory within the same business
component tree moves the business component or directory. To create a copy of a business
component, hold down the Ctrl key while dragging and dropping.
If you try to drag and drop a single business component or an entire directory to or from a
different repository folder or repository, the Designer prompts you to create a copy of the
original object in the destination location. Copies of objects from other repository folders do
not inherit changes you make to the original object.
Overview 327
Business Components as Shortcuts
A shortcut points to an object outside the repository folder. Shortcuts inherit all changes you
make to the original object.
You place shortcuts in the business components node by performing one of the following
actions:
♦ Drag a shortcut from the repository folder into any directory of the business component
tree.
♦ Drag an object from a shared folder to a business component directory. You can create
shortcuts to sources and mapplets that reside in shared folders. If you try to drag an object
from a non-shared folder, the Designer creates a copy of the object instead.
If the business component tree is in a shared folder, all directories in the business component
tree are shared.
For more information about shortcut behavior, see “Local and Global Shortcuts” in the
Repository Guide.
Permissions
Business components are subject to the same permissions granted to the folder. For more
information, see “Working with Folders” in the Repository Guide.
Note: To create a business components directory under another directory, highlight the
directory in the Navigator and choose Repository-Business Components-New Directory.
3. Enter the following information:
4. Click OK.
The directory appears in the Navigator.
1. In the Designer, connect to the source database and open the folder from which you want
to copy the directory or business component.
Note: You must open the folder before copying the directory or business component.
335
Overview
The Warehouse Designer provides an interface to let you create and edit cubes and
dimensions.
Multi-dimensional metadata refers to the logical organization of data used for analysis in
online analytical processing (OLAP) applications. This logical organization is generally
specialized for the most efficient data representation and access by end users of the OLAP
application. The following sections provide an overview of the concepts relevant to the multi-
dimensional features of PowerCenter.
Term Definition
Aggregate Pre-stored summary of data or grouping of detailed data which satisfies a specific business
rule. Example rules: sum, min, count, or combinations of them.
Cube A set of related factual measures, aggregates, and dimensions for a specific dimensional
analysis problem. Example: regional product sales.
Dimension A set of level properties that describe a specific aspect of a business, used for analyzing
the factual measures of one or more cubes which use that dimension. Examples:
geography, time, customer and product.
Drilling Drilling is the term used for navigating through a cube. This navigation is usually performed
to access a summary level of information or to provide more detailed properties of a
dimension in a hierarchy.
Fact A fact is a time variant measurement of quantitative data in a cube; for example, units sold,
sales dollars, or total profit.
Hierarchy The hierarchy concept refers to the level of granularity represented by the data in a
particular dimension of a cube. For example, state, county, district, and city represent
different granularity in the hierarchy of the geography dimension.
Measure The means for representing quantitative data in facts or aggregates. Example measures
are total sales or units sold per year.
Normalization A process used for reducing redundancies and removing anomalies in related dimension
tables in various hierarchies.
Redundancy The term used for referring to duplication of data among related tables for the sake of
improving the speed of query processing.
Star Schema A normalized multi-dimensional model in which each disjoint dimension is represented by a
single table.
SnowFlake Schema A normalized multi-dimensional model in which at least one dimension is represented by
two or more hierarchically related tables.
Overview 337
Creating a Dimension
Before you can create a cube, you need to create dimensions. Complete each of the following
steps to create a dimension:
1. Enter a dimension description.
2. Add levels to the dimension.
3. Add hierarchies to the dimension.
4. Add level instances to the hierarchies.
4. Click OK.
Import from
Source Fields
button lists
available
source tables.
Add Columns
Source Table
Columns you add
to the level.
Source Copy Columns.
Columns
1. From the Dimension Editor, drill down to view the levels in the dimension.
4. Click OK.
A window displays a listing of all the objects affected by the new level.
5. Click OK.
The new level displays under the hierarchy.
To create a cube:
5. Click Next.
6. Add measures to the cube.
You can copy columns from source tables or add new columns.
Measure names must be unique within a fact. Level names must be unique within each
cube.
8. Click Finish.
The Designer adds the cube and fact tables to the workspace.
Next, you need to generate the SQL for the tables.
To edit a cube:
To edit a dimension:
To open a cube:
353
Maintaining Star Schemas
When you design a star schema, you create a fact table for information collected over time,
such as purchases or transactions. You then build separate dimension tables for related lists of
information, such as inventory or shipping methods. Each dimension table has a logical
primary or generated composite key to enable access to dimensional data. For example, you
might use an inventory part number as a primary key, or create a composite key using a part
number and a current flag.
Figure 14-1 illustrates a star schema with four dimension tables and one fact table:
Foreign key
Foreign key
Foreign key
Dimension Foreign key Dimension
Table Table
When you implement a star schema, you decide how to handle updates to your fact and
dimension tables. Fact tables change regularly as new information collects. Do you need to
keep all existing data in your fact table, or do you want only the most recent version or
snapshot?
If you do not need any historical fact information, you can drop or truncate the existing fact
table before using a new session in a workflow. To keep historical information in a fact table,
you usually append the latest snapshot to the existing table, using a flag such as a load date or
session number to identify the most recent snapshot.
Although dimension tables are typically static lists, most dimension tables do change over
time. For example, you might need to update an inventory dimension once a month to reflect
new or changed part numbers. Since these changes are smaller in magnitude compared to
changes in fact tables, these dimensions are known as slowly growing or slowly changing
dimensions.
Slowly growing dimensions are dimension tables that have slowing increasing dimension data,
without updates to existing dimensions. You maintain slowly growing dimensions by
appending new data to the existing table.
Slowly changing dimensions are dimension tables that have slowly increasing dimension data, as
well as updates to existing dimensions. When updating existing dimensions, you decide
Getting Started
Target Table Type History Data Handling
Mapping Type
Simple Pass Through Static Fact or None Inserts all source rows. Use the truncate target
Dimension table option in the session properties, or use a pre-
session shell command to drop or truncate the
target before each session run.
Slowly Growing Target Slowly Growing Full Flags and inserts new rows to the existing target.
Fact or Dimension
Slowly Changing
Dimensions Target Table History Data Handling
Mapping
Type 1 Dimension Slowly Changing None Inserts new dimensions. Overwrites existing
Dimension dimensions with changed dimensions.
Type 2 Dimension/ Slowly Changing Full Inserts new and changed dimensions. Creates a
Version Data Dimension version number and increments the primary key to
track changes.
Type 2 Dimension/ Slowly Changing Full Inserts new and changed dimensions. Flags the
Flag Current Dimension current version and increments the primary key to track
changes.
Type 2 Dimension/ Slowly Changing Full Inserts new and changed dimensions. Creates an
Effective Date Range Dimension effective date range to track changes.
Type 3 Dimension Slowly Changing Partial Inserts new dimensions. Updates changed values in
Dimension existing dimensions. Optionally uses the load date to
track changes.
A single data flow passes from a source definition, through a source qualifier and an
Expression transformation, to the target. By default, the Expression transformation passes
data directly to the target without changes.
Table 14-3. Function of Each Transformation in the Simple Pass Through Mapping
Transformation Transformation
Description
Name Type
SQ_SourceName Source Qualifier or Selects all rows from the source you choose in the Mapping
Application Source Wizard.
Qualifier
EXP_TransformData Expression Passes all source data to the target without changes.
T_TargetName Target Definition Target definition allowing source data to be inserted into the target.
4. Enter a name for the mapping target table and click Finish.
The new mapping appears in the workspace. The naming convention for target
definitions is T_TARGET_NAME.
You can edit the mapping as necessary.
5. To save the mapping, choose Repository-Save.
Create the target table in your target database before running a workflow.
Handling Keys
When you use the Slowly Growing Target option, the Designer creates an additional column
in the mapping target, PM_PRIMARYKEY. In this column, the PowerCenter Server
generates a primary key for each row written to the target, incrementing new key values by 1.
The Slowly Growing Target mapping uses a Lookup and an Expression transformation to
compare source data against existing target data. When you step through the Getting Started
Wizard you enter the logical key columns in the source to compare against the existing target.
When the Expression transformation detects source rows without matching key columns in
the target, it flags the row new.
A Filter transformation passes only new rows to the Update Strategy transformation. The
Update Strategy transformation marks new rows for insert and a Sequence Generator creates a
new primary key value for each row written to the target.
Table 14-4. Function of Each Transformation in the Slowly Growing Target Mapping
Transformation Transformation
Description
Name Type
SQ_SourceName Source Qualifier or Selects all rows from the source you choose in the Mapping
Application Source Wizard.
Qualifier
EXP_DetectChanges Expression Uses the following expression to flag source rows that have no
matching key in the target (indicating they are new):
IIF(ISNULL(PM_PRIMARYKEY),TRUE,FALSE)
Populates the NewFlag field with the results.
Passes all rows to FIL_InsertNewRecord.
FIL_InsertNewRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked new (TRUE): NewFlag.
Passes new rows to UPD_ForceInserts.
Transformation Transformation
Description
Name Type
SEQ_GenerateKeys Sequence Generator Generates a value for each new row written to the target,
incrementing values by 1.
Passes values to the target to populate the PM_PRIMARYKEY
column.
T_TargetName Target Definition Instance of the target definition for new rows to be inserted into the
target.
When you run a workflow containing the session, the PowerCenter Server performs a
lookup on existing target data. The PowerCenter Server returns target data when Logical
Key Fields columns match corresponding target columns.
To remove a column from Logical Key Fields, select the column and click Remove.
Note: You cannot add a port using the name, FILLER, to the Logical Key field list.
6. Click Finish.
The new mapping appears in the workspace. You can edit the mapping as necessary.
7. To save the mapping, choose Repository-Save.
Handling Keys
When you use the Type 1 Dimension option, the Designer creates an additional column in
the mapping target, PM_PRIMARYKEY. In this column, the PowerCenter Server generates a
primary key for each row written to the target, incrementing new key values by 1.
The Type 1 Dimension mapping uses a Lookup and an Expression transformation to compare
source data against existing target data. When you step through the Slowly Changing
Dimensions Wizard, you enter the lookup conditions (source key columns) and source
columns that you want the PowerCenter Server to compare against the existing target.
For each source row without a matching primary key in the target, the Expression
transformation marks the row new. For each source row with a matching primary key in the
target, the Expression compares user-defined source and target columns. If those columns do
not match, the Expression marks the row changed. The mapping then splits into two separate
data flows.
The first data flow uses the Filter transformation, FIL_InsertNewRecord, to filter out existing
rows. The Filter transformation passes only new rows to the UPD_ForceInserts Update
Strategy transformation. UPD_ForceInserts inserts new rows to the target, and a Sequence
Generator creates a primary key for each row.
In the second data flow, the FIL_UpdateChangedRecord Filter transformation allows only
changed rows to pass to the Update Strategy transformation, UPD_ChangedUpdate.
UPD_ChangedUpdate replaces existing rows in the target with the updated source rows.
Transformation Transformation
Description
Name Type
SQ_SourceName Source Qualifier or Selects all rows from the source you choose in the Mapping
Application Source Wizard.
Qualifier
EXP_DetectChanges Expression Uses the following expression to flag source rows that do not have
matching keys in the target. The expression returns TRUE if a
matching key does not exist in the target, indicating the row is new:
IIF(ISNULL(PM_PRIMARYKEY),TRUE,FALSE)
Populates the NewFlag port with the results.
Uses the following expression to flag source rows that have a
matching key in the target and contain changes in the specified
columns. The expression returns TRUE only if a matching key
exists in the target (indicating the row is not new) and if it detects a
difference between source and target columns:
IIF(ISNULL(PM_PRIMARYKEY) AND
(SourceColumnName<>PM_PREV_TargetColumnName) AND
(other comparisons) TRUE,FALSE)
Populates the ChangedFlag port with the results.
Passes all rows to FIL_InsertNewRecord,
FIL_InsertChangedRecord, and FIL_UpdateChangedRecord.
Transformation Transformation
Description
Name Type
FIL_InsertNewRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked new (TRUE): NewFlag.
Passes new rows to UPD_ForceInserts.
Transformation Transformation
Description
Name Type
SEQ_GenerateKeys Sequence Generator Generates a value for each new row written to the target,
incrementing values by 1.
Passes values to the target to populate the PM_PRIMARYKEY
column.
T_TargetName Target Definition Instance of the target definition for new rows to be inserted into the
target.
Transformation
Transformation Name Description
Type
FIL_InsertChangedRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked changed (TRUE):
ChangedFlag. Passes changed rows to
UPD_ChangedUpdate.
UPD_ChangedUpdate Update Strategy Uses DD_UPDATE to overwrite corresponding rows in the target.
T_TargetName1 Target Definition Instance of the target definition allowing changed rows to be
overwritten in the target.
When you run the workflow containing the session, the PowerCenter Server performs a
lookup on existing target data. The PowerCenter Server returns target data when Logical
Key Fields columns match corresponding target columns.
To remove a column from Logical Key Fields, select the column and click Remove.
6. Select the column or columns you want the PowerCenter Server to compare for changes,
and click Add.
The wizard adds selected columns to the Fields to Compare for Changes list.
When you run the workflow containing the session, the PowerCenter Server compares
the columns in the Fields to Compare for Changes list between source rows and the
corresponding target (lookup) rows. If the PowerCenter Server detects a change, it marks
the row changed.
To remove a column from the list, select the column and click Remove.
7. Click Finish.
The new mapping appears in the workspace. You can edit the mapping as necessary.
8. To save the mapping, choose Repository-Save.
Handling Keys
In a Type 2 Dimension/Version Data mapping, the PowerCenter Server generates a new
primary key value for each new dimension it inserts into the target. An Expression
transformation increments key values by 1,000 for new dimensions.
When updating an existing dimension, the PowerCenter Server increments the existing
primary key by 1.
For example, the PowerCenter Server inserts the following new row with a key value of
65,000 since this is the sixty-fifth dimension in the table.
PM_PRIMARYKEY ITEM STYLES
65000 Sandal 5
The next time you run the workflow containing the session, the same item has a different
number of styles. The PowerCenter Server creates a new row with updated style information
and increases the existing key by 1 to create a new key of 65,001. Both rows exist in the
target, but the row with the higher key version contains current dimension data.
PM_PRIMARYKEY ITEM STYLES
65000 Sandal 5
65001 Sandal 14
Numbering Versions
In addition to versioning the primary key, the PowerCenter Server generates a matching
version number for each row inserted into the target. Version numbers correspond to the final
digit in the primary key. New dimensions have a version number of 0.
For example, in the data below, the versions are 0, 1, and 2. The highest version number
contains the current dimension data.
PM_PRIMARYKEY ITEM STYLES PM_VERSION_NUMBER
65000 Sandal 5 0
65001 Sandal 14 1
65002 Sandal 17 2
Table 14-8. Function of Each Transformation in the Type 2/Version Data Mapping
Transformation Transformation
Description
Name Type
SQ_SourceName Source Qualifier or Selects all rows from the source you choose in the Mapping
Application Source Wizard.
Qualifier
EXP_DetectChanges Expression Uses the following expression to flag source rows that do not have
matching keys in the target. The expression returns TRUE if a
matching key does not exist in the target, indicating the row is new:
IIF(ISNULL(PM_PRIMARYKEY),TRUE,FALSE)
Populates the NewFlag port with the results.
Uses the following expression to flag source rows that have a
matching key in the target and contain changes in the specified
columns. The expression returns TRUE only if a matching key
exists in the target (indicating the row is not new) and if it detects a
difference between source and target columns:
IIF(ISNULL(PM_PRIMARYKEY) AND
(SourceColumnName<>PM_PREV_TargetColumnName) AND
(other comparisons) TRUE,FALSE)
Populates the ChangedFlag port with the results.
Passes all rows to FIL_InsertNewRecord and
FIL_InsertChangedRecord.
Transformation Transformation
Description
Name Type
FIL_InsertNewRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked new (TRUE): NewFlag.
Passes new rows to UPD_ForceInserts.
SEQ_GenerateKeys Sequence Generator Generates a value for each new row written to the target,
incrementing values by 1.
Passes values to EXP_KeyProcessing_InsertNew.
Transformation Transformation
Description
Name Type
T_TargetName Target Definition Instance of the target definition for new rows to be inserted into the
target.
Transformation
Transformation Name Description
Type
FIL_InsertChangedRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked changed (TRUE):
ChangedFlag. Passes changed rows to UPD_ChangedInserts.
EXP_KeyProcessing_Insert Expression Uses the following expression to increment the existing primary
Changed key by one: PM_PRIMARYKEY + 1.
Uses the following expression to increment the existing version
number by one: (PM_PRIMARYKEY + 1) % 1,000.
T_TargetName1 Target Definition Instance of the target definition allowing changed rows to be
inserted into the target.
When you run the workflow containing the session, the PowerCenter Server performs a
lookup on existing target data. The PowerCenter Server returns target data when Logical
Key Fields columns match corresponding target columns.
To remove a column from Logical Key Fields, select the column and click Remove.
6. Select the column or columns you want the PowerCenter Server to compare for changes,
and click Add.
The wizard adds selected columns to the Fields to Compare for Changes list.
When you run the workflow containing the session, the PowerCenter Server compares
the columns in the Fields to Compare for Changes list between source rows and the
corresponding target (lookup) rows. If the PowerCenter Server detects a change, it marks
the row changed.
To remove a column from the list, select the column and click Remove.
8. Click Finish.
The new mapping appears in the workspace. You can edit the mapping as necessary.
9. To save the mapping, choose Repository-Save.
Note: In the Type 2 Dimension/Version Data mapping, the Designer uses two instances of the
same target definition to enable the two separate data flows to write to the same target table.
Generate only one target table in the target database.
4. Delete the existing value, 1000, and enter the value you want the PowerCenter Server to
use when incrementing the primary key. Click Validate to validate your change.
5. Click OK to close the Editor. Click OK to close the transformation.
6. Choose Repository-Save.
When these dimensions change, the PowerCenter Server inserts the updated versions with the
current flag of 1. The PowerCenter Server also updates the existing rows in the target: it finds
the previous current version (where the current flag is set to 1) and updates the current flag to
0.
ITEM STYLES PM_CURRENT_FLAG
Sandal 5 0
Boot 25 0
Sandal 12 1
Boot 15 1
When the PowerCenter Server inserts updated versions of these dimensions into the target, it
sets the current flag to 1. It also creates a new primary key for the updated row by
incrementing key of the existing dimension by one. The PowerCenter Server indicates the
existing dimension is no longer current by resetting its current flag to 0.
PM_PRIMARYKEY ITEM STYLES PM_CURRENT_FLAG
3000 Sandal 5 0
4000 Boot 25 0
3001 Sandal 12 1
4001 Boot 15 1
Transformation Transformation
Description
Name Type
SQ_SourceName Source Qualifier or Selects all rows from the source you choose in the Mapping
Application Source Wizard.
Qualifier
EXP_DetectChanges Expression Uses the following expression to flag source rows that do not have
matching keys in the target. The expression returns TRUE if a
matching key does not exist in the target, indicating the row is new:
IIF(ISNULL(PM_PRIMARYKEY),TRUE,FALSE)
Populates the NewFlag port with the results.
Uses the following expression to flag source rows that have a
matching key in the target and contain changes in the specified
columns. The expression returns TRUE only if a matching key
exists in the target (indicating the row is not new) and if it detects a
difference between source and target columns:
IIF(ISNULL(PM_PRIMARYKEY) AND
(SourceColumnName<>PM_PREV_TargetColumnName) AND
(other comparisons) TRUE,FALSE)
Populates the ChangedFlag port with the results.
Passes all rows to FIL_InsertNewRecord,
FIL_InsertChangedRecord, and FIL_UpdateChangedRecord.
Transformation Transformation
Description
Name Type
FIL_InsertNewRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked new (TRUE): NewFlag.
Passes new rows to UPD_ForceInserts.
SEQ_GenerateKeys Sequence Generator Generates a value for each new row written to the target,
incrementing values by 1.
Passes values to EXP_KeyProcessing_InsertNew.
T_TargetName Target Definition Instance of the target definition for new rows to be inserted into the
target.
Transformation
Transformation Name Description
Type
FIL_InsertChangedRecord Filter Uses the following filter condition to filter out any rows that are
not marked changed: ChangedFlag. Passes changed rows to
UPD_ChangedInserts.
EXP_KeyProcessing_Insert Expression Uses the following expression to increment the existing primary
Changed key by one: PM_PRIMARYKEY + 1.
Creates a current flag of 1 for each row to populate the
PM_CURRENT_FLAG column in the target.
T_TargetName2 Target Definition Instance of the target definition allowing changed rows to be
inserted into the target.
Transformation
Transformation Name Description
Type
FIL_UpdateChangedRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked changed (TRUE):
ChangedFlag.
For each changed row, passes the primary key of the previous
version to UPD_ChangedUpdate.
UPD_ChangedUpdate Update Strategy Uses DD_UPDATE to update existing rows in the target.
EXP_KeyProcessing_Update Expression For each changed row, sets PM_CURRENT_FLAG to 0 for the
Changed previous version in the target, indicating that version is no
longer current.
T_TargetName3 Target Definition Instance of the target definition allowing updates to existing
rows in the target.
When you run the session, the PowerCenter Server performs a lookup on existing target
data. The PowerCenter Server returns target data when Logical Key Fields columns
match corresponding target columns.
6. Select the column or columns you want the PowerCenter Server to compare for changes,
and click Add.
The wizard adds selected columns to the Fields to Compare for Changes list.
When you run the session, the PowerCenter Server compares the columns in the Fields to
Compare for Changes list between source rows and the corresponding target (lookup)
rows. If the PowerCenter Server detects a change, it marks the row changed.
To remove a column from the list, select the column and click Remove.
8. Click Finish.
The new mapping appears in the workspace. You can edit the mapping as necessary.
9. To save the mapping, choose Repository-Save.
Note: In the Type 2 Dimension/Flag Current mapping, the Designer uses three instances of
the same target definition to enable the three separate data flows to write to the same target
table. Generate only one target table in the target database.
When the PowerCenter Server finds updated versions of these dimensions in the source, it
inserts them into the target, using the system date to indicate the beginning of their effective
date ranges and leaving the end dates null.
Handling Keys
When you use the Effective Date Range option, the PowerCenter Server generates a primary
key value for each row written to the target, incrementing key values by one.
The Type 2 Dimension/Effective Date Range mapping uses a Lookup and an Expression
transformation to compare source data against existing target data. When you step through
the Slowly Changing Dimensions Wizard, you enter the lookup conditions (source key
columns) and source columns that you want the PowerCenter Server to compare against the
existing target.
For each source row without a matching primary key in the target, the Expression
transformation marks the row new. For each source row with a matching primary key in the
target, the Expression compares user-defined source and target columns. If those columns do
not match, the Expression marks the row changed. The mapping then splits into three
separate data flows.
The first data flow uses the Filter transformation, FIL_InsertNewRecord, to filter out existing
rows. The Filter transformation passes only new rows to the UPD_ForceInserts Update
Strategy transformation. UPD_ForceInserts inserts new rows to the target. A Sequence
Generator creates a primary key for each row. The Expression transformation,
EXP_KeyProcessing_InsertNew, uses the system date to indicate the start of the effective date
range. The transformation leaves the end date null, which indicates the new row contains
current dimension data.
In the second data flow, the FIL_InsertChangedRecord Filter transformation allows only
changed rows to pass to the Update Strategy transformation, UPD_ChangedInserts.
UPD_ChangedInserts inserts changed rows to the target. The Expression transformation,
EXP_KeyProcessing_InsertChanged, uses the system date to indicate the start of the effective
date range. The transformation leaves the end date null, which indicates the changed row
contains current dimension data.
Transformation Transformation
Description
Name Type
SQ_SourceName Source Qualifier or Selects all rows from the source you choose in the Mapping
Application Source Wizard.
Qualifier
EXP_DetectChanges Expression Uses the following expression to flag source rows that do not have
matching keys in the target. The expression returns TRUE if a
matching key does not exist in the target, indicating the row is new:
IIF(ISNULL(PM_PRIMARYKEY),TRUE,FALSE)
Populates the NewFlag port with the results.
Uses the following expression to flag source rows that have a
matching key in the target and contain changes in the specified
columns. The expression returns TRUE only if a matching key
exists in the target (indicating the row is not new) and if it detects a
difference between source and target columns:
IIF(ISNULL(PM_PRIMARYKEY) AND
(SourceColumnName<>PM_PREV_TargetColumnName) AND
(other comparisons) TRUE,FALSE)
Populates the ChangedFlag port with the results.
Passes all rows to FIL_InsertNewRecord,
FIL_InsertChangedRecord, and FIL_UpdateChangedRecord.
Transformation Transformation
Description
Name Type
FIL_InsertNewRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked new (TRUE): NewFlag.
Passes new rows to UPD_ForceInserts.
SEQ_GenerateKeys Sequence Generator Generates a value for each new row written to the target,
incrementing values by 1.
Passes values to EXP_KeyProcessing_InsertNew.
T_TargetName Target Definition Instance of the target definition for new rows to be inserted into the
target.
Transformation
Transformation Name Description
Type
FIL_InsertChangedRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked changed (TRUE):
ChangedFlag. Passes changed rows to
UPD_ChangedInserts.
SEQ_GenerateKeys (same Sequence Generator Generates a value for each changed row written to the target,
Sequence Generator as incrementing values by 1.
above) Passes values to EXP_KeyProcessing_InsertChanged.
Transformation
Transformation Name Description
Type
T_TargetName2 Target Definition Instance of the target definition allowing changed rows to be
inserted into the target.
Transformation
Transformation Name Description
Type
FIL_UpdateChangedRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked changed (TRUE):
ChangedFlag.
For each changed row, passes the primary key of the
previous version to UPD_ChangedUpdate.
UPD_ChangedUpdate Update Strategy Uses DD_UPDATE to update existing rows in the target.
T_TargetName3 Target Definition Instance of the target definition allowing updates to existing
rows in the target.
When you run the session, the PowerCenter Server performs a lookup on existing target
data. The PowerCenter Server returns target data when Logical Key Fields columns
match corresponding target columns.
To remove a column from Logical Key Fields, select the column and click Remove.
6. Select the column or columns you want the PowerCenter Server to compare for changes,
and click Add.
The wizard adds selected columns to the Fields to Compare for Changes list.
When you run the session, the PowerCenter Server compares the columns in the Fields to
Compare for Changes list between source rows and the corresponding target (lookup)
rows. If the PowerCenter Server detects a change, it marks the row changed.
To remove a column from the list, select the column and click Remove.
8. Click Finish.
The new mapping appears in the workspace. You can edit the mapping as necessary.
9. To save the mapping, choose Repository-Save.
Note: In the Type 2 Dimension/Effective Date Range mapping, the Designer uses three
instances of the same target definition to enable the three separate data flows to write to the
same target table. Generate only one target table in the target database.
Handling Keys
In the Type 3 Dimension mapping, the PowerCenter Server generates a primary key value for
each new row written to the target, incrementing key values by one. Updated rows retain their
original key values.
The Type 3 Dimension mapping uses a Lookup and an Expression transformation to compare
source data against existing target data. When you step through the Slowly Changing
Dimensions Wizard, you enter the lookup conditions (source key columns) and source
columns that you want the PowerCenter Server to compare against the existing target. The
Designer creates additional columns for the change columns to hold historic data.
For each source row without a matching primary key in the target, the Expression
transformation marks the row new. For each source row with a matching primary key in the
target, the Expression compares user-defined source and target columns. If those columns do
not match, the Expression marks the row changed. The mapping then splits into two separate
data flows.
The first data flow uses the Filter transformation, FIL_InsertNewRecord, to filter out existing
rows. The Filter transformation passes only new rows to the UPD_ForceInserts Update
Strategy transformation. UPD_ForceInserts inserts new rows to the target. A Sequence
Generator creates a primary key for each row. If you select the Effective Date option in the
mapping wizard, the Designer creates an Expression transformation,
EXP_EffectiveDate_InsertNew. The PowerCenter Server uses the system date to indicate
when it creates a new row.
In the second data flow, the FIL_UpdateChangedRecord Filter transformation allows only
changed rows to pass to the Update Strategy transformation UPD_ChangedInserts. In
addition, the Filter transformation updates the changed row: it takes the new versions of data
from the source qualifier, and uses existing versions of dimension data (passed from the
Lookup transformation) to populate the previous column fields. UPD_ChangedInserts inserts
changed rows to the target. If you select the Effective Date option in the mapping wizard, the
Designer creates an Expression transformation, EXP_EffectiveDate_InsertChanged. The
PowerCenter Server uses the system date to indicate when it updates an existing row.
Transformation Transformation
Description
Name Type
SQ_SourceName Source Qualifier or Selects all rows from the source you choose in the Mapping
Application Source Wizard.
Qualifier
EXP_DetectChanges Expression Uses the following expression to flag source rows that do not have
matching keys in the target. The expression returns TRUE if a
matching key does not exist in the target, indicating the row is new:
IIF(ISNULL(PM_PRIMARYKEY),TRUE,FALSE)
Populates the NewFlag port with the results.
Uses the following expression to flag source rows that have a
matching key in the target and contain changes in the specified
columns. The expression returns TRUE only if a matching key
exists in the target (indicating the row is not new) and if it detects a
difference between source and target columns:
IIF(ISNULL(PM_PRIMARYKEY) AND
(SourceColumnName<>PM_PREV_TargetColumnName) AND
(other comparisons) TRUE,FALSE)
Populates the ChangedFlag port with the results.
Passes all rows to FIL_InsertNewRecord and
FIL_UpdateChangedRecord.
Transformation Transformation
Description
Name Type
FIL_InsertNewRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked new (TRUE): NewFlag.
Passes new rows to UPD_ForceInserts.
Transformation Transformation
Description
Name Type
SEQ_GenerateKeys Sequence Generator Generates a value for each new row written to the target,
incrementing values by 1.
Passes values to EXP_KeyProcessing_InsertNew, if you selected
the Mapping Wizard Effective Date option. Otherwise, passes
values to the target to populate the PM_PRIMARYKEY column.
EXP_KeyProcessing_ Expression Created only when you select the Effective Date option in the
InsertNew Mapping Wizard.
Passes generated values to the target to populate the
PM_PRIMARYKEY column in the target.
Uses SYSDATE to populate the PM_EFFECT_DATE column in the
target, indicating when the row is created.
T_TargetName Target Definition Instance of the target definition for new rows to be inserted into the
target.
Transformation
Transformation Name Description
Type
FIL_UpdateChangedRecord Filter Uses the following filter condition to filter out any rows from
EXP_DetectChanges that are not marked changed
(TRUE): ChangedFlag.
Uses values returned from LKP_GetData to populate
previous columns.
Passes changed rows to UPD_ChangedUpdate.
UPD_ChangedUpdate Update Strategy Uses DD_UPDATE to update existing rows in the target.
Passes updated rows to
EXP_EffectiveDate_InsertChanged, if you selected the
Mapping Wizard Effective Date option. Otherwise, passes
updated rows to the target.
EXP_EffectiveDate_InsertChanged Expression Created only when you select the Effective Date option in
the Mapping Wizard.
Uses SYSDATE to populate the PM_EFFECT_DATE
column in the target, indicating when the row is updated.
T_TargetName2 Target Definition Instance of the target definition allowing updates to existing
rows in the target.
When you run the session, the PowerCenter Server performs a lookup on existing target
data. The PowerCenter Server returns target data when Logical Key Fields columns
match corresponding target columns.
To remove a column from Logical Key Fields, select the column and click Remove.
8. Click Finish.
The new mapping appears in the workspace. You can edit the mapping as necessary.
9. To save the mapping, choose Repository-Save.
Note: In the Type 3 Dimension mapping, the Designer uses two instances of the same target
definition to enable the two separate data flows to write to the same target table. Generate
only one target table in the target database.
4. Place the fact session in the workflow after the Decision task, and link the Decision task
to the fact session.
5. Configure the following link condition from the Decision task to the fact session:
$<Decision_name>.Status = TRUE
For example, suppose you create three sessions that load data to dimension tables, and one
session that loads data to a fact table. Figure 14-9 shows the workflow you can create:
Dimension Sessions
Decision Task
Fact Session
Link Condition
Define the following decision condition for the sess_successful Decision task:
$s_dimension1.Status = SUCCEEDED AND $s_dimension2.Status = SUCCEEDED AND
$s_dimension3.Status = SUCCEEDED
Define the following link condition for the link from the Decision task to the fact session:
$sess_successful.Status = TRUE
Datatype Reference
411
Overview
When you create a mapping, you create a set of instructions for the PowerCenter Server to
read data from the source table, transform it, and write it to a target table. The PowerCenter
Server transforms data based on dataflow in the mapping (starting at the first transformation
in the mapping) and the datatype assigned to each port in a mapping.
The Designer displays two types of datatypes:
♦ Native datatypes. Specific to the source and target databases, flat files, or ERP systems.
Native datatypes appear in the Source Analyzer and Warehouse Designer. They also appear
in source and target definitions in the Mapping Designer and in source definitions in the
Mapplet Designer.
♦ Transformation datatypes. Set of datatypes that appear in the transformations. They are
internal datatypes based on ANSI SQL-92 generic datatypes, which the PowerCenter
Server uses to move data across platforms. Because the transformation datatypes are
generic, you can use different source and target platforms. For example, you can read
information from an Oracle source and write it to a Sybase target. Likewise, you can read
information from a flat file and write it to a Microsoft SQL Server database. The
transformation datatypes appear in the Source Qualifier and Normalizer as well as all other
transformations in a mapping.
When the PowerCenter Server reads data from a source, it converts the native datatypes to the
comparable transformation datatypes. When you run a workflow, the PowerCenter Server
performs transformations based on the transformation datatypes. For example, if you import
an Oracle Char column, it displays in the Source Qualifier transformation as a String
datatype. The datatype in a Source Qualifier transformation must exactly match the source
datatype. The Source Qualifier datatypes determine how the source database binds data when
you import it to transform it in a mapping. If the datatypes do not match, the mapping is
invalid. The same is true for the Normalizer transformation. However, unlike the Source
Qualifier transformation, you cannot change the datatype in a Normalizer transformation.
When you specify a multibyte character set, the datatypes allocate additional space in the
database to store characters of up to three bytes.
To write data to a target table, the PowerCenter Server converts the data based on native
datatypes in the target table definition.
Note: The PowerCenter Server needs the Ntext and Text datatypes to correctly bind to source
Ntext and Text columns. Do not change the Ntext and Text datatypes in the Source Qualifier,
Lookup, and Stored Procedure transformations. You can, however, use Ntext, Text, Nstring,
and String interchangeably in any other transformation.
Numeric Datatypes
The following notes describe how the PowerCenter Server handles numeric datatypes.
Informix Money
On UNIX platforms, to prevent the PowerCenter Server from reading fields with a money
datatype as 0.00 when using high precision, you must set the following environment variable:
DBMONEY=' .'
You can set the DBMONEY environment variable so Informix does not prefix the data with
the dollar sign ($) for money data types.
Using a Bourne Shell:
DBMONEY=' .'
export DBMONEY
Using a C-shell:
setenv DBMONEY=' .'
On Windows, you must set this environment variable in the profile of the person under
whose name the Informatica service is started.
This expression moves the decimal place two digits to the left, as shown in the following
example:
Number Return Value
34500 345.00
12340 123.40
23450 234.50
Table A-3 shows the results when you use the Decimal datatype in a mapping and disable high
precision when you configure the session:
The Designer displays any range you assign to a Decimal datatype, but the PowerCenter
Server supports precision only up to 28.
Note: PowerCenter does not support decimal values with scale greater than precision or a
negative precision.
To ensure the maximum precision for numeric values greater than 28 digits, you might want
to truncate or round any large numbers before performing any calculations or transformations
with the transformation functions.
String Datatypes
The transformation datatypes include the following string datatypes:
♦ Nstring
♦ Ntext
♦ String
♦ Text
Although the Nstring, Ntext, String, and Text datatypes support the same precision (up to
104,857,600 characters), the PowerCenter Server uses String to move string data from source
to target and Text to move text data from source to target. Because some databases store text
data differently than string data, the PowerCenter Server needs to distinguish between the two
Binary Datatypes
You can pass binary data from a source to a target, but you cannot perform transformations
on binary data. If a mapping includes binary data, set the precision for the transformation
binary datatype so that the PowerCenter Server can allocate enough memory to move the data
from source to target.
PowerCenter does not support binary datatypes for COBOL or flat file sources.
Time 24-hour time period Date/Time Jan 1, 1753 AD to Dec 31, 9999 AD
(precision to the second)
Date Jan 1, 0001 AD to Dec 31, 9999 AD Date/Time Jan 1, 1753 AD to Dec 31, 9999
AD (precision to the second)
Datetime year to Jan 1, 0001 AD to Dec 31, 9999 AD Date/Time Jan 1, 1753 AD to Dec 31, 9999
fraction (precision to millisecond) AD (precision to the second)
Synonym Transformation
Character(L) String
Dec Decimal
Int Integer
Numeric Decimal
Real Real
Unsupported Datatypes
PowerCenter does not support the following Informix datatype:
♦ Interval
Datetime Jan 1, 1753 AD to Dec 31, Date/Time Jan 1, 1753 AD to Dec 31, 9999
9999 AD (precision to 3.33 AD (precision to the second)
milliseconds)
Smalldatetime Jan 1, 1900, to June 6, 2079 Date/Time Jan 1, 1753 AD to Dec 31, 9999
(precision to the minute) AD (precision to the second)
Date/Time Datatype
The transformation Date/Time datatype supports dates with precision to the second. If you
import a date/time value with precision in the milliseconds, the PowerCenter Server truncates
to seconds. If you write a date/time value to a target column that supports fractions of
seconds, the PowerCenter Server inserts zeros for the millisecond portion of the date.
Datatype Synonyms
Table A-8 compares Microsoft SQL Server synonyms to transformation datatypes:
Synonym Transformation
Character String
Dec Decimal
Integer Integer
Unsupported Datatypes
PowerCenter does not support the following Microsoft SQL Server datatypes:
♦ Bigint
♦ Sql_variant
♦ Uniqueidentifier
Date Jan. 1, 4712 BC to Dec. 31, 4712 Date/Time Jan 1, 1753 AD to Dec 31, 9999 AD
AD
Unsupported Datatypes
PowerCenter does not support the following Oracle datatypes:
♦ Bfile
♦ Interval Day to Second
♦ Interval Year to Month
Datetime Jan 1, 1753 AD to Dec 31, 9999 Date/Time Jan 1, 1753 AD to Dec 31, 9999
AD AD (precision to the second)
(precision to 1/300 second)
Smalldatetime Jan 1, 1900, to June 6, 2079 Date/Time Jan 1, 1753 AD to Dec 31, 9999
(precision to the minute) AD (precision to the second)
Datatype Synonyms
Table A-11 compares Sybase synonyms to Transformation datatypes:
Synonym Transformation
Character(L) String
Dec Decimal
Unsupported Datatypes
PowerCenter does not support the following Sybase datatypes:
♦ Sysname
♦ User-defined
Date Jan 1, 0001 AD to Dec 31, 9999 Date/Time Jan 1, 1753 AD to Dec 31, 9999 AD
AD (precision to the second)
Datatype Synonyms
Table A-13 compares Teradata synonyms to transformation datatypes:
Synonym Transformation
Numeric Decimal
Real Double
Date Date/Time Jan 1, 1753 AD to Dec 31, 9999 AD (precision to the second)
Time Date/Time Jan 1, 1753 AD to Dec 31, 9999 AD (precision to the second)
Timestamp Date/Time Jan 1, 1753 AD to Dec 31, 9999 AD (precision to the second)
Datetime Date/Time Jan 1, 1753 AD to Dec 31, 9999 AD (precision to the second)
Note: When the PowerCenter Server reads non-numeric data in a numeric column from a flat
file, it drops the row and writes a message in the session log. Also, when the PowerCenter
Server reads non-date/time data in a date/time column from a flat file, it drops the row and
writes a message in the session log.
Integer,
Double, Nstring,
Datatype Small Decimal String, Text Date/Time Binary
Real Ntext
Integer
Binary No No No No No No Yes
‘18e-3’ 18 0.018 18
‘18-e-3abc’ 18 0.018 18
‘A123cb’ 0 0 0
‘abc’ 0 0 0
A autolink
by name 148
ABORT function by position 147
See also Transformation Language Reference by prefix 149
using 201 by suffix 150
active transformations
See also transformations
connecting 146 B
mapplets 220
overview 182 binary datatypes
adding overview 417
comments to expressions 191 blocking
repository 23 See also Workflow Administration Guide
sources to mappings 160 data flow validation 175
target update statements 170 blocking transformations
targets to mappings 110 data flow validation 175
aggregate breakpoints
definition (metadata) 337 .dcf files 289
Aggregator transformation copying 289
using variables 193 creating 250, 253
Application Source Qualifier transformation data conditions 255, 256
definition 160 Debugger 250
ASCII error conditions 255
See also Installation and Configuration Guide global 254
See also Workflow Administration Guide ISDEFAULT 260
See flat files ISNULL 260
attributes steps for entering 260
propagated 155 transformation 254
transformation in mapplets 254
437
business components COBOL
adding shortcuts 328 See also COBOL source definitions
copying 327, 333 comparing to transformation datatypes 431
creating 329 copybook 54
definition 326 creating normalized targets 115
deleting 332 tab handling 54
directories 326 COBOL file properties
linking to documentation 328 configuring Advanced properties 58
local vs. global shortcuts 328 configuring Columns tab 59
locking 328 configuring Table tab 57
moving 327 COBOL source definitions
overview 326 code pages 53
permissions 328 components 56
business components directory configuring properties 57
copying 333 copybooks 54
creating 329 FD section 56, 59
deleting 332 field attributes 59
editing 331 fields 56
business documentation importing 53
creating links 39 OCCURS statement 56, 59
for expressions 39 PICTURE clauses 59
for repository objects 39 REDEFINES statement 56
root 39 table options 58
viewing 40 word storage 57
business documentation links COBOL sources
adding to mappings 50, 140 tab handling 54
business names code pages
adding to sources 36 COBOL sources 53
adding to target definitions 82, 122 delimited source 91
adding to targets 36 fixed-width source 87
as source column names 37 mapping parameters 234
as target column names 37 mapping variables 234
display sources 7 relational targets 111
display targets 7 column description
displaying in Navigator 36 retaining when re-importing a source 51
in Source Qualifier 37 columns
renaming imported sources 46 adding to dimensions 340
using 36 adding to targets 85
delimited file settings 80
relational targets 125
C comments
adding to expressions 191
calculations adding to mappings 140
using variables with 194 adding to source definitions 50
character sets COMP columns
Flat File Wizard 71 COBOL word storage 57
checking in comparing
versioned objects 25 See also Repository Guide
checking out See also Workflow Administration Guide
versioned objects 25 mapping and mapplet dependencies 320
mapping parameters and variables 313
438 Index
mappings and mapplets 308 mappings 138
mapplet instances 316 mapplets 222
metadata extensions 315 creating
reusable transformations 306 breakpoints 253
source instances 179, 316 business components 329
sources 302, 303 cubes 344
target instances 179, 316 dimensions 338
target load orders 314 directory for business components 329
targets 302, 304 flat file source definitions 85
transformation instances 316 flat file target definitions 85
transformations 179, 302 keys for targets 121
configuring mapping parameters 235
breakpoints 253 mapping variables 243
custom tools 15 mappings 137
debug options 10 mapplet ports 224
Debugger 262 mapplets 220
format options 8 non-reusable instance of reusable transformation 211
general options 5 ports 186
mapplet ports 224 reusable transformations 210
ports 185, 186 Simple Pass Through mapping 359
table options 7 Slowly Growing Target mapping 363
connecting target definitions 110, 118
mapplet output groups 225 target tables 127, 408
mapplets to mappings 225 transformations 184
mapplets with SQL override 225, 226 Type 1 Dimension mapping 368, 371
multiple transformations 145 Type 2 Dimension/Effective Date Range mapping
objects in mappings 144 392, 397
ports 147 Type 2 Dimension/Flag Current mapping 384, 389
rules for connecting objects 146 Type 2 Dimension/Version Data mapping 375, 379
sources to targets, overview 144 Type 3 Dimension mapping 400, 405
transformations 147 Cube Wizard
connection objects overview 344
See Repository Guide cubes
See also Workflow Administration Guide adding fact tables 346
connection validation creating 344
overview 174 database type 344
connections definition (metadata) 337
validating 146 deleting 349
constants editing 347
replacing null values with 200 opening and closing 350
constraints overview 336
adding to target definitions 122 tips 352
converting viewing metadata 351
datatypes 432 wizard for creating 344
strings to dates 434 current value
strings to numbers 432, 435 mapping variables 241
copy as custom tools
mappings 139 configuring 15
copying
business components 327, 333
business components directory 333
Index 439
D debug indicators
monitoring 275
data debug log
converting port-to-port 432 monitoring 280
converting strings to numbers 432 sample 280
converting types of 432 debug session
handling truncated and overflow 167 session parameters 265
previewing 293 Debugger
storing temporary 193 <ANY-PORT> 256
data breakpoints <ROW-ID> 256
global options 256 <ROW-TYPE> 256
transformation options 256 configuring 262
data flow validation continuing 278
overview 175 copying configuration 289
data movement mode creating breakpoints 250, 253
datatypes 412 creating debug session 265
data preview data breakpoints 255
flat file sources 295 data conditions 256
relational sources 293, 295 debug indicators 275
relational targets 293 Debugger Wizard 262
database type error breakpoints 255
for cubes 344 evaluating expressions 286
for dimensions 338 initializing state 271
datatypes Instance Data window 2
See also XML User Guide Instance window 275
binary 417 limitations 274
COBOL 431 modifying data 283
Date/Time 416, 423 monitoring session log 281
Decimal 415 monitoring target data 279
flat file 432 next instance 278
IBM DB2 418 options 10
Informix 420 overview 250
mapping variables 241 paused state 271
Microsoft SQL Server 422 persisted values 274
native datatypes 412 restrictions for modifying data 284
numeric 413 running 271
ODBC 430 running in debug mode 264
Oracle 424 running state 271
overview 412 session type 264
reading flat file sources 432 states 271
string 416 Target Data window 3
Sybase 426 target options 269
Teradata 428 Target window 275
transformation 412, 413 tasks 272
unsupported 419, 423, 424 toolbar 13
XML 433 Debugger tab
Date/Time datatypes monitoring debug log 280
converting to Microsoft SQL Server 423 Output window 275
overview 416 Debugger Wizard
dates configuring 262
display format 24
440 Index
debugging Instance Data window 2
mappings 141, 250 Mapping Designer 2
mapplets 270 Mapplet Designer 2
Decimal Navigator 2
datatypes 415 opening and closing a folder 24
default values output window 2
entering 207 overview 2
input ports 197 overview window 2
input/output ports 197 port validation 147
mapping parameters 232 printing mappings 23
mapping variables 232 searching for versioned objects 26
output ports 197, 199 shortcut keys 31
overview 197 Source Analyzer 2
rules for 206 SQL DDL commands 128
validating 207 status bar 2
defining Target Data window 3
mapping parameters 239 tasks 23
deleting time display format 24
business components 332 tools 2
business components directory 332 Transformation Developer 2
cubes 349 Warehouse Designer 2
dimensions 349 windows 2
mappings 141 working with business components 327
mapplets 222 workspace window 2
delimited flat files zoom 21
See also flat files dimension tables
advanced settings 90, 91 levels 339
column settings 80 metadata 336
importing source definitions 90 non-normalized models 336
rules 92 reasons for 354
dependencies 142 sources 340
implicit 152, 154 dimensions
link path 152, 153 creating 338
propagated 155 database type for 338
description definition (metadata) 337
for repository objects 27 deleting 349
description fields editing 348
maximum precision 82, 122 overview 336
Designer slowly changing 354
adding mappings 137 slowly growing 354
business documentation 39 tips 352
checking out and in versioned objects 25 viewing metadata 351
copying objects 28 directories
creating links to business documentation 39 grouping business components 326
creating shortcuts 24 displaying
creating toolbars 13 date 24
customizing default options 5 icons 19
customizing toolbars 14 time 24
date display format 24 toolbars 13
exporting objects 29 zoom 21
importing objects 29
Index 441
documentation Expression transformation
conventions xxxv using variables 193
description xxxiv expression validation
path 39 overview 174
domains expressions
metadata extensions 33 entering 189, 191
drilling return values 189
definition (metadata) 337 simplifying 193
DTM (Data Transformation Manager) validating 192
See Workflow Administration Guide
F
E fact tables
editing adding to cubes 346
business components directory 331 definition 354
cubes 347 definition (metadata) 337
dimensions 348 with metadata 336
mappings 140 FD Section
mapplets 221 COBOL source definitions 56
relational source definitions 50 field attributes
relational target definitions 119 COBOL source definitions 59
entering fields
expressions 189, 191 COBOL source definitions 56
repository object descriptions 27 deleting 30
ERROR function moving 30
See also Transformation Language Reference Find in Workspace tool
using 201 overview 18
error handling Find Next tool
misalignment, flat file 72 overview 17
error logs fixed-width files
See Workflow Administration Guide See also flat files
errors advanced settings 87
handling 204 importing sources 85
port 146 Flat File Wizard
validated during mappings 174 delimited file column settings 80
validating in Expression Editor 192 delimited file options 77, 78
event logs flat file column settings 75
See Troubleshooting Guide flat file options 74
Excel importing source definitions 71
datatypes 430 flat files
exporting code page 71
mappings 140 column settings 75
mapplets 222 comparing to transformation datatypes 432
objects 29 consecutive shift characters 103
Expression Editor datatypes, reading 432
mapping parameters 237 delimited 92
mapping variables 245 editing source definition properties 81
overview 190 formatting columns 94
syntax coloring 192 importing delimited 90
validating expressions using 192 importing fixed-width 85
442 Index
importing, overview 71 maintaining 354
multibyte data 106
precision 106
previewing 295
rules for delimited 92
I
shift-sensitive 103 IBM DB2
shift-sensitive flat file requirements 103 comparing to transformation datatypes 420
special character handling 71 icons
supported character sets 71 displaying 19
updating ASCII source definitions 81 implicit dependencies
wizard for importing 71 propagating 152, 154
Folders importing
See also Repository Guide See also Repository Guide
copy as 138 COBOL sources 53
opening and closing 24 delimited flat file source definitions 90
fonts fixed-width flat file source definitions 85
displaying in Designer 10 flat files 71
format options mappings 140
configuring 8 mapplets 222
full screen Microsoft Excel source definitions 62
view 22 objects 29
functions relational source definitions 46
in mapping variables 242 relational target definitions 113
indexes
creating for target tables 125
G defining on target 125
dropping for target tables 128
general options recreating for target tables 128
configuring 5 Informatica
Getting Started Wizard documentation xxxiv
creating targets 408 Webzine xxxvi
description 356 PowerCenter Server
scheduling sessions 409 See also Installation and Configuration Guide
Simple Pass Through mapping 356, 359 See also Repository Guide
Slowly Growing Target mapping 356, 363 See also Workflow Administration Guide
sources 358 Informix
global repositories comparing to transformation dataypes 420
See also Repository Guide initial values
business components datetime format 237, 245
globalization mapping parameters 232
See also Installation and Configuration Guide mapping variables 232
sources 42 initializing
variables 196
input ports
H See also ports
connecting mapplet 225
hierarchy default values 197
adding to dimensions 341 defining in mapplets 217
definition (metadata) 337 overview 144, 187
schema example 336 Input transformation
historical data configuring 224
differentiating from current 355
Index 443
in mapplets 217, 224 local variables
ports 224 See variables
input/output ports locking
See also ports business components 328
default values 197 log files
overview 144, 187 See session logs
installing
See Installation and Configuration Guide
Instance Data
window 2
M
Instance window maintaining
Debugger 275 historical data 354
monitoring data 276 star schemas 354
instances Mapping Designer
definition 209 See also Designer
invalidating See also mappings
sessions 141 adding reusable transformation 211
ISDEFAULT creating mappings 137
breakpoint conditions 260 creating ports 186
ISNULL usage for 2
breakpoint conditions 260 mapping parameters
See also Workflow Administration Guide
code pages 234
K comparing 313
creating 235
keys datetime format 237
creating for targets 121 default values 232
retaining key relationships when re-importing a source defined 235
51 defining 239
keywords initial values 232
setting for relational targets 122 naming convention 236
setting for target definitions 82 overview 230
using in expressions 237
mapping variables
L See also Workflow Administration Guide
aggregation type 241
Layout toolbar clearing values 246
overview 12 code pages 234
levels comparing 313
adding to dimensions 339 creating 243
adding to hierarchy 342 current value 241
definition (metadata) 337 datatype 241
dimension tables 339 datetime format 245
link path dependencies Debugger 274, 286
propagating 152, 153 default values 232
link paths defined 240
viewing 142 functions 242
linking initial values 232
business component documentation 328 mapplets 243
local repositories naming convention 244
See Repository Guide overriding values 246
444 Index
overview 231 357, 392
reusable transformations 209 Type 2 Dimension/Flag Current mapping 357, 384
start value 240 Type 2 Dimension/Version Data mapping 357, 375
using in expressions 245 Type 3 Dimension mapping 357, 400
values 240 updating targets 119
mapping wizards validating 174
creating targets 408 validating multiple 177
Getting Started 356 working with mapplets 163
overview 356 working with targets 164
scheduling sessions for 409 working with transformations 162
Slowly Changing Dimensions 357 mapplet data
sources 358 monitoring 276
mappings Mapplet Designer
See also Designer See also mapplets
adding comments to 140 usage for 2, 216
adding mapplets 224 mapplet output group
adding reusable transformations 211 definition 217
adding sources 160 mapplet output port
adding transformations 184 definition 217
comparing 308 mapplet ports
comparing dependencies 320 adding to Input/Output transformations 224
comparing objects 179 configuring 224
connecting objects 144 creating 224
copy as 139 mapplets
copying 138 active and passive 220
creating 137 adding a description 222
debugging 141 comparing 308
debugging overview 250 comparing dependencies 320
deleting 141 comparing instances 316
editing 140 components 217
editing for relational database changes 44, 49 configuring 220
exporting 140 connecting input ports 225
importing 140 connecting with SQL override 225, 226
invalidation causes 44 copying 222
metadata extensions in 32 creating 220
modifying reusable transformations 212 creating transformation logic 220
opening 138 definition 216
overview deleting 222
printing 23 editing 221
printing differences between 310 exporting 222
process 136 illustration of 218
renaming 140 importing 222
reverting to previous versions 140 in mappings 163
Simple Pass Through mapping 356, 359 input ports 217
Slowly Growing Target mapping 356, 363 input source data 217
star schemas 354 mapping variables, with 243
tasks 137 metadata extensions in 32
toolbar 12 output groups 224, 225
troubleshooting 179 output overview 217
Type 1 Dimension mapping 368 output ports 217
Type 2 Dimension/Effective Date Range mapping overview 216
Index 445
pipeline partitioning 226 formatting numeric data 63
port attributes 224 importing source definitions 63
ports 224 Microsoft SQL Server
printing differences between 310 comparing to transformation datatypes 422
repository objects supported 218 datatypes 422
rules for validation 221 misalignment
selecting to debug 270 flat file 72
session behavior 216 modifying data
set tracing level 222 Debugger 283
sources within mapplet 217 monitoring
target data 217 debug indicators 275
tips for creating 228 debug log 280
toolbar 12 Debugger 275, 281
unsupported objects 227 target data 279
using in mappings 224 MQSeries
validating 221 See PowerCenter Connect for IBM MQSeries User and
measure Administrator Guide
definition (metadata) 337 multi-dimensional metadata
messages See also cubes
See error messages See also dimensions
metadata overview 336
See also Repository Guide MX (Metadata Exchange API) views
aggregate 337 See Repository Guide
cubes 337 MX Data
dimension 337 saving 6
drilling 337 MX2 (Metadata Exchange API)
fact table 337 See Metadata Exchange SDK User Guide
hierarchy 337
levels 337
measure 337
multi-dimensional 336
N
normalization 337 naming conventions
redundancy 337 for mappings 138
snowflake schema 337 native datatypes
star schema 337 overview 412
viewing cubes and dimensions 351 Navigator
metadata exchange deleting mappings from 141
See Metadata Exchange SDK User Guide usage for 2
metadata extensions Next Instance
comparing across mappings 315 Debugger 278
creating 32 non-normalized
deleting 35 cube attribute 344
domains 33 dimension tables 336
editing 34 Normal tracing levels
overview 32 overview 208
Microsoft Access normalization
See also Installation and Configuration Guide definition (metadata) 337
datatypes 430 normalized
Microsoft Excel cube attribute 344
See also Installation and Configuration Guide multi-dimensional schema 336
datatypes 430
446 Index
Normalizer transformation in mapplets 217, 224
debugging 284 ports 224
definition 160 Output window
null characters Debugger tab 275
fixed-width source 87 example of mapping validation 177
flat file 88 Session Log tab 275
null values overflow data
replacing with a constant 200 handling 167
skipping 202 overriding
Number(P,S) values mapping variable values 246
Oracle 414 overview window
numeric datatypes Designer 2
overview 413
numeric operations
converting strings to dates 434
converting strings to numbers 435
P
parameters
mappings 230
O passive transformations
connecting 146
object validation mapplets 220
overview 175 overview 182
objects performance
connecting in mappings 144 using variables to improve 193
copying 28 permissions
OCCURS statement business components 328
COBOL source definitions 56 persisted values
ODBC (Open Database Connectivity) Debugger 274
See also Installation and Configuration Guide pipeline partitioning
comparing datatypes to transformation 430 mapplets 226
importing targets 113 port description
requirement importing source definitions 46 retaining when re-importing a source 51
OLAP applications ports
metadata 336 See also input ports
opening See also input/output ports
mappings 138 See also output ports
Oracle See also variable ports
comparing to transformation datatypes 424 adding to Input/Output transformations 224
Number(P,S) values 414 configuring 185
output groups connecting 147
connecting to output ports in mapplets 225 connecting to mapplet input 225
definition 217 connecting to multiple transformations 145
ports 224 creating 185, 186
output ports creating in mapplets 224
See also ports default values overview 197
default values 197 deleting 30
error handling 197 errors 146
mapplets 217 evaluation order 195
overview 144, 187 linking 147
Output transformation linking by name 148
configuring 224 linking by position 147
Index 447
linking by prefix 149 Reject Truncated/Overflow Rows option
linking by suffix 150 using 167
overview 144 renaming
propagating attributes 152 source definitions 50
renaming 30 target definitions 120
source dependencies 142 repositories
variables ports 193 See also Repository Guide
port-to-port data conversion adding 23
overview 434 Repository Manager
PowerCenter See also Repository Guide
installing See Installation and Configuration Guide viewing metadata in 351
repository See Repository Guide repository objects
upgrading See Installation and Configuration Guide See also Repository Guide
PowerCenter Server description 27
datatype usage 412 editing 31
powrmart.ini supported in mapplets 217
default tab size 54 Repository toolbar
pre- and post-session SQL overview 12
target instances 172 reusable transformations
precision adding to mappings 211
definition 84, 94 changing 212
flat files 106 creating 210
relational targets 124 creating a non-reusable instance 211
previewing data in mapplets 217
overview 292 mapping variables 209
source 293 overview 209
target 293 reverting to original 213
printing Revert button
mappings 23 in reusable transformations 213
promoting root variable
non-reusable transformations 210 overview 40
propagate Router transformation
port attributes 152 debugging 284
rules
default values 206
R delimited flat files 92
for target updating 169
Rank transformation
debugging 284
using variables 193
record sets
S
COBOL source definitions 57 Save MX Data
records option 6
updating to include non-key columns 169 saving
recreating historical data 354
targets 129 scale
REDEFINES statement definition 84, 94
COBOL source definitions 56 relational targets 124
redundancy scheduling
definition (metadata) 337 sessions for mapping wizards 409
448 Index
searching Type 1 Dimension mapping 368
for versioned objects in the Designer 26 Type 2 Dimension/Effective Date Range mapping
selecting 357, 392
multiple records within a folder 48 Type 2 Dimension/Flag Current mapping 357, 384
Sequence Generator transformation Type 2 Dimension/Version Data mapping 357, 375
debugging 284 Type 3 Dimension mapping 357, 400
Session Log tab Slowly Growing Target mapping
Output window 275 creating 363
session logs description 356
tracing levels 208 handling keys 363
session reject file overview 363
using for overflow data 167 repository objects created 363
using for truncated data 167 session options 367
sessions snowflake schema
configuring Simple Pass Through 361 definition 336
configuring Slowly Growing Target 367 Source Analyzer
configuring Type 1 Dimension 374 editing source definitions 49, 50
configuring Type 2 Dimension/Effective Date Range importing source definitions 47
399 usage for 2
configuring Type 2 Dimension/Flag Current 391 source column dependencies
configuring Type 2 Dimension/Version 383 viewing 142
configuring Type 3 Dimension 407 source definitions
improving performance through variables 193 adding to mappings 160
invalidating 141 changing database type 51
running in debug mode 264 COBOL 57
scheduling for star schemas 409 connecting ports 144
skipping errors 201 editing COBOL 57
updates from source definitions 49 editing fixed-width 81
shift-sensitive editing relational 50
consecutive shift characters 103 for mapping wizards 358
flat files 103 importing delimited flat file 90
requirements 103 importing Microsoft Excel 62
shortcut keys importing relational 46
keyboard 31 in mapplets 217
shortcuts overview 42, 70
See also Repository Guide previewing data 293
as business components 328 re-importing 51
creating 24 renaming 50
in mapplets 217 special character handling 42
Simple Pass Through mapping updating 49
creating 359 updating ASCII 81
customizing 361 updating relational 49
description 356 using as base for target definitions 115
overview 359 source description
repository objects created 359 retaining when re-importing a source 51
session options 361 Source Qualifier transformation
Slowly Changing Dimensions Wizard business names 37
creating targets for 408 creating automatically 9
description 357 definition 160
scheduling sessions 409 using string parameters 233
sources 358 using variables 233
Index 449
sources table owner name
See also source definitions targets 171
adding to dimensions 340 tables
adding to mappings 160 See also target definitions
comparing 179, 303, 316 See also target tables
connecting targets 144 options 7
flat file code page 87, 91 Target Data
for mapping wizards 358 window 3
globalization features 42 target definitions
metadata extensions in 32 adding columns 85, 125
null character 88 adding to mappings 160
previewing data 293 connecting ports 144
targets connected 142 creating from source definitions 115
within mapplets 217 creating indexes 125
special character handling creating keys 121
flat file definitions 71 creating, overview 110
source table and field names 42 editing relational 119
target table and field names 111 generating target tables from 127
SQL importing relational targets 113
generating and executing to build targets 127 overview, relational 110
SQL Editor previewing data 293
using to modify UPDATE statement 169 renaming 120
Standard toolbar setting options 119
overview 12 special character handling 111
star schema troubleshooting 130
definition 336 updating, relational 120
maintaining 354 target instance
start value pre- and post-session SQL 172
mapping variables 240 target load order
status bar comparing across mappings 314
definition 2 setting 165
Step to Instance target owner
Debugger 278 table name prefix 171
stored procedures target SQL override
writing to variables 195 overview 168
string datatypes target tables
overview 416 creating 127
strings previewing data 293
converting to dates 434 recreating 129
converting to numbers 435 target update
Sybase SQL Server adding statement 170
comparing to transformation datatypes 426 overview 168
synonym datatypes Target window
comparisons 423 Debugger 275
Teradata 428 monitoring 279
targets
See also target definitions
T code pages 111
comparing 179, 304, 316
table name prefix connecting multiple transformations to 145
target owner 171 database types 110
450 Index
editing cubes 347 comparing to IBM DB2 420
editing dimensions 348 comparing to Informix 420
in mappings 164 comparing to ODBC 430
mapping wizards 408 comparing to Oracle 424
mapplet data 217 comparing to SQL Server 426
metadata extensions in 32 comparing to Teradata 428
overriding update to include non-key columns 169 list of 413
overview, relational 110 Microsoft SQL Server 422
previewing data 293 overview 412
rules for updating 169 Transformation Developer
table name prefix, owner name 171 usage for 2
target SQL override 168 transformation language
target update override 168 See Transformation Language Reference
viewing source dependencies 142 transformations
Teradata See also active transformations
comparing datatypes to transformation 428 See also connected transformations
datatypes 428 See also passive transformations
Teradata external loader See also unconnected transformations
See Workflow Administration Guide active and passive 182
Teradata source adding to mappings 184
See Installation and Configuration Guide comparing 179, 306, 316
Terse tracing level connected 182
defined 208 connecting 147
time creating 147, 184
display format 24 definition 182
tips descriptions 182
creating mapplets 228 handling errors 204
cubes and dimensions 352 in mappings 162
toolbars in mapplets 217
creating 13 Input transformation 224
customizing 14 making reusable 210
description 12 metadata extensions in 32
displaying 13 multigroup 188
tools Output transformation 224
configuring custom 15 overview 182
tooltips promoting to reusable 210
showing 8 reusable transformations 209
tracing levels reusing in mapplets 216
in mapplets 222 Simple Pass Through mapping 360
Normal 208 Slowly Growing Target mapping 364
overriding 208 toolbar 13
overview 208 tracing levels 208
session 208 Type 1 Dimension mapping 370
Terse 208 Type 2 Dimension/Effective Date Range mapping 395
Verbose Data 208 Type 2 Dimension/Flag Current mapping 387
Verbose Init 208 Type 2 Dimension/Version Data mapping 378
transformation data Type 3 Dimension mapping 403
monitoring 276 types that allow for expressions 189
transformation datatypes unconnected 182
comparing to COBOL 431 troubleshooting
comparing to flat file 432 mappings 179
Index 451
target definitions 130 relational source definitions 49
truncated data relational targets 120
handling 167 rules for target updates 169
Type 1 Dimension mapping upgrading
creating 368, 371 See Installation and Configuration Guide
description 357 URL
handling keys 368 adding through business documentation links 191
overview 368
repository objects created 368
session options 374
transformations 370
V
Type 2 Dimension/Effective Date Range mapping Validate button
creating 392, 397 transformations 207
description 357 validating
handling keys 393 default values 207
overview 392 expressions 192
repository objects created 393 mappings 174
session options 399 mapplets 221
transformations 395 multiple mappings 177
Type 2 Dimension/Flag Current mapping values
creating 384, 389 mapping variables 240
description 357 variable ports
handling keys 385 See also ports
overview 384 overview 193
repository objects created 385 variables
session options 391 capturing stored procedure results 195
transformations 387 initializations 196
Type 2 Dimension/Version Data mapping mappings 231
creating 375, 379 overview 193
customizing 382 port evaluation order 195
description 357 variance
handling keys 375 See also Transformation Language Reference
numbering versions 376 Verbose Data tracing level
repository objects created 376 overview 208
session options 383 Verbose Init tracing level
transformations 378 overview 208
Type 3 Dimension mapping versioned objects
creating 400, 405 See also Repository Guide
description 357 checking in 25
handling keys 401 checking out 25
overview 400 searching for in the Designer 26
repository objects created 401 versioning
session options 407 toolbar 13
transformations 403 versions
reverting to previous mappings 140
view
U business documentation 40
full screen 22
updating metadata for cubes and dimensions 351
flat file source definitions 81 View toolbar
modifying SQL statement 169 overview 12
452 Index
viewing 142 comparing 303
link paths 142 XML targets
source column dependencies 142 comparing 304
VSAM XML transformations
See COBOL See XML User Guide
W Z
Warehouse Designer zoom
creating cubes and dimensions in 336 display format 21
usage for 2
using 110
web links
adding to expressions 191
webzine xxxvi
wizards
Cube Wizard 344
Flat File Wizard 71
Getting Started Wizard 356
overview of mapping types 356
Slowly Changing Dimensions Wizard 357
word storage
COBOL 57
Workflow Manager
See Workflow Administration Guide
Workflow Monitor
monitoring Debugger 281
workspace
full screen view 22
iconizing 19
navigating 17
printing 23
restoring 19
searching 17
usage for 2
zoom 21
workspace objects
iconizing 19
restoring 19
X
XML
datatypes 433
XML datatypes
See XML User Guide
XML Source Qualifier transformation
definition 160
XML sources
See also XML User Guide
Index 453
454 Index