SlideShare ist ein Scribd-Unternehmen logo
1 von 642
Downloaden Sie, um offline zu lesen
Transformation Guide




Informatica PowerCenter®
(Version 8.1.1)
Informatica PowerCenter Transformation Guide
Version 8.1.1
April 2007

Copyright (c) 1998–2007 Informatica Corporation.
All rights reserved. Printed in the USA.

This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing
restrictions on use and disclosure and are 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 and 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, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange, PowerMart, SuperGlue, Metadata Manager,
Informatica Data Quality and Informatica Data Explorer 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.

Portions of this software and/or documentation are subject to copyright held by third parties, including without limitation: Copyright DataDirect Technologies,
1999-2002. All rights reserved. Copyright © Sun Microsystems. All Rights Reserved. Copyright © RSA Security Inc. All Rights Reserved. Copyright © Ordinal
Technology Corp. All Rights Reserved.

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-2005 The
Apache Software Foundation. All rights reserved.

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit and redistribution of this software is subject to terms available
at http://www.openssl.org. Copyright 1998-2003 The OpenSSL Project. All Rights Reserved.

The zlib library included with this software is Copyright (c) 1995-2003 Jean-loup Gailly and Mark Adler.

The Curl license provided with this Software is Copyright 1996-2004, Daniel Stenberg, <Daniel@haxx.se>. All Rights Reserved.

The PCRE library included with this software is Copyright (c) 1997-2001 University of Cambridge Regular expression support is provided by the PCRE library
package, which is open source software, written by Philip Hazel. The source for this library may be found at ftp://ftp.csx.cam.ac.uk/pub/software/programming/
pcre.

InstallAnywhere is Copyright 2005 Zero G Software, Inc. All Rights Reserved.

Portions of the Software are Copyright (c) 1998-2005 The OpenLDAP Foundation. All rights reserved. Redistribution and use in source and binary forms, with
or without modification, are permitted only as authorized by the OpenLDAP Public License, available at http://www.openldap.org/software/release/license.html.

This Software is protected by U.S. Patent Numbers 6,208,990; 6,044,374; 6,014,670; 6,032,158; 5,794,246; 6,339,775 and other U.S. Patents Pending.

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi

     List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv

     Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix
     About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx
          Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx
     Other Informatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi
          Visiting Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . . xxxi
          Visiting the Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi
          Visiting the Informatica Knowledge Base . . . . . . . . . . . . . . . . . . . . . . xxxi
          Obtaining Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi


     Chapter 1: Working with Transformations . . . . . . . . . . . . . . . . . . . . . . 1
     Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
     Creating a Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
     Configuring Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
     Working with Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
          Creating Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
          Configuring Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
          Linking Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
     Multi-Group Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
     Working with Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
          Using the Expression Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     Using Local Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
          Temporarily Store Data and Simplify Complex Expressions . . . . . . . . . . 14
          Store Values Across Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
          Capture Values from Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . 15
          Guidelines for Configuring Variable Ports . . . . . . . . . . . . . . . . . . . . . . 16
     Using Default Values for Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
          Entering User-Defined Default Values . . . . . . . . . . . . . . . . . . . . . . . . . 20
          Entering User-Defined Default Input Values . . . . . . . . . . . . . . . . . . . . . 22
          Entering User-Defined Default Output Values . . . . . . . . . . . . . . . . . . . 25
          General Rules for Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28


                                                                                                                      iii
Entering and Validating Default Values . . . . . . . . . . . . . . . . . . . . . . . . . 28
             Configuring Tracing Level in Transformations . . . . . . . . . . . . . . . . . . . . . . . 30
             Reusable Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
                  Instances and Inherited Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
                  Mapping Variables in Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
                  Creating Reusable Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
                  Promoting Non-Reusable Transformations . . . . . . . . . . . . . . . . . . . . . . 32
                  Creating Non-Reusable Instances of Reusable Transformations . . . . . . . . 33
                  Adding Reusable Transformations to Mappings . . . . . . . . . . . . . . . . . . . 33
                  Modifying a Reusable Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 34


             Chapter 2: Aggregator Transformation . . . . . . . . . . . . . . . . . . . . . . . 37
             Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
                  Ports in the Aggregator Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 38
                  Components of the Aggregator Transformation . . . . . . . . . . . . . . . . . . . 38
                  Aggregate Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
             Aggregate Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
                  Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
                  Nested Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
                  Conditional Clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
                  Non-Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
                  Null Values in Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
             Group By Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
                  Non-Aggregate Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
                  Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
             Using Sorted Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
                  Sorted Input Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
                  Pre-Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
             Creating an Aggregator Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
             Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
             Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51


             Chapter 3: Custom Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 53
             Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
                  Working with Transformations Built On the Custom Transformation . . . 54
                  Code Page Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
                  Distributing Custom Transformation Procedures . . . . . . . . . . . . . . . . . . 56


iv   Table of Contents
Creating Custom Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
     Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
     Custom Transformation Components . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Working with Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
     Creating Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
     Editing Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
     Defining Port Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Working with Port Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Custom Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
     Setting the Update Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
     Working with Thread-Specific Procedure Code . . . . . . . . . . . . . . . . . . . 66
Working with Transaction Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
     Transformation Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
     Generate Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
     Working with Transaction Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . 69
Blocking Input Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
     Writing the Procedure Code to Block Data . . . . . . . . . . . . . . . . . . . . . . 70
     Configuring Custom Transformations as Blocking Transformations . . . . 70
     Validating Mappings with Custom Transformations . . . . . . . . . . . . . . . 71
Working with Procedure Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Creating Custom Transformation Procedures . . . . . . . . . . . . . . . . . . . . . . . 73
     Step 1. Create the Custom Transformation . . . . . . . . . . . . . . . . . . . . . . 73
     Step 2. Generate the C Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
     Step 3. Fill Out the Code with the Transformation Logic . . . . . . . . . . . 76
     Step 4. Build the Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
     Step 5. Create a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
     Step 6. Run the Session in a Workflow . . . . . . . . . . . . . . . . . . . . . . . . . 87


Chapter 4: Custom Transformation Functions . . . . . . . . . . . . . . . . . 89
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
     Working with Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Function Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Working with Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
     Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Generated Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
     Initialization Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
     Notification Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100



                                                                                             Table of Contents   v
Deinitialization Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
             API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
                  Set Data Access Mode Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
                  Navigation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
                  Property Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
                  Rebind Datatype Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
                  Data Handling Functions (Row-Based Mode) . . . . . . . . . . . . . . . . . . . 117
                  Set Pass-Through Port Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
                  Output Notification Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
                  Data Boundary Output Notification Function . . . . . . . . . . . . . . . . . . . 121
                  Error Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
                  Session Log Message Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
                  Increment Error Count Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
                  Is Terminated Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
                  Blocking Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
                  Pointer Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
                  Change String Mode Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
                  Set Data Code Page Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
                  Row Strategy Functions (Row-Based Mode) . . . . . . . . . . . . . . . . . . . . 128
                  Change Default Row Strategy Function . . . . . . . . . . . . . . . . . . . . . . . 129
             Array-Based API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
                  Maximum Number of Rows Functions . . . . . . . . . . . . . . . . . . . . . . . . 130
                  Number of Rows Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
                  Is Row Valid Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
                  Data Handling Functions (Array-Based Mode) . . . . . . . . . . . . . . . . . . 132
                  Row Strategy Functions (Array-Based Mode) . . . . . . . . . . . . . . . . . . . . 135
                  Set Input Error Row Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
             Java API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
             C++ API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139


             Chapter 5: Expression Transformation . . . . . . . . . . . . . . . . . . . . . . 141
             Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
                  Calculating Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
                  Adding Multiple Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
             Creating an Expression Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 143




vi   Table of Contents
Chapter 6: External Procedure Transformation . . . . . . . . . . . . . . . . 145
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
     Code Page Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
     External Procedures and External Procedure Transformations . . . . . . . . 147
     External Procedure Transformation Properties . . . . . . . . . . . . . . . . . . . 147
     Pipeline Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
     COM Versus Informatica External Procedures . . . . . . . . . . . . . . . . . . . 148
     The BankSoft Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Developing COM Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
     Steps for Creating a COM Procedure . . . . . . . . . . . . . . . . . . . . . . . . . 149
     COM External Procedure Server Type . . . . . . . . . . . . . . . . . . . . . . . . 149
     Using Visual C++ to Develop COM Procedures . . . . . . . . . . . . . . . . . 149
     Developing COM Procedures with Visual Basic . . . . . . . . . . . . . . . . . 156
Developing Informatica External Procedures . . . . . . . . . . . . . . . . . . . . . . . 159
     Step 1. Create the External Procedure Transformation . . . . . . . . . . . . . 159
     Step 2. Generate the C++ Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
     Step 3. Fill Out the Method Stub with Implementation . . . . . . . . . . . . 164
     Step 4. Building the Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
     Step 5. Create a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
     Step 6. Run the Session in a Workflow . . . . . . . . . . . . . . . . . . . . . . . . 167
Distributing External Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
     Distributing COM Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
     Distributing Informatica Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Development Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
     COM Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
     Row-Level Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
     Return Values from Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
     Exceptions in Procedure Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
     Memory Management for Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 173
     Wrapper Classes for Pre-Existing C/C++ Libraries or VB Functions . . . 173
     Generating Error and Tracing Messages . . . . . . . . . . . . . . . . . . . . . . . 173
     Unconnected External Procedure Transformations . . . . . . . . . . . . . . . . 175
     Initializing COM and Informatica Modules . . . . . . . . . . . . . . . . . . . . 175
     Other Files Distributed and Used in TX . . . . . . . . . . . . . . . . . . . . . . . 179
Service Process Variables in Initialization Properties . . . . . . . . . . . . . . . . . 180
External Procedure Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
     Dispatch Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181


                                                                                            Table of Contents   vii
External Procedure Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
                    Property Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
                    Parameter Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
                    Code Page Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
                    Transformation Name Access Functions . . . . . . . . . . . . . . . . . . . . . . . 185
                    Procedure Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
                    Partition Related Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
                    Tracing Level Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187


               Chapter 7: Filter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
               Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
               Filter Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
               Creating a Filter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
               Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
               Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196


               Chapter 8: HTTP Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
               Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
                    Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
                    Connecting to the HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
               Creating an HTTP Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
               Configuring the Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
               Configuring the HTTP Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
                    Selecting a Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
                    Configuring Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
                    Configuring a URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
               Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
                    GET Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
                    POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
                    SIMPLE POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211


               Chapter 9: Java Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
               Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
                    Steps to Define a Java Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 214
                    Active and Passive Java Transformations . . . . . . . . . . . . . . . . . . . . . . . 215
                    Datatype Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
               Using the Java Code Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217


viii   Table of Contents
Configuring Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
     Creating Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
     Setting Default Port Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Configuring Java Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . 221
     Working with Transaction Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
     Setting the Update Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Developing Java Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
     Creating Java Code Snippets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
     Importing Java Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
     Defining Helper Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
     On Input Row Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
     On End of Data Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
     On Receiving Transaction Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Configuring Java Transformation Settings . . . . . . . . . . . . . . . . . . . . . . . . . 229
     Configuring the Classpath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
     Enabling High Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Compiling a Java Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Fixing Compilation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
     Locating the Source of Compilation Errors . . . . . . . . . . . . . . . . . . . . . 232
     Identifying Compilation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234


Chapter 10: Java Transformation API Reference . . . . . . . . . . . . . . . 237
Java Transformation API Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
     Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
     Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
failSession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
     Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
     Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
generateRow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
     Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
     Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
getInRowType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
     Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
     Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
incrementErrorCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
     Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243



                                                                                               Table of Contents   ix
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
            isNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
                 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
                 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
            logInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
                 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
                 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
            logError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
                 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
                 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
            rollBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
                 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
                 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
            setNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
                 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
                 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
            setOutRowType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
                 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
                 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249


            Chapter 11: Java Transformation Example . . . . . . . . . . . . . . . . . . . 251
            Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
            Step 1. Import the Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
            Step 2. Create Transformation and Configure Ports . . . . . . . . . . . . . . . . . . 254
            Step 3. Enter Java Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
                 Import Packages Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
                 Helper Code Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
                 On Input Row Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
            Step 4. Compile the Java Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
            Step 5. Create a Session and Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
                 Sample Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262


            Chapter 12: Java Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
            Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
                 Expression Function Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
            Using the Define Expression Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . 266
                 Step 1. Configure the Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266


x   Table of Contents
Step 2. Create and Validate the Expression . . . . . . . . . . . . . . . . . . . . . 267
     Step 3. Generate Java Code for the Expression . . . . . . . . . . . . . . . . . . 267
     Steps to Create an Expression and Generate Java Code . . . . . . . . . . . . 268
     Java Expression Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Working with the Simple Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
     invokeJExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
     Simple Interface Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Working with the Advanced Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
     Steps to Invoke an Expression with the Advanced Interface . . . . . . . . . 273
     Rules and Guidelines for Working with the Advanced Interface . . . . . . 273
     EDataType Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
     JExprParamMetadata Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
     defineJExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
     JExpression Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
     Advanced Interface Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
JExpression API Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
     invoke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
     getResultDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
     getResultMetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
     isResultNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
     getInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
     getDouble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
     getLong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
     getStringBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
     getBytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282


Chapter 13: Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 283
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
     Working with the Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . 284
Joiner Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Defining a Join Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Defining the Join Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
     Normal Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
     Master Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
     Detail Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
     Full Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Using Sorted Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292



                                                                                               Table of Contents   xi
Configuring the Sort Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
                   Adding Transformations to the Mapping . . . . . . . . . . . . . . . . . . . . . . . 293
                   Configuring the Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . 293
                   Defining the Join Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
              Joining Data from a Single Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
                   Joining Two Branches of the Same Pipeline . . . . . . . . . . . . . . . . . . . . . 296
                   Joining Two Instances of the Same Source . . . . . . . . . . . . . . . . . . . . . . 297
                   Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
              Blocking the Source Pipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
                   Unsorted Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
                   Sorted Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
              Working with Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
                   Preserving Transaction Boundaries for a Single Pipeline . . . . . . . . . . . . 301
                   Preserving Transaction Boundaries in the Detail Pipeline . . . . . . . . . . . 301
                   Dropping Transaction Boundaries for Two Pipelines . . . . . . . . . . . . . . 302
              Creating a Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
              Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306


              Chapter 14: Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . 307
              Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
              Connected and Unconnected Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
                   Connected Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 309
                   Unconnected Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 310
              Relational and Flat File Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
                   Relational Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
                   Flat File Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
              Lookup Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
                   Lookup Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
                   Lookup Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
                   Lookup Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
                   Lookup Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
                   Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
              Lookup Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
                   Configuring Lookup Properties in a Session . . . . . . . . . . . . . . . . . . . . 320
              Lookup Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
                   Default Lookup Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
                   Overriding the Lookup Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324


xii   Table of Contents
Lookup Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
     Uncached or Static Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
     Dynamic Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
     Handling Multiple Matches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Lookup Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Configuring Unconnected Lookup Transformations . . . . . . . . . . . . . . . . . 331
     Step 1. Add Input Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
     Step 2. Add the Lookup Condition . . . . . . . . . . . . . . . . . . . . . . . . . . 332
     Step 3. Designate a Return Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
     Step 4. Call the Lookup Through an Expression . . . . . . . . . . . . . . . . . 333
Creating a Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336


Chapter 15: Lookup Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
     Cache Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Building Connected Lookup Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
     Sequential Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
     Concurrent Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Using a Persistent Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
     Using a Non-Persistent Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
     Using a Persistent Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
     Rebuilding the Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Working with an Uncached Lookup or Static Cache . . . . . . . . . . . . . . . . . 344
Working with a Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . 345
     Using the NewLookupRow Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
     Using the Associated Input Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
     Working with Lookup Transformation Values . . . . . . . . . . . . . . . . . . . 349
     Using the Ignore Null Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
     Using the Ignore in Comparison Property . . . . . . . . . . . . . . . . . . . . . . 354
     Using Update Strategy Transformations with a Dynamic Cache . . . . . . 354
     Updating the Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . 356
     Using the WHERE Clause with a Dynamic Cache . . . . . . . . . . . . . . . 358
     Synchronizing the Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . 359
     Example Using a Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . 360
     Rules and Guidelines for Dynamic Caches . . . . . . . . . . . . . . . . . . . . . 361
Sharing the Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363



                                                                                                Table of Contents   xiii
Sharing an Unnamed Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . 363
                   Sharing a Named Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
              Lookup Cache Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369


              Chapter 16: Normalizer Transformation . . . . . . . . . . . . . . . . . . . . . . 371
              Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
              Normalizer Transformation Components . . . . . . . . . . . . . . . . . . . . . . . . . . 374
                   Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
                   Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
                   Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
              Normalizer Transformation Generated Keys . . . . . . . . . . . . . . . . . . . . . . . 379
                   Storing Generated Key Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
                   Changing the Generated Key Values . . . . . . . . . . . . . . . . . . . . . . . . . . 379
              VSAM Normalizer Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
                   VSAM Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
                   VSAM Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
                   Steps to Create a VSAM Normalizer Transformation . . . . . . . . . . . . . . 385
              Pipeline Normalizer Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
                   Pipeline Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
                   Pipeline Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
                   Steps to Create a Pipeline Normalizer Transformation . . . . . . . . . . . . . 391
              Using a Normalizer Transformation in a Mapping . . . . . . . . . . . . . . . . . . . 394
                   Generating Key Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
              Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399


              Chapter 17: Rank Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 401
              Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
                   Ranking String Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
                   Rank Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
                   Rank Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
              Ports in a Rank Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
                   Rank Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
              Defining Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
              Creating a Rank Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406


              Chapter 18: Router Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 409
              Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410


xiv   Table of Contents
Working with Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
     Input Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
     Output Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
     Using Group Filter Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
     Adding Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Working with Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Connecting Router Transformations in a Mapping . . . . . . . . . . . . . . . . . . 418
Creating a Router Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420


Chapter 19: Sequence Generator Transformation . . . . . . . . . . . . . . 421
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Common Uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
     Creating Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
     Replacing Missing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Sequence Generator Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
     NEXTVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
     CURRVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
     Start Value and Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
     Increment By . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
     End Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
     Current Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
     Number of Cached Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
     Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Creating a Sequence Generator Transformation . . . . . . . . . . . . . . . . . . . . . 432


Chapter 20: Sorter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Sorter Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
     Sorter Cache Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
     Case Sensitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
     Work Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
     Distinct Output Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
     Tracing Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
     Null Treated Low . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
     Transformation Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442


                                                                                              Table of Contents   xv
Creating a Sorter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443


              Chapter 21: Source Qualifier Transformation . . . . . . . . . . . . . . . . . 445
              Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
                   Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
                   Target Load Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
                   Parameters and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
              Source Qualifier Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . 449
              Default Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
                   Viewing the Default Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
                   Overriding the Default Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
              Joining Source Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
                   Default Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
                   Custom Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
                   Heterogeneous Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
                   Creating Key Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
              Adding an SQL Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
              Entering a User-Defined Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
              Outer Join Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
                   Informatica Join Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
                   Creating an Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
                   Common Database Syntax Restrictions . . . . . . . . . . . . . . . . . . . . . . . . 469
              Entering a Source Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
              Using Sorted Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
              Select Distinct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
                   Overriding Select Distinct in the Session . . . . . . . . . . . . . . . . . . . . . . 474
              Adding Pre- and Post-Session SQL Commands . . . . . . . . . . . . . . . . . . . . . 475
              Creating a Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . . . . 476
                   Creating a Source Qualifier Transformation By Default . . . . . . . . . . . . 476
                   Creating a Source Qualifier Transformation Manually . . . . . . . . . . . . . 476
                   Configuring Source Qualifier Transformation Options . . . . . . . . . . . . . 476
              Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478


              Chapter 22: SQL Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
              Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
              Script Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
                   Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482


xvi   Table of Contents
Script Mode Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Query Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
     Using Static SQL Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
     Using Dynamic SQL Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
     Query Mode Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Connecting to Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
     Using a Static Database Connection . . . . . . . . . . . . . . . . . . . . . . . . . . 490
     Passing a Logical Database Connection . . . . . . . . . . . . . . . . . . . . . . . . 490
     Passing Full Connection Information . . . . . . . . . . . . . . . . . . . . . . . . . 490
     Database Connections Rules and Guidelines . . . . . . . . . . . . . . . . . . . . 493
Session Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
     Input Row to Output Row Cardinality . . . . . . . . . . . . . . . . . . . . . . . . 494
     Transaction Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
     High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Creating an SQL Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
SQL Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
     Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
     SQL Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
     SQL Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
SQL Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509


Chapter 23: Using the SQL Transformation in a Mapping . . . . . . . . 511
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Dynamic Update Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
     Defining the Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
     Creating a Target Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
     Creating the Database Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
     Configuring the Expression Transformation . . . . . . . . . . . . . . . . . . . . 516
     Defining the SQL Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
     Configuring Session Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
     Target Data Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Dynamic Connection Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
     Defining the Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
     Creating a Target Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
     Creating the Database Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
     Creating the Database Connections . . . . . . . . . . . . . . . . . . . . . . . . . . 521
     Configuring the Expression Transformation . . . . . . . . . . . . . . . . . . . . 521



                                                                                            Table of Contents   xvii
Defining the SQL Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
                     Configuring Session Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
                     Target Data Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524


                Chapter 24: Stored Procedure Transformation . . . . . . . . . . . . . . . . 525
                Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
                Connected and Unconnected Transformations . . . . . . . . . . . . . . . . . . . . . . 527
                Input and Output Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
                     Input/Output Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
                     Return Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
                     Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
                Running a Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
                     Stored Procedure Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
                     Executing Stored Procedures with a Database Connection . . . . . . . . . . 529
                Using a Stored Procedure in a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
                Writing a Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
                     Sample Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
                Creating a Stored Procedure Transformation . . . . . . . . . . . . . . . . . . . . . . . 535
                     Importing Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
                     Manually Creating Stored Procedure Transformations . . . . . . . . . . . . . 537
                     Setting Options for the Stored Procedure . . . . . . . . . . . . . . . . . . . . . . 538
                     Using $Source and $Target Variables . . . . . . . . . . . . . . . . . . . . . . . . . 539
                     Changing the Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
                Configuring a Connected Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 541
                Configuring an Unconnected Transformation . . . . . . . . . . . . . . . . . . . . . . 542
                     Calling a Stored Procedure From an Expression . . . . . . . . . . . . . . . . . . 542
                     Calling a Pre- or Post-Session Stored Procedure . . . . . . . . . . . . . . . . . . 545
                Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
                     Pre-Session Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
                     Post-Session Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
                     Session Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
                Supported Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
                     SQL Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
                     Parameter Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
                     Input/Output Port in Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
                     Type of Return Value Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
                Expression Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552


xviii   Table of Contents
Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554


Chapter 25: Transaction Control Transformation . . . . . . . . . . . . . . 555
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Transaction Control Transformation Properties . . . . . . . . . . . . . . . . . . . . . 557
     Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
     Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Using Transaction Control Transformations in Mappings . . . . . . . . . . . . . . 560
     Sample Transaction Control Mappings with Multiple Targets . . . . . . . 561
Mapping Guidelines and Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Creating a Transaction Control Transformation . . . . . . . . . . . . . . . . . . . . . 565


Chapter 26: Union Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
     Union Transformation Rules and Guidelines . . . . . . . . . . . . . . . . . . . . 568
     Union Transformation Components . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Working with Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Creating a Union Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Using a Union Transformation in Mappings . . . . . . . . . . . . . . . . . . . . . . . 574


Chapter 27: Update Strategy Transformation . . . . . . . . . . . . . . . . . 575
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
     Setting the Update Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Flagging Rows Within a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
     Forwarding Rejected Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
     Update Strategy Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
     Aggregator and Update Strategy Transformations . . . . . . . . . . . . . . . . 578
     Lookup and Update Strategy Transformations . . . . . . . . . . . . . . . . . . . 579
Setting the Update Strategy for a Session . . . . . . . . . . . . . . . . . . . . . . . . . 580
     Specifying an Operation for All Rows . . . . . . . . . . . . . . . . . . . . . . . . . 580
     Specifying Operations for Individual Target Tables . . . . . . . . . . . . . . . 581
Update Strategy Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583


Chapter 28: XML Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . 585
XML Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
XML Parser Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587

                                                                                                Table of Contents   xix
XML Generator Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588


             Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589




xx   Table of Contents
List of Figures
    Figure   1-1. Sample Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
    Figure   1-2. Example of Input, Output, and Input/Output Ports . . . . . . . . . . . . . . . . . . . . . . . 8
    Figure   1-3. Sample Input and Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
    Figure   1-4. Expression Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
    Figure   1-5. Variable Ports Store Values Across Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
    Figure   1-6. Default Value for Input and Input/Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . 19
    Figure   1-7. Default Value for Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
    Figure   1-8. Using a Constant as a Default Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
    Figure   1-9. Using the ERROR Function to Skip Null Input Values . . . . . . . . . . . . . . . . . . . . 24
    Figure   1-10. Entering and Validating Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
    Figure   1-11. Reverting to Original Reusable Transformation Properties . . . . . . . . . . . . . . . . . 35
    Figure   2-1. Sample Mapping with Aggregator and Sorter Transformations . . . . . . . . . . . . . . . 46
    Figure   3-1. Custom Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
    Figure   3-2. Editing Port Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
    Figure   3-3. Port Attribute Definitions Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
    Figure   3-4. Edit Port Attribute Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
    Figure   3-5. Custom Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
    Figure   3-6. Custom Transformation Ports Tab - Union Example . . . . . . . . . . . . . . . . . . . . . . 74
    Figure   3-7. Custom Transformation Properties Tab - Union Example . . . . . . . . . . . . . . . . . . 75
    Figure   3-8. Mapping with a Custom Transformation - Union Example . . . . . . . . . . . . . . . . . 87
    Figure   4-1. Custom Transformation Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
    Figure   6-1. Process for Distributing External Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
    Figure   6-2. External Procedure Transformation Initialization Properties . . . . . . . . . . . . . . . . 178
    Figure   6-3. External Procedure Transformation Initialization Properties Tab . . . . . . . . . . . . 180
    Figure   7-1. Sample Mapping with a Filter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 190
    Figure   7-2. Specifying a Filter Condition in a Filter Transformation . . . . . . . . . . . . . . . . . . 191
    Figure   8-1. HTTP Transformation Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
    Figure   8-2. HTTP Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
    Figure   8-3. HTTP Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
    Figure   8-4. HTTP Transformation HTTP Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
    Figure   8-5. HTTP Tab for a GET Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
    Figure   8-6. HTTP Tab for a POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
    Figure   8-7. HTTP Tab for a SIMPLE POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
    Figure   9-1. Java Code Tab Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
    Figure   9-2. Java Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
    Figure   9-3. Java Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
    Figure   9-4. Java Transformation Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
    Figure   9-5. Highlighted Error in Code Entry Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
    Figure   9-6. Highlighted Error in Full Code Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
    Figure   11-1. Java Transformation Example - Sample Mapping . . . . . . . . . . . . . . . . . . . . . . . 253



                                                                                                                  List of Figures        xxi
Figure   11-2. Java Transformation Example - Ports Tab . . . . . . . . . . . . . . . . . . . . . . . .                .   ..   .   .255
         Figure   11-3. Java Transformation Example - Import Packages Tab . . . . . . . . . . . . . . . .                      .   ..   .   .257
         Figure   11-4. Java Transformation Example - Helper Code Tab . . . . . . . . . . . . . . . . . .                      .   ..   .   .258
         Figure   11-5. Java Transformation Example - On Input Row Tab . . . . . . . . . . . . . . . . .                       .   ..   .   .260
         Figure   11-6. Java Transformation Example - Successful Compilation . . . . . . . . . . . . . .                       .   ..   .   .261
         Figure   12-1. Define Expression Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           .   ..   .   .267
         Figure   12-2. Java Expressions Code Entry Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            .   ..   .   .268
         Figure   13-1. Mapping with Master and Detail Pipelines . . . . . . . . . . . . . . . . . . . . . . .                 .   ..   .   .284
         Figure   13-2. Joiner Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . .             .   ..   .   .286
         Figure   13-3. Mapping Configured to Join Data from Two Pipelines . . . . . . . . . . . . . .                         .   ..   .   .295
         Figure   13-4. Mapping that Joins Two Branches of a Pipeline . . . . . . . . . . . . . . . . . . . .                  .   ..   .   .297
         Figure   13-5. Mapping that Joins Two Instances of the Same Source . . . . . . . . . . . . . . .                      .   ..   .   .297
         Figure   13-6. Preserving Transaction Boundaries when You Join Two Pipeline Branches                                  .   ..   .   .301
         Figure   14-1. Session Properties for Flat File Lookups . . . . . . . . . . . . . . . . . . . . . . . . .             .   ..   .   .321
         Figure   14-2. Return Port in a Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . .                 .   ..   .   .333
         Figure   15-1. Building Lookup Caches Sequentially . . . . . . . . . . . . . . . . . . . . . . . . . . .              .   ..   .   .340
         Figure   15-2. Building Lookup Caches Concurrently . . . . . . . . . . . . . . . . . . . . . . . . . .                .   ..   .   .341
         Figure   15-3. Mapping with a Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . .                  .   ..   .   .346
         Figure   15-4. Dynamic Lookup Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . .                    .   ..   .   .347
         Figure   15-5. Using Update Strategy Transformations with a Lookup Transformation . .                                 .   ..   .   .355
         Figure   15-6. Slowly Changing Dimension Mapping with Dynamic Lookup Cache . . . .                                    .   ..   .   .360
         Figure   16-1. Normalizer Transformation Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            .   ..   .   .374
         Figure   16-2. Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     .   ..   .   .375
         Figure   16-3. Normalizer Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . .                 .   ..   .   .376
         Figure   16-4. Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .   ..   .   .377
         Figure   16-5. COBOL Source Definition Example . . . . . . . . . . . . . . . . . . . . . . . . . . . .                .   ..   .   .381
         Figure   16-6. Sales File VSAM Normalizer Transformation . . . . . . . . . . . . . . . . . . . . .                    .   ..   .   .381
         Figure   16-7. VSAM Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            .   ..   .   .383
         Figure   16-8. Normalizer Tab for a VSAM Normalizer Transformation . . . . . . . . . . . . .                          .   ..   .   .384
         Figure   16-9. Pipeline Normalizer Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          .   ..   .   .387
         Figure   16-10. Pipeline Normalizer Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       .   ..   .   .387
         Figure   16-11. Pipeline Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           .   ..   .   .389
         Figure   16-12. Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    .   ..   .   .390
         Figure   16-13. Grouping Repeated Columns on the Normalizer Tab . . . . . . . . . . . . . . .                         .   ..   .   .391
         Figure   16-14. Group-Level Column on the Normalizer Tab . . . . . . . . . . . . . . . . . . . .                      .   ..   .   .393
         Figure   16-15. Sales File COBOL Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         .   ..   .   .394
         Figure   16-16. Multiple Record Types Routed to Different Targets . . . . . . . . . . . . . . . .                     .   ..   .   .395
         Figure   16-17. Router Transformation User-Defined Groups . . . . . . . . . . . . . . . . . . . .                     .   ..   .   .396
         Figure   16-18. COBOL Source with A Multiple-Occurring Group of Columns . . . . . . .                                 .   ..   .   .397
         Figure   16-19. Generated Keys in Target Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           .   ..   .   .397
         Figure   16-20. Generated Keys Mapped to Target Keys . . . . . . . . . . . . . . . . . . . . . . . .                  .   ..   .   .398
         Figure   17-1. Sample Mapping with a Rank Transformation . . . . . . . . . . . . . . . . . . . . .                    .   ..   .   .402
         Figure   18-1. Comparing Router and Filter Transformations . . . . . . . . . . . . . . . . . . . .                    .   ..   .   .410



xxii   List of Figures
Figure   18-2.   Sample Router Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           ..   .   411
Figure   18-3.   Using a Router Transformation in a Mapping . . . . . . . . . . . . . . . . . . . . . .                   ..   .   413
Figure   18-4.   Specifying Group Filter Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             ..   .   414
Figure   18-5.   Router Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            ..   .   416
Figure   18-6.   Input Port Name and Corresponding Output Port Names . . . . . . . . . . . . .                            ..   .   417
Figure   19-1.   Connecting NEXTVAL to Two Target Tables in a Mapping . . . . . . . . . . . .                             ..   .   424
Figure   19-2.   Mapping with a Sequence Generator and an Expression Transformation . . .                                 ..   .   425
Figure   19-3.   Connecting CURRVAL and NEXTVAL Ports to a Target . . . . . . . . . . . . .                               ..   .   426
Figure   20-1.   Sample Mapping with a Sorter Transformation . . . . . . . . . . . . . . . . . . . . .                    ..   .   436
Figure   20-2.   Sample Sorter Transformation Ports Configuration . . . . . . . . . . . . . . . . . .                     ..   .   437
Figure   20-3.   Sorter Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           ..   .   439
Figure   21-1.   Source Definition Connected to a Source Qualifier Transformation . . . . . .                             ..   .   451
Figure   21-2.   Joining Two Tables with One Source Qualifier Transformation . . . . . . . . .                            ..   .   455
Figure   21-3.   Creating a Relationship Between Two Tables . . . . . . . . . . . . . . . . . . . . . . .                 ..   .   457
Figure   22-1.   SQL Transformation Script Mode Ports . . . . . . . . . . . . . . . . . . . . . . . . . .                 ..   .   481
Figure   22-2.   SQL Editor for an SQL Transformation Query . . . . . . . . . . . . . . . . . . . . .                     ..   .   484
Figure   22-3.   SQL Transformation Static Query Mode Ports . . . . . . . . . . . . . . . . . . . . .                     ..   .   486
Figure   22-4.   SQL Transformation Ports to Pass a Full Dynamic Query . . . . . . . . . . . . .                          ..   .   487
Figure   22-5.   SQL Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              ..   .   503
Figure   22-6.   SQL Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   ..   .   505
Figure   22-7.   SQL Transformation SQL Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               ..   .   507
Figure   23-1.   Dynamic Query Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ..   .   513
Figure   23-2.   Dynamic Query Expression Transformation Ports . . . . . . . . . . . . . . . . . . .                      ..   .   516
Figure   23-3.   Dynamic Query SQL Transformation Ports tab: . . . . . . . . . . . . . . . . . . . .                      ..   .   517
Figure   23-4.   Dynamic Connection Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             ..   .   519
Figure   23-5.   Dynamic Query Example Expression Transformation Ports . . . . . . . . . . . .                            ..   .   521
Figure   23-6.   Dynamic Connection Example SQL Transformation Ports . . . . . . . . . . . . .                            ..   .   523
Figure   24-1.   Sample Mapping with a Stored Procedure Transformation . . . . . . . . . . . . .                          ..   .   541
Figure   24-2.   Expression Transformation Referencing a Stored Procedure Transformation                                  ..   .   542
Figure   24-3.   Stored Procedure Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            ..   .   548
Figure   25-1.   Transaction Control Transformation Properties . . . . . . . . . . . . . . . . . . . . .                  ..   .   557
Figure   25-2.   Sample Transaction Control Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . .               ..   .   559
Figure   25-3.   Effective and Ineffective Transaction Control Transformations . . . . . . . . . .                        ..   .   561
Figure   25-4.   Transaction Control Transformation Effective for a Transformation . . . . . .                            ..   .   561
Figure   25-5.   Valid Mapping with Transaction Control Transformations . . . . . . . . . . . . .                         ..   .   562
Figure   25-6.   Invalid Mapping with Transaction Control Transformations . . . . . . . . . . .                           ..   .   563
Figure   26-1.   Union Transformation Groups Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              ..   .   570
Figure   26-2.   Union Transformation Group Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . .                 ..   .   571
Figure   26-3.   Union Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             ..   .   571
Figure   26-4.   Mapping with a Union Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . .                ..   .   574
Figure   27-1.   Specifying Operations for Individual Target Tables . . . . . . . . . . . . . . . . . .                   ..   .   582




                                                                                                               List of Figures           xxiii
xxiv   List of Figures
List of Tables
    Table 1-1. Transformation Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            .   .   ..   .   ..   .   .. 2
    Table 1-2. Multi-Group Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              .   .   ..   .   ..   .   .. 9
    Table 1-3. Transformations Containing Expressions . . . . . . . . . . . . . . . . . . . . . . .                 .   .   ..   .   ..   .   . 11
    Table 1-4. Variable Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .   .   ..   .   ..   .   . 14
    Table 1-5. System Default Values and Integration Service Behavior . . . . . . . . . . . .                       .   .   ..   .   ..   .   . 18
    Table 1-6. Transformations Supporting User-Defined Default Values . . . . . . . . . .                           .   .   ..   .   ..   .   . 20
    Table 1-7. Default Values for Input and Input/Output Ports . . . . . . . . . . . . . . . .                      .   .   ..   .   ..   .   . 22
    Table 1-8. Supported Default Values for Output Ports . . . . . . . . . . . . . . . . . . . . .                  .   .   ..   .   ..   .   . 26
    Table 1-9. Session Log Tracing Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           .   .   ..   .   ..   .   . 30
    Table 3-1. Custom Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . .               .   .   ..   .   ..   .   . 64
    Table 3-2. Transaction Boundary Handling with Custom Transformations . . . . . .                                .   .   ..   .   ..   .   . 69
    Table 3-3. Module File Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        .   .   ..   .   ..   .   . 85
    Table 3-4. UNIX Commands to Build the Shared Library. . . . . . . . . . . . . . . . . . .                       .   .   ..   .   ..   .   . 86
    Table 4-1. Custom Transformation Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . .                .   .   ..   .   ..   .   . 91
    Table 4-2. Custom Transformation Generated Functions . . . . . . . . . . . . . . . . . . .                      .   .   ..   .   ..   .   . 92
    Table 4-3. Custom Transformation API Functions . . . . . . . . . . . . . . . . . . . . . . . .                  .   .   ..   .   ..   .   . 92
    Table 4-4. Custom Transformation Array-Based API Functions . . . . . . . . . . . . . .                          .   .   ..   .   ..   .   . 94
    Table 4-5. INFA_CT_MODULE Property IDs . . . . . . . . . . . . . . . . . . . . . . . . . .                      .   .   ..   .   ..   .    109
    Table 4-6. INFA_CT_PROC_HANDLE Property IDs . . . . . . . . . . . . . . . . . . . . .                           .   .   ..   .   ..   .    110
    Table 4-7. INFA_CT_TRANS_HANDLE Property IDs . . . . . . . . . . . . . . . . . . . .                            .   .   ..   .   ..   .    111
    Table 4-8. INFA_CT_INPUT_GROUP and INFA_CT_OUTPUT_GROUP
    Handle Property IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   . . . . . . . . 112
    Table 4-9. INFA_CT_INPUTPORT and INFA_CT_OUTPUTPORT_HANDLE
    Handle Property IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .   .   ..   .   ..   .   113
    Table 4-10. Property Functions (MBCS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             .   .   ..   .   ..   .   115
    Table 4-11. Property Functions (Unicode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            .   .   ..   .   ..   .   115
    Table 4-12. Compatible Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          .   .   ..   .   ..   .   116
    Table 4-13. Get Data Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        .   .   ..   .   ..   .   118
    Table 4-14. Get Data Functions (Array-Based Mode) . . . . . . . . . . . . . . . . . . . . . .                   .   .   ..   .   ..   .   133
    Table 6-1. Differences Between COM and Informatica External Procedures . . . . .                                .   .   ..   .   ..   .   148
    Table 6-2. Visual C++ and Transformation Datatypes . . . . . . . . . . . . . . . . . . . . .                    .   .   ..   .   ..   .   171
    Table 6-3. Visual Basic and Transformation Datatypes . . . . . . . . . . . . . . . . . . . . .                  .   .   ..   .   ..   .   171
    Table 6-4. External Procedure Initialization Properties . . . . . . . . . . . . . . . . . . . . .               .   .   ..   .   ..   .   180
    Table 6-5. Descriptions of Parameter Access Functions. . . . . . . . . . . . . . . . . . . . .                  .   .   ..   .   ..   .   183
    Table 6-6. Member Variable of the External Procedure Base Class. . . . . . . . . . . . .                        .   .   ..   .   ..   .   185
    Table 8-1. HTTP Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . .               .   .   ..   .   ..   .   202
    Table 8-2. HTTP Transformation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                .   .   ..   .   ..   .   205
    Table 8-3. GET Method Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                .   .   ..   .   ..   .   206
    Table 8-4. POST Method Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 .   .   ..   .   ..   .   206
    Table 8-5. SIMPLE POST Method Groups and Ports . . . . . . . . . . . . . . . . . . . . .                        .   .   ..   .   ..   .   207
    Table 9-1. Mapping from PowerCenter Datatypes to Java Datatypes . . . . . . . . . . .                           .   .   ..   .   ..   .   215


                                                                                                                        List of Tables               xxv
Table 9-2. Java Transformation Properties . . . . . . . . . . . . . . . . . . . . . . .           ...   .   .   ..   .   .   ..   .   ..   .   .221
         Table 11-1. Input and Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . .          ...   .   .   ..   .   .   ..   .   ..   .   .254
         Table 12-1. Enumerated Java Datatypes . . . . . . . . . . . . . . . . . . . . . . . .             ...   .   .   ..   .   .   ..   .   ..   .   .274
         Table 12-2. JExpression API Methods . . . . . . . . . . . . . . . . . . . . . . . . . .           ...   .   .   ..   .   .   ..   .   ..   .   .276
         Table 13-1. Joiner Transformation Properties . . . . . . . . . . . . . . . . . . . .              ...   .   .   ..   .   .   ..   .   ..   .   .286
         Table 13-2. Integration Service Behavior with Transformation Scopes for                           the
         Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   ...   .   .   ..   .   .   ..   .   ..   .   .300
         Table 14-1. Differences Between Connected and Unconnected Lookups .                               ...   .   .   ..   .   .   ..   .   ..   .   .309
         Table 14-2. Lookup Transformation Port Types . . . . . . . . . . . . . . . . . .                  ...   .   .   ..   .   .   ..   .   ..   .   .314
         Table 14-3. Lookup Transformation Properties . . . . . . . . . . . . . . . . . . .                ...   .   .   ..   .   .   ..   .   ..   .   .316
         Table 14-4. Session Properties for Flat File Lookups . . . . . . . . . . . . . . .                ...   .   .   ..   .   .   ..   .   ..   .   .322
         Table 15-1. Lookup Caching Comparison . . . . . . . . . . . . . . . . . . . . . . .               ...   .   .   ..   .   .   ..   .   ..   .   .339
         Table 15-2. Integration Service Handling of Persistent Caches . . . . . . . .                     ...   .   .   ..   .   .   ..   .   ..   .   .343
         Table 15-3. NewLookupRow Values . . . . . . . . . . . . . . . . . . . . . . . . . . .             ...   .   .   ..   .   .   ..   .   ..   .   .348
         Table 15-4. Dynamic Lookup Cache Behavior for Insert Row Type . . . .                             ...   .   .   ..   .   .   ..   .   ..   .   .357
         Table 15-5. Dynamic Lookup Cache Behavior for Update Row Type . . .                               ...   .   .   ..   .   .   ..   .   ..   .   .358
         Table 15-6. Location for Sharing Unnamed Cache . . . . . . . . . . . . . . . . .                  ...   .   .   ..   .   .   ..   .   ..   .   .364
         Table 15-7. Properties for Sharing Unnamed Cache . . . . . . . . . . . . . . . .                  ...   .   .   ..   .   .   ..   .   ..   .   .364
         Table 15-8. Location for Sharing Named Cache . . . . . . . . . . . . . . . . . . .                ...   .   .   ..   .   .   ..   .   ..   .   .367
         Table 15-9. Properties for Sharing Named Cache . . . . . . . . . . . . . . . . . .                ...   .   .   ..   .   .   ..   .   ..   .   .367
         Table 16-1. Normalizer Transformation Properties . . . . . . . . . . . . . . . .                  ...   .   .   ..   .   .   ..   .   ..   .   .376
         Table 16-2. Normalizer Tab Columns . . . . . . . . . . . . . . . . . . . . . . . . . .            ...   .   .   ..   .   .   ..   .   ..   .   .378
         Table 16-3. Normalizer Tab for a VSAM Normalizer Transformation . . .                             ...   .   .   ..   .   .   ..   .   ..   .   .384
         Table 16-4. Pipeline Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . .           ...   .   .   ..   .   .   ..   .   ..   .   .390
         Table 17-1. Rank Transformation Ports . . . . . . . . . . . . . . . . . . . . . . . .             ...   .   .   ..   .   .   ..   .   ..   .   .404
         Table 17-2. Rank Transformation Properties . . . . . . . . . . . . . . . . . . . . .              ...   .   .   ..   .   .   ..   .   ..   .   .407
         Table 19-1. Sequence Generator Transformation Properties . . . . . . . . . .                      ...   .   .   ..   .   .   ..   .   ..   .   .427
         Table 20-1. Column Sizes for Sorter Data Calculations . . . . . . . . . . . . .                   ...   .   .   ..   .   .   ..   .   ..   .   .440
         Table 21-1. Conversion for Datetime Mapping Parameters and Variables                              ...   .   .   ..   .   .   ..   .   ..   .   .447
         Table 21-2. Source Qualifier Transformation Properties . . . . . . . . . . . . .                  ...   .   .   ..   .   .   ..   .   ..   .   .449
         Table 21-3. Locations for Entering Outer Join Syntax . . . . . . . . . . . . . .                  ...   .   .   ..   .   .   ..   .   ..   .   .463
         Table 21-4. Syntax for Normal Joins in a Join Override . . . . . . . . . . . . .                  ...   .   .   ..   .   .   ..   .   ..   .   .463
         Table 21-5. Syntax for Left Outer Joins in a Join Override . . . . . . . . . . .                  ...   .   .   ..   .   .   ..   .   ..   .   .465
         Table 21-6. Syntax for Right Outer Joins in a Join Override . . . . . . . . .                     ...   .   .   ..   .   .   ..   .   ..   .   .467
         Table 22-1. Full Database Connection Ports . . . . . . . . . . . . . . . . . . . . .              ...   .   .   ..   .   .   ..   .   ..   .   .491
         Table 22-2. Native Connect String Syntax . . . . . . . . . . . . . . . . . . . . .                ...   .   .   ..   .   .   ..   .   ..   .   .491
         Table 22-3. Output Rows By Query Statement - Query Mode . . . . . . . .                           ...   .   .   ..   .   .   ..   .   ..   .   .495
         Table 22-4. NumRowsAffected Rows by Query Statement - Query Mode                                  ...   .   .   ..   .   .   ..   .   ..   .   .495
         Table 22-5. Output Rows by Query Statement - Query Mode . . . . . . . .                           ...   .   .   ..   .   .   ..   .   ..   .   .497
         Table 22-6. SQL Transformation Connection Options . . . . . . . . . . . . . .                     ...   .   .   ..   .   .   ..   .   ..   .   .501
         Table 22-7. SQL Transformation Properties . . . . . . . . . . . . . . . . . . . . .               ...   .   .   ..   .   .   ..   .   ..   .   .503
         Table 22-8. SQL Settings Tab Attributes . . . . . . . . . . . . . . . . . . . . . . . .           ...   .   .   ..   .   .   ..   .   ..   .   .505
         Table 22-9. SQL Transformation Ports . . . . . . . . . . . . . . . . . . . . . . . . .            ...   .   .   ..   .   .   ..   .   ..   .   .507
         Table 22-10. Standard SQL Statements . . . . . . . . . . . . . . . . . . . . . . . . .            ...   .   .   ..   .   .   ..   .   ..   .   .509

xxvi   List of Tables
Table   24-1.   Connected and Unconnected Stored Procedure Transformation Tasks .                              .   .   ..   .   ..   .   527
Table   24-2.   Setting Options for the Stored Procedure Transformation . . . . . . . . .                      .   .   ..   .   ..   .   538
Table   27-1.   Constants for Each Database Operation . . . . . . . . . . . . . . . . . . . . . .              .   .   ..   .   ..   .   577
Table   27-2.   Specifying an Operation for All Rows . . . . . . . . . . . . . . . . . . . . . . . .           .   .   ..   .   ..   .   580
Table   27-3.   Update Strategy Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .   .   ..   .   ..   .   581




                                                                                                                   List of Tables              xxvii
xxviii   List of Tables
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide
Informatica PowerCenter Transformation Guide

Weitere ähnliche Inhalte

Was ist angesagt?

Dell Data Migration A Technical White Paper
Dell Data Migration  A Technical White PaperDell Data Migration  A Technical White Paper
Dell Data Migration A Technical White Papernomanc
 
Ms Patch Man Ch8
Ms Patch Man Ch8Ms Patch Man Ch8
Ms Patch Man Ch8gopi1985
 
Pervasive Video in the Enterprise
Pervasive Video in the EnterprisePervasive Video in the Enterprise
Pervasive Video in the EnterpriseAvaya Inc.
 
Code Conventions
Code ConventionsCode Conventions
Code Conventions51 lecture
 
Robust data synchronization with ibm tivoli directory integrator sg246164
Robust data synchronization with ibm tivoli directory integrator sg246164Robust data synchronization with ibm tivoli directory integrator sg246164
Robust data synchronization with ibm tivoli directory integrator sg246164Banking at Ho Chi Minh city
 
programación en prolog
programación en prologprogramación en prolog
programación en prologAlex Pin
 
Corel vs pro_x4_ug modul corel draw
Corel vs pro_x4_ug modul corel draw Corel vs pro_x4_ug modul corel draw
Corel vs pro_x4_ug modul corel draw DIANTO IRAWAN
 
Solving the XP Legacy Problem with (Extreme) Meta-Programming
Solving the XP Legacy Problem with (Extreme) Meta-ProgrammingSolving the XP Legacy Problem with (Extreme) Meta-Programming
Solving the XP Legacy Problem with (Extreme) Meta-Programmingamcquiggin
 
Implementing ibm storage data deduplication solutions sg247888
Implementing ibm storage data deduplication solutions sg247888Implementing ibm storage data deduplication solutions sg247888
Implementing ibm storage data deduplication solutions sg247888Banking at Ho Chi Minh city
 
Java Complete Reference Fifth Edition
Java Complete Reference Fifth EditionJava Complete Reference Fifth Edition
Java Complete Reference Fifth Editionumavanth
 
B035-2447-220K.pdf
B035-2447-220K.pdfB035-2447-220K.pdf
B035-2447-220K.pdfdegido10
 
Hello, android introducing google’s mobile development platform, 2nd editio...
Hello, android   introducing google’s mobile development platform, 2nd editio...Hello, android   introducing google’s mobile development platform, 2nd editio...
Hello, android introducing google’s mobile development platform, 2nd editio...Kwanzoo Dev
 
Tivoli data warehouse version 1.3 planning and implementation sg246343
Tivoli data warehouse version 1.3 planning and implementation sg246343Tivoli data warehouse version 1.3 planning and implementation sg246343
Tivoli data warehouse version 1.3 planning and implementation sg246343Banking at Ho Chi Minh city
 

Was ist angesagt? (17)

Dell Data Migration A Technical White Paper
Dell Data Migration  A Technical White PaperDell Data Migration  A Technical White Paper
Dell Data Migration A Technical White Paper
 
Ms Patch Man Ch8
Ms Patch Man Ch8Ms Patch Man Ch8
Ms Patch Man Ch8
 
Java code conventions
Java code conventionsJava code conventions
Java code conventions
 
Pervasive Video in the Enterprise
Pervasive Video in the EnterprisePervasive Video in the Enterprise
Pervasive Video in the Enterprise
 
Code Conventions
Code ConventionsCode Conventions
Code Conventions
 
Robust data synchronization with ibm tivoli directory integrator sg246164
Robust data synchronization with ibm tivoli directory integrator sg246164Robust data synchronization with ibm tivoli directory integrator sg246164
Robust data synchronization with ibm tivoli directory integrator sg246164
 
programación en prolog
programación en prologprogramación en prolog
programación en prolog
 
Vrs User Guide
Vrs User GuideVrs User Guide
Vrs User Guide
 
Corel vs pro_x4_ug modul corel draw
Corel vs pro_x4_ug modul corel draw Corel vs pro_x4_ug modul corel draw
Corel vs pro_x4_ug modul corel draw
 
Solving the XP Legacy Problem with (Extreme) Meta-Programming
Solving the XP Legacy Problem with (Extreme) Meta-ProgrammingSolving the XP Legacy Problem with (Extreme) Meta-Programming
Solving the XP Legacy Problem with (Extreme) Meta-Programming
 
Implementing ibm storage data deduplication solutions sg247888
Implementing ibm storage data deduplication solutions sg247888Implementing ibm storage data deduplication solutions sg247888
Implementing ibm storage data deduplication solutions sg247888
 
Debian Handbook
Debian HandbookDebian Handbook
Debian Handbook
 
Java Complete Reference Fifth Edition
Java Complete Reference Fifth EditionJava Complete Reference Fifth Edition
Java Complete Reference Fifth Edition
 
B035-2447-220K.pdf
B035-2447-220K.pdfB035-2447-220K.pdf
B035-2447-220K.pdf
 
R Data
R DataR Data
R Data
 
Hello, android introducing google’s mobile development platform, 2nd editio...
Hello, android   introducing google’s mobile development platform, 2nd editio...Hello, android   introducing google’s mobile development platform, 2nd editio...
Hello, android introducing google’s mobile development platform, 2nd editio...
 
Tivoli data warehouse version 1.3 planning and implementation sg246343
Tivoli data warehouse version 1.3 planning and implementation sg246343Tivoli data warehouse version 1.3 planning and implementation sg246343
Tivoli data warehouse version 1.3 planning and implementation sg246343
 

Ähnlich wie Informatica PowerCenter Transformation Guide

Salesforce development lifecycle
Salesforce development lifecycleSalesforce development lifecycle
Salesforce development lifecyclegiridhar007
 
Doors Getting Started
Doors Getting StartedDoors Getting Started
Doors Getting Startedsong4fun
 
Mapinfo
MapinfoMapinfo
Mapinfodoai
 
Java script tools guide cs6
Java script tools guide cs6Java script tools guide cs6
Java script tools guide cs6Sadiq Momin
 
Erpi admin 11123510[1] by иссам неязын issam hejazin
Erpi admin 11123510[1] by иссам неязын issam hejazinErpi admin 11123510[1] by иссам неязын issam hejazin
Erpi admin 11123510[1] by иссам неязын issam hejazinIssam Hejazin
 
The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4Martin Edenström MKSE.com
 
Managing disk subsystems using ibm total storage productivity center sg247097
Managing disk subsystems using ibm total storage productivity center sg247097Managing disk subsystems using ibm total storage productivity center sg247097
Managing disk subsystems using ibm total storage productivity center sg247097Banking at Ho Chi Minh city
 
ZebraNet Bridge Enterprise - Manual do Software
ZebraNet Bridge Enterprise - Manual do SoftwareZebraNet Bridge Enterprise - Manual do Software
ZebraNet Bridge Enterprise - Manual do SoftwareUseZ
 
Inter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User GuideInter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User GuideVideoguy
 
Mikrobasic pic pro_manual_v101
Mikrobasic pic pro_manual_v101Mikrobasic pic pro_manual_v101
Mikrobasic pic pro_manual_v101HUILLCAH
 
PANOS 4.1 Administrators Guide
PANOS 4.1 Administrators GuidePANOS 4.1 Administrators Guide
PANOS 4.1 Administrators GuideAltaware, Inc.
 
Rational Suite Tutorial
Rational Suite TutorialRational Suite Tutorial
Rational Suite TutorialLuciano Saia
 

Ähnlich wie Informatica PowerCenter Transformation Guide (20)

Salesforce development lifecycle
Salesforce development lifecycleSalesforce development lifecycle
Salesforce development lifecycle
 
Doors Getting Started
Doors Getting StartedDoors Getting Started
Doors Getting Started
 
Sg246399
Sg246399Sg246399
Sg246399
 
Plesk Modules
Plesk ModulesPlesk Modules
Plesk Modules
 
HRpM_UG_731_HDS_M2
HRpM_UG_731_HDS_M2HRpM_UG_731_HDS_M2
HRpM_UG_731_HDS_M2
 
Mapinfo
MapinfoMapinfo
Mapinfo
 
Plant Simulation Passo a Passo
Plant Simulation Passo a PassoPlant Simulation Passo a Passo
Plant Simulation Passo a Passo
 
Java script tools guide cs6
Java script tools guide cs6Java script tools guide cs6
Java script tools guide cs6
 
Erpi admin 11123510[1] by иссам неязын issam hejazin
Erpi admin 11123510[1] by иссам неязын issam hejazinErpi admin 11123510[1] by иссам неязын issam hejazin
Erpi admin 11123510[1] by иссам неязын issam hejazin
 
The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4
 
Managing disk subsystems using ibm total storage productivity center sg247097
Managing disk subsystems using ibm total storage productivity center sg247097Managing disk subsystems using ibm total storage productivity center sg247097
Managing disk subsystems using ibm total storage productivity center sg247097
 
ZebraNet Bridge Enterprise - Manual do Software
ZebraNet Bridge Enterprise - Manual do SoftwareZebraNet Bridge Enterprise - Manual do Software
ZebraNet Bridge Enterprise - Manual do Software
 
Inter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User GuideInter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User Guide
 
Reqpro user
Reqpro userReqpro user
Reqpro user
 
Mikrobasic pic pro_manual_v101
Mikrobasic pic pro_manual_v101Mikrobasic pic pro_manual_v101
Mikrobasic pic pro_manual_v101
 
Manual CV41
Manual  CV41Manual  CV41
Manual CV41
 
PANOS 4.1 Administrators Guide
PANOS 4.1 Administrators GuidePANOS 4.1 Administrators Guide
PANOS 4.1 Administrators Guide
 
Hfm user
Hfm userHfm user
Hfm user
 
Ftk 1.80 manual
Ftk 1.80 manualFtk 1.80 manual
Ftk 1.80 manual
 
Rational Suite Tutorial
Rational Suite TutorialRational Suite Tutorial
Rational Suite Tutorial
 

Kürzlich hochgeladen

Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 

Kürzlich hochgeladen (20)

Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 

Informatica PowerCenter Transformation Guide

  • 2. Informatica PowerCenter Transformation Guide Version 8.1.1 April 2007 Copyright (c) 1998–2007 Informatica Corporation. All rights reserved. Printed in the USA. This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing restrictions on use and disclosure and are 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 and 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, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange, PowerMart, SuperGlue, Metadata Manager, Informatica Data Quality and Informatica Data Explorer 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. Portions of this software and/or documentation are subject to copyright held by third parties, including without limitation: Copyright DataDirect Technologies, 1999-2002. All rights reserved. Copyright © Sun Microsystems. All Rights Reserved. Copyright © RSA Security Inc. All Rights Reserved. Copyright © Ordinal Technology Corp. All Rights Reserved. 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-2005 The Apache Software Foundation. All rights reserved. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit and redistribution of this software is subject to terms available at http://www.openssl.org. Copyright 1998-2003 The OpenSSL Project. All Rights Reserved. The zlib library included with this software is Copyright (c) 1995-2003 Jean-loup Gailly and Mark Adler. The Curl license provided with this Software is Copyright 1996-2004, Daniel Stenberg, <Daniel@haxx.se>. All Rights Reserved. The PCRE library included with this software is Copyright (c) 1997-2001 University of Cambridge Regular expression support is provided by the PCRE library package, which is open source software, written by Philip Hazel. The source for this library may be found at ftp://ftp.csx.cam.ac.uk/pub/software/programming/ pcre. InstallAnywhere is Copyright 2005 Zero G Software, Inc. All Rights Reserved. Portions of the Software are Copyright (c) 1998-2005 The OpenLDAP Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted only as authorized by the OpenLDAP Public License, available at http://www.openldap.org/software/release/license.html. This Software is protected by U.S. Patent Numbers 6,208,990; 6,044,374; 6,014,670; 6,032,158; 5,794,246; 6,339,775 and other U.S. Patents Pending. 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.
  • 3. Table of Contents List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx Other Informatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Visiting Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Visiting the Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Visiting the Informatica Knowledge Base . . . . . . . . . . . . . . . . . . . . . . xxxi Obtaining Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Chapter 1: Working with Transformations . . . . . . . . . . . . . . . . . . . . . . 1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Creating a Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Configuring Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Working with Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Creating Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Configuring Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Linking Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Multi-Group Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Working with Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Using the Expression Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Using Local Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Temporarily Store Data and Simplify Complex Expressions . . . . . . . . . . 14 Store Values Across Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Capture Values from Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . 15 Guidelines for Configuring Variable Ports . . . . . . . . . . . . . . . . . . . . . . 16 Using Default Values for Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Entering User-Defined Default Values . . . . . . . . . . . . . . . . . . . . . . . . . 20 Entering User-Defined Default Input Values . . . . . . . . . . . . . . . . . . . . . 22 Entering User-Defined Default Output Values . . . . . . . . . . . . . . . . . . . 25 General Rules for Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 iii
  • 4. Entering and Validating Default Values . . . . . . . . . . . . . . . . . . . . . . . . . 28 Configuring Tracing Level in Transformations . . . . . . . . . . . . . . . . . . . . . . . 30 Reusable Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Instances and Inherited Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Mapping Variables in Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Creating Reusable Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Promoting Non-Reusable Transformations . . . . . . . . . . . . . . . . . . . . . . 32 Creating Non-Reusable Instances of Reusable Transformations . . . . . . . . 33 Adding Reusable Transformations to Mappings . . . . . . . . . . . . . . . . . . . 33 Modifying a Reusable Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Chapter 2: Aggregator Transformation . . . . . . . . . . . . . . . . . . . . . . . 37 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Ports in the Aggregator Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 38 Components of the Aggregator Transformation . . . . . . . . . . . . . . . . . . . 38 Aggregate Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Aggregate Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Nested Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Conditional Clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Non-Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Null Values in Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Group By Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Non-Aggregate Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Using Sorted Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Sorted Input Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Pre-Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Creating an Aggregator Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Chapter 3: Custom Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Working with Transformations Built On the Custom Transformation . . . 54 Code Page Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Distributing Custom Transformation Procedures . . . . . . . . . . . . . . . . . . 56 iv Table of Contents
  • 5. Creating Custom Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Custom Transformation Components . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Working with Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Creating Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Editing Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Defining Port Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Working with Port Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Custom Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Setting the Update Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Working with Thread-Specific Procedure Code . . . . . . . . . . . . . . . . . . . 66 Working with Transaction Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Transformation Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Generate Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Working with Transaction Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . 69 Blocking Input Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Writing the Procedure Code to Block Data . . . . . . . . . . . . . . . . . . . . . . 70 Configuring Custom Transformations as Blocking Transformations . . . . 70 Validating Mappings with Custom Transformations . . . . . . . . . . . . . . . 71 Working with Procedure Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Creating Custom Transformation Procedures . . . . . . . . . . . . . . . . . . . . . . . 73 Step 1. Create the Custom Transformation . . . . . . . . . . . . . . . . . . . . . . 73 Step 2. Generate the C Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Step 3. Fill Out the Code with the Transformation Logic . . . . . . . . . . . 76 Step 4. Build the Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Step 5. Create a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Step 6. Run the Session in a Workflow . . . . . . . . . . . . . . . . . . . . . . . . . 87 Chapter 4: Custom Transformation Functions . . . . . . . . . . . . . . . . . 89 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Working with Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Function Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Working with Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Generated Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Initialization Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Notification Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Table of Contents v
  • 6. Deinitialization Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Set Data Access Mode Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Navigation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Property Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Rebind Datatype Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Data Handling Functions (Row-Based Mode) . . . . . . . . . . . . . . . . . . . 117 Set Pass-Through Port Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Output Notification Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Data Boundary Output Notification Function . . . . . . . . . . . . . . . . . . . 121 Error Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Session Log Message Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Increment Error Count Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Is Terminated Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Blocking Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Pointer Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Change String Mode Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Set Data Code Page Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Row Strategy Functions (Row-Based Mode) . . . . . . . . . . . . . . . . . . . . 128 Change Default Row Strategy Function . . . . . . . . . . . . . . . . . . . . . . . 129 Array-Based API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Maximum Number of Rows Functions . . . . . . . . . . . . . . . . . . . . . . . . 130 Number of Rows Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Is Row Valid Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Data Handling Functions (Array-Based Mode) . . . . . . . . . . . . . . . . . . 132 Row Strategy Functions (Array-Based Mode) . . . . . . . . . . . . . . . . . . . . 135 Set Input Error Row Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Java API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 C++ API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Chapter 5: Expression Transformation . . . . . . . . . . . . . . . . . . . . . . 141 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Calculating Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Adding Multiple Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Creating an Expression Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 vi Table of Contents
  • 7. Chapter 6: External Procedure Transformation . . . . . . . . . . . . . . . . 145 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Code Page Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 External Procedures and External Procedure Transformations . . . . . . . . 147 External Procedure Transformation Properties . . . . . . . . . . . . . . . . . . . 147 Pipeline Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 COM Versus Informatica External Procedures . . . . . . . . . . . . . . . . . . . 148 The BankSoft Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Developing COM Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Steps for Creating a COM Procedure . . . . . . . . . . . . . . . . . . . . . . . . . 149 COM External Procedure Server Type . . . . . . . . . . . . . . . . . . . . . . . . 149 Using Visual C++ to Develop COM Procedures . . . . . . . . . . . . . . . . . 149 Developing COM Procedures with Visual Basic . . . . . . . . . . . . . . . . . 156 Developing Informatica External Procedures . . . . . . . . . . . . . . . . . . . . . . . 159 Step 1. Create the External Procedure Transformation . . . . . . . . . . . . . 159 Step 2. Generate the C++ Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Step 3. Fill Out the Method Stub with Implementation . . . . . . . . . . . . 164 Step 4. Building the Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Step 5. Create a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Step 6. Run the Session in a Workflow . . . . . . . . . . . . . . . . . . . . . . . . 167 Distributing External Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Distributing COM Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Distributing Informatica Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Development Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 COM Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Row-Level Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Return Values from Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Exceptions in Procedure Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Memory Management for Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 173 Wrapper Classes for Pre-Existing C/C++ Libraries or VB Functions . . . 173 Generating Error and Tracing Messages . . . . . . . . . . . . . . . . . . . . . . . 173 Unconnected External Procedure Transformations . . . . . . . . . . . . . . . . 175 Initializing COM and Informatica Modules . . . . . . . . . . . . . . . . . . . . 175 Other Files Distributed and Used in TX . . . . . . . . . . . . . . . . . . . . . . . 179 Service Process Variables in Initialization Properties . . . . . . . . . . . . . . . . . 180 External Procedure Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Dispatch Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Table of Contents vii
  • 8. External Procedure Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Property Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Parameter Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Code Page Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Transformation Name Access Functions . . . . . . . . . . . . . . . . . . . . . . . 185 Procedure Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Partition Related Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Tracing Level Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Chapter 7: Filter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Filter Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Creating a Filter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Chapter 8: HTTP Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Connecting to the HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Creating an HTTP Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Configuring the Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Configuring the HTTP Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Selecting a Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Configuring Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Configuring a URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 GET Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 SIMPLE POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Chapter 9: Java Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Steps to Define a Java Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 214 Active and Passive Java Transformations . . . . . . . . . . . . . . . . . . . . . . . 215 Datatype Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Using the Java Code Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 viii Table of Contents
  • 9. Configuring Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Creating Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Setting Default Port Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Configuring Java Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . 221 Working with Transaction Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Setting the Update Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Developing Java Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Creating Java Code Snippets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Importing Java Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Defining Helper Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 On Input Row Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 On End of Data Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 On Receiving Transaction Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Configuring Java Transformation Settings . . . . . . . . . . . . . . . . . . . . . . . . . 229 Configuring the Classpath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Enabling High Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Compiling a Java Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Fixing Compilation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Locating the Source of Compilation Errors . . . . . . . . . . . . . . . . . . . . . 232 Identifying Compilation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Chapter 10: Java Transformation API Reference . . . . . . . . . . . . . . . 237 Java Transformation API Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 failSession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 generateRow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 getInRowType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 incrementErrorCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Table of Contents ix
  • 10. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 isNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 logInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 logError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 rollBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 setNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 setOutRowType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Chapter 11: Java Transformation Example . . . . . . . . . . . . . . . . . . . 251 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Step 1. Import the Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Step 2. Create Transformation and Configure Ports . . . . . . . . . . . . . . . . . . 254 Step 3. Enter Java Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Import Packages Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Helper Code Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 On Input Row Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Step 4. Compile the Java Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Step 5. Create a Session and Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Sample Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Chapter 12: Java Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Expression Function Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Using the Define Expression Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Step 1. Configure the Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 x Table of Contents
  • 11. Step 2. Create and Validate the Expression . . . . . . . . . . . . . . . . . . . . . 267 Step 3. Generate Java Code for the Expression . . . . . . . . . . . . . . . . . . 267 Steps to Create an Expression and Generate Java Code . . . . . . . . . . . . 268 Java Expression Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Working with the Simple Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 invokeJExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Simple Interface Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Working with the Advanced Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Steps to Invoke an Expression with the Advanced Interface . . . . . . . . . 273 Rules and Guidelines for Working with the Advanced Interface . . . . . . 273 EDataType Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 JExprParamMetadata Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 defineJExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 JExpression Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Advanced Interface Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 JExpression API Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 invoke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 getResultDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 getResultMetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 isResultNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 getInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 getDouble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 getLong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 getStringBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 getBytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Chapter 13: Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 283 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Working with the Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . 284 Joiner Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Defining a Join Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Defining the Join Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Normal Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Master Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Detail Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Full Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Using Sorted Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Table of Contents xi
  • 12. Configuring the Sort Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Adding Transformations to the Mapping . . . . . . . . . . . . . . . . . . . . . . . 293 Configuring the Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . 293 Defining the Join Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Joining Data from a Single Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Joining Two Branches of the Same Pipeline . . . . . . . . . . . . . . . . . . . . . 296 Joining Two Instances of the Same Source . . . . . . . . . . . . . . . . . . . . . . 297 Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Blocking the Source Pipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Unsorted Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Sorted Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Working with Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Preserving Transaction Boundaries for a Single Pipeline . . . . . . . . . . . . 301 Preserving Transaction Boundaries in the Detail Pipeline . . . . . . . . . . . 301 Dropping Transaction Boundaries for Two Pipelines . . . . . . . . . . . . . . 302 Creating a Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Chapter 14: Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . 307 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Connected and Unconnected Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Connected Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Unconnected Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 310 Relational and Flat File Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Relational Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Flat File Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Lookup Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Lookup Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Lookup Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Lookup Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Lookup Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Lookup Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Configuring Lookup Properties in a Session . . . . . . . . . . . . . . . . . . . . 320 Lookup Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Default Lookup Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Overriding the Lookup Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 xii Table of Contents
  • 13. Lookup Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Uncached or Static Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Dynamic Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Handling Multiple Matches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Lookup Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Configuring Unconnected Lookup Transformations . . . . . . . . . . . . . . . . . 331 Step 1. Add Input Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Step 2. Add the Lookup Condition . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Step 3. Designate a Return Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Step 4. Call the Lookup Through an Expression . . . . . . . . . . . . . . . . . 333 Creating a Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Chapter 15: Lookup Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Cache Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Building Connected Lookup Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Sequential Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Concurrent Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Using a Persistent Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Using a Non-Persistent Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Using a Persistent Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Rebuilding the Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Working with an Uncached Lookup or Static Cache . . . . . . . . . . . . . . . . . 344 Working with a Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . 345 Using the NewLookupRow Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Using the Associated Input Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Working with Lookup Transformation Values . . . . . . . . . . . . . . . . . . . 349 Using the Ignore Null Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Using the Ignore in Comparison Property . . . . . . . . . . . . . . . . . . . . . . 354 Using Update Strategy Transformations with a Dynamic Cache . . . . . . 354 Updating the Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . 356 Using the WHERE Clause with a Dynamic Cache . . . . . . . . . . . . . . . 358 Synchronizing the Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . 359 Example Using a Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . 360 Rules and Guidelines for Dynamic Caches . . . . . . . . . . . . . . . . . . . . . 361 Sharing the Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Table of Contents xiii
  • 14. Sharing an Unnamed Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Sharing a Named Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Lookup Cache Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Chapter 16: Normalizer Transformation . . . . . . . . . . . . . . . . . . . . . . 371 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Normalizer Transformation Components . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Normalizer Transformation Generated Keys . . . . . . . . . . . . . . . . . . . . . . . 379 Storing Generated Key Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Changing the Generated Key Values . . . . . . . . . . . . . . . . . . . . . . . . . . 379 VSAM Normalizer Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 VSAM Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 VSAM Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Steps to Create a VSAM Normalizer Transformation . . . . . . . . . . . . . . 385 Pipeline Normalizer Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Pipeline Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Pipeline Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Steps to Create a Pipeline Normalizer Transformation . . . . . . . . . . . . . 391 Using a Normalizer Transformation in a Mapping . . . . . . . . . . . . . . . . . . . 394 Generating Key Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 Chapter 17: Rank Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 Ranking String Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Rank Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Rank Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Ports in a Rank Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Rank Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Defining Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Creating a Rank Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 Chapter 18: Router Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 409 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 xiv Table of Contents
  • 15. Working with Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Input Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Output Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Using Group Filter Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Adding Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 Working with Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 Connecting Router Transformations in a Mapping . . . . . . . . . . . . . . . . . . 418 Creating a Router Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 Chapter 19: Sequence Generator Transformation . . . . . . . . . . . . . . 421 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Common Uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Creating Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Replacing Missing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Sequence Generator Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 NEXTVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 CURRVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Start Value and Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 Increment By . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 End Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Current Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Number of Cached Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 Creating a Sequence Generator Transformation . . . . . . . . . . . . . . . . . . . . . 432 Chapter 20: Sorter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Sorter Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Sorter Cache Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Case Sensitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Work Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Distinct Output Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Tracing Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Null Treated Low . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 Transformation Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 Table of Contents xv
  • 16. Creating a Sorter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 Chapter 21: Source Qualifier Transformation . . . . . . . . . . . . . . . . . 445 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Target Load Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Parameters and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 Source Qualifier Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . 449 Default Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 Viewing the Default Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Overriding the Default Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Joining Source Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 Default Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 Custom Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 Heterogeneous Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 Creating Key Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 Adding an SQL Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 Entering a User-Defined Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 Outer Join Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 Informatica Join Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 Creating an Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 Common Database Syntax Restrictions . . . . . . . . . . . . . . . . . . . . . . . . 469 Entering a Source Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 Using Sorted Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 Select Distinct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 Overriding Select Distinct in the Session . . . . . . . . . . . . . . . . . . . . . . 474 Adding Pre- and Post-Session SQL Commands . . . . . . . . . . . . . . . . . . . . . 475 Creating a Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . . . . 476 Creating a Source Qualifier Transformation By Default . . . . . . . . . . . . 476 Creating a Source Qualifier Transformation Manually . . . . . . . . . . . . . 476 Configuring Source Qualifier Transformation Options . . . . . . . . . . . . . 476 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 Chapter 22: SQL Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Script Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 xvi Table of Contents
  • 17. Script Mode Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Query Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 Using Static SQL Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 Using Dynamic SQL Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 Query Mode Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 Connecting to Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Using a Static Database Connection . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Passing a Logical Database Connection . . . . . . . . . . . . . . . . . . . . . . . . 490 Passing Full Connection Information . . . . . . . . . . . . . . . . . . . . . . . . . 490 Database Connections Rules and Guidelines . . . . . . . . . . . . . . . . . . . . 493 Session Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 Input Row to Output Row Cardinality . . . . . . . . . . . . . . . . . . . . . . . . 494 Transaction Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 Creating an SQL Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 SQL Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 SQL Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 SQL Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 SQL Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 Chapter 23: Using the SQL Transformation in a Mapping . . . . . . . . 511 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 Dynamic Update Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 Defining the Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 Creating a Target Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Creating the Database Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Configuring the Expression Transformation . . . . . . . . . . . . . . . . . . . . 516 Defining the SQL Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 Configuring Session Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 Target Data Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 Dynamic Connection Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Defining the Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Creating a Target Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Creating the Database Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Creating the Database Connections . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Configuring the Expression Transformation . . . . . . . . . . . . . . . . . . . . 521 Table of Contents xvii
  • 18. Defining the SQL Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 Configuring Session Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Target Data Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Chapter 24: Stored Procedure Transformation . . . . . . . . . . . . . . . . 525 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 Connected and Unconnected Transformations . . . . . . . . . . . . . . . . . . . . . . 527 Input and Output Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Input/Output Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Return Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Running a Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 Stored Procedure Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 Executing Stored Procedures with a Database Connection . . . . . . . . . . 529 Using a Stored Procedure in a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 Writing a Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Sample Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Creating a Stored Procedure Transformation . . . . . . . . . . . . . . . . . . . . . . . 535 Importing Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 Manually Creating Stored Procedure Transformations . . . . . . . . . . . . . 537 Setting Options for the Stored Procedure . . . . . . . . . . . . . . . . . . . . . . 538 Using $Source and $Target Variables . . . . . . . . . . . . . . . . . . . . . . . . . 539 Changing the Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 Configuring a Connected Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 541 Configuring an Unconnected Transformation . . . . . . . . . . . . . . . . . . . . . . 542 Calling a Stored Procedure From an Expression . . . . . . . . . . . . . . . . . . 542 Calling a Pre- or Post-Session Stored Procedure . . . . . . . . . . . . . . . . . . 545 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 Pre-Session Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 Post-Session Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 Session Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 Supported Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 SQL Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 Parameter Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 Input/Output Port in Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 Type of Return Value Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 Expression Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 xviii Table of Contents
  • 19. Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 Chapter 25: Transaction Control Transformation . . . . . . . . . . . . . . 555 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 Transaction Control Transformation Properties . . . . . . . . . . . . . . . . . . . . . 557 Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 Using Transaction Control Transformations in Mappings . . . . . . . . . . . . . . 560 Sample Transaction Control Mappings with Multiple Targets . . . . . . . 561 Mapping Guidelines and Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 Creating a Transaction Control Transformation . . . . . . . . . . . . . . . . . . . . . 565 Chapter 26: Union Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 567 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Union Transformation Rules and Guidelines . . . . . . . . . . . . . . . . . . . . 568 Union Transformation Components . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Working with Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570 Creating a Union Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572 Using a Union Transformation in Mappings . . . . . . . . . . . . . . . . . . . . . . . 574 Chapter 27: Update Strategy Transformation . . . . . . . . . . . . . . . . . 575 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 Setting the Update Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 Flagging Rows Within a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Forwarding Rejected Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Update Strategy Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Aggregator and Update Strategy Transformations . . . . . . . . . . . . . . . . 578 Lookup and Update Strategy Transformations . . . . . . . . . . . . . . . . . . . 579 Setting the Update Strategy for a Session . . . . . . . . . . . . . . . . . . . . . . . . . 580 Specifying an Operation for All Rows . . . . . . . . . . . . . . . . . . . . . . . . . 580 Specifying Operations for Individual Target Tables . . . . . . . . . . . . . . . 581 Update Strategy Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583 Chapter 28: XML Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . 585 XML Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 XML Parser Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587 Table of Contents xix
  • 20. XML Generator Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589 xx Table of Contents
  • 21. List of Figures Figure 1-1. Sample Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Figure 1-2. Example of Input, Output, and Input/Output Ports . . . . . . . . . . . . . . . . . . . . . . . 8 Figure 1-3. Sample Input and Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Figure 1-4. Expression Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Figure 1-5. Variable Ports Store Values Across Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Figure 1-6. Default Value for Input and Input/Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . 19 Figure 1-7. Default Value for Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Figure 1-8. Using a Constant as a Default Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Figure 1-9. Using the ERROR Function to Skip Null Input Values . . . . . . . . . . . . . . . . . . . . 24 Figure 1-10. Entering and Validating Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Figure 1-11. Reverting to Original Reusable Transformation Properties . . . . . . . . . . . . . . . . . 35 Figure 2-1. Sample Mapping with Aggregator and Sorter Transformations . . . . . . . . . . . . . . . 46 Figure 3-1. Custom Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Figure 3-2. Editing Port Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Figure 3-3. Port Attribute Definitions Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Figure 3-4. Edit Port Attribute Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Figure 3-5. Custom Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Figure 3-6. Custom Transformation Ports Tab - Union Example . . . . . . . . . . . . . . . . . . . . . . 74 Figure 3-7. Custom Transformation Properties Tab - Union Example . . . . . . . . . . . . . . . . . . 75 Figure 3-8. Mapping with a Custom Transformation - Union Example . . . . . . . . . . . . . . . . . 87 Figure 4-1. Custom Transformation Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Figure 6-1. Process for Distributing External Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Figure 6-2. External Procedure Transformation Initialization Properties . . . . . . . . . . . . . . . . 178 Figure 6-3. External Procedure Transformation Initialization Properties Tab . . . . . . . . . . . . 180 Figure 7-1. Sample Mapping with a Filter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Figure 7-2. Specifying a Filter Condition in a Filter Transformation . . . . . . . . . . . . . . . . . . 191 Figure 8-1. HTTP Transformation Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Figure 8-2. HTTP Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Figure 8-3. HTTP Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Figure 8-4. HTTP Transformation HTTP Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Figure 8-5. HTTP Tab for a GET Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Figure 8-6. HTTP Tab for a POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Figure 8-7. HTTP Tab for a SIMPLE POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Figure 9-1. Java Code Tab Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Figure 9-2. Java Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Figure 9-3. Java Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Figure 9-4. Java Transformation Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Figure 9-5. Highlighted Error in Code Entry Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Figure 9-6. Highlighted Error in Full Code Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Figure 11-1. Java Transformation Example - Sample Mapping . . . . . . . . . . . . . . . . . . . . . . . 253 List of Figures xxi
  • 22. Figure 11-2. Java Transformation Example - Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . .. . .255 Figure 11-3. Java Transformation Example - Import Packages Tab . . . . . . . . . . . . . . . . . .. . .257 Figure 11-4. Java Transformation Example - Helper Code Tab . . . . . . . . . . . . . . . . . . . .. . .258 Figure 11-5. Java Transformation Example - On Input Row Tab . . . . . . . . . . . . . . . . . . .. . .260 Figure 11-6. Java Transformation Example - Successful Compilation . . . . . . . . . . . . . . . .. . .261 Figure 12-1. Define Expression Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .267 Figure 12-2. Java Expressions Code Entry Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .268 Figure 13-1. Mapping with Master and Detail Pipelines . . . . . . . . . . . . . . . . . . . . . . . . .. . .284 Figure 13-2. Joiner Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .286 Figure 13-3. Mapping Configured to Join Data from Two Pipelines . . . . . . . . . . . . . . . .. . .295 Figure 13-4. Mapping that Joins Two Branches of a Pipeline . . . . . . . . . . . . . . . . . . . . . .. . .297 Figure 13-5. Mapping that Joins Two Instances of the Same Source . . . . . . . . . . . . . . . . .. . .297 Figure 13-6. Preserving Transaction Boundaries when You Join Two Pipeline Branches . .. . .301 Figure 14-1. Session Properties for Flat File Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .321 Figure 14-2. Return Port in a Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . . .. . .333 Figure 15-1. Building Lookup Caches Sequentially . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .340 Figure 15-2. Building Lookup Caches Concurrently . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .341 Figure 15-3. Mapping with a Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .346 Figure 15-4. Dynamic Lookup Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . .. . .347 Figure 15-5. Using Update Strategy Transformations with a Lookup Transformation . . . .. . .355 Figure 15-6. Slowly Changing Dimension Mapping with Dynamic Lookup Cache . . . . . .. . .360 Figure 16-1. Normalizer Transformation Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .374 Figure 16-2. Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .375 Figure 16-3. Normalizer Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . .. . .376 Figure 16-4. Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .377 Figure 16-5. COBOL Source Definition Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .381 Figure 16-6. Sales File VSAM Normalizer Transformation . . . . . . . . . . . . . . . . . . . . . . .. . .381 Figure 16-7. VSAM Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .383 Figure 16-8. Normalizer Tab for a VSAM Normalizer Transformation . . . . . . . . . . . . . . .. . .384 Figure 16-9. Pipeline Normalizer Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .387 Figure 16-10. Pipeline Normalizer Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .387 Figure 16-11. Pipeline Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .389 Figure 16-12. Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .390 Figure 16-13. Grouping Repeated Columns on the Normalizer Tab . . . . . . . . . . . . . . . . .. . .391 Figure 16-14. Group-Level Column on the Normalizer Tab . . . . . . . . . . . . . . . . . . . . . .. . .393 Figure 16-15. Sales File COBOL Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .394 Figure 16-16. Multiple Record Types Routed to Different Targets . . . . . . . . . . . . . . . . . .. . .395 Figure 16-17. Router Transformation User-Defined Groups . . . . . . . . . . . . . . . . . . . . . .. . .396 Figure 16-18. COBOL Source with A Multiple-Occurring Group of Columns . . . . . . . . .. . .397 Figure 16-19. Generated Keys in Target Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .397 Figure 16-20. Generated Keys Mapped to Target Keys . . . . . . . . . . . . . . . . . . . . . . . . . .. . .398 Figure 17-1. Sample Mapping with a Rank Transformation . . . . . . . . . . . . . . . . . . . . . . .. . .402 Figure 18-1. Comparing Router and Filter Transformations . . . . . . . . . . . . . . . . . . . . . .. . .410 xxii List of Figures
  • 23. Figure 18-2. Sample Router Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 411 Figure 18-3. Using a Router Transformation in a Mapping . . . . . . . . . . . . . . . . . . . . . . .. . 413 Figure 18-4. Specifying Group Filter Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 414 Figure 18-5. Router Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 416 Figure 18-6. Input Port Name and Corresponding Output Port Names . . . . . . . . . . . . . .. . 417 Figure 19-1. Connecting NEXTVAL to Two Target Tables in a Mapping . . . . . . . . . . . . .. . 424 Figure 19-2. Mapping with a Sequence Generator and an Expression Transformation . . . .. . 425 Figure 19-3. Connecting CURRVAL and NEXTVAL Ports to a Target . . . . . . . . . . . . . .. . 426 Figure 20-1. Sample Mapping with a Sorter Transformation . . . . . . . . . . . . . . . . . . . . . .. . 436 Figure 20-2. Sample Sorter Transformation Ports Configuration . . . . . . . . . . . . . . . . . . .. . 437 Figure 20-3. Sorter Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 439 Figure 21-1. Source Definition Connected to a Source Qualifier Transformation . . . . . . .. . 451 Figure 21-2. Joining Two Tables with One Source Qualifier Transformation . . . . . . . . . .. . 455 Figure 21-3. Creating a Relationship Between Two Tables . . . . . . . . . . . . . . . . . . . . . . . .. . 457 Figure 22-1. SQL Transformation Script Mode Ports . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 481 Figure 22-2. SQL Editor for an SQL Transformation Query . . . . . . . . . . . . . . . . . . . . . .. . 484 Figure 22-3. SQL Transformation Static Query Mode Ports . . . . . . . . . . . . . . . . . . . . . .. . 486 Figure 22-4. SQL Transformation Ports to Pass a Full Dynamic Query . . . . . . . . . . . . . .. . 487 Figure 22-5. SQL Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 503 Figure 22-6. SQL Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 505 Figure 22-7. SQL Transformation SQL Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 507 Figure 23-1. Dynamic Query Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 513 Figure 23-2. Dynamic Query Expression Transformation Ports . . . . . . . . . . . . . . . . . . . .. . 516 Figure 23-3. Dynamic Query SQL Transformation Ports tab: . . . . . . . . . . . . . . . . . . . . .. . 517 Figure 23-4. Dynamic Connection Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 519 Figure 23-5. Dynamic Query Example Expression Transformation Ports . . . . . . . . . . . . .. . 521 Figure 23-6. Dynamic Connection Example SQL Transformation Ports . . . . . . . . . . . . . .. . 523 Figure 24-1. Sample Mapping with a Stored Procedure Transformation . . . . . . . . . . . . . .. . 541 Figure 24-2. Expression Transformation Referencing a Stored Procedure Transformation .. . 542 Figure 24-3. Stored Procedure Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 548 Figure 25-1. Transaction Control Transformation Properties . . . . . . . . . . . . . . . . . . . . . .. . 557 Figure 25-2. Sample Transaction Control Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 559 Figure 25-3. Effective and Ineffective Transaction Control Transformations . . . . . . . . . . .. . 561 Figure 25-4. Transaction Control Transformation Effective for a Transformation . . . . . . .. . 561 Figure 25-5. Valid Mapping with Transaction Control Transformations . . . . . . . . . . . . . .. . 562 Figure 25-6. Invalid Mapping with Transaction Control Transformations . . . . . . . . . . . .. . 563 Figure 26-1. Union Transformation Groups Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 570 Figure 26-2. Union Transformation Group Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 571 Figure 26-3. Union Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 571 Figure 26-4. Mapping with a Union Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 574 Figure 27-1. Specifying Operations for Individual Target Tables . . . . . . . . . . . . . . . . . . .. . 582 List of Figures xxiii
  • 24. xxiv List of Figures
  • 25. List of Tables Table 1-1. Transformation Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . .. 2 Table 1-2. Multi-Group Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . .. 9 Table 1-3. Transformations Containing Expressions . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 11 Table 1-4. Variable Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 14 Table 1-5. System Default Values and Integration Service Behavior . . . . . . . . . . . . . . .. . .. . . 18 Table 1-6. Transformations Supporting User-Defined Default Values . . . . . . . . . . . . .. . .. . . 20 Table 1-7. Default Values for Input and Input/Output Ports . . . . . . . . . . . . . . . . . . .. . .. . . 22 Table 1-8. Supported Default Values for Output Ports . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 26 Table 1-9. Session Log Tracing Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 30 Table 3-1. Custom Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 64 Table 3-2. Transaction Boundary Handling with Custom Transformations . . . . . . . . .. . .. . . 69 Table 3-3. Module File Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 85 Table 3-4. UNIX Commands to Build the Shared Library. . . . . . . . . . . . . . . . . . . . . .. . .. . . 86 Table 4-1. Custom Transformation Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 91 Table 4-2. Custom Transformation Generated Functions . . . . . . . . . . . . . . . . . . . . . .. . .. . . 92 Table 4-3. Custom Transformation API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 92 Table 4-4. Custom Transformation Array-Based API Functions . . . . . . . . . . . . . . . . .. . .. . . 94 Table 4-5. INFA_CT_MODULE Property IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 109 Table 4-6. INFA_CT_PROC_HANDLE Property IDs . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 110 Table 4-7. INFA_CT_TRANS_HANDLE Property IDs . . . . . . . . . . . . . . . . . . . . . . .. . .. . 111 Table 4-8. INFA_CT_INPUT_GROUP and INFA_CT_OUTPUT_GROUP Handle Property IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Table 4-9. INFA_CT_INPUTPORT and INFA_CT_OUTPUTPORT_HANDLE Handle Property IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 113 Table 4-10. Property Functions (MBCS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 115 Table 4-11. Property Functions (Unicode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 115 Table 4-12. Compatible Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 116 Table 4-13. Get Data Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 118 Table 4-14. Get Data Functions (Array-Based Mode) . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 133 Table 6-1. Differences Between COM and Informatica External Procedures . . . . . . . .. . .. . 148 Table 6-2. Visual C++ and Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 171 Table 6-3. Visual Basic and Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 171 Table 6-4. External Procedure Initialization Properties . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 180 Table 6-5. Descriptions of Parameter Access Functions. . . . . . . . . . . . . . . . . . . . . . . .. . .. . 183 Table 6-6. Member Variable of the External Procedure Base Class. . . . . . . . . . . . . . . .. . .. . 185 Table 8-1. HTTP Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 202 Table 8-2. HTTP Transformation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 205 Table 8-3. GET Method Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 206 Table 8-4. POST Method Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 206 Table 8-5. SIMPLE POST Method Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 207 Table 9-1. Mapping from PowerCenter Datatypes to Java Datatypes . . . . . . . . . . . . . .. . .. . 215 List of Tables xxv
  • 26. Table 9-2. Java Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .221 Table 11-1. Input and Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .254 Table 12-1. Enumerated Java Datatypes . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .274 Table 12-2. JExpression API Methods . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .276 Table 13-1. Joiner Transformation Properties . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .286 Table 13-2. Integration Service Behavior with Transformation Scopes for the Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .300 Table 14-1. Differences Between Connected and Unconnected Lookups . ... . . .. . . .. . .. . .309 Table 14-2. Lookup Transformation Port Types . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .314 Table 14-3. Lookup Transformation Properties . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .316 Table 14-4. Session Properties for Flat File Lookups . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .322 Table 15-1. Lookup Caching Comparison . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .339 Table 15-2. Integration Service Handling of Persistent Caches . . . . . . . . ... . . .. . . .. . .. . .343 Table 15-3. NewLookupRow Values . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .348 Table 15-4. Dynamic Lookup Cache Behavior for Insert Row Type . . . . ... . . .. . . .. . .. . .357 Table 15-5. Dynamic Lookup Cache Behavior for Update Row Type . . . ... . . .. . . .. . .. . .358 Table 15-6. Location for Sharing Unnamed Cache . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .364 Table 15-7. Properties for Sharing Unnamed Cache . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .364 Table 15-8. Location for Sharing Named Cache . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .367 Table 15-9. Properties for Sharing Named Cache . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .367 Table 16-1. Normalizer Transformation Properties . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .376 Table 16-2. Normalizer Tab Columns . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .378 Table 16-3. Normalizer Tab for a VSAM Normalizer Transformation . . . ... . . .. . . .. . .. . .384 Table 16-4. Pipeline Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .390 Table 17-1. Rank Transformation Ports . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .404 Table 17-2. Rank Transformation Properties . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .407 Table 19-1. Sequence Generator Transformation Properties . . . . . . . . . . ... . . .. . . .. . .. . .427 Table 20-1. Column Sizes for Sorter Data Calculations . . . . . . . . . . . . . ... . . .. . . .. . .. . .440 Table 21-1. Conversion for Datetime Mapping Parameters and Variables ... . . .. . . .. . .. . .447 Table 21-2. Source Qualifier Transformation Properties . . . . . . . . . . . . . ... . . .. . . .. . .. . .449 Table 21-3. Locations for Entering Outer Join Syntax . . . . . . . . . . . . . . ... . . .. . . .. . .. . .463 Table 21-4. Syntax for Normal Joins in a Join Override . . . . . . . . . . . . . ... . . .. . . .. . .. . .463 Table 21-5. Syntax for Left Outer Joins in a Join Override . . . . . . . . . . . ... . . .. . . .. . .. . .465 Table 21-6. Syntax for Right Outer Joins in a Join Override . . . . . . . . . ... . . .. . . .. . .. . .467 Table 22-1. Full Database Connection Ports . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .491 Table 22-2. Native Connect String Syntax . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .491 Table 22-3. Output Rows By Query Statement - Query Mode . . . . . . . . ... . . .. . . .. . .. . .495 Table 22-4. NumRowsAffected Rows by Query Statement - Query Mode ... . . .. . . .. . .. . .495 Table 22-5. Output Rows by Query Statement - Query Mode . . . . . . . . ... . . .. . . .. . .. . .497 Table 22-6. SQL Transformation Connection Options . . . . . . . . . . . . . . ... . . .. . . .. . .. . .501 Table 22-7. SQL Transformation Properties . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .503 Table 22-8. SQL Settings Tab Attributes . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .505 Table 22-9. SQL Transformation Ports . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .507 Table 22-10. Standard SQL Statements . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .509 xxvi List of Tables
  • 27. Table 24-1. Connected and Unconnected Stored Procedure Transformation Tasks . . . .. . .. . 527 Table 24-2. Setting Options for the Stored Procedure Transformation . . . . . . . . . . . .. . .. . 538 Table 27-1. Constants for Each Database Operation . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 577 Table 27-2. Specifying an Operation for All Rows . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 580 Table 27-3. Update Strategy Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 581 List of Tables xxvii
  • 28. xxviii List of Tables