March 21, 2013

Is an Object in a workflow?

This entry is part of the Conditional Expressions HowTo.

If you need to make a field or an object readonly if it has an active and running workflow you are in right place!
All you need is a conditional expression that can be used in conditional UI or data restriction.
The following conditional expression evaluate to true if a Work Order is in a workflow.
  • Name: WOINWF
  • Description: True if WO is in WF
  • Expression: exists (select 1 from wfassignment where assignstatus='ACTIVE' and ownertable='WORKORDER' and ownerid=:workorderid )
If you need the opposite behaviour use this other conditional expression.
  • Name: WONOTINWF
  • Description: False if WO is in WF
  • Expression: not exists (select 1 from wfassignment where assignstatus='ACTIVE' and ownertable='WORKORDER' and ownerid=:workorderid )
Those expressions can be easily be modified to work with any object.

Now just use this conditional expression in the Application Designer or in Security Groups to change the behavior of such objects.

2 comments:

  1. Hi Bruno,

    Thanks for your valueable articles on your blog. We have an issue regarding workflow in Maximo. We want to restrict certain records which is currently active in a workflow process from being modified by person which is not currently holding the workflow. For example work order number 1234 is currently waiting for approval from maintenance manager (User ABCD). How to restrict that record so that it can only be modified by user ABCD?

    Thanks for your response.

    Habib

    ReplyDelete
  2. Or maybe you would say that it's not possible for current latest Maximo version?

    Thanks.

    ReplyDelete