SUTF#25118-MLD archiveren (ICT)

svn path=/Customer/trunk/; revision=16418
This commit is contained in:
Marcel Bourseau
2012-12-28 12:20:57 +00:00
parent fecc6bf1fd
commit c5163d1176

View File

@@ -2034,16 +2034,86 @@ BEGIN
END;
/
CREATE OR REPLACE PROCEDURE sutf_export_mld_archief (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
p_filedir IN VARCHAR2,
p_filename IN VARCHAR2
)
AS
-- ins_srtdiscipline_key = 1 -> Automatisering
CURSOR c_mld_2_arch
IS
SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_status = 5
AND sysdate-30 >=
(SELECT fac_tracking_datum from fac_tracking
WHERE fac_tracking_refkey = mld_melding_key
AND fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'MLDAFM')
)
AND mld_stdmelding_key IN
(SELECT mld_stdmelding_key FROM mld_stdmelding WHERE mld_ins_discipline_key IN
(SELECT ins_discipline_key FROM mld_discipline WHERE ins_srtdiscipline_key = 1)
);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count_tot NUMBER (10);
v_count_error NUMBER (10);
v_count NUMBER (10);
v_tracking VARCHAR2 (1000);
BEGIN
FOR cmld IN c_mld_2_arch
LOOP
BEGIN
-- Eerst proberen om melding op archief te zetten, indien gelukt DAN PAS in tracking
-- Het zou kunnen dat constraint de update tegenhoudt (openstaande opdrachten), in dat geval komt die in exception-tak (en wordt terecht niet getrackt).
-- Wel gaan we daartoe eerst de opdrachten op archief (7=verwerkt) zetten, die de status afgemeld hebben (= 6).
UPDATE mld_opdr
SET mld_statusopdr_key = 7
WHERE mld_statusopdr_key=6
AND mld_melding_key = cmld.mld_melding_key;
UPDATE mld_melding
SET mld_melding_status = 6
WHERE mld_melding_key = cmld.mld_melding_key;
-- Nu de melding in tracking zetten...dat ie gearchiveerd is
fac.trackaction ('MLDVER', cmld.mld_melding_key, NULL, NULL, 'Melding in archief gezet (door systeem)');
EXCEPTION
WHEN OTHERS
THEN
v_count_error := v_count_error + 1;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
'OTHERS (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
END;
COMMIT;
END LOOP;
END sutf_export_mld_archief;
/
BEGIN adm.systrackscript('$Workfile: sutf.sql $', '$Revision$', 0); END;
/
BEGIN fac.registercustversion('SUTF', 3); END;
BEGIN fac.registercustversion('SUTF', 7); END;
/
commit;