Enviar pesquisa
Carregar
Pc 811 transformation_guide
•
0 gostou
•
490 visualizações
Venkat Madduru
Seguir
Educação
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 642
Baixar agora
Baixar para ler offline
Recomendados
Print Preview - C:\DOCUME~1\fogleman\LOCALS~1\Temp\.aptcache ...
Print Preview - C:\DOCUME~1\fogleman\LOCALS~1\Temp\.aptcache ...
webhostingguy
Pspice userguide ingles
Pspice userguide ingles
unoenero
GI25_TutorialGuide
GI25_TutorialGuide
tutorialsruby
Pc 811 troubleshooting_guide
Pc 811 troubleshooting_guide
makhaderms
Manual Civil 3d Ingles
Manual Civil 3d Ingles
Ivan Martinez Saucedo
Creating a VMware Software-Defined Data Center Reference Architecture
Creating a VMware Software-Defined Data Center Reference Architecture
EMC
Mb ug
Mb ug
Virak Sou
Swi prolog-6.2.6
Swi prolog-6.2.6
Omar Reyna Angeles
Recomendados
Print Preview - C:\DOCUME~1\fogleman\LOCALS~1\Temp\.aptcache ...
Print Preview - C:\DOCUME~1\fogleman\LOCALS~1\Temp\.aptcache ...
webhostingguy
Pspice userguide ingles
Pspice userguide ingles
unoenero
GI25_TutorialGuide
GI25_TutorialGuide
tutorialsruby
Pc 811 troubleshooting_guide
Pc 811 troubleshooting_guide
makhaderms
Manual Civil 3d Ingles
Manual Civil 3d Ingles
Ivan Martinez Saucedo
Creating a VMware Software-Defined Data Center Reference Architecture
Creating a VMware Software-Defined Data Center Reference Architecture
EMC
Mb ug
Mb ug
Virak Sou
Swi prolog-6.2.6
Swi prolog-6.2.6
Omar Reyna Angeles
Dell Data Migration A Technical White Paper
Dell Data Migration A Technical White Paper
nomanc
Ms Patch Man Ch8
Ms Patch Man Ch8
gopi1985
Java code conventions
Java code conventions
Armando Daniel
Pervasive Video in the Enterprise
Pervasive Video in the Enterprise
Avaya Inc.
Code Conventions
Code Conventions
51 lecture
Robust data synchronization with ibm tivoli directory integrator sg246164
Robust data synchronization with ibm tivoli directory integrator sg246164
Banking at Ho Chi Minh city
programación en prolog
programación en prolog
Alex Pin
Vrs User Guide
Vrs User Guide
guest121f02
Corel vs pro_x4_ug modul corel draw
Corel vs pro_x4_ug modul corel draw
DIANTO IRAWAN
Solving the XP Legacy Problem with (Extreme) Meta-Programming
Solving the XP Legacy Problem with (Extreme) Meta-Programming
amcquiggin
Implementing ibm storage data deduplication solutions sg247888
Implementing ibm storage data deduplication solutions sg247888
Banking at Ho Chi Minh city
Debian Handbook
Debian Handbook
Universitas Virtual Terbuka
Java Complete Reference Fifth Edition
Java Complete Reference Fifth Edition
umavanth
B035-2447-220K.pdf
B035-2447-220K.pdf
degido10
R Data
R Data
Ajay Ohri
Hello, android introducing google’s mobile development platform, 2nd editio...
Hello, android introducing google’s mobile development platform, 2nd editio...
Kwanzoo Dev
Tivoli data warehouse version 1.3 planning and implementation sg246343
Tivoli data warehouse version 1.3 planning and implementation sg246343
Banking at Ho Chi Minh city
Salesforce development lifecycle
Salesforce development lifecycle
giridhar007
Doors Getting Started
Doors Getting Started
song4fun
Sg246399
Sg246399
kumarmbaarun
Plesk Modules
Plesk Modules
webhostingguy
HRpM_UG_731_HDS_M2
HRpM_UG_731_HDS_M2
Nicholas Pierotti
Mais conteúdo relacionado
Mais procurados
Dell Data Migration A Technical White Paper
Dell Data Migration A Technical White Paper
nomanc
Ms Patch Man Ch8
Ms Patch Man Ch8
gopi1985
Java code conventions
Java code conventions
Armando Daniel
Pervasive Video in the Enterprise
Pervasive Video in the Enterprise
Avaya Inc.
Code Conventions
Code Conventions
51 lecture
Robust data synchronization with ibm tivoli directory integrator sg246164
Robust data synchronization with ibm tivoli directory integrator sg246164
Banking at Ho Chi Minh city
programación en prolog
programación en prolog
Alex Pin
Vrs User Guide
Vrs User Guide
guest121f02
Corel vs pro_x4_ug modul corel draw
Corel vs pro_x4_ug modul corel draw
DIANTO IRAWAN
Solving the XP Legacy Problem with (Extreme) Meta-Programming
Solving the XP Legacy Problem with (Extreme) Meta-Programming
amcquiggin
Implementing ibm storage data deduplication solutions sg247888
Implementing ibm storage data deduplication solutions sg247888
Banking at Ho Chi Minh city
Debian Handbook
Debian Handbook
Universitas Virtual Terbuka
Java Complete Reference Fifth Edition
Java Complete Reference Fifth Edition
umavanth
B035-2447-220K.pdf
B035-2447-220K.pdf
degido10
R Data
R Data
Ajay Ohri
Hello, android introducing google’s mobile development platform, 2nd editio...
Hello, android introducing google’s mobile development platform, 2nd editio...
Kwanzoo Dev
Tivoli data warehouse version 1.3 planning and implementation sg246343
Tivoli data warehouse version 1.3 planning and implementation sg246343
Banking at Ho Chi Minh city
Mais procurados
(17)
Dell Data Migration A Technical White Paper
Dell Data Migration A Technical White Paper
Ms Patch Man Ch8
Ms Patch Man Ch8
Java code conventions
Java code conventions
Pervasive Video in the Enterprise
Pervasive Video in the Enterprise
Code Conventions
Code Conventions
Robust data synchronization with ibm tivoli directory integrator sg246164
Robust data synchronization with ibm tivoli directory integrator sg246164
programación en prolog
programación en prolog
Vrs User Guide
Vrs User Guide
Corel vs pro_x4_ug modul corel draw
Corel vs pro_x4_ug modul corel draw
Solving the XP Legacy Problem with (Extreme) Meta-Programming
Solving the XP Legacy Problem with (Extreme) Meta-Programming
Implementing ibm storage data deduplication solutions sg247888
Implementing ibm storage data deduplication solutions sg247888
Debian Handbook
Debian Handbook
Java Complete Reference Fifth Edition
Java Complete Reference Fifth Edition
B035-2447-220K.pdf
B035-2447-220K.pdf
R Data
R Data
Hello, android introducing google’s mobile development platform, 2nd editio...
Hello, android introducing google’s mobile development platform, 2nd editio...
Tivoli data warehouse version 1.3 planning and implementation sg246343
Tivoli data warehouse version 1.3 planning and implementation sg246343
Semelhante a Pc 811 transformation_guide
Salesforce development lifecycle
Salesforce development lifecycle
giridhar007
Doors Getting Started
Doors Getting Started
song4fun
Sg246399
Sg246399
kumarmbaarun
Plesk Modules
Plesk Modules
webhostingguy
HRpM_UG_731_HDS_M2
HRpM_UG_731_HDS_M2
Nicholas Pierotti
Mapinfo
Mapinfo
doai
Plant Simulation Passo a Passo
Plant Simulation Passo a Passo
PLMX -Soluções para Negocios
Java script tools guide cs6
Java script tools guide cs6
Sadiq Momin
Erpi admin 11123510[1] by иссам неязын issam hejazin
Erpi admin 11123510[1] by иссам неязын issam hejazin
Issam Hejazin
The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4
Martin Edenström MKSE.com
Managing disk subsystems using ibm total storage productivity center sg247097
Managing disk subsystems using ibm total storage productivity center sg247097
Banking at Ho Chi Minh city
ZebraNet Bridge Enterprise - Manual do Software
ZebraNet Bridge Enterprise - Manual do Software
UseZ
Inter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User Guide
Videoguy
Reqpro user
Reqpro user
Bhargavi Cheedi
Mikrobasic pic pro_manual_v101
Mikrobasic pic pro_manual_v101
HUILLCAH
Manual CV41
Manual CV41
Codeprint Soluçoes em Identificaçao e Captura de Ddos
PANOS 4.1 Administrators Guide
PANOS 4.1 Administrators Guide
Altaware, Inc.
Hfm user
Hfm user
partha saradhi
Ftk 1.80 manual
Ftk 1.80 manual
Javier Muñoz
Rational Suite Tutorial
Rational Suite Tutorial
Luciano Saia
Semelhante a Pc 811 transformation_guide
(20)
Salesforce development lifecycle
Salesforce development lifecycle
Doors Getting Started
Doors Getting Started
Sg246399
Sg246399
Plesk Modules
Plesk Modules
HRpM_UG_731_HDS_M2
HRpM_UG_731_HDS_M2
Mapinfo
Mapinfo
Plant Simulation Passo a Passo
Plant Simulation Passo a Passo
Java script tools guide cs6
Java script tools guide cs6
Erpi admin 11123510[1] by иссам неязын issam hejazin
Erpi admin 11123510[1] by иссам неязын issam hejazin
The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4
Managing disk subsystems using ibm total storage productivity center sg247097
Managing disk subsystems using ibm total storage productivity center sg247097
ZebraNet Bridge Enterprise - Manual do Software
ZebraNet Bridge Enterprise - Manual do Software
Inter-Tel Web Conferencing and Remote Support User Guide
Inter-Tel Web Conferencing and Remote Support User Guide
Reqpro user
Reqpro user
Mikrobasic pic pro_manual_v101
Mikrobasic pic pro_manual_v101
Manual CV41
Manual CV41
PANOS 4.1 Administrators Guide
PANOS 4.1 Administrators Guide
Hfm user
Hfm user
Ftk 1.80 manual
Ftk 1.80 manual
Rational Suite Tutorial
Rational Suite Tutorial
Último
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
Celine George
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
Poonam Aher Patil
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
dhanalakshmis0310
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
David Douglas School District
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
MaritesTamaniVerdade
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
callscotland1987
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
Amita Gupta
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
TechSoup
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
Amanpreet Kaur
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
bronxfugly43
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
Celine George
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
Ramakrishna Reddy Bijjam
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
christianmathematics
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University of Engineering & Technology, Jamshoro
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
Nguyen Thanh Tu Collection
Último
(20)
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
Pc 811 transformation_guide
1.
Transformation Guide Informatica PowerCenter® (Version
8.1.1)
2.
Informatica PowerCenter Transformation
Guide Version 8.1.1 April 2007 Copyright (c) 1998–2007 Informatica Corporation. All rights reserved. Printed in the USA. This software and documentation contain proprietary information of Informatica Corporation and are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright law. Reverse engineering of the software is prohibited. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica Corporation. Use, duplication, or disclosure of the Software by the U.S. Government is subject to the restrictions set forth in the applicable software license agreement and as provided in DFARS 227.7202-1(a) and 227.7702-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19, or FAR 52.227-14 (ALT III), as applicable. The information in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. Informatica Corporation does not warrant that this documentation is error free. Informatica, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange, PowerMart, SuperGlue, Metadata Manager, Informatica Data Quality and Informatica Data Explorer are trademarks or registered trademarks of Informatica Corporation in the United States and in jurisdictions throughout the world. All other company and product names may be trade names or trademarks of their respective owners. Portions of this software and/or documentation are subject to copyright held by third parties, including without limitation: Copyright DataDirect Technologies, 1999-2002. All rights reserved. Copyright © Sun Microsystems. All Rights Reserved. Copyright © RSA Security Inc. All Rights Reserved. Copyright © Ordinal Technology Corp. All Rights Reserved. Informatica PowerCenter products contain ACE (TM) software copyrighted by Douglas C. Schmidt and his research group at Washington University and University of California, Irvine, Copyright (c) 1993-2002, all rights reserved. Portions of this software contain copyrighted material from The JBoss Group, LLC. Your right to use such materials is set forth in the GNU Lesser General Public License Agreement, which may be found at http://www.opensource.org/licenses/lgpl-license.php. The JBoss materials are provided free of charge by Informatica, “as-is”, without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. Portions of this software contain copyrighted material from Meta Integration Technology, Inc. Meta Integration® is a registered trademark of Meta Integration Technology, Inc. This product includes software developed by the Apache Software Foundation (http://www.apache.org/). The Apache Software is Copyright (c) 1999-2005 The Apache Software Foundation. All rights reserved. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit and redistribution of this software is subject to terms available at http://www.openssl.org. Copyright 1998-2003 The OpenSSL Project. All Rights Reserved. The zlib library included with this software is Copyright (c) 1995-2003 Jean-loup Gailly and Mark Adler. The Curl license provided with this Software is Copyright 1996-2004, Daniel Stenberg, <Daniel@haxx.se>. All Rights Reserved. The PCRE library included with this software is Copyright (c) 1997-2001 University of Cambridge Regular expression support is provided by the PCRE library package, which is open source software, written by Philip Hazel. The source for this library may be found at ftp://ftp.csx.cam.ac.uk/pub/software/programming/ pcre. InstallAnywhere is Copyright 2005 Zero G Software, Inc. All Rights Reserved. Portions of the Software are Copyright (c) 1998-2005 The OpenLDAP Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted only as authorized by the OpenLDAP Public License, available at http://www.openldap.org/software/release/license.html. This Software is protected by U.S. Patent Numbers 6,208,990; 6,044,374; 6,014,670; 6,032,158; 5,794,246; 6,339,775 and other U.S. Patents Pending. DISCLAIMER: Informatica Corporation provides this documentation “as is” without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of non-infringement, merchantability, or use for a particular purpose. The information provided in this documentation may include technical inaccuracies or typographical errors. Informatica could make improvements and/or changes in the products described in this documentation at any time without notice.
3.
Table of Contents
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx Other Informatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Visiting Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Visiting the Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Visiting the Informatica Knowledge Base . . . . . . . . . . . . . . . . . . . . . . xxxi Obtaining Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi Chapter 1: Working with Transformations . . . . . . . . . . . . . . . . . . . . . . 1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Creating a Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Configuring Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Working with Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Creating Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Configuring Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Linking Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Multi-Group Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Working with Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Using the Expression Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Using Local Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Temporarily Store Data and Simplify Complex Expressions . . . . . . . . . . 14 Store Values Across Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Capture Values from Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . 15 Guidelines for Configuring Variable Ports . . . . . . . . . . . . . . . . . . . . . . 16 Using Default Values for Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Entering User-Defined Default Values . . . . . . . . . . . . . . . . . . . . . . . . . 20 Entering User-Defined Default Input Values . . . . . . . . . . . . . . . . . . . . . 22 Entering User-Defined Default Output Values . . . . . . . . . . . . . . . . . . . 25 General Rules for Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 iii
4.
Entering and Validating
Default Values . . . . . . . . . . . . . . . . . . . . . . . . . 28 Configuring Tracing Level in Transformations . . . . . . . . . . . . . . . . . . . . . . . 30 Reusable Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Instances and Inherited Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Mapping Variables in Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Creating Reusable Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Promoting Non-Reusable Transformations . . . . . . . . . . . . . . . . . . . . . . 32 Creating Non-Reusable Instances of Reusable Transformations . . . . . . . . 33 Adding Reusable Transformations to Mappings . . . . . . . . . . . . . . . . . . . 33 Modifying a Reusable Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Chapter 2: Aggregator Transformation . . . . . . . . . . . . . . . . . . . . . . . 37 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Ports in the Aggregator Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 38 Components of the Aggregator Transformation . . . . . . . . . . . . . . . . . . . 38 Aggregate Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Aggregate Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Nested Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Conditional Clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Non-Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Null Values in Aggregate Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Group By Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Non-Aggregate Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Using Sorted Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Sorted Input Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Pre-Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Creating an Aggregator Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Chapter 3: Custom Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Working with Transformations Built On the Custom Transformation . . . 54 Code Page Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Distributing Custom Transformation Procedures . . . . . . . . . . . . . . . . . . 56 iv Table of Contents
5.
Creating Custom Transformations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Custom Transformation Components . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Working with Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Creating Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Editing Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Defining Port Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Working with Port Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Custom Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Setting the Update Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Working with Thread-Specific Procedure Code . . . . . . . . . . . . . . . . . . . 66 Working with Transaction Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Transformation Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Generate Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Working with Transaction Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . 69 Blocking Input Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Writing the Procedure Code to Block Data . . . . . . . . . . . . . . . . . . . . . . 70 Configuring Custom Transformations as Blocking Transformations . . . . 70 Validating Mappings with Custom Transformations . . . . . . . . . . . . . . . 71 Working with Procedure Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Creating Custom Transformation Procedures . . . . . . . . . . . . . . . . . . . . . . . 73 Step 1. Create the Custom Transformation . . . . . . . . . . . . . . . . . . . . . . 73 Step 2. Generate the C Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Step 3. Fill Out the Code with the Transformation Logic . . . . . . . . . . . 76 Step 4. Build the Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Step 5. Create a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Step 6. Run the Session in a Workflow . . . . . . . . . . . . . . . . . . . . . . . . . 87 Chapter 4: Custom Transformation Functions . . . . . . . . . . . . . . . . . 89 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Working with Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Function Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Working with Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Generated Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Initialization Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Notification Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Table of Contents v
6.
Deinitialization Functions .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Set Data Access Mode Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Navigation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Property Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Rebind Datatype Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Data Handling Functions (Row-Based Mode) . . . . . . . . . . . . . . . . . . . 117 Set Pass-Through Port Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Output Notification Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Data Boundary Output Notification Function . . . . . . . . . . . . . . . . . . . 121 Error Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Session Log Message Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Increment Error Count Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Is Terminated Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Blocking Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Pointer Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Change String Mode Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Set Data Code Page Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Row Strategy Functions (Row-Based Mode) . . . . . . . . . . . . . . . . . . . . 128 Change Default Row Strategy Function . . . . . . . . . . . . . . . . . . . . . . . 129 Array-Based API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Maximum Number of Rows Functions . . . . . . . . . . . . . . . . . . . . . . . . 130 Number of Rows Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Is Row Valid Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Data Handling Functions (Array-Based Mode) . . . . . . . . . . . . . . . . . . 132 Row Strategy Functions (Array-Based Mode) . . . . . . . . . . . . . . . . . . . . 135 Set Input Error Row Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Java API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 C++ API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Chapter 5: Expression Transformation . . . . . . . . . . . . . . . . . . . . . . 141 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Calculating Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Adding Multiple Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Creating an Expression Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 vi Table of Contents
7.
Chapter 6: External
Procedure Transformation . . . . . . . . . . . . . . . . 145 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Code Page Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 External Procedures and External Procedure Transformations . . . . . . . . 147 External Procedure Transformation Properties . . . . . . . . . . . . . . . . . . . 147 Pipeline Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 COM Versus Informatica External Procedures . . . . . . . . . . . . . . . . . . . 148 The BankSoft Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Developing COM Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Steps for Creating a COM Procedure . . . . . . . . . . . . . . . . . . . . . . . . . 149 COM External Procedure Server Type . . . . . . . . . . . . . . . . . . . . . . . . 149 Using Visual C++ to Develop COM Procedures . . . . . . . . . . . . . . . . . 149 Developing COM Procedures with Visual Basic . . . . . . . . . . . . . . . . . 156 Developing Informatica External Procedures . . . . . . . . . . . . . . . . . . . . . . . 159 Step 1. Create the External Procedure Transformation . . . . . . . . . . . . . 159 Step 2. Generate the C++ Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Step 3. Fill Out the Method Stub with Implementation . . . . . . . . . . . . 164 Step 4. Building the Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Step 5. Create a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Step 6. Run the Session in a Workflow . . . . . . . . . . . . . . . . . . . . . . . . 167 Distributing External Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Distributing COM Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Distributing Informatica Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Development Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 COM Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Row-Level Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Return Values from Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Exceptions in Procedure Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Memory Management for Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 173 Wrapper Classes for Pre-Existing C/C++ Libraries or VB Functions . . . 173 Generating Error and Tracing Messages . . . . . . . . . . . . . . . . . . . . . . . 173 Unconnected External Procedure Transformations . . . . . . . . . . . . . . . . 175 Initializing COM and Informatica Modules . . . . . . . . . . . . . . . . . . . . 175 Other Files Distributed and Used in TX . . . . . . . . . . . . . . . . . . . . . . . 179 Service Process Variables in Initialization Properties . . . . . . . . . . . . . . . . . 180 External Procedure Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Dispatch Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Table of Contents vii
8.
External Procedure Function
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Property Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Parameter Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Code Page Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Transformation Name Access Functions . . . . . . . . . . . . . . . . . . . . . . . 185 Procedure Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Partition Related Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Tracing Level Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Chapter 7: Filter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Filter Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Creating a Filter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Chapter 8: HTTP Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Connecting to the HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Creating an HTTP Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Configuring the Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Configuring the HTTP Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Selecting a Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Configuring Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Configuring a URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 GET Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 SIMPLE POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Chapter 9: Java Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Steps to Define a Java Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 214 Active and Passive Java Transformations . . . . . . . . . . . . . . . . . . . . . . . 215 Datatype Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Using the Java Code Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 viii Table of Contents
9.
Configuring Ports .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Creating Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Setting Default Port Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Configuring Java Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . 221 Working with Transaction Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Setting the Update Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Developing Java Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Creating Java Code Snippets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Importing Java Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Defining Helper Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 On Input Row Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 On End of Data Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 On Receiving Transaction Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Configuring Java Transformation Settings . . . . . . . . . . . . . . . . . . . . . . . . . 229 Configuring the Classpath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Enabling High Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Compiling a Java Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Fixing Compilation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Locating the Source of Compilation Errors . . . . . . . . . . . . . . . . . . . . . 232 Identifying Compilation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Chapter 10: Java Transformation API Reference . . . . . . . . . . . . . . . 237 Java Transformation API Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 failSession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 generateRow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 getInRowType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 incrementErrorCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Table of Contents ix
10.
Example . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 isNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 logInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 logError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 rollBack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 setNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 setOutRowType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Chapter 11: Java Transformation Example . . . . . . . . . . . . . . . . . . . 251 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Step 1. Import the Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Step 2. Create Transformation and Configure Ports . . . . . . . . . . . . . . . . . . 254 Step 3. Enter Java Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Import Packages Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Helper Code Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 On Input Row Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Step 4. Compile the Java Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Step 5. Create a Session and Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Sample Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Chapter 12: Java Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Expression Function Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Using the Define Expression Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Step 1. Configure the Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 x Table of Contents
11.
Step 2. Create
and Validate the Expression . . . . . . . . . . . . . . . . . . . . . 267 Step 3. Generate Java Code for the Expression . . . . . . . . . . . . . . . . . . 267 Steps to Create an Expression and Generate Java Code . . . . . . . . . . . . 268 Java Expression Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Working with the Simple Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 invokeJExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Simple Interface Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Working with the Advanced Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Steps to Invoke an Expression with the Advanced Interface . . . . . . . . . 273 Rules and Guidelines for Working with the Advanced Interface . . . . . . 273 EDataType Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 JExprParamMetadata Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 defineJExpression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 JExpression Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Advanced Interface Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 JExpression API Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 invoke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 getResultDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 getResultMetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 isResultNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 getInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 getDouble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 getLong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 getStringBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 getBytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Chapter 13: Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 283 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Working with the Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . 284 Joiner Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Defining a Join Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Defining the Join Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Normal Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Master Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Detail Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Full Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Using Sorted Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Table of Contents xi
12.
Configuring the Sort
Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Adding Transformations to the Mapping . . . . . . . . . . . . . . . . . . . . . . . 293 Configuring the Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . 293 Defining the Join Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Joining Data from a Single Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Joining Two Branches of the Same Pipeline . . . . . . . . . . . . . . . . . . . . . 296 Joining Two Instances of the Same Source . . . . . . . . . . . . . . . . . . . . . . 297 Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Blocking the Source Pipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Unsorted Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Sorted Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Working with Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Preserving Transaction Boundaries for a Single Pipeline . . . . . . . . . . . . 301 Preserving Transaction Boundaries in the Detail Pipeline . . . . . . . . . . . 301 Dropping Transaction Boundaries for Two Pipelines . . . . . . . . . . . . . . 302 Creating a Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Chapter 14: Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . 307 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Connected and Unconnected Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Connected Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Unconnected Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 310 Relational and Flat File Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Relational Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Flat File Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Lookup Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Lookup Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Lookup Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Lookup Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Lookup Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Metadata Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Lookup Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Configuring Lookup Properties in a Session . . . . . . . . . . . . . . . . . . . . 320 Lookup Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Default Lookup Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Overriding the Lookup Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 xii Table of Contents
13.
Lookup Condition .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Uncached or Static Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Dynamic Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Handling Multiple Matches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Lookup Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Configuring Unconnected Lookup Transformations . . . . . . . . . . . . . . . . . 331 Step 1. Add Input Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Step 2. Add the Lookup Condition . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Step 3. Designate a Return Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Step 4. Call the Lookup Through an Expression . . . . . . . . . . . . . . . . . 333 Creating a Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Chapter 15: Lookup Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Cache Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Building Connected Lookup Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Sequential Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Concurrent Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Using a Persistent Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Using a Non-Persistent Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Using a Persistent Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Rebuilding the Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Working with an Uncached Lookup or Static Cache . . . . . . . . . . . . . . . . . 344 Working with a Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . 345 Using the NewLookupRow Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Using the Associated Input Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Working with Lookup Transformation Values . . . . . . . . . . . . . . . . . . . 349 Using the Ignore Null Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Using the Ignore in Comparison Property . . . . . . . . . . . . . . . . . . . . . . 354 Using Update Strategy Transformations with a Dynamic Cache . . . . . . 354 Updating the Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . 356 Using the WHERE Clause with a Dynamic Cache . . . . . . . . . . . . . . . 358 Synchronizing the Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . 359 Example Using a Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . 360 Rules and Guidelines for Dynamic Caches . . . . . . . . . . . . . . . . . . . . . 361 Sharing the Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Table of Contents xiii
14.
Sharing an Unnamed
Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Sharing a Named Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Lookup Cache Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Chapter 16: Normalizer Transformation . . . . . . . . . . . . . . . . . . . . . . 371 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Normalizer Transformation Components . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Normalizer Transformation Generated Keys . . . . . . . . . . . . . . . . . . . . . . . 379 Storing Generated Key Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Changing the Generated Key Values . . . . . . . . . . . . . . . . . . . . . . . . . . 379 VSAM Normalizer Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 VSAM Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 VSAM Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Steps to Create a VSAM Normalizer Transformation . . . . . . . . . . . . . . 385 Pipeline Normalizer Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Pipeline Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Pipeline Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Steps to Create a Pipeline Normalizer Transformation . . . . . . . . . . . . . 391 Using a Normalizer Transformation in a Mapping . . . . . . . . . . . . . . . . . . . 394 Generating Key Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 Chapter 17: Rank Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 Ranking String Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Rank Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Rank Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Ports in a Rank Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Rank Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Defining Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Creating a Rank Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 Chapter 18: Router Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 409 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 xiv Table of Contents
15.
Working with Groups
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Input Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Output Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Using Group Filter Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Adding Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 Working with Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 Connecting Router Transformations in a Mapping . . . . . . . . . . . . . . . . . . 418 Creating a Router Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 Chapter 19: Sequence Generator Transformation . . . . . . . . . . . . . . 421 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Common Uses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Creating Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Replacing Missing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Sequence Generator Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 NEXTVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 CURRVAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Start Value and Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 Increment By . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 End Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Current Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Number of Cached Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 Creating a Sequence Generator Transformation . . . . . . . . . . . . . . . . . . . . . 432 Chapter 20: Sorter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Sorter Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Sorter Cache Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Case Sensitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Work Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Distinct Output Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Tracing Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Null Treated Low . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 Transformation Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 Table of Contents xv
16.
Creating a Sorter
Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 Chapter 21: Source Qualifier Transformation . . . . . . . . . . . . . . . . . 445 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Target Load Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Parameters and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 Source Qualifier Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . 449 Default Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 Viewing the Default Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Overriding the Default Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Joining Source Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 Default Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 Custom Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 Heterogeneous Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 Creating Key Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 Adding an SQL Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 Entering a User-Defined Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 Outer Join Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 Informatica Join Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 Creating an Outer Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 Common Database Syntax Restrictions . . . . . . . . . . . . . . . . . . . . . . . . 469 Entering a Source Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 Using Sorted Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 Select Distinct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 Overriding Select Distinct in the Session . . . . . . . . . . . . . . . . . . . . . . 474 Adding Pre- and Post-Session SQL Commands . . . . . . . . . . . . . . . . . . . . . 475 Creating a Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . . . . 476 Creating a Source Qualifier Transformation By Default . . . . . . . . . . . . 476 Creating a Source Qualifier Transformation Manually . . . . . . . . . . . . . 476 Configuring Source Qualifier Transformation Options . . . . . . . . . . . . . 476 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 Chapter 22: SQL Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Script Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 xvi Table of Contents
17.
Script Mode Rules
and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Query Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 Using Static SQL Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 Using Dynamic SQL Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 Query Mode Rules and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 Connecting to Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Using a Static Database Connection . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Passing a Logical Database Connection . . . . . . . . . . . . . . . . . . . . . . . . 490 Passing Full Connection Information . . . . . . . . . . . . . . . . . . . . . . . . . 490 Database Connections Rules and Guidelines . . . . . . . . . . . . . . . . . . . . 493 Session Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 Input Row to Output Row Cardinality . . . . . . . . . . . . . . . . . . . . . . . . 494 Transaction Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 Creating an SQL Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 SQL Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 SQL Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 SQL Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 SQL Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 Chapter 23: Using the SQL Transformation in a Mapping . . . . . . . . 511 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 Dynamic Update Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 Defining the Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 Creating a Target Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Creating the Database Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Configuring the Expression Transformation . . . . . . . . . . . . . . . . . . . . 516 Defining the SQL Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 Configuring Session Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 Target Data Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 Dynamic Connection Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Defining the Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Creating a Target Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Creating the Database Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 Creating the Database Connections . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Configuring the Expression Transformation . . . . . . . . . . . . . . . . . . . . 521 Table of Contents xvii
18.
Defining the SQL
Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 Configuring Session Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Target Data Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Chapter 24: Stored Procedure Transformation . . . . . . . . . . . . . . . . 525 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 Connected and Unconnected Transformations . . . . . . . . . . . . . . . . . . . . . . 527 Input and Output Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Input/Output Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Return Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Running a Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 Stored Procedure Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 Executing Stored Procedures with a Database Connection . . . . . . . . . . 529 Using a Stored Procedure in a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 Writing a Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Sample Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Creating a Stored Procedure Transformation . . . . . . . . . . . . . . . . . . . . . . . 535 Importing Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 Manually Creating Stored Procedure Transformations . . . . . . . . . . . . . 537 Setting Options for the Stored Procedure . . . . . . . . . . . . . . . . . . . . . . 538 Using $Source and $Target Variables . . . . . . . . . . . . . . . . . . . . . . . . . 539 Changing the Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 Configuring a Connected Transformation . . . . . . . . . . . . . . . . . . . . . . . . . 541 Configuring an Unconnected Transformation . . . . . . . . . . . . . . . . . . . . . . 542 Calling a Stored Procedure From an Expression . . . . . . . . . . . . . . . . . . 542 Calling a Pre- or Post-Session Stored Procedure . . . . . . . . . . . . . . . . . . 545 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 Pre-Session Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 Post-Session Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 Session Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 Supported Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 SQL Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 Parameter Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 Input/Output Port in Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 Type of Return Value Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 Expression Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 xviii Table of Contents
19.
Tips . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 Chapter 25: Transaction Control Transformation . . . . . . . . . . . . . . 555 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 Transaction Control Transformation Properties . . . . . . . . . . . . . . . . . . . . . 557 Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 Using Transaction Control Transformations in Mappings . . . . . . . . . . . . . . 560 Sample Transaction Control Mappings with Multiple Targets . . . . . . . 561 Mapping Guidelines and Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 Creating a Transaction Control Transformation . . . . . . . . . . . . . . . . . . . . . 565 Chapter 26: Union Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 567 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Union Transformation Rules and Guidelines . . . . . . . . . . . . . . . . . . . . 568 Union Transformation Components . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Working with Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570 Creating a Union Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572 Using a Union Transformation in Mappings . . . . . . . . . . . . . . . . . . . . . . . 574 Chapter 27: Update Strategy Transformation . . . . . . . . . . . . . . . . . 575 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 Setting the Update Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 Flagging Rows Within a Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Forwarding Rejected Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Update Strategy Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Aggregator and Update Strategy Transformations . . . . . . . . . . . . . . . . 578 Lookup and Update Strategy Transformations . . . . . . . . . . . . . . . . . . . 579 Setting the Update Strategy for a Session . . . . . . . . . . . . . . . . . . . . . . . . . 580 Specifying an Operation for All Rows . . . . . . . . . . . . . . . . . . . . . . . . . 580 Specifying Operations for Individual Target Tables . . . . . . . . . . . . . . . 581 Update Strategy Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583 Chapter 28: XML Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . 585 XML Source Qualifier Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 XML Parser Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587 Table of Contents xix
20.
XML Generator Transformation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589 xx Table of Contents
21.
List of Figures
Figure 1-1. Sample Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Figure 1-2. Example of Input, Output, and Input/Output Ports . . . . . . . . . . . . . . . . . . . . . . . 8 Figure 1-3. Sample Input and Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Figure 1-4. Expression Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Figure 1-5. Variable Ports Store Values Across Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Figure 1-6. Default Value for Input and Input/Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . 19 Figure 1-7. Default Value for Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Figure 1-8. Using a Constant as a Default Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Figure 1-9. Using the ERROR Function to Skip Null Input Values . . . . . . . . . . . . . . . . . . . . 24 Figure 1-10. Entering and Validating Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Figure 1-11. Reverting to Original Reusable Transformation Properties . . . . . . . . . . . . . . . . . 35 Figure 2-1. Sample Mapping with Aggregator and Sorter Transformations . . . . . . . . . . . . . . . 46 Figure 3-1. Custom Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Figure 3-2. Editing Port Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Figure 3-3. Port Attribute Definitions Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Figure 3-4. Edit Port Attribute Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Figure 3-5. Custom Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Figure 3-6. Custom Transformation Ports Tab - Union Example . . . . . . . . . . . . . . . . . . . . . . 74 Figure 3-7. Custom Transformation Properties Tab - Union Example . . . . . . . . . . . . . . . . . . 75 Figure 3-8. Mapping with a Custom Transformation - Union Example . . . . . . . . . . . . . . . . . 87 Figure 4-1. Custom Transformation Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Figure 6-1. Process for Distributing External Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Figure 6-2. External Procedure Transformation Initialization Properties . . . . . . . . . . . . . . . . 178 Figure 6-3. External Procedure Transformation Initialization Properties Tab . . . . . . . . . . . . 180 Figure 7-1. Sample Mapping with a Filter Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Figure 7-2. Specifying a Filter Condition in a Filter Transformation . . . . . . . . . . . . . . . . . . 191 Figure 8-1. HTTP Transformation Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Figure 8-2. HTTP Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Figure 8-3. HTTP Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Figure 8-4. HTTP Transformation HTTP Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Figure 8-5. HTTP Tab for a GET Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Figure 8-6. HTTP Tab for a POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Figure 8-7. HTTP Tab for a SIMPLE POST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Figure 9-1. Java Code Tab Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Figure 9-2. Java Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Figure 9-3. Java Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Figure 9-4. Java Transformation Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Figure 9-5. Highlighted Error in Code Entry Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Figure 9-6. Highlighted Error in Full Code Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Figure 11-1. Java Transformation Example - Sample Mapping . . . . . . . . . . . . . . . . . . . . . . . 253 List of Figures xxi
22.
Figure
11-2. Java Transformation Example - Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . .. . .255 Figure 11-3. Java Transformation Example - Import Packages Tab . . . . . . . . . . . . . . . . . .. . .257 Figure 11-4. Java Transformation Example - Helper Code Tab . . . . . . . . . . . . . . . . . . . .. . .258 Figure 11-5. Java Transformation Example - On Input Row Tab . . . . . . . . . . . . . . . . . . .. . .260 Figure 11-6. Java Transformation Example - Successful Compilation . . . . . . . . . . . . . . . .. . .261 Figure 12-1. Define Expression Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .267 Figure 12-2. Java Expressions Code Entry Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .268 Figure 13-1. Mapping with Master and Detail Pipelines . . . . . . . . . . . . . . . . . . . . . . . . .. . .284 Figure 13-2. Joiner Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .286 Figure 13-3. Mapping Configured to Join Data from Two Pipelines . . . . . . . . . . . . . . . .. . .295 Figure 13-4. Mapping that Joins Two Branches of a Pipeline . . . . . . . . . . . . . . . . . . . . . .. . .297 Figure 13-5. Mapping that Joins Two Instances of the Same Source . . . . . . . . . . . . . . . . .. . .297 Figure 13-6. Preserving Transaction Boundaries when You Join Two Pipeline Branches . .. . .301 Figure 14-1. Session Properties for Flat File Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .321 Figure 14-2. Return Port in a Lookup Transformation . . . . . . . . . . . . . . . . . . . . . . . . . .. . .333 Figure 15-1. Building Lookup Caches Sequentially . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .340 Figure 15-2. Building Lookup Caches Concurrently . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .341 Figure 15-3. Mapping with a Dynamic Lookup Cache . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .346 Figure 15-4. Dynamic Lookup Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . .. . .347 Figure 15-5. Using Update Strategy Transformations with a Lookup Transformation . . . .. . .355 Figure 15-6. Slowly Changing Dimension Mapping with Dynamic Lookup Cache . . . . . .. . .360 Figure 16-1. Normalizer Transformation Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .374 Figure 16-2. Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .375 Figure 16-3. Normalizer Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . .. . .376 Figure 16-4. Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .377 Figure 16-5. COBOL Source Definition Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .381 Figure 16-6. Sales File VSAM Normalizer Transformation . . . . . . . . . . . . . . . . . . . . . . .. . .381 Figure 16-7. VSAM Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .383 Figure 16-8. Normalizer Tab for a VSAM Normalizer Transformation . . . . . . . . . . . . . . .. . .384 Figure 16-9. Pipeline Normalizer Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .387 Figure 16-10. Pipeline Normalizer Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .387 Figure 16-11. Pipeline Normalizer Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .389 Figure 16-12. Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .390 Figure 16-13. Grouping Repeated Columns on the Normalizer Tab . . . . . . . . . . . . . . . . .. . .391 Figure 16-14. Group-Level Column on the Normalizer Tab . . . . . . . . . . . . . . . . . . . . . .. . .393 Figure 16-15. Sales File COBOL Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .394 Figure 16-16. Multiple Record Types Routed to Different Targets . . . . . . . . . . . . . . . . . .. . .395 Figure 16-17. Router Transformation User-Defined Groups . . . . . . . . . . . . . . . . . . . . . .. . .396 Figure 16-18. COBOL Source with A Multiple-Occurring Group of Columns . . . . . . . . .. . .397 Figure 16-19. Generated Keys in Target Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .397 Figure 16-20. Generated Keys Mapped to Target Keys . . . . . . . . . . . . . . . . . . . . . . . . . .. . .398 Figure 17-1. Sample Mapping with a Rank Transformation . . . . . . . . . . . . . . . . . . . . . . .. . .402 Figure 18-1. Comparing Router and Filter Transformations . . . . . . . . . . . . . . . . . . . . . .. . .410 xxii List of Figures
23.
Figure
18-2. Sample Router Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 411 Figure 18-3. Using a Router Transformation in a Mapping . . . . . . . . . . . . . . . . . . . . . . .. . 413 Figure 18-4. Specifying Group Filter Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 414 Figure 18-5. Router Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 416 Figure 18-6. Input Port Name and Corresponding Output Port Names . . . . . . . . . . . . . .. . 417 Figure 19-1. Connecting NEXTVAL to Two Target Tables in a Mapping . . . . . . . . . . . . .. . 424 Figure 19-2. Mapping with a Sequence Generator and an Expression Transformation . . . .. . 425 Figure 19-3. Connecting CURRVAL and NEXTVAL Ports to a Target . . . . . . . . . . . . . .. . 426 Figure 20-1. Sample Mapping with a Sorter Transformation . . . . . . . . . . . . . . . . . . . . . .. . 436 Figure 20-2. Sample Sorter Transformation Ports Configuration . . . . . . . . . . . . . . . . . . .. . 437 Figure 20-3. Sorter Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 439 Figure 21-1. Source Definition Connected to a Source Qualifier Transformation . . . . . . .. . 451 Figure 21-2. Joining Two Tables with One Source Qualifier Transformation . . . . . . . . . .. . 455 Figure 21-3. Creating a Relationship Between Two Tables . . . . . . . . . . . . . . . . . . . . . . . .. . 457 Figure 22-1. SQL Transformation Script Mode Ports . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 481 Figure 22-2. SQL Editor for an SQL Transformation Query . . . . . . . . . . . . . . . . . . . . . .. . 484 Figure 22-3. SQL Transformation Static Query Mode Ports . . . . . . . . . . . . . . . . . . . . . .. . 486 Figure 22-4. SQL Transformation Ports to Pass a Full Dynamic Query . . . . . . . . . . . . . .. . 487 Figure 22-5. SQL Transformation Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 503 Figure 22-6. SQL Settings Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 505 Figure 22-7. SQL Transformation SQL Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 507 Figure 23-1. Dynamic Query Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 513 Figure 23-2. Dynamic Query Expression Transformation Ports . . . . . . . . . . . . . . . . . . . .. . 516 Figure 23-3. Dynamic Query SQL Transformation Ports tab: . . . . . . . . . . . . . . . . . . . . .. . 517 Figure 23-4. Dynamic Connection Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 519 Figure 23-5. Dynamic Query Example Expression Transformation Ports . . . . . . . . . . . . .. . 521 Figure 23-6. Dynamic Connection Example SQL Transformation Ports . . . . . . . . . . . . . .. . 523 Figure 24-1. Sample Mapping with a Stored Procedure Transformation . . . . . . . . . . . . . .. . 541 Figure 24-2. Expression Transformation Referencing a Stored Procedure Transformation .. . 542 Figure 24-3. Stored Procedure Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 548 Figure 25-1. Transaction Control Transformation Properties . . . . . . . . . . . . . . . . . . . . . .. . 557 Figure 25-2. Sample Transaction Control Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 559 Figure 25-3. Effective and Ineffective Transaction Control Transformations . . . . . . . . . . .. . 561 Figure 25-4. Transaction Control Transformation Effective for a Transformation . . . . . . .. . 561 Figure 25-5. Valid Mapping with Transaction Control Transformations . . . . . . . . . . . . . .. . 562 Figure 25-6. Invalid Mapping with Transaction Control Transformations . . . . . . . . . . . .. . 563 Figure 26-1. Union Transformation Groups Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 570 Figure 26-2. Union Transformation Group Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 571 Figure 26-3. Union Transformation Ports Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 571 Figure 26-4. Mapping with a Union Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 574 Figure 27-1. Specifying Operations for Individual Target Tables . . . . . . . . . . . . . . . . . . .. . 582 List of Figures xxiii
24.
xxiv
List of Figures
25.
List of Tables
Table 1-1. Transformation Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . .. 2 Table 1-2. Multi-Group Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . .. 9 Table 1-3. Transformations Containing Expressions . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 11 Table 1-4. Variable Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 14 Table 1-5. System Default Values and Integration Service Behavior . . . . . . . . . . . . . . .. . .. . . 18 Table 1-6. Transformations Supporting User-Defined Default Values . . . . . . . . . . . . .. . .. . . 20 Table 1-7. Default Values for Input and Input/Output Ports . . . . . . . . . . . . . . . . . . .. . .. . . 22 Table 1-8. Supported Default Values for Output Ports . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 26 Table 1-9. Session Log Tracing Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 30 Table 3-1. Custom Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 64 Table 3-2. Transaction Boundary Handling with Custom Transformations . . . . . . . . .. . .. . . 69 Table 3-3. Module File Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 85 Table 3-4. UNIX Commands to Build the Shared Library. . . . . . . . . . . . . . . . . . . . . .. . .. . . 86 Table 4-1. Custom Transformation Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 91 Table 4-2. Custom Transformation Generated Functions . . . . . . . . . . . . . . . . . . . . . .. . .. . . 92 Table 4-3. Custom Transformation API Functions . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . 92 Table 4-4. Custom Transformation Array-Based API Functions . . . . . . . . . . . . . . . . .. . .. . . 94 Table 4-5. INFA_CT_MODULE Property IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 109 Table 4-6. INFA_CT_PROC_HANDLE Property IDs . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 110 Table 4-7. INFA_CT_TRANS_HANDLE Property IDs . . . . . . . . . . . . . . . . . . . . . . .. . .. . 111 Table 4-8. INFA_CT_INPUT_GROUP and INFA_CT_OUTPUT_GROUP Handle Property IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Table 4-9. INFA_CT_INPUTPORT and INFA_CT_OUTPUTPORT_HANDLE Handle Property IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 113 Table 4-10. Property Functions (MBCS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 115 Table 4-11. Property Functions (Unicode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 115 Table 4-12. Compatible Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 116 Table 4-13. Get Data Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 118 Table 4-14. Get Data Functions (Array-Based Mode) . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 133 Table 6-1. Differences Between COM and Informatica External Procedures . . . . . . . .. . .. . 148 Table 6-2. Visual C++ and Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 171 Table 6-3. Visual Basic and Transformation Datatypes . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 171 Table 6-4. External Procedure Initialization Properties . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 180 Table 6-5. Descriptions of Parameter Access Functions. . . . . . . . . . . . . . . . . . . . . . . .. . .. . 183 Table 6-6. Member Variable of the External Procedure Base Class. . . . . . . . . . . . . . . .. . .. . 185 Table 8-1. HTTP Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 202 Table 8-2. HTTP Transformation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 205 Table 8-3. GET Method Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 206 Table 8-4. POST Method Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 206 Table 8-5. SIMPLE POST Method Groups and Ports . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 207 Table 9-1. Mapping from PowerCenter Datatypes to Java Datatypes . . . . . . . . . . . . . .. . .. . 215 List of Tables xxv
26.
Table 9-2. Java
Transformation Properties . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .221 Table 11-1. Input and Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .254 Table 12-1. Enumerated Java Datatypes . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .274 Table 12-2. JExpression API Methods . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .276 Table 13-1. Joiner Transformation Properties . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .286 Table 13-2. Integration Service Behavior with Transformation Scopes for the Joiner Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .300 Table 14-1. Differences Between Connected and Unconnected Lookups . ... . . .. . . .. . .. . .309 Table 14-2. Lookup Transformation Port Types . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .314 Table 14-3. Lookup Transformation Properties . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .316 Table 14-4. Session Properties for Flat File Lookups . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .322 Table 15-1. Lookup Caching Comparison . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .339 Table 15-2. Integration Service Handling of Persistent Caches . . . . . . . . ... . . .. . . .. . .. . .343 Table 15-3. NewLookupRow Values . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .348 Table 15-4. Dynamic Lookup Cache Behavior for Insert Row Type . . . . ... . . .. . . .. . .. . .357 Table 15-5. Dynamic Lookup Cache Behavior for Update Row Type . . . ... . . .. . . .. . .. . .358 Table 15-6. Location for Sharing Unnamed Cache . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .364 Table 15-7. Properties for Sharing Unnamed Cache . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .364 Table 15-8. Location for Sharing Named Cache . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .367 Table 15-9. Properties for Sharing Named Cache . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .367 Table 16-1. Normalizer Transformation Properties . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .376 Table 16-2. Normalizer Tab Columns . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .378 Table 16-3. Normalizer Tab for a VSAM Normalizer Transformation . . . ... . . .. . . .. . .. . .384 Table 16-4. Pipeline Normalizer Tab . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .390 Table 17-1. Rank Transformation Ports . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .404 Table 17-2. Rank Transformation Properties . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .407 Table 19-1. Sequence Generator Transformation Properties . . . . . . . . . . ... . . .. . . .. . .. . .427 Table 20-1. Column Sizes for Sorter Data Calculations . . . . . . . . . . . . . ... . . .. . . .. . .. . .440 Table 21-1. Conversion for Datetime Mapping Parameters and Variables ... . . .. . . .. . .. . .447 Table 21-2. Source Qualifier Transformation Properties . . . . . . . . . . . . . ... . . .. . . .. . .. . .449 Table 21-3. Locations for Entering Outer Join Syntax . . . . . . . . . . . . . . ... . . .. . . .. . .. . .463 Table 21-4. Syntax for Normal Joins in a Join Override . . . . . . . . . . . . . ... . . .. . . .. . .. . .463 Table 21-5. Syntax for Left Outer Joins in a Join Override . . . . . . . . . . . ... . . .. . . .. . .. . .465 Table 21-6. Syntax for Right Outer Joins in a Join Override . . . . . . . . . ... . . .. . . .. . .. . .467 Table 22-1. Full Database Connection Ports . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .491 Table 22-2. Native Connect String Syntax . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .491 Table 22-3. Output Rows By Query Statement - Query Mode . . . . . . . . ... . . .. . . .. . .. . .495 Table 22-4. NumRowsAffected Rows by Query Statement - Query Mode ... . . .. . . .. . .. . .495 Table 22-5. Output Rows by Query Statement - Query Mode . . . . . . . . ... . . .. . . .. . .. . .497 Table 22-6. SQL Transformation Connection Options . . . . . . . . . . . . . . ... . . .. . . .. . .. . .501 Table 22-7. SQL Transformation Properties . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .503 Table 22-8. SQL Settings Tab Attributes . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .505 Table 22-9. SQL Transformation Ports . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .507 Table 22-10. Standard SQL Statements . . . . . . . . . . . . . . . . . . . . . . . . . ... . . .. . . .. . .. . .509 xxvi List of Tables
27.
Table
24-1. Connected and Unconnected Stored Procedure Transformation Tasks . . . .. . .. . 527 Table 24-2. Setting Options for the Stored Procedure Transformation . . . . . . . . . . . .. . .. . 538 Table 27-1. Constants for Each Database Operation . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 577 Table 27-2. Specifying an Operation for All Rows . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 580 Table 27-3. Update Strategy Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . 581 List of Tables xxvii
28.
xxviii
List of Tables
Baixar agora