details: https://code.openbravo.com/erp/devel/pi/rev/ae421dd5cfd8
changeset: 21372:ae421dd5cfd8
user: Carlos Aristu <carlos.aristu <at> openbravo.com>
date: Wed Oct 23 12:24:02 2013 +0200
summary: fixes issue 24857: If the minimum stock demand is the first
transaction
the Manufacturing Plan should work in another way
diffstat:
src-db/database/model/functions/MRP_RUN_EXPLODE.xml | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diffs (28 lines):
diff -r 1f5e7edaeeaf -r ae421dd5cfd8
src-db/database/model/functions/MRP_RUN_EXPLODE.xml
--- a/src-db/database/model/functions/MRP_RUN_EXPLODE.xml Wed Oct 23
12:04:27 2013 +0200
+++ b/src-db/database/model/functions/MRP_RUN_EXPLODE.xml Wed Oct 23
12:24:02 2013 +0200
@@ -59,6 +59,7 @@
Cur_Run_Lines RECORD;
Cur_Dependants RECORD;
Cur_Parents RECORD;
+ v_planneddate DATE;
BEGIN
BEGIN --BODY
@@ -97,7 +98,15 @@
) LOOP
IF (Cur_Run_Lines.Qty < 0) THEN
v_New := 'Y';
- Mrp_Run_Insertlines(p_Client_ID, p_Org_ID, p_User_ID, p_Run_ID,
Cur_Run_Lines.M_Product_ID, -1*Cur_Run_Lines.Qty, -1*Cur_Run_Lines.Qty,
Cur_Run_Lines.MRP_RUN_Line_ID, (CASE Cur_Run_Lines.ispurchased WHEN 'Y' THEN
'MP' ELSE 'WP' END), 'N', NULL, NULL, NULL, NULL,
Cur_Run_Lines.MA_Processplan_ID, Cur_Run_Lines.planneddate - p_SecurityMargin,
(CASE Cur_Run_Lines.ispurchased WHEN 'Y' THEN (Cur_Run_Lines.planneddate -
p_SecurityMargin) ELSE Cur_Run_Lines.planneddate - p_SecurityMargin - (CASE
Cur_Run_Lines.DELAYMIN > (CASE WHEN Cur_Run_Lines.CAPACITY IS NULL THEN 0 ELSE
CEIL(Cur_Run_Lines.Qty/Cur_Run_Lines.CAPACITY) END) WHEN true THEN
Cur_Run_Lines.DELAYMIN ELSE (CASE WHEN Cur_Run_Lines.CAPACITY IS NULL THEN 0
ELSE CEIL(Cur_Run_Lines.Qty/Cur_Run_Lines.CAPACITY) END) END) END), 'Y', (CASE
WHEN Cur_Run_Lines.ispurchased = 'Y' THEN 'Y' ELSE 'N' END), NULL, v_Aux_ID);
+ IF (Cur_Run_Lines.InOutTrxType = 'MS') THEN
+ v_planneddate := cur_run_lines.planneddate;
+ ELSE
+ v_planneddate := cur_run_lines.planneddate - p_securitymargin;
+ IF (v_planneddate < p_planningdate) THEN
+ v_planneddate:= p_planningdate;
+ END IF;
+ END IF;
+ Mrp_Run_Insertlines(p_Client_ID, p_Org_ID, p_User_ID, p_Run_ID,
Cur_Run_Lines.M_Product_ID, -1*Cur_Run_Lines.Qty, -1*Cur_Run_Lines.Qty,
Cur_Run_Lines.MRP_RUN_Line_ID, (CASE Cur_Run_Lines.ispurchased WHEN 'Y' THEN
'MP' ELSE 'WP' END), 'N', NULL, NULL, NULL, NULL,
Cur_Run_Lines.MA_Processplan_ID, v_planneddate, (CASE Cur_Run_Lines.ispurchased
WHEN 'Y' THEN (v_planneddate) ELSE v_planneddate - (CASE Cur_Run_Lines.DELAYMIN
> (CASE WHEN Cur_Run_Lines.CAPACITY IS NULL THEN 0 ELSE
CEIL(Cur_Run_Lines.Qty/Cur_Run_Lines.CAPACITY) END) WHEN true THEN
Cur_Run_Lines.DELAYMIN ELSE (CASE WHEN Cur_Run_Lines.CAPACITY IS NULL THEN 0
ELSE CEIL(Cur_Run_Lines.Qty/Cur_Run_Lines.CAPACITY) END) END) END), 'Y', (CASE
WHEN Cur_Run_Lines.ispurchased = 'Y' THEN 'Y' ELSE 'N' END), NULL, v_Aux_ID);
ELSE
v_ResultStr := 'Explode dependant products';
FOR Cur_Dependants IN (SELECT
MA_PROCESSPLAN_TOT_AUX.DEPENDANTPRODUCT, DEPQTY/PROQTY AS qty,
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits