SGGR#83501 update perslid WD aangepast zodat de juiste verantwoordelijke wordt weggeschreven bij medewerkers
svn path=/Customer/trunk/; revision=70987
This commit is contained in:
@@ -37,6 +37,7 @@ AS
|
||||
|
||||
FUNCTION find_nieuw (p_string IN VARCHAR2, p_default IN VARCHAR2)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -120,6 +121,7 @@ AS
|
||||
RETURN p_default;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -3857,6 +3859,18 @@ IS
|
||||
(SELECT 1
|
||||
FROM fac_imp_perslid i
|
||||
WHERE UPPER (i.PRS_PERSLID_NR) = UPPER (p.PRS_PERSLID_NR));
|
||||
|
||||
-- de perslid key van de manager taat in kenmerk 20
|
||||
CURSOR c_ver IS
|
||||
SELECT p.prs_perslid_key, mgr.prs_perslid_key prs_perslid_key_verantw
|
||||
FROM fac_imp_perslid i, prs_perslid mgr, prs_perslid p
|
||||
WHERE mgr.prs_perslid_nr = i.prs_kenmerk20
|
||||
AND p.prs_perslid_key = i.prs_perslid_key
|
||||
AND p.prs_perslid_key = i.prs_perslid_key
|
||||
AND mgr.prs_perslid_verwijder IS NULL
|
||||
AND ( p.prs_perslid_key_verantw <> mgr.prs_perslid_key
|
||||
OR p.prs_perslid_key_verantw IS NULL);
|
||||
|
||||
BEGIN
|
||||
SELECT COUNT (*)
|
||||
INTO v_count_prs_import
|
||||
@@ -3870,8 +3884,6 @@ BEGIN
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE prs_perslid_oslogin IS NOT NULL;
|
||||
|
||||
/*
|
||||
We zetten dit even uit ivm de grote achterstand in oude accounts
|
||||
IF (TRUNC ((v_count_prs_import / v_count_prs_actual) * 100) < (100 - c_max_delta_percentage))
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
@@ -3894,9 +3906,8 @@ BEGIN
|
||||
|
||||
RETURN;
|
||||
END IF;
|
||||
*/
|
||||
|
||||
-- Generieke update.
|
||||
|
||||
-- Generieke update
|
||||
prs.update_perslid (p_import_key, 'NR', NULL);
|
||||
|
||||
-- Verwijder personen die niet meer in de import voorkomen.
|
||||
@@ -3905,16 +3916,16 @@ BEGIN
|
||||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||||
END LOOP;
|
||||
|
||||
-- Bijwerken manager
|
||||
UPDATE prs_perslid p
|
||||
SET p.prs_perslid_key_verantw =
|
||||
(SELECT mgr.prs_perslid_key
|
||||
FROM fac_imp_perslid i, prs_perslid mgr
|
||||
WHERE mgr.prs_perslid_nr = i.prs_kenmerk20
|
||||
AND p.prs_perslid_key = i.prs_perslid_key
|
||||
AND mgr.prs_perslid_verwijder IS NULL
|
||||
AND ( p.prs_perslid_key_verantw <> mgr.prs_perslid_key
|
||||
OR p.prs_perslid_key_verantw IS NULL));
|
||||
-- We nemen de manager uit Workday over als verantwoordelijke bij de persoon
|
||||
FOR rec IN c_ver
|
||||
LOOP
|
||||
UPDATE prs_perslid mdw
|
||||
SET mdw.prs_perslid_key_verantw = rec.prs_perslid_key_verantw
|
||||
WHERE mdw.prs_perslid_key = rec.prs_perslid_key;
|
||||
|
||||
COMMIT;
|
||||
|
||||
END LOOP;
|
||||
|
||||
-- De manager blijkt niet voor iedereen in WD goed te staan waardoor de leidinggevende leeg gelaten wordt
|
||||
-- Fallback: we nemen de manager uit het kenmerk leidinggevende over
|
||||
@@ -3933,7 +3944,7 @@ BEGIN
|
||||
AND mgr.prs_perslid_key = fac.safe_to_number (kl.prs_kenmerklink_waarde)
|
||||
AND p.prs_perslid_key = mdw.prs_perslid_key
|
||||
AND p.prs_perslid_key_verantw IS NULL);
|
||||
|
||||
|
||||
|
||||
END sggr_update_perslid_wd;
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user