AADS#64732: De TRANSPORT: Flexkenmerken import werkt niet helemaal als verwacht.

svn path=/Database/trunk/; revision=49328
This commit is contained in:
Maykel Geerdink
2021-01-05 10:54:56 +00:00
parent 31020fdf48
commit 747b926e74

View File

@@ -16841,7 +16841,9 @@ BEGIN
WHERE bes_srtkenmerk_key = v_srtkenmerk_key
AND bes_kenmerk_niveau = rec.kenmerk_niveau
AND bes_kenmerk_type = rec.kenmerk_type
AND bes_srtinstallatie_key = v_srtinstallatie_key;
AND bes_srtinstallatie_key = v_srtinstallatie_key
AND (bes_kenmerk_omschrijving = rec.kenmerk_omschr
OR (rec.kenmerk_omschr IS NULL AND bes_kenmerk_omschrijving IS NULL));
IF (v_count = 0)
THEN
@@ -16971,7 +16973,7 @@ BEGIN
OR (mld_stdmelding_key IS NULL AND mld_typeopdr_key IS NULL)
)
AND (mld_kenmerk_omschrijving = rec.kenmerk_omschr
OR mld_kenmerk_omschrijving IS NULL);
OR (rec.kenmerk_omschr IS NULL AND mld_kenmerk_omschrijving IS NULL));
IF (v_count = 0)
THEN
@@ -17073,7 +17075,10 @@ BEGIN
SELECT COUNT ( * ), MIN(res_kenmerk_key)
INTO v_count, v_kenmerk_key
FROM res_kenmerk
WHERE res_srtkenmerk_key = v_srtkenmerk_key AND res_activiteit_key = v_activiteit_key;
WHERE res_srtkenmerk_key = v_srtkenmerk_key
AND res_activiteit_key = v_activiteit_key
AND (res_kenmerk_omschrijving = rec.kenmerk_omschr
OR (rec.kenmerk_omschr IS NULL AND res_kenmerk_omschrijving IS NULL));
IF (v_count = 0)
THEN
@@ -17148,8 +17153,8 @@ BEGIN
SELECT ins_discipline_key
INTO v_discipline_key
FROM cnt_discipline
WHERE ins_discipline_verwijder IS NULL
AND ins_discipline_omschrijving = rec.cnt_discipline;
WHERE ins_discipline_verwijder IS NULL
AND ins_discipline_omschrijving = rec.cnt_discipline;
v_desc := rec.srtkenmerk_omschrijving || ' (' || rec.cnt_discipline || ')';
-- Bestaat dit kenmerk al?
@@ -17157,7 +17162,10 @@ BEGIN
SELECT COUNT ( * ), MIN(cnt_kenmerk_key)
INTO v_count, v_kenmerk_key
FROM cnt_kenmerk
WHERE cnt_srtkenmerk_key = v_srtkenmerk_key AND cnt_srtcontract_key = v_discipline_key;
WHERE cnt_srtkenmerk_key = v_srtkenmerk_key
AND cnt_srtcontract_key = v_discipline_key
AND (cnt_kenmerk_omschrijving = rec.kenmerk_omschr
OR (rec.kenmerk_omschr IS NULL AND cnt_kenmerk_omschrijving IS NULL));
IF (v_count = 0)
THEN
@@ -17285,14 +17293,16 @@ BEGIN
SELECT COUNT ( * ), MIN(ins_kenmerk_key)
INTO v_count, v_kenmerk_key
FROM ins_kenmerk
WHERE ins_srtkenmerk_key = v_srtkenmerk_key
AND ins_kenmerk_niveau = rec.kenmerk_niveau
AND ins_kenmerk_bewerkniveau = rec.kenmerk_type
AND ins_srtinstallatie_key = v_srtinstallatie_key
AND ins_kenmerk_verwijder IS NULL; -- MB: Let op, deze verbetering in de vorm van extra conditie bij INS erbij gezet,
-- Is niet bij de andere (RES,MLD,BES,CNT) takken aangepast. Kan tzt eventueel indien hier meldingen over komen.
-- Dit zorgt ervoor dat een verwijderd kenmerk in doel met dezelfde kenmerksoort NIET wordt beschouwd als kenmerk bestaat al, want dan wordt een update geprobeerd die faalt.
-- Nu wordt een nieuw kenmerk van die soort aangemaakt. Zie details in call UWVA#32742
WHERE ins_srtkenmerk_key = v_srtkenmerk_key
AND ins_kenmerk_niveau = rec.kenmerk_niveau
AND ins_kenmerk_bewerkniveau = rec.kenmerk_type
AND ins_srtinstallatie_key = v_srtinstallatie_key
AND (ins_kenmerk_omschrijving = rec.kenmerk_omschr
OR (rec.kenmerk_omschr IS NULL AND ins_kenmerk_omschrijving IS NULL))
AND ins_kenmerk_verwijder IS NULL; -- MB: Let op, deze verbetering in de vorm van extra conditie bij INS erbij gezet,
-- Is niet bij de andere (RES,MLD,BES,CNT) takken aangepast. Kan tzt eventueel indien hier meldingen over komen.
-- Dit zorgt ervoor dat een verwijderd kenmerk in doel met dezelfde kenmerksoort NIET wordt beschouwd als kenmerk bestaat al, want dan wordt een update geprobeerd die faalt.
-- Nu wordt een nieuw kenmerk van die soort aangemaakt. Zie details in call UWVA#32742
IF (v_count = 0)
THEN