BAMG#85081 -- Foutmeldingen bij koppeling van personen aan kostenplaatsen

svn path=/Customer/trunk/; revision=65883
This commit is contained in:
Arthur Egberink
2024-08-14 08:33:37 +00:00
parent b7855ee448
commit e531cfc9f4

View File

@@ -523,6 +523,7 @@ AS
v_leiding_key PRS_PERSLID.PRS_PERSLID_KEY%TYPE;
v_afdeling_naam PRS_AFDELING.PRS_AFDELING_NAAM%TYPE;
v_kostenplaats_nr PRS_KOSTENPLAATS.PRS_KOSTENPLAATS_NR%TYPE;
v_kostenplaats_eind PRS_KOSTENPLAATS.PRS_KOSTENPLAATS_EIND%TYPE;
v_kostenplaats_key PRS_KOSTENPLAATS.PRS_KOSTENPLAATS_KEY%TYPE;
BEGIN
@@ -546,6 +547,7 @@ BEGIN
rec.prs_perslid_email);
BEGIN
v_hint := 'Opvragen perslid key';
SELECT prs_perslid_key
INTO v_perslid_key
FROM prs_perslid
@@ -555,6 +557,7 @@ BEGIN
-- Zet de laatste sync datum zodat we personen met een syncdatum in het
-- verleden kunnen verwijderen in de achtergrond taak.
v_hint := 'Aanpassen sync datum';
UPDATE prs_perslid
SET prs_perslid_externsyncdate = SYSDATE
WHERE prs_perslid_key = v_perslid_key;
@@ -563,14 +566,22 @@ BEGIN
IF rec.prs_kenmerk3 IS NOT NULL
THEN
BEGIN
SELECT prs_kostenplaats_key
INTO v_kostenplaats_key
v_hint := 'Opvragen kostenplaats: ' || rec.prs_kenmerk3;
SELECT prs_kostenplaats_key, prs_kostenplaats_eind
INTO v_kostenplaats_key, v_kostenplaats_eind
FROM prs_kostenplaats
WHERE prs_kostenplaats_nr = rec.prs_kenmerk3
AND prs_kostenplaats_eind IS NULL
AND prs_kostenplaats_module = 'PRS';
IF v_kostenplaats_eind IS NOT NULL
THEN
-- gaan we de kostenplaats reanimeren
v_hint := 'Reanimeren kostenplaats: ' || rec.prs_kenmerk3;
UPDATE prs_kostenplaats SET prs_kostenplaats_eind = NULL WHERE prs_kostenplaats_key = v_kostenplaats_key;
END IF;
EXCEPTION WHEN NO_DATA_FOUND
THEN
v_hint := 'Toevoegen kostenplaats: ' || rec.prs_kenmerk3;
INSERT INTO prs_kostenplaats(prs_kostenplaatsgrp_key, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaats_module)
VALUES (21, rec.prs_kenmerk3, rec.prs_kenmerk4, 'PRS')
RETURNING prs_kostenplaats_key INTO v_kostenplaats_key;
@@ -580,9 +591,11 @@ BEGIN
END IF;
-- Pas de kostenplaats aan bij de persoon.
v_hint := 'Aanpassen kostenplaats bij de persoon: ' || rec.prs_kenmerk3;
UPDATE prs_perslid SET prs_kostenplaats_key = v_kostenplaats_key WHERE prs_perslid_key = v_perslid_key;
-- mandatering
v_hint := 'Mandatering kostenplaats bij de persoon';
INSERT INTO prs_perslidkostenplaats (prs_kostenplaats_key, prs_perslid_key, prs_perslidkostenplaats_boeken)
SELECT NULL, v_perslid_key, 1
FROM DUAL
@@ -592,12 +605,14 @@ BEGIN
IF rec.prs_kenmerk1 IS NOT NULL
THEN
BEGIN
v_hint := 'Opvragen van de leidinggevende: ' || rec.prs_kenmerk1;
SELECT prs_perslid_key
INTO v_leiding_key
FROM prs_perslid
WHERE prs_perslid_email = rec.prs_kenmerk1;
--FLX.setflex ('PRS', 1040, v_perslid_key, 'P', v_leiding_key);
v_hint := 'Aanpassen van de leidinggevende: ' || rec.prs_kenmerk1;
UPDATE prs_perslid SET prs_perslid_key_verantw = v_leiding_key WHERE prs_perslid_key = v_perslid_key;
EXCEPTION WHEN NO_DATA_FOUND
@@ -611,11 +626,13 @@ BEGIN
IF rec.prs_kenmerk2 IS NOT NULL
THEN
BEGIN
v_hint := 'Opvragen van de matrixmanager: ' || rec.prs_kenmerk2;
SELECT prs_perslid_key
INTO v_leiding_key
FROM prs_perslid
WHERE prs_perslid_email = rec.prs_kenmerk2;
v_hint := 'Aanpassen van de matrixmanager: ' || rec.prs_kenmerk2;
FLX.setflex ('PRS', 1041, v_perslid_key, 'P', v_leiding_key);
EXCEPTION WHEN NO_DATA_FOUND