FSN#13718

svn path=/Customer/trunk/; revision=13574
This commit is contained in:
Arthur Egberink
2008-04-01 14:42:22 +00:00
parent 3ddb076768
commit c4891a2a23

View File

@@ -1,7 +1,7 @@
-- Script containing customer specific configuration sql statements for CWTD
-- (c) 2008 Facilitor
-- $Revision: 1 $
-- $Modtime: 3-03-08 17:20 $
-- $Revision: 2 $
-- $Modtime: 1-04-08 16:38 $
--
-- Support: +31 53 4800700
@@ -243,7 +243,7 @@ CREATE OR REPLACE PROCEDURE cwtd_update_persoon (p_applname IN VARCHAR2, p_applr
AS
-- Constanten (LET OP: deze waarden moeten letterlijk in de DB aabwezig zijn!)
c_usrtab_key INTEGER := 1; -- Tbv LOCATIE
c_usrtab_key INTEGER := 1; -- Tbv GEBOUW
c_srtgebouw_default INTEGER := 1;
c_srtruimte_default INTEGER := 1;
@@ -293,7 +293,7 @@ AS
, lp.prs_perslid_tussenvoegsel
, lp.prs_perslid_voorletters
, lp.prs_perslid_voornaam
, lp.prs_perslid_telefoonnr
, DECODE (lp.prs_perslid_telefoonnr, '0', null, lp.prs_perslid_telefoonnr) prs_perslid_telefoonnr
, lp.prs_perslid_mobiel
, lp.prs_perslid_oslogin
, lp.prs_perslid_email
@@ -317,7 +317,6 @@ AS
v_prs_key_cnt NUMBER (10);
v_srtperslid_key NUMBER (10);
v_afdeling_key NUMBER (10);
v_locatie_key NUMBER (10);
v_gebouw_key NUMBER (10);
v_verdieping_key NUMBER (10);
v_ruimte_key NUMBER (10);
@@ -343,8 +342,8 @@ AS
o_afdeling_key NUMBER (10); -- huidige (oude) afdeling
l_nrkps NUMBER;
v_nr_werkplek NUMBER;
v_current_locatie_key NUMBER;
v_new_locatie_key NUMBER;
v_current_gebouw_key NUMBER;
v_new_gebouw_key NUMBER;
BEGIN
@@ -671,12 +670,12 @@ BEGIN
(prs_perslid_naam, prs_perslid_tussenvoegsel, prs_perslid_module,
prs_perslid_voorletters, prs_perslid_voornaam,
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
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_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
rec_prs_upd.prs_perslid_titel, v_srtperslid_key, v_afdeling_key, c_perslid_aanmaak, 21
);
fac.imp_writelog (p_applname,
@@ -699,7 +698,7 @@ BEGIN
prs_perslid_tussenvoegsel = v_perslid_tussenvoegsel,
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 = NVL (rec_prs_upd.prs_perslid_telefoonnr, prs_perslid_telefoonnr),
prs_perslid_telefoonnr = rec_prs_upd.prs_perslid_telefoonnr,
prs_perslid_titel = rec_prs_upd.prs_perslid_titel,
prs_srtperslid_key = v_srtperslid_key,
prs_afdeling_key = v_afdeling_key,
@@ -763,23 +762,26 @@ BEGIN
THEN
BEGIN
-- bepaal huidige alg_locatie_key
SELECT alg_locatie_key
INTO v_current_locatie_key
FROM prs_v_werkplekperslid_gegevens
WHERE prs_perslid_key = rec_prs_upd.prs_perslid_key;
-- bepaal huidige alg_gebouw_key
SELECT alg_gebouw_key
INTO v_current_gebouw_key
FROM prs_v_werkplekperslid_gegevens pwg
, alg_gebouw g
WHERE prs_perslid_key = rec_prs_upd.prs_perslid_key
AND g.alg_gebouw_upper = pwg.alg_gebouw_upper
AND g.alg_gebouw_verwijder IS NULL;
-- bepaal nieuwe alg_locatie_key
SELECT lo.alg_locatie_key
INTO v_new_locatie_key
-- bepaal nieuwe alg_gebouw_key
SELECT g.alg_gebouw_key
INTO v_new_gebouw_key
FROM fac_usrdata ud,
alg_locatie lo
alg_gebouw g
WHERE ud.fac_usrtab_key = c_usrtab_key
AND ud.fac_usrdata_code = lo.alg_locatie_code
AND ud.fac_usrdata_omschr = rec_prs_upd.prs_locatie_omschrijving
AND lo.alg_locatie_verwijder IS NULL;
AND ud.fac_usrdata_omschr = g.alg_gebouw_code
AND ud.fac_usrdata_code = rec_prs_upd.prs_afdeling_naam
AND g.alg_gebouw_verwijder IS NULL;
-- indien gelijk dan werkplek niet updaten.
v_update := (v_current_locatie_key <> v_new_locatie_key);
v_update := (v_current_gebouw_key <> v_new_gebouw_key);
EXCEPTION
WHEN OTHERS
@@ -788,7 +790,7 @@ BEGIN
p_applrun,
'I',
v_errormsg,
'huidige of nieuwe alg_locatie_key kan niet bepaald worden?! personeelsnummer: '
'huidige of nieuwe alg_gebouw_key kan niet bepaald worden?! personeelsnummer: '
|| rec_prs_upd.prs_perslid_nr
);
v_update := FALSE;
@@ -796,7 +798,7 @@ BEGIN
END IF;
END IF;
IF v_update AND (rec_prs_upd.prs_locatie_omschrijving IS NOT NULL)
IF v_update AND (rec_prs_upd.prs_afdeling_naam IS NOT NULL)
AND ((v_aktie = 'INSERT') OR (v_aktie = 'UPDATE') AND (v_nr_werkplek<=1))
THEN
@@ -838,13 +840,13 @@ BEGIN
BEGIN
SELECT lo.alg_locatie_key
INTO v_locatie_key
FROM FAC_USRDATA ud, ALG_LOCATIE lo
SELECT g.alg_gebouw_key
INTO v_gebouw_key
FROM FAC_USRDATA ud, ALG_gebouw g
WHERE ud.fac_usrtab_key = c_usrtab_key
AND ud.fac_usrdata_code = lo.alg_locatie_code
AND ud.fac_usrdata_omschr = rec_prs_upd.prs_locatie_omschrijving
AND lo.alg_locatie_verwijder IS NULL;
AND ud.fac_usrdata_omschr = g.alg_gebouw_code
AND ud.fac_usrdata_code = rec_prs_upd.prs_afdeling_naam
AND g.alg_gebouw_verwijder IS NULL;
EXCEPTION
WHEN OTHERS
@@ -856,42 +858,12 @@ BEGIN
IF NOT v_update
THEN
v_errorhint :=
'Onbekende Locatie-omschrijving '
|| rec_prs_upd.prs_locatie_omschrijving
'Onbekende Gebouw-omschrijving '
|| rec_prs_upd.prs_afdeling_naam
|| '; personeelsnummer: '
|| rec_prs_upd.prs_perslid_nr;
fac.imp_writelog (p_applname, p_applrun, 'I', v_errormsg, v_errorhint);
ELSE
BEGIN
SELECT MIN (alg_gebouw_code)
INTO v_gebouw_code
FROM alg_gebouw
WHERE alg_locatie_key = v_locatie_key AND alg_gebouw_verwijder IS NULL;
SELECT alg_gebouw_key
INTO v_gebouw_key
FROM alg_gebouw
WHERE alg_locatie_key = v_locatie_key
AND alg_gebouw_code = v_gebouw_code
AND alg_gebouw_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
INSERT INTO alg_gebouw
(alg_locatie_key, alg_srtgebouw_key, alg_gebouw_code, alg_gebouw_naam
)
VALUES (v_locatie_key, c_srtgebouw_default, '0', 'Onbekend'
);
v_errormsg := 'Bepalen alg_gebouw_key adhv v_locatie_key=['||to_char(v_locatie_key)||'] en v_gebouw_code=['||v_gebouw_code||']';
SELECT alg_gebouw_key
INTO v_gebouw_key
FROM alg_gebouw
WHERE alg_locatie_key = v_locatie_key
AND alg_gebouw_code = v_gebouw_code
AND alg_gebouw_verwijder IS NULL;
END;
BEGIN
v_errormsg := 'Bepalen alg_verdieping_key';
@@ -1017,7 +989,7 @@ BEGIN
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errorhint := 'perslid_nr:' || rec_prs_upd.prs_perslid_nr || ' locatie:' || rec_prs_upd.prs_locatie_omschrijving || ' ' || v_errorhint || ' {' || v_errormsg || '}';
v_errorhint := 'perslid_nr:' || rec_prs_upd.prs_perslid_nr || ' gebouw:' || rec_prs_upd.prs_afdeling_naam || ' ' || v_errorhint || ' {' || v_errormsg || '}';
v_errormsg := '(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, v_errorhint);
END;