diff --git a/CSUN/CSUN.sql b/CSUN/CSUN.sql index 4703888c6..57eae5e58 100644 --- a/CSUN/CSUN.sql +++ b/CSUN/CSUN.sql @@ -8363,7 +8363,78 @@ EXCEPTION END csun_update_perslid; / +CREATE OR REPLACE PROCEDURE csun_post_update_perslid (p_import_key IN NUMBER) +IS + oracle_err_num NUMBER; + oracle_err_mes VARCHAR2 (200); + v_errormsg VARCHAR2 (400); + v_errorhint VARCHAR2 (400); + CURSOR cperslid IS + SELECT i.prs_perslid_key, + i.prs_perslid_naam, + i.prs_perslid_tussenvoegsel, + i.prs_perslid_voornaam, + i.prs_perslid_voorletters, + i.prs_perslid_email, + i.prs_perslid_oslogin, + i.prs_srtperslid_omschrijving, + i.prs_afdeling_naam, + i.prs_kenmerk1, + i.prs_kenmerk2, + i.prs_kenmerk3 + FROM fac_imp_perslid i + WHERE i.prs_perslid_oslogin IS NOT NULL + GROUP BY i.prs_perslid_key, + i.prs_perslid_naam, + i.prs_perslid_tussenvoegsel, + i.prs_perslid_voornaam, + i.prs_perslid_voorletters, + i.prs_perslid_email, + i.prs_perslid_oslogin, + i.prs_srtperslid_omschrijving, + i.prs_afdeling_naam, + i.prs_kenmerk1, + i.prs_kenmerk2, + i.prs_kenmerk3; +BEGIN + FOR rec IN cperslid + LOOP + BEGIN + v_errorhint := + 'Toevoegen autorisaties ' || rec.prs_perslid_oslogin; + + IF rec.prs_perslid_key IS NOT NULL + THEN + IF rec.prs_kenmerk1 = '1' + THEN + INSERT INTO fac_gebruikersgroep (prs_perslid_key, + fac_groep_key) + VALUES (rec.prs_perslid_key, 61); --Autorisatiegroep Klant 1 (Alle vakgroepen) + END IF; + + IF rec.prs_kenmerk2 = '1' + THEN + INSERT INTO fac_gebruikersgroep (prs_perslid_key, + fac_groep_key) + VALUES (rec.prs_perslid_key, 601); --Autorisatiegroep Klant 2 (Schoonmaak) + END IF; + + IF rec.prs_kenmerk3 = '1' + THEN + INSERT INTO fac_gebruikersgroep (prs_perslid_key, + fac_groep_key) + VALUES (rec.prs_perslid_key, 641); --Autorisatiegroep Klant 3 (Contractmutaties) + END IF; + + v_errorhint := + 'Opschonen telefoonnr ' || rec.prs_perslid_oslogin; + + UPDATE prs_perslid + SET prs_perslid_telefoonnr = NULL + WHERE prs_perslid_key = rec.prs_perslid_key; + END IF; + END; END LOOP; EXCEPTION WHEN OTHERS