I am facing problem with the behavior of Delay Task.
Let me explain my scenario.
My Flow is like (Orchestration Plan)
Function1 ---> Function 2 ----> Function 3
F1-T1 F2-T1 F3-T1
F1-T2 F2-T2 -Delay Task F3-T2
So Once F1-T1, T2 (Process-1) completes, it moves to Porcess-F2-T1 then F2-T2 ( after completing) Delay task, it is not moving to Process F3-T1
If I changed F2-T2(Delay Task) and adding F2-T3, after completing Delay Task, it is easily moving to F2-T3
In simple, If I am putting my Delay task at the End of Process, it is not moving to another Function (Process).
Kindly let me know what I should do.
Hi N Singh,
I agree, the below scenario is not working. I have tried it myself and found this is a bug. Please log a SR with Oracle.
Alternate Solution: As I don't know what is the significance of delay task in business scenario exactly, please check the below solution is applicable for you.
If you want to introduce a delay task between function to function, you can achieve this in another way.
Goto Product Specificiation => Orchestration Plan tab => Dependencies tab => Select the From Function - To Function => Navigate to "Wait Condition" tab.
Once you reach to the wait condition tab, you can define the wait condition between "From Function" - "To Function".
Here is the link of a picture of the same. Please ignore it if you already got how to do it :-)
Pic Link : http://i46.tinypic.com/ofwsoh.jpg
Please let me know if this is what you were looking for.
I remember we saw this in 6.3 already.
The problem I think is when the process associated with a subprocess task ends with a delay task, the package will not end the parent subprocess task.
This also applies to the components in orchestration plan since the implementation I believe is derived from the subprocess implementation.
If I remember correctly, we had a workaround for this, by placing a null task after the delay task I guess.
Or the alternative proposed above. However, this won't work if you only want to have the delay at the edn when the process flow goes through a aprticular path...
Sounds like a defect. As mentioned by a previous poster, please log an SR with Oracle Support so we can investigate.
Also as mentioned this problem would likely apply to processes regardless of whether they are invoked from orchestration or not.
The workaround of putting a null task (condition always evaluates to true) should work fine.
It's working fine in original order,but while I am trying to send a Revision order / Amend order. It's not working.
Please suggest me, how can do the amendment.
I am getting following error:
Failed to create and start the order due to java.lang.RuntimeException: com.mslv.oms.OMSException: Error amending order  caused by:Time has not been computed.
Hi N Singh,
The problem is getting tougher, isn't it :-).
Ok now, when the order execution has gone into wait condition, OSM cannot process amendments at that instant & until the wait period is over.
But, What I have observed is, OSM is throwing exception initially but once the waiting period is over, order is going into amending state.
Well, in that case, you can define some conditions in Order Life Cycle policy => Submit Amendements. Here you have an option of having an XQuery. From the GetOrder.Response, you can get Task details. Write condition around the Task Name and using the Java, you can set the delay inside the XQuery.
Try it out. I am not sure how feasible this is.