diff --git a/FAC/FAC_PACF.SRC b/FAC/FAC_PACF.SRC index 913d73cc..aecae4ec 100644 --- a/FAC/FAC_PACF.SRC +++ b/FAC/FAC_PACF.SRC @@ -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