MNNL#78302 Schoning gebruikersdata >7 jaar
svn path=/Customer/trunk/; revision=61368
This commit is contained in:
529
MNNL/mnnl.sql
529
MNNL/mnnl.sql
@@ -9195,6 +9195,535 @@ AS
|
||||
AND kr.res_kenmerk_key = 421 -- Kenteken
|
||||
;
|
||||
|
||||
-- MNNL#78302: Verwijderen data 7 jaar en ouder/automatische schoning!
|
||||
-- TODO: Periodieke bestelaanvragen/opdrachten niet beschouwen? => Bij MN niet gebruikt!
|
||||
CREATE OR REPLACE VIEW mnnl_v_rap_bes_schoning
|
||||
(
|
||||
jaar,
|
||||
bes_bestelling_key
|
||||
)
|
||||
AS
|
||||
WITH b
|
||||
AS (SELECT bes_bestelling_key,
|
||||
bes_bestelling_datum,
|
||||
bes_bestelling_retourvan_key,
|
||||
COALESCE (
|
||||
fac.gettrackingdate ('BESREJ', bes_bestelling_key),
|
||||
--fac.gettrackingdate ('BESXXX', bes_bestelling_key), -- key=257 (1x voor 164572 in 2012)
|
||||
--fac.gettrackingdate ('BESINF', bes_bestelling_key), -- key=44
|
||||
fac.gettrackingdate ('BESOTV', bes_bestelling_key))
|
||||
gesloten
|
||||
FROM bes_bestelling
|
||||
WHERE bes_bestelling_status IN (1, 6, 7, 8, 9) -- Gesloten bestelling
|
||||
AND bes_bestelling_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden
|
||||
SELECT TO_CHAR (b.bes_bestelling_datum, 'yyyy') jaar, bes_bestelling_key
|
||||
FROM b
|
||||
WHERE 1 = 1 --b.gesloten < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Gesloten > 7 jaar geleden
|
||||
AND bes_bestelling_retourvan_key IS NULL -- Alleen bron-bestelling (dus zonder de retouren)
|
||||
--AND NOT EXISTS
|
||||
-- (SELECT 1
|
||||
-- FROM bes_bestelling_item bbi, bes_bestelopdr_item boi, bes_bestelopdr bo
|
||||
-- WHERE bbi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||||
-- AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||||
-- AND bo.bes_bestelopdr_status IN (2, 3, 4, 5) -- Lopende bestelopdracht
|
||||
-- AND bbi.bes_bestelling_key = b.bes_bestelling_key)
|
||||
AND NOT EXISTS -- Geen later gewijzigde child-bestelopdrachten!
|
||||
(SELECT 1
|
||||
FROM fac_tracking t, fac_srtnotificatie sn, bes_bestelopdr_item boi, bes_bestelling_item bbi
|
||||
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'bestelopdracht'
|
||||
AND t.fac_tracking_refkey = boi.bes_bestelopdr_key
|
||||
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||||
AND bbi.bes_bestelling_key = b.bes_bestelling_key)
|
||||
--AND NOT EXISTS -- Evt. retour-bestelling ook > 7 jaar gesloten!
|
||||
-- (SELECT 1
|
||||
-- FROM bes_bestelling rb, -- Retour-bestelling!
|
||||
-- fac_tracking t,
|
||||
-- fac_srtnotificatie sn
|
||||
-- WHERE rb.bes_bestelling_retourvan_key = b.bes_bestelling_key
|
||||
-- AND rb.bes_bestelling_key = t.fac_tracking_refkey
|
||||
-- AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
-- AND sn.fac_srtnotificatie_xmlnode = 'bestelling'
|
||||
-- AND (rb.bes_bestelling_status NOT IN (1, 6, 7, 8, 9) -- Lopend
|
||||
-- OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy'))) -- Geraakt < 7 jaar geleden
|
||||
AND NOT EXISTS -- Geen lopende facturen op child-bestelopdrachten!
|
||||
(SELECT 1
|
||||
FROM fin_factuur f, bes_bestelopdr_item boi, bes_bestelling_item bbi
|
||||
WHERE f.fin_factuur_verwijder IS NULL
|
||||
AND f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
|
||||
AND f.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||||
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||||
AND bbi.bes_bestelling_key = b.bes_bestelling_key);
|
||||
|
||||
CREATE OR REPLACE VIEW mnnl_v_rap_bez_schoning
|
||||
(
|
||||
jaar,
|
||||
bez_afspraak_key,
|
||||
bezoekers
|
||||
)
|
||||
AS
|
||||
WITH a
|
||||
AS ( SELECT a.bez_afspraak_key,
|
||||
a.bez_afspraak_datum,
|
||||
COUNT (*) bezoekers
|
||||
FROM bez_afspraak a, bez_bezoekers b
|
||||
WHERE a.bez_afspraak_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Aangemaakt > 7 jaar geleden
|
||||
AND a.bez_afspraak_key = b.bez_afspraak_key
|
||||
GROUP BY a.bez_afspraak_key, a.bez_afspraak_datum)
|
||||
SELECT TO_CHAR (a.bez_afspraak_datum, 'yyyy') jaar, bez_afspraak_key, bezoekers
|
||||
FROM a;
|
||||
|
||||
CREATE OR REPLACE VIEW mnnl_v_rap_res_schoning
|
||||
(
|
||||
jaar,
|
||||
verwijderd,
|
||||
res_rsv_ruimte_key
|
||||
)
|
||||
AS
|
||||
WITH r
|
||||
AS (SELECT res_rsv_ruimte_key,
|
||||
res_reservering_key,
|
||||
res_rsv_ruimte_volgnr,
|
||||
res_rsv_ruimte_tot,
|
||||
res_rsv_ruimte_verwijder
|
||||
FROM res_rsv_ruimte
|
||||
WHERE res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden
|
||||
SELECT TO_CHAR (res_rsv_ruimte_tot, 'yyyy') jaar, DECODE (res_rsv_ruimte_verwijder, NULL, 'J', 'N') verwijderd, res_rsv_ruimte_key
|
||||
FROM r
|
||||
WHERE NOT EXISTS -- Geen latere child-reserveringen!
|
||||
(SELECT 1
|
||||
FROM res_rsv_ruimte cr -- Child-reserveringen!
|
||||
WHERE cr.res_rsv_ruimte_tot > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')
|
||||
AND cr.res_reservering_key = r.res_reservering_key);
|
||||
|
||||
-- TODO: Periodieke meldingen/opdrachten niet beschouwen? => Bij MN niet gebruikt!
|
||||
-- TODO: Geantedateerde meldingen/opdrachten?
|
||||
CREATE OR REPLACE VIEW mnnl_v_rap_mld_schoning
|
||||
(
|
||||
jaar,
|
||||
datum,
|
||||
mld_melding_key
|
||||
)
|
||||
AS
|
||||
WITH m
|
||||
AS (SELECT mld_melding_key,
|
||||
mld_melding_datum,
|
||||
mld_melding_start_key,
|
||||
mld_melding_parentkey,
|
||||
COALESCE (
|
||||
fac.gettrackingdate ('MLDREJ', mld_melding_key),
|
||||
fac.gettrackingdate ('MLDAFM', mld_melding_key), -- Soms niet Afgemeld?
|
||||
fac.gettrackingdate ('MLDVER', mld_melding_key))
|
||||
gesloten
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_status IN (1, 5, 6) -- Gesloten
|
||||
AND mld_melding_datum < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')) -- Aangemaakt > 7 jaar geleden
|
||||
SELECT TO_CHAR (m.mld_melding_datum, 'yyyy') jaar, m.mld_melding_datum datum, mld_melding_key
|
||||
FROM m
|
||||
WHERE m.gesloten < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Gesloten > 7 jaar geleden
|
||||
AND (m.mld_melding_start_key IS NULL OR m.mld_melding_key = m.mld_melding_start_key) -- Alleen bron-melding
|
||||
AND m.mld_melding_parentkey IS NULL -- Alleen bron-melding
|
||||
AND NOT EXISTS -- Geen later gewijzigde child-opdrachten!
|
||||
(SELECT 1
|
||||
FROM fac_tracking t, fac_srtnotificatie sn, mld_opdr o
|
||||
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')
|
||||
AND t.fac_srtnotificatie_key <> 389 -- ORDANO!
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
|
||||
AND t.fac_tracking_refkey = o.mld_opdr_key
|
||||
AND o.mld_melding_key = m.mld_melding_key)
|
||||
AND EXISTS -- Eventuele start-melding ook > 7 jaar gesloten!
|
||||
(SELECT 1
|
||||
FROM m sm -- Start-meldingen!
|
||||
WHERE sm.mld_melding_key = COALESCE (m.mld_melding_start_key, m.mld_melding_key))
|
||||
AND EXISTS -- Eventuele parent-melding ook > 7 jaar gesloten!
|
||||
(SELECT 1
|
||||
FROM m pm -- Parent-meldingen!
|
||||
WHERE pm.mld_melding_key = COALESCE (m.mld_melding_parentkey, m.mld_melding_key))
|
||||
AND NOT EXISTS -- Eventuele vervolg-melding ook > 7 jaar gesloten!
|
||||
(SELECT 1
|
||||
FROM mld_melding vm, -- Vervolg-meldingen!
|
||||
fac_tracking t,
|
||||
fac_srtnotificatie sn
|
||||
WHERE vm.mld_melding_start_key = m.mld_melding_key
|
||||
AND vm.mld_melding_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'melding'
|
||||
AND (vm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
|
||||
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy'))) -- Geraakt < 7 jaar geleden
|
||||
AND NOT EXISTS -- Eventuele child-melding ook > 7 jaar gesloten!
|
||||
(SELECT 1
|
||||
FROM mld_melding cm, -- Child-meldingen!
|
||||
fac_tracking t,
|
||||
fac_srtnotificatie sn
|
||||
WHERE cm.mld_melding_parentkey = m.mld_melding_key
|
||||
AND cm.mld_melding_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'melding'
|
||||
AND (cm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
|
||||
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy'))) -- Geraakt < 7 jaar geleden
|
||||
AND NOT EXISTS -- Geen lopende facturen op child-opdrachten!
|
||||
(SELECT 1
|
||||
FROM fin_factuur f, mld_opdr o
|
||||
WHERE f.fin_factuur_verwijder IS NULL
|
||||
AND f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
|
||||
AND f.mld_opdr_key = o.mld_opdr_key
|
||||
AND o.mld_melding_key = m.mld_melding_key);
|
||||
/*
|
||||
CREATE OR REPLACE VIEW mnnl_v_rap_cnt_schoning
|
||||
(
|
||||
ins_discipline_key,
|
||||
contractsoort,
|
||||
cnt_contract_key,
|
||||
contractnr,
|
||||
cnt_contract_omschrijving,
|
||||
cnt_contract_looptijd_tot,
|
||||
cnt_contract_status
|
||||
)
|
||||
AS
|
||||
SELECT DISTINCT
|
||||
c.ins_discipline_key,
|
||||
cd.ins_discipline_omschrijving,
|
||||
c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)
|
||||
contractnr,
|
||||
c.cnt_contract_omschrijving,
|
||||
c.cnt_contract_looptijd_tot,
|
||||
c.cnt_contract_status
|
||||
FROM cnt_contract c, cnt_discipline cd
|
||||
WHERE c.cnt_contract_looptijd_tot < TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy') -- Verlopen > 7 jaar geleden
|
||||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||||
AND NOT EXISTS -- Geen dossier-contract onder dezelfde mantel <= 7 jaar geleden
|
||||
(SELECT 1
|
||||
FROM cnt_contract dc
|
||||
WHERE dc.cnt_contract_verwijder IS NULL
|
||||
AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (SYSDATE, -84), 'yyyy')
|
||||
AND dc.cnt_contract_mantel_key = c.cnt_contract_key)
|
||||
AND NOT EXISTS -- Geen lopende facturen op contract!
|
||||
(SELECT 1
|
||||
FROM fin_factuur
|
||||
WHERE fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
|
||||
AND cnt_contract_key = c.cnt_contract_key);
|
||||
*/
|
||||
CREATE OR REPLACE VIEW mnnl_v_rap_auto_schoning
|
||||
(
|
||||
module,
|
||||
jaar,
|
||||
aantal,
|
||||
subaantal
|
||||
)
|
||||
AS
|
||||
SELECT 'BES', jaar, COUNT (*) aantal, NULL subaantal
|
||||
FROM mnnl_v_rap_bes_schoning
|
||||
GROUP BY 'BES', jaar
|
||||
UNION ALL
|
||||
SELECT 'BEZ', jaar, COUNT (*) aantal, SUM (bezoekers) subaantal
|
||||
FROM mnnl_v_rap_bez_schoning
|
||||
GROUP BY 'BEZ', jaar
|
||||
UNION ALL
|
||||
SELECT 'RES', jaar, COUNT (*) aantal, NULL subaantal
|
||||
FROM mnnl_v_rap_res_schoning
|
||||
GROUP BY 'RES', jaar
|
||||
UNION ALL
|
||||
SELECT 'MLD', jaar, COUNT (*) aantal, NULL subaantal
|
||||
FROM mnnl_v_rap_mld_schoning
|
||||
GROUP BY 'MLD', jaar
|
||||
--UNION ALL
|
||||
-- SELECT 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy') jaar, COUNT ( * ) aantal, NULL subaantal
|
||||
-- FROM mnnl_v_rap_cnt_schoning
|
||||
--GROUP BY 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy'), ins_discipline_key
|
||||
;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE mnnl_daily
|
||||
AS
|
||||
-- BES per jaar!
|
||||
CURSOR cbes (p_jaar VARCHAR2)
|
||||
IS
|
||||
SELECT bes_bestelling_key FROM mnnl_v_rap_bes_schoning WHERE jaar <= p_jaar ORDER BY 1;
|
||||
|
||||
-- BEZ per jaar (samen met RES)!
|
||||
CURSOR cbez (p_jaar VARCHAR2)
|
||||
IS
|
||||
SELECT bez_afspraak_key FROM mnnl_v_rap_bez_schoning WHERE jaar <= p_jaar ORDER BY 1;
|
||||
|
||||
-- RES per jaar (samen met BEZ)!
|
||||
CURSOR cres (p_jaar VARCHAR2)
|
||||
IS
|
||||
SELECT res_rsv_ruimte_key FROM mnnl_v_rap_res_schoning WHERE jaar <= p_jaar ORDER BY 1;
|
||||
|
||||
-- MLD per jaar (of maand)!
|
||||
CURSOR cmld (p_datum DATE)
|
||||
IS
|
||||
SELECT mld_melding_key FROM mnnl_v_rap_mld_schoning WHERE TRUNC (datum) <= p_datum ORDER BY 1;
|
||||
/*
|
||||
-- CNT allemaal tegelijk!
|
||||
CURSOR ccnt --(p_datum DATE)
|
||||
IS
|
||||
SELECT ins_discipline_key, cnt_contract_key FROM mnnl_v_rap_cnt_schoning ORDER BY 1, 2;
|
||||
*/
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count NUMBER (10);
|
||||
v_jaar1 VARCHAR2 (4);
|
||||
v_jaar2 VARCHAR2 (4);
|
||||
v_datum DATE;
|
||||
v_datum1 DATE;
|
||||
v_datum2 DATE;
|
||||
BEGIN
|
||||
-- Aanname dat er elk jaar iets te schonen valt, anders rustig jaartje!
|
||||
v_errormsg := 'Fout bepalen of er nog iets te schonen valt';
|
||||
SELECT SUM (aantal)
|
||||
INTO v_count
|
||||
FROM mnnl_v_rap_auto_schoning;
|
||||
|
||||
-- Initieel dagelijks een jaartje schonen totdat achterstand ingelopen!
|
||||
IF TO_CHAR (SYSDATE, 'mm-dd') >= '03-01' AND v_count > 0
|
||||
THEN
|
||||
v_count := 0;
|
||||
v_datum1 := SYSDATE;
|
||||
|
||||
v_errormsg := 'Fout bepalen van-jaar!';
|
||||
SELECT MIN (jaar)
|
||||
INTO v_jaar1
|
||||
FROM mnnl_v_rap_bes_schoning;
|
||||
|
||||
v_errormsg := 'Fout bepalen tot-jaar!';
|
||||
SELECT MAX (jaar)
|
||||
INTO v_jaar2
|
||||
FROM mnnl_v_rap_bes_schoning
|
||||
WHERE jaar > '1999';
|
||||
|
||||
FOR r IN cbes (v_jaar2)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Fout schonen bestelling: ' || TO_CHAR (r.bes_bestelling_key);
|
||||
bes.remove (r.bes_bestelling_key);
|
||||
v_count := v_count + 1;
|
||||
-- Elke 1000 BES een COMMIT!
|
||||
IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF;
|
||||
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 ('DAILY', 'E', v_errormsg, 'BES-loop');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_datum2 := SYSDATE;
|
||||
|
||||
IF v_jaar1 = v_jaar2
|
||||
THEN
|
||||
fac.writelog ('DAILY', 'S', '#Bestellingen geschoond (jaar=' || v_jaar1 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
ELSE
|
||||
fac.writelog ('DAILY', 'S', '#Bestellingen geschoond (jaar=' || v_jaar1 || ' t/m ' || v_jaar2 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
END IF;
|
||||
COMMIT;
|
||||
|
||||
v_count := 0;
|
||||
v_datum1 := SYSDATE;
|
||||
|
||||
-- Fout bepalen jaar tbv. BEZ+RES (aanname dat elk jaar wel 1 bezoeker,
|
||||
-- anders worden ook geen reserveringen geschoond)!
|
||||
v_errormsg := 'Fout bepalen van-jaar!';
|
||||
SELECT MIN (jaar)
|
||||
INTO v_jaar1
|
||||
--FROM mnnl_v_rap_bez_schoning
|
||||
FROM (SELECT DISTINCT jaar FROM mnnl_v_rap_bez_schoning
|
||||
UNION
|
||||
SELECT DISTINCT jaar FROM mnnl_v_rap_res_schoning);
|
||||
|
||||
v_errormsg := 'Fout bepalen tot-jaar!';
|
||||
SELECT MAX (jaar)
|
||||
INTO v_jaar2
|
||||
--FROM mnnl_v_rap_bez_schoning
|
||||
FROM (SELECT DISTINCT jaar FROM mnnl_v_rap_bez_schoning
|
||||
UNION ALL
|
||||
SELECT DISTINCT jaar FROM mnnl_v_rap_res_schoning)
|
||||
WHERE jaar > '1999';
|
||||
|
||||
FOR r IN cbez (v_jaar2)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Fout schonen afspraak: ' || TO_CHAR (r.bez_afspraak_key);
|
||||
bez.remove (r.bez_afspraak_key);
|
||||
v_count := v_count + 1;
|
||||
-- Elke 1000 BEZ een COMMIT!
|
||||
IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF;
|
||||
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 ('DAILY', 'E', v_errormsg, 'BEZ-loop');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_datum2 := SYSDATE;
|
||||
|
||||
IF v_jaar1 = v_jaar2
|
||||
THEN
|
||||
fac.writelog ('DAILY', 'S', '#Afspraken geschoond (jaar=' || v_jaar1 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
ELSE
|
||||
fac.writelog ('DAILY', 'S', '#Afspraken geschoond (jaar=' || v_jaar1 || ' t/m ' || v_jaar2 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
END IF;
|
||||
COMMIT;
|
||||
|
||||
v_count := 0;
|
||||
v_datum1 := SYSDATE;
|
||||
|
||||
-- Fout bepalen jaar (zie BEZ)!
|
||||
|
||||
FOR r IN cres (v_jaar2)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Fout schonen reservering: ' || TO_CHAR (r.res_rsv_ruimte_key);
|
||||
res.remove (r.res_rsv_ruimte_key);
|
||||
v_count := v_count + 1;
|
||||
-- Elke 1000 RES een COMMIT!
|
||||
IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF;
|
||||
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 ('DAILY', 'E', v_errormsg, 'RES-loop');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_datum2 := SYSDATE;
|
||||
|
||||
IF v_jaar1 = v_jaar2
|
||||
THEN
|
||||
fac.writelog ('DAILY', 'S', '#Reserveringen geschoond (jaar=' || v_jaar1 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
ELSE
|
||||
fac.writelog ('DAILY', 'S', '#Reserveringen geschoond (jaar=' || v_jaar1 || ' t/m ' || v_jaar2 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
END IF;
|
||||
COMMIT;
|
||||
|
||||
v_count := 0;
|
||||
v_datum1 := SYSDATE;
|
||||
|
||||
-- Fout bepalen jaar tbv. MLD!
|
||||
v_errormsg := 'Fout bepalen van-jaar!';
|
||||
SELECT MIN (jaar)
|
||||
INTO v_jaar1
|
||||
FROM mnnl_v_rap_mld_schoning;
|
||||
|
||||
v_errormsg := 'Fout bepalen tot-jaar!';
|
||||
SELECT MAX (jaar)
|
||||
INTO v_jaar2
|
||||
FROM mnnl_v_rap_mld_schoning
|
||||
WHERE jaar > '1999';
|
||||
|
||||
v_errormsg := 'Fout bepalen oudste datum!';
|
||||
--SELECT MIN (datum)
|
||||
-- INTO v_datum
|
||||
-- FROM mnnl_v_rap_mld_schoning
|
||||
-- WHERE jaar > '1999';
|
||||
--v_datum := TRUNC (ADD_MONTHS (v_datum, 1), 'mm');
|
||||
--v_datum := TRUNC (ADD_MONTHS (v_datum, 12), 'yyyy');
|
||||
v_datum := fac.safe_to_date ('31-12-' || v_jaar2, 'dd-mm-yyyy');
|
||||
|
||||
FOR r IN cmld (v_datum)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Fout schonen melding: ' || TO_CHAR (r.mld_melding_key);
|
||||
mld.remove (r.mld_melding_key);
|
||||
v_count := v_count + 1;
|
||||
-- Elke 1000 MLD een COMMIT!
|
||||
IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF;
|
||||
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 ('DAILY', 'E', v_errormsg, 'MLD-loop');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_datum2 := SYSDATE;
|
||||
|
||||
--fac.writelog ('DAILY', 'S', '#Meldingen geschoond (maand=' || TO_CHAR (v_datum - 1, 'yyyy-mm') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
--fac.writelog ('DAILY', 'S', '#Meldingen geschoond (jaar=' || TO_CHAR (v_datum - 1, 'yyyy') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
IF v_jaar1 = v_jaar2
|
||||
THEN
|
||||
fac.writelog ('DAILY', 'S', '#Meldingen geschoond (jaar=' || v_jaar1 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
ELSE
|
||||
fac.writelog ('DAILY', 'S', '#Meldingen geschoond (jaar=' || v_jaar1 || ' t/m ' || v_jaar2 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
END IF;
|
||||
COMMIT;
|
||||
/*
|
||||
v_count := 0;
|
||||
v_datum1 := SYSDATE;
|
||||
|
||||
--v_errormsg := 'Fout bepalen oudste datum!';
|
||||
--SELECT MIN (cnt_contract_looptijd_tot)
|
||||
-- INTO v_datum
|
||||
-- FROM mnnl_v_rap_cnt_schoning
|
||||
-- WHERE cnt_contract_looptijd_tot > TO_DATE ( '01-01-1999', 'dd-mm-yyyy');
|
||||
--v_datum := TRUNC (ADD_MONTHS (v_datum, 12), 'yyyy');
|
||||
v_errormsg := 'Fout bepalen van-jaar!';
|
||||
SELECT MIN (cnt_contract_looptijd_tot)
|
||||
INTO v_datum
|
||||
FROM mnnl_v_rap_cnt_schoning;
|
||||
v_jaar1 := TO_CHAR (v_datum, 'yyyy');
|
||||
|
||||
v_errormsg := 'Fout bepalen tot-jaar!';
|
||||
SELECT MAX (cnt_contract_looptijd_tot)
|
||||
INTO v_datum
|
||||
FROM mnnl_v_rap_cnt_schoning;
|
||||
v_jaar2 := TO_CHAR (v_datum, 'yyyy');
|
||||
|
||||
-- Alle te schonen contracten(-dossiers) in 1x!
|
||||
FOR r IN ccnt --(v_datum)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Fout schonen contract: ' || TO_CHAR (r.cnt_contract_key);
|
||||
cnt.remove (r.cnt_contract_key);
|
||||
v_count := v_count + 1;
|
||||
-- Elke 1000 CNT een COMMIT!
|
||||
IF MOD (v_count, 1000) = 0 THEN COMMIT; END IF;
|
||||
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 ('DAILY', 'E', v_errormsg, 'CNT-loop');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_datum2 := SYSDATE;
|
||||
|
||||
--fac.writelog ('DAILY', 'S', '#Contracten geschoond (jaar=' || TO_CHAR (v_datum - 1, 'yyyy') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
IF v_jaar1 = v_jaar2
|
||||
THEN
|
||||
fac.writelog ('DAILY', 'S', '#Contracten geschoond (jaar=' || v_jaar1 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
ELSE
|
||||
fac.writelog ('DAILY', 'S', '#Contracten geschoond (jaar=' || v_jaar1 || ' t/m ' || v_jaar2 || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
END IF;
|
||||
COMMIT;
|
||||
*/
|
||||
END IF;
|
||||
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 ('DAILY', 'E', 'Proces DAILY afgebroken!', v_errormsg);
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user