Dealing with rejection made easier


With workflow in UCM comes the ability to insert logic at different points of the process. At each step you can define an entry, update, or exit event to handle the workflow in different ways. You may chose to route the workflow differently based on a metadata value. Or perhaps escalate the workflow if the document has been sitting to long.

But one of the quirks with the events that I think catches just about everyone is the handling of the 'Reject' action. Dealing with rejection is hard...but in UCM it doesn't have to be.

In default workflow behavior, a document that is rejected will go back to the last step in which a user could edit the document. So if a workflow has 3 steps and step 2 was a review/edit step, if someone in step 3 rejects the document, it will roll back to step 2. This satisfies some use cases, but in others it might make sense to send the document back to the original contributor. So what needs to be added is a jump that will send the workflow back to the contribution step.

What catches most folks is they try putting that jump evaluation in the exit event of the step. For items that are approved, they trigger the exit event. But for documents that are rejected, they immediately go back. That exit event isn't evaluated.

So what needs to be done instead is to put the jump evaluation at the entry event on each of the steps that are review/edit to catch that reject action. In the example above, it would be at step 2.

So in the Entry Event, add a new Jump. Then on the Event Script dialog, select the Field of 'Workflow Action', Operator of 'Matches', and Value of 'Reject'. Add the clause and for the Target Step, select the 'contribution' step of the workflow.



Now if something is rejected and comes back to this step, it will immediately route it back to the original contributor.


Hello Kyle, thanks again for a very useful post. My question concerns another problem. Could you give a hint how to prohibit creating new revisions automatically? E.g. if a document (a spreadsheet) is updated quite often and we don't want to keep all the revisions? I was thinking of a rule that upon update set the revision number back to 1, but it didn't work. May be there should be a rule that old revisions are deleted automatically? But then how to write a IdocScript for it. 1 000 thanks! :)

Posted by Gulnara on March 17, 2010 at 02:33 AM CDT #

Hey Gulnara, That's a great question and certainly possible. Instead of answering it here, I think it deserves it's own posting. I'll try and get to that soon.

Posted by kyle.hatlestad on March 18, 2010 at 02:09 AM CDT #

Hello Kyle,

Thank you for the article. It is very helpful. I have a quick question on the same lines. If I have a workflow with just one reviewer and if that reviewer rejects the document, it sends an email to submitter and places the document with status "Review" and Step Name as "Edit". I am wondering is there anyway to catch when the first (and only) reviewer rejects the document, then I would like to do few things.

1) Add a bcc to common mail box so that we have a copy of all the rejections

2) Perhaps move the rejected document to a new sub-workflow so that all rejected documents will be routed to a common place.

Problem is there is no jumpname or stepname I can add the on entry code when the rejection document is going to the submitter itself.

Please let me know if you need any additional information.

I really appreciate your help.


Posted by Bhanu on December 05, 2011 at 05:19 AM CST #

Thank you for a very helpful post.
My question is: what if we want to create the jump in step 1. For example when step 2 rejects, move to step 4.
how could we set the entry condition on the contribution step and it is not displayed in the list of steps to begin with.

Thanks again.

Posted by Ghadah on October 14, 2012 at 11:04 AM CDT #

Hello Ghadah,

Ah, for that you can create the first step which purpose is to "catch" items being rejected. Make the step a review/edit step so that items rejected will go back to it. Then put in your Entry Event to catch the action. If wfAction is 'REJECT', then have it jump to step 4. Else, simply jump to the next step. So now as new items get submitted, they'll simply jump past this first step. Only items rejected will trigger the logic which will move them to step 4.

Hope that helps.

Posted by guest on October 15, 2012 at 09:18 AM CDT #

Post a Comment:
  • HTML Syntax: NOT allowed

Kyle Hatlestad is a Solution Architect in the WebCenter Architecture group (A-Team) who works with WebCenter Content and other products in the WebCenter & Fusion Middleware portfolios. The WebCenter A-Team blog can be found at: ateam_webcenter/


« July 2016