Informatica Developer (Version 9.0.

1 HotFix 2)

User Guide

Informatica Developer User Guide Version 9.0.1 HotFix 2 November 2010 Copyright (c) 1998-2010 Informatica. All rights reserved. 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. This Software may be protected by U.S. and/or international Patents and other Patents Pending. 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©(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 product or documentation is subject to change without notice. If you find any problems in this product or documentation, please report them to us in writing. Informatica, Informatica Platform, Informatica Data Services, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange, PowerMart, Metadata Manager, Informatica Data Quality, Informatica Data Explorer, Informatica B2B Data Transformation, Informatica B2B Data Exchange and Informatica On Demand 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. All rights reserved. Copyright © Sun Microsystems. All rights reserved. Copyright © RSA Security Inc. All Rights Reserved. Copyright © Ordinal Technology Corp. All rights reserved.Copyright © Aandacht c.v. All rights reserved. Copyright Genivia, Inc. All rights reserved. Copyright 2007 Isomorphic Software. All rights reserved. Copyright © Meta Integration Technology, Inc. All rights reserved. Copyright © Oracle. All rights reserved. Copyright © Adobe Systems Incorporated. All rights reserved. Copyright © DataArt, Inc. All rights reserved. Copyright © ComponentSource. All rights reserved. Copyright © Microsoft Corporation. All rights reserved. Copyright © Rouge Wave Software, Inc. All rights reserved. Copyright © Teradata Corporation. All rights reserved. Copyright © Yahoo! Inc. All rights reserved. Copyright © Glyph & Cog, LLC. All rights reserved. This product includes software developed by the Apache Software Foundation (http://www.apache.org/), and other software which is licensed under the Apache License, Version 2.0 (the "License"). You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. This product includes software which was developed by Mozilla (http://www.mozilla.org/), software copyright The JBoss Group, LLC, all rights reserved; software copyright © 1999-2006 by Bruno Lowagie and Paulo Soares and other software which is licensed under the GNU Lesser General Public License Agreement, which may be found at http:// www.gnu.org/licenses/lgpl.html. The 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. The product includes ACE(TM) and TAO(TM) software copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright (©) 1993-2006, all rights reserved. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (copyright The OpenSSL Project. All Rights Reserved) and redistribution of this software is subject to terms available at http://www.openssl.org. This product includes Curl software which is Copyright 1996-2007, Daniel Stenberg, <daniel@haxx.se>. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http://curl.haxx.se/docs/copyright.html. Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. The product includes software copyright 2001-2005 (©) MetaStuff, Ltd. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http://www.dom4j.org/ license.html. The product includes software copyright © 2004-2007, The Dojo Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http:// svn.dojotoolkit.org/dojo/trunk/LICENSE. This product includes ICU software which is copyright International Business Machines Corporation and others. All rights reserved. Permissions and limitations regarding this software are subject to terms available at http://source.icu-project.org/repos/icu/icu/trunk/license.html. This product includes software copyright © 1996-2006 Per Bothner. All rights reserved. Your right to use such materials is set forth in the license which may be found at http:// www.gnu.org/software/ kawa/Software-License.html. This product includes OSSP UUID software which is Copyright © 2002 Ralf S. Engelschall, Copyright © 2002 The OSSP Project Copyright © 2002 Cable & Wireless Deutschland. Permissions and limitations regarding this software are subject to terms available at http://www.opensource.org/licenses/mit-license.php. This product includes software developed by Boost (http://www.boost.org/) or under the Boost software license. Permissions and limitations regarding this software are subject to terms available at http:/ /www.boost.org/LICENSE_1_0.txt. This product includes software copyright © 1997-2007 University of Cambridge. Permissions and limitations regarding this software are subject to terms available at http:// www.pcre.org/license.txt. This product includes software copyright © 2007 The Eclipse Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http:// www.eclipse.org/org/documents/epl-v10.php. This product includes software licensed under the terms at http://www.tcl.tk/software/tcltk/license.html, http://www.bosrup.com/web/overlib/?License, http://www.stlport.org/doc/ license.html, http://www.asm.ow2.org/license.html, http://www.cryptix.org/LICENSE.TXT, http://hsqldb.org/web/hsqlLicense.html, http://httpunit.sourceforge.net/doc/ license.html, http://jung.sourceforge.net/license.txt , http://www.gzip.org/zlib/zlib_license.html, http://www.openldap.org/software/release/license.html, http://www.libssh2.org, http://slf4j.org/license.html, http://www.sente.ch/software/OpenSourceLicense.html, and http://fusesource.com/downloads/license-agreements/fuse-message-broker-v-5-3license-agreement. This product includes software licensed under the Academic Free License (http://www.opensource.org/licenses/afl-3.0.php), the Common Development and Distribution License (http://www.opensource.org/licenses/cddl1.php) the Common Public License (http://www.opensource.org/licenses/cpl1.0.php) and the BSD License (http:// www.opensource.org/licenses/bsd-license.php). This product includes software copyright © 2003-2006 Joe WaInes, 2006-2007 XStream Committers. All rights reserved. Permissions and limitations regarding this software are subject to terms available at http://xstream.codehaus.org/license.html. This product includes software developed by the Indiana University Extreme! Lab. For further information please visit http://www.extreme.indiana.edu/. This Software is protected by U.S. Patent Numbers 5,794,246; 6,014,670; 6,016,501; 6,029,178; 6,032,158; 6,035,307; 6,044,374; 6,092,086; 6,208,990; 6,339,775; 6,640,226; 6,789,096; 6,820,077; 6,823,373; 6,850,947; 6,895,471; 7,117,215; 7,162,643; 7,254,590; 7,281,001; 7,421,458; and 7,584,422, international Patents and other 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. Informatica Corporation does not warrant that this software or documentation is error free. The information provided in this software or documentation may include technical inaccuracies or typographical errors. The information in this software and documentation is subject to change at any time without notice. NOTICES This Informatica product (the “Software”) includes certain drivers (the “DataDirect Drivers”) from DataDirect Technologies, an operating company of Progress Software Corporation (“DataDirect”) which are subject to the following terms and conditions: 1. THE DATADIRECT DRIVERS ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 2. IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS, WHETHER OR NOT INFORMED OF THE POSSIBILITIES OF DAMAGES IN ADVANCE. THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION, INCLUDING, WITHOUT LIMITATION, BREACH OF CONTRACT, BREACH OF WARRANTY, NEGLIGENCE, STRICT LIABILITY, MISREPRESENTATION AND OTHER TORTS. Part Number: IN-DUG-90100HF2-0001

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 The Model Repository. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Informatica Knowledge Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Informatica Developer Welcome Page. . . . . . . . . . . . . . . . . . . . . . . . . 5 Setting Up Informatica Developer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Informatica Web Site. . . . . . . . . . . . . . 3 Informatica Developer Interface. . . . . . . 7 Connecting to a Model Repository. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Working with Informatica Developer Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Search. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Informatica Global Customer Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Cheat Sheets. . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Copying an Object as a Link. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Domains. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Table of Contents i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Assigning Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Creating a Project. . . . . . . . . . . . . . . . . . . . ix Part I: Informatica Developer Concepts. . 2 Informatica Data Quality and Informatica Data Explorer AE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Creating a Folder. . . . . . . . . . . . . . . . . . . . . . . ix Informatica Multimedia Knowledge Base. . . . . . . . . . . . . . . . . . . . . . . . 6 Objects in Informatica Developer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Informatica Customer Portal. 1 Chapter 1: Working with Informatica Developer. . . . . . . . . . . . . . . . viii Informatica How-To Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Informatica Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Searching for Objects and Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Folders. . . . . . . . . . . . . . . 2 Informatica Data Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Table of Contents Preface . . . . . . 11 Copy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Adding a Domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .viii Informatica Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Configuring Validation Preferences. . . . . . . . . . . . . . . . . . . . . . . . . 6 Adding a Model Repository. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Copying an Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 SAP Connection Properties. . . 18 IMS Connection Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . 24 VSAM Connection Properties. 23 Sequential Connection Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Adding Relational Data Objects to a Customized Data Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Default Query. . . . . . . . . . . . 20 ODBC Connection Properties. . . . . . . . . . . . . . . . 38 Outer Join Support. . . 39 Pre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Flat File Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Creating a Read Transformation from Relational Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Microsoft SQL Server Connection Properties. . . . . 14 DB2 for z/OS Connection Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Importing a Nonrelational Data Object. . . . . . . . 27 Chapter 3: Physical Data Objects. . . . . . . . . . . . . . . . . . . . . . . . 33 Select Distinct. . . . . .and Post-Mapping SQL Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Flat File Data Object Read Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 ii Table of Contents . . . . . . . . . . . . . . . . . . . . . . 21 Oracle Connection Properties. . . . . . 42 Customized Data Objects Write Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 User-Defined Joins. . . . . . . . . . . . . . . 16 IBM DB2 Connection Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Creating a Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Custom Queries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Physical Data Objects Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Creating a Customized Data Object. . . 28 Relational Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . 32 Key Relationships. . . . . . . . . . . . . . 38 Informatica Join Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Flat File Data Object Overview Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Sorted Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Nonrelational Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Connections Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Chapter 2: Connections. . . . . . . . . . . . . . . . . . . . 30 Importing a Relational Data Object. . 25 Connection Explorer View. . . . . . . . . . . . . . . . . . . . . . . . . . 13 DB2 for i5/OS Connection Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Adding Relational Resources to a Customized Data Object. . . . . . . . . . . . . . . . . 29 Key Relationships. . 31 Customized Data Objects. 47 Flat File Data Object Write Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Linking Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 One to One Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Chapter 5: Performance Tuning. . . . . . .Flat File Data Object Advanced Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Early Selection Optimization Method. . . . . . . . . . . 63 Link Path Dependencies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Creating a Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Adding Objects to a Mapping. . 71 Semi-Join Optimization Method. . . . . . . . . . . 58 Object Dependency in a Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Validating a Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Creating an SAP Data Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Automatically Linking Ports. 67 Segments. . . . . . . . . . . 52 Creating a Flat File Data Object. . . . . . . 57 Chapter 4: Mappings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Running a Mapping. . . . . . . . . . . . . . . . . . . . . . 62 Propagating Port Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Synchronization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 One to Many Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Object Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Predicate Optimization Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Mapping Objects. . . . . . . . . . . . . . . . . . . 70 Early Projection Optimization Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Propagated Port Attributes by Transformation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Optimization Methods. . . . 69 Performance Tuning Overview. . . . . . . . . . . . . . . 66 Expression Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Mappings Overview. . . . . . . . 62 Rules and Guidelines for Linking Ports. . . . . . . . . . . . . . 56 Troubleshooting Physical Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 SAP Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Implicit Dependencies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Manually Linking Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Connection Validation. 67 Copying a Segment. . . . . . . . 58 Developing a Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Dependency Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Mapping Validation. . . . . . . . . . . . . . . . 72 Table of Contents iii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Importing a Delimited Flat File Data Object. . . . . . . . . . . . . . . . . . . . . 53 Importing a Fixed-Width Flat File Data Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . 85 Mapplet Input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Chapter 9: Export to PowerCenter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Export to PowerCenter Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Exporting Objects. . . . . . . . . . 90 Importing Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Pushdown Optimization to Native Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Filter Pushdown Optimization Overview. . 91 Importing Application Archives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Pushdown Optimization Process. . . . . . . . . 76 Pushdown Optimization Expressions. . . . . . 96 iv Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . 84 Mapplets and Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Exporting an Object to PowerCenter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Mapplet Input and Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Validating a Mapplet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Setting the Optimizer Level for a Developer Tool Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Mapplet Export. . . . . . . . . . . . . 95 Export Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Chapter 7: Mapplets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Object Import and Export Overview. . . . . . . . . . . 73 Setting the Optimizer Level for a Deployed Mapping. . . . . . . . . . . . 84 Mapplets Overview. . . . . . . . . . . . . . . . . . . . . . 77 Operators. . . . 92 Export to PowerCenter Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Pushdown Optimization to ODBC Sources. . . . . . 88 The Import/Export XML File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Setting the Compatibility Level. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Pushdown Optimization to SAP Sources. . . . . . . . . 92 PowerCenter Release Compatibility. . . . . . . . 84 Mapplet Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Comparing the Output of the Data Integration Service and Sources. . . . . 76 Pushdown Optimization to PowerExchange Nonrelational Sources. . . . . . . . . . . . . . . . 74 Chapter 6: Filter Pushdown Optimization. . . . . . . . . . . 86 Creating a Mapplet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Chapter 8: Object Import and Export. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Dependent Objects. . . . . 86 Segments. . . . . . . . 86 Copying a Segment. . . . . . . . . . . . . . . 85 Mapplet Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Functions. . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117 Logs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104 Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Chapter 13: Logical View of Data. . . . . . . . . . . . . . . 103 Chapter 11: Parameters and Parameter Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Part II: Informatica Data Services. . . . . . . . . . . . . . . . . . . . . . . . . .111 Chapter 12: Viewing Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Chapter 10: Deployment. . . . . . . . . . . . . . . . . . . . . . . .114 Configuration Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Deploying an Object to a Data Integration Service. . . . . . . . . 102 Application Changes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113 Mapping Configurations. . . . . . . . . . . . . . . . 107 Parameter File Structure. . 120 Logical View of Data Overview. . . . . . . . 99 Creating an Application. . . . . . . . . . . . . . . . . . . . . 121 Creating a Logical Data Object Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 Configurations. . . . . . . . . . . . . . . .106 Creating a Parameter. . . . . . . . . . . . . . . . .105 Where to Assign Parameters. . . . . . . 117 Exporting Data. . . . . . . . . . . . . . . . . . . . . . . . .104 Where to Create Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Logical Data Object Models. . . . 112 Viewing Data Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 Updating an Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Parameter File Schema Definition. .101 Mapping Deployment Properties. . . . . . . . . . . . . . . . . . . . . . . . . .115 Troubleshooting Configurations. . . . . . . 104 Parameters and Parameter Files Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Deploying an Object to a File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Assigning a Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Selecting a Default Data Integration Service. . . . . . . . . . 97 Troubleshooting Exporting to PowerCenter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Data Viewer Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 Table of Contents v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 Updating the Default Configuration Properties. . . . . . . . . . . . . . .Rules and Guidelines for Exporting to PowerCenter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 Parameter Files. . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Creating a Parameter File. . . . . . . . . . . .120 Developing a Logical View of Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Deployment Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . 123 Logical Data Object Mappings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Previewing Virtual Table Mapping Output. . . . . . . . . . . . . . . . . . . 138 Profile Features. . . . . . . . . . . . . . . 139 Creating a Column Profile for a Data Object. . . 123 Attribute Relationships. . . . . . . . . . . . . . . . . . . 124 Logical Data Object Write Mappings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 SQL Data Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Logical Data Objects. . . . . . . . . . . . . . . . 127 Creating an SQL Data Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Running an SQL Query to Preview Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Adding a Rule to Profile. . . . . . . . . . . 139 Creating a Profile for Join Analysis. . . . . . . . . . . . 125 Chapter 14: Virtual Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Profiles Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Creating a Virtual Table Mapping. . . . . . . . . . . . . . . . . . . 129 Creating a Virtual Table Manually. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Part III: Informatica Data Quality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Validating a Virtual Table Mapping. . . . . . . . . 127 Defining an SQL Data Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Virtual Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Data Access Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 SQL Query Plan Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Creating a Logical Data Object Mapping. . . . . . . . . . . . . . . . . . . . 123 Creating a Logical Data Object. . . . . . . . . . . 134 Previewing Virtual Stored Procedure Output. . . . . . . . . . . . . . 124 Logical Data Object Read Mappings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Viewing an SQL Query Plan. . . . . . . . 130 Defining a Virtual Table Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 vi Table of Contents . . . 122 Logical Data Object Properties. 132 Defining a Virtual Stored Procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Validating a Virtual Stored Procedure. . . 132 Virtual Stored Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Creating a Virtual Table from a Data Object. . . . . . . . . . . . . . . . 137 Chapter 15: Profiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Defining Relationships between Virtual Tables. . . . . . . . . . . 134 SQL Query Plans. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Creating a Virtual Stored Procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Virtual Data Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Virtual Table Mappings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Importing a Logical Data Object Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . Clob Datatypes . . . . . . 150 Datatype Reference Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Profiling a Mapplet or Mapping Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Profile Results. . . . . . . . . . 142 Join Analysis Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Oracle and Transformation Datatypes. . . . . . . . . . . . . 146 Viewing Column Data in a Scorecard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Exporting Profile Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Unsupported IBM DB2 Datatypes. . . 148 Types of Reference Data. . . . . . . . . . . . . . . . . . . . . . . . . 147 Chapter 17: Reference Data. . . . . . . . . 156 Char. . . . . . . . 152 Microsoft SQL Server and Transformation Datatypes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Unsupported Oracle Datatypes. . . . . . . . . . . . . . . . . . . . . 150 IBM DB2 and Transformation Datatypes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Unsupported Microsoft SQL Server Datatypes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Creating a Scorecard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Table of Contents vii . . . . . . . . . . . . . . . . . . . . . .S) Datatype. . . . 148 Appendix A: Datatype Reference. . . . 142 Column Profiling Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Port-to-Port Data Conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Converting Data. . . . . . . . . . . . . . . . . . . . . . 153 ODBC and Transformation Datatypes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Flat File and Transformation Datatypes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Reference Data Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Chapter 16: Scorecards. . 146 Scorecards Overview. . . . . . . . . . . . . . . . . . . . . . . . . . Varchar. . . . . . . . 157 Index. . . . . . . . . . . . . . . . . . . .Running a Saved Profile . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Number(P. . . . . . . . . . . . . . .

and data quality concepts. the Informatica Knowledge Base. Informatica Web Site You can access the Informatica corporate web site at http://www.informatica. usable documentation. To get the latest documentation for your product. The site contains information about Informatica. and access to the Informatica user community. Let us know if we can contact you regarding your comments. its background. training and education. navigate to Product Documentation from http://mysupport. This guide assumes that you have an understanding of flat file and relational database concepts.informatica. comments. If you have questions. You will also find product and partner information. access to the Informatica customer support case management system (ATLAS). viii .com. It includes articles and interactive demonstrations that provide solutions to common problems. Informatica How-To Library As an Informatica customer. or ideas about this documentation. and sales offices. upcoming events. Informatica Product Documentation.com. contact the Informatica Documentation team through email at infa_documentation@informatica. We will use your feedback to improve our documentation. The Documentation team updates documentation as needed.informatica.informatica.com. The services area of the site includes important information about technical support. and guide you through performing specific real-world tasks. the Informatica How-To Library. The How-To Library is a collection of resources to help you learn more about Informatica products and features.com. newsletters. Informatica Documentation The Informatica Documentation team takes every effort to create accurate. the database engines in your environment. you can access the Informatica How-To Library at http://mysupport. the Informatica Multimedia Knowledge Base. and implementation services. The site contains product information. you can access the Informatica Customer Portal site at http://mysupport.com. Informatica Resources Informatica Customer Portal As an Informatica customer. compare features and behaviors. user group information.Preface The Informatica Developer User Guide is written for data services and data quality developers.

com. or ideas about the Knowledge Base.com. technical white papers. comments. and technical tips. comments.Informatica Knowledge Base As an Informatica customer. Informatica Multimedia Knowledge Base As an Informatica customer.com. You can request a user name and password at http://mysupport. contact the Informatica Knowledge Base team through email at KB_Feedback@informatica. you can access the Informatica Multimedia Knowledge Base at http://mysupport. contact the Informatica Knowledge Base team through email at KB_Feedback@informatica. Online Support requires a user name and password. If you have questions.informatica. you can access the Informatica Knowledge Base at http://mysupport.informatica. Informatica Global Customer Support You can contact a Customer Support Center by telephone or through the Online Support.com. You can also find answers to frequently asked questions. If you have questions. Use the Knowledge Base to search for documented solutions to known technical issues about Informatica products. The Multimedia Knowledge Base is a collection of instructional multimedia files that help you learn about common concepts and guide you through performing specific tasks.com. or ideas about the Multimedia Knowledge Base.informatica. Use the following telephone numbers to contact Informatica Global Customer Support: North America / South America Toll Free Brazil: 0800 891 0202 Mexico: 001 888 209 8853 North America: +1 877 463 2435 Europe / Middle East / Africa Toll Free France: 00800 4632 4357 Germany: 00800 4632 4357 Israel: 00800 4632 4357 Italy: 800 915 985 Netherlands: 00800 4632 4357 Portugal: 800 208 360 Spain: 900 813 166 Switzerland: 00800 4632 4357 or 0800 463 200 United Kingdom: 00800 4632 4357 or 0800 023 4632 Asia / Australia Toll Free Australia: 1 800 151 830 New Zealand: 1 800 151 830 Singapore: 001 800 4632 4357 Standard Rate North America: +1 650 653 6332 Standard Rate India: +91 80 4112 5738 Standard Rate Belgium: +31 30 6022 797 France: 0805 804632 Germany: 01805 702702 Netherlands: 030 6022 797 Preface ix .

x .

88 ¨ Export to PowerCenter.Part I: Informatica Developer Concepts This part contains the following chapters: ¨ Working with Informatica Developer. 99 ¨ Parameters and Parameter Files. 92 ¨ Deployment. 75 ¨ Mapplets. 13 ¨ Physical Data Objects. 2 ¨ Connections. 58 ¨ Performance Tuning. 28 ¨ Mappings. 69 ¨ Filter Pushdown Optimization. 112 1 . 104 ¨ Viewing Data. 84 ¨ Object Import and Export.

formatting. You can also use the Profiling option with Informatica Data Services to profile data. 8 ¨ Folders. 11 Working with Informatica Developer Overview The Developer tool is an application that you use to design and implement data quality and data services solutions. Use Informatica Data Services for data services solutions. 9 ¨ Search. ¨ Create scorecards to review data quality. state. Informatica Data Quality and Informatica Data Explorer AE Use the data quality capabilities in the Developer tool to analyze the content and structure of your data and enhance the data in ways that meet your business needs. A scorecard is a graphical representation of the quality measurements in a profile. 11 ¨ Copy. 4 ¨ Setting Up Informatica Developer.CHAPTER 1 Working with Informatica Developer This chapter includes the following topics: ¨ Working with Informatica Developer Overview. 6 ¨ Projects. and ZIP code values are consistent. 5 ¨ The Model Repository. Use the Developer tool to design and run processes to complete the following tasks: ¨ Profile data. 2 ¨ Informatica Developer Interface. Standardize data to remove errors and inconsistencies that you find when you run a profile. and spelling. Profiling is a key step in any data project. 10 ¨ Configuring Validation Preferences. You can standardize variations in punctuation. For example. Profiling reveals the content and structure of data. you can ensure that the city. 2 . ¨ Standardize data values. Use Informatica Data Quality and Informatica Data Explorer Advanced Edition for data quality solutions. as it can identify strengths and weaknesses in data and help you define a project plan. 5 ¨ Domains.

You can create reference tables using data from profile results. You can export mappings to PowerCenter to reuse the metadata for physical data integration or to create web services. as it can identify strengths and weaknesses in data and help you define a project plan.¨ Parse data. Parsing reads a field composed of multiple values and creates a field for each value according to the type of information it contains. Informatica provides reference data that can enhance several types of data quality process. including standardization and parsing. You select the fields to be analyzed. ¨ Create and run data quality rules. Parsing can also add information to records. ¨ Map logical models to data sources or targets. and this repository is available to users of the Developer tool and Analyst tool. You can export mappings to PowerCenter to reuse the metadata for physical data integration or to create web services. Address validation corrects errors in addresses and completes partial addresses by comparing address records against address reference data from national postal carriers. disparate targets. profile data to reveal the content and structure of data. ¨ Find duplicate records. you can define a parsing operation to add units of measurement to product data. ¨ Export mappings to PowerCenter. transform. For example. and identity matching. A logical view of data describes the structure and use of data in an enterprise. You can link data from multiple. ¨ Collaborate with Informatica users. Create a mapping that links objects in a logical model to data sources or targets. ¨ Create virtual views of data. You can create a logical data object model that shows the types of data your enterprise uses and how that data is structured. If you use the Profiling option. ¨ Export mappings to PowerCenter. ¨ Validate postal addresses. Working with Informatica Developer Overview 3 . Duplicate analysis calculates the degrees of similarity between records by comparing data from one or more fields in each record. The Model Repository stores reference data and rules. ¨ Profile data. You can also load data that conforms to a model to multiple. ¨ Create reference data tables. which identifies similar or duplicate records. Address validation can also add postal information that speeds mail delivery and reduces mail costs. Address validation evaluates and enhances the accuracy and deliverability of postal address data. which identifies similar or duplicate identities in record data. Use the data services capabilities in the Developer tool to complete the following tasks: ¨ Define logical views of data. and you select the comparison strategies to apply to the data. End users can run SQL queries against the virtual data without affecting the actual source data. disparate sources to create a single view of the data. Profiling is a key step in any data project. You can create mappings and deploy them so that end users can run SQL queries against the mapping results. and different users can take ownership of objects at different stages of a project. Informatica provides rules that you can run or edit to meet your project objectives. ¨ Create and deploy mappings that end users can query. You can deploy a logical model to a virtual federated database. Informatica Data Services Data services are a collection of reusable operations that you can run against sources to access. Users can collaborate on projects. You can create mapplets and validate them as rules in the Developer tool. and deliver data. The Developer tool enables two types of duplicate analysis: field matching.

based on which object is open in the editor. or an SQL query. Shows the results of a mapping.Informatica Developer Interface The Developer tool lets you design and implement data quality and data services solutions. Shows object properties. To work in the Developer tool. Click Window > Show View to select the views you want to display. ¨ Validation Log. Shows search options. The following figure shows the Developer tool workbench: The Developer tool workbench includes an editor and views. such as the default view. You can also work in multiple folders and projects at the same time. Shows projects. ¨ Progress. folders. You edit objects. The Developer tool also includes the following views that appear independently of the objects in the editor: ¨ Cheat Sheets. in the editor. You can work on multiple tasks in the Developer tool at the same time. ¨ Object Explorer. Shows dependent objects in an object. The Developer tool displays views. ¨ Outline. ¨ Properties. 4 Chapter 1: Working with Informatica Developer . ¨ Data Viewer. Shows cheat sheets. Shows object validation errors. such as mappings. such as a mapping run. and the objects they contain. you access the Developer tool workbench. Shows the progress of operations in the Developer tool. ¨ Connection Explorer. Shows connections to relational databases. data preview. You can hide views and move views to another location in the Developer tool workbench. You can also display other views. ¨ Search.

To access cheat sheets. and to start working in the Developer tool.com. create a folder. Setting Up Informatica Developer 5 . Click the Tutorials button to see cheat sheets for the Developer tool and for data quality and data services solutions. Setting Up Informatica Developer To set up the Developer tool.com. You also select a default Data Integration Service. When you follow a cheat sheet. Use the Welcome page to learn more about the Developer tool.informatica. You manage domain information in the Developer tool preferences. Add a domain. 3. 5. Create a project. You can also edit the domain information or remove a domain. You add a domain in the Developer tool. you can access the Informatica How-To Library. 2. set up the Developer tool. The Informatica How-To Library contains articles about the Developer tool. Informatica Data Services. Informatica Data Quality. Cheat Sheets The Developer tool includes cheat sheets as part of the online help. Domains The Informatica domain is a collection of nodes and services that define the Informatica environment. Select a default Data Integration Service.Informatica Developer Welcome Page The first time you open the Developer tool. To set up the Developer tool. Optionally. Click the Workbench button to start working in the Developer tool. you complete the tasks and see the results. The Welcome page displays the following options: ¨ Overview. Connect to a Model repository. complete the following tasks: 1. you add a domain. the Welcome page appears. and you create a project and folder to store your work. You create a connection to a Model repository. For example. 4. ¨ Tutorials. and other Informatica products. Click the Web Resources button for a link to my. you can complete a cheat sheet to import and preview a relational physical data object. ¨ Workbench. ¨ First Steps. A cheat sheet is a step-by-step guide that helps you complete one or more tasks in the Developer tool. Click the Overview button to get an overview of data quality and data services solutions. click Help > Cheat Sheets. Click the First Steps button to learn more about setting up the Developer tool and accessing Informatica Data Quality and Informatica Data Services lessons. From my.informatica. ¨ Web Resources.

and delete physical data objects. or SAP. edit. and delete mappings. 6 Chapter 1: Working with Informatica Developer . and delete applications. manage. edit. The New Domain dialog box appears. Create. Each time you open the Developer tool. 1. edit. you connect to the Model repository to access projects and folders. Create. Create. When you set up the Developer tool. Create. The Preferences dialog box appears. edit. Select Informatica > Domains. 2. Click OK. The following table lists the objects in a project or folder and the operations you can perform: Object Application Connection Folder Logical data object Logical data object mapping Logical data object model Mapping Mapplet Physical data object Description Create. and port number to connect to a domain. host name. You can get this information from an administrator. and delete logical data object models. and delete logical data objects in a logical data object model. Create. host name. verify that you have a domain name. Objects in Informatica Developer You can create. and delete mapplets. Enter the domain name. Create. edit. Create. and port number. edit. Click Add. edit. and delete logical data object mappings for a logical data object. nonrelational. edit. edit. Click Finish. and delete folders. 4. 6. and delete connections. 3. 5. Create.Adding a Domain Add a domain in the Developer tool to access a Model repository. Physical data objects can be flat file. or view certain objects in a project or folder in the Developer tool. Click Window > Preferences. The Model Repository The Model repository is a relational database that stores the metadata for projects and folders. you need to add a Model repository. Before you add a domain. relational.

and delete virtual table mappings for a virtual table. Create. edit. Create. Click Next. Create. Create. The Model Repository 7 . In the Object Explorer view. Create. Click OK. and delete profiles. edit. Click File > Connect to Repository. and delete virtual schemas in an SQL data service. The Model Repository appears in the Object Explorer view. edit. verify the following prerequisites: ¨ An administrator has configured a Model Repository Service in the Administrator tool. 2. The Connect to Repository dialog box appears. and delete virtual tables in a virtual schema. Create. View and delete reference tables. Connecting to a Model Repository Each time you open the Developer tool. ¨ You have a user name and password to access the Model Repository Service. 3. Enter your user name and password. You can get this information from an administrator. Enter the domain user name and password. Create. edit. 6. Click Browse to select a Model Repository Service. and delete transformations. and delete SQL data services. Create. Click Finish. and delete virtual stored procedures in a virtual schema. Adding a Model Repository Add a Model repository to access projects and folders. you connect to a Model repository to access projects and folders. edit. edit. and delete rules. 2. you enter connection information to access the domain that includes the Model Repository Service that manages the Model repository. and delete scorecards. 4. edit. edit. The Connect to Repository dialog box appears. 1. edit. 5. 1.Object Profile Reference table Rule Scorecard SQL data service Transformation Virtual schema Virtual stored procedure Virtual table Virtual table mapping Description Create. When you connect to a Model repository. right-click a Model repository and click Connect. Before you add a Model repository.

Organize project contents in folders. You manage and view projects in the Object Explorer view. You can view object contents. Click Shared if you want to use objects in this project in other projects. and rename folders within projects. duplicate. move. you can add a physical data object from the shared folder Customers_East to the profile. The following table describes the tasks that you can perform on a project: Task Manage projects Description Manage project contents. Select a Model Repository Service in the Object Explorer view. 5. rename. Click OK.3. Use projects to organize and manage the objects that you want to use for data services and data quality solutions. You can create. 3. rename. and grant permissions to users on a project to restrict or provide access to objects within the project. The project appears under the Model Repository Service in the Object Explorer view. You can view search results and select an object from the results to view its contents. For example. You can add users to a project. Click Finish. The contents of a shared project are available for other uses to add to use. rename. The Developer tool connects to the Model repository. 1. Share project contents to collaborate with other users on the project. You can search for folders or objects in projects. The Developer tool displays the projects in the repository. move. The New Project dialog box appears. Manage folders Manage objects Search projects Assign permissions Share projects Creating a Project Create a project to store objects and folders. duplicate. and delete a project. 4. 8 Chapter 1: Working with Informatica Developer . Each project that you create also appears in the Analyst tool. When you create a project. write. Click File > New > Project. duplicate. You can view project contents. Enter a name for the project. You can create. Projects A project is the top-level container that you use to store folders and objects in the Developer tool. when you create a profile in the project Customers_West. and delete objects in a project or in a folder within a project. You can assign the read. the Developer tool stores the project in the Model repository. 2.

You must create the folder in a project or another folder. In the Object Explorer view. Select Native to show users in the native security domain. and object types. Select a project in the Object Explorer view. Or. To filter the list of users. select the project or folder where you want to create a folder. 8. ¨ Rename a folder. Optionally. 3. Folders 9 . Click File > Permissions. Creating a Folder Create a folder to store related objects in a project.Assigning Permissions You can add users to a project and assign permissions for the user. The Domain Users dialog box appears. You can perform the following tasks on a folder: ¨ Create a folder. The Permissions dialog box appears. Enter a name for the folder. 1. Create folders to group objects based on business needs. Folders appear within projects in the Object Explorer view. Assign permissions to determine the tasks that users can complete on a project and objects in the project. 2. Click File > New > Folder. Select a user and click OK. A folder can contain other folders. 7. Click OK. ¨ Move a folder. The user appears with the list of users in the Permissions dialog box. ¨ View a folder. use the wildcard characters in the filter. 6. ¨ Duplicate a folder. The dialog box shows a list of users. select All to show all users. click the Filter by Security Domain button. You can create a folder in a project or in another folder. 3. To filter by security domain. 4. Click Add to add a user and assign permissions for the user. Folders Use folders to organize objects in a project. 1. Select Allow or Deny for each permission for the user. you can create a folder to group objects for a particular task in a project. data objects. enter a name or string. ¨ Delete a folder. 9. The New Folder dialog box appears. For example. 2. 5.

You can create a search query and then filter the search results.4. double-click an object to open it in the editor. Not case sensitive. Name patterns Search for Scope The Model Repository Service uses a search analyzer to index the metadata in the Model repository. Click Search. Searching for Objects and Properties Search for objects and properties in the Model repository. 7. 5. 4. The Developer tool uses the search analyzer to perform searches on objects contained in projects in the Model repository. You must save an object before you can search on it. choose the object types you want to search for. Search the workspace or an object that you selected. Optionally. One or more objects that contain the name pattern. You can use the following search options: Search Option Containing text Description Object or property that you want to search for. 1. Optionally. include wildcard characters. optionally enter one or more name patterns separated by a comma. The Search dialog box appears. If you want to search for a property in an object. You can view search results and select an object from the results to view its contents. The search results appear in the Search view. Search results appear on the Search view. 3. To search in a different language. The folder appears under the project or parent folder. Enter an exact string or use a wildcard. 10 Chapter 1: Working with Informatica Developer . Enter the object or property you want to search for. an administrator must change the search analyzer and configure the Model repository to use the search analyzer. In the Search view. Not case sensitive. Search You can search for objects and object properties in the Developer tool. Enter an exact string or use a wildcard. Click Finish. Choose to search the workspace or the object you selected. 2. 6. One or more object types to search for. Click Search > Search. You can search in different languages.

and virtual stored procedures. such as an email message. 4. To restore the default values. ¨ If the project or folder contains an object with the same name. 5. you can rename or replace the object. Select Informatica > Validation. Click Window > Preferences. 1. Click OK. mapplets. The Preferences dialog box appears. Enter a value for Limit visible items per group to . click Restore Defaults. ¨ You can copy a logical data object as a link. Default is 100. Configuring Validation Preferences 11 . You can copy the following objects to another project or folder or as a link: ¨ Application ¨ Data service ¨ Logical data object model ¨ Mapping ¨ Mapplet ¨ Physical data object ¨ Profile ¨ Reference table ¨ Reusable transformation ¨ Rule ¨ Scorecard ¨ Virtual stored procedure Use the following guidelines when you copy objects: ¨ You can copy segments of mappings. You can also copy objects to folders in the same project or to folders in a different project. You can also copy an object as a link to view the object in the Analyst tool or to provide a link to the object in another medium. Click Apply. rules.Configuring Validation Preferences Configure validation preferences to set error limits and limit the number of visible items per group. 3. 2. Optionally. ¨ You can paste an object multiple times after you copy it. select Use Error Limits. 7. Copy You can copy objects within a project or to a different project. 6. ¨ You can copy a folder to another project.

it opens the Analyst tool in the default web browser configured for the machine. You must log in to the Analyst tool to access the object. Right-click an object in a project or folder. When you click the link. Paste the link into another application. such as Microsoft Internet Explorer or an email message. Click Edit > Paste. 1. 1. Select the project or folder that you want to copy the object to. Select an object in a project or folder. 3. such as a document or an email message. Click Copy as Link. 2. 12 Chapter 1: Working with Informatica Developer . You can paste the link into a web browser or in another medium. 4. Copying an Object as a Link Copy an object as a link to view the object in the Analyst tool. 3. Click Edit > Copy . 2.Copying an Object Copy an object to make it available in another project or folder.

Create a connection to import relational or nonrelational data objects. 14 ¨ DB2 for z/OS Connection Properties. 23 ¨ Sequential Connection Properties. 19 ¨ Microsoft SQL Server Connection Properties. 26 ¨ Creating a Connection . 21 ¨ Oracle Connection Properties. 25 ¨ Connection Explorer View. profile data. The Data Integration Service uses the connection when you preview data or run mappings.CHAPTER 2 Connections This chapter includes the following topics: ¨ Connections Overview. 13 ¨ DB2 for i5/OS Connection Properties. 24 ¨ VSAM Connection Properties. and run mappings. preview data. 22 ¨ SAP Connection Properties. 18 ¨ IMS Connection Properties. 27 Connections Overview A connection is a repository object that defines a connection in the domain configuration repository. Create and manage connections in the connection preferences or in the Connection Explorer view. The Developer tool stores connections in the Model repository. 20 ¨ ODBC Connection Properties. The Developer tool uses the connection when you import a data object. You can create the following types of connection: ¨ DB2/I5OS ¨ DB2/ZOS ¨ IBM DB2 ¨ IMS ¨ Microsoft SQL Server 13 . 16 ¨ IBM DB2 Connection Properties. Any connection that you create in the Developer tool is available in the Analyst tool or the Administrator tool.

Location of the PowerExchange Listener node that can connect to DB2. Specifies the i5/OS database file override. Note: If you specify both Library List and Database File Overrides and a table exists in both.to_member is optional and is the member in the new library and file to use. Insert. Code Page 14 Chapter 2: Connections . The following table describes the DB2 for i5/OS connection properties: Property Database Name Location Description Name of the database instance.to_file is the file in the new library to use . Library List List of libraries that PowerExchange searches to qualify the table name for Select. The format is: from_file/to_library/to_file/to_member Username Password Environment SQL Database File Overrides Where: . The Data Integration Service connects to DB2 for i5/OS through PowerExchange. When you specify more than one file override. The location is defined in the first parameter of the NODE statement in the PowerExchange dbmover. or Update statements. PowerExchange searches the list if the table name is unqualified. You can specify up to 8 unique file overrides on a single connection. Separate libraries with semicolons. the Database File Overrides takes precedence. Database user name. A single override applies to a single source or target. enclose the string of file overrides in double quotes and include a space between each file override. Database code page. Delete. The Data Integration Service executes the connection environment SQL each time it connects to the database. Note: If you specify both Library List and Database File Overrides and a table exists in both.to_library is the new library to use .¨ ODBC ¨ Oracle ¨ SAP ¨ Sequential ¨ VSAM DB2 for i5/OS Connection Properties Use a DB2 for i5/OS connection to access tables in DB2 for i5/OS. Database File Overrides takes precedence.cfg configuration file. Password for the user name.from_file is the file to be overridden . SQL commands to set the database environment when you connect to the database. *FIRST is used if nothing is specified.

the faster the performance. . If you select RC2 or DES for Encryption Type. select one of the following values to indicate the encryption level: . Cursor stability.CS. Select to compress source data when reading from the database.ALL Default is CS. Default is Disabled. Use if the number of worker threads is greater than 0. Default is 0. If you clear this option.RR. or the Data Integration Service node is a bottleneck.Uses 168-bit triple encryption key for DES. Enter 0 for maximum performance. and column names when generating and executing SQL against these objects in the connection. database. Minimum value is 0. .3 . Commit scope of the transaction. Also. such as WHERE. Default is 25. Uses a 128-bit encryption key for RC2.CHG. synonym.Property SQL identifier character Description The type of character used for the Support Mixed-Case Identifiers property. use if the object names contain SQL keywords. Change. . Interprets the pacing size as rows or kilobytes.None . Amount of data the source system can pass to the PowerExchange Listener. Default is 1. Select the character based on the database in the connection. Select one of the following values: . Ignored if you do not select an encryption type. Repeatable Read.RC2 . Number of records of the storage array size for each thread. . The lower the value.Uses 168-bit triple encryption key for DES. Select one of the following values: . Enables the Developer tool and Analyst tool to place quotes around table.2 . . Configure the pacing size if an external application.DES Default is None. Type of encryption that the Data Integration Service uses. Select to represent the pacing size in number of rows. the pacing size represents kilobytes. schema. Use if the objects have mixed-case or lowercase names. Support mixed-case identifiers Isolation Level Encryption Type Level Pacing Size Interpret as Rows Compression Array Size DB2 for i5/OS Connection Properties 15 . view.None .Uses a 56-bit encryption key for DES and RC2. Level of encryption that the Data Integration Service uses. Uses a 64-bit encryption key for RC2.1 .

Database user name. and column names when generating and executing SQL Username Password Environment SQL Correlation ID Code Page SQL identifier character Support mixed-case identifiers 16 Chapter 2: Connections . synonym. This option also provides the ability to detect errors. schema.Property Write Mode Description Mode in which Data Integration Service sends data to the PowerExchange Listener. PowerExchange creates the reject file on the target machine when the write mode is asynchronous with fault tolerance.cfg configuration file. The Data Integration Service executes the connection environment SQL each time it connects to the database. Location of the PowerExchange Listener node that can connect to DB2. view. This option might decrease performance. Sends data to the PowerExchange Listener without waiting for a response. Select the character based on the database in the connection. Select if error recovery is a priority. Async Reject File DB2 for z/OS Connection Properties Use a DB2 for z/OS connection to access tables in DB2 for z/OS. Use this option when you can reload the target table if an error occurs. This provides the speed of confirm write off with the data integrity of confirm write on. Database code page. Sends data to the PowerExchange Listener and waits for a response before sending more data. Sends data to the PowerExchange Listener without waiting for a response. Configure one of the following write modes: . The Data Integration Service connects to DB2 for z/OS through PowerExchange. SQL commands to set the database environment when you connect to the database. Enables the Developer tool and Analyst tool to place quotes around table. Default is CONFIRMWRITEON. . Overrides the default prefix of PWXR for the reject file.CONFIRMWRITEOFF. . Value to be concatenated to prefix PWX to form the DB2 correlation ID for DB2 requests. The location is defined in the first parameter of the NODE statement in the PowerExchange dbmover.CONFIRMWRITEON. Specifying PWXDISABLE prevents the creation of the reject files. The following table describes the DB2 for z/OS connection properties: Property DB2 Subsystem ID Location Description Name of the DB2 subsystem. The type of character used for the Support Mixed-Case Identifiers property. Password for the user name.ASYNCHRONOUSWITHFAULTTOLERANCE.

3 . Interprets the pacing size as rows or kilobytes. . Number of threads that the Data Integration Services uses on the Data Integration Service machine to process data. . Default is 1. Default is 0. Default is 25. or the Data Integration Service node is a bottleneck. the pacing size represents kilobytes. .ASYNCHRONOUSWITHFAULTTOLERANCE.CONFIRMWRITEON. Moves data processing for bulk data from the source system to the Data Integration Service machine. Enter 0 for maximum performance.Uses 168-bit triple encryption key for DES. Select to represent the pacing size in number of rows. Sends data to the PowerExchange Listener and waits for a response before sending more data. Sends data to the PowerExchange Listener without waiting for a response. Number of records of the storage array size for each thread. Encryption Type Type of encryption that the Data Integration Service uses.Uses a 56-bit encryption key for DES and RC2. such as WHERE. Select one of the following values: . Default is 0. Sends data to the PowerExchange Listener without waiting for a response.CONFIRMWRITEOFF. Also.2 . Select to compress source data when reading from the database. Level of encryption that the Data Integration Service uses. . Amount of data the source system can pass to the PowerExchange Listener. This option also provides the ability to detect errors. This option might decrease performance. For optimal performance. select one of the following values to indicate the encryption level: . If you clear this option. Use this option when you can reload the target table if an error occurs. Uses a 64-bit encryption key for RC2. Ignored if you do not select an encryption type.Uses 168-bit triple encryption key for DES.None . This provides the speed of confirm write off with the data integrity of confirm write on. Configure one of the following write modes: . use if the object names contain SQL keywords. database. Default is No.DES Default is None. Default is Disabled. The lower the value. If you select RC2 or DES for Encryption Type. Level Pacing Size Interpret as Rows Compression Offload Processing Worker Threads Array Size Write Mode DB2 for z/OS Connection Properties 17 . do not exceed the number of installed or available processors on the Data Integration Service machine. Configure the pacing size if an external application. Select if error recovery is a priority. Uses a 128-bit encryption key for RC2. Use if the objects have mixed-case or lowercase names. the faster the performance. Minimum value is 0. Use if the number of worker threads is greater than 0.Property Description against these objects in the connection.1 .RC2 .

databaseName=<dbname> Connection string to preview data and run mappings. The following table describes the IBM DB2 connection properties: Property User name Password Connection String for metadata access Description Database user name. synonym. The type of character used for the Support Mixed-Case Identifiers property. view.Property Description Default is CONFIRMWRITEON. Use the following connection string: jdbc:informatica:db2://<host>:50000. Optional. Tablespace name of the IBM DB2 database. such as WHERE. Enter SQL commands to set the database environment when you connect to the database. Default is 0. Database code page. PowerExchange creates the reject file on the target machine when the write mode is asynchronous with fault tolerance. the session fails. Connection String for data access Code Page Environment SQL Transaction SQL Retry Period Tablespace SQL identifier character Support mixed-case identifiers 18 Chapter 2: Connections . Password for the user name. Async Reject File Overrides the default prefix of PWXR for the reject file. IBM DB2 Connection Properties Use an IBM DB2 connection to access tables in an IBM DB2 database. use if the object names contain SQL keywords. schema. and column names when generating and executing SQL against these objects in the connection. Select the character based on the database in the connection. Specifying PWXDISABLE prevents the creation of the reject files. Optional. The Data Integration Service executes the transaction environment SQL at the beginning of each transaction. The Data Integration Service executes the connection environment SQL each time it connects to the database. Also. Connection string to import physical data objects. Enter SQL commands to set the database environment when you connect to the database. Enter dbname from the alias configured in the DB2 client. If the Data Integration Service cannot connect to the database in the retry period. Use if the objects have mixed-case or lowercase names. Number of seconds the Data Integration Service attempts to reconnect to the database if the connection fails. Enables the Developer tool and Analyst tool to place quotes around table.

or the Data Integration Service node is a bottleneck. Password for the database user name. . Compresses the data to decrease the amount of data Informatica applications write over the network. Use offload processing. Code to read from or write to the database. which disables multithreading. . Use the ISO code page name. If you clear this option. For optimal performance. The following table describes the IMS connection properties: Option Location Description Location of the PowerExchange Listener node that can connect to IMS.cfg configuration file.1. Uses 168-bit triple encryption key for DES. Uses a 56-bit encryption key for DES and RC2. True or false. select one of the following values to indicate the encryption level: . Optional. Do not use offload processing.3. Configure the pacing size if an external application. Enter 0 for maximum performance. Select to represent the pacing size in number of rows. Moves bulk data processing from the IMS source to the Data Integration Service machine. the faster the performance. Optional. Type of encryption that the Data Integration Service uses. The code page name is not case sensitive. User Name Password Code Page Encryption Type Encryption Level Pacing Size Interpret as Rows Compression OffLoad Processing Worker Threads IMS Connection Properties 19 . Default is Auto. database. Number of threads that the Data Integration Service uses to process bulk data when offload processing is enabled. Level of encryption that the Data Integration Service uses. this value should not exceed the number of available processors on the Data Integration Service machine. Select one of the following values: . Database user name. Valid values are 1 through 64. Default is false. Default is 1. the pacing size represents kilobytes. Default is Disabled.Yes. Default is 0.DES Default is None.2. Ignored if you do not select an encryption type. such as ISO-8859-6. The lower the value.IMS Connection Properties Use an IMS connection to access an IMS database.RC2 . Default is 0. Enter one of the following values: . The Data Integration Service connects to IMS through PowerExchange. . Interprets the pacing size as rows or kilobytes. Minimum value is 0.Auto. Uses a 128-bit encryption key for RC2. Required.No. . The location is defined in the first parameter of the NODE statement in the PowerExchange dbmover. Uses a 64-bit encryption key for RC2. Amount of data the source system can pass to the PowerExchange Listener.None . If you select RC2 or DES for Encryption Type. The Data Integration Service determines whether to use offload processing. Uses 168-bit triple encryption key for DES.

Write Mode Microsoft SQL Server Connection Properties Use Microsoft SQL Server connection to access tables in a Microsoft SQL Server database. Required. Optional. Configure one of the following write modes: . Password for the user name. The Data Integration Service executes the connection environment SQL each time it connects to the database. Sends data to the PowerExchange Listener and waits for a response before sending more data. Use this option when you can reload the target table if an error occurs. Default is 0. Optimize the ODBC connection to Microsoft SQL Server.ASYNCHRONOUSWITHFAULTTOLERANCE. Connection string to import physical data objects. Sends data to the PowerExchange Listener without waiting for a response. Code Page Environment SQL 20 Chapter 2: Connections . the Data Integration Service uses Windows authentication to access the Microsoft SQL Server database. Use the following connection string: jdbc:informatica:sqlserver:// <host>:<port>.Option Array Size Description Determines the number of records in the storage array for the threads when the worker threads value is greater than 0. Optional. .databaseName=<dbname> Connection String for metadata access Connection String for data access Connection string to preview data and run mappings. Enter <ServerName>@<DBName> Domain Name Packet Size Optional. The user name that starts the Data Integration Service must be a valid Windows user with access to the Microsoft SQL Server database. Default is CONFIRMWRITEON. Valid values are from 1 through 100000. Default is 25. Mode in which Data Integration Service sends data to the PowerExchange Listener.CONFIRMWRITEOFF. Name of the domain where Microsoft SQL Server is running. This provides the speed of confirm write off with the data integrity of confirm write on. Increase the packet size to increase performance. Select if error recovery is a priority. This option might decrease performance. . This option also provides the ability to detect errors. When enabled. Database code page. Sends data to the PowerExchange Listener without waiting for a response. The following table describes the Microsoft SQL Server connection properties: Property User name Password Use Trusted Connection Description Database user name. Enter SQL commands to set the database environment when you connect to the database.CONFIRMWRITEON.

the session fails. Enables the Developer tool and Analyst tool to place quotes around table. The Data Integration Service executes the transaction environment SQL at the beginning of each transaction. Optional. view. Enables the Developer tool and the Analyst tool to place quotes around table. Default is 0. Optional. Default is 0. the session fails. Enter SQL commands to set the database environment when you connect to the database. Type of character used for the Support mixed-case identifiers property. schema. Enter SQL commands to set the database environment when you connect to the database. and column names when generating and executing SQL against these objects in the connection. Number of seconds the Data Integration Service attempts to reconnect to the database if the connection fails. Select the character based on the database in the connection. and column names when generating and executing SQL against these objects in the connection. The type of character used for the Support Mixed-Case Identifiers property. Retry Period SQL identifier character Support mixed-case identifiers ODBC Connection Properties Use an ODBC connection to access tables in a database through ODBC. Use if the objects have mixed-case Transaction SQL Retry Period SQL identifier character Support mixed-case identifiers ODBC Connection Properties 21 . use if the object names contain SQL keywords.Property Transaction SQL Description Optional. Password for the user name. synonym. schema. If the Data Integration Service cannot connect to the database in the retry period. Enter SQL commands to set the database environment when you connect to the database. The following table describes the ODBC connection properties: Property User name Password Connection String Code Page Environment SQL Description Database user name. such as WHERE. Connection string to connect to the database. Also. synonym. If the Data Integration Service cannot connect to the database in the retry period. Number of seconds the Data Integration Service attempts to reconnect to the database if the connection fails. Select the character based on the database in the connection. The Data Integration Service executes the transaction environment SQL at the beginning of each transaction. Use if the objects have mixed-case or lowercase names. The Data Integration Service executes the connection environment SQL each time it connects to the database. view. Database code page.

schema. Default is disabled. Enter dbname. use if the object names contain SQL keywords. such as WHERE. use if the object names contain SQL keywords. For pushdown optimization. Connection string to import physical data objects. Number of seconds the Data Integration Service attempts to reconnect to the database if the connection fails. Enter SQL commands to set the database environment when you connect to the database. Optional. ODBC Provider Type of database that ODBC connects to. such as WHERE. Also. Use if the objects have mixed-case or lowercase names. Connection String for data access Code Page Environment SQL Transaction SQL Retry Period Parallel Mode SQL identifier character Support mixed-case identifiers 22 Chapter 2: Connections . The Data Integration Service executes the connection environment SQL each time it connects to the database. specify the database type to enable the Data Integration Service to generate native database SQL. Also. Optional. If the Data Integration Service cannot connect to the database in the retry period.SID=<sid> Connection string to preview data and run mappings. Optional. Enter SQL commands to set the database environment when you connect to the database. Select the character based on the database in the connection. Oracle Connection Properties Use an Oracle connection to access tables in an Oracle database. The Data Integration Service executes the transaction environment SQL at the beginning of each transaction. Password for the user name. Enables parallel processing when loading data into a table in bulk mode. view.world from the TNSNAMES entry. The following table describes the Oracle connection properties: Property User name Password Connection String for metadata access Description Database user name. and column names when generating and executing SQL against these objects in the connection. Default is Other.Property Description or lowercase names. The type of character used for the Support Mixed-Case Identifiers property. Use the following connection string: jdbc:informatica:oracle://<host>:1521. synonym. the session fails. Enables the Developer tool and Analyst tool to place quotes around table. Default is 0. Database code page.

Must also correspond to the language code. SAP stores the information about the RFC calls in a trace file. Group name of the SAP application server. Informatica uses this entry to connect to the SAP server. specify a host name or port number for an SFTP server. SAP system number. If the Data Integration Service cannot reconnect to the FTP SAP Connection Properties 23 . Select this option to track the RFC calls that the SAP system makes. Use the following syntax to specify the host name: hostname:port_number Connection type Host name R3 name Group System number Client number Language Code page Staging directory Source directory Use FTP FTP user FTP password FTP host Or . Optionally. Must be compatible with the the Developer tool code page. Default for FTP is 21. Name of the SAP system. Code page compatible with the SAP server. Password for the FTP user. Host name or IP address of the SAP server. Informatica uses the default language of the SAP system. The Data Integration Service path containing the source file. Default for SFTP is 22. Enables FTP access to SAP. If you leave this option blank. Select Type B when you want to use SAP load balancing. Password for the user name. inclusive. Retry period Number of seconds that the Data Integration Service attempts to reconnect to the FTP host if the connection fails. you can specify a port number from 1 through 65535. IP address:port_number When you specify a port number. If you enable SFTP. Path in the SAP system where the staging file will be created. Host name or IP address of the FTP server. enable that port number for FTP on the host machine.SAP Connection Properties The following table describes the SAP connection properties: Property User name Password Trace Description SAP source system connection user name. SAP client number. You can access the trace files from server/ bin directory on the Informatica server machine and the client/bin directry on the client machine. User name to connect to the FTP server. Language that you want for the mapping. Select Type A to connect to one SAP system.

Uses 168-bit triple encryption key for DES.RC2 . The location is defined in the first parameter of the NODE statement in the PowerExchange dbmover. Use SFTP Public key file name Enables SFTP access to SAP. Determines the number of records in the storage array for the threads when the worker threads value is greater than 0. Default is 25. Array Size Compression Encryption Level Encryption Type Interpret as Rows Location 24 Chapter 2: Connections .2 . Default value is 0 and indicates an infinite retry period. Default is false. Private key file name Private key file name password Sequential Connection Properties Use a sequential connection to access z/OS sequential data sets.Uses 168-bit triple encryption key for DES. Location of the PowerExchange Listener node that can connect to the data object. . Enabled for SFTP. the pacing size represents kilobytes. Private key file path and file name.cfg configuration file. Interprets the pacing size as rows or kilobytes. Enabled for SFTP.Uses a 56-bit encryption key for DES and RC2.Property Description host in the retry period. Default is 1. Select one of the following values: . Level of encryption that the Data Integration Service uses. Valid values are from 1 through 100000. Uses a 128-bit encryption key for RC2. Required if the SFTP server uses publickey authentication. Compresses the data to decrease the amount of data Informatica applications write over the network.1 . Type of encryption that the Data Integration Service uses. If you select RC2 or DES for Encryption Type. Required if the SFTP server uses public key authentication and the private key is encrypted. select one of the following values to indicate the encryption level: .None . such as ISO-8859-6. Uses a 64-bit encryption key for RC2. If you clear this option. . Ignored if you do not select an encryption type. True or false. Default is Disabled. Enabled for SFTP. Public key file path and file name. Required if the SFTP server uses publickey authentication. The following table describes the sequential connection properties: Option Code Page Description Required.3 . Use the ISO code page name.DES Default is None. The code page name is not case sensitive. The Data Integration Service connects to the data sets through PowerExchange. the session fails. Code to read from or write to the sequential data set. Select to represent the pacing size in number of rows. Private key file password used to decrypt the private key file.

Compresses the data to decrease the amount of data Informatica applications write over the network. Sends data to the PowerExchange Listener without waiting for a response. . Sends data to the PowerExchange Listener without waiting for a response. Default is Auto. . database. Uses a 128-bit encryption key for RC2.ASYNCHRONOUSWITHFAULTTOLERANCE. . Default is 25. Enter 0 for maximum performance. .Uses 168-bit triple encryption key for DES. Determines the number of records in the storage array for the threads when the worker threads value is greater than 0. such as ISO-8859-6. Code to read from or write to the VSAM file. If you select RC2 or DES for Encryption Type. which disables multithreading.3 . This option also provides the ability to detect errors.CONFIRMWRITEOFF.2 . this value should not exceed the number of available processors on the Data Integration Service machine. The Data Integration Service determines whether to use offload processing. Configure one of the following write modes: . Do not use offload processing. Default is false. Configure the pacing size if an external application. Select if error recovery is a priority.Uses 168-bit triple encryption key for DES. Default is 0.1 . Use offload processing. The code page name is not case sensitive. .Option OffLoad Processing Description Moves bulk data processing from the source machine to the Data Integration Service machine.CONFIRMWRITEON. Use this option when you can reload the target table if an error occurs. Minimum value is 0. True or false.Uses a 56-bit encryption key for DES and RC2. Enter one of the following values: .Yes. Pacing Size Worker Threads Write Mode VSAM Connection Properties Use a VSAM connection to connect to a VSAM data set. select one of the following values to indicate the encryption level: . This option might decrease performance. This provides the speed of confirm write off with the data integrity of confirm write on. For optimal performance. Number of threads that the Data Integration Service uses to process bulk data when offload processing is enabled.No. Amount of data that the source system can pass to the PowerExchange Listener. The following table describes the VSAM connection properties: Option Code Page Description Required. Uses a 64-bit encryption key for RC2. Default is CONFIRMWRITEON. Default is 0. the faster the performance. . Valid values are from 1 through 100000. Sends data to the PowerExchange Listener and waits for a response before sending more data. Array Size Compression Encryption Level VSAM Connection Properties 25 . or the Data Integration Service node is a bottleneck. Use the ISO code page name. Mode in which Data Integration Service sends data to the PowerExchange Listener.Auto. Valid values are 1 through 64. Ignored if you do not select an encryption type. Level of encryption that the Data Integration Service uses. The lower the value.

Do not use offload processing.RC2 . Number of threads that the Data Integration Service uses to process bulk data when offload processing is enabled.CONFIRMWRITEOFF. database. . which disables multithreading.Yes.Auto. Sends data to the PowerExchange Listener and waits for a response before sending more data. This provides the speed of confirm write off with the data integrity of confirm write on. ¨ Connect to a relational database. Valid values are 1 through 64. Use offload processing. Right-click a relational database and click Connect.None . Encryption Type Enter one of the following values for the encryption type: . This option might decrease performance.CONFIRMWRITEON. This option also provides the ability to detect errors. Configure the pacing size if an external application. If you clear this option. . Location of the PowerExchange Listener node that can connect to the VSAM file.No. Enter 0 for maximum performance. Default is Auto. You can complete the following tasks in the Connection Explorer view: ¨ Add a connection to the view.DES Default is None. Minimum value is 0. Default is 0. Select if error recovery is a priority. Default is Disabled. Use this option when you can reload the target table if an error occurs. Moves bulk data processing from the VSAM source to the Data Integration Service machine. Configure one of the following write modes: . Mode in which Data Integration Service sends data to the PowerExchange Listener. the faster the performance. The Data Integration Service determines whether to use offload processing. Enter one of the following values: . Sends data to the PowerExchange Listener without waiting for a response. the pacing size represents kilobytes.ASYNCHRONOUSWITHFAULTTOLERANCE. . . The lower the value. Sends data to the PowerExchange Listener without waiting for a response. Select to represent the pacing size in number of rows.cfg configuration file. Default is CONFIRMWRITEON. or the Data Integration Service node is a bottleneck. 26 Chapter 2: Connections . Click the Select Connection button to choose one or more connections to add to the Connection Explorer view. Interpret as Rows Location OffLoad Processing PacingSize Worker Threads Write Mode Connection Explorer View Use the Connection Explorer view to view relational database connections and to create relational data objects. The location is defined in the first parameter of the NODE statement in the PowerExchange dbmover. this value should not exceed the number of available processors on the Data Integration Service machine. Interprets the pacing size as rows or kilobytes. Amount of data the source system can pass to the PowerExchange Listener. Default is 0.Option Description Default is 1. For optimal performance.

The connection remains in the Model repository. preview data. Right-click a relational database and click Disconnect. Click Window > Preferences. ¨ Delete a connection from the Connection Explorer view. 2. 5. Expand the domain. the Developer tool does not display the synonyms for the tables. Creating a Connection Create a connection before you import relational data objects. Click Finish. Right-click a table and click Add to Project to open the New Relational Data Object dialog box. 9. Creating a Connection 27 . Click Test Connection to verify that you entered the connection properties correctly and that you can connect to the database. Select the type of database that you want to connect to. ¨ Create a relational data object. ¨ Refresh a connection. Select Databases and click Add. 7. 10. After you create a connection. 11. Click Next. ¨ Show only the default schema. 1. 6.¨ Disconnect from a relational database. Optionally. Default is enabled. 3. Note: When you use a Microsoft SQL Server connection to access tables in a Microsoft SQL Server database. After you connect to a relational database. Configure the connection properties. Right-click a connection and click Delete. expand the database to view tables. Right-click a connection and click Show Default Schema Only . Enter a connection name. 4. profile data. enter a connection description. Right-click a connection and click Refresh. you can add it to the Connection Explorer view. 8. or run mappings. Select Informatica > Connections.

Customized data object A physical data object that uses one or multiple related relational resources or relational data objects as sources. You can create a flat file data object from a delimited or fixed-width flat file. 44 ¨ Flat File Data Objects. A physical data object can be one of the following types: Relational data object A physical data object that uses a relational table. Nonrelational data object A physical data object that uses a nonrelational database resource as a source. nonrelational database. Relational resources include tables. views. you can create a customized data object from two Microsoft SQL Server tables that have a primary key-foreign key relationship. you can create a relational data object from a DB2 i5/OS table or an Oracle view. 57 Physical Data Objects Overview A physical data object is the representation of data that is based on a flat file. or synonym as a source. For example. 29 ¨ Customized Data Objects. 28 . and synonyms. Flat file data object A physical data object that uses a flat file as a source. 31 ¨ Nonrelational Data Objects. you can create a nonrelational data object from a VSAM source. Create a customized data object if you want to perform operations such as joining data. sorting ports. For example. Create a physical data object to read data from resources or write data to resources. 56 ¨ Troubleshooting Physical Data Objects.CHAPTER 3 Physical Data Objects This chapter includes the following topics: ¨ Physical Data Objects Overview. For example. view. filtering rows. relational database. or SAP resource. 45 ¨ SAP Data Objects. 28 ¨ Relational Data Objects. or running custom queries when the Data Integration Service reads source data. 56 ¨ Synchronization.

¨ As independent data objects. mapplet. or lookup transformation. view. You can use them in any type of mapping. When you add multiple relational data objects at the same time. You can add a physical data object to a logical data object mapping to map logical data objects. You can also include a physical data object in a virtual table mapping when you define an SQL data service. You can include relational data objects in mappings and mapplets. or profile. the Developer tool also retains foreign keys and key relationships. To update the physical data object. you can synchronize the physical data object. mapplet. or profile. However. or lookup transformation. You can import the following types of relational data object: ¨ DB2 for i5/OS ¨ DB2 for z/OS ¨ IBM DB2 ¨ Microsoft SQL Server ¨ ODBC ¨ Oracle Key Relationships You can create key relationships between relational data objects. Key relationships allow you to join relational data objects when you use them as sources in a customized data object or as read transformations in a mapping or mapplet. or profile. or synonym as a source. Physical data objects in projects and folders are reusable objects. You can create primary key-foreign key relationships between relational data objects. When you import related relational data objects at the same time. the Developer tool retains the primary key information defined in the database. if you import related relational data objects separately.SAP data object A physical data object that uses an SAP source. The read transformations have the same capabilities as relational data objects. The Developer tool creates one read transformation for each relational data object. but you cannot change the data object within the mapping. Relational Data Objects 29 . You can a add relational data object to a mapping or mapplet as a read. If the data object source changes. When you synchronize a physical data object. mapplet. A relational data object is a physical data object that uses a relational table. Relational Data Objects Import a relational data object to include in a mapping. mapplet. You can create key relationships between relational data objects whether or not the relationships exist in the source database. You can create any physical data object in a project or folder. You can add a physical data object to a mapping or mapplet as a read. When you import relational data objects. write. The Developer tool creates one read transformation. you must re-create the key relationships after you import the objects. You can add multiple relational data objects to a mapping or mapplet as sources. or profile. the Developer tool prompts you to add the objects in either of the following ways: ¨ As related data objects. you must edit the object within the project or folder. The read transformation has the same capabilities as a customized data object. You can include a physical data object in a mapping. the Developer tool reimports the object metadata. write.

In the Object Explorer view. 3. Open the relational data object. you can add them as related or independent objects. Drag the relational data objects into the mapping editor. 3. 7. Enter a name for the foreign key. select Primary Key. Save the relational data object. 4. Select the Keys view. The New Key dialog box appears. The Add to Mapping dialog box appears. If the key is a primary key. The New Relationship dialog box appears. In the Relationships properties. 6. 1. 4. Enter a key name. Select the Relationships view. 8. 3. 30 Chapter 3: Physical Data Objects . Creating a Read Transformation from Relational Data Objects You can a add relational data object to a mapping or mapplet as a read transformation. Select a primary key from the referenced relational data object. 5. You cannot create key relationships between a relational data object and a customized data object. 5. Open the mapping or mapplet in which you want to create a read transformation. select one or more relational data objects. select the foreign key columns. Click OK. Click Add. 8. When you add multiple relational data objects at the same time. The key relationships that you create exist in the relational data object metadata. Creating Keys in a Relational Data Object Create key columns to identify each row in a relational data object. 4. The relational data object that you reference must have a primary key. Then create the relationship in the relational data object that contains the foreign key. Click OK. You do not need to alter the source relational resources. Click Add. first create a primary key in the referenced object. 1. 2. You can create one primary key in each relational data object. 7. 2. Open the relational data object where you want to create a foreign key. Save the relational data object.To create key relationships between relational data objects. Select the key columns. 1. 2. Creating Relationships between Relational Data Objects You can create key relationships between relational data objects. 6. Select the Read option.

or synonym that you want to import. or profile. Importing a Relational Data Object Import a relational data object to add to a mapping. 6. The default query is a SELECT statement for each column that it reads from the sources. Click Browse next to the Resource option and select the table. If the relational data objects use different connections. view. Select a project or folder in the Object Explorer view. Customized Data Objects Create a customized data object to include in a mapping. select one of the following options: Option As related data objects Description The Developer tool creates one read transformation. 9. the Data Integration Service generates a default SQL query that it uses to read data from the source relational resources. The data object appears under Physical Data Objects in the project or folder in the Object Explorer view. 4. mapplet. 7. 1. The read transformation has the same capabilities as a customized data object. such as joining data from related resources and filtering rows. 7. Click Finish. Select Relational Data Object and click Next. Customized data objects allow you to perform tasks that relational data objects do not allow you to perform. When you create a customized data object. Click Create data object from existing resource . The Developer tool creates one read transformation for each relational data object. Customized Data Objects 31 . Click File > New > Data Object. You can join multiple tables with primary key- foreign key relationships whether or not the relationships exist in the database.5. The New Relational Data Object dialog box appears. select the default connection. mapplet. 2. or profile. Click OK. If you add multiple data objects. Enter a name for the physical data object. 8. Customized data objects are physical data objects that use relational resources as sources. Before you import a relational data object. Each read transformation has the same capabilities as a relational data object. As independent data objects 6. Click Browse next to the Connection option and select a connection to the database. Create a customized data object to perform the following tasks: ¨ Join source data that originates from the same source database. Click Browse next to the Location option and select the project where you want to import the relational data object. you must configure a connection to the database. 5. 3. The Developer tool creates one or multiple read transformations in the mapping or mapplet. The New dialog box appears.

txt. You can create customized data objects from the following types of connections and objects: ¨ DB2 i5/OS connections ¨ DB2 z/OS connections ¨ IBM DB2 connections ¨ Microsoft SQL Server connections ¨ ODBC connections ¨ Oracle connections ¨ Relational data objects You can also add sources to a customized data object through a custom SQL query. You can create customized data objects in projects and folders. You can define and assign parameters in a customized data object to represent connections. The Data Integration Service runs pre-mapping SQL commands against the source database before it reads the source.and post-mapping SQL commands. the Data Integration Service adds a SELECT DISTINCT statement to the default SQL query. ¨ Add pre. Use the simple query to select distinct values. You can override the default query through the simple or advanced query. If you create a customized data object that contains multiple tables. the Data Integration Service replaces the join information specified by the metadata in the SQL query. The custom query replaces the default query that the Data Integration Service uses to read data from sources. the Developer tool updates the object in all mappings. It runs post-mapping SQL commands against the source database after it writes to the target. ¨ Retain key relationships when you synchronize the object with the sources. The default query is a SELECT statement for each column that it reads from the sources. and you define key relationships that do not exist in the database. mapplets. Default Query When you create a customized data object. and profiles. If you change a customized data object in a project or folder. The customized data objects that you create in projects and folders are reusable. ¨ Specify sorted ports. If you specify a number for sorted ports. The custom query overrides the default and simple queries. If you include a user-defined join. or enter a user-defined join.txt file on any machine the Data Integration Service can access. If any table name or column name contains a database reserved word. ¨ Filter rows when the Data Integration Service reads source data. When you run a mapping that uses the customized data object. sort ports. ¨ Create a custom query to issue a special SELECT statement for the Data Integration Service to read source data. ¨ Specify an outer join instead of the default inner join. enter a source filter. you can create and maintain a reserved words file. ¨ Define parameters for the data object. you can define different values for the connection parameters at runtime. Use the advanced query to create a custom SQL query for reading data from the sources. you can retain the relationships when you synchronize the data object. mapplets. the Data Integration Service generates a default SQL query that it uses to read data from the source relational resources. or profile. and profiles that use the object.¨ Select distinct values from the source. reswords. Create the reswords. You cannot change them from within a mapping. 32 Chapter 3: Physical Data Objects . You can use them in multiple mappings. mapplet. the Data Integration Service adds a WHERE clause to the default query. If you choose Select Distinct. the Data Integration Service adds an ORDER BY clause to the default SQL query. If you include a filter condition.

= ~ ` ! % ^ & * ( ) [ ] { } ' . 2. it delimits table and field names containing the following characters with double quotes: / + . 1. Note: If a customized data object uses relational data objects as sources. you must enclose any database reserved words in quotes. the Data Integration Service places quotes around matching reserved words when it executes SQL against the database. the Developer tool retains the primary key information defined in the database. select the Data Integration Service. Edit the custom properties. If you override the default query. Save the reswords.txt file." Create a section for each database by entering the database name within square brackets. < > \ | <space> Creating a Reserved Words File Create a reserved words file if any table name or column name in the customized data object contains a database reserved word. You must have administrator privileges to configure the Data Integration Service to use the reserved words file. Key Relationships You can create key relationships between sources in a customized data object when the sources are relational resources. Create a file called "reswords. Key relationships allow you to join the sources within the customized data object. [Oracle].txt file. When the Data Integration Service generates the default query. Add the reserved words to the file below the database name. When you import relational resources into a customized data object. 4. the Developer tool also retains key relationship information. 7. you cannot create key relationships within the customized data object.txt. You must create key relationships between the relational data objects instead.txt 8. Customized Data Objects 33 . ? . 3. In the Administration Console. If the file exists. for example.When the Data Integration Service runs a mapping. Restart the Data Integration Service. However. if you import related relational resources separately. you must re-create the key relationships after you import the objects into the customized data object. When you import related relational resources into a customized data object at the same time. Add the following custom property: Name Reserved Words File Value <path>\reswords. 5. For example: [Oracle] OPTION START where number [SQL Server] CURRENT where number Entries are not case-sensitive. it searches for the reswords. 6.

10. Click Add. Select the Read view. not a relational data object. If the source is a relational data object. 34 Chapter 3: Physical Data Objects . Select a primary key from the referenced source transformation. Select the source transformation where you want to create a foreign key. the Data Integration Service joins the sources based on the related keys in each source. Click OK. 5. 3. The source must be a relational resource. not a relational data object. The key relationships that you create exist in the customized data object metadata. You can create one primary key in each source transformation. 8. Open the customized data object. The New Relationship dialog box appears.column_name You can override the default join by entering a user-defined join or by creating a custom query. 7. 1. 5. The source must be a relational resource. 8. you must create keys in the relational data object. Open the customized data object. Select the Relationships properties. 2. Enter a key name. 4. 4. first create a primary key in the referenced source transformation.When key relationships exist between sources in a customized data object. Save the customized data object. Creating Keys in a Customized Data Object Create key columns to identify each row in a source transformation. 7. You do not need to alter the source relational resources. 3. 1. you must create relationships in the relational data object. Then create the relationship in the source transformation that contains the foreign key. Click Add. The default join is an inner equijoin that uses the following syntax in the WHERE clause: Source1. Click OK. Creating Relationships within a Customized Data Object You can create key relationships between sources in a customized data object.column_name = Source2. Select the source transformation where you want to create a key. 9. Select the key columns. To create key relationships in a customized data object. The New Key dialog box appears. If the source is a relational data object. If the key is a primary key. Enter a name for the foreign key. The source transformation that you reference must have a primary key. select Primary Key. Select the Read view. 2. 6. Select the Keys properties. 6.

Use the select distinct option in a customized data object to filter out unnecessary source data. 3. the Data Integration Service adds a SELECT DISTINCT statement to the default SQL query. For example. 5. Select the Query properties. 5. The filter specifies the where clause of select statment of ABAP program. 1. 6. The Data Integration Service filters out unnecessary data when you use the customized data object in a mapping. Select Distinct You can select unique values from sources in a customized data object through the select distinct option. 7. you might use the select distinct option to extract unique customer IDs from a table that lists total sales. When you enter a source filter. When you use select distinct. the Data Integration Service filters out unnecessary data earlier in the data flow. 2. Entering a Source Filter Enter a source filter to reduce the number of rows the Data Integration Service reads from the source relational resource. Enable the Select Distinct option. which can increase performance. Save the customized data object. Select the Query properties. In the Relationships properties.9. 4. 4. Select the Read view. 3. Select the Output transformation. Filter You can enter a filter value in a read operation. Save the customized data object. Use a filter to reduce the number of rows that the Data Integration Service reads from the source SAP table. 6. Using Select Distinct You can configure a customized data object to select unique values from the source relational resource. Select the simple query. Click Edit next to the Filter field. Select the simple query. 10. 1. Customized Data Objects 35 . select the foreign key columns. The SQL Query dialog box appears. When you use the customized data object in a mapping. Enter the filter condition in the SQL Query field. 7. Select the Read view. Select the Output transformation. Open the customized data object. the Developer tool adds a WHERE clause to the default query in the ABAP program. 2. Open the customized data object.

You can select column names from the Columns list. 8. 9. 10. Click OK. Click Validate to validate the filter condition. Save the customized data object.

Sorted Ports
You can use sorted ports in a customized data object to sort rows queried from the sources. The Data Integration Service adds the ports to the ORDER BY clause in the default query. When you use sorted ports, the Data Integration Service creates the SQL query used to extract source data, including the ORDER BY clause. The database server performs the query and passes the resulting data to the Data Integration Service. You might use sorted ports to increase performance when you include any of the following transformations in a mapping:
¨ Aggregator. When you configure an Aggregator transformation for sorted input, you can send sorted data by

using sorted ports. The group by ports in the Aggregator transformation must match the order of the sorted ports in the customized data object.
¨ Joiner. When you configure a Joiner transformation for sorted input, you can send sorted data by using sorted

ports. Configure the order of the sorted ports the same in each customized data object. Note: You can also use the Sorter transformation to sort relational and flat file data before Aggregator and Joiner transformations.

Using Sorted Ports
Use sorted ports to sort column data in a customized data object. When you use the customized data object as a read transformation in a mapping or mapplet, you can send sorted data to transformations downstream from the read transformation. 1. 2. 3. 4. 5. 6. Open the customized data object. Select the Read view. Select the Output transformation. Select the Query properties. Select the simple query. Click Edit next to the Sort field. The Sort dialog box appears. 7. 8. 9. To specify a column as a sorted port, click the New button. Select the column and sort type, either ascending or descending. Repeat steps 7 and 8 to select other columns to sort. The Developer tool sorts the columns in the order in which they appear in the Sort dialog box. 10. Click OK. In the Query properties, the Developer tool displays the sort columns in the Sort field. 11. 12. Click Validate to validate the sort syntax. Save the customized data object.

36

Chapter 3: Physical Data Objects

User-Defined Joins
You can enter a user-defined join in a customized data object. A user-defined join specifies the condition used to join data from multiple sources in the same customized data object. You can use a customized data object with a user-defined join as a read transformation in a mapping. The source database performs the join before it passes data to the Data Integration Service. This can improve mapping performance when the source tables are indexed. Enter a user-defined join in a customized data object to join data from related sources. The user-defined join overrides the default inner equijoin that the Data Integration creates based on the related keys in each source. When you enter a user-defined join, enter the contents of the WHERE clause that specifies the join condition. If the user-defined join performs an outer join, the Data Integration Service might insert the join syntax in the WHERE clause or the FROM clause, based on the database syntax. You might need to enter a user-defined join in the following circumstances:
¨ Columns do not have a primary key-foreign key relationship. ¨ The datatypes of columns used for the join do not match. ¨ You want to specify a different type of join, such as an outer join.

Use the following guidelines when you enter a user-defined join in a customized data object:
¨ Do not include the WHERE keyword in the user-defined join. ¨ Enclose all database reserved words in quotes. ¨ If you use Informatica join syntax, and Enable quotes in SQL is enabled for the connection, you must enter

quotes around the table names and the column names if you enter them manually. If you select tables and columns when you enter the user-defined join, the Developer tool places quotes around the table names and the column names. User-defined joins join data from related resources in a database. To join heterogeneous sources, use a Joiner transformation in a mapping that reads data from the sources. To perform a self-join, you must enter a custom SQL query that includes the self-join.

Entering a User-Defined Join
Enter a user-defined join in a customized data object to specify the join condition for the customized data object sources. 1. 2. 3. 4. 5. 6. Open the customized data object. Select the Read view. Select the Output transformation. Select the Query properties. Select the simple query. Click Edit next to the Join field. The SQL Query dialog box appears. 7. Enter the user-defined join in the SQL Query field. You can select column names from the Columns list. 8. 9. 10. Click OK. Click Validate to validate the user-defined join. Save the customized data object.

Customized Data Objects

37

Custom Queries
You can create a custom SQL query in a customized data object. When you create a custom query, you issue a special SELECT statement that the Data Integration Service uses to read source data. You can create a custom query to add sources to an empty customized data object. You can also use a custom query to override the default SQL query. The custom query you enter overrides the default SQL query that the Data Integration Service uses to read data from the source relational resource. The custom query also overrides the simple query settings you specify when you enter a source filter, use sorted ports, enter a user-defined join, or select distinct ports. You can use a customized data object with a custom query as a read transformation in a mapping. The source database executes the query before it passes data to the Data Integration Service. Use the following guidelines when you create a custom query in a customized data object:
¨ In the SELECT statement, list the column names in the order in which they appear in the source transformation. ¨ Enclose all database reserved words in quotes.

If you use a customized data object to perform a self-join, you must enter a custom SQL query that includes the self-join.

Creating a Custom Query
Create a custom query in a customized data object to issue a special SELECT statement for reading data from the sources. The custom query overrides the default query that the Data Integration Service issues to read source data. 1. 2. 3. 4. 5. 6. Open the customized data object. Select the Read view. Select the Output transformation. Select the Query properties. Select the advanced query. Select Use custom query. The Data Integration Service displays the query it issues to read source data. 7. 8. Change the query or replace it with a custom query. Save the customized data object.

Outer Join Support
You can use a customized data object to perform an outer join of two sources in the same database. When the Data Integration Service performs an outer join, it returns all rows from one source resource and rows from the second source resource that match the join condition. Use an outer join when you want to join two resources and return all rows from one of the resources. For example, you might perform an outer join when you want to join a table of registered customers with a monthly purchases table to determine registered customer activity. You can join the registered customer table with the monthly purchases table and return all rows in the registered customer table, including customers who did not make purchases in the last month. If you perform a normal join, the Data Integration Service returns only registered customers who made purchases during the month, and only purchases made by registered customers. With an outer join, you can generate the same results as a master outer or detail outer join in the Joiner transformation. However, when you use an outer join, you reduce the number of rows in the data flow which can increase performance.

38

Chapter 3: Physical Data Objects

When you include a normal join in the join override. enclose the entire join statement in braces ({Informatica syntax}). Note: Always use database-specific syntax for join conditions. You can enter multiple normal joins in the join override. Condition for the join. you must include the normal join in the join override. Use multiple normal joins and multiple left outer joins. As a result. You cannot combine left and right outer joins. enter “REG_CUSTOMER. When you use Informatica join syntax. if you have a column named FIRST_NAME in the REG_CUSTOMER table. you must override the default join. source2 join_condition For example. When you use Informatica join syntax. use the alias within the Informatica join syntax to ensure the Data Integration Service recognizes the alias. enter the normal joins first. if you create an outer join. You can combine left outer or right outer joins with normal joins in a single customized data object. To create a normal join. Source resource name. list the normal join before outer joins. When you use the Informatica join syntax. Use syntax supported by the source database. use table names to prefix column names. The Data Integration Service returns rows from this resource that match the join condition. ¨ Right. When you use database syntax. use the Informatica or database-specific join syntax. For example. you have a REG_CUSTOMER table with data for registered customers: CUST_ID 00001 FIRST_NAME Marvin LAST_NAME Chi Customized Data Objects 39 . You can enter an outer join in a user-defined join or in a custom SQL query. The Data Integration Service returns all rows for the resource to the left of the join syntax and the rows from both resources that meet the join condition. When you combine joins. Normal Join Syntax You can create a normal join using the join condition in a customized data object. You can combine multiple join conditions with the AND operator. Note: Use outer joins in nested query statements when you override the default query. use the following syntax: { source1 INNER JOIN source2 on join_condition } The following table displays the syntax for normal joins in a join override: Syntax source1 Description Source resource name. Also. the Data Integration Service translates the syntax and passes it to the source database during a mapping run. Some databases limit you to using one right outer join. However.FIRST_NAME” in the join syntax.You can enter two kinds of outer joins: ¨ Left. when you use an alias for a table name. The Data Integration Service returns all rows for the resource to the right of the join syntax and the rows from both resources that meet the join condition. The Data Integration Service returns rows from this resource that match the join condition. Informatica Join Syntax When you enter join syntax. enter syntax supported by the source database without braces.

When using left outer joins with other joins.45 255. using the same REG_CUSTOMER and PURCHASES tables described in “Normal Join Syntax” on page 39.CUST_ID = PURCHASES.CUST_ID 00002 00003 00004 FIRST_NAME Dinah John J. use the following syntax: { source1 LEFT OUTER JOIN source2 on join_condition } The following tables displays syntax for left outer joins in a join override: Syntax source1 Description Source resource name. after any normal joins in the statement. source2 join_condition For example.56 534. Condition for the join. With a left outer join.65 FIRST_NAME Dinah Dinah Marvin J. list all left outer joins together.CUST_ID = PURCHASES.65 155.79 NULL 534. contains the following data: TRANSACTION_NO 06-2000-0001 06-2000-0002 06-2000-0003 06-2000-0004 06-2000-0005 06-2000-0006 06-2000-0007 CUST_ID 00002 00002 00001 00004 00002 NULL NULL DATE 6/3/2000 6/10/2000 6/10/2000 6/15/2000 6/21/2000 6/23/2000 6/24/2000 AMOUNT 55. You can combine multiple join conditions with the AND operator. Source resource name. LAST_NAME Jones Bowden Marks The PURCHASES table.79 104. It does not include customers who made no purchases in June.65 40 Chapter 3: Physical Data Objects . refreshed monthly.95 98.56 55.45 To return rows displaying customer names for each transaction in the month of June.45 255.CUST_ID } The Data Integration Service returns the following data: CUST_ID 00002 00002 00001 00004 00002 DATE 6/3/2000 6/10/2000 6/10/2000 6/15/2000 6/21/2000 AMOUNT 55. Dinah LAST_NAME Jones Jones Chi Marks Jones The Data Integration Service returns rows with matching customer IDs. The Data Integration Service returns rows from this resource that match the join condition. you can determine how many customers bought something in June with the following join override: { REG_CUSTOMER LEFT OUTER JOIN PURCHASES on REG_CUSTOMER.79 104. It also does not include purchases made by non-registered customers. Use syntax supported by the source database. the Data Integration Service returns all rows in this resource. To create a left outer join.CUST_ID } The Data Integration Service returns the following data: CUST_ID 00001 00002 00003 00004 00002 00002 FIRST_NAME Marvin Dinah John J. You can enter multiple left outer joins in a single join override.45 98.65 325.56 534. Left Outer Join Syntax You can create a left outer join with a join override. use the following syntax: { REG_CUSTOMER INNER JOIN PURCHASES on REG_CUSTOMER.95 98.95 104. Dinah Dinah LAST_NAME Chi Jones Bowden Marks Jones Jones DATE 6/10/2000 6/3/2000 NULL 6/15/2000 6/10/2000 6/21/2000 AMOUNT 255.

95 You might use multiple left outer joins if you want to incorporate information about returns during the same time period.79 NULL 534.00) } The Data Integration Service returns the following data: CUST_ID 00001 00002 00003 00004 FIRST_NAME Marvin Dinah John J.00 in a single purchase in June: {REG_CUSTOMER LEFT OUTER JOIN PURCHASES on (REG_CUSTOMER.45 The Data Integration Service uses NULLs for missing values. If you want to create more than one right outer join.56 55.AMOUNT > 100.45 To determine how many customers made purchases and returns for the month of June. using null values for the customer who made no purchases in June. Use multiple join conditions to determine how many registered customers spent more than $100. When you use a right outer join with other joins. try reversing the order of the source resources and changing the join types to left outer joins. To create a right outer join. It does not include purchases made by non-registered customers.95 104. enter the right outer join at the end of the join override.CUST_ID AND PURCHASES.CUST_ID = PURCHASES.45 NULL 534. the RETURNS table contains the following data: CUST_ID 00002 00002 CUST_ID 6/10/2000 6/21/2000 RETURN 55. LAST_NAME Chi Jones Bowden Marks DATE 6/10/2000 6/10/2000 NULL 6/15/2000 AMOUNT 255.45 98.CUST_ID = PURCHASES. The right outer join returns the same results as a left outer join if you reverse the order of the resources in the join syntax.79 104. For example. Use only one right outer join in a join override.79 104. Dinah Dinah Dinah Dinah LAST_NAME Chi Jones Bowden Marks Jones Jones Jones Jones DATE 6/10/2000 6/3/2000 NULL 6/15/2000 6/10/2000 6/21/2000 NULL NULL AMOUNT 255. Right Outer Join Syntax You can create a right outer join with a join override.CUST_ID = PURCHASES.The Data Integration Service returns all registered customers in the REG_CUSTOMERS table. use two left outer joins: { REG_CUSTOMER LEFT OUTER JOIN PURCHASES on REG_CUSTOMER.65 NULL NULL RET_DATE NULL NULL NULL NULL NULL NULL 6/10/2000 6/21/2000 RETURN NULL NULL NULL NULL NULL NULL 55.56 104.CUST_ID } The Data Integration Service returns the following data: CUST_ID 00001 00002 00003 00004 00002 00002 00002 00002 FIRST_NAME Marvin Dinah John J. use the following syntax: { source1 RIGHT OUTER JOIN source2 on join_condition } Customized Data Objects 41 .CUST_ID LEFT OUTER JOIN RETURNS on REG_CUSTOMER.

¨ The Data Integration Service ignores semicolons within /* . select the Input transformation in the Write view. It runs post-mapping SQL commands against the source database after it writes to the target. source2 join_condition Pre. Customized Data Objects Write Properties The Data Integration Service uses write properties when it writes data to relational resources. 42 Chapter 3: Physical Data Objects . The Data Integration Service issues a commit after each statement. ¨ Use a semicolon (.) to separate multiple statements. the Data Integration Service returns all rows in this resource. The Data Integration Service runs the SQL commands when you use the customized data object in a mapping. 7. Enter a pre-mapping SQL command in the PreSQL field. and then select the Advanced properties. To edit write properties.and Post-Mapping SQL Commands You can add pre. Enter a post-mapping SQL command in the PostSQL field. Use syntax supported by the source database. You can combine multiple join conditions with the AND operator. the Data Integration Service ignores the backslash. Adding Pre. When you use the customized data object in a mapping. 3.. 6. Use the following guidelines when you enter pre. 2. even though the database might. Condition for the join. Open the customized data object.. The Data Integration Service returns rows from this resource that match the join condition. Source resource name. ¨ The Developer tool does not validate the SQL. Select the Read view. the Data Integration Service runs pre-mapping SQL commands against the source database before it reads the source.and post-mapping SQL commands in a customized data object: ¨ Use any command that is valid for the database type. Save the customized data object.and Post-Mapping SQL Commands You can create SQL commands in a customized data object that the Data Integration Service runs against the source relational resource.and post-mapping SQL commands to a customized data object. 5. ¨ If you need to use a semicolon outside comments. you can escape it with a backslash (\). When you escape the semicolon.The following table displays syntax for a right outer join in a join override: Syntax source1 Description Source resource name. With a right outer join. Select the Output transformation Select the Advanced properties. The Data Integration Service does not allow nested comments. 1. */. and it does not use the semicolon as a statement separator. 4.

Oracle. but it limits the ability to recover because no database logging occurs. Click Browse next to the Connection option and select a connection to the database. 2. Sybase. SQL command the Data Integration Service runs against the target database before it reads the source. The Data Integration Service updates all rows flagged for update. or profile. Choose Normal mode if the mapping contains an Update Strategy transformation. If you choose Normal and the Microsoft SQL Server target name includes spaces. the Data Integration Service loads targets normally. The Data Integration Service inserts all rows flagged for update. You must also select the Insert target option. . The Data Integration Service updates rows flagged for update if they exist in the target and then inserts any remaining rows marked for insert. Click Create customized data object . Click File > New > Data Object.The following table describes the write properties that you configure for customized data objects: Property Load type Description Type of target loading. If you specify Bulk for other database types. If you select Normal. Default is disabled. mapplet. configure the following environment SQL in the connection object: SET QUOTED_IDENTIFIER ON Update override Delete Overrides the default UPDATE statement for the target. You must also select the Insert target option. SQL command the Data Integration Service runs against the target database after it writes to the target. The Developer tool does not validate the SQL. You can choose Bulk when you load to DB2. Bulk loading can increase mapping performance. add sources to it. Truncates the target before it loads data. Default is enabled. . 7. The New dialog box appears.Update else insert. Click Browse next to the Location option and select the project where you want to create the customized data object. Customized Data Objects 43 . Default is enabled. 5. Deletes all rows flagged for delete. The Developer tool does not validate the SQL. 3. Select a project or folder in the Object Explorer view. 1. Inserts all rows flagged for insert. Enter a name for the customized data object. You can select one of the following strategies: . Update strategy for existing rows. 4. After you create a customized data object. Select Relational Data Object and click Next.Update as update. or Microsoft SQL Server.Update as insert. Select Normal or Bulk. the Data Integration Service reverts to a normal load. 6. Insert Truncate target table Update strategy PreSQL PostSQL Creating a Customized Data Object Create a customized data object to add to a mapping. The New Relational Data Object dialog box appears.

Before you add relational resources to a customized data object. Adding Relational Data Objects to a Customized Data Object After you create a customized data object. Open the customized data object. Adding Relational Resources to a Customized Data Object After you create a customized data object. If you add multiple resources to the customized data object. In the Object Explorer view. add sources to it. the Developer tool prompts you to select the resource to write to. the Developer tool writes data to this relational data object. The customized data object appears under Physical Data Objects in the project or folder in the Object Explorer view. You can add relational resources or relational data objects as sources. add sources to it. The Developer tool adds the relational data objects to the customized data object. If you add multiple relational data objects to the customized data object. If you use the customized data object in a mapping as a write transformation. 1. you must configure a connection to the database. mapplet. Select the customized data object and click OK.8. 5. You can use relational data objects as sources. 2. You can use relational resources as sources. Add sources to the customized data object. 2. or profile. select one or more relational resources in the same relational connection. select one or more relational data objects in the same relational connection. Drag the objects from the Object Explorer view to the customized data object Read view. 4. Select the Read view. Select Add as related resource(s) to existing customized data object and click OK. Select the object and click OK. The Developer tool adds the resources to the customized data object. 4. the Developer tool prompts you to select the object to write to. Select the resource and click OK. If you use the customized data object in a mapping as a write transformation. the Developer tool writes data to this resource. You can also use a custom SQL query to add sources. 1. The Add to Project dialog box appears. 5. The Add to Data Object dialog box appears. 3. In the Connection Explorer view. 3. You can import nonrelational data objects for the following types of connection: ¨ IMS ¨ Sequential 44 Chapter 3: Physical Data Objects . Nonrelational Data Objects Import a nonrelational data object to include in a mapping. Right-click in the Connection Explorer view and select Add to project. Click Finish.

Click Browse next to the Connection option and select a connection. 7. or profile. 4. The New Non-Relational Data Object dialog box appears. mapplet. mapplet. 3. It also allows you to update column properties for the flat file data object. 2. Click File > New > Data Object. If the data map includes multiple tables. Select Non-Relational Data Object and click Next. For more information. Before you import a nonrelational data object. 1. You can create profiles on flat file data objects. The data object appears under Data Object in the project or folder in the Object Explorer view. Select the Output transformation to edit the file run-time properties such as the source file name and directory. see the PowerExchange Navigator Guide. Edit file properties through the Overview. you can select the data map or an individual table. Select a project or folder in the Object Explorer view. the Developer tool reads the metadata for the object from its data map. Click Browse next to the Resource option and select the data map that you want to import. Enter a name for the physical data object. You can use flat file data objects as sources. After you import a flat file data object. The Read view controls the properties that the Data Integration Service uses when it reads data from the flat file. You can import fixed-width and delimited flat files that do not contain binary data. A flat file physical data object can be delimited or fixed-width. and Advanced views. and lookups in mappings and mapplets. you might need to create parameters or configure file properties. ¨ Output transformation. The Overview view allows you to edit the flat file data object name and description. A data map maps nonrelational records to relational tables so that the product can use the SQL language to access the data. Write. Defines the flat file that provides the source data. Flat File Data Objects 45 . and source file format properties. You also need to create a data map for the object.¨ VSAM When you import a nonrelational data object. Read. The Read view contains the following transformations: ¨ Source transformation. Use the PowerExchange Navigator to create data maps. Represents the rows that the Data Integration Service reads when it runs a mapping. Create parameters through the Parameters view. Flat File Data Objects Create or import a flat file data object to include in a mapping. column properties. 5. 6. Importing a Nonrelational Data Object Import a nonrelational data object to add to a mapping. Select the source transformation to edit properties such as the name and description. targets. you need to configure a connection to the database or data set. or profile. Click Finish.

the Data Integration Service can read data from the column. when the visibility is Read. Defines the flat file that accepts the target data. For numeric datatypes. precision includes scale. The Advanced view controls format properties that the Data Integration Service uses when it reads data from and writes data to the flat file. The Developer tool displays overview properties for flat files in the Overview view. Description of the flat file data object. When you create mappings that use file sources or file targets. Number of bytes that the Data Integration Service reads or writes for the column. For example. Overview properties include general properties. The following table describes the column properties that you configure for flat files: Property Name Native type Bytes to process (fixed-width flat files) Precision Description Name of the column. The Write view contains the following transformations: ¨ Input transformation. the format defines the display format for year. Flat File Data Object Overview Properties The Data Integration Service uses overview properties when it reads data from or writes data to a flat file. except for the reject file name. and time. Native datatype of the column. It also defines the field width. For datetime datatypes. and tracing level. month. For numeric datatypes. Maximum number of significant digits for numeric datatypes. which apply to the columns in the flat file data object. Select the Input transformation to edit the file run-time properties such as the target file name and directory." Determines whether the Data Integration Service can read data from or write data to the column. Scale Format Visibility 46 Chapter 3: Physical Data Objects . They also include column properties. Default is "A 19 YYYY-MM-DD HH24:MI:SS.The Write view controls the properties that the Data Integration Service uses when it writes data to the flat file. You cannot edit file properties within a mapping. the format defines the thousand separator and decimal separator. Select the target transformation to edit the name and description and the target file format properties. It cannot write data to the column. Represents the rows that the Data Integration Service writes when it runs a mapping. you can view flat file properties in the Properties view. reject file directory.) for the decimal separator. Column format for numeric and datetime datatypes. Default is no thousand separator and a period (. Maximum number of digits after the decimal point for numeric values. which apply to the flat file data object. The following table describes the general properties that you configure for flat files: Property Name Description Description Name of the flat file data object. ¨ Target transformation. day. or maximum number of characters for string datatypes.

General Properties The Developer tool displays general properties for flat file sources in the source transformation in the Read view. The visibility is always Read and Write. and format properties. day. For numeric datatypes. You can edit the name in the Overview view. month.) for the decimal separator. Description of the flat file. the format defines the display format for year. precision includes scale. Maximum number of digits after the decimal point for numeric values. Select the Output transformation to edit run-time properties. For numeric datatypes. Flat File Data Object Read Properties The Data Integration Service uses read properties when it reads data from a flat file. the format defines the thousand separator and decimal separator. The following table describes the general properties that you configure for flat file sources: Property Name Description Name of the flat file. It also defines the field width. Native datatype of the column. column. and time." Scale Format Flat File Data Objects 47 . Column format for numeric and datetime datatypes.Property Description For flat file data objects. This property is read-only. When you use the flat file as a source in a mapping. For datetime datatypes. Number of bytes that the Data Integration Service reads for the column. Description Columns Properties The Developer tool displays column properties for flat file sources in the source transformation in the Read view. Description Description of the column. or maximum number of characters for string datatypes. Default is no thousand separator and a period (. The following table describes the column properties that you configure for flat file sources: Property Name Native type Bytes to process (fixed-width flat files) Precision Description Name of the column. Maximum number of significant digits for numeric datatypes. this property is read-only. you can edit the name within the mapping. Select the source transformation to edit general. Default is "A 19 YYYY-MM-DD HH24:MI:SS.

the Data Integration Service reads two consecutive delimiters as a null value. Description Format Properties The Developer tool displays format properties for flat file sources in the source transformation in the Read view.Property Shift key (fixed-width flat files) Description Allows the user to define a shift-in or shift-out statefulness for the column in the fixed-width flat file. Use this option to skip header rows. Default is disabled. Character used to escape a delimiter character in an unquoted string if the delimiter is the next character after the escape character. Row delimiter Escape character Retain escape character in data Treat consecutive delimiters as one The following table describes the format properties that you configure for fixed-width flat file sources: Property Start import at line Description Row at which the Data Integration Service starts importing data. Use this option to skip header rows. Number of bytes to skip between records Line sequential Strip trailing blanks 48 Chapter 3: Physical Data Objects . Default is disabled. Enter 1 for UNIX files and 2 for DOS files. Causes the Data Integration Service to read a line feed character or carriage return character in the last column as the end of the column. Causes the Data Integration Service to treat one or more consecutive column delimiters as one. If you specify an escape character. Default is 1. Octal code for the character that separates rows of data. Number of bytes between the last column of one row and the first column of the next. Description of the column. the Data Integration Service reads the delimiter character as a regular character embedded in the string. Select this option if the file uses line feeds or carriage returns to shorten the last column of each row. Note: You can improve mapping performance slightly if the source file does not contain quotes or escape characters. Default is disabled. Otherwise. Default is 1. Default is 2. Strips trailing blanks from string values. Default is line feed. The following table describes the format properties that you configure for delimited flat file sources: Property Start import at line Description Row at which the Data Integration Service starts importing data. \012 LF (\n). Includes the escape character in the output string. The Data Integration Service skips the entered number of bytes at the end of each row to avoid reading carriage return characters or line feed characters.

For example.File. . you must select a shift key for each column in the flat file data object.Property Description Default is disabled. For flat file sources. This property. but does not contain shift-in and shift-out keys. If the row exceeds the larger of the line sequential buffer length or the total row size. For source files that contain a list of files. Enable this option for delimited flat files that contain null characters in strings. The machine that hosts Informatica Services must be able to access this directory. Number of bytes that the Data Integration Service reads for each line. The flat file reader reads the standard output as the flat file source data. Indicates whether the source file contains the source data or a list of files with the same file properties. add the column precision and the delimiters.Indirect. Select this option when the source file contains both multibyte and single-byte data. The following table describes the run-time properties that you configure for flat file sources: Property Input type Description Type of source input. Default is disabled. Run-time Properties The Developer tool displays run-time properties for flat file sources in the Output transformation in the Read view. Command used to generate the source file data. The Data Integration Service finds the file list and reads each listed file when it runs the mapping. the Data Integration Service generates a row error for any row that contains null characters in a string. Directory where the flat file source exists. You can choose the following types of source input: . use the following command: cd MySourceFiles. Use a command or script to send source data directly to the Data Integration Service instead of using a pre-mapping command to generate a flat file source. File name of the flat file source. For source data or a file list generated by a shell command. Line sequential buffer length Flat File Data Objects 49 . ls sales-records-Sep-*-2005. to use a directory listing as a file list. the Data Integration Service drops the row and writes it to the mapping log file. You can choose the following source file types: . For source files that contain the source data. Default is 1024.Command. Default is disabled. determines whether the Data Integration Service drops a row.dat Source type Source file name Source file directory Command Truncate string null Strips the first null character and all characters after the first null character from string values. If you do not enable this option. If a multibyte file source does not contain shift keys. and then multiply the total by the maximum bytes for each character. Use a command to generate or transform flat file data and send the standard output of the command to the flat file reader when the mapping runs.Direct. Generating source data with a command eliminates the need to stage a flat file source. together with the total row size. You can also use a command to generate a file list. To determine the total row size. Select the shift key for each column to enable the Data Integration Service to read each character correctly. User defined shift state Allows you to select the shift state for source columns in the Columns properties. .

If the files do not exist. In the Properties view. select the source transformation. You can choose the following options: . Select the target transformation to edit general and column properties. which stands for the following directory: <Informatica Services Installation Directory>\tomcat\bin Create directory if not exists Header options Header command Footer command Output type Output file directory 50 Chapter 3: Physical Data Objects . Output directory for the flat file target. . 3. 1. select the Output transformation. For example. Creates a header row in the file target. To edit run-time properties. Run-time Properties The Developer tool displays run-time properties for flat file targets in the Input transformation in the Write view. 4. 2. Command used to generate the header row in the file target. Select the Input transformation to edit run-time properties. Default is disabled. or format properties. 6. Creates a header row in the file target with the output port names .Use header command output. Default is no header. Save the flat file data object. select the properties you want to edit. Open the flat file data object. Select the Read view. Edit the properties.Output field names. Default is disabled. The following table describes the run-time properties that you configure for flat file targets: Property Append if exists Description Appends the output data to the target files and reject files. The machine that hosts Informatica Services must be able to access this directory.Configuring Flat File Read Properties Configure read properties to control how the Data Integration Service reads data from a flat file. Flat File Data Object Write Properties The Data Integration Service uses write properties when it writes data to a flat file. For example. click Columns properties or Runtime properties. . the Data Integration Service truncates the target file and reject file before writing data to them.". To edit general. Creates the target directory if it does not exist. you can use a command to add the date to a header row for the file target. Does not create a header row in the flat file target. Select File to write the target data to a flat file. If you do not select this option. Uses the command in the Header Command field to generate a header row. Default is ". 5. the Data Integration Service creates them. Command used to generate the footer row in the file target. column. Select Command to output data to a command. Type of target for the mapping.No header.

Maximum number of digits after the decimal point for numeric values. Maximum number of significant digits for numeric datatypes. The following table describes the column properties that you configure for flat file targets: Property Name Native type Bytes to process (fixed-width flat files) Precision Description Name of the column. or maximum number of characters for string datatypes. Note: This field appears when you edit a flat file target in a mapping. File name of the reject file. Native datatype of the column.Property Output file name Command Description File name of the flat file target. Description Columns Properties The Developer tool displays column properties for flat file targets in the target transformation in the Write view. For example. When you use the flat file as a target in a mapping. Reject file name General Properties The Developer tool displays general properties for flat file targets in the target transformation in the Write view. use the following command to generate a compressed file from the target data: compress -c . use any valid UNIX command or shell script. You can improve mapping performance by pushing transformation tasks to the command instead of the Data Integration Service. You can also use a command to sort or to compress target data. For numeric datatypes.> MyTargetFiles/MyCompressedFile. The flat file writer sends the data to the command instead of a flat file target.Z Reject file directory Directory where the reject file exists. On UNIX. Number of bytes that the Data Integration Service writes for the column. Column format for numeric and datetime datatypes. Scale Format Flat File Data Objects 51 . Note: This field appears when you edit a flat file target in a mapping. Command used to process the target data. This property is read-only. precision includes scale. On Windows. You can edit the name in the Overview view. you can edit the name within the mapping. The following table describes the general properties that you configure for flat file targets: Property Name Description Name of the flat file. Description of the flat file. use any valid DOS command or batch file.

select the properties you want to edit." Description Description of the column.) for the decimal separator. The following table describes the advanced properties that you configure for flat files: Property Code page Description Code page of the flat file data object. causes the Data Integration Service to write as many null characters as possible into the target field. To edit general or column properties. click Runtime properties or Columns properties.Property Description For numeric datatypes. and time. 4. The Developer tool displays advanced properties for flat files in the Advanced view. To edit run-time properties. 52 Chapter 3: Physical Data Objects . superset of Latin 1. use a code page that is a superset of the source code page and a subset of the target code page. Character used to separate columns of data. select the Input transformation. For lookup files. select the target transformation. Configuring Flat File Write Properties Configure write properties to control how the Data Integration Service writes data to a flat file. 5. In the Properties view. Save the flat file data object. Null character type. Edit the properties. the Data Integration Service enters one null character at the beginning of the field to represent a null value. 2. For target files. month. For datetime datatypes. use a source code page that is a subset of the target code page. Default is disabled. For example. day. Format Delimiters (delimited flat files) Null character type (fixedwidth flat files) Null character (fixed-width flat files) Repeat null character (fixedwidth flat files) Character used to represent a null value. causes the Data Integration Service to read repeat null characters in a single field as one null value. Default is no thousand separator and a period (. either text or binary. The null character can be any valid character in the file code page or any binary value from 0 to 255. Flat File Data Object Advanced Properties The Data Integration Service uses advanced properties when it reads data from or writes data to a flat file. the format defines the thousand separators and decimal separators. If you do not enable this option. use a code page that is a superset of the source code page Default is "MS Windows Latin 1 (ANSI). the format defines the display format for year. either delimited or fixed-width. 6. For source files. It also defines the field width. Default is "A 19 YYYY-MM-DD HH24:MI:SS. For source files. 1. Select the Write view." Format for the flat file. For target files. Open the flat file data object. 3.

or profile. Quote character that defines the boundaries of text strings. Text Qualifier 12. 1. 5. The data object appears under Data Object in the project or folder in the Object Explorer view. click Next. 3. Delimiters must be printable characters and must be different from the configured escape character and the quote character. Controls the amount of detail in the mapping log file. Optionally. The New Flat File Data Object dialog box appears. 7. Select Delimited or Fixed-width. Configure the following properties: Property Delimiters Description Character used to separate columns of data. Select Physical Data Objects > Flat File Data Object and click Next.). 11. Default is a period (. Click Next. Select a project or folder in the Object Explorer view. mapplet. If you selected Fixed-width. Select a code page that matches the code page of the data in the file. Flat File Data Objects 53 . 8. You cannot select unprintable multibyte characters as delimiters. 4. Default is None. 2. Importing a Fixed-Width Flat File Data Object Import a fixed-width flat file data object when you have a fixed-width flat file that defines the metadata you want to include in a mapping. Use the Other field to enter a different delimiter. Select Create as Empty. Click Finish. Thousand separator Decimal separator Tracing level Creating a Flat File Data Object Create a flat file data object to define the data object columns and rows. If you selected Delimited. Enter a name for the data object.Property Datetime format Description Defines the display format and the field width for datetime values. the Developer tool ignores delimiters within a pair of quotes. click Browse to select a project or folder for the data object. Default is "A 19 YYYY-MM-DD HH24:MI:SS. 9. If you select a quote character. Decimal separator for numeric values. Click File > New > Data Object. 6." Thousand separator for numeric values. 10. click Finish. Note: This field appears when you edit a flat file source or target in a mapping.

Click Next. 4. Or. Click Finish. double-click a column break to delete it. 2. Select a project or folder in the Object Explorer view. or profile. mapplet. The data object appears under Data Object in the project or folder in the Object Explorer view. 14. Click File > New > Data Object. 11. the Developer tool uses data in the first row for column names. Enter a name for the data object. Select a code page that matches the code page of the data in the file. edit the maximum number of rows to preview. Start Import At Row 13. 4. 10. The New Flat File Data Object dialog box appears. The wizard names the data object the same name as the file you selected. 54 Chapter 3: Physical Data Objects . if you specify to start at the second row. For example. 7. Select Fixed-Width. Optionally. 1. Select Physical Data Objects > Flat File Data Object and click Next. Optionally. Enter a name for the data object. edit the data object name.1. 3. 9. Importing a Delimited Flat File Data Object Import a delimited flat file data object when you have a delimited flat file that defines the metadata you want to include in a mapping. Click Next. Select Physical Data Objects > Flat File Data Object and click Next. You can move column breaks by dragging them. Click File > New > Data Object. follow the directions in the wizard to manipulate the column breaks in the file preview window. The New Flat File Data Object dialog box appears. the Developer tool skips the first row before reading. The New dialog box appears. 5. Click Open. 3. Click Browse and navigate to the directory that contains the file. Row number at which the Data Integration Service starts reading when it imports the file. 8. Click Next to preview the physical data object. The New dialog box appears. Click Edit Breaks to edit column breaks. 2. 5. Click Browse and navigate to the directory that contains the file. 6. Select this option if column names appear in the first row. 12. Or. 15. Configure the following properties: Property Import Field Names From First Line Description If selected.

12. Click Open. Preface an octal code with a backslash (\).6. 13. the Data Integration Service reads two consecutive delimiters as a null value. edit the maximum number of rows to preview. Specify a line break character. Character immediately preceding a column delimiter character embedded in an unquoted string. 8. When you specify an escape character. 10. Removes the escape character in the output string. Select a code page that matches the code page of the data in the file. the Developer tool ignores delimiters within pairs of quotes. Default is line-feed. The Developer tool prefixes "FIELD_" to field names that are not valid. If selected. the Developer tool skips the first row before reading. 9. Flat File Data Objects 55 . 7. The Data Integration Service uses only the first character when the entry is not preceded by a backslash. Click Finish. If you select a quote character. To use a single character. Click Next to preview the data object. the Developer tool uses data in the first row for column names. Quote character that defines the boundaries of text strings. Click Next. 15. enter the character. Optionally. Select this option if column names appear in the first row. Row number at which the Data Integration Service starts reading when it imports the file. and no other character in the code page can contain that byte. Text Qualifier Import Field Names From First Line Row Delimiter Escape Character Start Import At Row Treat Consecutive Delimiters as One Remove Escape Character From Data 14. the Data Integration Service reads one or more consecutive column delimiters as one. the Data Integration Service reads the delimiter character as a regular character. The wizard names the data object the same name as the file you selected. edit the data object name. The character must be a single-byte character. Click Next. Optionally. if you specify to start at the second row. You cannot select nonprinting multibyte characters as delimiters. \012 LF (\n). Configure the following properties: Property Delimiters Description Character used to separate columns of data. Select Delimited. For example. or immediately preceding the quote character in a quoted string. Otherwise. Delimiters must be printable characters and must be different from the configure escape character and the quote character. The data object appears under Data Object in the project or folder in the Object Explorer view. 11. Select from the list or enter a character. If selected. Use the Other field to enter a different delimiter.

right-click the object in the Object Explorer view. select the Synchronize input and output option in the Overview properties of the customized data object. The Developer tool adds the column to the customized data object. and you add a column to the relational data object. Before you create an SAP data object. a customized data object uses a relational data object as a source. To synchronize any physical data object. the Developer tool reimports the object metadata from the source you select. you can retain or overwrite the key relationships you define in the Developer tool. Enter the table names or select them to add to the data object: ¨ Navigate to the SAP table or tables that you want to import and click OK. Click Browse next to the Location option and select the target project or folder. When you synchronize relational data objects or customized data objects. For example. SAP data objects are physical data objects that use SAP as the source. 9. Creating an SAP Data Object Create an SAP data object to add to a mapping. mapplet. The New SAP Data Object dialog box appears. or profile. ¨ Enter the table name or the description of the table you want to import in the Resource field. 3. you need to configure a connection to the enterprise application. 4. Synchronization You can synchronize physical data objects when their sources change. 5. Select SAP Data Object and click Next. 2. mapplet. Click File > New > Data Object. and select Synchronize. 56 Chapter 3: Physical Data Objects . 6. Select a project or folder in the Object Explorer view. you can include wildcard characters and separate multiple table names with a comma. You can configure a customized data object to be synchronized when its sources change. 8. 1. The Add sources to the data object dialog box appears. The data object appears under Data Object in the project or folder in the Object Explorer view. Click Add next to the Resource option. When you enter a table name. Optionally enter a name for the physical data object. To synchronize a customized data object when its sources change. Click Finish. 7.SAP Data Objects Import an SAP data object to include in a mapping. or profile. Click Browse next to the Connection option and select an SAP connection from which you want to import the SAP table metadata. When you synchronize a physical data object. You can synchronize all physical data objects. You can also add tables to an SAP data object after you create it.

MyClient: C:\MySourceFiles\MyFile. use the network path as the source file directory. The source file directory is "C: \MySourceFiles. but the database default schema has a different name. Update the relational data object or the source transformation and enter the correct resource owner name. The owner name appears in the relational data object or the source transformation Advanced properties. you create a flat file data object by importing the following file on your local machine. change the source file directory from "C:\MySourceFiles" to "\\MyClient\MySourceFiles. where the table does not exist." When you preview the file. I get an error saying that the system cannot find the path specified. Verify that the resource owner name is correct.csv In the Read view. If the user name and schema from which the table is imported match. Troubleshooting Physical Data Objects 57 . select the Runtime properties in the Output transformation. To work around this issue. For example. For example. When you import a relational resource. the Data Integration Service returns an error when you preview the file." Share the "MySourceFiles" directory so that the machine that hosts Informatica Services can access it. preview fails because the Data Integration Service executes the preview query against the database default schema.Troubleshooting Physical Data Objects I am trying to preview a relational data object or a customized data object source transformation and the preview fails. the Data Integration Service tries to locate the file in the "C:\MySourceFiles" directory on the machine that hosts Informatica Services. If the directory does not exist on the machine that hosts Informatica Services. Verify that the machine that hosts Informatica Services can access the source file directory. I am trying to preview a flat file data object and the preview fails. the Developer tool imports the owner name when the user name and schema from which the table is imported do not match.

59 ¨ Mapping Objects. 63 ¨ Mapping Validation. 58 ¨ Developing a Mapping. 61 ¨ Propagating Port Attributes. and write data. They can be linked by transformation objects that define the rules for data transformation. 60 ¨ Linking Ports. When a mapping becomes invalid. 67 ¨ Segments. Mappings might become invalid even though you do not edit the mapping. The Data Integration Service uses the instructions configured in the mapping to read. 66 ¨ Running a Mapping. When object metadata changes. 67 Mappings Overview A mapping is a set of inputs and outputs that represent the data flow between sources and targets.CHAPTER 4 Mappings This chapter includes the following topics: ¨ Mappings Overview. The following objects are stored as independent objects in the repository: ¨ Logical data objects ¨ Physical data objects 58 . transform. You can create the following types of mapping in the Developer tool: ¨ Mapping with physical data objects as the input and output ¨ Logical data object mapping with a logical data object as the mapping input or output ¨ Virtual table mapping with a virtual table as the mapping output Object Dependency in a Mapping A mapping is dependent on some objects that are stored as independent objects in the repository. 59 ¨ Creating a Mapping. the Data Integration Service cannot run it. The type of input and output you include in a mapping determines the type of mapping. the Developer tool tracks the effects of these changes on mappings.

¨ Reusable transformations ¨ Mapplets

A mapping is dependent on these objects. The following objects in a mapping are stored as dependent repository objects:
¨ Virtual tables. Virtual tables are stored as part of an SQL data service. ¨ Non-reusable transformations that you build within the mapping. Non-reusable transformations are stored

within the mapping only.

Developing a Mapping
Develop a mapping to read, transform, and write data according to your business needs. 1. 2. Determine the type of mapping you want to create: logical data object, virtual table, or a mapping with physical data objects as input and output. Create input, output, and reusable objects that you want to use in the mapping. Create physical data objects, logical data objects, or virtual tables to use as mapping input or output. Create reusable transformations that you want to use. If you want to use mapplets, you must create them also. Create the mapping. Add objects to the mapping. You must add input and output objects to the mapping. Optionally, add transformations and mapplets. Link ports between mapping objects to create a flow of data from sources to targets, through mapplets and transformations that add, remove, or modify data along this flow. Validate the mapping to identify errors. Save the mapping to the Model repository.

3. 4. 5. 6. 7.

After you develop the mapping, run it to see mapping output.

Creating a Mapping
Create a mapping to move data between flat file or relational sources and targets and transform the data. 1. 2. 3. 4. Select a project or folder in the Object Explorer view. Click File > New > Mapping. Optionally, enter a mapping name. Click Finish. An empty mapping appears in the editor.

Developing a Mapping

59

Mapping Objects
Mapping objects determine the data flow between sources and targets. Every mapping must contain the following objects:
¨ Input. Describes the characteristics of the mapping source. ¨ Output. Describes the characteristics of the mapping target.

A mapping can also contain the following components:
¨ Transformation. Modifies data before writing it to targets. Use different transformation objects to perform

different functions.
¨ Mapplet. A reusable object containing a set of transformations that you can use in multiple mappings.

When you add an object to a mapping, you configure the properties according to how you want the Data Integration Service to transform the data. You also connect the mapping objects according to the way you want the Data Integration Service to move the data. You connect the objects through ports. The editor displays objects in the following ways:
¨ Iconized. Shows an icon of the object with the object name. ¨ Normal. Shows the columns and the input and output port indicators. You can connect objects that are in the

normal view.

Adding Objects to a Mapping
Add objects to a mapping to determine the data flow between sources and targets. 1. 2. 3. 4. 5. Open the mapping. Drag a physical data object to the editor and select Read to add the data object as a source. Drag a physical data object to the editor and select Write to add the data object as a target. To add a Lookup transformation, drag a physical data object from the Data Sources folder in the Object Explorer view to the editor and select Lookup. To add a reusable transformation, drag the transformation from the Transformation folder in the Object Explorer view to the editor. Repeat this step for each reusable transformation you want to add. 6. To add a non-reusable transformation, select the transformation on the Transformation palette and drag it to the editor. Repeat this step for each non-reusable transformation you want to add. 7. 8. Configure ports and properties for each non-reusable transformation. Optionally, drag a mapplet to the editor.

One to One Links
Link one port in an input object or transformation to one port in an output object or transformation.

60

Chapter 4: Mappings

One to Many Links
When you want to use the same data for different purposes, you can link the port providing that data to multiple ports in the mapping. You can create a one to many link in the following ways:
¨ Link one port to multiple transformations or output objects. ¨ Link multiple ports in one transformation to multiple transformations or output objects.

For example, you want to use salary information to calculate the average salary in a bank branch through the Aggregator transformation. You can use the same information in an Expression transformation configured to calculate the monthly pay of each employee.

Linking Ports
After you add and configure input, output, transformation, and mapplet objects in a mapping, complete the mapping by linking ports between mapping objects. Data passes into and out of a transformation through the following ports:
¨ Input ports. Receive data. ¨ Output ports. Pass data. ¨ Input/output ports. Receive data and pass it unchanged.

Every input object, output object, mapplet, and transformation contains a collection of ports. Each port represents a column of data:
¨ Input objects provide data, so they contain only output ports. ¨ Output objects receive data, so they contain only input ports. ¨ Mapplets contain only input ports and output ports. ¨ Transformations contain a mix of input, output, and input/output ports, depending on the transformation and its

application. To connect ports, you create a link between ports in different mapping objects. The Developer tool creates the connection only when the connection meets link validation and concatenation requirements. You can leave ports unconnected. The Data Integration Service ignores unconnected ports. When you link ports between input objects, transformations, mapplets, and output objects, you can create the following types of link:
¨ One to one ¨ One to many

You can manually link ports or link ports automatically.

Manually Linking Ports
You can manually link one port or multiple ports. Drag a port from an input object or transformation to the port of an output object or transformation. Use the Ctrl or Shift key to select multiple ports to link to another transformation or output object. The Developer tool links the ports, beginning with the top pair. It links all ports that meet the validation requirements. When you drag a port into an empty port, the Developer tool copies the port and creates a connection.
Linking Ports 61

Rules and Guidelines for Linking Ports Certain rules and guidelines apply when you link ports. Select an object in the To window to link to. 4. click Advanced to link ports based on prefixes or suffixes. Linking Ports by Position When you link by position. Link by name when you use the same port names across transformations. Linking Ports by Name When you link ports by name. The Auto Link dialog box appears. 4. Select Name. The Developer tool links the first output port to the first input port. Use prefixes or suffixes to indicate where ports occur in a mapping. and so forth. Select Position and click OK.Automatically Linking Ports When you link ports automatically. and so forth. 3. you can link by position or by name. 2. You can link ports based on prefixes and suffixes that you define. ¨ Follow the logic of data flow in the mapping. Select an object in the To window to link to. . 5. Use the following rules and guidelines when you connect mapping objects: ¨ If the Developer tool detects an error when you try to link ports between two mapping objects. 62 Chapter 4: Mappings . When you link ports automatically by name. You can link the following types of port: . 1. you can specify a prefix or suffix by which to link the ports.The receiving port must be an input or input/output port. the Developer tool links the first output port to the first input port. 2. The Auto Link dialog box appears. 3. Link by position when you create transformations with related ports in the same order. Click OK. 1. Click Mapping > Auto Link. Select an object in the From window to link from. the Developer tool adds links between input and output ports that have the same name. it displays a symbol indicating that you cannot link the ports. Link by name and prefix or suffix when you use prefixes or suffixes in port names to distinguish where they occur in the mapping or mapplet. Click Mapping > Auto Link. Select an object in the From window to link from. the second output port to the second input port. Linking by name is not case sensitive.The originating port must be an output or input/output port. Use prefixes or suffixes to indicate where ports occur in a mapping. 6. the second output port to the second input port. Optionally.

Select the attributes you want to propagate. select a port in a transformation. Click Mapping > Propagate Attributes. 5. Optionally. Dependency Types When you propagate port attributes. ¨ You must link at least one port of an input group to an upstream transformation.You cannot link input ports to input ports or output ports to output ports. The Data Integration Service cannot transform data between ports with incompatible datatypes. or target. 4. Click Apply. 2. The Propagate Attributes dialog box appears. Propagating Port Attributes Propagate port attributes to pass changed attributes to a port throughout a mapping. the Developer tool updates dependencies. The Developer tool can update the following dependencies: ¨ Link path dependencies ¨ Implicit dependencies Link Path Dependencies A link path dependency is a dependency between a propagated port and the ports in its link path. The Developer tool verifies that it can map between the two datatypes before linking them. ¨ You can link ports from two output groups in the same transformation to one Joiner transformation configured for sorted data if the data from both output groups is sorted.. ¨ You cannot connect an active transformation and a passive transformation to the same downstream transformation or transformation input group. 1. 3. Select a direction to propagate attributes. 6. The Developer tool propagates the port attributes. ¨ You must link at least one port of an output group to a downstream transformation. ¨ You can only link ports with compatible datatypes. preview the results. ¨ You cannot connect more than one active transformation to the same downstream transformation or transformation input group. transformation input group. In the mapping canvas. ¨ You can connect any number of passive transformations to the same downstream transformation. ¨ The Developer tool marks some mappings invalid if the mapping violates data flow validation. ¨ You can link ports from one active transformation or one output group of an active transformation to an input group of another transformation. Propagating Port Attributes 63 .

when you change the datatype of a port that is used in a lookup condition and propagate that change from the Lookup transformation. scale. Port name. You can also parse conditions and expressions to identify the implicit dependencies of the propagated port. All ports with implicit dependencies are output or input/output ports. When you include conditions. ¨ Updates all expressions or conditions that reference the propagated port with the changed port name. scale. Propagated Attributes None. the Developer tool does not propagate the change to the other port dependent on the condition in the same Lookup transformation. precision. datatype. Implicit Dependencies An implicit dependency is a dependency within a transformation between two ports based on an expression or condition. You must propagate the changed attributes from another transformation. precision. The following table describes the dependencies and attributes the Developer tool propagates for each transformation: Transformation Address Validator Dependency None. datatype. This transform has predefined port names and datatypes. the Developer tool updates the following dependencies: ¨ Link path dependencies ¨ Output ports used in the same lookup condition as the propagated port ¨ Associated ports in dynamic Lookup transformations that are associated with the propagated port ¨ Master ports used in the same join condition as the detail port When you include expressions. and description to ports with implicit dependencies. ¨ Updates the associated port property in a dynamic Lookup transformation if the associated port name changes. precision. scale. and description for all ports in the link path of the propagated port. description Port name Datatype. scale Port name. the Developer tool updates the following dependencies: ¨ Link path dependencies ¨ Output ports containing an expression that uses the propagated port The Developer tool does not propagate to implicit dependencies within the same transformation. You can propagate datatype. precision. The Developer tool performs the following updates: ¨ Updates the port name. datatype. For example.When you propagate dependencies in a link path. scale. description Aggregator - Ports in link path Expression Implicit dependencies Association - Ports in link path 64 Chapter 4: Mappings . Propagated Port Attributes by Transformation The Developer tool propagates dependencies and attributes for each transformation. the Developer tool updates all the input and input/output ports in its forward link path and all the output and input/output ports in its backward link path. precision.

scale Port name. datatype. description Port name. scale. precision. scale. description Port name Port name. datatype. precision. scale. precision. scale. scale. datatype. description Port name Port name. scale. precision. This transform has predefined port names and datatypes. scale. description Port name Datatype. precision. description Port name. precision. precision. scale. precision. precision. scale. datatype. precision. precision. datatype. precision. description Port name Port name Datatype. scale. description Port name. description Port name. description Comparison - Ports in link path - Consolidator None. precision. datatype. description Expression - Ports in link path Expression Implicit dependencies Filter - Ports in link path Condition Joiner - Ports in link path Condition Implicit Dependencies - Key Generator - Ports in link path Labeler - Ports in link path - Lookup - Ports in link path Condition Associated ports (dynamic lookup) Implicit Dependencies - Match - Ports in link path Merge - Ports in link path - Parser - Ports in link path - Rank - Ports in link path Expression Implicit dependencies - Router - Ports in link path Condition Sorter - Ports in link path - Propagating Port Attributes 65 . datatype. datatype. datatype. datatype. scale. scale Port name. None. precision. description Port name Datatype. description Port name. datatype. precision. scale Port name. scale. description Port name Datatype. precision. datatype. precision. scale Port name. precision. datatype. scale. scale.Transformation Case Converter Dependency Ports in link path Propagated Attributes Port name. description Port name. Port name. datatype.

datatype. The Developer tool considers the following types of validation: ¨ Connection ¨ Expression ¨ Object ¨ Data flow Connection Validation The Developer tool performs connection validation each time you connect ports in a mapping and each time you validate a mapping. precision. precision. description Port name. you must configure it so the Data Integration Service can read and process the entire mapping. the Developer tool generates an error and invalidates the mapping. scale Port name. datatype. precision.Transformation SQL Dependency Ports in link path Propagated Attributes Port name. description Port name. description Standardizer - Ports in link path - Union - Ports in link path Implicit dependencies - Update Strategy - Ports in link path Expression Implicit dependencies - Weighted Average - Ports in link path Mapping Validation When you develop a mapping. precision. ¨ At least one mapplet input port and output port is connected to the mapping. datatype. 66 Chapter 4: Mappings . such as Char and Varchar. datatype. description Datatype. You can however. precision. the Developer tool verifies that you make valid connections. datatype. When you connect ports. The Developer tool makes the following connection validations: ¨ At least one input object and one output object are connected. If you change a port datatype to one that is incompatible with the port it is connected to. scale. the Developer tool verifies that the connections are valid and that all required ports are connected. scale Port name. When you validate a mapping. ¨ Datatypes between ports are compatible. scale. precision. description Port name Datatype. change the datatype if it remains compatible with the connected ports. scale. scale. scale. precision. The Developer tool marks a mapping invalid when it detects errors that will prevent the Data Integration Service from running sessions associated with the mapping.

Click Edit > Validate. If any object changes while you are not configuring the mapping. the Developer tool tracks the effects of these changes on the mappings. If any object changes while you configure the mapping. or virtual stored procedure. mapplet. or virtual stored procedure. 1. such as Input transformations or mapplets. Open a the object that contains the segment you want to copy. If you have not selected a default Data Integration Service. The Data Integration Service runs the mapping and writes the output to the target. rule. 1. Select a segment by highlighting each object you want to copy. the Developer tool marks the mapping as invalid. 2. Object Validation When you validate a mapping. Errors appear in the Validation Log view. Before you can run a mapping.Expression Validation You can validate an expression in a transformation while you are developing a mapping. the mapping might contain errors. the Developer tool prompts you to select one. the Developer tool verifies that the definitions of the independent objects. Running a Mapping Run a mapping to move output from sources to targets and transform data. Validating a Mapping Validate a mapping to ensure that the Data Integration Service can read and process the entire mapping. Running a Mapping 67 . target. Fix errors and validate the mapping again. u Right-click an empty area in the editor and click Run Mapping. match the instance in the mapping. You also need to select a default Data Integration Service. you need to configure a Data Integration Service in the Administrator tool. A segment can include a source. If you delete input ports used in an expression. mapplet. or mapplet. Copying a Segment You can copy a segment when you want to reuse a portion of the mapping logic in another mapping. Segments A segment consists of one or more objects in a mapping. transformation. rule. If you did not correct the errors. 2. error messages appear in the Validation Log view when you validate the mapping.

Hold down the Ctrl key to select multiple objects. rule. 68 Chapter 4: Mappings . 3. or virtual stored procedure. Open a target mapping. Click Edit > Copy to copy the segment to the clipboard. 4. You can also select segments by dragging the pointer in a rectangle around objects in the editor. Click Edit > Paste. mapplet. 5.

73 ¨ Setting the Optimizer Level for a Deployed Mapping. The Data Integration Service applies the early projection optimization method to the mapping. You might be able to improve mapping performance by updating mapping optimizer level through the mapping configuration or mapping deployment properties. predicate optimization. It runs the mapping exactly as you designed it. The Data Integration Service uses the normal optimizer level. ¨ Full. The Data Integration Service applies the early projection. You set the optimizer level for a mapping in the mapping configuration or mapping deployment properties. the Developer tool uses the optimizer level in the selected data viewer configuration.CHAPTER 5 Performance Tuning This chapter includes the following topics: ¨ Performance Tuning Overview. 74 Performance Tuning Overview The Developer tool contains features that allow you to tune the performance of mappings. ¨ Minimal. When you preview mapping output. ¨ From the command line. You can also preview mapping output. The Data Integration Service applies different optimizer levels to the mapping depending on how you run the mapping. early selection. and semi- join optimization methods to the mapping. If you notice that a mapping takes an excessive amount of time to run. The Data Integration Service uses the optimizer level in the selected mapping configuration. early selection. 69 . The optimizer level determines which optimization methods the Data Integration Service applies to the mapping at run-time. 70 ¨ Setting the Optimizer Level for a Developer Tool Mapping. ¨ Normal. The Data Integration Service applies the early projection. 69 ¨ Optimization Methods. You can run a mapping in the following ways: ¨ From the Run menu or mapping editor. ¨ From the Run dialog box. The Data Integration Service does not optimize the mapping. you might want to change the optimizer level for the mapping. and predicate optimization methods to the mapping. This is the default optimizer level. The Data Integration Service uses the optimizer level in the application's mapping deployment properties. You can choose one of the following optimizer levels: ¨ None.

The Data Integration Service can apply multiple optimization methods to a mapping at the same time. 70 Chapter 5: Performance Tuning . it does not remove the following links: ¨ Links connected to a Custom transformation ¨ Links connected to transformations that call an ABORT() or ERROR() function. The Data Integration Service attempts to reduce the amount of data that passes through a mapping by identifying unused ports and removing the links between those ports. complex mappings. The Data Integration Service applies this optimization method when you select full optimizer level. it removes the links between all unused ports from the mapping. or call a stored procedure If the Data Integration Service determines that all ports in a transformation are unused. In large. ¨ Semi-join. it removes all transformation links except the link to the port with the least data. select an optimizer level for the mapping. When the Data Integration Service processes a mapping. The Data Integration Service does not remove the unused transformation from the mapping. The Data Integration Service applies this optimization method when you select the normal or full optimizer level. it moves the data from all connected ports in a mapping from one transformation to another. send email. ¨ Early selection. it applies the early projection. and predicate optimization methods when you select the normal optimizer level. The Data Integration Service attempts to reduce the amount of data that passes through a mapping by applying the filters as early as possible. The Data Integration Service attempts to improve mapping performance by inferring new predicate expressions and by simplifying and rewriting the predicate expressions generated by a mapping or the transformations within the mapping. Early Selection Optimization Method The early selection optimization method applies the filters in a mapping as early as possible. normal. Early Projection Optimization Method The early projection optimization method causes the Data Integration Service to identify unused ports and remove the links between those ports. The optimizer level controls the optimization methods that the Data Integration Service applies to a mapping. or full optimizer level. The Data Integration Service applies this optimization method when you select the minimal. The Data Integration Service applies this optimization method when you select the normal or full optimizer level. or in mappings that use nested mapplets. The Data Integration Service does not remove all links. The Data Integration Service can apply the following optimization methods: ¨ Early projection. early selection. some ports might not ultimately supply data to the target. For example. For example. The Data Integration Service attempts to reduce the amount of data extracted from the source by decreasing the size of one of the join operand data sets. After the Data Integration Service identifies unused ports. ¨ Predicate optimization. Identifying and removing links between unused ports improves performance by reducing the amount of data the Data Integration Service moves across transformations. The early projection method causes the Data Integration Service to identify the ports that do not supply data to the target. The Developer tool enables this optimization method by default.Optimization Methods To increase mapping performance.

The Data Integration Service does not move a Filter transformation upstream in the mapping if doing so changes the mapping results. In the early selection method. The filter and join conditions in Filter and Joiner transformations are examples of predicate expressions. moves. the Data Integration Service splits. it cannot move a Filter transformation upstream of the following transformations: ¨ Custom transformations ¨ Transformations that call an ABORT() or ERROR() function. moving the Filter transformation upstream nearly doubles the number of times it is called. "A>100" and "B<50. The generated queries and operations often involve predicate expressions. This optimization method causes the Data Integration Service to examine the predicate expressions generated by a mapping or the transformations within a mapping to determine whether the expressions can be simplified or rewritten to increase performance of the mapping. The Data Integration Service also attempts to apply predicate expressions as early as possible to improve mapping performance. send email. the Filter transformation must evaluate "f(P1)>1" for every row in source port "P1. If the Data Integration Service moves the Filter transformation upstream of the Expression transformation. a mapping contains source ports "P1" and "P2. Moving the filter conditions closer to the source reduces the number of rows that pass through the mapping. For example. For example. the Data Integration Service might split the filter condition "A>100 AND B<50" into two simpler conditions. COUNT=COUNT+1 ¨ Transformations that create branches in the mapping. or call a stored procedure ¨ Transformations that maintain count through a variable port. For example. You might want to disable this method if it does not increase performance." "P1" is connected to an Expression transformation that evaluates "P2=f(P1). which might degrade performance. splits and moves. It removes a Filter transformation when it can apply the filter condition to the transformation logic of the transformation immediately upstream of the original Filter transformation. it attempts to move the simplified filters up the mapping pipeline." The Expression transformation also evaluates "P2=f(P1)" for every row. Predicate Optimization Method The predicate optimization method causes the Data Integration Service to examine the predicate expressions generated by a mapping or the transformations within a mapping to determine whether the expressions can be simplified or rewritten to increase performance of the mapping. closer to the mapping source. for example. Predicate expressions represent the conditions that the data must satisfy. For example. Splitting the filter allows the Data Integration Service to move the simplified filters up the pipeline separately.Filtering data early increases performance by reducing the number of rows that pass through the mapping. The Data Integration Service cannot always move a Filter transformation." "P2" is connected to a Filter transformation with the condition "P2>1. If the function is resource intensive. The Data Integration Service might split a Filter transformation if the filter condition is a conjunction. the Data Integration Service cannot move a Filter transformation upstream if it is immediately downstream of a Router transformation with two output groups. it generates queries against the mapping sources and performs operations on the query results based on the mapping logic and the transformations within the mapping. When the Data Integration Service runs a mapping. Optimization Methods 71 . The Data Integration Service might also remove Filter transformations from a mapping. or removes the Filter transformations in a mapping. The Developer tool enables this optimization method by default." When the Data Integration Service can split a filter." The filter drops very few rows.

" The Data Integration Service might be able to add the inference "B>5" to the join condition.This method also causes the Data Integration Service to infer relationships implied by existing predicate expressions and create new predicate expressions based on the inferences. Applying both optimization methods improves mapping performance when compared to applying either method alone. the Data Integration Service applies it to the mapping. ¨ The transformation calls an ABORT() or ERROR() function. It 72 Chapter 5: Performance Tuning . ¨ Extract subexpressions from disjunctive clauses and generates multiple. The Data Integration Service might not apply predicate optimization to a mapping when the mapping contains transformations with a datatype mismatch between connected ports. For example. The Data Integration Service applies this method to a Joiner transformation when one input group has many more rows than the other and when the larger group has many rows with no match in the smaller group based on the join condition. The Data Integration Service might not apply predicate optimization to a transformation when any of the following conditions are true: ¨ The transformation contains explicit default values for connected ports. For example. a mapping contains a Joiner transformation with the join condition "A=B" and a Filter transformation with the filter condition "A>5. The Data Integration Service attempts to decrease the size of the data set of one join operand by reading the rows from the smaller group. the Data Integration Service might perform any or all of the following actions: ¨ Identify equivalent variables across predicate expressions in the mapping and generates simplified expressions based on the equivalencies. finding the matching rows in the larger group. ¨ Apply predicate expressions as early as possible in the mapping. Before applying this optimization method. ¨ Normalize a predicate expression. ¨ Identify redundant predicates across predicate expressions in the mapping and remove them. a developer might create a Custom transformation that has this restriction. it also attempts to move them upstream in the mapping through the early selection method. The Data Integration Service uses the predicate optimization method with the early selection optimization method when it can apply both methods to a mapping. when the Data Integration Service creates new filter conditions through the predicate optimization method. simplified expressions based on the subexpressions. Decreasing the size of the data set improves mapping performance because the Data Integration Service no longer reads unnecessary rows from the larger group source. The Data Integration Service applies this optimization method when it can run the mapping more quickly. Semi-Join Optimization Method The semi-join optimization method attempts to reduce the amount of data extracted from the source by modifying join operations in the mapping. For example. If the analyses determine that this method is likely to increase performance. When the Data Integration Service rewrites a predicate expression. For example. ¨ The transformation does not allow predicates to be moved. or calls a stored procedure. and then performing the join operation. The Developer tool enables this optimization method by default. the Data Integration Service performs analyses to determine whether semi-join optimization is possible and likely to be worthwhile. sends email. The Data Integration Service moves the join condition to the larger group source and reads only the rows that match the smaller group. The Data Integration Service then reanalyzes the mapping to determine whether there are additional opportunities for semi-join optimization. it applies mathematical logic to the expression to optimize it. It does not apply this method when doing so changes mapping results or worsens mapping performance.

or detail outer. The Data Integration Service does not apply semi-join optimization unless the analyses determine that there is a high probability for improved performance. Click Apply. 2. the Joiner transformation scope must be All Input. the Joiner transformation must meet the following requirements: ¨ The join type must be normal. Applying the semi-join optimization method adds some overhead time to mapping processing. 7. If the detail source is small. For the Data Integration Service to apply the semi-join optimization method to a join operation. Click Run to run the mapping. If there are multiple clauses. The semi-join optimization method might not be beneficial in the following circumstances: ¨ The Joiner transformation master source does not contain significantly fewer rows than the detail source.performs additional optimizations if appropriate. ¨ If the mapping does not use target-based commits. Open the mapping. 6. 1. Setting the Optimizer Level for a Developer Tool Mapping 73 . Select a mapping configuration that contains the optimizer level you want to apply or create a mapping configuration. ¨ The detail source is not large enough to justify the optimization. the time required to apply the semi-join method might exceed the time required to process all rows in the detail source. master outer. 5. The Run dialog box appears. The Developer tool runs the mapping with the optimizer level in the selected mapping configuration. That is. ¨ The Data Integration Service cannot get enough source row count statistics for a Joiner transformation to accurately compare the time requirements of the regular join operation against the semi-join operation. Change the optimizer level. ¨ The master and detail pipelines cannot share any transformation. Click the Advanced tab. run the mapping through the Run dialog box. ¨ The detail pipeline must originate from a relational source. Select Run > Open Run Dialog. they must be joined by AND. 3. The Developer tool does not enable this method by default. 4. To run the mapping with a different optimizer level. ¨ The mapping cannot contain a branch between the detail source and the Joiner transformation. Setting the Optimizer Level for a Developer Tool Mapping When you run a mapping through the Run menu or mapping editor. ¨ The join condition must be a valid sort-merge-join condition. if necessary. The joiner transformation cannot perform a full outer join. each clause must be an equality of one master port and one detail port. the Developer tool runs the mapping with the normal optimizer level.

Open the application that contains the mapping. Click the Advanced tab. 74 Chapter 5: Performance Tuning . After you change the optimizer level. Select the optimizer level. 3. 1. 2. you must redeploy the application. 4.Setting the Optimizer Level for a Deployed Mapping Set the optimizer level for a mapping you run from the command line by changing the mapping deployment properties in the application. Save the application. The mapping must be in an application.

77 ¨ Comparing the Output of the Data Integration Service and Sources. The Data Integration Service pushes transformation logic to the source when the transformation contains operators and functions that the source supports. The source system runs the query to process the transformation. 75 ¨ Pushdown Optimization Process. The Data Integration Service can use pushdown optimization for Filter transformations that are immediately after the source. 75 ¨ Pushdown Optimization Expressions. it pushes Filter transformation logic to the source. profiles. the source type. ¨ The Data Integration Service reads less data from the source. The amount of Filter transformation logic that the Data Integration Service can push to the source depends on the location of the Filter transformation in the mapping. and the transformation logic. The Data Integration Service processes transformation logic that it cannot push to the source. Filter pushdown optimization provides the following performance benefits: ¨ The source may be able to process Filter transformation logic faster than the Data Integration Service. and SQL data services. Note: The Data Integration Service does not push down the filter transformation logic for a mapping if the mapping optimizer level is None or Minimal. the Data Integration Service translates the Filter transformation logic into a query that uses the native syntax and sends the query to the source system. 82 Filter Pushdown Optimization Overview When the Data Integration Service uses filter pushdown optimization. 75 . Pushdown Optimization Process The Data Integration Service uses early selection optimization to move Filter transformations immediately after the source in a mapping. The Data Integration Service can push Filter transformation logic to the source when you run mappings.CHAPTER 6 Filter Pushdown Optimization This chapter includes the following topics: ¨ Filter Pushdown Optimization Overview. To push transformation logic to the source.

You can configure a specific ODBC provider for the following ODBC connection types: ¨ Sybase ASE ¨ Microsoft SQL Server Use an ODBC connection to connect to Microsoft SQL Server when the Data Integration Service runs on UNIX or Linux. When the ODBC provider is Other. the Data Integration Service can generate SQL statements using ANSI SQL or native database SQL. ¨ Oracle Pushdown Optimization to PowerExchange Nonrelational Sources For PowerExchange nonrelational data sources on z/OS systems. The Data Integration Service can push Filter transformation logic to the following native sources: ¨ IBM® DB2® for i5/OS® ¨ IBM DB2 for Linux®. When the ODBC provider is database specific. the Data Integration Service converts the literal string in the expressions to an SAP datatype. When the Data Integration Service pushes transformation logic to SAP. and a literal string.Pushdown Optimization to Native Sources When the Data Integration Service pushes transformation logic to relational sources using the native drivers. Pushdown optimization is supported for the following types of nonrelational sources: ¨ IBM IMS™ ¨ Sequential data sets ¨ VSAM Pushdown Optimization to ODBC Sources When you use ODBC to connect to a source. The Data Integration Service can push more transformation logic to the source when it generates SQL statements using the native database SQL. the Data Integration Service generates SQL statements that use the native database SQL. The source can process native database SQL faster than it can process ANSI SQL. an operator. You can specify the ODBC provider in the ODBC connection object. Use a native connection to Microsoft SQL Server when the Data Integration Service runs on Windows. UNIX®. the Data Integration Service pushes transformation logic to PowerExchange. PowerExchange tranlsates the logic into a query that the source can process. 76 Chapter 6: Filter Pushdown Optimization . and Windows® ("DB2 for LUW") ¨ IBM DB2 for z/OS ® ¨ Microsoft SQL Server The Data Integration Service can use a native connection to Microsoft SQL Server when the Data Integration Service runs on Windows. Pushdown Optimization to SAP Sources The Data Integration Service can push Filter transformation logic to SAP sources for expressions that contain a column name. the Data Integration Service can generates SQL statements using native database SQL. the Data Integration Service generates SQL statements using ANSI SQL.

The Data Integration Service can push down transformation logic that contains the TO_DATE function when TO_DATE converts a DATS, TIMS, or ACCP datatype character string to one of the following date formats:
¨ 'MM/DD/YYYY' ¨ 'YYYY/MM/DD' ¨ 'YYYY-MM-DD HH24:MI:SS' ¨ 'YYYY/MM/DD HH24:MI:SS' ¨ 'MM/DD/YYYY HH24:MI:SS'

The Data Integration Service processes the transformation logic if you apply the TO_DATE function to a datatype other than DATS, TIMS, or ACCP or if TO_DATE converts a character string to a format that the Data Integration Services cannot push to SAP. The Data Integration Service processes transformation logic that contains other Informatica functions. The Data Integration Service processes transformation logic that contains other Informatica functions. Filter transformation expressions can include multiple conditions separated by AND or OR. If conditions apply to multiple SAP tables, the Data Integration Service can push transformation logic to SAP when the SAP data object uses the Open SQL ABAP join syntax. Configure the Select syntax mode in the read operation of the SAP data object.

SAP Datatype Exceptions
The Data Integration Service processes Filter transformation logic when the source cannot process the transformation logic. The Data Integration Service processes Filter transformation logic for an SAP source when transformation expression includes the following datatypes:
¨ RAW ¨ LRAW ¨ LCHR

Pushdown Optimization Expressions
The Data Integration Service can push transformation logic to the source database when the transformation contains operators and functions that the source supports. The Data Integration Service translates the transformation expression into a query by determining equivalent operators and functions in the database. If there is no equivalent operator or function, the Data Integration Service processes the transformation logic. If the source uses an ODBC connection and you configure a database-specific ODBC provider in the ODBC connection object, the Data Integration Service considers the source to be the native source type.

Functions
The following table summarizes the availability of Informatica functions for pushdown optimization. In each column, an X indicates that the function can be pushed to the source.

Pushdown Optimization Expressions

77

Note: These functions are not available for nonrelational sources on z/OS.
Function DB2 for i5/OS DB2 for LUW X X X X X X X X X X X X X X X X X X X X X X X X X DB2 for z/OS Microsoft SQL Server X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X ODBC Oracle SAP Sybase ASE X X X X X X X X X X X X X X X

ABS() ADD_TO_DATE() ASCII() CEIL() CHR() CONCAT() COS() COSH() DATE_COMPARE() DECODE() EXP() FLOOR() GET_DATE_PART() IIF() IN() INITCAP() INSTR() ISNULL() LAST_DAY() LENGTH() LN() LOG() LOOKUP() LOWER() LPAD() LTRIM()

X

X X X X X X X X X X

78

Chapter 6: Filter Pushdown Optimization

Function

DB2 for i5/OS X X

DB2 for LUW X X

DB2 for z/OS X X X

Microsoft SQL Server X X

ODBC

Oracle

SAP

Sybase ASE X X

MOD() POWER() ROUND(DATE) ROUND(NUMBER) RPAD() RTRIM() SIGN() SIN() SINH() SOUNDEX() SQRT() SUBSTR() SYSDATE() SYSTIMESTAMP() TAN() TANH() TO_BIGINT TO_CHAR(DATE)

X X X

X

X

X

X

X X

X

X X X X

X X X X X X

X X X X

X X X X X X X X

X X X X X X X X X X X X X X X X X X X X X

X X X X X X X X X X X X X X X X X X

X X X X X X X

X X X X X X X X X X X X

X X X X X X X X X X X X

X X X X X X X X X X X X

TO_CHAR(NUMBER) X TO_DATE() TO_DECIMAL() TO_FLOAT() TO_INTEGER() TRUNC(DATE) TRUNC(NUMBER) UPPER() X X X X X X

X X

X X

X X X

X X

X X

Pushdown Optimization Expressions

79

¨ LTRIM includes more than one argument.IBM DB2 Function Exceptions The Data Integration Service cannot push supported functions to IBM DB2 for i5/OS. ¨ TO_INTEGER includes more than one argument. ¨ TRUNC truncates seconds or subseconds. The Data Integration Service processes transformation logic for IBM DB2 sources when expressions contain supported functions with the following logic: ¨ ADD_TO_DATE or GET_DATE_PART returns results with millisecond or nanosecond precision. DB2 for LUW. The Data Integration Service processes transformation logic for Microsoft SQL Server sources when expressions contain supported functions with the following logic: ¨ IN includes the CaseFlag argument. Microsoft SQL Server Function Exceptions The Data Integration Service cannot push supported functions to Microsoft SQL Server sources under certain conditions. ¨ TO_DATE converts a character string to a date without the format argument. ¨ RTRIM includes more than one argument. ¨ SYSTIMESTAMP returns the date and time with microsecond precision. ¨ TO_DATE converts a character string to a date and specifies a format that is not supported by DB2. ¨ TO_DECIMAL converts a string to a decimal value. ¨ TO_INTEGER includes more than one argument. ¨ LENGTH includes more than three arguments. 80 Chapter 6: Filter Pushdown Optimization . ¨ TO_BIGINT converts a string to a bigint value on a DB2 for LUW source. ¨ TO_BIGINT includes more than one argument. ¨ INSTR includes more than three arguments. ¨ RTRIM includes more than one argument. The Data Integration Service processes transformation logic for Oracle sources when expressions contain supported functions with the following logic: ¨ ADD_TO_DATE or GET_DATE_PART returns results with subsecond precision. ¨ TO_BIGINT includes more than one argument. ¨ ROUND rounds values to seconds or subseconds. Oracle Function Exceptions The Data Integration Service cannot push supported functions to Oracle sources under certain conditions. and DB2 for z/ OS sources under certain conditions. ¨ TO_CHAR converts a date to a character string and specifies a format that is not supported by DB2. ¨ TO_CHAR converts a date to a character string without the format argument. ¨ LTRIM includes more than one argument. ¨ TO_FLOAT converts a string to a double-precision floating point number. ¨ TO_INTEGER converts a string to an integer value on a DB2 for LUW source.

Operators The following table summarizes the availability of Informatica operators by source type. the Data Integration Service considers the source to be the native source type. ¨ TO_INTEGER includes more than one argument. ¨ RTRIM includes more than one argument. or z/OS X Microsoft SQL Server X Nonrelational ODBC Oracle SAP Sybase ASE X + * / % || = > < >= <= <> != ^= X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Pushdown Optimization Expressions 81 . Note: Nonrelational sources are IMS. ¨ TRUNC(Numbers) includes more than one argument. ¨ INSTR includes more than two arguments. and sequential data sets on z/OS. ¨ LTRIM includes more than one argument. Operator DB2 for i5/OS. In each column. ¨ TO_BIGINT includes more than one argument.ODBC Function Exception The Data Integration Service processes Filter transformation logic for ODBC when the CaseFlag argument for the IN function is a number other than zero. an X indicates that the operator can be pushed to the source. The Data Integration Service processes transformation logic for Sybase ASE sources when expressions contain supported functions with the following logic: ¨ IN includes the CaseFlag argument. LUW. VSAM. Note: When the ODBC connection object properties include a database-specific ODBC provider. Sybase ASE Function Exceptions The Data Integration Service cannot push supported functions to Sybase ASE sources under certain conditions.

the database can add a space or leading zero to values such as a single-digit month. LUW. If the time zone of the machine that hosts the database is not the same as the time zone of the machine that runs the Data Integration Service process.2E9. or z/OS X Microsoft SQL Server X Nonrelational ODBC Oracle SAP Sybase ASE X AND OR NOT X X X X X X X X X Comparing the Output of the Data Integration Service and Sources The Data Integration Service and sources can produce different results when processing the same transformation logic. For example.’ The two sets of characters represent the same value. it returns rows that match the values ‘Ca. However.’ However. When the Data Integration Service pushes transformation logic to the source. the Data Integration Service uses case-sensitive queries and the database does not. A Filter transformation uses the following filter condition: IIF(col_varchar2 = ‘CA’. 82 Chapter 6: Filter Pushdown Optimization . The database might convert numeric values to an unacceptable character format. Precision The Data Integration Service and a database can have different precision for particular datatypes. single-digit day.Operator DB2 for i5/OS. The results can vary if the database uses a different precision than the Data Integration Service.’ Numeric values converted to character values The Data Integration Service and a database can convert the same numeric value to a character value in different formats. When the Data Integration Service converts the number to a character value. when you push the transformation logic to the database. or single-digit hour.’ ‘cA. Use the TO_DATE functions to compare date or time values.’ ‘ca. TRUE.’ However. The database comparison results can be different from the results of the Data Integration Service when the database adds a space or a leading zero. Case sensitivity The Data Integration Service and a database can treat case sensitivity differently.’ and ‘CA. For example. it inserts the characters ‘1234567890. Date formats for TO_CHAR and TO_DATE functions The Data Integration Service uses the date format in the TO_CHAR or TO_DATE function when the Data Integration Service pushes the function to the database. if you push this transformation logic to a database that is not case sensitive. Transformation datatypes use a default numeric precision that can vary from the native datatypes. the Data Integration Service returns the current date and time for the node that runs the service process. a table contains the number 1234567890. the results can vary. You need the database to return rows that match ‘CA. a database might convert the number to ‘1. FALSE). the output of the transformation logic can be different. the database returns the current date and time for the machine that hosts the database. When you use TO_CHAR to compare date or time values. SYSDATE or SYSTIMESTAMP function When you use the SYSDATE or SYSTIMESTAMP.

LAST_DAY function on Oracle source When you push LAST_DAY to Oracle. Oracle returns the date up to the second. or SOUNDEX to a database. RTRIM. the database treats the argument (' ') as NULL. Comparing the Output of the Data Integration Service and Sources 83 . and you specify the format for SYSTIMESTAMP. RTRIM. LTRIM. or SOUNDEX function When you push LTRIM. Oracle trims the date to the second. the database ignores the format and returns the complete time stamp. but the Data Integration Service treats the argument (' ') as spaces.If you push SYSTIMESTAMP to an IBM DB2 or a Sybase ASE database. If the input date contains subseconds.

The mapplet contains a data source as input and an Output transformation as output. The mapplet contains an Input transformation and an Output transformation. validate the mapplet as a rule. 84 ¨ Mapplet Types. 84 ¨ Mapplets and Rules. 85 ¨ Mapplet Input and Output. ¨ Midstream. For example. You can create the following types of mapplet: ¨ Source. You cannot have circular nesting of mapplets.CHAPTER 7 Mapplets This chapter includes the following topics: ¨ Mapplets Overview. You can also use a mapplet more than once in a mapping or mapplet. 86 ¨ Segments. ¨ Target. if mapplet A contains mapplet B. Any change made to the mapplet is inherited by all instances of the mapplet. 86 Mapplets Overview A mapplet is a reusable object containing a set of transformations that you can use in multiple mappings. When you use a mapplet in a mapping. The mapplet contains an Input transformation as input and a data source as output. It does not contain a data source for input or output. 86 ¨ Validating a Mapplet. Mapplets can contain other mapplets. Transformations in a mapplet can be reusable or non-reusable. you use an instance of the mapplet. 84 . Use a mapplet in a mapping. 85 ¨ Creating a Mapplet. Or. Mapplet Types The mapplet type is determined by the mapplet input and output. mapplet B cannot contain mapplet A.

a rule cannot contain a Match transformation. you must pass data into the mapplet through an Input transformation. Note: Rule functionality is not limited to profiling. Mapplet input ports and output ports originate from Input transformations and Output transformations. You can create multiple pipelines in a mapplet. A mapplet has the following input and output components: ¨ Mapplet input. You can also use a combination of data sources and Input transformations. When you use an Input transformation. ¨ It can contain Expression transformations. When you use an Output transformation. You can add any mapplet that you validate as a rule to a profile in the Analyst tool. you must pass data from the mapplet through an Output transformation. it is the first object in the mapping pipeline and contains no input ports. You can pass data out of a mapplet from data sources or Output transformations or both. and passive data quality transformations. If you validate the mapplet as a rule. You can connect an Input transformation to multiple transformations in a mapplet. If you validate the mapplet as a rule. you connect it to a source or upstream transformation in the mapping. You can see mapplet ports in the mapping canvas. Lookup transformations. Mapplet Input and Output To use a mapplet in a mapping. you connect it to a target or downstream transformation in the mapping. For example. you must configure it for input and output. Mapplets and Rules 85 . ¨ It does not specify cardinality between input groups. You cannot use data sources in a rule. as it is an active transformation. Unconnected ports do not appear in the mapping canvas. You can pass data into a mapplet from data sources or Input transformations or both. A rule must meet the following requirements: ¨ It must contain an Input and Output transformation. Mapplet Input Mapplet input can originate from a data source or from an Input transformation. Each port in the Input transformation connected to another transformation in the mapplet becomes a mapplet input port. you can evaluate postal address data quality by selecting a rule configured to validate postal addresses and adding it to a profile. It is a midstream mapplet that you use in a profile. They do not originate from data sources. Input transformations can receive data from a single active source. Use an Input transformation to receive input from the mapping.Mapplets and Rules A rule is business logic that defines conditions applied to source data when you run a profile. It cannot contain any other type of transformation. Use one or more data sources to provide source data in the mapplet. ¨ Mapplet ports. You can also connect one port in an Input transformation to multiple transformations in the mapplet. Use multiple data sources or Input transformations. The Input transformation provides input ports so you can pass data through the mapplet. When you use the mapplet in a mapping. For example. ¨ Mapplet output.

Select a project or folder in the Object Explorer view. or mapplet. 5. it is the last object in the mapping pipeline and contains no output ports. Use one or more data sources to provide target data in the mapplet. or virtual stored procedure. You can also validate a mapplet as a rule to include it in a profile.Mapplet Output Use a data source as output when you want to create a target mapplet. rule. mapplet. rule. transformation. An empty mapplet appears in the editor. 2. Validating a Mapplet Validate a mapplet before you add it to a mapping. Use an Output transformation to pass output to a downstream transformation or target in a mapping. 4. An output group can pass data to multiple pipelines in a mapping. Use an Output transformation in a mapplet to pass data through the mapplet into a mapping. Copying a Segment You can copy a segment when you want to reuse a portion of the mapping logic in another mapping. Each connected port in an Output transformation appears as a mapplet output port in a mapping. mapplet. 3. or virtual stored procedure. Each Output transformation in a mapplet appears as an output group. Right-click the mapplet canvas. and transformations. 86 Chapter 7: Mapplets . 1. A segment can include a source. 1. Click File > New > Mapplet. The Validation Log displays mapplet error messages. Add mapplet inputs. Select Validate As > Mapplet or Validate As > Rule. target. When you use the mapplet in a mapping. outputs. Segments A segment consists of one or more objects in a mapping. 2. Click Finish. Creating a Mapplet Create a mapplet to define a reusable object containing a set of transformations that you can use in multiple mappings. Enter a mapplet name.

2. Hold down the Ctrl key to select multiple objects. 4.1. Open a target mapping. or virtual stored procedure. 5. rule. 3. Open a the object that contains the segment you want to copy. Click Edit > Paste. Segments 87 . Select a segment by highlighting each object you want to copy. Click Edit > Copy to copy the segment to the clipboard. You can also select segments by dragging the pointer in a rectangle around objects in the editor. mapplet.

88 ¨ The Import/Export XML File. You can export objects to an XML file that you no longer need before you remove them from the repository. you can export it to an XML file and then import it from the XML file into a production repository. you can send a mapping to someone else for testing or analysis. Export the object and transfer the XML file to the target machine. 91 ¨ Importing Application Archives. 89 ¨ Dependent Objects. You can export multiple objects from a project to one XML file. The Developer tool exports the last saved version of the object. Use this file to import the objects into a project or folder. ¨ Share metadata. 91 Object Import and Export Overview You can export objects to an XML file and then import objects from the XML file. The Developer tool exports the objects and the dependent objects. When you export objects. You can choose the objects to export. ¨ Copy metadata between repositories. For example. You can share metadata with a third party. the Developer tool creates an XML file that contains the metadata of the exported objects. you import all objects in the XML file. 89 ¨ Exporting Objects. Export and import objects to accomplish the following tasks: ¨ Deploy metadata into production. 90 ¨ Importing Objects. You can copy objects between repositories that you cannot connect to from the same client. You can also import application archives into a repository. ¨ Archive metadata. When you import objects. After you test a mapping in a development repository. You can export and import the following objects: ¨ Projects ¨ Folders ¨ Applications 88 . Then import the object from the XML file into the target repository.CHAPTER 8 Object Import and Export This chapter includes the following topics: ¨ Object Import and Export Overview.

the Developer tool creates an XML file that contains the metadata of the objects. For example. You cannot export empty projects or empty folders. Therefore. the Developer tool also exports the dependent objects. do not modify any exported object in the XML file. Application archive files contain deployed applications. a physical data object used as a mapping input is a dependent object of that mapping. If you modify attributes in an element that contains a CRCVALUE code. The following table lists the dependent objects that the Developer tool includes in an export file: Parent Object Application Logical data object model Dependent Child Objects Included in the XML File SQL data services and their dependent objects Logical data objects Physical data objects Reusable transformations and their dependent objects Mapplets and their dependent objects Reference tables Logical data objects Physical data objects Reusable transformations and their dependent objects Transformation Mapplet The Import/Export XML File 89 .¨ Reference tables ¨ Physical data objects ¨ Logical data object models ¨ Reusable transformations ¨ Mapplets ¨ Mappings ¨ SQL data services ¨ Profiles ¨ Scorecards You can also import application archive files into a repository. you cannot import the object. The Developer tool includes Cyclic Redundancy Checking Value (CRCVALUE) codes in the elements in the XML file. The Import/Export XML File When you export objects. A dependent object is an object that is used by another object. Dependent Objects When you export an object.

Click Browse to select a project from which to export objects. Data Integration Service on which the reference table staging database runs. Code page of the destination repository for the reference table data. Click Next. click Next. Exporting Objects You can export objects to an XML file to use in another project or folder. The Developer tool saves the reference table data as one or more dictionary . When you export or import objects in a project or folder. Click File > Export. Select the objects to export. Select Informatica > Object Export File . complete the following fields: Option Reference data location Description Location where you want to save reference table data. 8. If you are exporting reference table data. 3. 4. The Developer tool exports the objects to the XML file. The Export wizard displays the dependent objects. 6. 7.dic files. Data service Code page 5.Parent Object Mapping Dependent Child Objects Included in the XML File Logical data objects Physical data objects Reusable transformations and their dependent objects Mapplets and their dependent objects Logical data objects Physical data objects Reusable transformations and their dependent objects Mapplets and their dependent objects Logical data objects Physical data objects Profiles and their dependent objects SQL data service Profile Scorecard Projects and folders contain other objects. To view the dependent objects that the Export wizard exports with the objects you selected. Click Next. but they do not have dependent objects. 90 Chapter 8: Object Import and Export . Enter a path that the Data Integration Service can write to. The Export wizard appears. 1. Click Finish. 9. Enter the export file name and location. 2. the Developer tool preserves the object hierarchy.

click Next. 2. 4. The Developer tool imports the application into the repository. 1." You can rename the objects after you import them. 5. the Import wizard names the imported objects "CopyOf_<Original Name>. 3. 4. You can either replace existing objects with the imported objects or rename the imported objects. 3. The Developer tool lists the application archive file contents. 6. 2. Click Browse to select the application archive file. Click Next. Importing Application Archives You can import objects from an application archive file. Click Finish. Click Finish. Click Browse to select the export file that you want to import. Click File > Import. Importing Objects 91 . Click Browse to select the target project or folder. You import the application and any dependent objects into a repository. Select the repository into which you want to import the application. Click Next. it renames the imported objects. If you choose to rename duplicate objects. 8. If the Developer tool finds duplicate objects. To view all of the objects the Import wizard imports from the file. Select the project from which to import objects. The Import wizard appears. 1. You import the objects and any dependent objects into a project or folder.Importing Objects You can import objects from a Developer tool XML file or application archive file. 6. Select Informatica > Object Import File. 5. 7. 9. Click File > Import. Specify how to handle duplicate objects. Select Informatica > Application Archive. The Import wizard appears.

97 ¨ Troubleshooting Exporting to PowerCenter. Export mapplets to PowerCenter mapplets. Example A supermarket chain that uses PowerCenter 8. 94 ¨ Exporting an Object to PowerCenter. Export objects to PowerCenter to take advantage of capabilities that are exclusive to PowerCenter such as partitioning. web services. Export mappings to PowerCenter mappings or mapplets. and whether to export reference tables.6 wants to create a product management tool to accomplish the following business requirements: ¨ Create a model of product data so that each store in the chain uses the same attributes to define the data. ¨ Mapplets. how to convert mappings and mapplets. ¨ Standardize product data and remove invalid and duplicate entries. ¨ Logical data object read mappings.CHAPTER 9 Export to PowerCenter This chapter includes the following topics: ¨ Export to PowerCenter Overview. 92 . you specify export options such as the PowerCenter release. PowerCenter users can import the file into the PowerCenter repository. You can export the following objects: ¨ Mappings. 98 Export to PowerCenter Overview You can export objects from the Developer tool to use in PowerCenter. If you export objects to an XML file. When you export objects. 95 ¨ Export Restrictions. The export process ignores logical data object write mappings. and high availability. 93 ¨ Export to PowerCenter Options. 93 ¨ Mapplet Export. 92 ¨ PowerCenter Release Compatibility. ¨ Generate a unique SKU for each product. 96 ¨ Rules and Guidelines for Exporting to PowerCenter. Export the logical data object read mappings within a logical data object model to PowerCenter mapplets. You export objects to a PowerCenter repository or to an XML file.

Click Edit > Compatibility Level. or service failure occurs. PowerCenter Release Compatibility To verify that objects are compatible with a certain PowerCenter release. mapplet. The compatibility level applies to all mappings. hardware. the Developer tool skips release compatibility validation when you validate an object.¨ Migrate the cleansed data to another platform. and logical data object models you can view in the Developer tool. Setting the Compatibility Level Set the compatibility level to validate mappings. set the PowerCenter release compatibility level. The export process also renames some mapplet objects. the export process creates objects in the mapplet. Developers import the mappings into PowerCenter and create the associated sessions and workflows. If you select none. They export the mappings to XML files. Select the compatibility level. and define the flow of data between the existing and new platforms. If the object is valid. generate product SKUs. and logical data object models against a PowerCenter release. The export process might create the following mapplet objects in the export XML file: PowerCenter Release Compatibility 93 . 2. They set partition points at various transformations in the sessions to improve performance. the Developer tool performs two validation checks when you validate a mapping. transformation.6. the Developer tool does not validate objects against any release of PowerCenter. Mapplet Export When you export a mapplet or you export a mapping as a mapplet. The Developer tool places a dot next to the selected compatibility level in the menu. and loading in parallel processes. The Developer tool first verifies that the object is valid in Developer tool. Set the compatibility level to a PowerCenter release before you export objects to PowerCenter. mapplets. the Developer tool then verifies that the object is valid for export to the selected release of PowerCenter. 1. mapplets. They also configure the sessions for high availability to provide failover capability if a temporary network. mapplets. ¨ Ensure continuous operation if a hardware failure occurs. If you set the compatibility level. You can view compatibility errors in the Validation Log view. By default. or you can configure it to skip validation for release compatibility. During export. You can configure the Developer tool to validate against a particular release of PowerCenter. or logical data object model. The compatibility level applies to all mappings. ¨ Ensure high performance of the migration process by performing data extraction. and logical data object models you can view in Developer tool. The developers at the supermarket chain use the Developer tool to create mappings that standardize data. they specify that the mappings be compatible with PowerCenter 8.

PowerCenter release number.Password. LDAP security domain name. ." . Exports objects to the specified folder in the PowerCenter repository. If you select this option. If you select this option. .Security domain.Port number. you must specify the following information for the PowerCenter repository: . The export process names the Output transformations as follows: <MappletInstanceName>_<TargetName> The export process renames the following mapplet objects in the export XML file: Mapplet Input and Output transformations The export process names mapplet Input and Output transformations as follows: <TransformationName>_<InputOrOutputGroupName> Mapplet ports The export process renames mapplet ports as follows: <PortName>_<GroupName> Export to PowerCenter Options When you export an object for use in PowerCenter. specify the export XML file name and location. The following table describes the export options: Option Project Target release Export selected objects to file Description Project in the model repository from which to export objects. PowerCenter domain gateway HTTP port number.Host name. PowerCenter domain gateway host name.User name.Repository name. Exports objects to a PowerCenter XML file. you must specify the export options. PowerCenter repository name. Otherwise. Password for repository user name. . enter "Native. . Export selected objects to PowerCenter repository Send to repository folder Use control file 94 Chapter 9: Export to PowerCenter .Expression transformations The export process creates an Expression transformation immediately downstream from each Input transformation and immediately upstream from each Output transformation in a mapplet. Exports objects to a PowerCenter repository. the export process creates an Output transformation for each target. Exports objects to the PowerCenter repository using the specified pmrep control file. The export process names the Expression transformations as follows: Expr_<InputOrOutputTransformationName> The Expression transformations contain pass-through ports. Repository user name. Output transformations If you export a mapplet and convert targets to Output transformations. if one exists.

Before you export an object. the export process fails. Choose the export location. 5. The Developer tool converts sources and targets in the mappings to Input and Output transformations in a PowerCenter mapplet.Option Convert exported mappings to PowerCenter mapplets Description Converts Developer tool mappings to PowerCenter mapplets. you can export the objects to a file or to the PowerCenter repository. 10. Enter a path that the Data Integration Service can write to. Click Next. 9. If you export mapplets that contain targets and you do not select this option. Select the objects to export and click Finish. select the PowerCenter or the pmrep control file that defines how to import objects into PowerCenter. 6. PowerCenter mapplets cannot contain targets. or logical data object read mappings to PowerCenter. 3. Exports any reference table data used by a transformation in an object you export. Location where you want to save reference table data. Select the PowerCenter release. set the compatibility level to the appropriate PowerCenter release. The Developer tool exports the objects to the location you selected. Code page of the PowerCenter repository. 4.dic files. Select Informatica > PowerCenter. The Export to PowerCenter dialog box appears. a PowerCenter import XML file or a PowerCenter repository. The Developer tool saves the reference table data as one or more dictionary . Validate the object to verify that it is compatible with the PowerCenter release. 1. Data Integration Service on which the reference table staging database runs. The Export dialog box appears. Select the project. Converts targets in mapplets to Output transformations in the PowerCenter mapplet. Click Next. copy the reference table files to the PowerCenter dictionary directory on the machine that hosts Informatica Services: Exporting an Object to PowerCenter 95 . 7. you can import objects from the XML file into the PowerCenter repository. mapplets. If you export reference data. 2. If you export to a PowerCenter repository. The Developer tool prompts you to select the objects to export. Convert target mapplets Export reference data Reference data location Data service Code page Exporting an Object to PowerCenter When you export mappings. If you exported objects to a file. Specify the export options. Click File > Export. 8.

the port names in the Lookup transformation must match the column names in the lookup source. Therefore. In the Developer tool. Therefore. You can also define a join condition. The export process fails when you export the mapping or mapplet to PowerCenter 8. The Return all rows option was added to the Lookup transformation in PowerCenter 9. 96 Chapter 9: Export to PowerCenter . you can define a join condition based on equality or inequality between the master and detail sources.<PowerCenter Installation Directory>\services\<Informatica Developer Project Name>\<Informatica Developer Folder Name> Export Restrictions Some Developer tool objects are not valid in PowerCenter. Mappings or mapplets that contain PowerExchange data objects If you export a mapping that includes a PowerExchange data object. Mappings or mapplets that contain a Joiner transformation with certain join conditions The Developer tool does not allow you to export mappings and mapplets that contain a Joiner transformation with a join condition that is not valid in PowerCenter. For example.x. you cannot export mappings or mapplets that contain Joiner transformations with these types of join conditions to PowerCenter. In PowerCenter. Therefore. These types of join conditions are not valid in PowerCenter. the option is not valid in earlier versions of PowerCenter. such as 1 = 1. Nested mapplets with unconnected Lookup transformations The export process fails if you export any type of mapping or mapplet that contains another mapplet with an unconnected Lookup transformation. or object within a mapping or mapplet if the object name exceeds 80 characters. Mapplets that concatenate ports The export process fails if you export a mapplet that contains a multigroup Input transformation and the ports in different input groups are connected to the same downstream transformation or transformation output group. that causes the Joiner transformation to perform a cross-join. The following objects are not valid in PowerCenter: Objects with long names PowerCenter users cannot import a mapping. You can define a join condition that contains transformation expressions. Mappings or mapplets that contain a Custom Data transformation You cannot export mappings or mapplets that contain Custom Data transformations. Mappings or mapplets that contain a Lookup transformation that returns all rows The export process might fail if you export a mapping or mapplet with a Lookup transformation that returns all rows that match the lookup condition.0. Mappings or mapplets that contain a Lookup transformation with renamed ports The PowerCenter Integration Service queries the lookup source based on the lookup ports in the transformation and a lookup condition. the Developer tool does not export the PowerExchange data object. a user defines join conditions based on equality between the specified master and detail sources. mapplet. you can define other join conditions.

Nested mapplets with Update Strategy transformations when the mapplets are upstream from a Joiner transformation Mappings and mapplets that contain an Update Strategy transformation upstream from a Joiner transformation are not valid in Developer tool or in PowerCenter. the PowerCenter Client imports the mapping without the source.0. the Developer tool runs mappings and mapplets with high precision enabled and PowerCenter runs sessions with high precision disabled. When you import the mapping into the PowerCenter repository. they can produce different results. Verify that mappings or mapplets to export do not contain an Update Strategy transformation in a nested mapplet upstream from a Joiner transformation. You must manually create the SAP source in PowerCenter and add it to the mapping. Verify that the code pages are compatible. the Developer tool and PowerCenter must be running the same HotFix version.1. Copy reference data. Use the following rules and guidelines when you export objects to PowerCenter: Verify the PowerCenter release. copy the reference tables to the following PowerCenter services directory: $INFA_HOME\services\<Developer Tool Project Name>\<Developer Tool Folder Name> Rules and Guidelines for Exporting to PowerCenter 97 . To avoid differences in results. Rules and Guidelines for Exporting to PowerCenter Due to differences between the Developer tool and PowerCenter. you must copy the reference tables to a directory where the PowerCenter Integration Service can access them. the Developer tool exports the mapping without the SAP source. run the objects in the same precision mode. If you run Developer tool mappings and PowerCenter sessions in different precision modes. some Developer tool objects might not be compatible with PowerCenter. The export process fails if the Developer tool and PowerCenter use code pages that are not compatible. Verify that object names are unique. The output window displays a message indicating the mapping is not valid.0. You cannot export mappings and mapplets to PowerCenter version 9. the export process replaces the PowerCenter object if it has the same name as an exported object. By default. Verify precision mode. When you export to PowerCenter 9. Copy the reference tables to the directory defined in the INFA_CONTENT environment variable. If you export an object to a PowerCenter repository. Mappings with an SAP source When you export a mapping with an SAP source. When you export mappings or mapplets with transformations that use reference tables. If INFA_CONTENT is not set.

When the export process renames Input transformations. targets.Troubleshooting Exporting to PowerCenter The export process fails when I export a mapplet that contains objects with long names. and ports. the export process appends characters to Input and Output transformation names. If you export a mapplet and convert targets to Output transformations. and mapplet ports. shorten them. The export process also renames Input and Output transformations and mapplet ports. it appends group names to the object names. If the names are long. To generate names for Expression transformations. 98 Chapter 9: Export to PowerCenter . If you export a mapplet. When an object name exceeds 80 characters. the exported object name might exceed the 80 character object name limit in the export XML file or in the PowerCenter repository. When you export a mapplet or you export a mapping as a mapplet. and the export process returns an internal error. The export process might create Expression or Output transformations in the export XML file. Output transformations. Output transformations. the export process combines the mapplet instance name and target name to generate the Output transformation name. If an existing object has a long name. the export process fails with an internal error. check the names of the Input transformations. the export process creates or renames some objects in the mapplet.

When you deploy an object. mappings. or a mapping directly. Deploy an object to a network file system if you want to check the application into a version control system. Create an application when you want to deploy multiple objects at the same time. you must redeploy the application that contains the object for the changes to take effect. Deploy objects to allow users to query the objects through a third-party client tool or run mappings at the command line. You can deploy physical and logical data objects. the Developer tool also prompts you to create an SQL data service based on the data object. 101 ¨ Updating an Application. and applications. 100 ¨ Deploying an Object to a Data Integration Service. When you deploy an object to a network file system. SQL data services. To deploy an object. When you deploy an application to a Data Integration Service. 99 . an SQL data service. The end users must have the appropriate permissions in the Administrator tool to query objects or run mappings. When you create an application. You can deploy objects to a Data Integration Service or a network file system. 101 ¨ Mapping Deployment Properties. The Developer tool prompts you to create an application. You can deploy a physical or logical data object. end users can connect to the application and run queries against the objects or run mappings. The Developer tool adds the object to the application. If you make changes to an object in the Developer tool after you deploy it. When you deploy a data object. you must choose the deployment location. the Developer tool creates an application archive file. When you deploy objects. 99 ¨ Creating an Application. An administrator can deploy application archive files to Data Integration Services through the Administrator tool. you select the objects to include in the application. You can also deploy an object to a file if your organization requires that administrators deploy objects to Data Integration Services. ¨ Deploy an application that contains the object. 102 ¨ Application Changes. 103 Deployment Overview Deploy objects to make them accessible to end users. perform one of the following actions: ¨ Deploy an object directly. 100 ¨ Deploying an Object to a File.CHAPTER 10 Deployment This chapter includes the following topics: ¨ Deployment Overview. you isolate the object from changes in data structures. Deploy an object directly when you want to make the object available to end users without modifying it.

8. Select the Data Integration Services to which you want to deploy the application. 1. The Choose Domain dialog box appears. The Developer tool adds the application to the project or folder. 5. The Developer tool lists the Data Integration Services associated with the domain in the Available Services section of the Deploy Application dialog box. You must create the application in a project or a folder. If you deploy a data object or an SQL data service. 4. Enter a name for the application. Click Browse to select the application location. The Developer tool lists the objects you select in the New Application dialog box. After you create an application. 100 Chapter 10: Deployment . 6. Click Browse to select the domain. Right-click an object in the Object Explorer view and click Deploy. 9. 2. The Add Objects dialog box appears. Click Add. Select a domain and click OK. Click Next. Select one or more SQL data services. 3. If the application contains mappings. If you select this option. mappings. or reference tables and click OK. 5. 4. When you create an application. choose a mapping configuration.Creating an Application Create an application when you want to deploy multiple objects at the same time. Click File > New > Application. choose whether to override the default mapping configuration when you deploy the application. The Deploy dialog box appears. 3. Select a project or folder in the Object Explorer view. The Developer tool prompts you for the objects to include in the application. 1. Click Finish. Deploying an Object to a Data Integration Service Deploy an object to a Data Integration Service so end users can query the object through a JDBC or ODBC client tool or run mappings from the command line. The Developer tool sets the mapping deployment properties for the application to the same values as the settings in the mapping configuration. 2. you must deploy the application so end users can query the objects or run the mappings. Select Deploy to Service. 6. The New Application dialog box appears. 7. you select the objects to include in the application. click Next and enter an application name.

click the Overview view. 9. To remove an object from the application. 4. Before end users can access the application. click Next and add virtual tables to the SQL data service. Or. Click Finish. If you deploy a data object. click Next and add virtual tables to the SQL data service. End users can query the objects or run the mappings in the application. you must deploy the application to a Data Integration Service. Select Deploy to File System . To add or remove objects. 6. click Next and enter an application name. 2. click the Advanced view and change the properties. If you deploy a data object or an SQL data service. To update mapping deployment properties. Select the directory and click OK. 8. Open the application you want to update. 1. Right-click the application in the Object Explorer view and click Deploy. Deploying an Object to a File Deploy an object to an application archive file if you want to check the application into version control or if your organization requires that administrators deploy objects to Data Integration Services. 3. or update mapping deployment properties. The Developer tool deploys the application to an application archive file. remove objects from an application. If you deploy a data object. The Deploy dialog box appears. an administrator must deploy the application to a Data Integration Service through the Administrator tool. The Choose a Directory dialog box appears. Click Finish. To add objects to the application. If you deploy a data object. 3. 5. mappings. 6. and click Remove. or reference tables to add to the application. If you deploy a data object. Save the application. click Next and enter an SQL data service name. the Developer tool creates one virtual table based on the data object you deploy. the Developer tool creates one virtual table based on the data object you deploy. 8. The Developer tool prompts you to choose the SQL data services. Updating an Application Update an application when you want to add objects to an application. 2. Deploying an Object to a File 101 . Click Browse to select the directory. 7. click Next and enter an SQL data service name. The Developer tool deploys the application to the Data Integration Services. select the object. 1. 5. By default. click Add. 4.7. By default.

The Data Integration Service logs initialization and status information. the Data Integration Service logs each row that passes into the mapping. The Data Integration Service applies the early projection. . early selection. the Data Integration Service logs additional initialization details. The Data Integration Service applies the early projection. Enabling high precision prevents precision loss in large numeric values. you can set the deployment properties the Data Integration Services uses when end users run the mapping. Mapping Deployment Properties When you update an application that contains a mapping. early selection. The Data Integration Service applies the early projection optimization method to the mapping. Default is Normal. Choose one of the following tracing levels: . The Data Integration Service does not override the tracing level that you set for each transformation. names of index and data files used.Verbose Initialization. In addition to normal tracing. but not at the level of individual rows. You can set the following properties: Property Default date time format Description Date/time format the Data Integration Services uses when the mapping converts strings to dates. . Default is MM/DD/YYYY HH24:MI:SS.Verbose Data. The Data Integration Service writes row data for all rows in a block when it processes a transformation. Order in which the Data Integration Service sorts character data in the mapping. predicate optimization. and predicate optimization methods to the mapping.Terse. Overrides the tracing level for each transformation in the mapping. .Minimal. . Default is None.None.None. error messages. and semi-join optimization methods to the mapping. The tracing level determines the amount of information the Data Integration Service sends to the mapping log files. It summarizes mapping results. Default is Binary. Override tracing level Sort order Optimizer level High precision 102 Chapter 10: Deployment .Redeploy the application if you want end users to be able to access the updated application. High precision data values have greater accuracy. The Data Integration Service also notes where it truncates string data to fit the precision of a column and provides detailed transformation statistics. Controls the optimization methods that the Data Integration Service applies to a mapping as follows: . and notification of rejected data. for example. Runs the mapping with high precision. . The Data Integration Service logs initialization information. and skipped rows due to transformation row errors.Normal. Enable high precision if the mapping produces large numeric values. Set mapping deployment properties on the Advanced view of the application. .Normal.Full. and you require accurate values. and detailed transformation statistics. . values with precision of more than 15 digits. errors encountered. The Data Integration Service does not optimize the mapping. In addition to verbose initialization tracing.

If the application contains an SQL data service and an administrator changed the SQL data service or virtual table properties in the Administrator tool. Application Changes When you change an application or change an object included in the application and you want end users to access the latest version of the application.Property Description Default is enabled. When you change an application and deploy it to a network file system. the Developer tool allows you to preserve or reset the SQL data service and virtual table properties for the application in the Administrator tool. When you change an application that contains a mapping and an administrator changed the mapping properties in the Administrator tool. When you change an application or its contents and you deploy the application to the same Data Integration Service. If the application contains an SQL data service and an administrator changed the SQL data service or virtual table properties in the Administrator tool. the Data Integration Service replaces the objects and the mapping deployment properties in the application. ¨ Replace. The Developer tool gives you the following choices: ¨ Update. you must deploy the application again. the Data Integration Service resets the properties in the Administrator tool to the default values. the Developer tool allows you to replace the application archive file or cancel the deployment. Application Changes 103 . Additionally. the Data Integration Service replaces the Administrator tool mapping properties with the Developer tool mapping deployment properties. the Data Integration Service preserves the properties in the Administrator tool. the Developer tool replaces the objects in the application and the mapping deployment properties. If you replace the application archive file.

107 Parameters and Parameter Files Overview Parameters and parameter files allow you to define mapping values and update those values each time you run a mapping. using a different parameter file for each mapping run. Apply the parameter to a data object or to a transformation in the mapping. You define the parameter values in a parameter file. the Canadian customers table. Run the mapping from the command line with the parameter file. and the Mexican customers table. The mapping reads customer information from a relational table that contains customer data for one country. you create a mapping that processes customer orders. 104 . or reference table values. customers table. Run the mapping from the command line. and reference table directories. flat file. 5. You can create parameters that represent relational connections. 4. Canada. Create a parameter that represents the connection to the customers table. 104 ¨ Parameter Files. For example. Parameters Parameters represent values that change between mapping runs. 3. The Data Integration Service applies parameter values when you run a mapping from the command line and specify a parameter file. Add the mapping to an application and deploy the application. flat file directories. Create a parameter and assign it a default value. and Mexico. Create a parameter file that contains the parameter value. Create parameters so you can rerun a mapping with different relational connection. 2. flat file names. To run mappings with different parameter values. 104 ¨ Parameters. reference table names.CHAPTER 11 Parameters and Parameter Files This chapter includes the following topics: ¨ Parameters and Parameter Files Overview. Create three parameter files that set the connection name to the U. perform the following tasks: 1. the Data Integration Service uses the parameter values defined in the parameter file. When you run the mapping from the command line and specify a parameter file.S. You want to use the mapping for customers in the United States.

¨ String. select the parameter type. String You can use the parameter in the transformation. For example. You can use the parameter in the transformation.Create parameters so you can rerun a mapping with different values. You cannot create connection parameters for nonrelational database or SAP physical data objects. Connection. Create connection parameters to define connections. Mapplets Connection. ¨ You run a mapping from the command line without a parameter file. ¨ You copy a mapping fragment from a mapping that has parameters defined and some of the transformations in the mapping use the parameters. Represents a relational connection. Where to Create Parameters Create parameters to define values that change between mapping runs. the Data Integration Service resolves all parameters to the values set in the parameter file. The Data Integration Service resolves parameters to the default values in the following circumstances: ¨ You run a mapping or preview mapping results within the Developer tool. You can create the following types of parameters: ¨ Connection. or reference table directory. The following table lists the objects in which you can create parameters: Object Flat file data objects Customized data objects (reusable) Mappings Parameter Type String Connection Scope You can use the parameter in the data object. The Developer tool does not copy the parameters to the target mapping. String You can use the parameter in the transformation. ¨ You query an SQL data service that uses a data source that contains parameters. When you create a parameter. Create string parameters to define flat file and reference table names and file paths. Parameters 105 . You can use the parameter in the customized data object. ¨ You export a mapping or mapplet for use in PowerCenter. flat file directory. and enter the default value. You can use the parameter in any nonreusable data object or transformation in the mapplet that accepts parameters. Represents a flat file name. reference table name. All parameters in the Developer tool are user-defined. create a mapping parameter that represents a reference table name if you want to run a mapping with different reference tables. When you run a mapping from the command line with a parameter file. String Case Converter transformation (reusable) Labeler transformation (reusable) Parser transformation (reusable) Standardizer transformation (reusable) String String You can use the parameter in the transformation. Each parameter must have a default value. String You can use the parameter in any nonreusable data object or transformation in the mapping that accepts parameters. you enter the parameter name and optional description.

enter a file name or file path. file path. Select String to create a file name. 5. 6. 7. 3.Where to Assign Parameters Assign a parameter to a field when you want the Data Integration Service to replace the parameter with the value defined the a parameter file. Assigning a Parameter Assign a parameter to a field so that when you run a mapping from the command line. 4. The Developer tool adds the parameter to the list of parameters. Select Connection to create a connection parameter. Click Add. Select the parameter type. For string parameters. Click the Parameters view. the Data Integration Service replaces the parameter with the value defined in the parameter file. Open the physical data object. mapping. Enter a default value for the parameter. reference table name. The Add Parameter dialog box appears. select a connection. 106 Chapter 11: Parameters and Parameter Files . or reference table path parameter. Optionally. or transformation where you want to create a parameter. Click OK. For connection parameters. 1. The following table lists the objects and fields where you can assign parameters: Object Flat file data objects Field Source file name Source file directory Output file name Output file directory Connection Connection Reference table Reference table Connection Reference table Reference table Customized data objects Read transformation created from related relational data objects Case Converter transformation (reusable and nonreusable) Labeler transformation (reusable and nonreusable) Lookup transformation (nonreusable) Parser transformation (reusable and nonreusable) Standardizer transformation (reusable and nonreusable) Creating a Parameter Create a parameter to represent a value that changes between mapping runs. Enter the parameter name. 8. enter a parameter description. 2.

" If both transformations use parameters. mapping. The Data Integration Service uses the hierarchy defined in the parameter file to identify parameters and their defined values. Click OK. you want the Data Integration Service to apply a parameter value when you run mapping "MyMapping" in deployed application "MyApp. If the objects are in different folders. You define parameter values within the following top-level elements: ¨ Application/mapping/project elements. Click Assign Parameter. The Data Integration Service reads the parameter file at the start of the mapping run to resolve the parameters. have the same name. Open the field in which you want to assign a parameter. You can define parameters for multiple mappings in a single parameter file. For example. For example. a folder contains Labeler transformation "T1" and Standardizer transformation "T1. the Data Integration Service applies the parameter value when you run the specified mapping in the application. The Data Integration Service applies these values when you run a mapping from the command line and specify a parameter file. transformation. the Data Integration Service does not fail the mapping. To run a mapping with a parameter file. The machine from which you run the mapping must have access to the parameter file.Define the parameter here. Select the parameter. The Data Integration Service fails the mapping if you run it with a parameter file and any of the following circumstances are true: ¨ The Data Integration Service cannot access the parameter file. The hierarchy identifies the physical data object or the transformation that uses the parameter. ¨ The parameter file is not valid or does not exist. use the infacmd ms RunMapping command." Define the parameter within the following elements: <application name="MyApp"> <mapping name="MyMapping"> <project name="MyProject"> <!-. and use parameters." You do not want to use the parameter value when you run a mapping in any other application or when you run another mapping in "MyApp. Parameter Files A parameter file is an XML file that lists parameters and their assigned values. --> </project> </mapping> Parameter Files 107 . 2. You can also create multiple parameter files and use a different file each time you run a mapping. 4.1. The -pf argument specifies the parameter file name. The parameter values define properties for a data object. 3. The Assign Parameter dialog box appears. ¨ Objects of the same type exist in the same project or folder. Parameter File Structure A parameter file is an XML file that contains at least one parameter and its assigned value. the Data Integration Service fails the mapping when you run it with a parameter file. Parameter files provide you with the flexibility to change parameter values each time you run a mapping. or if one object does not use parameters. When you define a parameter within the application/mapping/project elements. or mapplet.

0"?> <root description="Sample Parameter File" xmlns="http://www. The following example shows a sample parameter file: <?xml version="1. For example.w3. When you omit the application/mapping/project element and define a parameter within a project top-level element. Therefore. The parameter default value. 3. the Data Integration Service fails the mapping run if the parameter file contains the following entry: <parameter name="Param1"> </parameter> ¨ Within an element.informatica.0" xmlns:xsi="http://www. Observe the following rules when you create a parameter file: ¨ Parameter values cannot be empty." This section assigns values to parameters created in the following objects: * Data source "DS1" in mapping "Map1" * Mapping "Map1" <!-- --> <application name="App2"> <mapping name="Map1"> <project name="Project1"> <dataSource name="DS1"> <parameter name="PROJ1_DS1">PROJ1_DS1_APP2_MAP1_VAL</parameter> <parameter name="PROJ1_DS1">PROJ1_DS1_APP2_MAP1_VAL</parameter> </dataSource> <mapping name="Map1"> 108 Chapter 11: Parameters and Parameter Files . Use the infacmd ms ListMappingParams command to list the parameters used in a mapping with the default values. The value specified within a project element. artifact names are not case-sensitive. You can use the output of this command as a parameter file template.com/Parameterization/1. The value specified within an application element.org/2001/XMLSchema-instance"> <!-The Data Integration Service uses this section only when you run mapping "Map1" or "Map2" in deployed application "App1.</application> ¨ Project element. the Data Integration Service applies the parameter value when you run any mapping that has no application/mapping/project element defined in the parameter file." This section assigns values to parameters created in mappings "Map1" and "Map2." --> <application name="App1"> <mapping name="Map1"> <project name="Project1"> <mapping name="Map1"> <parameter name="MAP1_PARAM1">MAP1_PARAM1_VAL</parameter> <parameter name="MAP1_PARAM2">MAP1_PARAM2_VAL</parameter> </mapping> </project> </mapping> <mapping name="Map2"> <project name="Project1"> <mapping name="Map2"> <parameter name="MAP2_PARAM1">MAP2_PARAM1_VAL</parameter> <parameter name="MAP2_PARAM2">MAP2_PARAM2_VAL</parameter> </mapping> </project> </mapping> </application> The Data Integration Service uses this section only when you run mapping "Map1" in deployed application "App2. the Data Integration Service interprets <application name="App1"> and <application name="APP1"> as the same application. The Data Integration Service searches for parameter values in the following order: 1. 2.

If the parameter file does not conform to the schema definition.0" Parameter Files 109 .<parameter name="MAP1_PARAM2">MAP1_PARAM2_VAL</parameter> </mapping> </project> </mapping> </application> The Data Integration Service uses this section when you run any mapping other than "Map1" in application "App1.xsd ¨ On the machine that hosts Informatica Services: <Informatica Installation Directory>\isp\bin\plugins\ms\parameter_file_schema_1_0.informatica. The parameter file XML schema definition appears in the following directories: ¨ On the machine that hosts the Developer tool: <Informatica Installation Directory>\clients\DeveloperClient\infacmd\plugins\ms \parameter_file_schema_1_0.xsd The following example shows the parameter file XML schema definition: <?xml version="1." This section assigns values to parameters created in the following objects: * Reusable transformation "TX2" * Mapplet "MPLT1" in folder "Folder2" * Mapplet "RULE1" in nested folder "Folder2_1_1" --> <project name="Project2"> <transformation name="TX2"> <parameter name="RTM_PATH">Project1\Folder1\RTM1</parameter> </transformation> <folder name="Folder2"> <mapplet name="MPLT1"> <parameter name="PROJ2_FOLD2_MPLT1">PROJ2_FOLD2_MPLT1_VAL</parameter> </mapplet> <folder name="Folder2_1"> <folder name="Folder2_1_1"> <mapplet name="RULE1"> <parameter name="PROJ2_RULE1">PROJ2_RULE1_VAL</parameter> </mapplet> </folder> </folder> </folder> </project> </root> Parameter File Schema Definition A parameter file must conform to the structure of the parameter file XML schema definition (XSD)." "Map2" in application "App1." "Map2" in application "App1." or "Map1" in application "App2.org/2001/XMLSchema" targetNamespace="http://www." This section assigns values to parameters created in the following objects: * Reusable data source "DS1" * Mapplet "DS1" <!-- --> <project name="Project1"> <dataSource name="DS1"> <parameter name="PROJ1_DS1">PROJ1_DS1_VAL</parameter> <parameter name="PROJ1_DS1_PARAM1">PROJ1_DS1_PARAM1_VAL</parameter> </dataSource> <mapplet name="DS1"> <parameter name="PROJ1_DS1">PROJ1_DS1_VAL</parameter> <parameter name="PROJ1_DS1_PARAM1">PROJ1_DS1_PARAM1_VAL</parameter> </mapplet> </project> <!-- The Data Integration Service uses this section when you run any mapping other than "Map1" in application "App1.0"?> <schema xmlns="http://www.w3.com/Parameterization/1. the Data Integration Service fails the mapping run." or "Map1" in application "App2.

com/Parameterization/1.0" elementFormDefault="qualified"> <simpleType name="nameType"> <restriction base="string"> <minLength value="1"/> </restriction> </simpleType> <complexType name="parameterType"> <simpleContent> <extension base="string"> <attribute name="name" type="pf:nameType" use="required"/> </extension> </simpleContent> </complexType> <complexType name="designObjectType" abstract="true"> <sequence> <element name="parameter" type="pf:parameterType" minOccurs="1" maxOccurs="unbounded"/> </sequence> <attribute name="name" type ="pf:nameType" use="required"/> </complexType> <complexType name="dataSourceType"> <complexContent > <extension base="pf:designObjectType"/> </complexContent> </complexType> <complexType name="mappletType"> <complexContent > <extension base="pf:designObjectType"/> </complexContent> </complexType> <complexType name="transformationType"> <complexContent > <extension base="pf:designObjectType"/> </complexContent> </complexType> <complexType name="mappingType"> <complexContent > <extension base="pf:designObjectType"/> </complexContent> </complexType> <complexType name="deployedObjectType" abstract="true"> <sequence> <element name="project" type="pf:designContainerType" minOccurs="1" maxOccurs="unbounded"/> </sequence> <attribute name="name" type="pf:nameType" use="required"/> </complexType> <complexType name="deployedMappingType"> <complexContent> <extension base="pf:deployedObjectType"/> </complexContent> </complexType> <complexType name="containerType" abstract="true"> <attribute name="name" type ="pf:nameType" use="required"/> </complexType> <complexType name="designContainerType"> <complexContent> <extension base="pf:containerType"> <choice minOccurs="1" maxOccurs="unbounded"> <element name="dataSource" type="pf:dataSourceType"/> <element name="mapplet" type="pf:mappletType"/> <element name="transformation" type="pf:transformationType"/> <element name="mapping" type="pf:mappingType"/> <element name="folder" type="pf:designContainerType"/> </choice> </extension> 110 Chapter 11: Parameters and Parameter Files .informatica.xmlns:pf="http://www.

Run the mapping with the infacmd ms RunMapping command. 3. 4. For example.</complexContent> </complexType> <complexType name="applicationContainerType"> <complexContent> <extension base="pf:containerType"> <sequence> <element name="mapping" type="pf:deployedMappingType" minOccurs="1" maxOccurs="unbounded"/> </sequence> </extension> </complexContent> </complexType> <element name="root"> <complexType> <choice minOccurs="1" maxOccurs="unbounded"> <element name="application" type="pf:applicationContainerType"/> <element name="project" type="pf:designContainerType"/> </choice> <attribute name="description" type ="string" use="optional"/> </complexType> </element> </schema> Creating a Parameter File The infacmd ms ListMappingParams command lists the parameters used in a mapping and the default value for each parameter. Save the XML file. the following command lists the parameters in mapping Mapping1 in file "MyOutputFile.xml" The Data Integration Service lists all parameters in the mapping with their default values. Edit the XML file and replace the parameter default values with the values you want to use when you run the mapping. Use the output of this command to create a parameter file. Run the infacmd ms ListMappingParams command to list all parameters used in a mapping and the default value for each parameter. 1. If you did not specify the -o argument. 2. Parameter Files 111 . copy the command output to an XML file and save the file.xml": infacmd ms ListMappingParams -dn MyDomain -sn MyDataIntSvs -un MyUser -pd MyPassword -a MyApplication -m MyMapping -o "MyOutputFile. The -o argument sends command output to an XML file. Use the -pf argument to specify the parameter file name.

2. 1. 112 ¨ Configurations. Click Window > Preferences. 113 ¨ Exporting Data. You can also add other Data Integration Services to use when you view data. you need to select a default Data Integration Service. Select Informatica > Data Integration Services . 112 ¨ Selecting a Default Data Integration Service. you can export the data to a file. Before you can view data. 112 . 117 Viewing Data Overview You can run a mapping. When you view data in the Data Viewer. Expand the domain. Add a domain before you select a Data Integration Service. preview data. You can run a profile. preview data. and execute an SQL query from the Data Viewer view. 3.CHAPTER 12 Viewing Data This chapter includes the following topics: ¨ Viewing Data Overview. Select a default Data Integration Service. Selecting a Default Data Integration Service The Data Integration Service performs data integration tasks in the Developer tool. or execute an SQL query. You can run mappings from the command line. You can override the default Data Integration Service when you run a mapping or preview data. 117 ¨ Logs. You can also access logs that show log events. You can create configurations to control settings that the Developer tool applies when you run a mapping or preview data. from the Run dialog box. run a profile. or from the Data Viewer view. You can select any Data Integration Service that is available in the domain. The Preferences dialog box appears.

6. and optimizer level. The configurations that you create apply to your installation of the Developer tool. Control the settings the Developer tool applies when you preview output in the Data Viewer view. Click Run > Open Run Dialog. ¨ Mapping configurations. 5. Configurations A configuration is a group of settings that the Developer tool applies when you run a mapping or preview output. 1. Click Data Viewer Configuration . Click OK. A configuration controls settings such as the default Data Integration Service.4. default date/time format. Select a Data Integration Service. 3. 4. You can create the following configurations: ¨ Data viewer configurations. Control the settings the Developer tool applies when you run mappings through the Run dialog box or from the command line. Click the New button. Enter a name for the data viewer configuration. number of rows to read from a source. Configurations 113 . 2. You can select a data viewer configuration when you preview output for the following objects: ¨ Custom data objects ¨ Logical data objects ¨ Logical data object read mappings ¨ Logical data object write mappings ¨ Mappings ¨ Mapplets ¨ Physical data objects ¨ Virtual stored procedures ¨ Virtual tables ¨ Virtual table mappings Creating a Data Viewer Configuration Create a data viewer configuration to control the settings the Developer tool applies when you preview output in the Data Viewer view. The Run dialog box appears. Click Set as Default. Data Viewer Configurations Data viewer configurations control the settings that the Developer tool applies when you preview output in the Data Viewer view.

1. Click Run > Open Run Dialog. Click OK. 5. Configure the data viewer or mapping configuration properties. Click the New button. An administrator can also change the mapping deployment properties through the Administrator tool. 6. The mapping configuration that you select applies to all mappings in the application. 3. you must run the mapping through the Run dialog box. To apply mapping deployment properties to a mapping that you run from the command line. The Developer tool creates the mapping configuration. You must redeploy the application for the changes to take effect. 6. Click Apply. Configure the mapping configuration properties. 5. You can change the mapping deployment properties when you edit the application. Select the Data Viewer or Mapping configuration.5. 2. 2. The Developer tool creates the data viewer configuration. select the mapping configuration when you add the mapping to an application. Configure the data viewer configuration properties. Enter a name for the mapping configuration. Creating a Mapping Configuration Create a mapping configuration to control the mapping deployment properties that the Developer tool uses when you run mappings through the Run dialog box or from the command line. 6. Click Apply. Click Window > Preferences. Click Close. 4. Click Mapping Configuration . 3. The Run dialog box appears. 114 Chapter 12: Viewing Data . If you run the mapping through the Run menu or mapping editor. Mapping Configurations Mapping configurations control the mapping deployment properties that the Developer tool uses when you run a mapping through the Run dialog box or from the command line. The Preferences dialog box appears. 4. 7. Click Apply. To apply a mapping configuration to a mapping that you run through the Developer tool. Click Close. Updating the Default Configuration Properties You can update the default data viewer and mapping configuration properties. 1. Click Informatica > Run Configurations . 7. the Developer tool runs the mapping with the default mapping deployment properties. The Developer tool updates the default configuration properties.

The Data Integration Service ignores this property for SAP sources. Default is 4000. Reads all characters in a column. Configurations 115 . The following table displays the properties that you configure for sources: Property Read all rows Description Reads all rows from the source. Default is enabled. The following table displays the properties that you configure for results in the Data Viewer view: Property Show all rows Description Displays all rows in the Data Viewer view. Specifies the Data Integration Service that runs the mapping if you do not use the default Data Integration Service. Set configuration properties for the Data Viewer view or mappings in the Run dialog box. Note: If you enable the this option for a mapping that writes to a customized data object. Specifies the maximum number of rows to read from the source if you do not read all rows. Default is 1000. Default is disabled. the Data Integration Service does not truncate the target table before it writes to the target.Configuration Properties The Developer tool applies configuration properties when you preview output or you run mappings. Data Integration Service Properties The Developer tool displays the Data Integration Service tab for data viewer and mapping configurations. Default is enabled. Specifies the maximum number of characters to read in each column if you do not read all characters. Read up to how many rows Read all characters Read up to how many characters Results Properties The Developer tool displays the Results tab for data viewer configurations. The following table displays the properties that you configure for the Data Integration Service: Property Use default Data Integration Service Data Integration Service Description Uses the default Data Integration Service to run the mapping. Source Properties The Developer tool displays the Source tab for data viewer and mapping configurations.

Order in which the Data Integration Service sorts character data in the mapping. The Data Integration Service uses the tracing levels set in the mapping. and detailed transformation statistics. and notification of rejected data. Default is Normal. and predicate optimization methods to the mapping.Minimal.Full. Default is None. Specifies the maximum number of characters to display in each column if you do not display all characters. The Data Integration Service logs initialization and status information. Default is Binary. and skipped rows due to transformation row errors.Terse.None.Verbose initialization. names of index and data files used. . Default is MM/DD/YYYY HH24:MI:SS. The Data Integration Service does not optimize the mapping. Show up to how many rows Specifies the maximum number of rows to display if you do not display all rows. Override tracing level Sort order Optimizer level 116 Chapter 12: Viewing Data . the Data Integration Service logs additional initialization details. Choose one of the following tracing levels: . The following table displays the advanced properties: Property Default date time format Description Date/time format the Data Integration Services uses when the mapping converts strings to dates. .Normal. the Data Integration Service logs each row that passes into the mapping. . Default is disabled. The tracing level determines the amount of information that the Data Integration Service sends to the mapping log files. The Data Integration Service applies the early projection. The Data Integration Service applies the early projection optimization method to the mapping.Normal. Overrides the tracing level for each transformation in the mapping. Displays all characters in a column.None. and semi-join optimization methods to the mapping. Also notes where the Data Integration Service truncates string data to fit the precision of a column and provides detailed transformation statistics. In addition to verbose initialization tracing. Controls the optimization methods that the Data Integration Service applies to a mapping as follows: . . . The Data Integration Service logs initialization information. predicate optimization. .Verbose data. early selection. Show all characters Show up to how many characters Advanced Properties The Developer tool displays the Advanced tab for data viewer and mapping configurations. errors encountered. Default is 1000. error messages. but not at the level of individual rows. The Data Integration Service applies the early projection.Property Description Default is disabled. Default is 4000. Summarizes mapping results. early selection. . In addition to normal tracing.

for example. To work around this issue. Enter a file name and extension. or run an SQL query. When I close and reopen the Developer tool. The Developer tool does not consider the configuration names unique. If you create a configuration with a long name. 4. errors. shorten the configuration name. the Developer tool deletes one of the configurations when you exit. 1. If you disable this option. run a profile.Property High precision Description Runs the mapping with high precision. for example. High precision data values have greater accuracy. one configuration is missing. The Developer tool stores data viewer and mapping configurations in files on the machine that runs the Developer tool. Allows you to view log files in the Developer tool. In the Data Viewer view. Log events include information about the tasks performed by the Data Integration Service. I tried to create a configuration with a long name. 3. right-click the results and select Export Data. the Developer tool might not be able to save the file to the hard drive. Export data when you want to create a local copy of the data. Send log to client Troubleshooting Configurations I created two configurations with the same name but with different cases. Default is enabled. you must view log files through the Administrator tool. but the Developer tool displays an error message that says it cannot not write the file. and load summary and transformation statistics. If you create multiple configurations with the same name but different cases. Enable high precision if the mapping produces large numeric values. more than 100 characters. preview data. such as a TXT or CSV file. Select the location where you want to save the file. 2. Exporting Data 117 . Data viewer and mapping configuration names are not case sensitive. Default is enabled. Enabling high precision prevents precision loss in large numeric values. Exporting Data You can export the data that displays in the Data Viewer view to a tab-delimited flat file. Click OK. Logs The Data Integration Service generates log events when you run a mapping. values with precision of more than 15 digits. and you require accurate values.

To view log events.When you run a profile. or run an SQL query. preview data. you can view log events in the editor. 118 Chapter 12: Viewing Data . click the Show Log button in the Data Viewer view.

Part II: Informatica Data Services This part contains the following chapters: ¨ Logical View of Data. 120 ¨ Virtual Data. 126 119 .

¨ Expose logical data as relational tables to promote reuse. such as a report on the top 10 customers. American Bank would consolidate the data into a central data warehouse in a development environment. you can apply this change one time and use one mapping to make this change to all databases that use this data. The developer can then make the data available for business intelligence reports before creating a central data warehouse. In the Developer tool.CHAPTER 13 Logical View of Data This chapter includes the following topics: ¨ Logical View of Data Overview. branch. The developer can link the relational sources of American Bank and California bank to a single view of the customer. and other data in the enterprise. Data resides in various places in an enterprise. ¨ Find relevant sources of data and present the data in a single view. ¨ Consolidate data from both banks into a central data warehouse. You can achieve the following goals: ¨ Use common data models across an enterprise so that you do not have to redefine data to meet different business needs. This process might take several months or longer. 120 . After the acquisition. account. 121 ¨ Logical Data Object Models. American Bank acquires California Bank. and move the data warehouse to a production environment. You can access all data sources and present the data in one view. 121 ¨ Logical Data Objects. a developer at American Bank can create a model of customer. 122 ¨ Logical Data Object Mappings. Traditionally. American Bank has the following goals: ¨ Present data from both banks in a business intelligence report. 124 Logical View of Data Overview Develop a logical view of data to describe how to represent and access data in an enterprise. such as relational databases and flat files. The bank could then run business intelligence reports on the data warehouse in the production environment. 120 ¨ Developing a Logical View of Data. It also means if there is a change in data attributes. verify the data.

Logical Data Object Models A logical data object model describes the structure and use of data in an enterprise. You can also profile the physical data sources to analyze data quality.Developing a Logical View of Data Develop a logical view of data to represent and access data in an enterprise. Create or import a logical data model. 2. Creating a Logical Data Object Model Create a logical data object model to define the structure and use of data in an enterprise. You want to create a unified model of customer accounts that defines the relationship between customers and accounts. 3. Click File > New > Logical Data Object Model . 1. Before you develop a logical view of data. The model contains logical data objects and defines relationships between them. 2. A logical data object model represents the data from the perspective of the business regardless of the source systems. For example. Enter a name for the logical data object model. The data in an enterprise might reside in multiple disparate source systems such as relational databases and flat files. click Next. Select a project or folder in the Object Explorer view. When you add a logical data object to the model. The transformations can include data quality transformations to validate and cleanse the data. Select Create as Empty. 4. Define a logical data object model to create a unified model of data in an enterprise. 3. customer account data from American Bank resides in an Oracle database. 4. You add a logical data object model to a project or folder and store it in the Model repository. View the output of the logical data object mapping. you can add it to a data service to make virtual data available for end users. Create a logical data object mapping to read data from a logical data object or write data to a logical data object. To create logical data objects. you can associate a physical data object with the logical data object. add logical data objects to the logical data object model and define relationships between objects. the Developer tool prompts you to add logical data objects to the model. you can define the physical data objects that you want to use in a logical data object mapping. A logical data object mapping can contain transformation logic to transform the data. and customer account data from California Banks resides in an IBM DB2 database. such as ERwin. Optionally. Or. 1. The Developer tool creates a logical data object read mapping and a logical data object write mapping that includes the logical and physical data objects as input and output. If you click Next. The New Logical Data Object Model dialog box appears. You can import a logical data object model from an XSD file that you created in a modeling tool. you can manually create a logical data object model in the Developer tool. When you create a logical data object model. click Finish. 5. After you develop a logical view of data. Create a logical data object model to define the relationship. you can add logical data objects and create logical data object mappings. To create an empty logical data object model. Developing a Logical View of Data 121 .

click the New button. Account_Number is a primary key. Click Finish. 3. Select a physical data object and click OK. and click Open. 5. The logical data object model opens in the editor. 9. the logical data object Account includes the attribute Account_Number. Logical Data Objects A logical data object is an object in a logical data object model that describes a logical entity in an enterprise. Enter a name in the Name column. 10. The logical data objects appear in the editor. The Select a Data Object dialog box appears. It has attributes. enter a description in the Description column. 122 Chapter 13: Logical View of Data . For example. Click File > New > Logical Data Object Model . Select a project or folder in the Object Explorer view. 1. 8. Add logical data objects to the logical data object model. Optionally. keys. select the file. 7. In the model. 6. 4. 8. Import a logical data object model to use an existing model of the structure and use of data in an enterprise. because the Customer data object needs to reference the account for each customer. Click Finish. The New Logical Data Object Model dialog box appears. they appear in the editor. 2. the logical data objects Customer and Account appear in a logical data object model for a national bank. 12. click the Open button in the Source column to associate a physical data object with the logical data object. 7. The Developer tool adds a logical data object to the list. The logical data object model describes the relationship between customers and accounts. If you created logical data objects. because it uniquely identifies an account. Enter a name for the logical data object model. Optionally. Importing a Logical Data Object Model You can import a logical data object model from an XSD file. To create a logical data object. Browse to the XSD file that you want to import. 11. Account has a relationship with the logical data object Customer. Repeat steps 6 through 10 to add logical data objects. and it describes relationships between attributes.6. You include logical data objects that relate to each other in a data object model. Click Next. Select Create Existing Model from File.

the relationship between the Account_Type attribute of the Account logical data object and the Account_Number attribute of the Customer logical data object is non-identifying. Associations between logical data objects. Enter a data object name. the relationship between the Branch_ID attribute of the logical data object Branch and the Branch_Location attribute of the logical data object Customer is identifying. 3. Logical Data Objects 123 . 2. the logical data object model indicates an identifying relationship as a solid line between attributes. Creating a Logical Data Object You can create a logical data object in a logical data object model to define a logical entity in an enterprise.Logical Data Object Properties A logical data object contains properties that define the data object and its relationship to other logical data objects in a logical data object model. For example. Type of access for a logical data object and each attribute of the data object. Select Informatica > Data Objects > Data Object and click Next. You can define the following types of relationship between attributes: Identifying A relationship between two attributes where an attribute is identified through its association with another attribute. This is because you can identify an account type without having to associate it with an account number. Relationships Access Mappings Attribute Relationships A relationship is an association between primary or foreign key attributes of one or more logical data objects. Non-Identifying A relationship between two attributes that identifies an attribute independently of the other attribute. A logical data object contains the following properties: Name General Attributes Keys Description Name and description of the logical data object. 1. One or more attributes in a logical data object can be primary keys or unique keys. Logical data object mappings associated with a logical data object. For example. When you define relationships. It indicates a non-identifying relationship as a dotted line between attributes. Comprise the structure of data in a logical data object. Click File > New > Other. This is because a branch ID is unique to a branch location.

8. 9. optionally edit the logical data object name and description. optionally specify primary and unique keys for the data object. Select the data object and click the Properties tab. The logical data object model contains a Customers logical data object. 5. On the Relationships tab. On the Generaltab. On the Attributes tab. 6. optionally edit the type of access for the logical data object and each attribute in the data object. It can include transformation logic. create attributes and specify their datatype and precision. For example. It provides a way to write to targets from a logical data object. optionally create relationships between logical data objects. The mapping can contain transformation logic to transform the data. 124 Chapter 13: Logical View of Data . 7. American Bank has a logical data object model for customer accounts. On the Keys tab. Default is read only. The data object appears in the data object model canvas. You can use a logical data object read mapping to perform this task and view the output in the Data Viewer view. Select the data object model for the data object and click Finish. On the Mappings tab. Logical Data Object Read Mappings A logical data object read mapping contains one or more physical data objects as input and one logical data object as output. The mapping can contain transformation logic to transform the data. Logical Data Object Mappings A logical data object mapping is a mapping that links a logical data object to one or more physical data objects. It provides a way to access data without accessing the underlying data source. Logical Data Object Write Mappings A logical data object write mapping contains a logical data object as input. optionally create a logical data object mapping. It also provides a way to have a single view of data coming from more than one source. A logical data object mapping can be of the following types: ¨ Read ¨ Write You can associate each logical data object with one logical data object read mapping or one logical data object write mapping. American Bank wants to view customer data from two relational databases in the Customers logical data object. On the Access tab.4. 11. 10.

Results appear in the Output section. 5. 2. Fix validation errors and validate the mapping again. Select the mapping type. 7. In the Data Object Explorer view. 10. Optionally. add transformations to the mapping. 1. Validation errors appear on the Validation Log view.Creating a Logical Data Object Mapping You can create a logical data object mapping to link data from a physical data object to a logical data object and transform the data. Select Informatica > Data Objects > Data Object Mapping and click Next. 11. edit the mapping name. Select the logical data object you want to include in the mapping. 12. 4. 9. 13. based on whether the mapping is a read or write mapping. The editor displays the logical data object as the mapping input or output. select the logical data object model that you want to add the mapping to. 8. click the Data Viewer view and run the mapping. 3. Click Finish . Click File > New > Other . Link ports in the mapping. Optionally. 6. based on whether the mapping is a read or write mapping. Optionally. Drag one or more physical data objects to the mapping as read or write objects. Right-click the mapping canvas and click Validate to validate the mapping. Logical Data Object Mappings 125 .

physical database tables. you must create an SQL data service. Create a virtual database to accomplish the following tasks: ¨ Define a uniform view of data that you can expose to end users. To create a virtual database. the SQL data service also contains virtual table mappings that define the flow of data between the sources and the virtual tables. An SQL data service contains the virtual schemas and the virtual tables or stored procedures that define the database structure. If the virtual schema contains virtual tables.CHAPTER 14 Virtual Data This chapter includes the following topics: ¨ Virtual Data Overview. If you make changes to the virtual database in the Developer tool. ¨ Define the virtual flow of data between the sources and the virtual tables. Transform and standardize the data. To 126 . After you create an SQL data service. 127 ¨ Virtual Tables. heterogeneous data sources merge. End users can query the virtual tables or run the stored procedures in the SQL data service by entering an SQL query in a third-party client tool. When the user enters the query. You can add the virtual database to a self-contained application. 126 ¨ SQL Data Services. if an administrator specifies that any of the virtual tables should be cached. End users can query the virtual tables as if they were physical database tables. you add it to an application and deploy the application to make the SQL data service accessible by end users. A developer at the merged company needs to make a single view of customer data available to other users at the company. End users can use a JDBC or ODBC client tool to query the virtual tables as if they were actual. ¨ Provide end users with access to the data. 135 Virtual Data Overview Create a virtual database to define uniform views of data and make the data available for end users to query. ¨ Isolate the data from changes in data structures. 132 ¨ SQL Query Plans. the Data Integration Service retrieves virtual data from the sources or from cache tables. Example Two companies that store customer data in multiple. 128 ¨ Virtual Table Mappings. 130 ¨ Virtual Stored Procedures. the virtual database in the application does not change until you redeploy it.

The virtual tables in the database. ¨ Virtual tables. Optionally. To make the virtual data accessible by end users. If you create a virtual table manually. Create virtual tables in the SQL data service. You can create virtual tables from physical or logical data objects. 1. Schemas that define the virtual database structure. you can create a virtual table mapping to define data flow rules between the data object and the virtual table. create virtual stored procedures. 4. When you create an SQL data service. 3. An SQL data service can contain the following objects: ¨ Virtual schemas. or you can create a virtual table manually. 2. SQL Data Services An SQL data service is a virtual database that end users can query. Create or update virtual table mappings to define the data flow between data objects and the virtual tables.accomplish this goal. After the developer deploys the application. end users can make queries against the standardized view of the customer through a JDBC or ODBC client tool. Defining an SQL Data Service To define an SQL data service. Select a project or folder in the Object Explorer view. You can create virtual tables and virtual table mappings during this step. Optionally. You can create a virtual table from a data object. 5. 2. If you create a virtual table from a data object. create an SQL data service and add objects to it. and virtual table mappings that link virtual tables with source data. It contains a schema and other objects that represent underlying physical data. Mappings that link a virtual table to source data and define the data flow between the sources and the virtual table. preview virtual table data. virtual tables. 1. the developer creates an SQL data service that contains virtual schemas and virtual tables that define a unified view of a customer. Create an SQL data service. SQL Data Services 127 . or you can create virtual tables manually. the developer includes the SQL data service in an application and deploys the application. Click File > New > Data Service. ¨ Virtual table mappings. Sets of data flow instructions that allow end users to perform calculations or retrieve data. Creating an SQL Data Service Create an SQL data service to define a virtual database that end users can query. you must create a virtual table mapping to link the virtual table with source data and define data flow. 6. The New dialog box appears. you can create virtual schemas. The developer creates virtual table mappings to link the virtual tables of the customer with the sources and to standardize the data. Define relationships between virtual tables. ¨ Virtual stored procedures.

14. Virtual Tables A virtual table is a table in a virtual database. the Developer tool creates an empty virtual table and sets the data access method to none. If you change columns in the data object. To define data transformation rules for the virtual table. Enter a virtual table name in the Name column. 10. To create virtual tables in the SQL data service. Repeat steps 7 through 12 to add more virtual tables. 128 Chapter 14: Virtual Data . The Developer tool does not update the virtual table if you change the data object name or description. To create a virtual table. The Developer tool creates the SQL data service. the New SQL Data Service dialog box appears. The Developer tool adds a virtual table to the list of virtual tables. 4. you can define primary key-foreign key relationships between tables. Enter a name for the SQL data service. 6.3. Click the Open button in the Data Object column. 8. the Developer tool creates a virtual table with the same columns and properties as the data object. If you click Next. When you create a virtual table from a data object. Each virtual table has a data access method. 12. When you manually create a virtual table. 5. Select SQL Data Service. 13. Click Next. To create an SQL data service without virtual tables. You can preview virtual table data when the data access method is read or custom. Select a physical or logical data object and click OK. 9. Data Access Methods The data access method for a virtual table defines how the Data Integration Service retrieves data. click Finish. click Next. The data access method defines how the Data Integration Service retrieves data. You can create virtual tables manually or from physical or logical data objects. 11. set the data access method to custom. Click Finish. Create a virtual table to define the structure of the data. The Select a Data Object dialog box appears. the Developer tool updates the virtual table with the same changes. Create one or more virtual tables within a schema. The Developer tool sets the data access method to read. The Developer tool prompts you to create a virtual table mapping. 7. Select None if you do not want to link the virtual table with the data object. click the New button. If a schema contains multiple virtual tables. Enter the virtual schema name in the Virtual Schema column. Select Read in the Data Access column to link the virtual table with the data object.

1. If the virtual table has a virtual table mapping. Open an SQL data service. Read Custom Creating a Virtual Table from a Data Object Create a virtual table from a physical or logical data object when the virtual table structure matches the structure of the data object. However. click the New button. remove. the Developer tool prompts you to choose a data object. Open an SQL data service. 2. Click Finish. which indicates the virtual table is not linked to a source. 3. or change the data object description. the Developer tool prompts you to create a virtual table mapping. the Developer tool makes the same change to the virtual table. Virtual Tables 129 . If you add. If the virtual table has a virtual table mapping.When you create a virtual table. 5. the Developer tool removes the link between the data object and the virtual table. The Developer tool places the virtual table in the editor and sets the data access method to read. the Data Integration Service applies any transformation rule defined in the virtual table mapping to the source data. 2. The following table describes the data access methods: Data Access Method None Description The virtual table is not linked to source data. When an end user queries the virtual table. Enter the virtual schema name in the Virtual Schema column. If you change the data access method to custom. The Data Integration Service cannot retrieve data for the table. Enter a name for the virtual table. It returns the transformed data to the end user. The Add Data Objects to SQL Data Service dialog box appears. 1. change the name of the data object. the Developer tool does not update the virtual table. Drag a physical or logical data object from the Object Explorer view to the editor. the Developer tool deletes the virtual table mapping. if you change primary key-foreign key relationships. 4. The New Virtual Table dialog box appears. If you update the data object. The virtual table is linked to a physical or logical data object without data transformation. The Developer tool lists the data object in the Data Object column. When an end user queries the virtual table. the Developer tool does not update the virtual table. 3. The virtual table is linked to a physical or logical data object through a virtual table mapping. If you change the data access method to read. In the Overview view Tables section. Creating a Virtual Table Manually Create a virtual table manually when the virtual table structure does not match the structure of an existing data object. or change a column in the data object. If you change the data access method to none. The Developer tool creates a virtual table mapping to read data from the data object. the Developer tool deletes the virtual table mapping. you must choose a data access method. Click the Schema view. The Developer tool sets the data access method for the virtual table to none. the Data Integration Service retrieves data from the data object.

Click Finish. Therefore. The query results appear in the Output window. Enter an SQL statement in the Input window. 1. Click the Schema view.4. 3. Open an SQL data service. For the query to return results. the virtual table must be linked to source data. Open an SQL data service. the virtual table must be created from a data object or it must be linked to source data in a virtual table mapping. The virtual table appears in the Schema view. the Data Integration Service applies the transformation rules defined in the virtual table mapping to the source data. 5. Virtual Table Mappings A virtual table mapping defines the virtual data flow between sources and a virtual table in an SQL data service. Click the column you want to assign as a foreign key in one table. Click Run. Click the Schema view. The arrow points to the primary key table. Enter a virtual schema name or select a virtual schema. right-click Columns and click New. click the blank space to the left of the column name. 3.<table> 6. 2. 5. 1. Click the Data Viewer view. 2. Create a virtual table mapping to link a virtual table in an SQL data service with source data and to define the rules for data transformation. 4. Drag the pointer from the foreign key column to the primary key column in another table. Defining Relationships between Virtual Tables You can define primary key-foreign key relationships between virtual tables in an SQL data service to show associations between columns in the virtual tables. The virtual table appears in the Schema view. It returns the transformed data to the end user. For example: select * from <schema>. Running an SQL Query to Preview Data Run an SQL query against a virtual table to preview the data. 130 Chapter 14: Virtual Data . To make a column a primary key. 7. The Developer tool uses an arrow to indicate a relationship between the tables. Select the virtual table in the Outline view. Use a virtual table mapping to transform the data. To add a column to the virtual table. When an end user queries the virtual table. 6.

Click Finish. A virtual table in an SQL data service. A virtual table mapping contains the following components: ¨ Sources. and validate the mapping. In the Tables section. and the virtual table. You can create one virtual table mapping for each virtual table. Add sources and transformations to the mapping and link columns. A virtual table mapping must contain at least one source. Transformations are optional in a virtual table mapping. ¨ Transformations. Create a virtual table from the orders table and set the data access method to custom. Open the SQL data service that contains the virtual table for which you want to create a virtual table mapping. 1. Physical or logical data objects that describe the characteristics of source tables or files. 4. You can preview virtual table data as you create and update the mapping. Virtual Table Mappings 131 . Create an SQL data service to retrieve the orders information. Connections between columns that define virtual data flow between sources. 2. 1. you do not have to create a virtual table mapping. The New Virtual Table Mapping dialog box appears. Defining a Virtual Table Mapping To define a virtual table mapping. Optionally. 2. the Data Integration Service retrieves data directly from the data object. Example You want to make order information available to one of your customers. 3. After you create and deploy an application that contains the SQL data service. ¨ Links. You can create one virtual table mapping for each virtual table in an SQL data service. preview the mapping data. create a virtual table mapping. The customer is not authorized to view the orders information for other customers. 3. 4. The orders information is stored in a relational database table that contains information for several customers. 5. Use different transformation objects to perform different functions. Enter a name for the virtual table mapping. Creating a Virtual Table Mapping Create a virtual table mapping to define the virtual data flow between source data and a virtual table in an SQL data service. add sources and transformations. the customer can query the virtual table that contains his orders information. transformations. Create a mapping from a virtual table in an SQL data service.If you do not want to transform the data. change the data access method for the virtual table to Custom. Objects that define the rules for data transformation. Validate the mapping. Add a Filter transformation to the virtual table mapping to remove orders data for the other customers. When an end user queries the virtual table. ¨ Virtual table. Click the Overview view.

The virtual table must be linked to source data. 3. Validating a Virtual Table Mapping Validate a virtual table mapping to verify that the Data Integration Service can read and process the entire virtual table mapping. If you created the virtual table from a data object. Link columns by selecting a column in a source or transformation and dragging it to a column in another transformation or the virtual table. 1. You can select a transformation or the virtual table. drag data objects from the Object Explorer view into the editor. Virtual Stored Procedures A virtual stored procedure is a set of procedural or data flow instructions in an SQL data service. 4. end users can access and run the virtual stored procedures in the SQL data service through a JDBC client tool. Open an SQL data service. correct the errors and revalidate the virtual table mapping. The Developer tool uses an arrow to indicate the columns are linked. add transformations to the mapping by dragging them from the Object Explorer view or Transformation palette into the editor. End users can send data to and receive data from the virtual stored procedure through input and output parameters. Previewing Virtual Table Mapping Output As you develop a virtual table mapping. Create a virtual stored procedure to allow end users to perform calculations.The Developer tool creates a view for the virtual table mapping and places the virtual table in the editor. 2. the Developer tool adds the data object to the mapping as a source. Open the SQL data service that contains the virtual table mapping. If the Validation Log view lists errors. 132 Chapter 14: Virtual Data . Optionally. Click Run. Select the object for which you want to preview output. 4. 8. or write data to a data object. the virtual table mapping is valid. When you deploy an application that contains an SQL data service. 1. 7. preview the output to verify the virtual table mapping produces the results you want. The Developer tool displays results in the Output section. Select the virtual table mapping view. Click the Data Viewer view. If no errors appear in the view. You can add logical or physical data objects as sources. 5. Select Edit > Validate. 3. 6. 2. The Validation Log view opens. To add sources to the mapping. Click the virtual table mapping view. retrieve data.

create a virtual stored procedure that contains input parameters for the customer ID and email address. transformations. and validate the stored procedure. Defining a Virtual Stored Procedure To define a virtual stored procedure. You can create multiple stored procedures within a virtual schema. Write transformations. Transformations are optional in a virtual stored procedure. Finally. create a virtual stored procedure. and outputs to the virtual stored procedure. Objects that pass data into the virtual stored procedure. Example An end user needs to update customer email addresses for customer records stored in multiple relational databases. Add a Router transformation to determine which relational table contains the customer record the end user needs to update. Output parameters receive data from the stored procedure. Creating a Virtual Stored Procedure Create a virtual stored procedure to allow an end user to access the business logic within the procedure through a JDBC or ODBC client tool. and link the ports. add inputs. ¨ Outputs. 3. Read transformations. Objects that pass data out of a virtual stored procedure. Inputs can be input parameters. or physical or logical data objects. Write transformations write data to logical data objects. deploy the SQL data service. A virtual stored procedure must contain at least one input. A virtual stored procedure must contain at least one output. Read transformations extract data from logical data objects.Create a virtual stored procedure within a virtual schema in an SQL data service. You must create a virtual stored procedure within a virtual schema. Create a logical data object write mapping to write to the relational tables. Next. The virtual stored procedure uses the Write transformation to update the logical data object. 1. Connections between ports that define virtual data flow between inputs. Input parameters pass data to the stored procedure. A virtual stored procedure contains the following components: ¨ Inputs. ¨ Links. Add inputs. The logical data object write mapping determines which relational table to update based on the customer ID and updates the customer email address in the correct table. Create a logical data object that represents a union of the relational tables. 4. Create a virtual stored procedure in an SQL data service. transformations. transformations. Outputs can be output parameters. Optionally. The end user can call the virtual stored procedure through a third-party client tool. preview the virtual stored procedure output. and outputs. To allow the end user to update the email addresses. Use different transformation objects to perform different functions. In the SQL data service. Create a Write transformation based on the logical data object and add it to the virtual stored procedure as output. ¨ Transformations. Virtual Stored Procedures 133 . Objects that define the rules for data transformation. The end user passes the customer ID and updated email address to the virtual stored procedure. create an SQL data service. first create a logical data object model to define a unified view of the customer. Validate the virtual stored procedure. 2. and outputs. or physical or logical data objects.

1. enter them in the Input section. right-click an SQL data service and select New > Virtual Stored Procedure. 7. The Developer tool uses an arrow to indicate the ports are linked. 6. in the editor. The virtual stored procedure must contain at least one input parameter or source and one output parameter or target. the Developer tool adds an Input Parameter transformation or an Output Parameter transformation. Add output parameters or targets to the virtual stored procedure. 4. Select the Data Viewer view. If you select input parameters or output parameters. Add input parameters or sources to the virtual stored procedure. 2. If the virtual stored procedure contains input parameters. The Developer tool creates an editor for the virtual stored procedure. Optionally. The Validation Log view opens. select the appropriate option. Enter a name for the virtual stored procedure. correct the errors and revalidate the virtual stored procedure. The Developer tool displays results in the Output section. 134 Chapter 14: Virtual Data . If the virtual stored procedure has input parameters or output parameters. 3. The New Virtual Stored Procedure dialog box appears. 3. Click Finish. Open a virtual stored procedure. 3. 1. Click Run. Open a virtual stored procedure. If no errors appear in the view. 2. the virtual stored procedure is valid. add transformations to the virtual stored procedure by dragging them from the Object Explorer view or the Transformation palette into the editor. Previewing Virtual Stored Procedure Output Preview the output of a virtual stored procedure to verify that it produces the results you want. Link ports by selecting a port in a source or transformation and dragging it to a port in another transformation or target. 4. 1. Select Edit > Validate. If the Validation Log view lists errors. or both. Enter a virtual schema name or select a virtual schema. Validating a Virtual Stored Procedure Validate a virtual stored procedure to verify that the Data Integration Service can read and process the virtual stored procedure. In the Object Explorer view or Outline view. 9. 2. 5. 8.

The optimized query displays the query as the Data Integration Service executes it. In the Data Viewer view. However. if you enter a query with many clauses and subqueries. the Developer tool displays the following graphical representation of the query: The non-optimized view displays the query as you enter it.table>. When you view the optimized query. and a target. the Developer tool displays the following graphical representation of the query: The optimized view displays the query as the Data Integration Service executes it. you want to query the CUSTOMERS virtual table in an SQL data service. links. "SELECT * FROM <schema. When you view the SQL query plan for a query. View the query plan to troubleshoot queries end users run against a deployed SQL data service. The SQL data service does not contain a user-generated virtual table mapping. Because the optimizer level is normal. The optimized query produces the same results as the original query. The graphical representation has a source. or if the virtual table mapping is complex. but usually runs more quickly. For example. for example. SQL Query Plan Example When you view the SQL query plan for a query you enter in the Data Viewer view. the Developer tool displays a graphical representation of the query that looks like a mapping. For example. the Developer tool produces a different optimized query for each optimizer level. The Developer tool uses optimizer levels to produce the optimized query. based on the complexity of the query. The Developer tool displays the WHERE clause as a Filter transformation and the ORDER BY clause as a Sorter transformation. Different optimizer levels might produce different optimized queries. if you enter a simple SELECT statement. Pushing the filter SQL Query Plans 135 . The optimized query view contains different transformations or transformations that appear in a different order than the transformations in the original query. The Developer tool uses the passthrough Expression transformation to rename ports. You enter the following query in the Data Viewer view: select * from CUSTOMERS where CUSTOMER_ID > 150000 order by LAST_NAME When you view the SQL query plan. the Data Integration Service pushes the filter condition to the source data object. which sets the optimizer level for the query to normal." against a virtual table in an SQL data service without a user-generated virtual table mapping.SQL Query Plans An SQL query plan enables you to view a mapping-like representation of the SQL query you enter when you preview virtual table data. the Developer tool might produce the same optimized query for each optimizer level. you choose the default data viewer configuration settings. transformations. you can view the original query and the optimized query. You can also use the query plan to help you troubleshoot your own queries and understand the log messages. The Developer tool allows you to view the graphical representation of your original query and the graphical representation of the optimized query.

4. 1. the Developer tool displays the ORDER BY clause as a Sorter transformation. 5. Click the Data Viewer view. 136 Chapter 14: Virtual Data . Click Show Query Plan. It uses pass-through Expression transformations to enforce the data types you specify in the logical transformations. Open an SQL data service that contains at least one virtual table. As in the non-optimized query. 2. 3. Optionally. The Developer tool displays the optimized SQL query plan. The Developer tool displays the SQL query plan for the query as you entered it on the Non-Optimized tab. 6.condition improves query performance because it reduces the number of rows that the Data Integration Service reads from the source data object. select a data viewer configuration that contains the optimizer level you want to apply to the query. Viewing an SQL Query Plan Display the SQL query plan to view a mapping-like representation of the SQL query you enter when you preview virtual table data. Enter an SQL query in the Input window. click the Optimized tab. To view the optimized query.

Part III: Informatica Data Quality This part contains the following chapters: ¨ Profiles. 146 ¨ Reference Data. 138 ¨ Scorecards. 148 137 .

Disconnect from the repository and then reconnect to it to refresh the connection. 142 ¨ Exporting Profile Results. Create and run a profile to identify data quality issues in data. such as the maximum and minimum lengths of values and the first and last values in each column. 141 ¨ Profiling a Mapplet or Mapping Object. 139 ¨ Creating a Profile for Join Analysis.CHAPTER 15 Profiles This chapter includes the following topics: ¨ Profiles Overview. 144 Profiles Overview A profile is an analysis of the content and structure of data. Note: You can also work with profiles in Informatica Analyst. ¨ Statistics about the column values. Data profiling is often the first step in a project. you can define steps in your project to fix those problems. Changes that you make to profiles in the Analyst tool do not appear in the Developer tool until you refresh the Developer tool connection to the repository. You can run a profile to evaluate the structure of data and verify that data columns are populated with the types of information you expect. 138 . You can perform join analysis on a data object. Column profiling provides the following facts about data: ¨ The number of unique and null values in each column. ¨ The patterns of data in each column. It displays results as a Venn diagram and as a percentage value. Use join analysis profiles to validate or identify problems in column join conditions. 141 ¨ Running a Saved Profile . Use profiles to create scorecards and to create and update reference data tables. Join analysis describes the degree of overlap between two data columns. You can perform column profiling on a data object and on an object in a mapping. 141 ¨ Profile Results. 138 ¨ Profile Features. If a profile reveals problems in data. 139 ¨ Creating a Column Profile for a Data Object. and the frequencies with which these values occur. expressed as a number and a percentage. There are two types of profiling: column profiling and join analysis. 140 ¨ Adding a Rule to Profile.

7.Profile Features You can create a profile and save it to the Profiles folder of you project in the Model repository. Incremental Profiling When you create a profile on a data object. Profile Features 139 . changing the profile settings in each run. Drill-Down on Profile Data You can drill-down on the columns added to a profile to examine the raw data values. Select the data columns to profile. Optionally. You can also add multiple rules to the profile and select or clear different rules each time you run the profile. 2. you can run the profile multiple times. In this way you can minimize the quantity of data that is processed when the profile runs. enter a text description of the profile. You can drill down on the latest data in the data source or on data saved to the staging database. 5. 8. You can also set the profile options to save or discard the results of previous profiles. A profile can read rules created from mapplets in the Developer tool or expression-based rules defined in the Analyst tool. Profiles and Rules You can add rules to a profile. Click Next. Enter a name for the profile and verify the project location. you can select or clear different columns each time you run the profile. Creating a Column Profile for a Data Object You can create a profile for one or more columns in a data object and store the profile object in the Model repository. 1. In the Object Explorer view. 9. Verify that the name of the data object you selected appears under Data Objects in the wizard. Select columns for drill-down when you define the profile. 4. This enables you to view the data with different rules without running every rule each time you run the profile. When you use these options together. Select or clear the option to Discard profiling results for columns or rules not selected for re-profiling . browse to a new location. and click Next. The Profile Warehouse stores the results for the profile. Select Column Profiling. If required. 3. You can also drill down on columns from the data source that are not analyzed in the profile. When you create a profile on multiple columns. A rule is business logic that defines conditions applied to source data when you run a profile. Select or clear Run Profile on finish . Click File > New > Profile to open the New Profile wizard. you can build a detailed picture of the data object while controlling the amount of data processed in each profile run. select the data object on which to create the profile. Rules appear as virtual columns in the Columns tab of the profile. You can apply rules to columns. You can choose to save data to the staging database when you define the profile. You can edit or run the profile at any time. 6.

Click Next. 12. 11. Optionally. 5. Creating a Profile for Join Analysis You can analyze potential joins on columns in two data objects and store the analysis in the Model repository. Select the data columns to include in the profile results. 2. browse to a new location. Click Add. 9. Click OK. Set the sampling options for the profile. The profile is ready to run. Select or clear Run Profile on finish . Click Finish. 12. Enter a name for the profile and verify the project location. 7. Verify that the Left and Right join columns are prefixed with the correct data object names. 3. You can drill down on live data from the data source or on staged data from the most recent profiling operation. Browse the repository and select a data object for join analysis. Click File > New > Profile to open the New Profile wizard. If required. These options determine how the profile reads column data when you drill down on the profile results. scroll down the data objects to view all available columns. enter a text description of the profile. and click Next. Select the data objects and columns to validate. the Profile Warehouse saves only the results of the latest profile run. 6. 10. 4. Select Join Analysis. Clear this option if you will run the profile on different rules or columns and want to save all results. the Profile Warehouse saves all profiling results. Click the Select button to choose these columns in addition to the profiled columns. If you clear this option. 1. Verify that the names of the data objects appear under Data Objects in the wizard. Click OK. The Data Objects dialog box opens. 11. 13. 14. Click Add. These options determine the number of rows that are read when the profile runs. You can select columns for drilldown that you did not select for profiling. 15.If you select this option. Click Finish. The Join Condition dialog box opens. 10. Click Add to open the Data Objects dialog box and select additional data objects. 8. Set the drilldown options. If required. 140 Chapter 15: Profiles . Click the New button to activate the column selection fields. You can select all rows or a subset of rows.

Profiling a Mapplet or Mapping Object Run a profile on a mapplet or mapping object when you want to verify the design of the mapping or mapplet and you do not need to save the profile results. The profile results appear on the Results tab of the profile. 1. Click the Value column under Input Values to select an input port for the rule. Adding a Rule to Profile 141 .Adding a Rule to Profile You can add a rule to a saved profile. 2. Click Add. The Apply Rule dialog box opens. browse to the Profiles folder containing the saved profile. Right-click a data object or transformation and select Profile Now. Browse the Object Explorer and find the profile you need. 3. 6. Save the profile. Verify that the mapplet or mapping is valid. You cannot add a rule to a profile configured for join analysis. Click the Rules tab. 1. Right-click the profile and select Open. This profiling operation runs on all data columns and enables drill-down operations on data that has been staged for the data object. You can select rules from the current project. 3. Running a Saved Profile Run a profile that you saved to the Model repository when you want to save the results in the Profile Warehouse. 2. Right-click the profile and select Run Profile. The profile opens in the editor. The profile results appear on the Results tab of the profile. The rule appears in the Rules tab. It analyzes the data that would appear on those ports if you ran the mapping. Complete these steps to add a rule to a profile: 1. 5. 4. 7. 8. Click Browse to find the rule you want to apply. 2. The profile traces the source data through the mapping to the output ports of the object you selected. Click the Value column under Output Values to edit the name of the rule output port. In the Object Explorer view. Open a mapplet or mapping.

"-" for Nulls Data type declared for the column in the profiled object. and joined values in columns. Minimum value in the column. Column Profiling Results The Column Profiling area on the Results tab includes information about the number of unique and null values. Percentage of unique values for the column.Varchar . and the inferred datatypes for column values. the Results tab displays the following types of information: ¨ The number and percentage of unique values and null values in columns. enables drilldown on live data for the column. the Results tab displays the following types of information: ¨ A Venn diagram that shows the relationships between columns. Number of unique values for the column. ¨ The frequency and character patterns of data values in a selected column and a statistical summary for the column.Integer . patterns. 142 Chapter 15: Profiles . Number of null values for the column.Profile Results Click the Results tab when you run a profile to display the result of the profiling operation. For join analysis. Name of the column in the profile. The Analyst tool can derive the following datatypes from the datypes of values in columns: . the inferred datatypes. For column profiling.String . and the last run date and time. Data type derived from the values for the column. and statistics for values in a column. Documented Datatype Max Value Min Value Last Profiled You can also use the Show menu to view information about frequencies. ¨ The number and percentage of orphaned.Decimal . Percentage of null values for the column. The following table describes the properties in the Column Profiling area: Property Drilldown Column Unique Values Unique % Null Values Null % Datatype Description If selected. Maximum value in the column. null. Date and time you last ran the profile.

The following table describes the properties for column value patterns: Property Patterns Frequency Percent Description Pattern for the selected column. Last three values in the column. The patterns are shown as a number. Column Value Patterns The Patterns area in the profile results shows the patterns of data in the profiled columns and the frequency with which the patterns appear in each column. Number of times a pattern appears in a column. select Frequency from the Show menu. Number of times a value appears in a column. and a bar chart. expressed as a percentage of all values in the column. Chart Column Value Frequencies The Frequency area in the profile results shows the values in the profiled columns and the frequency with which each value appears in each column. The following table describes the column statistics: Property Maximum Length Minimum Length Bottom Top Description Length of the longest value in the column. Bar chart for the percentage. Length of the shortest value in the column. a percentage. select Patterns from the Show menu. Profile Results 143 . To view statistical information. select Statistics from the Show menu. a percentage. To view frequency information. The following table describes the properties for column value frequencies: Property Values Frequency Description List of all values for the column in the profile. such as maximum and minimum lengths of values and first and last values. To view pattern information. Number of times a pattern appears in a column. The frequencies are shown as a number. First three values in the column. and a bar chart.Column Statistics The Statistics selection in the profile results provides column statistics.

Chart Join Analysis Results The join analysis Results tab provides information about the number and percentage of parent orphan rows. Export column values in Distinct Value Count format. 3. Select or clear the option export field names as the first row. Double-click a section in the Venn diagram to view the records that the section represents. In Object Explorer view. Exporting Profile Results You can export column values and column pattern data from profile results. child orphan rows. Accept or edit the file name. These records open in the Data Viewer view. Under Details. The dialog box displays the value or pattern data you selected. Number of rows included in the join. The Export data to a file dialog box opens. The area below the Venn diagram also displays the number and percentage of orphaned. Property Left Table Right Table Parent Orphan Rows Child Orphan Rows Join Rows Description Name of the left table and columns used in the join analysis Name of the right table and columns used in the join analysis Number of rows in the left table that cannot be joined. Select the column that contains the data you will export. and join rows. You can export the list of records from the Data Viewer view to a flat file. 6. 4. 144 Chapter 15: Profiles . Select the Results view. select and open a profile. null. Join analysis results also include Venn diagrams that show the relationships between columns. Select a join condition to view a Venn diagram that shows the relationships between columns. 7. Export pattern values in Domain Inference format. select Values or select Patterns and click the Export button. and joined values in columns. Bar chart for the percentage. run the profile to update the profile results. Optionally. The default name is NewProfile_[column_name]_DVC for column value data and NewProfile_[column_name]_DI for pattern data. expressed as a percentage of all values in the column. Number of rows in the right table that cannot be joined. 2. The following table describes the properties shown on the Results tab. 5. 1.Property Percent Description Number of times a value appears in a column.

The Developer tool writes the file to the /tomcat/bin/ProfileExport directory of the Informatica Data Quality installation. Exporting Profile Results 145 .8. Click OK.

Select the profile that contains the columns you want to add.CHAPTER 16 Scorecards This chapter includes the following topics: ¨ Scorecards Overview. You must run a profile before you add columns to the scorecard. You can create and view a scorecard in the Developer tool. 146 ¨ Creating a Scorecard. you can create another scorecard to compare the effect of the rules on data quality. In Object Explorer. The Select Profile dialog box appears. Scorecards display the value frequency for columns in a profile as scores. You can run and edit the scorecard in the Analyst tool. 146 ¨ Viewing Column Data in a Scorecard. then click Next. For example. The scores reflect the percentage of valid values in the columns. 2. you can add columns from the profile to a scorecard. Click File > New > Scorecard. 146 . Use scorecards to measure data quality progress. Complete these steps to create a scorecard: 1. The New Scorecard dialog box appears. 147 Scorecards Overview A scorecard is the graphical representation of valid values for a column in a profile. 4. 5. Creating a Scorecard Create a scorecard and add columns from a profile to the scorecard. After you run a profile. 3. After you apply data quality rules. Select the columns that you want to add to the scorecard. you can create a scorecard to measure data quality before you apply data quality rules. You can create scorecards to drill down on live data or staged data. select the project or folder where you want to create the scorecard. Click OK. Click Add.

¨ The number of invalid rows in each column according to the rule applied in the profile.By default. 3. ¨ The data source type. ¨ The source column in the data object. This is the percentage of valid rows in the column. ¨ The number of rows in each column. ¨ The drilldown setting for the column. Browse the Object Explorer and find the scorecard you need. Use the Data Viewer to drill down on the data values for a column. Complete these steps to view scorecard data in the Developer tool: 1. You can run the scorecard on current data in the data object or on data stored in the staging database. 2. A scorecard determines data to be valid or invalid based on the rule that the profile applies to the data source. The scorecard contains the following information: ¨ The names of the columns in the scorecard. Viewing Column Data in a Scorecard 147 . The Developer tool creates the scorecard. Click Finish. ¨ A bar chart representation of the score for each column. You can view the valid values or invalid values in the Data Viewer. You can run and edit the scorecard in the Analyst tool. ¨ The score for each column. ¨ The data object read by the underlying profile. Viewing Column Data in a Scorecard Use a scorecard to view statistics on the valid and invalid data in a data object. 7. the scorecard wizard selects the columns and rules defined in the profile. You cannot add columns that are not included in the profile. click Open with Informatica Analyst to connect to the Analyst tool and open the scorecard in the Analyst tool. Optionally. 6. Right-click the scorecard and select Open The scorecard columns and statistics appear in the editor.

You can view and edit these tables in the Developer tool. and acronyms. ¨ Comparison. The Content Installer writes the table structure to the Model Repository and the table data to the staging database defined during installation. The types of reference information include telephone area codes. Contain information on common business terms from several countries. ¨ Case Converter. Reads reference data tables to parse strings. social security number formats. You can export reference tables as XML files. The following transformations can read reference data: ¨ Address Validator. Use the Data Quality Content Installer to install reference data. ¨ Parser. occupations. 148 ¨ Types of Reference Data. Reads address reference data to verify the accuracy of addresses. first names. 148 . You can create reference data tables from the results of column profiling. Reads reference data tables to standardize strings to a common format. ¨ Labeler. Reads identity population data during duplicate analysis. ¨ Match. 148 Reference Data Overview Several transformations read reference data to perform data quality tasks. Types of Reference Data Reference data installs through the Data Quality Content Installer. Reads reference data tables to identify strings that must change case. postcode formats.CHAPTER 17 Reference Data This chapter includes the following topics: ¨ Reference Data Overview. ¨ Standardizer. Reads identity population data during duplicate analysis. The Content installer installs the following types of reference data: ¨ Reference data tables. Reads reference data tables to identify and label strings.

for example every quarter. and corporate identities. Address reference data is current for a defined period and you must refresh your data regularly. Contain information on all valid addresses in a country. Contact an Administrator tool user for information about the reference data installed on your system. Note: The Content Installer user downloads and installs reference data separately from the applications. household. Types of Reference Data 149 . The Content Installer writes population files to the file system.¨ Address reference data files. The Match transformation and the Comparison transformation use this data to parse potential identities from input fields. The Content Installer installs files for the countries that you have purchased. The Content Installer can also install prebuilt rules to the Model Repository. You cannot view or edit address reference data. The Address Validator transformation reads this data. ¨ Identity populations. Contain information on types of personal. You purchase an annual subscription to address data for a country.

and write it to a target. The Developer tool displays two types of datatypes: ¨ Native datatypes. Native datatypes appear in the physical data object column properties. Flat File and Transformation Datatypes Flat file datatypes map to transformation datatypes that the Data Integration Service uses to move data across platforms. They are internal datatypes based on ANSI SQL-92 generic datatypes. The transformation datatypes appear in all transformations in a mapping. When the Data Integration Service writes to a target. 150 ¨ Flat File and Transformation Datatypes. the datatypes allocate additional space in the database to store characters of up to three bytes. 150 . it converts the native datatypes to the comparable transformation datatypes before transforming the data. The Data Integration Service transforms data based on dataflow in the mapping. Specific to the relational table or flat file used as a physical data object. Set of datatypes that appear in the transformations. starting at the first transformation in the mapping. When you specify a multibyte character set.APPENDIX A Datatype Reference This appendix includes the following topics: ¨ Datatype Reference Overview. 152 ¨ ODBC and Transformation Datatypes. 155 ¨ Converting Data. 151 ¨ Microsoft SQL Server and Transformation Datatypes. ¨ Transformation datatypes. which the Data Integration Service uses to move data across platforms. When the Data Integration Service reads source data. you create a set of instructions for the Data Integration Service to read data from a source. 154 ¨ Oracle and Transformation Datatypes. 150 ¨ IBM DB2 and Transformation Datatypes. transform it. and the datatype assigned to each port in a mapping. it converts the transformation datatypes to the comparable native datatypes. 157 Datatype Reference Overview When you create a mapping.

483.447.223. to Dec 31.036.147. (precision to the nanosecond) Precision of 15 digits -2.147.600 characters Jan 1.775.775. Also. 0001 A.372.775.857.807 Precision 19.600 characters Precision 1 to 28. scale 0 to 28 1 to 104. when the Data Integration Service reads non-datetime data in a datetime column from a flat file.D.857.223.D.808 to 9. to Dec 31.483. it drops the row and writes a message in the log.807 Transformation Bigint Range -9.647 1 to 104.147.600 bytes 1 to 104.147.483. The following table compares IBM DB2 datatypes and transformation datatypes: Datatype Bigint Range -9. Precision 19.223.647 Blob Char Char for bit data Clob Date 1 to 2.857. scale 0 1 to 104.854.147.372. 9999 A. scale of 0 Jan 1.854.036. 9999 A. scale 0 to 31 Precision 1 to 15 -2. (precision to the nanosecond) Precision 1 to 28. IBM DB2 and Transformation Datatypes IBM DB2 datatypes map to transformation datatypes that the Data Integration Service uses to move data across platforms.372.647 bytes 0001 to 9999 A.600 characters When the Data Integration Service reads non-numeric data in a numeric column from a flat file.372.D.600 characters 1 to 104.483.857. 0001 A.808 to 9.483.648 to 2.D.483.648 to 2.483.600 bytes 1 to 104.036.775.854. scale 0 to 28 Precision 15 -2.483. scale 0 (precision to the day) Precision 1 to 31.647 bytes 1 to 254 characters 1 to 254 bytes 1 to 2.857.D.147. it drops the row and writes a message in the log.648 to 2.647 Binary String Binary Text Date/Time Decimal Float Integer Decimal Double Integer IBM DB2 and Transformation Datatypes 151 .223.036.147.854.The following table compares flat file datatypes to transformation datatypes: Flat File Bigint Datetime Double Int Nstring Number String Transformation Bigint Date/Time Double Integer String Decimal String Range Precision of 19 digits.857.

scale 0 Smallint -32.D. scale 0 Jan 1.483.600 characters 1 to 104. 9999 A.000 characters Up to 4.000 bytes Date/Time Timestamp Date/Time Varchar Varchar for bit data String Binary Unsupported IBM DB2 Datatypes The Developer tool does not support certain IBM DB2 datatypes.600 bytes 1 to 104.147. The following table compares Microsoft SQL Server datatypes and transformation datatypes: Microsoft SQL Server Binary Bit Char Datetime Range Transformation Range 1 to 8. 9999 A. 0001 A.647 Precision 10. (precision to the nanosecond) Jan 1.857. 9999 A.768 to 32.857.D.147.600 characters 1 to 104.Datatype Range Transformation Range Precision 10. The Developer tool does not support the following IBM DB2 datatypes: ¨ Dbclob ¨ Graphic ¨ Long Varchar ¨ Long Vargraphic ¨ Numeric ¨ Vargraphic Microsoft SQL Server and Transformation Datatypes Microsoft SQL Server datatypes map to transformation datatypes that the Data Integration Service uses to move data across platforms. scale 3 Binary String String Date/Time 1 to 104. Precision 23.483.648 to 2.D.D.D.600 bytes Time 24-hour time period Precision 19. scale 6 (precision to the microsecond) Up to 4. to Dec 31. 9999 A.767 Integer -2.600 characters Jan 1.D.D.857. (precision to the nanosecond) 1 to 104. 0001 A. to Dec 31. scale 0 (precision to the second) 26 bytes Precision 26. 0001 A. 1753 A. to Dec 31.857.000 characters Jan 1.857.000 bytes 1 bit 1 to 8.D. to Dec 31. (precision to the nanosecond) 152 Appendix A: Datatype Reference .

(precision to the nanosecond) Smallint Integer -2.857.857.3648 to 214.857.000 bytes 1 to 8.203.647 characters 8 bytes 0 to 255 1 to 8.600 characters Smallmoney Sysname Text Timestamp Tinyint Varbinary Varchar -214.203. scale 0 to 28 Precision 15 1 to 104.33 milliseconds) Transformation Range Decimal Float Image Int Precision 1 to 38.748.40E+38 Jan 1.147. 0001 A.147.337. 2079 Precision 19.40E+38 to 3.648 to 2.483.647 Precision 10.147. 1900.483. scale 0 to 28 Money -922.685.483.D.D.600 bytes 1 to 104.857.647 bytes -2.147.768 to 32.600 characters 1 to 104.3647 1 to 128 characters 1 to 2.000 characters Decimal String Text Binary Small Integer Binary String Unsupported Microsoft SQL Server Datatypes The Developer tool does not support certain Microsoft SQL Server datatypes.79E+308 to 1. scale 0 to 28 1 to 104.600 bytes Precision 5.483.483.685. scale 0 to 28 Precision 15 Jan 1.Microsoft SQL Server Range (precision to 3.5807 Precision 1 to 38.483.147. scale 0 1 to 104.147. to June 6. scale 0 (precision to the minute) -32.337.768 Decimal Numeric Real Smalldatetime Decimal Double Date/Time Precision 1 to 28.147.477.648 to 2. scale 0 to 38 -1.600 characters 1 to 104.648 to 2.79E+308 1 to 2.147. scale 0 Precision 1 to 28. 9999 A. scale 0 Precision 1 to 28.600 bytes -2. scale 0 to 38 -3.477.647 Decimal Double Binary Integer Precision 1 to 28.857.647 Precision 10.857.748. to Dec 31.483.483.5807 to 922. The Developer tool does not support the following Microsoft SQL Server datatypes: ¨ Bigint ¨ Nchar ¨ Ntext ¨ Numeric Identity ¨ Nvarchar ¨ Sql_variant Microsoft SQL Server and Transformation Datatypes 153 .

(precision to the nanosecond) Precision 1 to 28. scale 0 to 28 Precision 15 Precision 15 -2.483.147.147.600 characters 1 to 104.036.147. The following table compares ODBC datatypes.D. 9999 A.372. scale 0 1 to 104.372.147. 0001 A.147.647 Precision 10.D.857.808 to 9.600 bytes 1 to 104. (precision to the nanosecond) -2.648 to 2.600 characters 1 to 104.775. to Dec 31.857. 0001 A. 9999 A.600 characters Jan 1.648 to 2.D.D.483.807 Precision 19.775. scale 0 1 to 104.D.857.600 characters Precision 1 to 28.648 to 2. to transformation datatypes: Datatype Bigint Transformation Bigint Range -9.483.223. such as Microsoft Access or Excel. scale 0 1 to 104.036.ODBC and Transformation Datatypes ODBC datatypes map to transformation datatypes that the Data Integration Service uses to move data across platforms. (precision to the nanosecond) Jan 1.857.483.854.483.857. 0001 A.857. to Dec 31.D.857.857.600 bytes 1 to 104.854.647 Precision 10.147. scale 0 Binary Bit Char Date Binary String String Date/Time Decimal Double Float Integer Decimal Double Double Integer Long Varbinary Nchar Nvarchar Ntext Numeric Real Smallint Binary String String Text Decimal Double Integer Text Time Text Date/Time Timestamp Date/Time Tinyint Integer 154 Appendix A: Datatype Reference .647 Precision 10. 9999 A.600 characters Jan 1.223.483. scale 0 to 28 Precision 15 -2. to Dec 31.600 characters 1 to 104.

to Dec 31.857.600 characters Oracle and Transformation Datatypes Oracle datatypes map to transformation datatypes that the Data Integration Service uses to move data across platforms.857. 4712 B.857. to Dec. 1 to 104.857.600 characters If you include Long data in a mapping.Datatype Varbinary Varchar Transformation Binary String Range 1 to 104.857.600 characters Precision of 15 Precision of 1 to 28.C.857.D.D. scale of 0 to 38 Double Decimal Oracle and Transformation Datatypes 155 .600 characters.857. 9999 A.600 bytes 1 to 104. scale of 0 to 28 Clob Up to 4 GB Text Date Jan. scale 0 Date/Time Long Up to 2 GB Text Long Raw Nchar Up to 2 GB 1 to 2.857.857.600 characters Jan 1.600 bytes 1 to 104.857. (precision to the nanosecond) 1 to 104. 31. Precision 19. The following table compares Oracle datatypes and transformation datatypes: Oracle Blob Char(L) Range Up to 4 GB 1 to 2.000 bytes Binary String Nclob Up to 4 GB Text Number Number(P. the Integration Service converts it to the transformation String datatype. 0001 A.600 characters 1 to 104.600 characters 1 to 104.S) Precision of 1 to 38 Precision of 1 to 38.D.000 bytes Transformation Binary String Range 1 to 104. and truncates it to 104.600 bytes 1 to 104. 1. 4712 A.

Oracle Nvarchar2

Range 1 to 4,000 bytes

Transformation String

Range 1 to 104,857,600 characters 1 to 104,857,600 bytes Jan 1, 0001 A.D. to Dec 31, 9999 A.D. (precision to the nanosecond) 1 to 104,857,600 characters 1 to 104,857,600 characters 1 to 104,857,600 characters

Raw Timestamp

1 to 2,000 bytes Jan. 1, 4712 B.C. to Dec. 31, 9999 A.D. Precision 19 to 29, scale 0 to 9 (precision to the nanosecond) 1 to 4,000 bytes

Binary Date/Time

Varchar

String

Varchar2

1 to 4,000 bytes

String

XMLType

Up to 4 GB

Text

Number(P,S) Datatype
The Developer tool supports Oracle Number(P,S) values with negative scale. However, it does not support Number(P,S) values with scale greater than precision 28 or a negative precision. If you import a table with an Oracle Number with a negative scale, the Developer tool displays it as a Decimal datatype. However, the Data Integration Service converts it to a double.

Char, Varchar, Clob Datatypes
When the Data Integration Service uses the Unicode data movement mode, it reads the precision of Char, Varchar, and Clob columns based on the length semantics that you set for columns in the Oracle database. If you use the byte semantics to determine column length, the Data Integration Service reads the precision as the number of bytes. If you use the char semantics, the Data Integration Service reads the precision as the number of characters.

Unsupported Oracle Datatypes
The Developer tool does not support certain Oracle datatypes. The Developer tool does not support the following Oracle datatypes:
¨ Bfile ¨ Interval Day to Second ¨ Interval Year to Month ¨ Mslabel ¨ Raw Mslabel ¨ Rowid ¨ Timestamp with Local Time Zone ¨ Timestamp with Time Zone

156

Appendix A: Datatype Reference

Converting Data
You can convert data from one datatype to another. To convert data from one datatype to another, use one the following methods:
¨ Pass data between ports with different datatypes (port-to-port conversion). ¨ Use transformation functions to convert data. ¨ Use transformation arithmetic operators to convert data.

Port-to-Port Data Conversion
The Data Integration Service converts data based on the datatype of the port. Each time data passes through a port, the Data Integration Service looks at the datatype assigned to the port and converts the data if necessary. When you pass data between ports of the same numeric datatype and the data is transferred between transformations, the Data Integration Service does not convert the data to the scale and precision of the port that the data is passed to. For example, you transfer data between two transformations in a mapping. If you pass data from a decimal port with a precision of 5 to a decimal port with a precision of 4, the Data Integration Service stores the value internally and does not truncate the data. You can convert data by passing data between ports with different datatypes. For example, you can convert a string to a number by passing it to an Integer port. The Data Integration Service performs port-to-port conversions between transformations and between the last transformation in a dataflow and a target. The following table describes the port-to-port conversions that the Data Integration Service performs:
Datatype Bigint Integer Decima l Double Strin g, Text Yes Yes Yes Yes Yes Date/Time Binary

Bigint Integer Decimal Double String, Text Date/ Time Binary

No Yes Yes Yes Yes

Yes No Yes Yes Yes

Yes Yes No Yes Yes

Yes Yes Yes No Yes

No No No No Yes

No No No No No

No

No

No

No

Yes

Yes

No

No

No

No

No

No

No

Yes

Converting Data

157

INDEX

A
applications creating 100 mapping deployment properties 102 replacing 103 updating 101, 103 attributes relationships 123

C
cheat sheets description 5 configurations troubleshooting 117 connections Connection Explorer view 26 creating 27 DB2 for i5/OS properties 14 DB2 for z/OS properties 16 IBM DB2 properties 18 IMS properties 19 Microsoft SQL Server properties 20 ODBC properties 21 Oracle properties 22 overview 13 SAP properties 23 sequential properties 24 VSAM properties 25 copy description 11 objects 12 objects as links 12 custom queries Informatica join syntax 39 left outer join syntax 40 normal join syntax 39 outer join support 38 right outer join syntax 41 custom SQL queries creating 38 customized data objects 38 customized data objects adding pre- and post-mapping SQL commands 42 adding relational data objects 44 adding relational resources 44 advanced query 32 creating 43 creating a custom query 38 creating key relationships 34 creating keys 34 custom SQL queries 38 default query 32 description 31

entering source filters 35 entering user-defined joins 37 key relationships 33 pre- and post-mapping SQL commands 42 reserved words file 32 select distinct 35 simple query 32 sorted ports 36 troubleshooting 57 user-defined joins 37 using select distinct 35 using sorted ports 36 write properties 43

D
Data Integration Service selecting 112 data viewer configuration properties 115 configurations 113 creating configurations 113 troubleshooting configurations 117 datatypes flat file 151 IBM DB2 151 Microsoft SQL Server 152 ODBC 154 Oracle 155 overview 150 port-to-port data conversion 157 default SQL query viewing 38 dependencies implicit 64 link path 64 deployment mapping properties 102 overview 99 replacing applications 103 to a Data Integration Service 100 to file 101 updating applications 103 domains adding 6 description 5

E
export dependent objects 89 objects 90 overview 88 to PowerCenter 92

158

XML file 89 export to PowerCenter export restrictions 96 exporting objects 95 options 94 overview 92 release compatibility 93 rules and guidelines 97 setting the compatibility level 93 troubleshooting 98 expressions pushdown optimization 77 K key relationships creating between relational data objects 30 creating in customized data objects 34 customized data objects 33 relational data objects 29 L logical data object mappings creating 125 read mappings 124 types 124 write mappings 124 logical data object models creating 121 description 121 importing 122 logical data objects attribute relationships 123 creating 123 description 122 properties 123 logical view of data developing 121 overview 120 logs description 118 F Filter transformation pushdown optimization 75 filters 35 flat file data objects advanced properties 52 column properties 46 configuring read properties 50 configuring write properties 52 creating 53 delimited. importing 54 description 45 fixed-width. 114 connection validation 66 creating 59 creating configurations 114 deployment properties 102 developing 59 early projection optimization method 70 early selection optimization method 71 expression validation 67 object dependency 58 object validation 67 objects 60 optimization methods 70 overview 58 performance 69 predicate optimization method 71 running 67 semi-join optimization method 72 troubleshooting configurations 117 validating 67 validation 66 mapplets creating 86 exporting to PowerCenter 93 input 85 output 86 overview 84 rules 85 types 84 validating 86 I IBM DB2 sources pushdown optimization 76 identifying relationships description 123 import application archives 91 dependent objects 89 objects 91 overview 88 XML file 89 Informatica Data Quality overview 2 Informatica Data Services overview 3 Informatica Developer overview 2 setting up 5 J join syntax customized data objects 39 Informatica syntax 39 left outer join syntax 40 normal join syntax 39 right outer join syntax 41 Index 159 . importing 54 general properties 46 read properties 47. 50 folders creating 9 description 9 functions available in sources 77 pushdown optimization 77 M mappings adding objects 60 configuration properties 115 configurations 113.

and post-mapping SQL commands adding to customized data objects 42 customized data objects 42 primary keys creating in customized data objects 34 creating in relational data objects 30 projects assigning permissions 9 creating 8 description 8 sharing 8 pushdown optimization expressions 77 overview 75 process 75 SAP sources 76 Filter transformation 75 functions 77 IBM DB2 sources 76 Microsoft SQL Server sources 76 nonrelational sources on z/OS 76 ODBC sources 76 operators 81 Oracle sources 76 relational sources 76 Sybase ASE sources 76 R read transformations creating from relational data objects 30 relational connections adding to customized data objects 44 relational data objects adding to customized data objects 44 creating key relationships 30 creating keys 30 creating read transformations 30 description 29 importing 31 key relationships 29 troubleshooting 57 relational sources pushdown optimization 76 reserved words file creating 33 customized data objects 32 160 Index .Microsoft SQL Server sources pushdown optimization 76 Model repository adding 7 connecting 7 description 6 objects 6 N non-identifying relationships description 123 non-relational data objects description 44 importing 45 nonrelational sources pushdown optimization 76 O objects copying 12 copying as a link 12 operators available in sources 81 pushdown optimization 81 Oracle sources pushdown optimization 76 outer join support customized data objects 38 P parameter files creating 111 overview 104 purpose 107 running mappings with 107 structure 107 XML schema definition 109 parameters assigning 107 creating 106 overview 104 purpose 105 types 105 where to apply 106 where to create 105 performance tuning creating data viewer configurations 113 creating mapping configurations 114 data viewer configurations 113 early projection optimization method 70 early selection optimization method 71 mapping configurations 114 optimization methods 70 overview 69 predicate optimization method 71 semi-join optimization method 72 permissions assigning 9 physical data objects customized data objects 31 description 28 flat file data objects 45 non-relational data objects 44 relational data objects 29 SAP data objects 56 synchronization 56 troubleshooting 57 port attributes propogating 63 ports connection validation 66 linking 61 linking automatically 62 linking by name 62 linking by position 62 linking manually 61 linking rules and guidelines 62 propagated attributes by transformation 64 pre.

S SAP data objects description 56 importing 56 SAP sources pushdown optimization 76 search description 10 searching for objects and properties 10 segments copying 67. 87 select distinct customized data objects 35 using in customized data objects 35 self-joins custom SQL queries 38 sorted ports customized data objects 36 using in customized data objects 36 source filters entering 35 SQL data services creating 127 defining 127 overview 127 previewing data 130 SQL queries previewing data 130 SQL query plans example 135 overview 135 viewing 136 Sybase ASE sources pushdown optimization 76 synchronization customized data objects 56 physical data objects 56 V validation configuring preferences 11 views Connection Explorer view 26 description 4 virtual data overview 126 virtual stored procedures creating 134 defining 133 overview 132 previewing output 134 validating 134 virtual table mappings creating 131 defining 131 description 130 previewing output 132 validating 132 virtual tables creating from a data object 129 creating manually 129 data access methods 129 defining relationships 130 description 128 W Welcome page description 5 workbench description 4 T troubleshooting exporting objects to PowerCenter 98 U user-defined joins customized data objects 37 entering 37 Informatica syntax 39 left outer join syntax 40 normal join syntax 39 outer join support 38 right outer join syntax 41 Index 161 .

Sign up to vote on this title
UsefulNot useful