Escolar Documentos
Profissional Documentos
Cultura Documentos
0)
This product includes software licensed under the terms at http://www.tcl.tk/software/tcltk/license.html, http://www.bosrup.com/web/overlib/?License, http://
www.stlport.org/doc/ license.html, http://asm.ow2.org/license.html, http://www.cryptix.org/LICENSE.TXT, http://hsqldb.org/web/hsqlLicense.html, http://
httpunit.sourceforge.net/doc/ license.html, http://jung.sourceforge.net/license.txt , http://www.gzip.org/zlib/zlib_license.html, http://www.openldap.org/software/release/
license.html, http://www.libssh2.org, http://slf4j.org/license.html, http://www.sente.ch/software/OpenSourceLicense.html, http://fusesource.com/downloads/licenseagreements/fuse-message-broker-v-5-3- license-agreement; http://antlr.org/license.html; http://aopalliance.sourceforge.net/; http://www.bouncycastle.org/licence.html;
http://www.jgraph.com/jgraphdownload.html; http://www.jcraft.com/jsch/LICENSE.txt; http://jotm.objectweb.org/bsd_license.html; . http://www.w3.org/Consortium/Legal/
2002/copyright-software-20021231; http://www.slf4j.org/license.html; http://nanoxml.sourceforge.net/orig/copyright.html; http://www.json.org/license.html; http://
forge.ow2.org/projects/javaservice/, http://www.postgresql.org/about/licence.html, http://www.sqlite.org/copyright.html, http://www.tcl.tk/software/tcltk/license.html, http://
www.jaxen.org/faq.html, http://www.jdom.org/docs/faq.html, http://www.slf4j.org/license.html; http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/License; http://
www.keplerproject.org/md5/license.html; http://www.toedter.com/en/jcalendar/license.html; http://www.edankert.com/bounce/index.html; http://www.net-snmp.org/about/
license.html; http://www.openmdx.org/#FAQ; http://www.php.net/license/3_01.txt; http://srp.stanford.edu/license.txt; http://www.schneier.com/blowfish.html; http://
www.jmock.org/license.html; http://xsom.java.net; http://benalman.com/about/license/; https://github.com/CreateJS/EaselJS/blob/master/src/easeljs/display/Bitmap.js;
http://www.h2database.com/html/license.html#summary; http://jsoncpp.sourceforge.net/LICENSE; http://jdbc.postgresql.org/license.html; http://
protobuf.googlecode.com/svn/trunk/src/google/protobuf/descriptor.proto; https://github.com/rantav/hector/blob/master/LICENSE; http://web.mit.edu/Kerberos/krb5current/doc/mitK5license.html; http://jibx.sourceforge.net/jibx-license.html; https://github.com/lyokato/libgeohash/blob/master/LICENSE; https://github.com/hjiang/jsonxx/
blob/master/LICENSE; https://code.google.com/p/lz4/; https://github.com/jedisct1/libsodium/blob/master/LICENSE; http://one-jar.sourceforge.net/index.php?
page=documents&file=license; https://github.com/EsotericSoftware/kryo/blob/master/license.txt; http://www.scala-lang.org/license.html; https://github.com/tinkerpop/
blueprints/blob/master/LICENSE.txt; http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html; https://aws.amazon.com/asl/; https://github.com/
twbs/bootstrap/blob/master/LICENSE; https://sourceforge.net/p/xmlunit/code/HEAD/tree/trunk/LICENSE.txt; https://github.com/documentcloud/underscore-contrib/blob/
master/LICENSE, and https://github.com/apache/hbase/blob/master/LICENSE.txt.
This product includes software licensed under the Academic Free License (http://www.opensource.org/licenses/afl-3.0.php), the Common Development and Distribution
License (http://www.opensource.org/licenses/cddl1.php) the Common Public License (http://www.opensource.org/licenses/cpl1.0.php), the Sun Binary Code License
Agreement Supplemental License Terms, the BSD License (http:// www.opensource.org/licenses/bsd-license.php), the new BSD License (http://opensource.org/
licenses/BSD-3-Clause), the MIT License (http://www.opensource.org/licenses/mit-license.php), the Artistic License (http://www.opensource.org/licenses/artisticlicense-1.0) and the Initial Developers Public License Version 1.0 (http://www.firebirdsql.org/en/initial-developer-s-public-license-version-1-0/).
This product includes software copyright 2003-2006 Joe WaInes, 2006-2007 XStream Committers. All rights reserved. Permissions and limitations regarding this
software are subject to terms available at http://xstream.codehaus.org/license.html. This product includes software developed by the Indiana University Extreme! Lab.
For further information please visit http://www.extreme.indiana.edu/.
This product includes software Copyright (c) 2013 Frank Balluffi and Markus Moeller. All rights reserved. Permissions and limitations regarding this software are subject
to terms of the MIT license.
See patents at https://www.informatica.com/legal/patents.html.
DISCLAIMER: Informatica LLC provides this documentation "as is" without warranty of any kind, either express or implied, including, but not limited to, the implied
warranties of noninfringement, merchantability, or use for a particular purpose. Informatica LLC does not warrant that this software or documentation is error free. The
information provided in this software or documentation may include technical inaccuracies or typographical errors. The information in this software and documentation is
subject to change at any time without notice.
NOTICES
This Informatica product (the "Software") includes certain drivers (the "DataDirect Drivers") from DataDirect Technologies, an operating company of Progress Software
Corporation ("DataDirect") which are subject to the following terms and conditions:
1. THE DATADIRECT DRIVERS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
2. IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS, WHETHER OR NOT
INFORMED OF THE POSSIBILITIES OF DAMAGES IN ADVANCE. THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION, INCLUDING, WITHOUT
LIMITATION, BREACH OF CONTRACT, BREACH OF WARRANTY, NEGLIGENCE, STRICT LIABILITY, MISREPRESENTATION AND OTHER TORTS.
Part Number: IN-DWG-10000-0001
Table of Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Informatica Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Informatica My Support Portal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Informatica Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Informatica Product Availability Matrixes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Informatica Web Site. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Informatica How-To Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Informatica Knowledge Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Informatica Support YouTube Channel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Informatica Marketplace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Informatica Velocity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Informatica Global Customer Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Chapter 1: Workflows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Workflows Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Creating a Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Workflow Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Exclusive Gateways. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Adding Objects to a Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Sequence Flows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Conditional Sequence Flows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Parameters and Variables in Conditional Sequence Flows. . . . . . . . . . . . . . . . . . . . . . . . 17
Connecting Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Creating a Conditional Sequence Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Workflow Advanced Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Workflow Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Sequence Flow Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Expression Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Workflow Object Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Validating a Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Workflow Deployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Deploy and Run a Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Running Workflows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Monitoring Workflows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Deleting a Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Workflow Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Example: Running Commands Before and After Running a Mapping. . . . . . . . . . . . . . . . . . 22
Example: Splitting a Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table of Contents
Table of Contents
Table of Contents
Table of Contents
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Table of Contents
Preface
The Informatica Developer Workflow Guide is written for developers and administrators who are responsible
for creating and running workflows. This guide assumes that you have an understanding of flat file and
relational database concepts, the database engines in your environment, and data quality concepts. This
guide also assumes that you are familiar with the concepts presented in the Informatica Developer User
Guide.
Informatica Resources
Informatica My Support Portal
As an Informatica customer, the first step in reaching out to Informatica is through the Informatica My Support
Portal at https://mysupport.informatica.com. The My Support Portal is the largest online data integration
collaboration platform with over 100,000 Informatica customers and partners worldwide.
As a member, you can:
Search the Knowledge Base, find product documentation, access how-to documents, and watch support
videos.
Find your local Informatica User Group Network and collaborate with your peers.
Informatica Documentation
The Informatica Documentation team makes every effort to create accurate, usable documentation. If you
have questions, comments, or ideas about this documentation, contact the Informatica Documentation team
through email at infa_documentation@informatica.com. We will use your feedback to improve our
documentation. Let us know if we can contact you regarding your comments.
The Documentation team updates documentation as needed. To get the latest documentation for your
product, navigate to Product Documentation from https://mysupport.informatica.com.
Informatica Marketplace
The Informatica Marketplace is a forum where developers and partners can share solutions that augment,
extend, or enhance data integration implementations. By leveraging any of the hundreds of solutions
available on the Marketplace, you can improve your productivity and speed up time to implementation on
your projects. You can access Informatica Marketplace at http://www.informaticamarketplace.com.
Informatica Velocity
You can access Informatica Velocity at https://mysupport.informatica.com. Developed from the real-world
experience of hundreds of data management projects, Informatica Velocity represents the collective
knowledge of our consultants who have worked with organizations from around the world to plan, develop,
deploy, and maintain successful data management solutions. If you have questions, comments, or ideas
about Informatica Velocity, contact Informatica Professional Services at ips@informatica.com.
10
Preface
The telephone numbers for Informatica Global Customer Support are available from the Informatica web site
at http://www.informatica.com/us/services-and-training/support-services/global-support-centers/.
Preface
11
CHAPTER 1
Workflows
This chapter includes the following topics:
Workflows Overview, 12
Creating a Workflow, 13
Workflow Objects, 14
Sequence Flows, 15
Workflow Validation, 19
Workflow Deployment, 20
Running Workflows, 21
Monitoring Workflows, 21
Deleting a Workflow, 21
Workflow Examples, 22
Workflows Overview
A workflow is a graphical representation of a set of events, tasks, and decisions that define a business
process. You use the Developer tool to add objects to a workflow and to connect the objects with sequence
flows. The Data Integration Service uses the instructions configured in the workflow to run the objects.
A workflow object is an event, task, or gateway. An event starts or ends the workflow. A task is an activity
that runs a single unit of work in the workflow, such as running a mapping, sending an email, or running a
shell command. A gateway makes a decision to split and merge paths in the workflow.
A sequence flow connects workflow objects to specify the order that the Data Integration Service runs the
objects. You can create a conditional sequence flow to determine whether the Data Integration Service runs
the next object.
The following figure shows a sample workflow:
12
You can define and use workflow variables and parameters to make workflows more flexible. A workflow
variable represents a value that records run-time information and that can change during a workflow run. A
workflow parameter represents a constant value that you define before running a workflow. You use workflow
variables and parameters in conditional sequence flows and object fields. You also use workflow variables
and parameters to pass data between a task and the workflow.
You can configure a workflow for recovery so that you can complete an interrupted workflow instance. A
running workflow instance can be interrupted when an error occurs, when you cancel the workflow instance,
or when a service process shuts down unexpectedly. You cannot recover an aborted workflow.
To develop a workflow, complete the following steps:
1.
Create a workflow.
2.
3.
Connect objects with sequence flows to specify the order that the Data Integration Service runs the
objects. Create conditional sequence flows to determine whether the Data Integration Service runs the
next object.
4.
Define variables for the workflow to capture run-time information. Use the workflow variables in
conditional sequence flows and object fields.
5.
Define parameters for the workflow so that you can change parameter values each time you run a
workflow. Use the workflow parameters in conditional sequence flows and object fields.
6.
7.
8.
Add the workflow to an application and deploy the application to the Data Integration Service.
After you deploy a workflow, you run an instance of the workflow from the deployed application using the
infacmd wfs command line program. You monitor the workflow instance run in the Monitoring tool.
Creating a Workflow
When you create a workflow, the Developer tool adds a Start event and an End event to the workflow.
1.
2.
3.
4.
Click Finish.
A workflow with a Start event and an End event appears in the editor.
Creating a Workflow
13
Workflow Objects
A workflow object is an event, task, or gateway. You add objects as you develop a worklow in the editor.
Workflow objects are non-reusable. The Developer tool stores the objects within the workflow only.
Events
An event starts or ends the workflow. An event represents something that happens when the workflow runs.
The editor displays events as circles.
The following table describes all events that you can add to a workflow:
Event
Description
Start
Represents the beginning of the workflow. A workflow must contain one Start event.
End
Represents the end of the workflow. A workflow must contain one End event.
The Developer tool gives each event a default name of Start_Event or End_Event. You can rename and add
a description to an event in the event properties.
Tasks
A task in an activity that runs a single unit of work in the workflow, such as running a mapping, sending an
email, or running a shell command. A task represents something that is performed during the workflow. The
editor displays tasks as squares.
The following table describes all tasks that you can add to a workflow:
Task
Description
Assignment
Command
Human
Defines actions that one or more users perform on the workflow data. Create a Human task when
you want Analyst tool users to analyze the output of a mapping that runs in a Mapping task.
Mapping
Runs a mapping.
Notification
Voting
Not active. Analyst tool users run approval workflows to approve or reject the assets in a business
glossary. Analyst tool do not interact with the workflow features of the Developer tool to configure
or run approval workflows.
14
Chapter 1: Workflows
Exclusive Gateways
An Exclusive gateway splits and merges paths in the workflow based on how the Data Integration Service
evaluates expressions in conditional sequence flows. An Exclusive gateway represents a decision made in
the workflow. The editor displays Exclusive gateways as diamonds.
When an Exclusive gateway splits the workflow, the Data Integration Service makes a decision to take one of
the outgoing branches. When an Exclusive gateway merges the workflow, the Data Integration Service waits
for one incoming branch to complete before triggering the outgoing branch.
When you add an Exclusive gateway to split a workflow, you must add another Exclusive gateway to merge
the branches back into a single flow.
The Developer tool gives each Exclusive gateway a default name of Exclusive_Gateway. When you add
another Exclusive gateway to the same workflow, the Developer tool appends an integer to the default name,
for example Exclusive_Gateway1. You can rename and add a description to an Exclusive gateway in the
gateway general properties.
2.
Select an object from the Workflow Object palette and drag it to the editor. If you selected a Mapping
task, click Browse to select the mapping and then click Finish.
Or to add a Mapping task, select a mapping from the Object Explorer view and drag it to the editor.
The object appears in the editor. Select the object to configure the object properties.
Sequence Flows
A sequence flow connects workflow objects to specify the order that the Data Integration Service runs the
objects. The editor displays sequence flows as arrows. You can create conditional sequence flows to
determine whether the Data Integration Service runs the next object.
You cannot use sequence flows to create loops. Each sequence flow can run one time.
The number of incoming and outgoing sequence flows that an object can have depends on the object type:
Events
A Start event must have a single outgoing sequence flow. An End event must have a single incoming
sequence flow.
Tasks
Tasks must have a single incoming sequence flow and a single outgoing sequence flow.
Gateways
Gateways must have either multiple incoming sequence flows or multiple outgoing sequence flows, but
not both. Use multiple outgoing sequence flows from an Exclusive gateway to split a workflow. Use
multiple incoming sequence flows to an Exclusive gateway to merge multiple branches into a single flow.
Sequence Flows
15
When you connect objects, the Developer tool gives the sequence flow a default name. The Developer tool
names sequence flows using the following format:
<originating object name>_to_<ending object name>
If you create a conditional sequence flow, you might want to rename the sequence flow to indicate the
conditional expression. For example, if a conditional sequence flow from a Mapping task to a Command task
includes a condition that checks if the Mapping task ran successfully, you might want to rename the
sequence flow to MappingSucceeded. You can rename and add a description to a sequence flow in the
sequence flow general properties.
16
Chapter 1: Workflows
Related Topics:
Related Topics:
Connecting Objects
Connect objects with sequence flows to determine the order that the Data Integration Service runs the
objects in the workflow.
To connect two objects, select the first object in the editor and drag it to the second object. To connect
multiple objects, use the Connect Workflow Objects dialog box.
1.
2.
Select the object that you want to connect from, select the object that you want to connect to, and click
Apply.
3.
2.
3.
4.
5.
If an error appears, fix the error and validate the condition again.
Sequence Flows
17
Description
ERROR
WARNING
In addition to the error level messages, logs warning messages that indicate failures
occurred, but the failures did not cause the workflow instance to fail.
The workflow log displays this level as WARNING.
INFO
In addition to the warning level messages, logs additional initialization information and
details about the workflow instance run. Logs task processing details including the input
data passed to the task, the work item completed by the task, and the output data produced
by the task. Also logs the parameter file name and expression evaluation results for
conditional sequence flows.
The workflow log displays this level as INFO.
TRACE
In addition to the info level messages, logs additional details about workflow or task
initialization.
The workflow log displays this level as FINE.
DEBUG
In addition to the trace level messages, logs additional details about task input and task
output and about the workflow state.
The workflow log displays this level as FINEST.
Enable Recovery
Indicates that the workflow is enabled for recovery. When you enable a workflow for recovery, you can
recover a workflow instance if a task with a restart recovery strategy encounters a recoverable error, if
you cancel the workflow instance, or if the Data Integration Service process shuts down unexpectedly.
When you enable a workflow for recovery, you must define a recovery strategy for each task in the
workflow.
Default is disabled.
Automatically Recover Workflows
Indicates that the Data Integration Service process automatically recovers workflow instances that were
interrupted by an unexpected service process shutdown. The workflow recovery starts after the Data
Integration Service process restarts. You can select this option if the workflow is enabled for recovery.
Default is disabled.
18
Chapter 1: Workflows
Workflow Validation
When you develop a workflow, you must configure it so that the Data Integration Service can read and
process the entire workflow. The Developer tool marks a workflow as not valid when it detects errors that will
prevent the Data Integration Service from running the workflow.
When you validate a workflow, the Developer tool validates sequence flows, expressions, and workflow
objects.
The workflow cannot run if the sequence flows loop. Each sequence flow can run one time.
The Start event has one outgoing sequence flow that does not include a condition.
Each task has one incoming sequence flow and one outgoing sequence flow.
Each Exclusive gateway has either multiple incoming sequence flows or multiple outgoing sequence
flows, but not both. Each Exclusive gateway that splits the workflow has at least two outgoing sequence
flows with one of the sequence flows set as the default. Each Exclusive gateway that merges the workflow
does not have a default outgoing sequence flow.
For a conditional sequence flow, the expression returns a boolean or integer value. The expression
cannot contain a carriage return character or line feed character.
Expression Validation
You can validate an expression in a conditional sequence flow or in an Assignment task while you are
creating the expression. If you did not correct the errors, error messages appear in the Validation Log view
when you validate the workflow.
Workflow Validation
19
Each Command task includes a command that does not contain a carriage return character or line feed
character. If the command uses workflow parameters or variables, the Developer tool verifies that the
parameters and variables exist.
Each Mapping task includes a valid mapping that exists in the repository.
Each Notification task includes at least one recipient. If the task uses workflow parameters or variables,
the Developer tool verifies that the parameters and variables exist.
Gateways
Each Exclusive gateway has a unique name within the workflow.
Validating a Workflow
Validate a workflow to ensure that the Data Integration Service can read and process the entire workflow.
1.
2.
3.
If an error appears, fix the error and validate the workflow again.
Workflow Deployment
When you develop a workflow in the Developer tool, you create a workflow definition. To run an instance of
the workflow, you add the workflow definition to an application. Then, you deploy the application to the Data
Integration Service.
Deploy workflows to allow users to run workflows using the infacmd wfs startWorkflow command. When you
deploy a workflow, the Data Integration Service creates a separate set of run-time metadata in the Model
repository for the workflow. If you make changes to a workflow definition in the Developer tool after you
deploy it, you must redeploy the application that contains the workflow definition for the changes to take
effect.
Use the Developer tool to deploy workflows. You deploy workflows using the same procedure that you use to
deploy other Model repository objects.
20
Chapter 1: Workflows
Running Workflows
After you deploy a workflow, you run an instance of the workflow from the deployed application using the
infacmd wfs startWorkflow command. You can specify a parameter file for the workflow run.
You can concurrently run multiple instances of the same workflow from the deployed application. When you
run a workflow instance, the application sends the request to the Data Integration Service. The Data
Integration Service runs the objects in the workflow according to the sequence flows connecting the objects.
For example, the following command runs an instance of the workflow MyWorkflow in the deployed
application MyApplication using the parameter values defined in the parameter file MyParameterFile:
infacmd wfs startWorkflow -dn MyDomain -sn MyDataIntSvs -un MyUser -pd MyPassword -a
MyApplication -wf MyWorkflow -pf MyParameterFile.xml
Monitoring Workflows
You monitor a workflow instance run in the Monitoring tool. The Monitoring tool is a direct link to the
Monitoring tab of the Administrator tool.
The Monitoring tool shows the status of running workflow and workflow object instances. You can abort or
cancel a running workflow instance in the Monitoring tool. You can also use the Monitoring tool to view logs
for workflow instances and to view workflow reports.
Deleting a Workflow
You might decide to delete a workflow that you no longer use. When you delete a workflow, you delete all
objects in the workflow.
When you delete a workflow in the Developer tool, you delete the workflow definition in the Model repository.
If the workflow definition has been deployed to a Data Integration Service, you can continue to run instances
of the workflow from the deployed workflow definition.
To delete a workflow, select the workflow in the Object Explorer view and then click Edit > Delete.
Running Workflows
21
Workflow Examples
The following examples show how you might want to develop workflows.
Parameter files provide you with the flexibility to change parameter values each time you run a workflow. You
can use the following parameters in this workflow:
Workflow parameter that represents the command run by the first Command task.
Mapping parameter that represents the connection to the source for the mapping.
Mapping parameter that represents the connection to the target for the mapping.
Workflow parameter that represents the command run by the second Command task.
Workflow parameter that represents the email address that the Notification task sends an email to.
Define the value of these parameters in a parameter file. Specify the parameter file when you run the
workflow. You can run the same workflow with a different parameter file to run different commands, to run a
mapping that connects to a different source or target, or to send an email to a different user.
22
Chapter 1: Workflows
Mapping task that runs a mapping and then assigns the Is Successful output to a boolean workflow
variable.
Exclusive gateway that includes two outgoing sequence flows. One sequence flow includes a condition
that evaluates the value of the workflow variable. If the condition evaluates to true, the Data Integration
Service runs the connected task. If the condition evaluates to false, the Data Integration Service takes the
other branch.
Two workflow branches that can include any number of tasks. In this example, each branch includes a
different command, mapping, and another command. The Data Integration Service takes one of these
branches.
Exclusive gateway that merges the two branches back into a single flow.
Notification task that sends an email notifying users of the status of the workflow.
Workflow Examples
23
CHAPTER 2
Workflow Variables
This chapter includes the following topics:
Task Input, 25
Task Output, 25
24
Task Input
Task input is the data that passes into a task from workflow parameters and variables. The task uses the
input data to complete a unit of work.
When you configure a task, you specify which workflow parameters and variables the task requires. The Data
Integration Service copies the workflow parameter and variable values to the task when the task starts.
Some tasks include an Input tab where you specify the workflow parameters and variables that the task
requires. For other tasks, you specify the workflow parameters and variables needed by the task in other
tabs.
Task Output
When you configure a Mapping, Command, Notification, or Human task, you can define the task output. Task
output is the data that passes from a task into workflow variables.
When you configure a task, you specify the task output values that you want to assign to workflow variables.
The Data Integration Service copies the task output values to workflow variables when the task completes.
The Data Integration Service can access these values from the workflow variables when it evaluates
expressions in conditional sequence flows and when it runs additional objects in the workflow.
For example, each task includes an Is Successful output value that indicates whether the task ran
successfully. The workflow cannot directly access this task output data. To use the data in the remainder of
the workflow, you create a boolean workflow variable named TaskSuccessful and assign the Is Successful
output to the variable. Then use the TaskSuccessful workflow variable in an expression for a conditional
sequence flow. The Data Integration Service runs the next object in the workflow if the previous task ran
successfully.
Tasks produce general outputs and task specific outputs. If a task fails, the Data Integration Service copies
the general task output values to workflow variables. The service does not copy the task specific output
values to workflow variables. If a task aborts, the Data Integration Service does not copy any task output
values to workflow variables.
The following table describes the general outputs produced by each task:
Output Data
Datatype
Description
Start Time
Date
End Time
Date
Is Successful
Boolean
Note: The Assignment task does not produce general or task specific outputs.
Related Topics:
Task Input
25
Datatype
Description
InstanceID
String
StartTime
Date
UserName
String
2.
3.
Use the variable in a conditional sequence flow or in a task field so that the Data Integration Service
uses the variable value at run time.
2.
In the workflow Properties view, click the Variables tab. In the User view, click Add.
In a task Properties view, select the Input tab or Output tab. Select New Variable in the Value or
Variable column.
26
3.
4.
5.
6.
Click OK.
Example
Literal value
For example, to assign the value 500 to a user-defined variable, enter the following
value in the expression:
500
Workflow parameter
Workflow system or
user-defined variable
The expression must return a boolean, date, integer, or string value. Use a conversion
function to convert a return value with another datatype to one of the supported
datatypes.
For example, to assign the value of an expression to a user-defined variable, enter the
following value in the expression:
LENGTH('test')
If you use the equality operator (=) in the expression, the Data Integration Service
checks whether both sides of the expression are equal and returns true or false. For
example, the following expression assigns either true or false to the selected userdefined variable:
$var.MyVariable = 7 + 5
27
2.
3.
4.
5.
6.
7.
8.
9.
Click OK.
28
For example, you create a workflow variable named CommandStdOutput and set the initial value to "test." In
the Command task Output tab, you assign the CommandStdOutput workflow variable to the standard output
returned by the command. When the workflow starts, the Data Integration Service sets the workflow variable
value to "test." If you use the echo command in the Command task to print the value of the
CommandStdOutput variable, the Data Integration Service prints the initial value of "test." After the Command
task completes, the Data Integration Service sets the workflow variable value to the standard output returned
by the command.
You cannot assign task output to system workflow variables.
Related Topics:
2.
3.
4.
5.
6.
Select a variable name or click New Variable to create and assign a new variable to the output.
7.
To clear an output assignment, select an output and click Clear. Or, click Clear All to clear all output
assignments.
29
The following table lists the objects and fields where you can use workflow variables:
Object
Fields
Select or
Type
Sequence flow
Condition tab
Condition
both
Assignment task
Expression
both
Command task
Command tab
Command
both
Command task
Input tab
select
Human task
Input tab
select
Mapping task
Input tab
select
Notification tab
Notification task
type
Dynamic recipients
select
both
2.
In the Properties view, click the Advanced tab to assign an advanced configuration property to task
input.
In the Value column for a property, select Assigned to task input.
3.
4.
5.
6.
Assign the property or parameter to an existing workflow variable, to a new workflow variable, or to a
literal value.
30
7.
Click New Variable. In the Add Variable dialog box, enter the name, type, and initial value for a
workflow variable. The Developer tool creates the workflow variable and assigns the variable to the
property.
Click New Value. In the Add Value dialog box, enter the literal value and datatype to assign to the
property.
To clear an input assignment, select an input and click Clear. Or, click Clear All to clear all input
assignments.
Related Topics:
Syntax
Example
Expression in
a conditional
sequence flow
or in an
Assignment
task
- ${var:<variable_name>} for
user-defined variables
- ${var:sys.<variable_name>}
for system variables
If you do not include "var:" in the variable name, the Data Integration Service uses the name as a
parameter. For example, if you enter $CommandExitCode or ${CommandExitCode}, the Data Integration
Service uses $par:CommandExitCode or ${par:CommandExitCode}.
31
Output Value
Description
C:\${var:myVariable}
C:${var:myVariable}
C:\\${var:myVariable}
C:\test
C:\temp\\$
{var:myVariable}
C:\temp\test
C:\\\${var:myVariable}
C:\${var:myVariable}
C:\\\\${var:myVariable}
C:\\test
Nested Variables
The Data Integration Service resolves one level of variable values. The Data Integration Service does not
resolve variable values that are nested within another workflow parameter or variable.
For example, you create the following workflow variables with these datatypes and initial values:
When you use Variable3 in an expression or task field, the Data Integration Service does not resolve the
nested variables Variable1 and Variable2 to the value of 7. Instead, the Data Integration Service uses the
following string value for Variable3:
${var:Variable1} + ${var:Variable2}
32
String
Integer
Boolean
Date
String
Yes
Yes
Yes
No
Integer
Yes
Yes
Yes
No
Boolean
Yes
Yes
Yes
No
Date
Yes
No
No
Yes
2.
Add an Assignment task to the workflow after the task that assigns a run-time value to the date workflow
variable.
3.
4.
5.
6.
7.
33
8.
Enter the following expression to convert the value of the date workflow variable to a string value with
the specified date format:
TO_CHAR(date_variable [,format])
For example, enter the following expression:
TO_CHAR($var:MyDateVariable, 'MM/DD/YYYY HH24:MI:SS')
9.
34
10.
11.
Click OK.
12.
CHAPTER 3
Workflow Parameters
This chapter includes the following topics:
Parameter Sets , 41
Parameter Files, 45
35
Task Input
Task input is the data that passes into a task from workflow parameters and variables. The task uses the
input data to complete a unit of work.
When you configure a task, you specify which workflow parameters and variables the task requires. The Data
Integration Service copies the workflow parameter and variable values to the task when the task starts.
Mapping tasks, Command tasks, and Human tasks include an Input view to configure the workflow
parameters and variables that the task requires. You can configure parameters for Mapping task
configuration properties on the Input view.
You can reference workflow parameters for other tasks in different task views. For example, configure a
workflow parameter that contains an email address in the Notification view of Notification task.
You can use workflow parameters in expressions in conditional sequence flows in Exclusive Gateway tasks.
The Data Integration Service evaluates the parameter value and then determines which object to run next in
the workflow.
2.
Assign the parameter in task input or assign the parameter to a mapping parameter.
3.
Create one or more parameter sets that include the workflow and mapping parameters in the workflow.
Change the parameter values as required.
4.
Deploy the workflow and the parameter sets to a Data Integration Service.
5.
Run the workflow from the command line and specify which parameter set to use for the workflow run.
Note: You can create a parameter file and then run the workflow from the command line with the parameter
file. You cannot run a workflow with a parameter file and a parameter set at the same time.
36
The following table lists the objects and fields where you can use workflow parameters:
Object
Fields
Select or
Type
Workflow
Advanced tab
Tracing level
select
Sequence flow
Condition tab
Condition
both
Assignment task
Expression
both
Command task
Command tab
Command
both
Command task
Input tab
select
Human task
Input tab
select
Mapping task
Input tab
select
Notification tab
type
Notification task
Dynamic recipients
select
both
2.
3.
For a Mapping task or a Command task, click the Advanced tab to assign an advanced configuration
property to the task input.
In the Value column for a property, select Assigned to task input.
4.
5.
At the top of the Input tab, search for the property that you want to update.
You can use wildcard characters in the search string. The string is not case sensitive.
6.
37
7.
8.
In the Value column, choose to assign the property to an existing workflow parameter, to a new workflow
parameter, or to a literal value.
Create a workflow parameter. Click New Parameter. In the Add Parameter dialog box, enter the
name, type, and default value for a workflow parameter. The Developer tool creates the workflow
parameter and assigns the parameter to the property.
Click New Value. In the Add Value dialog box, enter the literal value and data type to assign to the
property.
To clear an input assignment, select an input and click Clear. Or, click Clear All to clear all input
assignments.
Related Topics:
Syntax
Example
Expression in
a conditional
sequence flow
or in an
Assignment
task
$par:<parameter_name>
$
{par:<parameter_name>}
$par:Connection=SourceConnection
The Data Integration Service evaluates the condition and
runs the connected task if the parameter value is
SourceConnection.
When you enter a parameter name in a string field for a
Command or Notification task, you must include brackets
around the parameter name. For example, the following
command in a Command task uses a workflow parameter
named SourceDirectory to define the source directory from
which the command copies a file:
copy ${par:SourceDirectory} H:\marketing\
If you do not include "par:" in the parameter name, the Data Integration Service uses the name as a
parameter. For example, if you enter $SourceDirectory or ${SourceDirectory}, the Data Integration
Service uses $par:SourceDirectory or ${par:SourceDirectory}.
38
For example, you have a workflow string parameter named myParameter with a value of "test". You enter the
following text in the body field for a Notification task:
Parameter \${par:myParameter} has a value of ${par:myParameter}
When you run the workflow, the Data Integration Service displays the following string in the body field of the
email:
Parameter ${par:myParameter} has a value of test
If you use a workflow parameter name within a directory path, you can use the escape character before the
backslashes in the directory path.
The following table provides examples using the escape character with a parameter name in a directory path:
Syntax in String Field
Output Value
Description
C:\${par:myParameter}
C:${par:myParameter}
C:\\${par:myParameter}
C:\test
C:\temp\\$
{par:myParameter}
C:\temp\test
C:\\\${par:myParameter}
C:\${par:myParameter}
C:\\\\${par:myParameter}
C:\\test
Nested Parameters
The Data Integration Service resolves one level of parameter values. The Data Integration Service does not
resolve parameter values that are nested within another workflow parameter or variable.
For example, you assign the following workflow parameters these values in a parameter file:
When you use Parameter3 in an expression or task field, the Data Integration Service does not resolve the
nested parameters Parameter1 and Parameter2 to the value of 7. Instead, the Data Integration Service uses
the following string value for Parameter3:
${par:Parameter1} + ${par:Parameter2}
39
2.
3.
4.
5.
6.
7.
40
You do not define a parameter value in the parameter set or parameter file.
Integer
Boolean
Date
String
Yes
Yes
No
Parameter Sets
A parameter set is an object in the Model repository that contains a set of parameters and parameter values
to run mappings and workflows.
When you create a parameter set, you choose a mapping or workflow to use the parameters. After you
choose a mapping or workflow, you can manually enter parameters in the parameter set or you can select
parameters that are already in the repository for the mapping or the workflow.
You can use parameter sets for different situations. For example, you might use a specific parameter set
when you run a workflow in a test environment.
You use a parameter set with a mapping, Mapping task, or workflow. You can add one or more parameter
sets to an application when you deploy the application. You can add a parameter set to multiple applications
and deploy them. To use a parameter set with a workflow or mapping, you must add the parameter set to the
application when you deploy the workflow or mapping.
The following image shows a parameter set that contains parameters for two mappings:
41
42
1.
In the Object Explorer view, right-click a project and click New > Parameter Set.
2.
3.
Drag the Properties panel down and view the grid to add the parameters to the parameter set.
4.
5.
In the Add Parameters dialog box click Browse to find the mapping or workflow that contains the
parameters you need to include in the set.
A list of mappings and workflows appears.
6.
Parameter Sets
43
7.
Select the parameters to include in the parameter set and then click OK.
The mapping or the workflow name and the path appears in the parameter set. Each parameter that you
selected appears beneath the object.
8.
To add a parameter that is not yet in a workflow or mapping, right-click a mapping or object name and
select Parameter insert.
The Developer tool creates a parameter beneath the workflow or mapping. Change the parameter name,
the value, and the type.
Note: You must add the parameter to the mapping or workflow before you use the parameter set.
44
For example, the following command runs the workflow myWorkflow with the parameter set
"MyParameterSet:"
infcmd wfs startWorkflow -dn MyDomain -sn MyDataIntSvs -un MyUser -d MyPassword -a
MyApplication -wf MyWorkflow -ps MyParameterSet
Parameter Files
A parameter file is an XML file that lists user-defined parameters and their assigned values. Parameter files
provide the flexibility to change parameter values each time you run a workflow from the command line.
The parameter values define properties for a workflow or for a mapping or a mapplet included in a Mapping
task that the workflow runs. The Data Integration Service applies these values when you run a workflow from
the command line and specify a parameter file.
You can define mapping parameters and workflow parameters in a parameter file. You cannot define system
parameter values in a parameter file.
You can define parameters for multiple workflows in a single parameter file. You can also create multiple
parameter files and then use a different file each time you run a workflow. The Data Integration Service reads
the parameter file at the start of the workflow run to resolve the parameters.
Use the wfs ListWorkflowParams command to list the parameters used in a workflow with the default values.
You can use the output of this command as a parameter file template.
Use the wfs StartWorkflow command to run a workflow with a parameter file.
Note: Parameter files for mappings and workflows use the same structure. You can define parameters for
deployed mappings and for deployed workflows in a single parameter file.
Parameter Files
45
You can reference mapping-level parameters in a parameter file. You cannot reference transformationlevel parameters.
Parameter values cannot be empty. For example, the Data Integration Service fails the workflow run if the
parameter file contains the following entry:
<parameter name="Param1"> </parameter>
Within an element, artifact names are not case-sensitive. Therefore, the Data Integration Service
interprets <parameter name="SrcDir"> and <parameter name="Srcdir"> as the same application.
A parameter that identifies a reference table must use a forward-slash (/) to separate folder names in a
repository folder path.
Run the infacmd wfs ListWorkflowParams command to list the parameters for a workflow and the default
value for each parameter.
The -o argument sends command output to an XML file.
For example, the following command lists the parameters in workflow MyWorkflow in file
"MyOutputFile.xml":
infacmd wfs ListWorkflowParams -dn MyDomain -sn MyDataIntSvs -un MyUser -pd
MyPassword -a MyApplication -wf MyWorkflow -o MyOutputFile.xml
The Data Integration Service lists all mapping parameters with their default values.
2.
46
If you did not specify the -o argument, you can copy the command output to an XML file and save the
file.
3.
Edit the XML file and replace the parameter default values with the values you want to use when you run
the workflow.
4.
Parameter Files
47
CHAPTER 4
Command Task
This chapter includes the following topics:
Command Syntax, 48
Command Syntax
The command syntax depends on whether the Data Integration Service runs on UNIX or Windows.
When the Data Integration Service runs on UNIX, you can use any valid UNIX command or shell script. The
service runs the following command during the workflow where <command> is the command that you enter in
the Command task:
/bin/sh -c "<command>"
48
When the Data Integration Service runs on Windows, you can use any valid DOS or batch file. The service
runs the following command during the workflow where <command> is the command that you enter in the
Command task:
cmd.exe /c "<command>"
For example, you might use a shell command to copy a file from one directory to another. For Windows, enter
the following shell command to copy the SALES_ ADJ file from the source directory, L, to the target, H:
copy L:\sales\sales_adj H:\marketing\
For UNIX, enter the following command to perform a similar operation:
cp sales/sales_adj marketing/
Use the following rules and guidelines when you enter a command:
The command cannot contain a carriage return character or line feed character.
To run an external executable program from the command, enter the fully qualified path to the program.
For example, to run a custom application named myCustomApp.exe, use the following command:
c:\myCustomApp.exe
When you run an external program from the Command task, the task remains in a running state until the
program closes.
Each Command task runs in the same environment as the Data Integration Service. To change the
environment settings, create a script or batch file that changes the settings and includes the command to
run. Then use the following command to run the file:
c:\mybatfile.bat
Related Topics:
49
the command executable located in the production environment. You change the value of the workflow
parameter in the parameter file instead of editing each Command task in the Developer tool.
Related Topics:
Datatype
Description
Exit Code
Integer
Standard Error
String
Standard error message returned by the command. By default, the first 1,024
characters of the error are returned. You can change the length of the standard
error in the Command task advanced configuration properties.
Standard
Output
String
Standard output returned by the command. By default, the first 1,024 characters
of the output are returned. You can change the length of the standard output in
the Command task advanced configuration properties.
Related Topics:
50
51
CHAPTER 5
Human Task
This chapter includes the following topics:
Step Properties, 58
52
If a record is valid, the user updates the table metadata so that the record is confirmed for persistent
storage in the database.
If a record is not valid, the user updates the table metadata so that the record is removed from the
database at a later stage in the workflow.
If the status of a record cannot be confirmed, the user updates the table metadata so that the record is
returned to the workflow for further processing in a Mapping task.
The record may contain errors or empty cells. The Human task user examines the records and attempts to
update the record with correct and complete data.
The record may be a duplicate of another record. The Analyst tool displays duplicate record sets in groups
called clusters. The Human task user examines the clusters and attempts to create a single preferred
version of the records in each cluster.
The user can apply the following status indicators to a record or cluster:
The record or cluster issues are resolved, and the record can remain in the database. In the case of
clusters, the preferred record remains in the table and the redundant duplicate records are dropped.
The record or cluster issues are unresolved and the record needs further processing.
The record or cluster contains unusable data and can be dropped from the table.
Analyst Tool
The Analyst tool is a web-based application that enables users to view and update records and clusters in a
Human task.
The Analyst tool uses an Inbox to notify users of the Human tasks assigned to them. A user logs in to the
Analyst tool and opens a task from the My Tasks panel.
The Analyst tool provides options to edit record or cluster data and to update the status of a record or cluster.
The task view includes metadata columns that contain the status indicators for each record or cluster.
53
When a user completes a task in the Analyst tool, the records in the task pass to the next step in the Human
task.
Specify the number of task instances to create. The Data Integration Service divides the input data set
into task instances of equal size.
Specify the number of rows or clusters to include in a task. The Data Integration Service creates task
instances that contain the number of rows or clusters you specify. The number of task instances depends
on the number of rows or clusters in the input data set.
Specify the data rows or clusters to assign to each user. You select an input data column, and you identify
the users who can work on each task instance. The Data Integration Service assigns rows or clusters to
users based on the values in the column you select.
If you add multiple steps to a Human task, the data associated with each task instance passes through every
step in the Human task. You select the users who work on the task instance in each step. You can assign the
same set of users to all steps in the Human task, or you can assign different users to each step.
Cluster step. Create a Cluster step when you want a user to examine duplicate record clusters and create
a preferred record from the values in the duplicate records.
Exception step. Create an Exception step when you want a user to examine and fix errors in records.
Review step. Create a Review step when you want a user to review the work done in an Exception or
Cluster step. Review steps are not mandatory.
You can add a Cluster step or Exception step to a Human task, but you cannot add both. Cluster step and
Exception step database tables have different structures.
You can add steps in any order. For example, you can add a Review step before or after a Cluster or
Exception step.
54
Task performer. A user or group that you select to work on task instances in the Analyst tool.
Business administrator. A user or group that manages the status of the task instances associated with a
Human task or with a step in the task. If a task performer is unable to complete a task instance on
schedule, a business administrator reassigns the task to another task performer.
You identify business administrators at the Human task level. You can optionally identify business
administrators at the step level. Any business administrator you identify in a Human task is also a business
administrator in each step in the Human task. When you define a business administrator in a step, the
business administrator status applies within the step only.
You can identify task performers at the Human task level and the step level. Identify task performers at the
Human task level when you want to assign users or groups to task instances based on the data that the task
instances contain. When you identify task performers at the Human task level, the task performers work on
the same data for the duration of the Human task. When you define a task performer in a step, the task
performers work on tasks within the step only.
You can assign a user and a group with the same name to a Human task. For example, you can assign the
group Domain/Administrator and the user Domain/Administrator to the same Human task.
General tab. Set the name and text description for the Human task.
Participants tab. Identify the business administrators who can participate in the task.
Data source tab. Identify the database connection name and the database resource that contains the
Mapping task output.
Task distribution tab. Determine the size and composition of task instances.
Notifications tab. Identify the users who receive email notifications when the Human task is complete, and
write the email text.
Input tab. Set the variables that identify the input data for the task.
Output tab. Set the variables that provide the final status of the task to the workflow.
55
General Tab
The General tab identifies the Human task. Enter a name and an optional description for the Human task.
You can also open the Human task from the General tab.
The following table describes the options on the General tab:
Property
Description:
Name
Description
Task
Participants Tab
Identify the business administrators who manage the status of the task instances in the Human task.
Business administrators can also work on task instances in the Analyst tool.
The following table describes the option on the Participants tab:
Property
Description
Name
Name of the user or group that you identify as a business administrator for the Human task.
Click the Select option to select business administrators.
Note: Any business administrator that you identify in a Human task is also a business administrator in each
step of the Human task.
56
Property
Description
Connection
The database connection name for the database that contains the Mapping task output.
Resource
The name of the database table that contains the Mapping task output. The user who performs the
task connects to the database and works on the data in this table.
Description
Enable task
distribution
Enables options to create multiple instances of the Human task. If you clear this option,
the workflow processes a single instance of the Human task.
Divide task by
number of items
Creates task instances with the number of records or clusters you specify, or creates the
number of task instances you specify.
Reads an input data column and assigns rows or clusters to users based on values in the
column.
The workflow identifies records that have a common value in the column and creates a
task instance for each set of records.
You select the input data column, and you select the users who work on the task
instances.
You can enter user and group names, and you can import user and group names from a
database table or file.
Notifications Tab
Set options on the Notifications tab to notify users or groups when all work in the Human task is complete.
The workflow sends an email notice to the users or groups you identify.
The following table describes the options on the Notifications tab:
Property
Description
Task Events
Lists the types of status change for which a user can be notified. At the workflow level, you can
select the Complete option.
Recipients
Mime Type
Specifies the content type for the email. Select one of the following values:
- Plain. Send a message in plain text.
- HTML. Send HTML content. You can include lists and hyperlinks in HTML content.
The HTML view provides basic a HTML structure by default. If you edit the HTML, you cannot
restore the default structure.
Message
Preview
Input Tab
Human task input is the data that passes into the Human task from a workflow variable.
The Input tab shows a single option named Number of items processed. Use the option to set the
exceptionLoadCount variable.
57
The exceptionLoadCount variable stores the number or records or clusters in the database table that you
specify on the Data Source tab. The variable indicates the number of records or clusters that are processed
in the Human task.
Note: You do not set input parameters on a Human task.
Related Topics:
Output Tab
Human task output is the data that passes from a Human task into workflow variables. Human task outputs
include general outputs. General outputs include output data produced by all tasks such as the task start
time, end time, and whether the task successfully ran.
When you configure a Human task, you specify the task output values that you want to assign to workflow
variables on the Output tab. The Data Integration Service copies the Human task output values to workflow
variables when the Human task completes.
For example, a Human task produces a start time output value that indicates when the Data Integration
Service started running the task. The workflow cannot directly access the Human task output data. To use
the data in the remainder of the workflow, you assign the start time output to a workflow variable that you
name HumanTaskStartTime. Then you use the HumanTaskStartTime workflow variable in an expression for
a conditional sequence flow. The Data Integration Service runs the next object in the workflow if the Human
task started before the specified time.
Related Topics:
Advanced Tab
The Advanced tab for a Human task includes the task recovery strategy.
A Human task specifies a restart recovery strategy. The restart option is read-only. The Data Integration
Service always restarts an interrupted Human task when a workflow recovers.
If the workflow is not enabled for recovery, the Data Integration Service ignores the task recovery strategy.
Step Properties
When you add a step to a Human task, you identify the users who can work on the step and you set the
duration of the step. Use the Properties view to configure a step.
You configure the following options for the step:
58
General. Sets the name and text description for the step.
Participants. Specifies the users who will work on tasks for the step.
Configuration. Review steps only. Identifies the Exception or Cluster step to be reviewed.
Timeout. Sets the time frame within which all users must complete task instances for the current step. You
set the timeout value as a period of minutes, hours, and days. The timeout period begins when the
workflow runs.
Note: The Human task uses the timeout period to calculates a deadline for all task instances associated
with the step. A user who performs a task instance sees the deadline date and time and not the timeout
period.
Notifications. Identifies the users who can be notified when a task instance associated with the step
changes status.
General Options
Set the general options to identify the step in the Human task. Enter a name and an optional description for
the step.
The following table describes the general options of a step:
Property
Description:
Name
Description
Configuration Options
Set the configuration options to identify the step that passes data to the current step for review. When you
select an Exception or Cluster step for review, all task instances that complete in the Exception or Cluster
step are passed to the Review step. Use the participants options on the Review step to select users or
groups who can review the data on the task instances.
The following table describes the configuration option of a step:
Property
Description
Step to review
Identifies the step that passes data to the current step for review.
Participants Options
Use the participants options to identify users who can work on task instances as part of the current step. At
the step level, a participant is a user who works on a task instance or a business administrator who manages
task instances.
You can select users and groups to perform task instances, and you can select users and groups as
business administrators to oversee the work of the task performers in the Analyst tool.
Step Properties
59
Description
Task Performer
Identifies the users or groups who are assigned task data for the current step.
Each user or group is assigned a set of data records associated with a task instance.
Business
Administrator
Identifies the users or groups who can manage task instances associated with the current
step. Business administrators can also work on task instances.
Timeout Options
Set timeout options for the task instances associated with the step. If a task instance does not complete in
the time frame you specify, the Analyst tool lists the task as overdue. The workflow can reassign overdue
tasks to users or groups that you specify in the step.
The following table describes the timeout options of a step:
Property
Description
Duration
The time period for completion of all task instances associated with the step. The time period
begins when the Human task creates the task instances. Specify a time period in days, hours,
and minutes.
Name
Reassign
Task
Notifications Options
Set options to notify users or groups when a task instance associated with a step changes status. The
Human task sends an email notice to the users or groups you identify. Before you configure Human tasks to
send emails, an administrator must enable and configure the Email Service in the Administrator tool.
The following table describes the notification options of a step:
Property
Description
Task Events
Lists the types of status change for which a user can be notified. You can choose one of the
following values:
-
Recipients
60
Lists the users to notify for the selected status change. You can add different recipients for
different task events.
Property
Mime Type
Description
Specifies the content type for the email. Select one of the following values:
- Plain. Send a message in plain text.
- HTML. Send HTML content. You can include lists and hyperlinks in HTML content.
The HTML view provides basic a HTML structure by default. If you edit the HTML, you cannot
restore the default structure.
Message
Preview
You create a workflow and you add a Start event and End event.
2.
You create a mapping Mapping_1 that examines a data set for duplicate records. The mapping contains
an Exception transformation that writes good-quality records to a database table named Good_Records
and writes exceptions to a table named Exceptions.
3.
You add a Mapping task to the workflow, and you configure the task to run Mapping_1.
4.
You add a Human task to the workflow, and you configure the task to assign the data in the Exceptions
table to users.
5.
You configure a mapping Mapping_2 to read the Exceptions table and to write records to the
Good_Records table if the Human task updated the record with an Approved status.
6.
You add a second Mapping task to the workflow, and you add Mapping_2 to the Mapping task.
You configure a Notification task to send an email message to selected users. The email message states
that the second Mapping task is complete.
7.
When the workflow runs, the first mapping creates the Exceptions table and the second mapping writes the
good-quality records from the Exceptions table to the Good_Records table.
61
2.
In the General tab, verify the Human task name and optional description.
3.
In the Participants tab, identify the business administrators who will manage the task instances.
4.
In the Data Source tab, specify the database connection information for the database that stores the
exception records.
5.
In the Task Distribution tab, configure the options that the workflow uses to assign data to task
instances.
6.
In the Notifications tab, identify the users to notify when the Human task are complete, and write the
email notification.
7.
8.
Optionally set the output to write task information to one or more variables in the Output tab.
The outputs indicate the start time, end time, and whether the task successfully ran.
2.
In the General tab, verify the step name and optional description.
3.
In the Participants tab, select the users or groups who can work on tasks in the step.
You identify the users or groups who perform the tasks, and you identify the business administrators to
notify about the task assignments.
4.
In the Timeout tab, set the time period in which the tasks must complete.
5.
In the Notifications tab, identify the users to notify when a task instance associated with the step
changes status.
6.
In the Configuration tab, select the Exception or Cluster step to review. The Configuration tab appears
in Review tasks only.
62
Note: If you change from one task configuration policy to another, you discard the previous task
configuration.
2.
3.
4.
Set the number of tasks you want, or set the number of rows or clusters in each task.
2.
3.
4.
Select a column name from the Column menu. The menu lists the column names on the resource that
you specify on the Data Source tab.
If you add a Cluster step to the Human task, select the group key column that you used in the mapping
that generated the clusters. You select the group key column to ensure that the task distribution process
does not split the records in a cluster into different clusters.
Note: The Column menu has a precision of 65. The menu does not display a column name that contains
more than 65 characters.
5.
6.
Select the users or groups to assign to the data. You add users in the following ways:
Select Add Data Value. Enter a value, and select a user or group from the domain.
Select Add Data Value from Reference Table. Import data values and user or group names from a
reference table.
Select Add Data Value from Local File. Import data values and user or group names from a
delimited file.
Rules and Guidelines for Reference Table Data and File Data
Consider the following rules and guidelines when you import data values and user or group names from a
reference table or a file:
The table or file must contain a single value and a single user or group name on each row.
The user and group names in the table or file must match the user and group names in the domain.
The data values in the table or file must match the values in the data source column that you select.
If a data value contains a delimiter, use quotation marks as text qualifiers to enclose the data value.
You can associate a column value with more than one user or group. When the workflow runs, the task
appears in the My Tasks panel of each user that you specify. When a user opens the task, the Analyst
tool deletes the task from the panels of the other users.
63
The following table lists sample user names and data values:
64
Value
New York
Anna
"Washington, D.C."
Bill
Boston
Elizabeth
Quebec
John
Mexico City
Maria
Lima
Maria
CHAPTER 6
Mapping Task
This chapter includes the following topics:
65
For example, you add two Mapping tasks that each contain MappingA to a single workflow. You configure the
first Mapping task to run MappingA with a connection to the Sales database. You configure the second
Mapping task to run MappingA with a connection to the Finance database.
To view the General view, click the Mapping task in the workflow. Click the General view.
You can change the following fields in the General view:
Name
Name of the Mapping task.
Description
Description of the Mapping task.
Mapping
The name and the path to the mapping to include in the Mapping task. Click Browse to select a different
mapping in the repository.
66
Parameter Set
Name and path of the parameter set to use in the Mapping task. Click Browse to search for a parameter
set. Click Clear Selection to remove the parameter set. To view the parameter set, click the link to the
parameter set.
You can assign values to the following types of Mapping task inputs:
Mapping Parameter Inputs
Mapping parameters are parameters that you define at the mapping level. The Input tab lists all the
parameters for a mapping, including the parameters that you did not assign to a field in the mapping.
Mapping task configuration properties
Mapping task configuration properties are properties that you configure on the Advanced tab. When you
need to assign a parameter to a Mapping task configuration property, you can select the Assign to Task
Input option for the property. When you choose this option, the configuration property appears on the
Input tab. You can then assign a value to it.
To assign a value to Mapping task inputs, click the Value column for a parameter or configuration property. A
list of the mapping outputs, workflow variables, and parameters appears. You can select an output, variable,
or parameter from the list, or you can create a new value.
Related Topics:
67
You can include multiple parameter sets when you deploy the workflow and run the workflow with a different
parameter set for each run.
You can also add a parameter set to a Mapping task. When you add a parameter set to a Mapping task, the
parameter set overrides the mapping parameter values or the workflow parameter values that you defined.
When you run a workflow, you can specify a single parameter file for the workflow. You define user-defined
mapping parameter values within a mapping or mapplet element in the parameter file. Define workflow
parameter values within a workflow element in the parameter file.
When you run the workflow with a parameter file or a parameter set, the Data Integration Service applies all
the user-defined mapping parameter values and workflow parameter values.
68
69
User-defined Outputs
Mapping outputs that you define to aggregate fields or expressions from each row in the mapping.
Persisted user-defined outputs are values that the Data Integration Service saved to the repository from
a previous workflow run. Current values are mapping output values from the current workflow run.
Configure the Mapping task output values that you want to assign to workflow variables on the Output tab.
The Data Integration Service copies the Mapping task output values to workflow variables when the Mapping
task completes.
The following image shows some mapping outputs on the Mapping task Output tab:
To assign a workflow variable to a Mapping task output, click the Variable column. Choose a workflow
variable to assign the output to. In the example image, the Total_OrderAmt mapping output from the current
workflow run is bound to the workflow variable wf_Variable_Total_orderAmt.
If a task fails, the Data Integration Service copies the general task output values but not the task specific
output values to workflow variables. If the task aborts, the Data Integration Service does not copy any task
output value to workflow variables.
Example
A Mapping task includes a number of error rows output value that captures the number of rows that the
mapping failed to process. To use the data in the remainder of the workflow, you assign the number of error
rows output to a workflow variable named MappingErrorRows. Then you can add the MappingErrorRows
workflow variable in an expression for an outgoing sequence flow from an Exclusive gateway. If
MappingErrorRows contains a value greater than zero, the gateway takes one branch. If the value equals
zero, the gateway takes the other branch.
70
Related Topics:
Output Data
Datatype
Description
Exception
exceptionLoadCount
Integer
71
When you set the tracing level to verboseData, the Mapping task log shows the parameters and parameter
values for the mapping run.
The following text shows some Mapping task log messages that contain parameter values:
Integration Service will use override value [C:\Source] for parameter [ff_SrcDir] in
transformation [map_AllTx\read_src1].
Integration Service will use override value [8] for parameter [exp_Int] in
transformation [map_AllTx\Expression].
Integration Service will use override value [Mapping_New] for parameter [exp_String] in
transformation [map_AllTx\Expression].
Integration Service will use override value [C:\Source] for parameter [ldo_SrcDir] in
mapping \ mapplet [map_AllTx\DO_Lookup\DO_FF_REL_SRC_Read_Mapping].
72
0 (None). The Data Integration Service does not optimize the mapping.
1 (Minimal). The Data Integration Service applies the early projection optimization method to the
mapping.
2 (Normal). The Data Integration Service applies the early projection, early selection, pushdown, and
predicate optimization methods to the mapping.
3 (Full). The Data Integration Service applies the early projection, early selection, pushdown,
predicate, cost-based, and semi-join optimization methods to the mapping.
none. The Data Integration Service does not override the tracing level that you set for each
transformation.
terse. The Data Integration Service logs initialization information, error messages, and rejected data
notifications.
normal. The Data Integration Service logs initialization information, status information, errors
encountered, and skipped rows from transformation row errors. It summarizes mapping results, but
not at the level of individual rows.
73
verboseInitialization. In addition to normal tracing, the Data Integration Service logs initialization
details, the names of the index files and the data files, and detailed transformation statistics.
verboseData. In addition to verbose initialization tracing, the Data Integration Service logs each row
that passes into the mapping. The Data Integration Service includes the names and the values of the
parameters in the mapping run.The Data Integration Service also notes where it truncates string data
to fit the precision of a column and it returns detailed transformation statistics. The Data Integration
Service writes row data for all rows in a block when it processes a transformation.
Mapping task timestamp. Default. Saves log files by time stamp. The Integration Service saves an
unlimited number of logs and labels them by time stamp. Each Mapping task log file name has the
following format: <MappingTaskLogFileName>_<UID>_<Timestamp>.log
Mapping task runs. Saves a specific number of Mapping task logs. Configure the number of log files
to save in the Save Mapping Task Logs for These Runs property. Each Mapping task log file name
has the following format:<MappingTaskLogFileName>_<Run#>.log
Custom Properties
You can define custom properties for a Mapping task and configure the property values.
You might need to apply custom properties in special cases. Define custom properties only at the request of
Informatica Global Customer Support.
74
To define a custom property, click New and enter the property name with an initial value. You can enter a
workflow parameter or a workflow variable for the custom property value. You can also create a new workflow
parameter or variable.
The following image shows the Custom Properties panel:
Default date
time format
Optimizer
level
High precision
- Boolean variable.
- String variable with a value of "true" or "false."
- Integer variable. The Data Integration Service converts a
value of zero as false. The service converts any non-zero
value as true.
75
Property
Sort order
Override
tracing level
76
albanian
arabic
armenian
belarusian
bengali
binary
bulgarian
catalan
croatian
czech
danish
dutch
english
estonian
finnish
french
german
germanPhonebook
greek
hebrew
hindi
hungarian
indonesian
italian
japanese
kazakh
korean
latvian
lithuanian
macedonian
norwegian
pashto
persian
polish
portuguese
romanian
russian
serbian
simplifiedChinese
slovak
slovenian
spanish
swedish
thai
traditionalChinese
traditionalSpanish
turkish
ukranian
vietnamese
terse
normal
verboseInitialization
verboseData
Property
Mapping Task
Log Directory
Mapping Task
Log File Name
Java
Classpath
Related Topics:
User-defined mapping parameters assigned to workflow parameters or variables in the Input tab.
1.
2.
3.
4.
77
CHAPTER 7
Notification Task
This chapter includes the following topics:
Recipients, 79
Email Addresses, 81
Email Content, 83
78
Recipients
Recipients include users and groups in the Informatica domain that receive the notification during the
workflow. Select the recipients in the Notification tab.
You can select users and groups from native and LDAP security domains. The Developer tool displays
selected users and groups using the following format:
<security domain name>\<user login name or group name>
When you configure a user to receive an email notification, the Notification task sends an email to the user at
the email address that the user account properties specify. When you configure a group to receive an email
notification, the Notification task sends an email to all users in the group at the email addresses that the user
account properties specify.
If a user account email address is not valid, the Notification task runs and reports back to the domain that the
email address is undeliverable. The Notification task sends an email to the address that the Email Service
specifies to indicate the delivery failure.
You can use the Administrator tool to enter an email address for native user accounts. You cannot use the
Administrator tool to enter an email address for LDAP user accounts. If the user account information imported
from the LDAP directory service includes an email address, the Notification task can send an email to the
user at that email address.
You can select a recipient multiple times by selecting a user and then selecting a group that the user belongs
to. When the Notification task sends the email, the duplicated recipient receives multiple emails or a single
email based on how the email server handles duplicate recipients.
When you configure the email properties for a Notification task, you can enter user and group names in the
address fields and configure dynamic recipients. Dynamic recipients are users and groups that you define in
workflow parameters or variables.
Selecting Recipients
Add users and groups to the recipient list when you want to send a notification to the users and groups.
You can add users and groups to the recipient list from the Notification task recipient list or from the email
properties. Any users or groups that you add in one location also appear in the other location. You can type
user and group names and configure dynamic recipients from the email properties only.
When you add users or groups, you can use a search filter. Enter a string to search for users or groups. You
can use wildcard characters in the string. The Developer tool returns all names that contain the search string.
The string is not case sensitive.
1.
2.
3.
Select Recipients.
4.
Click Choose.
The Select Users and Groups dialog box appears.
5.
6.
7.
Click OK.
Recipients
79
2.
3.
Select Recipients.
4.
5.
2.
3.
4.
In one of the address fields, enter a user or group name using the required format.
Enter multiple recipient names separated by a semicolon.
80
Parameter or Variable
Type
Description
Workflow parameters
Use a string workflow parameter to define the user or group name in a parameter file
when you run the workflow.
System workflow
variables
Use the UserName system workflow variable to send an email to the user that runs
the workflow.
User-defined workflow
variables
When you define a user or group name in a parameter file or in an Assignment task, enter a single user or
group name for the value. Use the following syntax for the value:
<security domain name>\<user login name or group name>
For example, enter Native\Developers to specify the Developers group in the native security domain.
If you do not specify a security domain name, the Data Integration Service uses the native security domain.
The Data Integration Service first attempts to find the specified name in the list of groups. If the name is not a
group, the service then attempts to find the name in the list of users.
2.
3.
4.
Click To.
The Email Properties dialog box appears.
5.
6.
Click New.
The Developer tool adds an empty row to the recipients list.
7.
Click in the Recipients column, and then select an existing parameter or variable, or a new parameter or
variable.
Click New Parameter or New Variable. In the Add Parameter or Add Variable dialog box, enter the
name and type of the parameter or variable. Enter a default user or group name for a parameter. Or,
enter an initial user or group name for a variable. The Developer tool creates the workflow parameter
or variable and adds it to the dynamic recipient list.
8.
9.
Click OK.
The Notification task recipient list displays the workflow parameter or variable under Dynamic
Recipients.
Email Addresses
In addition to specifying users and groups as the email recipients, you can enter email addresses that receive
an email from the Notification task. Enter email addresses in the Notification tab.
You can enter any valid email address. Enter multiple email addresses separated by a semicolon. You can
use workflow parameters and variables to dynamically define email addresses.
If you enter an email address that is not valid, the Notification task runs and reports back to the domain that
the email address is undeliverable. The Notification task sends an email to the address that the Email Service
specifies to indicate the delivery failure.
Email Addresses
81
2.
3.
4.
In the Properties area, enter a fully qualified email address in the appropriate address field.
Enter multiple email addresses separated by a semicolon.
Description
Workflow parameters
Use a string workflow parameter to define the email address in a parameter file
when you run the workflow.
Use the UserName system workflow variable to send an email to the user that runs
the workflow.
User-defined workflow
variables
When you define an email address in a parameter file or in an Assignment task, enter a single email address
for the value.
2.
3.
4.
Click To.
The Email Properties dialog box appears.
5.
6.
Click New.
The Developer tool adds an empty row to the recipients list.
7.
82
Click in the Recipients column, and then select an existing parameter or variable, or a new parameter or
variable.
Click New Parameter or New Variable. In the Add Parameter or Add Variable dialog box, enter the
name and type of the parameter or variable. Enter a default email address for a parameter, or an
initial email address for a variable.
8.
9.
Click OK.
Email Content
Email content includes the email subject and body. Enter email content in the Notification tab. You can use
workflow parameters and variables to dynamically define email content.
Description
Workflow parameters
Use a workflow parameter of any type to define email content in a parameter file when
you run the workflow.
System workflow
variables
Use any of the system workflow variables to include the values of the system workflow
variables in email content.
User-defined workflow
variables
Use a workflow variable of any datatype to include output values produced by other
tasks in email content. Or, use a workflow variable of any datatype to include values
assigned to the variable with an Assignment task in email content.
Related Topics:
Email Content
83
2.
3.
4.
Click Subject.
The Email Properties dialog box appears.
5.
In the Email Content view, enter text in the subject and body fields.
6.
To configure dynamic content using an existing workflow parameter or variable, select the subject or
body field, and then double-click an existing workflow parameter or variable.
The Developer tool adds the parameter or variable to the field using the required syntax.
7.
To configure dynamic content using a new workflow parameter or variable, click New Parameter or New
Variable.
In the Add Parameter or Add Variable dialog box, enter the name and type of the parameter or
variable. Enter a default value for a parameter, or an initial value for a variable. The Developer tool
creates the workflow parameter or variable and adds it to the email content field.
8.
Click OK.
Related Topics:
84
85
CHAPTER 8
Exclusive Gateway
This chapter includes the following topics:
86
flow included a condition before you set the sequence flow as the default, the Developer tool retains the
condition but displays the condition as read-only. If you set another sequence flow as the default, the
Developer tool displays the condition as editable again.
The Data Integration Service evaluates the default outgoing sequence flow last, regardless of the order that
you set for the default sequence flow.
2.
Add multiple outgoing sequence flows from the Exclusive gateway using the editor or the Sequence
Flows tab.
In the editor, select the Exclusive gateway and drag it to each object that you want to connect.
In the Sequence Flows tab for the Exclusive gateway, click New. In the Connect Workflow Objects
dialog box, select the objects that you want to connect to the Exclusive gateway and click Apply.
3.
4.
5.
To set the default sequence flow, select a sequence flow and click Set as Default.
6.
Create a condition in each outgoing sequence flow that is not the default.
Click the arrow in the Condition column for a sequence flow to display the Condition Editor dialog box.
Enter a condition, validate the condition, and then click OK.
7.
Use the arrows to define the order that the Data Integration Service evaluates the outgoing sequence
flows.
Related Topics:
2.
In the editor, select each object that you want to merge into the gateway and drag it to the Exclusive
gateway.
The editor displays multiple incoming sequence flows to the Exclusive gateway.
87
3.
88
Create a single outgoing sequence flow from the Exclusive gateway to another object using the editor or
the Sequence Flows tab.
In the editor, select the Exclusive gateway and drag it to the object that you want to connect.
In the Sequence Flows tab for the Exclusive gateway, click New Sequence Flow. In the Connect
Workflow Objects dialog box, select the object that you want to connect to the Exclusive gateway
and click Apply.
CHAPTER 9
Workflow Recovery
This chapter includes the following topics:
89
The Data Integration Service also considers the task recovery strategy that the workflow specifies for the task
that was running when the workflow stopped. A task recovery strategy determines whether the Data
Integration Service completes an interrupted task during a workflow run.
Note: Some errors are not recoverable. You cannot recover a workflow instance from a workflow error. You
cannot recover a workflow that is in an aborted state. If a workflow instance is recoverable and you change
the workflow metadata and redeploy the workflow application, the workflow instance is no longer recoverable.
Read the parameter file at the start of the workflow run to resolve the parameters. For example, a
workflow error occurs if the parameter assigned to the workflow tracing level property contains a value
that is not valid.
Copy workflow parameter and variable values to task input. For example, a workflow error occurs if a
string parameter value is assigned to an integer task input and the string value does not contain a
number.
Workflow errors require that you change the workflow definition or change a parameter value in the
parameter file to fix the error. When a workflow error occurs, the Data Integration Service immediately fails
the workflow instance. You cannot recover the workflow instance even if the workflow is enabled for recovery.
90
91
The following image shows the workflow recovery options in the Developer tool:
Use the following options when you define a workflow recovery strategy:
1.
2.
3.
4.
92
current master can automatically recover any workflow instance that was running during the failover and that
you configured for automatic recovery.
Note: Do not configure a workflow for automatic recovery if the workflow includes a Human task. If the
workflow is interrupted during a Mapping task that precedes a Human task, the recovered workflow reruns
the Mapping task and adds conflicting data to the target database.
Task State
Workflow
State
Description
Task encounters a
nonrecoverable error
Aborted
Aborted
Task encounters a
recoverable error
Canceled
Canceled
Aborted
Aborted
93
Interruption
Task State
Workflow
State
Description
Completed
Canceled
Canceled
Canceled
94
Interruption
Task State
Workflow
State
Description
Task encounters a
recoverable or
nonrecoverable error
Failed
Completed
Aborted
Aborted
The Data Integration Service fails the task and aborts the
workflow instance. The workflow is not recoverable.
Interruption
Task State
Workflow
State
Description
Completed
Canceled
Service process
shuts down
unexpectedly
Canceled
Canceled
When a Data Integration Service runs a Human task, the service creates and distributes task instances to
users and groups in the Informatica domain. Each task instance identifies a subset of the workflow data
that a user must analyze in the Analyst tool.
If the Data Integration Service does not distribute all task instances before the Human task is interrupted,
the service continues to distribute the task instances when it restarts the task. The Human task does not
restart from the beginning.
If the Data Integration Service distributes all task instances before the Human task is interrupted, the task
instances remain in the user workspaces in the Analyst tool. The Analyst tool users can use the task
instances to identify and update the data records in the data sources that the workflow identifies.
If a workflow enters an aborted state, any Human task in the workflow enters a Completed state.
Note: If you cancel a workflow that contains a Human task and you try to redeploy the application, the
Developer tool might stop responding. This might occur if you abort the workflow when the Human task is in
the task creation phase. When the Human task returns control to the workflow, the Developer tool responds
and deploys the application.
95
If a task with a skip recovery strategy encounters any error, the Data Integration Service fails the task and
moves to the next object in the workflow. The workflow is not interrupted.
If a task with a restart recovery strategy encounters a recoverable error, the Data Integration Service
cancels the workflow. When the workflow recovers, the Data Integration Service restarts the task that was
running when the error occurred.
If you cancel a workflow while a task with a skip recovery strategy is running, the Data Integration Service
cancels the workflow and waits for the task to finish. Upon recovery, the Data Integration Service runs the
next object in the workflow.
If a workflow enters an aborted state while a task with a skip recovery strategy is running, the Data
Integration Service terminates the task and the workflow. The workflow is not recoverable.
2.
2.
3.
4.
To configure automatic recovery for instances of the workflow, select Automatically Recover
Workflows.
5.
96
1.
2.
3.
In the Properties view for the task, click the Advanced tab.
4.
Restart task. When a task with a restart recovery strategy is interrupted or encounters a recoverable
error, the Data Integration Service cancels the task and the workflow. The Data Integration Service
restarts the task when the workflow recovers.
Define a restart strategy for any Mapping task that writes data for a Human task. If you configure a
Mapping task with a restart recovery strategy, develop the mapping to support a complete restart of
the task.
Skip task. When a task with a skip recovery strategy encounters a recoverable error or a
nonrecoverable error, the Data Integration Service skips the task. The Data Integration Service runs
the next stage in the workflow.
5.
Repeat the steps for any other Mapping task in the workflow.
6.
97
98
2.
3.
4.
5.
6.
Click File > Save to save the flat file data object.
2.
3.
4.
5.
6.
7.
2.
3.
99
5.
6.
In the Value column for the PreSQL property, click the Open button.
The SQL Query editor appears.
7.
8.
100
Interruption
Task State
Workflow State
Failed
Completed
Aborted
Aborted
Completed
Canceled
Task State
Workflow State
Aborted
Aborted
Aborted
Aborted
Canceled
Canceled
Aborted
Aborted
Completed
Canceled
Task State
Workflow State
Aborted
Aborted
Failed
Completed
Aborted
Aborted
Completed
Canceled
101
You abort the workflow instance while a task with a skip recovery strategy is running.
You abort the workflow instance while Task 2 is running. Task 2 has a skip recovery strategy. The Data
Integration Service aborts Task 2 and then aborts the workflow instance. The three tasks and the
workflow instance have the following states:
Task 1 (Completed) > Task 2 (Aborted) > Task 3 (Not Started). Workflow is Aborted.
You cannot recover the workflow instance because you aborted the workflow.
Data Integration Service process shuts down unexpectedly. The workflow is configured for recovery.
The Data Integration Service process shuts down while Task 2 is running. Task 2 is a Notification task.
The three tasks and the workflow instance have the following states when the service process restarts:
Task 1 (Completed) > Task 2 (Canceled) > Task 3 (Not Started). Workflow is Canceled.
When the workflow recovers, the Data Integration Service passes over Task 1, restarts Task 2, and runs
Task 3 for the first time.
Task with a restart recovery strategy encounters a recoverable error.
Task 2 has a restart recovery strategy and encounters a recoverable error. The service cancels Task 2
and then cancels the workflow instance. The three tasks and the workflow instance have the following
states:
Task 1 (Completed) > Task 2 (Canceled) > Task 3 (Not Started). Workflow is Canceled.
When the workflow recovers, the Data Integration Service passes over Task 1, restarts Task 2, and runs
Task 3 for the first time.
Task with a skip recovery strategy encounters an error. You cancel the workflow instance.
Task 2 has a skip recovery strategy. The task encounters an error and fails. The outgoing sequence flow
does not contain a condition to check if Task 2 succeeded. As a result, the Data Integration Service
continues to run subsequent workflow objects. You cancel the workflow instance while Task 3 is running.
Task 3 has a restart recovery strategy. The Data Integration Service cancels Task 3 and then cancels
the workflow instance. The four tasks and the workflow instance have the following states:
Task 1 (Completed) >Task 2 (Failed) > Task 3 (Canceled) > Task 4 (Not Started). Workflow is Canceled.
When the workflow recovers, the Data Integration Service passes over Task 1 and Task 2, restarts Task
3, and runs Task 4 for the first time. During the recovery run, Task 3 and Task 4 complete successfully.
The Data Integration Service updates the final workflow state to Completed.
Task with a skip recovery strategy encounters an error. You abort the workflow instance.
Task 2 has a skip recovery strategy. The task encounters an error and fails. The outgoing sequence flow
does not contain a condition to check if Task 2 succeeded. As a result, the Data Integration Service
continues to run subsequent workflow objects. You abort the workflow instance while Task 3 is running.
Task 3 has a restart recovery strategy. The Data Integration Service aborts Task 3 and then aborts the
workflow instance. The four tasks and the workflow instance have the following states:
Task 1 (Completed) >Task 2 (Failed) > Task 3 (Aborted) > Task 4 (Not Started). Workflow is Aborted.
You cannot recover the workflow instance because you aborted the workflow.
Task with a skip recovery strategy encounters an error. The outgoing conditional sequence flow checks for task failure.
Task 1 has a skip recovery strategy. The task encounters an error and fails. The outgoing sequence flow
contains a condition to check if Task 1 succeeded. Because the condition returns false, the Data
Integration Service stops processing subsequent workflow objects and completes the workflow instance.
The three tasks and the workflow instance have the following states:
Task 1 (Failed) > Task2 (Not Started) > Task 3 (Not Started). Workflow is Completed.
102
You cannot recover the workflow instance because the instance completed.
103
CHAPTER 10
Workflow Administration
This chapter includes the following topics:
Monitoring tool. In the Developer tool, click the Menu button in the Progress view and select Monitor
Jobs. Select the Data Integration Service that runs the workflow and click OK. The Monitoring tool opens.
Administrator tool. To monitor a workflow job in the Administrator tool, click the Monitor tab.
When you monitor a workflow job, you can view summary statistics or execution statistics for the job. The
Summary Statistics view displays a graphical overview of the status of workflow jobs in the domain.
The Execution Statistics view displays information about workflow jobs and workflow objects.
When you select a workflow job in the contents panel on the Execution Statistics view, you can complete
the following tasks:
104
Workflow Graph
You can view the details of a workflow that you run in the Monitoring tool in a graphical form.
After you run a workflow, you can see the graphical view of the workflow in the Monitoring tool. In the
workflow graph, you can see the sequential run of the mapping tasks in the workflow. The workflow graph
enables you to view the failure points in a workflow at a glance.
In the workflow graph, you can view the following details of a workflow:
Task details
Recovery details
You can perform the following tasks from the workflow graph:
2.
3.
4.
5.
Workflow Graph
105
2.
3.
4.
5.
6.
Optionally, you can sort the statistics in ascending or descending order. Click a column header to sort the
column in ascending order. Click the column header again to sort the column in descending order.
2.
3.
4.
5.
6.
Optionally, you can complete the following tasks in the Detailed Statistics view:
106
Task
Description
Enlarge a graph
Move the cursor over a graph, and then click the magnifying glass
icon.
In the throughput field, select the sources and targets that you
want to view.
Workflow States
When you monitor a workflow instance, you can view the state of the workflow instance. If a workflow
instance recovers after a task is interrupted, the Monitor adds an entry for the task instance that runs in the
recovered workflow.
A workflow instance can have one of the following states:
Aborted
A workflow instance aborts when you choose to abort the workflow instance from the Monitoring tool or
using the infacmd wfs abortWorkflow command. You can also choose to abort a running workflow
instance when you stop the application that contains the workflow or when you disable the workflow in
the application.
Canceled
You choose to cancel the workflow instance from the Monitor tab or by using the infacmd wfs
cancelWorkflow command.
The workflow can also enter a canceled state if the Data Integration Service shuts down unexpectedly.
While the Data Integration Service process remains in a disabled state after shutting down, the workflow
instance state remains Running although the instance is no longer running. The service process changes
the workflow instance state to canceled when the service process restarts.
Completed
The Data Integration Service successfully completes the workflow instance. A completed workflow
instance might indicate that all tasks, gateways, and sequence flow evaluations either successfully
completed or were in a branch that did not run.
A workflow can also enter a Completed state if a Command, Mapping, Notification, or Human task
encounters a recoverable error or nonrecoverable error. When the task encounters the error, the Data
Integration Service fails the task. The Data Integration Service runs subsequent workflow objects if
expressions in the conditional sequence flows evaluate to true or if the sequence flows do not include
conditions. If the workflow instance finishes running without another interruption, the Data Integration
Service updates the workflow state to Completed.
When the task fails, the Data Integration Service continues to run additional objects in the workflow
instance if expressions in the conditional sequence flows evaluate to true or if the sequence flows do not
include conditions. If the workflow instance finishes running without another interruption, the Data
Integration Service updates the workflow state to completed. A completed workflow instance can contain
both failed and completed tasks.
Failed
A workflow instance fails when a workflow error occurs. Workflow errors can occur when the Data
Integration Service reads the parameter file at the start of the workflow run, copies workflow parameter
and variable values to task input, or evaluates expressions in conditional sequence flows. In addition, a
workflow error occurs if an Assignment task or an Exclusive gateway fails.
When a workflow error occurs, the Data Integration Service stops processing additional objects and fails
the workflow instance immediately. Workflow errors are nonrecoverable.
Running
The Data Integration Service is running the workflow instance.
Workflow States
107
Completed
The Data Integration Service successfully completes the task.
Failed
A task fails in the following situations:
Any task in a workflow not enabled for recovery encounters any type of error.
An Assignment task in a workflow enabled for recovery encounters any type of error.
A Command, Mapping, Notification, or Human task with a restart recovery strategy in a workflow
enabled for recovery encounters a non recoverable error.
A Mapping task with a skip recovery strategy in a workflow enabled for recovery encounters any type
of error.
Note: A workflow can complete if a task fails. The Data Integration Service runs subsequent workflow
objects if expressions in the conditional sequence flows evaluate to true or if the sequence flows do not
include conditions. If the workflow instance finishes running without another interruption, the Data
Integration Service updates the workflow state to Completed.
Running
The Data Integration Service is running the task.
108
Aborted
The Mapping task aborts while the mapping is running because you choose to abort the workflow
instance.
Completed
The Data Integration Service successfully completes the mapping.
Failed
The mapping encounters an error. The mapping and the Mapping task appear as Failed in the Monitor.
The states do not depend on the Mapping task recovery strategy.
Running
The Data Integration Service is running the mapping.
2.
3.
4.
5.
Click Actions > Cancel Selected Workflow or Actions > Abort Selected Workflow.
Workflow Recovery
Workflow recovery is the completion of a workflow instance from the point of interruption.
When a workflow is enabled for recovery, you can recover a workflow instance if a task encounters a
recoverable error, if you cancel the workflow instance, or if the Data Integration Service process shuts down
unexpectedly.
View the workflow log to identify the cause of the interruption. After fixing any recoverable errors, you can
recover the interrupted workflow instance if it is enabled for recovery.
109
You cannot change a workflow definition between the interrupted run and the recovery run. If a workflow
instance has a recoverable state and you change the workflow metadata in the Developer tool and redeploy
the application that contains the workflow, then the workflow instance is no longer recoverable.
The Data Integration Service tries to recover the previous workflow state if the service restarts after an
unexpected shutdown. By default, the Data Integration Service does not recover a workflow instance that
stopped during a Command task, Mapping task, or Notification task. In addition, the Data Integration Service
cannot recover a workflow instance by default if you cancel the workflow instance or cancel a running task in
the workflow instance. You can configure the recovery options on the workflow to enable the Data Integration
Service to recover a workflow instance in such cases.
When you configure the workflow options, you can configure the workflow for manual recovery or automatic
recovery. If you configure automatic recovery, the Data Integration Service restarts the workflow from the
point of interruption without any human interaction. If you configure manual recovery, you can restart the
workflow.
When a workflow instance recovers or when you recover a workflow instance, the Data Integration Service
restarts the task. The service continues processing the subsequent workflow objects. If a workflow instance
recovers after a task is interrupted, the Monitor adds an entry for the task instance that runs in the recovered
workflow. For example, if a workflow recovers three times and restarts a Mapping task each time, the Monitor
contains three entries for the Mapping task.
Recovery Properties
The read-only recovery properties display for each workflow instance. You configure the recovery properties
for the workflow definition in the Developer tool. You cannot change the values of the properties for the
workflow instance.
The following table describes the read-only recovery properties for a workflow instance:
Property
Description
Recovery Enabled
Automatically Recover
Workflows
Indicates that the Data Integration Service process tries to automatically recover
workflow instances that were interrupted. The workflow recovery starts after the Data
Integration Service process restarts.
Recovering a Workflow
You can recover interrupted workflow instances that are enabled for recovery.
1.
2.
3.
4.
5.
110
Workflow Logs
The Data Integration Service generates log events when you run a workflow instance. Log events include
information about errors, task processing, expression evaluation in sequence flows, and workflow parameter
and variable values.
If a workflow instance includes a Mapping task, the Data Integration Service generates a separate log file for
the mapping. The mapping log file includes any errors encountered during the mapping run and load
summary and transformation statistics.
You can view the workflow and mapping logs from the Monitor tab.
When you recover an interrupted workflow instance, the Data Integration Service appends log events to the
existing workflow log. When the recovered workflow instance includes a Mapping task that is restarted, the
Data Integration Service creates a mapping log.
If the workflow runs on a grid, the recovery of the workflow instance might run on a different node than the
original workflow instance run. If the recovery runs on a different node and the log directory is not in a shared
location, the Data Integration Service creates a log file with the same name on the current node.
2.
3.
4.
5.
Workflow Logs
111
6.
2.
3.
4.
5.
Expand a Mapping task, and then select the mapping run by the task.
6.
112
Index
A
activities
overview 14
Assignment task
configuring 28
overview 27
workflow parameters 28
workflow variables 27, 28
automatic workflow recovery
and Human tasks 91
B
business administrator
role in Human task 55, 59
C
Command task
advanced properties 51
command syntax 48
configuration properties 51
errors 90
input 49
output 50
overview 48
shell command 48
troubleshooting 51
workflow parameters 49
workflow variables 49, 50
conditional sequence flows
Exclusive gateway 87
failed tasks 16
overview 16
task output 16
workflow parameters 17
workflow variables 17
conditions
sequence flows 16
custom properties
configuring for Masking tasks 74
D
date format
workflow variables 33
default outgoing sequence flow
Exclusive gateway 86
dynamic content
email 83
dynamic email
addresses 82
E
email
addresses 81
dynamic content 83
dynamic email addresses 82
dynamic recipients 80
recipients 79
escape character
workflow parameters 38
workflow variables 32
events
adding to workflows 15
overview 14
Exclusive gateway
conditional sequence flows 87
default outgoing sequence flow 86
merging a workflow 87
overview 86
splitting a workflow 87
expressions
Assignment task 27
conditional sequence flows 16
F
failed tasks
conditional sequence flows 16
G
gateways
adding to workflows 15
overview 15
General view
Mapping tasks 66
grid
automatic workflow recovery 91
H
Human task
business administrator 55, 59
configuring task instances 62
configuring task steps 62
errors 90
113
I
input
Command task 49
Human task 57
Is Successful
output 16
L
log events
workflow 111
log files
Mapping tasks 71
logs
workflow 111
workflow instances 21
M
mapping parameters
overriding in workflow 68
parameter usage 68
using in workflow 67
Mapping task
advanced properties 72
configuration properties 72
errors 90
input 67
log files 71
multiple in workflow 65
output 69
overriding mapping parameters 68
overview 65
parameter sets 66
workflow variables 69
Mapping tasks
General view 66
merging a workflow
Exclusive gateway 87
monitoring workflows
overview 104
N
Notification task
advanced properties 85
email addresses 81
email content 83
errors 90
output 84
overview 78
recipients 79
troubleshooting 85
114
Index
O
objects
adding to workflows 15
output
Command task 50
Human task 58
Mapping task 69
Notification task 84
P
parameter files
creating 46
purpose 45
running workflow with 45
sample 46
workflow 35
parameter sets
assigning to workflow 35
creating 42
Mapping tasks 66
overview 41
parameter usage
viewing in Mapping task input 68
parameters
workflow 35
R
recipients
dynamic email 80
Notification task 79
recovery
Human tasks 98
Mapping tasks 98
tasks 93
workflows 89, 104
restart recovery strategy
task 93
S
sequence flows
conditions 16
Exclusive gateway conditions 87
overview 15
shell command
running in workflow 48
skip recovery strategy
task 93
splitting a workflow
Exclusive gateway 87
T
task input
overview 25
workflow parameters 36
V
variables
workflow 24
W
workflow instances
definition 21
logs 21
monitoring 21
recovering 100
running 21
workflow parameters
Assignment task 28
Command task 49
conditional sequence flows 17
creating 40
data type conversion 41
default values 40
email addresses 82
email content 83
email recipients 80
escape character 38
naming conventions 38
nested 39
Notification task 78
recovery 97
task input 36
workflow recovery
advanced properties 18
automatic 91
configuring 96
grid 91
Index
115