Why Doesn't My Sales Order Generate A Contract?
By LuciaC-Oracle on Aug 22, 2013
In some cases, the service contract is not created. In this blog post I try to give some pointers to help you debug this integration point. Note that in R12 there was a change in how this integration point works, here I refer only to R12 functionality. If you are on an earlier EBS release please see Doc ID 463912.1 for troubleshooting steps.
Is your order interfaced?Make sure that your order has been successfully shipped and the line has been interfaced. Sometimes the order can be deferred until a future date. Check the OM workflow to see if that's happened. You'll see the deferred date in the OM Order Line (OEOL) 'Fulfill' node. If it's not deferred to a future date but is not closed, then running the Workflow Background Process is required to progress the workflow.
Is the instance created in IB?Make sure that the install base instance has been created. Search in IB using the sales order number and make sure that the item with the linked service line is created as an instance.
Remember that the inventory item must be set up with 'Track in Installed Base' and 'Service Allowed' set to yes (ticked) in the item master.
What's the status of the interfaced record?When the sales order is processed, a record is created in the OKS_REPROCESSING table. Check the status of the this record in Service Contracts > Reprocess Order.
Query using the sales order number. This should return the sales order with a status of NEW (if the record is available for processing) or ERROR (if the record has been processed but failed to create the service contract).
If the status is NEW then all you have to do is select it for processing and then submit the Service Contracts Order Processing concurrent program.
If the status is ERROR then the error message displayed should give you an indication of why the contract creation has failed.
If all fails and you can't find the order in the Reprocess Order form, the query below will return order numbers with service lines which have not created a contract and are not in OKS_REPROCESSING table.
You can then use this information to implement a workaround such as creating the service contract manually OR you can log a service request with Oracle Support to get a datafix which will insert the missing order lines into OKS_REPROCESSING.select ord.order_number "Order_Number", ord.header_id "Order_Id", line.line_number, instance_number, line.service_reference_type_code, line.service_reference_line_id "Reference ID", line_id "Service_Line_ID" from csi_item_instances ib, oe_order_lines_all line, oe_order_headers_all ord where not ib.last_oe_order_line_id is null and ib.last_oe_order_line_id = line.service_reference_line_id and ord.header_id = line.header_id and line.flow_status_code = 'CLOSED' and line.service_reference_type_code = 'ORDER' and line.line_id not in (select order_line_id from oks_reprocessing);
The following notes also have useful information about this integration point:
Integration Troubleshooting: Order Management to Service Contracts (Doc ID 1455545.1)
R12 How to Process Order Lines from Order Management to Create Service Contracts (Doc ID 785760.1)