-- -- $Id$ -- -- Script containing customer specific sql statements for the FACILITOR database DEFINE thisfile = 'SGGR.SQL' DEFINE dbuser = '^SGGR' DEFINE custid = 'SGGR' SET ECHO ON SET DEFINE ON COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT; WHENEVER SQLERROR EXIT; SELECT adm.scriptspoolfile ('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL; WHENEVER SQLERROR CONTINUE; SPOOL &fcltlogfile SET DEFINE OFF ------ payload begin ------ CREATE OR REPLACE PACKAGE sggr AS FUNCTION find_str (p_string IN VARCHAR2, p_search IN VARCHAR2) RETURN VARCHAR2; FUNCTION find_oud (p_string IN VARCHAR2, p_default IN VARCHAR2) RETURN VARCHAR2; FUNCTION find_nieuw (p_string IN VARCHAR2, p_default IN VARCHAR2) RETURN VARCHAR2; END; / CREATE OR REPLACE PACKAGE BODY sggr AS FUNCTION find_str (p_string IN VARCHAR2, p_search IN VARCHAR2) RETURN VARCHAR2 AS v_index NUMBER; v_van NUMBER; v_tot NUMBER; BEGIN v_index := INSTR (p_string, p_search); IF v_index > 0 THEN v_van := v_index + LENGTH (p_search); v_tot := INSTR (p_string, CHR (10), v_index + LENGTH (p_search)); -- dbms_output.put_line ('van:' || to_char(v_van)); -- dbms_output.put_line ('tot:' || to_char(v_tot)); -- als v_tot gelijk is aan 0 dan zitten we op het einde van de string. Geef -- dan alles maar terug tot het einde van de string (maar even op 1000 gezet. IF v_tot = 0 THEN v_tot := 1000; END IF; RETURN SUBSTR (p_string, v_van + 1, v_tot - v_van - 1); ELSE RETURN NULL; END IF; END; FUNCTION find_oud (p_string IN VARCHAR2, p_default IN VARCHAR2) RETURN VARCHAR2 AS v_dummy NUMBER; v_result VARCHAR2 (100); BEGIN IF p_string IS NOT NULL THEN v_result := TRIM (SUBSTR (p_string, 1, INSTR (p_string, ' --> '))); IF v_result = '(leeg)' THEN v_result := NULL; END IF; RETURN v_result; ELSE RETURN p_default; END IF; END; FUNCTION find_nieuw (p_string IN VARCHAR2, p_default IN VARCHAR2) RETURN VARCHAR2 AS v_dummy NUMBER; v_van NUMBER; v_tot NUMBER; v_token VARCHAR (10); v_result VARCHAR (100); BEGIN v_token := ' --> '; v_van := INSTR (p_string, v_token) + LENGTH (v_token); IF v_van > 0 THEN v_result := TRIM (SUBSTR (p_string, v_van)); IF v_result = '(gewist)' OR v_result = '(Leeg)' THEN v_result := NULL; END IF; RETURN v_result; ELSE RETURN p_default; END IF; END; END; / /* de te factureren contracten */ CREATE OR REPLACE VIEW sggr_v_rap_cnt_periode_saas AS SELECT b.prs_leverancier_nr ax_nr, b.prs_bedrijf_naam bedrijf, 'C' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') nr, c.cnt_contract_omschrijving omschrijving, COALESCE (c.cnt_contract_nummer, c.cnt_contract_omschrijving) referentie, c.cnt_contract_looptijd_van ingangsdatum, SUM (kc1.cnt_kenmerkcontract_waarde) maandbedrag, TO_CHAR (c.cnt_contract_korting) kortingpct, 3 * SUM (kc1.cnt_kenmerkcontract_waarde) * (1 - COALESCE (c.cnt_contract_korting, 0) / 100) kwartaalbedrag, c.cnt_contract_document opmerking, kc2.cnt_kenmerkcontract_waarde indexdatum, c.cnt_contract_looptijd_tot einddatum, c.cnt_contract_termijnkosten - SUM (kc1.cnt_kenmerkcontract_waarde) * (1 - COALESCE (c.cnt_contract_korting, 0) / 100) controle FROM cnt_v_aanwezigcontract c, prs_bedrijf b, cnt_kenmerkcontract kc1, cnt_kenmerk ck1, cnt_srtkenmerk cks1, (SELECT kc2.cnt_contract_key, kc2.cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract kc2, cnt_kenmerk k2 WHERE kc2.cnt_kenmerk_key = k2.cnt_kenmerk_key AND k2.cnt_srtkenmerk_key = 301 -- indexdatum AND kc2.cnt_kenmerkcontract_verwijder IS NULL) kc2 WHERE c.ins_discipline_key IN (481, 501) -- 481 saas; 482 lic; 501 care AND c.cnt_contract_status = 0 AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_contract_key = kc1.cnt_contract_key AND kc1.cnt_kenmerk_key = ck1.cnt_kenmerk_key AND ck1.cnt_kenmerk_verwijder IS NULL AND ck1.cnt_srtkenmerk_key = cks1.cnt_srtkenmerk_key AND ( cks1.cnt_srtkenmerk_omschrijving LIKE '%rijs%' OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Hosting%' OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Korting%') AND c.cnt_contract_key = kc2.cnt_contract_key(+) AND c.cnt_contract_looptijd_van < SYSDATE + 50 AND c.cnt_contract_looptijd_tot > SYSDATE + 50 GROUP BY b.prs_leverancier_nr, b.prs_bedrijf_naam, c.cnt_contract_looptijd_van, c.cnt_contract_omschrijving, c.cnt_contract_nummer, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_document, c.cnt_contract_korting, kc2.cnt_kenmerkcontract_waarde, c.cnt_contract_termijnkosten, c.cnt_contract_looptijd_tot ORDER BY 1, 4; CREATE OR REPLACE VIEW sggr_v_rap_cnt_periode_lic AS SELECT b.prs_leverancier_nr ax_nr, b.prs_bedrijf_naam bedrijf, 'C' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') nr, c.cnt_contract_omschrijving omschrijving, COALESCE (c.cnt_contract_nummer, c.cnt_contract_omschrijving) referentie, c.cnt_contract_looptijd_van ingangsdatum, DECODE (SUM (kc1.cnt_kenmerkcontract_waarde), 0, c.cnt_contract_termijnkosten, SUM (kc1.cnt_kenmerkcontract_waarde)) jaarbedrag, c.cnt_contract_termijnkosten termijnbedrag, (SELECT ct.cnt_termijn_omschrijving FROM cnt_termijn ct WHERE ct.cnt_termijn_key = c.cnt_contract_termijntermijn) termijn, c.cnt_contract_document opmerking, kc2.cnt_kenmerkcontract_waarde indexdatum, c.cnt_contract_looptijd_tot einddatum, c.cnt_contract_termijnkosten - DECODE (SUM (kc1.cnt_kenmerkcontract_waarde), 0, c.cnt_contract_termijnkosten, SUM (kc1.cnt_kenmerkcontract_waarde)) controle FROM cnt_v_aanwezigcontract c, prs_bedrijf b, cnt_kenmerkcontract kc1, cnt_kenmerk ck1, cnt_srtkenmerk cks1, (SELECT kc2.cnt_contract_key, kc2.cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract kc2, cnt_kenmerk k2 WHERE kc2.cnt_kenmerk_key = k2.cnt_kenmerk_key AND k2.cnt_srtkenmerk_key = 301 -- indexdatum AND kc2.cnt_kenmerkcontract_verwijder IS NULL) kc2 WHERE c.ins_discipline_key IN (482) -- 482 lic AND c.cnt_contract_status = 0 AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_contract_key = kc1.cnt_contract_key AND kc1.cnt_kenmerk_key = ck1.cnt_kenmerk_key AND ck1.cnt_kenmerk_verwijder IS NULL AND ck1.cnt_srtkenmerk_key = cks1.cnt_srtkenmerk_key AND ( cks1.cnt_srtkenmerk_omschrijving LIKE '%rijs%' OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Hosting%' OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Korting%') AND c.cnt_contract_key = kc2.cnt_contract_key(+) AND c.cnt_contract_looptijd_van < SYSDATE + 50 AND c.cnt_contract_looptijd_tot > SYSDATE + 50 GROUP BY b.prs_leverancier_nr, b.prs_bedrijf_naam, c.cnt_contract_looptijd_van, c.cnt_contract_omschrijving, c.cnt_contract_nummer, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_document, c.cnt_contract_looptijd_tot, kc2.cnt_kenmerkcontract_waarde, c.cnt_contract_termijnkosten, cnt_contract_termijntermijn UNION SELECT b.prs_leverancier_nr ax_nr, b.prs_bedrijf_naam bedrijf, 'C' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') nr, c.cnt_contract_omschrijving omschrijving, COALESCE (c.cnt_contract_nummer, c.cnt_contract_omschrijving) referentie, c.cnt_contract_looptijd_van ingangsdatum, c.cnt_contract_kosten jaarbedrag, c.cnt_contract_termijnkosten termijnbedrag, (SELECT ct.cnt_termijn_omschrijving FROM cnt_termijn ct WHERE ct.cnt_termijn_key = c.cnt_contract_termijntermijn) termijn, c.cnt_contract_document opmerking, kc2.cnt_kenmerkcontract_waarde indexdatum, c.cnt_contract_looptijd_tot einddatum, c.cnt_contract_termijnkosten FROM cnt_v_aanwezigcontract c, prs_bedrijf b, cnt_kenmerk ck1, cnt_srtkenmerk cks1, (SELECT kc2.cnt_contract_key, kc2.cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract kc2, cnt_kenmerk k2 WHERE kc2.cnt_kenmerk_key = k2.cnt_kenmerk_key AND k2.cnt_srtkenmerk_key = 301 -- indexdatum AND kc2.cnt_kenmerkcontract_verwijder IS NULL) kc2 WHERE c.ins_discipline_key IN (661) -- 661 specials AND c.cnt_contract_status = 0 AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_contract_key = kc2.cnt_contract_key(+) AND c.cnt_contract_looptijd_van < SYSDATE + 50 AND c.cnt_contract_looptijd_tot > SYSDATE + 50 GROUP BY b.prs_leverancier_nr, b.prs_bedrijf_naam, c.cnt_contract_looptijd_van, c.cnt_contract_omschrijving, c.cnt_contract_nummer, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_document, c.cnt_contract_looptijd_tot, c.cnt_contract_termijnkosten, cnt_contract_kosten, cnt_kenmerkcontract_waarde, cnt_contract_termijntermijn ORDER BY 1, 4; CREATE OR REPLACE VIEW SGGR_V_RAP_MLD_VERLOF ( MLD_MELDING_KEY, MELDING_DATUM, MELDING_OMSCHRIJVING, DATUM_VERLOF, DATUM_TM, STATUS, AANVRAGER_KEY, AANVRAGER, GOEDKEURDER_KEY, GOEDKEURDER, UREN, FASE, INCLUDE ) AS SELECT * FROM (SELECT meld.mld_melding_key, meld.mld_melding_datum, meld.mld_melding_omschrijving, meld.datum_verlof, meld.datum_tm, meld.mld_statuses_omschrijving, meld.prs_perslid_key_voor, meld.prs_perslid_naam_full_voor, meld.prs_perslid_key, meld.prs_perslid_naam_full, meld.uren, DECODE ( mld_melding_status, 0, reden.fac_usrdata_code || ' verlof: Ingediend', 2, reden.fac_usrdata_code || ' verlof: Ingediend', 3, reden.fac_usrdata_code || ' verlof: Ingediend', 4, reden.fac_usrdata_code || ' verlof: Geacepteerd', 7, reden.fac_usrdata_code || ' verlof: Geacepteerd', reden.fac_usrdata_code || ' verlof: Verwerkt') fase, DECODE (mld_melding_status, 0, 2, 2, 2, 3, 2, 3) include FROM (SELECT m.mld_melding_key, mld_melding_datum, mld_melding_omschrijving, mld_melding_status, datver.kenmerkwaarde datum_verlof, datver.mld_kenmerk_groep, dattm.kenmerkwaarde datum_tm, mld_statuses_omschrijving, m.prs_perslid_key_voor, pf1.prs_perslid_naam_full prs_perslid_naam_full_voor, tra.prs_perslid_key, pf2.prs_perslid_naam_full, uren.kenmerkwaarde uren, DECODE (mld_melding_status, 0, 2, 2, 2, 3, 2, 3) include FROM mld_melding m, prs_v_perslid_fullnames_all pf1, prs_v_perslid_fullnames_all pf2, mld_statuses st, (SELECT fac_tracking_refkey, prs_perslid_key FROM fac_srtnotificatie srt, fac_tracking tr WHERE tr.fac_srtnotificatie_key = srt.fac_srtnotificatie_key AND srt.fac_srtnotificatie_code = 'MLDACP') tra, (SELECT mld_melding_key, mld_kenmerk_groep, fac.safe_to_date ( mld_kenmerkmelding_waarde, 'DD-MM-YYYY') kenmerkwaarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key = 347 AND km.mld_kenmerkmelding_waarde IS NOT NULL) datver, (SELECT mld_melding_key, mld_kenmerk_groep, fac.safe_to_date ( mld_kenmerkmelding_waarde, 'DD-MM-YYYY') kenmerkwaarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key = 346 AND km.mld_kenmerkmelding_waarde IS NOT NULL) dattm, (SELECT mld_melding_key, mld_kenmerk_groep, fac.safe_to_number ( mld_kenmerkmelding_waarde) * -1 kenmerkwaarde FROM mld_kenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key = 341 AND km.mld_kenmerkmelding_waarde IS NOT NULL) uren WHERE m.mld_stdmelding_key = 241 AND m.mld_melding_status IN (0, 2, 3, 4, 5, 7, 9) AND m.prs_perslid_key_voor = pf1.prs_perslid_key AND datver.mld_melding_key = m.mld_melding_key AND dattm.mld_melding_key = m.mld_melding_key AND uren.mld_melding_key = m.mld_melding_key AND datver.mld_kenmerk_groep = dattm.mld_kenmerk_groep AND datver.mld_kenmerk_groep = uren.mld_kenmerk_groep AND m.mld_melding_status = st.mld_statuses_key AND m.mld_melding_key = tra.fac_tracking_refkey(+) AND tra.prs_perslid_key = pf2.prs_perslid_key(+)) meld LEFT OUTER JOIN (SELECT mld_melding_key, mld_kenmerk_groep, mld_kenmerkmelding_waarde, w.fac_usrdata_code FROM mld_kenmerkmelding km, mld_kenmerk k, fac_usrdata w WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND W.FAC_USRDATA_KEY = mld_kenmerkmelding_waarde AND k.mld_srtkenmerk_key = 441 AND km.mld_kenmerkmelding_waarde IS NOT NULL) reden ON meld.mld_melding_key = reden.mld_melding_key AND meld.mld_kenmerk_groep = reden.mld_kenmerk_groep WHERE COALESCE (reden.fac_usrdata_code, 'Apekool') NOT IN ('Compensatie', 'Bijzonder')) UNION ALL SELECT NULL, ADD_MONTHS (TRUNC (SYSDATE, 'YYYY'), 0), NULL, ADD_MONTHS (TRUNC (SYSDATE, 'YYYY'), 0), ADD_MONTHS (TRUNC (SYSDATE, 'YYYY'), 12) - 1, 'Beginstand', prs_perslid_key, prs_perslid_naam_full, NULL, NULL, fac.safe_to_number (pk.prs_kenmerklink_waarde), 'Beginstand', 1 include FROM prs_kenmerklink pk, prs_v_perslid_fullnames_all pf WHERE prs_kenmerk_key = 1060 AND pk.prs_link_key = pf.prs_perslid_key; CREATE OR REPLACE VIEW PRS_V_SGF_AFDELING ( prs_afdeling_key, prs_afdeling_naam ) AS SELECT prs_afdeling_key, prs_afdeling_naam FROM prs_v_aanwezigafdeling WHERE prs_afdeling_parentkey = 27; CREATE OR REPLACE VIEW PRS_V_BUDGETHOUDER ( PRS_PERSLID_KEY, PRS_PERSLID_NAAM ) AS SELECT prs_kostenplaats_key, prs_perslid_naam_full FROM prs_kostenplaats k, prs_v_perslid_fullnames p WHERE prs_kostenplaats_begin < SYSDATE AND ( prs_kostenplaats_eind < SYSDATE OR prs_kostenplaats_eind IS NULL) AND prs_kostenplaats_verwijder IS NULL AND p.prs_perslid_key = k.prs_perslid_key; -- SGGR#23236 - Inzetten FACILITOR voor administratieve processen SGF! CREATE OR REPLACE PROCEDURE sggr_select_INDEXWERK (p_applname IN VARCHAR2, p_applrun IN VARCHAR2) AS BEGIN NULL; END; / CREATE OR REPLACE VIEW sggr_v_export_INDEXWERK ( RESULT, result_order ) AS SELECT '', 0 FROM DUAL WHERE 1 = 0; CREATE OR REPLACE PROCEDURE sggr_export_indexwerk (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2) AS CURSOR ccnt (p_splitsindexdatum DATE) IS SELECT '[' || TO_CHAR (x.cnt_contract_nummer_intern) || '|' || x.cnt_contract_omschrijving || '] ' aanduiding, x.ins_discipline_key, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.cnt_contract_looptijd_tot einddatum, li.index_datum laatste_indexdatum, x.cnt_contract_kosten, x.cnt_contract_termijnkosten, x.cnt_prs_bedrijf_key, DECODE (x.cnt_prs_bedrijf_key, 1062, 0.7, 1901, 0.7, 1061, 0.7, 2901, 0.7, 1073, 3.3, 0.7) indexpct -- Voor 2020: 0,7%, voor AAFM (1062) 0,7%, voor YASKS(1901)/(1061)/VEBE (2901) 0,7%, UWVA (1073) 3,3% FROM (SELECT c.* FROM cnt_v_aanwezigcontract c WHERE c.ins_discipline_key IN (481, 482, 501) -- SaaS/Onderhoud/Care AND c.cnt_contract_status = 0 -- NIET Gesloten! AND NOT EXISTS -- Beschouw alleen laatste versie van contracten (SELECT 1 FROM cnt_v_aanwezigcontract WHERE cnt_contract_nummer_intern = c.cnt_contract_nummer_intern AND TO_NUMBER (cnt_contract_versie) > TO_NUMBER ( COALESCE ( c.cnt_contract_versie, '0')))) x LEFT JOIN (SELECT cnt_contract_key, fac.safe_to_date (cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') index_datum FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE cnt_kenmerkcontract_verwijder IS NULL AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_srtkenmerk_key = 301) li -- Laatste index-datum ON x.cnt_contract_key = li.cnt_contract_key WHERE x.cnt_contract_looptijd_tot > p_splitsindexdatum AND COALESCE (li.index_datum, SYSDATE) < p_splitsindexdatum ORDER BY TO_NUMBER (x.cnt_contract_nummer_intern); c_splitsindexdatum DATE := TO_DATE ('01012021', 'ddmmyyyy'); v_errorhint VARCHAR2 (1000); v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_new_contract_key NUMBER; termijnkorting cnt_kenmerkcontract.cnt_kenmerkcontract_waarde%TYPE; oldtermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE; newtermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE; PROCEDURE upsert_cntkenmerk (p_contract_key IN NUMBER, p_srtkenmerk_key IN NUMBER, p_waarde IN VARCHAR2) AS v_kenmerk_key NUMBER; v_srtkenmerk_kenmerktype VARCHAR2 (10); v_srtkenmerk_lengte NUMBER; v_waarde VARCHAR2 (255); v_kenmerkcontract_key NUMBER; BEGIN -- Bepaal kenmerk van meegegeven contract en soort; deze moet bestaan! SELECT cnt_kenmerk_key, cnt_srtkenmerk_kenmerktype, COALESCE (cnt_srtkenmerk_lengte, 255) INTO v_kenmerk_key, v_srtkenmerk_kenmerktype, v_srtkenmerk_lengte FROM cnt_contract c, cnt_kenmerk k, cnt_srtkenmerk sk WHERE c.cnt_contract_key = p_contract_key AND c.ins_discipline_key = k.cnt_srtcontract_key AND k.cnt_kenmerk_verwijder IS NULL AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key AND sk.cnt_srtkenmerk_verwijder IS NULL AND sk.cnt_srtkenmerk_key = p_srtkenmerk_key; v_waarde := SUBSTR (p_waarde, 1, v_srtkenmerk_lengte); BEGIN -- Bepaal bestaan/aanwezigheid huidige kenmerkwaarde? SELECT cnt_kenmerkcontract_key INTO v_kenmerkcontract_key FROM cnt_kenmerkcontract kc WHERE kc.cnt_contract_key = p_contract_key AND kc.cnt_kenmerk_key = v_kenmerk_key AND kc.cnt_kenmerkcontract_verwijder IS NULL; EXCEPTION WHEN NO_DATA_FOUND THEN IF p_waarde IS NULL THEN RETURN; END IF; INSERT INTO cnt_kenmerkcontract (cnt_contract_key, cnt_kenmerk_key, cnt_kenmerkcontract_waarde) VALUES (p_contract_key, v_kenmerk_key, v_waarde); RETURN; END; IF p_waarde IS NULL THEN --DELETE FROM cnt_kenmerkcontract -- WHERE cnt_kenmerkcontract_key = v_kenmerkcontract_key; UPDATE cnt_kenmerkcontract SET cnt_kenmerkcontract_verwijder = SYSDATE WHERE cnt_kenmerkcontract_key = v_kenmerkcontract_key; ELSE UPDATE cnt_kenmerkcontract SET cnt_kenmerkcontract_waarde = v_waarde, cnt_kenmerkcontract_wijzig = SYSDATE WHERE cnt_kenmerkcontract_key = v_kenmerkcontract_key; END IF; END; BEGIN -- Splitsen en indexeren FACILITOR-contracten. FOR rc IN ccnt (c_splitsindexdatum) LOOP BEGIN v_errorhint := 'Fout bij splitsen contract.'; -- Splitsen kun je wel achterwege laten als het contract pas na de splitsdatum begint -- of voor de splitsdatum eindigt. Dat komt voor en geeft dan nu de waarschuwing -- "Fout bij bepalen nieuwe versie" in de volgende stap. dat is niet erg dus. cnt.splitscontract (rc.cnt_contract_key, c_splitsindexdatum, NULL, NULL); COMMIT; -- Na splitsen wordt de nieuwe versie geïndexeerd. v_errorhint := 'Fout bij bepalen nieuwe versie.'; BEGIN SELECT cnt_contract_key INTO v_new_contract_key FROM cnt_v_aanwezigcontract WHERE cnt_contract_nummer_intern = rc.cnt_contract_nummer_intern AND TO_NUMBER (cnt_contract_versie) > TO_NUMBER (COALESCE (rc.cnt_contract_versie, '0')); EXCEPTION WHEN NO_DATA_FOUND THEN -- Er is blijkbaar niet gesplitst (waarschijnlijk dat contract begint pas op of na splitsdatum) -- omdat prijspeil volgens laatste index toch oud is, moet die dan toch geindexdeerd worden IF rc.einddatum > c_splitsindexdatum THEN v_new_contract_key := rc.cnt_contract_key; END IF; END; v_errorhint := 'Fout bij toevoegen laatste indexdatum.'; upsert_cntkenmerk (v_new_contract_key, 301, -- Laatste index-datum TO_CHAR (c_splitsindexdatum, 'ddmmyyyy')); COMMIT; v_errorhint := 'Fout bij toevoegen laatste indexpercentage.'; upsert_cntkenmerk (v_new_contract_key, 302, -- Laatste index-percentage rc.indexpct); COMMIT; FOR rkc IN ( SELECT kc.cnt_kenmerkcontract_key, kc.cnt_kenmerkcontract_waarde cur_waarde, ROUND ( fac.safe_to_number ( kc.cnt_kenmerkcontract_waarde) * ((100 + rc.indexpct) / 100), 2) new_waarde FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE 1 = 1 AND kc.cnt_contract_key = v_new_contract_key AND kc.cnt_kenmerkcontract_verwijder IS NULL AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_verwijder IS NULL AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key AND sk.cnt_srtkenmerk_verwijder IS NULL AND sk.cnt_srtkenmerk_kenmerktype = 'N' AND ( sk.cnt_srtkenmerk_key = 241 -- Hosting OR ( sk.cnt_srtkenmerk_key = 221 -- Tarief Consultant AND rc.cnt_contract_nummer_intern NOT IN (42, 16)) -- ...behalve voor AAFM/AAIT, UWVA=> handmatig OR ( sk.cnt_srtkenmerk_key = 222 -- Tarief Specialist AND rc.cnt_contract_nummer_intern NOT IN (42, 16)) -- ...behalve voor AAFM/AAIT, UWVA=> handmatig OR sk.cnt_srtkenmerk_upper LIKE '%PRIJS%') ORDER BY k.cnt_kenmerk_volgnummer) LOOP v_errorhint := 'Fout bij bijwerken prijsveld.'; UPDATE cnt_kenmerkcontract SET cnt_kenmerkcontract_waarde = TO_CHAR (rkc.new_waarde, '999999D99') WHERE cnt_kenmerkcontract_key = rkc.cnt_kenmerkcontract_key; END LOOP; COMMIT; -- Aanpassen van de totalen. Let op dat een evt kortingsbedrag (cnt_srtkenmerk_key=85) -- niet meegeindexeerd wordt, dus kun je niet zomaar het totaal indexeren v_errorhint := 'Fout bij bijwerken termijnbedrag.'; SELECT cnt_contract_termijnkosten INTO oldtermijnkosten FROM cnt_contract WHERE cnt_contract_key = v_new_contract_key; DBMS_OUTPUT.PUT_LINE ('oldtermijn ' || oldtermijnkosten); BEGIN SELECT COALESCE ( fac.safe_to_number (kc.cnt_kenmerkcontract_waarde), 0) INTO termijnkorting FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_srtkenmerk_key = 85 -- het kortingsbedrag (is negatief bij korting) per termijn AND kc.cnt_contract_key = v_new_contract_key; EXCEPTION WHEN NO_DATA_FOUND THEN termijnkorting := 0; END; UPDATE cnt_contract SET cnt_contract_termijnkosten = ROUND ( ( rc.cnt_contract_termijnkosten - fac.safe_to_number (termijnkorting)) * ((100 + rc.indexpct) / 100) + fac.safe_to_number (termijnkorting), 2) WHERE cnt_contract_key = v_new_contract_key; SELECT cnt_contract_termijnkosten INTO newtermijnkosten FROM cnt_contract WHERE cnt_contract_key = v_new_contract_key; DBMS_OUTPUT.PUT_LINE ( 'newtermijn ' || TO_CHAR (newtermijnkosten)); --c.ins_discipline_key IN (481, 482, 501) -- SaaS/Onderhoud/Care = termijn per maand/jaar/maand v_errorhint := 'Fout bij bijwerken jaarbedrag.'; UPDATE cnt_contract SET cnt_contract_kosten = DECODE (ins_discipline_key, 481, 12, 501, 12, 482, 1) * cnt_contract_termijnkosten, cnt_contract_termijntermijn = DECODE (ins_discipline_key, 481, 3, 501, 3, 482, 10) -- mnd/mnd/jr WHERE cnt_contract_key = v_new_contract_key; -- SGGR#60314: Totalen igv. FACILITOR SaaS (ins_discipline_key=481) -- ook doorvoeren in berekende kenmerkvelden van soort: -- 481=Totaal contractbedrag/mnd -- 482=Totaal contractbedrag/jaar v_errorhint := 'Fout bij bijwerken berekende velden.'; IF rc.ins_discipline_key = 481 -- FACILITOR SaaS THEN upsert_cntkenmerk (v_new_contract_key, 481, -- Totaal contractbedrag/mnd newtermijnkosten); upsert_cntkenmerk (v_new_contract_key, 482, -- Totaal contractbedrag/jaar 12 * newtermijnkosten); END IF; v_errorhint := 'Fout bij bijwerken index-tracking (CNTUPD).'; fac.trackaction ( 'CNTUPD', v_new_contract_key, NULL, NULL, 'Contract geïndexeerd met ' || TO_CHAR (rc.indexpct, '0.00') || '%; termijnbedrag gewijzigd van €' || TO_CHAR (oldtermijnkosten) || ' naar €' || TO_CHAR (newtermijnkosten)); COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := ' Error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'W', rc.aanduiding || v_errormsg, v_errorhint); COMMIT; END; END LOOP; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', 'Proces INDEXWERK afgebroken!', v_errormsg); COMMIT; END; / -- Standaard volgorde van de kolommen in het CSV-formaat) -- Variabelelijst -- v_alg_locatie_code 1 -- v_alg_gebouw_code 2 -- v_alg_verdieping_volgnr 3 -- v_alg_ruimte_nr 4 -- v_prs_werkplek_volgnr 5 -- v_prs_werkplek_omschrijving 6 -- v_prs_afdeling_naam 7 -- v_prs_perslid_naam 8 -- v_prs_perslid_tussenvoegsel 9 -- v_prs_perslid_voornaam 10 -- v_prs_perslid_voorletters 11 -- v_prs_perslid_partner_naam 12 -- v_prs_perslid_partner_tussenv 13 -- v_prs_naamgebruik_code 14 0 (default) perslid_naam en perslid_tussenvoegsel worden gebruikt -- 1 personen die de geboortenaam van de partner icm de eigen naam willen gebruiken -- 2 personen die de geboortenaam van de partner willen gebruiken -- 3 personen die de eigen naam icm de geboortenaam van de partner willen gebruiken -- v_prs_perslid_geslacht 15 Gebruik 'man', 'm' of 1 voor man en 'vrouw', 'v' of 0 voor vrouw case insensitive geen default -- v_prs_perslid_telefoonnr 16 -- v_prs_perslid_mobiel 17 -- v_prs_perslid_email 18 -- v_prs_perslid_dienstverband 19 -- v_prs_perslid_nr 20 -- v_prs_srtperslid_omschrijving 21 -- v_prs_perslid_oslogin 22 -- v_prs_perslid_wachtwoord 23 -- v_prs_perslid_titel 24 -- v_prs_perslid_apikey 25 -- v_dummy 26 -- v_prs_kenmerk1 27 -- v_prs_kenmerk2 28 -- v_prs_kenmerk3 29 -- v_prs_kenmerk4 30 -- v_prs_kenmerk5 31 -- v_prs_kenmerk6 32 -- v_prs_kenmerk7 33 -- v_prs_kenmerk8 34 -- v_prs_kenmerk9 35 -- v_prs_kenmerk10 36 -- v_prs_kenmerk11 37 -- v_prs_kenmerk12 38 -- v_prs_kenmerk13 39 -- v_prs_kenmerk14 40 -- v_prs_kenmerk15 41 -- v_prs_kenmerk16 42 -- v_prs_kenmerk17 43 -- v_prs_kenmerk18 44 -- v_prs_kenmerk19 45 -- v_prs_kenmerk20 46 CREATE OR REPLACE PROCEDURE sggr_import_prs (p_import_key IN NUMBER) AS v_errormsg VARCHAR2 (1000) := '-'; v_errorhint VARCHAR2 (1000) := '-'; oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); BEGIN v_errorhint := 'Generieke import'; -- De sequence array staat beschreven in PRS_PAC.SRC bij de import_perslid-PROCEDURE. --"Personeelsnummer;Geslacht;Login;Achternaam;Tussenvoegsel;Voorletters;Voornaam;Telefoonnummer;Mobiel;Email;Afdeling;Datumindienst;Datumuitdienst;Functie" prs.import_perslid ( p_import_key, '0;0;0;0;0;0;11;4;5;6;' || '7;0;0;0;2;8;9;10;0;1;' || '14;3;0;0;0;0;12;13;0;0;' || '0;0;0;0;0;0;0;0;0;0;' || '0;0;0;0;0;0', '%Personeelsnummer;Geslacht;Login;Achternaam;Tussenvoegsel;Voorletters;Voornaam;Telefoonnummer;Mobiel;Email;Afdeling;Datumindienst;Datumuitdienst;Functie%'); EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ') '; fac.imp_writelog (p_import_key, 'E', v_errormsg || v_errorhint, 'Inleesproces personen afgebroken!'); END sggr_import_prs; / CREATE OR REPLACE PROCEDURE sggr_update_prs (p_import_key IN NUMBER) IS -- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een e-mail c_max_delta_percentage NUMBER (10) := 20; -- 20%! v_count_prs_import NUMBER (10); -- #actieve personen na import! v_count_prs_actual NUMBER (10); -- #actieve personen voor import! -- Let op! Personen die niet meer in dienst zijn -> niet in fac_imp_perslid! -- Dubbele oslogins? Dan wordt iemand mogelijk niet verwijderd/INACTIEF! CURSOR c_del IS SELECT p.prs_perslid_key, p.prs_perslid_oslogin FROM prs_v_aanwezigperslid p WHERE ( p.prs_perslid_oslogin IS NULL OR p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\') -- ' tbv. opmaak AND p.prs_perslid_oslogin2 IS NULL AND NOT EXISTS (SELECT 1 FROM fac_imp_perslid i WHERE UPPER (i.prs_perslid_oslogin) = UPPER (p.prs_perslid_oslogin)) ORDER BY 2, 1; BEGIN -- Bepaal oslogin-match tussen Facilitor en RECENT importbestand ofwel het aantal -- actieve personen na import. -- RECENT betekent niet meer dan een kwartiertje oud (14,4 minuten); dit voorkomt -- dat - als er geen nieuw importbestand is aangeleverd - telkens dezelfde fouten -- worden gerapporteerd (nl. op basis van een oud bestand in FAC_IMP_PERSLID). SELECT COUNT (*) INTO v_count_prs_import FROM prs_v_aanwezigperslid p, fac_imp_perslid i WHERE p.prs_perslid_oslogin IS NOT NULL AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin); -- Bepaal huidig aantal actieve personen in Facilitor. SELECT DECODE (COUNT (*), 0, 1, COUNT (*)) INTO v_count_prs_actual FROM prs_v_aanwezigperslid WHERE prs_perslid_oslogin IS NOT NULL; IF (TRUNC ((v_count_prs_import / v_count_prs_actual) * 100) < (100 - c_max_delta_percentage)) THEN fac.imp_writelog ( p_import_key, 'E', 'Verschil tussen huidig aantal en te importeren aantal personen te groot; zie specificatie!', '- max. verschilpercentage = [' || TO_CHAR (c_max_delta_percentage) || '%]' || CHR (13) || CHR (10) || '- #personen/import = [' || TO_CHAR (v_count_prs_import) || ']' || CHR (13) || CHR (10) || '- #personen/huidig = [' || TO_CHAR (v_count_prs_actual) || ']'); RETURN; END IF; -- Generieke update. prs.update_perslid (p_import_key, 'LOGIN', 'D'); -- Verwijder personen die niet meer in de import voorkomen. FOR rec IN c_del LOOP prs.delete_perslid (p_import_key, rec.prs_perslid_key); END LOOP; -- Zolang SSO nog niet is ingeregeld, krijgt elke medewerker -met primaire -- login en zonder wachtwoord!- een dummy-wachtwoord! BEGIN EXECUTE IMMEDIATE 'ALTER TRIGGER prs_t_prs_perslid_b_iu DISABLE'; BEGIN FOR c IN (SELECT prs_perslid_key FROM prs_v_aanwezigperslid WHERE prs_perslid_key > 100 AND prs_perslid_oslogin IS NOT NULL AND prs_perslid_salt IS NULL) LOOP prs.setpassword (c.prs_perslid_key, 'Ququlequ'); END LOOP; END; EXECUTE IMMEDIATE 'ALTER TRIGGER prs_t_prs_perslid_b_iu ENABLE'; END; END sggr_update_prs; / -- View tbv rapportage voor het planbureau in Emmen, nodig voor het verwerken van verlofaanvragen van consultants CREATE OR REPLACE VIEW sggr_v_rap_verlofplanbureau ( melding, meldingdatum, meldingomschrijving, status, perslid ) AS SELECT DISTINCT m.mld_melding_key, mld_melding_datum, mld_melding_omschrijving, mld_statuses_omschrijving, pf1.prs_perslid_naam_full FROM mld_melding m, prs_perslid p, prs_v_perslid_fullnames_all pf1, mld_statuses st, (SELECT k.* FROM prs_kenmerklink k WHERE K.prs_KENMERK_KEY = 1100 AND k.PRS_KENMERKLINK_WAARDE = '1') planbureau WHERE m.mld_stdmelding_key = 241 AND mld_melding_status IN (0, 2, 3, 4) AND m.prs_perslid_key_voor = pf1.prs_perslid_key AND m.mld_melding_status = st.mld_statuses_key AND m.prs_perslid_key_voor = p.prs_perslid_key AND p.prs_perslid_key = planbureau.prs_link_key --AND p.prs_srtperslid_key IN (31, 2047, 3815, 3816, 4081) AND (m.mld_melding_flag <> 3 OR m.mld_melding_flag IS NULL); --- Notificatie verlofaanvragen consultants voor het planbureau CREATE OR REPLACE VIEW SGGR_V_NOTI_PLANBUREAU ( SENDER, RECEIVER, TEXT, CODE, FAC_SRTNOTIFICATIE_KEY, KEY, XKEY, XEMAIL, XMOBILE ) AS SELECT DISTINCT NULL sender, NULL receiver, REPLACE (n.fac_srtnotificatie_oms, '##NAAM##', pn.prs_perslid_naam_friendly), fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, 'planbureau@aareon.nl' xemail, NULL xmobile FROM fac_tracking t, mld_melding m, fac_srtnotificatie n, prs_v_perslid_fullnames_all pn, prs_perslid p, (SELECT k.* FROM prs_kenmerklink k WHERE K.prs_KENMERK_KEY = 1100 AND k.PRS_KENMERKLINK_WAARDE = '1') planbureau WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY AND P.PRS_PERSLID_KEY = PN.PRS_PERSLID_KEY AND T.FAC_SRTNOTIFICATIE_KEY = 26 --- nieuwe verlofaanvraag AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST01' AND M.MLD_STDMELDING_KEY = 241 -- verlofaanvragen AND M.PRS_PERSLID_KEY_VOOR = P.PRS_PERSLID_KEY -- AND P.PRS_SRTPERSLID_KEY IN (31, 2047, 3815, 3816, 4081) -- alleen notificeren indien de aanvaag door een (IT) consultant gedaan is AND P.PRS_PERSLID_KEY = PLANBUREAU.PRS_LINK_KEY AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_PLANBUREAU') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_PLANBUREAU'); -- overzicht met te accepteren meldingen voor teamleiders/managers CREATE OR REPLACE VIEW SGGR_V_RAP_ACC ( MLD_MELDING_KEY, MLD_MELDING_NR, MELDING, DATUM, STATUS, AANVRAGER, LEIDINGGEVENDE, FCLT_3D_USER_KEY ) AS SELECT m.mld_melding_key, m.mld_melding_key meldingnr, sm.mld_stdmelding_omschrijving melding, TO_DATE (m.mld_melding_datum) datum, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, p.prs_perslid_naam_friendly aanvrager, mg.prs_perslid_naam_friendly leidinggevende, mg.prs_perslid_key AS fclt_3d_user_key FROM mld_melding m, prs_v_perslid_fullnames_all p, prs_kenmerklink kl, prs_v_perslid_fullnames_all mg, mld_stdmelding sm WHERE ( m.mld_stdmelding_key IN (43, 281, 261, 1161, 421, 346) -- 43=inkoopverplichtingen, 281=aftrekbare kosten leaseauto's, 261=declaraties, 1161=declaratie nieuw, 421=overurensheet, 346=Aanvraag hotelkamer OR sm.mld_ins_discipline_key IN (721, 821)) --- 731=vakgroep relatiegeschenken, 821=vakgroep aanvragen met acceptatie AND m.prs_perslid_key_voor = p.prs_perslid_key AND m.prs_perslid_key_voor = kl.prs_link_key AND kl.prs_kenmerk_key = 1081 AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = mg.prs_perslid_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND m.mld_melding_status IN (2, 3) UNION ALL SELECT m.mld_melding_key, m.mld_melding_key meldingnr, sm.mld_stdmelding_omschrijving melding, TO_DATE (m.mld_melding_datum) datum, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, p.prs_perslid_naam_friendly aanvrager, mg.prs_perslid_naam_friendly leidinggevende, 184 AS fclt_3d_user_key FROM mld_melding m, prs_v_perslid_fullnames_all p, prs_kenmerklink kl, prs_v_perslid_fullnames_all mg, mld_stdmelding sm WHERE m.mld_stdmelding_key = 201 AND m.prs_perslid_key_voor = p.prs_perslid_key AND m.prs_perslid_key_voor = kl.prs_link_key AND kl.prs_kenmerk_key = 1081 AND mg.prs_perslid_key <> 281 --- Peter Feij AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = mg.prs_perslid_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND m.mld_melding_status IN (2, 3) UNION ALL SELECT m.mld_melding_key, m.mld_melding_key meldingnr, sm.mld_stdmelding_omschrijving melding, TO_DATE (m.mld_melding_datum) datum, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, p.prs_perslid_naam_friendly aanvrager, mg.prs_perslid_naam_friendly leidinggevende, 161 AS fclt_3d_user_key --- altijd Marcel Vrieling FROM mld_melding m, prs_v_perslid_fullnames_all p, prs_kenmerklink kl, prs_v_perslid_fullnames_all mg, mld_stdmelding sm WHERE m.mld_stdmelding_key IN (321, 522) --- verwerking aanvraag HW/SW AND m.prs_perslid_key_voor = p.prs_perslid_key AND m.prs_perslid_key_voor = kl.prs_link_key AND kl.prs_kenmerk_key = 1081 AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = mg.prs_perslid_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND m.mld_melding_status IN (2, 3, 4); CREATE OR REPLACE VIEW sggr_v_ICT_leverancier ( BEDRIJF_KEY, BEDRIJF_NAAM ) AS SELECT L.PRS_BEDRIJF_KEY, L.PRS_BEDRIJF_NAAM FROM prs_bedrijf l WHERE L.PRS_RELATIETYPE_KEY = 10 -- ICT leverancier AND L.PRS_BEDRIJF_LEVERANCIER IS NOT NULL AND L.PRS_BEDRIJF_VERWIJDER IS NULL; CREATE OR REPLACE VIEW SGGR_V_NOTI_ICT ( SENDER, RECEIVER, TEXT, CODE, FAC_SRTNOTIFICATIE_KEY, KEY, XKEY, XEMAIL, XMOBILE ) AS SELECT DISTINCT NULL sender, NULL receiver, REPLACE (n.fac_srtnotificatie_oms, '##NAAM##', pn.prs_perslid_naam_friendly), fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, 'Ict@aareon.nl' xemail, NULL xmobile FROM fac_tracking t, mld_melding m, fac_srtnotificatie n, prs_perslid p, prs_v_perslid_fullnames_all pn WHERE t.fac_tracking_refkey = m.mld_melding_key AND t.fac_srtnotificatie_key = 26 AND n.fac_srtnotificatie_code = 'CUST04' AND m.mld_stdmelding_key IN (321, 522) -- Aanvraag hardware/software AND p.prs_perslid_key = pn.prs_perslid_key AND m.prs_perslid_key_voor = p.prs_perslid_key AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_ICT') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_ICT'); CREATE OR REPLACE VIEW SGGR_V_NOTI_DIR ( SENDER, RECEIVER, TEXT, CODE, FAC_SRTNOTIFICATIE_KEY, KEY, XKEY, XEMAIL, XMOBILE ) AS SELECT DISTINCT NULL sender, NULL receiver, REPLACE (n.fac_srtnotificatie_oms, '##NAAM##', pn.prs_perslid_naam_friendly), fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, 'jeroen.kuiper@aareon.com;johan.deboer@aareon.nl;alexander.zaal@aareon.nl' xemail, NULL xmobile FROM fac_tracking t, mld_melding m, fac_srtnotificatie n, prs_perslid p, prs_v_perslid_fullnames_all pn, prs_kenmerklink kl, prs_perslid mgr WHERE t.fac_tracking_refkey = m.mld_melding_key AND t.fac_srtnotificatie_key = 26 AND n.fac_srtnotificatie_code = 'CUST05' AND m.mld_stdmelding_key IN (301, 523) -- Inkoop hardware/software AND p.prs_perslid_key = pn.prs_perslid_key AND p.prs_perslid_key = kl.prs_link_key AND m.prs_perslid_key_voor = p.prs_perslid_key AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld AND fac.safe_to_number (prs_kenmerklink_waarde) = mgr.prs_perslid_key AND mgr.prs_perslid_key <> 281 --- Peter Feij AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR') UNION ALL SELECT DISTINCT NULL sender, NULL receiver, REPLACE (n.fac_srtnotificatie_oms, '##NAAM##', pn.prs_perslid_naam_friendly), fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, 'p.feij@facilitor.nl' xemail, NULL xmobile FROM fac_tracking t, mld_melding m, fac_srtnotificatie n, prs_perslid p, prs_v_perslid_fullnames_all pn, prs_kenmerklink kl, prs_perslid mgr WHERE t.fac_tracking_refkey = m.mld_melding_key AND t.fac_srtnotificatie_key = 26 AND n.fac_srtnotificatie_code = 'CUST05' AND m.mld_stdmelding_key IN (301, 523) -- Inkoop hardware/software AND p.prs_perslid_key = pn.prs_perslid_key AND p.prs_perslid_key = kl.prs_link_key AND m.prs_perslid_key_voor = p.prs_perslid_key AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld AND fac.safe_to_number (prs_kenmerklink_waarde) = mgr.prs_perslid_key AND mgr.prs_perslid_key = 281 --- Peter Feij AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR') UNION ALL SELECT DISTINCT NULL sender, NULL receiver, REPLACE ( lcl.x ('fac_srtnotificatie_oms', n.fac_srtnotificatie_key, n.fac_srtnotificatie_oms), '##STDMLD## ##KEY##', sm.mld_stdmelding_omschrijving || '/' || m.mld_melding_key), fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, 'p.feij@facilitor.nl' xemail, NULL xmobile FROM fac_tracking t, mld_melding m, mld_stdmelding sm, fac_srtnotificatie n, prs_perslid p, prs_v_perslid_fullnames_all pn, prs_v_afdeling a WHERE t.fac_tracking_refkey = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND t.fac_srtnotificatie_key = 26 AND n.fac_srtnotificatie_code = 'MLD2B3' AND m.mld_stdmelding_key IN (361, 161, 101, 122, 162, 201) --- 361=Aanvraag opleiding, 161=Nieuw abo, 101=Nieuwe opdr, 122=Uitbreiding opdr, 162=wijzigingen abo, 201=creditering AND m.prs_perslid_key_voor = p.prs_perslid_key AND p.prs_perslid_key = pn.prs_perslid_key AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_bedrijf_key = 1001 --- Facilitor AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR') UNION ALL SELECT DISTINCT NULL sender, NULL receiver, REPLACE ( lcl.x ('fac_srtnotificatie_oms', n.fac_srtnotificatie_key, n.fac_srtnotificatie_oms), '##STDMLD## ##KEY##', sm.mld_stdmelding_omschrijving || '/' || m.mld_melding_key), fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, 'jeroen.kuiper@aareon.com;johan.deboer@aareon.nl;alexander.zaal@aareon.nl' xemail, NULL xmobile FROM fac_tracking t, mld_melding m, mld_stdmelding sm, fac_srtnotificatie n, prs_perslid p, prs_v_perslid_fullnames_all pn, prs_v_afdeling a WHERE t.fac_tracking_refkey = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND t.fac_srtnotificatie_key = 26 AND n.fac_srtnotificatie_code = 'MLD2B3' AND m.mld_stdmelding_key IN (361, 386) --- 361=Aanvraag opleiding, 386=Productmanagement Aareon AND m.prs_perslid_key_voor = p.prs_perslid_key AND p.prs_perslid_key = pn.prs_perslid_key AND p.prs_afdeling_key = a.prs_afdeling_key AND A.PRS_BEDRIJF_KEY = 21 --- Aareon Nederland AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR'); CREATE OR REPLACE VIEW SGGR_V_RAP_DIR ( MLD_MELDING_KEY, MLD_MELDING_NR, MELDING, DATUM, STATUS, AANVRAGER, BEDRIJF, LEIDINGGEVENDE ) AS SELECT m.mld_melding_key, m.mld_melding_key meldingnr, sm.mld_stdmelding_omschrijving melding, TO_DATE (m.mld_melding_datum) datum, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, p.prs_perslid_naam_friendly aanvrager, b.prs_bedrijf_naam, mg.prs_perslid_naam_friendly leidinggevende FROM mld_melding m, prs_v_perslid_fullnames_all p, prs_perslid pl, prs_v_afdeling a, prs_bedrijf b, prs_kenmerklink kl, prs_v_perslid_fullnames_all mg, mld_stdmelding sm WHERE ( m.mld_stdmelding_key IN (261, 281, 1161, 43, 421) OR sm.mld_ins_discipline_key IN (721, 821)) --inkoopverplichting, declaratie, aftrekbare kosten lease auto, overurensheet, vakgroep relatiegeschenken en aanvragen met acceptarie AND m.prs_perslid_key_voor = p.prs_perslid_key AND m.prs_perslid_key_voor = kl.prs_link_key AND kl.prs_kenmerk_key = 1081 AND kl.prs_kenmerklink_waarde = mg.prs_perslid_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND m.mld_melding_status IN (2, 3) AND p.prs_perslid_key = pl.prs_perslid_key AND pl.prs_afdeling_key = a.prs_afdeling_key AND a.prs_bedrijf_key = b.prs_bedrijf_key AND mg.prs_perslid_key IN (121, 281) -- directie UNION ALL SELECT DISTINCT m.mld_melding_key, m.mld_melding_key meldingnr, sm.mld_stdmelding_omschrijving, TO_DATE (m.mld_melding_datum) datum, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, p.prs_perslid_naam_friendly aanvrager, b.prs_bedrijf_naam, manager.prs_perslid_naam_friendly leidinggevende FROM mld_melding m, prs_v_perslid_fullnames_all p, prs_perslid pl, prs_v_afdeling a, prs_bedrijf b, prs_v_perslid_fullnames_all mg, mld_stdmelding sm, (SELECT kl.*, mg.* FROM prs_kenmerklink kl, prs_v_perslid_fullnames_all mg WHERE kl.prs_kenmerklink_waarde = mg.prs_perslid_key AND kl.prs_kenmerk_key = 1081) manager WHERE m.mld_stdmelding_key IN (301, 361, 386, 161, 101, 122, 162, 201, 523, 1101) -- aanvraag hw/sw, opleidingsformulier, aanvraag productmanagement, nieuw abo, nieuwe opdr, uitbreiding opdr, wijziging abo, crediteringen AND m.prs_perslid_key_voor = p.prs_perslid_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND m.mld_melding_status IN (2, 3) AND p.prs_perslid_key = pl.prs_perslid_key AND pl.prs_afdeling_key = a.prs_afdeling_key AND a.prs_bedrijf_key = b.prs_bedrijf_key AND m.prs_perslid_key_voor = manager.prs_link_key(+); CREATE OR REPLACE VIEW SGGR_V_NOTI_CRM ( SENDER, RECEIVER, TEXT, CODE, FAC_SRTNOTIFICATIE_KEY, KEY, XKEY, XEMAIL, XMOBILE ) AS SELECT DISTINCT NULL sender, NULL receiver, REPLACE (n.fac_srtnotificatie_oms, '##NAAM##', pn.prs_perslid_naam_friendly), fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, '2elijnKlantenMarkt@aareon.nl' xemail, NULL xmobile FROM fac_tracking t, mld_melding m, fac_srtnotificatie n, prs_perslid p, prs_v_perslid_fullnames_all pn WHERE t.fac_tracking_refkey = m.mld_melding_key AND t.fac_srtnotificatie_key = 22 AND n.fac_srtnotificatie_code = 'CUST01' AND m.mld_stdmelding_key = 241 -- verlofaanvragen AND p.prs_perslid_key = pn.prs_perslid_key AND m.prs_perslid_key_voor = p.prs_perslid_key AND P.PRS_AFDELING_KEY = 274 ---CRM en Markt AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_CRM') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_CRM'); -- Notificatie aan managers: -- Acceptatie van declaratie vereist -- Acceptatie van inkoopverplichting vereist CREATE OR REPLACE VIEW SGGR_V_NOTI_MANAGER ( SENDER, RECEIVER, TEXT, CODE, FAC_SRTNOTIFICATIE_KEY, KEY, XKEY, XEMAIL, XMOBILE ) AS SELECT DISTINCT NULL sender, NULL receiver, REPLACE (n.fac_srtnotificatie_oms, '##KEY##', m.mld_melding_key), fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, mgr.prs_perslid_email xemail, NULL xmobile FROM fac_tracking t, mld_melding m, fac_srtnotificatie n, prs_perslid p, prs_kenmerklink kl, prs_perslid mgr, mld_stdmelding sm WHERE t.fac_tracking_refkey = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND t.fac_srtnotificatie_key = 26 AND n.fac_srtnotificatie_code = 'CUST02' AND m.mld_stdmelding_key IN (281, 261, 1161) -- declaratie, aftrekbare privékosten leaseauto, AND m.prs_perslid_key_voor = p.prs_perslid_key AND p.prs_perslid_key = kl.prs_link_key AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld AND prs_kenmerklink_waarde = mgr.prs_perslid_key AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER') UNION ALL SELECT DISTINCT NULL sender, NULL receiver, REPLACE (n.fac_srtnotificatie_oms, '##KEY##', m.mld_melding_key), fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, mgr.prs_perslid_email xemail, NULL xmobile FROM fac_tracking t, mld_melding m, fac_srtnotificatie n, prs_perslid p, prs_kenmerklink kl, prs_perslid mgr, mld_stdmelding sm WHERE t.fac_tracking_refkey = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND t.fac_srtnotificatie_key = 26 AND n.fac_srtnotificatie_code = 'CUST03' AND (m.mld_stdmelding_key = 43 OR sm.mld_ins_discipline_key = 721) -- inkoopverplichting of vakgroep relatiegeschenken AND m.prs_perslid_key_voor = p.prs_perslid_key AND p.prs_perslid_key = kl.prs_link_key AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld AND prs_kenmerklink_waarde = mgr.prs_perslid_key AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER') UNION ALL SELECT DISTINCT NULL sender, NULL receiver, REPLACE (n.fac_srtnotificatie_oms, '##NAAM##', aanvr.prs_perslid_naam_friendly), fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, mgr.prs_perslid_email xemail, NULL xmobile FROM fac_tracking t, mld_melding m, fac_srtnotificatie n, prs_perslid p, prs_v_perslid_fullnames aanvr, prs_kenmerklink kl, prs_perslid mgr, mld_stdmelding sm WHERE t.fac_tracking_refkey = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND t.fac_srtnotificatie_key = 26 AND n.fac_srtnotificatie_code = 'CUST07' AND m.mld_stdmelding_key = 421 -- overurensheet AND m.prs_perslid_key_voor = p.prs_perslid_key AND p.prs_perslid_key = aanvr.prs_perslid_key AND p.prs_perslid_key = kl.prs_link_key AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld AND prs_kenmerklink_waarde = mgr.prs_perslid_key AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER') UNION ALL SELECT DISTINCT NULL sender, NULL receiver, (REPLACE (n.fac_srtnotificatie_oms, '##STDMELDINGOMSCHR##', sm.mld_stdmelding_omschrijving)) || '/' || m.mld_melding_key, fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, mgr.prs_perslid_email xemail, NULL xmobile FROM fac_tracking t, mld_melding m, fac_srtnotificatie n, prs_perslid p, prs_kenmerklink kl, prs_perslid mgr, mld_stdmelding sm WHERE t.fac_tracking_refkey = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND t.fac_srtnotificatie_key = 26 AND n.fac_srtnotificatie_code = 'CUST08' AND sm.mld_ins_discipline_key = 821 -- vakgroep aanvragen met acceptatie AND m.prs_perslid_key_voor = p.prs_perslid_key AND p.prs_perslid_key = kl.prs_link_key AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld AND prs_kenmerklink_waarde = mgr.prs_perslid_key AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER'); -- Informeren over verlofaanvragen na afmelden door administratie CREATE OR REPLACE VIEW SGGR_V_NOTI_VERLOF_MGR ( SENDER, RECEIVER, TEXT, CODE, FAC_SRTNOTIFICATIE_KEY, KEY, XKEY, XEMAIL, XMOBILE ) AS SELECT DISTINCT NULL sender, NULL receiver, REPLACE (n.fac_srtnotificatie_oms, '##NAAM##', pn.prs_perslid_naam_friendly), fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, mgr.prs_perslid_email xemail, NULL xmobile FROM fac_tracking t, mld_melding m, fac_srtnotificatie n, prs_perslid p, prs_v_perslid_fullnames_all pn, prs_kenmerklink kl, prs_perslid mgr WHERE t.fac_tracking_refkey = m.mld_melding_key AND t.fac_srtnotificatie_key = 22 ---mldafm AND n.fac_srtnotificatie_code = 'CUST01' AND m.mld_stdmelding_key = 241 -- verlofaanvragen AND p.prs_perslid_key = pn.prs_perslid_key AND m.prs_perslid_key_voor = p.prs_perslid_key AND p.prs_perslid_key = kl.prs_link_key AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld AND prs_kenmerklink_waarde = mgr.prs_perslid_key AND t.fac_tracking_datum > (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24 FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_VERLOF_MGR') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_VERLOF_MGR'); CREATE OR REPLACE FORCE VIEW SGGR_V_RAPP_VERLOF ( MLD_MELDING_KEY, MLD_MELDING_NR, MELDING, DATUM, STATUS, AANVRAGER, LEIDINGGEVENDE, FCLT_3D_USER_KEY ) AS SELECT m.mld_melding_key, m.mld_melding_key meldingnr, sm.mld_stdmelding_omschrijving melding, TO_DATE (m.mld_melding_datum) datum, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, p.prs_perslid_naam_friendly aanvrager, mg.prs_perslid_naam_friendly leidinggevende, mg.prs_perslid_key AS fclt_3d_user_key FROM mld_melding m, prs_v_perslid_fullnames_all p, prs_kenmerklink kl, prs_v_perslid_fullnames_all mg, mld_stdmelding sm WHERE m.mld_stdmelding_key = 241 AND m.prs_perslid_key_voor = p.prs_perslid_key AND m.prs_perslid_key_voor = kl.prs_link_key AND kl.prs_kenmerk_key = 1081 AND kl.prs_kenmerklink_waarde = mg.prs_perslid_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key; CREATE OR REPLACE FORCE VIEW SGGR_V_RAPP_AANVR_HWSW ( MLD_MELDING_KEY, MLD_MELDING_NR, MELDING, DATUM, STATUS, AANVRAGER, KOSTENPLAATS ) AS SELECT m.mld_melding_key, m.mld_melding_key meldingnr, sm.mld_stdmelding_omschrijving melding, TO_DATE (m.mld_melding_datum) datum, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, p.prs_perslid_naam_friendly aanvrager, K.PRS_KOSTENPLAATS_NR FROM mld_melding m, prs_v_perslid_fullnames_all p, prs_perslid l, mld_stdmelding sm, prs_afdeling a, prs_kostenplaats k WHERE m.mld_stdmelding_key = 321 AND m.prs_perslid_key_voor = p.prs_perslid_key AND P.PRS_PERSLID_KEY = L.PRS_PERSLID_KEY AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND L.PRS_AFDELING_KEY = A.PRS_AFDELING_KEY AND A.PRS_KOSTENPLAATS_KEY = K.PRS_KOSTENPLAATS_KEY; --- overzicht van alle business units en teams: ---266 treasury/267 Handel en Logistiek/268 ICT services/270 Wonen/271 Consultancy/272 Vastgoed/273 Financiën/274 CRM en Markt/275 Appl. beheer CREATE OR REPLACE VIEW SGGR_V_BUSINESS_UNITS ( AFDELING_KEY, AFDELING_OMSCHRIJVING ) AS SELECT A.PRS_AFDELING_KEY, A.PRS_AFDELING_OMSCHRIJVING FROM PRS_AFDELING A WHERE A.PRS_AFDELING_KEY IN (266, 267, 268, 270, 271, 272, 273, 274, 275) AND A.PRS_AFDELING_VERWIJDER IS NULL; -- overzicht van alle BU managers. Functies: -- teamleider support en ontwikkeling 3803/Teamleider Consultance 2052/Teamleider Treasury 3806/Unitmanagers 2050/Directeur Wonen 3807 CREATE OR REPLACE VIEW SGGR_V_MANAGERS_BU ( PERSLID_KEY, PERSLID_VOLNAAM ) AS SELECT P.PRS_PERSLID_KEY, N.PRS_PERSLID_NAAM_FULL FROM PRS_V_PERSLID_FULLNAMES N, PRS_PERSLID P WHERE N.PRS_PERSLID_KEY = P.PRS_PERSLID_KEY AND P.PRS_SRTPERSLID_KEY IN (3803, 2052, 3806, 2050, 3807) ORDER BY N.PRS_PERSLID_NAAM_FULL; CREATE OR REPLACE PROCEDURE sggr_export_daily_task (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2) AS CURSOR c IS SELECT * FROM fac_tracking t, ins_deel d WHERE fac_tracking_refkey = d.ins_deel_key AND d.ins_srtdeel_key IN (481, 621) -- pool autos 481 , later samengevoegd: lease/poolauto's AND fac_srtnotificatie_key IN (96, 97) -- uitgifte (insout) en inname (insinn) ORDER BY ins_deel_key, fac_tracking_datum; v_bestuurder VARCHAR2 (60); v_uitgifte DATE; v_inname DATE; v_reden VARCHAR2 (100); v_van VARCHAR2 (100); v_naar VARCHAR2 (100); v_km_uitgifte NUMBER (10); v_km_inname NUMBER (10); v_fac_tracking_uitgifte_key NUMBER (10); v_fac_tracking_inname_key NUMBER (10); v_dummy VARCHAR2 (1000); v_search VARCHAR2 (1000); BEGIN DELETE sggr_autorit_registratie; FOR rec IN c LOOP BEGIN v_search := 'Reden van gebruik:'; v_dummy := sggr.find_str (rec.fac_tracking_oms, v_search); v_reden := sggr.find_nieuw (v_dummy, v_reden); v_search := 'Van:'; v_dummy := sggr.find_str (rec.fac_tracking_oms, v_search); v_van := sggr.find_nieuw (v_dummy, v_van); v_search := 'Naar:'; v_dummy := sggr.find_str (rec.fac_tracking_oms, v_search); v_naar := sggr.find_nieuw (v_dummy, v_naar); v_search := 'Kilometerstand:'; v_dummy := sggr.find_str (rec.fac_tracking_oms, v_search); IF v_dummy IS NULL THEN v_km_uitgifte := v_km_inname; ELSE v_km_uitgifte := sggr.find_oud (v_dummy, v_km_uitgifte); v_km_inname := sggr.find_nieuw (v_dummy, v_km_inname); END IF; v_search := 'is uitgegeven aan'; v_dummy := SUBSTR (sggr.find_str (rec.fac_tracking_oms, v_search), 0, 60); v_bestuurder := v_dummy; IF rec.fac_srtnotificatie_key = 96 THEN -- Uitgifte v_uitgifte := rec.fac_tracking_datum; INSERT INTO sggr_autorit_registratie ( ins_deel_key, bestuurder, uitgifte, reden, van, naar, km_uitgifte, fac_tracking_uitgifte_key) VALUES (rec.fac_tracking_refkey, v_bestuurder, v_uitgifte, v_reden, v_van, v_naar, v_km_uitgifte, rec.fac_tracking_key); v_fac_tracking_uitgifte_key := rec.fac_tracking_key; ELSE v_inname := rec.fac_tracking_datum; UPDATE sggr_autorit_registratie SET inname = v_inname, reden = COALESCE (v_reden, reden), van = COALESCE (v_van, van), naar = COALESCE (v_naar, naar), km_uitgifte = COALESCE (v_km_uitgifte, km_uitgifte), km_inname = v_km_inname, fac_tracking_inname_key = rec.fac_tracking_key WHERE fac_tracking_uitgifte_key = v_fac_tracking_uitgifte_key; END IF; END; END LOOP; END; / CREATE OR REPLACE VIEW SGGR_V_RAP_AUTO_REGISTRATIE ( TIMESTAMP, MAAND, AUTO, BESTUURDER, FCLT_D_DATUM, UITGIFTE_DATUM, UITGIFTE_TIJD, INNAME_DATUM, INNAME_TIJD, REDEN, VAN, NAAR, KM_UITGIFTE, KM_INNAME, KM_VERSCHIL ) AS SELECT TO_CHAR (uitgifte, 'yyyymmddhh24mi') timestamp, TO_CHAR (uitgifte, 'Month') maand, ins_deel_omschrijving auto, bestuurder, TO_CHAR (uitgifte, 'dd-mm-yyyy') filter, TO_CHAR (uitgifte, 'dd-mm-yyyy') uitgifte_datum, TO_CHAR (uitgifte, 'hh24:mi') uitgifte_tijd, TO_CHAR (inname, 'dd-mm-yyyy') inname_datum, TO_CHAR (inname, 'hh24:mi') inname_tijd, reden, van, naar, km_uitgifte, km_inname, km_inname - km_uitgifte km_verschil FROM sggr_autorit_registratie a, ins_deel d WHERE a.ins_deel_key = d.ins_deel_key; -- SGGR#40017 inzicht in hotelreserveringen CREATE OR REPLACE VIEW SGGR_V_RAPP_HOTELAANVRAGEN ( HTML_AANVRAAG_NR, HTML_ANNULERING_NR, HTML_WIJZIGING_NR, STD_MELDING, MLD_MELDING_DATUM, MLD_MELDING_ONDERWERP, MLD_MELDING_OMSCHRIJVING, FCLT_3D_USER_KEY, PRS_PERSLID_NAAM_FRIENDLY, STATUS, AANKOMSTDATUM, VERTREKDATUM, BESTEMMING, HOTEL_VOORKEUR, HTML_ANNULERING, HTML_WIJZIGING, GERESERVEERDE ) AS SELECT '' || HTF.escape_sc (m.mld_melding_key) || '', '' || HTF.escape_sc (annulering.mld_melding_key) || '', '' || HTF.escape_sc (wijziging.mld_melding_key) || '', m.mld_stdmelding_omschrijving, m.mld_melding_datum, m.mld_melding_onderwerp, m.mld_melding_omschrijving, m.prs_perslid_key_voor, m.prs_perslid_naam_friendly, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, aankomstdatum.mld_kenmerkmelding_waarde aankomstdatum, vertrekdatum.mld_kenmerkmelding_waarde vertrekdatum, plaats.mld_kenmerkmelding_waarde plaats, voorkeur.mld_kenmerkmelding_waarde hotelvoorkeur, CASE WHEN annulering.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te annuleren') || '' WHEN annulering.mld_melding_key IS NOT NULL THEN '' END html_annulering, CASE WHEN wijziging.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te wijzigen') || '' WHEN wijziging.mld_melding_key IS NOT NULL THEN '' END html_wijziging, 'hotel' FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p WHERE mld.mld_stdmelding_key = 346 AND mld.mld_stdmelding_key = s.mld_stdmelding_key AND p.prs_perslid_key = mld.prs_perslid_key_voor) m LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1381) aankomstdatum ON m.mld_melding_key = aankomstdatum.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1382) vertrekdatum ON m.mld_melding_key = vertrekdatum.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 835) plaats ON m.mld_melding_key = plaats.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 836) voorkeur ON m.mld_melding_key = voorkeur.mld_melding_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 441) annulering ON m.mld_melding_key = annulering.mld_melding_start_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 561) wijziging ON m.mld_melding_key = wijziging.mld_melding_start_key UNION ALL SELECT '' || HTF.escape_sc (m.mld_melding_key) || '', '' || HTF.escape_sc (annulering.mld_melding_key) || '', '' || HTF.escape_sc (wijziging.mld_melding_key) || '', m.mld_stdmelding_omschrijving, m.mld_melding_datum, m.mld_melding_onderwerp, m.mld_melding_omschrijving, m.prs_perslid_key_voor, m.prs_perslid_naam_friendly, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, aankomstdatum.mld_kenmerkmelding_waarde aankomstdatum, vertrekdatum.mld_kenmerkmelding_waarde vertrekdatum, plaats.mld_kenmerkmelding_waarde plaats, '', CASE WHEN annulering.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te annuleren') || '' WHEN annulering.mld_melding_key IS NOT NULL THEN '' END html_annulering, CASE WHEN wijziging.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te wijzigen') || '' WHEN wijziging.mld_melding_key IS NOT NULL THEN '' END html_wijziging, 'Externe zaal' FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p WHERE mld.mld_stdmelding_key = 461 AND mld.mld_stdmelding_key = s.mld_stdmelding_key AND p.prs_perslid_key = mld.prs_perslid_key_voor) m LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1483) aankomstdatum ON m.mld_melding_key = aankomstdatum.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1484) vertrekdatum ON m.mld_melding_key = vertrekdatum.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1481) plaats ON m.mld_melding_key = plaats.mld_melding_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 481) annulering ON m.mld_melding_key = annulering.mld_melding_start_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 741) wijziging ON m.mld_melding_key = wijziging.mld_melding_start_key UNION ALL SELECT '' || HTF.escape_sc (m.mld_melding_key) || '', '' || HTF.escape_sc (annulering.mld_melding_key) || '', '' || HTF.escape_sc (wijziging.mld_melding_key) || '', m.mld_stdmelding_omschrijving, m.mld_melding_datum, m.mld_melding_onderwerp, m.mld_melding_omschrijving, m.prs_perslid_key_voor, m.prs_perslid_naam_friendly, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, COALESCE (aankomst.mld_kenmerkmelding_waarde, aankomst_auto.mld_kenmerkmelding_waarde, aankomst_trein.mld_kenmerkmelding_waarde, aankomst_vlucht.mld_kenmerkmelding_waarde) aankomstdatum, COALESCE (vertrek.mld_kenmerkmelding_waarde, vertrek_auto.mld_kenmerkmelding_waarde, vertrek_trein.mld_kenmerkmelding_waarde, vertrek_vlucht.mld_kenmerkmelding_waarde) vertrekdatum, COALESCE (plaats.mld_kenmerkmelding_waarde, plaats_auto.mld_kenmerkmelding_waarde, plaats_trein.mld_kenmerkmelding_waarde, plaats_vlucht.mld_kenmerkmelding_waarde) locatie, COALESCE (voorkeur.mld_kenmerkmelding_waarde, 'nvt') hotel_voorkeur, CASE WHEN annulering.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te annuleren') || '' WHEN annulering.mld_melding_key IS NOT NULL THEN '' END html_annulering, CASE WHEN wijziging.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te wijzigen') || '' WHEN wijziging.mld_melding_key IS NOT NULL THEN '' END html_wijziging, LISTAGG (item.item, ', ') WITHIN GROUP (ORDER BY item) AS item FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p WHERE mld.mld_stdmelding_key = 721 AND mld.mld_stdmelding_key = s.mld_stdmelding_key AND p.prs_perslid_key = mld.prs_perslid_key_voor) m LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2021) hotel ON m.mld_melding_key = hotel.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2083) aankomst -- aankomst hotel ON m.mld_melding_key = aankomst.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2281) aankomst_auto ON m.mld_melding_key = aankomst_auto.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2126) aankomst_trein ON m.mld_melding_key = aankomst_trein.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2168) aankomst_vlucht ON m.mld_melding_key = aankomst_vlucht.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2084) vertrek --- vertrek hotel ON m.mld_melding_key = vertrek.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2322) vertrek_auto ON m.mld_melding_key = vertrek_auto.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2130) vertrek_trein ON m.mld_melding_key = vertrek_trein.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2171) vertrek_vlucht ON m.mld_melding_key = vertrek_vlucht.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2085) plaats --- locatie hotel ON m.mld_melding_key = plaats.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2301) plaats_auto ON m.mld_melding_key = plaats_auto.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2201) plaats_trein ON m.mld_melding_key = plaats_trein.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2167) plaats_vlucht ON m.mld_melding_key = plaats_vlucht.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2089) voorkeur ON m.mld_melding_key = voorkeur.mld_melding_key LEFT JOIN ((SELECT k.mld_melding_key, 'trein' item FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2022 UNION SELECT k.mld_melding_key, 'vliegreis' item FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2041 UNION SELECT k.mld_melding_key, 'hotel' item FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2021 UNION SELECT k.mld_melding_key, 'poolauto' item FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2761)) item ON m.mld_melding_key = item.mld_melding_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 761) annulering ON m.mld_melding_key = annulering.mld_melding_start_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 781) wijziging ON m.mld_melding_key = wijziging.mld_melding_start_key GROUP BY '' || HTF.escape_sc (m.mld_melding_key) || '', '' || HTF.escape_sc (annulering.mld_melding_key) || '', '' || HTF.escape_sc (wijziging.mld_melding_key) || '', m.mld_stdmelding_omschrijving, m.mld_melding_datum, m.mld_melding_onderwerp, m.mld_melding_omschrijving, m.prs_perslid_key_voor, m.prs_perslid_naam_friendly, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END, COALESCE (aankomst.mld_kenmerkmelding_waarde, aankomst_auto.mld_kenmerkmelding_waarde, aankomst_trein.mld_kenmerkmelding_waarde, aankomst_vlucht.mld_kenmerkmelding_waarde), COALESCE (vertrek.mld_kenmerkmelding_waarde, vertrek_auto.mld_kenmerkmelding_waarde, vertrek_trein.mld_kenmerkmelding_waarde, vertrek_vlucht.mld_kenmerkmelding_waarde), COALESCE (plaats.mld_kenmerkmelding_waarde, plaats_auto.mld_kenmerkmelding_waarde, plaats_trein.mld_kenmerkmelding_waarde, plaats_vlucht.mld_kenmerkmelding_waarde), COALESCE (voorkeur.mld_kenmerkmelding_waarde, 'nvt'), CASE WHEN annulering.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te annuleren') || '' WHEN annulering.mld_melding_key IS NOT NULL THEN '' END, CASE WHEN wijziging.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te wijzigen') || '' WHEN wijziging.mld_melding_key IS NOT NULL THEN '' END; CREATE OR REPLACE VIEW SGGR_V_RAPP_HOTELAANVRAGEN_ALL ( HTML_AANVRAAG_NR, HTML_ANNULERING_NR, HTML_WIJZIGING_NR, STD_MELDING, MLD_MELDING_DATUM, MLD_MELDING_ONDERWERP, MLD_MELDING_OMSCHRIJVING, PRS_PERSLID_NAAM_FRIENDLY, STATUS, AANKOMSTDATUM, VERTREKDATUM, PLAATS, HOTEL_VOORKEUR, HTML_ANNULERING, HTML_WIJZIGING, GERESERVEERDE ) AS SELECT '' || HTF.escape_sc (m.mld_melding_key) || '', '' || HTF.escape_sc (annulering.mld_melding_key) || '', '' || HTF.escape_sc (wijziging.mld_melding_key) || '', m.mld_stdmelding_omschrijving, m.mld_melding_datum, m.mld_melding_onderwerp, m.mld_melding_omschrijving, m.prs_perslid_naam_friendly, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, aankomstdatum.mld_kenmerkmelding_waarde aankomstdatum, vertrekdatum.mld_kenmerkmelding_waarde vertrekdatum, plaats.mld_kenmerkmelding_waarde plaats, voorkeur.mld_kenmerkmelding_waarde hotelvoorkeur, CASE WHEN annulering.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te annuleren') || '' WHEN annulering.mld_melding_key IS NOT NULL THEN '' END html_annulering, CASE WHEN wijziging.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te wijzigen') || '' WHEN wijziging.mld_melding_key IS NOT NULL THEN '' END html_wijziging, 'hotel' FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p WHERE mld.mld_stdmelding_key = 346 AND mld.mld_stdmelding_key = s.mld_stdmelding_key AND p.prs_perslid_key = mld.prs_perslid_key_voor) m LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1381) aankomstdatum ON m.mld_melding_key = aankomstdatum.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1382) vertrekdatum ON m.mld_melding_key = vertrekdatum.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 835) plaats ON m.mld_melding_key = plaats.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 836) voorkeur ON m.mld_melding_key = voorkeur.mld_melding_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 441) annulering ON m.mld_melding_key = annulering.mld_melding_start_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 561) wijziging ON m.mld_melding_key = wijziging.mld_melding_start_key UNION ALL SELECT '' || HTF.escape_sc (m.mld_melding_key) || '', '' || HTF.escape_sc (annulering.mld_melding_key) || '', '' || HTF.escape_sc (wijziging.mld_melding_key) || '', m.mld_stdmelding_omschrijving, m.mld_melding_datum, m.mld_melding_onderwerp, m.mld_melding_omschrijving, m.prs_perslid_naam_friendly, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, aankomstdatum.mld_kenmerkmelding_waarde aankomstdatum, vertrekdatum.mld_kenmerkmelding_waarde vertrekdatum, plaats.mld_kenmerkmelding_waarde plaats, '', CASE WHEN annulering.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te annuleren') || '' WHEN annulering.mld_melding_key IS NOT NULL THEN '' END html_annulering, CASE WHEN wijziging.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te wijzigen') || '' WHEN wijziging.mld_melding_key IS NOT NULL THEN '' END html_wijziging, 'Externe zaal' FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p WHERE mld.mld_stdmelding_key = 461 AND mld.mld_stdmelding_key = s.mld_stdmelding_key AND p.prs_perslid_key = mld.prs_perslid_key_voor) m LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1483) aankomstdatum ON m.mld_melding_key = aankomstdatum.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1484) vertrekdatum ON m.mld_melding_key = vertrekdatum.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1481) plaats ON m.mld_melding_key = plaats.mld_melding_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 481) annulering ON m.mld_melding_key = annulering.mld_melding_start_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 741) wijziging ON m.mld_melding_key = wijziging.mld_melding_start_key UNION ALL SELECT '' || HTF.escape_sc (m.mld_melding_key) || '', '' || HTF.escape_sc (annulering.mld_melding_key) || '', '' || HTF.escape_sc (wijziging.mld_melding_key) || '', m.mld_stdmelding_omschrijving, m.mld_melding_datum, m.mld_melding_onderwerp, m.mld_melding_omschrijving, m.prs_perslid_naam_friendly, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END status, COALESCE (aankomst.mld_kenmerkmelding_waarde, aankomst_auto.mld_kenmerkmelding_waarde, aankomst_trein.mld_kenmerkmelding_waarde, aankomst_vlucht.mld_kenmerkmelding_waarde) aankomstdatum, COALESCE (vertrek.mld_kenmerkmelding_waarde, vertrek_auto.mld_kenmerkmelding_waarde, vertrek_trein.mld_kenmerkmelding_waarde, vertrek_vlucht.mld_kenmerkmelding_waarde) vertrekdatum, COALESCE (plaats.mld_kenmerkmelding_waarde, plaats_auto.mld_kenmerkmelding_waarde, plaats_trein.mld_kenmerkmelding_waarde, plaats_vlucht.mld_kenmerkmelding_waarde) locatie, COALESCE (voorkeur.mld_kenmerkmelding_waarde, 'nvt') hotel_voorkeur, CASE WHEN annulering.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te annuleren') || '' WHEN annulering.mld_melding_key IS NOT NULL THEN '' END html_annulering, CASE WHEN wijziging.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te wijzigen') || '' WHEN wijziging.mld_melding_key IS NOT NULL THEN '' END html_wijziging, LISTAGG (item.item, ', ') WITHIN GROUP (ORDER BY item) AS item FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p WHERE mld.mld_stdmelding_key = 721 AND mld.mld_stdmelding_key = s.mld_stdmelding_key AND p.prs_perslid_key = mld.prs_perslid_key_voor) m LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2021) hotel ON m.mld_melding_key = hotel.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2083) aankomst -- aankomst hotel ON m.mld_melding_key = aankomst.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2281) aankomst_auto ON m.mld_melding_key = aankomst_auto.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2126) aankomst_trein ON m.mld_melding_key = aankomst_trein.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2168) aankomst_vlucht ON m.mld_melding_key = aankomst_vlucht.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2084) vertrek --- vertrek hotel ON m.mld_melding_key = vertrek.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2322) vertrek_auto ON m.mld_melding_key = vertrek_auto.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2130) vertrek_trein ON m.mld_melding_key = vertrek_trein.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2171) vertrek_vlucht ON m.mld_melding_key = vertrek_vlucht.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2085) plaats --- locatie hotel ON m.mld_melding_key = plaats.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2301) plaats_auto ON m.mld_melding_key = plaats_auto.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2201) plaats_trein ON m.mld_melding_key = plaats_trein.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2167) plaats_vlucht ON m.mld_melding_key = plaats_vlucht.mld_melding_key LEFT JOIN (SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2089) voorkeur ON m.mld_melding_key = voorkeur.mld_melding_key LEFT JOIN ((SELECT k.mld_melding_key, 'trein' item FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2022 UNION SELECT k.mld_melding_key, 'vliegreis' item FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2041 UNION SELECT k.mld_melding_key, 'hotel' item FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2021 UNION SELECT k.mld_melding_key, 'poolauto' item FROM mld_kenmerkmelding k, mld_kenmerk n WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2761)) item ON m.mld_melding_key = item.mld_melding_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 761) annulering ON m.mld_melding_key = annulering.mld_melding_start_key LEFT JOIN (SELECT a.* FROM mld_melding a WHERE mld_stdmelding_key = 781) wijziging ON m.mld_melding_key = wijziging.mld_melding_start_key GROUP BY '' || HTF.escape_sc (m.mld_melding_key) || '', '' || HTF.escape_sc (annulering.mld_melding_key) || '', '' || HTF.escape_sc (wijziging.mld_melding_key) || '', m.mld_stdmelding_omschrijving, m.mld_melding_datum, m.mld_melding_onderwerp, m.mld_melding_omschrijving, m.prs_perslid_naam_friendly, CASE m.mld_melding_status WHEN 1 THEN 'Afgewezen' WHEN 2 THEN 'Nieuw' WHEN 3 THEN 'Te accepteren' WHEN 4 THEN 'In behandeling' WHEN 5 THEN 'Afgemeld' WHEN 6 THEN 'Historie' WHEN 7 THEN 'Uitgegeven' END, COALESCE (aankomst.mld_kenmerkmelding_waarde, aankomst_auto.mld_kenmerkmelding_waarde, aankomst_trein.mld_kenmerkmelding_waarde, aankomst_vlucht.mld_kenmerkmelding_waarde), COALESCE (vertrek.mld_kenmerkmelding_waarde, vertrek_auto.mld_kenmerkmelding_waarde, vertrek_trein.mld_kenmerkmelding_waarde, vertrek_vlucht.mld_kenmerkmelding_waarde), COALESCE (plaats.mld_kenmerkmelding_waarde, plaats_auto.mld_kenmerkmelding_waarde, plaats_trein.mld_kenmerkmelding_waarde, plaats_vlucht.mld_kenmerkmelding_waarde), COALESCE (voorkeur.mld_kenmerkmelding_waarde, 'nvt'), CASE WHEN annulering.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te annuleren') || '' WHEN annulering.mld_melding_key IS NOT NULL THEN '' END, CASE WHEN wijziging.mld_melding_key IS NULL THEN '' || HTF.escape_sc ('Klik hier om te wijzigen') || '' WHEN wijziging.mld_melding_key IS NOT NULL THEN '' END; CREATE OR REPLACE VIEW SGGR_V_RAP_METERSTANDEN ( METERNR, METEROMSCHR, MEETDATUM, OPMERKING, VERBRUIK, METERSTAND, VORIGE_STAND, BEREKEND_VERBRUIK, DEF_VERBRUIK ) AS SELECT m.ins_deel_omschrijving, m.ins_deel_opmerking, c.ins_deelsrtcontrole_datum, c.ins_deelsrtcontrole_opmerking, verbruik.ins_kmdeelsrtcontr_waarde verbr, meterstanden.ins_kmdeelsrtcontr_waarde meterstand, (SELECT MAX (fac.safe_to_number (msp.ins_kmdeelsrtcontr_waarde)) FROM ins_v_deel_gegevens mp, ins_deelsrtcontrole cp, ins_kmdeelsrtcontr msp, ins_kenmerk km WHERE ins_srtgroep_key = 181 AND mp.ins_deel_key = cp.ins_deel_key AND msp.ins_deelsrtcontrole_key = cp.ins_deelsrtcontrole_key AND mp.ins_deel_key = m.ins_deel_key AND msp.ins_kenmerk_key = meterstanden.ins_kenmerk_key AND msp.ins_kenmerk_key = km.ins_kenmerk_key AND km.ins_srtkenmerk_key = 201 --- alleen meterstanden meenemen AND cp.ins_deelsrtcontrole_datum < c.ins_deelsrtcontrole_datum) AS prev_meterstand, ( fac.safe_to_number (meterstanden.ins_kmdeelsrtcontr_waarde) - (SELECT MAX ( fac.safe_to_number (msp.ins_kmdeelsrtcontr_waarde)) FROM ins_v_deel_gegevens mp, ins_deelsrtcontrole cp, ins_kmdeelsrtcontr msp, ins_kenmerk km WHERE ins_srtgroep_key = 181 AND mp.ins_deel_key = cp.ins_deel_key AND msp.ins_deelsrtcontrole_key = cp.ins_deelsrtcontrole_key AND mp.ins_deel_key = m.ins_deel_key AND msp.ins_kenmerk_key = meterstanden.ins_kenmerk_key AND msp.ins_kenmerk_key = km.ins_kenmerk_key AND km.ins_srtkenmerk_key = 201 --- alleen meterstanden meenemen AND cp.ins_deelsrtcontrole_datum < c.ins_deelsrtcontrole_datum)) AS berekend_verbruik, COALESCE ( fac.safe_to_number (verbruik.ins_kmdeelsrtcontr_waarde), ( fac.safe_to_number (meterstanden.ins_kmdeelsrtcontr_waarde) - (SELECT MAX ( fac.safe_to_number ( msp.ins_kmdeelsrtcontr_waarde)) FROM ins_v_deel_gegevens mp, ins_deelsrtcontrole cp, ins_kmdeelsrtcontr msp, ins_kenmerk km WHERE ins_srtgroep_key = 181 AND mp.ins_deel_key = cp.ins_deel_key AND msp.ins_deelsrtcontrole_key = cp.ins_deelsrtcontrole_key AND mp.ins_deel_key = m.ins_deel_key AND msp.ins_kenmerk_key = meterstanden.ins_kenmerk_key AND msp.ins_kenmerk_key = km.ins_kenmerk_key AND km.ins_srtkenmerk_key = 201 --- alleen meterstanden meenemen AND cp.ins_deelsrtcontrole_datum < c.ins_deelsrtcontrole_datum))) AS def_verbruik FROM ins_v_deel_gegevens m, ins_deelsrtcontrole c, (SELECT msp.* FROM ins_kmdeelsrtcontr msp, ins_kenmerk km WHERE msp.ins_kenmerk_key = km.ins_kenmerk_key AND km.ins_srtkenmerk_key = 201) meterstanden, (SELECT msp.* FROM ins_kmdeelsrtcontr msp, ins_kenmerk km WHERE msp.ins_kenmerk_key = km.ins_kenmerk_key AND km.ins_srtkenmerk_key = 202) verbruik WHERE ins_srtgroep_key = 181 AND m.ins_deel_key = c.ins_deel_key AND meterstanden.ins_deelsrtcontrole_key(+) = c.ins_deelsrtcontrole_key AND verbruik.ins_deelsrtcontrole_key(+) = c.ins_deelsrtcontrole_key ORDER BY m.ins_deel_key, c.ins_deelsrtcontrole_datum DESC; CREATE OR REPLACE FORCE VIEW SGGR_V_LICENCECOUNT ( CNT_CONTRACT_KEY, CUST, LICENCED_KEYUSER, LICENCED_FRONTEND ) AS SELECT cnt_contract_key, SUBSTR (cnt_contract_omschrijving, 1, 4) CUST, (SELECT cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract ck WHERE cnt_kenmerk_key = 26 AND cc.cnt_contract_key = ck.cnt_contract_key) licenced_keyuser, (SELECT cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract ck WHERE cnt_kenmerk_key = 27 AND cc.cnt_contract_key = ck.cnt_contract_key) licenced_frontend FROM cnt_contract cc WHERE ins_discipline_key = 481 -- FACILITOR SaaS AND cnt_contract_looptijd_tot > SYSDATE ORDER BY cnt_contract_omschrijving; CREATE OR REPLACE VIEW sggr_v_axi_nrs ( mld_melding_key, axi_nr ) AS SELECT m.mld_melding_key, sd.ins_srtdiscipline_prefix || m.mld_melding_key meldingnummer FROM mld_melding m, mld_stdmelding sm, ins_tab_discipline d, ins_srtdiscipline sd WHERE m.mld_stdmelding_key IN (523, 524) AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND d.ins_discipline_key = sm.mld_ins_discipline_key AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key; CREATE OR REPLACE VIEW SGGR_V_RAP_CONTROLE_LEASEDOC ( auto, leasecontract, leasecontract_van, leasecontract_tot, contractdocument, inzetbevestiging, gebruikersovereenkomst, gebruikersovk_van, gebruikersovk_tot, gebruikersoverenkomst_doc, toekenningsformulier, verklaring_privegebruik ) AS SELECT o.ins_deel_omschrijving auto, lease.ins_discipline_omschrijving || ' ' || lease.cnt_contract_nummer_intern leasecontract, lease.cnt_contract_looptijd_van leasecontract_van, lease.cnt_contract_looptijd_tot leasecontract_tot, lease.contractdocument, lease.inzetbevestiging, gebruikersovk.ins_discipline_omschrijving || ' ' || gebruikersovk.cnt_contract_nummer_intern gebruikersovk, gebruikersovk.cnt_contract_looptijd_van gebruikersovk_van, gebruikersovk.cnt_contract_looptijd_tot gebruikersovk_tot, gebruikersovk.gebruikersovk, gebruikersovk.toekenningsform, gebruikersovk.verkl_privegebruik FROM (SELECT d.ins_discipline_omschrijving, co.cnt_ins_deel_key, c.cnt_contract_nummer_intern, c.cnt_contract_looptijd_van, c.cnt_contract_looptijd_tot, CASE WHEN inzetbevestiging.cnt_kenmerk_key IS NULL THEN 'Niet aanwezig' ELSE inzetbevestiging.cnt_kenmerkcontract_waarde END AS inzetbevestiging, CASE WHEN contractdocument.cnt_kenmerk_key IS NULL THEN 'Niet aanwezig' ELSE contractdocument.cnt_kenmerkcontract_waarde END AS contractdocument FROM cnt_contract c, cnt_contract_object co, ins_tab_discipline d, (SELECT kc.cnt_kenmerkcontract_waarde, sk.cnt_srtkenmerk_omschrijving, kc.cnt_contract_key, kc.cnt_kenmerk_key FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE kc.cnt_kenmerk_key = 761 AND kc.cnt_kenmerkcontract_verwijder IS NULL AND k.cnt_kenmerk_key = kc.cnt_kenmerk_key AND sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key) inzetbevestiging, (SELECT kc.cnt_kenmerkcontract_waarde, sk.cnt_srtkenmerk_omschrijving, kc.cnt_contract_key, kc.cnt_kenmerk_key FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE kc.cnt_kenmerk_key = 721 AND kc.cnt_kenmerkcontract_verwijder IS NULL AND k.cnt_kenmerk_key = kc.cnt_kenmerk_key AND sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key) contractdocument WHERE c.ins_discipline_key = d.ins_discipline_key AND d.ins_discipline_key = 1201 AND c.cnt_contract_verwijder IS NULL AND co.cnt_contract_key = c.cnt_contract_key AND TRUNC (c.cnt_contract_looptijd_tot) >= TRUNC (SYSDATE) AND inzetbevestiging.cnt_contract_key(+) = c.cnt_contract_key AND contractdocument.cnt_contract_key(+) = c.cnt_contract_key) lease, (SELECT d.ins_discipline_omschrijving, co.cnt_ins_deel_key, c.cnt_contract_nummer_intern, c.cnt_contract_looptijd_van, c.cnt_contract_looptijd_tot, CASE WHEN gebruikersovk.cnt_kenmerk_key IS NULL THEN 'Niet aanwezig' ELSE gebruikersovk.cnt_kenmerkcontract_waarde END AS gebruikersovk, CASE WHEN toekenningsform.cnt_kenmerk_key IS NULL THEN 'Niet aanwezig' ELSE toekenningsform.cnt_kenmerkcontract_waarde END AS toekenningsform, CASE WHEN verkl_privegebruik.cnt_kenmerk_key IS NULL THEN 'Niet aanwezig' ELSE verkl_privegebruik.cnt_kenmerkcontract_waarde END AS verkl_privegebruik FROM cnt_contract c, cnt_contract_object co, ins_tab_discipline d, (SELECT kc.cnt_kenmerkcontract_waarde, sk.cnt_srtkenmerk_omschrijving, kc.cnt_contract_key, kc.cnt_kenmerk_key FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE kc.cnt_kenmerk_key = 762 AND kc.cnt_kenmerkcontract_verwijder IS NULL AND k.cnt_kenmerk_key = kc.cnt_kenmerk_key AND sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key) gebruikersovk, (SELECT kc.cnt_kenmerkcontract_waarde, sk.cnt_srtkenmerk_omschrijving, kc.cnt_contract_key, kc.cnt_kenmerk_key FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE kc.cnt_kenmerk_key = 763 AND kc.cnt_kenmerkcontract_verwijder IS NULL AND k.cnt_kenmerk_key = kc.cnt_kenmerk_key AND sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key) toekenningsform, (SELECT kc.cnt_kenmerkcontract_waarde, sk.cnt_srtkenmerk_omschrijving, kc.cnt_contract_key, kc.cnt_kenmerk_key FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE kc.cnt_kenmerk_key = 764 AND kc.cnt_kenmerkcontract_verwijder IS NULL AND k.cnt_kenmerk_key = kc.cnt_kenmerk_key AND sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key) verkl_privegebruik WHERE c.ins_discipline_key = d.ins_discipline_key AND d.ins_discipline_key = 1221 AND c.cnt_contract_verwijder IS NULL AND co.cnt_contract_key = c.cnt_contract_key AND TRUNC (c.cnt_contract_looptijd_tot) >= TRUNC (SYSDATE) AND gebruikersovk.cnt_contract_key(+) = c.cnt_contract_key AND toekenningsform.cnt_contract_key(+) = c.cnt_contract_key AND verkl_privegebruik.cnt_contract_key(+) = c.cnt_contract_key) gebruikersovk, ins_deel o WHERE o.ins_deel_key = lease.cnt_ins_deel_key AND o.ins_deel_key = gebruikersovk.cnt_ins_deel_key; COMMIT; CREATE OR REPLACE VIEW SGGR_V_CAD_CORONA_WPL ( ALG_RUIMTE_KEY, WAARDE ) AS SELECT r.alg_ruimte_key, CASE WHEN deel.res_deel_key IS NOT NULL THEN 'JA' ELSE 'NEE' END werkplek FROM (SELECT r.*, d.ins_alg_ruimte_key FROM res_v_aanwezigdeel r, ins_deel d, ins_srtdeel sd WHERE d.ins_deel_key = r.res_ins_deel_key AND d.ins_alg_ruimte_type = 'R' AND sd.ins_srtdeel_key = d.ins_srtdeel_key AND sd.ins_srtgroep_key = fac.getSetting ('ins_occupationsensors_srtgroep_key')) deel, alg_ruimte r WHERE r.alg_ruimte_key = deel.ins_alg_ruimte_key(+) AND ( deel.res_deel_vervaldatum > SYSDATE OR deel.res_deel_vervaldatum IS NULL); CREATE OR REPLACE VIEW SGGR_V_AFDELINGTEAMS ( TEAM_KEY, AFDELING_TEAM ) AS SELECT t.prs_afdeling_key, p.prs_afdeling_omschrijving || ' - ' || t.prs_afdeling_omschrijving FROM prs_afdeling p, prs_afdeling t WHERE t.prs_afdeling_parentkey = p.prs_afdeling_key; CREATE OR REPLACE VIEW SGGR_V_RAP_OVERZICHT_BROEKHUIS AS SELECT berijder.berijder, contract.cnt_contract_nummer, DECODE (contract.cnt_contract_status, 1, 'actief', 'gesloten') contract_status, contract.cnt_contract_nummer_intern kenteken, auto.merk, auto.fiscale_waarde, auto.bijtelling, contract.cnt_contract_termijnkosten leasebedrag, auto.brandstof_voorschot, contract.cnt_contract_looptijd_van begin_datum, contract.cnt_contract_looptijd_tot eind_datum, contract.restant_looptijd, contract.looptijd, contract.jaarkilometrage FROM (SELECT c.cnt_contract_nummer, c.cnt_contract_key, c.cnt_contract_status, c.cnt_contract_nummer_intern, c.cnt_contract_termijnkosten, c.cnt_contract_looptijd_van, c.cnt_contract_looptijd_tot, ROUND ( MONTHS_BETWEEN (c.cnt_contract_looptijd_tot, TRUNC (SYSDATE))) restant_looptijd, jaarkilometrage.cnt_kenmerkcontract_waarde jaarkilometrage, looptijd.cnt_kenmerkcontract_waarde looptijd FROM cnt_contract c, (SELECT kc.cnt_contract_key, cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract kc WHERE kc.cnt_kenmerk_key = 701 AND cnt_kenmerkcontract_verwijder IS NULL) jaarkilometrage, (SELECT kc.cnt_contract_key, cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract kc WHERE kc.cnt_kenmerk_key = 702 AND cnt_kenmerkcontract_verwijder IS NULL) looptijd, (SELECT kc.cnt_contract_key, cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract kc WHERE kc.cnt_kenmerk_key = 703 AND cnt_kenmerkcontract_verwijder IS NULL) leaseklasse WHERE c.ins_discipline_key = 1201 AND c.cnt_contract_verwijder IS NULL AND c.cnt_contract_key = jaarkilometrage.cnt_contract_key(+) AND c.cnt_contract_key = looptijd.cnt_contract_key(+) AND c.cnt_contract_key = leaseklasse.cnt_contract_key(+)) contract, (SELECT co.cnt_contract_key, co.cnt_ins_deel_key, fiscale_waarde.ins_kenmerkdeel_waarde fiscale_waarde, bijtelling.ins_kenmerkdeel_waarde || '%' bijtelling, merk.ins_kenmerkdeel_waarde || ' ' || type_auto.ins_kenmerkdeel_waarde merk, brandstof_voorschot.ins_kenmerkdeel_waarde brandstof_voorschot FROM cnt_contract_object co, ins_deel o, (SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel kd WHERE kd.ins_kenmerk_key = 301 AND ins_kenmerkdeel_verwijder IS NULL) fiscale_waarde, (SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel kd WHERE kd.ins_kenmerk_key = 302 AND ins_kenmerkdeel_verwijder IS NULL) bijtelling, (SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel kd WHERE kd.ins_kenmerk_key = 305 AND ins_kenmerkdeel_verwijder IS NULL) merk, (SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel kd WHERE kd.ins_kenmerk_key = 306 AND ins_kenmerkdeel_verwijder IS NULL) type_auto, (SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde FROM ins_kenmerkdeel kd WHERE kd.ins_kenmerk_key = 308 AND ins_kenmerkdeel_verwijder IS NULL) brandstof_voorschot WHERE co.cnt_ins_deel_key = o.ins_deel_key AND o.ins_srtdeel_key = 621 AND co.cnt_contract_object_verwijder IS NULL AND o.ins_deel_key = fiscale_waarde.ins_deel_key(+) AND o.ins_deel_key = bijtelling.ins_deel_key(+) AND o.ins_deel_key = merk.ins_deel_key(+) AND o.ins_deel_key = type_auto.ins_deel_key(+) AND o.ins_deel_key = brandstof_voorschot.ins_deel_key(+)) auto, (SELECT co.cnt_ins_deel_key, p.prs_perslid_naam_full berijder FROM cnt_contract c, prs_v_perslid_fullnames_all p, cnt_contract_object co WHERE c.ins_discipline_key = 1221 AND c.cnt_contract_verwijder IS NULL AND c.cnt_contract_status = 1 AND c.cnt_prs_perslid_key = p.prs_perslid_key AND co.cnt_contract_key = c.cnt_contract_key) berijder WHERE contract.cnt_contract_key = auto.cnt_contract_key(+) AND auto.cnt_ins_deel_key = berijder.cnt_ins_deel_key(+); ------ payload end ------ SET DEFINE OFF BEGIN adm.systrackscriptId ( '$Id$', 0); END; / COMMIT; SET ECHO OFF SPOOL OFF SET DEFINE ON PROMPT Logfile of this upgrade is: &fcltlogfile