CWTD#38793 -- Aanpassing personen import
svn path=/Customer/trunk/; revision=36037
This commit is contained in:
123
CWTD/cwtd.sql
123
CWTD/cwtd.sql
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user