SGGR#86561 persoonsgegevensimport vanuit Workday via SOAP API
svn path=/Customer/trunk/; revision=67148
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user