From 260d441879c6b0a23d2416db9558f3b3b84a6e13 Mon Sep 17 00:00:00 2001 From: Ruud Lipper Date: Thu, 24 Sep 2015 08:27:09 +0000 Subject: [PATCH] VIAR#33232 ook opdrachten naar archief svn path=/Customer/trunk/; revision=26464 --- VIAR/viar.sql | 74 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 68 insertions(+), 6 deletions(-) diff --git a/VIAR/viar.sql b/VIAR/viar.sql index 4d5b4c460..62d8a0663 100644 --- a/VIAR/viar.sql +++ b/VIAR/viar.sql @@ -10,6 +10,7 @@ set echo on spool VIAR.lst -- VIAR#33232 +-- Zet alle opdrachten van afgemelde meldingen (= key 5) die zijn afgerond (= key 161) naar status historie (= key 7) -- Zet alle afgemelde meldingen (= key 5) die zijn afgerond (= key 161) naar status historie (= key 6) CREATE OR REPLACE PROCEDURE viar_export_nachtwerk (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, @@ -18,19 +19,77 @@ CREATE OR REPLACE PROCEDURE viar_export_nachtwerk (p_applname IN VARCHAR2, AS CURSOR cmafm IS - SELECT mld_melding_key - FROM mld_melding + SELECT DISTINCT m.mld_melding_key + FROM mld_melding m, mld_opdr o WHERE mld_melding_status = 5 - AND mld_melding_key IN (SELECT fac_tracking_refkey - FROM fac_tracking - WHERE fac_srtnotificatie_key = 161); + AND o.mld_melding_key = m.mld_melding_key + AND m.mld_melding_key IN + (SELECT fac_tracking_refkey + FROM fac_tracking + WHERE fac_srtnotificatie_key = 161); + + CURSOR coafm + IS + SELECT mld_opdr_key + FROM mld_opdr + WHERE mld_statusopdr_key IN (6, 9) + AND mld_melding_key IN + (SELECT DISTINCT m.mld_melding_key + FROM mld_melding m, mld_opdr o + WHERE mld_melding_status = 5 + AND o.mld_melding_key = m.mld_melding_key + AND o.mld_melding_key NOT IN + (SELECT mld_melding_key + FROM mld_opdr + WHERE mld_statusopdr_key NOT IN + (6, 9)) + AND m.mld_melding_key IN + (SELECT fac_tracking_refkey + FROM fac_tracking + WHERE fac_srtnotificatie_key = + 161)); v_errorhint VARCHAR2 (1000); v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_count NUMBER := 0; + v_count2 NUMBER := 0; BEGIN + FOR r IN coafm + LOOP + BEGIN + MLD.setopdrachtstatus (r.mld_opdr_key, 7, NULL); + + v_count2 := v_count2 + 1; + + + COMMIT; + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 200); + v_errormsg := + ' ORACLE (error ' + || oracle_err_num + || '/' + || oracle_err_mes + || ')'; + fac.writelog (p_applname, + 'W', + v_errormsg, + v_errorhint); + COMMIT; + END; + END LOOP; + + fac.writelog (p_applname, + 'S', + 'Aantal opdrachten verwerkt: ' || TO_CHAR (v_count2), + ''); + COMMIT; + FOR r IN cmafm LOOP BEGIN @@ -63,6 +122,9 @@ BEGIN 'S', 'Aantal meldingen verwerkt: ' || TO_CHAR (v_count), ''); + + COMMIT; + EXCEPTION WHEN OTHERS THEN @@ -1794,7 +1856,7 @@ AS BEGIN adm.systrackscriptId('$Id$', 0); END; / -BEGIN fac.registercustversion('VIAR', 7); END; +BEGIN fac.registercustversion('VIAR', 8); END; / commit;