HSLE#74337 IFW-koppeling/Toekennen autorisatiegroep (via DAILY)
svn path=/Customer/trunk/; revision=58383
This commit is contained in:
@@ -25,6 +25,7 @@ SET DEFINE OFF
|
||||
CREATE OR REPLACE PACKAGE HSLE
|
||||
AS
|
||||
PROCEDURE schonen_accounts;
|
||||
PROCEDURE update_fegroep;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -111,6 +112,64 @@ AS
|
||||
fac.writelog ('HSLE_SCHONEN', 'E', v_errormsg, '');
|
||||
COMMIT;
|
||||
END schonen_accounts;
|
||||
|
||||
-- HSLE#74337: Toekennen medewerkers aan groep 302=FE - Medewerker!
|
||||
PROCEDURE update_fegroep
|
||||
AS
|
||||
c_applname VARCHAR2 (50) := 'UPDATE_FEGROEP';
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count NUMBER;
|
||||
v_datum1 DATE;
|
||||
v_datum2 DATE;
|
||||
|
||||
CURSOR c_medewerkers
|
||||
IS
|
||||
SELECT '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || pf.prs_perslid_naam_full || '] '
|
||||
aanduiding,
|
||||
p.prs_perslid_key
|
||||
FROM prs_v_aanwezigperslid p, prs_v_perslid_fullnames_all pf
|
||||
WHERE INSTR (UPPER (COALESCE (p.prs_perslid_email, 'x')), '@STUDENT.HSLEIDEN.NL') = 0 -- HSLE#73333: Medewerker als email <> @student.hsleiden.nl (of leeg)!
|
||||
AND p.prs_perslid_externid IS NOT NULL
|
||||
AND SUBSTR (COALESCE (p.prs_perslid_oslogin, 'x'), 1, 1) <> '_'
|
||||
AND p.prs_perslid_apikey IS NULL -- Voor de zekerheid!
|
||||
AND p.prs_perslid_key > 10 -- Voor de zekerheid!
|
||||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key = 302 -- FE - Medewerker
|
||||
AND prs_perslid_key = p.prs_perslid_key)
|
||||
ORDER BY prs_perslid_key;
|
||||
BEGIN
|
||||
v_count := 0;
|
||||
v_datum1 := SYSDATE;
|
||||
|
||||
FOR rec IN c_medewerkers
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Fout toevoegen autorisatiegroep';
|
||||
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||||
VALUES (302, rec.prs_perslid_key);
|
||||
|
||||
v_count := v_count + 1;
|
||||
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 (c_applname, 'E', rec.aanduiding || v_errormsg, '');
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_datum2 := SYSDATE;
|
||||
fac.writelog (c_applname, 'S', 'FE - Medewerker/#toegekend: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
COMMIT;
|
||||
END update_fegroep;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -122,6 +181,9 @@ AS
|
||||
BEGIN
|
||||
-- Verwijder medewerkers 7 dagen na einddatum (in het verleden)!
|
||||
hsle.schonen_accounts ();
|
||||
|
||||
-- HSLE#74337: Toekennen medewerkers aan groep 302=FE - Medewerker!
|
||||
hsle.update_fegroep ();
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
|
||||
Reference in New Issue
Block a user