IMPU#87499 -- Herziening medewerkerskoppeling AFAS ivm integratie GMK - Aanvulling medewerkers en locatiemanagers Akros en Combiwel

svn path=/Customer/trunk/; revision=69153
This commit is contained in:
Jos Migo
2025-05-27 07:34:25 +00:00
parent 4cd4b397d6
commit 83668161f9

View File

@@ -231,6 +231,110 @@ AS
AND onr.alg_locatie_key = l.alg_locatie_key
ORDER BY wp.prs_perslid_key ;
-- BRONVIEW: Alle locaties met haar kostenplaats(en)
CREATE OR REPLACE VIEW impu_v_locaties_kp
(
alg_locatie_key,
alg_locatie_omschrijving,
kostenplaats_opvangsoort,
prs_kostenplaats_key,
prs_kostenplaats_nr,
prs_kostenplaats_omschrijving,
prs_kostenplaats_eind,
prs_kostenplaats_verwijder
)
AS
SELECT alg_locatie_key,
alg_locatie_omschrijving,
'kostenplaats kdv' kostenplaats_opvangsoort,
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
prs_kostenplaats_nr,
prs_kostenplaats_omschrijving,
prs_kostenplaats_eind,
prs_kostenplaats_verwijder
FROM alg_locatie l, alg_onrgoedkenmerk kw, prs_kostenplaats kp
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
kp.prs_kostenplaats_key
AND alg_onrgoed_niveau = 'L'
AND kw.alg_kenmerk_key = 1021 -- kostenplaats-1
UNION
SELECT alg_locatie_key,
alg_locatie_omschrijving,
'kostenplaats vo' kostenplaats_opvangsoort,
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
prs_kostenplaats_nr,
prs_kostenplaats_omschrijving,
prs_kostenplaats_eind,
prs_kostenplaats_verwijder
FROM alg_locatie l, alg_onrgoedkenmerk kw, prs_kostenplaats kp
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
kp.prs_kostenplaats_key
AND alg_onrgoed_niveau = 'L'
AND kw.alg_kenmerk_key = 1022 -- kostenplaats-2
UNION
SELECT alg_locatie_key,
alg_locatie_omschrijving,
'kostenplaats bso' kostenplaats_opvangsoort,
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
prs_kostenplaats_nr,
prs_kostenplaats_omschrijving,
prs_kostenplaats_eind,
prs_kostenplaats_verwijder
FROM alg_locatie l, alg_onrgoedkenmerk kw, prs_kostenplaats kp
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
kp.prs_kostenplaats_key
AND alg_onrgoed_niveau = 'L'
AND kw.alg_kenmerk_key = 1023 -- kostenplaats-3
UNION
SELECT alg_locatie_key,
alg_locatie_omschrijving,
'kostenplaats vo2' kostenplaats_opvangsoort,
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
prs_kostenplaats_nr,
prs_kostenplaats_omschrijving,
prs_kostenplaats_eind,
prs_kostenplaats_verwijder
FROM alg_locatie l, alg_onrgoedkenmerk kw, prs_kostenplaats kp
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
kp.prs_kostenplaats_key
AND alg_onrgoed_niveau = 'L'
AND kw.alg_kenmerk_key = 1080 -- kostenplaats-4
UNION
SELECT alg_locatie_key,
alg_locatie_omschrijving,
'kostenplaats welzijn' kostenplaats_opvangsoort,
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
prs_kostenplaats_nr,
prs_kostenplaats_omschrijving,
prs_kostenplaats_eind,
prs_kostenplaats_verwijder
FROM alg_locatie l, alg_onrgoedkenmerk kw, prs_kostenplaats kp
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
kp.prs_kostenplaats_key
AND alg_onrgoed_niveau = 'L'
AND kw.alg_kenmerk_key = 1120 -- kostenplaats-4
UNION
SELECT alg_locatie_key,
alg_locatie_omschrijving,
'kostenplaats ssc' kostenplaats_opvangsoort,
kw.alg_onrgoedkenmerk_waarde prs_kostenplaats_key,
prs_kostenplaats_nr,
prs_kostenplaats_omschrijving,
prs_kostenplaats_eind,
prs_kostenplaats_verwijder
FROM alg_locatie l, alg_onrgoedkenmerk kw, prs_kostenplaats kp
WHERE kw.alg_onrgoed_key = l.alg_locatie_key
AND fac.safe_to_number (kw.alg_onrgoedkenmerk_waarde) =
kp.prs_kostenplaats_key
AND alg_onrgoed_niveau = 'L'
AND kw.alg_kenmerk_key = 1140 -- kostenplaats-5
;
CREATE OR REPLACE VIEW impu_v_ict_nummers
(
INS_DEEL_KEY,
@@ -257,8 +361,11 @@ AS
-- overige variabelen
v_prs_afdeling_key NUMBER (10);
c_prs_afdeling_key NUMBER (10) := 22; -- Fallback-afdeling 'OVERIG voor Medewerkers Impuls'
c_prs_afdeling_key_leid NUMBER (10) := 21; -- Afdeling waaronder Locatiemanagers en Regiomanagers komen te vallen
c_prs_afdeling_key_gmk NUMBER (10) := 22; -- Algemene medewerkersafdeling GMK
c_prs_afdeling_key_akros NUMBER (10) := 1101; -- Algemene medewerkersafdeling Akros
c_prs_afdeling_key_combi NUMBER (10) := 1102; -- Algemene medewerkersafdeling Combiwel
v_alg_locatie_key NUMBER (10);
v_alg_locatie_code VARCHAR2 (10);
v_alg_gebouw_key NUMBER (10);
@@ -274,6 +381,13 @@ AS
SELECT fac_imp_file_index,
prs_kenmerk1,
prs_afdeling_naam,
CASE WHEN INSTR(UPPER(prs_perslid_email), '@IMPULS.NL') > 0 THEN 'GMK'
WHEN INSTR(UPPER(prs_perslid_email), '@GMK.NL') > 0 THEN 'GMK'
WHEN INSTR(UPPER(prs_perslid_email), '@AKROS-AMSTERDAM.NL') > 0 THEN 'AKROS'
WHEN INSTR(UPPER(prs_perslid_email), '@COMBIWELVOORKINDEREN.NL') > 0 THEN 'COMBIWEL'
ELSE 'GMK'
END
bedrijf,
prs_srtperslid_omschrijving
FROM fac_imp_perslid
WHERE fac_import_key = p_import_key;
@@ -289,9 +403,12 @@ AS
CURSOR c_loc
IS
SELECT fac_imp_file_index, prs_kenmerk4
SELECT fac_imp_file_index, prs_kenmerk5 -- kostenplaatsnr afas...
FROM fac_imp_perslid
WHERE fac_import_key = p_import_key;
WHERE prs_kenmerk5 IS NOT NULL
AND fac_import_key = p_import_key
ORDER BY fac_imp_file_index ;
BEGIN
-- Het aangeleverde bestand heeft de gegevens komma gescheiden ipv ;
v_errorhint := 'Delimiter goed zetten';
@@ -307,22 +424,6 @@ BEGIN
v_errorhint := 'Generieke update';
-- De sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid procedure
-- Voor IMPULS geldt:
---
/* WAS:
prs.import_perslid (
p_import_key,
'0;0;0;0;0;0;1;2;3;5;'
|| '4;0;0;0;0;0;0;6;0;8;'
|| '7;0;0;0;0;0;9;10;11;12;'
|| '0;13;0;0;0;0;0;0;0;0;'
|| '0;0;0;0;0;0',
'Kostenplaats;Achternaam;Voorvoegsel;Voorletters;Roepnaam;E-Mail_werk;Omschrijving_Functie;Medewerker;Organisatorische_eenheid_omschrijving;Kostenplaats_2;Datum_in_dienst;Datum_uit_dienst;Soort_medewerker');
*/
-- AFASONLINE: "Kostenplaats";"Achternaam";"Voorvoegsel";"Voorletters";"Roepnaam";"E-Mail_werk";"Omschrijving_Functie";"Medewerker";"Organisatorische_eenheid_omschrijving";"Kostenplaats_2";"Datum_in_dienst";"Datum_uit_dienst";Soort_medewerker"
-- 1 (7) 2 (8) 3 (9) 4 (11) 5 (10) 6 (18) 7 (21) 8(20) 9 (27) 10 (28) 11 (29) 12 (30) 13 (32)
-- DEF: Kostenplaats;Achternaam;Voorvoegsel;Voorletters;Roepnaam;Mail werk;Functie;Medewerker;Organisatorische eenheid;Kostenplaats_oms;In dienst;Uit dienst;Soort medewerker
-- WORDT 2025-MRT
prs.import_perslid (
@@ -330,11 +431,11 @@ BEGIN
'0;0;0;0;0;0;1;2;3;5;'
|| '4;0;0;0;0;0;20;6;0;8;'
|| '7;0;0;0;0;0;9;10;11;12;'
|| '0;13;14;15;16;17;18;19;20;0;'
|| '1;13;14;15;16;17;18;19;20;0;'
|| '0;0;0;0;0;0',
'Kostenplaats;Achternaam;Voorvoegsel;Voorletters;Roepnaam;E-Mail_werk;Omschrijving_Functie;Medewerker;Organisatorische_eenheid_omschrijving;Kostenplaats_2;Datum_in_dienst;Datum_uit_dienst;Soort_medewerker;Soort_medewerker__Code_obv_medewerkertaal_;Organisatorische_eenheid;Leidinggevende_pers_nr;Leidinggevende_Naam;Werkgever;Naam_werkgever;Mobiel_werk');
-- AFASONLINE: "Kostenplaats";"Achternaam";"Voorvoegsel";"Voorletters";"Roepnaam";"E-Mail_werk";"Omschrijving_Functie";"Medewerker";"Organisatorische_eenheid_omschrijving";"Kostenplaats_2";"Datum_in_dienst";"Datum_uit_dienst";"Soort_medewerker";"Soort_medewerker__Code_obv_medewerkertaal_";"Organisatorische_eenheid";"Leidinggevende_pers_nr";"Leidinggevende_Naam";"Werkgever";"Naam_werkgever";"Mobiel_werk"
-- 1 (7) 2 (8) 3 (9) 4 (11) 5 (10) 6 (18) 7 (21) 8(20) 9 (27) 10 (28) 11 (29) 12 (30) 13 (32) 14 (33) 15 (34) 16 (35) 17 (36) 18 (37) 19 (38) 20 (39)
-- 1 (7) 2 (8) 3 (9) 4 (11) 5 (10) 6 (18) 7 (21) 8(20) 9 (27) 10 (28) 11 (29) 12 (30) 13 (32) 14 (33) 15 (34) 16 (35) 17 (36) 18 (37) 19 (38) 20 (39)
-- DEF: Kostenplaats;Achternaam;Voorvoegsel;Voorletters;Roepnaam;Mail werk;Functie;Medewerker;Organisatorische eenheid;Kostenplaats_oms;In dienst;Uit dienst;Soort medewerker;Soort_medewerker__Code_obv_medewerkertaal_;Organisatorische_eenheid;Leidinggevende_pers_nr;Leidinggevende_Naam;Werkgever;Naam_werkgever;Mobiel_werk
@@ -352,23 +453,31 @@ BEGIN
v_errorhint := 'Uitfilteren records'; -- in afasonline-bestand zitten aantal zaken die niet mee hoeven naar Facilitor
---- functie gevuld met PROFIT dan record delete
---- emailadres <leeg> en emailadres <> @impuls.nl dan record delete
DELETE fac_imp_perslid
WHERE UPPER (prs_srtperslid_omschrijving) IN ('PROFIT');
---- we nemen uit afas alleen de bedrijven/domeinen mee van impuls, gmk, akros en combiwel
DELETE fac_imp_perslid
WHERE (
UPPER (prs_perslid_email) NOT LIKE '%@IMPULS.NL'
AND
UPPER (prs_perslid_email) NOT LIKE '%@GMK.NL'
)
AND
UPPER (prs_perslid_email) NOT LIKE '%@AKROS-AMSTERDAM.NL'
AND
UPPER (prs_perslid_email) NOT LIKE '%@COMBIWELVOORKINDEREN.NL'
)
;
v_errorhint := 'Afdeling bepalen en vullen';
-- Afdeling bepalen waar persoon onder komt te vallen.
-- Voor locatiemanagers en regiomanagers geldt dat deze altijd op organisatie 'OPVANG' moeten komen (onder dit organisatieonderdeel zitten op niveau 2 de team/afdelingen/kostenplaatsen)
-- Voor locatiemanagers, regiomanagers, teamleider en divisiemanager, geldt dat deze altijd op 'LOCATIE_MAN' moeten komen
-- Voor de overige personen/accounts geldt:
---- De mederwerkers komen uit AFAS en hebben een kostenplaats uit AFAS. Als in Facilitor er een afdeling is aangemaakt met dit gekoppelde kostenplaats_nr dan koppelen we de persoon ook aan die afdeling.
------ indien er op de medewerker geen kostenplaats-afdeling gevonden is, dan wordt deze medewerker onder zijn bedrijf op standaard afdeling gezet: MEDEW_AKROS / MEDEW_COMBIW / MEDEW_GMK
---- De teamaccounts lopen niet via de afas-koppeling. Voor volledigheid, deze komen op eigen TEAM_code onder Eigen bedrijf
FOR rec IN c_afd
LOOP
BEGIN
@@ -384,6 +493,9 @@ BEGIN
OR INSTR (UPPER (rec.prs_srtperslid_omschrijving),
'TEAMLEIDER') >
0
OR INSTR (UPPER (rec.prs_srtperslid_omschrijving),
'DIVISIEMANAGER') >
0
THEN
UPDATE fac_imp_perslid
SET prs_afdeling_naam =
@@ -397,19 +509,16 @@ BEGIN
FROM prs_v_afdeling a, prs_kostenplaats kp
WHERE kp.prs_kostenplaats_upper =
UPPER (rec.prs_afdeling_naam)
AND a.prs_bedrijf_key = 21 -- bedrijf IMPULS
AND a.prs_bedrijf_key IN (SELECT prs_link_key FROM prs_kenmerklink WHERE prs_kenmerk_key = 1040 AND prs_kenmerklink_niveau = 'B' AND prs_kenmerklink_verwijder IS NULL) -- bedrijven GMK
AND a.prs_afdeling_verwijder IS NULL
AND a.niveau = 1 -- kijken alleen naar afdelingen op niveau 1
AND a.prs_kostenplaats_key = kp.prs_kostenplaats_key;
-- Als afdeling uit AFAS (nog) WEL bekend is in Facilitor dan medewerker op die afdeling zetten
-- Als afdeling/kostenplaats uit AFAS bekend is in Facilitor dan medewerker op die afdeling zetten
IF v_prs_afdeling_key IS NOT NULL
THEN
-- prs_kenmerk5 vullen zodat deze AFAS-kostenplaats-waarde wel in personenkaart kan landen
UPDATE fac_imp_perslid
SET prs_kenmerk5 = prs_afdeling_naam
WHERE fac_imp_file_index = rec.fac_imp_file_index;
-- op de Facilitor-afdeling zetten
-- op de Facilitor-kp-afdeling zetten
UPDATE fac_imp_perslid
SET prs_afdeling_naam =
(SELECT prs_afdeling_upper
@@ -418,21 +527,47 @@ BEGIN
WHERE fac_imp_file_index = rec.fac_imp_file_index;
END IF;
-- Als afdeling uit AFAS (nog) niet bekend is in Facilitor dan medewerker op afdeling OVERIG zetten
-- Als afdeling uit AFAS (nog) niet bekend is in Facilitor dan medewerkers GMK, AKROS, COMBIWEL op hun algemene medewerkers-afdeling zetten
IF v_prs_afdeling_key IS NULL
THEN
-- kenmerk5 vullen zodat deze AFAS-kostenplaats-waarde wel in personenkaart kan landen
UPDATE fac_imp_perslid
SET prs_kenmerk5 = prs_afdeling_naam
WHERE fac_imp_file_index = rec.fac_imp_file_index;
-- op algemene medewerkers-afdeling zetten
IF rec.bedrijf = 'GMK'
THEN
-- op afdeling OVERIG zetten
UPDATE fac_imp_perslid
SET prs_afdeling_naam =
(SELECT prs_afdeling_upper
FROM prs_afdeling
WHERE prs_afdeling_key = c_prs_afdeling_key)
WHERE fac_imp_file_index = rec.fac_imp_file_index;
WHERE prs_afdeling_key = c_prs_afdeling_key_gmk)
WHERE fac_imp_file_index = rec.fac_imp_file_index;
END IF;
IF rec.bedrijf = 'AKROS'
THEN
UPDATE fac_imp_perslid
SET prs_afdeling_naam =
(SELECT prs_afdeling_upper
FROM prs_afdeling
WHERE prs_afdeling_key = c_prs_afdeling_key_akros)
WHERE fac_imp_file_index = rec.fac_imp_file_index;
END IF;
IF rec.bedrijf = 'COMBIWEL'
THEN
UPDATE fac_imp_perslid
SET prs_afdeling_naam =
(SELECT prs_afdeling_upper
FROM prs_afdeling
WHERE prs_afdeling_key = c_prs_afdeling_key_combi)
WHERE fac_imp_file_index = rec.fac_imp_file_index;
END IF;
END IF;
END IF;
END;
@@ -459,8 +594,8 @@ BEGIN
END LOOP;
v_errorhint := 'Locatie bepalen en vullen';
-- Default Locatie / Standplaats bepalen voor persoon => ACTIE - Indien gewenst dan kan dit voor IMPULS nog netjes via de kostenplaatsen in de Locatiekaart ingepast worden
/*
-- Default Locatie / Standplaats bepalen voor persoon op basis AFAS-kostenplaats standplaats en de gekoppelde kostenplaatsen in de Locatiekaart
FOR rec IN c_loc
LOOP
BEGIN
@@ -473,10 +608,9 @@ BEGIN
SELECT min(alg_locatie_key)
INTO v_alg_locatie_key
FROM alg_locatie
WHERE UPPER(alg_locatie_omschrijving) = UPPER(rec.prs_kenmerk4)
AND (TRUNC(alg_locatie_vervaldatum) > TRUNC(sysdate) OR alg_locatie_vervaldatum IS NULL )
AND alg_locatie_verwijder IS NULL ;
FROM impu_v_locaties_kp v
WHERE UPPER(v.prs_kostenplaats_nr) = UPPER(rec.prs_kenmerk5)
AND (TRUNC(v.prs_kostenplaats_eind) > TRUNC(sysdate) OR v.prs_kostenplaats_verwijder IS NULL ) ;
IF v_alg_locatie_key IS NOT NULL THEN
@@ -494,11 +628,6 @@ BEGIN
AND alg_gebouw_verwijder IS NULL
AND (TRUNC(alg_gebouw_vervaldatum) > TRUNC(sysdate) OR alg_gebouw_vervaldatum IS NULL ) ;
-- Om bij update dit kenmerkveld weg te kunnen schrijven naar kenmerkveld 'default standplaats'
UPDATE fac_imp_perslid
SET prs_kenmerk6 = (SELECT UPPER(alg_locatie_code) || alg_locatie_omschrijving FROM alg_locatie WHERE alg_locatie_key = v_alg_locatie_key)
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
IF v_alg_gebouw_key IS NOT NULL THEN
-- Gebouw_code ophalen
@@ -553,16 +682,13 @@ BEGIN
ELSE
-- Geen Locatie/Vastgoedketen kunnen vinden
UPDATE fac_imp_perslid
SET prs_kenmerk6 = 'LOCATIE ONBEKEND'
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
NULL;
END IF;
END;
END LOOP;
*/
COMMIT;
@@ -587,6 +713,10 @@ IS
-- Match bij IMPULS KINDEROPVANG kan via Email of Personeelsnummer.
---- Zie ticket IMPU#84705 - ivm overgang GMK omzetting van email naar personeelsnummer
-- Geen acties tenzij het aantal records in de importtabel meer dan 100 medewerkers betreft.
-- NOG DOEN IN OVERLEG MET IRENE en ANNEKE!!!
---- 2. Mandaten inregelen....
CURSOR c_del
IS
@@ -597,13 +727,17 @@ IS
AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_bedrijf_key = b.prs_bedrijf_key
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
AND i.prs_perslid_nr IS NULL -- in Facilitor, met onderstaande voorwaarden, is er dus geen mapping op personeelsnummer en die personen gaan we verwijderen/inactief maken
AND a.prs_bedrijf_key IN (21, 3503, 6662) -- Impuls/GMK Kinderopvang, Akros, Combiwell
AND a.prs_bedrijf_key IN (SELECT prs_link_key FROM prs_kenmerklink WHERE prs_kenmerk_key = 1040 AND prs_kenmerklink_niveau = 'B' AND prs_kenmerklink_verwijder IS NULL) -- bedrijven GMK
AND sp.prs_srtperslid_upper NOT IN 'TEAMACCOUNT'
AND p.prs_perslid_nr IS NOT NULL
AND (
UPPER (p.prs_perslid_email) LIKE '%IMPULS.NL'
OR
UPPER (p.prs_perslid_email) LIKE '%GMK.NL'
OR
UPPER (p.prs_perslid_email) LIKE '%@AKROS-AMSTERDAM.NL'
OR
UPPER (p.prs_perslid_email) LIKE '%@COMBIWELVOORKINDEREN.NL'
)
ORDER BY 1 ;
@@ -650,6 +784,34 @@ IS
ORDER BY v.prs_perslid_key, v.alg_locatie_key
;
CURSOR c_verantw
IS
SELECT p.prs_perslid_key,
p.prs_perslid_email,
p.prs_perslid_nr,
p.prs_perslid_oslogin,
CASE WHEN p.prs_perslid_key_verantw IS NOT NULL
THEN (SELECT prs_perslid_nr FROM prs_perslid WHERE prs_perslid_key = p.prs_perslid_key_verantw)
ELSE NULL
END
prs_perslid_verantw_nr,
p.prs_perslid_verantw_nr_afas
FROM fac_imp_perslid i,
(SELECT p.prs_perslid_key,
p.prs_perslid_email,
p.prs_perslid_nr,
p.prs_perslid_oslogin,
p.prs_perslid_key_verantw,
(SELECT kw.prs_kenmerklink_waarde
FROM prs_kenmerklink kw
WHERE kw.prs_kenmerk_key = 1082
AND kw.prs_kenmerklink_niveau = 'P'
AND kw.prs_link_key = p.prs_perslid_key)
prs_perslid_verantw_nr_afas
FROM prs_perslid p) p
WHERE p.prs_perslid_key = i.prs_perslid_key
ORDER BY 1 ;
v_count NUMBER;
oracle_err_num NUMBER;
@@ -660,6 +822,7 @@ IS
v_fac_gebruikersgroep_key NUMBER(10);
v_alg_ruimte_key NUMBER;
v_prs_werkplek_key NUMBER;
v_prs_perslid_key_verantw NUMBER(10);
BEGIN
@@ -798,6 +961,59 @@ BEGIN
END;
END LOOP;
-- En de verantwoordelijk manager updaten in de personenkaart indien nodig
FOR rec IN c_verantw
LOOP
BEGIN
v_errorhint:='Fout bijwerken verantwoordelijke';
-- als de aangeboden waarde uit afas anders is dan de huidige verantwoordelijke in de personenkaart dan gaan we personenkaart updaten
IF COALESCE(rec.prs_perslid_verantw_nr_afas, '<leeg>') <> COALESCE(rec.prs_perslid_verantw_nr, '<leeg>')
THEN
-- geen gevonden facilitor-manager dan gevulde verantwoordelijke verwijderen
IF rec.prs_perslid_verantw_nr_afas IS NULL
THEN
UPDATE prs_perslid
SET prs_perslid_key_verantw = ''
WHERE prs_perslid_key = rec.prs_perslid_key ;
END IF;
-- wel gevonden facilitor-manager dan bijbehorende verantwoordelijke_key in personenkaart vullen
IF rec.prs_perslid_verantw_nr_afas IS NOT NULL
THEN
SELECT MIN(prs_perslid_key)
INTO v_prs_perslid_key_verantw
FROM prs_perslid
WHERE prs_perslid_nr = rec.prs_perslid_verantw_nr_afas ;
IF v_prs_perslid_key_verantw IS NOT NULL
THEN
UPDATE prs_perslid
SET prs_perslid_key_verantw = v_prs_perslid_key_verantw
WHERE prs_perslid_key = rec.prs_perslid_key ;
ELSE
UPDATE prs_perslid
SET prs_perslid_key_verantw = ''
WHERE prs_perslid_key = rec.prs_perslid_key ;
END IF;
END IF;
END IF;
END;
END LOOP;
ELSE
fac.imp_writelog (p_import_key,