UWVA#86694 ABS(IIQ)-import/Afnemen autorisatiegroepen
svn path=/Customer/trunk/; revision=67315
This commit is contained in:
@@ -503,7 +503,7 @@ BEGIN
|
||||
lkostenplaatskey := -1;
|
||||
WHEN TOO_MANY_ROWS
|
||||
THEN
|
||||
-- Meer dan <20><>n verwijderde instantie, dan heeft iemand zeer
|
||||
-- Meer dan <20><>n verwijderde instantie, dan heeft iemand zeer
|
||||
-- waarschijnlijk iets handmatig niet goed gedaan.
|
||||
fac.imp_writelog (p_import_key, 'W', 'Kostenplaats komt vaker voor (handmatige mutatie!)',
|
||||
rc.afdeling || '/' || rc.omschrijving);
|
||||
@@ -790,7 +790,7 @@ BEGIN
|
||||
THEN
|
||||
-- UWV's organisatiestructuur heeft 6 lagen (met 3 ICT-afdelingen
|
||||
-- in die 6e laag, onder 'Servicedesk ICT').
|
||||
-- Haal die dus <20><>n laag omhoog (oftewel zet 'niveau-6' afdelingen
|
||||
-- Haal die dus <20><>n laag omhoog (oftewel zet 'niveau-6' afdelingen
|
||||
-- naast hun parent in afdelingsniveau 5).
|
||||
IF (rc.niveau6 = 1)
|
||||
THEN
|
||||
@@ -1058,13 +1058,13 @@ AS
|
||||
v_errorhint VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errmes VARCHAR(1024);
|
||||
v_errmes VARCHAR (1024);
|
||||
-- De importvelden
|
||||
v_prs_perslid_nr VARCHAR2(16 BYTE);
|
||||
v_prs_perslid_bsn VARCHAR2(10 BYTE);
|
||||
v_prs_perslid_naam VARCHAR2(60 BYTE);
|
||||
v_prs_perslid_oslogin VARCHAR2(30 BYTE);
|
||||
v_prs_perslid_email VARCHAR2(200 BYTE);
|
||||
v_prs_perslid_nr VARCHAR2 (16 BYTE);
|
||||
v_prs_perslid_bsn VARCHAR2 (10 BYTE);
|
||||
v_prs_perslid_naam VARCHAR2 (60 BYTE);
|
||||
v_prs_perslid_oslogin VARCHAR2 (30 BYTE);
|
||||
v_prs_perslid_email VARCHAR2 (200 BYTE);
|
||||
v_teller NUMBER;
|
||||
|
||||
CURSOR c1 IS
|
||||
@@ -1210,7 +1210,6 @@ END;
|
||||
/* Formatted on 2005/10/11 14:25 (Formatter Plus v4.8.5) */
|
||||
CREATE OR REPLACE PROCEDURE UWVA_update_cis (p_import_key IN NUMBER)
|
||||
AS
|
||||
|
||||
CURSOR c_login
|
||||
IS
|
||||
SELECT p.prs_perslid_nr, cis.prs_perslid_oslogin, p.prs_perslid_login
|
||||
@@ -1219,8 +1218,7 @@ AS
|
||||
AND p.prs_perslid_naam NOT LIKE 'INACT%'
|
||||
AND p.prs_perslid_nr IS NOT NULL
|
||||
AND cis.prs_perslid_nr = p.prs_perslid_nr
|
||||
AND LTRIM (RTRIM (UPPER (NVL(cis.prs_perslid_oslogin, 'is leeg')))) <>
|
||||
LTRIM (RTRIM (UPPER (NVL(p.prs_perslid_oslogin, 'is leeg'))))
|
||||
AND LTRIM (RTRIM (UPPER (NVL(cis.prs_perslid_oslogin,'is leeg')))) <> LTRIM (RTRIM (UPPER (NVL(p.prs_perslid_oslogin, 'is leeg'))))
|
||||
AND cis.prs_perslid_oslogin IS NOT NULL;
|
||||
|
||||
CURSOR c_email
|
||||
@@ -1231,39 +1229,34 @@ AS
|
||||
AND p.prs_perslid_naam NOT LIKE 'INACT%'
|
||||
AND p.prs_perslid_nr IS NOT NULL
|
||||
AND cis.prs_perslid_nr = p.prs_perslid_nr
|
||||
AND LTRIM (RTRIM (UPPER (NVL(cis.prs_perslid_email,'geenmail')))) <>
|
||||
LTRIM (RTRIM (UPPER (NVL(p.prs_perslid_email,'geenmail'))))
|
||||
AND LTRIM (RTRIM (UPPER (NVL(cis.prs_perslid_email,'geenmail')))) <> LTRIM (RTRIM (UPPER (NVL(p.prs_perslid_email,'geenmail'))))
|
||||
AND cis.prs_perslid_email IS NOT NULL
|
||||
AND NOT (substr(cis.prs_perslid_email,7,1)='@')
|
||||
AND fac.safe_to_number(substr(cis.prs_perslid_email, 4,3)) is null;
|
||||
|
||||
v_aantal NUMBER(10);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errmes VARCHAR(1024);
|
||||
v_errormsg VARCHAR (200);
|
||||
AND fac.safe_to_number(substr(cis.prs_perslid_email,4,3)) IS NULL;
|
||||
|
||||
v_aantal NUMBER (10);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errmes VARCHAR (1024);
|
||||
v_errormsg VARCHAR (200);
|
||||
BEGIN
|
||||
|
||||
v_aantal := 0;
|
||||
FOR rc IN c_login
|
||||
v_aantal := 0;
|
||||
FOR rc IN c_login
|
||||
LOOP
|
||||
-- Bestaat deze al?
|
||||
BEGIN
|
||||
|
||||
|
||||
IF rc.prs_perslid_login < to_date ('20070101', 'yyyymmdd') OR
|
||||
rc.prs_perslid_login is NULL THEN
|
||||
rc.prs_perslid_login IS NULL
|
||||
THEN
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_oslogin = NULL
|
||||
WHERE prs_perslid_oslogin = UPPER(rc.prs_perslid_oslogin);
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_oslogin = null
|
||||
WHERE prs_perslid_oslogin = UPPER(rc.prs_perslid_oslogin);
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_oslogin = rc.prs_perslid_oslogin
|
||||
WHERE prs_perslid_nr = rc.prs_perslid_nr
|
||||
AND prs_perslid_verwijder is null;
|
||||
v_aantal := v_aantal + 1;
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_oslogin = rc.prs_perslid_oslogin
|
||||
WHERE prs_perslid_nr = rc.prs_perslid_nr
|
||||
AND prs_perslid_verwijder IS NULL;
|
||||
v_aantal := v_aantal + 1;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
@@ -1273,26 +1266,21 @@ BEGIN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Kan login niet aanpassen ' || v_errormsg,
|
||||
'Personeelsnummer: ' || rc.prs_perslid_nr || ' login: ' || rc.prs_perslid_oslogin
|
||||
);
|
||||
'Personeelsnummer: ' || rc.prs_perslid_nr || ' login: ' || rc.prs_perslid_oslogin);
|
||||
END;
|
||||
COMMIT;
|
||||
END LOOP;
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Aantal aangepaste logins: ' || v_aantal,
|
||||
''
|
||||
);
|
||||
fac.imp_writelog (p_import_key, 'S', 'Aantal aangepaste logins: ' || v_aantal, '');
|
||||
|
||||
v_aantal := 0;
|
||||
FOR rc IN c_email
|
||||
v_aantal := 0;
|
||||
FOR rc IN c_email
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_email = rc.prs_perslid_email
|
||||
WHERE prs_perslid_nr = rc.prs_perslid_nr
|
||||
AND prs_perslid_verwijder is null;
|
||||
AND prs_perslid_verwijder IS NULL;
|
||||
v_aantal := v_aantal + 1;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
@@ -1301,21 +1289,13 @@ BEGIN
|
||||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Kan emailadres niet aanpassen ' || v_errormsg,
|
||||
'Personeelnummer: ' || rc.prs_perslid_nr || ' email: ' || rc.prs_perslid_email
|
||||
);
|
||||
'Kan email niet aanpassen ' || v_errormsg,
|
||||
'Personeelnummer: ' || rc.prs_perslid_nr || ' email: ' || rc.prs_perslid_email);
|
||||
END;
|
||||
COMMIT;
|
||||
END LOOP;
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Aantal aangepaste emailadressen: ' || v_aantal,
|
||||
''
|
||||
);
|
||||
|
||||
commit;
|
||||
|
||||
fac.imp_writelog (p_import_key, 'S', 'Aantal aangepaste emailadressen: ' || v_aantal, '');
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -2562,7 +2542,7 @@ CREATE OR REPLACE VIEW uwva_v_rap_uitdienst
|
||||
kpn_oms,
|
||||
verplichting
|
||||
)
|
||||
AS -- Voorgaande import uitdienst <20>n lopende/actuele verplichtingen!
|
||||
AS -- Voorgaande import uitdienst <20>n lopende/actuele verplichtingen!
|
||||
SELECT p.prs_perslid_key,
|
||||
p.prs_perslid_nr,
|
||||
kl2.prs_kenmerklink_waarde,
|
||||
@@ -3213,8 +3193,8 @@ BEGIN
|
||||
-- WHERE prs_kenmerk1 IN ('C', 'I', 'E', 'F', 'D', 'K', 'P', 'S') -- W is P geworden en S is nieuw! Komen C, D en K nog voor???
|
||||
;
|
||||
-- Aantal potentieel matchbare personen in Facilitor!
|
||||
-- WEG:Dus m<>t personeelsnummer en/of account en met juiste werknemertype.
|
||||
-- Dus m<>t personeelsnummer en met juiste werknemertype.
|
||||
-- WEG:Dus m<>t personeelsnummer en/of account en met juiste werknemertype.
|
||||
-- Dus m<>t personeelsnummer en met juiste werknemertype.
|
||||
SELECT DECODE (COUNT ( * ), 0, 1, COUNT ( * ))
|
||||
INTO v_perslid_count_fac
|
||||
FROM prs_v_aanwezigperslid p, prs_v_aanwezigkenmerklink tm, fac_v_aanwezigusrdata tm_ud
|
||||
@@ -3979,7 +3959,20 @@ AS
|
||||
c_commitbuffer NUMBER := 5000; -- Om de zoveel committen
|
||||
v_buffercount NUMBER := 0;
|
||||
v_time VARCHAR2 (50);
|
||||
|
||||
/*
|
||||
C???
|
||||
I
|
||||
E
|
||||
F
|
||||
D???
|
||||
K???
|
||||
W???
|
||||
P
|
||||
S
|
||||
B???
|
||||
L???
|
||||
M???
|
||||
T???
|
||||
CURSOR c_prs_upd
|
||||
IS
|
||||
SELECT x.empnum, x.account, p.prs_perslid_key,
|
||||
@@ -3990,7 +3983,22 @@ AS
|
||||
AND x.empnum != '000000' -- Of K helemaal uitsluiten?
|
||||
AND x.empnum = p.prs_perslid_nr(+)
|
||||
GROUP BY x.empnum, x.account, p.prs_perslid_key;
|
||||
|
||||
*/
|
||||
CURSOR c_prs_upd
|
||||
IS
|
||||
SELECT DISTINCT empnum, account
|
||||
FROM uwva_imp_abs
|
||||
WHERE empnum != '000000' -- Of K helemaal uitsluiten?
|
||||
UNION -- UWVA#86694: Niet iedereen in ABS(IIQ)-bestand, dus doen alsof!
|
||||
SELECT p.prs_perslid_nr empnum, p.prs_perslid_oslogin account
|
||||
FROM prs_v_aanwezigperslid p, prs_v_aanwezigkenmerklink km, fac_v_aanwezigusrdata ud
|
||||
WHERE p.prs_perslid_nr != '000000' -- Of K helemaal uitsluiten?
|
||||
AND p.prs_perslid_key = km.prs_link_key
|
||||
AND km.prs_kenmerk_key = c_employeetype_key
|
||||
AND fac.safe_to_number (km.prs_kenmerklink_waarde) = ud.fac_usrdata_key
|
||||
AND ud.fac_usrtab_key = c_usrtab_employeetype_key
|
||||
AND ud.fac_usrdata_code IN ('C', 'I', 'E', 'F', 'D', 'W', 'P', 'S') -- W is P geworden en S is nieuw! Komen C, D en K nog voor???
|
||||
;
|
||||
-- Gegeven persoon (Personeelsnummer en perslid_key), bepaal op basis van de rollen
|
||||
-- die deze persoon heeft, welke autorisatiegroepen verwijderd moeten worden.
|
||||
-- UWVA#20021: negeer daarbij de groep 'Budgethouders' (key 1061); daar gaat ABS
|
||||
@@ -4021,7 +4029,7 @@ AS
|
||||
AND km.prs_kenmerklink_verwijder IS NULL
|
||||
AND ud.fac_usrtab_key = c_usrtab_employeetype_key
|
||||
AND ud.fac_usrdata_verwijder IS NULL
|
||||
AND ud.fac_usrdata_key(+) = fac.safe_to_number(km.prs_kenmerklink_waarde)
|
||||
AND ud.fac_usrdata_key(+) = fac.safe_to_number (km.prs_kenmerklink_waarde)
|
||||
AND ud.fac_usrdata_upper IN ('C', 'I', 'E', 'F', 'D', 'W', 'P', 'S')) -- W is P geworden en S is nieuw! Komen C, D en K nog voor???
|
||||
;
|
||||
-- Gegeven persoon (Personeelsnummer en perslid_key), bepaal op basis van de rollen
|
||||
@@ -4122,7 +4130,7 @@ BEGIN
|
||||
FROM uwva_imp_abs
|
||||
;
|
||||
-- Aantal actieve, potentieel matchbare personen in Facilitor
|
||||
-- (dus m<>t account en/of personeelsnummer en met een juist werknemertype)
|
||||
-- (dus m<>t account en/of personeelsnummer en met een juist werknemertype)
|
||||
-- (DECODE ivm vermijden deling door 0)
|
||||
SELECT DECODE (COUNT (*), 0, 1, COUNT (*))
|
||||
INTO v_perslid_count_fclt
|
||||
@@ -4172,14 +4180,14 @@ BEGIN
|
||||
FROM uwva_imp_abs
|
||||
WHERE empnum = rec_upd.empnum);
|
||||
|
||||
-- Niet uniek --> error
|
||||
IF v_count != 1
|
||||
-- Niet uniek (en wel in importbestand!) --> error
|
||||
IF v_count > 1
|
||||
THEN
|
||||
v_errorhint := 'Personeelsnummer is niet uniek in importbestand. ' || v_prs_omschr;
|
||||
fac.imp_writelog (p_import_key, 'W', v_errormsg, v_errorhint);
|
||||
v_update := FALSE;
|
||||
|
||||
-- Wel uniek --> komt het ook (uniek) voor in Facilitor?
|
||||
-- Wel uniek (of niet in importbestand!) --> komt het ook (uniek) voor in Facilitor?
|
||||
ELSE
|
||||
v_errormsg := 'Matching op Personeelsnummer';
|
||||
-- Probeer persoon op ABS-ID te matchen.
|
||||
@@ -4377,13 +4385,13 @@ BEGIN
|
||||
|
||||
-- *** Budgethouders ****************************************************************************
|
||||
-- UWVA#20021: Onderstaande was voorheen een aparte budgethouder-import. Sinds het smoelenboek
|
||||
-- zijn de importbestanden voor de KPN- en budgethouderimports samengevoegd tot <20><>n bestand met
|
||||
-- zijn de importbestanden voor de KPN- en budgethouderimports samengevoegd tot <20><>n bestand met
|
||||
-- de mandateringsboom, inclusief volledige organisatiestructuur. De KPN-import 'maakt' voortaan
|
||||
-- de afdelingen en kostenplaatsen (PRS <20>n PRJ), terwijl de ABS-import eerst de personeelsleden
|
||||
-- de afdelingen en kostenplaatsen (PRS <20>n PRJ), terwijl de ABS-import eerst de personeelsleden
|
||||
-- aanmaakt en rechten geeft en vervolgens de taken van de budgethouder-import uitvoert:
|
||||
-- budgethouders instellen, mandaat (profiel) instellen en personen aan de Budgethouder-autori-
|
||||
-- satiegroep (key 1061) toevoegen.
|
||||
-- (NB: budgethouderimport moet n<> KPN en ABS, omdat KPN de kostenplaatsen en ABS de personen
|
||||
-- (NB: budgethouderimport moet n<> KPN en ABS, omdat KPN de kostenplaatsen en ABS de personen
|
||||
-- importeert die de budgethouderimport nodig heeft)
|
||||
|
||||
-- UWVA#23269: Eerst dezelfde check als in uwva_update_kpn(), want als die is overgeslagen, dan
|
||||
@@ -4732,7 +4740,7 @@ AS
|
||||
pf.prs_perslid_naam_full,
|
||||
d.prs_afdeling_naam,
|
||||
TO_CHAR (p.prs_perslid_aanmaak, 'YYYY-MM-DD') aanmaak,
|
||||
TO_CHAR(p.prs_perslid_key)
|
||||
TO_CHAR (p.prs_perslid_key)
|
||||
FROM prs_v_aanwezigperslid p,
|
||||
prs_v_perslid_fullnames_all pf,
|
||||
prs_afdeling d
|
||||
|
||||
Reference in New Issue
Block a user