Archiving Order Management Data

Hello All,
During implementation phase 6 months ago, we had to convert past 2 years of sales order history which resulted in ~12million order lines to be imported in Oracle R12.1.3. Now, everyday we receive 25-30k order lines and hence the data size has increased enormously. This has resulted in huge performance issues with the custom extensions and interfaces and standard functionalities.
We can't purge old order lines due to audit and HIPPA regulations and need to archive them somehow. To add to it, we have a custom index on actual_shipment_date column of the lines table, which has timestamp as well due to unavoidable business reasons. We also have rightly sized our hardware and tuned the database to meet this large data size demand.
Therefore, any pointers on the following will be helpful:
1) How can we archive (not purge) the humongous data volume in the order lines and similar tables such as wsh_delivery_details etc. and yet be able to pull it on demand.
2) Will these archived data be somehow retrievable on the OM forms later..
Looking forward to the best practices related to data archiving in OM..
Thanks,
Rahul.

There is no easy answer and this is not an easy project.
You need to identify what exactly the users refer to. You mentioned Old prices. What else?
It seems that you are using the old data quite frequently. In that case, moving it off to a different table will work only if you are willing to develop a screen for them to access it.
Also try to quantify the amount of usage. When the user says "I use it a lot", he/she may mean once a day or four times a year. Get some specifics to put your arms around the true requirements. Explain to them that they may have to spend an extra minute to access the old data but by making the other screens faster, they will end up saving time.
If you must leave the data in the same table, Here is one approach
1) You create a partition based on year and quarter of the orderline creation_date. (2011-03,2011-04 etc.)
2) You have the responsibility (say OM User) that users use at the moment. You create another responsibility called OM Archive User
3) You write personalizations or custom.pll code to add a default condition to the where clause in the OM User screen. The where clause focuses only on the current and last quarter partition.
4) If the user needs to query old data, he/she uses the OM Archive user responsibility.
5) If you don't want the user to switch responsibility, you can create new functions and add them to the same responsibility. Your code will then use function names instead of responsibility name to add the where clause.
Sandeep Gandhi

Similar Messages

  • Order Management Data Level Security

    Hi All,
    I have worked on OBIEE standalone and implemented data level security from custom data warehouse but never worked on BI Apps.Currently I am working Order Management and trying to implement data level security but I have no clue which OOTB init block to use for it.When i check the Order Management Group's--> permission there is no filter condition on them which i am thinking there no data level security on OM may i thinking wrong.Here is req users must able to see data by Division and Region they belong to and I am trying use OOTB security option for it OR do i need to build custom init block and related keys in all the sales order fact tables to implement it.
    Any documentation or links or information will be appreciated.
    This might be silly question but I would find a way better way.Please let me know if you need any information.
    Thanks

    Forgot to mention :Soruce is Oracle EBS

  • What is data archiving and DMS(Data Management System) in SAP

    what is data archiving and DMS(Data Management System) in SAP
    Welcome to SCN. Before posting questions please search for available information here and in the web. Please also read the Rules of Engagement before further posting.
    Edited by: kishan P on Aug 31, 2010 1:06 PM

    Hi,
    Filtering at the IDoc Level
    Identify the filter object (BD59)
    Modify the distribution model
    Segment Filtering
    specify the segments to be filtered (BD56)
    The Reduced IDoc Type
    Analyze the data.
    Reduce the IDoc type (BD53)
    Thanks and regards.

  • Error in Order management Sales order

    Dear all,
    When am entering the Sales Order in order management am getting a error ORA-04062: of has been changed ORA-01403 : no data found
    Please tell the solution for this
    Antony Samuel A

    Please review these docs and see if it helps.
    [ID 1105868.1]
    ARCHIVED: Cannot Change Selling Price On Sales Order Lines [ID 414472.1]
    Transaction Workbench Error: FRM-40735 ON-UPDATE Trigger Raised Unhandled Exception [ID 781264.1]
    Thanks,
    Hussein

  • How can i have my tasks in order by date like outlook on my iphone 4

    how can i have my tasks in order by date like outlook on my iphone 4

    Use a task management app that sorts by date? There are lots of options in the App Store.

  • What is order management?

    what is  order management?  
    is  it a general term used for OTC cycle in SD  or  something else??
    <REMOVED>

    Hi
    Below are details of Sales Order Management
    Internet Sales
    SAP Internet Sales (R/3 Edition) provides an e-commerce platform that enables SAP users to rapidly turn the Internet into a profitable sales and interaction channel. Internet Sales (R/3 Edition) offers everything customers need to sell products over the Internet: catalog browsing, product search, shopping basket, check-out, saving and retrieving shopping baskets, order status, and order history.
    Field Sales
    Mobile Sales for Handheld comprises a broad range of business applications to be processed offline on a mobile device, e.g., review customer information, take sales order via barcode scanning, create and/or modify sales orders, search for sales orders, and view a list of all materials.
    Quotation and Order Management
    Allows you to create and process orders, including pricing and scheduling order for fulfillment. SAP ERP supports many process variants, for example:
    •     Cash sales
    &#61607;     Ship-to-order
    &#61607;     Make-to-order
    &#61607;     Engineer-to-order
    &#61607;     Empties
    &#61607;     Batch processing
    &#61607;     Serial number processing
    &#61607;     Payment card processing
    &#61607;     Third-party delivery processing
    &#61607;     Complaint handling
    &#61607;     Returns
    Inquiries
    Allows you to create and process customer requests.
    Quotations
    Allows you to create and process quotations.
    Follow-Up Order
    Creates an order as follow-up document to the quotation. Copies the data from the quotation into the order and creates two transaction documents, quotation and order.
    Automatic Partner Determination
    Allows you to automatically determine the partners involved in the sales transaction, for example:
    &#61607;     Ship-to-party
    &#61607;     Bill-to-party
    &#61607;     Payer
    &#61607;     Contact person
    &#61607;     Employee responsible
    Automatic Text Handling
    Allows you to determine and maintain texts on header and item level.
    Pricing & Tax
    Allows you to automatically determine the different kinds of conditions, such as product-, customer- and contract- specific prices, free goods, surcharges, discharges, freights, taxes, etc.
    Flexible Price Calculation:
    Highly flexible engine to determine prices based on whatever criteria one might think of. (This needs to be part of the database.)
    Price List:
    Customer-specific price lists can be generated.
    Tax calculation within SAP ERP allows you to calculate transaction taxes, such as VAT in Europe. For complex requirements regarding tax determination in the United States, third-party software can be integrated.
    Payment Card Processing
    Works with payment cards, such as credit cards. Copies payment card information from customer master data in orders and other sales documents.
    Credit Management and Credit Check
    Limits financial risks by carrying out credit checks that can influence transaction processing and setting up a workflow connection to notify responsible.
    Credit check evaluates a transaction based on the credit standing of the payer in financial accounting.
    Product Listing & Exclusion
    Displays a list of products a specific customer is allowed or not allowed to buy.
    Product Substitution
    Enables the automatic substitution of products in sales documents during sales order processing according to flexible, predefined rules.
    Free Goods
    Offers free items on the sale of certain other items or takes money off a particular sale to a customer.
    Minimum Order Quantity Check
    Checks the product level automatically to determine whether a minimum order quantity has been reached.
    Document Flow
    Provides interlinkages of preceding and subsequent documents for a selected transaction (for example, production orders, deliveries, invoices, and complaints).
    Regards
    Ramesh

  • Stop duplicate entry of item in Order management sales order

    Dear,
    i have a requirment to stop duplicate entry (while making sales order) in Order management Sales order. When user enter any new line on the sales order then it is validate that same item has already been selected before in the same order.
    If user hase already select that entry then form shows error and restrict the duplicate entry.
    i have to achive this funcionality on the standard Sales Order form of Order Management Super User.
    Regards,

    Please review these docs and see if it helps.
    [ID 1105868.1]
    ARCHIVED: Cannot Change Selling Price On Sales Order Lines [ID 414472.1]
    Transaction Workbench Error: FRM-40735 ON-UPDATE Trigger Raised Unhandled Exception [ID 781264.1]
    Thanks,
    Hussein

  • Which table are Demand Management data (MD61) are stored?

    Hello guys.
    I need to know in which table demand management data from (MD61, 62 and 63) are stored?
    Also I need to know if there is some tips/rules to prepare a load from a file to come from Excel spreadsheet?
    Is there any BADI or BAPI to load these information directly into the table?
    Just for information: My current client doesn't use SAP yet. It's being planned to make the implementation in the middle of the next year...besides they use SAP in other plants around the world...
    The main idea is to use MRP from SAP to get the suggestion for purchase requisitions and also planned orders and proceed the production and purchase activities in the legacy....
    Please give me some instructions.
    Thanks in advance.
    Harlen Pinheiro
    SAP PP
    Brazil

    Hello Harlen
    This information is stored on tables PBED and PBIM.
    You can use BAPI BAPI_REQUIREMENTS_CREATE to load data to demand management.
    Please also take a look on the following document before opening this kind of thread:
    Landing page for new users in SAP PP - ERP Manufacturing - Production Planning
    BR
    Caetano

  • ESYU: R12 - Order Management를 위한 Multi Org Access Control(MOAC) setup 방법

    Purpose
    Oracle Order Management - Version: 12.0 to 12.0
    Information in this document applies to any platform.
    R12의 Order Management에 대핸 Multi Org Access Control(MOAC) setup 방법에 대해 알아본다.
    Solution
    일반적인 MOAC Setup:
    1. HRMS에서 Security Profile을 정의:
    a. HRMS Management responsibility 선택
    b. HRMS Manager> Security> Profile로 이동
    c. Security Profile이 정의되어 있는지 확인 (OM responsibility 혹은 Site level로)
    d. 만일 아직 setup 되어져 있지 않다면 Operating Units를 입력
    e. 저장
    Note: 만일 위 d step과 같이 새로운 security profile을 생성하였다면 concurrent program 'Security List Maintenance'를 꼭 실행해야 한다.
    그렇지 않으면 multiple operating units가 OM forms의 LOV에 나타나지 않을 것이다.
    이 program은 multi-org access를 validating 하기 위해 사용하는 table에 data를 생성한다.
    Navigation: HRMS Management> HRMS Manager> Processes & Reports> Submit Process & Report> Security List Maintenance
    2. MO Profile Options setup:
    a. MO: Security Profile - 이 profile setting은 MOAC functionality를 활성화 한다.
    b. MO: Default Operating Unit - 이 Operating Unit는 OM forms과 report에서 default가 될 것이며, 이를 clear 하거나 변경하기 위해 LOV를 사용할 수 있다.
    Keep the MO profiles in sync:
    MO: Security Profile은 site와 responsibility level로 setting 할 수 있다.
    MO: Default Operating Unit은 site, responsibility, user level로 setting 할 수 있다.
    Application이 원하는대로 동작되지 않는것을 발견하면 이 profile options의 setting 값을 확인한다.
    3. OM setup:
    R12 upgrade 시 OM Profile에서 migrate 된 새로운 OM System Parameters를 확인:
    Order Management Super User> Setup> System Parameters> Values
    (See <<NOTE 393646.1>>-R12 Readiness Cheat Sheet: Migrated OM Profile Options)
    4. Form에서 hidden field 'Operatin Unit'를 활성화시키고 default folder로 저장:
    Sales Order and Order Organizer forms
    Quick Sales order and Organizer forms
    Sales Agreement forms
    Pricing and Availability form
    Other forms
    Note: Sales Order form에서 hidden field 'Operating Unit'를 'Show' 하기 전에 fotm안에 이 field를 위한 공간을 만들어 놓아야 한다.
    예를 들면 Customer Number field를 짧게 하거나 Operating Unit field로 이 field를 덮어씌울수 있다.
    Reference
    Note 393634.1

    Hi Larry,
    Have you considered adding the exec apps.mo_global.set_policy_context call to your connection's start-up script?
    Tools -> Preferences -> Database -> Filename for connection startup scriptNot the most flexible approach, so I'm not sure if it is appropriate for your application, but just a thought. You might create distinct connection names with different start-up scripts for each org_id.
    Regards,
    Gary
    SQL Developer Team

  • Order management flow path with tcode in pp module

    hi sap guru's,
    i need the order management flow path with tcode in pp module.
    regards,
    muralidhar.t

    Hi Murlidhar,
    Step 1: Material Master
    Logistics > Production > Master Data > Material Master > Material > Create General > Immediately MM01
    Step 2: BOM creation
    Logistics > Production > Master Data > Bills of Material > Bills of Material > Material BOM > Create CS01
    Step 3: Work Center creation
    Logistics > Production > Master Data > Work Center > ( New Screen ) Work Center > Create CR01
    Step 4: Route creation
    Logistics > Production > Master Data > Routings > Routings > Routing > Create CA01
    Step 5: PIR Generation
    Logistics> Production>production planning>demand management>PIR>Create MD61
    Step 6: MRP Run
    Logistics>Materials Management>Material planning>MRP>MRP>Total Planning>Online MD01 
    or
    Logistics > Production > MRP > MRP > Sng-Item, Multi-Level MD02
    Step 7: Evaluation through MRP list and Stock requirement list
    Logistics>Materials Management>Materials Planning>MRP>Evaluations>MRP List>Individual Display MD05
    Logistics>Materials Management>Materials Planning>MRP>Evaluations>Stock Requirements List MD04
    Step 8: Conversion of Planned order to Production order
    Logistics > Production > Production control > Order > Create > With a planned order CO40
    or
    Logistics >Production > Production control >Order > Create >With material CO01(For creating production order Without planned order)
    Step 9: Order management
    Logistics >Production > Production control >Order > Change >With material CO02
    Step10: Confirmations
    Logistics >Production >Production control >Confirmation >Enter >For order CO15
    or
    Logistics >Production >Production control >Confirmation >Enter >For Operation >For time ticket CO11N
    Step11: Goods issue
    1. Logistics >Production >Production Control >Environment >Goods Movement >Goods Issue
    2. Logistics >Materials Management >Inventory Management >Goods Movement >Goods Issue MB1A--261Movement type
    Step12: Goods receipt
    Logistics > Production > Production Order > Environment > Material Movement > Post Mat to Stock
    or
    Logistics > Materials Management > Inventory Management > Goods Movement > Good Receipt > For Order MB31
    Step13: Techo Or Close Order.
    This can be done from Prduction. Order Header menu.   
    Regards,
    R.Brahmankar

  • 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

  • Sales Order Management - Stock reservation

    Need some help on the solution for a sales order management situvation for a hardline retailer
    A hardline retailer takes direct orders for customer at the store and the stock is delivered to the customer from the warehouse.
    They have one central warehouse all stores check for inventory at the warehouse before creating the sales order.
    Once the stock availbility is checked , the sales associate at the store accepts the order and takes acceptance on the delivery dates and process the payment (100% advance) in the POS and then creates a sales order in IS retail
    Problem: The process post the inventory check step takes 20 min and often there are situvations where the stock is reserved for some other store . The stores often have unfulfilled orders despite checking inventory before sales order system.
    Question : How can this be handled , is there any way store can block the stock required during which the sales process is completed.

    Hi Madhav,
    spontaneously, I have the following idea:
    You could create a different storage location in the DC/Warehouse (Storage location "Sales Orders).
    When you make the availability check, you check general stock. If there is stock and the stores wants to use this, you could create a transfer posting from general stock to sales orders stock.
    So, the stock is no longer available for other stores which look at the general stock.
    After that, you can proceed sales order processing. The delivery process should use the sales order storage location, which can be customized.
    Regards,
    Tobias

  • Get synced photos in order of date

    I've just synced my iPhone with my Aperture library for the first time. I used to sync it with iPhoto. I never had a problem getting my albums (projects) in order of date since I managed them manually.
    Now....
    I have my folders organized in years (2000, 2001 and so on)
    The albums (projects) in the folders are in alphabetical order (instead of date order which I would prefer)
    When I'm in iTunes and are deciding what albums (projects) to sync they of course show in the same order as they are in Aperture. Which means they come into iPhone in the same alphabetical order. So if I have 3 albums (projects) in my folder called 2000, the albums (projects) called Australia, Brazil and Columbia, that is the order they come in. Even thou I would like them to come in Brazil (taken in Jan), Columbia (June) and Australia (Nov).
    What I would like is to have all my albums (projects) on my iPhone in order of date.
    Is there anyway I can make that happen?
    I know it sounds complicated but it's really not.. just hard to explain.
    Thanks so much
    Sophie

    It seems you can only sort by Kind or Name unless you do it manually. To do it manually, just drag them around to where you want them. You'll need to mind the indicators that appear as you drag to ensure you are not placing things inside of folders but rather between them when dragging.

  • Taking more time to pull records from Order Management to Receivables

    Hello Everybody.
    We have a legacy system, which pulls the data into OM creating Orders and taking very long time to push them into Receivables.
    Please provide the activities to be performed so as to improve the process.
    Thanks in Advance.

    Hi,
    There are many reported issues about the performance of this concurrent program (verify by the Order Management patchset, application release, applied patches, ..etc) -- Please see these documents for details.
    Note: 469682.1 - Interface Trip Stop Performance Poor For a Large Batch of Transactions where the Assigned Serial Numbers are Out Of Range
    Note: 395442.1 - Interface Trip Stop Performance Is Poor due to a Missing Non-Unique Index on mtl_material_transactions.picking_line_id
    Note: 751991.1 - Slow Performance In Interface Trip Stop on Large Batch
    Note: 262732.1 - WSHINTERFACES Interface Trip Stop Has Performance Problem
    Note: 406662.1 - Interface Trip Stop - Slow Performance
    Note: 248155.1 - Performance Issue in Interface Trip Stop
    Note: 309214.1 - Performance problem with Interface Trip Stop (ITS) for Internal Sales Orders issue transaction
    Note: 411879.1 - Improving Performance in Order Management
    Regards,
    Hussein

  • Order Management

    Hi Guys,
    I am really new to BC and currently trying to better understand the offering to see if it meets my needs. Can you please provide me with some insight based on your experence using BC.
    I plan to build a order management system where clients can securely log in and place respective orders (Populating  verious fields) - But heres the catch, I need these orders approved by a few people before the item is submitted to a 2nd application. The flow will be as follows [client 1][User1]Capture + [client 1][User2]Authorise + [client 2][User1]Authorise and [client 2][User2]Authorise   ====> then this should push the order down into a different system using MQ.
    The Authorisation flow needs to be flexible - is this possible using BC? Hope I was clear.... the 2nd question is what API's does BC Support?
    Thanks

    Hi KreasenGP,
    BC has a "workflow" system that allows you to move a "case" along a series of roles by "approving" each step to the next. Cases come through by submitting web forms - so this would be where your first step of the workflow would be initiated. Workflows process through email notifications to admin users.
    I think I understand your workflow process, but am not entirely sure what it means when you go from client 1 to client 2...are you saying that an end-customer is a part of the workflow process? This part is a little more tricky to do with BC since your website users cannot approve a workflow step.
    You can build as many steps into the workflow process. I recommend that you create a free trial of BC and experiment with Web Forms, Cases, and Workflows to see if you can work out the specific steps you are trying to achieve. Building prototypes with BC is one of the very enjoyable parts of the process since its so easy to build with. Doing a little work up front can save lots of time and tell you if BC is the right fit for your situation.
    On the API side, you can work with BC's data - customers, cases, orders, and the filesystem are the main APIs.
    Brent Weaver | http://www.bcgurus.com/Business-Catalyst-Templates for only $7

Maybe you are looking for