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 = 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;
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user