diff --git a/SCHG/schg.sql b/SCHG/schg.sql index c88f1b1bd..625efba3e 100644 --- a/SCHG/schg.sql +++ b/SCHG/schg.sql @@ -662,7 +662,7 @@ IS WHERE fac_import_key = p_import_key AND i.prs_perslid_email = p.prs_perslid_email (+) ; --- unieke oslogin vullen +-- unieke oslogin binnen deze tenant CURSOR c_oslogin IS SELECT i.fac_imp_file_index, @@ -680,6 +680,38 @@ IS FROM fac_imp_perslid i ORDER BY fac_imp_file_index; +-- unieke oslogin buiten deze tenant +CURSOR c_oslogin_b +IS + SELECT w.fac_imp_file_index, + w.prs_perslid_oslogin, + w.prs_perslid_email, + w.prs_perslid_nr, + w.tenant_import, + v.tenant_prskaart + FROM ( + SELECT i.fac_imp_file_index, i.prs_perslid_oslogin, i.prs_perslid_nr, i.prs_perslid_email, i.prs_kenmerk13 tenant_import FROM fac_imp_perslid i WHERE i.prs_afdeling_naam IS NOT NULL AND i.prs_perslid_oslogin IS NOT NULL + ) w, + ( + SELECT p.prs_perslid_key, + p.prs_perslid_oslogin, + p.prs_perslid_email, + (SELECT kw.prs_kenmerklink_waarde + FROM prs_kenmerklink kw + WHERE kw.prs_kenmerk_key = 1060 + AND kw.prs_kenmerklink_niveau = 'P' + AND kw.prs_link_key = p.prs_perslid_key) + tenant_prskaart -- het importbestand_schg in personenkaart + FROM prs_v_aanwezigperslid p, + prs_v_afdeling_boom ab + WHERE p.prs_afdeling_key = ab.prs_afdeling_key + AND ab.prs_bedrijf_key = 21 -- bedrijf Scharenborg Groep + AND prs_perslid_oslogin IS NOT NULL + ) v + WHERE w.prs_perslid_oslogin = v.prs_perslid_oslogin + AND w.tenant_import <> tenant_prskaart +ORDER BY w.fac_imp_file_index; + BEGIN -- Import csv formaat - kolommen: @@ -873,7 +905,7 @@ BEGIN LOOP BEGIN - v_errorhint := 'Dubbele oslogin checken'; + v_errorhint := 'Dubbele oslogin checken - BINNEN ingelezen tenant'; IF rec.check_dubbel IS NOT NULL THEN @@ -890,7 +922,26 @@ BEGIN END IF; - END; + END; + END LOOP; + + FOR rec IN c_oslogin_b + LOOP + BEGIN + + v_errorhint := 'Dubbele oslogin checken - BUITEN ingelezen tenant'; + + v_errormsg := rec.prs_perslid_email || ' (' || rec.prs_perslid_nr || ') - Niet aangemaakt ivm GEEN UNIEKE LOGIN' ; + + UPDATE fac_imp_perslid + SET prs_kenmerk20 = 'oslogin_dubbel - andere tenant', + prs_afdeling_naam = NULL -- zodat bij prs.update_perslid dit record niet verwerkt wordt en nog aparte error-melding krijgt + WHERE fac_imp_file_index = rec.fac_imp_file_index ; + + -- tracking + fac.imp_writelog (p_import_key, 'W', v_errormsg, v_errorhint); + + END; END LOOP; END schg_import_perslid;