1

Informatica PowerCenter 7 Level
I Developer
Education Services
Version PC7LÌD-20050301
_ Ìnformatica Corporation, 2003 - 2004. All rights reserved.
ntroduction

the end of this course ou will:
&nderstand how to use the major PowerCenter
components for development
e able to build basic ETL mappings and mapplets*
e able to create, run and monitor workflows
&nderstand available options for loading target data
e able to troubleshoot most problems
Note: The course does not cover PowerCenter optional
features or XML support.
Course Objectives
* A mapplet is a subset of a mapping

ounded in 1993
Leader in enterprise solution products
Headquarters in Redwood Cit, CA
Public compan since April 1999 (ÌNA)
2000+ customers, including over 80% of ortune 100
Strategic partnerships with ÌM, HP, Accenture, SAP,
and man others
Worldwide distributorship
bout Informatica

Informatica Products
!owerCenter ETL ÷ batch and real-time data integration
!owerAnaIyzer Ì reporting ÷ web-browser interface with reports,
dashboards, indicators, alerts; handles real-time
metrics
SuperGIue* Centralized metadata browsing cross-enterprise,
including PowerCenter, PowerAnalzer, DMS,
Ì tools, and data modeling tools
!owerExchange Data access to mainframe, mid-size sstem and
complex files
!owerCenter
Connect products
Data access to transactional applications and
real-time services
* &ses PowerCenter to extract metadata and PowerAnalzer to displa reports

www.informatica.com ÷ provides information (under Services) on:
· Professional Services
· Education Services
m.informatica.com ÷ sign up to access:
· Technical Support
· Product documentation (under Tools ÷ online documentation)
· Velocit Methodolog (under Services)
· Knowledgebase
· Webzine
· Mapping templates
devnet.informatica.com ÷ sign up for Ìnformatica Developers Network
· Discussion forums
· Web seminars
· Technical papers
Informatica Resources

Ìnformatica offers three distinct Certification titles:
· Exam A: Architecture and Administration
· Exam C: Advanced Administration
· Exam A: Architecture and Administration
· Exam B: Mapping Design
· Exam D: Advanced Mapping Design
· Exams A, B, C, D pIus
· Exam E: EnabIement TechnoIogies
or more information and to register to take an exam:
http://www.informatica.com/services/Education+Services/!rofessionaI+Certification/
Informatica Professional Certification

tract. Transform and Load
· Transaction IeveI data
· Optimized for transaction
response time
· Current
· NormaIized or
De-normaIized data
OperationaI Systems
Mainframe
RDBMS Other
· Aggregated data
· HistoricaI data
Decision Support
Data
Warehouse
ETL Load
Transform
Extract
· Aggregate data
· CIeanse data
· ConsoIidate data
· AppIy business ruIes
· De-normaIize data

PowerCenter Client Tools
Repository Designer WorkfIow WorkfIow Rep Server
Manager Manager Monitor Administration
ConsoIe
Manage repository:
· Connections
· FoIders
· Objects
· Users and groups
Administer repositories on a
Repository Server:
· Create/upgrade/deIete
· Configuration
· Start/stop
· Backup/restore
BuiId ETL
mappings
BuiId and start
workfIows to
run mappings
Monitor
and start
workfIows
10
PowerCenter 7 rchitecture
Not Shown: CIient ODBC connections from Designer to sources and targets for metadata
Targets Sources
Native Native
TC!/!
Heterogeneous
Targets
Repository
Repository
Server
Repository
Agent
TC!/!
Native
nformatica Server
Heterogeneous
Sources
Repository Designer WorkfIow WorkfIow Rep Server
Manager Manager Monitor Administrative
ConsoIe
11
Distributed rchitecture and Platforms
S The following components can be distributed across a
network of host computers:
Clients Tools
PowerCenter Servers
Repositor Servers
Repositor Databases
Sources and Targets
S Platforms:
Client tools run on Windows
Servers run on AÌX, HP-&X, Solaris, Redhat Linux, Windows
Repositories on an major RDMS
12
Design and ecution Process
1. Create Source definition(s)
2. Create Target definition(s)
3. Create a Mapping
4. Create a Session Task
5. Create a Workflow with Task components
6. Run the Workflow and verif the results
1
Demonstration
Source Object Definitions
1
$ource Object Definitions
the end of this section ou will:
e familiar with the Designer interface
e familiar with Source Tpes
e able to create Source Definitions
&nderstand Source Definition properties
e able to use the Data Preview option
1
Ìmport from:
Relational database
lat file
XML object
Create manuall
ethods of nalyzing $ources
Source Analzer
Repositor
Repositor
Server
Repositor Agent
TC!/!
DEF
Native
1
nalyzing Relational Database $ources
· TabIe
· View
· Synonym
Relational D Source
DEF
Source Analzer
ODC
Repositor
Repositor
Server
Repositor Agent
TC!/!
DEF
Native
1
nalyzing Relational Database $ources
Editing Source Definition Properties
1
nalyzing Flat File $ources
· Mapped Drive
· NFS Mount
· LocaI Directory
DEF
· ixed Width
· Delimited
lat ile
Source Analzer
Repositor
Repositor
Server
Repositor Agent
TC!/!
DEF
Native
20
Flat File Wizard
Three-step
wizard
Columns can
be renamed
within wizard
Text, Numeric
and Datetime
datatpes are
supported
Wizard
'guesses'
datatpe
21
Flat File $ource Properties
22
nalyzing XL $ources
DEF
XML Schema (XSD),
DTD or XML ile
DATA
Source Analzer
Repositor
Repositor
Server
Repositor Agent
TC!/!
DEF
Native
· Mapped Drive
· NFS Mounting
· LocaI Directory
2
Data Previewer
Preview data in
· Relational database sources
· lat file sources
· Relational database targets
· lat file targets
Data Preview Option is available in
· Source Analzer
· Warehouse Designer
· Mapping Designer
· Mapplet Designer
2
&sing Data Previewer in $ource nalyzer
Data Preview Example
From Source AnaIyzer,
seIect Source drop down
menu, then !review Data
Enter connection information
in the diaIog box
A right mouse cIick on the object can aIso be used to preview data
2
&sing Data Previewer in $ource nalyzer
Data Preview Results
Data
DispIay
View up
to 00
rows
2
etadata tensions
Allows developers and partners to extend the
metadata stored in the Repositor
Metadata extensions can be:
· &ser-defined ÷ PowerCenter users can define and create
their own metadata
· Vendor-defined ÷ Third-part application vendor-created
metadata lists
· or example, applications such as Ariba or PowerCenter Connect
for Siebel can add information such as contacts, version, etc.
2
etadata tensions
Can be reusable or non-reusable
Can promote non-reusable metadata extensions to
reusable; this is irreversible (except b Administrator)
Reusable metadata extensions are associated with
all repositor objects of that object tpe
A non-reusable metadata extensions is associated
with a single repositor object
· Administrator or Super &ser privileges are required
for managing reusable metadata extensions
2
ample - etadata tension for a $ource
SampIe User Defined
Metadata, e.g. contact
information, business user
Target Object Definitions
0
Target Object Definitions
the end of this section ou will:
e familiar with Target Definition tpes
Know the supported methods of creating Target
Definitions
&nderstand individual Target Definition properties
1
Creating Target Definitions
Methods of creating Target Definitions
Ìmport from relational database
Ìmport from XML object
Create automaticall from a source definition
Create manuall (flat file or relational
database)
2
Import Definition from Relational Database
Can obtain existing object definitions from a database
system cataIog or data dictionary
·Table
·View
·Snonm
Warehouse
Designer
Relational D
DEF
ODC
Repositor
Repositor
Server
Repositor Agent
TC!/!
DEF
Native

Import Definition from XL Object
Can infer existing object definitions from a database
system cataIog or data dictionary
Warehouse
Designer
Repositor
Repositor
Server
Repositor Agent
TC!/!
DEF
Native
DEF
DTD, XML Schema or
XML ile
DATA
· Mapped Drive
· NFS Mounting
· LocaI Directory

Creating Target utomatically from $ource
Drag-and-drop
a Source
Definition into
the Warehouse
Designer
Workspace

Target Definition Properties

Lab 1 - Define $ources and Targets
Mappings

appings
the end of this section ou will be familiar with:
The Mapping Designer interface
Transformation objects and views
Source Qualifier transformation
The Expression transformation
Mapping validation

apping Designer
conized Mapping
Mapping List
Transformation TooIbar
0
Transformations Objects &sed in This Class
Source Qualifier: reads data from flat file & relational sources
Expression: performs row-level calculations
ilter: drops rows conditionall
Sorter: sorts data
Aggregator: performs aggregate calculations
Joiner: joins heterogeneous sources
Lookup: looks up values and passes them to other objects
&pdate Strateg: tags rows for insert, update, delete, reject
Router: splits rows conditionall
Sequence Generator: generates unique ÌD values
1
Other Transformation Objects
Normalizer: normalizes records from relational or VSAM sources
Rank: filters the top or bottom range of records
&nion: merges data from multiple pipelines into one pipeline
Transaction Control: allows user-defined commits
Stored Procedure: calls a database stored procedure
External Procedure : calls compiled code for each row
Custom: calls compiled code for multiple rows
Midstream XML Parser: reads XML from database table or message queue
Midstream XML Generator: writes XML to database table or message queue
More Source Qualifiers: read from XML, message queues and
applications
2
Transformation Views
A transformation has
three views:
Ìconized shows the
transformation in relation
to the rest of the
mapping
Normal shows the flow
of data through the
transformation
Edit shows
transformation ports
(= table columns)
and properties;
allows editing

$ource Qualifier Transformation
Ports
· All input/output
&sage
· Convert datatpes
· or relational sources:
Modif SQL statement
&ser Defined Join
Source ilter
Sorted ports
Select DÌSTÌNCT
Pre/Post SQL
Represents the source record set queried b the
Server. Mandator in Mappings using relational or
flat file sources

$ource Qualifier Properties
&ser can modif SQL SELECT statement (D sources)
Source Qualifier can join homogenous tables
&ser can modif WHERE clause
&ser can modif join statement
&ser can specif ORDER manuall or
automaticall)
Pre- and post-SQL can be provided
SQL properties do not appl to flat file sources

Pre-$QL and Post-$QL Rules
Can use an command that is valid for the database
tpe; no nested comments
&se a semi-colon (;) to separate multiple statements
Ìnformatica Server ignores semi-colons within single
quotes, double quotes or within /* ...*/
To use a semi-colon outside of quotes or comments,
'escape' it with a back slash (\)

pression Transformation
Ports
· Mixed
· Variables allowed
Create expression in an
output or variable port
&sage
· Perform majorit of
data manipulation
!erform caIcuIations using non-aggregate functions
row IeveI)
CIick here to invoke the
Expression Editor

pression ditor
An expression formuIa is a caIcuIation or conditionaI statement for a
specific port in a transformation
!erforms caIcuIation based on ports, functions, operators, variabIes,
constants and return vaIues from other transformations

pression Validation
The Validate or 'OK' button in the Expression Editor will:
Parse the current expression
· Remote port searching (resolves references to ports in
other transformations)
Parse default values
Check spelling, correct number of arguments in functions,
other sntactical errors

Character unctions
&sed to manipulate character data
CHRCODE returns the numeric value
(ASCÌÌ or &nicode) of the first character of
the string passed to this function
CONCAT is for backward compatibilit onl.
&se || instead
ASC
CHR
CHRCODE
CONCAT
NTCA!
NSTR
LENGTH
LOWER
L!AD
LTRM
RE!LACECHR
RE!LACESTR
R!AD
RTRM
SUBSTR
U!!ER
Informatica Functions - Character
0
TO_CHAR numeric)
TO_DATE
TO_DECMAL
TO_FLOAT
TO_NTEGER
Informatica Functions - Conversion
Conversion unctions
&sed to convert datatpes
1
Informatica Functions - Data Cleansing
NSTR
S_DATE
S_NUMBER
S_S!ACES
SNULL
LTRM
META!HONE
RE!LACECHR
RE!LACESTR
RTRM
SOUNDEX
SUBSTR
TO_CHAR
TO_DATE
TO_DECMAL
TO_FLOAT
TO_NTEGER
&sed to process data during data
cleansing
METAPHONE and SO&NDEX create
indexes based on English
pronunciation (2 different standards)
2
Date unctions
&sed to round, truncate, or
compare dates; extract one part
of a date; or perform arithmetic
on a date
To pass a string to a date
function, first use the TO_DATE
function to convert it to an
date/time datatpe
ADD_TO_DATE
DATE_COM!ARE
DATE_DFF
GET_DATE_!ART
LAST_DAY
ROUND Date)
SET_DATE_!ART
TO_CHAR Date)
TRUNC Date)
Informatica Functions - Date

Numerical unctions
&sed to perform mathematical
operations on numeric data
ABS
CEL
CUME
EX!
FLOOR
LN
LOG
MOD
MOVNGAVG
MOVNGSUM
!OWER
ROUND
SGN
SQRT
TRUNC
COS
COSH
SN
SNH
TAN
TANH
Scientific unctions
&sed to calculate
geometric values
of numeric data
Informatica Functions - Numerical and $cientific

Informatica Functions - $pecial and Test
ABORT
DECODE
ERROR
F
LOOKU!
ÌÌ(Condition,True,alse)
S_DATE
S_NUMBER
S_S!ACES
SNULL
Test unctions
&sed to test if a lookup result is null
&sed to validate data
Special unctions
&sed to handle specific conditions
within a session; search for certain
values; test conditional statements

Variable Ports
&se to simplif complex expressions
· e.g. create and store a depreciation formula to be
referenced more than once
&se in another variable port or an output port expression
Local to the transformation (a variable port cannot also be an
input or output port)

Variable Ports (cont`d)
Use for temporary storage
VariabIe ports can remember vaIues across rows; usefuI for
comparing vaIues
VariabIes are initiaIized numeric to 0, string to "") when the Mapping
Iogic is processed
VariabIes !orts are not visibIe in NormaI view, onIy in Edit view

Default Values - Two &sages
or input and Ì/O ports, default values are used to replace null
values
or output ports, default values are used to handle transformation
calculation errors (not-null handling)
Default
value for the
selected
port
Selected
port
VaIidate the
defauIt
vaIue
expression
SNULL function
is not required

Informatica Datatypes
Transformation datatpes allow mix and match of source and target database tpes
When connecting ports, native and transformation datatpes must be compatible
(or must be explicitl converted)
NATVE DATATY!ES TRANSFORMATON DATATY!ES
Specific to the source and target
database tpes
PowerCenter internal datatpes
Displa in source and target tables
within Mapping Designer
Displa in transformations within
Mapping Designer
Native Native Transformation

Datatype Conversions within PowerCenter
S Data can be converted from one datatpe to another b:
Passing data between ports with different datatpes
Passing data from an expression to a port
&sing transformation functions
&sing transformation arithmetic operators
Onl conversions supported are:
Numeric datatpes Other numeric datatpes
Numeric datatpes String
Date/Time Date or String
S or further information, see the PowerCenter Client Help > Ìndex
> port-to-port data conversion
0
apping Validation
1
Connection Validation
ExampIes of invaIid connections in a Mapping:
Connecting ports with incompatible datatpes
Connecting output ports to a Source
Connecting a Source to anthing but a Source
Qualifier or Normalizer transformation
Connecting an output port to an output port or
an input port to another input port
2
apping Validation
Mappings must:
· e valid for a Session to run
· e end-to-end complete and contain valid expressions
· Pass all data flow rules
Mappings are alwas validated when saved; can be validated
without being saved
Output Window displas reason for invalidit

Lab 2 - Create a apping
WorkfIows

Workflows
the end of this section, ou will be familiar with:
The Workflow Manager G&Ì interface
Creating and configuring Workflows
Workflow properties
Workflow components
Workflow tasks

Workflow anager Interface
Task
TooI Bar
Output
Window
Navigator
Window
Workspace
Status
Bar
WorkfIow
Designer
TooIs

WorkfIow Designer
· Maps the execution order and dependencies of Sessions,
Tasks and Worklets, for the Ìnformatica Server
Task DeveIoper
· Create Session, Shell Command and Email tasks
· Tasks created in the Task Developer are reusable
WorkIet Designer
· Creates objects that represent a set of tasks
· Worklet objects are reusable
Workflow anager Tools

Workflow $tructure
A Workflow is set of instructions for the nformatica
Server to perform data transformation and Ioad
Combines the Iogic of Session Tasks, other types of
Tasks and WorkIets
The simpIest WorkfIow is composed of a Start Task, a
Link and one other Task
Start
Task
Session
Task
Link

$ession Task
Server instructions to run the logic of ONE specific mapping
e.g. source and target data location specifications, memor
allocation, optional Mapping overrides, scheduling, processing and
load instructions
ecomes a component of a
Workflow (or Worklet)
Ìf configured in the Task
Developer, the Session
Task is reusable (optional)
0
Eight additionaI Tasks are avaiIabIe in the WorkfIow Designer covered
Iater)
· Command
· Email
· Decision
· Assignment
· Timer
· Control
· Event Wait
· Event Raise
dditional Workflow Tasks
1
$ample Workflow
Start Task
(required)
Session 1
Session 2
Command
Task
2
$equential and Concurrent Workflows
Sequential
Concurrent
Combined
Note: Although onl session tasks are shown, can be an tasks

Creating a Workflow
Customize
WorkfIow name
SeIect a
Server

Workflow Properties
Customize WorkfIow
!roperties
WorkfIow Iog dispIays
May be reusabIe or
non-reusabIe
SeIect a WorkfIow
ScheduIe optionaI)

Workflow $cheduler
Set and customize workfIow-specific scheduIe

Workflow etadata tensions
Metadata Extensions provide
for additionaI user data

Workflow Links
Required to connect Workflow Tasks
Can be used to create branches in a Workflow
All links are executed unless a link condition is used which
makes a link false
Link 2
Link 1
Link

Conditional Links
OptionaI Iink
condition
'$9,8kn,20STATUS'
is a pre-defined
task variabIe

Workflow Variables 1
Task-specific
variables
uilt-in sstem
variables
&sed in decision tasks and conditional links ÷ edit task or link:
&ser-defined variables
(see separate slide)
Pre-defined variables
0
S &ser-defined variables are set in Workflow properties,
Variables tab ÷ can persist across sessions
S Can be reset in
an Assignment task
Workflow Variables 2
1
Workflow $ummary
1. Add Sessions and other Tasks to the Workflow
2. Connect all Workflow components with Links
3. Save the Workflow
Sessions in a WorkfIow can be executed independentIy
4. Start the Workflow
Session Tasks

$ession Tasks
After this section, you wiII be famiIiar with:
How to create and configure Session Tasks
Session Task source and target properties

Created to execute the Iogic of a mapping one
mapping onIy)
Session Tasks can be created in the Task DeveIoper
reusabIe) or WorkfIow DeveIoper WorkfIow-
specific)
To create a Session Task
· Select the Session button from the Task Toolbar
· Or Select menu Tasks | Create and select Session from
the drop-down menu
Creating a $ession Task

$ession Task - Properties and Parameters
Session Task
Session
parameter
!roperties Tab
!arameter fiIe

$ession Task - $etting $ource Properties
Set
properties
Session Task
SeIect
source
instance
Mapping Tab
Set
connection

$ession Task - $etting Target Properties
Note: Heterogeneous targets
are supported
Session Task
SeIect target
instance
Mapping Tab
Set properties
Set connection
Monitoring WorkfIows

onitoring Workflows
the end of this section ou will be familiar with:
The Workflow Monitor G&Ì interface
Monitoring views
Server monitoring modes
iltering displaed items
Actions initiated from the Workflow Monitor
Truncating Monitor Logs
0
Workflow onitor
The WorkfIow Monitor is the tooI for monitoring
WorkfIows and Tasks
Choose between two views:
· Gantt chart
· Task view
Gantt Chart view
Task view
1
onitoring Current and Past Workflows
The WorkfIow Monitor dispIays onIy workfIows
that have been run
DispIays reaI-time information from the
nformatica Server and the Repository Server
about current workfIow runs
2
onitoring Operations
!erform operations in the WorkfIow Monitor
· Stop, Abort, or Restart a Task, Workflow or Worklet
· Resume a suspended Workflow after a failed Task is
corrected
· Reschedule or &nschedule a Workflow
View Session and WorkfIow Iogs
Abort has a 0 second timeout
· Ìf the Server has not completed processing and
committing data during the timeout period, the threads
and processes associated with the Session are killed
Stopping a Session Task means the Server stops reading data

onitoring in Task View
Start CompIetion
Task Server WorkfIow WorkIet Time Time
Status Bar
Start, Stop, Abort, Resume
Tasks,WorkfIows and WorkIets

Filtering in Task View
Monitoring fiIters
can be set using
drop down menus.
Minimizes items
dispIayed in
Task View
Right-cIick on Session to retrieve the
Session Log from the Server to the
IocaI !C CIient)

Filter Toolbar
DispIay recent runs
FiIter tasks by specified criteria
SeIect servers to fiIter
SeIect type of tasks to fiIter

Truncating Workflow onitor Logs
WorkfIow Monitor
Repository Manager
Repository Manager's
Truncate Log option
cIears the WorkfIow
Monitor Iogs

Lab 3 - Create and Run a Workflow

Lab 4 - Features and Techniques I
Debugger
100
Debugger
the end of this section ou will be familiar with:
Creating a Debug Session
Debugger windows and indicators
Debugger functionalit and options
Viewing data with the Debugger
Setting and using reakpoints
Tips for using the Debugger
101
Debugger Features
Wizard driven tool that runs a test session
View source / target data
View transformation data
Set breakpoints and evaluate expressions
Ìnitialize variables
Manuall change variable values
Data can be loaded or discarded
Debug environment can be saved for later use
102
Debugger Interface
Target nstance
window
Transformation
nstance
Data window
FIashing
yeIIow
SQL
indicator
Debugger Mode
indicator
SoIid yeIIow
arrow is current
transformation
indicator
Output Window
Debugger Log
Edit
Breakpoints
10
$et Breakpoints
2. Choose global or
specific transformation
3. Choose to break on
data condition or error.
Optionall skip rows.
4. Add breakpoint(s)
5. Add data conditions
1. Edit breakpoint
6. Continue (to next breakpoint)
10
Server must be running before starting a Debug Session
When the Debugger is started, a spinning icon dispIays.
Spinning stops when the Debugger Server is ready
The fIashing yeIIow/green arrow points to the current active
Source QuaIifier. The soIid yeIIow arrow points to the current
Transformation instance
Debugger Tips
Next nstance proceeds a singIe step at a time; one
row moves from transformation to transformation
Step to nstance examines one transformation at a
time, foIIowing successive rows through the same
transformation
10
Lab 5 - The Debugger
FiIter Transformation
10
Ports
· All input / output
Specif a ilter condition
&sage
· ilter rows from
input flow
Drops rows conditionaIIy
Filter Transformation
10
Lab 6 - Flat File Wizard and Filter
Transformation
Sorter Transformation
110
$orter Transformation
Can sort data from relational tables or flat files
Sort takes place on the Ìnformatica Server machine
Multiple sort kes are supported
The Sorter transformation is often more efficient than
a sort performed on a database with an ORDER
clause
111
$orter Transformation
Sorts data from any source, at any point in a data fIow
Ports
· Ìnput/Output
· Define one or more
sort kes
· Define sort order for
each ke
Example of &sage
· Sort data before
Aggregator to improve
performance
Sort Keys
Sort Order
112
$orter Properties
Cache size can be
adjusted. Default is 8 Mb.
Ensure sufficient memor
is available on the
Ìnformatica Server (else
Session Task will fail)
Aggregator Transformation
11
ggregator Transformation
the end of this section ou will be familiar with:
asic Aggregator functionalit
Creating subtotals with the Aggregator
Aggregator expressions
Aggregator properties
&sing sorted data
11
ggregator Transformation
Ports
· Mixed Ì/O ports allowed
· Variable ports allowed
· Group allowed
Create expressions in
variable and output ports
&sage
· Standard aggregations
!erforms aggregate caIcuIations
11
ggregate pressions
Conditional Aggregate
expressions are supported: Conditional S&M format: S&M(value, condition)
Aggregate
functions are
supported onl in
the Aggregator
Transformation
11
ggregator Functions
Return summary vaIues for non-nuII data
in seIected ports
Use onIy in Aggregator transformations
Use in output ports onIy
CaIcuIate a singIe vaIue and row) for aII
records in a group
OnIy one aggregate function can be
nested within an aggregate function
ConditionaI statements can be used with
these functions
AVG
COUNT
FRST
LAST
MAX
MEDAN
MN
!ERCENTLE
STDDEV
SUM
VARANCE
11
ggregator Properties
Sorted Ìnput Propert
Set Aggregator
cache sizes for
Ìnformatica Server
machine
Ìnstructs the
Aggregator to
expect the data
to be sorted
11
$orted Data
The Aggregator can handle sorted or unsorted data
Sorted data can be aggregated more efficientl, decreasing total
processing time
The Server will cache data from each group and
release the cached data :pon reaching the first
record of the next gro:p
Data m:st be sorted according to the order of the
Aggregator's Group ports
Performance gain will depend upon varing factors
120
ggregating &nsorted Data
&nsorted
data
No rows are released from Aggregator
until all rows are aggregated
Group :
- store
- department
- date
121
ggregating $orted Data
Each separate group (one row) is released as
soon as the last row in the group is
aggregated
Group :
- store
- department
- date
Data sorted b:
- store
- department
- date
122
Data Flow Rules - Terminology
!assive transformation
· Operates on one row of data at a time AND
· Cannot change the number of rows on the data flow
· Example: Expression transformation
Active transformation
· Can operate on groups of data rows AND/OR
· Can change the number of rows on the data flow
· Examples: Aggregator, ilter, Source Qualifier
12
Data Flow Rules
Each Source Qualifier starts a single data stream (data flow)
Transformations can send rows to more than one
transformation (split one data flow into multiple pipelines)
Two or more data flows can meet onl if the originate from a
common active transformation
Example holds true with Normalizer instead of Source Qualifier.
Exceptions are: Mapplet Ìnput and sorted Joiner transformations
DSALLOWED
T T
Active
ALLOWED
T
Passive
T
oiner Transformation
12
oiner Transformation
the end of this section ou will be familiar with:
When to join in Source Qualifier and when in Joiner
transformation
Homogeneous joins
Heterogeneous joins
Joiner properties
Joiner conditions
Nested joins
12
When to oin in $ource Qualifier
S Ìf ou can perform a join on the source database, then
ou can configure it in the Source Qualifier
S The SQL that the Source Qualifier generates, default or
custom, executes on the source database at runtime
S Example: homogeneous join ÷ 2 database tables in same
database
12
When You Cannot oin in $ource Qualifier
S Ìf ou cannot perform a join on the source database, then
ou cannot configure it in the Source Qualifier
S Examples: heterogeneous joins
S An OracIe tabIe and a DB2 tabIe
A fIat fiIe and a database tabIe
Two fIat fiIes
12
oiner Transformation
Active Transformation
Ports
· All input or input / output
· "M¨ denotes port comes
from master source
Examples
· Join two flat files
· Join two tables from
different databases
· Join a flat file with a
relational table
!erforms heterogeneous joins on different data
fIows
12
oiner Conditions
Multiple join conditions are
supported
10
oiner Properties
Join tpes:
· Normal (inner)
· Master outer
· Detail outer
· ull outer
Joiner can accept sorted data (configure the join condition to use the
sort origin ports)
Set Joiner
Caches
11
Nested oins
&sed to join three or more heterogeneous sources
12
id-apping oin (&nsorted)
The unsorted Joiner does not accept input in the
following situations:
oth input pipelines begin with the same Source Qualifier
oth input pipelines begin with the same Joiner
The sorted Joiner does not have these restrictions.
1
Lab 7 - Heterogeneous oin. ggregator. and
$orter
Lookup Transformation
1
Lookup Transformation
the end of this section ou will be familiar with:
Lookup principles
Lookup properties
Lookup conditions
Lookup techniques
Caching considerations
Persistent caches
1
How a Lookup Transformation Works
or each mapping row, one or more port values are looked up in a
database table or flat file
Ìf a match is found, one or more table values are returned to the
mapping. Ìf no match is found, N&LL is returned
Lookup vaIues)
Return vaIues)
Lookup transformation
1
Lookup Transformation
Looks up vaIues in a database tabIe or fIat fiIe and
provides data to other components in a mapping
Ports
· Mixed
· "L¨ denotes Lookup port
· "R¨ denotes port used as a
return value (unconnected
Lookup onl ÷ see later)
Specif the Lookup Condition
&sage
· Get related values
· Verif if records exists or if
data has changed
1
Lookup Conditions
Multiple conditions are supported
1
Lookup Properties
Lookup
table name
Native database
connection object name
Lookup condition
Source tpe:
Database or lat ile
10
Lookup Properties cont`d
Polic on multiple
match:
· &se first value
· &se last value
· Report error
11
Lookup Caching
Caching can significantl impact performance
Cached
· Lookup table data is cached locall on the Server
· Mapping rows are looked up against the cache
· Onl one SQL SELECT is needed
&ncached
· Each Mapping row needs one SQL SELECT
Rule Of Thumb: Cache if the number (and size) of records in
the Lookup table is small relative to the number of mapping
rows requiring the lookup
12
Persistent Caches
default, Lookup caches are not persistent; when the
session completes, the cache is erased
Cache can be made persistent with the Lookup properties
When Session completes, the persistent cache is stored
on the server hard disk
The next time Session runs, cached data is loaded full or
partiall into RAM and reused
A named persistent cache ma be shared b different
sessions
Can improve performance, but "stale¨ data ma pose a
problem
1
Lookup Caching Properties
Override Lookup
SQL option
Cache
director
Toggle
caching
1
Lookup Caching Properties (cont`d)
Set Lookup
cache sizes
Make cache
persistent
Set prefix for
persistent cache
file name
Reload
persistent
cache
1
Lab 8 - Basic Lookup
Target Options
1
Target Options
the end of this section ou will be familiar with:
Default target load tpe
Target properties
&pdate override
Constraint-based loading
1
$etting Default Target Load Type
Set Target Load Tpe default
Workflow Manager, Tools | Options
Normal or ulk (client choice)
Override the default in session
target properties
1
Target Properties
Session Task
Select target
instance
Row loading
operations
Error handling
Edit Tasks: Mappings Tab
Target load tpe
10
WHR Clause for &pdate and Delete
PowerCenter uses the primar kes defined in the
Warehouse Designer to determine the appropriate SQL
WHERE clause for updates and deletes
&pdate SQL
· &PDATE <target> SET <col> = <value>
WHERE <primar ke> = <pkvalue>
· The onl columns updated are those which have values linked
to them
· All other columns in the target are unchanged
· The WHERE clause can be overridden via &pdate Override
Delete SQL
· DELETE from <target> WHERE <primar ke> = <pkvalue>
SQL statement used will appear in the Session log file
11
Constraint-based Loading
PK1
K1 PK2
K2
To maintain referential integrit, primar kes must
be loaded before their corresponding foreign kes ÷
here in the order Target1, Target2, Target 3
12
$etting Constraint-based Loading
1
Constraint-based Loading - Terminology
Active transformation
· Can operate on groups of data rows and/or
can change the number of rows on the data flow
· Examples: Source Qualifier, Aggregator, Joiner, Sorter, ilter
Active source
· Active transformation that generates rows
· Cannot match an output row with a distinct input row
· Examples: Source Qualifier, Aggregator, Joiner, Sorter
· (The ilter is NOT an active source)
Active group
· Group of targets in a mapping being fed b the same active
source
1
Constraint-Based Loading - Restrictions
Cannot have two active groups
Example 1
With onl one Active source,
rows for Targets1, 2, and 3 will
be loaded properl and maintain
referential integrit
PK1
K1
PK2
K2
Example 2
With two Active sources, it is not
possible to control whether rows
for Target3 will be loaded before
or after those for Target2
PK1
K1
PK2
K2
1
Lab 9 - Deleting Rows
Update Strategy
Transformation
1
&pdate $trategy Transformation
Used to specify how each individuaI row wiII be used to
update target tabIes insert, update, deIete, reject)
Ports
· All input / output
· Specif the &pdate
Strateg Expression ÷
ÌÌ or DECODE logic
determines how to
handle the record
Example
· &pdating Slowl
Changing Dimensions
1
&pdate $trategy pressions
ÌÌ ( score > 69, DD_ÌNSERT, DD_DELETE )
Expression is evaluated for each row
Rows are "tagged¨ according to the logic of the
expression
Appropriate SQL (DML) is submitted to the target
database: insert, delete or update
DD_REJECT means the row will not have SQL written
for it. Target will not "see¨ that row
"Rejected¨ rows ma be forwarded through Mapping
1
Lab 10 - Data Driven Operations
10
Lab 11 - Incremental &pdate
11
Lab 12 - Features and Techniques II
Router Transformation
1
Router Transformation
Rows sent to muItipIe fiIter conditions
Ports
· All input/output
· Specif filter conditions
for each Group
&sage
· Link source data in
one pass to multiple
filter conditions
1
Router Groups
Ìnput group (alwas one)
&ser-defined groups
Each group has one condition
ALL group conditions are evaluated
for EACH row
One row can pass multiple
conditions
&nlinked Group outputs
are ignored
Default group (alwas one) can
capture rows that fail all Group
conditions
1
Router Transformation in a apping
1
Lab 13 - Router
Sequence Generator
Transformation
1
$equence Generator Transformation
Generates unique keys for any port on a row
Ports
· Two predefined output
ports, NEXTVAL and
C&RRVAL
· No input ports allowed
&sage
· Generate sequence
numbers
· Shareable across mappings
1
$equence Generator Properties
Number of
cached values
Mapping !arameters and
VariabIes
11
apping Parameters and Variables
the end of this section ou will understand:
Sstem variables
Mapping parameters and variables
Parameter files
12
$ystem Variables
SESSSTARTTME
$$$SessStartTime
Returns the sstem date value on the
Ìnformatica Server
· &sed with an function that accepts
transformation date/time datatpes
· Not to be used in a SQL override
· Has a constant value
Returns the sstem date value as a
string. &ses sstem clock on machine
hosting Ìnformatica Server
· ormat of the string is database tpe
dependent
· &sed in SQL override
· Has a constant value
SYSDATE
Provides current datetime on the
Ìnformatica Server machine
· Not a static value
1
apping Parameters and Variables
Appl to all transformations within one Mapping
Represent declared values
Variables can change in value during run-time
Parameters remain constant during run-time
Provide increased development flexibilit
Defined in Mapping menu
ormat is $$'ariableName or $$ParameterName
Can be used in pre and post-SQL
1
apping Parameters and Variables
Sample declarations
Declare Mapping Variables and Parameters
in the Designer Mappings/Mapplets menu
Set
aggregation
tpe
Set optional
initial value
&ser-defined
names
Set datatpe
1
apping Parameters and Variables
Appl parameters or variables in formula
1
Functions to $et apping Variables
SETMAXVARIABLE($$Variablevalue
Sets the specified variable to the higher of the current
value or the specified value
SETMINVARIABLE($$Variablevalue
Sets the specified variable to the lower of of the
current value or the specified value
SETVARIABLE($$Variablevalue
Sets the specified variable to the specified value
SETCOUNTVARIABLE($$Variable
Ìncreases or decreases the specified variable b the
number of rows leaving the function(+1 for each
inserted row, -1 for each deleted row, no change for
updated or rejected rows)
1
Parameter Files
ou can specif a parameter
file for a session in the
session editor
Parameter file contains folder.session name and initializes
each parameter and variable for that session. or example:
[Production.s_m_MonthlyCalculations]
$$State=MA
$$Time=10/1/2000 00:00:00
$InputFile1=sales.txt
$DBConnection_target=sales
$PMSessionLogFile=D:/session logs/firstrun.txt
1
Parameters & Variables - Initialization Priority
1. !arameter fiIe
2. Repository vaIue
. DecIared initiaI vaIue
. DefauIt vaIue
Unconnected Lookups
10
&nconnected Lookups
the end of this section ou will know:
&nconnected Lookup technique
&nconnected Lookup functionalit
Difference from Connected Lookup
11
&nconnected Lookup
Phsicall unconnected from other transformations NO data flow
arrows leading to or from an unconnected Lookup
Lookup data is called from the point in the Mapping that needs it
Lookup function can be set within an transformation that supports
expressions
Function in the Aggregator
caIIs the unconnected Lookup
12
&nconnected Lookup Technique
Condition is evaluated for each row but Lookup function
is called onl if condition satisfied
F SNULLcustomer_id),:Ikp.MYLOOKU!order_no))
ondi9ion
Lookup func9ion
Row k08
(p,880d 9o Lookup)
&se lookup lookup function within a conditional statement
1
&nconnected Lookup dvantage
Data lookup is performed only for those rows which
require it. Substantial performance can be gained
EXAMPLE: A Mapping will process 500,000 rows. or two
percent of those rows (10,000) the item_id value is N&LL.
Ìtem_ÌD can be derived from the SK&_N&M.
Net savings = 0,000 Iookups
F SNULLitem_id), :Ikp.MYLOOKU! sku_numb))
ondi9ion
(9ru0 for 2 percent of aII rows)
Lookup
caIIed onIy when condition is true)
1
&nconnected Lookup Functionality
ne Lookup port value ma be returned for each Lookup
Must check a
Return port in the
Ports tab, else
fails at runtime
1
Connected versus &nconnected Lookups

CONNECTED LOOKU! UNCONNECTED LOOKU!
!art of the mapping data fIow Separate from the mapping data
fIow
Returns muItipIe vaIues by
Iinking output ports to another
transformation)
Returns one vaIue - by checking
the Return R) port option for the
output port that provides the
return vaIue
Executed for every record
passing through the
transformation
OnIy executed when the Iookup
function is caIIed
More visibIe, shows where the
Iookup vaIues are used
Less visibIe, as the Iookup is
caIIed from an expression within
another transformation
DefauIt vaIues are used DefauIt vaIues are ignored

1
Lab 14 - $traight Load
1
Lab 15 - Conditional Lookup
Heterogeneous Targets
1
Heterogeneous Targets
the end of this section ou will be familiar with:
Heterogeneous target tpes
Heterogeneous target limitations
Target conversions
10
Definition: Heterogeneous Targets
Supported target definition tpes:
Relational database
lat file
XML
Targets supported b PowerCenter Connects
Heterogeneous targets are targets within a single
Session Task that have different tpes or have different
database connections
11
$tep One: Identify Different Target Types
OracIe tabIe
FIat fiIe
OracIe tabIe
Tables are EÌTHER in two
different databases, or
require different (schema-
specific) connect strings
One target is a flat file load
12
$tep Two: Different Database Connections
The two database
connections are
different
lat file requires
separate location
information
1
Target Type Override (Conversion)
Example: Mapping has SQL Server target definitions.
Session Task can be set to load Oracle tables instead,
using an Oracle database connection.
The following overrides are supported:
Relational target to flat file target
Relational target to an other relational database tpe
CA&TÌON: Ìf target definition datatpes are not compatible with datatpes in
newl selected database tpe, modif the target definition
1
Lab 16 - Heterogeneous Targets
MappIets
1
applets
the end of this section ou will be familiar with:
Mapplet Designer
Mapplet advantages
Mapplet tpes
Mapplet rules
Active and Passive Mapplets
Mapplet Parameters and Variables
1
applet Designer
MappIet
nput and Output
Transformation
cons
MappIet Output
Transformation
MappIet Designer TooI
1
applet dvantages
&seful for repetitive tasks / logic
Represents a set of transformations
Mapplets are reusable
&se an 'instance' of a Mapplet in a Mapping
Changes to a Mapplet are inherited b all instances
Server expands the Mapplet at runtime
1
applet &sed in a apping
200
The ~Detail¨ Inside the applet
201
&nsupported Transformations
Do not use the following in a mapplet:
XML source definitions
Target definitions
Other mapplets
202
applet $ource Options
Ìnternal Sources
· One or more Source definitions / Source Qualifiers
within the Mapplet
External Sources
Mapplet contains a Mapplet Ìnput transformation
· Receives data from the Mapping it is used in
Mixed Sources
· Mapplet contains one or more of either of a Mapplet
Ìnput transformation AND one or more Source Qualifiers
· Receives data from the Mapping it is used in, AND from
the Mapplet
20
Use for data sources outside a MappIet
applet Input Transformation
Passive Transformation
Connected
Ports
· Output ports onl
&sage
Onl those ports
connected from an
Ìnput transformation
to another
transformation
will displa in the
resulting Mapplet
· Connecting the
same port to more
than one
transformation is
disaIIowed
· !ass to an
Expression
transformation
first
Transformation
Transformation
20
Data $ource :98/0 a applet
· Resulting Mapplet HAS
input ports
· When used in a Mapping,
the Mapplet ma occur at
an point in mid-flow
Source data is defined
O&TSÌDE the Mapplet logic
MappIet
Mapplet Ìnput
Transformation
20
Data $ource 38/0 a applet
· Resulting Mapplet has no
input ports
· When used in a Mapping,
the Mapplet is the first
object in the data flow
MappIet
· No Ìnput transformation
is required (or allowed)
· &se a Source Qualifier
instead
Source
QuaIifier
Source data is defined
WÌTHÌN the Mapplet logic
20
applet Output Transformation
Passive Transformation
Connected
Ports
· Ìnput ports onl
&sage
· Onl those ports connected to
an Output transformation (from
another transformation) will
displa in the resulting Mapplet
· One (or more) Mapplet Output
transformations are required in
ever Mapplet
Use to contain the resuIts of a MappIet pipeIine. MuItipIe
Output transformations are aIIowed.
20
applet with ultiple Output Groups
Can output to muItipIe instances of the same target tabIe
20
&nmapped applet Output Groups
W,rning: An unIinked
MappIet Output Group
may invaIidate the
mapping
20
ctive and Passive applets
Passive Mapplets contain onl passive transformations
Active Mapplets contain one or more active
transformations
CA&TÌON: Changing a passive Mapplet into an active Mapplet
ma invalidate Mappings which use that Mapplet ÷ so do an impact
analsis in Repositor Manager first
210
&sing ctive and Passive applets
MuItipIe !assive
MappIets can popuIate
the same target
instance
MuItipIe Active MappIets
or Active and !assive
MappIets cannot
popuIate the same
target instance
Active
Passive
211
applet Parameters and Variables
S Same idea as mapping parameters and variables
S Defined under the
MappIets | !arameters and VariabIes
menu option
S A parameter or variable defined in a mapplet is not
visible in an parent mapping
S A parameter or variable defined in a mapping is not
visible in an child mapplet
212
Lab 17 - applets
ReusabIe Transformations
21
Reusable Transformations
the end of this section ou will be familiar with:
Transformation Developer
Reusable transformation rules
Promoting transformations to reusable
Coping reusable transformations
21
Transformation Developer
ReusabIe
transformations
Make a
transformation
reusabIe from
the outset,
or
test it in a
mapping first
21
Reusable Transformations
Define once, reuse man times
Reusable Transformations
· Can be a cop or a shortcut
· Edit Ports onl in Transformation Developer
· Can edit Properties in the mapping
· Ìnstances dnamicall inherit changes
· Caution: changing reusable transformations can invalidate
mappings
Note: Source Qualifier transformations c,nno9 be made reusable
21
Promoting a Transformation to Reusable
Check the
Make reusable box
(irreversible)
21
Copying Reusable Transformations
This cop action must be done within the same folder
1. Hold down Ctrl ke and drag a Reusable transformation from
the Navigator window into a mapping (Mapping Designer tool)
2. A message appears in the status bar:
3. Drop the transformation into the mapping
4. Save the changes to the Repositor
21
Lab 18 - Reusable Transformations
Session-LeveI Error Logging
221
rror Logging Objectives
the end of this section, ou will be familiar with:
S Setting error logging options
S How data rejects and transformation errors are
handled with logging on and off
S How to log errors to a flat file or relational table
S When and how to use source row logging
222
rror Types
S Transformation error
Data row has onl passed partwa through the mapping
transformation logic
An error occurs within a transformation
S Data reject
Data row is full transformed according to the mapping
logic
Due to a data issue, it cannot be written to the target
A data reject can be forced b an &pdate Strateg
22
rror Logging Off/On
Error Type Logging OFF (Default) Logging ON
Transformation
errors
Written to session log
then discarded
Appended to flat file or
relational tables. Onl
fatal errors written to
session log.
Data rejects Appended to reject file
(one .bad file per target)
Written to row error
tables or file
22
$etting rror Log Options
Ìn Session task
Log Row Data
Log Source Row Data
Error Log Tpe
22
rror Logging Off - $pecifying Reject Files
Ìn Session task
1 file per target
22
rror Logging Off - Transformation rrors
X
X
Transformation Error
Details and data are written to session log
Data row is discarded
Ìf data flows concatenated, corresponding rows in parallel
flow are also discarded
22
rror Logging Off - Data Rejects
Conditions causing data to be rejected include:
· Target database constraint violations, out-of-space errors, log
space errors, null values not accepted
· Data-driven records, containing value '3' or DD_REJECT
(the reject has been forced b an &pdate Strateg)
· Target table properties 'reject truncated/overflowed rows'
0,D,1313,D,Regulator Sstem,D,Air Regulators,D,250.00,D,150.00,D
1,D,1314,D,Second Stage Regulator,D,Air Regulators,D,365.00,D,265.00,D
2,D,1390,D,irst Stage Regulator,D,Air Regulators,D,170.00,D,70.00,D
3,D,2341,D,Depth/Pressure Gauge,D,Small Ìnstruments,D,105.00,D,5.00,D
Sample reject file
Ìndicator describes preceding column value
D=Data, O=Overflow, N=Null or T=Truncated
irst column:
0=ÌNSERT F
1=&PDATEF
2=DELETE F
3=REJECT F
22
Log Row Data
Logs:
Session metadata
Reader, transformation, writer and user-defined errors
or errors on input, logs row data for and ports
or errors on output, logs row data for and ports
22
Logging rrors to a Relational Database 1
ReIationaI Database
Log Settings
20
Logging rrors to a Relational Database 2
!MERR_SESS: Stores metadata about the session run
such as workflow name, session name, repositor name
etc
!MERR_MSG: Error messages for a row of data are
logged in this table
!MERR_TRANS: Metadata about the transformation such
as transformation group name, source name, port names
with datatpes are logged in this table
!MERR_DATA: The row data of the error row as well as
the source row data is logged here. The row data is in a
string format such as [indicator1: data1 | indicator2: data2]
21
rror Logging to a Flat File 1
FIat FiIe Log
Settings DefauIts
shown)
Creates deIimited FIat FiIe with || as coIumn deIimiter
22
Logging rrors to a Flat File 2
Format: Session metadata foIIowed by de-normaIized error information
SampIe session metadata
······································································
Repository GID: 510e6f02-8733-11d7-9db7-00e01823c14d
Repository: RowErrorLogging
Folder: ErrorLogging
Workflow: w_unitTests
Session: s_customers
Mapping: m_customers
Workflow Run ID: 6079
Worklet Run ID: 0
Session Instance ID: 806
Session Start Time: 10/19/2003 11:24:16
Session Start Time (UTC): 1066587856
······································································
Row data format
Transformation || Transformation Mapplet Name || Transformation Group || Partition
ndex || Transformation Row || Error Sequence || Error Timestamp || Error UTC
Time || Error Code || Error Message || Error Type || Transformation ata || Source
Mapplet Name || Source Name || Source Row || Source Row Type || Source ata
2
Log $ource Row Data 1
Separate checkbox in session task
Logs the source row associated with the error row
Logs metadata about source, e.g. Source Qualifier,
source row id, and source row tpe
2
Log $ource Row Data 2
Source row Iogging
avaiIabIe
Source row Iogging
not avaiIabIe
Source row logging is not available downstream of an
Aggregator, Joiner, Sorter (where output rows are not
uniquel correlated with input rows)
WorkfIow Configuration
2
Workflow Configuration Objectives
By the end of this section, you wiII be abIe to create:
WorkfIow Server Connections
ReusabIe ScheduIes
ReusabIe Session Configurations
2
Workflow $erver Connections
2
Workflow $erver Connections
Configure Server data access connections in the Workflow Manager
&sed in Session Tasks
Native Databases)
MQ Series)
Custom)
ExternaI Database Loaders)
FiIe Transfer !rotocoI fiIe)
2
Relational Connections (Native )
Create a relational [database] connection
Ìnstructions to the Server to locate relational tables
&sed in Session Tasks
20
Relational Connection Properties
Define native
relational database
connection
OptionaI Environment SQL
executed with each use of
database connection)
User Name/!assword
Database connectivity
information
RoIIback Segment
assignment optionaI)
21
FTP Connection
Create an TP connection
Ìnstructions to the Server to ftp flat files
&sed in Session Tasks
22
ternal Loader Connection
Create an External Loader connection
Ìnstructs the Server to invoke an external database loader
&sed in Session Tasks
2
Reusable Workflow $chedules
2
Set up reusabIe scheduIes to associate with muItipIe WorkfIows
Defined at folder level
Must have the Workflow Designer tool open
Reusable Workflow $chedules
2
Reusable Workflow $chedules
2
Reusable $ession Configurations
2
$ession Configuration
S Define properties to be reusabIe across different
sessions
S Defined at foIder IeveI
S Must have one of these tooIs
open in order to access
2
$ession Configuration (cont`d)
Available from menu or
Task toolbar
2
$ession Configuration (cont`d)
20
$ession Task - Config Object
Within Session task properties, choose desired
configuration
21
$ession Task - Config Object ttributes
Attributes
ma be
overridden
within the
Session task
ReusabIe Tasks
2
Reusable Tasks
Three types of reusabIe Tasks
Session Set of instructions
to execute a specific
Mapping
Command Specific shell
commands to run during
an Workflow
Email Sends email during
the Workflow
2
Reusable Tasks
&se the %ask Developer to
create reusable tasks
These tasks will then appear
in the Navigator and can be
dragged and dropped into
an workflow
2
Reusable Tasks in a Workflow
S n a workfIow, a reusabIe task is represented
with the symboI
Reusable
Non-reusable
2
Command Task
Specify one or more Unix sheII or DOS commands to
run during the WorkfIow
Runs in the Ìnformatica Server (&NÌX or Windows)
environment
Command task status successfuI compIetion or
faiIure) is heId in the pre-defined task variabIe
$command_task_name.STATUS
Each Command Task sheII command can execute
before the Session begins or after the nformatica
Server executes a Session
2
Command Task
Specif one (or more) &nix shell or DOS (NT, Win2000)
commands to run at a specific point in the workflow
ecomes a component of a workflow (or worklet)
Ìf created in the Task Developer, the Command task is
reusable
Ìf created in the Workflow Designer, the Command task is
not reusable
Commands can also be invoked under the omponents
tab of a Session task to run pre- or post-session
2
Command Task (cont`d)
2
Command Task (cont`d)
Add Cmd
Remove Cmd
20
mail Task
Configure to have the Ìnformatica Server to send email
at an point in the Workflow
ecomes a component in a Workflow (or Worklet)
Ìf configured in the Task Developer, the Email Task is
reusable (optional)
Emails can also be invoked under the omponents tab
of a Session task to run pre- or post-session
21
mail Task (cont`d)
22
Lab 19 - $equential Workflow and rror
Logging
2
Lab 20 - Command Task
Non-ReusabIe Tasks
2
Non-Reusable Tasks
Six additionaI Tasks are avaiIabIe in the
WorkfIow Designer
Decision
Assignment
Timer
Control
Event Wait
Event Raise
2
Decision Task
Specifies a condition to be evaIuated in the WorkfIow
Use the Decision Task in branches of a WorkfIow
Use Iink conditions downstream to controI execution fIow by
testing the Decision resuIt
2
ssignment Task
Assigns a vaIue to a WorkfIow VariabIe
VariabIes are defined in the WorkfIow object
Expressions Tab
GeneraI Tab
2
Timer Task
Waits for a specified period of time to execute the
next Task
GeneraI Tab
· Absolute Time
· Datetime Variable
· Relative Time
Timer Tab
2
Control Task
Stop or ABORT the WorkfIow
GeneraI
Tab
!roperties Tab
20
vent Wait Task
!auses processing of the pipeIine untiI a
specified event occurs
Events can be:
Pre-defined ÷ file watch
&ser-defined ÷ created b an Event Raise task elsewhere in
the workflow
21
vent Wait Task (cont`d)
GeneraI Tab
!roperties Tab
22
vent Wait Task (cont`d)
Events Tab
User-defined event configured
in the WorkfIow object
2
vent Raise Task
Represents the location of a user-defined event
The Event Raise Task triggers the user-defined event when the
Ìnformatica Server executes the Event Raise Task
&sed with the Event Wait Task
GeneraI Tab !roperties Tab
WorkIets
2
Worklets
An object representing a set or grouping of Tasks
Can contain any Task avaiIabIe in the WorkfIow
Manager
WorkIets expand and execute inside a WorkfIow
A WorkfIow which contains a WorkIet is caIIed the
"parent WorkfIow"
WorkIets CAN be nested
ReusabIe WorkIets create in the WorkIet Designer
Non-reusabIe WorkIets create in the WorkfIow
Designer
2
Re-usable Worklet
Ìn the Worklet Designer, select Worklets | Create
Tasks in a WorkIet
WorkIets
Node
2
&sing a Reusable Worklet in a Workflow
WorkIet
used in a
WorkfIow
2
Non-Reusable Worklet
1. Create workIet task in
WorkfIow Designer
2. Right-cIick on new workIet
and seIect Open WorkIet
. Workspace switches to
WorkIet Designer
NOTE: WorkIet
shows onIy under
WorkfIows node
2
Lab 21 - Reusable Worklet and Decision Task
20
Lab 22 - vent Wait with Pre-Defined vent
21
Lab 23 - &ser-Defined vent. vent Raise.
and vent Wait
22
!arameters and VariabIes
Review
2
Types of Parameters and Variables
TY!E HOW DEFNED WHERE USED EXAM!LES
Mapping/
MappIet
VariabIes
Mapping/mappIet
properties. Reset by
variabIe functions.
Transformation port
expressions
$$LastUpdateTime
$$MaxVaIue
Mapping/
MappIet
!arameters
Mapping/mappIet
properties. Constant
for session.
Transformation port
expressions
$$FixedCosts
$$DiscountRate
System
VariabIes
BuiIt-in, pre-defined. Transformation port
expressions,
WorkfIow decision
tasks and
conditionaI Iinks.
SYSDATE
SESSSTARTME
WORKFLOWSTARTTME
Task
VariabIes
BuiIt-in, pre-defined. WorkfIow decision
tasks and
conditionaI Iinks
$session1. Status
$session1.ErrorCode
WorkfIow/
WorkIet
VariabIes
WorkfIow or workIet
properties. Reset in
Assignment tasks.
WorkfIow decision
tasks and
conditionaI Iinks
$$NewStartTime
Session
!arameters
!arameter fiIe.
Constant for session.
Session properties $DBConnectionORCL
$nputFiIe1
Mappings
& MappIets
WorkfIows
& WorkIets
2
!owerCenter .1 Options and
Data Access !roducts
2
PowerCenter 7.1 Options
!owerCenter !owerCenter
ReaI ReaI- -Time/Web Services Time/Web Services
L Engine, alwas-on non-stop sessions, JMS
connectivit, and real-time Web Services provider
Data CIeansing Data CIeansing
Name and address cleansing functionalit, including
directories for &S and certain international countries
!artitioning !artitioning
Data smart parallelism, pipeline and data parallelism,
partitioning
Server engine, metadata repositor, unlimited designers,
workflow scheduler, all APÌs and SDKs, unlimited XML and
flat file sourcing and targeting, object export to XML file,
LDAP authentication, role-based object-level securit,
metadata reporter, centralized monitoring
Server group management, automatic workflow distribution
across multiple heterogeneous servers
Server Grid Server Grid
Profile wizards, rules definitions, profile results tables,
and standard reports
Data !rofiIing Data !rofiIing
Version control, deploment groups, configuration
management, automatic promotion
Team Team- -Based DeveIopment Based DeveIopment
Allows export/import of metadata to or from business
intelligence tools like usiness Objects and Cognos
Metadata Exchange with B Metadata Exchange with B
2
Virtual Classes
Watch for short web-based virtual
classes on most PowerCenter
options and XML support

2
Data ccess - Powerchange
S Provides access to all critical enterprise data sstems,
including mainframe, midrange relational databases,
and file-based sstems
S Offers batch, change capture and real-time options
S PowerExchange 5.2 provides tight integration with
PowerCenter 7.1.1 through the PowerExchange Client
for PowerCenter
Supporting VSAM, ÌMS, D2 (OS/390, AS/400), Oracle, ODC
2
Data ccess - PowerCenter Connect
PowerCenter Connect options are currentl available for:
Transactional Applications
Hperion Essbase
PeopleSoft
SAP R/3
SAP W
SAS
Siebel
Real-time Services
HTTP
JMS
MSMQ
MQSeries
TÌCO
WebMethods
Web Services
PowerCenter Connect SDK
Allows development of new PowerCenter Connect products
Available on the Ìnformatica Developer Network
2

Sign up to vote on this title
UsefulNot useful