Advanced Workflow Components Implementation Guide

Tivoli IBM Tivoli Service Request Manager
®
Version 7 Release 2.1
Advanced Workflow Components
Implementation Guide
Tivoli IBM Tivoli Service Request Manager
®
Version 7 Release 2.1
Advanced Workflow Components
Implementation Guide
Note
Before using this information and the product it supports, read the information in “Notices” on page 95.
Compilation date: August 2010
This edition applies to version 7, release 2.1 of Tivoli® Service Request Manager® and to all subsequent releases and
modifications until otherwise indicated in new editions.
© Copyright IBM Corporation 2007, 2010.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Contents
Chapter 1. Workflow overview . . . . . 1
Advanced Workflow Component . . . . .
Advanced Workflow Components Web Services
.
.
. 1
. 2
Chapter 2. Applications that are used
with Workflow . . . . . . . . . . . . 3
Chapter 3. Workflow design process . . 5
Business process analysis . . . . . . . . .
Process analysis . . . . . . . . . . .
Workflow processes and user responsibilities .
Elements of workflow processes . . . . . . .
Person records . . . . . . . . . . . .
Person groups and workflow assignments . .
Roles and role records . . . . . . . . .
Communication templates . . . . . . .
Substitution variables in communication
templates . . . . . . . . . . . . .
Notifications . . . . . . . . . . . .
Escalations and action groups . . . . . .
Escalation points . . . . . . . . . .
Record routing . . . . . . . . . . .
Synonym statuses . . . . . . . . . .
Examples of workflow processes . . . . . .
Example of a purchase requisition business
process . . . . . . . . . . . . . .
Example of a service request business process .
Example of a work order business process . .
. 6
. 7
. 7
. 8
. 8
. 9
. 9
. 10
.
.
.
.
.
.
.
10
11
12
13
13
14
14
. 14
. 15
. 17
Chapter 4. Configuring for Workflow . . 19
Configuration prerequisites . . . . . . .
Configuring administrator e-mail notifications .
Security permissions for workflow processes .
.
.
.
. 19
. 19
. 19
Chapter 5. Working with Actions. . . . 21
Actions and Workflow. . . . . . . . .
Actions and escalations . . . . . . . .
Action types . . . . . . . . . . . .
Custom actions . . . . . . . . . . .
Creating action records . . . . . . . .
Creating action groups . . . . . . . .
Creating actions specific to Workflow. . . .
Creating actions specific to escalations . . .
Duplicating actions . . . . . . . . . .
Deleting actions . . . . . . . . . . .
View Action Log. . . . . . . . . . .
Add or modify an image . . . . . . . .
Synchronize parameters . . . . . . . .
Configurable parameter mapping . . . . .
Parameter mappings in the Action application.
Input parameter mappings . . . . . .
Output parameter mappings. . . . . .
Automation Scripts application . . . . . .
© Copyright IBM Corp. 2007, 2010
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
21
21
23
23
24
25
25
25
25
26
26
26
27
28
28
31
32
Chapter 6. Workflow Designer and
Workflow Designer (Advanced) . . . . 35
Creating workflow processes . . . . . . . .
Adding nodes and connection lines to the canvas
Using Workflow Designer application . . .
Using Workflow Designer (Advanced)
application . . . . . . . . . . . .
Designing workflows with Workflow Designer
canvas . . . . . . . . . . . . . . . .
Workflow Designer toolbar . . . . . . . .
Process nodes . . . . . . . . . . . .
Connection lines. . . . . . . . . . . .
Designing workflows with Workflow Designer
(Advanced) canvas . . . . . . . . . . . .
Objects and Workflow processes . . . . . .
Workflow Designer (Advanced) toolbar . . . .
Process nodes . . . . . . . . . . . .
Connection lines. . . . . . . . . . . .
Using Workflow Designer (Advanced)
application . . . . . . . . . . . . .
Adding attachments to workflows . . . . .
Classifying workflows . . . . . . . . .
Setting Launch on Demand for a workflow . .
Setting the Go To Instance for a workflow . .
Using the Workflow Instances tab . . . . .
Enabling logging . . . . . . . . . .
Setting node properties . . . . . . . . . .
Specifying the properties of connector actions . .
Specifying the properties of condition nodes . .
Specifying the properties of interaction nodes . .
Specifying the properties of manual input nodes
Specifying the properties of subprocess nodes . .
Specifying the properties of task nodes . . . .
Specifying the properties of wait nodes . . . .
Setting workflow processes to automatically initiate
Setting processes to not auto-initiate . . . . . .
Duplicating workflow processes . . . . . . .
35
35
35
36
36
37
38
39
43
44
44
45
45
50
51
51
51
52
53
53
53
54
55
56
57
58
58
60
60
61
61
Chapter 7. Activating and viewing
workflow processes . . . . . . . . . 63
Workflow validation process. . . . . . . . .
Validating workflow processes . . . . . . .
Enabling workflow processes . . . . . . . .
Activating workflow processes . . . . . . . .
Disabling workflow processes . . . . . . . .
Viewing workflow assignments from a
Workflow-enabled application . . . . . . . .
Viewing workflow history from a Workflow-enabled
application . . . . . . . . . . . . . .
Viewing workflow specifications from a
workflow-enabled application . . . . . . . .
Viewing workflow action logs from a
workflow-enabled application . . . . . . . .
Viewing a Workflow Map . . . . . . . . .
63
64
64
65
65
65
66
66
66
66
iii
Chapter 8. Modifying workflow
processes . . . . . . . . . . . . . 69
Chapter 10. Workflow Launcher . . . . 79
Creating a process revision . . . . . . . .
Synchronizing active workflow processes . . .
Viewing synchronized processes . . . . . .
Adding workflow support to applications . . .
Adding toolbar buttons for active workflow
processes . . . . . . . . . . . . .
Modifying toolbar buttons for active workflow
processes . . . . . . . . . . . . .
Deleting workflow processes . . . . . . .
Exporting and importing workflow processes . .
Chapter 11. Developing Custom
Actions . . . . . . . . . . . . . . 81
.
.
.
.
69
69
69
70
. 70
Parameter metadata . . .
Parameter Mappings XML .
Convenience routines for data
Sample Jython Script . . .
. 71
. 71
. 72
Chapter 12. Troubleshooting and
Support . . . . . . . . . . . . . . 89
Chapter 9. Workflow Administration
and Workflow Administration
(Advanced) . . . . . . . . . . . . . 73
Workflow Administration. . . . . .
Workflow Administration (Advanced) .
Using the List tab . . . . . . .
Using the Workflow tab . . . . .
Using the Assignments tab . . . .
Using the History tab . . . . . .
Using the Map tab . . . . . . .
Using the Logs tab . . . . . . .
Using the Specifications tab . . . .
Stopping instances of workflow processes
Deleting assignments . . . . . . .
Reassigning workflow assignments . .
Completing assignments . . . . . .
Sending reassignment notifications . .
Workflow/Inbox Assignments portlet. .
Configuring the Workflow Inbox . .
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
73
73
73
74
74
74
74
75
75
75
76
76
76
77
77
77
Advanced Workflow Components Implementation Guide
. . . .
. . . .
mappings
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Known problems, work-arounds, and limitations . .
Error when stopping a workflow with email
specified . . . . . . . . . . . . . .
Internet Explorer 7 sometimes crashes when
launching Workflow Designer or Workflow
Designer (Advanced) . . . . . . . . . .
Right-clicking on ILOG Canvas Stop node shows
a "Java Applet Window" entry . . . . . . .
Internet Explorer 7: Hidden Form Missing error
in Workflow Designer (Advanced). . . . . .
Internet Explorer 7: security exception when
launching Workflow Designer (Advanced) . . .
81
85
87
88
89
89
89
89
90
90
Chapter 13. Advanced Workflow
Components Messages . . . . . . . 91
Notices . . . . . . . . . . . . . . 95
Trademarks .
.
.
.
.
.
.
.
.
.
.
.
.
. 97
Index . . . . . . . . . . . . . . . 99
Chapter 1. Workflow overview
You use the Workflow applications to plan, design, build, test, and manage
workflow processes. Workflow provides a means of electronically reproducing
business processes so that they can be applied to records.
You can manage the movement of a record through a process from start to finish.
You can instruct individuals to act on records, specify delegates when workers are
unavailable, ensure that individuals act in a timely manner, and ensure that an
audit trail exists for each record and process.
Workflow is an integrated part of the software. Workflow processes and their
supporting records are at the system level in a multisite implementation. Workflow
processes can be used for all organizations and sites. You can design processes or
subprocesses that are specific to an organization or specific to a site, through the
use of logical branching.
You can create a workflow process for any business object. Because all the
applications are associated with Maximo® business objects and can run a
customer-developed Java class or script, you can build workflow processes for any
application, including cloned and custom applications.
Workflow handles assignments in a flexible manner. Assignees can receive
notifications of assignments in their Workflow Inbox or in their e-mail inbox,
eliminating the need for users to search for their assignments. Workers or
administrators can reassign workflow tasks, stop a process instance, and remove a
record from the control of Workflow. You can specify at what point in a process
you want e-mail notifications generated. Delegates can be specified when workers
are unavailable.
A workflow process can run a program, such as a batch file or an .exe file, that is
stored on a local server in the system directory. A workflow process for one type of
record can launch a process for another type of record. For example, a service
request can launch a process for an incident. A process can contain subprocesses.
For example, for different subcategories of records, or records from different sites.
When a process requires user interaction, the product can direct a user to a specific
application, to a tab, or to an action.
Advanced Workflow Component
The Advanced Workflow Component that is installed with this product leverages
the capabilities of the Action application to automate one or more steps in a
Workflow process.
Workflow automation or 'runbook automation' is used to refer to process
automation capabilities for IT operations teams. The ability to automate processes
is of utmost importance to all IT Operations organizations; the main goals being to
reduce labor costs, and to reduce the risk of human error in performing intricate,
tedious, and repetitive tasks.
Workflows can be exposed to IT personnel who need to run repeatable procedures
in several different contexts:
© Copyright IBM Corp. 2007, 2010
1
v
v
v
v
v
User- or tool-driven automation workflow procedures
Service flow-driven automation workflow procedures
Process-driven automation workflow procedures
Ticket-based automation workflow procedures
Web Services driven automation workflow procedures
In the most simple of scenarios, run book automation provides straightforward
value. Above and beyond simple documentation of the steps to perform,
workflow-based automation provides for automation at two levels: sequencing the
steps in the task and connecting tool-based automation to steps in the workflow.
Actions provide access to a variety of built-in capabilities, including the ability to:
v Initiate an application action
v Change the status of a record
v Execute a custom class or a specified executable program
v Execute an automation script
v Set the value of a field on a record
Advanced Workflow Components Web Services
Advanced Workflow Components comes with number of Web Services that help
you automate your workflow processes.
For more information, see the Advanced Workflow Components Web Services technote
on the product support site: http://www.ibm.com/support/
2
Advanced Workflow Components Implementation Guide
Chapter 2. Applications that are used with Workflow
Workflow is used with other applications that directly or indirectly support its
functionality.
Actions
Create and manage actions and action groups. Actions are associated with
connection lines in a workflow process and are triggered by the routing
that moves a record from one node to another.
Automation Scripts
Create jython scripts that serve as action implementations (similar to
custom Java classes). As with custom Java classes, automation scripts can
access information in Maximo business objects (MBOs) and interact with
operational management products to perform a variety of operations (for
example, install software, re-configure a device, or start a service).
Communication Templates
Create and manage templates that the system uses when generating e-mail
messages. Workflow uses communication templates for notifications.
Escalations
Create and manage escalation processes. An escalation is a mechanism that
can monitor time-sensitive records and key performance indicators, which
can take actions or send notifications when a record reaches a defined
escalation point. Workflow can use escalations with task assignments.
Inbox/Assignments Setup
Configure the Workflow Inbox on the Start Center of a user.
People
Create and manage records for individuals who are listed on records in
any capacity. Workflow uses person records when generating assignments
and notifications.
Person Groups
Create and manage records for groups of individuals. Workflow uses
person group records when generating assignments and notifications.
Roles
Create and manage records for roles. All roles resolve to a person, person
group, or e-mail address. All workflow assignments and notifications are
made to roles.
Workflow Administration
View and modify assignments and active instances of workflow processes.
Workflow Administration (Advanced)
View and modify assignments and active instances of workflow processes.
Information about active and inactive instances of workflow processes can
also be viewed, including workflow assignments, workflow history, action
logs and specification attribute information.
Workflow Designer
Create, view, and modify workflow processes.
Workflow Designer (Advanced)
Create, view, and modify workflow processes. Workflow Designer
(Advanced) application provides a re-designed canvas for designing
workflows and provides numerous new capabilities over Workflow
© Copyright IBM Corp. 2007, 2010
3
Designer application. Workflows that were designed using the original
Workflow Designer application can be managed using the Workflow
Designer (Advanced) application.
Workflow Inbox
View and respond to workflow assignments. A workflow process routes
assignments to users' inboxes.
Workflow Launcher
Exposes a library of re-usable workflows to the user for selection and
invocation.
4
Advanced Workflow Components Implementation Guide
Chapter 3. Workflow design process
Workflow processes can be designed to incorporate the most effective ways of
completing business tasks. You can evaluate your current practices and determine
how you can improve or standardize them before you design workflow processes.
When you create a workflow process, the product directs records through paths
that you specify. When you design a process, be sure to consider what can happen
at each decision point and include all of the paths that a record can take. You
could begin your workflow implementation with simple processes. You can always
build in more complexity in a later revision.
To design optimum workflow processes, consider the following guidelines:
v Generic processes require less maintenance than highly specific ones. For
example, you could modify roles that resolve to an individual more frequently
than roles that resolve to a person group.
v When designing processes, consider when you want the product to generate
notifications. The product can generate notifications when the following events
occur in a process:
– A record reaches a decision point (node)
– A record follows a specific path (connection line) in a process
– Task assignments are made
v When designing processes, consider how you want to handle null values. A
process could reach a decision point that evaluates data on the record and that
data could be missing from the record.
v When a record takes the negative path, you can design the record so that it can
be modified to take the positive path. You could also design the record to exit
the process permanently.
v If a record can go through a process again after it has been rejected, you can
define a limit to the number of times a record can repeat the process.
v Try to avoid having separate groups of nodes and connection lines that perform
the same function at different points in a process. It is more efficient to reuse the
same code through looping or through creating a subprocess.
v Simple processes involving a limited number of nodes are easier to troubleshoot
and maintain. If the number of nodes in your process grows too large, you could
break down the process into subprocesses.
v When writing Structured Query Language (SQL) statements, consider how the
SQL syntax affects how the product interprets the statements. The following
examples demonstrate the use of the colon in SQL statements:
– ASSETNUM — (without a colon) Instructs the product to go to the database
for the asset record
– :ASSETNUM — (with a colon) Instructs the product to use the asset record in
memory (the record currently on the window)
© Copyright IBM Corp. 2007, 2010
5
Business process analysis
Your business practices encompass how you manage your enterprise. You can start
the analyses of your processes by collecting information about your enterprise.
This information helps you to determine the types of processes that you could
automate.
Enterprise analysis
Gather the following enterprise information to use when designing your workflow
processes:
v If you have an organizational chart, review your organizational chart to see how
your enterprise is organized.
v If your enterprise is multinational, list the languages that are required for your
workflow processes.
v Collect the business process flows that document the business units of your
organization. If there are different process flows for the same organizations at
various locations, gather those process flows. Compare the business practices at
locations to find out if the differences are significant.
v Review the standard operating procedures, such as the International
Organization for Standardization (ISO) 9000 quality management or the ISO
14000 procedures.
v Review the regulatory requirements for your industry and how they affect your
business processes.
v Review the policies that define who is responsible for creating budgets.
v Review the policies that define financial approval limits and list the individuals
who have the authority to approve spending.
v Research the types of records at your enterprise that require approval.
v Review the policies that define the levels of approval that are required for each
type of record.
Implementation analysis
Gather the following implementation information for use when designing your
workflow processes:
v Determine the number of organizations and sites that exist for your enterprise.
You create workflow processes at the system level. Find out if there are separate
processes or subprocesses for different organizations or sites.
v Find out if you use the Integration Framework to integrate with any external
systems.
v
v
v
v
Determine if any Maximo product options have been purchased.
Research the applications that your enterprise has implemented.
Determine the types of records for which you use the software.
Find out if the system has been configured to generate records, such as
inventory reorder records, preventive maintenance work orders, and scheduled
payment invoices.
v Determine if your implementation uses Start Centers that do not include the
Workflow Inbox. If users cannot access the Inbox, you can design your workflow
processes to send e-mail messages to notify users.
6
Advanced Workflow Components Implementation Guide
Process analysis
Information you collect about your processes can be formatted into a flowchart. A
flowchart can help you to identify reusable elements, the beginning and the end of
record life cycles, and the parts of the life cycle that can be managed by a
workflow process.
You could diagram your business process on paper, on a blackboard, or using a
graphics software program to create a flowchart. Writing or diagramming a
business practice helps you to analyze it. It also provides you with a map of your
process flows that you can use when you create a workflow process. Your goal is
to produce a detailed diagram that shows all of the routes that a record can take
through your enterprise during its life cycle.
Your research must include the following information:
v The names and roles of the people who interact with records during a process
v The processes that are used to manage specific records
v The records that enter the process, and where the records go when they exit the
process
v The records that are managed during a process
v The length of time it takes for a record to go through a process
v The parts of your current process that are working well and should be kept
v The parts of your current process that are not working well and should be
changed or removed
As you document your business process, make note of trouble spots, such as
undocumented procedures, or different ways to complete the same task. Address
these issues and refine your business processes before you create and implement a
workflow process.
Workflow processes and user responsibilities
Workflow processes identify the people who create and who manage a record
throughout its life cycle. Workflow processes also identify the types of records that
are used.
In workflow processes, assignments are made to roles that represent either a single
user or a group of people. As you generate a list of persons associated with each
process, consider whether you can create person groups for people with similar job
responsibilities, levels of authority, and security clearances.
To help you to identify the people, the roles, and the records that are involved in
the workflow processes that you create, compile the following information:
v Decide how people are going to be notified of workflow assignments. Users who
are going to be assigned tasks must have user records.
v Generate a list of the people who must be notified of the progress of a record.
The product can send e-mail messages to notify specific users. It is more efficient
to create person records for all individuals who receive notifications.
v Identify the personnel who work on shifts.
v Identify supervisors on person records for escalations and notifications.
v Identify contract labor personnel if they are required to interact with a record in
a workflow process. Identify which contract workers have both person records
and labor records.
Chapter 3. Workflow design process
7
v Specify the level of security that applies to individuals in different roles in your
enterprise. Decide which applications and which actions personnel in each
security group are allowed to view. When you design your security groups and
workflow processes, you must ensure that users in a particular role have the
security permissions they need to perform their assigned tasks.
Elements of workflow processes
You use workflow processes to create steps to guide records for your business
processes. You use numerous elements when creating your workflow processes to
achieve the business goals set out for your enterprise.
Person records
You use the People application to create, to modify, to view, and to delete records
for individuals. The People application stores information about individuals, such
as users, laborers, asset owners, and supervisors who receive workflow
notifications.
A person record is a record for an individual whose name could appear as a text
field value. Workflow assignments are made to roles. All roles resolve to a person,
to a person group, or to an e-mail address.
The name of a person is used as the text field value in the Reported By field or in
the Affected Person field on a service request, in the Supervisor field on a labor
record, or in a Ship To field or Bill To Attention field on a purchasing record.
You must create a person record for any individual who will be assigned tasks as
part of a workflow process. When you create records in the Labor application and
in the Users application, you must create a person record. Person records might
have to be created for other individuals who do not have records in the Labor
application or in the Users application.
Person records that you create for use as part of workflow processes should
contain values in the following fields:
Supervisor
The person who oversees or manages the individual. This information is
used for escalations.
Primary E-mail
The E-mail address where notifications are sent.
Primary Calendar
The work calendar that the individual follows. This information is used
when determining assignments and escalations.
Primary Shift
The shift that the individual works. This information is used when
determining assignments and escalations.
Workflow E-mail Notification
The circumstances when the individual should receive e-mail notifications
for task assignments. The default value is PROCESS.
Workflow Delegate
The person identifier of the individual designated to receive assignments
when the primary individual is unavailable for an extended period of time
(for example, on vacation or on sick leave)
8
Advanced Workflow Components Implementation Guide
Delegate From and Delegate To
The time period when workflow processes should route assignment to the
delegate. If these fields are empty, all workflow assignments are routed to
the delegate.
Person groups and workflow assignments
You use the Person groups application to specify that a group member for a
specific organization or site be used when making workflow assignments.
Workflow assignments are made to roles.
Different workers can perform the same role on different shifts. Creating person
groups for roles such as "supervisor" or "safety engineer" simplifies a workflow
process. Creating person groups also reduces the need for revisions as individuals
move in and out of roles.
Workflow assignments are based on entries in the person group role record. If the
Broadcast check box is selected on the role record, the task is assigned to all
members of the person group. If the check box has not been selected, the product
goes through the following steps to determine the appropriate role for the task:
v The product checks for a person record with appropriate entries in the Calendar
and Shift fields for the assignment, verifying the group members in the order
specified by the Sequence field. If no sequence values are specified, the
assignment is made to the first group member with an appropriate entry in the
Calendar and Shift fields. The search logic depends on whether the workflow
process is for an application at the site, the organization, or the system level.
– If the application is at the site level, the first check is for person records
where the value in the Use for Site field matches the site of the record in the
workflow process. The next check is for person records where the value in the
Use for Organization field matches the organization of the record in the
workflow process. The third check is for person records where there is no
value in either the Use for Site field or the Use for Organization field.
– If the application is at the organization level, the product checks for person
records where the value in the Use for Organization field matches the
organization of the record in the workflow process. The next check is for
person records where there is no value in either the Use for Site field or the
Use for Organization field.
– If the application is at the system level, the product checks for person records
where there is no value in either the Use for Site field or the Use for
Organization field.
v If there is no person whose Calendar and Shift entries match the assignment,
the product checks for a person record who is listed in the Site Default field.
(This field is optional; you can specify a single site default per site.)
v If no site default is specified, the product checks for a person record who is
checked in the Organization Default field. (This field is optional; you can
specify only a single organization default per organization.)
v If no organization default is specified, the Group Default person is assigned. By
default, the first person added to a person group becomes the group default, but
you can modify this setting.
Roles and role records
You use the Roles application to create role records. A role is a function within a
business. A role can represent a specific job title (such as a department manager),
an assigned duty (such as a watch officer), a class file, and a data set.
Chapter 3. Workflow design process
9
Workflow Inbox assignments and workflow notifications are always made to roles.
All role records point to one or more person identifiers. Role records can also point
to a table and column in the database that represent a person. When a role is
encountered in a workflow process, it resolves the role to a person group or to an
individual person record.
You use roles when you create and configure the following workflow elements:
v Communication templates (recipients)
v Escalations
v
v
v
v
v
Negative connection lines (notifications)
Positive connection lines (notifications)
Manual Input nodes (notifications)
Task nodes (assignments and notifications)
Wait nodes (notifications)
By using role records instead of person records for assignments and notifications,
you can create generic workflow processes that require less maintenance as
individuals move in and out of different roles within your company.
Communication templates
You use the Communication Templates application to create and to manage
templates that generate e-mail messages about the status of workflow records.
When you create a communication template, you can specify the following
information:
v The business object that the template can be used for
v The applications where the template can be used
v
v
v
v
v
The address that the e-mail should be sent from
The address that replies should be sent to
The subject line of the message
The body of the message
One or more recipients of the message. You can send messages to roles, persons,
person groups, and e-mail addresses, and you can specify whether each recipient
should also receive a carbon copy (CC) or blind carbon copy (BCC) of the
message.
v Documents to include as attachments when the message is generated
You can use substitution variables when creating the subject line and body of your
message. When an e-mail is generated using that template, it replaces the
substitution variables from the template with the corresponding values from the
record.
Substitution variables in communication templates
A substitution variable is code that represents a column in the database related to
the object specified in the Applies To field on the communication templates. When
you use a substitution variable in the Subject or Message field and generate a
notification, the variable is replaced with the database value for that column.
You can use the Communication Templates application to modify communication
templates without inactivating them. However, you cannot modify a
communication template if it is in use on an escalation record or in an enabled or
10
Advanced Workflow Components Implementation Guide
active workflow process. If you try to modify a communication template that
cannot be modified, an error message is displayed.
You can click the Detail Menu button next to the Subject and Message fields to
select a field from the tables and related tables for the object specified in the
Applies To field on the communication template.
When you type a substitution variable manually, you type a colon (:), followed by
the database column name (for example, :WONUM).
v If the column is from the main database table for the object, the format is a
colon (:) and the column name (for example, :WONUM).
v If the column is from a database table related to the main object, the format is a
colon (:), one or more relationship names separated by periods (.), and then the
column name (for example, :ASSET.STATUS).
Be sure to include a space before and after each substitution variable to ensure that
the generated text is formatted properly.
For example, if you were creating a communication template to notify the system
administrator to create a new user record, your message might be similar to the
following message:
Subject — New employee
Message — :FIRSTNAME :LASTNAME was hired on :HIREDATE . Please create a user
record for this individual and e-mail them their user name and password at
:EMAIL.EMAILADDRESS.
When a communication template is used to generate a notification, it replaces the
substitution variables with the corresponding values from the record that is
generating the notification. A notification generated from the previous example
might resemble the following notification:
Subject — New employee
Message — Julie Stickler was hired on 6/01/01. Please create a user record
for this individual and e-mail them their user name and password at
[email protected].
Note: To find out the column name for any field, place the cursor in the field and
press Alt+F1. You see the table and column name associated with the field.
If you are including a substitution variable for a nonrequired field, phrase the
message so that it still makes sense to the reader if the field is null.
Notifications
You use the Workflow Designer or Workflow Designer (Advanced) application to
create notifications. A notification is an email message that is generated by the
progress of a record through a workflow process.
The Workflow Designer or Workflow Designer (Advanced) application uses
communication templates for notifications. You use the Communication Templates
application to create and to manage the templates.
When you create communication templates for workflow notifications, you specify
roles as the recipients rather than persons or person groups. Many individuals
come into contact with a record as it moves through its life cycle. Often these
individuals need to know about the progress of a record. You can design your
Chapter 3. Workflow design process
11
workflow process to generate notifications as required by your business process.
Notifications can be made through e-mail or through a pager, providing that your
paging system supports e-mail.
You can configure the following workflow components to generate notifications:
v Escalations
v Negative connection lines
v Positive connection lines
v Manual input nodes
v Task nodes
v Wait nodes
You cannot modify a communication template in the Workflow Designer or
Workflow Designer (Advanced) application. You must create separate templates for
your notification requirements.
Escalations and action groups
You use the Escalations application to create escalation records. An escalation is a
mechanism for monitoring time-sensitive records. Escalations can take actions or
send notifications when a record reaches a defined escalation point. Your Workflow
administrator can specify that a task assignment has a time limit. If the assignment
is not completed within the specified time limit, an escalation can be triggered for
the record. Escalations help to get tasks completed on time and help to prevent
work backlogs.
Standard escalations do not exist. Your administrator creates custom escalation
records that trigger a variety of actions and notifications. For example, an
escalation might approve or cancel a record, or reassign a task assignment. An
escalation might generate a reminder notification to the assignee regarding the task
assignment, or send a notification to a supervisor that the assignee did not
complete the assignment yet.
Workflow uses escalations primarily with two objects:
WFASSIGNMENT
WFASSIGNMENT is an object associated with workflow task assignments.
You can create escalations that monitor whether an assignee completes a
task assignment within the specified time limit. If the task is not completed
within the time limit, WFASSIGNMENT can trigger one or more actions.
For example, by reassigning the task to a work group or by generating
notifications to the supervisor.
WFINSTANCE
WFINSTANCE is an object associated with active instances of workflow
processes. You can create escalations to monitor how long it takes a record
to exit the control of a process. For example, if the process design includes
one or more Wait nodes.
Action groups
An action group is a type of action record that includes multiple actions and a
sequence to use when performing the actions. Escalations are always associated
with action groups.
12
Advanced Workflow Components Implementation Guide
You can associate an action group with an escalation in either of the following
ways:
v You can create action groups using the Actions application and then click Detail
Menu next to the Action Group field on the Actions sub tab to associate the
action group with the escalation.
v You can create action groups in the Escalations application by clicking New Row
on the Actions sub tab. When you create an action group in the Escalations
application, the action group receives a generated name. The actions receive
assigned sequence numbers. The sequence numbers are based on the order in
which you add the actions to the group.
Escalation points
An escalation point defines the attributes of a record that trigger an action. You can
define one or more escalation points for an escalation and specify one or more
actions and notifications for each escalation point.
You can create the following categories of escalation points:
v Elapsed time since a past event — Compares the current date and time to the
specified field that represents an event in the past. You can select from a list of
DATETYPE fields on the record (for example, a Start Date on a workflow
assignment, an Actual Start date on a work order, or a Status Date on a record
that includes status).
v Time until a future event — Compares the current date and time to the
specified field that represents an event in the future (for example, a Renewal
Date on a contract, a Due Date on an invoice, or a Target Finish date on a work
order).
v Condition — Condition without a time measurement. If you want to trigger the
actions and notifications of an escalation based on a condition that does not
have a time measurement, you can specify the condition in the Escalation Point
Condition field. You also can use the Condition field to specify that the
escalation point should be applied to only the subset of records specified by the
condition
Record routing
Activating a workflow process indicates that the process is ready to have records
routed through it. Before you activate a workflow, consider whether you want
records to be routed into a process manually or automatically.
A record can enter a workflow process by any of the following methods:
v When you click the Route button on the toolbar.
v When you select the Route Workflow action from the Select Action menu.
v When you create and save a record, the record is routed into the workflow
process. You can set one process per object to initiate automatically.
v You can set workflow options in the Organizations application. These options
specify that generated records should be routed into a particular workflow
process. You can specify a workflow process to manage the following records:
– Work orders that are generated from a preventive maintenance record
– Purchase requisitions that are generated via the inventory reorder process
– Purchase orders that are generated via the inventory reorder process
– Work orders that are generated when a purchase order for a rotating asset is
approved
Chapter 3. Workflow design process
13
v A record can be routed from one workflow process to another in any of the
following ways:
– By means of an interaction node
– By means of a subprocess node
– By means of an WFINITIATE action specified on a connection line leaving a
node
v A record can be automatically routed into a process by means of an escalation
action.
v When creating a workflow process with the Workflow launcher application, a
record is automatically created and routed into the process.
Synonym statuses
You can create synonym statuses if your business processes for record approvals or
for status changes involve multiple steps for each approval or status change.
For example, your business process might call for three different people to review
a record before it is considered approved. There is a single status for waiting for
approval and a single status for approved. You can create synonym statuses of
waiting for approval that represent each of the preliminary approvals before the
record is considered approved.
You use the Domains application to add synonym values to a value list. For more
information about creating synonym statuses, see the Domains Help for this
product.
Examples of workflow processes
You can use the Workflow application to manage records used in a variety of
business processes. The examples provided are basic because of the limited number
of nodes that can be displayed.
The examples illustrate some of the capabilities of the Workflow application and
should not be used in a production environment. The product demonstration
database includes workflow processes that display simple processes.
Example of a purchase requisition business process
You can create a workflow process to handle a purchase requisition. When you
create a purchase requisition, your supervisor must approve it.
When an approved purchase requisition reaches the purchasing department, a
purchasing agent evaluates the record and then performs one of the following
steps:
v Rejects the requisition
v Creates a request for quotation to receive bids for the purchase
v Creates a purchase order from the requisition
The record then exits the workflow process for the purchase requisition.
For example, you can create a requisition such that if the total is less than $500, the
requisition is routed to the purchasing department. If the requisition total exceeds
$500, the requisition requires the approval of the department manager before it can
be routed to the purchasing department. If the requisition total exceeds $1,000, the
requisition requires the approval of a vice president before it can be routed to the
14
Advanced Workflow Components Implementation Guide
purchasing department. If the requisition total exceeds $5,000, the requisition
requires the approval of the chief financial officer before it can be routed to the
purchasing department.
The diagram that follows illustrates one way that you might map the preceding
scenario. The nodes and the connection lines in this example are arranged so that
they are easy to see at a glance, but they can be arranged differently. You could
add or remove stop nodes, and the workflow process would still illustrate the
same business process.
Figure 1. Example of a purchase requisition workflow process
Example of a service request business process
A workflow process can be created to handle service requests. An enterprise uses
the software for service desk functions. The enterprise has designed a workflow
process that guides a service desk agent through the initial steps of the record
management process.
When a service desk agent takes an incoming telephone call, the agent creates a
service request ticket to record the interaction. The enterprise has configured the
database to require the agent to record the caller's name and telephone number.
The agent also must type a short description of the service request. For example, a
Chapter 3. Workflow design process
15
request for information, maintenance, and a classification for the service request.
Depending on the type of service request, the agent also might type information
about the asset or the location.
When the agent saves the service request ticket, the product starts the service
request workflow process. The Manual Input window opens with the following
options:
v I must type additional information regarding this service request.
v I must type information about tickets or work orders related to this service
request.
v I must make an entry in the Work Log or Communications Log.
v I have completed data entry for this ticket.
If the agent requests to type more information, either the Service Request tab, the
Related Records tab, or the Log tab display, depending on which option the agent
selected. When the agent indicates the completion of data entry for a service
request, the product evaluates the data on the record.
If the agent has not provided asset or location data, the Manual Input window
displays the following options:
v
v
v
v
Close ticket - informational call
Close ticket - unauthorized caller
Close ticket - misdirected call
Take no action
If an asset or a location is specified on the record, the Manual Input window opens
with the following options:
v Take Ownership of ticket (Take Ownership action)
v Assign Ownership of ticket (Assign Ownership action)
v Create Incident record (Create Incident action)
v Create Problem record (Create Problem action)
v Create Change work order for an IT asset. (Create Change action)
v Create Work Order for a non-IT asset. (Create Work Order action)
v Take no action on this ticket.
The following diagram illustrates one way that the preceding scenario might be
mapped.
Figure 2. Sample Service Request Workflow
16
Advanced Workflow Components Implementation Guide
Example of a work order business process
A workflow process can be created to handle a work order. An enterprise has
configured the system to route all new preventive maintenance work orders that
are generated through the preventive maintenance work order generation cron task
into a workflow process.
The first step is to evaluate the priority of the work order, as follows:
v If the preventive maintenance work order is high priority or has a null value in
the Priority field, it is routed to a work planner for immediate review and
approval.
v If the preventive maintenance work order has a low priority, it is routed to a
Stop node and exits the process.
All preventive maintenance work orders then go through a financial approval
process. Work orders with an estimated total cost of less than $500 are
automatically approved. The maintenance supervisor must review and approve
work orders with an estimated total cost of more than $500.
After a work order passes the financial approval process, it must be assigned to a
work group, as follows:
Chapter 3. Workflow design process
17
v If the preventive maintenance work order is for a vehicle, the system assigns it
to the fleet maintenance group.
v If the preventive maintenance work order is for a building or location, the
system assigns it to the facilities maintenance group.
v The system assigns all other preventive maintenance work orders to the
maintenance group.
After the system assigns the work order to a maintenance group, the work order
exits the workflow process.
The following diagram illustrates one way that you might map the preceding
scenario.
Figure 3. Example of a preventive maintenance work order workflow
18
Advanced Workflow Components Implementation Guide
Chapter 4. Configuring for Workflow
The Workflow Designer and Workflow Designer (Advanced) applications require
minimal configuration before you can create Workflow processes.
Configuration prerequisites
If you design and create Workflow processes, you must be familiar with the
following tools, processes, and concepts:
v The business processes for the enterprise
v Applications that are involved in the workflow process, such as Asset
Management applications, Change Management applications, and Provisioning
applications.
v Databases and data relationships
v Structured query language (SQL) statements
v SQL syntax required by your database
Additionally, the Workflow Designer and Workflow Designer (Advanced)
applications require a Java Virtual Machine (JVM) on the client workstation. If you
do not have a JVM installed, the product cannot display the Workflow canvas.
Eastern Asian languages
For information about configuring the Workflow canvas to properly display
Chinese and other Eastern Asian languages, see the System Administrator Guide for
this product.
Configuring administrator e-mail notifications
During the installation process, you type an email address for the Workflow
administrator. The administrator will receive system messages about errors.
Record the e-mail address for the Workflow administrator in the
maximo.properties file. This file is located in the following directory:<installation
directory>\applications\maximo\properties
where <installation directory> is the directory into which you installed the
product.
1. Using a text editor, open the maximo.properties file .
2. In the Workflow Related Properties section, locate the property named
mxe.workflow.admin=.
3. Type or modify the e-mail address. For example:
[email protected]
4. Save your changes.
Security permissions for workflow processes
If you design workflow processes, you must belong to a security group with
security permissions.
© Copyright IBM Corp. 2007, 2010
19
Users are not automatically granted access to workflow actions. An administrator
must use the Security Groups application to grant users security permissions to
workflow actions. The workflow actions appear in the Security Groups application
when you add workflow support to an application. You can grant users access to
actions before you activate a process.
Additionally, you require security permissions for the following applications:
v Actions
v Automation Scripts
v
v
v
v
v
v
v
Communication Templates
Escalations
Inbox/Assignments Setup
People
Person Groups
Roles
Workflow Administration
v Workflow Administration (Advanced)
v
v
v
v
Workflow
Workflow
Workflow
Workflow
Designer
Designer (Advanced)
Inbox (portlet)
Launcher
If you or your group are responsible for testing workflow processes, you must
have security permissions for other applications, depending on the processes that
are being tested.
20
Advanced Workflow Components Implementation Guide
Chapter 5. Working with Actions
An action is an event that is triggered when a record is found that meets the
conditions defined by an escalation point, service level agreement, or Workflow
process.
Use the Actions application to create and manage actions and action groups that
can be used with Workflow processes and to enable Workflow automation. Actions
and action groups can also be used with escalations and service level agreements
(SLA). Workflow automation is made possible by leveraging the capabilities of the
Action application.
You can create actions to:
v Initiate an application action.
v Change the status of a record.
v Execute a custom class.
v Execute a custom script.
v Execute a specified executable program.
v Execute a group of actions
v Set the value of a field on a record.
Actions and Workflow
Workflow processes use actions to move records through a process and to trigger
events, such as status changes. You define actions in the Actions application and
then you reuse them in the Workflow processes that you create.
You use actions when you create and configure the following Workflow elements:
v Escalations
v Negative connection lines
v Positive connection lines
v Interaction nodes
v Manual input nodes
Actions and escalations
An escalation is a mechanism for monitoring time-sensitive records automatically,
which can take actions or send notifications when a record reaches a defined
escalation point.
You create the actions that are associated with an escalation record in the Actions
application.
Action types
When you create an action record, you specify the action type to help determine
what kind of action to take when the action is encountered in a process.
An action can be one of the following types:
© Copyright IBM Corp. 2007, 2010
21
Application Action
Used to specify that an application action be initiated. For this type of
action, there must be values in the Object and Value fields. When creating
an Application Action, you can specify one of the following actions if it is
available for the specified object:
v APPLYSLA — Apply the specified service level agreement.
v Create Change — Create a change work order.
v Create Incident — Create an incident ticket.
v Create Problem — Create a problem ticket.
v Create Release — Create a release work order.
Create SR — Create a service request ticket.
Create WO — Create a work order.
APPLYPS — Apply a Customer agreement
APPLYRP — Apply a Response Plan
WFACCEPT — Workflow auto-accept. Accepts the record and routes it
to the positive path in the workflow process.
v WFESCALATE — Escalate the record in the workflow process and
reassigns the assignment to its escalation role.
v WFINITIATE — Initiate a workflow process. This option requires a
value in the Parameter/Attribute field.
v WFREJECT — Workflow auto-reject. Rejects the record and routes it to
the negative path in the workflow process.
v
v
v
v
v
Change Status
Used to specify that the status of a record will change. There must be a
value in the Object field and a status in the Value field for this type of
action.
Custom Class
Used to specify that a custom class file should run. There must be a value
in the Object field and the name and path of a class file in the Value field
for this type of action.
Custom Script
Used to specify that a custom Automation Script should be run. When an
action type of Custom Script is selected, the application link associated
with the Value attribute provides a link to the Automation Script
application, allowing the user to select an existing script, or create a new
one.
Command Line Executable
Used to specify that a program on the server should run. For this type of
action, the name of a program file must be in the Value field.
Action Group
Used to specify that the system should run the sequence of actions that
you specify in the Members table window.
Set Value
Used to specify that the system should set the value of a specified field.
For this type of action, values are required in the Object, Value, and
Parameter/Attribute fields.
22
Advanced Workflow Components Implementation Guide
Custom actions
Actions can be defined that invoke a custom implementation.
A custom implementation can take one of two forms:
v Custom java class
v Custom script
Both forms of custom implementation can access MBO data (and related data), as
well as any application actions associated with the MBO.
When an action type of Custom Class is specified, the name and path of a class
file must be specified in the Value field.
When an action type of Custom Script is specified, the application link associated
with the Value attribute provides a link to the Automation Script application,
allowing the user to select an existing Jython script, or create a new one.
Related concepts
“Automation Scripts application” on page 32
The Automation Scripts application allows you to create and manage a library of
Jython scripts.
Creating action records
You use the Actions application to create action records that can be used as part of
an escalation, a service level agreement, or a workflow process. You can create
different types of actions.
1. On the toolbar, click New Action.
2. In the Action Description field, type a description, or click Long Description
to type additional information.
3. In the Type field, select a value from the menu of action types. The value in
the Type field determines which fields on the action record you can edit,
which fields are required, and the values that can be entered in those fields.
4. In the Value field, type a value that corresponds with the Action type you
have selected.
v If you are creating an Application Action type of action, click Detail Menu
to select from the list of available actions. For this type of action, a value is
required in the Object field.
v If you are creating a Change Status type of action, type a status for the
specified object. For this type of action, a value is required in the Object
field.
v If you are creating a Custom Class type of action, type the name and path
of a class file in the Maximo directory.
v If you are creating a Custom Script action, click Detail Menu to select from
the list of available Automation Scripts, or go to the Automation Scripts
application to create a new script.
v If you are creating an Command Line Executable type of action, type the
name and path of an executable file that exists on the server.
v If you are creating a Action Group type of action, the Value field is
read-only.
v If you are creating a Set Value type of action, type the value to which you
want the field set. You can click Detail Menu to use the SQL Expression
Chapter 5. Working with Actions
23
Builder. For this type of action, values are required in the Object and
Parameter/Attribute fields. If the value is a string it needs to be enclosed in
single quotes.
5. Optional: In the Classification field, select a classification for the action. This
is useful when selecting an action from a large library of actions in the
Workflow Designer (Advanced) application.
6. If you are creating an Application Action, Change Status, or Set Value type
of action, specify a value in the Object field. Specifying an Object is optional
for Action Group, Custom Script, Custom Class, and Command Line
Executable type actions.
7. If you are creating a Set Value type of action, specify a value in the
Parameter/Attribute field. The Parameter/Attribute field contains a
relationship tree containing relationships associated with the main object.
8. Optional: If you are creating a Change Status action, you can use the Memo
field to add remarks regarding the status change.
9. Optional: If you are creating an action specifically for use with escalations or
workflow, specify a value in the Accessible From field. Click Detail Menu to
select an option and retrieve a value.
10. Click Save Action.
Creating action groups
You can create a Action Group type action containing two or more action records,
and specify a sequence to use when the actions in the group are activated.
The following rules apply to action groups:
v If you specify an object for the group, all members of the action group must be
for the same object.
v Group type actions cannot be members of an action group.
When you create a Action Group action, the Value field, the Parameter/Attribute
field, and the Memo field are all read-only.
1. On the toolbar of the Actions application, click New Action. If the Action field
is empty, type a name for the role.
2. In the Action Description field, type a description, or click Long Description
to type additional information.
3. In the Type field, select Action Group from the menu of action types.
4. Optional: In the Object field, type a value.
5. Optional: In the Classification field, select a classification for the action. This is
useful when selecting an action from a large library of actions in the Workflow
Designer (Advanced) application.
6. For actions created specifically for use with escalations or workflow, specify a
value for the Accessible From field. Click Detail Menu to select an option and
retrieve a value.
7. Click Select Members. You see a list of actions that exist for the specified
object. If you do not specify an object, you see a list of action records that do
not have a specified object.
a. To select an action, check the Select Row check box. You can select more
than one action. To cancel a selection, clear the check box.
b. Click OK. Your selections are copied to the Members table window and
sequence numbers are assigned to each action.
24
Advanced Workflow Components Implementation Guide
8. Optional: Modify the Sequence field to change the order in which the actions
are initiated.
9. Click Save Action.
Creating actions specific to Workflow
You can create actions that are associated with a Workflow process. Workflow
processes use actions to move records through a process and to trigger events,
such as status changes.
You define actions once, and then reuse the actions when you create multiple
Workflow processes. You use actions when you create and configure the following
Workflow processes: escalations, negative connection lines, and positive connection
lines, interaction nodes, and manual input nodes.
1. On the toolbar of the Actions application, click New Action. If the Action field
is empty, type a name for the role.
2. Optional: In the Action Description field, type a description, or click Long
Description to type additional information.
3. Optional: In the Object field, type a value.
4. Optional: In the Classification field, select a classification for the action. This is
useful when selecting an action from a large library of actions in the Workflow
Designer (Advanced) application.
5. In the Type field, select the type of action that you are creating.
6. In the Accessible From field, click Detail Menu to select Workflow.
7. Save your changes.
Creating actions specific to escalations
1. In the Actions application, click New Action.
2. Optional: Provide a description of the action.
3.
4.
5.
6.
Optional: Specify a value for object.
Specify the type of action that you are creating.
In the Accessible From field, select Escalation.
Save your changes.
Duplicating actions
Use the Duplicate Action option from the Select Action menu in the Actions
application to copy an existing action record.
You can duplicate an action if, for example, you wanted to create the same
application action for two different objects. Once you duplicate an action record,
you can then modify it as needed.
1. Go to System Configuration → Platform Configuration → Actions application,
and display the record that you want to duplicate.
2. Click Select Action → Duplicate Action.
Deleting actions
You can delete an action record if it is no longer needed and if it is not being used
by specific records or elements.
Chapter 5. Working with Actions
25
You cannot delete an action record if it is being used with any of the following
records or workflow elements:
v Escalations
v Negative connection lines
v Positive connection lines
v Interaction nodes
v Manual input nodes
v Service level agreements
1. Go to System Configuration → Platform Configuration → Actions application,
and display the record that you want to delete.
2. Click Select Action → Delete Action.
View Action Log
To see all of the log records that have been produced by invocations of the action,
use the View Action Log option from the Select Action menu.
Logging for actions must be explicitly enabled. In the System Properties
application:
v To enable logging for all actions of Type=Custom Class, set the value for the
system property rba.log.enableCustomActionLogging to 1.
v To enable logging for all actions of Type=Custom Script, set the value for the
system property rba.log.enableCustomScriptLogging to 1.
1. Go to System Configuration → Platform Configuration → Actions application,
and select the record for which you want to see the action log records.
2. Click Select Action → View Action Log.
Add or modify an image
In the Actions application you can associate an image with an action. The image is
displayed on positive or negative connectors that reference the action on the
Workflow Designer (Advanced) canvas.
1. From the Select Action menu in the Actions application, click Add/Modify
Image. The Add/Modify Image dialog is displayed.
2. Perform one of the following steps:
v To delete the current image, click Delete.
v To modify or add a new image, click Browse and select the file you want to
use.
Note: All images must be .jpg or .gif files.
3. Click OK.
The image will be displayed where the action is used on connections lines in your
Workflow process. Actions for which an image is not defined will display with the
default action icon
.
Synchronize parameters
For actions of type Custom Script, you can synchronize information that is
configured on the Parameter Mappings tab in the Actions application with changes
that have been made to the metadata in an automation script.
26
Advanced Workflow Components Implementation Guide
If the Synchronized flag is not set, use the Synchronize Parameters option from the
Select Action menu to resynchronize, at which time you can update the
configuration on the Parameter Mappings tab in the Actions application. The
Synchronized flag is shown on the List tab and on the Parameter Mappings tab.
Possible status values are NEW, DELETE, MODIFIED, and UNMODIFIED. A
parameter is MODIFIED only if the MBO Type, Method Type, or Attribute Data
Type values have changed in the metadata. The Relationship and Attribute values
will not be overwritten, even if they have been modified in the metadata.
1. Go to System Configuration → Platform Configuration → Actions application,
and display the record that you want to resynchronize and update.
2. Click Select Action → Synchronize Parameters. The table displays the changes
to the Input Parameters and Output Parameters tables that are made if the
changes in the metadata are accepted.
3. Click OK to apply the changes to the action and to mark the action as
synchronized.
4. Press Cancel to leave the action parameters unchanged and to leave the action
unsynchronized with the metadata.
Related concepts
“Convenience routines for data mappings” on page 87
Convenience routines for obtaining Input parameters and setting Output
parameters are used by the action implementation to shield it from the location of
the Input and Output parameters.
Related reference
“Parameter Mappings XML” on page 85
XML can be embedded in the source code to define input and output parameters
for use with the parameter mapping function supported with actions.
Configurable parameter mapping
The ability to configure from where an action implementation gets its input
parameters (and to where it stores its output parameters) helps facilitate the
development of libraries of domain-oriented automation actions that can be
applied in different scenarios, and which work with different object types (for
example, workorders and tickets).
This separation of business logic from the marshalling of input and output
parameters, in the context of Workflow automation, makes it possible to plug the
same action implementation into different workflows, without necessarily being
constrained by the type of object processed by the workflow.
For example, if an action requires three input parameters, and the three elements
of data are available in a Change workorder as well as a Problem ticket, the same
action implementation should be applicable to workflows designed to work with
Change workorders as well as workflows designed to work with Problem tickets.
This is also true for input parameters found in MBOs related to the workflow's
primary object (for example, Change or Problem).
The configurable parameter mapping approach for Action parameters has three
elements:
v Action implementations in the form of automation scripts define their input and
output parameters as a form of metadata that is imbedded in the code. A simple
XML representation is used for this metadata.
Chapter 5. Working with Actions
27
v Convenience routines are available for automation scripts to 'get' input
parameters from the primary MBO and related MBOs and to 'put' (or set) output
parameters into attributes associated with primary MBO and related MBOs.
These convenience routines rely on the parameter mapping configuration
(defined in the action) to determine the relationship path to the parameters, for
both inputs and outputs.
v The Action application supports the configuration of the input and output
parameter mappings for a given action. When an automation script action
implementation is to be used in a new context where inputs and outputs must
be marshalled from different locations, a new action is defined with possibly a
different configuration for the parameter mappings. When defining a new
action, and the reference to the custom script is specified, the metadata in the
action implementation is used to pre-populate the rows in the Input and Output
Parameter tables on the Parameter Mappings tab. The designer of the action can
then complete the configuration of the Relationship and Attribute fields for each
parameter defined in the Input and Output Parameter tables.
Related concepts
“Convenience routines for data mappings” on page 87
Convenience routines for obtaining Input parameters and setting Output
parameters are used by the action implementation to shield it from the location of
the Input and Output parameters.
Related reference
“Parameter Mappings XML” on page 85
XML can be embedded in the source code to define input and output parameters
for use with the parameter mapping function supported with actions.
Parameter mappings in the Action application
While the specific input and output parameters used by an action implementation
are defined in the source code metadata, the mapping of these parameters to
specific MBO attributes or MBO sets is specified in the action definition.
If an Action is associated with an script that contains metadata, then the 'Parameter
Mappings' tab will be displayed in the Action application.
Input parameter mappings
For each input parameter defined in the metadata, a row is created in the Input
Parameters table on the Parameter Mappings tab. For each row, the following
read-only attributes are pre-populated when the automation script is selected:
v Name – name of the input parameter. This is a required value, and will always
be present.
v Description – description of the input parameter. This is an optional value.
v MBO Type – an optional value that specifies the type of MBO that must be
defined in the last position in the user-specified Relationship field. When used,
this places a restriction on the type of MBO that can be used as input to the
action. For example, if MBO Type is set to "CI", then the following values in the
Relationship field would be considered valid, or invalid:
– WOCHANGE.CI (valid)
– WOCHANGE.ASSET (invalid)
v Attribute Data Type – A required value that specifies the expected data type of
the attribute (or array of attributes) that is expected by the action. Attribute Type
is applicable when Method Type is "Attribute" or "AttributeArray". For example,
28
Advanced Workflow Components Implementation Guide
if Method Type=Attribute, and Attribute Type=INTEGER, then the attribute
entered in the Attribute field must be of type INTEGER.
v Method Type – A required value that specifies how the input data is being
accessed by the action:
– Attribute – The action is expecting a single attribute as input.
– AttributeArray – The action is expecting an array of one or more attributes as
input.
– MBOSet – The action is expecting a MBO set as input.
For each input parameter defined in the metadata, the following writeable
attributes are available for configuring the "path" to each required input parameter.
v Relationship – used to specify the relationship path to the input MBO, or MBO
Set.
– If the input MBO is the primary MBO that is associated with the action (or
the workflow), then this field should be left blank.
– If the input MBO is reached by a sequence of one or more relationships from
the primary MBO, then a value must be specified in Relationship.
– The "target", or rightmost MBO specified in the Relationship value, must
match the MBO Type specification, if defined.
– The relationship value can be entered into the Relationship field, or click on
the Select Value icon after the Relationship field to use a the relationship
navigation dialog to define the relationship path.
v Attribute – used to specify the name of the attribute that is input to the action.
– The specified attribute must be an attribute supported by the target MBO
specified in the Relationship field. If the Relationship field is blank, the
primary input MBO for the action is assumed, and the attribute must be
supported by that MBO.
– If Method Type is Attribute or Attribute Array, a value is required in this
field.
– If Method Type is MBOSet, then a value should not be specified in this field.
– The data type of an attribute specified in this field must match the value
specified in the Attribute Type field.
– The attribute value can be entered into the Attribute field, or click on the
Select Value icon after the Attribute field to use the attribute navigation dialog
to select the attribute. The set of attributes displayed on the dialog is scoped
to the attributes supported by the target MBO defined in the Relationship
field
v Override Value – used to supply a specific value to be returned as input to the
action. At run-time, values specified in the Relationship and Attribute fields are
ignored, and the value specified in Attribute Override is used as the input value.
This field is only displayed if Attribute Data Type is UPPER, ALN, LOWER,
INTEGER or SMALLINT. Clear this field to revert to use Relationship and
Attribute.
Note: When the input and output parameter tables are populated for an action,
the values entered for Relationship and Attribute must pass validation before you
can save the action.
Examples
The following examples describe different scenarios and corresponding values to
use for Relationship and Attribute.
Chapter 5. Working with Actions
29
1. The primary MBO is WOCHANGE and the input attribute is CINUM:
v Relationship=null
v Attribute=CINUM
2. The primary MBO is WOCHANGE and the input attribute is the Description
attribute associated with the Job Plan defined on the WOCHANGE:
v Relationship=JOBPLAN
v Attribute=DESCRIPTION
3. The primary MBO is WOCHANGE and the input consists of an array of
OMPGUIDs that are associated with the set of CIs defined in the workorder:
v Relationship=MULTIASSETLOCCI.CI.ACTUALCI
v Attribute=GUID
4. The primary MBO is WOCHANGE and the input consists of a MBO Set of the
CIs defined on the workorder:
v Relationship=MULTIASSETLOCCI.CI
v Attribute=null
5. The primary MBO is WOCHANGE and the input consists of a MBO Set of the
specification attributes associated with the workorder:
v Relationship=WORKORDERSPEC
v Attribute=null
The use of specification attributes as a way to configure additional attributes for
MBOs is very convenient. Specification attributes are limited to three data types
(alphanumeric, numeric and table domain).
You can also define a filter in the path definition to identify a specification
attribute, as shown in the following examples:
1. The primary MBO is WOCHANGE and the input consists of a MBO Set of the
specification attributes associated with the workorder, where the name of the
specification attribute is "capacity". Since the implementation for a specification
attribute does not allow duplicates with the same ASSETATTRID for a given
object, the MBO Set will contain 0 or 1 objects.
v Relationship=WORKORDERSPEC[ASSETATTRID='CAPACITY']
v Attribute=null
2. The primary MBO is WOCHANGE and the input consists of an array of
objects, the values obtained from the numvalue attribute associated with the
filtered MBO set. Since the implementation for specification attributes does not
allow duplicates with the same ASSETATTRID for a given object, an array will
be returned with 0 or 1 objects:
v Relationship=WORKORDERSPEC[ASSETATTRID='CAPACITY']
v Attribute=NUMVALUE
3. The primary MBO is WOCHANGE and the input consists of a MBO Set of the
CIs where CINUM = the value of the CINUM attribute in the workorder:
v Relationship=MULTIASSETLOCCI[CINUM=:cinum]
v Attribute=null
4. The primary MBO is WOCHANGE and the input consists of a MBO Set of the
CIs located in conference room 'conf200':
v Relationship=MULTIASSETLOCCI[LOCATION='CONF200']
v Attribute=null
30
Advanced Workflow Components Implementation Guide
5. The primary MBO is WOCHANGE and the input consists of an array of objects
containing CINUM values, filtered by the related MULTIASSETLOCCI MBOs
where LOCATION='conf200' and further filtered by the related CI MBOs where
the physical location is 'PITTSBURGH':
- Relationship=
MULTIASSETLOCCI[LOCATION='conf200'].CI[CILOCATION='PITTSBURGH']
- Attribute=CINUM
Output parameter mappings
For each Output Parameter mapping, a single attribute can be defined.
For each output parameter defined in the metadata, a row is created in the Output
Parameters table on the Parameter Mappings tab. MBO Sets and arrays cannot be
defined as Output Parameters. For each row, the following read-only attributes are
pre-populated when the automation script is selected:
v Name – name of the output parameter. This is a required value, and will always
be present.
v Description – description of the output parameter. This is an optional value.
v MBO Type – an optional value that specifies the type of MBO that must be
defined in the last position in the user-specified Relationship field. When used,
this places a restriction on the type of MBO that can be used as output to the
action. For example, if MBO Type is set to "CI", then the following values in the
Relationship field would be considered valid, or invalid:
– WOCHANGE.CI (valid)
– WOCHANGE.ASSET (invalid)
v Attribute Data Type – A required value that specifies the expected data type of
the attribute that is set as an output by the action. Attribute Data Type is always
applicable for output parameters, since the only supported Method Type for
output is Attribute. For example, if Attribute Data Type=INTEGER, then the
Attribute entered in the Attribute field must be of type INTEGER.
For each output parameter defined in the metadata, the following writeable
attributes are available for configuring the "path" to each output parameter.
v Relationship – used to specify the relationship path to the MBO with the output
attribute
– If the output MBO is the primary MBO that is associated with the action (or
the workflow), then this field should be left blank.
– If the output MBO is reached by a sequence of one or more relationships
from the primary MBO, then a value must be specified in Relationship.
– The "target", or rightmost MBO specified in the Relationship value, must
match the MBO Type specification, if defined.
– The relationship value can be entered into the Relationship field, or click on
the Select Value icon after the Relationship field to use the relationship
navigation dialog to define the relationship path.
v Attribute – used to specify the name of the attribute that is output from the
action.
– The specified attribute must be an attribute supported by the target MBO
specified in the Relationship field.
– A value is always required in the Attribute field, since Method Type for
output parameters is limited to Attribute.
Chapter 5. Working with Actions
31
– The data type of an attribute specified in this field must match the value
specified in the Attribute Data Type field.
– The attribute value can be entered into the Attribute field, or click on the
Select Value icon after the Attribute field to use the attribute navigation dialog
to select the attribute. The set of attributes displayed on the dialog is scoped
to the attributes supported by the target MBO defined in the Relationship
field
Note: When the input and output parameter tables are populated for an action,
the values entered for Relationship and Attribute must pass validation before you
can save the action.
Examples
The following examples describe different scenarios and corresponding values to
use for Relationship and Attribute.
1. The primary MBO is WOCHANGE and the output parameter sets a value in
CINUM:
v Relationship=null
v Attribute=CINUM
2. The primary MBO is WOCHANGE and the output parameter sets a numeric
value in the numvalue attribute associated with the filtered
WORKORDERSPEC MBO Set:
v Relationship=WORKORDERSPEC[ASSETATTRID='capacity']
v Attribute=NUMVALUE
Automation Scripts application
The Automation Scripts application allows you to create and manage a library of
Jython scripts.
These scripts can be used to:
v Create actions of Type=Custom Script, used anywhere a custom action can be
used (for example, workflows, escalations, and so on).
v Validate user input on Service Catalog Offerings application dialogs using
Jython scripts.
Parameter mapping metadata can be embedded in the script source, facilitating the
development of re-usable actions, that can be configured for use in different object
contexts (for example, workorders, tickets).
The Actions tab in the Automation Scripts application provides a list of all actions
that reference a particular script. This is useful when the script or its metadata is
updated, thereby requiring actions that reference that script to be reconfigured.
32
Advanced Workflow Components Implementation Guide
Related concepts
“Parameter metadata” on page 81
Parameter metadata embedded in a Jython script is used to define the inputs and
outputs required by the implementation.
“Convenience routines for data mappings” on page 87
Convenience routines for obtaining Input parameters and setting Output
parameters are used by the action implementation to shield it from the location of
the Input and Output parameters.
Validation using Jython scripts
You can use Jython scripts to validate attributes, offerings and carts in the Service
Catalog. Use the Script Management application to manage the scripts.
Related tasks
“Synchronize parameters” on page 26
For actions of type Custom Script, you can synchronize information that is
configured on the Parameter Mappings tab in the Actions application with changes
that have been made to the metadata in an automation script.
Chapter 5. Working with Actions
33
34
Advanced Workflow Components Implementation Guide
Chapter 6. Workflow Designer and Workflow Designer
(Advanced)
You use the Workflow Designer or Workflow Designer (Advanced) application to
create workflow processes that reflect your business processes. A workflow process
defines the actions and notifications that can occur at different points in a business
process.
Creating workflow processes
A workflow process consists of the header information for the record, the nodes,
the connection lines, and the properties specified for the nodes and the connection
lines.
1. On the toolbar of the Workflow Designer or Workflow Designer (Advanced)
application, click New Process.
2. In the Process field, type a name for the process.
3. Optional: Type a description.
4. In the Object field, type a value or click Select Value and select an object.
5. Click Save Process.
You are now ready to use the canvas to add nodes and connection lines and to
configure the properties of each of the elements of the process.
Note: The Workflow Designer (Advanced) applet stays synchronized with the
Maximo server. If there is any question about the state of the workflow, save the
workflow to re-synchronize the workflow with the Maximo server.
Adding nodes and connection lines to the canvas
You use the Workflow Designer or Workflow Designer (Advanced) application to
create a workflow process by inserting nodes and connection lines on the
Workflow canvas.
Select one of the following options to enable editing on a workflow:
Options
Step
To create a workflow process
Click New Process.
To configure a process that is enabled and
activated
Select the process you want to revise and
click Create Process Revision.
Using Workflow Designer application
1. On the Workflow Designer application toolbar, select Move/Add Nodes.
2. Drag a node onto the canvas.
3. To edit the properties of the node, double click the node, and edit the
properties in the Node Properties window.
4. Repeat steps 2 and 3 to place other types of nodes onto the canvas.
5. To reposition nodes, drag the node you want to move.
6. On the Workflow Designer toolbar, select one of the following connection tools
to create connection lines between nodes:
© Copyright IBM Corp. 2007, 2010
35
a. Click Connect Nodes to add a positive connection line.
b. Click Connect Nodes with a Negative Action to add a negative connection
line.
7. Click a node and drag the line to another node. Lines must travel from one
node to another node. The lines indicate the path for records to follow in the
workflow process. The type of lines and the number of lines you can draw
from each node varies depending on the type of node.
8. Click Save Process.
After adding nodes and connection lines, the next step is to validate the process to
ensure its structural integrity.
Using Workflow Designer (Advanced) application
1. On the Workflow Designer (Advanced) application toolbar, click the toolbar
button for the node you want to add.
2. Click the location on the canvas where you want to place the node.
3. To edit the properties of the node, double click the node, and edit the
properties in the Properties window, or right-click on the node and select
Properties.
4. Repeat steps 2 and 3 to place other types of nodes onto the canvas.
5. To reposition nodes, drag the node you want to move to its new location.
6. On the Workflow Designer (Advanced) toolbar, select one of the following
connection tools to create connection lines between nodes:
a. Click the Positive Connection toolbar button
connection line.
b. Click the Negative Connection toolbar button
connection line.
to add a positive
to add a negative
The positive and negative connection buttons are 'sticky'. You can continue to
connect nodes together, until you click a different toolbar button. You can click
the connection toolbar button again to release the 'sticky' behavior and return
to the selection tool.
7. Click the source node to start the connection, then click the target node to
finish the connection, and draw the connection line between the two nodes.
Lines must travel from one node to another node. The lines indicate the path
for records to follow in the workflow process. The type of lines and the number
of lines you can draw from each node varies depending on the type of node.
8. Click Save Process.
After adding nodes and connection lines, the next step is to validate the process to
ensure its structural integrity.
Designing workflows with Workflow Designer canvas
Using the Workflow Designer canvas you get a graphical view of a Workflow
process that lets you see the process elements and how they are connected. The
Workflow Designer application Canvas tab provides the tools and work space to
create, view, and modify Workflow processes.
Use the Workflow Designer canvas to drag and drop process nodes and add
connection lines onto the canvas. The toolbar buttons provide visual indications of
36
Advanced Workflow Components Implementation Guide
workflow application support and workflow process control. You use these icons
to route workflow assignments and to complete workflow assignments.
Workflow Designer toolbar
The Workflow Designer application toolbar buttons provide visual indications of
workflow application support and workflow process control. You use these icons
to route workflow assignments and to complete workflow assignments.
Route buttons
When you add workflow support to an application, a Route button is added to the
application toolbar. Two icons exist for the Route toolbar button, to indicate
whether a record is being used in a workflow process. You can customize the
Route buttons. If multiple processes exist for an application, you can create
different buttons for each process.
Icon
File name
Function
nav_icon_route.gif
Indicates that the application
supports workflow. You can
click the icon to route the
current record into a process.
nav_icon_route_active.gif
Indicates that the current
record is under the control of
one or more workflow
processes. You can click this
toolbar button to perform
one of the following actions:
v Complete a workflow
assignment.
v Route the record into
another workflow process.
You can customize the Route buttons. If multiple processes exist for an application,
you can create different buttons for each process.
Adding workflow toolbar buttons
You can choose one toolbar button to represent all active workflow processes or
add separate toolbar buttons for each active process. You can even indicate the
order in which these toolbar buttons are displayed, based on your preferences and
priorities.
When multiple active processes exist for an object you have the following options:
v Use a single toolbar button for all active workflow processes. The Start
Workflow dialog box opens. Users can select a process from the menu of active
processes in the dialog box.
v Create separate toolbar buttons for each different, active process.
Note: If you exceed the number of icons that can fit on the toolbar, users see a
downward pointing arrow to indicate that a menu of options to choose from is
available.
To add a workflow toolbar button, complete the following steps:
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
37
In the Workflow Designer application, display a process record.From the Select
Action menu, select Edit Workflow GO Buttons . Applications that are associated
with the object and support workflow are listed in the toolbar buttons for <object
name> table window.
Note: If no applications are listed in the table window, use the Add Workflow To
Applications action to add workflow support to the applications.
Click New Row — Enter values in the following fields:
v Application — Enter the application that displays the button.
v Process Name — If the button is for a specific process, enter the process name.
If you are creating a single button for all active processes, leave this field empty.
v Sequence — Enter a number that indicates the order, from left to right, that you
want the workflow buttons displayed on the toolbar. If you exceed the number
of icons that can fit on the toolbar, the sequence number determines the order
that each process displays in the menu.
v Description — Enter a name for the button. When a user moves the cursor over
the button, that name is displayed.
v Toolbar Icon — Enter the file name of the image that you want to use in the
toolbar as the Route button, for example, nav_icon_route.gif.
v Active Icon — Enter the file name of the image that you want to use in the
toolbar. The Active icon indicates that the record is under the control of the
workflow process. For example, nav_icon_route_active.gif.
Click OK to add the icons to the toolbar for the specified application. Click Save
Process.
Standards for graphic files
When you create customized images to use as toolbar buttons, create pairs of icons
for each process.
The following standards are required for toolbar button images:
v Images must be Graphics Interchange Format (GIF) files. Use the GIF format for
a transparent background for the icon image.
v Image resolution must be 72 dots per inch (DPI).
v Image height for toolbar icons is 17 pixels. The width of the icon can vary from
12 to 26 pixels.
v Copy the images for toolbar buttons to the following directory: <product
directory>\applications\maximo\maximouiweb\webmodule \webclient\images
Process nodes
A node is a graphical element that represents a point in your business process.
Nodes are added at specific business process junctures to denote the entry of a
record into the business process.
You can drag and drop nodes from the palette onto the canvas. You can add any
number of nodes to a process. If a process exceeds 50 – 100 nodes, consider
breaking the process into subprocesses to simplify management and maintenance.
As you drag and drop each node onto the canvas, a name and a number are
assigned to the node. The node name describes the type of node. The number
38
Advanced Workflow Components Implementation Guide
indicates the order in which the node was added to the canvas. You can modify
the name of a node when you configure the node properties.
Whenever possible, give nodes user-friendly labels. You can view node titles in the
workflow map.
All nodes have properties, except for the start node and for the stop node. You
configure nodes by modifying the properties to match your business requirements.
You specify properties for a node in the Properties window for the node. Each
node must be configured individually. You can configure nodes at any point while
you build a process, but as a best practice, configure nodes as you add them to the
canvas.
The Workflow Designer application includes the types of nodes that can represent
various points in your business process. A node can be any of the following types
shown in Table 1 below
Connection lines
All nodes in a workflow process, except for the start nodes and the stop nodes,
must be connected to two other nodes. You can draw positive and negative types
of connections between nodes.
Positive connections
A solid black line on the canvas represents a positive connection. A
positive connection indicates a positive outcome. For example, an action
was performed, a record was approved, or a record met the condition
specified by the node. Use the Connect Nodes tool
line between nodes.
to draw a positive
Negative connections
A dashed red line on the canvas represents a negative connection. A
negative connection indicates a negative outcome. For example, a record
was canceled, a record was rejected, or a record did not meet the condition
specified by the node. Use the Negative Connection tool
negative line between nodes.
to draw a
Types of nodes and guidelines for connection lines
The following table describes the types of nodes that can represent various points
in your business process and the guidelines for the connection lines that you can
draw between one node and another node.
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
39
40
Lines permitted
entering a node
Lines permitted or
required exiting a
node
Type of node
Description
Start node
None.
Indicates the point
when a record starts
a workflow process.
When you create a
process, a single start
node displays on the
canvas. Each process
can have only one
start node. You
cannot delete start
nodes.
Condition node
One or more positive One positive line and
Indicates an
lines; one or more
one negative line are
evaluation of the
required.
record, based on data negative lines.
in the record. Use a
condition node to
enable a true
evaluation or a false
evaluation of the
record, and then
direct the record
based on that
evaluation. When a
condition node is
generated, it
evaluates the record
based on the
Structured Query
Language (SQL)
statement defined in
the properties for the
node. The record is
then routed to either
the positive
connection line or to
the negative
connection line
exiting the node. You
can use the
Expression Builder
tool to create a SQL
statement.
Advanced Workflow Components Implementation Guide
One positive line is
required.
Lines permitted
entering a node
Lines permitted or
required exiting a
node
Type of node
Description
Interaction node
One or more positive One positive line is
Provides an option
permitted.
for a user interaction lines; one or more
negative lines.
with a record. Use
interaction nodes to
guide a user through
a structured
interaction with a
record. A process can
have one or more
interaction nodes.
You do not have to
include interaction
nodes in a process. A
manual input node
precedes an
interaction node. If
an interaction node
leads to an
application not
related to the object
on the process
record, place a stop
node after the
interaction node. The
original process shuts
down as the new
record displays.
Manual input node
One or more positive
Indicates a need for
lines; one or more
user input because
negative lines.
there are multiple
directions that a
record can take in a
process. Use a
manual input node to
have the assignee
decide what happens
next. When a manual
input node is
generated, a window
displays. The manual
input window
contains a menu of
options for routing
the record. When the
assignee selects an
option, any actions or
notifications
associated with the
option are triggered.
More than one
positive line is
required. Negative
connections exiting
the node are not
allowed.
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
41
42
Lines permitted
entering a node
Lines permitted or
required exiting a
node
Type of node
Description
Subprocess node
One or more positive One positive line and
Indicates that a
lines; one or more
one negative line are
separate workflow
required.
process is contained negative lines.
within another
workflow process.
Use a subprocess
node to break down
a complicated
business process into
smaller,
self-contained units.
For example, you
could have a
subprocess that
handles records in
different sites, or that
handles different
classes of work
orders. When the
record encounters a
stop node within a
subprocess, the stop
node is returned to
the main process at
the same point where
it left the process and
on the same type of
routing line on which
it finished.
Task node
One or more positive
Indicates when a
user is to be given an lines; one or more
negative lines.
Inbox assignment.
The user has two
choices. For example,
the user can either
approve a record or
reject a record. Use
task nodes when
your business process
requires that a user
evaluate a record.
Create a task
assignment that
routes the record to
one or more
individuals.
Workflow comes to a
stop at a task node
until the assigned
user has routed the
record.
Advanced Workflow Components Implementation Guide
One positive line is
required; one
negative line is
allowed.
Lines permitted
entering a node
Lines permitted or
required exiting a
node
Type of node
Description
Wait node
One or more positive One positive line is
Indicates that the
lines; one or more
required.
progress of a record
negative lines.
through a process
pauses until a
required condition is
met. Use a wait node
to create a reaction to
a database event,
such as a status
change, or a record
update. A process
can have one or more
wait nodes. You do
not need to include
wait nodes in a
process. A wait node
cannot precede a
node that requires
user interaction, such
as an interaction
node or a manual
input node.
Stop node
One or more positive None.
Marks the end of a
lines; one or more
workflow process.
negative lines.
That is, the point
where a record leaves
control of the
process. When you
create a process, a
single stop node is
placed on the canvas.
Use the stop node
tool in the palette to
place additional stop
nodes on the canvas.
Designing workflows with Workflow Designer (Advanced) canvas
The Workflow Designer (Advanced) canvas is an ILOG-based canvas that provides
a graphical view of a workflow process, showing how the process elements are
connected. The Workflow Designer (Advanced) application Canvas tab provides
the tools and work space to create, view, and modify workflow processes.
Use the Workflow Designer (Advanced) ILOG® canvas to add process nodes and
connection lines to the canvas.
Use the Canvas Toolbar to print, delete, zoom, and pan the canvas.
The Maximo toolbar buttons provide visual indications of the Workflow
application support and workflow process controls. Use these icons to route
workflow assignments and to complete workflow assignments.
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
43
Objects and Workflow processes
You create Workflow process records for a specific business object. An object is a
self-contained software entity that consists of both data and functions for
manipulating data.
Every application is associated with an object, and you can create a Workflow
process for any object or any object with its own applications.
When you create a Workflow process, you must specify an object for the process.
When you specify an object on the process record, the appropriate actions,
communication templates, escalations, Expression Builder relationships, and roles
are filtered and displayed as you create the process. The object association also
determines which records can be routed through the completed process.
You can create one or more Workflow processes for any object. However, records
can be automatically initiated into only one process per object.
Workflow Designer (Advanced) toolbar
The Workflow Designer (Advanced) canvas toolbar allows you to print, delete,
zoom, and pan the workflow process on the canvas.
Toolbar buttons
The following table describes the ILOG canvas toolbar buttons that are available
when designing workflow processes.
44
Button
Function
Print
Print the workflow
Delete
Delete the selected node or connection
Pan
Pan over the workflow
Zoom Box
Click and drag a box around the selected
area. Zoom in on selected area.
Zoom In
Zoom in on the canvas
Zoom Out
Zoom out on the canvas
Fit to Contents
Fits the contents of the workflow to the
available area
Table
Display the workflow in tabular form. The
table is displayed at the bottom of the
canvas.
Advanced Workflow Components Implementation Guide
Button
Function
Layout
This button runs the ILOG layoutAllNodes
function to redistribute the nodes and lines
on the canvas. Before changing the layout,
save the workflow, in case you want to go
back to the original layout.
Process nodes
A node is a graphical element that represents a point in your business process.
Nodes are added at specific points in your business process to denote the entry of
a record into the business process.
You can add nodes from the Workflow Designer (Advanced) palette onto the
canvas. You can add any number of nodes to a process, but if a process exceeds 50
– 100 nodes, consider breaking the process into subprocesses to simplify
management and maintenance.
As nodes are added to the canvas, a name and number are assigned to each node.
The name describes the type of node and the number indicates the order in which
the node was added to the canvas. You can modify the name of a node when you
configure the node properties.
All nodes have properties. You configure nodes by modifying the properties to
match your business requirements. You specify properties for a node in the
Properties window for the node. Each node must be configured individually. You
can configure nodes at any point while you build a process, but as a best practice,
configure nodes as you add them to the canvas.
Flyover on each of the nodes shows a summary of the properties for that node
without invoking the properties dialogs.
The Workflow Designer (Advanced) application includes a number of nodes that
represent various points in your business process. See “Connection lines” fro more
information on the types of nodes included and rules for connection lines.
Connection lines
All nodes in a workflow process can participate in a connection with another node.
You can draw positive and negative connections between nodes.
There are rules associated with creating connections, for example, the start node
cannot be the target of a connection, and the stop node cannot be the source of a
connection. Only valid connections are allowed.
Positive connections
A solid black line on the canvas represents a positive connection. A
positive connection indicates a positive outcome. For example, an action
was performed, a record was approved, or a record met the condition
specified by the node. Use the Positive Connection toolbar button
draw a positive line between nodes.
to
Negative connections
A dashed red line on the canvas represents a negative connection. A
negative connection indicates a negative outcome. For example, a record
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
45
was canceled, a record was rejected, or a record did not meet the condition
specified by the node. Use the Negative Connection toolbar button
draw a negative line between nodes.
to
Positive and negative connection buttons are 'sticky', meaning that you can
continue to connect nodes together, until you click a different toolbar button.
Connection lines can also have actions associated with them, and the new Action
application enhancements allow the user to associate an icon (.jpg or .gif) with an
action (see Chapter 5, “Working with Actions,” on page 21). Another feature of the
Workflow Designer (Advanced) application is the addition of an icon on the
connector that has an action associated with it. If the action has an icon defined,
the icon will be displayed on the line. If no icon has been defined for the action, a
default icon
will be displayed on the line.
Flyover help showing properties information about the actions defined on the
connector is also available. This information includes the Action name, type,
description, and value.
Sticky mode works for connection lines only; it does not work for nodes. When
you click a connector, you can continue to connect nodes without re-clicking the
connector toolbar button. It remains 'sticky', or active, until you click any other
button on the toolbar.
Types of nodes and guidelines for connection lines
The following table describes the types of nodes and lists the guidelines for the
connection lines that you can draw between one node and another node:
Table 1. Types of nodes and guidelines for connection lines
Lines permitted
entering a node
46
Node
Description
Start node
None.
Indicates the point
when a record starts a
workflow process.
When you create a
process, a single start
node displays on the
canvas. Each process
can have only one start
node. You cannot delete
start nodes.
Advanced Workflow Components Implementation Guide
Lines permitted or
required exiting a
node
One positive line is
required.
Table 1. Types of nodes and guidelines for connection lines (continued)
Lines permitted
entering a node
Lines permitted or
required exiting a
node
Node
Description
Condition node
One positive line and
Indicates an evaluation One or more
of the record, based on positive lines; one or one negative line are
data in the record. Use more negative lines. required.
a condition node to
enable a true evaluation
or a false evaluation of
the record, and then
direct the record based
on that evaluation.
When a condition node
is generated, it
evaluates the record
based on the Structured
Query Language (SQL)
statement defined in the
properties for the node.
The record is then
routed to either the
positive connection line
or to the negative
connection line exiting
the node.
Interaction node
One positive line is
Provides an option for a One or more
user interaction with a positive lines; one or permitted.
record. Use interaction more negative lines.
nodes to guide a user
through a structured
interaction with a
record. A process can
have one or more
interaction nodes. You
do not have to include
interaction nodes in a
process. A manual input
node precedes an
interaction node. If an
interaction node leads
to an application not
related to the object on
the process record,
place a stop node after
the interaction node.
The original process
shuts down as the new
record displays.
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
47
Table 1. Types of nodes and guidelines for connection lines (continued)
Lines permitted
entering a node
48
Lines permitted or
required exiting a
node
Node
Description
Manual input
node
Indicates a need for
user input because
there are multiple
directions that a record
can take in a process.
Use a manual input
node to have the
assignee decide what
happens next. When a
manual input node is
generated, the manual
input window displays
a menu of options for
routing the record.
When the assignee
selects an option, any
actions or notifications
associated with the
option are triggered.
Subprocess node
One positive line and
Indicates that a separate One or more
positive lines; one or one negative line are
workflow process is
more negative lines. required.
contained within
another workflow
process. Use a
subprocess node to
break down a
complicated business
process into smaller,
self-contained units. For
example, you could
have a subprocess that
handles records in
different sites, or that
handles different classes
of work orders. When
the record encounters a
stop node within a
subprocess, the stop
node is returned to the
main process at the
same point where it left
the process and on the
same type of routing
line on which it
finished.
Advanced Workflow Components Implementation Guide
One or more
More than one
positive lines; one or positive line is
more negative lines. required. Negative
connections exiting the
node are not allowed.
Table 1. Types of nodes and guidelines for connection lines (continued)
Lines permitted
entering a node
Lines permitted or
required exiting a
node
Node
Description
Task node
One positive line is
Indicates when a user is One or more
positive lines; one or required; one negative
to be given an Inbox
more negative lines. line is allowed.
assignment. The user
has two choices. For
example, the user can
either approve a record
or reject a record. Use
task nodes when your
business process
requires that a user
evaluate a record.
Create a task
assignment that routes
the record to one or
more individuals. The
workflow comes to a
stop at a task node
until the assigned user
has routed the record.
Wait node
One or more
One positive line is
Indicates that the
positive lines; one or required.
progress of a record
more negative lines.
through a process
pauses until a required
condition is met. Use a
wait node to create a
reaction to a database
event, such as a status
change, or a record
update. A process can
have one or more wait
nodes. You do not need
to include wait nodes in
a process. A wait node
cannot precede a node
that requires user
interaction, such as an
interaction node or a
manual input node.
Stop node
One or more
None.
Marks the end of a
workflow process. That positive lines; one or
more negative lines.
is, the point where a
record leaves control of
the process. When you
create a process, a
single stop node is
placed on the canvas.
Use the stop node tool
in the palette to place
additional stop nodes
on the canvas.
Workflow processes can
have multiple stop
nodes. Simply delete or
add stop nodes as
needed.
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
49
Table 1. Types of nodes and guidelines for connection lines (continued)
Lines permitted
entering a node
Lines permitted or
required exiting a
node
Node
Description
Stop Warning
node
Marks the end of a
One or more
None.
positive lines; one or
workflow process that
ends with warnings.
more negative lines.
Workflow processes can
have multiple stop
nodes. Simply delete or
add stop nodes as
needed.
Stop Error node
Marks the end of a
One or more
None.
positive lines; one or
workflow process that
ends with errors.
more negative lines.
Workflow processes can
have multiple stop
nodes. Simply delete or
add stop nodes as
needed.
Using Workflow Designer (Advanced) application
The Workflow Designer (Advanced) application provides a number of new features
in addition to what is available in the Workflow Designer application to help you
create, view, modify, and delete Workflow process records that reflect your
business process.
Using the Workflow Designer (Advanced) application you can:
v Add Attachments to workflow definitions to document a workflow.
v Set the Launch On Demand flag to indicate that a workflow can be launched on
demand from the Workflow Launcher application.
v Set the Go To Instance flag, to indicate that launching the workflow from the
Workflow Launcher application changes the application to the application
specified in the Go To Instance Application attribute.
v Classify a workflow using specification parameters. This is useful when using
the explorer view to access a workflow from the Workflow Designer
(Advanced), Workflow Administration (Advanced), and Workflow Launcher
applications.
v Define specification parameters, based on the classification for a workflow,
which serve as variables for custom actions in the workflow.
v Use the Workflow Instances tab to provide access to workflow instances created
from the workflow definition.
v Set the Go To Instance Application attribute to specify the application to switch
to during Launch On Demand when Go To Instance is enabled.
Workflow Designer (Advanced) tabs
The Workflow Designer (Advanced) application contains the following tabs:
v The List tab allows you to search for processes. The left navigation tree shows
all the classifications that can be used with workflow instances. When you click
on a classification, the right tree shows all the Workflow instances for that
classification and also for all the child classifications below. Legacy workflows
50
Advanced Workflow Components Implementation Guide
and any unclassified workflows will appear under the unclassified node. If you
want to see all the workflows for all the classifications, click on the All Records
menu
v The Canvas tab is used to design and modify processes in a graphical format.
v The Process tab lists all the nodes in the current Workflow process for viewing
and editing.
v The Specifications tab displays any specification attributes defined for the
workflow in the Specifications table. If the classification defined for the
workflow includes specification attributes, these attributes are displayed on the
Specifications tab. Once a workflow is classified, new rows in the Specification
table can be created by using the New Row button.
v The Workflow Instances tab provides access to workflow instances created from
the workflow definition.
Adding attachments to workflows
Workflow Designer (Advanced) provides a built-in mechanism for adding
documents and other information to workflows. Use the Attachment control to
associate documents with each process in a workflow.
To add an attachment to a workflow:
1. GoTo → System Configuration → Platform Configuration → Workflow Designer
(Advanced)
2.
3.
4.
5.
Open a new Workflow process or an existing one for the Incident object.
Click the Attachment icon to add an attachment file.
Apply the Attachment Configuration.
View the attachment file by clicking the Attachment icon within the Workflow
Designer (Advanced).
Classifying workflows
Use the Workflow Designer (Advanced) application to classify a workflow.
Workflow classifications are used to organize workflows hierarchically on the
Workflow Designer (Advanced), Workflow Administration (Advanced) and
Workflow Launcher applications.
Workflow classifications also provide a means to define variables in a workflow.
These variables can be used by automation actions embedded in a workflow.
Classifications for workflows must support the WFINSTANCE and WFPROCESS
objects.
You use the Workflow Designer (Advanced) application Canvas tab to classify
workflows.
If the classification defined for the workflow includes specification attributes, these
attributes are displayed on the Specifications tab.
Once a workflow is classified, new rows in the Specification table can be created
by using the New Row button.
Setting Launch on Demand for a workflow
Use the Workflow Designer (Advanced) application to set a Launch on Demand
flag for a workflow if the workflow is designed to be run from the Workflow
Launcher application.
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
51
When a workflow is launched from the Workflow Launcher, a new instance of the
object type associated with the workflow is created, and routed into the workflow.
The Launch on Demand flag can be set if the workflow is active and its object type
is supported for use with the Workflow Launcher application. Objects defined in
the rba.lod.objects system property are eligible for Launch on Demand.
In addition, the object that is created when a workflow is launched using the
Workflow Launcher can be classified automatically, prior to routing the object into
the workflow. For example, the workflow may be designed to process a Change
record, and expects the Change record to be classified as an Emergency change,
with a particular set of specification attributes. To define the classification that is to
be used when creating and routing the object (a Change, for example), select an
Object Classification in the Launch On Demand Details section on the Canvas tab.
Note: This is not the same as the classification defined for the workflow to classify
workflow instance objects (WFINSTANCE).
1. Select a workflow process
2. From the Select Action menu, choose Enable Process for Launch-on-demand If
the workflow's object type is not defined in the rba.lod.objects system
property file, Launch on Demand is not supported for that object, and an error
message displays if the user tries to enable Launch on Demand. Required
attributes associated with objects added to this system property must have
default values.
Setting the Go To Instance for a workflow
Use the Workflow Designer (Advanced) application to set Go To Instance for a
workflow.
The Go To Instance flag is used when a workflow is launched from the Workflow
Launcher application. It can be used to force a transition to the object created by
the Workflow Launcher application.
Launch on Demand must be enabled before you can set Go To Instance for a
workflow.
When Go To Instance is enabled, you can specify the application to switch to when
the workflow is launched on demand. The application is specified in the "Go To
Instance Application" field.
If the application is not specified when Go To Instance is enabled, a dialog displays
with the list of applications that are supported by the object. The user can select an
application from the list or click Cancel.
When an application is selected from the list, the application value is entered in
the "Go To Instance Application" field, and Go To Instance flag is set.
If there is only one application available, the "Go To Instance Application" field
will be filled in automatically. If there are no applications available for the object
type, then Go To Instance cannot be enabled.
If Go To Instance is not enabled when the workflow is launched from the
Workflow Launcher, the object will be created and routed into the workflow, but
the submitter of the workflow will not be transferred to the created object, and will
not have the opportunity to set any information in the object. This behavior can be
useful for workflows that are intended to perform a very specific task. For
52
Advanced Workflow Components Implementation Guide
example, the workflow might be designed to turn off the power in a lab on the 3rd
floor of building 201. In this case, the submitter does not have to provide any
information. The workflow proceeds through the process of turning off the power
(including approvals if needed). If the workflow is designed in a more general
fashion, where the submitter is expected to specify the floor and the building when
launching the workflow, then Go To Instance should be enabled, and the workflow
should include an interaction node that navigates the submitter to the appropriate
tab on the application (a Change for example) to enter values for floor and
building.
1. Select a workflow process
2. From the Select Action menu, choose Enable Process for Go-to-instance
Note: If the first interaction with the user is an interaction node and if Launch
on Demand is enabled, then Go To Instance must also be enabled.
Using the Workflow Instances tab
The Workflow Designer (Advanced) application Workflow Instances tab provides
a table of related workflow instances (WFINSTANCE).
Each row in the table represents an instance of the workflow and has an
application link to the Workflow Administration (Advanced) application, providing
direct access to workflow instances created from the workflow definition and
revision.
Enabling logging
The Workflow Designer (Advanced) application uses the Logging application to
log information about the internal processing of the Workflow Designer
(Advanced) canvas applet.
To enable logging, do the following:
1. From the GoTo menu, select System Configuration → Platform Configuration →
Logging
2. Set the Log Level to Debug for logging from the server.
3. Set the Log Level of the workflow logger to Debug.
4. For applet side logging, open to the Java Control Panel of the machine where
your browser is running.
5. In the Advanced tab select:
v Expand the Debugging twistie and check the 'Enable logging' checkbox.
v Expand the Java console twistie and check 'Show console' checkbox.
The Java console will display when the applet is invoked. The contents of the
console may be requested for problem determination, and they can be copied and
pasted into a file for sending.
Setting node properties
You use the Workflow Designer or Workflow Designer (Advanced) application to
create workflow processes that reflect your business processes. A workflow process
defines the actions and notifications that can occur at different points in a business
process.
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
53
Specifying the properties of connector actions
You use the Workflow Designer or Workflow Designer (Advanced) application to
specify the action properties on individual connectors.
You can specify the following properties for a connection line:
Action
Used to specify an action to be performed. You use the Actions application
to create actions.
Instructions
Used to indicate instructions to present to the user in a Complete
Workflow Assignment or Manual Input dialog box.
Manual Input nodes
Positive connection lines should include instructions that label each
option. For example, an option might indicate that the record
meets a certain condition, or that an action is performed.
Task nodes
Positive connection lines should include instructions that indicate
that the record will be approved, accepted, or a similar action.
Negative connection lines should include instructions that the
record will be canceled, rejected, or a similar action.
Positive
Read-only field used to indicate whether the connection line is a positive
or negative connection.
Expression
Read-only unless the action line is coming from Manual or Interaction
node. Specifies a SQL condition that evaluates record data to determine if
the option defined on the Interaction node should be presented to the user.
For example, you could have one or more conditional status change
options that are displayed based on the status of the current record. You
also can create conditions that evaluate data about the signed in user to
determine if an option should be presented to them, for example, For
example, the user's craft, skill level, or work group.
Custom Class
Read-only unless the action line is coming from Manual or Interaction
node. Used to specify that a custom class file should be used to test the
condition specified in the Expression field.
Notifications
Used to specify the notifications to generate when a record follows the
connection line to the next node. You can use a communication template to
create one or more notifications, or specify the subject, message, and role
recipients manually. You might want to specify different notifications for
positive and negative connection lines if different people must be notified
depending on the path that the record follows.
Note: You can configure both nodes and connection lines to generate
notifications. Avoid configuring a node and the connection lines exiting the
node to generate duplicate notifications.
You can access the connector/node properties in one of the following ways:
v Click the Properties button for the desired connector or node on the Process tab.
v Double-click on the selected connector or node on the Canvas tab.
54
Advanced Workflow Components Implementation Guide
v Right-click on the selected connector or node on the Canvas tab.
Follow the procedure below to specify the properties of an action using Workflow
Designer or Workflow Designer (Advanced).
If using Workflow Designer (Advanced) application, you can edit properties by
double-clicking or right-clicking on an action on the Workflow Designer
(Advanced) canvas.
1. From the List tab of the Workflow Designer or Workflow Designer
(Advanced) application, select a process with properties to be modified.
2. In the Actions window of the Process tab, click Edit Properties.
3. In the Action field, specify a value.
4. In the Instruction field, type text to describe to the runtime user what specific
action occurs for routing and manual inputs.
5. Click Condition Expression Builder.
6. Select the Custom Class check box to specify that a custom class file is used
to evaluate the record.
7. In the Communication Template field, specify a value.
8. In the Send To field, specify a value.
9. In the Subject field, type the subject of the notification email.
10. In the Message field, type the message of the notification email.
11. Click OK and click Save Process.
Specifying the properties of condition nodes
A condition node indicates an evaluation of the record, based on data in the
record. You use a condition node to have a true or false evaluation made on the
record and then direct the progress of the record based on that evaluation.
When a condition node is encountered, the record is evaluated based on the
Structured Query Language (SQL) statement defined in the node properties. The
record is then routed to either the positive or the negative connection line exiting
tool in the Workflow palette to place a new
the node. Use the Condition node
condition node on the canvas. A workflow process can have one or more condition
nodes, but you do not have to include condition nodes in a process.
You can specify the following properties for condition nodes:
Title
Type or modify the node name and description.
Expression
Used to specify the SQL statement that tests one or more field values on
the record. The product returns either a true result or a false result. You
can define a simple expression or a complex expression, based on the
needs of your business process. You can use substitution variables in the
SQL expression. When the product encounters the condition node during a
condition test, it substitutes values from the current record for the table
and column information based upon the specified substitution variables.
Use the Expression Builder to create your SQL expression.
Custom Class
Used to specify the custom class file that performs the condition test.
Locate custom class files in the product directory.
1. From the List tab of the Workflow Designer or Workflow Designer (Advanced)
application, select a process with properties to be modified.
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
55
2. From the Canvas tab, right-click the Condition node
or double-click the Condition node.
3. Optional: Type a description.
4. Enter the class name in the Expression field.
5. Select the Custom Class check box.
6. Click OK and click Save Process.
and select Properties,
Specifying the properties of interaction nodes
You use interaction nodes to specify the actions that occur in a workflow process
between different applications.
Use the Interaction Nodes Properties window to specify the following properties
for interaction nodes:
Application
Used to specify the application that displays.
Tab
Used to specify the tab for the specified application that displays. Use the
tab identifier from the application's Extensible Markup Language (XML)
presentation file as the value for the tab name. Tab identifiers are not in the
database. You must specify them manually. To determine the application's
tab identifier, navigate to the <Maximo root>\resources\presentations
directory, open the application's XML file with a text editor, and search for
"tab id=" to find the appropriate tab identifier.
Action
Used to specify an action that either displays or that is performed by the
product. You can select from actions available via a toolbar button or from
the Select Action menu.
Relation
Use to create an interaction that leads to another application. The
information in the Relation field is used to determine which record to
display when it opens the application. If the interaction involves creating a
new ticket or work order, you use the Relation field to specify what kind
of new record has been created, using one of the following values:
v NEWACTIVITY
v NEWCHANGE
v NEWINCIDENT
v NEWPROBLEM
v NEWRELEASE
v NEWSR
v NEWTICKET
v NEWWORKORDER
If the interaction does not involve creating a new record, you can use the
Select Relationship dialog box to specify a data relationship, for example,
the asset record that is listed on a work order.
Launch Process
Used to specify an active workflow process for the specified application.
The process starts on the current record upon arrival in the target
application.
Direction Title
Used to specify the title of the message window that displays.
56
Advanced Workflow Components Implementation Guide
Direction Body
Used to specify the text of the instructions that displays in a message
window. The user must click the Route button to indicate that they have
completed the interaction. For example, the instructions might read: "Enter
X data, then click the Route button to complete the assignment."
Note that the absence of a title or the absence of a body does not create a window.
1. From the List tab of the Workflow Designer or Workflow Designer
(Advanced) application, select a process with properties to be modified.
and select Properties,
2. From the Canvas tab, right-click the Interaction node
or double-click the Interaction node.
3. Optional: Type a description.
4. In the Application field, specify a value.
5. In the Tab Name field, type the tab identifier from the XML presentation file.
6. In the Action field, specify a value.
7. In the Relation field, specify a value.
8. In the Launch Process field, specify a value.
9. In the Directions Title field, type the title of the message window.
10. In the Directions Body field, type the instructions that the product displays in
the message window.
11. Click OK and click Save Process.
Specifying the properties of manual input nodes
You use manual input nodes in a workflow process to designate options that users
are presented with during a workflow process.
Use the Manual Input Properties window to specify the following properties for
manual input nodes:
Title
Used to specify or modify the node name and the description.
Display One
Used to specify what the product should do if a user has security
permissions to only one specified option. If the check box is selected, users
see the single option in the Manual Input dialog box. If the check box is
cleared, the action is performed. The Manual Input dialog box is not
displayed.
Actions
Displays actions associated with the connection lines that exit from the
node. Add rows to the Actions window by drawing connections that exit
the node. You can type a number in the Sequence column to specify the
order in which options are presented to a user. The Instruction displays for
each row in the Manual Input window.
Notifications
Used to specify any notifications that the product generates if the record
travels through a connection line that exits the node. You can use a
communication template to create one or more notifications. You can also
choose to specify the subject, message, and role recipients manually.
1. From the List tab of the Workflow Designer or Workflow Designer
(Advanced) application, select a process with properties to be modified.
and select
2. From the Canvas tab, right-click the Manual Input node
Properties, or double-click the Manual Input node.
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
57
3. Optional: Type a description.
4. Select the Display One check box to specify the action that occurs when a
user has security permissions to one specified option.
5. In the Action field, specify a value.
6. In the Communication Template field, specify a value.
7. In the Send To field, specify a value.
8. In the Subject field, type the subject of the notification email.
9. In the Message field, type the message of the notification email.
10. Click OK and click Save Process.
Specifying the properties of subprocess nodes
You use the Workflow Designer or Workflow Designer (Advanced) application to
specify the properties for subprocess nodes. Subprocess nodes are processes that
have been created to be used within a main workflow process.
Use the Subprocess Properties window to specify the following properties for
subprocess nodes:
Title
Used to specify or modify the node name and the description.
Subprocess
Used to type the name and the description of a workflow process record.
The subprocess must meet the following criteria:
v The process must exist in the Workflow Designer or Workflow Designer
(Advanced) application.
v The process must be associated with the same object as the main
process.
v The process must be enabled, but not activated.
1. From the List tab of the Workflow Designer or Workflow Designer (Advanced)
application, select a process with properties to be modified.
and select Properties,
2. From the Canvas tab, right-click the Subprocess node
or double-click the Subprocess node.
3. Optional: Type a description.
4. In the Subprocess field, specify a value.
5. Click OK and click Save Process.
Specifying the properties of task nodes
A task node indicates when a user has two choices, such as approving or to
rejecting a record. You use task nodes when your business process requires you to
evaluate the record and you want to create a task assignment that routes the record
to one or more individuals.
Use the Task Node Properties window to specify the following properties for task
nodes:
Title
Used to specify or modify the node name and the description.
Time Limit
Used to specify the time limit for the assignee to complete the task before
it is escalated.
Application
Used to specify which application the product uses to display the assigned
record. Typically, the object is associated with a single application. In some
58
Advanced Workflow Components Implementation Guide
cases, such as in Quick Reporting and Work Order Tracking, an object can
be associated with more than one application. It might, for example,
represent a clone or even a new custom application on that table.
Display One
Used to specify whether a single option is displayed when the user has
security permissions to only one option.
v If the check box is selected, the product displays the single option in the
Complete Workflow Assignment window.
v If the check box is cleared, the product performs the action.
WF Task Type
Used to add another task to the workflow process.
Assignments
Used to specify one or more roles to receive the task assignment. Specify at
least one assignment per task node.
Notifications
Used to specify the notifications that the system generates as a record
leaves the node. You can use a communication template to create one or
more notifications. Or, you can specify the subject, message, and role
recipients manually.
Perform Accept Action
Used to specify how the system routes the record when the assignment is
made to a group.
v When any assignment is accepted - Used to specify that the system
needs only one positive action to route the record to the positive
connection line.
v When all assignments are accepted - Used to specify that all assignees
must select the positive action in order for the system to route the record
to the positive connection line. If a single assignee selects the negative
option, the system routes the record to the negative connection line.
The options that the users see in the Complete Workflow Assignment dialog box
are defined on the connection lines that exit the node. You can define an action
and instructions for the user for each possible path.
1. From the List tab of the Workflow Designer or Workflow Designer
(Advanced) application, select a process with properties to be modified.
and select Properties, or
2. From the Canvas tab, right-click the Task node
double-click the Task node.
3. Optional: Type a description.
4. In the Application field, specify a value.
5. In the Time Limit field, specify the time limit for the assignee to complete the
task before it is escalated.
6. Select the Display One check box to specify what the system should do if the
user has security permissions to only one specified option.
7. In the Assignments section, click New Row, and specify values for each of the
fields that display.
8. In the Notifications section, click New Row, and specify values for each of the
fields that display.
9. In the Perform Accept Action field, select one of the following options to
specify how the record will be routed:
a. When any assignment is accepted.
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
59
b. When all assignments are accepted.
10. Click OK, and click Save Process.
Specifying the properties of wait nodes
You use the Workflow Designer or Workflow Designer (Advanced) application to
specify the properties of wait nodes. Wait nodes specify that the process is halted
until a specific event occurs.
You can specify the following properties for wait nodes:
Title
Used to specify or modify the node name and the description
Wait List
Used to specify one or more system events. The first event to occur
triggers the record to resume its progress through the process. Event names
consist of three or four lowercase words, delimited by periods. For
example, maximo.workorder.add or maximo.po.statuschange.appr..
v The first word is always maximo.
v The second word is the name of the business object (MBO). For example,
po.
v The third word is one of the following words:
– add
– delete
– init
– statuschange. If the event is a status change, the event name has a
fourth word, which is the name of the status. For example, appr.
– update
Notifications
Used to specify the notifications that the system should generate as a
record leaves the node. You can use a communication template to create
one or more notifications. You can also specify the subject, the message,
and the role recipients manually.
1. From the List tab of the Workflow Designer or Workflow Designer (Advanced)
application, select a process with properties to be modified.
and select Properties, or
2. From the Canvas tab, right-click the Wait node
double-click the Wait node.
3.
4.
5.
6.
7.
Optional: Type a description.
In the Event field, type an event name.
In the Communication Template field, specify a value.
In the Send To field, specify a value.
In the Subject field, type the subject of the notification email.
8. In the Message field, type the message of the notification email.
9. Click OK and click Save Process.
Setting workflow processes to automatically initiate
You can specify that when a user creates and saves a new record in an application,
the record is automatically routed into a workflow process. Each object can have
only a single process that is automatically initiated.
60
Advanced Workflow Components Implementation Guide
A process must be validated, enabled, and activated before you can set it to
automatically initiate.
This action only routes records created by users. Records that the product creates
automatically (for example, through a PM cron task or through the inventory
reorder function) cannot be automatically routed into a process through this
method.
1. In the Workflow Designer or Workflow Designer (Advanced) application,
display an activated process record.
2. From the Select Action menu, select Set Process to Auto-Initiate.
Setting processes to not auto-initiate
You use the Workflow Designer or Workflow Designer (Advanced) application to
specify that when a record is created and saved in an application, the record is not
routed into a workflow process. Each object can have only a single process that is
initiated automatically.
1. In the Workflow Designer or Workflow Designer (Advanced) application, select
the activated process record that you want to set to not auto-initiate.
2. From the Select Action menu, select Set Process to Not Auto-Initiate.
3. Click Save Process.
Duplicating workflow processes
You can use the Duplicate Process action to create a copy of an existing Workflow
process, for example, if you wanted to create similar processes for different objects.
After you duplicate a Workflow process, you then can modify it as needed.
1. From the List tab, select the record that you want to duplicate.
2. From the Select Action menu, select Duplicate Process. The process is copied
with the Enabled and Active check boxes cleared.
3. In the Process field, type a name for the action.
4. Optional: In the Description field, type a description.
5. Optional: Modify the Object field.
6. Modify canvas elements as needed, and click Save Process.
Chapter 6. Workflow Designer and Workflow Designer (Advanced)
61
62
Advanced Workflow Components Implementation Guide
Chapter 7. Activating and viewing workflow processes
Workflow processes are generally automated. For this reason, you can create a test
environment where you design and test processes without affecting records in your
production environment. You test your workflow processes by routing a record
through each possible path. Perform these tests before you export your processes
to your production environment to ensure that each workflow process accurately
reflects your business process.
Design your test environment so that it is a copy of your production environment.
Your test database must include enough data and users so that you can thoroughly
test each workflow process. You use the applications in the Integration module to
migrate a workflow process from your test environment to your production
environment. Testing should be done before you deploy your workflow processes.
1. Validate, enable, and activate each workflow process in a test environment that
contains sufficient sample data to test the process. Your test environment must
include records for test users who can receive assignments and notifications.
2. Route records through all possible paths in the process, including all possible
paths through any subprocesses. You might want to create test plans to help
you verify that you have tested all possible routes in a process.
3. Verify that assignments appear in users' Workflow Inbox and that e-mail
notifications are being generated.
4. Determine whether the process is complete, or whether additional steps must
be added.
5. Determine that you have configured the process to make the necessary
assignments, notifications, and so forth that are required by your business
process. If you have not configured the process, you must modify the process.
6. Make any necessary additions, modifications, or deletions and retest the
process.
7. Use the integration applications to export your tested processes from your test
environment to your production environment.
To avoid generating large volumes of unwanted e-mail, correct or delete any test
e-mail addresses that exist in your records before you export them to your
production environment.
Workflow validation process
You validate a workflow process to verify the structural integrity of the process.
The Workflow validation process checks the following conditions:
v Each node is connected to another node so that a record can travel each path in
a process without interruption.
v All nodes, except for the Start node, have at least one connection line entering
the node.
v All nodes, except for the Stop nodes, have at least one connection line exiting
the node.
v Start nodes have only one positive connection exiting the node.
v The Structured Query Language (SQL) syntax is valid for conditions or for
conditional assignments.
© Copyright IBM Corp. 2007, 2010
63
v Condition nodes have either a valid WHERE clause or a custom class file
specified in the node properties. The WHERE clause must evaluate to true or
false. Condition nodes have both a positive and a negative connection line
exiting the node.
v Manual input nodes have at least one positive connection exiting the node.
v Subprocess nodes have an enabled process specified in the node properties.
v Task nodes have at least one assignment specified in the node properties.
v Wait nodes have at least one event specified in the node properties.
The validation process cannot check for the following conditions:
v Notification email addresses are valid.
v Custom class files are in the Maximo directory.
v Custom class files run.
v Executable files run.
v A process accurately reflects your business process.
Validating workflow processes
You use the Workflow Designer or Workflow Designer (Advanced) application to
validate a workflow process. Validation of a process is a check of the structural
integrity of the process.
If you are validating a process that includes subprocesses, you must validate the
subprocess records before you validate the main process.
1. From the List tab of the Workflow Designer or Workflow Designer (Advanced)
application, select the process record that you want to validate.
2. From the Select Action menu, select Validate Process. If the process fails
validation, a window displays with errors listed.
You are now ready to enable the workflow process. Note that enabling a process
locks the process. To modify a process that has been locked, create a revision and
make your changes to it.
Enabling workflow processes
Workflow process records are in a draft or a development stage until you enable
the record. Enabling a process involves validating the structure of the process.
After you enable a process record, the record is locked, and it is ready for use.
1. From the List tab of the Workflow Designer or Workflow Designer (Advanced)
application, select the process record that you want to enable.
2. From the Select Action menu, select Enable Process. If the process is enabled, a
message is displayed in the navigation bar.
To make a workflow process record ready to use as a main process, you must
activate the process.
64
Advanced Workflow Components Implementation Guide
Activating workflow processes
Use the Workflow Designer or Workflow Designer (Advanced) application to
activate workflow processes. A workflow process record must be active before it
can be executed.
When you activate a workflow process record, the following actions occur:
v The Workflow actions and buttons are added to the applications associated with
the object if those applications do not support workflow yet.
v The Active check box is selected to indicate that the record is currently being
used to manage records.
v When you activate a process revision, the previously active revision is
deactivated. The product does not disable the revision because active instances
of the process might exist.
1. From the List tab of the Workflow Designer or Workflow Designer (Advanced)
application, select the process record that you want to activate.
2. From the Select Action menu, select Activate Process. If the applications
associated with the object already support workflow, a message displays in the
navigation bar stating that the process has been activated. Otherwise, the 'Add
workflow support to Application' dialog displays.
3. Click OK.
Disabling workflow processes
Disabling a process prevents new records from being routed into the workflow
process. Disabling a process does not affect records that are under the control of
the process.
You must use the Workflow Designer or Workflow Designer (Advanced)
application to stop any active instances of the process.
After a record is routed through an enabled process, the process cannot be deleted
because other records might be under the control of the process. When you enable
a new process revision, the previous revision is automatically disabled.
1. From the List tab of the Workflow Designer or Workflow Designer (Advanced)
application, display the record that you want to disable.
2. From the Select Action menu, select Disable Process.
Viewing workflow assignments from a Workflow-enabled application
The Workflow Map shows a graphic of a workflow process, including its nodes
and connection lines. The current location of the map in a process is highlighted by
a box around the node.
You can view the workflow assignments for a record from within a
workflow-enabled application. You use the Workflow Map to see where your
assignment falls in the context of the workflow process as a whole.
From the View Workflow Assignments window, you can perform the following
tasks:
v View a list of the active workflow assignments for the record
v View the workflow history for a record
Chapter 7. Activating and viewing workflow processes
65
v View the workflow map for any processes that are currently managing the
record.
To view workflow assignments, from the Select Action menu, click Workflow →
View Workflow Assignments.
Viewing workflow history from a Workflow-enabled application
For auditing purposes a record is maintained of all records that are routed through
a workflow process. You can view a list of all user-initiated actions in the
workflow process, for example, routing a record into a workflow process, or
completing an assignment.
When a record routes through more than one workflow process, the workflow
history is sorted by process name, then by transaction date.
To view workflow assignments, from the Select Action menu, click Workflow →
View Workflow History.
Some transactions are performed automatically. The transactions that are
performed automatically do not display even though they are recorded in the
workflow history of the record in the database.
Viewing workflow specifications from a workflow-enabled application
You can view the workflow specification attributes for a record from within a
workflow-enabled application.
You use the Workflow Specifications to see all the attributes associated with
previously started workflow instances for a record.
The workflow process must be classified and specification parameters must be
associated with the workflow process in order to see the workflow instance
specification parameters.
To view workflow specifications, from the Select Action menu, click Workflow →
View Workflow Specifications.
Viewing workflow action logs from a workflow-enabled application
You can view the workflow action logs for a record from within a
workflow-enabled application.
You use the Workflow Action Logs to see all of the log records that have been
produced by the invocations of the actions embedded in all the workflows
previously started for a record.
To view workflow assignments, from the Select Action menu, click Workflow →
View Action Logs. See “View Action Log” on page 26 for more information.
Viewing a Workflow Map
The Workflow Map shows a picture of a workflow process. You can use the
Workflow Map to see where your assignment falls in the context of the process as
a whole.
66
Advanced Workflow Components Implementation Guide
A workflow process consists of decision points, known as nodes, and connecting
lines between the decision points. The nodes indicate points in a process where a
decision is made, and the connection lines show the path that the record takes after
a decision point. The current location of the map in the process is highlighted by a
box around the node.
1. Click Workflow → Workflow Map from the Select Action menu of any
workflow-enabled application. You can also access the Workflow Map from the
View Assignments window.
2. If multiple workflow processes for the application exist, select the process from
the Process Name menu.
3. Click OK to close the workflow map.
Chapter 7. Activating and viewing workflow processes
67
68
Advanced Workflow Components Implementation Guide
Chapter 8. Modifying workflow processes
To modify a process after it has been enabled and locked, you must create a
revision of the process. A revision of the process is required because other records
might be under the control of this process.
Creating a process revision
If you want to modify a process after it is enabled and locked, you must create a
revision of the process.
A revision of the process is required because other records might be under the
control of this process. You also can create a revision of a process that is not yet
activated or enabled. Creating a revision does not deactivate or disable an
activated or enabled process record. However, when you activate a new process
revision, the previous revision is automatically deactivated.
1. In the Workflow Designer or Workflow Designer (Advanced) application,
display the enabled process record.
2. On the toolbar, click Create Process Revision. A copy of the process is created,
and one is added to the value in the Process Revision field.
3. Make any necessary modifications to the process.
4. Click Save Process.
You must validate, enable, and activate a process revision before it can be used to
process records.
Synchronizing active workflow processes
A workflow process can include one or more subprocesses. When you modify a
subprocess, you must update the main process so that it uses the revised
subprocess. This process is known as synchronization.
You must enable the subprocess revisions before you can synchronize a workflow
process.
1. In the Workflow Designer application, select the main process record that you
want to update.
2. From the Select Action menu, select Resynchronize an Active Process.
3. Click Save Process.
Viewing synchronized processes
You use the Workflow Designer or Workflow Designer (Advanced) application to
view the name and the revision number of each subprocess associated with a main
workflow process.
The main workflow process record must be activated before you can perform this
action.
1. From the List tab of the Workflow Designer or Workflow Designer (Advanced)
application, select the process record that you want to view.
2. From the Select Action menu, select View Synchronized Processes.
© Copyright IBM Corp. 2007, 2010
69
3. Click OK.
Adding workflow support to applications
Workflow actions or buttons are not included with any of the applications when
you install them. In the Workflow Designer or Workflow Designer (Advanced)
application, you can add the workflow actions and buttons to an application
without activating a process. For example, you can make the actions and buttons
visible for user training. You can also create customized toolbar buttons before
activating a process.
Users are not automatically granted access to workflow actions. An administrator
must use the Security Groups application to grant users security permissions to
workflow actions. The workflow actions appear in the Security Groups application
when you add workflow support to an application. You can grant users access to
actions before you activate a process.
When you add workflow support to applications, the product performs the
following tasks:
v Adds the Add a Route button to the application toolbar. To customize this
button, click Edit Workflow Go Buttons.
v Adds the following workflow-related actions to the Select Action menu for an
application:
– Route Workflow
– Stop Workflow
– View Workflow History
– View Workflow Assignments
– View Workflow Map
– Workflow Help
– View Workflow Action Logs
– View Workflow Specifications
v Supplies the workflow options to all users in security groups with access to the
target application.
Note that the Add Workflow to Applications action does not validate, enable, or
activate processes.
1. From the List tab of the Workflow Designer or Workflow Designer (Advanced)
application, select the process record to which you want to apply workflow.
2. From the Select Action menu, select Add Workflow to Applications.
3. Save your changes.
The Add Workflow Support to Applications window displays. If an application
does not support Workflow, the Add Support check box displays. You can clear
the Add Support check box for an application if you do not want to add workflow
support to it.
Adding toolbar buttons for active workflow processes
If multiple active processes exist for an object, you can use a single toolbar button
for all active workflow processes.
The Start Workflow window displays a menu of active processes from which to
select. You can also add your own toolbar buttons for different active processes.
70
Advanced Workflow Components Implementation Guide
Note that if you exceed the number of icons that can fit on the toolbar, an arrow
displays to indicate that a menu of options exists.
1. In the Workflow Designer or Workflow Designer (Advanced) application,
select a process record.
2. From the Select Action menu, select Edit Workflow GO Buttons.
3. Click New Row.
4. In the Application field, specify a value.
5. In the Process Name field, specify a value.
6. In the Sequence field, specify a value to indicate the order of the Go Buttons.
7. In the Description field, type a description.
8. In the Toolbar Icon field, type the name of the graphic file to use for the
toolbar icon. For example, nav_icon_route.gif.
9. In the Active Icon field, type the path and name of the graphic file to use for
the toolbar icon when the process is active. For example,
nav_icon_route_active.gif.
10. Click OK, and click Save Process.
Modifying toolbar buttons for active workflow processes
You can modify the toolbar buttons that are associated with an application at any
time during the design process, or after a process activates.
1. In the Workflow Designer or Workflow Designer (Advanced) application,
display a workflow process record.
2. From the Select Action menu, select Edit Workflow GO Buttons.
3. Select a row, click View Details, and modify the values in the following fields
as needed:
v Application — Application that displays the button.
v Process Name — If the button is for a specific process, enter the process
name. If you are creating a single button for all active processes, leave this
field empty.
v Sequence — Type a number that indicates the order, from left to right, that
you want the workflow buttons displayed on the toolbar. If you exceed the
number of icons that can fit on the toolbar, the sequence number determines
the order that each process displays in the menu.
v Description — Type a name for the button. When a user moves the cursor
over the button, that name is displayed.
v Toolbar Icon — File name of the image that displays in the toolbar as the
Route button. For example, nav_icon_route.gif.
v Active Icon — File name of the image that displays in the toolbar to indicate
that the record is under the control of the workflow process. For example,
nav_icon_route_active.gif.
4. Click OK.
5. Click Save Process.
Deleting workflow processes
You can delete workflow process records if they are not needed.
You cannot delete a process record if any of the following statements is true:
v The process is activated.
v The process is enabled.
Chapter 8. Modifying workflow processes
71
v Any record was routed through the process.
1. In the Workflow Designer or Workflow Designer (Advanced) application,
display the process record to delete.
2. From the Select Action menu, select Delete Process.
3. Click Yes to confirm the deletion.
Exporting and importing workflow processes
Using the Integration Framework you can import or export a workflow process
and its supporting data (including actions, roles, and communication templates) to
XML. This lets you build and test your process in a test environment. You can then
use the Integration Framework to export the workflow process to your production
environment.
For information about importing and exporting data using the Integration
Framework, see the IBM® Maximo Integration Guide in the Reference section of the
Infocenter.
72
Advanced Workflow Components Implementation Guide
Chapter 9. Workflow Administration and Workflow
Administration (Advanced)
Workflow Administration
The Workflow Administration application provides the means by which you can
view, modify, and stop active instances of workflow processes.
The Workflow Administration application displays a row for each record that is
currently under the control of a workflow process.
The Workflow Administration application contains a window that displays a row
for each active instance of a workflow process.
A record can show up multiple times if it is controlled by multiple workflow
instances.
You can see which version of a revised process is used to create each instance, the
identifier of the person who routed each record into the workflow process, and the
date and time that the process initiated.
The recordkey (for example, the work order number or the purchase order
number) displays with the site identifier in the Owner Description field.
Workflow Administration (Advanced)
The Workflow Administration (Advanced) application extends the capabilities of
the original Workflow Administration application.
The Workflow Administration application is a basic application used to work with
active workflows. It is used to stop and re-assign workflows.
Workflow Administration (Advanced) application allow users to work with
historical workflow instance information, while preserving current usage patterns.
The ability to access state information, process history and action logs for both
active and completed workflows is essential for audit purposes when using
workflow-based capabilities to automate processes in a customer environment.
Using the Workflow Administrator (Advanced) application you can:
v
v
v
v
View active workflows (default)
View completed workflows
View failed workflows
Stop or reassign active workflows
The Workflow Administration (Advanced) application contains the following tabs:
Using the List tab
Use the Workflow Administration (Advanced) application List tab to work with a
particular workflow instance, stop a workflow instance, or change a workflow
assignment.
© Copyright IBM Corp. 2007, 2010
73
Workflows that are classified will appear in the Classification navigation tree on
the left.
The left navigation tree shows all the classifications that can be used with
workflow instances. When you click on a classification, the right tree shows all the
Workflow instances for that classification and also for all the child classifications
below. Legacy workflows and any unclassified workflows will appear under the
unclassified node. If you want to see all the workflows for all the classifications,
click on the All Records menu.
Using the Workflow tab
Use the Workflow Administration (Advanced) application Workflow tab to see
additional details about the workflow.
The Workflow tab includes the following information:
v The workflow instance ID
v Name and description of the workflow process
v Object class
v Completion status
v
v
v
v
Classification and description
Active flag
Process revision
ID of the object associated with the workflow instance
v Start time
v Workflow originator ID
v Activation number
Using the Assignments tab
Use the Workflow Administration (Advanced) application Assignments tab to
access workflow assignment information.
From the Assignments tab you can access a table of the assignments that have
been made during the lifespan of a workflow instance. To change the assignment,
click on Select Action → View/Modify Workflow Assignments.
The View/Modify assignments field is only available for active processes, not for
completed processes.
Using the History tab
Use the Workflow Administration (Advanced) application History tab to view
actions that have occurred during the workflow process.
This tab includes a table that shows user-initiated actions that have occurred in the
workflow process.
Using the Map tab
Use the Workflow Administration (Advanced) application Map tab to display the
workflow process map for an active process.
74
Advanced Workflow Components Implementation Guide
Using the Logs tab
Use the Workflow Administration (Advanced) application Logs tab to view any
action log records that were created by actions embedded in the workflow.
The following information may be collected for each entry in the Action Logs table:
v Action name (with an application link to the action)
v Instruction, as specified on the action in a workflow
v
v
v
v
v
v
Status of the action
Script name, supplied if Action Type=CUSTOMSCRIPT
Custom class, supplied if Action Type=CUSTOMCLASS
Run Date
Stdout – Standard output from the action
Sterr – Standard error from the action
To enable logging for Custom Actions, set the rba.log.enableCustomActionLogging
system property value to 1.
To enable logging for Custom Scripts, set the rba.log.enableCustomScriptLogging
system property value to 1.
Using the Specifications tab
Use the Workflow Administration (Advanced) application Specifications tab to
view the current values for parameters associated with the workflow. These are
typically working parameters, used by actions embedded in the workflow.
Stopping instances of workflow processes
When you route a record into a workflow process, an active instance of that
process is created to manage that individual record. You can use the Workflow
Administration or Workflow Administration (Advanced) application to view and to
stop workflow processes for records for any workflow-enabled application.
When you stop a workflow process, you are only stopping the single instance of
the workflow process that controls a particular record. To deactivate a workflow
process, use the Workflow Designer or Workflow Designer (Advanced) application.
When you stop a process instance, the following tasks are performed:
v The record is removed from the control of the workflow process.
v A transaction is written to the Workflow history of the record. Workflow history
remains with a record permanently, even after the record has left the control of
Workflow.
v Specified notifications are sent to past assignees, current assignees, or both. You
can use a communication template to create a notification, or type the subject,
message, and role recipients manually.
1. In the Workflow Administration or Workflow Administration (Advanced)
application, select the active process instance that you want to stop.
2. From the Select Action menu, click Stop Workflow.
3. You can specify that a notification be sent to one or more assignees indicating
that the record was removed from Workflow. You can use a communication
template to create a notification, or specify the subject, message, and recipients.
4. Click OK.
Chapter 9. Workflow Administration and Workflow Administration (Advanced)
75
Deleting assignments
You can delete task assignments if a task node has more than one assignment and
you want to make a particular task assignment inactive.
All task nodes must have at least one task assignment. You cannot delete the last
active assignment for a given task.
Deleting an assignment changes the status of the task assignment record to
inactive.
1. Select the workflow process.
2. In the Workflow tab, from the Select Action menu, click View/Modify Active
Assignments.
3. To delete an assignment, click Delete Assignment. The status of the task
assignment is changed to inactive. The assignment record is removed from the
View Active Assignments window.
4. Click OK to close the window.
Reassigning workflow assignments
You use the Workflow Administration or Workflow Administration (Advanced)
application to reassign workflow task assignments. Sometimes, a workflow task
that has been assigned to an individual or to a group must be reassigned to
someone else.
1. From the View Active Assignments window of the Workflow Administration
application, click View/Modify Active Assignments.
2. Click Reassign Assignment to reassign assignments.
3. In the Person field of the Reassign window, type a person ID.
4. Click OK to close the Reassign window, then click OK.
Completing assignments
View, complete your task assignments, and notify the next person in the process
flow for efficient handling.
To complete a task assignment, complete the following steps:
1. Select one of the following choices:
v If you are viewing the assignment in your Inbox, click Route for the record.
v If you are viewing the assigned record in the application, click Route in the
application toolbar.
2. Select an action. If you do not have security authorizations to both actions, you
might see one option only.
3. Optional: If appropriate, you can enter a memo.The memo is added to the
workflow history of the record. The next person in the process flow can view
your memo in the Earlier Memos table window in the Complete Workflow
Assignment dialog box.
4. Click OK.
76
Advanced Workflow Components Implementation Guide
Sending reassignment notifications
You use the Workflow Administration or Workflow Administration (Advanced)
application to notify a person or a group of a workflow task reassignment.
1. In the Reassign window, click New Row.
2. In the Send To field, specify the identifier for a person or click Detail Menu →
Select Value and choose a person record from the list.
3. In the Subject field, type a subject for the email message.
4. In the Message field, type the text of the email message.
5. Click OK to close the Reassign window, then click OK.
Workflow/Inbox Assignments portlet
The Workflow Inbox/Assignments is one of the portlets that might appear on your
Start Center. If your workplace has implemented the Workflow feature, a list of
your task assignments displays in the Inbox.
A task assignment is a record that is routed to you for action, based on the
information contained in a workflow process. The number of records in
Inbox/Assignments displays in the top left corner of the portlet.
You use the Workflow Inbox to review assignments, to route assignments, and to
complete assignments. You must complete the assignments before a record can
move to the next step in a workflow process.
The description that displays in the Inbox portlet is the description of the step
from the workflow process, not the description of the record. For example, the
description for a purchase order task might be "Supervisor approval."
Configuring the Workflow Inbox
You use the Workflow Inbox to review, to route, and to complete your task
assignments. A task assignment is a record that is routed to you for action, based
on the information contained in a workflow process. Records that are listed in your
Workflow Inbox are assigned to you.
You must have security permissions to configure the portlets that display on your
Start Center, including configuring the Workflow Inbox.
The description that displays in the Inbox portlet is the description of the step
from the workflow process, not the description of the record. For example, the
description for a purchase order task might be "Supervisor approval."
1. Click Edit Portlet (pencil icon) in the Inbox/Assignments header to display the
Inbox/Assignments Setup application.
2. You can perform the following actions in the Inbox/Assignments Setup
application:
v Change the display name of the portlet
v Indicate how many rows to display in the portlet
v Select the columns that are displayed in the portlet and modify their
descriptions
v Indicate the order that the columns are displayed by entering a value in the
Order column
3. Click Finished.
Chapter 9. Workflow Administration and Workflow Administration (Advanced)
77
You must complete the assignment in your Workflow Inbox before the record can
move to the next step in the workflow process.
78
Advanced Workflow Components Implementation Guide
Chapter 10. Workflow Launcher
The Workflow Launcher application provides a simple mechanism for exposing a
library of re-usable workflows to the end user for selection and invocation.
When a workflow is launched from the Workflow Launcher, a new instance of the
object class associated with the workflow is automatically created and routed into
the workflow.
Workflows are visible on this interface if the following conditions are true:
v The workflow object class is defined in the rba.lod.objects system property
v The workflow is active and enabled.
v The Launch on Demand flag is set to ON.
There are two modes of operation when launching the workflow:
v Go To Instance is ON
v Go To Instance is OFF
If Go To Instance is ON, the application switches to the application specified in the
Go To Instance Application attribute for the workflow in the Workflow Designer
(Advanced) application. After making any updates to the object, the user should
route the object.
If Go To Instance is OFF, the object is created and routed into the workflow
without switching to the application associated with the object. This mode is useful
if the person launching the workflow does not need to provide any custom data in
the object (no specific inputs). Prior to launching the workflow, a confirmation
dialog is presented if Go To Instance is not enabled. If confirmed, the workflow is
launched. This helps prevent accidental repetitive invocations of a workflow.
You can click Select Action → View Workflow Instances to see the details of the
workflow instances created for the workflow process.
The workflow can perform various types of automation, and can make
assignments when other roles begin working with the object.
© Copyright IBM Corp. 2007, 2010
79
80
Advanced Workflow Components Implementation Guide
Chapter 11. Developing Custom Actions
Parameter metadata
Parameter metadata embedded in a Jython script is used to define the inputs and
outputs required by the implementation.
When the custom script is selected for an action, two tables on the Parameters
Mapping tab are automatically populated from the metadata. The Input Parameters
table is populated with input parameters from the metadata, and the Output
Parameters table is populated with output parameters from the metadata. The
metadata is embedded as a comment for a Jython script.
Three types of information are defined in the metadata:
v Description - Provides a general description of how the action implementation
works. This information is rendered on the Action application.
v Input Parameters - Defines the characteristics of each input parameter used by
the action implementation
v Output Parameters - Defines the characteristics of each output parameter
The following are supported for each input parameter:
Table 2. Input parameters
Attribute
Description
Name
Name of the input parameter. This is a required parameter.
Description
Provides a description of the input parameter. This is an optional
parameter.
DefaultRelationship
Provides a default value for the relationship portion of the
parameter mapping. This value will be used to automatically
populate the Relationship field in the Parameters table when the
metadata is imported into an action. This is an optional parameter.
The user may choose to modify the value in the action UI
'Relationship' field. If an override value is specified, this parameter
will be ignored.
DefaultAttribute
Provides a default value for the attribute portion of the parameter
mapping. This value will be used to automatically populate the
Attribute field in the Parameters table when the metadata is
imported into an action. This is an optional parameter. The user
may choose to modify the value in the action UI 'Attribute' field. If
an override value is specified, this parameter will be ignored.
© Copyright IBM Corp. 2007, 2010
81
Table 2. Input parameters (continued)
Attribute
Description
Type
Defines how the data is being accessed (using the appropriate 'get'
method). Three data access methods are supported. When a
parameter mapping is defined, Type is used to validate that the
parameter mapping is properly referencing a MBO Set, a single
attribute value or an array of attribute values. If Type is not
specified then the default will be set to 'Attribute'. In order to call
'get' methods that return arrays, the Type must be set to
AttributeArray. The following three values are supported:
v MBOSet – The Get method returns a MBO Set
v Attribute – The Get method returns a single attribute value.
v AttributeArray – The Get method returns an array of values.
Note: This value will be used to populate the 'Method Type' field in
the Parameters table when the metadata is imported into an action.
AttributeType
Defines the expected data type of the returned attribute (applicable
when Type is Attribute or AttributeArray). AttributeType is used to
validate that the provided mapping references an attribute of the
required type. This value is used to populate the 'Attribute Data
Type' field in the Parameters table when the metadata is imported
into an action. Valid AttributeType specifications mirror the data
types supported by Tivoli's process automation engine:
v ALN
v AMOUNT
v BLOB
v CLOB
v CRYPTO
v CRYPTOX
v DATE
v DATETIME
v DECIMAL
v DURATION
v FLOAT
v GL
v INTEGER
v LONGALN
v LOWER
v SMALLINT
v TIME
v YUPPER
v YORN
Note: This is an optional parameter. However, it is required if the
Type is specified as 'Attribute' or 'AttributeArray' If specified, it will
be enforced at validation time when the action is saved. For
example, if the metadata specifies AttributeType="ALN", and the
maxtype of the attribute specified in the data mapping attribute
field of the mapping table is "INTEGER", then an exception will be
thrown and an error displayed when the action is saved.
82
Advanced Workflow Components Implementation Guide
Table 2. Input parameters (continued)
Attribute
Description
MBOType
Defines the type of MBO that should be defined in the last position
in the Relationship field in the parameter mapping. For example, if
MBOType="CI", then the following data mappings would be
considered to be valid, or invalid:
v MULTIASSETLOCCI.CI (valid)
v MULTIASSETLOCCI.CI.BOOKMARK (invalid)
Note: This is an optional parameter. However, if specified, it will be
enforced at validation time when the action is saved. For example, if
the metadata specfies MBOType="CI", and the Relationship field is
MULTIASSETLOCCI.CI.ASSET, then an exception is thrown and an
error displays when the action is saved.
The following are supported for each output parameter:
Table 3. Output parameters
Attribute
Description
Name
Name of the output parameter. This is a required parameter.
Description
Provides a description of the output parameter. This is an optional
parameter.
DefaultRelationship
Provides a default value for the relationship portion of the
parameter mapping. This value will be used to automatically
populate the Relationship field in the Parameters table when the
metadata is imported into an action. This is an optional parameter.
The user may choose to modify the value in the action UI
'Relationship' field.
DefaultAttribute
Provides a default value for the attribute portion of the parameter
mapping. This value will be used to automatically populate the
Attribute field in the Parameters table when the metadata is
imported into an action. This is an optional parameter.
Chapter 11. Developing Custom Actions
83
Table 3. Output parameters (continued)
Attribute
Description
AttributeType
Defines the AttributeType is the expected data type of the attribute
value to be set. For output parameters, only Type=Attribute is
supported (setting arrays or MBO sets are not supported).
AttributeType is used to validate that the provided parameter
mapping references an attribute of the required type. This value is
used to populate the 'Attribute Data Type' field in the Parameters
table when the metadata is imported into an action. Valid
AttributeTypes mirror the data types supported by the Tivoli's
process automation engine:
v ALN
v AMOUNT
v BLOB
v CLOB
v CRYPTO
v CRYPTOX
v DATE
v DATETIME
v DECIMAL
v DURATION
v FLOAT
v GL
v INTEGER
v LONGALN
v LOWER
v SMALLINT
v TIME
v YUPPER
v YORN
Note: This is a required parameter. This value is used to populate
the 'Attribute Data Type' field in the Parameters table when the
metadata is imported into an action.
MBOType
Defines the type of MBO Set that should be defined in the last
position in the Relationship field in the parameter mapping. For
example, if MBOType=CI, then the following data mappings would
be considered to be valid, or invalid:
v MULTIASSETLOCCI.CI (valid)
v MULTIASSETLOCCI.CI.BOOKMARK (invalid)
Note: This is an optional parameter. However, if specified, it will be
enforced at validation time, when the action is saved. For example,
if the metadata specfies MBOType="CI", and the Relationship field
is MULTIASSETLOCCI.CI.ASSET, then an exception will be thrown
and an error displayed when the action is saved.
While the specific input and output parameters used by an action implementation
are defined in the metadata, the mapping of these parameters to individual
attributes, arrays of attributes, or MBO sets is defined in the action definition. For
example, if a given action implementation is to be used in three different contexts,
where three different parameter mapping configurations are required, then three
actions should be created, each with a different configuration for the parameter
84
Advanced Workflow Components Implementation Guide
mapping. The mappings are defined in two tables associated with an action
(WFACTIONINPUTS and WFACTIONOUTPUTS). These two tables are populated
initially when an action of type=Custom Script is created (and the Jython script
includes the parameter metadata).
Once the WFACTIONINPUTS and WFACTIONOUTPUTS tables are initially
populated, the user can complete the configuration of the Relationship and
Attribute fields in each table entry.
Popup dialogs for both the Relationship field and the Attribute field are provided
with the Action application to assist with defining the Relationship path and
associated attribute values for each parameter mapping row in the input and
output tables.
If the value specified for Attribute is associated with the primary MBO, then a
value for Relationship is not required, since the value specified for Relationship is
assumed to be relative to the primary MBO.
Parameter Mappings XML
XML can be embedded in the source code to define input and output parameters
for use with the parameter mapping function supported with actions.
Define Input and Output parameters
Below is an example of the XML that can be embedded in the source code to
define the input and output parameters. Because the output parameter
"description" does not specify an MBOType, this sample XML metadata could be
used with actions that have WORKORDER or TICKET as their primary objects
since the relationships are valid for both types, and both contain a description
attribute.
Note: If cutting and pasting this sample code, ensure you add a space between
each attribute.
<metadata>
<Description>Read in an array of CI IP addresses, and a set of related assets.
Use an outputparameter to modify the description on the workorder.</Description>
<InputParameters>
<inputparameter
Name="ci_address"
Description="Return array of IP addresses of CI’s associated to the primary object"
Type="AttributeArray"
MBOType="CISPEC"
DefaultRelationship="MULTIASSETLOCCI.CISPEC[ASSETATTRID=’IPADDR’]"
DefaultAttribute="alnvalue"
AttributeType="ALN"
/>
<inputparameter
Name="asset_set"
Description="Return set of assets"
Type="MBOSet"
MBOType="ASSET"
DefaultRelationship="MULTIASSETLOCCI.ASSET"
/>
</InputParameters>
<OutputParameters>
<outputparameter
Name="description"
Description="Set the description on the primary mbo"
DefaultAttribute="description"
AttributeType="ALN"
/>
</OutputParameters>
</metadata>
Chapter 11. Developing Custom Actions
85
Add metadata to a Jython script as a comment
The following is an example of how the metadata XML is added to a Jython script
as a comment:
Note: If cutting and pasting this sample code, ensure you add a space between
each attribute.
from com.ibm.ism.rba.app.utils import RBAUtils
"""
<metadata>
<Description>Read in an array of CI IP addresses, and a set of the related assets.
Use an outputparameter to modify the description on the workorder.</Description>
<InputParameters>
<inputparameter
Name="ci_address"
Description="Return array of IP addresses of CI’s associated to the primary object"
Type="AttributeArray"
MBOType="CISPEC"
DefaultRelationship="MULTIASSETLOCCI.CISPEC[ASSETATTRID=’IPADDR’]"
DefaultAttribute="alnvalue"
AttributeType="ALN"
/>
<inputparameter
Name="asset_set"
Description="Return set of assets"
Type="MBOSet"
MBOType="ASSET"
DefaultRelationship="MULTIASSETLOCCI.ASSET"
/>
</InputParameters>
<OutputParameters>
<outputparameter
Name="description"
Description="Set the description on the current mbo"
DefaultAttribute="description"
AttributeType="ALN"
/>
</OutputParameters>
</metadata>
"""
iparray = RBAUtils.getStringArray("ci_address")
print "First server address is: ", iparray[0]
print "Second server address is: ",iparray[1]
assets = RBAUtils.getSet("asset_set")
asset = assets.getMbo(0)
assetnum = asset.getString("assetnum")
assetManufacturer = asset.getString("manufacturer")
print "The manufacturer of asset ", assetnum," is: ",assetManufacturer
RBAUtils.put("description", "This is the modified description")
The script first imports the RBAUtils class so that the convenience methods that
access MBO data can be called.
In the Jython code following the metadata, the call
RBAUtils.getStringArray("ci_address") returns an array of values for the CISPEC
ALNVALUE attribute, where the attribute ASSETATTRID equals 'IPADDR'. The
first two values in the array are then printed.
Note: If the specified relationship cannot be resolved at runtime (for instance, this
WorkOrder or Ticket does not have any CI's in its 'Multiple Assets, Locations, and
CIs' table), then an exception will be thrown.
The call RBAUtils.getSet("asset_set") returns a MBO set. The first MBO in the
set is retrieved and then the asset's manufacturer is printed out.
86
Advanced Workflow Components Implementation Guide
The call RBAUtils.put("description", "This is the modified description")
modifies the description field on the Action's primary MBO.
When an Action associated with the above script is invoked, the output of the
script is captured in the Stdout field of the Action Log, or Stderr if the action does
not complete successfully.
Convenience routines for data mappings
Convenience routines for obtaining Input parameters and setting Output
parameters are used by the action implementation to shield it from the location of
the Input and Output parameters.
The action simply specifies the parameter name in the Get or Put routine, and the
Relationship and Attribute configurations in the action are used to navigate to the
configured attribute value, attribute array or MBO set.
The following 'get' methods are defined in the com.ibm.ism.rba.app.utils.RBAUtils
class. Each takes as input the parameter Name, as defined in the metadata:
v A set of related Get routines that correspond to the MBO access routines and
return a single attribute:
– getString
– getInt
– getFloat
– getBoolean
– getDouble
– getDate
v A set of related Get routines that return an array of attributes of a specific type:
– getStringArray
– getIntArray
– getFloatArray
– getBooleanArray
– getDoubleArray
v A Get routine that returns a date attribute:
– getDate
v A GET routine that returns a MBO set:
– getSet
The following 'put' method is defined in the com.ibm.ism.rba.app.utils.RBAUtils
class:
v A single 'put' mapping method to set a single attribute, which takes as input the
parameter name and the value:
– put
These methods take as input the mapping name and return either a value or array
of values.
public static String getString(String mappingName) throws MXException, RemoteException
public static String[] getStringArray(String mappingName) throws MXException, RemoteException
public static int getInt(String mappingName) throws MXException, RemoteException
public static int[] getIntArray(String mappingName) throws MXException, RemoteException
public static float getFloat(String mappingName) throws MXException, RemoteException
Chapter 11. Developing Custom Actions
87
public static float[] getFloatArray(String mappingName) throws MXException, RemoteException
public static boolean getBoolean(String mappingName) throws MXException, RemoteException
public static boolean[] getBooleanArray(String mappingName) throws MXException, RemoteException
public static double getDouble(String mappingName) throws MXException, RemoteException
public static double[] getDoubleArray(String mappingName) throws MXException, RemoteException
public static String getDate(String mappingName) throws MXException, RemoteException
There is only one 'put' method. It takes as input the mapping name and the value
to set. The value can be any supported type: String, Integer, Boolean, etc:
public static void put(String mappingName, Object value) throws MXException, RemoteException
The 'getSet' method takes as input a mapping name and returns an mbo set:
public static MboSetRemote getSet(String mappingName) throws MXException, RemoteException
Sample Jython Script
This sample Jython script shows the basic attribute access techniques without the
use of parameter metadata. Inputs and outputs are hard-coded in the source code.
The following script example demonstrates how to read an attribute from the input
object (workorder), how to read a specification attribute from the input object, how
to set an attribute in the input object, and how to read and write a specification
attribute defined in the workflow instance. If your workorder or workflow instance
does not have specification attributes set, for example SPEED or MATERIAL, then
the sets returned by scriptHome.getMboSet and wfinstance.getMboSet will be
empty, and no values are printed. The action log displays the following when the
script runs:
v Work order identifier: TEST1
v Speed = 35 MPH
v New owner is WILSON
v Material: BRASS
v New Material: COPPER
#Get and display the workorder name
wonum = scriptHome.getString("wonum")
print "Work order identifier: ", wonum
#Get and display the value for the WO spec SPEED (if it exists)
woSpecSet = scriptHome.getMboSet("$SPECS", "WORKORDERSPEC", "assetattrid=’SPEED’")
emptySet = woSpecSet.isEmpty()
if emptySet == 0:
woSpec = woSpecSet.getMbo(0)
speed = woSpec.getInt("numvalue")
units = woSpec.getString("measureunitid")
print "Speed = ", speed, units
#Modify the owner attribute of the object
scriptHome.setValue("owner", "WILSON")
owner = scriptHome.getString("owner")
print "New owner is " , owner
#Get workflow instance spec for attribute MATERIAL. Display the value, then modify it
instSpecSet = wfinstance.getMboSet("$INSTSPECS", "WFINSTANCESPEC", "assetattrid=’MATERIAL’")
emptySet = instSpecSet.isEmpty()
if emptySet == 0:
instSpec = instSpecSet.getMbo(0)
material = instSpec.getString("alnvalue")
print "Material: ", material
instSpec.setValue("alnvalue", "COPPER")
material = instSpec.getString("alnvalue")
print "New Material: ", material
88
Advanced Workflow Components Implementation Guide
Chapter 12. Troubleshooting and Support
Use this topic to find troubleshooting information for common issues and learn
how to contact IBM Software Support.
Known problems, work-arounds, and limitations
The topics in this section describe problems that have been found and their
solutions.
Error when stopping a workflow with email specified
Problem: When I stop the workflow and select REPORTEDBY in the ‘To' field of
the communication template, I get an error: "BMXAA0259E - The e-mail cannot be
sent" or "BMXAA4187E - A relationship called PERSON does not exist for the
WFINSTANCE business object".
Note: This behavior is expected.
Solution: After selecting stop workflow from the Select Action menu, in the To:
field select one of the following USER, SUPERVISOR, PMSCOA, MAXADMIN, and
click OK. The workflow stops without errors.
Internet Explorer 7 sometimes crashes when launching
Workflow Designer or Workflow Designer (Advanced)
Problem: Internet Explorer may crash when launching Workflow Designer or
Workflow Designer (Advanced).
This occurs for some environments using Internet Explorer 7 with Sun Java 1.6
when running applets.
Solution: Do not use the next-generation Java Plug-in. The next-generation Java
Plug-in is enabled by default. However if there are issues running applets, you can
switch to the old Java plug-in without any manual manipulation of the windows
registry and moving files.
To disable the next-generation Java Plug-in:
v
v
v
v
v
v
Click Start → Control Panel.
Open the Java Control Panel.
Click the Advance tab.
Scroll to the Java Plug-in entry.
Uncheck the check box for "Enable next-generation Java Plug-in".
Click OK and restart the browser.
Right-clicking on ILOG Canvas Stop node shows a "Java
Applet Window" entry
Problem: In Workflow Designer (Advanced) application, when you right-click on
the ILOG Canvas Stop node to view the node properties, a "Java Applet Window"
entry also displays.
© Copyright IBM Corp. 2007, 2010
89
Solution: To resolve this issue:
v Launch the policytool.exe from your JAVA_HOME\jre\bin directory.
v Choose File → Open, and browse to your JAVA_HOME\jre\lib\security\
directory.
v Select the java.policy file and click Open.
v Select CodeBase <ALL> from the list, and click the Edit Policy Entry button.
v Click the Add Permissions button in the Policy Entry window.
v Select 'AWTPermission' from the Permission drop-down, and click OK.
v Click Done.
Internet Explorer 7: Hidden Form Missing error in Workflow
Designer (Advanced)
Problem: Sometimes when accessing the Workflow Designer or Workflow Designer
(Advanced) application using Internet Explorer 7.0, you may see the following
warning at the bottom of your browser: 'Hidden Form Missing'. Clicking on the
warning icon gives the following detail: Message: 'elements' is null or not an
object.
Solution: You can ignore this warning as it has no effect on the application
functionality.
Internet Explorer 7: security exception when launching
Workflow Designer (Advanced)
Problem: You may see the following exception launching Workflow Designer
(Advanced) if using Internet Explorer 7 with IBM Java 1.6:
java.security.AccessControlException: Access denied
(java.util.logging.LoggingPermission control)at
java.security.AccessController.checkPermission(AccessController.java:108)
Solution: Add the following statement to the default permissions section of your
java.policy file:
permission java.util.logging.LoggingPermission "control";
90
Advanced Workflow Components Implementation Guide
Chapter 13. Advanced Workflow Components Messages
This section provides information for messages that you see while using the
Advanced Workflow Components.
Explanation: The name of the parameter specified via
the convenience routine does not exist for the action.
Explanation: If the Action contains Input or Output
parameters on the Parameter Mappings tab, then a
value must be specified in the Action Object field. The
Object value is used to verify that values specified in
the parameter Relationship field are valid.
User response:
User response:
Administrator response: Check the script or custom
class and make sure that the parameter name passed to
the RBAUtils method is defined in the metadata of the
script or custom class.
Administrator response: Specify a value in the Action
Object field.
RBA0300E
RBA0301E
The action parameter "{0}" does not exist
for the action "{1}".
The relationship "{0}" does not exist for
the current object "{1}".
Explanation: The value specified in the relationship
field is not valid for the base object specified in the
Object field for the action. For example, if the value
displayed in the Object field for the Action is
INCIDENT, and in the Input Parameters table the
Relationship is JOBPLAN, then the system will not be
able to determine the attribute value, since there is no
relationship in Maximo where the parent is INCIDENT
and the child is JOBPLAN.
User response:
Administrator response: Specify a value in the
Relationship field that is valid for the base object
specified in the Object field for the action.
RBA0302E
No value is found because the
relationship "{0}" returns an empty set.
Explanation: The relationship specified for the Input
or Output parameter is valid. However, at runtime no
objects were found that satisfy the relationship. For
example, assume the Action has its Object field set to
WORKORDER, and an Input parameter with the
relationship JOBPLAN. If no Job Plan has been
associated with the Work Order, then at runtime no
attribute values can be retrieved from a JOBPLAN
object.
User response:
Administrator response: Before using scripts or
custom Java actions to retrieve or set MBO data using
Input or Output parameters, verify that the Action
objects have the correct artifacts associated.
RBA0303E
Object field is required for actions
containing parameter mappings.
© Copyright IBM Corp. 2007, 2010
RBA0305E
The relationship "{0}" in "{2}" for the
parameter "{1}" is not valid.
Explanation: Make sure the value specified in the
relationship field is valid. This error occurs because at
least one component in the relationship is not valid. For
example, if the relationship specified is
INCIDENT.WORKORDERSPEC, the validation will fail
because no relationship called WORKORDERSPEC
exists for the INCIDENT object.
User response:
Administrator response: Specify a valid relationship.
RBA0306E
The attribute "{0}" defined in parameter
"{1}" does not exist for the object "{2}".
Explanation: Make sure that the attribute name
specified in the attribute field in the table is valid for
the relationship value specified in the relationship field.
For example, if the attribute specified is OWNER, and
the relationship specified is JOBPLAN.JOBTASK, then
the OWNER attribute would have to be valid for the
object accessed via the relationship (JOBTASK).
User response: Use the 'Select Value' icon next to the
'Attribute' field to select the attribute.
Administrator response: Specify a valid value in the
Attribute field.
RBA0307E
In the metadata for script or custom
class {0}, parameter "{1}" has the Type
"{2}" specified. This requires that the
AttributeType attribute be set.
Explanation: If the value of the 'Type' attribute
specified in the script or custom class metadata is
'Attribute' or 'AttributeArray', the 'AttributeType'
attribute must be set. AttributeType is the Maximo data
type for the attribute, and must be a value from the
MAXTYPE domain. Examples are ALN, INTEGER,
UPPER, LOWER, FLOAT.
91
RBA0308E • RBA0315W
User response:
Administrator response: Specify the expected
AttributeType in the script or custom class metadata.
RBA0308E
For the parameter "{0}", the MBO Type
"{1}" specified in the metadata does not
match the MBO Type "{2}" accessed
using the parameter relationship.
Explanation: If the MBOType is specified in the script
or custom class metadata, make sure the value
specified in the relationship field points to an object
that matches the MBOType. For example, if the
MBOType specified in the script or custom class
metadata is WORKORDER, and the relationship
specified for the parameter is CI.CISPEC, then the
object accessed via the relationship (CISPEC) will not
match the MBOType. If no value is specified in the
Relationship field, then the MBOType from the
metadata should match the value in the Action Object
field.
User response: If the MBOType in the metadata is
CISPEC, the relationship should be CI.CISPEC for
WORKORDER.
Administrator response: Specify a value in the
relationship field that corresponds to the MBOType
specified in the script or custom class metadata.
RBA0309W
This action has updated parameters
available in the metadata. You may use
the 'Synchronize Parameters' action to
synchronize the Parameter Mappings.
Explanation: One or more parameters in the script or
in the custom Java class metadata have been updated.
Use the 'Synchronize Parameters' action to update the
Parameter Mappings in the action.
User response:
with the script, go to the Actions tab of the script
application. From the Action application menu, select
'Synchronize Parameters'. A dialog appears that
displays which parameters have been added, deleted,
or modified. Click OK in the dialog to have the
changes reflected in the Action parameters table. Save
the Action to save the changes.
RBA0311E
Explanation: In the metadata for the script or custom
Java class associated with the Action, the AttributeType
specifies what the Maximo Type (MAXTYPE) of the
attribute should be. Examples of MAXTYPE are ALN,
INTEGER, FLOAT, UPPER, LOWER. The MAXTYPE of
the attribute specified in the Input or Output parameter
table must correspond to what is specified for the
parameter in the metadata.
User response:
Administrator response: Specify an attribute in the
parameter table whose MAXTYPE matches the
AttributeType in the metadata for the parameter.
RBA0313E
The metadata has been updated in the
custom script or in the custom Java
class. Actions associated with this script
should be synchronized with the new
metadata. You can go to the Actions tab
and update each action that is not
synchronized.
Explanation: This script contains metadata defining
Input and Output parameters. The parameter
definitions in the metadata have been modified, and
any Actions associated with the script need to be
synchronized with the metadata changes.
User response:
Administrator response: To see Actions associated
92
Advanced Workflow Components Implementation Guide
Parse exception: {0}
Explanation: A parse error occurred when validating
the metadata XML in the script or custom Java class.
User response: Refer to the Workflow guide for the
metadata format.
Administrator response: Make sure the metadata
XML adheres to the format defined in the schema file
metadata.xsd.
RBA0314E
Administrator response: Run the "Synchronize
Parameters" action and verify the changes to the
metadata in the dialog. Click OK.
RBA0310W
For the parameter "{0}", the data type
specified in the metadata is "{3}".
However, it does not match the data
type "{1}" for the attribute "{2}".
The script cannot be deleted because it
is referenced by one or more actions. An
action of type Custom Script references
this script in its value field. Remove the
value or delete the action before
deleting this script.
Explanation: The script cannot be deleted because it is
referenced by one or more actions. An action of type
Custom Script references the script in its value field.
User response: The 'Actions' tab displays the list of
actions that are using the script.
Administrator response: For any Action that uses this
script, remove the script name from the Action Value
field or delete the action. Then delete the script.
RBA0315W
No attributes available. The relationship
{0} may not be valid for the object type
{1} specified in the object field.
Explanation: If no attributes are available to select
RBA0316E • RBA0332E
from the dialog, the value specified in the relationship
field may not be valid for the object type specified in
the Object field for the action. Make sure that the
relationship specified is valid for the object. For
example, the relationship WORKORDERSPEC would
not be valid for an object INCIDENT
User response:
Administrator response: Make sure the value
specified in the Relationship field is valid for the object
type specified in the Action Object field.
RBA0316E
An attempt was made to execute an
action containing parameter mappings
that are not synchronized with the
parameter definitions in the metadata.
Synchronize the parameter mappings
using the 'Synchronize Parameters'
action in the Action application.
Administrator response: Activate the process first by
selecting the action "Activate Process".
RBA0321W
Launch-on-demand is already disabled
for this process.
Explanation: Launch-on-demand is already cleared for
this process and cannot be launched from the launcher
application.
User response:
Administrator response: No action is taken since
launch-on-demand is already disabled for this process.
RBA0323W
Go-to-instance is already enabled for the
process.
Explanation: This process is already set to switch to
the object instance during launch-on-demand.
Explanation: Check the Synchronized field of the
Action to make sure the parameter mappings are
synchronized. To synchronize the parameter mappings,
select the 'Synchronize Parameters' action from the
Action application.
User response:
User response:
RBA0324E
Administrator response: Synchronize the Action with
the parameter definitions using the 'Synchronize
Parameters' action in the Action application.
RBA0317E
The communication between the server
and client machine failed to return the
data for the selected process.
Explanation: The system is unable to send the nodes
and actions associated with the process to the applet on
the client machine.
User response:
Administrator response: Check that communications
with the client machine are working properly.
RBA0318W
Launch-on-demand is already enabled
for this process.
Explanation: This process is already enabled to
launch-on-demand.
User response:
Administrator response: No action is taken since
launch-on-demand is already enabled for this process.
RBA0319E
This process is not active and cannot be
set to launch-on-demand.
Explanation: Launch-on-demand can only be enabled
for an active process.
User response:
Administrator response: No action is taken since the
process is already set to switch to the object instance
during launch-on-demand.
This process is not enabled for
launch-on-demand and cannot be set to
Go-to-instance.
Explanation: Launch-on-demand is not enabled for
this process and cannot be set to switch to the object
instance during launch-on-demand.
User response:
Administrator response: Enable launch-on-demand
first by choosing "Enable Process for
Launch-on-demand" from the Select Action menu.
RBA0326W
Go-to-instance is already disabled for
this process.
Explanation: This process is already set not to switch
to the object instance during launch-on-demand.
User response:
Administrator response: No action is taken since
Go-to-instance is already cleared for the process
RBA0332E
The input parameter "{0}" specifies a
method Type of "{1}", but a call was
made to retrieve the {2}.
Explanation: For input parameters, in order to obtain
an array of values using a parameter, the method Type
must be AttributeArray. To obtain an MBO set, the
method Type must be MBOSet. The Type value is set in
the script or custom class metadata.
User response:
Administrator response: In the script or custom class
Chapter 13. Advanced Workflow Components Messages
93
RBA0333E • RBA0406W
metadata, set the Type attribute to the appropriate
value. Valid values are Attribute, AttributeArray,
MBOSet.
RBA0333E
Go-to-instance cannot be set for this
process as there are no applications
directly supporting {0} MBOs.
Explanation: This process cannot be set to switch to
the object instance during launch-on-demand as there
are no applications supporting the MBO object.
User response:
Administrator response:
RBA0402W
The process is not running.
Explanation: The specified workflow instance is not
active. Only active instances can be stopped.
User response:
Administrator response: The specified workflow
instance is not active. The process may have completed
or it may have been canceled by the user.
RBA0403W
Launch-on-demand is not supported for
this object type.
Explanation: Launch-on-demand action is not
supported for this object type. In order for
Launch-on-demand to be available for this object type,
the object must be added to the rba.lod.objects system
property.
User response: Make sure that the launch-on-demand
object does not need any required attributes.
Administrator response: Modify the system property
'rba.lod.objects' and add the object type for which
Launch-on-demand is to be provided.
RBA0404W
Cannot launch an inactive process.
Explanation: The workflow process is not active and
cannot be launched.
User response:
Administrator response: Activate the process by
clicking the activate icon on the toolbar in the
Workflow Designer (Advanced) application.
RBA0405W
Please wait, the applet is loading.
Explanation: The Workflow Designer (Advanced)
applet requires ILOG jars to be downloaded, which can
take a few minutes depending on your bandwidth and
network speed. This download occurs initially and
does not occur again in this session with the applet.
User response: Wait for the download Message to be
dismissed, which indicates the applet jars have been
successfully downloaded, before proceeding to use the
94
Advanced Workflow Components Implementation Guide
Workflow Designer (Advanced) application.
Administrator response:
RBA0406W
Are you sure you want to launch this
workflow?
Explanation: If you launch the workflow, you can
continue routing the workflow by clicking on "View
Workflow Instances" under the Select Action menu,
then go to the workflow instance and click on the link
to the Object ID.
User response: You can continue routing the
workflow by clicking on "View Workflow Instances"
under the Select Action menu, then go to the workflow
instance and click on the link to the Object ID.
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may
be used instead. However, it is the user's responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not grant you
any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
IBM World Trade Asia Corporation
Licensing 2-31 Roppongi 3-chome, Minato-ku
Tokyo 106-0032, Japan
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
implied warranties in certain transactions, therefore, this statement may not apply
to you.
This information could include technical inaccuracies or typographical errors.
Changes are periodically made to the information herein; these changes will be
incorporated in new editions of the publication. IBM may make improvements
and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
sites. The materials at those Web sites are not part of the materials for this IBM
product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it
believes appropriate without incurring any obligation to you.
© Copyright IBM Corp. 2007, 2010
95
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact:
IBM Corporation
Software Interoperability Coordinator, Department 49XA
3605 Highway 52 N
Rochester, MN 55901
U.S.A.
Such information may be available, subject to appropriate terms and conditions,
including in some cases, payment of a fee.
The licensed program described in this information and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement, or any equivalent agreement
between us.
Any performance data contained herein was determined in a controlled
environment. Therefore, the results obtained in other operating environments may
vary significantly. Some measurements may have been made on development-level
systems and there is no guarantee that these measurements will be the same on
generally available systems. Furthermore, some measurements may have been
estimated through extrapolation. Actual results may vary. Users of this document
should verify the applicable data for their specific environment.
Information concerning non-IBM products was obtained from the suppliers of
those products, their published announcements or other publicly available sources.
IBM has not tested those products and cannot confirm the accuracy of
performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the
suppliers of those products.
All statements regarding IBM's future direction or intent are subject to change or
withdrawal without notice, and represent goals and objectives only.
All IBM prices shown are IBM's suggested retail prices, are current and are subject
to change without notice. Dealer prices may vary.
This information is for planning purposes only. The information herein is subject to
change before the products described become available.
This information contains examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples include the
names of individuals, companies, brands, and products. All of these names are
fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which
illustrate programming techniques on various operating platforms. You may copy,
modify, and distribute these sample programs in any form without payment to
IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating
96
Advanced Workflow Components Implementation Guide
platform for which the sample programs are written. These examples have not
been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or
imply reliability, serviceability, or function of these programs.
Each copy or any portion of these sample programs or any derivative work, must
include a copyright notice as follows:
© (your company name) (year). Portions of this code are derived from IBM Corp.
Sample Programs. © Copyright IBM Corp. _enter the year or years_. All rights
reserved.
If you are viewing this information softcopy, the photographs and color
illustrations may not appear.
Trademarks
For trademark attribution, visit the IBM Terms of Use Web site
(http://www.ibm.com/legal/copytrade.shtml).
Notices
97
98
Advanced Workflow Components Implementation Guide
Index
A
N
S
action groups 24
action types 21, 27, 28, 31
actions
creating 23
creating action groups 24
deleting 26, 27
duplicating 25
logging 26
actions and action records 21
applications that are used with
Workflow 3
assignments
completing 76
Assignments tab 74
nodes
adding 38, 45
notifications 10, 11
security 20
specifying properties
actions 52, 54
condition nodes 52, 55
interaction nodes 56
manual input nodes 57
subprocess nodes 58
task nodes 58
wait nodes 60
standards for Workflow toolbar
buttons 38
substitution variables in communication
templates 10
P
B
business process analyses
business processes
documenting 7
6
C
canvas elements
adding 38, 45
communication templates
and Workflow 10
Communication Templates application
configuration prerequisites
security permissions 20
creating workflow processes 35
3
D
domains
synonym statuses
14
E
Edit Workflow GO Buttons action 38
escalation points 13
escalations
and actions 21
escalations and action groups 12
Escalations application 3
examples
purchase requisition process 14, 17
service request process 15
examples of workflow processes 14
exporting 72
R
record routing 13
Resynchronize an Active Process
action 69
roles 7
and Workflow 10
Roles application 3
I
importing 72
Inbox/Assignments portlet 4
configuring 77
Inbox/Assignments Setup application
© Copyright IBM Corp. 2007, 2010
People application 3
person groups
workflow assignments 9
Person Groups application 3, 9
person records 8
creating 8
Person records 8
planning
people 7
roles 7
Workflow processes and user
responsibilities 7
processes
activating 65
adding nodes and connection
lines 35
adding toolbar buttons 70
automatically initiating 61
connection lines 39, 45
creating a process revision 69
deleting 71
deleting assignments 76
designing 5
disabling 65
documenting 7
elements 8
enabling 64
examples 14
reassigning workflow
assignments 76
revising 69
sending reassignment
notifications 77
setting processes to not
auto-initiate 61
stopping instances 75
testing 63
validating 64
validation 63
viewing synchronized processes
3
T
toolbar buttons
adding 37
creating 36, 37, 43, 44
modifying 71
V
validation
processes 63
viewing a workflow map 67
viewing workflow assignments 65
viewing workflow history 66
viewing workflow specifications 66
W
69
Web Services 2
Workflow
Add Workflow to Applications
action 70
administrator e-mail 19
applications 3
capabilities 1
delegates 8
designer requirements 19
enabled applications 70
overview 1
purpose 1
support 70
toolbar buttons 36, 37, 43, 44
Workflow Administration
(Advanced) 73
Workflow Administration application 3,
73
Workflow administrator
configuring administrator e-mail
notifications 19
workflow assignments 74
Workflow Designer application 3
Workflow Inbox 3, 4
Workflow toolbar buttons 38
Workflow/Inbox Assignments portlet 77
99
100
Advanced Workflow Components Implementation Guide
Printed in USA