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.


  1. I have one case , that I shipped the equipment to my customer, but customer dont want the equipment, no refund or credit memo, and the line status of is shipped.
    what shall I do for that customer, i want to cancel the sales order, but I cant due to the shipped line status.

  2. As I have stated

    It is not possible to disable the System Processing Constraints.But if the requirement is to cancel the line , try to download ontd0008.sql from metalink and see that allow you to cancel the Order line.

    But my advise is why you want to cancel a line that is already shipped , in case you don’t want to ship the line to actual customer then I suggest do the ship confirm in OM and and that will create Invoice too, once that is done , create an RMA Order ( with Credit memo ).

    Other option is once OM push the data to ra_interface_lines_all for invoicing , just delete the data from this table for the Order line that you are discussing here and then do an RMA order (without credit Memo)

    Hope that helps. It is better to put your question on my blog as visibility is much more there and other too contribute the answers. If you like my blog please do recommend to others.

  3. please note that at this time ontd0008.sql can help you to cancel the line.This scripts help you to cancel the Order line .But PLEASE NOTE That at the same time , this this will not release the Inventory ( I mean will not release reservation), you need to download the patch mention in ontd0008.sql to release the reservation.

  4. Please refer the link

    I have posted your solution.