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 dbuser = '^CWTD'
DEFINE custid = 'CWTD'
SET ECHO ON
SET DEFINE ON
@@ -46,16 +45,16 @@ AS
-- De importvelden
v_afdeling_naam VARCHAR2 (1000);
v_afdeling_omschr VARCHAR2 (1000);
v_afdeling_omschrijving VARCHAR2 (1000);
v_perslid_naam VARCHAR2 (1000);
v_perslid_tussenvoegsel VARCHAR2 (1000);
v_perslid_partn_tussen VARCHAR2 (1000);
v_perslid_partn_naam VARCHAR2 (1000);
v_perslid_voorletters VARCHAR2 (1000);
-- v_perslid_tussenvoegsel VARCHAR2 (1000);
-- v_perslid_partn_tussen VARCHAR2 (1000);
-- v_perslid_partn_naam VARCHAR2 (1000);
-- v_perslid_voorletters VARCHAR2 (1000);
v_perslid_voornaam VARCHAR2 (1000);
v_perslid_fullname VARCHAR2 (1000);
-- v_perslid_fullname VARCHAR2 (1000);
v_perslid_telefoonnr VARCHAR2 (1000);
v_perslid_mobiel VARCHAR2 (1000);
-- v_perslid_mobiel VARCHAR2 (1000);
v_perslid_oslogin VARCHAR2 (1000);
v_perslid_email VARCHAR2 (1000);
v_srtperslid_omschrijving VARCHAR2 (1000);
@@ -69,8 +68,15 @@ AS
v_dummy VARCHAR2 (1000);
header_found BOOLEAN;
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
FUNCTION get_imp_value (p_value IN VARCHAR2, p_length IN NUMBER) RETURN VARCHAR2 IS
@@ -101,7 +107,7 @@ BEGIN
header_found := FALSE;
v_fielddelimitor := ';';
v_errormsg := '';
v_old_persnr := 'QueQeLeQue';
v_controle_res := 'OK'; -- Hier kan een controle ingebouwd worden ...
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_naam); -- Last 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_afdeling_naam); -- Cost Center Numnber
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_naam = 'Last 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_afdeling_naam = 'Cost Center Numnber' AND
v_perslid_email = 'Email Address' AND
@@ -168,16 +174,18 @@ BEGIN
v_perslid_nr := get_imp_value(v_perslid_nr,16);
v_perslid_naam := get_imp_value(v_perslid_naam,30);
v_perslid_voornaam := get_imp_value(v_perslid_voornaam,30);
v_perslid_tussenvoegsel := get_imp_value(v_perslid_tussenvoegsel,15);
v_perslid_partn_naam := get_imp_value(v_perslid_partn_naam,30);
v_perslid_partn_tussen := get_imp_value(v_perslid_partn_tussen,15);
v_perslid_fullname := get_imp_value(v_perslid_fullname,60);
-- v_perslid_tussenvoegsel := get_imp_value(v_perslid_tussenvoegsel,15);
v_perslid_geslacht := get_imp_value(v_perslid_geslacht, 10);
-- v_perslid_partn_naam := get_imp_value(v_perslid_partn_naam,30);
-- 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_email := get_imp_value(v_perslid_email,200);
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_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
INSERT INTO cwtd_imp_persoon
@@ -185,14 +193,14 @@ BEGIN
,prs_perslid_naam
,prs_perslid_voornaam
,prs_perslid_geslacht
,prs_perslid_partn_tussen
,prs_perslid_partn_naam
,prs_perslid_tussenvoegsel
,prs_perslid_voorletters
,prs_perslid_fullname
--,prs_perslid_partn_tussen
--,prs_perslid_partn_naam
--,prs_perslid_tussenvoegsel
--,prs_perslid_voorletters
--,prs_perslid_fullname
,prs_perslid_telefoonnr
,prs_perslid_mobiel
,prs_perslid_oslogin
-- ,prs_perslid_mobiel
-- ,prs_perslid_oslogin
,prs_perslid_email
,prs_srtperslid_omschrijving
,prs_afdeling_naam
@@ -205,19 +213,19 @@ BEGIN
VALUES(v_perslid_nr
,v_perslid_naam
,v_perslid_voornaam
,DECODE (v_perslid_geslacht, 'Male', 1, 0)
,v_perslid_partn_tussen
,v_perslid_partn_naam
,v_perslid_tussenvoegsel
,v_perslid_voorletters
,v_perslid_fullname
,DECODE (v_perslid_geslacht, 'Male', 1, 'Female', 0, NULL)
--,v_perslid_partn_tussen
-- ,v_perslid_partn_naam
-- ,v_perslid_tussenvoegsel
-- ,v_perslid_voorletters
--,v_perslid_fullname
,v_perslid_telefoonnr
,v_perslid_mobiel
,v_perslid_oslogin
-- ,v_perslid_mobiel
--,v_perslid_oslogin
,v_perslid_email
,v_srtperslid_omschrijving
,v_afdeling_naam
,v_afdeling_omschr
,v_afdeling_omschrijving
,''
,''
,v_locatie_omschrijving
@@ -246,8 +254,27 @@ BEGIN
IF header_found = FALSE THEN
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;
EXCEPTION
WHEN OTHERS
@@ -308,11 +335,13 @@ AS
lp.prs_perslid_partn_tussen,
lp.prs_perslid_partn_naam,
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_tussenvoegsel,
lp.prs_perslid_voorletters,
lp.prs_perslid_voornaam,
lp.prs_perslid_geslacht,
DECODE (lp.prs_perslid_telefoonnr,
'0', NULL,
lp.prs_perslid_telefoonnr)
@@ -692,12 +721,12 @@ BEGIN
INSERT INTO prs_perslid
(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_titel, prs_srtperslid_key, prs_afdeling_key, prs_perslid_aanmaak, fac_profiel_key
)
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_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_voornaam = NVL (rec_prs_upd.prs_perslid_voornaam, prs_perslid_voornaam),
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_srtperslid_key = v_srtperslid_key,
prs_afdeling_key = v_afdeling_key,
@@ -728,13 +758,14 @@ BEGIN
WHERE prs_perslid_key = rec_prs_upd.prs_perslid_key
AND ( prs_perslid_naam != v_perslid_naam
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_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_afdeling_key != v_afdeling_key
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
);
END IF;
@@ -1420,12 +1451,14 @@ EXCEPTION
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;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile