BF [2928680] - Implementation the Safety Stock in MRP - ID: 2928680

http://sourceforge.net/tracker/?func=detail&atid=934929&aid=2928680&group_id=176962
Need to test on Oracle!
This commit is contained in:
trifonnt 2010-01-11 10:53:16 +00:00
parent b392e643ab
commit 2ddaac9cbe
2 changed files with 101 additions and 3 deletions

View File

@ -1,3 +1,103 @@
SET SQLBLANKLINES ON
;
CREATE OR REPLACE VIEW rv_pp_mrp AS
SELECT
mrp.pp_mrp_id,
mrp.ad_client_id,
mrp.ad_org_id,
mrp.created,
mrp.createdby,
mrp.isactive,
mrp.isavailable,
mrp.updated,
mrp.updatedby,
pp.ismps,
mrp.name,
mrp.description,
mrp.c_order_id,
mrp.c_orderline_id,
mrp.dateordered,
mrp.dateconfirm,
mrp.datepromised,
mrp.datestartschedule,
mrp.datefinishschedule,
mrp.datestart,
mrp.datesimulation,
mrp.docstatus,
mrp.m_forecast_id,
mrp.m_forecastline_id,
mrp.value,
mrp.m_product_id,
mrp.m_requisition_id,
mrp.m_requisitionline_id,
mrp.m_warehouse_id,
mrp.pp_order_id,
mrp.pp_order_bomline_id,
mrp.dd_order_id,
mrp.dd_orderline_id,
mrp.qty,
mrp.s_resource_id,
mrp.planner_id,
mrp.priority,
mrp.ordertype,
mrp.typemrp,
p.LowLevel,
mrp.C_BPartner_ID,
documentNo(mrp.pp_mrp_id) AS documentNo
FROM pp_mrp mrp
INNER JOIN M_Product p ON (mrp.M_Product_ID = p.M_Product_ID)
LEFT JOIN pp_product_planning pp ON (pp.m_product_id = mrp.m_product_id AND mrp.m_warehouse_id = pp.m_warehouse_id)
WHERE mrp.Qty<>0
UNION
SELECT
0 ,
pp.ad_client_id,
pp.ad_org_id,
pp.created,
pp.createdby,
pp.isactive,
'Y',--mrp.isavailable
pp.updated,
pp.updatedby,
pp.ismps,
null, --name
null, --description
null, --mrp.c_order_id
null, --mrp.c_orderline_id
CURRENT_TIMESTAMP, --mrp.dateordered,
CURRENT_TIMESTAMP, --mrp.dateconfirm,
CURRENT_TIMESTAMP, --mrp.datepromised,
CURRENT_TIMESTAMP, --mrp.datestartschedule,
CURRENT_TIMESTAMP, --mrp.datefinishschedule,
CURRENT_TIMESTAMP, --mrp.datestart,
CURRENT_TIMESTAMP, --mrp.datesimulation,
'CO', --mrp.docstatus,
null, --mrp.m_forecast_id,
null, --mrp.m_forecastline_id,
null, --mrp.value,
pp.m_product_id,
null, --mrp.m_requisition_id,
null, --mrp.m_requisitionline_id,
pp.m_warehouse_id,
null, --mrp.pp_order_id,
null, --pp_order_bomline_id
null, --mrp.dd_order_id,
null, --mrp.dd_orderline_id,
pp.safetystock - bomqtyonhand(pp.M_Product_ID,pp.M_Warehouse_ID, 0) AS qty, --mrp.qty,
pp.s_resource_id,
null, --planner_id
null, --mrp.priority,
'STK', --mrp.ordertype,
'D' , --mrp.typemrp,
p.LowLevel,
null, --C_BPartner_ID
'Safety Stock' --documentNo(mrp.pp_mrp_id) AS documentNo
FROM pp_product_planning pp
INNER JOIN M_Product p ON (pp.M_Product_ID = p.M_Product_ID)
WHERE bomqtyonhand(pp.M_Product_ID,pp.M_Warehouse_ID, 0) < pp.safetystock
;
-- Jan 8, 2010 4:12:56 PM CST -- Jan 8, 2010 4:12:56 PM CST
-- MRP Sefety Stock -- MRP Sefety Stock
INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Ref_List_ID,AD_Reference_ID,Created,CreatedBy,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53561,53229,TO_DATE('2010-01-08 16:12:54','YYYY-MM-DD HH24:MI:SS'),0,'EE01','Y','Safety Stock',TO_DATE('2010-01-08 16:12:54','YYYY-MM-DD HH24:MI:SS'),0,'STK') INSERT INTO AD_Ref_List (AD_Client_ID,AD_Org_ID,AD_Ref_List_ID,AD_Reference_ID,Created,CreatedBy,EntityType,IsActive,Name,Updated,UpdatedBy,Value) VALUES (0,0,53561,53229,TO_DATE('2010-01-08 16:12:54','YYYY-MM-DD HH24:MI:SS'),0,'EE01','Y','Safety Stock',TO_DATE('2010-01-08 16:12:54','YYYY-MM-DD HH24:MI:SS'),0,'STK')

View File

@ -35,7 +35,6 @@ mrp.pp_order_bomline_id,
mrp.dd_order_id, mrp.dd_order_id,
mrp.dd_orderline_id, mrp.dd_orderline_id,
mrp.qty, mrp.qty,
mrp.name,
mrp.s_resource_id, mrp.s_resource_id,
mrp.planner_id, mrp.planner_id,
mrp.priority, mrp.priority,
@ -84,7 +83,6 @@ null, --pp_order_bomline_id
null, --mrp.dd_order_id, null, --mrp.dd_order_id,
null, --mrp.dd_orderline_id, null, --mrp.dd_orderline_id,
pp.safetystock - bomqtyonhand(pp.M_Product_ID,pp.M_Warehouse_ID, 0) AS qty, --mrp.qty, pp.safetystock - bomqtyonhand(pp.M_Product_ID,pp.M_Warehouse_ID, 0) AS qty, --mrp.qty,
null, --mrp.name,
pp.s_resource_id, pp.s_resource_id,
null, --planner_id null, --planner_id
null, --mrp.priority, null, --mrp.priority,
@ -92,7 +90,7 @@ null, --mrp.priority,
'D' , --mrp.typemrp, 'D' , --mrp.typemrp,
p.LowLevel, p.LowLevel,
null, --C_BPartner_ID null, --C_BPartner_ID
'Safety Strock' --documentNo(mrp.pp_mrp_id) AS documentNo 'Safety Stock' --documentNo(mrp.pp_mrp_id) AS documentNo
FROM pp_product_planning pp FROM pp_product_planning pp
INNER JOIN M_Product p ON (pp.M_Product_ID = p.M_Product_ID) INNER JOIN M_Product p ON (pp.M_Product_ID = p.M_Product_ID)
WHERE bomqtyonhand(pp.M_Product_ID,pp.M_Warehouse_ID, 0) < pp.safetystock WHERE bomqtyonhand(pp.M_Product_ID,pp.M_Warehouse_ID, 0) < pp.safetystock