Upload
dharbab
View
105
Download
0
Tags:
Embed Size (px)
DESCRIPTION
in
Citation preview
1
Informatica PowerCenter 7 Level I Developer
Education ServicesVersion PC7LID-20050301
Informatica Corporation, 2003 - 2004. All rights reserved.
Introduction
3
By the end of this course you will:
Understand how to use the major PowerCenter components for development
Be able to build basic ETL mappings and mapplets*
Be able to create, run and monitor workflows
Understand available options for loading target data
Be 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
4
Founded in 1993
Leader in enterprise solution products
Headquarters in Redwood City, CA
Public company since April 1999 (INFA)
2000+ customers, including over 80% of Fortune 100
Strategic partnerships with IBM, HP, Accenture, SAP, and many others
Worldwide distributorship
About Informatica
5
Informatica Products
PowerCenter ETL – batch and real-time data integration
PowerAnalyzer BI reporting – web-browser interface with reports, dashboards, indicators, alerts; handles real-time metrics
SuperGlue* Centralized metadata browsing cross-enterprise, including PowerCenter, PowerAnalyzer, DBMS, BI tools, and data modeling tools
PowerExchange Data access to mainframe, mid-size system and complex files
PowerCenter Connect products
Data access to transactional applications and real-time services
* Uses PowerCenter to extract metadata and PowerAnalyzer to display reports
6
www.informatica.com – provides information (under Services) on:• Professional Services• Education Services
my.informatica.com – sign up to access:• Technical Support• Product documentation (under Tools – online documentation)• Velocity Methodology (under Services)• Knowledgebase• Webzine• Mapping templates
devnet.informatica.com – sign up for Informatica Developers Network• Discussion forums• Web seminars• Technical papers
Informatica Resources
7
Informatica 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 plus• Exam E: Enablement Technologies
For more information and to register to take an exam:http://www.informatica.com/services/Education+Services/Professional+Certification/
Informatica Professional Certification
8
Extract, Transform and Load
• Transaction level data• Optimized for transaction
response time• Current• Normalized or
De-normalized data
Operational Systems
Mainframe RDBMS Other
• Aggregated data
• Historical data
Decision Support
Data
Warehouse
ETL Load
Transform
Extract
• Aggregate data• Cleanse data• Consolidate data• Apply business rules• De-normalize data
9
PowerCenter Client Tools
Repository Designer Workflow Workflow Rep Server Manager Manager Monitor Administration Console
Manage repository:• Connections• Folders• Objects• Users and groups
Administer repositories on a Repository Server:• Create/upgrade/delete• Configuration• Start/stop• Backup/restore
Build ETL mappings
Build and start workflows to run mappings
Monitor and start workflows
10
PowerCenter 7 Architecture
Not Shown: Client ODBC connections from Designer to sources and targets for metadata
TargetsSources
Native Native
TCP/IP
HeterogeneousTargets
Repository
RepositoryServer
RepositoryAgent
TCP/IP
Native
Informatica Server
HeterogeneousSources
Repository Designer Workflow Workflow Rep Server Manager Manager Monitor Administrative Console
11
Distributed Architecture and Platforms
The following components can be distributed across a network of host computers: Clients Tools PowerCenter Servers Repository Servers Repository Databases Sources and Targets
Platforms: Client tools run on Windows Servers run on AIX, HP-UX, Solaris, Redhat Linux, Windows Repositories on any major RDBMS
12
Design and Execution 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 verify the results
13
Demonstration
Source Object Definitions
15
Source Object Definitions
By the end of this section you will:
Be familiar with the Designer interface
Be familiar with Source Types
Be able to create Source Definitions
Understand Source Definition properties
Be able to use the Data Preview option
16
Import from: Relational database Flat file XML object
Create manually
Methods of Analyzing Sources
Source Analyzer
Repository
RepositoryServer
Repository AgentTCP/IP
DEF
Native
17
Analyzing Relational Database Sources
• Table• View• Synonym
Relational DB Source
DEF
Source Analyzer
ODBC
Repository
RepositoryServer
Repository AgentTCP/IP
DEF
Native
18
Analyzing Relational Database Sources
Editing Source Definition Properties
19
Analyzing Flat File Sources
• Mapped Drive• NFS Mount• Local Directory DEF
• Fixed Width• Delimited
Flat FileSource Analyzer
Repository
RepositoryServer
Repository AgentTCP/IP
DEF
Native
20
Flat File Wizard
Three-step wizard
Columns can be renamed within wizard
Text, Numeric and Datetime datatypes are supported
Wizard ‘guesses’ datatype
21
Flat File Source Properties
22
Analyzing XML Sources
DEF
XML Schema (XSD), DTD or XML File
DATA
Source Analyzer
Repository
RepositoryServer
Repository AgentTCP/IP
DEF
Native
• Mapped Drive• NFS Mounting• Local Directory
23
Data Previewer
Preview data in• Relational database sources• Flat file sources• Relational database targets• Flat file targets
Data Preview Option is available in• Source Analyzer • Warehouse Designer • Mapping Designer • Mapplet Designer
24
Using Data Previewer in Source Analyzer
Data Preview ExampleFrom Source Analyzer,select Source drop downmenu, then Preview Data
Enter connection informationin the dialog box
A right mouse click on the object can also be used to preview data
25
Using Data Previewer in Source Analyzer
Data Preview Results
Data Display
View up to 500 rows
26
Metadata Extensions
Allows developers and partners to extend the metadata stored in the Repository
Metadata extensions can be:• User-defined – PowerCenter users can define and create
their own metadata
• Vendor-defined – Third-party application vendor-created metadata lists
• For example, applications such as Ariba or PowerCenter Connect for Siebel can add information such as contacts, version, etc.
27
Metadata Extensions
Can be reusable or non-reusable
Can promote non-reusable metadata extensions to reusable; this is irreversible (except by Administrator)
Reusable metadata extensions are associated with all repository objects of that object type
A non-reusable metadata extensions is associated with a single repository object
• Administrator or Super User privileges are required for managing reusable metadata extensions
28
Example – Metadata Extension for a Source
Sample User Defined Metadata, e.g. contact information, business user
Target Object Definitions
30
Target Object Definitions
By the end of this section you will:
Be familiar with Target Definition types
Know the supported methods of creating Target Definitions
Understand individual Target Definition properties
31
Creating Target Definitions
Methods of creating Target Definitions
Import from relational database
Import from XML object
Create automatically from a source definition
Create manually (flat file or relational database)
32
Import Definition from Relational Database
Can obtain existing object definitions from a database system catalog or data dictionary
•Table•View•Synonym
Warehouse Designer
Relational DB
DEF
ODBC
Repository
RepositoryServer
Repository AgentTCP/IP
DEF
Native
33
Import Definition from XML Object
Can infer existing object definitions from a database system catalog or data dictionary
Warehouse Designer
Repository
RepositoryServer
Repository AgentTCP/IP
DEF
Native
DEF
DTD, XML Schema or XML File
DATA
• Mapped Drive• NFS Mounting• Local Directory
34
Creating Target Automatically from Source
Drag-and-drop a Source Definition into the Warehouse Designer Workspace
35
Target Definition Properties
36
Lab 1 – Define Sources and Targets
Mappings
38
Mappings
By the end of this section you will be familiar with:
The Mapping Designer interface
Transformation objects and views
Source Qualifier transformation
The Expression transformation
Mapping validation
39
Mapping Designer
Iconized Mapping
Mapping List
Transformation Toolbar
40
Transformations Objects Used in This Class
Source Qualifier: reads data from flat file & relational sources
Expression: performs row-level calculations
Filter: drops rows conditionally
Sorter: sorts data
Aggregator: performs aggregate calculations
Joiner: joins heterogeneous sources
Lookup: looks up values and passes them to other objects
Update Strategy: tags rows for insert, update, delete, reject
Router: splits rows conditionally
Sequence Generator: generates unique ID values
41
Other Transformation Objects
Normalizer: normalizes records from relational or VSAM sources
Rank: filters the top or bottom range of records
Union: 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
42
Transformation Views
A transformation has three views:
Iconized – 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
43
Source Qualifier Transformation
Ports• All input/output
Usage• Convert datatypes• For relational sources:
Modify SQL statement User Defined Join Source Filter Sorted ports Select DISTINCT Pre/Post SQL
Represents the source record set queried by the Server. Mandatory in Mappings using relational or flat file sources
44
Source Qualifier Properties
User can modify SQL SELECT statement (DB sources)
Source Qualifier can join homogenous tables
User can modify WHERE clause
User can modify join statement
User can specify ORDER BY (manually or automatically)
Pre- and post-SQL can be provided
SQL properties do not apply to flat file sources
45
Pre-SQL and Post-SQL Rules
Can use any command that is valid for the database type; no nested comments
Use a semi-colon (;) to separate multiple statements
Informatica 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 (\)
46
Expression Transformation
Ports• Mixed• Variables allowed
Create expression in an output or variable port
Usage• Perform majority of
data manipulation
Perform calculations using non-aggregate functions (row level)
Click here to invoke the Expression Editor
47
Expression Editor
An expression formula is a calculation or conditional statement for a specific port in a transformation
Performs calculation based on ports, functions, operators, variables, constants and return values from other transformations
48
Expression 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 syntactical errors
49
Character Functions
Used to manipulate character data
CHRCODE returns the numeric value (ASCII or Unicode) of the first character of the string passed to this function
CONCAT is for backward compatibility only. Use || instead
ASCIICHRCHRCODECONCATINITCAPINSTRLENGTHLOWERLPADLTRIMREPLACECHRREPLACESTRRPADRTRIMSUBSTRUPPER
Informatica Functions – Character
50
TO_CHAR (numeric)TO_DATETO_DECIMALTO_FLOATTO_INTEGER
Informatica Functions – Conversion
Conversion Functions
Used to convert datatypes
51
Informatica Functions – Data Cleansing
INSTRIS_DATEIS_NUMBERIS_SPACESISNULLLTRIMMETAPHONEREPLACECHRREPLACESTRRTRIMSOUNDEXSUBSTRTO_CHAR TO_DATETO_DECIMALTO_FLOATTO_INTEGER
Used to process data during data cleansing
METAPHONE and SOUNDEX create indexes based on English pronunciation (2 different standards)
52
Date Functions
Used 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 datatype
ADD_TO_DATEDATE_COMPAREDATE_DIFFGET_DATE_PARTLAST_DAYROUND (Date)SET_DATE_PARTTO_CHAR (Date)TRUNC (Date)
Informatica Functions – Date
53
Numerical Functions
Used to perform mathematical operations on numeric data
ABSCEILCUMEEXPFLOORLNLOGMODMOVINGAVGMOVINGSUMPOWERROUNDSIGNSQRTTRUNC
COSCOSHSINSINHTANTANH
Scientific Functions
Used to calculate geometric values of numeric data
Informatica Functions – Numerical and Scientific
54
Informatica Functions – Special and Test
ABORTDECODEERRORIIFLOOKUP
IIF(Condition,True,False)
IS_DATEIS_NUMBERIS_SPACESISNULL
Test Functions
Used to test if a lookup result is null Used to validate data
Special Functions
Used to handle specific conditions within a session; search for certain values; test conditional statements
55
Variable Ports
Use to simplify complex expressions• e.g. create and store a depreciation formula to be
referenced more than once
Use in another variable port or an output port expression
Local to the transformation (a variable port cannot also be an input or output port)
56
Variable Ports (cont’d)
Use for temporary storage Variable ports can remember values across rows; useful for comparing
values Variables are initialized (numeric to 0, string to “”) when the Mapping
logic is processed Variables Ports are not visible in Normal view, only in Edit view
57
Default Values – Two Usages
For input and I/O ports, default values are used to replace null values
For output ports, default values are used to handle transformation calculation errors (not-null handling)
Default value for the selected port
Selected port Validate the
default value expression
ISNULL function is not required
58
Informatica Datatypes
Transformation datatypes allow mix and match of source and target database types When connecting ports, native and transformation datatypes must be compatible
(or must be explicitly converted)
NATIVE DATATYPES TRANSFORMATION DATATYPES
Specific to the source and target database types
PowerCenter internal datatypes
Display in source and target tables within Mapping Designer
Display in transformations within Mapping Designer
Native NativeTransformation
59
Datatype Conversions within PowerCenter
Data can be converted from one datatype to another by: Passing data between ports with different datatypes Passing data from an expression to a port Using transformation functions Using transformation arithmetic operators
Only conversions supported are:
Numeric datatypes Other numeric datatypes Numeric datatypes String Date/Time Date or String
For further information, see the PowerCenter Client Help > Index > port-to-port data conversion
60
Mapping Validation
61
Connection Validation
Examples of invalid connections in a Mapping:
Connecting ports with incompatible datatypes Connecting output ports to a Source Connecting a Source to anything but a Source
Qualifier or Normalizer transformation Connecting an output port to an output port or
an input port to another input port
62
Mapping Validation
Mappings must:
• Be valid for a Session to run
• Be end-to-end complete and contain valid expressions
• Pass all data flow rules
Mappings are always validated when saved; can be validated without being saved
Output Window displays reason for invalidity
63
Lab 2 – Create a Mapping
Workflows
65
Workflows
By the end of this section, you will be familiar with:
The Workflow Manager GUI interface
Creating and configuring Workflows
Workflow properties
Workflow components
Workflow tasks
66
Workflow Manager Interface
Task Tool Bar
Output Window
Navigator Window
Workspace
Status Bar
Workflow DesignerTools
67
Workflow Designer• Maps the execution order and dependencies of Sessions,
Tasks and Worklets, for the Informatica Server
Task Developer• Create Session, Shell Command and Email tasks
• Tasks created in the Task Developer are reusable
Worklet Designer• Creates objects that represent a set of tasks
• Worklet objects are reusable
Workflow Manager Tools
68
Workflow Structure
A Workflow is set of instructions for the Informatica Server to perform data transformation and load
Combines the logic of Session Tasks, other types of Tasks and Worklets
The simplest Workflow is composed of a Start Task, a Link and one other Task
Start Task
Session Task
Link
69
Session Task
Server instructions to run the logic of ONE specific mapping
e.g. source and target data location specifications, memory allocation, optional Mapping overrides, scheduling, processing and load instructions
Becomes a component of a Workflow (or Worklet)
If configured in the Task Developer, the Session Task is reusable (optional)
70
Eight additional Tasks are available in the Workflow Designer (covered later)
• Command
• Decision
• Assignment
• Timer
• Control
• Event Wait
• Event Raise
Additional Workflow Tasks
71
Sample Workflow
Start Task (required)
Session 1
Session 2
Command Task
72
Sequential and Concurrent Workflows
Sequential
Concurrent Combined
Note: Although only session tasks are shown, can be any tasks
73
Creating a Workflow
CustomizeWorkflow name
Select a Server
74
Workflow Properties
Customize Workflow Properties
Workflow log displays
May be reusable or non-reusable
Select a Workflow Schedule (optional)
75
Workflow Scheduler
Set and customize workflow-specific schedule
76
Workflow Metadata Extensions
Metadata Extensions providefor additional user data
77
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 3
78
Conditional Links
Optional link condition
‘$taskname.STATUS’ is a pre-defined
task variable
79
Workflow Variables 1
Task-specific variables
Built-in system variables
Used in decision tasks and conditional links – edit task or link:
User-defined variables (see separate slide)
Pre-defined variables
80
User-defined variables are set in Workflow properties, Variables tab – can persist across sessions
Can be reset in an Assignment task
Workflow Variables 2
81
Workflow Summary
1. Add Sessions and other Tasks to the Workflow
2. Connect all Workflow components with Links
3. Save the Workflow
Sessions in a Workflow can be executed independently
4. Start the Workflow
Session Tasks
83
Session Tasks
After this section, you will be familiar with:
How to create and configure Session Tasks
Session Task source and target properties
84
Created to execute the logic of a mapping (one mapping only)
Session Tasks can be created in the Task Developer (reusable) or Workflow Developer (Workflow-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 Session Task
85
Session Task – Properties and Parameters
Session Task
Session parameter
Properties Tab
Parameter file
86
Session Task – Setting Source Properties
Set properties
Session Task
Select source instance
Mapping Tab
Set connection
87
Session Task – Setting Target Properties
Note: Heterogeneous targets are supported
Session Task
Select target instance
Mapping Tab
Set properties
Set connection
Monitoring Workflows
89
Monitoring Workflows
By the end of this section you will be familiar with:
The Workflow Monitor GUI interface
Monitoring views
Server monitoring modes
Filtering displayed items
Actions initiated from the Workflow Monitor
Truncating Monitor Logs
90
Workflow Monitor
The Workflow Monitor is the tool for monitoring Workflows and Tasks
Choose between two views:• Gantt chart • Task view
Gantt Chart view Task view
91
Monitoring Current and Past Workflows
The Workflow Monitor displays only workflows that have been run
Displays real-time information from the Informatica Server and the Repository Server about current workflow runs
92
Monitoring Operations
Perform operations in the Workflow Monitor• Stop, Abort, or Restart a Task, Workflow or Worklet• Resume a suspended Workflow after a failed Task is
corrected• Reschedule or Unschedule a Workflow
View Session and Workflow logs
Abort has a 60 second timeout• If 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
93
Monitoring in Task View Start Completion
Task Server Workflow Worklet Time Time
Status Bar
Start, Stop, Abort, Resume Tasks,Workflows and Worklets
94
Filtering in Task View
Monitoring filters can be set using drop down menus.Minimizes items displayed in Task View
Right-click on Session to retrieve the Session Log (from the Server to the local PC Client)
95
Filter Toolbar
Display recent runs
Filter tasks by specified criteria
Select servers to filter
Select type of tasks to filter
96
Truncating Workflow Monitor Logs
Workflow Monitor
Repository Manager
Repository Manager’sTruncate Log option clears the Workflow Monitor logs
97
Lab 3 – Create and Run a Workflow
98
Lab 4 – Features and Techniques I
Debugger
100
Debugger
By the end of this section you will be familiar with:
Creating a Debug Session
Debugger windows and indicators
Debugger functionality and options
Viewing data with the Debugger
Setting and using Breakpoints
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
Initialize variables
Manually change variable values
Data can be loaded or discarded
Debug environment can be saved for later use
102
Debugger Interface
Target Instance window
TransformationInstance
Data window
Flashingyellow
SQLindicator
Debugger Modeindicator
Solid yellow arrow is current transformation
indicator
Output Window –Debugger Log
Edit Breakpoints
103
Set Breakpoints
2. Choose global or specific transformation
3. Choose to break on data condition or error. Optionally skip rows.
4. Add breakpoint(s)
5. Add data conditions
1. Edit breakpoint
6. Continue (to next breakpoint)
104
Server must be running before starting a Debug Session
When the Debugger is started, a spinning icon displays. Spinning stops when the Debugger Server is ready
The flashing yellow/green arrow points to the current active Source Qualifier. The solid yellow arrow points to the current Transformation instance
Debugger Tips
Next Instance – proceeds a single step at a time; one row moves from transformation to transformation
Step to Instance – examines one transformation at a time, following successive rows through the same transformation
105
Lab 5 – The Debugger
Filter Transformation
107
Ports• All input / output
Specify a Filter condition
Usage• Filter rows from
input flow
Drops rows conditionally
Filter Transformation
108
Lab 6 – Flat File Wizard and Filter Transformation
Sorter Transformation
110
Sorter Transformation
Can sort data from relational tables or flat files
Sort takes place on the Informatica Server machine
Multiple sort keys are supported
The Sorter transformation is often more efficient than a sort performed on a database with an ORDER BY clause
111
Sorter Transformation
Sorts data from any source, at any point in a data flow
Ports• Input/Output• Define one or more
sort keys• Define sort order for
each key
Example of Usage• Sort data before
Aggregator to improve performance
Sort Keys
Sort Order
112
Sorter Properties
Cache size can be adjusted. Default is 8 Mb. Ensure sufficient memory is available on the Informatica Server (else Session Task will fail)
Aggregator Transformation
114
Aggregator Transformation
By the end of this section you will be familiar with:
Basic Aggregator functionality
Creating subtotals with the Aggregator
Aggregator expressions
Aggregator properties
Using sorted data
115
Aggregator Transformation
Ports• Mixed I/O ports allowed • Variable ports allowed• Group By allowed
Create expressions in variable and output ports
Usage• Standard aggregations
Performs aggregate calculations
116
Aggregate Expressions
Conditional Aggregate expressions are supported: Conditional SUM format: SUM(value, condition)
Aggregate functions are supported only in the Aggregator Transformation
117
Aggregator Functions
Return summary values for non-null data in selected ports
Use only in Aggregator transformations
Use in output ports only
Calculate a single value (and row) for all records in a group
Only one aggregate function can be nested within an aggregate function
Conditional statements can be used with these functions
AVGCOUNT FIRSTLAST MAXMEDIANMIN PERCENTILESTDDEV SUM VARIANCE
118
Aggregator Properties
Sorted Input Property
Set Aggregator cache sizes for Informatica Server machine
Instructs the Aggregator to expect the data to be sorted
119
Sorted Data
The Aggregator can handle sorted or unsorted data
Sorted data can be aggregated more efficiently, decreasing total processing time
The Server will cache data from each group and release the cached data – upon reaching the first record of the next group
Data must be sorted according to the order of the Aggregator’s Group By ports
Performance gain will depend upon varying factors
120
Aggregating Unsorted Data
Unsorted data
No rows are released from Aggregator until all rows are aggregated
Group By:- store - department- date
121
Aggregating Sorted Data
Each separate group (one row) is released as soon as the last row in the group is aggregated
Group By: - store - department- date
Data sorted by: - store - department- date
122
Data Flow Rules – Terminology
Passive 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, Filter, Source Qualifier
123
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 only if they originate from
a common active transformation
Example holds true with Normalizer instead of Source Qualifier. Exceptions are: Mapplet Input and sorted Joiner transformations
DISALLOWED
TT
Active
ALLOWED
T
Passive
T
Joiner Transformation
125
Joiner Transformation
By the end of this section you 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
126
When to Join in Source Qualifier
If you can perform a join on the source database, then you can configure it in the Source Qualifier
The SQL that the Source Qualifier generates, default or custom, executes on the source database at runtime
Example: homogeneous join – 2 database tables in same database
127
When You Cannot Join in Source Qualifier
If you cannot perform a join on the source database, then you cannot configure it in the Source Qualifier
Examples: heterogeneous joins An Oracle table and a DB2 table
A flat file and a database table
Two flat files
128
Joiner 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
Performs heterogeneous joins on different data flows
129
Joiner Conditions
Multiple join conditions are supported
130
Joiner Properties
Join types:
• Normal (inner)
• Master outer
• Detail outer
• Full outer
Joiner can accept sorted data (configure the join condition to use the sort origin ports)
Set Joiner Caches
131
Nested Joins
Used to join three or more heterogeneous sources
132
Mid-Mapping Join (Unsorted)
The unsorted Joiner does not accept input in the following situations: Both input pipelines begin with the same Source Qualifier Both input pipelines begin with the same Joiner
The sorted Joiner does not have these restrictions.
133
Lab 7 – Heterogeneous Join, Aggregator, and Sorter
Lookup Transformation
135
Lookup Transformation
By the end of this section you will be familiar with:
Lookup principles
Lookup properties
Lookup conditions
Lookup techniques
Caching considerations
Persistent caches
136
How a Lookup Transformation Works
For each mapping row, one or more port values are looked up in a database table or flat file
If a match is found, one or more table values are returned to the mapping. If no match is found, NULL is returned
Lookup value(s)
Return value(s)
Lookup transformation
137
Lookup Transformation
Looks up values in a database table or flat file 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 only – see later)
Specify the Lookup Condition
Usage• Get related values• Verify if records exists or if
data has changed
138
Lookup Conditions
Multiple conditions are supported
139
Lookup Properties
Lookuptable name
Native databaseconnection object name
Lookup condition
Source type: Database or Flat File
140
Lookup Properties cont’d
Policy on multiple match:• Use first value• Use last value• Report error
141
Lookup Caching
Caching can significantly impact performance
Cached
• Lookup table data is cached locally on the Server
• Mapping rows are looked up against the cache
• Only one SQL SELECT is needed
Uncached
• 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
142
Persistent Caches
By 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 fully or partially into RAM and reused
A named persistent cache may be shared by different sessions
Can improve performance, but “stale” data may pose a problem
143
Lookup Caching Properties
Override LookupSQL option
Cachedirectory
Togglecaching
144
Lookup Caching Properties (cont’d)
Set Lookup cache sizes
Make cachepersistent
Set prefix for persistent cache file name
Reload persistent cache
145
Lab 8 – Basic Lookup
Target Options
147
Target Options
By the end of this section you will be familiar with:
Default target load type
Target properties
Update override
Constraint-based loading
148
Setting Default Target Load Type
Set Target Load Type default Workflow Manager, Tools | Options Normal or Bulk (client choice) Override the default in session target properties
149
Target Properties
Session Task
Select target instance
Row loading operations
Error handling
Edit Tasks: Mappings Tab
Target load type
150
WHERE Clause for Update and Delete
PowerCenter uses the primary keys defined in the Warehouse Designer to determine the appropriate SQL WHERE clause for updates and deletes
Update SQL• UPDATE <target> SET <col> = <value>
WHERE <primary key> = <pkvalue>• The only 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 Update Override
Delete SQL• DELETE from <target> WHERE <primary key> = <pkvalue>
SQL statement used will appear in the Session log file
151
Constraint-based Loading
PK1
FK1 PK2
FK2
To maintain referential integrity, primary keys must be loaded before their corresponding foreign keys – here in the order Target1, Target2, Target 3
152
Setting Constraint-based Loading
153
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, Filter
Active source• Active transformation that generates rows• Cannot match an output row with a distinct input row• Examples: Source Qualifier, Aggregator, Joiner, Sorter• (The Filter is NOT an active source)
Active group• Group of targets in a mapping being fed by the same active
source
154
Constraint-Based Loading – Restrictions
Cannot have two active groupsExample 1 With only one Active source, rows for Targets1, 2, and 3 will be loaded properly and maintain referential integrity
PK1
FK1PK2
FK2
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
FK1PK2
FK2
155
Lab 9 – Deleting Rows
Update Strategy Transformation
157
Update Strategy Transformation
Used to specify how each individual row will be used to update target tables (insert, update, delete, reject)
Ports• All input / output• Specify the Update
Strategy Expression –IIF or DECODE logic determines how to handle the record
Example• Updating Slowly
Changing Dimensions
158
Update Strategy Expressions
IIF ( score > 69, DD_INSERT, 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 may be forwarded through Mapping
159
Lab 10 – Data Driven Operations
160
Lab 11 – Incremental Update
161
Lab 12 – Features and Techniques II
Router Transformation
163
Router Transformation
Rows sent to multiple filter conditions
Ports• All input/output• Specify filter conditions
for each Group
Usage• Link source data in one
pass to multiple filter conditions
164
Router Groups
Input group (always one)
User-defined groups
Each group has one condition
ALL group conditions are evaluated for EACH row
One row can pass multiple conditions
Unlinked Group outputs are ignored
Default group (always one) can capture rows that fail all Group conditions
165
Router Transformation in a Mapping
166
Lab 13 – Router
Sequence Generator Transformation
168
Sequence Generator Transformation
Generates unique keys for any port on a row
Ports• Two predefined output
ports, NEXTVAL and CURRVAL
• No input ports allowed
Usage• Generate sequence
numbers• Shareable across mappings
169
Sequence Generator Properties
Number of cached values
Mapping Parameters and Variables
171
Mapping Parameters and Variables
By the end of this section you will understand:
System variables
Mapping parameters and variables
Parameter files
172
System Variables
SESSSTARTTIME
$$$SessStartTime
Returns the system date value on the Informatica Server• Used with any function that accepts
transformation date/time datatypes • Not to be used in a SQL override• Has a constant value
Returns the system date value as a string. Uses system clock on machine hosting Informatica Server• Format of the string is database type
dependent• Used in SQL override • Has a constant value
SYSDATE Provides current datetime on the
Informatica Server machine• Not a static value
173
Mapping Parameters and Variables
Apply 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 flexibility
Defined in Mapping menu
Format is $$VariableName or $$ParameterName
Can be used in pre and post-SQL
174
Mapping Parameters and Variables
Sample declarations
Declare Mapping Variables and Parameters in the Designer Mappings/Mapplets menu
Set aggregation type
Set optional initial value
User-defined names
Set datatype
175
Mapping Parameters and Variables
Apply parameters or variables in formula
176
Functions to Set Mapping Variables
SETMAXVARIABLE($$Variable,value) Sets the specified variable to the higher of the current value or the specified value
SETMINVARIABLE($$Variable,value)Sets the specified variable to the lower of of the current value or the specified value
SETVARIABLE($$Variable,value)Sets the specified variable to the specified value
SETCOUNTVARIABLE($$Variable)Increases or decreases the specified variable by the number of rows leaving the function(+1 for each inserted row, -1 for each deleted row, no change for updated or rejected rows)
177
Parameter Files
You can specify 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. For 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
178
Parameters & Variables – Initialization Priority
1. Parameter file
2. Repository value
3. Declared initial value
4. Default value
Unconnected Lookups
180
Unconnected Lookups
By the end of this section you will know:
Unconnected Lookup technique
Unconnected Lookup functionality
Difference from Connected Lookup
181
Unconnected Lookup
Physically 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 any transformation that supports
expressions
Function in the Aggregator calls the unconnected Lookup
182
Unconnected Lookup Technique
Condition is evaluated for each row but Lookup function is called only if condition satisfied
IIF ( ISNULL(customer_id),:lkp.MYLOOKUP(order_no))
Condition
Lookup function
Row keys (passed to Lookup)
Use lookup lookup function within a conditional statement
183
Unconnected Lookup Advantage
Data lookup is performed only for those rows which require it. Substantial performance can be gained
EXAMPLE: A Mapping will process 500,000 rows. For two percent of those rows (10,000) the item_id value is NULL. Item_ID can be derived from the SKU_NUMB.
Net savings = 490,000 lookups
IIF ( ISNULL(item_id), :lkp.MYLOOKUP (sku_numb))
Condition (true for 2 percent of all rows)
Lookup (called only when condition is true)
184
Unconnected Lookup Functionality
One Lookup port value may be returned for each Lookup
Must check a Return port in the Ports tab, else fails at runtime
185
Connected versus Unconnected Lookups
CONNECTED LOOKUP UNCONNECTED LOOKUP
Part of the mapping data flow Separate from the mapping data flow
Returns multiple values (by linking output ports to another transformation)
Returns one value - by checking the Return (R) port option for the output port that provides the return value
Executed for every record passing through the transformation
Only executed when the lookup function is called
More visible, shows where the lookup values are used
Less visible, as the lookup is called from an expression within another transformation
Default values are used Default values are ignored
186
Lab 14 – Straight Load
187
Lab 15 – Conditional Lookup
Heterogeneous Targets
189
Heterogeneous Targets
By the end of this section you will be familiar with:
Heterogeneous target types
Heterogeneous target limitations
Target conversions
190
Definition: Heterogeneous Targets
Supported target definition types:
Relational database
Flat file
XML
Targets supported by PowerCenter Connects
Heterogeneous targets are targets within a single Session Task that have different types or have different database connections
191
Step One: Identify Different Target Types
Oracle table
Flat file
Oracle tableTables are EITHER in two different databases, or require different (schema-specific) connect strings
One target is a flat file load
192
Step Two: Different Database Connections
The two database connections are different
Flat file requires separate location information
193
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 any other relational database type
CAUTION: If target definition datatypes are not compatible with datatypes in newly selected database type, modify the target definition
194
Lab 16 – Heterogeneous Targets
Mapplets
196
Mapplets
By the end of this section you will be familiar with:
Mapplet Designer
Mapplet advantages
Mapplet types
Mapplet rules
Active and Passive Mapplets
Mapplet Parameters and Variables
197
Mapplet Designer
MappletInput and Output Transformation
Icons
Mapplet Output Transformation
Mapplet Designer Tool
198
Mapplet Advantages
Useful for repetitive tasks / logic
Represents a set of transformations
Mapplets are reusable
Use an ‘instance’ of a Mapplet in a Mapping
Changes to a Mapplet are inherited by all instances
Server expands the Mapplet at runtime
199
A Mapplet Used in a Mapping
200
The “Detail” Inside the Mapplet
201
Unsupported Transformations
Do not use the following in a mapplet:
XML source definitions
Target definitions
Other mapplets
202
Mapplet Source Options
Internal Sources
• One or more Source definitions / Source Qualifiers within the Mapplet
External Sources
Mapplet contains a Mapplet Input transformation
• Receives data from the Mapping it is used in
Mixed Sources
• Mapplet contains one or more of either of a Mapplet Input transformation AND one or more Source Qualifiers
• Receives data from the Mapping it is used in, AND from the Mapplet
203
Use for data sources outside a Mapplet
Mapplet Input Transformation
Passive TransformationConnected
Ports
• Output ports only
Usage Only those ports
connected from an Input transformation to another transformation will display in the resulting Mapplet
• Connecting the same port to more than one transformation is disallowed
• Pass to an Expression transformation first
Transformation
Transformation
204
Data Source Outside a Mapplet
• Resulting Mapplet HAS input ports
• When used in a Mapping, the Mapplet may occur at any point in mid-flow
Source data is defined OUTSIDE the Mapplet logic
Mapplet
Mapplet Input
Transformation
205
Data Source Inside a Mapplet
• Resulting Mapplet has no input ports
• When used in a Mapping, the Mapplet is the first object in the data flow
Mapplet
• No Input transformation is required (or allowed)
• Use a Source Qualifier instead
Source
QualifierSource data is defined WITHIN the Mapplet logic
206
Mapplet Output Transformation
Passive TransformationConnected
Ports
• Input ports only
Usage
• Only those ports connected to an Output transformation (from another transformation) will display in the resulting Mapplet
• One (or more) Mapplet Output transformations are required in every Mapplet
Use to contain the results of a Mapplet pipeline. Multiple Output transformations are allowed.
207
Mapplet with Multiple Output Groups
Can output to multiple instances of the same target table
208
Unmapped Mapplet Output Groups
Warning: An unlinked Mapplet Output Group may invalidate the mapping
209
Active and Passive Mapplets
Passive Mapplets contain only passive transformations
Active Mapplets contain one or more active transformations
CAUTION: Changing a passive Mapplet into an active Mapplet may invalidate Mappings which use that Mapplet – so do an impact analysis in Repository Manager first
210
Using Active and Passive Mapplets
Multiple Passive Mapplets can populate the same target instance
Multiple Active Mapplets or Active and Passive Mapplets cannot populate the same target instance
Active
Passive
211
Mapplet Parameters and Variables
Same idea as mapping parameters and variables
Defined under the Mapplets | Parameters and Variables menu option
A parameter or variable defined in a mapplet is not visible in any parent mapping
A parameter or variable defined in a mapping is not visible in any child mapplet
212
Lab 17 – Mapplets
Reusable Transformations
214
Reusable Transformations
By the end of this section you will be familiar with:
Transformation Developer
Reusable transformation rules
Promoting transformations to reusable
Copying reusable transformations
215
Transformation Developer
Reusable transformations
Make a transformation reusable from the outset,
or
test it in a mapping first
216
Reusable Transformations
Define once, reuse many times
Reusable Transformations• Can be a copy or a shortcut
• Edit Ports only in Transformation Developer
• Can edit Properties in the mapping
• Instances dynamically inherit changes
• Caution: changing reusable transformations can invalidate mappings
Note: Source Qualifier transformations cannot be made reusable
217
Promoting a Transformation to Reusable
Check the Make reusable box
(irreversible)
218
Copying Reusable Transformations
This copy action must be done within the same folder
1. Hold down Ctrl key 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 Repository
219
Lab 18 – Reusable Transformations
Session-Level Error Logging
221
Error Logging Objectives
By the end of this section, you will be familiar with:
Setting error logging options
How data rejects and transformation errors are handled with logging on and off
How to log errors to a flat file or relational table
When and how to use source row logging
222
Error Types
Transformation error Data row has only passed partway through the mapping
transformation logic An error occurs within a transformation
Data reject Data row is fully transformed according to the mapping
logic Due to a data issue, it cannot be written to the target A data reject can be forced by an Update Strategy
223
Error 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. Only fatal errors written to session log.
Data rejects Appended to reject file (one .bad file per target)
Written to row error tables or file
224
Setting Error Log Options
In Session task
Log Row DataLog Source Row Data
Error Log Type
225
Error Logging Off – Specifying Reject Files
In Session task
1 file per target
226
Error Logging Off – Transformation Errors
XX
Transformation Error
Details and data are written to session log Data row is discarded If data flows concatenated, corresponding rows in parallel
flow are also discarded
227
Error 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 by an Update Strategy)
• Target table properties ‘reject truncated/overflowed rows’
0,D,1313,D,Regulator System,D,Air Regulators,D,250.00,D,150.00,D1,D,1314,D,Second Stage Regulator,D,Air Regulators,D,365.00,D,265.00,D2,D,1390,D,First Stage Regulator,D,Air Regulators,D,170.00,D,70.00,D3,D,2341,D,Depth/Pressure Gauge,D,Small Instruments,D,105.00,D,5.00,D
Sample reject file
Indicator describes preceding column valueD=Data, O=Overflow, N=Null or T=Truncated
First column: 0=INSERT
1=UPDATE2=DELETE
3=REJECT
228
Log Row Data
Logs:
Session metadata
Reader, transformation, writer and user-defined errors
For errors on input, logs row data for I and I/O ports
For errors on output, logs row data for I/O and O ports
229
Logging Errors to a Relational Database 1
Relational Database Log
Settings
230
Logging Errors to a Relational Database 2
PMERR_SESS: Stores metadata about the session run such as workflow name, session name, repository name etc
PMERR_MSG: Error messages for a row of data are logged in this table
PMERR_TRANS: Metadata about the transformation such as transformation group name, source name, port names with datatypes are logged in this table
PMERR_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]
231
Error Logging to a Flat File 1
Flat File Log Settings
(Defaults shown)
Creates delimited Flat File with || as column delimiter
232
Logging Errors to a Flat File 2 Format: Session metadata followed by de-normalized error information
Sample session metadata**********************************************************************Repository GID: 510e6f02-8733-11d7-9db7-00e01823c14dRepository: RowErrorLoggingFolder: ErrorLoggingWorkflow: w_unitTestsSession: s_customersMapping: m_customersWorkflow Run ID: 6079Worklet Run ID: 0Session Instance ID: 806Session Start Time: 10/19/2003 11:24:16Session Start Time (UTC): 1066587856**********************************************************************
Row data format
Transformation || Transformation Mapplet Name || Transformation Group || Partition Index || Transformation Row ID || Error Sequence || Error Timestamp || Error UTC Time || Error Code || Error Message || Error Type || Transformation Data || Source Mapplet Name || Source Name || Source Row ID || Source Row Type || Source Data
233
Log Source 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 type
234
Log Source Row Data 2
Source row loggingavailable
Source row loggingnot available
Source row logging is not available downstream of an Aggregator, Joiner, Sorter (where output rows are not uniquely correlated with input rows)
Workflow Configuration
236
Workflow Configuration Objectives
By the end of this section, you will be able to create:
Workflow Server Connections
Reusable Schedules
Reusable Session Configurations
237
Workflow Server Connections
238
Workflow Server Connections
Configure Server data access connections in the Workflow Manager
Used in Session Tasks
(Native Databases)
(MQ Series)
(Custom)
(External Database Loaders)
(File Transfer Protocol file)
239
Relational Connections (Native )
Create a relational [database] connection Instructions to the Server to locate relational tables Used in Session Tasks
240
Relational Connection Properties
Define native relational database connection
Optional Environment SQL (executed with each use of database connection)
User Name/Password
Database connectivity information
Rollback Segment assignment (optional)
241
FTP Connection
Create an FTP connection Instructions to the Server to ftp flat files Used in Session Tasks
242
External Loader Connection
Create an External Loader connection Instructs the Server to invoke an external database loader Used in Session Tasks
243
Reusable Workflow Schedules
244
Set up reusable schedules to associate with multiple Workflows
Defined at folder level Must have the Workflow Designer tool open
Reusable Workflow Schedules
245
Reusable Workflow Schedules
246
Reusable Session Configurations
247
Session Configuration
Define properties to be reusable across different sessions
Defined at folder level
Must have one of these tools open in order to access
248
Session Configuration (cont’d)
Available from menu orTask toolbar
249
Session Configuration (cont’d)
250
Session Task – Config Object
Within Session task properties, choose desired
configuration
251
Session Task – Config Object Attributes
Attributesmay be overriddenwithin theSession task
Reusable Tasks
253
Reusable Tasks
Three types of reusable Tasks
Session – Set of instructions to execute a specific Mapping
Command – Specific shell commands to run during any Workflow
Email – Sends email during the Workflow
254
Reusable Tasks
Use the Task Developer to create reusable tasks
These tasks will then appear in the Navigator and can be dragged and dropped into any workflow
255
Reusable Tasks in a Workflow
In a workflow, a reusable task is represented with the symbol
ReusableNon-reusable
256
Command Task
Specify one or more Unix shell or DOS commands to run during the Workflow Runs in the Informatica Server (UNIX or Windows)
environment
Command task status (successful completion or failure) is held in the pre-defined task variable $command_task_name.STATUS
Each Command Task shell command can execute before the Session begins or after the Informatica Server executes a Session
257
Command Task
Specify one (or more) Unix shell or DOS (NT, Win2000) commands to run at a specific point in the workflow
Becomes a component of a workflow (or worklet)
If created in the Task Developer, the Command task is reusable
If created in the Workflow Designer, the Command task is not reusable
Commands can also be invoked under the Components tab of a Session task to run pre- or post-session
258
Command Task (cont’d)
259
Command Task (cont’d)
Add Cmd
Remove Cmd
260
Email Task
Configure to have the Informatica Server to send email at any point in the Workflow
Becomes a component in a Workflow (or Worklet)
If configured in the Task Developer, the Email Task is reusable (optional)
Emails can also be invoked under the Components tab of a Session task to run pre- or post-session
261
Email Task (cont’d)
262
Lab 19 – Sequential Workflow and Error Logging
263
Lab 20 – Command Task
Non-Reusable Tasks
265
Non-Reusable Tasks
Six additional Tasks are available in the Workflow Designer
Decision
Assignment
Timer
Control
Event Wait
Event Raise
266
Decision Task
Specifies a condition to be evaluated in the Workflow
Use the Decision Task in branches of a Workflow
Use link conditions downstream to control execution flow by testing the Decision result
267
Assignment Task
Assigns a value to a Workflow Variable
Variables are defined in the Workflow object
Expressions TabGeneral Tab
268
Timer Task
Waits for a specified period of time to execute the next Task
General Tab
• Absolute Time
• Datetime Variable
• Relative Time
Timer Tab
269
Control Task
Stop or ABORT the Workflow
General Tab
Properties Tab
270
Event Wait Task
Pauses processing of the pipeline until a specified event occurs
Events can be: Pre-defined – file watch User-defined – created by an Event Raise task elsewhere in
the workflow
271
Event Wait Task (cont’d)
General TabProperties Tab
272
Event Wait Task (cont’d)
Events Tab
User-defined event configuredin the Workflow object
273
Event Raise Task
Represents the location of a user-defined event
The Event Raise Task triggers the user-defined event when the Informatica Server executes the Event Raise Task
Used with the Event Wait Task
General Tab Properties Tab
Worklets
275
Worklets
An object representing a set or grouping of Tasks
Can contain any Task available in the Workflow Manager
Worklets expand and execute inside a Workflow
A Workflow which contains a Worklet is called the “parent Workflow”
Worklets CAN be nested
Reusable Worklets – create in the Worklet Designer
Non-reusable Worklets – create in the Workflow Designer
276
Re-usable Worklet
In the Worklet Designer, select Worklets | Create
Tasks in a Worklet
Worklets Node
277
Using a Reusable Worklet in a Workflow
Worklet used in a Workflow
278
Non-Reusable Worklet
1. Create worklet task in Workflow Designer
2. Right-click on new worklet and select Open Worklet
3. Workspace switches to Worklet Designer
NOTE: Workletshows only under Workflows node
279
Lab 21 – Reusable Worklet and Decision Task
280
Lab 22 – Event Wait with Pre-Defined Event
281
Lab 23 – User-Defined Event, Event Raise, and Event Wait
282
Parameters and Variables Review
283
Types of Parameters and Variables
TYPE HOW DEFINED WHERE USED EXAMPLES
Mapping/Mapplet Variables
Mapping/mapplet properties. Reset by variable functions.
Transformation port expressions
$$LastUpdateTime$$MaxValue
Mapping/Mapplet Parameters
Mapping/mapplet properties. Constant for session.
Transformation port expressions
$$FixedCosts$$DiscountRate
System Variables
Built-in, pre-defined. Transformation port expressions, Workflow decision tasks and conditional links.
SYSDATESESSSTARTIMEWORKFLOWSTARTTIME
Task Variables
Built-in, pre-defined. Workflow decision tasks and conditional links
$session1. Status$session1.ErrorCode
Workflow/Worklet Variables
Workflow or worklet properties. Reset in Assignment tasks.
Workflow decision tasks and conditional links
$$NewStartTime
Session Parameters
Parameter file. Constant for session.
Session properties $DBConnectionORCL$InputFile1
Mappings& Mapplets
Workflows& Worklets
284
PowerCenter 7.1 Options and Data Access Products
285
PowerCenter 7.1 Options
PowerCenterPowerCenter
Real-Time/Web ServicesReal-Time/Web ServicesZL Engine, always-on non-stop sessions, JMS connectivity, and real-time Web Services provider
Data CleansingData CleansingName and address cleansing functionality, including directories for US and certain international countries
Partitioning Partitioning Data smart parallelism, pipeline and data parallelism, partitioning
Server engine, metadata repository, unlimited designers, workflow scheduler, all APIs and SDKs, unlimited XML and flat file sourcing and targeting, object export to XML file, LDAP authentication, role-based object-level security, metadata reporter, centralized monitoring
Server group management, automatic workflow distribution across multiple heterogeneous serversServer GridServer Grid
Profile wizards, rules definitions, profile results tables, and standard reportsData ProfilingData Profiling
Version control, deployment groups, configuration management, automatic promotion Team-Based Development Team-Based Development
Allows export/import of metadata to or from business intelligence tools like Business Objects and Cognos Metadata Exchange with BIMetadata Exchange with BI
286
Virtual Classes
Watch for short web-based virtual classes on most PowerCenter options and XML support
287
Data Access – PowerExchange
Provides access to all critical enterprise data systems, including mainframe, midrange relational databases, and file-based systems
Offers batch, change capture and real-time options
PowerExchange 5.2 provides tight integration with PowerCenter 7.1.1 through the PowerExchange Client for PowerCenter Supporting VSAM, IMS, DB2 (OS/390, AS/400), Oracle, ODBC
288
Data Access – PowerCenter Connect
PowerCenter Connect options are currently available for:
Transactional Applications Hyperion Essbase PeopleSoft SAP R/3 SAP BW SAS Siebel
Real-time Services
HTTP JMS MSMQ MQSeries TIBCO WebMethods Web Services
PowerCenter Connect SDK Allows development of new PowerCenter Connect products Available on the Informatica Developer Network
289