Tuning Oracle Applicatons Order Management Query

Hi
We are trying to build a Order Management related workbench for this I have created below query as per the client requirement.
And I have to use one package function to get Available_qty based on client defination. Package Function name is "xx_eg_calculated_onhand".
User will query this view based on Customer_id and Salesperson_id. When this view executed with these two values its taking long time.
But, if user queries with order_number it is getting executed fastly. Could somebody let me know what should I do to get this query execute fast when
user query with either customer_id or salesrep_id OR both.
CREATE OR REPLACE VIEW xxrelease_sales_orders_v (row_id,
sales_oder,
cust_po_number,
line_id,
carrier,
segment1,
customer_item_number,
description,
ship_from,
ship_to,
request_date,
order_quality,
available_qty,
shipped_quality,
uom,
customer_name,
sales_person_name,
delivery_detail_id,
cust_hold,
release_check,
line_status,
organization_code,
org_id,
order_number,
tolerance,
delivery_id,
organization_id,
salesrep_id,
party_id,
inventory_item_id,
header_id,
cust_account_id,
location_id,
cust_acct_site_id
AS
SELECT      a.row_id,
          a.Sales_Order,
          a.Cust_Po_Number,
          a.Line_ID,
          a.Carrier,
          a.segment1,
          a.Customer_Item_Number,
          a.description,
          a.Ship_From,
          a.ship_to,
          a.request_date,
a.order_quality,
          DECODE(SIGN(a.Available_qty),-1, 0, a.available_qty) Available_Qty,
          DECODE(SIGN(LEAST(a.order_quality, a.Available_qty)), -1,0, LEAST(a.order_quality, a.Available_qty)) Shipped_Qty,
          a.uom,
          a.Customer_Name,
          a.Sales_Person_Name,
          a.delivery_detail_id,
          a.cust_hold,
          a.release_check,
          a.Line_status,
          a.organization_code,
          a.org_id,
          a.order_number,
a.tolerance,
          a.delivery_id,
          a.organization_id,
          a.salesrep_id,
          a.party_id,
          a.inventory_item_id,
          a.header_id,
          a.cust_account_id,
          a.location_id,
          a.cust_acct_site_id
From (
SELECT     ooh.ROWID row_id,
          ooh.order_number||'-'||ool.line_number||'.'||ool.shipment_number Sales_Order,
          ool.cust_po_number,
          ool.line_id,
          NVL (ool.freight_carrier_code, 'NA') carrier,
          msi.segment1,
          ool.ordered_item Customer_Item_Number,          
          msi.description,
          haou.name Ship_From,
          hl.city || ' ' || hl.state || ' ' || hl.postal_code ship_to,
          NVL (ool.request_date, SYSDATE) request_date,
NVL (ool.ordered_quantity, 0) order_quality,
          xxeg_releaseworkbench_form_pkg.xx_eg_calculated_onhand(ool.line_id) Available_qty,
          ool.order_quantity_uom uom,
          hp.party_name Customer_Name,
          hca.account_number Customer_Number,
          jrs.name Sales_Person_Name,
          wdd.delivery_detail_id,
          0 cust_hold,
          0 release_check,
          oe_line_status_pub.Get_Line_Status(ool.line_id, ool.flow_status_code) Line_status,
          ool.org_id,
          ooh.order_number,
NVL (ool.ship_tolerance_above, 0) tolerance,
          wda.delivery_id,
          ool.ship_from_org_id organization_id,
          jrs.salesrep_id,
          hp.party_id,
          msi.inventory_item_id,
          ooh.header_id,
          hca.cust_account_id,
          hps.location_id,
          hcsu.cust_acct_site_id,
          ooh.ship_to_org_id site_use_id,
          hcas.party_site_id,
          '0' organization_code
FROM      oe_order_headers_all ooh,
          oe_order_lines_all ool,
          wsh_delivery_details wdd,
          wsh_delivery_assignments wda,
          mtl_system_items_b msi,
          hz_cust_accounts hca,
          hz_parties hp,
          jtf_rs_salesreps jrs,
          hz_cust_site_uses_all hcsu,
          hz_cust_acct_sites_all hcas,
          hz_party_sites hps,
          hz_locations hl,
          hr_all_organization_units haou
WHERE      ooh.header_id = ool.header_id     
AND          ooh.header_id = wdd.source_header_id
AND          ool.line_id     = wdd.source_line_id
AND          wdd.delivery_detail_id = wda.delivery_detail_id
AND          ool.inventory_item_id = msi.inventory_item_id
AND          ooh.ship_from_org_id = msi.organization_id
AND          ooh.sold_to_org_id      = hca.cust_account_id
AND          hca.party_id          = hp.party_id
AND          ool.salesrep_id          = jrs.salesrep_id
AND          ool.org_id               = jrs.org_id
AND          ooh.ship_to_org_id     = hcsu.site_use_id
AND          hcsu.cust_acct_site_id = hcas.cust_acct_site_id
AND          hcas.party_site_id     = hps.party_site_id
AND          hps.location_id          = hl.location_id
AND          ool.ship_from_org_id = haou.organization_id
AND          wdd.released_status     = 'R'
AND          hcsu.site_use_code     = 'SHIP_TO'
AND      ool.flow_status_code = 'AWAITING_SHIPPING'
--and     hca.cust_account_id = 1531 and jrs.salesrep_id = 100000060
--AND          ooh.order_number = '361130'
) a
Function
FUNCTION xx_eg_calculated_onhand (p_so_line_id IN NUMBER) RETURN NUMBER IS
--CREATE OR REPLACE PROCEDURE xx_eg_calculated_onhand (p_so_line_id IN NUMBER) IS
-- Steps Involved to calculate the onhand availability
--     1. Get Inventory Item ID and Warehouse from given sales order line ID
-- Local Variable Declration
     l_inventory_item_id          apps.oe_order_lines_all.inventory_item_id%TYPE := 0;
     l_organization_id          apps.oe_order_lines_all.ship_from_org_id%TYPE := 0;
     l_order_quantity_uom          apps.oe_order_lines_all.order_quantity_uom%TYPE := '';
     l_primary_uom_code          apps.mtl_system_items_b.primary_uom_code%TYPE := '';
     l_onhand_reserve          NUMBER(15,2) := 0;
     l_hard_reservation          NUMBER(15,2) := 0;
     l_so_soft_reservation          NUMBER(15,2) := 0;
     l_wo_soft_reservation          NUMBER(15,2) := 0;
     l_so_released_ware_qty          NUMBER(15,2) := 0;
-- Cursor declrations
     -- Get inventory item, warehouse and order UOM Details
     CURSOR      Get_inv_and_org_details IS
     SELECT     ool.inventory_item_id,
          ool.ship_from_org_id,
          ool.order_quantity_uom,
          msi.primary_uom_code
     FROM     apps.oe_order_lines_all ool,
          apps.mtl_system_items_b msi
     WHERE     ool.line_id = NVL(p_so_line_id,0)
     AND     ool.inventory_item_id      = msi.inventory_item_id
     AND     ool.ship_from_org_id     = msi.organization_id;
     -- Get Hard Reservation details for given item and warehouse
     CURSOR     Get_Hard_reservation(p_inventory_item_id IN NUMBER, p_organization_id IN NUMBER) IS
     SELECT     SUM(reservation_quantity)
     FROM     apps.mtl_reservations
     WHERE     inventory_item_id      = NVL(p_inventory_item_id,0)
     AND     organization_id          = NVL(p_organization_id, 0)
     AND     demand_source_line_id <> p_so_line_id;
     -- Get Soft reservation details for given item and warehouse for Sales order
     CURSOR     Get_so_soft_reservation (p_inventory_item_id IN NUMBER, p_organization_id IN NUMBER) IS
     SELECT     SUM(mlqv.onhand_qty)
     FROM      xxapps.xx_eg_lot_reservations xelr,
          xxapps.mtl_lot_qty_vw mlqv,
          apps.oe_order_lines_all ool
     WHERE     xelr.lot_no      = mlqv.lot_no
     AND     xelr.so_line_id = ool.line_id
     AND     mlqv.org_id      = ool.ship_from_org_id
     AND     mlqv.item_id      = ool.inventory_item_id
     AND     mlqv.org_id      = p_organization_id
     AND     mlqv.item_id      = p_inventory_item_id;
     -- Get Soft reservation details for given item and warehouse for work orders
     CURSOR     Get_wo_soft_reservation (p_inventory_item_id IN NUMBER, p_organization_id IN NUMBER) IS
     SELECT     SUM(mlqv.onhand_qty)
     FROM      xxapps.xx_eg_lot_reservations xelr,
          xxapps.mtl_lot_qty_vw mlqv,
          wip.wip_requirement_operations wro
     WHERE     xelr.lot_no           = mlqv.lot_no
     AND     xelr.wip_entity_id      = wro.wip_entity_id
     AND     mlqv.org_id           = wro.organization_id
     AND     mlqv.item_id           = wro.inventory_item_id
     AND     mlqv.org_id           = p_organization_id
     AND     mlqv.item_id           = p_inventory_item_id;
     -- Get Sales order lines quantity for the shipment status 'Released to Wareshoue'
     CURSOR     Get_so_qty (p_inventory_item_id IN NUMBER, p_organization_id IN NUMBER) IS
     SELECT      SUM(requested_quantity)
     FROM      apps.wsh_deliverables_v
     WHERE released_status='S'
     AND     inventory_item_id = p_inventory_item_id
     AND organization_id = p_organization_id;
BEGIN
     Dbms_output.put_line('Function Started with so_line_id = '||p_so_line_id);
     -- Get the inventory_item_id and warehouse id and
     --     ordered quantity uom details
     -- By opening the cursor Get_inv_and_org_details
     OPEN Get_inv_and_org_details;
     FETCH Get_inv_and_org_details INTO l_inventory_item_id,l_organization_id,l_order_quantity_uom,l_primary_uom_code;
     CLOSE Get_inv_and_org_details;
     Dbms_output.put_line('Inventory item id = '||l_inventory_item_id||' and warehouse id = '||l_organization_id);
     IF (l_inventory_item_id = 0 OR l_inventory_item_id IS NULL) OR
          (l_organization_id = 0 OR l_organization_id IS NULL) THEN
          dbms_output.put_line('No inventory/wareshouse details available for given sales order line');
          RETURN 0;
     END IF;
     -- Get onhand available to reserve quantity using API
     -- passing inventory item id and organization id as
     -- a parameters.
     l_onhand_reserve     := apps.xx_utility_pkg.Get_Available_to_Reserve_org(l_inventory_item_id,l_organization_id);
     Dbms_output.put_line('Onhand availability to Reserve quantity = '||l_onhand_reserve);
     -- Get hard reservation quantity by
     -- passing inventory item id and organization id as
     -- a parameters to cursor Get_Hard_reservation
     OPEN Get_Hard_reservation(l_inventory_item_id,l_organization_id);
          FETCH Get_Hard_reservation INTO l_hard_reservation;
     CLOSE Get_Hard_reservation;
     Dbms_output.put_line('Hard Reserve quantity = '||l_hard_reservation);
     -- Get Soft reservation quantity by
     -- passing inventory item id and organization id as
     -- a parameters to cursor
     --     Get_so_soft_reservation for sales lines
     OPEN Get_so_soft_reservation(l_inventory_item_id,l_organization_id);
          FETCH Get_so_soft_reservation INTO l_so_soft_reservation;
     CLOSE Get_so_soft_reservation;
     -- Get Soft reservation quantity by
     -- passing inventory item id and organization id as
     -- a parameters to cursor
     --     Get_wo_soft_reservation for work orders
     OPEN Get_wo_soft_reservation(l_inventory_item_id,l_organization_id);
          FETCH Get_wo_soft_reservation INTO l_wo_soft_reservation;
     CLOSE Get_wo_soft_reservation;
     -- Get Sales order line sum quantity for those
     -- lines which has a status of 'Released to Warehouse'
     -- at their shipment level for given parameters
     OPEN Get_so_qty(l_inventory_item_id,l_organization_id);
          FETCH Get_so_qty INTO l_so_released_ware_qty;
     CLOSE Get_so_qty;
     INSERT INTO xxapps.xxeg_calculated_onhand_tbl
               order_line_id,
               inventory_item_id,
               organization_id,
               available_to_reserve,
               hard_reservation,
               soft_reservation_so,
               soft_reservation_wo,
               other_so_lines_qty,
               run_date
               VALUES
               p_so_line_id,
               l_inventory_item_id,
               l_organization_id,
               NVL(l_onhand_reserve,0),
               NVL(l_hard_reservation,0),
               NVL(l_so_soft_reservation,0),
               NVL(l_wo_soft_reservation,0),
               NVL(l_so_released_ware_qty,0),
               sysdate
     Commit Work;
Create table xxapps.xxeg_calculated_onhand_tbl
     order_line_id          NUMBER,
     inventory_item_id      NUMBER,
     organization_id      NUMBER,
     available_to_reserve      NUMBER,
     hard_reservation     NUMBER,
     soft_reservation_so     NUMBER,
     soft_reservation_wo     NUMBER,
     other_so_lines_qty     NUMBER,
     run_date          DATE
     RETURN (NVL(l_onhand_reserve,0) + NVL(l_hard_reservation,0) - (NVL(l_so_soft_reservation,0) + NVL(l_wo_soft_reservation,0)) - NVL(l_so_released_ware_qty,0));
EXCEPTION
WHEN others THEN
     RETURN (0);
END xx_eg_calculated_onhand;
Kiran

Hi
I have gathered a explain plan. Could somebody let me know whats going on.
plan_table_output
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 1 | 404 | 87 |
| 1 | NESTED LOOPS | | 1 | 404 | 87 |
| 2 | NESTED LOOPS | | 1 | 374 | 86 |
| 3 | NESTED LOOPS | | 1 | 323 | 85 |
| 4 | NESTED LOOPS | | 1 | 300 | 84 |
| 5 | NESTED LOOPS | | 1 | 290 | 83 |
| 6 | NESTED LOOPS | | 1 | 280 | 80 |
| 7 | NESTED LOOPS | | 1 | 261 | 79 |
| 8 | NESTED LOOPS | | 1 | 209 | 78 |
| 9 | NESTED LOOPS | | 1 | 192 | 75 |
| 10 | NESTED LOOPS | | 1 | 164 | 74 |
| 11 | NESTED LOOPS | | 1 | 76 | 72 |
| 12 | NESTED LOOPS | | 1 | 46 | 3 |
| 13 | TABLE ACCESS BY INDEX ROWID| HZ_CUST_ACCOUNTS | 1 | 16 | 2 |
|* 14 | INDEX UNIQUE SCAN | HZ_CUST_ACCOUNTS_U1 | 1 | | 1 |
| 15 | TABLE ACCESS BY INDEX ROWID| HZ_PARTIES | 1 | 30 | 1 |
|* 16 | INDEX UNIQUE SCAN | HZ_PARTIES_U1 | 1 | | |
| 17 | TABLE ACCESS BY INDEX ROWID | OE_ORDER_HEADERS_ALL | 1 | 30 | 69 |
|* 18 | INDEX RANGE SCAN | OE_ORDER_HEADERS_N2 | 1 | | 1 |
|* 19 | TABLE ACCESS BY INDEX ROWID | OE_ORDER_LINES_ALL | 1 | 88 | 2 |
|* 20 | INDEX RANGE SCAN | OE_ORDER_LINES_N1 | 6 | | 1 |
| 21 | TABLE ACCESS BY INDEX ROWID | JTF_RS_SALESREPS | 1 | 28 | 1 |
|* 22 | INDEX UNIQUE SCAN | JTF_RS_SALESREPS_U1 | 1 | | |
|* 23 | TABLE ACCESS BY INDEX ROWID | WSH_DELIVERY_DETAILS | 1 | 17 | 3 |
|* 24 | INDEX RANGE SCAN | WSH_DELIVERY_DETAILS_N3 | 4 | | 2 |
| 25 | TABLE ACCESS BY INDEX ROWID | MTL_SYSTEM_ITEMS_B | 1 | 52 | 1 |
|* 26 | INDEX UNIQUE SCAN | MTL_SYSTEM_ITEMS_B_U1 | 1 | | |
|* 27 | TABLE ACCESS BY INDEX ROWID | HZ_CUST_SITE_USES_ALL | 1 | 19 | 1 |
|* 28 | INDEX UNIQUE SCAN | HZ_CUST_SITE_USES_U1 | 1 | | |
| 29 | TABLE ACCESS BY INDEX ROWID | WSH_DELIVERY_ASSIGNMENTS | 1 | 10 | 3 |
|* 30 | INDEX RANGE SCAN | WSH_DELIVERY_ASSIGNMENTS_N3 | 1 | | 2 |
| 31 | TABLE ACCESS BY INDEX ROWID | HZ_CUST_ACCT_SITES_ALL | 1 | 10 | 1 |
|* 32 | INDEX UNIQUE SCAN | HZ_CUST_ACCT_SITES_U1 | 1 | | |
|* 33 | TABLE ACCESS BY INDEX ROWID | HZ_PARTY_SITES | 1 | 23 | 1 |
|* 34 | INDEX UNIQUE SCAN | HZ_PARTY_SITES_U1 | 1 | | |
|* 35 | TABLE ACCESS BY INDEX ROWID | HZ_LOCATIONS | 1 | 51 | 1 |
|* 36 | INDEX UNIQUE SCAN | HZ_LOCATIONS_U1 | 1 | | |
| 37 | TABLE ACCESS BY INDEX ROWID | HR_ALL_ORGANIZATION_UNITS | 1 | 30 | 1 |
|* 38 | INDEX UNIQUE SCAN | HR_ORGANIZATION_UNITS_PK | 1 | | |
Predicate Information (identified by operation id):
14 - access("HCA"."CUST_ACCOUNT_ID"=1531)
16 - access("HCA"."PARTY_ID"="HP"."PARTY_ID")
18 - access("OOH"."SOLD_TO_ORG_ID"=1531)
filter("OOH"."SOLD_TO_ORG_ID"="HCA"."CUST_ACCOUNT_ID")
19 - filter("OOL"."FLOW_STATUS_CODE"='AWAITING_SHIPPING' AND "OOL"."SALESREP_ID"=100000060)
20 - access("OOH"."HEADER_ID"="OOL"."HEADER_ID")
22 - access("JRS"."SALESREP_ID"=100000060 AND "OOL"."ORG_ID"="JRS"."ORG_ID")
filter("OOL"."SALESREP_ID"="JRS"."SALESREP_ID")
23 - filter("OOH"."HEADER_ID"="WDD"."SOURCE_HEADER_ID" AND "WDD"."RELEASED_STATUS"='R')
24 - access("OOL"."LINE_ID"="WDD"."SOURCE_LINE_ID")
26 - access("OOL"."INVENTORY_ITEM_ID"="MSI"."INVENTORY_ITEM_ID" AND
"OOH"."SHIP_FROM_ORG_ID"="MSI"."ORGANIZATION_ID")
27 - filter("HCSU"."SITE_USE_CODE"='SHIP_TO')
28 - access("OOH"."SHIP_TO_ORG_ID"="HCSU"."SITE_USE_ID")
30 - access("WDD"."DELIVERY_DETAIL_ID"="WDA"."DELIVERY_DETAIL_ID")
32 - access("HCSU"."CUST_ACCT_SITE_ID"="HCAS"."CUST_ACCT_SITE_ID")
33 - filter("HZ_PARTY_SITES"."ACTUAL_CONTENT_SOURCE"<>'DNB' AND
"HZ_PARTY_SITES"."ACTUAL_CONTENT_SOURCE"<>'SST')
34 - access("HCAS"."PARTY_SITE_ID"="HZ_PARTY_SITES"."PARTY_SITE_ID")
35 - filter(NVL("HZ_LOCATIONS"."ACTUAL_CONTENT_SOURCE","HZ_LOCATIONS"."CONTENT_SOURCE_TYPE")<>'DNB'
AND NVL("HZ_LOCATIONS"."ACTUAL_CONTENT_SOURCE","HZ_LOCATIONS"."CONTENT_SOURCE_TYPE")<>'SST')
36 - access("HZ_PARTY_SITES"."LOCATION_ID"="HZ_LOCATIONS"."LOCATION_ID")
38 - access("OOL"."SHIP_FROM_ORG_ID"="HAOU"."ORGANIZATION_ID")
Note: cpu costing is off
Regards
Kiran

Similar Messages

  • Upgrading Oracle Order Management from R12.1.1 to R12.1.3

    Hi Forum,
    Currently we are on Oracle R12.1.1 and we have a requirement to upgrade only the OM section of Oracle EBS (Order Management module) to R12.1.3. In order to do this what are the patches that we need to apply? Any specific Oracle Support note we can refer to?
    Thanks,
    Chamil

    Currently we are on Oracle R12.1.1 and we have a requirement to upgrade only the OM section of Oracle EBS (Order Management module) to R12.1.3. In order to do this what are the patches that we need to apply? Any specific Oracle Support note we can refer to?You cannot upgrade certain module and in order to go from 12.1.1 to 12.13 you need to refer to:
    Oracle E-Business Suite Release 12.1.3 Now Available
    http://blogs.oracle.com/stevenChan/2010/08/ebs_1213_available.html
    If you want to get the latest OM patchset, please refer to:
    Oracle Applications Current Patchset Comparison Utility - patchsets.sh [ID 139684.1]
    MOS > Patches & Updates > Recommended/Latest R12 Patchsets
    Thanks,
    Hussein

  • Oracle Apps EBS-Order Management Ceritification Query

    Hi Gurus,
    I found there are two different sets of exam for R12 - Certified Implementation Specialist and Certified Expert Consultant.
    First time I am taking certification in Oracle EBS, my company is OPN partner. They have asked me to take certification, please advise which one I have to take first, which is useful and get indepth knowledge about Order management.
    Is there any chronological order to take above test? first specialist, next Expert or directly can I take Expert.
    If anyone has any useful material/ Question and Answers, useful information about EBS-Order management, fundamentals of applications, Kindly forward to [email address removed by moderator for security purposes]
    Thanks
    Kumar
    Edited by: Brandye Barrington on Oct 8, 2012 1:58 PM

    First you need to remove your email address. The moderator will remove it if you don't. Any materials that can be emailed to you are either illicit (brain dumps) or illegal (copyrighted). Requesting them on this forum is not allowed.
    ...please advise which one I have to take first, which is useful and get indepth knowledge about Order management.The Expert certification will require more in-depth knowledge than the specialist certification. Specialist certifications are primarily targeted at candidates belonging to OPN partners to demonstrate overview knowledge rather than in-depth.
    Is there any chronological order to take above test? first specialist, next Expert or directly can I take Expert.The two tests have no relationship to each other in that respect.

  • OPM/Oracle Order Management

    What are the pro's and con's of switching from OPM Order Fulfillment to Oracle Order Management?
    We use Order Fulfillment now and are concern we will lose the profile functionality when and if we upgrade.

    OPM Order Fulfillment is a simple to use Order Entry and Shipping application that meets the needs of many process manufacturers.
    Oracle Order Management is more flexible and configurable to suit a number of different industries. Oracle Process Manufacturing is integrated
    to Order Management and has functionality to support entry of order quantities in two units of measure, as well as designation
    of a preferred quality grade and automatic allocation of process inventory.
    In place of the Order Profile (or order template) functionality available in Order Fulfillment, we recommend using the Copy Order
    functionality in Order Management. You can establish a special order type in Order Management (you can call it Template or
    Profile) and assign a workflow to the order type that makes it "non-transactable" (the order stays in an "entered" state so that
    it can't be booked or shipped). You can query on these special order types and copy them to create standard orders. When you
    copy an order in Order Management, you can change the order type, so the Template order can be copied and the new order
    type can be "Standard".

  • Creation of PO's from Oracle Order Management

    Required Business Scenario
    Customer orders are received via the internet and imported into Oracle Order Management via an open interface table. The customer orders are processed by Oracle OM and converted to Purchase Orders which are then sent to suppliers (as no stock is held at our site). Goods are then shipped directly to the customer by the supplier. We take a commission for the service offered.
    Problem
    As we take a commission for the service described above, the value of the Purchase Order will be different to the value of the original order received via Order Management, however Oracle Purchasing does not allow you to place a Purchase Order on a percentage basis terms. (we will take a small commission as a percentage of the value of the original order meaning the value of the Purchase Order will be slightly less than the value of the original order). The following scenario attempts to explain the situation:
    Order received via Oracle Order Management
    5 units @ $20 = $100
    Purchase Order created from above order (required scenario)
    5 units @ $19.70 = $ 98.5
    Our commission @ 1.5% = $ 1.5
    Has anyone encountered this scenario before? If so I would appreciate assistance in how to resolve this issue. How can we create a Purchase Order from the order received via Order Management which will have a different value and allows us to take a percentage as commission?
    Thanks
    null

    I came across your email on Oracle AppsNet. My company has the
    exact same requirement. Did you ever receive any replys related
    to this issue? If so would you be so kind as to forward them to
    me? Thanks.
    Required Business Scenario>Customer orders are received via the internet and imported into Oracle Order Management via an open
    interface table. The customer orders are processed by Oracle OM
    and converted to Purchase Orders which are then sent to
    suppliers (as no stock is held at our site). Goods are then
    shipped directly to the customer by the supplier. We take a
    commission for the service offered. >Problem >As we take a
    commission for the service described above, the value of the
    Purchase Order will be different to the value of the original
    order received via Order Management, however Oracle Purchasing
    does not allow you to place a Purchase Order on a percentage
    basis terms. (we will take a small commission as a percentage of
    the value of the original order meaning the value of the
    Purchase Order will be slightly less than the value of the
    original order). The following scenario attempts to explain the
    situation:>Order received via Oracle Order Management>5 units @
    $20 = $100>Purchase Order created from above order (required
    scenario)>5 units @ $19.70 = $ 98.5>Our commission @ 1.5% = $
    1.5>Has anyone encountered this scenario before? If so I would
    appreciate assistance in how to resolve this issue. How can we
    create a Purchase Order from the order received via Order
    Management which will have a different value and allows us to
    take a percentage as commission?>Thanks >null

  • How to Ship Partial Quantities using an API - Oracle Order Management

    Hi,
    In Order Management I need to ship the Internal Sales Order Lines partially using an API.
    I have done full shipping but if I trying the partially shipping it is also shipping fully.
    I am unable to find the problem. Is there any set up missed?
    How to do partial shipping.
    I am giving the some part of the code please look into it and suggest me.
    ----**************************UPDATEING SHIPIN ATTR ***************************-------------
    I_changed_attributes (X_count).delivery_detail_id := cos.delivery_detail_id;
    I_changed_attributes (X_count).shipped_quantity := cos.shipped_quantity;
    X_ship_date := cos.act_shipped_date;
    X_slaes_order := cos.sales_order;
    X_org_id := cos.org_id;
    wsh_delivery_details_pub.update_shipping_attributes ( p_api_version_number => 1.0
    ,p_init_msg_list => I_init_msg_list
    ,p_commit => I_commit
    ,x_return_status => O_return_status
    ,x_msg_count => O_msg_count
    ,x_msg_data => O_msg_data
    ,p_changed_attributes => I_changed_attributes
    ,p_source_code => I_source_code
    ----***************************SHIP CONFIRM API ***************************-------------
    I_action_code := 'CONFIRM';
    I_sc_action_flag := 'B'; --'S'; -- Ship entered quantity. 'B' - Ship Entered Quantities, Backorder Unspecified
    --'T' - Ship Entered Quantities, Stage Unspecified'A' - Ship All'C' - Completely Backordered
    I_sc_intransit_flag := 'Y';
    --In transit flag is set to 'Y' closes the pickup stop and sets the delivery in transit.
    I_sc_close_trip_flag := 'Y'; -- Close the trip after ship confirm
    I_sc_trip_ship_method := X_ship_method_code; -- The ship method code
    I_sc_defer_interface_flag := 'Y';
    I_sc_stage_del_flag := 'Y';
    I_sc_create_bol_flag := 'N';
    I_wv_override_flag := 'N';
    -- API Call for Ship Confirmation
    fnd_file.put_line(fnd_file.log,'Calling WSH_DELIVERIES_PUB to Perform Ship Confirmation');
    fnd_file.put_line(fnd_file.log,'=============================================');
    wsh_deliveries_pub.delivery_action ( p_api_version_number => 1.0
    , p_init_msg_list => I_init_msg_list
    , x_return_status => O_return_status
    , x_msg_count => O_msg_count
    , x_msg_data => O_msg_data
    , p_action_code => I_action_code
    -- , p_delivery_id => cos.delivery_id
    , p_delivery_name => G_delivery_name
    , p_sc_action_flag => I_sc_action_flag
    , p_sc_intransit_flag => I_sc_intransit_flag
    , p_sc_close_trip_flag => I_sc_close_trip_flag
    , p_sc_create_bol_flag => I_sc_create_bol_flag
    , p_sc_stage_del_flag => I_sc_stage_del_flag
    , p_sc_trip_ship_method => I_sc_trip_ship_method
    , p_sc_actual_dep_date => X_ship_date --P_act_shipped_dt
    , p_sc_defer_interface_flag => I_sc_defer_interface_flag
    , p_wv_override_flag => I_wv_override_flag
    , x_trip_id => O_trip_id
    , x_trip_name => O_trip_name
    ----***********************************************************************--------------------

    Hi Shesh,
    Thanks you for your replay.
    I am tried Shipping transaction screen but here the ware house is WMS enabled I tried Oracle Mobile Terminal application to do this, but it is not accepting the partial shipping. May be some set up required or the process will be differ.
    I will try your suggested API's .
    Regards,
    Prasanna
    Edited by: 843676 on Apr 23, 2012 10:31 PM
    I am not able to do the Partial Shipment or Backorder as mentioned above API's, but it is split the lines and all the lines are in same state (Awaiting Shipping)
    Edited by: 843676 on Apr 24, 2012 2:45 AM

  • Is Paypal a supported Payment Method in Oracle Order Management?

    Hi there -
    Has anybody implemented Paypal as payment method for Oracle Order Management?
    We are on 11510 and looking to add Paypal as payment method apart from existing Credit Card, ACH etc.
    I found a very old (2008) note on metalink that says there is an enhancement request for this.
    https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=HOWTO&id=351691.1
    We use Paymentech as payment processor.
    Let me know...
    1. If it's supported with Oracle 11510
    2. Anyone has any experience implementing it.
    thanks,
    Edited by: techy on Oct 25, 2010 12:56 PM

    Hi Stephen-
    First of all thanks for your response.
    Please note that I am not talking about using Paypal as payment processor (similar to Paymentech) but I am talking about using "Paypal" payment method for getting payments from your customers.
    As per my brief understanding, I know that Paypal too provides payment processing functionality where I can get my customer Credit Card, bank accounts etc. validated through paypal tool (I think it's call payflow pro similar to paymentech).
    Again, we are on 11510 right now so R12 functionality may not be useful for us.
    Also, we have already integrated and been using paymentech for payment processing for Credit Cards, ACH etc within 11510. There is no issue about that.
    I hope this is clear.
    Edited by: techy on Oct 25, 2010 2:42 PM

  • Oracle Order Management Sales Order

    Drear all
    i am implement oracle order management ,and this the first once i implement order management and i have many questions i hope i get answer .
    1-first i create sales order and thin i book it.
    2-i go to action and i chose progress order to create supply order -eligible and go to view out put Assemble To Order Mass Load Report and it create a job order and i take it job number
    3-i go to wip discrete job and find my job and release it
    4-i go to wip move transaction
    5-then i go to wip completion transaction
    6-now item delivery in my subinventory
    7-then i go to shipping --to release sales order for picking and go on concurrent tab and go to view my request and get move order number and delivery number
    8-then i go to shipping transaction to confirm ship but i can complete because the action field isn't active
    well that is all i do and i have some question
    1-are any steps i forget it or i do the right steps ?
    2-how i am shipping and confirm ship?and how i close the sales order?
    3-when i create transaction type ONT I Assign IT IN Default LINE TYPE(WORKFLOW), IF i need to add a new line type ,from where screen and what the steps to do that?
    i hope i get help thanks and best regard
    Essam Essmat
    [email protected]

    Essam - That's probably a bit too much to cover in a forum. If you have a Metalink account, then go to the top tech docs and download the AR and OM user guides - if not, the 11.5.9 guides are here: http://download-east.oracle.com/docs/cd/B12190_11/current/html/docset.html
    On Metalink, there is also a subsection under the top tech docs called business flows, there you can find information on the flow from order to cash etc.

  • Batch load script for Order Management with Oracle R12 EBS

    Hello,
    I am looking for a way to load a million dummy test records into Order Management. For example, I would like to automate a batch process to generate a million new sales orders for Oracle 12.1.1 EBS on Linux platform. If anyone has an idea on how to script this, would appreciate your help.

    Two questions:
    1. How would I modify the following script to generate a million new orders for OM:
    2. How can I register and create a concurrent program with the script?
    SET SERVEROUTPUT ON;
    DECLARE
    v_api_version_number NUMBER := 1;
    v_return_status VARCHAR2(2000);
    v_msg_count NUMBER;
    v_msg_data VARCHAR2(2000);
    -- IN Variables --
    v_header_rec oe_order_pub.header_rec_type;
    v_line_tbl oe_order_pub.line_tbl_type;
    v_action_request_tbl oe_order_pub.request_tbl_type;
    v_line_adj_tbl oe_order_pub.line_adj_tbl_type;
    -- OUT Variables --
    v_header_rec_out oe_order_pub.header_rec_type;
    v_header_val_rec_out oe_order_pub.header_val_rec_type;
    v_header_adj_tbl_out oe_order_pub.header_adj_tbl_type;
    v_header_adj_val_tbl_out oe_order_pub.header_adj_val_tbl_type;
    v_header_price_att_tbl_out oe_order_pub.header_price_att_tbl_type;
    v_header_adj_att_tbl_out oe_order_pub.header_adj_att_tbl_type;
    v_header_adj_assoc_tbl_out oe_order_pub.header_adj_assoc_tbl_type;
    v_header_scredit_tbl_out oe_order_pub.header_scredit_tbl_type;
    v_header_scredit_val_tbl_out oe_order_pub.header_scredit_val_tbl_type;
    v_line_tbl_out oe_order_pub.line_tbl_type;
    v_line_val_tbl_out oe_order_pub.line_val_tbl_type;
    v_line_adj_tbl_out oe_order_pub.line_adj_tbl_type;
    v_line_adj_val_tbl_out oe_order_pub.line_adj_val_tbl_type;
    v_line_price_att_tbl_out oe_order_pub.line_price_att_tbl_type;
    v_line_adj_att_tbl_out oe_order_pub.line_adj_att_tbl_type;
    v_line_adj_assoc_tbl_out oe_order_pub.line_adj_assoc_tbl_type;
    v_line_scredit_tbl_out oe_order_pub.line_scredit_tbl_type;
    v_line_scredit_val_tbl_out oe_order_pub.line_scredit_val_tbl_type;
    v_lot_serial_tbl_out oe_order_pub.lot_serial_tbl_type;
    v_lot_serial_val_tbl_out oe_order_pub.lot_serial_val_tbl_type;
    v_action_request_tbl_out oe_order_pub.request_tbl_type;
    BEGIN
    DBMS_OUTPUT.PUT_LINE('Starting of script');
    -- Setting the Enviroment --
    mo_global.init('ONT');
    fnd_global.apps_initialize ( user_id => 123
    ,resp_id => 456
    ,resp_appl_id => 789);
    mo_global.set_policy_context('S',785);
    -- Header Record --
    v_header_rec := oe_order_pub.g_miss_header_rec;
    v_header_rec.operation := oe_globals.g_opr_create;
    v_header_rec.order_type_id := 1005;
    v_header_rec.sold_to_org_id := 7157;
    v_header_rec.ship_to_org_id := 5480;
    v_header_rec.invoice_to_org_id := 5181;
    v_header_rec.order_source_id := 0;
    v_header_rec.booked_flag := 'N';
    v_header_rec.price_list_id := 7018;
    v_header_rec.pricing_date := SYSDATE;
    v_header_rec.flow_status_code := 'ENTERED';
    v_header_rec.cust_po_number := '99478222532';
    v_header_rec.sold_from_org_id := 83;
    v_header_rec.salesrep_id := -3;
    v_header_rec.transactional_curr_code:= 'GBP';
    v_action_request_tbl (1) := oe_order_pub.g_miss_request_rec;
    -- Line Record --
    v_line_tbl (1) := oe_order_pub.g_miss_line_rec;
    v_line_tbl (1).operation := oe_globals.g_opr_create;
    v_line_tbl (1).inventory_item_id := 27893;
    v_line_tbl (1).ordered_quantity := 1;
    v_line_tbl (1).unit_selling_price := 2000;
    v_line_tbl (1).calculate_price_flag := 'Y';
    DBMS_OUTPUT.PUT_LINE('Starting of API');
    -- Calling the API to create an Order --
    OE_ORDER_PUB.PROCESS_ORDER (
    p_api_version_number => v_api_version_number
    , p_header_rec => v_header_rec
    , p_line_tbl => v_line_tbl
    , p_action_request_tbl => v_action_request_tbl
    , p_line_adj_tbl => v_line_adj_tbl
    -- OUT variables
    , x_header_rec => v_header_rec_out
    , x_header_val_rec => v_header_val_rec_out
    , x_header_adj_tbl => v_header_adj_tbl_out
    , x_header_adj_val_tbl => v_header_adj_val_tbl_out
    , x_header_price_att_tbl => v_header_price_att_tbl_out
    , x_header_adj_att_tbl => v_header_adj_att_tbl_out
    , x_header_adj_assoc_tbl => v_header_adj_assoc_tbl_out
    , x_header_scredit_tbl => v_header_scredit_tbl_out
    , x_header_scredit_val_tbl => v_header_scredit_val_tbl_out
    , x_line_tbl => v_line_tbl_out
    , x_line_val_tbl => v_line_val_tbl_out
    , x_line_adj_tbl => v_line_adj_tbl_out
    , x_line_adj_val_tbl => v_line_adj_val_tbl_out
    , x_line_price_att_tbl => v_line_price_att_tbl_out
    , x_line_adj_att_tbl => v_line_adj_att_tbl_out
    , x_line_adj_assoc_tbl => v_line_adj_assoc_tbl_out
    , x_line_scredit_tbl => v_line_scredit_tbl_out
    , x_line_scredit_val_tbl => v_line_scredit_val_tbl_out
    , x_lot_serial_tbl => v_lot_serial_tbl_out
    , x_lot_serial_val_tbl => v_lot_serial_val_tbl_out
    , x_action_request_tbl => v_action_request_tbl_out
    , x_return_status => v_return_status
    , x_msg_count => v_msg_count
    , x_msg_data => v_msg_data
    DBMS_OUTPUT.PUT_LINE('Completion of API');
    IF v_return_status = fnd_api.g_ret_sts_success THEN
    COMMIT;
    DBMS_OUTPUT.put_line ('Order Import Success : '||v_header_rec_out.header_id);
    ELSE
    DBMS_OUTPUT.put_line ('Order Import failed:'||v_msg_data);
    ROLLBACK;
    FOR i IN 1 .. v_msg_count
    LOOP
    v_msg_data := oe_msg_pub.get( p_msg_index => i, p_encoded => 'F');
    dbms_output.put_line( i|| ') '|| v_msg_data);
    END LOOP;
    END IF;
    END;
    /

  • Oracle Order Management/Shipping - Kewill (Export Complaince) Integration

    Hi All,
    Any one has done integration between Oracle Order Management/Shipping - Kewill (Export Complaince).
    We would like to check customer inforamtion and shipping inforamtion using Kewill (Export Complaince).
    This is export Complaince requirement and want to validation inforamtion at order booking time and before shipment.
    We don't want to use any third party application.
    Thanks
    Ravi

    Thanks Chris,
    I have done Oracle E-Business Suite Order Management/Shipping - Kewill Export Complaince integration using Oracle's Web services.
    Now i can do customer check realtime and put order on hold.
    Thanks for your response.
    --Ravi Triipathi
    [email protected]
    [email protected]

  • Oracle Retail and Siebel Customer Order Management

    Looking into a solution to handle Franchisee ordering.
    Customer currently has Oracle retail to handle supplier purchase orders and PeopleSoft to handle the accounts payable. They currently have a custom built tool to handle franchisees.
    Would Siebel Customer Order Management interface well with Oracle Retail, in terms of merchandising and supplier purchase order consolidation? Does anyone have any suggestions?
    Thanks.

    Not being able to answer all of your questions, however if I do understand ok your question re. 'standalone', there should be no need for setting up EBS if you already have Oracle Retail RMS/RPM - there is a direct, standard, feed from RPM to ORPOS. You may like to check the Oracle Retail merchandising integration guide, it does have a chapter on RMS/RPM - ORPOS/BO/CO integration.
    Best regards,
    Erik

  • Can oracle inventory forecasting be used without order management??

    Can someone please tell me how oracle forecasts are used.
    Like i have configured and tested it but i want to know how it calculates forecasting and whether it can be used without order management module or not
    when i define item comsumption entries and gvie a quantity in current, the ending date and then see bucketed, it shows same forecasted quantity for all periods that i entered in item comsumption entries
    I dont understand this
    And why is forecasting necessary for reorder point planning
    Some please explain
    Thanks
    Emm

    Query: "can oracle inventory forecasting be used without order management?"
    Yes, in that case it can accept manually entered forecasts or forecast generated from Inventory demand history (say Miscellaneous issue, Inter-org Transfer, Issue to WIP) excluding Sales Order issues (as OM is not included).
    For remaining questions you can refer to my earlier post under the following thread. Please refer to the bottom section (thread was started with a different subject)
    serial attribute and org attribute problems with item master
    If your questions are answered you can mark the thread as appropriate.
    Thanks
    - Supro

  • Interface shipments from Order Management as events to Oracle Projects

    Hi to All,
    This is V.Kishore Kumar.
    Hi to All,
    Is there any way to "interface shipments from Order Management as events to Projects".
    Waiting ur solution.
    Thanks & Regards,
    V.Kishore Kumar

    Hi,
    EBS document suite has this document. If you do not have, you can download it from OTN. Document name is "Oracle® Projects APIs, Client Extensions, and Open Interfaces", Part No. B25624-02.
    Regards
    RK

  • Oracle Order Management

    Dear all
    please any one tell me information about "Oracle Order Management "
    Regards

    Hi
    if i am using wrong forum place please tell where i put my question.
    thanks

  • Defaulting setup in Oracle Order Management

    Hello Guys,
    I am trying to add SHIP_FROM_ORG in the defaulting setup's for line level of OM. Could you guys give me a clue and that will be great.
    Problem---> Opening SO form in OM, it is throwing an note "Cannot get Valid Name for - Ship_from_org"
    That's why i am trying to set that field in defaulting setup's.
    Thanks
    Vinoth

    API for Quote in Order Management is OE_ORDER_PUB.PROCESS_ORDER, Note this is different from CRM ASO_QUOTE_PUB
    This is the same as for regular Order excepting populate TRANSACTION_PHASE_CODE = 'N'
    To create an Order from the Sales Quote you may have to fire 2 workflows OE_NEGOTIATE_WF.Submit_Draft and OE_NEGOTIATE_WF.Customer_Accepted prior to OE_Order_Book_Util.Complete_Book_Eligible
    Hope this helps someone

Maybe you are looking for