Files
Customer/onces/PNBR/PNBR#29008.sql
Peter Koerhuis 3b8d7f1dcc Migratie once-scripts van /branch naar /onces
svn path=/Customer/; revision=21207
2014-04-02 13:57:31 +00:00

331 lines
11 KiB
SQL

-- Customer specific once-script PNBR#29008.
--
-- (c) 2012 SG|facilitor bv
-- $Revision$
-- $Modtime: 4-04-12 12:56 $
--
-- Support: +31 53 4800700
SET ECHO ON
SPOOL PNBR#29008.lst
SET DEFINE OFF
INSERT INTO prs_kenmerklink (prs_link_key,
prs_kenmerklink_niveau,
prs_kenmerk_key,
prs_kenmerklink_waarde)
SELECT prs_afdeling_key,
'A',
1080,
prs_afdeling_parentkey
FROM prs_afdeling
WHERE prs_afdeling_verwijder IS NULL;
-- eigen afdelingstructuur omdat Provincie Noord Brabant meer dan 5 niveaus kent.
CREATE OR REPLACE VIEW pnbr_v_afdeling
(
prs_bedrijf_key,
prs_afdeling_key,
prs_afdeling_parentkey
)
AS
SELECT a.prs_bedrijf_key, a.prs_afdeling_key, kl.prs_afdeling_parentkey
FROM prs_afdeling a,
(SELECT prs_link_key prs_afdeling_key,
prs_kenmerklink_waarde prs_afdeling_parentkey
FROM prs_kenmerklink
WHERE prs_kenmerk_key = 1080) kl
WHERE a.prs_afdeling_key = kl.prs_afdeling_key(+);
CREATE OR REPLACE VIEW pnbr_v_afdeling_boom
(
niveau,
prs_bedrijf_key,
prs_afdeling_key,
prs_afdeling_key1,
prs_afdeling_key2,
prs_afdeling_key3,
prs_afdeling_key4,
prs_afdeling_key5,
prs_afdeling_key6,
prs_afdeling_key7,
prs_afdeling_key8,
prs_afdeling_key9,
prs_afdeling_key10
)
AS
SELECT '1' niveau,
a1.prs_bedrijf_key,
a1.prs_afdeling_key,
a1.prs_afdeling_key,
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL)
FROM pnbr_v_afdeling a1
WHERE a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '2' niveau,
a1.prs_bedrijf_key,
a2.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL)
FROM pnbr_v_afdeling a1, pnbr_v_afdeling a2
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '3' niveau,
a1.prs_bedrijf_key,
a3.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL)
FROM pnbr_v_afdeling a1, pnbr_v_afdeling a2, pnbr_v_afdeling a3
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '4' niveau,
a1.prs_bedrijf_key,
a4.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
a4.prs_afdeling_key,
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL)
FROM pnbr_v_afdeling a1,
pnbr_v_afdeling a2,
pnbr_v_afdeling a3,
pnbr_v_afdeling a4
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '5' niveau,
a1.prs_bedrijf_key,
a5.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
a4.prs_afdeling_key,
a5.prs_afdeling_key,
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL)
FROM pnbr_v_afdeling a1,
pnbr_v_afdeling a2,
pnbr_v_afdeling a3,
pnbr_v_afdeling a4,
pnbr_v_afdeling a5
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '6' niveau,
a1.prs_bedrijf_key,
a6.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
a4.prs_afdeling_key,
a5.prs_afdeling_key,
a6.prs_afdeling_key,
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL)
FROM pnbr_v_afdeling a1,
pnbr_v_afdeling a2,
pnbr_v_afdeling a3,
pnbr_v_afdeling a4,
pnbr_v_afdeling a5,
pnbr_v_afdeling a6
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
AND a6.prs_afdeling_parentkey = a5.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '7' niveau,
a1.prs_bedrijf_key,
a7.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
a4.prs_afdeling_key,
a5.prs_afdeling_key,
a6.prs_afdeling_key,
a7.prs_afdeling_key,
TO_NUMBER (NULL),
TO_NUMBER (NULL),
TO_NUMBER (NULL)
FROM pnbr_v_afdeling a1,
pnbr_v_afdeling a2,
pnbr_v_afdeling a3,
pnbr_v_afdeling a4,
pnbr_v_afdeling a5,
pnbr_v_afdeling a6,
pnbr_v_afdeling a7
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
AND a6.prs_afdeling_parentkey = a5.prs_afdeling_key
AND a7.prs_afdeling_parentkey = a6.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '8' niveau,
a1.prs_bedrijf_key,
a8.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
a4.prs_afdeling_key,
a5.prs_afdeling_key,
a6.prs_afdeling_key,
a7.prs_afdeling_key,
a8.prs_afdeling_key,
TO_NUMBER (NULL),
TO_NUMBER (NULL)
FROM pnbr_v_afdeling a1,
pnbr_v_afdeling a2,
pnbr_v_afdeling a3,
pnbr_v_afdeling a4,
pnbr_v_afdeling a5,
pnbr_v_afdeling a6,
pnbr_v_afdeling a7,
pnbr_v_afdeling a8
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
AND a6.prs_afdeling_parentkey = a5.prs_afdeling_key
AND a7.prs_afdeling_parentkey = a6.prs_afdeling_key
AND a8.prs_afdeling_parentkey = a7.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '9' niveau,
a1.prs_bedrijf_key,
a9.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
a4.prs_afdeling_key,
a5.prs_afdeling_key,
a6.prs_afdeling_key,
a7.prs_afdeling_key,
a8.prs_afdeling_key,
a9.prs_afdeling_key,
TO_NUMBER (NULL)
FROM pnbr_v_afdeling a1,
pnbr_v_afdeling a2,
pnbr_v_afdeling a3,
pnbr_v_afdeling a4,
pnbr_v_afdeling a5,
pnbr_v_afdeling a6,
pnbr_v_afdeling a7,
pnbr_v_afdeling a8,
pnbr_v_afdeling a9
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
AND a6.prs_afdeling_parentkey = a5.prs_afdeling_key
AND a7.prs_afdeling_parentkey = a6.prs_afdeling_key
AND a8.prs_afdeling_parentkey = a7.prs_afdeling_key
AND a9.prs_afdeling_parentkey = a8.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL
UNION
SELECT '10' niveau,
a1.prs_bedrijf_key,
a10.prs_afdeling_key,
a1.prs_afdeling_key,
a2.prs_afdeling_key,
a3.prs_afdeling_key,
a4.prs_afdeling_key,
a5.prs_afdeling_key,
a6.prs_afdeling_key,
a7.prs_afdeling_key,
a8.prs_afdeling_key,
a9.prs_afdeling_key,
a10.prs_afdeling_key
FROM pnbr_v_afdeling a1,
pnbr_v_afdeling a2,
pnbr_v_afdeling a3,
pnbr_v_afdeling a4,
pnbr_v_afdeling a5,
pnbr_v_afdeling a6,
pnbr_v_afdeling a7,
pnbr_v_afdeling a8,
pnbr_v_afdeling a9,
pnbr_v_afdeling a10
WHERE a2.prs_afdeling_parentkey = a1.prs_afdeling_key
AND a3.prs_afdeling_parentkey = a2.prs_afdeling_key
AND a4.prs_afdeling_parentkey = a3.prs_afdeling_key
AND a5.prs_afdeling_parentkey = a4.prs_afdeling_key
AND a6.prs_afdeling_parentkey = a5.prs_afdeling_key
AND a7.prs_afdeling_parentkey = a6.prs_afdeling_key
AND a8.prs_afdeling_parentkey = a7.prs_afdeling_key
AND a9.prs_afdeling_parentkey = a8.prs_afdeling_key
AND a10.prs_afdeling_parentkey = a9.prs_afdeling_key
AND a1.prs_afdeling_parentkey IS NULL;
INSERT INTO prs_kenmerklink (prs_link_key,
prs_kenmerklink_niveau,
prs_kenmerk_key,
prs_kenmerklink_waarde)
SELECT prs_afdeling_key,
'A',
1081,
niveau
FROM pnbr_v_afdeling_boom;
UPDATE prs_afdeling a
SET prs_afdeling_parentkey = NULL,
prs_bedrijf_key =
(SELECT COALESCE (prs_bedrijf_key, 81)
FROM prs_v_afdeling_boom ab
WHERE ab.prs_afdeling_key = a.prs_afdeling_key)
WHERE prs_afdeling_verwijder IS NULL;
DROP PACKAGE PNBR;
BEGIN adm.systrackscriptid('$Id$'); END;
/
SPOOL OFF