diff --git a/PNBR/pnbr.sql b/PNBR/pnbr.sql index 5753f609c..a608e49df 100644 --- a/PNBR/pnbr.sql +++ b/PNBR/pnbr.sql @@ -1263,6 +1263,285 @@ END pnbr_update_organisatie_mut; / +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; + + -- import om objectinformatie via de api in te lezen CREATE OR REPLACE PROCEDURE pnbr_import_ins_mut (p_import_key IN NUMBER) AS