HPJI#28971 Geleverde bestellingen bloemen automatisch afmelden
svn path=/Customer/trunk/; revision=21248
This commit is contained in:
@@ -3119,7 +3119,103 @@ AS
|
|||||||
AND asd.ins_deel_key = y.ins_deel_key(+)
|
AND asd.ins_deel_key = y.ins_deel_key(+)
|
||||||
AND asd.ins_deel_key = z.ins_deel_key(+);
|
AND asd.ins_deel_key = z.ins_deel_key(+);
|
||||||
|
|
||||||
BEGIN fac.registercustversion('HPJI', 9); END;
|
|
||||||
|
-- HPJI#28971 Geleverde bestellingen bloemen automatisch afmelden
|
||||||
|
CREATE OR REPLACE PROCEDURE hpji_export_bes_afmeld (p_applname IN VARCHAR2,
|
||||||
|
p_applrun IN VARCHAR2,
|
||||||
|
p_filedir IN VARCHAR2,
|
||||||
|
p_filename IN VARCHAR2)
|
||||||
|
AS
|
||||||
|
-- De bestelopdrachten die ik als compleet geleverd veronderstel,
|
||||||
|
-- die zouden in principe meer werkdagen geleden geleverd zijn dan
|
||||||
|
-- de 'notidagen' van de catalogus aangeeft.
|
||||||
|
-- bes_discipline 201 Bloemen Groningen
|
||||||
|
-- bes_discipline 202 Bloemen Veenhuizen
|
||||||
|
CURSOR cbopi
|
||||||
|
IS
|
||||||
|
SELECT boi.bes_bestelopdr_item_key, bo.bes_bestelopdr_key, b.bes_bestelling_key
|
||||||
|
FROM bes_bestelopdr bo,
|
||||||
|
bes_bestelopdr_item boi,
|
||||||
|
bes_bestelling_item bi,
|
||||||
|
bes_bestelling b,
|
||||||
|
bes_srtdeel sd,
|
||||||
|
bes_srtgroep sg,
|
||||||
|
bes_disc_params bdp
|
||||||
|
WHERE bo.bes_bestelopdr_status = 4 -- In bestelling
|
||||||
|
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||||||
|
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||||||
|
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||||||
|
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||||||
|
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||||||
|
AND sg.ins_discipline_key = bdp.bes_ins_discipline_key
|
||||||
|
AND sg.ins_discipline_key IN (201, 202)
|
||||||
|
AND bdp.bes_disc_params_noti_dagen IS NOT NULL
|
||||||
|
AND ( b.bes_bestelling_leverdatum IS NULL
|
||||||
|
OR fac.datumtijdplusuitvoertijd (b.bes_bestelling_leverdatum,
|
||||||
|
bdp.bes_disc_params_noti_dagen,
|
||||||
|
'DAGEN')
|
||||||
|
< SYSDATE );
|
||||||
|
|
||||||
|
-- Alle bestelaanvragen die (nu) geheel geleverd zijn sluiten we af.
|
||||||
|
CURSOR cbesi
|
||||||
|
IS
|
||||||
|
SELECT bi.bes_bestelling_item_key, b.bes_bestelling_key
|
||||||
|
FROM bes_bestelling b,
|
||||||
|
bes_bestelling_item bi,
|
||||||
|
bes_bestelopdr_item boi,
|
||||||
|
bes_srtdeel sd,
|
||||||
|
bes_srtgroep sg
|
||||||
|
WHERE b.bes_bestelling_status = 5 -- Besteld
|
||||||
|
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||||||
|
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||||||
|
AND boi.bes_bestelopdr_item_aantal = boi.bes_bestelopdr_item_aantalontv
|
||||||
|
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||||||
|
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||||||
|
AND sg.ins_discipline_key IN (201, 202);
|
||||||
|
|
||||||
|
v_errorhint VARCHAR2 (1000);
|
||||||
|
v_errormsg VARCHAR2 (1000);
|
||||||
|
oracle_err_num NUMBER;
|
||||||
|
oracle_err_mes VARCHAR2 (200);
|
||||||
|
BEGIN
|
||||||
|
FOR r IN cbopi
|
||||||
|
LOOP
|
||||||
|
-- Zeg dat alles geleverd is wat besteld is.
|
||||||
|
UPDATE bes_bestelopdr_item
|
||||||
|
SET bes_bestelopdr_item_aantalontv = bes_bestelopdr_item_aantal
|
||||||
|
WHERE bes_bestelopdr_item_key = r.bes_bestelopdr_item_key;
|
||||||
|
|
||||||
|
bes.updatebestelopdrstatus (r.bes_bestelopdr_key, NULL);
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
FOR r IN cbesi
|
||||||
|
LOOP
|
||||||
|
-- Sluit alle aanvraagregels af die nu geheel geleverd zijn.
|
||||||
|
UPDATE bes_bestelling_item
|
||||||
|
SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal
|
||||||
|
WHERE bes_bestelling_item_key = r.bes_bestelling_item_key;
|
||||||
|
|
||||||
|
bes.updatebestellingstatus (r.bes_bestelling_key, NULL);
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
EXCEPTION
|
||||||
|
WHEN OTHERS
|
||||||
|
THEN
|
||||||
|
oracle_err_num := SQLCODE;
|
||||||
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||||
|
ROLLBACK;
|
||||||
|
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||||
|
fac.writelog (p_applname,
|
||||||
|
'E',
|
||||||
|
'Proces afmelden bestellingen afgebroken!',
|
||||||
|
v_errormsg);
|
||||||
|
COMMIT;
|
||||||
|
END;
|
||||||
|
/
|
||||||
|
|
||||||
|
BEGIN fac.registercustversion('HPJI', 10); END;
|
||||||
/
|
/
|
||||||
BEGIN adm.systrackscriptId('$Id$', 0); END;
|
BEGIN adm.systrackscriptId('$Id$', 0); END;
|
||||||
/
|
/
|
||||||
|
|||||||
Reference in New Issue
Block a user