KFNS#90080 Afmelden BES/Van DAILY naar PRE_PUTORDERS en toch weer AUTOCLOSE-export (tijdelijk)
svn path=/Customer/trunk/; revision=70169
This commit is contained in:
@@ -2976,6 +2976,94 @@ END;
|
|||||||
CREATE OR REPLACE PROCEDURE kfns_select_autoclose (p_applname IN VARCHAR2,
|
CREATE OR REPLACE PROCEDURE kfns_select_autoclose (p_applname IN VARCHAR2,
|
||||||
p_applrun IN VARCHAR2)
|
p_applrun IN VARCHAR2)
|
||||||
*/
|
*/
|
||||||
|
/* TIJDELIJK TOCH NOG EVEN NIET VERVALLEN, WANT KFNS NOG 2024.3! */
|
||||||
|
CREATE OR REPLACE PROCEDURE kfns_select_autoclose (p_applname IN VARCHAR2,
|
||||||
|
p_applrun IN VARCHAR2)
|
||||||
|
AS
|
||||||
|
-- Cursor loopt over alle bestelopdracht-items met status 'In bestelling';
|
||||||
|
-- deze worden verondersteld te zijn geleverd!
|
||||||
|
CURSOR cboi
|
||||||
|
IS
|
||||||
|
SELECT DISTINCT boi.bes_bestelopdr_key, bo.bes_bestelopdr_status
|
||||||
|
FROM bes_bestelopdr bo,
|
||||||
|
bes_bestelopdr_item boi,
|
||||||
|
bes_bestelling_item bi,
|
||||||
|
bes_srtdeel sd,
|
||||||
|
bes_srtgroep sg
|
||||||
|
WHERE bo.bes_bestelopdr_status IN (3, 4) -- In behandeling/bestelling
|
||||||
|
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||||||
|
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||||||
|
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||||||
|
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||||||
|
AND sg.ins_discipline_key IN (401, 402); -- Ontvangst/Uitgifte
|
||||||
|
|
||||||
|
-- Cursor loopt over alle bestelling-items met status 'Besteld' waarvan
|
||||||
|
-- de bijbehorende bestelopdracht-items zijn geleverd; deze worden dan ook
|
||||||
|
-- gesloten!
|
||||||
|
CURSOR cbi
|
||||||
|
IS
|
||||||
|
SELECT DISTINCT bi.bes_bestelling_key
|
||||||
|
FROM bes_bestelling b,
|
||||||
|
bes_bestelling_item bi,
|
||||||
|
bes_srtdeel sd,
|
||||||
|
bes_srtgroep sg,
|
||||||
|
bes_bestelopdr_item boi
|
||||||
|
WHERE b.bes_bestelling_status = 5 -- Besteld
|
||||||
|
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||||||
|
--AND bi.bes_bestelling_item_aantal != COALESCE (bi.bes_bestelling_item_aantalontv, 0)
|
||||||
|
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||||||
|
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||||||
|
AND sg.ins_discipline_key IN (401, 402) -- Ontvangst/Uitgifte
|
||||||
|
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||||||
|
AND boi.bes_bestelopdr_item_aantal = boi.bes_bestelopdr_item_aantalontv;
|
||||||
|
|
||||||
|
v_errormsg VARCHAR2 (1000);
|
||||||
|
oracle_err_num NUMBER;
|
||||||
|
oracle_err_mes VARCHAR2 (200);
|
||||||
|
v_count NUMBER;
|
||||||
|
BEGIN
|
||||||
|
v_errormsg := 'Fout leveren bestelopdracht';
|
||||||
|
|
||||||
|
FOR rec IN cboi
|
||||||
|
LOOP
|
||||||
|
IF rec.bes_bestelopdr_status = 3 -- In behandeling
|
||||||
|
THEN
|
||||||
|
UPDATE bes_bestelopdr
|
||||||
|
SET bes_bestelopdr_status = 4 -- In bestelling
|
||||||
|
WHERE bes_bestelopdr_key = rec.bes_bestelopdr_key;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
-- Zeg dat alles geleverd is wat besteld is.
|
||||||
|
UPDATE bes_bestelopdr_item
|
||||||
|
SET bes_bestelopdr_item_aantalontv = bes_bestelopdr_item_aantal
|
||||||
|
WHERE bes_bestelopdr_key = rec.bes_bestelopdr_key;
|
||||||
|
|
||||||
|
bes.updatebestelopdrstatus (rec.bes_bestelopdr_key, NULL);
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
v_errormsg := 'Fout sluiten bestelaanvraag';
|
||||||
|
|
||||||
|
FOR rec IN cbi
|
||||||
|
LOOP
|
||||||
|
-- Sluit alle aanvraagregels die nu compleet geleverd zijn.
|
||||||
|
UPDATE bes_bestelling_item
|
||||||
|
SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal
|
||||||
|
WHERE bes_bestelling_key = rec.bes_bestelling_key;
|
||||||
|
|
||||||
|
bes.updatebestellingstatus (rec.bes_bestelling_key, NULL);
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
EXCEPTION
|
||||||
|
WHEN OTHERS
|
||||||
|
THEN
|
||||||
|
oracle_err_num := SQLCODE;
|
||||||
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||||
|
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||||
|
fac.writelog (p_applname, 'E', v_errormsg, 'Proces AUTOCLOSE afgebroken!');
|
||||||
|
END kfns_select_autoclose;
|
||||||
|
/
|
||||||
|
|
||||||
/* Formatted on 12-9-2014 17:42:24 (QP5 v5.136.908.31019) */
|
/* Formatted on 12-9-2014 17:42:24 (QP5 v5.136.908.31019) */
|
||||||
CREATE OR REPLACE VIEW kfns_v_imp_bes_artikel_sync
|
CREATE OR REPLACE VIEW kfns_v_imp_bes_artikel_sync
|
||||||
(
|
(
|
||||||
|
|||||||
Reference in New Issue
Block a user