SUTF#25118-MLD archiveren (ICT)
svn path=/Customer/trunk/; revision=16418
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user