Search 800 + Posts

Feb 17, 2011

You are not allowed to cancel Order Line because: This is an ATO item.

You are not allowed to cancel Order Line because: This is an ATO item.
This is very common error and usually occurred when you try to cancel an ATO line. Please note that this is error enforce by processing constraint to maintain the integrity of an ATO Order line.
As per the Standard behaviour
  1. If line is ATO line (ato_line_id is NOT Null).
  2. Item_Type_Code  = Standard and
  3. Workflow for the activity SHIP_LINE has a Status Complete then system will not let customer to cancel a line.
It is because the activity 3 (workflow activity SHIP_LINE activity in status = COMPLETE) indicates very clearly that Order line is shipped.( and it is no way a good practice to cancel an Shipped line).

Above was the concept, but recently we notice that system is not allowing to cancel an order line for ato item even when the delivery details was not shipped at all.

That was very strange, because per the processing constraint if any of the cobndition fails that the complete processing constrant not work. I then have close look at the Order line and workflow and found that line has ato_line_id NOT NULL , item_type_code = Standard and Wow the workflow for the SHIP_LINE activity was also in status COMPLETE , But on the Other hand release_status has a value <> C ( Shipped), and that was very strange.On further Investigation I noticed that workflow for the order line was stuck at the SHIP_LINE activity with the status = COMPLETE and not proceed any further ( that means line was not Shipped at all).



Since the workflow stuck at SHIP_LINE activity with Status = COMPLETE, Processing constraints third condition got satisified and system was not letting user to cancel the Order line. A quick fix to resolve these types of issues is RERTY the SHIP_LINE activity and doing that should set the status of the SHIP_LINE activity to NOTIFIED and that leads to Failure of processing constarint (3rd condition) and finally system will let us cancel the line.

I suspect because of data-corrutopn during the back Order process (release status = B) , Workflow staus some how change to COMPLETE status rather than remain as NOTIFIED and thus leads to all this mess.

Hope that helps.