KFHT#56229 NACHTWERK-export/Inactiveren gebruikers
svn path=/Customer/trunk/; revision=40982
This commit is contained in:
@@ -2,10 +2,8 @@
|
||||
-- $Id$
|
||||
--
|
||||
-- Script containing customer specific db-configuration for KFHT.
|
||||
|
||||
DEFINE thisfile = 'KFHT.SQL'
|
||||
DEFINE dbuser = '^KFHT'
|
||||
DEFINE custid = 'KFHT'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
@@ -922,6 +920,65 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
-- KFHT#56229: Verwijderen inactieve accounts (6 maanden niet ingelogd).
|
||||
CREATE OR REPLACE PROCEDURE kfht_select_nachtwerk (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2)
|
||||
AS
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count NUMBER;
|
||||
BEGIN
|
||||
v_errormsg := 'Fout inactiveren persoon';
|
||||
v_count := 0;
|
||||
|
||||
FOR rec
|
||||
IN ( SELECT p.prs_perslid_key, p.prs_perslid_oslogin, COUNT (vp.prs_perslid_key) aant
|
||||
FROM prs_v_aanwezigperslid p, prs_v_verplichting_keys vp
|
||||
WHERE TO_CHAR (SYSDATE, 'dd') = '01' -- Op 1e van de maand >180d niet ingelogd
|
||||
AND p.prs_perslid_login < TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm')
|
||||
AND p.prs_perslid_key = vp.prs_perslid_key(+) -- Actuele verplichtingen?
|
||||
GROUP BY p.prs_perslid_key, p.prs_perslid_oslogin)
|
||||
LOOP
|
||||
BEGIN
|
||||
IF rec.aant = 0
|
||||
THEN
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_verwijder = SYSDATE
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key;
|
||||
|
||||
v_count := v_count + 1;
|
||||
ELSE
|
||||
fac.writelog (p_applname, 'I',
|
||||
'[' || rec.prs_perslid_oslogin || ']/#Verplichtingen: ' || TO_CHAR (rec.aant),
|
||||
'Persoon niet geïnactiveerd');
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN -- Kennelijk heeft persoon toch nog ernstige verplichtingen!
|
||||
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, 'E',
|
||||
'[' || rec.prs_perslid_oslogin || ']/' || v_errormsg,
|
||||
'Fout inactiveren persoon');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
fac.writelog (p_applname, 'S', '#Personen geïnactiveerd:' || TO_CHAR (v_count), '');
|
||||
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 kfht_select_nachtwerk;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW KFHT_V_NOTI_MLD_WVGREMINDER
|
||||
(
|
||||
CODE,
|
||||
@@ -948,17 +1005,16 @@ AS
|
||||
FROM mld_kenmerkmelding mk,
|
||||
mld_kenmerk k,
|
||||
mld_melding m,
|
||||
mld_stdmelding std,
|
||||
mld_stdmelding sm,
|
||||
mld_discipline md,
|
||||
ins_srtdiscipline msd
|
||||
WHERE k.mld_kenmerk_key = mk.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 122 --Begindatum
|
||||
WHERE k.mld_kenmerk_key = mk.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 122 -- Begindatum
|
||||
AND k.mld_kenmerk_verwijder IS NULL
|
||||
AND fac.safe_to_date (mld_kenmerkmelding_waarde, 'DD-MM-YYYY') =
|
||||
TRUNC (SYSDATE) + 2
|
||||
AND fac.safe_to_date (mld_kenmerkmelding_waarde, 'DD-MM-YYYY') = TRUNC (SYSDATE) + 2
|
||||
AND m.mld_melding_key = mk.mld_melding_key
|
||||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||||
AND std.mld_ins_discipline_key = md.ins_discipline_key
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||||
AND md.ins_discipline_key = 208 -- Aanvraag werkvergunning
|
||||
AND md.ins_srtdiscipline_key = msd.ins_srtdiscipline_key
|
||||
AND m.mld_melding_status NOT IN (1, 5, 6)
|
||||
|
||||
Reference in New Issue
Block a user