Debugging an Internal Requisition which not turned to an Internal Sales Order

Once I have encountered a situation wherein an Internal Sales Order is not created for an Internal Requisition. Below are the steps I have followed the to resolve this problem

Firstly execute the following query to make sure whether an Internal SO is created for Internal Requisition or not.

--To check whether a SO is created for an Internal Requisition
SELECT   oeh.order_number, oeh.header_id, oel.line_id, oel.line_number
FROM oe_order_lines_all oel,
oe_order_headers_all oeh,
po_requisition_headers_all porh,
po_requisition_lines_all porl
WHERE oeh.header_id = oel.header_id
AND oel.source_document_id = porh.requisition_header_id
AND oel.source_document_line_id = porl.requisition_line_id
AND porh.requisition_header_id = porl.requisition_header_id
AND oel.order_source_id = 10             --order_source_id for 'Internal'
AND oel.orig_sys_document_ref = '&Your_Int_Req_num'
AND oel.org_id = porh.org_id
ORDER BY oeh.header_id, oel.line_id;

If you find that a SO is not created then follow the below steps.

Order Interface Tables

If  SO is not created, then it must have got strucked in Interface tables

OE_HEADERS_IFACE_ALL, OE_LINES_IFACE_ALL

-- To check whether Requisition Lines are in Interface table or not
SELECT COUNT (*)
FROM oe_lines_iface_all
WHERE orig_sys_line_ref IN (
SELECT requisition_line_id
FROM po_requisition_lines_all
WHERE requisition_header_id IN (
SELECT requisition_header_id
FROM po_requisition_headers_all
WHERE segment1 = '&Requisition_Number'));

When a Requisition data is inserted into Order Interface tables then transferred_to_oe_flag of both PO_REQUISITION_HEADERS_ALL and PO_REQUISITION_LINES_ALL with be set to ‘Y

If  SO is strucked in Interface tables then there must be some error/problem with Internal Requisition which we can find out in the application.

This is possible using the Order Management Responsibility – and navigating to Orders –> Import Orders –> Corrections

  • Choose an order type of Internal
  • In Order Reference use the List of Values to locate the Requisition Number
  • If the Requisition is not located – it has either been created into a Sales Order or not inserted into the tables by the Create Internal Orders program

If the Requisition is not located – it has either been created into a Sales Order or not inserted into the tables by the Create Internal Orders program. To resolve this kind of problem read this article.

If Requisition is found, check out for errors as why they got strucked.

Below are the possibles reasons for getting a Requisition strucked.

1) Item Pre-Requisites

  • Firstly make sure that your Internal Requisition is Approved
  • Items involved in Requisition are assigned to source and destination organizations or not? and also make sure that the items are assigned to Master Org.

Usually Master Org is the Item Validation Org, which you can find with the help of a profile option ‘OM: Item Validation Org‘.

  • Items should have enough onhand quantity in source organization

2) Item Attributes

Make sure the following item attributes are set for both Source and Destination Organizations, Item validation organization too.

  • In Purchasing Tab – add a price if the item is to be used in iProcurement.

Uncheck the purchasing checkboxes, if the item is to ONLY be ordered from an internal source.

  • In Order Management tab of Item Master the following attributes should be enabled.
  1. Internal Ordered
  2. Internal Orders Enabled
  3. OE Transactable

3) Shipping Network

Ensure you have shipping network established between Source and Destination Organizations.

Navigation: Inventory Responsibility –>  Setup –> Organizations –> Shipping Networks

4) Destination Organization as an Internal Customer

Destination Inventory Organization must be created as a Customer in the Operating Unit of the Source Inventory Organization that is used on the Internal Requisition.

You can check the Operating Unit for the Source Inventory Organization by using the following sql:

SELECT    'The Inventory Organization '
|| oo.organization_code
|| 'has the inventory organization ID of '
|| oo.organization_id
|| ' and is under the Operating Unit'
|| hro.NAME
|| ' which has the Operating Unit ID of '
|| oo.operating_unit
FROM org_organization_definitions oo, hr_all_organization_units hro
WHERE UPPER (oo.organization_code) LIKE UPPER ('%&INV_ORG_CODE%')
AND hro.organization_id = oo.operating_unit;

5) Item Price

Price must be defined for the Items involved in the Internal Requisition.

 


Once the error is corrected, In the Order Corrections form the ERROR flag is unchecked and the REQUEST_ID field cleared, the order can be resubmitted for Import with ‘Order Import’ Concurrent Program.

PLEASE NOTE -If you want to delete records from Interface then it is necessary to Delete the Lines first and then the header.

Please do comment if you have any more issues with this kind of problem.