CWTD#38793 -- Aanpassing personen import

svn path=/Customer/trunk/; revision=36037
This commit is contained in:
Robin Stoker
2017-11-17 12:25:04 +00:00
parent 70a510dd03
commit 8f64a5b076

View File

@@ -5,7 +5,6 @@
DEFINE thisfile = 'CWTD.SQL' DEFINE thisfile = 'CWTD.SQL'
DEFINE dbuser = '^CWTD' DEFINE dbuser = '^CWTD'
DEFINE custid = 'CWTD'
SET ECHO ON SET ECHO ON
SET DEFINE ON SET DEFINE ON
@@ -46,16 +45,16 @@ AS
-- De importvelden -- De importvelden
v_afdeling_naam VARCHAR2 (1000); v_afdeling_naam VARCHAR2 (1000);
v_afdeling_omschr VARCHAR2 (1000); v_afdeling_omschrijving VARCHAR2 (1000);
v_perslid_naam VARCHAR2 (1000); v_perslid_naam VARCHAR2 (1000);
v_perslid_tussenvoegsel VARCHAR2 (1000); -- v_perslid_tussenvoegsel VARCHAR2 (1000);
v_perslid_partn_tussen VARCHAR2 (1000); -- v_perslid_partn_tussen VARCHAR2 (1000);
v_perslid_partn_naam VARCHAR2 (1000); -- v_perslid_partn_naam VARCHAR2 (1000);
v_perslid_voorletters VARCHAR2 (1000); -- v_perslid_voorletters VARCHAR2 (1000);
v_perslid_voornaam VARCHAR2 (1000); v_perslid_voornaam VARCHAR2 (1000);
v_perslid_fullname VARCHAR2 (1000); -- v_perslid_fullname VARCHAR2 (1000);
v_perslid_telefoonnr VARCHAR2 (1000); v_perslid_telefoonnr VARCHAR2 (1000);
v_perslid_mobiel VARCHAR2 (1000); -- v_perslid_mobiel VARCHAR2 (1000);
v_perslid_oslogin VARCHAR2 (1000); v_perslid_oslogin VARCHAR2 (1000);
v_perslid_email VARCHAR2 (1000); v_perslid_email VARCHAR2 (1000);
v_srtperslid_omschrijving VARCHAR2 (1000); v_srtperslid_omschrijving VARCHAR2 (1000);
@@ -69,8 +68,15 @@ AS
v_dummy VARCHAR2 (1000); v_dummy VARCHAR2 (1000);
header_found BOOLEAN; header_found BOOLEAN;
v_controle_res VARCHAR2(30); v_controle_res VARCHAR2(30);
v_old_persnr VARCHAR2 (30);
CURSOR c
IS
SELECT fac_usrdata_omschr, prs_perslid_nr
FROM cwtd_imp_persoon cip, fac_usrdata u
WHERE UPPER(cip.prs_perslid_naam) LIKE UPPER(u.fac_usrdata_omschr) || ' ' || '%'
AND fac_usrtab_key = 81
ORDER BY cip.prs_perslid_nr, LENGTH (fac_usrdata_omschr) DESC;
-- SUBFUNCTION -- SUBFUNCTION
FUNCTION get_imp_value (p_value IN VARCHAR2, p_length IN NUMBER) RETURN VARCHAR2 IS FUNCTION get_imp_value (p_value IN VARCHAR2, p_length IN NUMBER) RETURN VARCHAR2 IS
@@ -101,7 +107,7 @@ BEGIN
header_found := FALSE; header_found := FALSE;
v_fielddelimitor := ';'; v_fielddelimitor := ';';
v_errormsg := ''; v_errormsg := '';
v_old_persnr := 'QueQeLeQue';
v_controle_res := 'OK'; -- Hier kan een controle ingebouwd worden ... v_controle_res := 'OK'; -- Hier kan een controle ingebouwd worden ...
IF (v_controle_res IS NULL) THEN IF (v_controle_res IS NULL) THEN
@@ -125,7 +131,7 @@ BEGIN
fac.imp_getfield (v_newline, v_fielddelimitor, v_perslid_voornaam); -- First Name fac.imp_getfield (v_newline, v_fielddelimitor, v_perslid_voornaam); -- First Name
fac.imp_getfield (v_newline, v_fielddelimitor, v_perslid_naam); -- Last Name fac.imp_getfield (v_newline, v_fielddelimitor, v_perslid_naam); -- Last Name
fac.imp_getfield (v_newline, v_fielddelimitor, v_srtperslid_omschrijving); -- Job Name fac.imp_getfield (v_newline, v_fielddelimitor, v_srtperslid_omschrijving); -- Job Name
fac.imp_getfield (v_newline, v_fielddelimitor, v_afdeling_omschr); -- Department Name fac.imp_getfield (v_newline, v_fielddelimitor, v_afdeling_omschrijving); -- Department Name
fac.imp_getfield (v_newline, v_fielddelimitor, v_locatie_omschrijving); -- Location Name fac.imp_getfield (v_newline, v_fielddelimitor, v_locatie_omschrijving); -- Location Name
fac.imp_getfield (v_newline, v_fielddelimitor, v_afdeling_naam); -- Cost Center Numnber fac.imp_getfield (v_newline, v_fielddelimitor, v_afdeling_naam); -- Cost Center Numnber
fac.imp_getfield (v_newline, v_fielddelimitor, v_perslid_email); -- Email Address fac.imp_getfield (v_newline, v_fielddelimitor, v_perslid_email); -- Email Address
@@ -142,7 +148,7 @@ BEGIN
v_perslid_voornaam = 'First Name' AND v_perslid_voornaam = 'First Name' AND
v_perslid_naam = 'Last Name' AND v_perslid_naam = 'Last Name' AND
v_srtperslid_omschrijving = 'Job Name' AND v_srtperslid_omschrijving = 'Job Name' AND
v_afdeling_omschr = 'Department Name' AND v_afdeling_omschrijving = 'Department Name' AND
v_locatie_omschrijving = 'Location Name' AND v_locatie_omschrijving = 'Location Name' AND
v_afdeling_naam = 'Cost Center Numnber' AND v_afdeling_naam = 'Cost Center Numnber' AND
v_perslid_email = 'Email Address' AND v_perslid_email = 'Email Address' AND
@@ -168,16 +174,18 @@ BEGIN
v_perslid_nr := get_imp_value(v_perslid_nr,16); v_perslid_nr := get_imp_value(v_perslid_nr,16);
v_perslid_naam := get_imp_value(v_perslid_naam,30); v_perslid_naam := get_imp_value(v_perslid_naam,30);
v_perslid_voornaam := get_imp_value(v_perslid_voornaam,30); v_perslid_voornaam := get_imp_value(v_perslid_voornaam,30);
v_perslid_tussenvoegsel := get_imp_value(v_perslid_tussenvoegsel,15); -- v_perslid_tussenvoegsel := get_imp_value(v_perslid_tussenvoegsel,15);
v_perslid_partn_naam := get_imp_value(v_perslid_partn_naam,30); v_perslid_geslacht := get_imp_value(v_perslid_geslacht, 10);
v_perslid_partn_tussen := get_imp_value(v_perslid_partn_tussen,15); -- v_perslid_partn_naam := get_imp_value(v_perslid_partn_naam,30);
v_perslid_fullname := get_imp_value(v_perslid_fullname,60); -- v_perslid_partn_tussen := get_imp_value(v_perslid_partn_tussen,15);
-- v_perslid_fullname := get_imp_value(v_perslid_fullname,60);
v_perslid_oslogin := get_imp_value(v_perslid_oslogin,30); v_perslid_oslogin := get_imp_value(v_perslid_oslogin,30);
v_perslid_email := get_imp_value(v_perslid_email,200); v_perslid_email := get_imp_value(v_perslid_email,200);
v_afdeling_naam := get_imp_value(v_afdeling_naam,10); v_afdeling_naam := get_imp_value(v_afdeling_naam,10);
v_afdeling_omschr := get_imp_value(v_afdeling_omschr,60); v_afdeling_omschrijving := get_imp_value(v_afdeling_omschrijving,60);
v_locatie_omschrijving := get_imp_value(v_locatie_omschrijving,30); v_locatie_omschrijving := get_imp_value(v_locatie_omschrijving,30);
v_srtperslid_omschrijving := get_imp_value(v_srtperslid_omschrijving,30); v_srtperslid_omschrijving := get_imp_value(v_srtperslid_omschrijving,30);
v_perslid_telefoonnr := get_imp_value(v_perslid_telefoonnr, 30);
-- Velden met een waarde '' zijn leeg ivm privacy overwegingen -- Velden met een waarde '' zijn leeg ivm privacy overwegingen
INSERT INTO cwtd_imp_persoon INSERT INTO cwtd_imp_persoon
@@ -185,14 +193,14 @@ BEGIN
,prs_perslid_naam ,prs_perslid_naam
,prs_perslid_voornaam ,prs_perslid_voornaam
,prs_perslid_geslacht ,prs_perslid_geslacht
,prs_perslid_partn_tussen --,prs_perslid_partn_tussen
,prs_perslid_partn_naam --,prs_perslid_partn_naam
,prs_perslid_tussenvoegsel --,prs_perslid_tussenvoegsel
,prs_perslid_voorletters --,prs_perslid_voorletters
,prs_perslid_fullname --,prs_perslid_fullname
,prs_perslid_telefoonnr ,prs_perslid_telefoonnr
,prs_perslid_mobiel -- ,prs_perslid_mobiel
,prs_perslid_oslogin -- ,prs_perslid_oslogin
,prs_perslid_email ,prs_perslid_email
,prs_srtperslid_omschrijving ,prs_srtperslid_omschrijving
,prs_afdeling_naam ,prs_afdeling_naam
@@ -205,19 +213,19 @@ BEGIN
VALUES(v_perslid_nr VALUES(v_perslid_nr
,v_perslid_naam ,v_perslid_naam
,v_perslid_voornaam ,v_perslid_voornaam
,DECODE (v_perslid_geslacht, 'Male', 1, 0) ,DECODE (v_perslid_geslacht, 'Male', 1, 'Female', 0, NULL)
,v_perslid_partn_tussen --,v_perslid_partn_tussen
,v_perslid_partn_naam -- ,v_perslid_partn_naam
,v_perslid_tussenvoegsel -- ,v_perslid_tussenvoegsel
,v_perslid_voorletters -- ,v_perslid_voorletters
,v_perslid_fullname --,v_perslid_fullname
,v_perslid_telefoonnr ,v_perslid_telefoonnr
,v_perslid_mobiel -- ,v_perslid_mobiel
,v_perslid_oslogin --,v_perslid_oslogin
,v_perslid_email ,v_perslid_email
,v_srtperslid_omschrijving ,v_srtperslid_omschrijving
,v_afdeling_naam ,v_afdeling_naam
,v_afdeling_omschr ,v_afdeling_omschrijving
,'' ,''
,'' ,''
,v_locatie_omschrijving ,v_locatie_omschrijving
@@ -246,8 +254,27 @@ BEGIN
IF header_found = FALSE THEN IF header_found = FALSE THEN
fac.imp_writelog (p_import_key, 'E', 'Geen geldige header gevonden', ''); fac.imp_writelog (p_import_key, 'E', 'Geen geldige header gevonden', '');
END IF; ELSE
-- splits de achternaam in tussenvoegsels en achternaam.
FOR rec IN c
LOOP
BEGIN
IF rec.prs_perslid_nr <> v_old_persnr
THEN
DBMS_OUTPUT.put_line (
rec.prs_perslid_nr || '-' || rec.fac_usrdata_omschr);
v_old_persnr := rec.prs_perslid_nr;
UPDATE cwtd_imp_persoon cip
SET prs_perslid_tussenvoegsel = rec.fac_usrdata_omschr,
prs_perslid_naam =
TRIM(SUBSTR (prs_perslid_naam,
LENGTH (rec.fac_usrdata_omschr) + 1))
WHERE cip.prs_perslid_nr = rec.prs_perslid_nr;
END IF;
END;
END LOOP;
END IF;
END IF; END IF;
EXCEPTION EXCEPTION
WHEN OTHERS WHEN OTHERS
@@ -308,11 +335,13 @@ AS
lp.prs_perslid_partn_tussen, lp.prs_perslid_partn_tussen,
lp.prs_perslid_partn_naam, lp.prs_perslid_partn_naam,
lp.prs_perslid_fullname, lp.prs_perslid_fullname,
lp.prs_afdeling_naam, DECODE (lp.prs_afdeling_naam, NULL, '0000', lp.prs_afdeling_naam) prs_afdeling_naam,
lp.prs_afdeling_omschr,
lp.prs_perslid_naam, lp.prs_perslid_naam,
lp.prs_perslid_tussenvoegsel, lp.prs_perslid_tussenvoegsel,
lp.prs_perslid_voorletters, lp.prs_perslid_voorletters,
lp.prs_perslid_voornaam, lp.prs_perslid_voornaam,
lp.prs_perslid_geslacht,
DECODE (lp.prs_perslid_telefoonnr, DECODE (lp.prs_perslid_telefoonnr,
'0', NULL, '0', NULL,
lp.prs_perslid_telefoonnr) lp.prs_perslid_telefoonnr)
@@ -692,12 +721,12 @@ BEGIN
INSERT INTO prs_perslid INSERT INTO prs_perslid
(prs_perslid_naam, prs_perslid_tussenvoegsel, prs_perslid_module, (prs_perslid_naam, prs_perslid_tussenvoegsel, prs_perslid_module,
prs_perslid_voorletters, prs_perslid_voornaam, prs_perslid_voorletters, prs_perslid_voornaam, prs_perslid_geslacht,
prs_perslid_telefoonnr, prs_perslid_mobiel, prs_perslid_oslogin, prs_perslid_email, prs_perslid_nr, prs_perslid_telefoonnr, prs_perslid_mobiel, prs_perslid_oslogin, prs_perslid_email, prs_perslid_nr,
prs_perslid_titel, prs_srtperslid_key, prs_afdeling_key, prs_perslid_aanmaak, fac_profiel_key prs_perslid_titel, prs_srtperslid_key, prs_afdeling_key, prs_perslid_aanmaak, fac_profiel_key
) )
VALUES (v_perslid_naam, v_perslid_tussenvoegsel, 'PRS', VALUES (v_perslid_naam, v_perslid_tussenvoegsel, 'PRS',
rec_prs_upd.prs_perslid_voorletters, rec_prs_upd.prs_perslid_voornaam, rec_prs_upd.prs_perslid_voorletters, rec_prs_upd.prs_perslid_voornaam, rec_prs_upd.prs_perslid_geslacht,
rec_prs_upd.prs_perslid_telefoonnr, rec_prs_upd.prs_perslid_mobiel, rec_prs_upd.prs_perslid_oslogin, rec_prs_upd.prs_perslid_email, rec_prs_upd.prs_perslid_nr, rec_prs_upd.prs_perslid_telefoonnr, rec_prs_upd.prs_perslid_mobiel, rec_prs_upd.prs_perslid_oslogin, rec_prs_upd.prs_perslid_email, rec_prs_upd.prs_perslid_nr,
rec_prs_upd.prs_perslid_titel, v_srtperslid_key, v_afdeling_key, c_perslid_aanmaak, 21 rec_prs_upd.prs_perslid_titel, v_srtperslid_key, v_afdeling_key, c_perslid_aanmaak, 21
); );
@@ -720,6 +749,7 @@ BEGIN
prs_perslid_voorletters = rec_prs_upd.prs_perslid_voorletters, prs_perslid_voorletters = rec_prs_upd.prs_perslid_voorletters,
prs_perslid_voornaam = NVL (rec_prs_upd.prs_perslid_voornaam, prs_perslid_voornaam), prs_perslid_voornaam = NVL (rec_prs_upd.prs_perslid_voornaam, prs_perslid_voornaam),
prs_perslid_telefoonnr = rec_prs_upd.prs_perslid_telefoonnr, prs_perslid_telefoonnr = rec_prs_upd.prs_perslid_telefoonnr,
prs_perslid_geslacht = rec_prs_upd.prs_perslid_geslacht,
prs_perslid_titel = rec_prs_upd.prs_perslid_titel, prs_perslid_titel = rec_prs_upd.prs_perslid_titel,
prs_srtperslid_key = v_srtperslid_key, prs_srtperslid_key = v_srtperslid_key,
prs_afdeling_key = v_afdeling_key, prs_afdeling_key = v_afdeling_key,
@@ -728,13 +758,14 @@ BEGIN
WHERE prs_perslid_key = rec_prs_upd.prs_perslid_key WHERE prs_perslid_key = rec_prs_upd.prs_perslid_key
AND ( prs_perslid_naam != v_perslid_naam AND ( prs_perslid_naam != v_perslid_naam
OR NVL (prs_perslid_tussenvoegsel, '-') != NVL (v_perslid_tussenvoegsel, '-') OR NVL (prs_perslid_tussenvoegsel, '-') != NVL (v_perslid_tussenvoegsel, '-')
OR prs_perslid_voorletters != rec_prs_upd.prs_perslid_voorletters -- OR prs_perslid_voorletters != rec_prs_upd.prs_perslid_voorletters
OR NVL (prs_perslid_voornaam, '-') != NVL (rec_prs_upd.prs_perslid_voornaam, '-') OR NVL (prs_perslid_voornaam, '-') != NVL (rec_prs_upd.prs_perslid_voornaam, '-')
OR NVL (prs_perslid_telefoonnr, '-') != NVL (rec_prs_upd.prs_perslid_telefoonnr, '-') OR NVL (prs_perslid_telefoonnr, '-') != NVL (rec_prs_upd.prs_perslid_telefoonnr, '-')
OR prs_perslid_titel != rec_prs_upd.prs_perslid_titel -- OR prs_perslid_titel != rec_prs_upd.prs_perslid_titel
OR prs_srtperslid_key != v_srtperslid_key OR prs_srtperslid_key != v_srtperslid_key
OR prs_afdeling_key != v_afdeling_key OR prs_afdeling_key != v_afdeling_key
OR prs_perslid_email != rec_prs_upd.prs_perslid_email OR prs_perslid_email != rec_prs_upd.prs_perslid_email
OR NVL (prs_perslid_geslacht, 9) != NVL (rec_prs_upd.prs_perslid_geslacht, 9)
OR rec_prs_upd.prs_perslid_verwijder IS NOT NULL OR rec_prs_upd.prs_perslid_verwijder IS NOT NULL
); );
END IF; END IF;
@@ -1420,12 +1451,14 @@ EXCEPTION
END cwtd_processemail; END cwtd_processemail;
/ /
------ payload end ------
SHOW ERRORS SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 0); END;
/
BEGIN fac.registercustversion('CWTD', 12); END;
/
BEGIN adm.systrackscriptId('$Id$', 0); END;
/
COMMIT; COMMIT;
SET ECHO OFF
SPOOL OFF SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile