SGGR#86561 persoonsgegevensimport vanuit Workday via SOAP API

svn path=/Customer/trunk/; revision=67148
This commit is contained in:
Suzan Wiegerinck
2024-11-21 18:52:40 +00:00
parent e0d1042e2e
commit f9817b0e9c

View File

@@ -3985,14 +3985,17 @@ SELECT m.mld_melding_key,
AND gg.prs_perslid_key = vv_mg.prs_perslid_key
AND gg.fac_groep_key = 361
AND m.mld_melding_status IN (2, 3);
CREATE OR REPLACE PROCEDURE sggr_import_perslid (p_import_key IN NUMBER)
CREATE OR REPLACE PROCEDURE sggr_import_perslid_wd (p_import_key IN NUMBER)
AS
v_seq_of_columns VARCHAR (255);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (200);
v_errorhint VARCHAR2 (200);
v_email VARCHAR2 (200);
CURSOR IMP IS SELECT * FROM FAC_IMP_PERSLID;
BEGIN
prs.import_perslid (
p_import_key,
@@ -4004,7 +4007,6 @@ BEGIN
--'Worker;Employee_ID;Email_Addres;isManager;businessTitle;Company;Manager_ID;name%'
'Worker,firstName,lastName,Employee_ID,Email_Address,isManager,businessTitle,Company,Manager_ID,name%');
-- de juiste mailadressen eruit filteren
UPDATE fac_imp_perslid i
SET i.prs_perslid_email =
(SELECT REPLACE (SUBSTR (REGEXP_SUBSTR (p.prs_perslid_email,
@@ -4031,7 +4033,8 @@ BEGIN
'@aareon.nl'
END mailto
FROM fac_imp_perslid p
WHERE p.fac_imp_file_index = i.fac_imp_file_index);
WHERE p.fac_imp_file_index = i.fac_imp_file_index)
WHERE UPPER (i.prs_perslid_email) LIKE '%@AAREON%';
-- De juiste afdelingen bepalen
UPDATE fac_imp_perslid i
@@ -4039,14 +4042,15 @@ BEGIN
(SELECT a.prs_afdeling_naam
FROM prs_afdeling a, prs_bedrijf b
WHERE a.prs_bedrijf_key = b.prs_bedrijf_key
AND b.prs_bedrijf_naam_upper LIKE '%NIEUW%'
AND b.prs_bedrijf_naam_upper LIKE '%AAREON NL%'
AND b.prs_bedrijf_verwijder IS NULL
AND a.prs_afdeling_verwijder IS NULL
AND UPPER (a.prs_afdeling_omschrijving) = UPPER (i.prs_kenmerk19));
END sggr_import_perslid;
END sggr_import_perslid_wd;
/
CREATE OR REPLACE PROCEDURE sggr_update_perslid (p_import_key IN NUMBER)
CREATE OR REPLACE PROCEDURE sggr_update_perslid_wd (p_import_key IN NUMBER)
IS
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een e-mail
c_max_delta_percentage NUMBER (10) := 20; -- 20%!
@@ -4055,7 +4059,7 @@ IS
-- Let op! Personen die niet meer in dienst zijn -> niet in fac_imp_perslid!
CURSOR c_del IS
SELECT p.prs_perslid_key, p.prs_perslid_oslogin, p.*
SELECT p.prs_perslid_key, p.prs_perslid_email
FROM prs_v_aanwezigperslid p
WHERE p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\' -- accounts met een _ moeten bewaard blijven
AND p.prs_perslid_apikey IS NULL -- API accounts moeten bewaard blijven
@@ -4098,13 +4102,20 @@ BEGIN
RETURN;
END IF;
-- Generieke update.
-- prs.update_perslid (p_import_key, 'LOGIN', 'D');
prs.update_perslid (p_import_key, 'EMAIL', 'D');
-- Verwijder personen die niet meer in de import voorkomen.
FOR rec IN c_del
LOOP
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
END LOOP;
END sggr_update_perslid;
END sggr_update_perslid_wd;
/
------ payload end ------
SET DEFINE OFF