Presenter: Fernando Cartagena

21
Workflow Fundamentals Presenter: Fernando Cartagena For audio, please dial: 1-888-296-6500 (Code: 738859#)

Transcript of Presenter: Fernando Cartagena

Workflow Fundamentals Presenter: Fernando Cartagena

For audio, please dial: 1-888-296-6500 (Code: 738859#)

What is Workflow?

• Workflow is a mechanism to route Maximo records from one user to another.

• Workflow also allows actions to be performed on a record as it is routed, e.g. status changes

• Common usage:

– Purchase Order Approvals

– Work Order Approvals

Workflow Nodes

• Start

• Task

• Condition

• Manual Input

• Subprocess

• Wait Node

• Interaction

• Stop

Start and Stop Nodes

• Flow of logic starts at the start node and ends at the stop node.

• Every workflow must have one start node

• Every workflow must have at least one stop node

Task Node

• Used to assign a record to a Maximo user

• Assignment appears as an entry in Start Center Inbox/Assignments portlet

Task Node Properties

1. Define a Role which will receive assignment 2. Define the Description which will appear on assignee’s start center 3. Define a communication template containing email to be sent to

assignee – based on WFASSIGN object – can contain replacement variables for attributes such as the workflow

assignment description on start center, or start and due dates for workflow

4. Define a communication template containing email to be sent to assignee – based on the current MBO – can contain replacement variables for current object

5. Determine if after accepting a workflow assignment, if the user has the option to reassign the workflow to another user.

Task Node Properties

Condition Node

• Used to evaluate a TRUE or FALSE condition

• Uses SQL syntax and MBO bind variables to form a query

• In the canvas, it must have a single Positive (black) arrow leaving it

• In the canvas, it must have a single Negative (red) arrow leaving it

Condition Node Properties

1. Define a condition title that is displayed on the canvas 2. Describe condition you are checking (hint: be very descriptive, it helps

in future debugging) 3. Define a SQL expression 4. Use the SQL builder if you need a hand building out the expression

Manual Input Node

• Used to provide a user a number options to choose from

• In the canvas, it can have many Positive arrows leaving it, each arrow corresponding an option the user can choose

Manual Input Node Properties

1. Define a node title that is displayed on the canvas 2. Describe input node 3. Each arrow leaving node will create a sequence number 4. Ability to add Actions on arrows (hint: you can add an action to any arrow in

workflow!) 5. Tip: You can use expressions on arrows leaving node to dynamically show or hide

available options 6. If applicable define notifications to be sent out once workflow reaches this node

Interaction Node

• Used to display messages to a user (e.g. notifying a user that workflow can’t be initiated in certain statuses)

• Also used to jump to different tabs or different applications

Interaction Node Properties

1. Define a title and description

2. Define the title of message displayed to user

3. Define the body of message displayed to user

4. You may also use this node to “jump” to another tab or even another application

Subprocess Node

• Used to call workflow processes from a separate process

• In the canvas, it must have a single Positive (black) arrow leaving it

• In the canvas, it must have a single Negative (red) arrow leaving it

Subprocess Node Properties

• Define a title and description

• Define an enabled subprocess to be executed

Wait Node

• Used to halt workflow until a desired event

Wait Node Properties

1. Define a title and description 2. Define Wait List

– For possible Wait List values see: http://pic.dhe.ibm.com/infocenter/tivihelp/v32r1/topic/com.ibm.ccmdb.doc_721/workflow/t_spec_waitnode_props.html

Tips and Best Practices • Use subprocesses for repeated logic to keep workflow clean and readable

(e.g. validation subprocesses). • Use intuitive labels and ensure descriptions are clear. • Comment your SQL code when using long queries in condition nodes. • Maintain a change log on process long descriptions for new revisions. • Don’t be afraid to use multiple stop nodes. It keeps the canvas clean. • Instead of multiple task nodes, consider using a role that will dynamically

set the assignee. • You can put expressions on arrows leaving manual input nodes in order to

conditionally show/hide options. • You can administer active workflow assignments using the Workflow

Administration application. • You may use multiple workflows in one app, a good way to distinguish

them is using different icons and labels.

Common Pitfalls

• Packing too much logic on one canvas: use sub processes

• Unreadable logic: comment as much as possible!

• Sending too many emails from workflow

• Inconsistent use of “Display One” checkbox on Manual Input node

Questions?

Thank you!

For questions, please contact Fernando Cartagena at: 780.637.4130 ext 226 or [email protected]