AAIT#90164 -- Voor BFNL - Locatiemanagers automatisch mandaat en wp's krijgen - Methodiek uit oude BLOS-omgeving overnemen
svn path=/Customer/trunk/; revision=71093
This commit is contained in:
409
AA/BFNL/bfnl.sql
409
AA/BFNL/bfnl.sql
@@ -91,29 +91,31 @@ AS
|
||||
k.prs_kostenplaats_nr || ' - oud!'
|
||||
ELSE
|
||||
k.prs_kostenplaats_nr
|
||||
END
|
||||
prs_kostenplaats_nr,
|
||||
END
|
||||
prs_kostenplaats_nr,
|
||||
k.prs_kostenplaats_verwijder,
|
||||
CASE
|
||||
WHEN ( prs_kostenplaats_verwijder IS NOT NULL
|
||||
OR ( prs_kostenplaats_eind IS NOT NULL
|
||||
AND prs_kostenplaats_eind < TRUNC (SYSDATE)))
|
||||
THEN
|
||||
NULL
|
||||
ELSE
|
||||
'oud!'
|
||||
ELSE
|
||||
NULL
|
||||
END
|
||||
prs_kostenplaats_actueel,
|
||||
k.prs_kostenplaats_omschrijving
|
||||
FROM prs_kostenplaats k;
|
||||
|
||||
-- Lijst van Locatieleiders (tbv domeinview)
|
||||
-- Lijst van Locatieverantwoordelijke (tbv domeinview)
|
||||
CREATE OR REPLACE VIEW bfnl_v_personenlijst_loc
|
||||
(
|
||||
PRS_PERSLID_KEY,
|
||||
NAAM,
|
||||
PERSONEELSNUMMER,
|
||||
EMAIL,
|
||||
ROL_LOC_VERANTWOORDELIJKE,
|
||||
PRS_PERSLID_INACTIEF,
|
||||
PRS_PERSLID_VERWIJDER
|
||||
)
|
||||
AS
|
||||
@@ -126,9 +128,12 @@ AS
|
||||
naam,
|
||||
p.prs_perslid_nr,
|
||||
p.prs_perslid_email,
|
||||
pr.rol_loc_verantwoordelijke,
|
||||
p.prs_perslid_inactief,
|
||||
p.prs_perslid_verwijder
|
||||
FROM
|
||||
prs_perslid p,
|
||||
(SELECT prs_link_key, prs_kenmerklink_waarde rol_loc_verantwoordelijke FROM prs_kenmerklink WHERE prs_kenmerk_key = 1121 AND prs_kenmerklink_niveau = 'P' AND prs_kenmerklink_verwijder IS NULL) pr, -- rol locatieverantwoordelijke
|
||||
prs_srtperslid sp,
|
||||
prs_v_afdeling a,
|
||||
prs_bedrijf b
|
||||
@@ -137,8 +142,7 @@ AS
|
||||
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_key = 541 -- bedrijfs_key Babilou Family NL
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND sp.prs_srtperslid_key IN (544, 543, 542) --- LOCATIEMANAGER (key 544) + ASSISTENT LOCATIEMANAGER (key 543) + REGIOEMANAGER (key 542)
|
||||
-- AND p.prs_perslid_verwijder IS NULL
|
||||
AND p.prs_perslid_key = pr.prs_link_key
|
||||
ORDER BY sp.prs_srtperslid_omschrijving, p.prs_perslid_voornaam, p.prs_perslid_naam
|
||||
;
|
||||
|
||||
@@ -149,6 +153,8 @@ CREATE OR REPLACE VIEW bfnl_v_personenlijst_clus
|
||||
NAAM,
|
||||
PERSONEELSNUMMER,
|
||||
EMAIL,
|
||||
ROL_LOC_VERANTWOORDELIJKE,
|
||||
PRS_PERSLID_INACTIEF,
|
||||
PRS_PERSLID_VERWIJDER
|
||||
)
|
||||
AS
|
||||
@@ -161,9 +167,12 @@ AS
|
||||
naam,
|
||||
p.prs_perslid_nr,
|
||||
p.prs_perslid_email,
|
||||
pr.rol_regio_verantwoordelijke,
|
||||
p.prs_perslid_inactief,
|
||||
p.prs_perslid_verwijder
|
||||
FROM
|
||||
prs_perslid p,
|
||||
(SELECT prs_link_key, prs_kenmerklink_waarde rol_regio_verantwoordelijke FROM prs_kenmerklink WHERE prs_kenmerk_key = 1122 AND prs_kenmerklink_niveau = 'P' AND prs_kenmerklink_verwijder IS NULL) pr, -- rol regioverantwoordelijke
|
||||
prs_srtperslid sp,
|
||||
prs_v_afdeling a,
|
||||
prs_bedrijf b
|
||||
@@ -172,12 +181,11 @@ AS
|
||||
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_key = 541 -- bedrijfs_key Babilou Family NL
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND sp.prs_srtperslid_key = 542 --- REGIOEMANAGER
|
||||
-- AND p.prs_perslid_verwijder IS NULL
|
||||
ORDER BY p.prs_perslid_naam
|
||||
AND p.prs_perslid_key = pr.prs_link_key
|
||||
ORDER BY sp.prs_srtperslid_omschrijving, p.prs_perslid_voornaam, p.prs_perslid_naam
|
||||
;
|
||||
|
||||
-- Lijst van Locatieleiders/Vervangers en de locaties waar men verantwoordelijk voor is)
|
||||
-- Lijst van Locatieleiders/Vervangers en de locaties waar men verantwoordelijk voor is omdat ze in de locatie/gebouw-kaart gekoppeld zijn
|
||||
CREATE OR REPLACE VIEW bfnl_v_locatiemanagers
|
||||
(
|
||||
PRS_PERSLID_KEY,
|
||||
@@ -217,7 +225,8 @@ CREATE OR REPLACE VIEW bfnl_v_locatiemanagers_wp
|
||||
ALG_LOCATIE_KEY,
|
||||
NAAM,
|
||||
LOCATIE_WP,
|
||||
PRS_WERKPLEK_KEY
|
||||
PRS_WERKPLEK_KEY,
|
||||
PRS_WERKPLEK_VIRTUEEL
|
||||
)
|
||||
AS
|
||||
SELECT wp.prs_perslid_key,
|
||||
@@ -229,7 +238,8 @@ AS
|
||||
naam,
|
||||
l.alg_locatie_code || ' - ' || l.alg_locatie_omschrijving
|
||||
locatie,
|
||||
w.prs_werkplek_key
|
||||
w.prs_werkplek_key,
|
||||
w.prs_werkplek_virtueel
|
||||
FROM (
|
||||
SELECT prs_perslid_key
|
||||
FROM (SELECT *
|
||||
@@ -248,6 +258,7 @@ AS
|
||||
ORDER BY wp.prs_perslid_key
|
||||
;
|
||||
|
||||
|
||||
-- Nog 2 bronviews nodig voor procedure:
|
||||
--- Bronview: Alle locaties met haar kostenplaats(en): bfnl_v_locaties_kp
|
||||
--- Bronview: Alle werkplek-koppeling per locatiemanager en de kp's die daarbij vanuit locatiekaart bijhoren: bfnl_v_locaties_wp_kp
|
||||
@@ -304,6 +315,20 @@ AS
|
||||
kp.prs_kostenplaats_key
|
||||
AND alg_onrgoed_niveau = 'G'
|
||||
AND kw.alg_kenmerk_key = 1186 -- kostenplaats-3
|
||||
UNION
|
||||
SELECT l.alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostenplaats_eind,
|
||||
prs_kostenplaats_verwijder
|
||||
FROM alg_locatie l, alg_gebouw g, alg_onrgoedkenmerk kw, prs_kostenplaats kp
|
||||
WHERE kw.alg_onrgoed_key = g.alg_gebouw_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
|
||||
kp.prs_kostenplaats_key
|
||||
AND alg_onrgoed_niveau = 'G'
|
||||
AND kw.alg_kenmerk_key = 1241 -- kostenplaats-4
|
||||
;
|
||||
|
||||
-- BRONVIEW: Alle werkplek-koppeling per locatiemanager en de kp's die daarbij vanuit locatie/gebouwkaart bijhoren
|
||||
@@ -312,6 +337,7 @@ CREATE OR REPLACE VIEW bfnl_v_locaties_wp_kp
|
||||
prs_perslid_key,
|
||||
prs_perslid_naam,
|
||||
prs_srtperslid_omschrijving,
|
||||
rol_loc_verantwoordelijke,
|
||||
prs_perslidwerkplek_key,
|
||||
alg_locatie_omschrijving,
|
||||
alg_locatie_key,
|
||||
@@ -322,6 +348,7 @@ AS
|
||||
SELECT v.prs_perslid_key,
|
||||
p.prs_perslid_naam,
|
||||
sp.prs_srtperslid_omschrijving,
|
||||
pr.rol_loc_verantwoordelijke,
|
||||
v.prs_perslidwerkplek_key,
|
||||
l.alg_locatie_omschrijving,
|
||||
lkp.alg_locatie_key,
|
||||
@@ -330,16 +357,364 @@ AS
|
||||
FROM prs_v_werkplekperslid_gegevens v,
|
||||
alg_locatie l,
|
||||
prs_perslid p,
|
||||
(SELECT prs_link_key, prs_kenmerklink_waarde rol_loc_verantwoordelijke FROM prs_kenmerklink WHERE prs_kenmerk_key = 1121 AND prs_kenmerklink_niveau = 'P' AND prs_kenmerklink_verwijder IS NULL) pr, -- rol locatieverantwoordelijke
|
||||
prs_srtperslid sp,
|
||||
bfnl_v_locaties_kp lkp
|
||||
WHERE v.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND p.prs_perslid_key = pr.prs_link_key(+)
|
||||
AND v.alg_locatie_key = l.alg_locatie_key
|
||||
AND v.alg_locatie_key = lkp.alg_locatie_key(+)
|
||||
AND INSTR(prs_srtperslid_upper,'LOCATIEMANAGER') > 0 ;
|
||||
AND v.alg_locatie_key = lkp.alg_locatie_key(+) ;
|
||||
|
||||
-- VOOR REGIOMANAGERS - DE VIEWS
|
||||
|
||||
-- Lijst van regiomanagers en de locaties waar men verantwoordelijk voor is omdat ze in de districtkaart zijn gekoppeld
|
||||
CREATE OR REPLACE VIEW bfnl_v_regiomanagers
|
||||
(
|
||||
PRS_PERSLID_KEY,
|
||||
ALG_LOCATIE_KEY,
|
||||
REGIOMANAGER,
|
||||
LOCATIE, -- voor BFNL de personen op GEBOUW gekoppeld en de naam locatie wel op locatieniveau
|
||||
PRS_PERSLID_VERWIJDER
|
||||
)
|
||||
AS
|
||||
SELECT p.prs_perslid_key,
|
||||
l.alg_locatie_key,
|
||||
p.prs_perslid_naam || ' (' || p.prs_perslid_voornaam || ' ' || p.prs_perslid_tussenvoegsel || ') - ' || sp.prs_srtperslid_omschrijving
|
||||
regiomanager,
|
||||
l.alg_locatie_code || ' - ' || l.alg_locatie_omschrijving
|
||||
locatie,
|
||||
p.prs_perslid_verwijder
|
||||
FROM prs_perslid p, prs_srtperslid sp, alg_onrgoedkenmerk ok, alg_locatie l, alg_district d
|
||||
WHERE fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = p.prs_perslid_key
|
||||
AND ok.alg_kenmerk_key IN (1200) -- regiomanager
|
||||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||||
AND ok.alg_onrgoed_niveau = 'D' AND ok.alg_onrgoed_key = d.alg_district_key
|
||||
AND d.alg_district_key = l.alg_district_key
|
||||
AND l.alg_locatie_verwijder IS NULL
|
||||
AND (TRUNC(l.alg_locatie_vervaldatum) > TRUNC(sysdate) OR l.alg_locatie_vervaldatum IS NULL )
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key ;
|
||||
|
||||
--- DE PROCEDURE om voor de Locatiemanagers/verantwoordelijke van de Locaties/Gebouwen de juiste LOCATIES te koppelen als werkplek
|
||||
CREATE OR REPLACE VIEW bfnl_v_export_wp_loc_manager
|
||||
(
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT '"SYNC - Werkplekkoppeling Locatieverantwoordelijke (incl. zijn/haar Mandaten)"'
|
||||
|| ';"Uitgevoerd"',
|
||||
0
|
||||
FROM DUAL
|
||||
UNION
|
||||
SELECT 'ERROR: Datum '|| TO_CHAR(imp_log_datum) || ' - ' || imp_log_omschrijving || ' - ' || imp_log_hint,
|
||||
1
|
||||
FROM imp_log
|
||||
WHERE imp_log_applicatie = 'WP_LOC_MANAGER' ;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE bfnl_select_wp_loc_manager (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2)
|
||||
AS
|
||||
-- Werkplekkoppelingen toevoegen
|
||||
CURSOR c_loc_wp -- Voor updaten van locatieverantwoordelijke (werkplek-koppelingen)
|
||||
IS
|
||||
SELECT v.prs_perslid_key,
|
||||
v.alg_locatie_key,
|
||||
v.prs_werkplek_key,
|
||||
v.actie
|
||||
FROM (SELECT man.prs_perslid_key,
|
||||
man.alg_locatie_key,
|
||||
NULL prs_werkplek_key,
|
||||
'toevoegen' actie
|
||||
FROM bfnl_v_locatiemanagers man
|
||||
WHERE NOT EXISTS
|
||||
(SELECT *
|
||||
FROM bfnl_v_locatiemanagers_wp wp
|
||||
WHERE wp.alg_locatie_key =
|
||||
man.alg_locatie_key
|
||||
AND wp.prs_perslid_key =
|
||||
man.prs_perslid_key)
|
||||
UNION
|
||||
SELECT wp.prs_perslid_key,
|
||||
wp.alg_locatie_key,
|
||||
wp.prs_werkplek_key,
|
||||
'verwijderen' actie
|
||||
FROM bfnl_v_locatiemanagers_wp wp
|
||||
WHERE NOT EXISTS
|
||||
(SELECT *
|
||||
FROM bfnl_v_locatiemanagers man
|
||||
WHERE man.alg_locatie_key =
|
||||
wp.alg_locatie_key
|
||||
AND man.prs_perslid_key =
|
||||
wp.prs_perslid_key)
|
||||
AND NOT EXISTS -- voor de regiomanagers die via de normale weg in de cluster-kaart zijn gekoppeld, moeten de werkplek-koppelingen natuurlijk niet verwijderd worden
|
||||
(SELECT *
|
||||
FROM bfnl_v_regiomanagers man
|
||||
WHERE man.alg_locatie_key =
|
||||
wp.alg_locatie_key
|
||||
AND man.prs_perslid_key =
|
||||
wp.prs_perslid_key)
|
||||
UNION
|
||||
SELECT wp.prs_perslid_key,
|
||||
wp.alg_locatie_key,
|
||||
wp.prs_werkplek_key,
|
||||
'ok' actie
|
||||
FROM bfnl_v_locatiemanagers_wp wp,
|
||||
bfnl_v_locatiemanagers man
|
||||
WHERE man.alg_locatie_key = wp.alg_locatie_key
|
||||
AND man.prs_perslid_key = wp.prs_perslid_key) v
|
||||
ORDER BY 1, 2, 3;
|
||||
|
||||
CURSOR c_loc_kp -- Voor updaten van locatieverantwoordelijke en mandaten op kostenplaatsen
|
||||
IS
|
||||
SELECT w.prs_perslid_key, w.alg_locatie_key, w.prs_kostenplaats_key, p.prs_perslid_email, kp.prs_kostenplaats_omschrijving
|
||||
FROM ( SELECT v_prs.prs_perslid_key,
|
||||
v_prs.alg_locatie_key,
|
||||
v_kp.prs_kostenplaats_key
|
||||
FROM bfnl_v_locatiemanagers v_prs, bfnl_v_locaties_kp v_kp
|
||||
WHERE v_prs.alg_locatie_key = v_kp.alg_locatie_key
|
||||
GROUP BY v_prs.prs_perslid_key,
|
||||
v_prs.alg_locatie_key,
|
||||
v_kp.prs_kostenplaats_key) w,
|
||||
prs_perslid p, prs_kostenplaats kp
|
||||
WHERE w.prs_perslid_key = p.prs_perslid_key AND w.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||||
ORDER BY 1, 2, 3;
|
||||
|
||||
CURSOR c_loc_kp_del -- Voor deleten van mandaten die niet meer van toepassing zijn
|
||||
IS
|
||||
SELECT pk.prs_perslid_key, pk.prs_perslidkostenplaats_key, p.prs_perslid_email, kp.prs_kostenplaats_omschrijving
|
||||
FROM prs_perslidkostenplaats pk, prs_perslid p, prs_kostenplaats kp
|
||||
WHERE
|
||||
pk.prs_perslid_key = p.prs_perslid_key AND pk.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||||
AND NOT EXISTS
|
||||
( SELECT v_prs.prs_perslid_key,
|
||||
v_kp.prs_kostenplaats_key
|
||||
FROM bfnl_v_locatiemanagers v_prs,
|
||||
bfnl_v_locaties_kp v_kp
|
||||
WHERE v_prs.alg_locatie_key = v_kp.alg_locatie_key
|
||||
AND v_prs.prs_perslid_key = pk.prs_perslid_key
|
||||
AND v_kp.prs_kostenplaats_key = pk.prs_kostenplaats_key
|
||||
GROUP BY v_prs.prs_perslid_key,
|
||||
v_kp.prs_kostenplaats_key)
|
||||
AND pk.prs_perslid_key IN (SELECT d.prs_perslid_key FROM bfnl_v_personenlijst_loc d WHERE p.prs_perslid_verwijder IS NULL AND INSTR(d.naam, 'Regiomanager')=0) -- kijken alleen naar locatieverantwoordelijke
|
||||
ORDER BY 1, 2 ;
|
||||
|
||||
CURSOR c_loc_recht -- -- Voor onderhouden van de locatiemanagers in de autorisatiegroepen
|
||||
IS
|
||||
SELECT p.prs_perslid_key, p.naam,
|
||||
(SELECT count(*) FROM prs_perslidwerkplek wp WHERE wp.prs_perslid_key = p.prs_perslid_key) aantal_wp,
|
||||
(SELECT count(*) FROM fac_gebruikersgroep gg WHERE gg.prs_perslid_key = p.prs_perslid_key AND gg.fac_groep_key = 461) groep
|
||||
FROM bfnl_v_personenlijst_loc p
|
||||
WHERE p.prs_perslid_verwijder IS NULL AND INSTR(p.naam, 'Regiomanager')=0 -- uitsluiten regiomanagers
|
||||
ORDER BY 1 ;
|
||||
|
||||
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
oracle_err_num NUMBER;
|
||||
currentversion fac_module.fac_module_version%TYPE;
|
||||
v_aanduiding VARCHAR2 (1000);
|
||||
v_count NUMBER;
|
||||
|
||||
|
||||
v_alg_ruimte_key NUMBER;
|
||||
v_prs_perslidkostenplaats_key NUMBER (10);
|
||||
v_teller_mandaat NUMBER (10);
|
||||
v_upsert_sync NUMBER(1);
|
||||
c_fac_groep_key NUMBER(10) := 461 ; -- standaard autorisatiegroep voor Locatiemanagers BFNL
|
||||
|
||||
|
||||
BEGIN
|
||||
v_count := 0;
|
||||
|
||||
FOR rec IN c_loc_wp
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Werkplekkoppelingen op basis van de locaties waar men locatieleider van is
|
||||
v_aanduiding :=
|
||||
'bijwerken werkplekkoppelingen locatiemanager - perslid_key:'
|
||||
|| TO_CHAR (rec.prs_perslid_key);
|
||||
|
||||
v_upsert_sync := 0 ;
|
||||
|
||||
IF rec.actie = 'toevoegen'
|
||||
THEN
|
||||
v_errorhint :=
|
||||
'actie toevoegen werkplek - loc-key: '
|
||||
|| TO_CHAR (rec.alg_locatie_key);
|
||||
|
||||
BEGIN
|
||||
SELECT MIN (r.alg_ruimte_key)
|
||||
INTO v_alg_ruimte_key
|
||||
FROM alg_ruimte r, alg_verdieping v, alg_gebouw g
|
||||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND r.alg_ruimte_verwijder IS NULL
|
||||
AND v.alg_verdieping_verwijder IS NULL
|
||||
AND g.alg_gebouw_verwijder IS NULL
|
||||
AND g.alg_locatie_key = rec.alg_locatie_key;
|
||||
|
||||
IF v_alg_ruimte_key IS NOT NULL
|
||||
THEN
|
||||
-- PROCEDURE movetoruimte (p_prs_key IN NUMBER, p_ruimte_key IN NUMBER, p_alg_type IN VARCHAR2, p_virtual IN NUMBER DEFAULT 0);
|
||||
BEGIN
|
||||
PRS.movetoruimte (rec.prs_perslid_key,
|
||||
v_alg_ruimte_key,
|
||||
'L',
|
||||
1);
|
||||
|
||||
v_upsert_sync := 1 ;
|
||||
|
||||
END;
|
||||
END IF;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
IF rec.actie = 'verwijderen'
|
||||
THEN
|
||||
v_errorhint :=
|
||||
'actie verwijderen werkplek - loc-key: '
|
||||
|| TO_CHAR (rec.alg_locatie_key);
|
||||
|
||||
DELETE prs_werkplek
|
||||
WHERE prs_werkplek_key = rec.prs_werkplek_key;
|
||||
|
||||
v_upsert_sync := 1 ;
|
||||
|
||||
END IF;
|
||||
|
||||
-- In personenkaart nog even vermelden wanneer deze vanuit de WP-sync voor het laatst zijn gemuteerd
|
||||
IF v_upsert_sync = 1
|
||||
THEN
|
||||
|
||||
PRS.upsertkenmerk (1140, rec.prs_perslid_key, TO_CHAR(sysdate, 'dd-mm-yyyy HH24:MI'));
|
||||
|
||||
END IF;
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.writelog (p_applname,
|
||||
'E',
|
||||
v_aanduiding || ' - ' || v_errormsg,
|
||||
v_errorhint);
|
||||
|
||||
END;
|
||||
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_loc_kp
|
||||
LOOP
|
||||
BEGIN
|
||||
-- kostenplaatsen en mandaat
|
||||
v_aanduiding :=
|
||||
'bijwerken mandaten locatiemanager - perslid_key:'
|
||||
|| TO_CHAR (rec.prs_perslid_key);
|
||||
|
||||
|
||||
-- Alle mandaten goed inregelen
|
||||
|
||||
SELECT COUNT(*)
|
||||
INTO v_teller_mandaat
|
||||
FROM prs_perslidkostenplaats
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key
|
||||
AND prs_kostenplaats_key = rec.prs_kostenplaats_key ;
|
||||
|
||||
IF v_teller_mandaat = 0
|
||||
THEN
|
||||
|
||||
v_errorhint :=
|
||||
'bijwerken kostenplaats-mandaat - kostenplaat_key'
|
||||
|| TO_CHAR (rec.prs_kostenplaats_key);
|
||||
|
||||
|
||||
INSERT INTO prs_perslidkostenplaats (
|
||||
prs_perslidkostenplaats_boeken,
|
||||
prs_perslidkostenplaats_inzage,
|
||||
prs_perslid_key,
|
||||
prs_kostenplaats_key)
|
||||
VALUES (1,
|
||||
1,
|
||||
rec.prs_perslid_key,
|
||||
rec.prs_kostenplaats_key);
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_loc_kp_del
|
||||
LOOP
|
||||
BEGIN
|
||||
-- opschonen mandaten die niet meer geldig zijn
|
||||
v_aanduiding :=
|
||||
'verwijderen mandaten locatiemanager - perslid_key:'
|
||||
|| TO_CHAR (rec.prs_perslid_key);
|
||||
v_errorhint := 'verwijderen mandaten die niet meer geldig zijn';
|
||||
|
||||
DELETE FROM prs_perslidkostenplaats
|
||||
WHERE prs_perslidkostenplaats_key =
|
||||
rec.prs_perslidkostenplaats_key;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_loc_recht
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Alle managers zonder WP's uit de autorisatiegroep Locatiemanagers halen (key 24)
|
||||
v_aanduiding :=
|
||||
'bijwerken locatiemanager - perslid_key:'
|
||||
|| TO_CHAR (rec.prs_perslid_key);
|
||||
|
||||
v_errorhint := 'verwijderen locatiemanager uit autorisatiegroep';
|
||||
|
||||
IF rec.aantal_wp = 0 AND rec.groep = 1
|
||||
THEN
|
||||
|
||||
DELETE
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key = c_fac_groep_key AND prs_perslid_key = rec.prs_perslid_key ;
|
||||
|
||||
END IF;
|
||||
|
||||
v_errorhint := 'toevoegen locatiemanagers aan autorisatiegroep';
|
||||
|
||||
IF rec.aantal_wp > 0 AND rec.groep = 0
|
||||
THEN
|
||||
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key,
|
||||
prs_perslid_key)
|
||||
VALUES (c_fac_groep_key,
|
||||
rec.prs_perslid_key) ;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes;
|
||||
fac.writelog (p_applname,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_aanduiding || ' - HINT: ' || v_errorhint);
|
||||
END;
|
||||
/
|
||||
|
||||
--- DE PROCEDURE om voor de Locatiemanagers van de CLUSTERS de juiste CLUSTER-LOCATIES te koppelen als werkplek
|
||||
---- NOG GOED INPASSEN IOM HEYDAY - SANDER VOGELS
|
||||
|
||||
-------------------
|
||||
-- RAPPORTAGES ---
|
||||
|
||||
Reference in New Issue
Block a user