a designer and workflow
TRANSCRIPT
-
8/3/2019 a Designer and Workflow
1/140
Informatica Training
DESIGNER
-
8/3/2019 a Designer and Workflow
2/140
:
The transfer of data is called transformation
A transformation is a repository object that generates, modifies, orpasses data
The Designer provides a set of transformations that perform specificfunctions
Transformations in a mapping represent the operations theInformatica Server performs on the data.
Data passes into and out of transformations through ports that youlink in a mapping or mapplet.
Transformation
-
8/3/2019 a Designer and Workflow
3/140
:
Transformations can be active or passive
A passive transformation does not change the number of rows thatpass through it,
An active transformation can change the number of rows that passthrough it
Transformations can be connected to the data flow
An unconnected transformation is not connected to othertransformations in the mapping
It is called within another transformation, and returns a value to thattransformation.
Transformation
-
8/3/2019 a Designer and Workflow
4/140
.
Joiner Transformation
The Joiner transformation joins two related heterogeneous sources.
.The combination of sources can be varied
The Joiner transformation uses a condition that matches one or more
pairs of ports between the two sources.
-
8/3/2019 a Designer and Workflow
5/140
.
Joiner transformation
You can use the following sources:
Two relational tables existing in separate databases
Two flat files in potentially different file systems
Two different ODBC sources
A relational table and an XML source
A relational table and a flat file source
Two instances of the same XML source
-
8/3/2019 a Designer and Workflow
6/140
:
Creating a Joiner Transformation
In the Mapping Designer, choose Transformation-Create. Select theJoiner transformation
Drag all the desired input/output ports from the first source into theJoiner transformation
-
8/3/2019 a Designer and Workflow
7/140
:
Edit transformation
Double-click the title bar of the Joiner transformation to open theEdit Transformations dialog box
Select the Ports tab.
-
8/3/2019 a Designer and Workflow
8/140
:
Port tab
Add default values for specific ports as necessary.
-
8/3/2019 a Designer and Workflow
9/140
:
Setting the condition
Select the Condition tab and set the condition
Click the Add button to add a condition.
-
8/3/2019 a Designer and Workflow
10/140
:
Defining the Join Type
join is a relational operator that combines data from multiple tablesinto a single result set
You define the join type on the Properties tab in the transformation
The Joiner transformation supports the following types of joins:
Normal
Master Outer
Detail Outer
Full Outer
-
8/3/2019 a Designer and Workflow
11/140
TheJ
oiner transformation requires two input transformations from two separatepipelines.
An input transformation is any transformation connected to the input ports of thecurrent transformation.
In the example, the Aggregator transformation and the Source Qualifiertransformation are the input transformations for the Joiner transformation
Joiner in Mapping
-
8/3/2019 a Designer and Workflow
12/140
You cannot use a Joiner transformation in the following situations:
Both input pipelines originate from the same Source Qualifier transformation
Both input pipelines originate from the same Normalizer transformation.
Both input pipelines originate from the same Joiner transformation
Either
You connect a Sequence Generator transformation directly before the Joinertransformation
Configuring the Joiner Transformation
Master anddetail source
Type of join
Condition of the join
input pipeline contains an Update Strategy transformation
Condition of joiner Transformation
-
8/3/2019 a Designer and Workflow
13/140
The Joiner transformation supports the following join types
Normal (Default)
Master Outer
Detail Outer
Full Outer
An example of a partial mapping with two Joiner transformations in the sametarget load order group and three pipelines to process the data in the correct order
The join Types In Joiner Transformation
-
8/3/2019 a Designer and Workflow
14/140
Cache Directory $PMCacheDir
Join Type Normal
Null Ordering in Master Null Highest value
Null Ordering in Detail Null Highest value
Tracing Level Normal
JoinerData Cache Size. 2,000,000 bytes
Joiner Index Cache Size 1,000,000 bytes.
Click OK.
Choose Repository-Save to save changes to the mapping
The Condition appears in the join condition row
-
8/3/2019 a Designer and Workflow
15/140
Source Qualifier transformation
The Source Qualifier represents the rows that the Informatica Server readswhen it executes a session.
When you add a relational or a flat file source definition to a mapping, you need tconnect it to a Source Qualifier transformation
-
8/3/2019 a Designer and Workflow
16/140
Transformation type: Active Connected
We can use the Source Qualifier to perform the following tasks:
Join data originating from the same source database .
Filter records when the Informatica Server reads source data .
Specify an outer join rather than the default inner join .
Specify sorted ports.
Select only distinct values from the source.
Create a custom query to issue a special SELECT statement for theInformatica Server to read source data.
Task of Source Qualifier transformation
-
8/3/2019 a Designer and Workflow
17/140
Default Query of source qualifier
For relational sources, the Informatica Server generates a query for eachSource Qualifier when it runs a session.
The default query is a SELECT statement for each source column used in
the mapping
The Informatica Server reads only the columns in Source Qualifier that areconnected to another transformation.
Source Definition Connected to a Source Qualifier Transformation
-
8/3/2019 a Designer and Workflow
18/140
To view the default query
To view the default query:
From the Properties tab, select SQL Query .
Click Generate SQL.
Click Cancel to exit
Note: If you do not cancel the SQL query, the Informatica Server overrides thedefault query with the custom SQL query
-
8/3/2019 a Designer and Workflow
19/140
Example of source qualifier transformation
you might see all the orders for the month, including order number, order amount,and customer name.
The ORDERS table includes the order number and amount of each order, but notThe customer name. To include the customer name, you need to join the ORDERSandCUSTOMERS tables.
-
8/3/2019 a Designer and Workflow
20/140
Setting the properties to source qualifier
Edit Transformation Tab
Tracing Level
Sorted port
FilterCondition
Pre sql
Post sql
Select distinct
-
8/3/2019 a Designer and Workflow
21/140
SQL Query
You can give query in the Source Qualifier transformation
Sql query
From the Properties tab, select SQL Query The SQL Editordisplays.Click Generate SQL.
-
8/3/2019 a Designer and Workflow
22/140
Joining source data
You can use one Source Qualifier transformation to join data from multiplerelational tables. These tables must be accessible from the same instance ordatabase server.
Use the Joiner transformation for heterogeneous sources and to join flat files
Userd
efine joinJoin con
dition
-
8/3/2019 a Designer and Workflow
23/140
Entering a Source Filter
You can enter a source filter to reduce the number of rows the Informatica Serverqueries. Do not include WHERE in the source filter.
Filter condition
-
8/3/2019 a Designer and Workflow
24/140
SortedPorts
For information about using SortedPorts to optimize join performance,
SortedPorts
-
8/3/2019 a Designer and Workflow
25/140
Aggregator Transformation
The Aggregator transformation allows you to perform aggregate calculations,such as averages and sums.
The Aggregator transformation is unlike the Expression transformation, in thatYou can use the Aggregator transformation to perform calculations on groups
The Expression transformation permits you to perform calculations on arow-by-row basis only.
you can use conditional clauses to filter rows, providing more flexibility than SQLlanguage.
The Informatica Server performs aggregate calculations as it reads, and storesnecessary data group and row data in an aggregate cache.
The Aggregator is an active transformation
-
8/3/2019 a Designer and Workflow
26/140
Aggregator TransformationEdit transformation
On the aggregator transformation double clik edit transfromation
Aggregator Transformation
-
8/3/2019 a Designer and Workflow
27/140
Components of the Aggregator Transformation
Aggregate expression
Group by port
Sorted input
Aggregate cache
-
8/3/2019 a Designer and Workflow
28/140
Aggregate expression
An aggregate expression can include conditional clauses and non-aggregatefunctions. It can also include one aggregate function nested within anotheraggregate function, such as:
MAX( COUNT( ITEM )
Aggregate Functions:
The aggregate functions can be used within an Aggregator transformation
You can nest one aggregate function within another aggregate function.
AVG
COUNT
-
8/3/2019 a Designer and Workflow
29/140
Aggregate Functions
FIRST
LAST
MAX
MEDIAN
MIN
PERCENTILE
STDDEV
SUM
VARIANCE
-
8/3/2019 a Designer and Workflow
30/140
Conditional Clauses
You can use conditional clauses in the aggregate expression to reduce thenumber of rows used in the aggregation.
Setting condition to aggregator transformation is as follows :
Double click to aggregator transformation edit transformation box opens
Edit transformation
-
8/3/2019 a Designer and Workflow
31/140
Click to port tab edit transformation box opens
Port tab in aggregator transformation
-
8/3/2019 a Designer and Workflow
32/140
output port for condition clauses
Enable the output port for condition clauses
Output port
-
8/3/2019 a Designer and Workflow
33/140
Click on expression tab expression edit transformation opens forgive any condition clauses .
Expression tab in aggregator transformation
-
8/3/2019 a Designer and Workflow
34/140
Click the group by option for each column you want the Aggregator to use increating groups.
Group port
Ports in aggregator transformation
-
8/3/2019 a Designer and Workflow
35/140
Creating an Aggregator Transformation
In the Mapping Designer, choose Transformation-Create. Select the Aggregatortransformation.
Enter a name for the Aggregator, click Create. Then click Done
Drag the desired ports to the Aggregator transformation
Double-click the title bar of the transformation to open the Edit Transformationsdialog box
Select the Ports tab.
Click the group by option for each column you want the Aggregator to use increating groups.
-
8/3/2019 a Designer and Workflow
36/140
Click Add and enter a name anddata type for the aggregate expression port.Make the port an output port by clearing Input (I).
Adddefault values for specific ports as necessary
Select the Properties tab
Creating an Aggregator Transformation
-
8/3/2019 a Designer and Workflow
37/140
Properties tab
Cache Directory
Tracing Level
Sorted Input
AggregatorData Cache Size
Aggregator Index Cache Size
-
8/3/2019 a Designer and Workflow
38/140
Aggregator Transformation Tips
Use sorted input to decrease the use of aggregate caches.
Limit connected input/output or output ports
Filter before aggregating.
-
8/3/2019 a Designer and Workflow
39/140
The Rank transformation allows you to select only the top or bottomrank ofdata.
The Rank transformation differs from the transformation functions MAXand MIN, to select a group of top or bottom values, not just one value.
For example, you can use Rank to select the top 10 salespersonsin a given territory
Sample Mapping with a Rank Transformation
The Rank transformation is Active Transforamtion
Rank transformation
-
8/3/2019 a Designer and Workflow
40/140
Transformation-Create. Select the Rank transformation
Click OK, and then click Done.
Link columns from an input transformation to the Rank transformation.
Click the Ports tab, and then select the Rank (R) option for the port
used to measure ranks.
to create groups for ranked rows, select Group By for the port thatdefines the group
How To create rank transformation
-
8/3/2019 a Designer and Workflow
41/140
Rank Transformation Properties :
Enter a cache directory.
Select the top or bottom rank.
Select the input/output port that contains values used to determinethe rank
Select the number of rows falling within a rank.
Define groups for ranks, such as the 10 least expensive products for
each manufacturer.
The Properties of Rank Transformation
-
8/3/2019 a Designer and Workflow
42/140
Click the Properties tab and select whether you want the top or
bottom rank
For the Number of Ranks option, enter the number of rows you wantto select for the rank. Change the following properties, if necessary:
Cache directory
Top/Bottom
Tracing level Normal
Rank Data Cache Size Default is 2,000,000 bytes.
Setting Properties to Rank Transformation
-
8/3/2019 a Designer and Workflow
43/140
Edit Transformation tab for the rank transformation
Edit Transformation tab :
Port tabProperties tabMetadata expression tab
Port tab
Data type
-
8/3/2019 a Designer and Workflow
44/140
Properties tab function
Top/Bottom
Number of Ranks
Tracing level Normal
Rank Data Cache Size
-
8/3/2019 a Designer and Workflow
45/140
The Properties of rank transformation
Top
Number of Ranks 1
Tracing level NormalRank Data Cache Size 4000,000
Rank Index Cache Size 2,000,000
-
8/3/2019 a Designer and Workflow
46/140
Example of rank transformation
-
8/3/2019 a Designer and Workflow
47/140
Setting the properties to rank transformation
.
Click to port tab
The Rank transformation includes input or input/output ports connected toanother transformation in the mapping. It also includes variable ports and arank port.
Port tab
-
8/3/2019 a Designer and Workflow
48/140
Ports in a Rank Transformation
Give the field name as sal1
-
8/3/2019 a Designer and Workflow
49/140
Ports in a Rank Transformation
Rank Transformation Ports
-
8/3/2019 a Designer and Workflow
50/140
Properties in rank transformation
click on the properties tab to set properties to rank transformation
-
8/3/2019 a Designer and Workflow
51/140
Sequence Generator Transformation
The Sequence Generator transformation generates numeric values
You can use the Sequence Generator to create unique primary key values,cycle through a sequential range of numbers
The Sequence Generator transformation is a connected transformation.
The Informatica Server generates a value each time a row enters aconnected transformation, even if that value is not used
W
hen NEXTVAL is connected to the input port of another transformation,the Informatica Server generates a sequence of numbers
When CURRVAL is connected to the input port of another transformation,the Informatica Server generates the NEXTVAL value plus one.
-
8/3/2019 a Designer and Workflow
52/140
.
You can make a Sequence Generator reusable, and use it in multiplemappings
You might reuse a Sequence Generator when you perform multiple loads to
a single target.
If you have a large input file that you separate into three sessions running inparallel, you can use a Sequence Generator to generate primary key values.
If you use different Sequence Generators, the Informatica Server mightaccidentally generate duplicate key values
Instead, you can use the reusable Sequence Generator for all three sessionsto provide a unique value for each target row.
Sequence Generator Transformation
-
8/3/2019 a Designer and Workflow
53/140
.
Tasks with a Sequence Generator transformation
Replace missing values.
Create keys.
Cycle through a sequential range of numbers.
-
8/3/2019 a Designer and Workflow
54/140
.
Creating a Sequence Generator Transformation
In the Mapping Designer, select Transformation-Create. Select theSequence Generator transformation.
-
8/3/2019 a Designer and Workflow
55/140
.
Edit transformation
Double-click the title bar of the transformation to open the EditTransformations dialog box
-
8/3/2019 a Designer and Workflow
56/140
.
Properties tab
Select the Properties tab. Enter settings as necessary.
Click OK.
To generate new sequences during a session, connect the NEXTVAL port toat least one transformation in the mapping.
Choose Repository-Save.
-
8/3/2019 a Designer and Workflow
57/140
.
Click OK.
To generate new sequences during a session, connect the NEXTVAL port toat least one transformation in the mapping
Choose Repository-Save.
Properties tab
-
8/3/2019 a Designer and Workflow
58/140
.
Sequence GeneratorPorts
The Sequence Generator provides two output ports: NEXTVAL andCURRVAL.
Use the NEXTVAL port to generate a sequence of numbers by connecting
it to a transformation or target.
You connect the NEXTVAL port to a downstream transformation to generatethe sequence based on the Current Value and Increment By properties
Connect NEXTVAL to multiple transformations to generate unique values foreach row in each transformation
you might connect NEXTVAL to two target tables in a mapping to generateunique primary key values.
-
8/3/2019 a Designer and Workflow
59/140
.
NEXTVAL to Two Target Tables in a Mapping
you configure the Sequence Generator transformation as follows:Current Value = 1, Increment By = 1.
When you run the workflow, the Informatica Server generates the followingprimary key values for the T_ORDERS_PRIMARY andT_ORDERS_FOREIGNtarget tables:
-
8/3/2019 a Designer and Workflow
60/140
.
Output for NEXTVAL in the sequence generator
T_ORDERS_PRIMA
RY TABLE:
PRIMARY KEY
T_ORDERS_FOREIGN TABLE:
PRIMARY KEY
1 23 4
5 6
7 8
9 10
-
8/3/2019 a Designer and Workflow
61/140
.
Sequence Generator and Expression Transformation
you configure the Sequence Generator transformation
as follows: Current Value = 1, Increment By = 1.
-
8/3/2019 a Designer and Workflow
62/140
.
Output
key values for the T_ORDERS_PRIMARY andT_ORDERS_FOREIGN target tables:
T_ORDERS_PRIMARYTABLE:PRIMARY KEY
T_ORDERS_FOREIGNTABLE:PRIMARY KEY
1 1
2 2
3 3
4 4
5 5
-
8/3/2019 a Designer and Workflow
63/140
.
CURRVAL
CURRVAL is the NEXTVAL value plus one or NEXTVAL plus theIncrement By value
You typically only connect the CURRVAL port when theNEXTVAL port is already connected to a downstream transformation
W
hen a row enters the transformation connected to the CURRVALport, the Informatica Server passes the last-created NEXTVAL
value plus one.
-
8/3/2019 a Designer and Workflow
64/140
.
Connecting CURRVAL and NEXTVAL Ports to a Target
you configure the Sequence Generator transformation asfollows: Current Value = 1, Increment By = 1.
When you run the workflow, the Informatica Servergenerates the following values forNEXTVAL and CURRVAL:
-
8/3/2019 a Designer and Workflow
65/140
.
OUT PUT
When you run the workflow, the Informatica Servergenerates the following values forNEXTVAL and CURRVAL:
NEXTVAL CURRVAL
1 2
2 3
3 4
4 5
5 6
If you connect the CURRVAL port without connecting theNEXTVAL port, the Informatica Server passes a constantvalue for each row.
-
8/3/2019 a Designer and Workflow
66/140
.
Only the CURRVAL Port to a Target
For example, you configure the Sequence Generatortransformation as follows
-
8/3/2019 a Designer and Workflow
67/140
.
OUTPUT
Current Value = 1, Increment By = 1.
CURRVAL
1
1
1
1
1
When you run the workflow, the Informatica Servergenerates the following constant values forCURRVAL:
-
8/3/2019 a Designer and Workflow
68/140
.
Sequence Generator Transformation Properties
The Sequence Generator is unique among allbecause you cannot add, edit, or delete its default ports(NEXTVAL and CURRVAL).
-
8/3/2019 a Designer and Workflow
69/140
.
Properties tab
-
8/3/2019 a Designer and Workflow
70/140
Normalizer Transformation
It is an Active and Connected Transformation
It normalizes COBOL sources and relational sources
allowing the user to organize the data as per therequirement
Primarily used for a COBOL source
-
8/3/2019 a Designer and Workflow
71/140
Tasks performed by Normalizer
Break out repeated data within a record into separate
recordsFor each new record it creates a unique identifier
Can be used with relational sources to create multiplerows from a single row of data
It generates the following columns when we create thetransformation 1) Generated key 2)Generated ColumnId
Designer generates a port for each REDEFINES clauseto specify the generated key which can be used as the
primary key column in the target tableDesigner generates a port for each OCCURS clause to
specify the positional index within an OCCURS clauseand can be used as the generated column ID to create aprimary-foreign key relationship
-
8/3/2019 a Designer and Workflow
72/140
-
8/3/2019 a Designer and Workflow
73/140
Workflow
Workflow is a set of instruction thatdescribes how and when to run tasksrelated to extraction, transformation and
loading of data.
-
8/3/2019 a Designer and Workflow
74/140
Architecture
sourcePowercentre
server
target
repository
Instructions frommetadata
Sourcedata
Transformeddata
-
8/3/2019 a Designer and Workflow
75/140
Workflow Manager
TasksTasks
Variables/Variables/EventsEvents
WorkWorkFoldersFolders
Link
-
8/3/2019 a Designer and Workflow
76/140
New Connection Features
Connection Dialogs
Replace Connections RegisterServer
Assign to Workflows
-
8/3/2019 a Designer and Workflow
77/140
D.T.MD.T.ML.ML.M
Work flowWork flow
L d
-
8/3/2019 a Designer and Workflow
78/140
Load manager
1. Locks the workflow and reads workflow properties. 2. Reads the parameter file and expands workflow
variables. 3. Creates the workflow log file.
4. Runs workflow tasks. 5. Distributes sessions to worker servers. 6. Starts the DTM to run sessions. 7. Runs sessions from master servers. 8. Sends post-session email if the DTM terminates
abnormally.
Data Transformation manager
-
8/3/2019 a Designer and Workflow
79/140
Data Transformation manager
1. Fetches session and mapping metadata from therepository.
2. Creates and expands session variables. 3. Creates the session log file.
4. Verifies connection object permissions. 5. Runs pre-session shell commands. 6. Runs pre-session stored procedures and SQL. 7. Creates and runs mapping, reader, writer, and
transformation threads to extract, transform, and load
data. 8. Runs post-session stored procedures and SQL. 9. Runs post-session shell commands. 10. Sends post-session email.
-
8/3/2019 a Designer and Workflow
80/140
Create a Workflow
-
8/3/2019 a Designer and Workflow
81/140
Create a Workflow
-
8/3/2019 a Designer and Workflow
82/140
Create a Workflow
-
8/3/2019 a Designer and Workflow
83/140
Create a Workflow
C f
-
8/3/2019 a Designer and Workflow
84/140
Create a Workflow
-
8/3/2019 a Designer and Workflow
85/140
New Objects (Tasks)
Local Tasks Sessions Commands Email Decision
Assignment Timer Control Event Raise Event Wait Worklet
Global Tasks Sessions
Commands
Email
Tasks are now the default units of work for building the workflow.Global tasks are reusable across workflows. Local tasks areindependent and self-contained within workflows.
Sessions (Updates)
-
8/3/2019 a Designer and Workflow
86/140
Sessions (Updates)
GeneralGeneral
First page allows for options to treat conditional links attached to the object as AND/ORfunctionality. Also control option to fail the parent (container) if task fails or does not run.Disabling a task in a workflow allows the task to be skipped instead of having to remove it.
UpdatedUpdatedparametersparameters
Sessions (Updates)
-
8/3/2019 a Designer and Workflow
87/140
Sessions (Updates)
PropertiesProperties
Addition to this page is the option to choose a different connection to resolve $Source and$Target used in lookups.
**Limitation - You can use $DBConnectionVariable but it will only resolve if the parameter isevaluated with the appropriate Source or Target Connection
If used when sourcing and targeting flat-files the parameter will not resolve.
UpdatedUpdated
connectionconnectionresolutionresolution
-
8/3/2019 a Designer and Workflow
88/140
-
8/3/2019 a Designer and Workflow
89/140
Sessions (Updates)
-
8/3/2019 a Designer and Workflow
90/140
Sessions (Updates)
Config ObjectConfig Object
This area is where typical allocation of memory occurs, log file options and error handlingThis area is where typical allocation of memory occurs, log file options and error handlingstrategies. The upgrade here is with the concept of maintaining common setting in a config objectstrategies. The upgrade here is with the concept of maintaining common setting in a config objectwhich is setup separately and chosen from a dropwhich is setup separately and chosen from a drop--down list.down list.
DropDrop--down fordown forcommoncommonsettingssettings
Config Object
-
8/3/2019 a Designer and Workflow
91/140
Config Object
Config ObjectConfig Object
By creating a session configuration object you can cut down on repetitively assigning memoryBy creating a session configuration object you can cut down on repetitively assigning memoryand log options. When migrating sessions you can optionally migrate configurations or maintainand log options. When migrating sessions you can optionally migrate configurations or maintainenvironment specific settings to be reassigned.environment specific settings to be reassigned.
Setup for reusableSetup for reusableConfiguration objectConfiguration object
-
8/3/2019 a Designer and Workflow
92/140
Sessions (Updates)
-
8/3/2019 a Designer and Workflow
93/140
Sessions (Updates)
TargetsTargets
Same subdivisions as sources. However in the Properties sub tab is where the Target OptionsSame subdivisions as sources. However in the Properties sub tab is where the Target Optionsare defined. The writers sub tab preserves the legacy operation of writing to a flatare defined. The writers sub tab preserves the legacy operation of writing to a flat--file while usingfile while usinga database specific target (as opposed to the new flata database specific target (as opposed to the new flat--file target).file target).
FilterFilter
Source Target Connections
-
8/3/2019 a Designer and Workflow
94/140
Source Target Connections
ConnectionsConnections
The dropThe drop--down list allows to select any available connection as well as specifically define the usedown list allows to select any available connection as well as specifically define the useof a Connection Variableof a Connection Variable
ConnectionConnectiondialogdialog
Sessions (Updates)
-
8/3/2019 a Designer and Workflow
95/140
Sessions (Updates)
Components
Components
The area where commands or email unique to this object can be defined. You can alternatelyThe area where commands or email unique to this object can be defined. You can alternatelyselect a reusable task to use as well.select a reusable task to use as well.
Choice ofChoice ofreusable orreusable or
local commandlocal command
Non-Reusable Commands
-
8/3/2019 a Designer and Workflow
96/140
Non Reusable Commands
Components
Components
Regardless of reusable or nonRegardless of reusable or non--reusable it is necessary to name the object since there is potentialreusable it is necessary to name the object since there is potentialto promote it.to promote it.
Option for localOption for localor reusableor reusable
Name ofName ofcommandcommand
objectobject
N R bl C d
-
8/3/2019 a Designer and Workflow
97/140
Non-Reusable Commands
Components
Components
The properties tab allows for error control for commands/tasksThe properties tab allows for error control for commands/tasks
Error Control forError Control formultiplemultiple
commands/taskscommands/tasks
N R bl C d
-
8/3/2019 a Designer and Workflow
98/140
Non-Reusable Commands
ComponentsComponents
The Command tab allows for editing of commands (obviously)The Command tab allows for editing of commands (obviously)
Command editorCommand editor
Reusable Commands
-
8/3/2019 a Designer and Workflow
99/140
Reusable Commands
ComponentsComponents
A nonA non--reusable command can be promoted to reusable or else you can select one from availablereusable command can be promoted to reusable or else you can select one from availabletasks.tasks.
ReusableReusableCommandCommand
Selection DialogSelection Dialog
Reusable Commands
-
8/3/2019 a Designer and Workflow
100/140
Reusable Commands
ComponentsComponents
LimitationLimitation aa nonnon--reusablereusable andand reusablereusable commandcommand cancan resolve Server Variables but only fromresolve Server Variables but only fromwithin the Components tab of the session. A command canwithin the Components tab of the session. A command can NOTNOT resolve Server Variables if usedresolve Server Variables if usedin an externalin an external Command TaskCommand Task. Understand before promoting.. Understand before promoting.
LimitationLimitation
Sessions (Updates)
-
8/3/2019 a Designer and Workflow
101/140
Sessions (Updates)
TransformationsTransformations
The transformations area preserves all the previous capabilities. The update is the addition of theThe transformations area preserves all the previous capabilities. The update is the addition of themain instance filter and another filter button that only displays transformation where overrides canmain instance filter and another filter button that only displays transformation where overrides canbe performed. Also this is where you can input the NEW pre/post SQL commands.be performed. Also this is where you can input the NEW pre/post SQL commands.
Filter for modifiableFilter for modifiable
transformationstransformationsInstance FilterInstance Filter
Sessions (Updates)
-
8/3/2019 a Designer and Workflow
102/140
Sessions (Updates)
Metadata ExtensionsMetadata Extensions
Metadata extensions are available to individual object/tasks or can be made reusable and global.Metadata extensions are available to individual object/tasks or can be made reusable and global.These columns can not be autoThese columns can not be auto--populated with functions but they do allow the extendibility forpopulated with functions but they do allow the extendibility formore reporting options (e.g., Developer Name, Version, Creation Date, etc.)more reporting options (e.g., Developer Name, Version, Creation Date, etc.)
Metadata columnMetadata column
Promote toPromote toreusablereusable
-
8/3/2019 a Designer and Workflow
103/140
-
8/3/2019 a Designer and Workflow
104/140
-
8/3/2019 a Designer and Workflow
105/140
-
8/3/2019 a Designer and Workflow
106/140
Command Tasks
-
8/3/2019 a Designer and Workflow
107/140
Command Tasks
CommandCommand
The command object can be created globally under the Task Developer. It can also be promotedThe command object can be created globally under the Task Developer. It can also be promotedhere from within a mapping.here from within a mapping.
C d T k
-
8/3/2019 a Designer and Workflow
108/140
Command Tasks
-
8/3/2019 a Designer and Workflow
109/140
-
8/3/2019 a Designer and Workflow
110/140
E tW it
-
8/3/2019 a Designer and Workflow
111/140
EventWait
A i t
-
8/3/2019 a Designer and Workflow
112/140
Assignment
-
8/3/2019 a Designer and Workflow
113/140
-
8/3/2019 a Designer and Workflow
114/140
Email Tasks
EmailEmail
Email task is very similar to the command task since it can be either created in the TaskEmail task is very similar to the command task since it can be either created in the TaskDeveloper or promoted from a mapping. The properties tab allows for an expression editor forDeveloper or promoted from a mapping. The properties tab allows for an expression editor fortext creation utilizing the builttext creation utilizing the built--in variables.in variables.
Email textEmail textcreation dialogcreation dialog
BuiltBuilt--ininVariablesVariables
Links and Conditions
-
8/3/2019 a Designer and Workflow
115/140
DefiinitionDefiinition
Links and their underlying conditions are what provide process control to the workflow. When anLinks and their underlying conditions are what provide process control to the workflow. When anattached link condition resolves to TRUE then the attached object may begin processing. Thereattached link condition resolves to TRUE then the attached object may begin processing. Therecan be no looping and links can only execute once per workflow. However more complexcan be no looping and links can only execute once per workflow. However more complexbranching and decisions can be made by combining multiple links to a single object or branchingbranching and decisions can be made by combining multiple links to a single object or branchinginto decision type paths. Each link has its own expression editor and can utilize upstreaminto decision type paths. Each link has its own expression editor and can utilize upstreamresolved object variables or userresolved object variables or user--defined variables for its own evaluation.defined variables for its own evaluation.
Link conditionLink condition
Links and Conditions
-
8/3/2019 a Designer and Workflow
116/140
Object VariablesObject Variables
The default set of object variables from a session can provide more information than just a statusThe default set of object variables from a session can provide more information than just a statusof Completed. More complex evaluation can be done for ErrorCode, StartTime,of Completed. More complex evaluation can be done for ErrorCode, StartTime,SrcSuccessRows, etc. In addition to the default object variables, User Defined variables can beSrcSuccessRows, etc. In addition to the default object variables, User Defined variables can becreated and populated via parameter files or changed in the workflow via Assignment tasks. Alsocreated and populated via parameter files or changed in the workflow via Assignment tasks. Alsoany upstream task that has completed can have its variables utilized in downstream linkany upstream task that has completed can have its variables utilized in downstream linkconditions.conditions.
Object VariablesObject Variables
Workflow Variables
-
8/3/2019 a Designer and Workflow
117/140
Variable Task Type Datatype **SupportedStatus Returns
ABORTEDDISABLEDFAILEDNOTSTARTEDSTARTEDSTOPPEDSUCCEEDED
Condition Decision Task Integer
EndTime All tasks Date/time
ErrorCode All tasks Integer
ErrorMsg All tasks Nstring*
FirstErrorCode Session task Integer
FirstErrorMsg Session task Nstring*
PrevTaskStatus All tasks Integer
SrcFailedRows Session task Integer
SrcSuccessRows
Session task Integer
StartTime All tasks Date/time
Status** All tasks Integer
TgtFailedRows Session tasks Integer
TgtSuccessRows
Sessions Integer
TotalTransErrors
Sessions Integer
* Variables of type Nstring can have a maximum length of 600
characters.
Workflow Variables
-
8/3/2019 a Designer and Workflow
118/140
UserUser--defined Variablesdefined Variables
Variables are created at the container level much like the mappings. (Workflows=Mappings,Variables are created at the container level much like the mappings. (Workflows=Mappings,Worklets=Mapplets). Once created values can be passed to objects within the same containerWorklets=Mapplets). Once created values can be passed to objects within the same containerfor evaluation. (Assignment Task can modify/calculate variables)for evaluation. (Assignment Task can modify/calculate variables)
Edit VariablesEdit Variables
Workflow Variables
-
8/3/2019 a Designer and Workflow
119/140
UserUser--defined Variablesdefined Variables
A userA user--defined variable can assist in more complex evaluations. In the above example, andefined variable can assist in more complex evaluations. In the above example, anexternal parameter file contains the number of expected rows. This in turn is evaluated againstexternal parameter file contains the number of expected rows. This in turn is evaluated againstthe actual rows successfully read from an upstream session. $ signifies and is reserved for prethe actual rows successfully read from an upstream session. $ signifies and is reserved for pre--defined variables. User defined variables should maintain $$ naming.defined variables. User defined variables should maintain $$ naming.
User DefinedUser DefinedVariablesVariables
PrePre--DefinedDefinedVariableVariable
Link decision
-
8/3/2019 a Designer and Workflow
120/140
Link decision
Parameter File
-
8/3/2019 a Designer and Workflow
121/140
FormatFormat
The format is slightly different going forward for declaring variables but legacy naming isThe format is slightly different going forward for declaring variables but legacy naming ispreserved with the foldername.sessionpreserved with the foldername.session
Workflow variables:
[folder name.WF:workflow name]
Worklet variables:[folder name.WF:workflow name.WT:worklet name]
Worklet variables in nested worklets:[folder name.WF:workflow name.WT:worklet name.WT:worklet name...]
Session parameters, plus mapping parameters and variables:[folder name.WF:workflow name.ST:session name]
or[folder name.session name]
or[session name]
Assignment Task
-
8/3/2019 a Designer and Workflow
122/140
g
UsageUsage
The assignment task allows for workflow variables to be manipulated, assigned or calculated andThe assignment task allows for workflow variables to be manipulated, assigned or calculated andstored (either for the session run or as persistent) for downstream evaluation and conditionstored (either for the session run or as persistent) for downstream evaluation and conditionresolution. The Expression Section allows for the selection of the appropriate variable toresolution. The Expression Section allows for the selection of the appropriate variable tomanipulate along with the assignment through an Expression Editor. In order to use it ismanipulate along with the assignment through an Expression Editor. In order to use it isnecessary to first create a variable through the Edit Variables dialognecessary to first create a variable through the Edit Variables dialog
Edit VariablesEdit Variables
Event Task
-
8/3/2019 a Designer and Workflow
123/140
UsageUsage
Events are similar to variables. They are repository tags that are a little more flexible (cleaner)Events are similar to variables. They are repository tags that are a little more flexible (cleaner)than dealing with indicator files (although event watch can be used with indicator files). Beforethan dealing with indicator files (although event watch can be used with indicator files). Beforeutilizing the new functionality it is necessary to create these Event tags within the container thatutilizing the new functionality it is necessary to create these Event tags within the container thatthey will be used. Events can not be monitored across workflows or worklets (even if a worklet isthey will be used. Events can not be monitored across workflows or worklets (even if a worklet ispart of the workflow).part of the workflow).
Edit EventsEdit Events
Event Task
-
8/3/2019 a Designer and Workflow
124/140
UsageUsage
If using Event tags then an Event Raise is used in conjunction with an Event Wait. In the aboveIf using Event tags then an Event Raise is used in conjunction with an Event Wait. In the aboveexample two branches are executed in parallel. The second session of the lower branch willexample two branches are executed in parallel. The second session of the lower branch willremain in stasis until the upper branch completes triggering the event. The lower branches eventremain in stasis until the upper branch completes triggering the event. The lower branches eventwait task recognizes the event and allows for the second session to start.wait task recognizes the event and allows for the second session to start.
Event RaiseEvent Raise
EventWaitEventWait
Event Raise
-
8/3/2019 a Designer and Workflow
125/140
UsageUsage
To configure the Event Raise task the dropTo configure the Event Raise task the drop--down box allows for selection of the appropriate userdown box allows for selection of the appropriate user--defined Event tag. This will create an entry in the repository for a matching event wait to look for.defined Event tag. This will create an entry in the repository for a matching event wait to look for.
EventWait
-
8/3/2019 a Designer and Workflow
126/140
UsageUsage
The event wait allows for configuration for an Event Raise (userThe event wait allows for configuration for an Event Raise (user--defined event) or existencedefined event) or existencecheck for an indicator file.check for an indicator file.
User DefinedUser Defined
EventEvent
Indicator FileIndicator File
EventWait
-
8/3/2019 a Designer and Workflow
127/140
UsageUsage
The properties section of the Event Wait task allows for further definition of behavior. If yourThe properties section of the Event Wait task allows for further definition of behavior. If yourworkflow has failed/suspended after Event Raise but before the EventWait has resolved, then theworkflow has failed/suspended after Event Raise but before the EventWait has resolved, then theEnable Past Events is able to recognize that the Event has happened already. If working withEnable Past Events is able to recognize that the Event has happened already. If working withindicator files you have to ability to either delete the file or allow it to stay in case someindicator files you have to ability to either delete the file or allow it to stay in case somedownstream Event Waits are also keying on that file.downstream Event Waits are also keying on that file.
Resume/RestartResume/RestartSupportSupport
FlatFlat--file Cleanupfile Cleanup
Decision Task
-
8/3/2019 a Designer and Workflow
128/140
UsageUsage
The decision task allows for True/False based branching of process ordering. The Decision taskThe decision task allows for True/False based branching of process ordering. The Decision taskcan home multiple conditions and therefore downstream links can be evaluated simply upon thecan home multiple conditions and therefore downstream links can be evaluated simply upon theDecision being True or False.Decision being True or False.
**Note it is possible to have the decision based on SUCCEEDED or FAILED of previous task,**Note it is possible to have the decision based on SUCCEEDED or FAILED of previous task,however if workflow is set to suspend on error than that branch is suspended and the decisionhowever if workflow is set to suspend on error than that branch is suspended and the decisionwont trigger on a FAILED conditionwont trigger on a FAILED condition
Control Task
-
8/3/2019 a Designer and Workflow
129/140
UsageUsage
The control task is utilized in a branching manner to present a level of stoppage during theThe control task is utilized in a branching manner to present a level of stoppage during theworkflow. Consider if too many sessions have too many failed rows. The options allow forworkflow. Consider if too many sessions have too many failed rows. The options allow fordifferent levels such as failing at the object level to Aborting the whole workflow.different levels such as failing at the object level to Aborting the whole workflow.
Ti T k
-
8/3/2019 a Designer and Workflow
130/140
Timer Task
UsageUsage
The timer task has two main ways to be utilized. The first way is by absolute time that is timeThe timer task has two main ways to be utilized. The first way is by absolute time that is timeevaluated by server time or a userevaluated by server time or a user--defined variable (that contains the date/time stamp to start).defined variable (that contains the date/time stamp to start).
Timer Task
-
8/3/2019 a Designer and Workflow
131/140
UsageUsage
The second usage is by Relative time that offers options of time calculated from when theThe second usage is by Relative time that offers options of time calculated from when theprocess reached this (Timer) task, from the start of the container this task, or from the start of theprocess reached this (Timer) task, from the start of the container this task, or from the start of theabsolute topabsolute top--level workflow.level workflow.
WORKLET
-
8/3/2019 a Designer and Workflow
132/140
Object that represents a set of tasks
It can contain any task available in the
Workflow Manager
You can run worklets inside a workflow. Theworkflow that contains the worklet is called theparent workflow
Create a worklet when you want to reuse a set
of workflow logic in several workflows.
Creating a Reusable Worklet
-
8/3/2019 a Designer and Workflow
133/140
Creating a Non-Reusable
-
8/3/2019 a Designer and Workflow
134/140
To create a non-reusable worklet:
1. In theWorkflow Designer, open a workflow.
2. Choose Tasks-Create.
3. SelectW
orklet for the Task type.4. Enter a name for the worklet.
5. Click Create.
TheWorkflow Designer creates the worklet and
adds it to the workspace.6. Click Done.
Worklet
ConfiguringWorklet Properties
-
8/3/2019 a Designer and Workflow
135/140
Worklet variables. Use worklet variables toreference values and record information. Youuse worklet variables the same way you useworkflow variables. You can assign a workflowvariable to a worklet variable to override its initialvalue.
Events. To use the Event-Wait and Event-Raisetasks in the worklet, you must first declare anevent in the worklet properties.
Metadata extension. Extend the metadatastored in the repository by associatinginformation with repository objects.
Adding Tasks in Worklets
-
8/3/2019 a Designer and Workflow
136/140
After you create a new worklet, add tasks by opening theworklet in the Worklet Designer. A worklet must containa Start task. The Start task represents the beginning of aworklet. When you create a worklet, theWorkletDesigner automatically creates a Start task for you.
To add tasks to a non-reusable worklet:1. Create a non-reusable worklet in the WorkflowDesigner workspace.2. Right-click the worklet and choose OpenWorklet.3. The Worklet Designer opens so you can add tasks inthe worklet.4. Add tasks in the worklet by using the Tasks toolbar orchoose Tasks-Create in theWorklet Designer.5. Connect tasks with links.
Using Worklet Variables
-
8/3/2019 a Designer and Workflow
137/140
Worklet variables are similar to workflowvariables.
A worklet has the same set of pre-definedvariables as any task. You can also create user-
defined worklet variables. Like user-definedworkflow variables, user-defined workletvariables can be persistent or non-persistent
You cannot use variables from the parent
workflow in the worklet.
Workflow Monitor
-
8/3/2019 a Designer and Workflow
138/140
Workflow Monitor
-
8/3/2019 a Designer and Workflow
139/140
-
8/3/2019 a Designer and Workflow
140/140