PCHX#75973 -- Herimplementatie PCH
svn path=/Customer/trunk/; revision=63212
This commit is contained in:
199
PCHD/pchd.sql
199
PCHD/pchd.sql
@@ -780,15 +780,6 @@ IS
|
||||
AND prs_perslid_wm IS NOT NULL
|
||||
GROUP BY UPPER (prs_perslid_organisation), UPPER (prs_perslid_wm);
|
||||
|
||||
-- Met PCHD#60549 hoeven afdelingen niet meer te worden bijgevoegd.
|
||||
-- --Bepalen alle afdeling omschrijvingen in het import bestand.
|
||||
-- CURSOR cdep
|
||||
-- IS
|
||||
-- SELECT UPPER(prs_afdeling_naam) prs_afdeling_naam, UPPER (prs_perslid_organisation) prs_perslid_organisation, UPPER (prs_perslid_wm) prs_perslid_wm
|
||||
-- FROM pchd_imp_prs
|
||||
-- WHERE prs_perslid_organisation IS NOT NULL AND prs_perslid_wm IS NOT NULL AND prs_afdeling_naam IS NOT NULL
|
||||
-- GROUP BY UPPER(prs_afdeling_naam), UPPER (prs_perslid_organisation), UPPER (prs_perslid_wm);
|
||||
|
||||
CURSOR cperslid
|
||||
IS
|
||||
SELECT * FROM pchd_imp_prs;
|
||||
@@ -1102,99 +1093,6 @@ BEGIN
|
||||
v_count_tot := 0;
|
||||
v_count_error := 0;
|
||||
|
||||
-- Met PCHD#60549 hoeven afdelingen niet meer te worden bijgevoegd.
|
||||
-- Toevoegen afdeling
|
||||
-- FOR recdep IN cdep
|
||||
-- LOOP
|
||||
-- BEGIN
|
||||
-- v_count_tot := v_count_tot + 1;
|
||||
-- v_aanduiding := recdep.prs_afdeling_naam || ' - ' || recdep.prs_perslid_organisation || ' - ' || recdep.prs_perslid_wm || ' - ';
|
||||
-- v_errorhint := 'Fout bij bepalen afdeling';
|
||||
--
|
||||
-- -- Kijken of de waarde uit de import al voorkomt. Er wordt gecontroleerd op unieke voorkomende afdelingomschrijvingen.
|
||||
-- -- ??De import is er dus niet op toegerust om meerdere afdelingen te hebben met zelfde omschrijving maar ondere verschillende moeder-afdelingen.
|
||||
-- v_errorhint := 'Zoek bovenliggende afdeling';
|
||||
-- SELECT prs_afdeling_key, prs_kostenplaats_key
|
||||
-- INTO v_afdeling_parentkey, v_kostenplaats_key
|
||||
-- FROM prs_afdeling pa, prs_bedrijf pb
|
||||
-- WHERE UPPER (pa.prs_afdeling_omschrijving) = UPPER (recdep.prs_perslid_organisation)
|
||||
-- AND pa.prs_afdeling_verwijder IS NULL
|
||||
-- AND pa.prs_bedrijf_key = pb.prs_bedrijf_key
|
||||
-- AND pb.prs_bedrijf_naam = recdep.prs_perslid_wm;
|
||||
--
|
||||
-- SELECT COUNT (*), MAX(prs_afdeling_key)
|
||||
-- INTO v_count, v_afdeling_key
|
||||
-- FROM prs_afdeling
|
||||
-- WHERE UPPER (prs_afdeling_omschrijving) =
|
||||
-- UPPER (recdep.prs_afdeling_naam)
|
||||
-- AND prs_afdeling_parentkey = v_afdeling_parentkey
|
||||
-- AND prs_afdeling_verwijder IS NULL;
|
||||
--
|
||||
-- IF (v_count = 0)
|
||||
-- THEN
|
||||
-- v_errorhint := 'Fout bij toevoegen afdeling';
|
||||
-- SELECT prs_s_prs_afdeling_key.nextval
|
||||
-- INTO v_afdeling_key
|
||||
-- FROM DUAL;
|
||||
--
|
||||
-- INSERT INTO prs_afdeling
|
||||
-- (prs_afdeling_parentkey,
|
||||
-- prs_afdeling_key,
|
||||
-- prs_afdeling_naam,
|
||||
-- prs_kostenplaats_key,
|
||||
-- prs_afdeling_omschrijving
|
||||
-- )
|
||||
-- VALUES (v_afdeling_parentkey,
|
||||
-- v_afdeling_key,
|
||||
-- recdep.prs_perslid_wm || v_afdeling_key,
|
||||
-- v_kostenplaats_key,
|
||||
-- recdep.prs_afdeling_naam
|
||||
-- );
|
||||
-- ELSIF v_count = 1
|
||||
-- THEN
|
||||
-- UPDATE prs_afdeling
|
||||
-- SET prs_kostenplaats_key = v_kostenplaats_key
|
||||
-- WHERE prs_afdeling_key = v_afdeling_key;
|
||||
-- END IF;
|
||||
-- COMMIT;
|
||||
-- EXCEPTION
|
||||
-- WHEN OTHERS
|
||||
-- THEN
|
||||
-- v_count_error := v_count_error + 1;
|
||||
-- oracle_err_num := SQLCODE;
|
||||
-- oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
-- v_errormsg :=
|
||||
-- 'OTHERS (error '
|
||||
-- || oracle_err_num
|
||||
-- || '/'
|
||||
-- || oracle_err_mes
|
||||
-- || ')';
|
||||
-- fac.imp_writelog (p_import_key,
|
||||
-- 'E',
|
||||
-- v_aanduiding || v_errormsg,
|
||||
-- v_errorhint
|
||||
-- );
|
||||
-- COMMIT;
|
||||
-- END;
|
||||
-- END LOOP;
|
||||
--
|
||||
-- fac.imp_writelog (p_import_key,
|
||||
-- 'S',
|
||||
-- 'Afdeling: verwerkte regels zonder foutmelding: '
|
||||
-- || TO_CHAR (v_count_tot - v_count_error),
|
||||
-- ''
|
||||
-- );
|
||||
-- fac.imp_writelog (p_import_key,
|
||||
-- 'S',
|
||||
-- 'Afdeling: verwerkte regels met foutmelding: '
|
||||
-- || TO_CHAR (v_count_error),
|
||||
-- ''
|
||||
-- );
|
||||
-- COMMIT;
|
||||
|
||||
v_count_tot := 0;
|
||||
v_count_error := 0;
|
||||
|
||||
-- Toevoegen personen
|
||||
FOR recperslid IN cperslid
|
||||
LOOP
|
||||
@@ -1407,6 +1305,11 @@ BEGIN
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
-- iedereen wordt toegevoegd aan de Generiek: Klant groep met key 2781
|
||||
INSERT INTO fac_gebruikersgroep (prs_perslid_key, fac_groep_key)
|
||||
SELECT v_perslid_key, 2781 FROM DUAL
|
||||
WHERE NOT EXISTS (SELECT 1 FROM fac_gebruikersgroep WHERE prs_perslid_key = v_perslid_key AND fac_groep_key = 2781);
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -2512,41 +2415,63 @@ AS
|
||||
-- projectlocaties (tijdelijke locaties) die als ruimte onder een hoofdlocatie hangen.
|
||||
CREATE OR REPLACE VIEW pchd_v_locatie_gegevens
|
||||
AS
|
||||
SELECT 'Hoofdlocatie' locatietype,
|
||||
alg_locatie_code,
|
||||
alg_locatie_omschrijving,
|
||||
alg_locatie_code hoofd_locatie_code,
|
||||
alg_locatie_omschrijving hoofd_locatie_omschrijving,
|
||||
alg_locatie_adres,
|
||||
alg_locatie_postcode,
|
||||
alg_locatie_plaats,
|
||||
alg_locatie_key,
|
||||
NULL alg_ruimte_key
|
||||
FROM alg_locatie l
|
||||
WHERE alg_locatie_verwijder IS NULL
|
||||
AND COALESCE(alg_locatie_vervaldatum, SYSDATE+1) > SYSDATE
|
||||
UNION ALL
|
||||
SELECT 'Projectlocatie',
|
||||
alg_ruimte_nr,
|
||||
alg_ruimte_omschrijving,
|
||||
alg_locatie_code,
|
||||
alg_locatie_omschrijving,
|
||||
flx.getflex ('ALG',
|
||||
2101,
|
||||
alg_ruimte_key,
|
||||
'R') adres,
|
||||
flx.getflex ('ALG',
|
||||
2102,
|
||||
alg_ruimte_key,
|
||||
'R') postcode,
|
||||
flx.getflex ('ALG',
|
||||
2103,
|
||||
alg_ruimte_key,
|
||||
'R') plaats,
|
||||
alg_locatie_key,
|
||||
alg_ruimte_key
|
||||
FROM alg_v_ruimte_gegevens
|
||||
WHERE alg_srtruimte_key = 241;
|
||||
SELECT 'Hoofdlocatie' locatietype,
|
||||
alg_locatie_code,
|
||||
alg_locatie_omschrijving,
|
||||
alg_locatie_code hoofd_locatie_code,
|
||||
alg_locatie_omschrijving hoofd_locatie_omschrijving,
|
||||
alg_locatie_adres,
|
||||
alg_locatie_postcode,
|
||||
alg_locatie_plaats,
|
||||
alg_locatie_key,
|
||||
NULL alg_ruimte_key,
|
||||
(SELECT LISTAGG (DISTINCT prs_kostenplaats_nr, ',') WITHIN GROUP (ORDER BY prs_kostenplaats_nr ASC) AS wmen
|
||||
FROM alg_kenmerk k,
|
||||
alg_onrgoedkenmerk aogk,
|
||||
prs_bedrijf b,
|
||||
(SELECT prs_link_key, prs_kostenplaats_nr, kp.prs_kostenplaats_key
|
||||
FROM prs_kostenplaats kp, prs_kenmerklink kl
|
||||
WHERE fac.safe_to_number (kl.prs_kenmerklink_waarde) = kp.prs_kostenplaats_key
|
||||
AND kl.prs_kenmerk_key = 1260) wm
|
||||
WHERE fac.safe_to_number (alg_onrgoedkenmerk_waarde) = b.prs_bedrijf_key
|
||||
AND aogk.alg_kenmerk_key = k.alg_kenmerk_key
|
||||
AND alg_kenmerk_omschrijving LIKE 'Werkmaatschappij%'
|
||||
AND alg_kenmerk_kenmerktype = 'S'
|
||||
AND alg_onrgoedkenmerk_verwijder IS NULL
|
||||
AND alg_onrgoed_key = l.alg_locatie_key
|
||||
AND b.prs_bedrijf_key = wm.prs_link_key(+)
|
||||
AND b.prs_bedrijf_intern = 1) wmen
|
||||
FROM alg_locatie l
|
||||
WHERE alg_locatie_verwijder IS NULL AND COALESCE (alg_locatie_vervaldatum, SYSDATE + 1) > SYSDATE
|
||||
UNION ALL
|
||||
SELECT 'Projectlocatie',
|
||||
alg_ruimte_nr,
|
||||
alg_ruimte_omschrijving,
|
||||
alg_locatie_code,
|
||||
alg_locatie_omschrijving,
|
||||
flx.getflex ('ALG', 2101, alg_ruimte_key, 'R') adres,
|
||||
flx.getflex ('ALG', 2102, alg_ruimte_key, 'R') postcode,
|
||||
flx.getflex ('ALG', 2103, alg_ruimte_key, 'R') plaats,
|
||||
alg_locatie_key,
|
||||
alg_ruimte_key,
|
||||
(SELECT LISTAGG (DISTINCT prs_kostenplaats_nr, ',') WITHIN GROUP (ORDER BY prs_kostenplaats_nr ASC) AS wmen
|
||||
FROM alg_kenmerk k,
|
||||
alg_onrgoedkenmerk aogk,
|
||||
prs_bedrijf b,
|
||||
(SELECT prs_link_key, prs_kostenplaats_nr, kp.prs_kostenplaats_key
|
||||
FROM prs_kostenplaats kp, prs_kenmerklink kl
|
||||
WHERE fac.safe_to_number (kl.prs_kenmerklink_waarde) = kp.prs_kostenplaats_key
|
||||
AND kl.prs_kenmerk_key = 1260) wm
|
||||
WHERE fac.safe_to_number (alg_onrgoedkenmerk_waarde) = b.prs_bedrijf_key
|
||||
AND aogk.alg_kenmerk_key = k.alg_kenmerk_key
|
||||
AND alg_kenmerk_omschrijving LIKE 'Werkmaatschappij%'
|
||||
AND alg_kenmerk_kenmerktype = 'S'
|
||||
AND alg_onrgoedkenmerk_verwijder IS NULL
|
||||
AND alg_onrgoed_key = rg.alg_locatie_key
|
||||
AND b.prs_bedrijf_key = wm.prs_link_key(+)
|
||||
AND b.prs_bedrijf_intern = 1) wmen
|
||||
FROM alg_v_ruimte_gegevens rg
|
||||
WHERE alg_srtruimte_key = 241;
|
||||
|
||||
|
||||
-- detailrapportage als je klikt op een regel in bovenstaande rapport.
|
||||
|
||||
Reference in New Issue
Block a user