331 lines
11 KiB
SQL
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
|