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.
ThanksForgot 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 PMHi,
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 APlease 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
 Ship-to-order
 Make-to-order
 Engineer-to-order
 Empties
 Batch processing
 Serial number processing
 Payment card processing
 Third-party delivery processing
 Complaint handling
 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:
 Ship-to-party
 Bill-to-party
 Payer
 Contact person
 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
BrazilHello 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.1Hi 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.tHi 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;
KiranHi
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
SophieIt 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 -
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?
ThanksHi 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
-
My MacBook Pro 13'' shuts down randomly while connected to the power cord.
Alright, so my Mac is shutting down while being connected to the power cord. Though, when I unplugged it, it runs just fine. I've read up on the other random shut downs but they seem to be different in my case. I was only surfing youtuve on Firefo
-
Flex 3.5 and Flash Player 10 -- text disappears?
Hello, I have an interesting problem. I have been developing a client app for the last year or so with Flex 3.5, compiled against a minimum version of Flash Player 9 in Flex Builder. It's a Facebook app. Then I needed to move it to the web, use the F
-
Why does my signature end up all the way at the bottom of all the replies??
Hi, When I am emailing back and forth, can I make my signature be at the bottom of my replies ? I don't want it at the very bottom of the whole dialogue. Thanks
-
Java system copy with EP6.0 SP9 ora/unix to mss/win
Hi, any document how to do java system copy ep6.0 SP (oracle/unix) to mss/window. Thanks for your help. Thanks & regards pushpa
-
Dropdown list behaviour - (Adobe Pocket PC)
Hi there, I am using Designer 8.2 to generate an Interactive Form using ABAP. A dropdown list is filled with almost 1000 entries. This forms works OK by opening it with Adobe Reader 9. The problem comes when I tried to use it in a mobile device, Moto