FSN#22517
svn path=/Customer/trunk/; revision=15124
This commit is contained in:
169
SUTF/sutf.sql
169
SUTF/sutf.sql
@@ -1,7 +1,7 @@
|
||||
-- Script containing customer specific configuration sql statements for SUTF
|
||||
-- (c) 2010 SG|facilitor bv
|
||||
-- $Revision: 5 $
|
||||
-- $Modtime: 26-01-12 15:43 $
|
||||
-- $Revision: 6 $
|
||||
-- $Modtime: 20-02-12 13:27 $
|
||||
--
|
||||
-- Support: +31 53 4800700
|
||||
|
||||
@@ -19,15 +19,11 @@ AS
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE sutf_import_prs (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2
|
||||
p_import_key IN NUMBER
|
||||
)
|
||||
IS
|
||||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||||
-- LET OP: moet idem zijn als declaratie bij sutf_UPDATE_PRS
|
||||
c_first_import VARCHAR2 (30) := 'Initiele import';
|
||||
v_newline VARCHAR2 (1000); -- Input line
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
@@ -60,30 +56,9 @@ IS
|
||||
IS
|
||||
SELECT *
|
||||
FROM fac_imp_file
|
||||
WHERE fac_imp_file_applicatie = p_applname
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
BEGIN
|
||||
-- Eerst opruiming
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM imp_log
|
||||
WHERE imp_log_applicatie = p_applname;
|
||||
|
||||
IF (v_count = 0)
|
||||
THEN
|
||||
fac.imp_writelog
|
||||
(p_applname,
|
||||
p_applrun,
|
||||
'I',
|
||||
c_first_import,
|
||||
'Controle importbestand op aantal personen wordt overgeslagen'
|
||||
);
|
||||
COMMIT;
|
||||
ELSE
|
||||
DELETE FROM imp_log
|
||||
WHERE imp_log_applicatie = p_applname;
|
||||
END IF;
|
||||
|
||||
DELETE FROM sutf_imp_prs;
|
||||
|
||||
COMMIT;
|
||||
@@ -168,8 +143,7 @@ BEGIN
|
||||
IF LENGTH (v_prs_perslid_nr) > 16
|
||||
THEN
|
||||
v_prs_perslid_nr := SUBSTR (v_prs_perslid_nr, 1, 16);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Personeelsnummer te lang',
|
||||
'Personeelsnummer wordt afgebroken tot ['
|
||||
@@ -181,8 +155,7 @@ BEGIN
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog
|
||||
(p_applname,
|
||||
p_applrun,
|
||||
(p_import_key,
|
||||
'E',
|
||||
v_aanduiding || 'Personeelsnummer onbekend',
|
||||
'Personeelsnummer is verplicht; regel wordt overgeslagen!'
|
||||
@@ -198,8 +171,7 @@ BEGIN
|
||||
IF LENGTH (v_prs_perslid_naam) > 30
|
||||
THEN
|
||||
v_prs_perslid_naam := SUBSTR (v_prs_perslid_naam, 1, 30);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Naam te lang',
|
||||
'Naam wordt afgebroken tot ['
|
||||
@@ -211,8 +183,7 @@ BEGIN
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog
|
||||
(p_applname,
|
||||
p_applrun,
|
||||
(p_import_key,
|
||||
'E',
|
||||
v_aanduiding || 'Naam onbekend',
|
||||
'Naam is verplicht; regel wordt overgeslagen!'
|
||||
@@ -229,8 +200,7 @@ BEGIN
|
||||
THEN
|
||||
v_prs_perslid_tussenvoegsel :=
|
||||
SUBSTR (v_prs_perslid_tussenvoegsel, 1, 10);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Tussenvoegsel te lang',
|
||||
'Tussenvoegsel wordt afgebroken tot ['
|
||||
@@ -248,8 +218,7 @@ BEGIN
|
||||
THEN
|
||||
v_prs_perslid_voorletters :=
|
||||
SUBSTR (v_prs_perslid_voorletters, 1, 10);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Voorletters te lang',
|
||||
'Voorletters worden afgebroken tot ['
|
||||
@@ -267,8 +236,7 @@ BEGIN
|
||||
THEN
|
||||
v_prs_perslid_voornaam :=
|
||||
SUBSTR (v_prs_perslid_voornaam, 1, 30);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Voornaam is te lang',
|
||||
'Voornaam wordt afgebroken tot ['
|
||||
@@ -280,8 +248,7 @@ BEGIN
|
||||
THEN
|
||||
v_prs_perslid_voornaam := '-';
|
||||
fac.imp_writelog
|
||||
(p_applname,
|
||||
p_applrun,
|
||||
(p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Voornaam onbekend',
|
||||
'Voornaam wordt gezet op [-]'
|
||||
@@ -297,8 +264,7 @@ BEGIN
|
||||
IF LENGTH (v_prs_afdeling_naam) > 10
|
||||
THEN
|
||||
v_prs_afdeling_naam := SUBSTR (v_prs_afdeling_naam, 1, 10);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Afdelingscode te lang',
|
||||
'Afdelingscode wordt afgebroken tot ['
|
||||
@@ -310,8 +276,7 @@ BEGIN
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog
|
||||
(p_applname,
|
||||
p_applrun,
|
||||
(p_import_key,
|
||||
'E',
|
||||
v_aanduiding || 'Afdelingscode onbekend',
|
||||
'Afdelingscode is verplicht; regel wordt overgeslagen!'
|
||||
@@ -328,8 +293,7 @@ BEGIN
|
||||
THEN
|
||||
v_prs_srtperslid_omschrijving :=
|
||||
SUBSTR (v_prs_srtperslid_omschrijving, 1, 30);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Functie te lang',
|
||||
'Functie wordt afgebroken tot ['
|
||||
@@ -341,8 +305,7 @@ BEGIN
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog
|
||||
(p_applname,
|
||||
p_applrun,
|
||||
(p_import_key,
|
||||
'E',
|
||||
v_aanduiding || 'Functie onbekend',
|
||||
'Functie is verplicht; regel wordt overgeslagen!'
|
||||
@@ -358,8 +321,7 @@ BEGIN
|
||||
IF LENGTH (v_alg_locatie_code) > 5
|
||||
THEN
|
||||
v_alg_locatie_code := SUBSTR (v_alg_locatie_code, 1, 5);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Locatiecode te lang',
|
||||
'Locatiecode wordt afgebroken tot ['
|
||||
@@ -376,8 +338,7 @@ BEGIN
|
||||
IF LENGTH (v_alg_gebouw_code) > 10
|
||||
THEN
|
||||
v_alg_gebouw_code := SUBSTR (v_alg_gebouw_code, 1, 10);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Gebouwcode te lang',
|
||||
'Gebouwcode wordt afgebroken tot ['
|
||||
@@ -395,8 +356,7 @@ BEGIN
|
||||
THEN
|
||||
v_prs_perslid_telefoonnr :=
|
||||
SUBSTR (v_prs_perslid_telefoonnr, 1, 15);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Telefoonnummer te lang',
|
||||
'Telefoonnummer wordt afgebroken tot ['
|
||||
@@ -413,8 +373,7 @@ BEGIN
|
||||
IF LENGTH (v_prs_perslid_email) > 50
|
||||
THEN
|
||||
v_prs_perslid_email := SUBSTR (v_prs_perslid_email, 1, 50);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'E-mailadres te lang',
|
||||
'E-mailadres wordt afgebroken tot ['
|
||||
@@ -432,8 +391,7 @@ BEGIN
|
||||
IF LENGTH (v_prs_perslid_oslogin) > 30
|
||||
THEN
|
||||
v_prs_perslid_oslogin := SUBSTR (v_prs_perslid_oslogin, 1, 30);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Loginnaam te lang',
|
||||
'Loginnaam wordt afgebroken tot ['
|
||||
@@ -490,8 +448,7 @@ BEGIN
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog
|
||||
(p_applname,
|
||||
p_applrun,
|
||||
(p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Ingelezen regel kan niet worden weggeschreven!'
|
||||
@@ -505,22 +462,19 @@ BEGIN
|
||||
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Ongeldig importbestand',
|
||||
'Geen header of header niet volgens specificatie!'
|
||||
);
|
||||
ELSE
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Persoon: aantal ingelezen regels: '
|
||||
|| TO_CHAR (v_count_tot),
|
||||
''
|
||||
);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Persoon: aantal ongeldige importregels: '
|
||||
|| TO_CHAR (v_count_tot - v_count_import),
|
||||
@@ -535,8 +489,7 @@ EXCEPTION
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
v_errorhint
|
||||
@@ -547,12 +500,10 @@ END sutf_import_prs;
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE sutf_update_prs (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2
|
||||
p_import_key IN NUMBER
|
||||
)
|
||||
IS
|
||||
-- LET OP: moet idem zijn als declaratie bij sutf_IMPORT_PRS
|
||||
c_first_import VARCHAR2 (30) := 'Initiele import';
|
||||
c_persoon_inactief VARCHAR2 (30) := 'INACTIEF: ';
|
||||
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een nummer
|
||||
c_max_delta_percentage NUMBER (10) := 20;
|
||||
@@ -569,7 +520,6 @@ IS
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_first_import_count NUMBER (10);
|
||||
v_count_prs_actual NUMBER (10);
|
||||
v_count_prs_import NUMBER (10); -- Matching actual persons!
|
||||
v_count_tot NUMBER (10);
|
||||
@@ -649,12 +599,6 @@ IS
|
||||
|
||||
|
||||
BEGIN
|
||||
SELECT COUNT (*)
|
||||
INTO v_first_import_count
|
||||
FROM imp_log
|
||||
WHERE imp_log_omschrijving = c_first_import
|
||||
AND imp_log_applicatie = p_applname;
|
||||
|
||||
SELECT DECODE (COUNT (*), 0, 1, COUNT (*))
|
||||
INTO v_count_prs_actual
|
||||
FROM prs_perslid
|
||||
@@ -667,8 +611,7 @@ BEGIN
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND p.prs_perslid_nr = ip.prs_perslid_nr;
|
||||
|
||||
IF ( (v_first_import_count = 1)
|
||||
OR (TRUNC ((v_count_prs_import / v_count_prs_actual) * 100) >=
|
||||
IF ( (TRUNC ((v_count_prs_import / v_count_prs_actual) * 100) >=
|
||||
(100 - c_max_delta_percentage
|
||||
)
|
||||
)
|
||||
@@ -693,8 +636,7 @@ BEGIN
|
||||
SET prs_perslid_verwijder = SYSDATE
|
||||
WHERE prs_perslid_key = recdelprs.prs_perslid_key;
|
||||
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
'Persoon met nummer ['
|
||||
|| recdelprs.prs_perslid_nr
|
||||
@@ -728,8 +670,7 @@ BEGIN
|
||||
prs_perslid_oslogin = NULL
|
||||
WHERE prs_perslid_key = recdelprs.prs_perslid_key;
|
||||
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
'Persoon met nummer ['
|
||||
|| recdelprs.prs_perslid_nr
|
||||
@@ -749,8 +690,7 @@ BEGIN
|
||||
WHERE prs_perslid_naam LIKE c_persoon_inactief || '%'
|
||||
AND prs_perslid_oslogin IS NOT NULL;
|
||||
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
'Persoon met nummer ['
|
||||
|| recdelprs.prs_perslid_nr
|
||||
@@ -775,8 +715,7 @@ BEGIN
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_errorhint
|
||||
@@ -825,8 +764,7 @@ BEGIN
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
v_errorhint
|
||||
@@ -835,15 +773,13 @@ BEGIN
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Functie: verwerkte regels zonder foutmelding: '
|
||||
|| TO_CHAR (v_count_tot - v_count_error),
|
||||
''
|
||||
);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Functie: verwerkte regels met foutmelding: '
|
||||
|| TO_CHAR (v_count_error),
|
||||
@@ -930,8 +866,7 @@ BEGIN
|
||||
ELSE
|
||||
IF (v_count > 1)
|
||||
THEN
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding
|
||||
|| ' kan persoon niet 1-duidig bepalen',
|
||||
@@ -968,8 +903,7 @@ BEGIN
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
v_errorhint
|
||||
@@ -978,15 +912,13 @@ BEGIN
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Persoon: verwerkte regels zonder foutmelding: '
|
||||
|| TO_CHAR (v_count_tot - v_count_error),
|
||||
''
|
||||
);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Persoon: verwerkte regels met foutmelding: '
|
||||
|| TO_CHAR (v_count_error),
|
||||
@@ -1187,8 +1119,7 @@ BEGIN
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
v_errorhint
|
||||
@@ -1197,15 +1128,13 @@ BEGIN
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Werkplek: verwerkte regels zonder foutmelding: '
|
||||
|| TO_CHAR (v_count_tot - v_count_error),
|
||||
''
|
||||
);
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Werkplek: verwerkte regels met foutmelding: '
|
||||
|| TO_CHAR (v_count_error),
|
||||
@@ -1216,8 +1145,7 @@ BEGIN
|
||||
FOR recnowp IN cnowp
|
||||
LOOP
|
||||
BEGIN
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
'Persoon met nummer ['
|
||||
|| recnowp.prs_perslid_nr
|
||||
@@ -1240,8 +1168,7 @@ BEGIN
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_errorhint
|
||||
@@ -1290,8 +1217,7 @@ BEGIN
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_applname,
|
||||
p_applrun,
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_errorhint
|
||||
@@ -1303,8 +1229,7 @@ BEGIN
|
||||
|
||||
ELSE
|
||||
fac.imp_writelog
|
||||
(p_applname,
|
||||
p_applrun,
|
||||
(p_import_key,
|
||||
'E',
|
||||
'Verschil tussen het actuele aantal en het te importeren aantal personen te groot; zie specificatie!',
|
||||
'- max. verschilpercentage = ['
|
||||
@@ -1363,7 +1288,7 @@ SELECT obj.ins_deel_key, ins_kenmerkdeel_waarde
|
||||
and k.ins_deel_key = obj.ins_deel_key
|
||||
and ins_kenmerk_key = 81;
|
||||
|
||||
BEGIN adm.systrackscript('$Workfile: sutf.sql $', '$Revision: 5 $', 0); END;
|
||||
BEGIN adm.systrackscript('$Workfile: sutf.sql $', '$Revision: 6 $', 0); END;
|
||||
/
|
||||
|
||||
BEGIN fac.registercustversion('SUTF', 3); END;
|
||||
|
||||
Reference in New Issue
Block a user