Geconstateerd bij GOKO#75342 - probleem verwijderen werkplekkoppelingen - systematiek ook voor IMPU aangepast

svn path=/Customer/trunk/; revision=58007
This commit is contained in:
Jos Migo
2022-11-16 09:16:58 +00:00
parent 7f29dec824
commit 3fe70b7c23

View File

@@ -292,14 +292,16 @@ CREATE OR REPLACE VIEW impu_v_locatiemanagers_wp
PRS_PERSLID_KEY,
ALG_LOCATIE_KEY,
NAAM,
LOCATIE_WP
LOCATIE_WP,
PRS_WERKPLEK_KEY
)
AS
SELECT wp.prs_perslid_key,
onr.alg_locatie_key,
p.prs_perslid_naam_friendly,
l.alg_locatie_code || ' - ' || l.alg_locatie_omschrijving
locatie
locatie,
w.prs_werkplek_key
FROM (
SELECT prs_perslid_key
FROM impu_v_personenlijst_loc
@@ -638,10 +640,10 @@ IS
CURSOR c_loc_wp -- Voor updaten van locatieleiders (werkplek-koppelingen)
IS
SELECT v.prs_perslid_key, v.alg_locatie_key, v.actie
SELECT v.prs_perslid_key, v.alg_locatie_key, v.prs_werkplek_key, v.actie
FROM
(
SELECT man.prs_perslid_key, man.alg_locatie_key, 'toevoegen' actie
SELECT man.prs_perslid_key, man.alg_locatie_key, NULL prs_werkplek_key, 'toevoegen' actie
FROM impu_v_locatiemanagers man
WHERE NOT EXISTS
(SELECT *
@@ -649,7 +651,7 @@ IS
WHERE wp.alg_locatie_key = man.alg_locatie_key
AND wp.prs_perslid_key = man.prs_perslid_key)
UNION
SELECT wp.prs_perslid_key, wp.alg_locatie_key, 'verwijderen' actie
SELECT wp.prs_perslid_key, wp.alg_locatie_key, wp.prs_werkplek_key, 'verwijderen' actie
FROM impu_v_locatiemanagers_wp wp
WHERE NOT EXISTS
(SELECT *
@@ -657,7 +659,7 @@ IS
WHERE man.alg_locatie_key = wp.alg_locatie_key
AND man.prs_perslid_key = wp.prs_perslid_key)
UNION
SELECT wp.prs_perslid_key, wp.alg_locatie_key, 'ok' actie
SELECT wp.prs_perslid_key, wp.alg_locatie_key, wp.prs_werkplek_key, 'ok' actie
FROM impu_v_locatiemanagers_wp wp, impu_v_locatiemanagers man
WHERE man.alg_locatie_key = wp.alg_locatie_key
AND man.prs_perslid_key = wp.prs_perslid_key
@@ -794,14 +796,7 @@ BEGIN
THEN
v_errorhint:='Fout bij verwijderen werkplekken';
SELECT prs_werkplek_key
INTO v_prs_werkplek_key
FROM prs_v_perslidwerkplek_gegevens pwpg, alg_locatie l
WHERE pwpg.alg_locatie_key = l.alg_locatie_key
AND l.alg_locatie_key = rec.alg_locatie_key
AND pwpg.prs_perslid_key = rec.prs_perslid_key ;
DELETE prs_werkplek WHERE prs_werkplek_key = v_prs_werkplek_key;
DELETE prs_werkplek WHERE prs_werkplek_key = rec.prs_werkplek_key;
END IF;