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:
@@ -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;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user