SGGR#83501 update perslid WD aangepast zodat de juiste verantwoordelijke wordt weggeschreven bij medewerkers

svn path=/Customer/trunk/; revision=70997
This commit is contained in:
Suzan Wiegerinck
2025-11-19 08:38:08 +00:00
parent d4629c87d1
commit ccb2ab8da1

View File

@@ -3869,6 +3869,26 @@ IS
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);
-- soms is het Workday nummer van de leidinggevende niet bekend bijv. omdat deze niet onder Aareon NL valt
-- we vallen dan terug op de manager zoals die in het kenmerk van de medewerker valt
CURSOR c_onb IS
SELECT mgr.prs_perslid_key prs_perslid_key_verantw, p.prs_perslid_key
FROM prs_kenmerk k,
prs_kenmerklink kl,
prs_v_perslid_fullnames_all mgr,
prs_v_perslid_fullnames_all mdw,
prs_perslid p
WHERE k.prs_kenmerk_key = kl.prs_kenmerk_key
AND k.prs_kenmerk_niveau = 'P'
AND k.prs_kenmerk_key = 1081
AND mdw.prs_perslid_key = kl.prs_link_key
AND kl.prs_kenmerklink_verwijder IS NULL
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
AND p.prs_perslid_verwijder IS NULL
AND p.prs_perslid_inactief IS NULL;
BEGIN
SELECT COUNT (*)
@@ -3928,23 +3948,17 @@ BEGIN
-- 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
UPDATE prs_perslid p
SET p.prs_perslid_key_verantw =
(SELECT mgr.prs_perslid_key
FROM prs_kenmerk k,
prs_kenmerklink kl,
prs_v_perslid_fullnames_all mgr,
prs_v_perslid_fullnames_all mdw
WHERE k.prs_kenmerk_key = kl.prs_kenmerk_key
AND k.prs_kenmerk_niveau = 'P'
AND k.prs_kenmerk_key = 1081
AND mdw.prs_perslid_key = kl.prs_link_key
AND kl.prs_kenmerklink_verwijder IS NULL
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);
FOR rec IN c_onb
LOOP
BEGIN
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;
END LOOP;
END sggr_update_perslid_wd;
/