FSN#22517

svn path=/Customer/trunk/; revision=15124
This commit is contained in:
Maykel Geerdink
2012-02-21 08:21:04 +00:00
parent 05bcf9562a
commit e30838cc3c
42 changed files with 1905 additions and 3799 deletions

View File

@@ -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;