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 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
|
||||
|
||||
Reference in New Issue
Block a user