svn path=/Customer/trunk/; revision=13968
This commit is contained in:
188
Denb/denb.sql
188
Denb/denb.sql
@@ -1,7 +1,7 @@
|
||||
-- Script containing customer specific configuration sql statements for Denb
|
||||
-- (c) 2008 SG|facilitor bv
|
||||
-- $Revision: 1 $
|
||||
-- $Modtime: 9-04-09 13:12 $
|
||||
-- $Revision: 2 $
|
||||
-- $Modtime: 22-04-09 15:54 $
|
||||
--
|
||||
-- Support: +31 53 4800700
|
||||
|
||||
@@ -86,6 +86,7 @@ BEGIN
|
||||
ELSE
|
||||
DELETE FROM imp_log
|
||||
WHERE imp_log_applicatie = p_applname;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
@@ -515,11 +516,15 @@ BEGIN
|
||||
v_afdelingsdomein := UPPER (TRIM (v_afdelingsdomein));
|
||||
|
||||
BEGIN
|
||||
IF LENGTH (v_afdelingsdomein) <> 2
|
||||
OR SUBSTR (v_afdelingsdomein || '--', 1, 1) NOT BETWEEN 'A'
|
||||
AND 'Z'
|
||||
OR SUBSTR (v_afdelingsdomein || '--', 2, 1) NOT BETWEEN '0'
|
||||
AND '9'
|
||||
IF v_afdelingsdomein IS NOT NULL
|
||||
AND ( LENGTH (v_afdelingsdomein) <> 2
|
||||
OR SUBSTR (v_afdelingsdomein || '--', 1, 1) NOT
|
||||
BETWEEN 'A'
|
||||
AND 'Z'
|
||||
OR SUBSTR (v_afdelingsdomein || '--', 2, 1) NOT
|
||||
BETWEEN '0'
|
||||
AND '9'
|
||||
)
|
||||
THEN
|
||||
v_afdelingsdomein := NULL;
|
||||
fac.imp_writelog (p_applname,
|
||||
@@ -549,7 +554,7 @@ BEGIN
|
||||
v_aanduiding || v_errormsg,
|
||||
'Regel wordt overgeslagen!'
|
||||
);
|
||||
COMMIT;
|
||||
COMMIT;
|
||||
END;
|
||||
|
||||
--
|
||||
@@ -774,7 +779,7 @@ IS
|
||||
GROUP BY UPPER (prs_srtperslid_omschrijving);
|
||||
|
||||
-- Let op! Personen die niet meer in dienst zijn -> niet in denb_imp_prs!
|
||||
-- Dubbele nummers? Dan worden gewoon 2 (of meer) personen toegevoegd!
|
||||
-- Dubbele nummers? Dan wordt slechts 1 set persoongegevens toegevoegd!
|
||||
CURSOR cperslid
|
||||
IS
|
||||
SELECT *
|
||||
@@ -1065,8 +1070,7 @@ BEGIN
|
||||
SELECT prs_afdeling_key
|
||||
INTO v_afdeling_key
|
||||
FROM prs_v_aanwezigafdeling
|
||||
WHERE UPPER (prs_afdeling_naam) =
|
||||
UPPER (recperslid.prs_afdeling_naam);
|
||||
WHERE prs_afdeling_upper = UPPER (recperslid.prs_afdeling_naam);
|
||||
|
||||
v_errorhint := 'Fout bij bepalen persoon';
|
||||
|
||||
@@ -1151,6 +1155,8 @@ BEGIN
|
||||
|
||||
IF recperslid.dienstverbandcode IS NOT NULL
|
||||
THEN
|
||||
v_errorhint := 'Fout bij bepalen dienstverbandcode';
|
||||
|
||||
SELECT COUNT (*), MAX (prs_kenmerklink_key)
|
||||
INTO v_count, v_kenmerklink_key
|
||||
FROM prs_v_aanwezigkenmerklink
|
||||
@@ -1160,6 +1166,8 @@ BEGIN
|
||||
|
||||
IF v_count = 0
|
||||
THEN
|
||||
v_errorhint := 'Fout bij toevoegen dienstverbandcode';
|
||||
|
||||
INSERT INTO prs_kenmerklink
|
||||
(prs_link_key, prs_kenmerklink_niveau,
|
||||
prs_kenmerk_key, prs_kenmerklink_waarde
|
||||
@@ -1168,6 +1176,8 @@ BEGIN
|
||||
1001, recperslid.dienstverbandcode
|
||||
);
|
||||
ELSE -- v_count = 1
|
||||
v_errorhint := 'Fout bij wijzigen dienstverbandcode';
|
||||
|
||||
UPDATE prs_kenmerklink
|
||||
SET prs_kenmerklink_waarde =
|
||||
recperslid.dienstverbandcode
|
||||
@@ -1267,59 +1277,59 @@ BEGIN
|
||||
THEN
|
||||
v_errorhint := 'Fout bij bepalen ruimte';
|
||||
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
SELECT COUNT (*), MAX (alg_ruimte_key)
|
||||
INTO v_count, v_ruimte_key
|
||||
FROM alg_v_aanwezigruimte
|
||||
WHERE alg_verdieping_key = v_verdieping_key
|
||||
AND alg_ruimte_nr LIKE recwp.afdelingsdomein || '%';
|
||||
AND alg_ruimte_nr = recwp.afdelingsdomein;
|
||||
|
||||
IF v_count > 0
|
||||
IF v_count = 0
|
||||
THEN
|
||||
SELECT alg_ruimte_key
|
||||
INTO v_ruimte_key
|
||||
FROM alg_v_aanwezigruimte
|
||||
WHERE alg_verdieping_key = v_verdieping_key
|
||||
AND alg_ruimte_nr =
|
||||
(SELECT MIN (alg_ruimte_nr)
|
||||
FROM alg_v_aanwezigruimte
|
||||
WHERE alg_verdieping_key = v_verdieping_key
|
||||
AND alg_ruimte_nr LIKE
|
||||
recwp.afdelingsdomein || '%');
|
||||
v_errorhint := 'Fout bij toevoegen ruimte';
|
||||
|
||||
-- Verwijder oude werkplek in hetzelfde gebouw; ALLEEN igv. een afdelingsdomein!
|
||||
v_errorhint :=
|
||||
'Fout bij bepalen of werkplek is gewijzigd';
|
||||
INSERT INTO alg_ruimte
|
||||
(alg_verdieping_key, alg_srtruimte_key,
|
||||
alg_ruimte_nr
|
||||
)
|
||||
VALUES (v_verdieping_key, 101, -- Domein/Fictief
|
||||
recwp.afdelingsdomein
|
||||
)
|
||||
RETURNING alg_ruimte_key
|
||||
INTO v_ruimte_key;
|
||||
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM prs_v_aanwezigperslidwerkplek pw, prs_werkplek w
|
||||
WHERE pw.prs_perslid_key = v_perslid_key
|
||||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||||
AND w.prs_alg_ruimte_key = v_ruimte_key;
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
IF v_count = 0
|
||||
THEN
|
||||
v_errorhint := 'Fout bij verwijderen oude werkplek';
|
||||
-- Verwijder oude werkplek in hetzelfde gebouw; ALLEEN igv. een afdelingsdomein!
|
||||
v_errorhint := 'Fout bij bepalen of werkplek is gewijzigd';
|
||||
|
||||
UPDATE prs_perslidwerkplek
|
||||
SET prs_perslidwerkplek_verwijder = SYSDATE
|
||||
WHERE prs_perslidwerkplek_key IN (
|
||||
SELECT pw.prs_perslidwerkplek_key
|
||||
FROM prs_v_aanwezigperslidwerkplek pw,
|
||||
prs_werkplek w,
|
||||
alg_ruimte r,
|
||||
alg_verdieping v
|
||||
WHERE pw.prs_perslid_key = v_perslid_key
|
||||
AND pw.prs_werkplek_key =
|
||||
w.prs_werkplek_key
|
||||
AND w.prs_alg_ruimte_key =
|
||||
r.alg_ruimte_key
|
||||
AND r.alg_verdieping_key =
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM prs_v_aanwezigperslidwerkplek pw, prs_werkplek w
|
||||
WHERE pw.prs_perslid_key = v_perslid_key
|
||||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||||
AND w.prs_alg_ruimte_key = v_ruimte_key;
|
||||
|
||||
IF v_count = 0
|
||||
THEN
|
||||
v_errorhint := 'Fout bij verwijderen oude werkplek';
|
||||
|
||||
UPDATE prs_perslidwerkplek
|
||||
SET prs_perslidwerkplek_verwijder = SYSDATE
|
||||
WHERE prs_perslidwerkplek_key IN (
|
||||
SELECT pw.prs_perslidwerkplek_key
|
||||
FROM prs_v_aanwezigperslidwerkplek pw,
|
||||
prs_werkplek w,
|
||||
alg_ruimte r,
|
||||
alg_verdieping v
|
||||
WHERE pw.prs_perslid_key = v_perslid_key
|
||||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||||
AND w.prs_alg_ruimte_key = r.alg_ruimte_key
|
||||
AND r.alg_verdieping_key =
|
||||
v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = v_gebouw_key);
|
||||
AND v.alg_gebouw_key = v_gebouw_key);
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
COMMIT;
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
@@ -1333,30 +1343,48 @@ BEGIN
|
||||
WHERE v.alg_gebouw_key = v_gebouw_key
|
||||
AND v.alg_verdieping_volgnr >= 0);
|
||||
|
||||
IF v_count > 0
|
||||
IF v_count = 0 -- ELSE v_count = 1
|
||||
THEN
|
||||
v_errorhint := 'Fout bij bepalen ruimte';
|
||||
v_errorhint := 'Fout bij toevoegen verdieping';
|
||||
|
||||
SELECT COUNT (*), MAX (alg_ruimte_key)
|
||||
INTO v_count, v_ruimte_key
|
||||
FROM alg_v_aanwezigruimte
|
||||
WHERE alg_verdieping_key = v_verdieping_key
|
||||
AND alg_ruimte_nr = '000';
|
||||
INSERT INTO alg_verdieping
|
||||
(alg_gebouw_key, alg_verdieping_volgnr,
|
||||
alg_verdieping_code,
|
||||
alg_verdieping_omschrijving
|
||||
)
|
||||
VALUES (v_gebouw_key, 0,
|
||||
'0',
|
||||
'Verdieping 0'
|
||||
)
|
||||
RETURNING alg_verdieping_key
|
||||
INTO v_verdieping_key;
|
||||
|
||||
IF v_count = 0
|
||||
THEN
|
||||
INSERT INTO alg_ruimte
|
||||
(alg_verdieping_key, alg_srtruimte_key,
|
||||
alg_ruimte_nr
|
||||
)
|
||||
VALUES (v_verdieping_key, 41, -- Kantoorruimte
|
||||
'000'
|
||||
)
|
||||
RETURNING alg_ruimte_key
|
||||
INTO v_ruimte_key;
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
v_errorhint := 'Fout bij bepalen ruimte';
|
||||
|
||||
SELECT COUNT (*), MAX (alg_ruimte_key)
|
||||
INTO v_count, v_ruimte_key
|
||||
FROM alg_v_aanwezigruimte
|
||||
WHERE alg_verdieping_key = v_verdieping_key
|
||||
AND alg_ruimte_nr = '000';
|
||||
|
||||
IF v_count = 0
|
||||
THEN
|
||||
v_errorhint := 'Fout bij toevoegen ruimte';
|
||||
|
||||
INSERT INTO alg_ruimte
|
||||
(alg_verdieping_key, alg_srtruimte_key,
|
||||
alg_ruimte_nr
|
||||
)
|
||||
VALUES (v_verdieping_key, 101, -- Domein/Fictief
|
||||
'000'
|
||||
)
|
||||
RETURNING alg_ruimte_key
|
||||
INTO v_ruimte_key;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
@@ -1430,7 +1458,7 @@ BEGIN
|
||||
WHERE w.prs_alg_ruimte_key = v_ruimte_key;
|
||||
|
||||
v_wp_oms := c_ruimte_nr || '/' || TO_CHAR (v_wp_volgnr);
|
||||
v_errorhint := 'Fout bij aanmaken nieuwe werkplek';
|
||||
v_errorhint := 'Fout bij toevoegen nieuwe werkplek';
|
||||
|
||||
INSERT INTO prs_werkplek
|
||||
(prs_werkplek_module, prs_werkplek_volgnr,
|
||||
@@ -1578,6 +1606,16 @@ BEGIN
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
-- Verwijder ongebruikte functies; deze import bepaald de functies!
|
||||
DELETE FROM prs_srtperslid sp
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_srtperslid_key =
|
||||
sp.prs_srtperslid_key);
|
||||
|
||||
COMMIT;
|
||||
ELSE
|
||||
fac.imp_writelog
|
||||
(p_applname,
|
||||
|
||||
Reference in New Issue
Block a user