TMGP#77865 -- Implementatie Tomin groep

svn path=/Customer/trunk/; revision=63620
This commit is contained in:
Norbert Wassink
2024-02-16 09:59:47 +00:00
parent e40591a102
commit 731469fbec

View File

@@ -37,6 +37,12 @@ BEGIN
END;
/
-- Check of persoon p basis van werknermID bekend is.
-- ALs deze niet bekend is controleren we of de wergevenNr er de initalen in staan van de email adres,
-- indien ja dan updaten van record metbhet juiste werknermersnr
-- Inine niet dan moete we de persoon aanmaken.
--
CREATE OR REPLACE PROCEDURE TMGP_UPDATE_PERSONEN(p_import_key NUMBER)
AS
CURSOR c (v_import_key NUMBER)
@@ -44,6 +50,17 @@ AS
SELECT *
FROM fac_imp_perslid
WHERE fac_import_key=v_import_key;
CURSOR c_del(v_import_key NUMBER)
IS
SELECT p.prs_perslid_key
FROM prs_perslid p
WHERE p.prs_perslid_verwijder IS NULL
AND p.prs_perslid_inactief IS NULL
AND p.prs_perslid_nr NOT IN (SELECT prs_perslid_nr
FROM fac_imp_perslid
WHERE fac_import_key=v_import_key);
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
@@ -74,11 +91,12 @@ BEGIN
WHERE prs_srtperslid_upper='MEDEWERKER';
EXCEPTION WHEN NO_DATA_FOUND THEN
v_functie:=1;
END;
FOR rec IN c(p_import_key)
LOOP
END;
FOR rec IN c(p_import_key)
LOOP
v_errormsg:='Fout bij ophalen persoon via medewerkerNr' ||rec.prs_kenmerk1 ;
v_prs_perslid_key:=-1;
-- ken ik de persoon op basis van het medewerkerNr (prs_kenmerk1)
@@ -131,6 +149,7 @@ BEGIN
WHEN NO_DATA_FOUND THEN
v_aanduiding :='Afdeling '||rec.prs_afdeling_naam||' is niet gevonden dus '||rec.prs_perslid_naam||' is niet aangemaakt';
v_errormsg:='Afdeling fout';
v_action := '';
END;
@@ -163,7 +182,8 @@ BEGIN
rec.prs_perslid_nr,
v_afdeling_key,
v_functie);
v_insert_count:=v_insert_count+1;
v_insert_count:=v_insert_count+1;
ELSIF v_action='UPDATE' THEN
-- We kennen de persoon wel dus gaan we hem updaten maar alleen als er mutaties zijn tov zijn huidge gegevens
UPDATE prs_perslid
@@ -182,7 +202,7 @@ BEGIN
-- OR prs_perslid_oslogin != rec.prs_kenmerk1
OR prs_afdeling_key != v_afdeling_key);
v_update_count:=v_update_count+1;
v_aanduiding:='';
END IF;
@@ -198,12 +218,18 @@ BEGIN
END IF;
END LOOP;
-- Check of persoon p basis van werknermID bekend is.
-- ALs deze niet bekend is controleren we of de wergevenNr er de initalen in staan van de email adres,
-- indien ja dan updaten van record metbhet juiste werknermersnr
-- Inine niet dan moete we de persoon aanmaken.
-- Mandateren de persoon op de kosten plaats van de afdeling,
--
fac.imp_writelog (p_import_key,
'W',
'Resultaat',
v_insert_count||' accounts toegevoegd.');
FOR rec_del IN c_del(p_import_key)
LOOP
prs.delete_perslid (p_import_key, rec_del.prs_perslid_key);
END LOOP;