-- -- $Id$ -- -- Script containing customer specific db-configuration for BLCC. DEFINE thisfile = 'BLCC.SQL' DEFINE dbuser = '^BLCC' 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 ------ -- BLCC#63461: Verwijderen oude accounts (na halfjaar niet ingelogd). CREATE OR REPLACE VIEW blcc_v_rap_oude_accounts ( prs_perslid_key, huurder, afd_code, afd_omschrijving, naam, email, laatste_login, tot_verpl, fin_verpl ) AS SELECT x.prs_perslid_key, DECODE (ab.prs_bedrijf_key, 22, 'J', 'N') huurder, a.prs_afdeling_naam, a.prs_afdeling_omschrijving, pf.prs_perslid_naam_full, x.prs_perslid_email, x.prs_perslid_login, SUM (x.totaal) totaal, SUM (x.financieel) financieel FROM ( SELECT p.prs_perslid_key, p.prs_afdeling_key, p.prs_perslid_email, p.prs_perslid_login, 0 totaal, 0 financieel FROM prs_v_aanwezigperslid p WHERE COALESCE (p.prs_perslid_login, p.prs_perslid_aanmaak) < TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm') -- Halfjaar niet ingelogd! AND NOT EXISTS (SELECT 1 FROM prs_v_verplichting_keys WHERE prs_perslid_key = p.prs_perslid_key) UNION ALL SELECT p.prs_perslid_key, p.prs_afdeling_key, p.prs_perslid_email, p.prs_perslid_login, COUNT ( * ) totaal, 0 financieel FROM prs_v_aanwezigperslid p, prs_v_verplichting_keys tv WHERE COALESCE (p.prs_perslid_login, p.prs_perslid_aanmaak) < TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm') -- Halfjaar niet ingelogd! AND p.prs_perslid_key = tv.prs_perslid_key GROUP BY p.prs_perslid_key, p.prs_afdeling_key, p.prs_perslid_email, p.prs_perslid_login UNION ALL SELECT p.prs_perslid_key, p.prs_afdeling_key, p.prs_perslid_email, p.prs_perslid_login, 0 totaal, COUNT ( * ) financieel FROM prs_v_aanwezigperslid p, (SELECT rrr.res_rsv_ruimte_host_key prs_perslid_key, 'V' soort FROM res_rsv_ruimte rrr WHERE rrr.res_activiteit_key != 130 -- Anders dan Evenement AND rrr.res_rsv_ruimte_dirtlevel = 0 AND EXISTS (SELECT 1 FROM res_v_aanwezigrsv_artikel rra WHERE rra.res_rsv_artikel_verwerkt IS NULL AND rra.res_rsv_artikel_dirtlevel = 0 --AND rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd') AND rra.res_rsv_artikel_levering > TO_DATE ('20210101', 'yyyymmdd') -- Catering uit voorgaande jaren beschouwen als financieel afgehandeld? AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key) UNION ALL SELECT rrr.res_rsv_ruimte_host_key prs_perslid_key, 'E' soort FROM res_v_aanwezigrsv_ruimte rrr WHERE rrr.res_activiteit_key = 130 -- Evenement AND rrr.res_status_bo_key != 6 -- AV AND rrr.res_rsv_ruimte_dirtlevel = 0 --AND rrr.res_rsv_ruimte_van > TO_DATE ('20180501', 'yyyymmdd') AND rrr.res_rsv_ruimte_van > TO_DATE ('20210101', 'yyyymmdd') -- Evenementen uit voorgaande jaren beschouwen als financieel afgehandeld? UNION ALL SELECT m.prs_perslid_key, 'O' soort FROM mld_opdr o, prs_kostenplaats kp, mld_melding m WHERE o.mld_typeopdr_key = 101 -- WO AND o.mld_statusopdr_key NOT IN (1, 2, 7) -- Afgewezen/Niet akkoord/Verwerkt --AND TO_CHAR (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'yyyy-mm-dd') >= '2019-06-01' -- Per 2019-06 nieuwe werkwijze! AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key AND SUBSTR (kp.prs_kostenplaats_upper, 1, 5) = '50900' AND o.mld_melding_key = m.mld_melding_key) fv WHERE COALESCE (p.prs_perslid_login, p.prs_perslid_aanmaak) < TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm') -- Halfjaar niet ingelogd! AND p.prs_perslid_key = fv.prs_perslid_key GROUP BY p.prs_perslid_key, p.prs_afdeling_key, p.prs_perslid_email, p.prs_perslid_login) x, prs_v_perslid_fullnames pf, prs_v_afdeling_boom ab, prs_afdeling a WHERE x.prs_perslid_key = pf.prs_perslid_key AND x.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_afdeling_key = a.prs_afdeling_key GROUP BY x.prs_perslid_key, DECODE (ab.prs_bedrijf_key, 22, 'J', 'N'), a.prs_afdeling_naam, a.prs_afdeling_omschrijving, pf.prs_perslid_naam_full, x.prs_perslid_email, x.prs_perslid_login; CREATE OR REPLACE PACKAGE BLCC IS PROCEDURE mld_after_insert (p_melding_key IN NUMBER); PROCEDURE freezeopdrachten (p_kpn IN VARCHAR2); --PROCEDURE anonimiseer; END; / CREATE OR REPLACE PACKAGE BODY BLCC IS -- Procedure om bij aanmaken van de melding te kijken of er al een oudere -- melding is met dezelfde externe referentie (zonder volgnummer). PROCEDURE mld_after_insert (p_melding_key IN NUMBER) AS v_melding_key NUMBER; BEGIN SELECT (SELECT MIN (m2.mld_melding_key) FROM mld_melding m2 WHERE SUBSTR (m2.mld_melding_externnr, 1, INSTR (m2.mld_melding_externnr, '/')) = SUBSTR (m1.mld_melding_externnr, 1, INSTR (m1.mld_melding_externnr, '/')) AND m1.mld_melding_key > m2.mld_melding_key) refe INTO v_melding_key FROM mld_melding m1 WHERE m1.mld_melding_externnr IS NOT NULL AND m1.mld_melding_status = 2 AND m1.mld_melding_key = p_melding_key; IF v_melding_key IS NOT NULL THEN DBMS_OUTPUT.put_line ('Melding update ' || p_melding_key || '-' || v_melding_key); UPDATE mld_melding SET mld_melding_omschrijving = 'Startmelding met zelfde extern nummer: melding ' || v_melding_key || CHR (13) || CHR (10) || SUBSTR (mld_melding_omschrijving, 1, 3920) WHERE mld_melding_key = p_melding_key AND COALESCE (mld_melding_opmerking, 'QueQeLeQue') NOT LIKE 'Startmelding met zelfde extern nummer: melding %' AND COALESCE (mld_melding_omschrijving, 'QueQeLeQue') NOT LIKE 'Startmelding met zelfde extern nummer: melding %'; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN; END; PROCEDURE freezeopdrachten (p_kpn IN VARCHAR2) AS -- Cursor loopt over alle opdrachten op Kostenplaats 'p_kpn' die zijn -- afgerond; deze worden verwerkt en vannacht doorgezet naar ProQuro! CURSOR c1 IS SELECT mld_opdr_key FROM mld_opdr o, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE o.mld_typeopdr_key = 101 -- WO AND o.mld_statusopdr_key = 9 -- KV --AND fac.gettrackingdate ('ORDAFR', o.mld_opdr_key) < TRUNC (SYSDATE, 'mm') AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key AND COALESCE (kpg.prs_kostenplaatsgrp_nr, SUBSTR (kp.prs_kostenplaats_nr, 1, 5)) = p_kpn ORDER BY 1; c_applname VARCHAR2 (50) := 'FREEZE_OPDR'; v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_count NUMBER (10); v_count_upd NUMBER (10); v_bedrijf_naam VARCHAR2 (30); BEGIN v_count_upd := 0; v_errormsg := 'Fout bijwerken opdrachtstatus'; -- Opdrachten op Kostenplaats 'p_kpn' verwerken en zodoende markeren om -- vannacht door te zetten via PROQURO-export! FOR rec IN c1 LOOP MLD.setopdrachtstatus (rec.mld_opdr_key, 7, 4); v_count_upd := v_count_upd + 1; COMMIT; END LOOP; fac.writelog (c_applname, 'S', 'Proces: ' || TO_CHAR (v_count_upd) || ' opdrachten bevroren', ''); COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 100); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (c_applname, 'E', v_errormsg, ''); COMMIT; END freezeopdrachten; /* -- Anonimiseer personen die halfjaar niet zijn ingelogd! PROCEDURE prs_anonimiseer AS c_oud_medewerker VARCHAR2 (100) := 'Geanonimiseerd'; v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_datum DATE; v_count_del NUMBER (10); v_count_upd NUMBER (10); v_count NUMBER (10); v_tracking_oms VARCHAR2 (2048); CURSOR c1 IS SELECT '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_naam_full || '|' || p.prs_perslid_email || '] ' aanduiding, p.prs_perslid_key FROM blcc_v_rap_oude_accounts x, prs_perslid p WHERE x.prs_perslid_key = p.prs_perslid_key AND (p.prs_perslid_oslogin IS NULL OR p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\') -- ' tbv. opmaak AND p.prs_perslid_apikey IS NULL -- Voor de zekerheid! AND (p.prs_perslid_verwijder IS NULL OR p.prs_perslid_upper != UPPER (c_oud_medewerker)) ORDER BY 2; BEGIN v_count_upd := 0; FOR rec IN c1 LOOP BEGIN -- Zet niet-financiele verplichtingen over op afgesproken persoon! v_errormsg := 'Fout overzetten verplichtingen'; v_errormsg := 'Fout anonimiseren persoon'; UPDATE prs_perslid SET prs_perslid_naam = c_oud_medewerker, prs_perslid_tussenvoegsel = NULL, prs_perslid_voorletters = NULL, prs_perslid_voornaam = NULL, prs_perslid_initialen = NULL, prs_perslid_geslacht = NULL, prs_perslid_nr = NULL, prs_perslid_telefoonnr = NULL, prs_perslid_mobiel = NULL, prs_perslid_email = NULL, prs_perslid_oslogin = NULL, prs_perslid_oslogin2 = NULL, prs_perslid_verwijder = SYSDATE WHERE prs_perslid_key = rec.prs_perslid_key; v_count_upd := v_count_upd + 1; IF MOD (v_count_upd, 1000) = 0 THEN COMMIT; END IF; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog ('BLCC_ANONIMISEER', 'W', rec.aanduiding || v_errormsg, ''); COMMIT; END; END LOOP; fac.writelog ('BLCC_ANONIMISEER', 'S', 'Personen/#geanonimiseerd: ' || TO_CHAR (v_count_upd), ''); COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 100); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (c_applname, 'E', v_errormsg, ''); COMMIT; END prs_anonimiseer; /* -- Wis afgesproken tracking als p_incl_tracking=TRUE! IF p_incl_tracking THEN v_datum := TO_DATE ('31122099', 'ddmmyyyy'); ELSE v_datum := SYSDATE; END IF; v_errormsg := 'Fout anonimiseren mail-tracking'; v_count_upd := 0; v_tracking_oms := ''; FOR rec IN c2 (v_datum) LOOP BEGIN v_count := 0; v_tracking_oms := rec.fac_tracking_oms; WHILE v_count < rec.aant_email LOOP v_tracking_oms := SUBSTR (v_tracking_oms, 1, INSTR (SUBSTR (v_tracking_oms, 1, INSTR (v_tracking_oms, '@')), ' ', -1)) || SUBSTR (v_tracking_oms, INSTR (v_tracking_oms, '@') + 1); v_count := v_count + 1; END LOOP; UPDATE fac_tracking SET fac_tracking_oms = v_tracking_oms WHERE fac_tracking_key = rec.fac_tracking_key; v_count_upd := v_count_upd + 1; IF MOD (v_count_upd, 1000) = 0 THEN COMMIT; END IF; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog ('DJIN_ANONIMISEER', 'W', v_errormsg, ''); COMMIT; END; END LOOP; fac.writelog ('DJIN_ANONIMISEER', 'S', 'Trackregels/#geanonimiseerd: ' || TO_CHAR (v_count_upd), ''); COMMIT; END; BEGIN -- Anonimiseer medewerkers+trackregels. In Productie beide na 1 jaar en bij -- anonimisering tbv. Test-omgevingen (als p_incl_tracking=TRUE) dan alleen -- de tracking soms per direct (en toekomstig)! prs_anonimiseer (); -- Bij anonimisering tbv. Test-omgevingen (als p_incl_nodelays=TRUE) altijd -- uitvoeren! v_errormsg := 'Fout anonimiseren p_incl_nodelays=TRUE'; IF p_incl_nodelays THEN -- FCLT#56224: Leeg buffer-tabel, daarin vaak ook persoonsgegevens, etc.! DELETE FROM fac_imp_file; -- Wis naam- en telefoon-velden van medewerkers! UPDATE prs_perslid SET prs_perslid_naam = '[Geanonimiseerd]', prs_perslid_tussenvoegsel = NULL, prs_perslid_voorletters = NULL, prs_perslid_voornaam = NULL, prs_perslid_telefoonnr = NULL, prs_perslid_mobiel = NULL WHERE (prs_perslid_verwijder IS NULL OR prs_perslid_upper != UPPER (c_oud_medewerker)); COMMIT; END IF; -- Wis email- en oslogin-velden van medewerkers als p_incl_oslogins=TRUE -- behalve van de gebruikers in '_Admin'-groepen (alleen bij anonimisering -- tbv. Test-omgevingen)! v_errormsg := 'Fout anonimiseren p_incl_oslogins=TRUE'; IF p_incl_oslogins THEN UPDATE prs_perslid p SET p.prs_perslid_email = NULL, p.prs_perslid_oslogin = NULL, p.prs_perslid_oslogin2 = NULL WHERE NOT EXISTS (SELECT 1 FROM fac_groep g, fac_gebruikersgroep gg WHERE g.fac_groep_upper LIKE '_ADMIN%' AND g.fac_groep_key = gg.fac_groep_key AND gg.prs_perslid_key = p.prs_perslid_key); COMMIT; END IF; -- *** BEGIN:Wis specifieke andere zaken na afgesproken termijn of direct! -- In Productie na de afgesproken termijn en alleen bij anonimisering tbv. -- Test-omgevingen (als p_incl_nodelays=TRUE) per direct (en toekomstig)! IF p_incl_nodelays THEN v_datum := TO_DATE ('31122099', 'ddmmyyyy'); ELSE v_datum := SYSDATE; END IF; v_errormsg := 'Fout anonimiseren BEZ/Afspraken'; v_count_del := 0; FOR rec IN c_afspraak (v_datum) LOOP -- Delete alle kenmerkwaarden van bezoekers bij te verwijderen afspraken. DELETE FROM bez_kenmerkwaarde kw WHERE EXISTS (SELECT 1 FROM bez_bezoekers WHERE bez_bezoekers_key = kw.bez_bezoekers_key AND bez_afspraak_key = rec.bez_afspraak_key); -- Delete alle bezoekers-tracking bij te verwijderen afspraken. DELETE FROM fac_tracking t WHERE t.fac_srtnotificatie_key IN (28, 29, 30, 31, 32) -- BEZBAD/BEZDON/BEZDO2/BEZOUT/BEZOU2 AND EXISTS (SELECT 1 FROM bez_bezoekers WHERE bez_bezoekers_key = t.fac_tracking_refkey AND bez_afspraak_key = rec.bez_afspraak_key); -- Delete alle bezoekers bij te verwijderen afspraken. DELETE FROM bez_bezoekers WHERE bez_afspraak_key = rec.bez_afspraak_key; -- Delete alle afspraak-tracking bij te verwijderen afspraken. DELETE FROM fac_tracking WHERE fac_srtnotificatie_key IN (26, 27, 128) -- BEZMUT/BEZUPD/BEZMAI AND fac_tracking_refkey = rec.bez_afspraak_key; -- Delete alle te verwijderen afspraken. DELETE FROM bez_afspraak WHERE bez_afspraak_key = rec.bez_afspraak_key; v_count_del := v_count_del + 1; --fac.trackaction ('#BEZUPD', rec.bez_afspraak_key, NULL, v_nu, v_txt_anoniem); END LOOP; fac.writelog ('DJIN_ANONIMISEER', 'S', 'Afspraken/#verwijderd: ' || TO_CHAR (v_count_del), ''); COMMIT; -- Delete bezorgadressen van 'Aanvraag bloemen/boeketten'-meldingen 1 maand -- na leverdatum. v_errormsg := 'Fout anonimiseren MLD/Bezorgadressen'; v_count_del := 0; FOR rec IN c_bezorgadres (v_datum) LOOP DELETE FROM mld_kenmerkmelding WHERE mld_kenmerkmelding_key = rec.mld_kenmerkmelding_key; v_count_del := v_count_del + 1; --fac.trackaction ('#MLDUPD', rec.mld_melding_key, NULL, v_nu, v_txt_anoniem); END LOOP; fac.writelog ('DJIN_ANONIMISEER', 'S', 'Bezorgadressen/#verwijderd: ' || TO_CHAR (v_count_del), ''); COMMIT; -- Delete de kenmerkwaarden met keys 41=Kenteken en 42=Telefoonnummer van -- reserveringen 1 maand nadat de reservering is geweest. v_count_del := 0; v_errormsg := 'Fout anonimiseren RES/Parkeerkenmerken'; FOR rec IN c_res_parking (v_datum) LOOP DELETE FROM res_kenmerkwaarde WHERE res_kenmerkwaarde_key = rec.res_kenmerkwaarde_key; v_count_del := v_count_del + 1; --fac.trackaction ('#RESUPD', rec.res_rsv_ruimte_key, NULL, v_nu, v_txt_anoniem); END LOOP; fac.writelog ('DJIN_ANONIMISEER', 'S', 'Parkeerkenmerken/#verwijderd: ' || TO_CHAR (v_count_del), ''); COMMIT; -- DJIN#62384: Schonen Telehoren-kenmerkwaarden én bijlagen! v_count_del := 0; v_errormsg := 'Fout anonimiseren RES/Telehorenkenmerken'; FOR rec IN c_res_telehoren (v_datum) LOOP IF rec.verwijderen_type = 'M' THEN flx.deleteflexbijlage (rec.verwijderen_key); ELSE -- rec.verwijderen_type = 'K' DELETE FROM res_kenmerkwaarde WHERE res_kenmerkwaarde_key = rec.verwijderen_key; END IF; v_count_del := v_count_del + 1; --fac.trackaction ('#RESUPD', rec.res_rsv_ruimte_key, NULL, v_nu, v_txt_anoniem); END LOOP; fac.writelog ('DJIN_ANONIMISEER', 'S', 'Telehorenkenmerken/#verwijderd: ' || TO_CHAR (v_count_del), ''); COMMIT; -- *** EINDE:Wis specifieke andere zaken na afgesproken termijn of direct! 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.writelog ('DJIN_ANONIMISEER', 'E', 'Proces afgebroken!', v_errormsg); END djin_anonimiseer; */ END; / CREATE OR REPLACE VIEW blcc_v_rap_import_log ( fclt_f_applicatie, datum, fclt_f_status, omschrijving, hint ) AS SELECT COALESCE (fac_import_app_code, imp_log_applicatie), TO_CHAR (imp_log_datum, 'dd-mm-yyyy hh24:mi'), imp_log_status, imp_log_omschrijving, imp_log_hint FROM imp_log il1, fac_import fi1, fac_import_app fia1 WHERE il1.fac_import_key = fi1.fac_import_key(+) AND fi1.fac_import_app_key = fia1.fac_import_app_key(+) AND NOT EXISTS (SELECT 1 FROM imp_log il2, fac_import fi2 WHERE il2.fac_import_key = fi2.fac_import_key AND fi2.fac_import_app_key = fi1.fac_import_app_key AND il2.fac_import_key > il1.fac_import_key); -- TODO: Tbv. BSSC, dus ontmantelen voor BLCC! /* Formatted on 29-6-2016 18:42:24 (QP5 v5.136.908.31019) */ CREATE OR REPLACE PROCEDURE blcc_import_perslid (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 ' || TO_CHAR (p_import_key); -- Afdelingscode-kolom hard op 'XxX' indien leeg (want verplicht)! UPDATE fac_imp_file SET fac_imp_file_line = SUBSTR (fac_imp_file_line, 1, INSTR (fac_imp_file_line, ';', 1, 2)) || 'XxX' || SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 3)) WHERE fac_import_key = p_import_key AND fac_imp_file_index > 1 AND SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 2) + 1, INSTR (fac_imp_file_line, ';', 1, 3) - INSTR (fac_imp_file_line, ';', 1, 2) - 1) IS NULL; COMMIT; -- Functie-kolom negeren en hard op 'Medewerker' (want verplicht)! UPDATE fac_imp_file i SET fac_imp_file_line = SUBSTR (fac_imp_file_line, 1, INSTR (fac_imp_file_line, ';', 1, 10)) || 'Medewerker' || SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 11)) WHERE fac_import_key = p_import_key AND fac_imp_file_index > 1; COMMIT; -- De sequence array staat beschreven in PRS_PAC.SRC bij de import_perslid-PROCEDURE. prs.import_perslid ( p_import_key, '0;0;0;0;0;0;3;4;5;6;' || '0;0;0;0;10;7;8;9;0;0;' || '11;1;2;0;0;0;12;13;14;15;' || '16;17;18;0;0;0;0;0;0;0;' || '0;0;0;0;0;0', 'Loginnaam;Wachtwoord;Afdelingscode;Achternaam;Tussenvoegsel;Voornaam;Telefoon;Mobiel;Email;Geslacht;Functie;Taal;SSC FOBO;SSC Digireceptiemedewerker;SSC Huurderadministrator%'); -- Klantspecifieke aanpassingen. 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 blcc_import_perslid; / -- TODO: Tbv. BSSC, dus ontmantelen voor BLCC! /* Formatted on 30-6-2016 12:30:30 (QP5 v5.136.908.31019) */ CREATE OR REPLACE PROCEDURE blcc_update_perslid (p_import_key IN NUMBER) AS -- Verwijderen personen niet in import voor afdelingen wel in import! CURSOR c_del IS SELECT p.prs_perslid_key FROM prs_v_aanwezigperslid p, prs_afdeling a 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 p.prs_afdeling_key = a.prs_afdeling_key AND EXISTS (SELECT 1 FROM fac_imp_perslid i WHERE UPPER (i.prs_afdeling_naam) = a.prs_afdeling_upper) AND NOT EXISTS (SELECT 1 FROM fac_imp_perslid i WHERE UPPER (i.prs_perslid_oslogin) = UPPER (p.prs_perslid_oslogin)) ORDER BY 1; -- Bijwerken werkplek van personen naar '_' (als nog geen werkplek)! CURSOR c_wp IS SELECT p.prs_perslid_key FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i WHERE p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam) AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin) AND NOT EXISTS (SELECT 1 FROM prs_perslidwerkplek pw WHERE pw.prs_perslid_key = p.prs_perslid_key) ORDER BY 1; -- Bijwerken language van personen naar 'EN' (volgens importbestand)! CURSOR c_lang IS SELECT p.prs_perslid_key, DECODE (i.prs_kenmerk1, 'EN', 'EN', 'NL') lang FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i WHERE p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam) AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin) ORDER BY 1; -- Bijwerken autorisatiegroepen van personen (volgens importbestand)! CURSOR c_rol ( p_ssc_fobo_key IN NUMBER, p_ssc_dmedew_key IN NUMBER, p_ssc_hadmin_key IN NUMBER) IS SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk2), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_fobo_key fac_groep_key FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i WHERE p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam) AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin) UNION ALL SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk3), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_dmedew_key fac_groep_key FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i WHERE p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam) AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin) UNION ALL SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk4), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_hadmin_key fac_groep_key FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i WHERE p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam) AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin) UNION ALL -- Afnemen _Default SELECT p.prs_perslid_key, 0 aanuit, 1 fac_groep_key -- _Default FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i WHERE p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam) AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin) UNION ALL -- Toewijzen SSC FE (LABS-key=241 en PROD-key=321) SELECT p.prs_perslid_key, 1 aanuit, 321 fac_groep_key -- SSC FE FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i WHERE p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam) AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin) ORDER BY 1, 3; c_ruimte_key NUMBER := 2204; -- Fictieve ruimte op SSCH-locatie (LABS-key=2243 en PROD-key=2204) c_ssc_fobo_key NUMBER := 341; -- SSC FOBO (LABS-key=241 en PROD-key=341) c_ssc_dmedew_key NUMBER := 361; -- SSC Digireceptiemedewerker c_ssc_hadmin_key NUMBER := 362; -- SSC Huurderadministrator v_bedrijf_key NUMBER (10) := -1; v_afdeling_naam VARCHAR2 (15) := ''; BEGIN -- Als import door Huurderadministrator, dan Afdelingscode-kolom negeren en hard op Afdeling-1 van Huurderadministrator! SELECT ab.prs_bedrijf_key, a.prs_afdeling_naam INTO v_bedrijf_key, v_afdeling_naam FROM fac_import i, prs_v_aanwezigperslid p, prs_afdeling a, prs_v_afdeling_boom ab WHERE i.fac_import_key = p_import_key AND i.prs_perslid_key = p.prs_perslid_key AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_key = ab.prs_afdeling_key; IF v_bedrijf_key IN (1981, 2442) -- LABS-key+PROD-key van Huurders SSC-bedrijf;TODO: LABS-key nog een keer verwijderen! THEN -- Import door Huurderadministrator! UPDATE fac_imp_perslid SET prs_afdeling_naam = v_afdeling_naam; ELSE -- Import door andere administrator! UPDATE fac_imp_perslid SET prs_afdeling_naam = NULL WHERE prs_afdeling_naam = 'XxX'; END IF; COMMIT; -- Generieke update. prs.update_perslid (p_import_key, 'LOGIN', NULL); -- Verwijderen personen niet in import voor afdelingen wel in import! FOR rec IN c_del LOOP prs.delete_perslid (p_import_key, rec.prs_perslid_key); END LOOP; COMMIT; -- Toekennen fictieve werkplek op SSCH-locatie (voor wie daar nog niet een -- werkplek heeft)! -- Bijwerken werkplek van personen naar '_' (als nog geen werkplek)! FOR rec IN c_wp LOOP prs.movetoruimte (rec.prs_perslid_key, c_ruimte_key, NULL); END LOOP; COMMIT; -- Bijwerken language van personen naar 'EN' (volgens importbestand)! FOR rec IN c_lang LOOP UPDATE prs_perslid SET prs_perslid_lang = rec.lang WHERE prs_perslid_key = rec.prs_perslid_key; END LOOP; COMMIT; -- Bijwerken autorisatiegroepen van personen (volgens importbestand)! FOR rec IN c_rol (c_ssc_fobo_key, c_ssc_dmedew_key, c_ssc_hadmin_key) LOOP IF rec.aanuit = 1 THEN INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key) SELECT rec.fac_groep_key, rec.prs_perslid_key FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM fac_gebruikersgroep WHERE fac_groep_key = rec.fac_groep_key AND prs_perslid_key = rec.prs_perslid_key); ELSE DELETE FROM fac_gebruikersgroep WHERE fac_groep_key = rec.fac_groep_key AND prs_perslid_key = rec.prs_perslid_key; END IF; END LOOP; END blcc_update_perslid; / -- BLCC#38235: Import vanuit Strukton /* Formatted on 22-5-2015 11:52:44 (QP5 v5.136.908.31019) */ CREATE OR REPLACE PROCEDURE blcc_import_opdrstat_strukton (p_import_key IN NUMBER) AS c_delim VARCHAR2 (1) := ';'; v_newline VARCHAR2 (4000); -- Input line v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_aanduiding VARCHAR2 (1000) := ''; header_is_valid NUMBER := 0; v_count_tot NUMBER (10) := 0; v_count_imp NUMBER (10) := 0; v_ongeldig NUMBER (1) := 0; -- De importvelden v_mld_opdr_key_tekst VARCHAR2 (100); v_mld_opdr_key NUMBER (10); v_mld_opdr_opmerking VARCHAR2 (4000); v_extern_nummer VARCHAR2 (100); v_status_code VARCHAR2 (100); v_status NUMBER (10); v_datumtijd_tekst VARCHAR2 (100); v_datumtijd DATE; v_status_tekst VARCHAR2 (100); v_opmerking VARCHAR2 (4000); -- Overige velden: CURSOR c1 IS SELECT * FROM fac_imp_file WHERE fac_import_key = p_import_key ORDER BY fac_imp_file_index; BEGIN -- Eerst opruiming DELETE FROM blcc_imp_opdrstat_strukton; COMMIT; FOR rec1 IN c1 LOOP BEGIN v_newline := rec1.fac_imp_file_line; v_errormsg := 'Fout opvragen importregel'; v_aanduiding := ''; v_ongeldig := 0; -- Lees alle veldwaarden fac.imp_getfield (v_newline, c_delim, v_mld_opdr_key_tekst); fac.imp_getfield (v_newline, c_delim, v_extern_nummer); fac.imp_getfield (v_newline, c_delim, v_status_code); -- typeID fac.imp_getfield (v_newline, c_delim, v_datumtijd_tekst); fac.imp_getfield (v_newline, c_delim, v_status_tekst); fac.imp_getfield (v_newline, c_delim, v_opmerking); v_opmerking := SUBSTR (v_opmerking, 1, 1000); -- Verwijder de markering voor cr/lf die in stylesheet is toegevoegd. v_opmerking := REPLACE (v_opmerking, '@@', CHR (13)); v_aanduiding := '[' || v_mld_opdr_key_tekst || '|' || v_extern_nummer || '|' || v_status_code || '|' || v_datumtijd_tekst || '|' || v_status_tekst || '] '; -- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen -- de juiste kolomkop. Ik controleer daarbij ALLE kolommen! -- Ik negeer alles totdat ik een geldige header ben gepasseerd. IF header_is_valid = 0 THEN IF UPPER (TRIM (v_mld_opdr_key_tekst)) = 'REFERENCEID' AND UPPER (TRIM (v_extern_nummer)) = 'SERVICEREQUESTID' AND UPPER (TRIM (v_status_code)) = 'TYPEID' AND UPPER (TRIM (v_datumtijd_tekst)) = 'DATETIME' AND UPPER (TRIM (v_opmerking)) = 'REMARKS' THEN header_is_valid := 1; END IF; ELSE v_count_tot := v_count_tot + 1; -- Controleer alle veldwaarden v_errormsg := 'Fout bepalen opdracht'; v_mld_opdr_key := TRIM (v_mld_opdr_key); BEGIN SELECT o.mld_opdr_key, o.mld_opdr_opmerking INTO v_mld_opdr_key, v_mld_opdr_opmerking FROM mld_opdr o, mld_melding m, mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd WHERE o.mld_melding_key = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND sd.ins_srtdiscipline_prefix || m.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr = v_mld_opdr_key_tekst; EXCEPTION WHEN OTHERS THEN v_ongeldig := 1; oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_import_key, 'W', v_aanduiding || v_errormsg, ''); END; IF v_ongeldig = 0 THEN v_errormsg := 'Fout bepalen status'; CASE WHEN v_status_code = '5' THEN v_status := 5; -- uitgegeven WHEN v_status_code = '10' THEN v_status := 8; -- geaccepteerd WHEN v_status_code = '20' -- monteur gereed THEN v_status := 6; -- afgemeld WHEN v_status_code = '25' -- specialist gereed THEN v_status := 6; -- afgemeld WHEN v_status_code = '30' -- technisch gereed THEN v_status := 6; -- afgemeld -- For future use --WHEN v_status_code = '40' -- uitgeprijst --THEN -- v_status := 6; -- afgemeld WHEN v_status_code = '70' THEN v_status := 1; -- geannuleerd WHEN v_status_code = '80' THEN v_status := 1; -- afgewezen ELSE v_status := NULL; v_ongeldig := 1; -- nog te bezien END CASE; END IF; IF v_ongeldig = 0 THEN v_errormsg := 'Fout converteren datumtijd'; IF INSTR (v_datumtijd_tekst, '.') > 0 THEN v_datumtijd := fac.safe_to_date ( REPLACE ( SUBSTR (v_datumtijd_tekst, 1, INSTR (v_datumtijd_tekst, '.') - 1), 'T', ' '), 'yyyy-mm-dd hh24:mi:ss'); ELSE v_datumtijd := fac.safe_to_date (v_datumtijd_tekst, 'yyyy-mm-dd hh24:mi:ss'); END IF; END IF; IF v_ongeldig = 0 THEN v_errormsg := 'Fout aanvullen opmerking'; -- controleer of de opmerking niet leeg is en of dezelfde opmerking al bij een eerdere statusovergang -- gemeld is. IF v_opmerking IS NOT NULL AND INSTR (v_mld_opdr_opmerking, v_opmerking) = 0 THEN v_opmerking := '[' || v_datumtijd_tekst || '] - ' || v_status_tekst || CHR (13) || CHR (10) || v_opmerking; ELSE v_opmerking := '[' || v_datumtijd_tekst || '] - ' || v_status_tekst; END IF; END IF; -- Insert geformatteerde import record IF v_ongeldig = 0 THEN BEGIN v_errormsg := 'Fout wegschrijven statusbericht'; INSERT INTO blcc_imp_opdrstat_strukton (mld_opdr_key, extern_nummer, status, datumtijd, opmerking) VALUES (v_mld_opdr_key, v_extern_nummer, v_status, v_datumtijd, v_opmerking); v_count_imp := v_count_imp + 1; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, ''); END; ELSE IF v_status_code <> '40' AND v_status_code <> '45' THEN fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, ''); END IF; END IF; END IF; END; END LOOP; IF header_is_valid = 0 THEN fac.imp_writelog (p_import_key, 'E', 'Ongeldig importbestand', 'Geen header of header niet volgens specificatie!'); ELSE fac.imp_writelog ( p_import_key, 'S', 'Inleesproces/#ingelezen statusberichten: ' || TO_CHAR (v_count_tot), ''); fac.imp_writelog ( p_import_key, 'S', 'Inleesproces/#ongeldige niet ingelezen statusberichten: ' || TO_CHAR (v_count_tot - v_count_imp), ''); END IF; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Inleesproces statusberichten afgebroken!'); END; / CREATE OR REPLACE PROCEDURE blcc_update_opdrstat_strukton (p_import_key IN NUMBER) AS -- Cursor loopt - in volgorde! - over alle ingelezen statusberichten. CURSOR c1 IS SELECT mld_opdr_key, extern_nummer, datumtijd, status, opmerking FROM blcc_imp_opdrstat_strukton ORDER BY 1, 3; c_user_key NUMBER (10) := 5; -- _STRUKTON-user c_refnr_srtkkey NUMBER (10) := 261; -- Refnr. Leverancier v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_aanduiding VARCHAR2 (200); v_count_tot NUMBER (10) := 0; v_count NUMBER (10) := 0; v_mld_key NUMBER (10) := 0; v_opdr_key NUMBER (10) := 0; v_opdr_status NUMBER (10) := 0; v_mld_typeopdr_key NUMBER (10); v_mld_kenmerk_key NUMBER (10); v_mld_kenmerkopdr_key NUMBER (10); BEGIN -- Loop over alle ingelezen Strukton-statusberichten. FOR rec IN c1 LOOP BEGIN v_aanduiding := '[' || rec.mld_opdr_key || '|' || SUBSTR (rec.opmerking, 1, 100) || '] '; v_count_tot := v_count_tot + 1; -- Key van melding/opdracht bepalen en Refnr. bij opdracht opslaan. IF rec.mld_opdr_key IS NOT NULL THEN v_errormsg := 'Fout bepalen opdracht'; SELECT mld_melding_key, mld_opdr_key, mld_statusopdr_key, mld_typeopdr_key INTO v_mld_key, v_opdr_key, v_opdr_status, v_mld_typeopdr_key FROM mld_opdr WHERE mld_opdr_key = rec.mld_opdr_key; v_errormsg := 'Fout bepalen Refnr-kenmerk'; SELECT k.mld_kenmerk_key INTO v_mld_kenmerk_key FROM mld_kenmerk k WHERE k.mld_srtkenmerk_key = c_refnr_srtkkey AND k.mld_typeopdr_key = v_mld_typeopdr_key; v_errormsg := 'Fout bepalen Refnr-kenmerkopdracht'; SELECT MAX (ko.mld_kenmerkopdr_key) INTO v_mld_kenmerkopdr_key FROM mld_kenmerkopdr ko WHERE ko.mld_opdr_key = v_opdr_key AND v_mld_kenmerk_key = ko.mld_kenmerk_key; IF v_mld_kenmerkopdr_key IS NULL THEN -- Kenmerk toevoegen v_errormsg := 'Fout toevoegen Refnr-kenmerkopdracht'; INSERT INTO mld_kenmerkopdr (mld_kenmerk_key, mld_opdr_key, mld_kenmerkopdr_waarde) VALUES (v_mld_kenmerk_key, v_opdr_key, rec.extern_nummer); ELSE -- Kenmerk bijwerken v_errormsg := 'Fout bijwerken Refnr-kenmerkopdracht'; UPDATE mld_kenmerkopdr SET mld_kenmerkopdr_waarde = rec.extern_nummer WHERE mld_kenmerkopdr_key = v_mld_kenmerkopdr_key; END IF; v_errormsg := 'Fout bijwerken Opmerking (opdracht)'; v_count := LENGTH (rec.opmerking) + 5; -- Beetje speling qua lengte! UPDATE mld_opdr SET mld_opdr_opmerking = DECODE ( mld_opdr_opmerking, NULL, rec.opmerking, rec.opmerking || CHR (13) || CHR (10) || SUBSTR (mld_opdr_opmerking, 1, (4000 - v_count))) WHERE mld_opdr_key = v_opdr_key; v_errormsg := 'Fout bijwerken Status'; IF v_opdr_status <> rec.status THEN IF rec.status = 8 AND v_opdr_status = 5 THEN -- Accepteer opdracht als de opdracht uitgegeven was MLD.setopdrachtstatus (v_opdr_key, 8, c_user_key); -- Strukton ELSIF rec.status = 6 AND v_opdr_status = 5 THEN -- Meld de opdracht af als deze uitgegeven was MLD.setopdrachtstatus (v_opdr_key, 8, c_user_key); -- Strukton, eerst accepteren MLD.setopdrachtstatus (v_opdr_key, 6, c_user_key); -- Strukton ELSIF rec.status = 6 AND v_opdr_status = 8 THEN -- Meld de opdracht af als deze geaccepteerd was MLD.setopdrachtstatus (v_opdr_key, 6, c_user_key); -- Strukton ELSIF rec.status = 1 AND v_opdr_status IN (5, 8) THEN -- Wijs de opdracht af als deze niet/wel geaccepteerd was MLD.setopdrachtstatus (v_opdr_key, 1, c_user_key); -- Strukton MLD.updatemeldingstatusAV (v_mld_key, 0, c_user_key, 0); END IF; IF rec.status = 6 AND v_opdr_status <> 6 THEN v_errormsg := 'Fout bijwerken Opmerking (melding)'; UPDATE mld_melding m SET mld_melding_opmerking = DECODE ( mld_melding_opmerking, NULL, rec.opmerking, rec.opmerking || CHR (13) || CHR (10) || SUBSTR (mld_melding_opmerking, 1, (4000 - v_count))) WHERE mld_melding_key = v_mld_key AND mld_melding_status IN (4, 7) AND NOT EXISTS ( -- Afhandeling in melding niet aanpassen voor projecten SELECT sm.mld_stdmelding_key FROM mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND sd.ins_srtdiscipline_prefix = 'QQQ'); v_errormsg := 'Fout sluiten melding'; SELECT COUNT ( * ) INTO v_count FROM (SELECT m.mld_melding_key, (SELECT COUNT ( * ) FROM mld_opdr o WHERE mld_melding_key = m.mld_melding_key) aanw_opdr, (SELECT COUNT ( * ) FROM mld_opdr o WHERE mld_melding_key = m.mld_melding_key AND o.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9)) open_opdr FROM mld_melding m WHERE m.mld_melding_key = v_mld_key AND m.mld_melding_status IN (4, 7)) niet_opgelost WHERE aanw_opdr > 0 AND open_opdr = 0; -- Sinds AADO#30922 wordt de melding niet meer automatisch afgemeld. MLD.updatemeldingstatusAV (v_mld_key, 0, c_user_key, 0); END IF; END IF; END IF; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Statusbericht-loop'); END; END LOOP; COMMIT; END; / -- BLCC#55646: De Afgemelde Kostenraming-opdrachten <= Mandaat van Leverancier -- automatisch Afronden=Goedkeuren én aanmaken Workorder. CREATE OR REPLACE PROCEDURE blcc_select_raming2wo (p_applname IN VARCHAR2, p_applrun IN VARCHAR2) AS CURSOR c1 IS SELECT '[' || TO_CHAR (o.mld_melding_key) || '|' || TO_CHAR (o.mld_opdr_key) || '] ' aanduiding, o.mld_melding_key, o.mld_opdr_key, o.mld_uitvoerende_keys, o.prs_contactpersoon_key, o.mld_opdr_omschrijving, o.prs_kostenplaats_key, o.mld_opdr_kosten FROM mld_opdr o, prs_bedrijf b, prs_v_aanwezigkenmerklink kl WHERE o.mld_typeopdr_key = 1261 -- Kostenraming AND o.mld_statusopdr_key = 6 -- Afgemeld AND o.mld_uitvoerende_keys = b.prs_bedrijf_key AND b.prs_bedrijf_key = kl.prs_link_key AND kl.prs_kenmerklink_niveau = 'B' AND kl.prs_kenmerk_key = 1140 -- Mandaat AND o.mld_opdr_kosten <= fac.safe_to_number (kl.prs_kenmerklink_waarde) AND NOT EXISTS -- Geen andere lopende Kostenraming! (SELECT 1 FROM mld_opdr WHERE mld_melding_key = o.mld_melding_key AND mld_opdr_key != o.mld_opdr_key AND mld_typeopdr_key = 1261 -- Kostenraming AND mld_statusopdr_key IN (3, 4, 5, 6, 8, 10)) ORDER BY 1; v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_opdr_dagen NUMBER (3); v_kostenplaats_nr VARCHAR2 (30); v_budgethouder_key NUMBER (10); v_opdr_key NUMBER (10); v_srtnoti_oms VARCHAR2 (4000); v_count_tot NUMBER (10) := 0; v_count_upd NUMBER (10) := 0; BEGIN -- Eerst opruiming DELETE FROM imp_log WHERE imp_log_applicatie = p_applname AND imp_log_datum < TRUNC (SYSDATE - 7, 'iw'); FOR rec IN c1 LOOP BEGIN v_count_tot := v_count_tot + 1; v_errormsg := 'Fout afronden Kostenraming'; MLD.setopdrachtstatus (rec.mld_opdr_key, 9, 4); -- Afronden MLD.updatemeldingstatus (rec.mld_melding_key, 0, 4); v_errormsg := 'Fout bepalen uitvoertijd'; SELECT sm.mld_stdmelding_t_uitvoertijd.tijdsduur INTO v_opdr_dagen FROM mld_melding m, mld_stdmelding sm, ins_tab_discipline td, mld_disc_params dp WHERE m.mld_melding_key = rec.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_discipline_key = dp.mld_ins_discipline_key; v_errormsg := 'Fout bepalen kostenplaats'; SELECT prs_kostenplaats_nr INTO v_kostenplaats_nr FROM prs_kostenplaats WHERE prs_kostenplaats_key = rec.prs_kostenplaats_key; v_errormsg := 'Fout bepalen budgethouder'; v_budgethouder_key := prs.getkpverantwoordelijke (rec.prs_kostenplaats_key, 2, -1); IF (v_budgethouder_key = -1) THEN fac.writelog (p_applname, 'E', rec.aanduiding || 'Budgethouder ongedefinieerd.', ''); COMMIT; END IF; --SELECT COUNT(*) cnt FROM prs_bedrijfdienstlocatie bdl WHERE bdl.prs_bdl_t_uitvoertijd.tijdsduur IS NOT NULL --SELECT b.prs_bedrijf_t_uitvoertijd.tijdsduur tijdsduur , b.prs_bedrijf_t_uitvoertijd.eenheid eenheid FROM prs_bedrijf b WHERE b.prs_bedrijf_key=192 --SELECT m.mld_melding_t_uitvoertijd.tijdsduur tijdsduur , m.mld_melding_t_uitvoertijd.eenheid eenheid FROM mld_melding m WHERE m.mld_melding_key=21055 v_errormsg := 'Fout toevoegen Workorder'; INSERT INTO mld_opdr (mld_opdr_datumbegin, mld_opdr_einddatum, mld_uitvoerende_keys, prs_contactpersoon_key, mld_typeopdr_key, prs_perslid_key, mld_opdr_omschrijving, mld_opdr_materiaal, mld_opdr_uren, mld_opdr_uurloon, mld_opdr_kosten, prs_kostenplaats_key, mld_melding_key, mld_opdr_module, mld_opdr_bedrijfopdr_volgnr, mld_opdr_teverzenden, mld_opdr_contactpersoon) VALUES (SYSDATE, FAC.datumtijdplusuitvoertijd (SYSDATE, COALESCE (v_opdr_dagen, 0), 'DAGEN'), rec.mld_uitvoerende_keys, rec.prs_contactpersoon_key, 101, -- Workorder 4, -- Facilitor rec.mld_opdr_omschrijving, rec.mld_opdr_kosten, 0, 0, rec.mld_opdr_kosten, rec.prs_kostenplaats_key, rec.mld_melding_key, 'MLD', MLD.bepaalopdrmeldingvolgnr (rec.mld_melding_key), 1, NULL) RETURNING mld_opdr_key INTO v_opdr_key; v_errormsg := 'Fout kopieren kenmerkvelden'; -- TODO -- Automatisch aangemaakte Workorders (uit Kostenramingen) nooit Ter -- goedkeuring (want onder Mandaat van Leverancier), maar direct Ter -- fiattering of Toegekend (afhankelijk van 50900-kostenplaats). -- TODO:Of toch inbouwen goedkeuring indien noodzakelijk? IF v_kostenplaats_nr LIKE '50900%' THEN -- Ongeacht kosten ALTIJD 'Ter fiattering' (of budgethouder wel of -- niet bestaat doet er niet toe)! v_errormsg := 'Fout ter fiat Workorder'; MLD.setopdrachtstatus (v_opdr_key, 3, 4); -- Ter fiattering -- Notificeren als budgethouder bekend! IF (v_budgethouder_key != -1) THEN v_errormsg := 'Fout bepalen MLDAP1-omschrijving'; SELECT lcl.x ('fac_srtnotificatie_oms', fac_srtnotificatie_key, fac_srtnotificatie_oms) INTO v_srtnoti_oms FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'MLDAP1'; fac.putnotificationsrtprio ( NULL, v_budgethouder_key, 'MLDAP1', v_opdr_key, mld.opdrsprintf (v_srtnoti_oms, v_opdr_key), NULL, NULL, NULL, NULL, 2, NULL); END IF; ELSE v_errormsg := 'Fout toekennen Workorder'; MLD.setopdrachtstatus (v_opdr_key, 5, 4); -- Toegekend END IF; v_errormsg := 'Fout bijwerken meldingstatus'; MLD.updatemeldingstatus (rec.mld_melding_key, 0, 4); -- Facilitor v_count_upd := v_count_upd + 1; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'Kostenraming2Workorder'); COMMIT; END; END LOOP; fac.writelog (p_applname, 'S', 'Proces: ' || TO_CHAR (v_count_upd) || ' van ' || TO_CHAR (v_count_tot) || ' Workorders uitgegeven', ''); EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', v_errormsg, 'RAMING2WO-export afgebroken!'); END; / -- BLCC#64393: Rapport tbv. Hago! CREATE OR REPLACE VIEW blcc_v_rap_schoonmaak ( maand, alg_ruimte_key, locatiecode, gebouwcode, gebouwnaam, verdiepingcode, ruimtenummer, --verhuurbaar, ruimtefunctie, ruimteomschrijving, nvo_m2, m2_tarief, nvo_prijs, vloertype, cnt_contract_key, contractnr, cnt_contract_mantel_key, mantelcontractnr ) AS WITH m2_tarief AS (SELECT ROUND (fac_usrdata_prijs / 12, 3) waarde FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 581 -- Tarieflijst Div. AND fac_usrdata_key = 1261) -- Cleaning SELECT DISTINCT -- Alle maanden in voorgaande jaar t/m voorgaande maand! TO_CHAR (p.mnd, 'yyyy-mm') maand, r.alg_ruimte_key, l.alg_locatie_code, g.alg_gebouw_code, g.alg_gebouw_naam, v.alg_verdieping_code, r.alg_ruimte_nr, --DECODE (sr.prs_verhuurbaar, NULL, 'Nee', 'Ja') verhuurbaar, sr.alg_srtruimte_omschrijving, r.alg_ruimte_omschrijving, fac.safe_to_number (nvo.waarde) nvo_m2, CASE WHEN tar.waarde < 1 THEN '0' ELSE '' END || REPLACE (TO_CHAR (tar.waarde), '.', ',') m2_tarief, --fac.safe_to_number (nvo.waarde) * tar.waarde nvo_prijs, ROUND (fac.safe_to_number (nvo.waarde) * tar.waarde, 2) nvo_prijs, vloertype.waarde, c.cnt_contract_key, c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') contractnr, mc.cnt_contract_key, DECODE (mc.cnt_contract_nummer_intern, NULL, NULL, mc.cnt_contract_nummer_intern || '.' || COALESCE (mc.cnt_contract_versie, '0')) mantelcontractnr FROM m2_tarief tar, cnt_v_aanwezigcontract c, ( SELECT ADD_MONTHS (TRUNC (SYSDATE, 'mm'), LEVEL - 24) mnd FROM DUAL WHERE ADD_MONTHS (TRUNC (SYSDATE, 'mm'), LEVEL - 24) >= TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') CONNECT BY LEVEL <= 23) p, cnt_v_aanwezigcontract mc, cnt_contract_plaats cp, alg_v_aanwezigruimte r, alg_verdieping v, alg_gebouw g, alg_locatie l, alg_srtruimte sr, (SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde waarde FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_kenmerk_key = 1460 -- NVO AND alg_onrgoed_niveau = 'R') nvo, (SELECT alg_onrgoed_key, ud.fac_usrdata_omschr waarde FROM alg_v_aanwezigonrgoedkenmerk ok, fac_v_aanwezigusrdata ud WHERE ok.alg_kenmerk_key = 1301 -- Vloertype AND ok.alg_onrgoed_niveau = 'R' AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key) vloertype WHERE c.ins_discipline_key = 2501 -- Soft Services Cleaning AND c.cnt_contract_status IN (0, 1) -- Definitief of inmiddels Gesloten! --AND p.mnd BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1) AND p.mnd >= TRUNC (c.cnt_contract_looptijd_van) AND p.mnd < TRUNC (c.cnt_contract_looptijd_tot + 1) AND c.cnt_contract_mantel_key = mc.cnt_contract_key(+) AND c.cnt_contract_key = cp.cnt_contract_key AND cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'R' AND cp.cnt_alg_plaats_key = r.alg_ruimte_key AND r.alg_verdieping_key = v.alg_verdieping_key AND v.alg_gebouw_key = g.alg_gebouw_key AND g.alg_locatie_key = l.alg_locatie_key AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+) AND r.alg_ruimte_key = nvo.alg_onrgoed_key(+) AND r.alg_ruimte_key = vloertype.alg_onrgoed_key(+) UNION ALL -- Lopende maand op 1e volgende maand doorgezet naar ProQuro! SELECT DISTINCT TO_CHAR (SYSDATE, 'yyyy-mm') maand, r.alg_ruimte_key, l.alg_locatie_code, g.alg_gebouw_code, g.alg_gebouw_naam, v.alg_verdieping_code, r.alg_ruimte_nr, --DECODE (sr.prs_verhuurbaar, NULL, 'Nee', 'Ja') verhuurbaar, sr.alg_srtruimte_omschrijving, r.alg_ruimte_omschrijving, fac.safe_to_number (nvo.waarde) nvo_m2, CASE WHEN tar.waarde < 1 THEN '0' ELSE '' END || REPLACE (TO_CHAR (tar.waarde), '.', ',') m2_tarief, --fac.safe_to_number (nvo.waarde) * tar.waarde nvo_prijs, ROUND (fac.safe_to_number (nvo.waarde) * tar.waarde, 2) nvo_prijs, vloertype.waarde, c.cnt_contract_key, c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') contractnr, mc.cnt_contract_key, DECODE (mc.cnt_contract_nummer_intern, NULL, NULL, mc.cnt_contract_nummer_intern || '.' || COALESCE (mc.cnt_contract_versie, '0')) mantelcontractnr FROM m2_tarief tar, cnt_v_aanwezigcontract c, cnt_v_aanwezigcontract mc, cnt_contract_plaats cp, alg_v_aanwezigruimte r, alg_verdieping v, alg_gebouw g, alg_locatie l, alg_srtruimte sr, (SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde waarde FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_kenmerk_key = 1460 -- NVO AND alg_onrgoed_niveau = 'R') nvo, (SELECT alg_onrgoed_key, ud.fac_usrdata_omschr waarde FROM alg_v_aanwezigonrgoedkenmerk ok, fac_v_aanwezigusrdata ud WHERE ok.alg_kenmerk_key = 1301 -- Vloertype AND ok.alg_onrgoed_niveau = 'R' AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key) vloertype WHERE c.ins_discipline_key = 2501 -- Soft Services Cleaning AND c.cnt_contract_status = 0 -- Definitief --AND SYSDATE BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1) AND SYSDATE >= TRUNC (c.cnt_contract_looptijd_van) AND SYSDATE < TRUNC (c.cnt_contract_looptijd_tot + 1) AND c.cnt_contract_mantel_key = mc.cnt_contract_key(+) AND c.cnt_contract_key = cp.cnt_contract_key AND cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'R' AND cp.cnt_alg_plaats_key = r.alg_ruimte_key AND r.alg_verdieping_key = v.alg_verdieping_key AND v.alg_gebouw_key = g.alg_gebouw_key AND g.alg_locatie_key = l.alg_locatie_key AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+) AND r.alg_ruimte_key = nvo.alg_onrgoed_key(+) AND r.alg_ruimte_key = vloertype.alg_onrgoed_key(+); CREATE OR REPLACE PROCEDURE blcc_add_xml_row (p_bestand IN VARCHAR2, p_regel IN VARCHAR2) AS v_index NUMBER; BEGIN SELECT COALESCE (MAX (fac_rapport_volgnr), 0) + 1 INTO v_index FROM fac_rapport WHERE fac_rapport_node = p_bestand; INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_volgnr, fac_rapport_regel) VALUES (p_bestand, v_index, p_regel); END; / CREATE OR REPLACE PROCEDURE blcc_add_xml_element (p_bestand IN VARCHAR2, p_tag IN VARCHAR2, p_value IN VARCHAR2) AS BEGIN blcc_add_xml_row ( p_bestand, '<' || p_tag || '>' || xml.char_to_html (p_value) || ''); END; / CREATE OR REPLACE VIEW blcc_v_export_proquro (result, result_order) AS SELECT fac_rapport_regel, fac_rapport_volgnr FROM fac_rapport WHERE fac_rapport_node = 'PROQURO'; CREATE OR REPLACE PROCEDURE blcc_select_proquro (p_applname IN VARCHAR2, p_applrun IN VARCHAR2) AS -- Markeren te exporteren opdracht-verplichtingen (via ordernr)! -- BLCC#55646: Per 2019-05 deprecated, want markeren gebeurt door Verwerken -- opdrachten via BLCC.freezeopdrachten()! --CURSOR c1 --IS -- SELECT '[' || TO_CHAR (o.mld_melding_key) || '|' || TO_CHAR (o.mld_opdr_key) || '] ' -- aanduiding, -- o.mld_opdr_key -- FROM mld_opdr o -- WHERE o.mld_typeopdr_key != 103 -- Geen RFQs -- AND o.mld_statusopdr_key = 9 -- Afgerond -- AND o.mld_opdr_ordernr IS NULL -- Geen ordernr, dus bijwerken -- ORDER BY 1; -- Wegschrijven te exporteren verplichting-regels (= factuur naar ProQuro). -- BLCC#38809: SCC uitsluiten (alleen regels als volgnr 1000 t/m 2999)! -- Per oktober-doorbelasting alleen nog maar catalogi meenemen die zijn -- gekoppeld aan een bedrijf (voor de locatie CAMPUS). -- BLCC#52390: Per februari catering-verplichtingen niet meer exporteren! -- BLCC#55646: Per 2019-06 Verwerkte ipv. Afgeronde opdrachten exporteren -- en markeren als doorgezet naar ProQuro! -- BLCC#59950: Per 2020-01 doorzetten termijnbedragen volgens factuurschema -- igv. Planned Maintenance (en per 2021-01 nog meer contract- -- soorten met een facturatieschema)! -- BLCC#64393: Per 01-02-2021 doorzetten totaal NVO-oppervlakten x Prijs in -- scope van Soft Services Cleaning contracten (over voorgaande -- maand)! CURSOR c3 IS WITH clean_oms AS (SELECT TRIM (fac_usrdata_omschr) waarde FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 581 -- Tarieflijst Div. AND fac_usrdata_key = 1261) -- Cleaning SELECT o.mld_opdr_key, NULL cnt_contract_key, SUBSTR (sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) || DECODE (ko.mld_opdr_key, NULL, '', ' (' || ko.mld_kenmerkopdr_waarde || ')'), 1, 50) externalid, -- BLCC#58880: Andere vulling voor ExternalId! p.prs_perslid_nr, -- AdministrationExternalId DECODE (SUBSTR (kp.prs_kostenplaats_nr, 1, 5), '50401', '50400', -- BLCC#60676: 50401 mappen op 50400 '50402', '50400', -- BLCC#60676: 50402 mappen op 50400 '50403', '50400', -- BLCC#60676: 50403 mappen op 50400 SUBSTR (kp.prs_kostenplaats_nr, 1, 5)) costcentre, -- CostcentreExternalId b.prs_leverancier_nr, sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) || ';;' omschrijving, -- BLCC#58442: Andere vulling voor ! o.mld_opdr_kosten price, TO_CHAR (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'yyyy-mm-dd') deliverydate, -- BLCC#59254: ORDVER (ipv. ORDAFM) COALESCE (kso.prs_kostensoort_oms, ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) costtype, -- CostTypeExternalId DECODE (aog.alg_gebouw_code, NULL, 'C-0000-000-00', '122-001N', 'C-0122-001-01', '122-00TW', 'C-0122-000-00', '122-03B', 'C-0122-003-01', '122-32A', 'C-0122-032-01', '122-93A', 'C-0122-093-01', '122-93B', 'C-0122-093-02', -- ??? '122-93C', 'C-0122-093-03', '122-93D', 'C-0122-093-04', '122-93E', 'C-0122-093-05', -- ??? '122-94A', 'C-0122-094-01', '122-94B', 'C-0122-094-02', '124-037Itter', 'C-0122-037-00', '122-042GH', 'C-0122-042-01', -- BLCC#61795 'C-0' || aog.alg_gebouw_code || '-00') costproject, -- CostProjectExternalId NULL cnt_factuurschema_key FROM mld_opdr o, mld_melding m, alg_v_allonrgoed_gegevens aog, mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd, prs_kostensoort kso, prs_kostensoort ksm, prs_kostensoort ksv, prs_kostenplaats kp, prs_bedrijf b, prs_perslid p, (SELECT mld_opdr_key, mld_kenmerkopdr_waarde FROM mld_v_aanwezigkenmerkopdr WHERE mld_kenmerk_key = 222) ko -- Refnr. leverancier (op WO) WHERE o.mld_typeopdr_key = 101 -- WO AND o.mld_statusopdr_key = 7 -- Verwerkt AND TO_CHAR (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'yyyy-mm-dd') >= '2019-06-01' -- Per 2019-06 nieuwe werkwijze! AND o.mld_opdr_ordernr IS NULL -- Nog niet doorgezet ProQuro! AND NOT EXISTS -- Nog niet doorgezet ProQuro! (SELECT 1 FROM mld_v_aanwezigkenmerkopdr WHERE mld_kenmerk_key = 581 AND mld_opdr_key = o.mld_opdr_key) AND o.mld_opdr_kosten > 0 AND o.mld_melding_key = m.mld_melding_key AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+) AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND o.prs_kostensoort_key = kso.prs_kostensoort_key(+) AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+) AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+) AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key AND o.mld_uitvoerende_keys = b.prs_bedrijf_key AND p.prs_perslid_key(+) = 101 AND o.mld_opdr_key = ko.mld_opdr_key(+) UNION ALL -- BLCC#59950: Doorzetten contracten volgens factuurschema! SELECT NULL mld_opdr_key, c.cnt_contract_key, --SUBSTR (TRIM (c.cnt_contract_omschrijving), 1, 40) || ' [' || TO_CHAR (SYSDATE, 'yyyy-mm') || ']' SUBSTR ('C' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || ' [' || TO_CHAR (SYSDATE, 'yyyy-mm') || '] ' || TRIM (c.cnt_contract_omschrijving), 1, 50) externalid, -- BLCC#62560: Andere vulling voor ExternalId! p.prs_perslid_nr, -- AdministrationExternalId --kp.prs_kostenplaats_nr costcentre, -- CostcentreExternalId TRIM(SUBSTR (kp.prs_kostenplaats_nr, 1, INSTR (kp.prs_kostenplaats_nr || '-', '-') - 1)) costcentre, -- CostcentreExternalId (tot het streepje) b.prs_leverancier_nr, ';C' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || ';' omschrijving, fs.cnt_factuurschema_bedrag price, TO_CHAR (LAST_DAY (SYSDATE), 'yyyy-mm-dd') deliverydate, ks.prs_kostensoort_oms costtype, -- CostTypeExternalId 'C-0000-000-00' costproject, -- CostProjectExternalId fs.cnt_factuurschema_key FROM cnt_v_aanwezigcontract c, prs_kostensoort ks, prs_kostenplaats kp, prs_bedrijf b, cnt_factuurschema fs, prs_perslid p WHERE TO_CHAR (SYSDATE, 'dd') = '01' -- Evt. termijn doorzetten op 1e dag van de boekmaand! --AND c.ins_discipline_key = 0 -- Voor alle contractsoorten met een facturatieschema! AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde door te zetten maand AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin door te zetten maand AND c.cnt_contract_status = 0 -- Definitief AND c.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_contract_key = fs.cnt_contract_key AND fs.cnt_factuurschema_boekmaand = TO_CHAR (SYSDATE, 'yyyy-mm') AND p.prs_perslid_key(+) = 101 UNION ALL -- BLCC#64393: Doorzetten Soft Services Cleaning contracten! SELECT NULL mld_opdr_key, NULL cnt_contract_key, SUBSTR ('[' || TO_CHAR (SYSDATE, 'yyyy-mm') || '] ' || clean_oms.waarde, 1, 50) externalid, p.prs_perslid_nr, -- AdministrationExternalId TRIM (SUBSTR (kp.prs_kostenplaats_nr, 1, INSTR (kp.prs_kostenplaats_nr || '-', '-') - 1)) costcentre, -- CostcentreExternalId (tot het streepje) b.prs_leverancier_nr, SUBSTR ('[' || TO_CHAR (SYSDATE, 'yyyy-mm') || '] ' || clean_oms.waarde, 1, 50) omschrijving, -- ProductName dezelfde vulling als ExternalId SUM (v.nvo_prijs) price, TO_CHAR (SYSDATE, 'yyyy-mm-dd') deliverydate, ks.prs_kostensoort_oms costtype, -- CostTypeExternalId 'C-0000-000-00' costproject, -- CostProjectExternalId NULL cnt_factuurschema_key FROM blcc_v_rap_schoonmaak v, cnt_contract mc, prs_kostensoort ks, prs_kostenplaats kp, prs_bedrijf b, prs_perslid p, clean_oms WHERE TO_CHAR (SYSDATE, 'dd') = '01' -- Evt. termijn doorzetten op 1e dag van de boekmaand! AND v.maand = TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm') -- Voorgaande maand! AND v.cnt_contract_mantel_key = mc.cnt_contract_key --AND mc.cnt_contract_status = 0 -- Definitief AND mc.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND mc.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND mc.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+) AND p.prs_perslid_key(+) = 101 GROUP BY NULL, NULL, SUBSTR ('[' || TO_CHAR (SYSDATE, 'yyyy-mm') || '] ' || clean_oms.waarde, 1, 50), p.prs_perslid_nr, kp.prs_kostenplaats_nr, b.prs_leverancier_nr, SUBSTR ('[' || TO_CHAR (SYSDATE, 'yyyy-mm') || '] ' || clean_oms.waarde, 1, 50), TO_CHAR (LAST_DAY (SYSDATE), 'yyyy-mm-dd'), ks.prs_kostensoort_oms, 'C-0000-000-00', NULL ORDER BY 1, 2, 9; v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_bestand VARCHAR2 (12); v_order_count NUMBER; v_amount_sum NUMBER (10, 2); BEGIN v_bestand := SUBSTR (p_applname, 1, 12); -- Eerst opruiming DELETE FROM imp_log WHERE imp_log_applicatie = p_applname; DELETE FROM fac_rapport WHERE fac_rapport_node = v_bestand; -- BLCC#55646: Per 2019-05 deprecated, want markeren gebeurt door Verwerken -- opdrachten via BLCC.freezeopdrachten()! --FOR rec IN c1 --LOOP -- BEGIN -- v_errormsg := 'Fout bijwerken mld_opdr'; -- UPDATE mld_opdr -- SET mld_opdr_ordernr = TO_CHAR (SYSDATE, 'yyyy-mm-dd hh24:mi:ss') -- WHERE mld_opdr_key = rec.mld_opdr_key; -- EXCEPTION -- WHEN OTHERS -- THEN -- oracle_err_num := SQLCODE; -- oracle_err_mes := SUBSTR (SQLERRM, 1, 200); -- v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; -- fac.writelog (p_applname, 'W', rec.aanduiding || v_errormsg, 'Opdracht-verplichtingen'); -- COMMIT; -- END; --END LOOP; --COMMIT; v_order_count := 0; v_amount_sum := 0; FOR rec IN c3 LOOP BEGIN v_order_count := v_order_count + 1; v_amount_sum := v_amount_sum + rec.price; END; END LOOP; IF v_order_count > 0 THEN -- Begin-tag splitsen ter voorkoming auto-detectie utf-8 door UltraEdit! blcc_add_xml_row (v_bestand, ''); blcc_add_xml_row (v_bestand, ''); FOR rec IN c3 LOOP BEGIN blcc_add_xml_row (v_bestand, ''); blcc_add_xml_element (v_bestand, 'ExternalId', rec.externalid); blcc_add_xml_element (v_bestand, 'AdministrationExternalId', rec.prs_perslid_nr); -- Personeelsnummer van API-user blcc_add_xml_element (v_bestand, 'OrderTypeId', '9'); -- Hard op '9' blcc_add_xml_element (v_bestand, 'ProcessExternalId', '7'); -- Hard op '7' blcc_add_xml_element (v_bestand, 'CostcentreExternalId', rec.costcentre); -- Kostenplaats van opdracht blcc_add_xml_element (v_bestand, 'ProductgroupExternalId', '1'); -- Hard op '1' blcc_add_xml_element (v_bestand, 'SupplierExternalId', rec.prs_leverancier_nr); blcc_add_xml_element (v_bestand, 'ProForma', 'False'); -- Hard op 'False' blcc_add_xml_row (v_bestand, ''); blcc_add_xml_row (v_bestand, ''); blcc_add_xml_element (v_bestand, 'LineId', '1'); -- Hard op '1' --blcc_add_xml_element (v_bestand, 'ArticleSupplierExternalId', ''); blcc_add_xml_element (v_bestand, 'ProductName', rec.omschrijving); blcc_add_xml_element (v_bestand, 'Quantity', '1'); -- Hard op '1' blcc_add_xml_element (v_bestand, 'Price', TO_CHAR (rec.price)); blcc_add_xml_element (v_bestand, 'CurrencyExternalId', 'EUR'); -- Hard op 'EUR' blcc_add_xml_element (v_bestand, 'OrderUnitExternalId', 'Stuks'); -- Hard op 'Stuks' blcc_add_xml_element (v_bestand, 'VatExternalId', 'IH'); -- Hard op 'IH' blcc_add_xml_element (v_bestand, 'DeliveryDate', rec.deliverydate); -- BLCC#59254: ORDVER (ipv. ORDAFM) blcc_add_xml_element (v_bestand, 'CostTypeExternalId', rec.costtype); -- Kostensoort uit soortmelding blcc_add_xml_element (v_bestand, 'CostProjectExternalId', rec.costproject); -- Transformatie van MLD-Gebouwcode blcc_add_xml_row (v_bestand, ''); blcc_add_xml_row (v_bestand, ''); blcc_add_xml_row (v_bestand, ''); IF rec.mld_opdr_key IS NOT NULL THEN -- Markeren als 'Doorgezet naar ProQuro'! v_errormsg := 'Fout markeren Opdracht2ProQuro'; UPDATE mld_opdr SET mld_opdr_ordernr = TO_CHAR (SYSDATE, 'yyyy-mm-dd hh24:mi:ss') WHERE mld_opdr_key = rec.mld_opdr_key; INSERT INTO mld_kenmerkopdr (mld_opdr_key, mld_kenmerk_key, mld_kenmerkopdr_waarde) VALUES (rec.mld_opdr_key, 581, -- Doorgezet naar ProQuro TO_CHAR (SYSDATE, 'dd-mm-yyyy')); ELSIF rec.cnt_contract_key IS NOT NULL THEN -- Markeren als 'Doorgezet naar ProQuro'! v_errormsg := 'Fout markeren Contract2ProQuro'; UPDATE cnt_factuurschema SET cnt_factuurschema_opmerking = SUBSTR ('Doorgezet naar ProQuro op ' || TO_CHAR (SYSDATE, 'dd-mm-yyyy') || ': €' || TO_CHAR (rec.price, 'fm999999990.00') || DECODE (cnt_factuurschema_opmerking, NULL, '', CHR (13) || CHR (10) || cnt_factuurschema_opmerking ), 1, 300) WHERE cnt_factuurschema_key = rec.cnt_factuurschema_key; fac.trackaction ('CNTUPD', rec.cnt_contract_key, NULL, NULL, 'Boekmaand ' || SUBSTR (rec.deliverydate, 1, 5) || ' doorgezet naar ProQuro: €' || TO_CHAR (rec.price, 'fm999999990.00')); END IF; COMMIT; END; END LOOP; blcc_add_xml_row (v_bestand, ''); END IF; fac.writelog (p_applname, 'S', 'ProQuro export/#regels: ' || TO_CHAR (v_order_count), TO_CHAR (v_amount_sum)); END; / -- BLCC#53426: Kosten voortaan splitsen naar BTW (VH/VL)! /* Formatted on 5-1-2016 18:32:28 (QP5 v5.136.908.31019) */ CREATE OR REPLACE VIEW blcc_v_rap_cat_frozenplus ( fclt_x_verwerkt, fclt_f_debiteur, fclt_f_organisatie, locatie, ruimte, datum, tijd, resnr, activiteit, omschrijving, artikelnr, artikelomschrijving, aantal, stuksprijs, kosten, btw, fclt_f_besteller, costcenter, hide_f_kostenplaats ) AS SELECT TO_CHAR (x.res_rsv_artikel_verwerkt, 'dd-mm-yyyy'), -- Verwerkt COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr, (SELECT prs_afdeling_omschrijving FROM prs_afdeling WHERE prs_afdeling_key = x.prs_afdeling_key) deb_oms, DECODE (x.alg_ruimte_key, NULL, 'Onbekend', rg.alg_gebouw_upper || '-' || rg.alg_verdieping_code || '-' || rg.alg_ruimte_nr) afleveradres, COALESCE (rr.res_ruimte_omschrijving, rg.alg_ruimte_omschrijving) ruimte, TO_CHAR (x.res_rsv_artikel_levering, 'dd-mm-yyyy') datum, TO_CHAR (x.res_rsv_artikel_levering, 'hh24:mi') tijd, x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr, x.res_activiteit_omschrijving activiteit, x.res_rsv_ruimte_omschrijving omschrijving, x.res_artikel_nr, x.res_artikel_omschrijving, x.res_rsv_artikel_aantal, ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5) stuksprijs, x.res_rsv_artikel_aantal * ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5) regeltotaal, x.btw, x.prs_perslid_naam_full, (SELECT MAX (kw.res_kenmerkreservering_waarde) FROM res_kenmerkwaarde kw, res_kenmerk rk WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key AND kw.res_kenmerkwaarde_verwijder IS NULL AND kw.res_kenmerk_key = rk.res_kenmerk_key AND rk.res_srtkenmerk_key = 1) costcenter, x.prs_kostenplaats_nr || '-' || x.prs_kostenplaats_omschrijving FROM (SELECT rra.res_rsv_artikel_verwerkt, COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) res_ruimte_key, COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key, rra.res_rsv_artikel_levering, rrr.res_rsv_ruimte_key, rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr, act.res_activiteit_omschrijving, rrr.res_rsv_ruimte_omschrijving, rra.res_artikel_nr, rra.res_artikel_omschrijving, rra.res_rsv_artikel_aantal, rra.res_rsv_artikel_prijs, rra.res_artikel_prijs, rra.btw, COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) prs_afdeling_key, kl.prs_kenmerklink_waarde, pf.prs_perslid_naam_full, k.prs_kostenplaats_nr, k.prs_kostenplaats_omschrijving FROM res_rsv_ruimte rrr, res_activiteit act, --res_rsv_artikel rra, --res_artikel ra, (SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, rra.res_rsv_artikel_levering, ra.res_artikel_nr, ra.res_artikel_omschrijving, rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, ra.res_artikel_prijs, DECODE ( COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw), NULL, 'VH', 21, 'VH', 'VL') btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key = 6 AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd') AND rra.res_rsv_artikel_levering < SYSDATE AND rra.res_rsv_artikel_verwerkt IS NOT NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key NOT IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, rra.res_rsv_artikel_levering, ra.res_artikel_nr, ra.res_artikel_omschrijving, 0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, 0.75 * ra.res_artikel_prijs res_artikel_prijs, 'VL' btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key = 6 AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd') AND rra.res_rsv_artikel_levering < SYSDATE AND rra.res_rsv_artikel_verwerkt IS NOT NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, rra.res_rsv_artikel_levering, ra.res_artikel_nr, ra.res_artikel_omschrijving, 0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, 0.25 * ra.res_artikel_prijs res_artikel_prijs, 'VH' btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key = 6 AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd') AND rra.res_rsv_artikel_levering < SYSDATE AND rra.res_rsv_artikel_verwerkt IS NOT NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822)) rra, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, prs_v_perslid_fullnames_all pf, prs_kostenplaats k WHERE rrr.res_activiteit_key = act.res_activiteit_key AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key --AND rra.res_rsv_artikel_verwijder IS NULL --AND rra.res_status_bo_key = 6 --AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd') --AND rra.res_artikel_key = ra.res_artikel_key AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND p.prs_perslid_key = pf.prs_perslid_key AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x LEFT JOIN res_ruimte rr ON x.res_ruimte_key = rr.res_ruimte_key LEFT JOIN alg_v_ruimte_gegevens_all rg ON x.alg_ruimte_key = rg.alg_ruimte_key UNION ALL SELECT TO_CHAR (x.res_rsv_artikel_levering, 'yyyy-mm') || '*', -- Lopend COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr, (SELECT prs_afdeling_omschrijving FROM prs_afdeling WHERE prs_afdeling_key = x.prs_afdeling_key) deb_oms, DECODE (x.alg_ruimte_key, NULL, 'Onbekend', rg.alg_gebouw_upper || '-' || rg.alg_verdieping_code || '-' || rg.alg_ruimte_nr) afleveradres, COALESCE (rr.res_ruimte_nr, rg.alg_ruimte_omschrijving) ruimte, TO_CHAR (x.res_rsv_artikel_levering, 'dd-mm-yyyy') datum, TO_CHAR (x.res_rsv_artikel_levering, 'hh24:mi') tijd, x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr, x.res_activiteit_omschrijving activiteit, x.res_rsv_ruimte_omschrijving omschrijving, x.res_artikel_nr, x.res_artikel_omschrijving, x.res_rsv_artikel_aantal, --ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5) -- stuksprijs, --x.res_rsv_artikel_aantal * ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5) -- regeltotaal, ROUND (COALESCE (x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal, x.res_artikel_prijs), 5) stuksprijs, ROUND (COALESCE (x.res_rsv_artikel_prijs, x.res_rsv_artikel_aantal * x.res_artikel_prijs), 5) regeltotaal, x.btw, x.prs_perslid_naam_full, (SELECT MAX (kw.res_kenmerkreservering_waarde) FROM res_kenmerkwaarde kw, res_kenmerk rk WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key AND kw.res_kenmerkwaarde_verwijder IS NULL AND kw.res_kenmerk_key = rk.res_kenmerk_key AND rk.res_srtkenmerk_key = 1) costcenter, x.prs_kostenplaats_nr || '-' || x.prs_kostenplaats_omschrijving FROM (SELECT rra.res_rsv_artikel_verwerkt, COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) res_ruimte_key, COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key, rra.res_rsv_artikel_levering, rrr.res_rsv_ruimte_key, rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr, act.res_activiteit_omschrijving, rrr.res_rsv_ruimte_omschrijving, rra.res_artikel_nr, rra.res_artikel_omschrijving, rra.res_rsv_artikel_aantal, rra.res_rsv_artikel_prijs, rra.res_artikel_prijs, rra.btw, COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) prs_afdeling_key, kl.prs_kenmerklink_waarde, pf.prs_perslid_naam_full, k.prs_kostenplaats_nr, k.prs_kostenplaats_omschrijving FROM res_rsv_ruimte rrr, res_activiteit act, --res_rsv_artikel rra, --res_artikel ra, (SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, rra.res_rsv_artikel_levering, ra.res_artikel_nr, ra.res_artikel_omschrijving, rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, ra.res_artikel_prijs, DECODE ( COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw), NULL, 'VH', 21, 'VH', 'VL') btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key != 6 AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd') AND rra.res_rsv_artikel_levering < SYSDATE AND rra.res_rsv_artikel_verwerkt IS NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key NOT IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, rra.res_rsv_artikel_levering, ra.res_artikel_nr, ra.res_artikel_omschrijving, 0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, 0.75 * ra.res_artikel_prijs res_artikel_prijs, 'VL' btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key != 6 AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd') AND rra.res_rsv_artikel_levering < SYSDATE AND rra.res_rsv_artikel_verwerkt IS NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, rra.res_rsv_artikel_levering, ra.res_artikel_nr, ra.res_artikel_omschrijving, 0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, 0.25 * ra.res_artikel_prijs res_artikel_prijs, 'VH' btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key != 6 AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd') AND rra.res_rsv_artikel_levering < SYSDATE AND rra.res_rsv_artikel_verwerkt IS NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822)) rra, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, prs_v_perslid_fullnames_all pf, prs_kostenplaats k WHERE rrr.res_activiteit_key = act.res_activiteit_key AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key --AND rra.res_rsv_artikel_verwijder IS NULL --AND rra.res_status_bo_key != 6 --AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd') --AND rra.res_rsv_artikel_levering < SYSDATE --AND rra.res_artikel_key = ra.res_artikel_key AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND p.prs_perslid_key = pf.prs_perslid_key AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x LEFT JOIN res_ruimte rr ON x.res_ruimte_key = rr.res_ruimte_key LEFT JOIN alg_v_ruimte_gegevens_all rg ON x.alg_ruimte_key = rg.alg_ruimte_key; -- BLCC#61135: Uitbreiden met oa. alle verbruik! CREATE OR REPLACE VIEW blcc_v_rap_cat_frozen ( levermaand, leverdatum, fclt_f_exportjob, fclt_f_bedrijf, afleveradres, fclt_f_afleverdatum, tijdstip, bestelnummer, fclt_f_artikelnummer, artikelomschrijving, interne_artikelprijs, aantal, kosten, btw_laag_oud, btw_hoog_oud, btw_laag, btw_hoog, fclt_f_besteller, costcenter, afdeling, fclt_3d_afdeling_key, dirty ) AS SELECT TO_CHAR (x.res_rsv_artikel_levering, 'yyyy-mm') levermaand, x.res_rsv_artikel_levering, TO_CHAR (x.res_rsv_artikel_verwerkt, 'yyyy-mm-dd') verwerkt, COALESCE (x.prs_bedrijf_naam, '???') bedrijf, DECODE ( x.alg_ruimte_key, NULL, 'Onbekend', rg.alg_locatie_code || '-' || rg.alg_gebouw_upper || '-' || rg.alg_verdieping_code || '-' || rg.alg_ruimte_nr || ' (' || rg.alg_ruimte_omschrijving || ')') afleveradres, TO_CHAR (x.res_rsv_artikel_levering, 'dd-mm-yyyy') datum, TO_CHAR (x.res_rsv_artikel_levering, 'hh24:mi') tijd, x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr bestelnr, x.res_artikel_nr, x.res_artikel_omschrijving, ROUND ((x.regeltotaal / x.res_rsv_artikel_aantal), 5) interneprijs, x.res_rsv_artikel_aantal, ROUND (x.regeltotaal, 5) regeltotaal, x.btw_laag_oud, x.btw_hoog_oud, x.btw_laag, x.btw_hoog, x.prs_perslid_naam_full, (SELECT MAX (kw.res_kenmerkreservering_waarde) FROM res_kenmerkwaarde kw, res_kenmerk rk WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key AND kw.res_kenmerkwaarde_verwijder IS NULL AND kw.res_kenmerk_key = rk.res_kenmerk_key AND rk.res_srtkenmerk_key = 1) costcenter, x.prs_kostenplaats_nr || '-' || x.prs_kostenplaats_omschrijving afd, COALESCE (x.prs_afdeling_key, -1) afdeling_key, DECODE (x.res_rsv_ruimte_dirtlevel + x.res_rsv_artikel_dirtlevel, 0, 'Nee', 'Ja') dirty FROM (SELECT COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key, rrr.res_rsv_ruimte_key, rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr, rra.res_rsv_artikel_levering, rra.res_rsv_artikel_verwerkt, b.prs_bedrijf_naam, a.prs_afdeling_key, rra.res_artikel_nr, rra.res_artikel_omschrijving, rra.regeltotaal, rra.res_rsv_artikel_aantal, rra.btw_laag_oud, rra.btw_hoog_oud, rra.btw_laag, rra.btw_hoog, pf.prs_perslid_naam_full, k.prs_kostenplaats_nr, k.prs_kostenplaats_omschrijving, rrr.res_rsv_ruimte_dirtlevel, rra.res_rsv_artikel_dirtlevel FROM res_rsv_ruimte rrr, (SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_levering, rra.res_rsv_artikel_verwerkt, ra.res_artikel_nr, ra.res_artikel_omschrijving, COALESCE (rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal * ra.res_artikel_prijs) regeltotaal, rra.res_rsv_artikel_aantal, DECODE ( rra.res_rsv_artikel_btw, NULL, TO_NUMBER (NULL), 21, TO_NUMBER (NULL), ROUND ((rra.res_rsv_artikel_prijs / 100) * 6, 5)) btw_laag_oud, DECODE ( rra.res_rsv_artikel_btw, NULL, TO_NUMBER (NULL), 6, TO_NUMBER (NULL), ROUND ((rra.res_rsv_artikel_prijs / 100) * 21, 5)) btw_hoog_oud, DECODE ( COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw), NULL, TO_NUMBER (NULL), 21, TO_NUMBER (NULL), ROUND ((COALESCE (rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal * ra.res_artikel_prijs) / 100) * rra.res_rsv_artikel_btw, 5)) btw_laag, DECODE ( COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw), NULL, TO_NUMBER (NULL), 21, ROUND ((COALESCE (rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal * ra.res_artikel_prijs) / 100) * rra.res_rsv_artikel_btw, 5), TO_NUMBER (NULL)) btw_hoog, ra.res_discipline_key, rra.res_rsv_artikel_dirtlevel FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE 1 = 1 --rra.res_status_bo_key = 6 --AND rra.res_rsv_artikel_verwerkt > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy') AND rra.res_rsv_artikel_levering BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy') AND TRUNC (SYSDATE + 1) AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key NOT IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_levering, rra.res_rsv_artikel_verwerkt, ra.res_artikel_nr, ra.res_artikel_omschrijving, COALESCE (rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal * ra.res_artikel_prijs) regeltotaal, rra.res_rsv_artikel_aantal, DECODE ( rra.res_rsv_artikel_btw, 21, TO_NUMBER (NULL), ROUND ((0.75 * rra.res_rsv_artikel_prijs / 100) * 6, 5)) btw_laag_oud, DECODE ( rra.res_rsv_artikel_btw, 6, TO_NUMBER (NULL), ROUND ((0.25 * rra.res_rsv_artikel_prijs / 100) * 21, 5)) btw_hoog_oud, CASE WHEN rra.res_rsv_artikel_levering < TO_DATE ('20190101', 'yyyymmdd') THEN ROUND ((0.75 * COALESCE (rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal * ra.res_artikel_prijs) / 100) * 6, 5) ELSE ROUND ((0.75 * COALESCE (rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal * ra.res_artikel_prijs) / 100) * 9, 5) END btw_laag, ROUND ((0.25 * COALESCE (rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal * ra.res_artikel_prijs) / 100) * 21, 5) btw_hoog, ra.res_discipline_key, rra.res_rsv_artikel_dirtlevel FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE 1 = 1 --rra.res_status_bo_key = 6 --AND rra.res_rsv_artikel_verwerkt > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy') AND rra.res_rsv_artikel_levering BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy') AND TRUNC (SYSDATE + 1) AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822)) rra, res_discipline td, res_disc_params dp, prs_bedrijf b, prs_afdeling a, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, prs_v_perslid_fullnames_all pf, prs_kostenplaats k WHERE rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key AND rra.res_discipline_key = td.ins_discipline_key AND td.ins_discipline_key = dp.res_ins_discipline_key AND dp.prs_bedrijf_key = b.prs_bedrijf_key(+) AND b.prs_leverancier_nr = a.prs_afdeling_naam(+) --AND a.prs_afdeling_parentkey IS NULL AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x LEFT JOIN alg_v_ruimte_gegevens_all rg ON x.alg_ruimte_key = rg.alg_ruimte_key; -- BLCC#52390: Per februari catering-doorbelasting splitsen naar BTW (VH/VL)! -- BLCC#53262: Per ADDD-facturatie deprecated en tzt. verwijderen, toch!? /* Formatted on 17-9-2015 10:40:20 (QP5 v5.136.908.31019) */ CREATE OR REPLACE VIEW blcc_v_rap_tf_frozen ( fclt_x_maand, fclt_x_debiteur, factuurtype, debiteur, nummer, factuurdatum, vervaldatum, kop, voet, valuta, aantal, artikel, subartikel, omschrijving, artikelprijs_excl, artikelprijs_incl, btw, grootboek, vrij_tekstveld_1, vrij_tekstveld_2, vrij_tekstveld_3 ) AS SELECT TO_CHAR (TRUNC (t.fac_tracking_datum, 'mm') - 1, 'yyyy-mm'), (SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']' FROM prs_afdeling WHERE prs_afdeling_key = kl.prs_link_key) debiteur_oms, 'FACTUUR', kl.prs_kenmerklink_waarde, NULL, TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy'), NULL, NULL, NULL, 'EUR', 1, 0, -- Eenmalig artikel NULL, sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) || ' [' || td.ins_discipline_omschrijving || '/' || sm.mld_stdmelding_omschrijving || ']' || DECODE (km.mld_kenmerkmelding_waarde, NULL, '', ' (=' || km.mld_kenmerkmelding_waarde || ')'), ROUND (o.mld_opdr_kosten * 1.065, 2), -- Management fee 6,5% NULL, 'VH', COALESCE (ksm.prs_kostensoort_refcode, ksv.prs_kostensoort_refcode), km.mld_kenmerkmelding_waarde, NULL, NULL FROM mld_opdr o, fac_tracking t, mld_melding m, (SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key = 281) km, -- Refnr. aanvrager prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, alg_v_allonrgoed_gegevens og, mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd, prs_kostensoort ksm, prs_kostensoort ksv, prs_kostenplaats kp, prs_bedrijf b WHERE o.mld_opdr_ordernr IS NOT NULL -- Zou zo moeten zijn! AND o.mld_statusopdr_key = 7 -- Zou zo moeten zijn! AND o.mld_opdr_key = t.fac_tracking_refkey AND t.fac_srtnotificatie_key = 66 -- ORDVER AND o.mld_melding_key = m.mld_melding_key AND m.mld_melding_key = km.mld_melding_key(+) AND m.prs_perslid_key_voor = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+) AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+) AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key --AND kp.prs_kostenplaats_upper LIKE '50900%' AND SUBSTR (kp.prs_kostenplaats_upper, 1, 5) = '50900' AND o.mld_uitvoerende_keys = b.prs_bedrijf_key UNION ALL -- "Normale" catering gegroepeerd per debiteur/kostensoort! SELECT TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'), debiteur_oms, 'FACTUUR', debiteur, NULL, TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'), NULL, NULL, NULL, 'EUR', 1, 0, -- Eenmalig artikel NULL, 'Cateringkosten ' || TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm') || '/' || btw, SUM (verw_prijs), NULL, --'VH', btw, prs_kostensoort_refcode, NULL, NULL, NULL FROM (SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr resid, kl.prs_kenmerklink_waarde debiteur, (SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']' FROM prs_afdeling WHERE prs_afdeling_key = kl.prs_link_key) debiteur_oms, ks.prs_kostensoort_refcode, --LTRIM (rra.res_artikel_omschrijving) || ' (' || COALESCE (rra.res_artikel_eenheid, '') || ')' res_voorziening, rra.res_rsv_artikel_verwerkt resver, rra.res_rsv_artikel_prijs verw_prijs, --rra.res_rsv_artikel_aantal * rra.res_artikel_prijs prijs, rra.btw FROM res_rsv_ruimte rrr, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, (SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, ra.res_artikel_omschrijving, ra.res_artikel_eenheid, rra.res_rsv_artikel_prijs, --rra.res_rsv_artikel_aantal, --ra.res_artikel_prijs, 'VH' btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key = 6 -- AV AND rra.res_rsv_artikel_verwerkt < TO_DATE ('20180301', 'yyyymmdd') AND rra.res_artikel_key = ra.res_artikel_key UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, ra.res_artikel_omschrijving, ra.res_artikel_eenheid, rra.res_rsv_artikel_prijs, --rra.res_rsv_artikel_aantal, --ra.res_artikel_prijs, DECODE ( COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw), NULL, 'VH', 21, 'VH', 'VL') btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key = 6 -- AV AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd') AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key NOT IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, ra.res_artikel_omschrijving, ra.res_artikel_eenheid, 0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, --rra.res_rsv_artikel_aantal, --0.75 * ra.res_artikel_prijs res_artikel_prijs, 'VL' btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key = 6 -- AV AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd') AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, ra.res_artikel_omschrijving, ra.res_artikel_eenheid, 0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, --rra.res_rsv_artikel_aantal, --0.25 * ra.res_artikel_prijs res_artikel_prijs, 'VH' btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key = 6 -- AV AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd') AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822)) rra, res_discipline rd, prs_kostensoort ks WHERE rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key AND rra.res_discipline_key = rd.ins_discipline_key --AND ks.prs_kostensoort_doorbelasten(+) = 1 AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND (rra.res_rsv_artikel_verwerkt < TO_DATE ('20171001', 'yyyymmdd') OR (rrr.res_activiteit_key != 130 AND rra.res_rsv_artikel_verwerkt > TO_DATE ('20171001', 'yyyymmdd')))) GROUP BY TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'), debiteur_oms, debiteur, TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'), 'Cateringkosten ' || TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm') || '/' || btw, btw, prs_kostensoort_refcode UNION ALL -- Ruimte+Catering gegroepeerd per evenement/debiteur/kostensoort SELECT TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'), debiteur_oms, 'FACTUUR', debiteur, NULL, TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'), NULL, NULL, NULL, 'EUR', 1, 0, -- Eenmalig artikel NULL, 'Evenementkosten ' || res_id || ' - ' || res_voorziening || '/' || btw, SUM (verw_prijs), NULL, --'VH', btw, prs_kostensoort_refcode, MIN (res_kenmerkreservering_waarde), NULL, NULL FROM (SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id, kl.prs_kenmerklink_waarde debiteur, (SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']' FROM prs_afdeling WHERE prs_afdeling_key = kl.prs_link_key) debiteur_oms, ks.prs_kostensoort_refcode, 'Ruimte ' || rr.res_ruimte_nr res_voorziening, fac.gettrackingdate ('RESVER', rrr.res_rsv_ruimte_key) resver, COALESCE (rrr.res_rsv_ruimte_prijs, 0) - COALESCE (rrr.res_rsv_ruimte_korting, 0) verw_prijs, 'VH' btw, -- Hard 21% kw.res_kenmerkreservering_waarde FROM res_rsv_ruimte rrr, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, res_ruimte rr, res_discipline rd, prs_kostensoort ks, (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager WHERE rrr.res_activiteit_key = 130 -- Evenement AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen! AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_status_bo_key = 6 -- AV AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key AND rr.res_discipline_key = rd.ins_discipline_key --AND ks.prs_kostensoort_doorbelasten(+) = 1 AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+) UNION ALL SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr resid, kl.prs_kenmerklink_waarde debiteur, (SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']' FROM prs_afdeling WHERE prs_afdeling_key = kl.prs_link_key) debiteur_oms, ks.prs_kostensoort_refcode, rd.ins_discipline_omschrijving res_voorziening, rra.res_rsv_artikel_verwerkt resver, rra.res_rsv_artikel_prijs verw_prijs, rra.btw, kw.res_kenmerkreservering_waarde FROM res_rsv_ruimte rrr, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, (SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, ra.res_artikel_omschrijving, ra.res_artikel_eenheid, rra.res_rsv_artikel_prijs, --rra.res_rsv_artikel_aantal, --ra.res_artikel_prijs, 'VH' btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key = 6 -- AV AND rra.res_rsv_artikel_verwerkt < TO_DATE ('20180301', 'yyyymmdd') AND rra.res_artikel_key = ra.res_artikel_key UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, ra.res_artikel_omschrijving, ra.res_artikel_eenheid, rra.res_rsv_artikel_prijs, --rra.res_rsv_artikel_aantal, --ra.res_artikel_prijs, DECODE ( COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw), NULL, 'VH', 21, 'VH', 'VL') btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key = 6 -- AV AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd') AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key NOT IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, ra.res_artikel_omschrijving, ra.res_artikel_eenheid, 0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, --rra.res_rsv_artikel_aantal, --0.75 * ra.res_artikel_prijs res_artikel_prijs, 'VL' btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key = 6 -- AV AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd') AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_verwerkt, ra.res_artikel_omschrijving, ra.res_artikel_eenheid, 0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, --rra.res_rsv_artikel_aantal, --0.25 * ra.res_artikel_prijs res_artikel_prijs, 'VH' btw, ra.res_discipline_key FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_status_bo_key = 6 -- AV AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd') AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822)) rra, res_discipline rd, prs_kostensoort ks, (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager WHERE rrr.res_activiteit_key = 130 -- Evenement AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key AND rra.res_discipline_key = rd.ins_discipline_key --AND ks.prs_kostensoort_doorbelasten(+) = 1 AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+) AND rra.res_rsv_artikel_verwerkt > TO_DATE ('20171001', 'yyyymmdd')) GROUP BY TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'), debiteur_oms, debiteur, TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'), 'Evenementkosten ' || res_id || ' - ' || res_voorziening || '/' || btw, btw, prs_kostensoort_refcode; -- *** ADDD-export *** CREATE OR REPLACE VIEW blcc_v_addd_correctie AS SELECT '*CONCEPT*' fin_verkoopfactuur_id, vf.fin_verkoopfactuur_c1 po_nr, -- Overnemen van te corrigeren factuur? vf.fin_verkoopfactuur_c2 contract_id, -- Overnemen van te corrigeren factuur? '01' sortering, TRIM (ro.waarde) regel, vf.fin_verkoopfactuur_id regel_id, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! NULL regel_oms, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? --m.mld_melding_key refkey, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, --b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur! btwnr.prs_kenmerklink_waarde btw_nr, -- Niet overnemen van te corrigeren factuur? NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur! ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Correctiemelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 761) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 762 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 763) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 764 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 765) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode = 'reservering/opdracht/melding' AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, vf.fin_verkoopfactuur_c1 po_nr, -- Overnemen van te corrigeren factuur? vf.fin_verkoopfactuur_c2 contract_id, -- Overnemen van te corrigeren factuur? '02' sortering, TRIM (ro.waarde) regel, vf.fin_verkoopfactuur_id regel_id, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! NULL regel_oms, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? --m.mld_melding_key refkey, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, --b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur! btwnr.prs_kenmerklink_waarde btw_nr, -- Niet overnemen van te corrigeren factuur? NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur! ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Correctiemelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 801) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 802 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 803) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 804 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 805) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode = 'reservering/opdracht/melding' AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, vf.fin_verkoopfactuur_c1 po_nr, -- Overnemen van te corrigeren factuur? vf.fin_verkoopfactuur_c2 contract_id, -- Overnemen van te corrigeren factuur? '03' sortering, TRIM (ro.waarde) regel, vf.fin_verkoopfactuur_id regel_id, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! NULL regel_oms, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? --m.mld_melding_key refkey, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, --b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur! btwnr.prs_kenmerklink_waarde btw_nr, -- Niet overnemen van te corrigeren factuur? NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur! ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Correctiemelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 806) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 807 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 808) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 809 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 810) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode = 'reservering/opdracht/melding' AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, vf.fin_verkoopfactuur_c1 po_nr, -- Overnemen van te corrigeren factuur? vf.fin_verkoopfactuur_c2 contract_id, -- Overnemen van te corrigeren factuur? '04' sortering, TRIM (ro.waarde) regel, vf.fin_verkoopfactuur_id regel_id, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! NULL regel_oms, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? --m.mld_melding_key refkey, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, --b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur! btwnr.prs_kenmerklink_waarde btw_nr, -- Niet overnemen van te corrigeren factuur? NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur! ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Correctiemelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 811) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 812 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 813) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 814 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 815) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode = 'reservering/opdracht/melding' AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, vf.fin_verkoopfactuur_c1 po_nr, -- Overnemen van te corrigeren factuur? vf.fin_verkoopfactuur_c2 contract_id, -- Overnemen van te corrigeren factuur? '05' sortering, TRIM (ro.waarde) regel, vf.fin_verkoopfactuur_id regel_id, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! NULL regel_oms, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? --m.mld_melding_key refkey, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, --b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur! btwnr.prs_kenmerklink_waarde btw_nr, -- Niet overnemen van te corrigeren factuur? NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur! ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Correctiemelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 816) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 817 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 818) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 819 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 820) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode = 'reservering/opdracht/melding' AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, vf.fin_verkoopfactuur_c1 po_nr, -- Overnemen van te corrigeren factuur? vf.fin_verkoopfactuur_c2 contract_id, -- Overnemen van te corrigeren factuur? '06' sortering, TRIM (ro.waarde) regel, vf.fin_verkoopfactuur_id regel_id, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! NULL regel_oms, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? --m.mld_melding_key refkey, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, --b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur! btwnr.prs_kenmerklink_waarde btw_nr, -- Niet overnemen van te corrigeren factuur? NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur! ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Correctiemelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 821) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 822 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 823) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 824 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 825) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode = 'reservering/opdracht/melding' AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, vf.fin_verkoopfactuur_c1 po_nr, -- Overnemen van te corrigeren factuur? vf.fin_verkoopfactuur_c2 contract_id, -- Overnemen van te corrigeren factuur? '07' sortering, TRIM (ro.waarde) regel, vf.fin_verkoopfactuur_id regel_id, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! NULL regel_oms, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? --m.mld_melding_key refkey, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, --b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur! btwnr.prs_kenmerklink_waarde btw_nr, -- Niet overnemen van te corrigeren factuur? NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur! ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Correctiemelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 826) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 827 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 828) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 829 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 830) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode = 'reservering/opdracht/melding' AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, vf.fin_verkoopfactuur_c1 po_nr, -- Overnemen van te corrigeren factuur? vf.fin_verkoopfactuur_c2 contract_id, -- Overnemen van te corrigeren factuur? '08' sortering, TRIM (ro.waarde) regel, vf.fin_verkoopfactuur_id regel_id, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! NULL regel_oms, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? --m.mld_melding_key refkey, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, --b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur! btwnr.prs_kenmerklink_waarde btw_nr, -- Niet overnemen van te corrigeren factuur? NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur! ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Correctiemelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 831) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 832 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 833) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 834 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 835) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode = 'reservering/opdracht/melding' AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, vf.fin_verkoopfactuur_c1 po_nr, -- Overnemen van te corrigeren factuur? vf.fin_verkoopfactuur_c2 contract_id, -- Overnemen van te corrigeren factuur? '09' sortering, TRIM (ro.waarde) regel, vf.fin_verkoopfactuur_id regel_id, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! NULL regel_oms, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? --m.mld_melding_key refkey, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, --b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur! btwnr.prs_kenmerklink_waarde btw_nr, -- Niet overnemen van te corrigeren factuur? NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur! ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Correctiemelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 836) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 837 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 838) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 839 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 840) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode = 'reservering/opdracht/melding' AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, vf.fin_verkoopfactuur_c1 po_nr, -- Overnemen van te corrigeren factuur? vf.fin_verkoopfactuur_c2 contract_id, -- Overnemen van te corrigeren factuur? '10' sortering, TRIM (ro.waarde) regel, vf.fin_verkoopfactuur_id regel_id, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! NULL regel_oms, -- Factuur waarop correctie betrekking heeft (en dan ook in Twinfield-exportbestand)! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? --m.mld_melding_key refkey, -- Niet overnemen van te corrigeren factuur (die vele V+E kan bundelen)? DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, --b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur! btwnr.prs_kenmerklink_waarde btw_nr, -- Niet overnemen van te corrigeren factuur? NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur! TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur! ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Correctiemelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 841) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 842 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 843) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 844 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 845) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode = 'reservering/opdracht/melding' AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key ; CREATE OR REPLACE VIEW blcc_v_addd_losverkoop AS SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (po.waarde, '-')) po_nr, -- Optioneel DECODE (m2c.cnt_contract_key, NULL, NULL, m2c.cnt_contract_nummer_intern || '.' || COALESCE (m2c.cnt_contract_versie, '0')) contract_id, -- Optioneel '01' sortering, TRIM (ro.waarde) regel, 'LV' || TO_CHAR (m.mld_melding_key) regel_id, NULL regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, --m.mld_melding_key refkey, DECODE (m2c.cnt_contract_key, NULL, 'melding', 'contract') xmlnode, DECODE (m2c.cnt_contract_key, NULL, m.mld_melding_key, m2c.cnt_contract_key) refkey, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, TO_CHAR (SYSDATE, 'yyyymm') maand, TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto losverkoopbedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW losverkoopbedrag DECODE (factent.fac_usrdata_code, 'CRF', 1, 0) crf, -- CV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1001) po, -- PO (SELECT mld_melding_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie FROM mld_v_aanwezigkenmerkmelding km, cnt_contract c WHERE mld_kenmerk_key = 1081 -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT km.mld_melding_key, ud.fac_usrdata_code FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1121 -- CV/CRF AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) factent, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 961) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 962 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 963) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 964 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 965) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1321 -- Losse verkoop AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 941 -- Debiteur AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = po.mld_melding_key(+) AND m.mld_melding_key = m2c.mld_melding_key(+) AND m.mld_melding_key = factent.mld_melding_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (po.waarde, '-')) po_nr, -- Optioneel DECODE (m2c.cnt_contract_key, NULL, NULL, m2c.cnt_contract_nummer_intern || '.' || COALESCE (m2c.cnt_contract_versie, '0')) contract_id, -- Optioneel '02' sortering, TRIM (ro.waarde) regel, 'LV' || TO_CHAR (m.mld_melding_key) regel_id, NULL regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, --m.mld_melding_key refkey, DECODE (m2c.cnt_contract_key, NULL, 'melding', 'contract') xmlnode, DECODE (m2c.cnt_contract_key, NULL, m.mld_melding_key, m2c.cnt_contract_key) refkey, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, TO_CHAR (SYSDATE, 'yyyymm') maand, TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto losverkoopbedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW losverkoopbedrag DECODE (factent.fac_usrdata_code, 'CRF', 1, 0) crf, -- CV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1001) po, -- PO (SELECT mld_melding_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie FROM mld_v_aanwezigkenmerkmelding km, cnt_contract c WHERE mld_kenmerk_key = 1081 -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT km.mld_melding_key, ud.fac_usrdata_code FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1121 -- CV/CRF AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) factent, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 966) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 967 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 968) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 969 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 970) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1321 -- Losse verkoop AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 941 -- Debiteur AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = po.mld_melding_key(+) AND m.mld_melding_key = m2c.mld_melding_key(+) AND m.mld_melding_key = factent.mld_melding_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (po.waarde, '-')) po_nr, -- Optioneel DECODE (m2c.cnt_contract_key, NULL, NULL, m2c.cnt_contract_nummer_intern || '.' || COALESCE (m2c.cnt_contract_versie, '0')) contract_id, -- Optioneel '03' sortering, TRIM (ro.waarde) regel, 'LV' || TO_CHAR (m.mld_melding_key) regel_id, NULL regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, --m.mld_melding_key refkey, DECODE (m2c.cnt_contract_key, NULL, 'melding', 'contract') xmlnode, DECODE (m2c.cnt_contract_key, NULL, m.mld_melding_key, m2c.cnt_contract_key) refkey, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, TO_CHAR (SYSDATE, 'yyyymm') maand, TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto losverkoopbedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW losverkoopbedrag DECODE (factent.fac_usrdata_code, 'CRF', 1, 0) crf, -- CV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1001) po, -- PO (SELECT mld_melding_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie FROM mld_v_aanwezigkenmerkmelding km, cnt_contract c WHERE mld_kenmerk_key = 1081 -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT km.mld_melding_key, ud.fac_usrdata_code FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1121 -- CV/CRF AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) factent, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 971) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 972 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 973) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 974 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 975) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1321 -- Losse verkoop AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 941 -- Debiteur AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = po.mld_melding_key(+) AND m.mld_melding_key = m2c.mld_melding_key(+) AND m.mld_melding_key = factent.mld_melding_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (po.waarde, '-')) po_nr, -- Optioneel DECODE (m2c.cnt_contract_key, NULL, NULL, m2c.cnt_contract_nummer_intern || '.' || COALESCE (m2c.cnt_contract_versie, '0')) contract_id, -- Optioneel '04' sortering, TRIM (ro.waarde) regel, 'LV' || TO_CHAR (m.mld_melding_key) regel_id, NULL regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, --m.mld_melding_key refkey, DECODE (m2c.cnt_contract_key, NULL, 'melding', 'contract') xmlnode, DECODE (m2c.cnt_contract_key, NULL, m.mld_melding_key, m2c.cnt_contract_key) refkey, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, TO_CHAR (SYSDATE, 'yyyymm') maand, TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto losverkoopbedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW losverkoopbedrag DECODE (factent.fac_usrdata_code, 'CRF', 1, 0) crf, -- CV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1001) po, -- PO (SELECT mld_melding_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie FROM mld_v_aanwezigkenmerkmelding km, cnt_contract c WHERE mld_kenmerk_key = 1081 -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT km.mld_melding_key, ud.fac_usrdata_code FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1121 -- CV/CRF AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) factent, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1021) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1022 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1023) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 1024 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1025) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1321 -- Losse verkoop AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 941 -- Debiteur AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = po.mld_melding_key(+) AND m.mld_melding_key = m2c.mld_melding_key(+) AND m.mld_melding_key = factent.mld_melding_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (po.waarde, '-')) po_nr, -- Optioneel DECODE (m2c.cnt_contract_key, NULL, NULL, m2c.cnt_contract_nummer_intern || '.' || COALESCE (m2c.cnt_contract_versie, '0')) contract_id, -- Optioneel '05' sortering, TRIM (ro.waarde) regel, 'LV' || TO_CHAR (m.mld_melding_key) regel_id, NULL regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, --m.mld_melding_key refkey, DECODE (m2c.cnt_contract_key, NULL, 'melding', 'contract') xmlnode, DECODE (m2c.cnt_contract_key, NULL, m.mld_melding_key, m2c.cnt_contract_key) refkey, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, TO_CHAR (SYSDATE, 'yyyymm') maand, TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto losverkoopbedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW losverkoopbedrag DECODE (factent.fac_usrdata_code, 'CRF', 1, 0) crf, -- CV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1001) po, -- PO (SELECT mld_melding_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie FROM mld_v_aanwezigkenmerkmelding km, cnt_contract c WHERE mld_kenmerk_key = 1081 -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT km.mld_melding_key, ud.fac_usrdata_code FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1121 -- CV/CRF AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) factent, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1026) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1027 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1028) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 1029 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1030) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1321 -- Losse verkoop AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 941 -- Debiteur AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = po.mld_melding_key(+) AND m.mld_melding_key = m2c.mld_melding_key(+) AND m.mld_melding_key = factent.mld_melding_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (po.waarde, '-')) po_nr, -- Optioneel DECODE (m2c.cnt_contract_key, NULL, NULL, m2c.cnt_contract_nummer_intern || '.' || COALESCE (m2c.cnt_contract_versie, '0')) contract_id, -- Optioneel '06' sortering, TRIM (ro.waarde) regel, 'LV' || TO_CHAR (m.mld_melding_key) regel_id, NULL regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, --m.mld_melding_key refkey, DECODE (m2c.cnt_contract_key, NULL, 'melding', 'contract') xmlnode, DECODE (m2c.cnt_contract_key, NULL, m.mld_melding_key, m2c.cnt_contract_key) refkey, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, TO_CHAR (SYSDATE, 'yyyymm') maand, TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto losverkoopbedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW losverkoopbedrag DECODE (factent.fac_usrdata_code, 'CRF', 1, 0) crf, -- CV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1001) po, -- PO (SELECT mld_melding_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie FROM mld_v_aanwezigkenmerkmelding km, cnt_contract c WHERE mld_kenmerk_key = 1081 -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT km.mld_melding_key, ud.fac_usrdata_code FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1121 -- CV/CRF AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) factent, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1031) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1032 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1033) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 1034 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1035) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1321 -- Losse verkoop AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 941 -- Debiteur AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = po.mld_melding_key(+) AND m.mld_melding_key = m2c.mld_melding_key(+) AND m.mld_melding_key = factent.mld_melding_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (po.waarde, '-')) po_nr, -- Optioneel DECODE (m2c.cnt_contract_key, NULL, NULL, m2c.cnt_contract_nummer_intern || '.' || COALESCE (m2c.cnt_contract_versie, '0')) contract_id, -- Optioneel '07' sortering, TRIM (ro.waarde) regel, 'LV' || TO_CHAR (m.mld_melding_key) regel_id, NULL regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, --m.mld_melding_key refkey, DECODE (m2c.cnt_contract_key, NULL, 'melding', 'contract') xmlnode, DECODE (m2c.cnt_contract_key, NULL, m.mld_melding_key, m2c.cnt_contract_key) refkey, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, TO_CHAR (SYSDATE, 'yyyymm') maand, TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto losverkoopbedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW losverkoopbedrag DECODE (factent.fac_usrdata_code, 'CRF', 1, 0) crf, -- CV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1001) po, -- PO (SELECT mld_melding_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie FROM mld_v_aanwezigkenmerkmelding km, cnt_contract c WHERE mld_kenmerk_key = 1081 -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT km.mld_melding_key, ud.fac_usrdata_code FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1121 -- CV/CRF AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) factent, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1036) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1037 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1038) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 1039 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1040) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1321 -- Losse verkoop AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 941 -- Debiteur AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = po.mld_melding_key(+) AND m.mld_melding_key = m2c.mld_melding_key(+) AND m.mld_melding_key = factent.mld_melding_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (po.waarde, '-')) po_nr, -- Optioneel DECODE (m2c.cnt_contract_key, NULL, NULL, m2c.cnt_contract_nummer_intern || '.' || COALESCE (m2c.cnt_contract_versie, '0')) contract_id, -- Optioneel '08' sortering, TRIM (ro.waarde) regel, 'LV' || TO_CHAR (m.mld_melding_key) regel_id, NULL regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, --m.mld_melding_key refkey, DECODE (m2c.cnt_contract_key, NULL, 'melding', 'contract') xmlnode, DECODE (m2c.cnt_contract_key, NULL, m.mld_melding_key, m2c.cnt_contract_key) refkey, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, TO_CHAR (SYSDATE, 'yyyymm') maand, TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto losverkoopbedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW losverkoopbedrag DECODE (factent.fac_usrdata_code, 'CRF', 1, 0) crf, -- CV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1001) po, -- PO (SELECT mld_melding_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie FROM mld_v_aanwezigkenmerkmelding km, cnt_contract c WHERE mld_kenmerk_key = 1081 -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT km.mld_melding_key, ud.fac_usrdata_code FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1121 -- CV/CRF AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) factent, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1041) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1042 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1043) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 1044 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1045) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1321 -- Losse verkoop AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 941 -- Debiteur AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = po.mld_melding_key(+) AND m.mld_melding_key = m2c.mld_melding_key(+) AND m.mld_melding_key = factent.mld_melding_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (po.waarde, '-')) po_nr, -- Optioneel DECODE (m2c.cnt_contract_key, NULL, NULL, m2c.cnt_contract_nummer_intern || '.' || COALESCE (m2c.cnt_contract_versie, '0')) contract_id, -- Optioneel '09' sortering, TRIM (ro.waarde) regel, 'LV' || TO_CHAR (m.mld_melding_key) regel_id, NULL regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, --m.mld_melding_key refkey, DECODE (m2c.cnt_contract_key, NULL, 'melding', 'contract') xmlnode, DECODE (m2c.cnt_contract_key, NULL, m.mld_melding_key, m2c.cnt_contract_key) refkey, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, TO_CHAR (SYSDATE, 'yyyymm') maand, TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto losverkoopbedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW losverkoopbedrag DECODE (factent.fac_usrdata_code, 'CRF', 1, 0) crf, -- CV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1001) po, -- PO (SELECT mld_melding_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie FROM mld_v_aanwezigkenmerkmelding km, cnt_contract c WHERE mld_kenmerk_key = 1081 -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT km.mld_melding_key, ud.fac_usrdata_code FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1121 -- CV/CRF AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) factent, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1046) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1047 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1048) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 1049 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1050) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1321 -- Losse verkoop AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 941 -- Debiteur AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = po.mld_melding_key(+) AND m.mld_melding_key = m2c.mld_melding_key(+) AND m.mld_melding_key = factent.mld_melding_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (po.waarde, '-')) po_nr, -- Optioneel DECODE (m2c.cnt_contract_key, NULL, NULL, m2c.cnt_contract_nummer_intern || '.' || COALESCE (m2c.cnt_contract_versie, '0')) contract_id, -- Optioneel '10' sortering, TRIM (ro.waarde) regel, 'LV' || TO_CHAR (m.mld_melding_key) regel_id, NULL regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, --'melding' xmlnode, --m.mld_melding_key refkey, DECODE (m2c.cnt_contract_key, NULL, 'melding', 'contract') xmlnode, DECODE (m2c.cnt_contract_key, NULL, m.mld_melding_key, m2c.cnt_contract_key) refkey, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, NULL contactpersoon, --x.contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, TO_CHAR (SYSDATE, 'yyyymm') maand, TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto losverkoopbedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW losverkoopbedrag DECODE (factent.fac_usrdata_code, 'CRF', 1, 0) crf, -- CV=0 en CRF=1 ks.mld_kenmerkmelding_waarde grtboekrek, ks.mld_kenmerkmelding_waarde grtboekrek_oms, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, mld_v_aanwezigkenmerkmelding km, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1001) po, -- PO (SELECT mld_melding_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie FROM mld_v_aanwezigkenmerkmelding km, cnt_contract c WHERE mld_kenmerk_key = 1081 -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT km.mld_melding_key, ud.fac_usrdata_code FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1121 -- CV/CRF AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) factent, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1051) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 1052 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1053) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 1054 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 1055) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1321 -- Losse verkoop AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 941 -- Debiteur AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = b.prs_bedrijf_key AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = po.mld_melding_key(+) AND m.mld_melding_key = m2c.mld_melding_key(+) AND m.mld_melding_key = factent.mld_melding_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key ; -- BLCC#53262: Facturatie additionele diensten! CREATE OR REPLACE VIEW blcc_v_addd_actual AS WITH lopendeperiode AS (SELECT TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm') maand FROM dual) -- Alleen tbv. RES-kosten! SELECT '*CONCEPT*' fin_verkoopfactuur_id, --TRIM (COALESCE (x.cnt_contract_nummer, '-')) po_nr, TRIM (COALESCE (x.res_kenmerkreservering_waarde, x.cnt_contract_nummer, '-')) po_nr, x.cnt_contract_nummer_intern || '.' || COALESCE (x.cnt_contract_versie, '0') contract_id, '1' || TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) || x.prs_kostensoort_refcode || x.res_voorziening sortering, 'Crossing campus (banqueting)' regel, 'V' || x.res_id regel_id, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'reservering' xmlnode, x.res_rsv_ruimte_key refkey, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.debiteur_nr) debiteur_nr, x.btw_nr, NULL contactpersoon, --x.contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_perslid_naam_full aanvrager, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')) fin_btwtabelwaarde_code, DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')) fin_btwtabelwaarde_oms, --DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 6, 21)) fin_btwtabelwaarde_perc, DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 6, 9), 21)) fin_btwtabelwaarde_perc, -- Bah! DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, SUM (COALESCE (verw_prijs, prijs, 0)) mndnet, -- Netto bedrag --SUM (ROUND (DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 0.06, 0.21)) * COALESCE (verw_prijs, prijs, 0), 2)) mndbtw, -- BTW bedrag SUM (ROUND (DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 0.06, 0.09), 0.21)) * COALESCE (verw_prijs, prijs, 0), 2)) mndbtw, -- BTW bedrag 0 crf, -- CV=0 en CRF=1 x.prs_kostensoort_refcode grtboekrek, x.prs_kostensoort_altcode grtboekrek_oms, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key FROM (SELECT rrr.res_rsv_ruimte_key, rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id, kl.prs_kenmerklink_waarde debiteur_nr, ks.prs_kostensoort_refcode, ks.prs_kostensoort_altcode, 0 volgnr, rra.res_rsv_artikel_aantal aantal, LTRIM (rra.res_artikel_omschrijving) || ' [' || TO_CHAR (res_rsv_artikel_levering, 'dd-mm-yyyy') || ']' res_voorziening, rra.res_rsv_artikel_levering reslev, rra.res_rsv_artikel_prijs verw_prijs, rra.res_rsv_artikel_aantal * rra.res_artikel_prijs prijs, rra.btw, c.cnt_contract_nummer, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.ins_discipline_key, h.prs_bedrijf_key, h.prs_bedrijf_naam, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land, btwnr.prs_kenmerklink_waarde btw_nr, btwvl.prs_kenmerklink_waarde btw_vl, cp.contactpersoon, pf.prs_perslid_naam_full, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, kw.res_kenmerkreservering_waarde, lp.maand FROM lopendeperiode lp, res_rsv_ruimte rrr, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, cnt_v_aanwezigcontract c, prs_v_aanwezigbedrijf h, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd ( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon FROM prs_contactpersoon WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen GROUP BY prs_bedrijf_key) cp, prs_v_perslid_fullnames_all pf, (SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_levering, rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, ra.res_artikel_prijs, DECODE (COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw), NULL, 'VH', 21, 'VH', 'VL') btw, ra.res_discipline_key, ra.res_artikel_omschrijving, ra.res_artikel_eenheid FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd') AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') AND rra.res_rsv_artikel_verwerkt IS NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key NOT IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_levering, 0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, 0.75 * ra.res_artikel_prijs res_artikel_prijs, 'VL' btw, ra.res_discipline_key, ra.res_artikel_omschrijving, ra.res_artikel_eenheid FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd') AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') AND rra.res_rsv_artikel_verwerkt IS NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_levering, 0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, 0.25 * ra.res_artikel_prijs res_artikel_prijs, 'VH' btw, ra.res_discipline_key, ra.res_artikel_omschrijving, ra.res_artikel_eenheid FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd') AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') AND rra.res_rsv_artikel_verwerkt IS NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822)) rra, res_discipline rd, --res_disc_params dp, --prs_bedrijf b, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, prs_kostensoort ks, (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager WHERE rrr.res_activiteit_key != 130 -- Anders dan Evenement AND rrr.res_rsv_ruimte_dirtlevel = 0 AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_bedrijf_key = 22 -- Huurder Chemelot Campus AND ab.prs_afdeling_key1 = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND ab.prs_afdeling_key1 = c.prs_afdeling_key_eig AND c.ins_discipline_key = 1841 AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = h.prs_bedrijf_key AND h.prs_bedrijf_key = btwnr.prs_link_key(+) AND h.prs_bedrijf_key = btwvl.prs_link_key(+) AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+) AND p.prs_perslid_key = pf.prs_perslid_key AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key AND rra.res_discipline_key = rd.ins_discipline_key --AND rd.ins_discipline_key = dp.res_ins_discipline_key --AND dp.prs_bedrijf_key = b.prs_bedrijf_key AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)) x GROUP BY '*CONCEPT*', --TRIM (COALESCE (x.cnt_contract_nummer, '-')), TRIM (COALESCE (x.res_kenmerkreservering_waarde, x.cnt_contract_nummer, '-')), x.cnt_contract_nummer_intern || '.' || COALESCE (x.cnt_contract_versie, '0'), '1' || TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) || x.prs_kostensoort_refcode || x.res_voorziening, 'Crossing campus (banqueting)', 'V' || x.res_id, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening, TO_CHAR (SYSDATE, 'dd-mm-yyyy'), TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy'), 'reservering', x.res_rsv_ruimte_key, x.prs_bedrijf_key, x.prs_bedrijf_naam, TRIM (x.debiteur_nr), x.btw_nr, NULL, --x.contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_perslid_naam_full, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')), DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')), DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 6, 9), 21)), DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)) , x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy'), TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy'), x.prs_kostensoort_refcode, x.prs_kostensoort_altcode, TO_NUMBER (NULL) UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (x.res_kenmerkreservering_waarde, '-')) po_nr, NULL contract_id, '2' || TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) || x.prs_kostensoort_refcode || x.res_voorziening sortering, 'Event ' || x.res_id regel, 'E' || x.res_id regel_id, DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2)) || ' uur]', 2, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening, x.res_voorziening) regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'reservering' xmlnode, x.res_rsv_ruimte_key refkey, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.debiteur_nr) debiteur_nr, x.btw_nr, NULL contactpersoon, --x.contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_perslid_naam_full aanvrager, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')) fin_btwtabelwaarde_code, DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')) fin_btwtabelwaarde_oms, --DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 6, 21)) fin_btwtabelwaarde_perc, DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 6, 9), 21)) fin_btwtabelwaarde_perc, -- Bah! DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, SUM (COALESCE (verw_prijs, prijs, 0)) mndnet, -- Netto bedrag --SUM (ROUND (DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 0.06, 0.21)) * COALESCE (verw_prijs, prijs, 0), 2)) mndbtw, -- BTW bedrag SUM (ROUND (DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 0.06, 0.09), 0.21)) * COALESCE (verw_prijs, prijs, 0), 2)) mndbtw, -- BTW bedrag 0 crf, -- CV=0 en CRF=1 x.prs_kostensoort_refcode grtboekrek, x.prs_kostensoort_altcode grtboekrek_oms, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key FROM (SELECT rrr.res_rsv_ruimte_key, -- Ruimte-regel rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id, kl.prs_kenmerklink_waarde debiteur_nr, ks.prs_kostensoort_refcode, ks.prs_kostensoort_altcode, 0 volgnr, (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24 aantal, -- Duur in uren rr.res_ruimte_nr || ' [' || TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy') || ']' res_voorziening, rrr.res_rsv_ruimte_van reslev, rrr.res_rsv_ruimte_prijs verw_prijs, res.getruimteprijs (rrr.res_rsv_ruimte_key) prijs, 'VH' btw, -- Hard 21% NULL, --c.cnt_contract_key, NULL, --c.cnt_contract_nummer, NULL, --c.ins_discipline_key, h.prs_bedrijf_key, h.prs_bedrijf_naam, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land, btwnr.prs_kenmerklink_waarde btw_nr, btwvl.prs_kenmerklink_waarde btw_vl, cp.contactpersoon, pf.prs_perslid_naam_full, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, kw.res_kenmerkreservering_waarde, lp.maand FROM lopendeperiode lp, res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, --cnt_v_aanwezigcontract c, prs_v_aanwezigbedrijf h, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd ( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon FROM prs_contactpersoon WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen GROUP BY prs_bedrijf_key) cp, prs_v_perslid_fullnames_all pf, res_ruimte rr, res_discipline rd, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, prs_kostensoort ks, (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager WHERE rrr.res_activiteit_key = 130 -- Evenement AND rrr.res_rsv_ruimte_van > TO_DATE ('20180501', 'yyyymmdd') AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE, 'mm') AND rrr.res_status_bo_key != 6 -- AV AND rrr.res_rsv_ruimte_dirtlevel = 0 AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen! AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_bedrijf_key = 22 -- Huurder Chemelot Campus AND ab.prs_afdeling_key1 = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer --AND ab.prs_afdeling_key1 = c.prs_afdeling_key_eig --AND c.ins_discipline_key = 1841 --AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand --AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand --AND c.cnt_contract_status = 0 -- Definitief --AND c.cnt_prs_bedrijf_key = h.prs_bedrijf_key AND kl.prs_kenmerklink_waarde = h.prs_overeenkomst_nr AND h.prs_bedrijf_key = btwnr.prs_link_key(+) AND h.prs_bedrijf_key = btwvl.prs_link_key(+) AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+) AND p.prs_perslid_key = pf.prs_perslid_key AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key AND rr.res_discipline_key = rd.ins_discipline_key AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+) UNION ALL -- Korting-regel SELECT rrr.res_rsv_ruimte_key, rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id, kl.prs_kenmerklink_waarde debiteur_nr, ks.prs_kostensoort_refcode, ks.prs_kostensoort_altcode, 1 volgnr, 1 aantal, 'Korting' || ' [' || TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy') || ']' res_voorziening, rrr.res_rsv_ruimte_van reslev, -1 * COALESCE (rrr.res_rsv_ruimte_korting, 0) verw_prijs, -1 * COALESCE (rrr.res_rsv_ruimte_korting, 0) prijs, 'VH' btw, -- Hard 21% NULL, --c.cnt_contract_key, NULL, --c.cnt_contract_nummer, NULL, --c.ins_discipline_key, h.prs_bedrijf_key, h.prs_bedrijf_naam, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land, btwnr.prs_kenmerklink_waarde btw_nr, btwvl.prs_kenmerklink_waarde btw_vl, cp.contactpersoon, pf.prs_perslid_naam_full, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, kw.res_kenmerkreservering_waarde, lp.maand FROM lopendeperiode lp, res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, --cnt_v_aanwezigcontract c, prs_v_aanwezigbedrijf h, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd ( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon FROM prs_contactpersoon WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen GROUP BY prs_bedrijf_key) cp, prs_v_perslid_fullnames_all pf, res_ruimte rr, res_discipline rd, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, prs_kostensoort ks, (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager WHERE rrr.res_activiteit_key = 130 -- Evenement AND rrr.res_rsv_ruimte_van > TO_DATE ('20180501', 'yyyymmdd') AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE, 'mm') AND rrr.res_status_bo_key != 6 -- AV AND rrr.res_rsv_ruimte_dirtlevel = 0 AND COALESCE (rrr.res_rsv_ruimte_korting, 0) != 0 AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen! AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_bedrijf_key = 22 -- Huurder Chemelot Campus AND ab.prs_afdeling_key1 = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer --AND ab.prs_afdeling_key1 = c.prs_afdeling_key_eig --AND c.ins_discipline_key = 1841 --AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand --AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand --AND c.cnt_contract_status = 0 -- Definitief --AND c.cnt_prs_bedrijf_key = h.prs_bedrijf_key AND kl.prs_kenmerklink_waarde = h.prs_overeenkomst_nr AND h.prs_bedrijf_key = btwnr.prs_link_key(+) AND h.prs_bedrijf_key = btwvl.prs_link_key(+) AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+) AND p.prs_perslid_key = pf.prs_perslid_key AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key AND rr.res_discipline_key = rd.ins_discipline_key AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+) UNION ALL -- Catering-regels SELECT rrr.res_rsv_ruimte_key, rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id, kl.prs_kenmerklink_waarde debiteur_nr, ks.prs_kostensoort_refcode, ks.prs_kostensoort_altcode, 2 volgnr, rra.res_rsv_artikel_aantal aantal, LTRIM (rra.res_artikel_omschrijving) || ' [' || TO_CHAR (res_rsv_artikel_levering, 'dd-mm-yyyy') || ']' res_voorziening, rra.res_rsv_artikel_levering reslev, rra.res_rsv_artikel_prijs verw_prijs, rra.res_rsv_artikel_aantal * rra.res_artikel_prijs prijs, rra.btw, NULL, --c.cnt_contract_key, NULL, --c.cnt_contract_nummer, NULL, --c.ins_discipline_key, h.prs_bedrijf_key, h.prs_bedrijf_naam, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land, btwnr.prs_kenmerklink_waarde btw_nr, btwvl.prs_kenmerklink_waarde btw_vl, cp.contactpersoon, pf.prs_perslid_naam_full, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, kw.res_kenmerkreservering_waarde, lp.maand FROM lopendeperiode lp, res_rsv_ruimte rrr, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, --cnt_v_aanwezigcontract c, prs_v_aanwezigbedrijf h, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd ( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon FROM prs_contactpersoon WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen GROUP BY prs_bedrijf_key) cp, prs_v_perslid_fullnames_all pf, (SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_levering, rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, ra.res_artikel_prijs, DECODE (COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw), NULL, 'VH', 21, 'VH', 'VL') btw, ra.res_discipline_key, ra.res_artikel_omschrijving, ra.res_artikel_eenheid FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd') AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') AND rra.res_rsv_artikel_verwerkt IS NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key NOT IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_levering, 0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, 0.75 * ra.res_artikel_prijs res_artikel_prijs, 'VL' btw, ra.res_discipline_key, ra.res_artikel_omschrijving, ra.res_artikel_eenheid FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd') AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') AND rra.res_rsv_artikel_verwerkt IS NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822) UNION ALL SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_levering, 0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, 0.25 * ra.res_artikel_prijs res_artikel_prijs, 'VH' btw, ra.res_discipline_key, ra.res_artikel_omschrijving, ra.res_artikel_eenheid FROM res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd') AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') AND rra.res_rsv_artikel_verwerkt IS NULL AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key IN (821, 822)) rra, res_discipline rd, --res_disc_params dp, --prs_bedrijf b, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, prs_kostensoort ks, (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager WHERE rrr.res_activiteit_key = 130 -- Evenement AND rrr.res_rsv_ruimte_dirtlevel = 0 AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_bedrijf_key = 22 -- Huurder Chemelot Campus AND ab.prs_afdeling_key1 = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer --AND ab.prs_afdeling_key1 = c.prs_afdeling_key_eig --AND c.ins_discipline_key = 1841 --AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand --AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand --AND c.cnt_contract_status = 0 -- Definitief --AND c.cnt_prs_bedrijf_key = h.prs_bedrijf_key AND kl.prs_kenmerklink_waarde = h.prs_overeenkomst_nr AND h.prs_bedrijf_key = btwnr.prs_link_key(+) AND h.prs_bedrijf_key = btwvl.prs_link_key(+) AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+) AND p.prs_perslid_key = pf.prs_perslid_key AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key AND rra.res_discipline_key = rd.ins_discipline_key --AND rd.ins_discipline_key = dp.res_ins_discipline_key --AND dp.prs_bedrijf_key = b.prs_bedrijf_key AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)) x GROUP BY '*CONCEPT*', TRIM (COALESCE (x.res_kenmerkreservering_waarde, '-')), NULL, '2' || TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) || x.prs_kostensoort_refcode || x.res_voorziening, 'Event ' || x.res_id, 'E' || x.res_id, DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2)) || ' uur]', 2, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening, x.res_voorziening), TO_CHAR (SYSDATE, 'dd-mm-yyyy'), TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy'), 'reservering', x.res_rsv_ruimte_key, x.prs_bedrijf_key, x.prs_bedrijf_naam, TRIM (x.debiteur_nr), x.btw_nr, NULL, --x.contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_perslid_naam_full, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')), DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')), DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 6, 9), 21)), DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)) , x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy'), TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy'), x.prs_kostensoort_refcode, x.prs_kostensoort_altcode, TO_NUMBER (NULL) UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (COALESCE (km.mld_kenmerkmelding_waarde, c.cnt_contract_nummer, '-')) po_nr, c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') contract_id, '3' || SUBSTR ('0000' || TO_CHAR (o.mld_melding_key), -7) || '/' || SUBSTR ('00' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr), -3) sortering, 'Klantwens ' || sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) regel, sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) regel_id, --td.ins_discipline_omschrijving || '/' || sm.mld_stdmelding_omschrijving regel_oms, DECODE (m.mld_melding_onderwerp, NULL, '', 'Subject: ' || TRIM (m.mld_melding_onderwerp) || CHR (13) || CHR (10)) || 'Description: ' || COALESCE (SUBSTR (TRIM (m.mld_melding_omschrijving), 1, 2000), '-') regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'opdracht' xmlnode, o.mld_opdr_key refkey, h.prs_bedrijf_key, h.prs_bedrijf_naam prs_debiteur_naam, TRIM (kl.prs_kenmerklink_waarde) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, NULL contactpersoon, --cp.contactpersoon, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land, pf.prs_perslid_naam_full aanvrager, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, --TO_CHAR (SYSDATE, 'yyyymm') maand, --TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin, --TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde, TO_CHAR (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'yyyymm') maand, TO_CHAR (TRUNC (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'mm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (fac.gettrackingdate ('ORDVER', o.mld_opdr_key)), 'dd-mm-yyyy') mndeinde, ROUND (COALESCE (o.mld_opdr_kosten, 0), 2) mndnet, -- Netto bedrag ROUND (DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * COALESCE (o.mld_opdr_kosten, 0), 2) mndbtw, -- BTW bedrag 0 crf, -- CV=0 en CRF=1 --COALESCE (ksm.prs_kostensoort_refcode, ksv.prs_kostensoort_refcode) grtboekrek, --COALESCE (ksm.prs_kostensoort_altcode, ksv.prs_kostensoort_altcode) grtboekrek_oms, COALESCE (kso.prs_kostensoort_refcode, ksm.prs_kostensoort_refcode, ksv.prs_kostensoort_refcode) grtboekrek, COALESCE (kso.prs_kostensoort_altcode, ksm.prs_kostensoort_altcode, ksv.prs_kostensoort_altcode) grtboekrek_oms, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key FROM mld_opdr o, mld_melding m, (SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key = 281) km, -- Refnr. aanvrager prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, cnt_v_aanwezigcontract c, prs_v_aanwezigbedrijf h, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd ( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon FROM prs_contactpersoon WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen GROUP BY prs_bedrijf_key) cp, prs_v_perslid_fullnames_all pf, alg_v_allonrgoed_gegevens og, mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, prs_kostensoort kso, prs_kostensoort ksm, prs_kostensoort ksv WHERE o.mld_typeopdr_key = 101 -- WO AND o.mld_statusopdr_key = 7 -- Verwerkt AND TO_CHAR (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'yyyy-mm-dd') >= '2019-06-01' -- Per 2019-06 nieuwe werkwijze! --AND TO_CHAR (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'yyyy-mm-dd') <= TO_CHAR (TRUNC (SYSDATE, 'iw') + 3, 'yyyy-mm-dd') -- Doorgezet ProQuro/wekelijks van woensdag op donderdag --AND TO_CHAR (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'yyyy-mm-dd') <= TO_CHAR (SYSDATE, 'yyyy-mm-dd') -- Doorgezet ProQuro/wekelijks op 1e, 8e, 15e, 22e AND NOT EXISTS -- Nog niet gefactureerd! (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_xmlnode = 'opdracht' AND fin_verkoopfactuur_refkey = o.mld_opdr_key) AND COALESCE (o.mld_opdr_kosten, 0) != 0 AND o.mld_melding_key = m.mld_melding_key AND m.mld_melding_key = km.mld_melding_key(+) AND m.prs_perslid_key_voor = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_bedrijf_key = 22 -- Huurder Chemelot Campus AND ab.prs_afdeling_key1 = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND ab.prs_afdeling_key1 = c.prs_afdeling_key_eig AND c.ins_discipline_key = 1842 --AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TRUNC (SYSDATE, 'mm')) -- Van-datum < einde te factureren maand --AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TRUNC (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'mm')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TRUNC (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'mm') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = h.prs_bedrijf_key AND h.prs_bedrijf_key = btwnr.prs_link_key(+) AND h.prs_bedrijf_key = btwvl.prs_link_key(+) AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+) AND p.prs_perslid_key = pf.prs_perslid_key AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key AND SUBSTR (kp.prs_kostenplaats_upper, 1, 5) = '50900' AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key AND o.prs_kostensoort_key = kso.prs_kostensoort_key(+) AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+) AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+) UNION ALL -- Correctiemeldingen SELECT fin_verkoopfactuur_id, po_nr, contract_id, sortering, regel, regel_id, regel_oms, factuurdatum, vervaldatum, xmlnode, refkey, prs_bedrijf_key, prs_debiteur_naam, debiteur_nr, btw_nr, contactpersoon, adres, postcode, plaats, land, aanvrager, prs_kostenplaats_key, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaatsgrp_oms, fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, maand, mndbegin, mndeinde, mndnet, mndbtw, crf, -- CV=0 en CRF=1 grtboekrek, grtboekrek_oms, mld_melding_key FROM blcc_v_addd_correctie UNION ALL -- Losverkoopmeldingen SELECT fin_verkoopfactuur_id, po_nr, contract_id, sortering, regel, regel_id, regel_oms, factuurdatum, vervaldatum, xmlnode, refkey, prs_bedrijf_key, prs_debiteur_naam, debiteur_nr, btw_nr, contactpersoon, adres, postcode, plaats, land, aanvrager, prs_kostenplaats_key, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaatsgrp_oms, fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, maand, mndbegin, mndeinde, mndnet, mndbtw, crf, -- CV=0 en CRF=1 grtboekrek, grtboekrek_oms, mld_melding_key FROM blcc_v_addd_losverkoop ; CREATE OR REPLACE VIEW blcc_v_addd_frozen AS SELECT vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_c1 po_nr, vf.fin_verkoopfactuur_c2 contract_id, vf.fin_verkoopfactuur_c3 sortering, SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '=') - 1) regel, SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '=') + 1) regel_id, vf.fin_verkoopfactuur_c8 regel_oms, TO_CHAR (vf.fin_verkoopfactuur_datum, 'dd-mm-yyyy') factuurdatum, TO_CHAR (vf.fin_verkoopfactuur_d1, 'dd-mm-yyyy') vervaldatum, vf.fin_verkoopfactuur_xmlnode xmlnode, vf.fin_verkoopfactuur_refkey refkey, vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, SUBSTR (vf.fin_verkoopfactuur_c7, INSTR (vf.fin_verkoopfactuur_c7, '=') + 1) btw_nr, --vf.fin_verkoopfactuur_c4 contactpersoon, '-' contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, -- Niet historisch bewaard! DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, -- Niet historisch bewaard! DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, -- Niet historisch bewaard! DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, -- Niet historisch bewaard! vf.fin_verkoopfactuur_c5 aanvrager, vf.prs_kostenplaats_key, vf.prs_kostenplaats_nr, vf.prs_kostenplaats_omschrijving, vf.prs_kostenplaatsgrp_oms, vf.fin_btwtabelwaarde_code, vf.fin_btwtabelwaarde_oms, vf.fin_btwtabelwaarde_perc, vf.fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, vf.fin_verkoopfactuur_bedrag mndnet, -- Netto bedrag vf.fin_verkoopfactuur_btw mndbtw, -- BTW bedrag vf.fin_verkoopfactuur_n3 crf, vf.prs_kostensoort_refcode grtboekrek, vf.prs_kostensoort_oms grtboekrek_oms, vf.fin_verkoopfactuur_n1 mld_melding_key FROM fin_verkoopfactuur vf, prs_bedrijf b WHERE SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) IN ('3', '4') AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.prs_bedrijf_key = b.prs_bedrijf_key ORDER BY vf.prs_bedrijf_key, 1, 2, 3, 4; CREATE OR REPLACE PROCEDURE blcc_select_addd (p_applname IN VARCHAR2, p_applrun IN VARCHAR2) AS -- BLCC#55646: Per 2019-06 factureer/bevries maandelijks alle RES-kosten en -- wekelijks de Klantwens-kosten (op 1e, 8e, 15e, 22e). -- NB. Voorheen gebeurde alles maandelijks en voor ADDD-export -- zijn correctie-meldingen nooit geintroduceerd. CURSOR c1a -- RES-kosten IS SELECT '[' || v.regel_id || '|' || v.prs_debiteur_naam || '] ' aanduiding, v.*, m.mld_melding_status FROM (SELECT * FROM blcc_v_addd_actual WHERE xmlnode = 'reservering') v LEFT JOIN mld_melding m -- Nooit geintroduceerd! ON v.mld_melding_key = m.mld_melding_key ORDER BY v.prs_bedrijf_key, v.po_nr, v.sortering; CURSOR c1b -- Klantwens-kosten IS SELECT '[' || v.regel_id || '|' || v.prs_debiteur_naam || '] ' aanduiding, v.*, m.mld_melding_status FROM (SELECT * FROM blcc_v_addd_actual WHERE xmlnode = 'opdracht' AND fac.gettrackingdate ('ORDVER', refkey) < TRUNC (SYSDATE)) v LEFT JOIN mld_melding m -- Nooit geintroduceerd! ON v.mld_melding_key = m.mld_melding_key ORDER BY v.prs_bedrijf_key, v.po_nr, v.sortering; -- Factureer/bevries ADDD-correcties en verwerk=AV alle correctiemeldingen! CURSOR c1c IS SELECT '[' || v.regel_id || '|' || v.prs_debiteur_naam || '|' || REPLACE (REPLACE (REPLACE (v.regel, CHR (10), ''), CHR (13), ' '), '=', '~') || '] ' aanduiding, v.*, m.mld_melding_status FROM blcc_v_addd_correctie v, mld_melding m WHERE v.mld_melding_key = m.mld_melding_key -- Dagelijkse correctiefacturatie ORDER BY v.prs_bedrijf_key, v.regel_id, -- Factuur per te corrigeren verkoopfactuur v.mld_melding_key, v.sortering; -- Factureer/bevries ADDD-losverkopen en verwerk=AV alle losverkoopmeldingen! CURSOR c1d IS SELECT '[' || v.regel_id || '|' || v.prs_debiteur_naam || '|' || REPLACE (REPLACE (REPLACE (v.regel, CHR (10), ''), CHR (13), ' '), '=', '~') || '] ' aanduiding, v.*, m.mld_melding_status FROM blcc_v_addd_losverkoop v, mld_melding m WHERE v.mld_melding_key = m.mld_melding_key -- Dagelijkse losverkoopfacturatie ORDER BY v.prs_bedrijf_key, v.mld_melding_key, -- Factuur per losverkoopmelding v.sortering; -- Verstuur verkoopfactuur/correctiefactuur/losverkoopfactuur naar huurder. CURSOR c2 IS SELECT '[' || vf.fin_verkoopfactuur_id || '|' || vf.fin_verkoopfactuur_maand || '|' || vf.prs_debiteur_naam || '] ' aanduiding, vf.fin_verkoopfactuur_xmlnode, vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_maand, vf.prs_debiteur_naam, vfk.fin_verkoopfactuurkop_key, vfk.fin_verkoopfactuurkop_id, b.prs_bedrijf_email, MAX (fin_verkoopfactuur_n1) mld_melding_key FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b WHERE SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) IN ('3', '4') AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND vf.fin_verkoopfactuur_aanmaak > TRUNC (SYSDATE) -- Zojuist/vannacht aangemaakt en dus nog niet gefactureerd(/genotificeerd)! GROUP BY '[' || vf.fin_verkoopfactuur_id || '|' || vf.fin_verkoopfactuur_maand || '|' || vf.prs_debiteur_naam || '] ', vf.fin_verkoopfactuur_xmlnode, vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_maand, vf.prs_debiteur_naam, vfk.fin_verkoopfactuurkop_key, vfk.fin_verkoopfactuurkop_id, b.prs_bedrijf_email ORDER BY vf.fin_verkoopfactuur_id; -- Verwerk reserveringen (in juiste volgorde)! CURSOR c3 IS SELECT DISTINCT '[' || TO_CHAR (rra.res_rsv_ruimte_key) || '|' || TO_CHAR (rra.res_rsv_artikel_key) || '] ' aanduiding, rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key, rra.res_status_bo_key, rra.res_artikel_key FROM fin_verkoopfactuur vf, res_v_aanwezigrsv_artikel rra WHERE SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) IN ('3', '4') AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.fin_verkoopfactuur_xmlnode = 'reservering' AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm') AND vf.fin_verkoopfactuur_refkey = rra.res_rsv_ruimte_key UNION ALL SELECT DISTINCT '[' || TO_CHAR (rrr.res_rsv_ruimte_key) || '] ' aanduiding, rrr.res_rsv_ruimte_key, NULL res_rsv_artikel_key, rrr.res_status_bo_key, NULL res_artikel_key FROM fin_verkoopfactuur vf, res_v_aanwezigrsv_ruimte rrr WHERE SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) IN ('3', '4') AND vf.fin_verkoopfactuur_n2 IS NULL -- Onderscheid ADDD vs. FACT; als NULL, dan ADDD! AND vf.fin_verkoopfactuur_xmlnode = 'reservering' AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm') AND vf.fin_verkoopfactuur_refkey = rrr.res_rsv_ruimte_key ORDER BY 3, 2; c_cm_factid_kkey NUMBER (10) := 1681; -- 'Gefactureerd met'-key voor correctiemeldingen (ACCP-key=2221 en PROD-key=1681); c_lvm_factid_kkey NUMBER (10) := 1682; -- 'Gefactureerd met'-key voor losverkoopmeldingen (ACCP-key=2222 en PROD-key=1682); v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_holiday NUMBER; v_fact_count NUMBER; v_amount_sum NUMBER (10, 2); v_old_bedrijf_key NUMBER (10); v_old_po_nr VARCHAR2 (50); v_old_melding_oms VARCHAR2 (200); -- Factuur per te corrigeren verkoopfactuur! v_factuur_id VARCHAR2 (30); v_factkop_id VARCHAR2 (30); v_verkoopfactuurkop_key NUMBER (10); v_count NUMBER; v_prijs NUMBER (9, 2); BEGIN -- Eerst opruiming DELETE FROM imp_log WHERE imp_log_applicatie = p_applname; SELECT COUNT ( * ) INTO v_holiday FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1); -- LET OP: ADDD-export draait dagelijks na middernacht (begin van dag). -- De RES-verkoop wordt maandelijks alleen in nacht na 10e werkdag van de -- maand gefactureerd icm. het doorzetten naar Twinfield. -- IF 10e werkdag van maand (én geen weekend én geen vrije dag)! -- count_work_days (d1,d2) bepaalt het #werkdagen van d1 tot d2 (als d1=d2, -- dan return 0); daarom bepalen tov. laatste dag van vorige maand! IF (FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 10 -- Nacht na 10e werkdag! AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6' AND v_holiday = 0) THEN v_fact_count := 0; v_amount_sum := 0; v_old_bedrijf_key := -1; v_old_po_nr := ''; -- Factureer/bevries kosten van additionele diensten en verwerk=AV alle -- eventuele correctiemeldingen. FOR rec IN c1a LOOP BEGIN IF rec.mndnet != 0 AND (rec.prs_bedrijf_key != v_old_bedrijf_key OR rec.po_nr != v_old_po_nr) THEN -- BLCC#56148: Per feb. 2019 nieuwe sequence/BCC-verkoopboek en -- altijd doorlopende boekstuknummers beginnend met -- een '3'! -- BLCC#64393: Per 2021 CV-huurfacturen beginnen met een '3' en -- CRF-huurfacturen beginnen met een '4'! IF COALESCE (rec.crf, 0) = 0 THEN SELECT fac_s_user03.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '3' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); ELSE SELECT fac_s_user04.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '4' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); END IF; v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr; INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id) VALUES (v_factkop_id) RETURNING fin_verkoopfactuurkop_key INTO v_verkoopfactuurkop_key; COMMIT; v_old_bedrijf_key := rec.prs_bedrijf_key; v_old_po_nr := rec.po_nr; END IF; IF rec.mndnet != 0 THEN v_errormsg := 'Fout toevoegen verkoopfactuur'; INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key, fin_verkoopfactuur_id, fin_verkoopfactuur_datum, fin_verkoopfactuur_omschr, fin_verkoopfactuur_xmlnode, fin_verkoopfactuur_refkey, prs_kostenplaats_key, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaatsgrp_oms, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_bedrijf_key, prs_debiteur_naam, prs_kostensoortgrp_oms, fin_verkoopfactuur_bedrag, fin_verkoopfactuur_btw, fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, fin_verkoopfactuur_maand, fin_verkoopfactuur_n1, fin_verkoopfactuur_n2, fin_verkoopfactuur_n3, fin_verkoopfactuur_n4, fin_verkoopfactuur_n5, fin_verkoopfactuur_c1, fin_verkoopfactuur_c2, fin_verkoopfactuur_c3, fin_verkoopfactuur_c4, fin_verkoopfactuur_c5, fin_verkoopfactuur_c6, fin_verkoopfactuur_c7, fin_verkoopfactuur_c8, fin_verkoopfactuur_d1, fin_verkoopfactuur_d2, fin_verkoopfactuur_d3, fin_verkoopfactuur_d4, fin_verkoopfactuur_d5) VALUES (v_verkoopfactuurkop_key, v_factuur_id, TO_DATE (rec.factuurdatum, 'dd-mm-yyyy') - 1, -- BLCC#58906: Factuur- en Vervaldatum antedateren naar voorgaande dag! rec.regel || '=' || rec.regel_id, rec.xmlnode, rec.refkey, rec.prs_kostenplaats_key, rec.prs_kostenplaats_nr, rec.prs_kostenplaats_omschrijving, rec.prs_kostenplaatsgrp_oms, rec.grtboekrek_oms, rec.grtboekrek, rec.grtboekrek, rec.prs_bedrijf_key, rec.prs_debiteur_naam, NULL, rec.mndnet, rec.mndbtw, rec.fin_btwtabelwaarde_code, rec.fin_btwtabelwaarde_oms, rec.fin_btwtabelwaarde_perc, rec.fin_btwtabelwaarde_verlegd, rec.maand, rec.mld_melding_key, -- n1/leeg TO_NUMBER (NULL), -- n2/NULL (Onderscheid ADDD vs. FACT; als NULL, dan ADDD!) rec.crf, -- n3/crf TO_NUMBER (NULL), -- n4 TO_NUMBER (NULL), -- n5 rec.po_nr, -- c1 rec.contract_id, -- c2 rec.sortering, -- c3 NULL, -- c4 rec.aanvrager, -- c5 NULL, -- c6 rec.debiteur_nr || '=' || rec.btw_nr, -- c7 rec.regel_oms, -- c8 TO_DATE (rec.vervaldatum, 'dd-mm-yyyy') - 1, -- d1/BLCC#58906: Factuur- en Vervaldatum antedateren naar voorgaande dag! TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2 TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3 TO_DATE (NULL), -- d4 TO_DATE (NULL)); -- d5 COMMIT; v_fact_count := v_fact_count + 1; v_amount_sum := v_amount_sum + rec.mndnet; END IF; IF rec.mld_melding_key IS NOT NULL -- Correctiemelding? THEN v_errormsg := 'Fout verwerken correctiemelding'; -- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus -- eerst afmelden (als nog niet Afgemeld)! IF rec.mld_melding_status = 4 -- ACP THEN MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM END IF; MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER END IF; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD[a]-freeze'); COMMIT; END; END LOOP; fac.writelog (p_applname, 'S', 'ADDD[a]-verkoop/#regels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum)); -- Verstuur verkoopfactuur naar huurder. FOR rec IN c2 LOOP BEGIN IF rec.fin_verkoopfactuur_xmlnode = 'reservering' -- Cursor bevat soms ook opdracht/melding-nodes! THEN v_errormsg := 'Fout toevoegen CUST02-noti'; INSERT INTO fac_notificatie (fac_srtnotificatie_key, fac_notificatie_status, fac_notificatie_receiver_email, fac_notificatie_oms, fac_notificatie_refkey, fac_notificatie_prioriteit, fac_notificatie_datum, fac_notificatie_sender_email, fac_notificatie_attachments) VALUES (341, -- CUST02-noti 2, -- Mail DECODE ( -- To-adres rec.prs_bedrijf_email, NULL, 'accountsreceivable.ccampus@brightlands.com', rec.prs_bedrijf_email || ';accountsreceivable.ccampus@brightlands.com'), 'Factuur ' || rec.fin_verkoopfactuur_id || ' ' || rec.fin_verkoopfactuur_maand || ' ' || rec.prs_debiteur_naam, rec.fin_verkoopfactuurkop_key, 2, -- Prioriteit TRUNC (SYSDATE) + (7 / 24), 'accountsreceivable.ccampus@brightlands.com', -- From-adres '/../../Fplace5i/CUST/BLCC/export/PDF/Backup/' || rec.fin_verkoopfactuurkop_id || '.pdf'); END IF; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD[a]-noti'); COMMIT; END; END LOOP; FOR rec IN c3 LOOP BEGIN IF rec.res_rsv_artikel_key IS NOT NULL THEN -- Catering-regel IF rec.res_status_bo_key = 2 THEN v_errormsg := 'Fout bepalen res_rsv_artikel_prijs'; SELECT res.getartikelprijs (rec.res_rsv_artikel_key) INTO v_prijs FROM DUAL; v_errormsg := 'Fout afmelden res_rsv_artikel'; UPDATE res_rsv_artikel SET res_status_bo_key = 5, res_rsv_artikel_prijs = v_prijs, res_rsv_artikel_inkoopprijs = (SELECT res_artikel_inkoopprijs FROM res_artikel WHERE res_artikel_key = rec.res_artikel_key), res_rsv_artikel_btw = (SELECT res_artikel_btw FROM res_artikel WHERE res_artikel_key = rec.res_artikel_key) WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key; v_errormsg := 'Fout tracken afmelding'; fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering afgemeld'); END IF; IF rec.res_status_bo_key != 6 THEN v_errormsg := 'Fout verwerken res_rsv_artikel'; UPDATE res_rsv_artikel SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-date) WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key; v_errormsg := 'Fout tracken verwerking'; fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering verwerkt'); END IF; ELSE -- Ruimte-regel IF rec.res_status_bo_key = 2 THEN v_errormsg := 'Fout bepalen res_rsv_ruimte_prijs'; SELECT res.getruimteprijs (rec.res_rsv_ruimte_key) INTO v_prijs FROM DUAL; v_errormsg := 'Fout afmelden res_rsv_ruimte'; UPDATE res_rsv_ruimte SET res_status_bo_key = 5, res_rsv_ruimte_prijs = v_prijs WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key; v_errormsg := 'Fout tracken afmelding'; fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, NULL); END IF; IF rec.res_status_bo_key != 6 THEN v_errormsg := 'Fout verwerken res_rsv_ruimte'; UPDATE res_rsv_ruimte SET res_status_bo_key = 6 -- AV WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key; v_errormsg := 'Fout tracken verwerking'; fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, NULL); END IF; END IF; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'W', rec.aanduiding || v_errormsg, 'ADDD[a]-AV'); COMMIT; END; END LOOP; END IF; -- LET OP: ADDD-export draait dagelijks na middernacht (begin van dag). -- Klantwensen worden per 2019-06 (BLCC#56408) wekelijks gefactureerd (icm. -- het doorzetten naar Twinfield). -- BLCC#58906: Per 1/9 niet meer wekelijks nacht na woensdag, maar op vaste -- dagen volgens schema, nl. op 1e, 8e, 15, 22e! IF TO_CHAR (SYSDATE, 'dd') IN ('01', '08', '15', '22') -- Op 1e, 8e, 15, 22e! THEN v_fact_count := 0; v_amount_sum := 0; --v_old_bedrijf_key := -1; --v_old_po_nr := ''; -- Factureer/bevries kosten van additionele diensten en verwerk=AV alle -- eventuele correctiemeldingen. FOR rec IN c1b LOOP BEGIN --IF rec.mndnet != 0 AND (rec.prs_bedrijf_key != v_old_bedrijf_key OR rec.po_nr != v_old_po_nr) IF rec.mndnet != 0 -- Elke Klantwens (kosten!=0) op eigen factuur! THEN -- BLCC#56148: Per feb. 2019 nieuwe sequence/BCC-verkoopboek en -- altijd doorlopende boekstuknummers beginnend met -- een '3'! -- BLCC#64393: Per 2021 CV-huurfacturen beginnen met een '3' en -- CRF-huurfacturen beginnen met een '4'! IF COALESCE (rec.crf, 0) = 0 THEN SELECT fac_s_user03.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '3' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); ELSE SELECT fac_s_user04.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '4' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); END IF; v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr; INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id) VALUES (v_factkop_id) RETURNING fin_verkoopfactuurkop_key INTO v_verkoopfactuurkop_key; COMMIT; --v_old_bedrijf_key := rec.prs_bedrijf_key; --v_old_po_nr := rec.po_nr; v_errormsg := 'Fout toevoegen verkoopfactuur'; INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key, fin_verkoopfactuur_id, fin_verkoopfactuur_datum, fin_verkoopfactuur_omschr, fin_verkoopfactuur_xmlnode, fin_verkoopfactuur_refkey, prs_kostenplaats_key, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaatsgrp_oms, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_bedrijf_key, prs_debiteur_naam, prs_kostensoortgrp_oms, fin_verkoopfactuur_bedrag, fin_verkoopfactuur_btw, fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, fin_verkoopfactuur_maand, fin_verkoopfactuur_n1, fin_verkoopfactuur_n2, fin_verkoopfactuur_n3, fin_verkoopfactuur_n4, fin_verkoopfactuur_n5, fin_verkoopfactuur_c1, fin_verkoopfactuur_c2, fin_verkoopfactuur_c3, fin_verkoopfactuur_c4, fin_verkoopfactuur_c5, fin_verkoopfactuur_c6, fin_verkoopfactuur_c7, fin_verkoopfactuur_c8, fin_verkoopfactuur_d1, fin_verkoopfactuur_d2, fin_verkoopfactuur_d3, fin_verkoopfactuur_d4, fin_verkoopfactuur_d5) VALUES (v_verkoopfactuurkop_key, v_factuur_id, TO_DATE (rec.factuurdatum, 'dd-mm-yyyy') - 1, -- BLCC#58906: Factuur- en Vervaldatum antedateren naar voorgaande dag! rec.regel || '=' || rec.regel_id, rec.xmlnode, rec.refkey, rec.prs_kostenplaats_key, rec.prs_kostenplaats_nr, rec.prs_kostenplaats_omschrijving, rec.prs_kostenplaatsgrp_oms, rec.grtboekrek_oms, rec.grtboekrek, rec.grtboekrek, rec.prs_bedrijf_key, rec.prs_debiteur_naam, NULL, rec.mndnet, rec.mndbtw, rec.fin_btwtabelwaarde_code, rec.fin_btwtabelwaarde_oms, rec.fin_btwtabelwaarde_perc, rec.fin_btwtabelwaarde_verlegd, rec.maand, rec.mld_melding_key, -- n1/leeg TO_NUMBER (NULL), -- n2/NULL (Onderscheid ADDD vs. FACT; als NULL, dan ADDD!) rec.crf, -- n3/crf TO_NUMBER (NULL), -- n4 TO_NUMBER (NULL), -- n5 rec.po_nr, -- c1 rec.contract_id, -- c2 rec.sortering, -- c3 NULL, -- c4 rec.aanvrager, -- c5 NULL, -- c6 rec.debiteur_nr || '=' || rec.btw_nr, -- c7 rec.regel_oms, -- c8/leeg? TO_DATE (rec.vervaldatum, 'dd-mm-yyyy') - 1, -- d1/BLCC#58906: Factuur- en Vervaldatum antedateren naar voorgaande dag! TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2 TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3 TO_DATE (NULL), -- d4 TO_DATE (NULL)); -- d5 COMMIT; v_fact_count := v_fact_count + 1; v_amount_sum := v_amount_sum + rec.mndnet; END IF; -- Markeren als 'Doorgezet naar Twinfield'! v_errormsg := 'Fout markeren Opdracht2Twinfield'; INSERT INTO mld_kenmerkopdr (mld_opdr_key, mld_kenmerk_key, mld_kenmerkopdr_waarde) VALUES (rec.refkey, 582, -- Doorgezet naar Twinfield TO_CHAR (SYSDATE, 'dd-mm-yyyy')); IF rec.mld_melding_key IS NOT NULL -- Correctiemelding? THEN v_errormsg := 'Fout verwerken correctiemelding'; -- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus -- eerst afmelden (als nog niet Afgemeld)! IF rec.mld_melding_status = 4 -- ACP THEN MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM END IF; MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER END IF; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD[b]-freeze'); COMMIT; END; END LOOP; fac.writelog (p_applname, 'S', 'ADDD[b]-verkoop/#regels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum)); -- Verstuur verkoopfactuur naar huurder. FOR rec IN c2 LOOP BEGIN IF rec.fin_verkoopfactuur_xmlnode = 'opdracht' -- Cursor bevat soms ook reservering/melding-nodes! THEN v_errormsg := 'Fout toevoegen CUST02-noti'; INSERT INTO fac_notificatie (fac_srtnotificatie_key, fac_notificatie_status, fac_notificatie_receiver_email, fac_notificatie_oms, fac_notificatie_refkey, fac_notificatie_prioriteit, fac_notificatie_datum, fac_notificatie_sender_email, fac_notificatie_attachments) VALUES (341, -- CUST02-noti 2, -- Mail DECODE ( -- To-adres rec.prs_bedrijf_email, NULL, 'accountsreceivable.ccampus@brightlands.com', rec.prs_bedrijf_email || ';accountsreceivable.ccampus@brightlands.com'), 'Factuur ' || rec.fin_verkoopfactuur_id || ' ' || rec.fin_verkoopfactuur_maand || ' ' || rec.prs_debiteur_naam, rec.fin_verkoopfactuurkop_key, 2, -- Prioriteit TRUNC (SYSDATE) + (7 / 24), 'accountsreceivable.ccampus@brightlands.com', -- From-adres '/../../Fplace5i/CUST/BLCC/export/PDF/Backup/' || rec.fin_verkoopfactuurkop_id || '.pdf'); END IF; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD[b]-noti'); COMMIT; END; END LOOP; END IF; -- LET OP: ADDD-export correctie- én losverkoopfacturen (= boekingsgangen) -- draait dagelijks na middernacht (begin van dag) en de verkoop wordt ook -- elke nacht doorgezet. IF 1 = 1 THEN v_fact_count := 0; v_amount_sum := 0; v_old_melding_oms := 'Quqelequ'; -- Factuur per te corrigeren verkoopfactuur! -- Factureer/bevries ADDD-correctiekosten en verwerk=AV correctiemeldingen. FOR rec IN c1c LOOP BEGIN IF rec.mndnet != 0 AND rec.regel_id != v_old_melding_oms THEN -- BLCC#64393: Per 2021 CV-huurfacturen beginnen met een '3' en -- CRF-huurfacturen beginnen met een '4'! IF COALESCE (rec.crf, 0) = 0 THEN SELECT fac_s_user03.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '3' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); ELSE SELECT fac_s_user04.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '4' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); END IF; v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr; INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id) VALUES (v_factkop_id) RETURNING fin_verkoopfactuurkop_key INTO v_verkoopfactuurkop_key; COMMIT; v_old_melding_oms := rec.regel_id; END IF; IF rec.mndnet != 0 THEN v_errormsg := 'Fout toevoegen verkoopfactuur'; INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key, fin_verkoopfactuur_id, fin_verkoopfactuur_datum, fin_verkoopfactuur_omschr, fin_verkoopfactuur_xmlnode, fin_verkoopfactuur_refkey, prs_kostenplaats_key, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaatsgrp_oms, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_bedrijf_key, prs_debiteur_naam, prs_kostensoortgrp_oms, fin_verkoopfactuur_bedrag, fin_verkoopfactuur_btw, fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, fin_verkoopfactuur_maand, fin_verkoopfactuur_n1, fin_verkoopfactuur_n2, fin_verkoopfactuur_n3, fin_verkoopfactuur_n4, fin_verkoopfactuur_n5, fin_verkoopfactuur_c1, fin_verkoopfactuur_c2, fin_verkoopfactuur_c3, fin_verkoopfactuur_c4, fin_verkoopfactuur_c5, fin_verkoopfactuur_c6, fin_verkoopfactuur_c7, fin_verkoopfactuur_c8, fin_verkoopfactuur_d1, fin_verkoopfactuur_d2, fin_verkoopfactuur_d3, fin_verkoopfactuur_d4, fin_verkoopfactuur_d5) VALUES (v_verkoopfactuurkop_key, v_factuur_id, TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'), -- Niet antedateren naar voorgaande dag! REPLACE (REPLACE (REPLACE (rec.regel, CHR (10), ''), CHR (13), ' '), '=', '~') || '=' || rec.regel_id, -- regel=Regelomschrijving + regel_id=fin_verkoopfactuur_id van te corrigeren factuur? rec.xmlnode, -- melding of contract (don't care)? rec.refkey, -- melding of contract (don't care)? rec.prs_kostenplaats_key, rec.prs_kostenplaats_nr, rec.prs_kostenplaats_omschrijving, rec.prs_kostenplaatsgrp_oms, rec.grtboekrek_oms, rec.grtboekrek, rec.grtboekrek, rec.prs_bedrijf_key, rec.prs_debiteur_naam, NULL, rec.mndnet, rec.mndbtw, rec.fin_btwtabelwaarde_code, rec.fin_btwtabelwaarde_oms, rec.fin_btwtabelwaarde_perc, rec.fin_btwtabelwaarde_verlegd, rec.maand, rec.mld_melding_key, -- n1/correctiemelding TO_NUMBER (NULL), -- n2/NULL (Onderscheid ADDD vs. FACT; als NULL, dan ADDD!) rec.crf, -- n3/crf TO_NUMBER (NULL), -- n4 TO_NUMBER (NULL), -- n5 rec.po_nr, -- c1 rec.contract_id, -- c2 rec.sortering, -- c3 NULL, -- c4 rec.aanvrager, -- c5 NULL, -- c6 rec.debiteur_nr || '=' || rec.btw_nr, -- c7 rec.regel_oms, -- c8/leeg TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1/niet antedateren naar voorgaande dag! TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2 TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3 TO_DATE (NULL), -- d4 TO_DATE (NULL)); -- d5 COMMIT; v_fact_count := v_fact_count + 1; v_amount_sum := v_amount_sum + rec.mndnet; END IF; -- BLCC#64642: Toevoegen 'Gefactureerd met' bij correctiemelding! v_errormsg := 'Fout toevoegen Gefactureerd-kenmerkmelding'; INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde) VALUES (rec.mld_melding_key, c_cm_factid_kkey, v_factuur_id); v_errormsg := 'Fout verwerken correctiemelding'; -- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus dan -- eerst afmelden (als nog niet Afgemeld)! IF (rec.mld_melding_status = 4) -- ACP THEN MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM END IF; MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD-freeze'); COMMIT; END; END LOOP; fac.writelog (p_applname, 'S', 'ADDD[c]-verkoop/#correctieregels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum)); v_fact_count := 0; v_amount_sum := 0; v_old_melding_oms := 'Quqelequ'; -- Factuur per te corrigeren verkoopfactuur! -- Factureer/bevries ADDD-losverkoopkosten en verwerk=AV losverkoopmeldingen. FOR rec IN c1d LOOP BEGIN IF rec.mndnet != 0 AND rec.regel_id != v_old_melding_oms THEN -- BLCC#64393: Per 2021 CV-huurfacturen beginnen met een '3' en -- CRF-huurfacturen beginnen met een '4'! IF COALESCE (rec.crf, 0) = 0 THEN SELECT fac_s_user03.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '3' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); ELSE SELECT fac_s_user04.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '4' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); END IF; v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr; INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id) VALUES (v_factkop_id) RETURNING fin_verkoopfactuurkop_key INTO v_verkoopfactuurkop_key; COMMIT; v_old_melding_oms := rec.regel_id; END IF; IF rec.mndnet != 0 THEN v_errormsg := 'Fout toevoegen verkoopfactuur'; INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key, fin_verkoopfactuur_id, fin_verkoopfactuur_datum, fin_verkoopfactuur_omschr, fin_verkoopfactuur_xmlnode, fin_verkoopfactuur_refkey, prs_kostenplaats_key, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaatsgrp_oms, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_bedrijf_key, prs_debiteur_naam, prs_kostensoortgrp_oms, fin_verkoopfactuur_bedrag, fin_verkoopfactuur_btw, fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, fin_verkoopfactuur_maand, fin_verkoopfactuur_n1, fin_verkoopfactuur_n2, fin_verkoopfactuur_n3, fin_verkoopfactuur_n4, fin_verkoopfactuur_n5, fin_verkoopfactuur_c1, fin_verkoopfactuur_c2, fin_verkoopfactuur_c3, fin_verkoopfactuur_c4, fin_verkoopfactuur_c5, fin_verkoopfactuur_c6, fin_verkoopfactuur_c7, fin_verkoopfactuur_c8, fin_verkoopfactuur_d1, fin_verkoopfactuur_d2, fin_verkoopfactuur_d3, fin_verkoopfactuur_d4, fin_verkoopfactuur_d5) VALUES (v_verkoopfactuurkop_key, v_factuur_id, TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'), -- Niet antedateren naar voorgaande dag! REPLACE (REPLACE (REPLACE (rec.regel, CHR (10), ''), CHR (13), ' '), '=', '~') || '=' || rec.regel_id, -- regel=Regelomschrijving + regel_id=mld_melding_key van losverkoopmelding? rec.xmlnode, -- melding of contract (don't care)? rec.refkey, -- melding of contract (don't care)? rec.prs_kostenplaats_key, rec.prs_kostenplaats_nr, rec.prs_kostenplaats_omschrijving, rec.prs_kostenplaatsgrp_oms, rec.grtboekrek_oms, DECODE (SIGN (LENGTH (rec.grtboekrek) - 4), -1, SUBSTR ('000' || rec.grtboekrek, -4), rec.grtboekrek), -- BLCC#64759: Evt. leading zeroes weer aanvullen tot 4 posities! DECODE (SIGN (LENGTH (rec.grtboekrek) - 4), -1, SUBSTR ('000' || rec.grtboekrek, -4), rec.grtboekrek), -- BLCC#64759: Evt. leading zeroes weer aanvullen tot 4 posities! rec.prs_bedrijf_key, rec.prs_debiteur_naam, NULL, rec.mndnet, rec.mndbtw, rec.fin_btwtabelwaarde_code, rec.fin_btwtabelwaarde_oms, rec.fin_btwtabelwaarde_perc, rec.fin_btwtabelwaarde_verlegd, rec.maand, rec.mld_melding_key, -- n1/losverkoopmelding TO_NUMBER (NULL), -- n2/NULL (Onderscheid ADDD vs. FACT; als NULL, dan ADDD!) rec.crf, -- n3/crf TO_NUMBER (NULL), -- n4 TO_NUMBER (NULL), -- n5 rec.po_nr, -- c1 rec.contract_id, -- c2 rec.sortering, -- c3 NULL, -- c4 rec.aanvrager, -- c5 NULL, -- c6 rec.debiteur_nr || '=' || rec.btw_nr, -- c7 rec.regel_oms, -- c8/leeg TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1/niet antedateren naar voorgaande dag! TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2 TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3 TO_DATE (NULL), -- d4 TO_DATE (NULL)); -- d5 COMMIT; v_fact_count := v_fact_count + 1; v_amount_sum := v_amount_sum + rec.mndnet; END IF; -- BLCC#64642: Toevoegen 'Gefactureerd met' bij losverkoopmelding! v_errormsg := 'Fout toevoegen Gefactureerd-kenmerkmelding'; INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde) VALUES (rec.mld_melding_key, c_lvm_factid_kkey, v_factuur_id); v_errormsg := 'Fout verwerken losverkoopmelding'; -- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus dan -- eerst afmelden (als nog niet Afgemeld)! IF (rec.mld_melding_status = 4) -- ACP THEN MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM END IF; MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD-freeze'); COMMIT; END; END LOOP; fac.writelog (p_applname, 'S', 'ADDD[d]-verkoop/#losverkooopregels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum)); -- Verstuur correctie- of losverkoopfactuur naar huurder/relatie. FOR rec IN c2 LOOP BEGIN IF rec.mld_melding_key IS NOT NULL -- Correctie- of losverkoopmeldingen! THEN v_errormsg := 'Fout toevoegen CUST02-noti'; INSERT INTO fac_notificatie (fac_srtnotificatie_key, fac_notificatie_status, fac_notificatie_receiver_email, fac_notificatie_oms, fac_notificatie_refkey, fac_notificatie_prioriteit, fac_notificatie_datum, fac_notificatie_sender_email, fac_notificatie_attachments) VALUES (341, -- CUST02-noti 2, -- Mail DECODE ( -- To-adres rec.prs_bedrijf_email, NULL, 'accountsreceivable.ccampus@brightlands.com', rec.prs_bedrijf_email || ';accountsreceivable.ccampus@brightlands.com'), 'Factuur ' || rec.fin_verkoopfactuur_id || ' ' || rec.fin_verkoopfactuur_maand || ' ' || rec.prs_debiteur_naam, rec.fin_verkoopfactuurkop_key, 2, -- Prioriteit TRUNC (SYSDATE) + (7 / 24), 'accountsreceivable.ccampus@brightlands.com', -- From-adres '/../../Fplace5i/CUST/BLCC/export/PDF/Backup/' || rec.fin_verkoopfactuurkop_id || '.pdf'); END IF; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD[c+d]-noti'); COMMIT; END; END LOOP; END IF; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', v_errormsg, 'ADDD-export afgebroken!'); END; / -- *** FACT-export *** -- DEPRECATED per FACTv2! -- TODO: Hoe lang deze (view op) historisch FACTV1-gegevens nog bewaren? CREATE OR REPLACE VIEW blcc_v_fact_frozen AS SELECT vf.fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/') - 1)) po_nr, SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1) cnt_contract_nummer, SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 3) sortering, SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 5) regel, TO_CHAR (vf.fin_verkoopfactuur_datum, 'dd-mm-yyyy') factuurdatum, TO_CHAR (vf.fin_verkoopfactuur_d1, 'dd-mm-yyyy') vervaldatum, vf.fin_verkoopfactuur_refkey cnt_contract_key, c.cnt_contract_nummer_intern, -- Niet historisch bewaard! c.cnt_contract_versie, -- Niet historisch bewaard! c.cnt_contract_looptijd_tot lv, -- Niet historisch bewaard! vf.fin_verkoopfactuur_n1 cnt_contract_korting, -- Korting % vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, SUBSTR (vf.fin_verkoopfactuur_c7, INSTR (vf.fin_verkoopfactuur_c7, '=') + 1) btw_nr, --vf.fin_verkoopfactuur_c8 contactpersoon, '-' contactpersoon, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, -- Niet historisch bewaard! DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, -- Niet historisch bewaard! DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, -- Niet historisch bewaard! DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, -- Niet historisch bewaard! vf.prs_kostenplaats_key, vf.prs_kostenplaats_nr, vf.prs_kostenplaats_omschrijving, vf.prs_kostenplaatsgrp_oms, --vf.prs_kostensoort_oms, vf.prs_kostensoort_opmerking, vf.prs_kostensoort_refcode, vf.prs_kostensoortgrp_oms, vf.fin_btwtabelwaarde_code, vf.fin_btwtabelwaarde_oms, vf.fin_btwtabelwaarde_perc, vf.fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c1, 1, INSTR (vf.fin_verkoopfactuur_c1, 'x') - 1)) l_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)! fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c2, 1, INSTR (vf.fin_verkoopfactuur_c2, 'x') - 1)) h_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)! fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c3, 1, INSTR (vf.fin_verkoopfactuur_c3, 'x') - 1)) k_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)! fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c4, 1, INSTR (vf.fin_verkoopfactuur_c4, 'x') - 1)) o_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)! fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c5, 1, INSTR (vf.fin_verkoopfactuur_c5, 'x') - 1)) t_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)! SUBSTR (vf.fin_verkoopfactuur_c6, 1, 1) alg_onroerendgoed_type, fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c6, 2, INSTR (vf.fin_verkoopfactuur_c6, '=') - 1)) alg_onroerendgoed_keys, SUBSTR (vf.fin_verkoopfactuur_c6, INSTR (vf.fin_verkoopfactuur_c6, '=') + 1) alg_plaatsaanduiding, fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c1, INSTR (vf.fin_verkoopfactuur_c1, 'x') + 1)) l_opp, fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c2, INSTR (vf.fin_verkoopfactuur_c2, 'x') + 1)) h_opp, fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c3, INSTR (vf.fin_verkoopfactuur_c3, 'x') + 1)) k_opp, fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c4, INSTR (vf.fin_verkoopfactuur_c4, 'x') + 1)) o_opp, fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c5, INSTR (vf.fin_verkoopfactuur_c5, 'x') + 1)) t_opp, vf.fin_verkoopfactuur_bedrag mndnet, -- Netto maandbedrag vf.fin_verkoopfactuur_btw mndbtw, -- BTW maandbedrag vf.prs_kostensoort_oms grtboekrek, vf.fin_verkoopfactuur_n2 mld_melding_key, vf.fin_verkoopfactuur_c8 mld_melding_omschrijving FROM fin_verkoopfactuur vf, cnt_contract c, --cnt_discipline cd, --prs_kostensoort ks, prs_bedrijf b WHERE SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- Of andere conditie? AND vf.fin_verkoopfactuur_datum < TO_DATE ('11112019', 'ddmmyyyy') -- FACTV1! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key --AND c.ins_discipline_key = cd.ins_discipline_key --AND cd.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND vf.prs_bedrijf_key = b.prs_bedrijf_key ORDER BY vf.prs_bedrijf_key, 1, 2, 3, 4, SUBSTR (vf.fin_verkoopfactuur_c6, 1, 1), SUBSTR (vf.fin_verkoopfactuur_c6, INSTR (vf.fin_verkoopfactuur_c6, '=') + 1); -- BSSC#57460: Facturatie verhuur 2.0 (M2 en meer)/View per contractsoort! CREATE OR REPLACE VIEW blcc_v_fact_actual2121 -- Lease Option AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur), contractpltsm2 AS (SELECT ccp.cnt_contract_key, aog.alg_gebouw_key, ok.alg_onrgoed_key, fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) opp, SUBSTR (k.alg_kenmerk_omschrijving, 1, 1) srtopp FROM cnt_v_aanwezigcontract_plaats ccp, alg_v_onroerendgoed aog, alg_v_aanwezigonrgoedkenmerk ok, alg_kenmerk k WHERE ccp.cnt_alg_plaats_code IN ('G', 'V') AND ccp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys AND ccp.cnt_alg_plaats_key = ok.alg_onrgoed_key AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) != 0 AND ok.alg_kenmerk_key = k.alg_kenmerk_key AND k.alg_kenmerk_key IN (1082, 1083, 1084, 1085, 1120, 1240, 1092, 1093, 1094, 1095, 1121, 1260) -- Oppervlakte UNION ALL SELECT ccp.cnt_contract_key, aog.alg_gebouw_key, r.alg_ruimte_key alg_onrgoed_key, r.alg_ruimte_opp_alt1 opp, ud.fac_usrdata_code srtopp FROM cnt_v_aanwezigcontract_plaats ccp, alg_v_onroerendgoed aog, alg_v_aanwezigruimte r, alg_v_aanwezigonrgoedkenmerk ok, fac_usrdata ud WHERE ccp.cnt_alg_plaats_code IN ('R') AND ccp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys AND ccp.cnt_alg_plaats_key = r.alg_ruimte_key AND r.alg_ruimte_opp_alt1 != 0 AND r.alg_ruimte_key = ok.alg_onrgoed_key AND ok.alg_kenmerk_key = 1100 -- LHKOTC Classificatie AND ok.alg_onrgoed_niveau = 'R' AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key UNION ALL SELECT DISTINCT ccp.cnt_contract_key, aog.alg_gebouw_key, -1 alg_onrgoed_key, -1 * fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) opp, SUBSTR (sk.cnt_srtkenmerk_omschrijving, 1, 1) srtopp FROM cnt_v_aanwezigcontract_plaats ccp, alg_v_onroerendgoed aog, cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE ccp.cnt_alg_plaats_code IN ('G', 'V', 'R') AND ccp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys AND ccp.cnt_contract_key = kc.cnt_contract_key AND kc.cnt_kenmerkcontract_verwijder IS NULL AND fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) != 0 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 kc.cnt_kenmerk_key IN (633, 617, 627, 639, 682)) -- LHKOT-correctie AND sk.cnt_srtkenmerk_key IN (301, 302, 303, 304, 305)) -- LHKOT-correctie SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, 'Rent' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.cnt_kenmerkcontract_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.cnt_kenmerkcontract_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.cnt_kenmerkcontract_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.cnt_kenmerkcontract_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.cnt_kenmerkcontract_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.cnt_kenmerkcontract_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, pa.alg_onroerendgoed_type, pa.alg_onroerendgoed_keys, COALESCE (pa.alg_plaatsaanduiding, 'Correctie') || '#' || cpm.srtopp alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.cnt_kenmerkcontract_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.cnt_kenmerkcontract_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.cnt_kenmerkcontract_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.cnt_kenmerkcontract_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.cnt_kenmerkcontract_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.cnt_kenmerkcontract_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.cnt_kenmerkcontract_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.cnt_kenmerkcontract_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.cnt_kenmerkcontract_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.cnt_kenmerkcontract_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.cnt_kenmerkcontract_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.cnt_kenmerkcontract_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 0.21)) * 1/12, 2) mndbtw, -- BTW maandbedrag '8100' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2121 -- Lease Option AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 547 -- BTW optie LEFT JOIN (SELECT cnt_contract_key, alg_gebouw_key, alg_onrgoed_key, srtopp, opp FROM contractpltsm2 -- Inclusief correcties! UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, -1 alg_onrgoed_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 670) cpm -- Rent Rebate ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_plaatsaanduiding_all pa ON cpm.alg_onrgoed_key = pa.alg_onroerendgoed_keys LEFT JOIN cnt_kenmerkcontract ltar ON x.cnt_contract_key = ltar.cnt_contract_key AND ltar.cnt_kenmerkcontract_verwijder IS NULL AND ltar.cnt_kenmerk_key = 574 -- L-Tarief LEFT JOIN cnt_kenmerkcontract htar ON x.cnt_contract_key = htar.cnt_contract_key AND htar.cnt_kenmerkcontract_verwijder IS NULL AND htar.cnt_kenmerk_key = 568 -- H-Tarief LEFT JOIN cnt_kenmerkcontract ktar ON x.cnt_contract_key = ktar.cnt_contract_key AND ktar.cnt_kenmerkcontract_verwijder IS NULL AND ktar.cnt_kenmerk_key = 571 -- K-Tarief LEFT JOIN cnt_kenmerkcontract otar ON x.cnt_contract_key = otar.cnt_contract_key AND otar.cnt_kenmerkcontract_verwijder IS NULL AND otar.cnt_kenmerk_key = 577 -- O-Tarief LEFT JOIN cnt_kenmerkcontract ttar ON x.cnt_contract_key = ttar.cnt_contract_key AND ttar.cnt_kenmerkcontract_verwijder IS NULL AND ttar.cnt_kenmerk_key = 580 -- T-Tarief LEFT JOIN cnt_kenmerkcontract ctar ON x.cnt_contract_key = ctar.cnt_contract_key AND ctar.cnt_kenmerkcontract_verwijder IS NULL AND ctar.cnt_kenmerk_key = -1 -- C-Tarief LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50400' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 611 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit UNION ALL -- CFF alleen als niet '0', tot Aanpassingsdatum en nooit BTW! SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '02' sortering, 'CFF-Subsidy' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'N') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Nul') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet -1 aantal, -- Nvt. fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) * -1 mndnet, -- Netto maandbedrag --ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * -- COALESCE (fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde), 0) * -- DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 0.21) * -- 1/12, 2) * -1 0 mndbtw, -- BTW maandbedrag;TODO:Dit is fout, maar ging in oude werkwijze altijd al zo, dus fout voorlopig niet verbeteren! '8310' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2121 -- Lease Option AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 547 -- BTW optie LEFT JOIN cnt_kenmerkcontract subsidie ON x.cnt_contract_key = subsidie.cnt_contract_key AND subsidie.cnt_kenmerkcontract_verwijder IS NULL AND subsidie.cnt_kenmerk_key = 557 -- CFF-Subsidy LEFT JOIN cnt_kenmerkcontract tot ON x.cnt_contract_key = tot.cnt_contract_key AND tot.cnt_kenmerkcontract_verwijder IS NULL AND tot.cnt_kenmerk_key = 481 -- Aanpassingsdatum LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50400' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 611 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde), 0) != 0 AND fac.safe_to_date (tot.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TO_DATE (x.maand || '01', 'yyyymmdd') UNION ALL -- FES alleen als vinkje gezet en tot Aanpassingsdatum ! SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '03' sortering, 'FES-Subsidy' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, -1 * COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, -1 * COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, -1 * COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 0.21)) * 1/12, 2) mndbtw, -- BTW maandbedrag '8100' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2121 -- Lease Option AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 547 -- BTW optie LEFT JOIN ( SELECT cnt_contract_key, alg_gebouw_key, srtopp, SUM (opp) opp FROM contractpltsm2 WHERE srtopp IN ('L', 'H', 'K') GROUP BY cnt_contract_key, alg_gebouw_key, srtopp UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 721) cpm -- Absolute korting FES ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_aanwezigonrgoedkenmerk ltar ON cpm.alg_gebouw_key = ltar.alg_onrgoed_key AND ltar.alg_kenmerk_key = 1220 -- FES subsidie L AND ltar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk htar ON cpm.alg_gebouw_key = htar.alg_onrgoed_key AND htar.alg_kenmerk_key = 1221 -- FES subsidie H AND htar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ktar ON cpm.alg_gebouw_key = ktar.alg_onrgoed_key AND ktar.alg_kenmerk_key = 1222 -- FES subsidie K AND ktar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk otar ON cpm.alg_gebouw_key = otar.alg_onrgoed_key AND otar.alg_kenmerk_key = 1223 -- FES subsidie O AND otar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ttar ON cpm.alg_gebouw_key = ttar.alg_onrgoed_key AND ttar.alg_kenmerk_key = 1224 -- FES subsidie T AND ttar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ctar ON cpm.alg_gebouw_key = ctar.alg_onrgoed_key AND ctar.alg_kenmerk_key = 1245 -- FES subsidie C AND ctar.alg_onrgoed_niveau = 'G' LEFT JOIN cnt_kenmerkcontract fes ON x.cnt_contract_key = fes.cnt_contract_key AND fes.cnt_kenmerkcontract_verwijder IS NULL AND fes.cnt_kenmerk_key = 607 -- FES-Subsidy (vinkje) LEFT JOIN cnt_kenmerkcontract tot ON x.cnt_contract_key = tot.cnt_contract_key AND tot.cnt_kenmerkcontract_verwijder IS NULL AND tot.cnt_kenmerk_key = 483 -- Aanpassingsdatum LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50400' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 611 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE fes.cnt_kenmerkcontract_waarde IS NOT NULL AND fac.safe_to_date (tot.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TO_DATE (x.maand || '01', 'yyyymmdd') AND COALESCE (cpm.opp, 0) != 0 UNION ALL -- Advance Payment Property Tax SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '04' sortering, 'Advance Payment Property Tax' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, 'N' fin_btwtabelwaarde_code, 'Nul' fin_btwtabelwaarde_oms, 0 fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, cpm.srtopp alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * 1/12, 2) mndnet, -- Netto maandbedrag 0 mndbtw, -- BTW maandbedrag '8300' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2121 -- Lease Option AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN ( SELECT cnt_contract_key, alg_gebouw_key, srtopp, SUM (opp) opp FROM contractpltsm2 GROUP BY cnt_contract_key, alg_gebouw_key, srtopp UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 507) cpm -- Absolute korting Property Tax ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_aanwezigonrgoedkenmerk ltar ON cpm.alg_gebouw_key = ltar.alg_onrgoed_key AND ltar.alg_kenmerk_key = 1200 -- OZB tarief L AND ltar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk htar ON cpm.alg_gebouw_key = htar.alg_onrgoed_key AND htar.alg_kenmerk_key = 1201 -- OZB tarief H AND htar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ktar ON cpm.alg_gebouw_key = ktar.alg_onrgoed_key AND ktar.alg_kenmerk_key = 1202 -- OZB tarief K AND ktar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk otar ON cpm.alg_gebouw_key = otar.alg_onrgoed_key AND otar.alg_kenmerk_key = 1203 -- OZB tarief O AND otar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ttar ON cpm.alg_gebouw_key = ttar.alg_onrgoed_key AND ttar.alg_kenmerk_key = 1204 -- OZB tarief T AND ttar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ctar ON cpm.alg_gebouw_key = ctar.alg_onrgoed_key AND ctar.alg_kenmerk_key = 1242 -- OZB tarief C AND ctar.alg_onrgoed_niveau = 'G' LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50600' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 611 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (cpm.opp, 0) != 0 UNION ALL -- Advance Payment Collective Services SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '05' sortering, 'Advance Payment Collective Services' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, cpm.srtopp alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag '8102' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2121 -- Lease Option AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN ( SELECT cnt_contract_key, alg_gebouw_key, srtopp, SUM (opp) opp FROM contractpltsm2 GROUP BY cnt_contract_key, alg_gebouw_key, srtopp UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 504) cpm -- Absolute korting Collective Services ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_aanwezigonrgoedkenmerk ltar ON cpm.alg_gebouw_key = ltar.alg_onrgoed_key AND ltar.alg_kenmerk_key = 1205 -- Voorschot Collective Services L AND ltar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk htar ON cpm.alg_gebouw_key = htar.alg_onrgoed_key AND htar.alg_kenmerk_key = 1206 -- Voorschot Collective Services H AND htar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ktar ON cpm.alg_gebouw_key = ktar.alg_onrgoed_key AND ktar.alg_kenmerk_key = 1207 -- Voorschot Collective Services K AND ktar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk otar ON cpm.alg_gebouw_key = otar.alg_onrgoed_key AND otar.alg_kenmerk_key = 1208 -- Voorschot Collective Services O AND otar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ttar ON cpm.alg_gebouw_key = ttar.alg_onrgoed_key AND ttar.alg_kenmerk_key = 1209 -- Voorschot Collective Services T AND ttar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ctar ON cpm.alg_gebouw_key = ctar.alg_onrgoed_key AND ctar.alg_kenmerk_key = 1243 -- Voorschot Collective Services C AND ctar.alg_onrgoed_niveau = 'G' LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50600' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 611 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (cpm.opp, 0) != 0 UNION ALL -- Advance Payment Utilities SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '07' sortering, 'Advance Payment Utilities' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, cpm.srtopp alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag '8103' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2121 -- Lease Option AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN ( SELECT cnt_contract_key, alg_gebouw_key, srtopp, SUM (opp) opp FROM contractpltsm2 GROUP BY cnt_contract_key, alg_gebouw_key, srtopp UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 510) cpm -- Absolute korting Utilities ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_aanwezigonrgoedkenmerk ltar ON cpm.alg_gebouw_key = ltar.alg_onrgoed_key AND ltar.alg_kenmerk_key = 1210 -- Voorschot Utilities L AND ltar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk htar ON cpm.alg_gebouw_key = htar.alg_onrgoed_key AND htar.alg_kenmerk_key = 1211 -- Voorschot Utilities H AND htar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ktar ON cpm.alg_gebouw_key = ktar.alg_onrgoed_key AND ktar.alg_kenmerk_key = 1212 -- Voorschot Utilities K AND ktar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk otar ON cpm.alg_gebouw_key = otar.alg_onrgoed_key AND otar.alg_kenmerk_key = 1213 -- Voorschot Utilities O AND otar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ttar ON cpm.alg_gebouw_key = ttar.alg_onrgoed_key AND ttar.alg_kenmerk_key = 1214 -- Voorschot Utilities T AND ttar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ctar ON cpm.alg_gebouw_key = ctar.alg_onrgoed_key AND ctar.alg_kenmerk_key = 1244 -- Voorschot Utilities C AND ctar.alg_onrgoed_niveau = 'G' LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50500' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 611 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (cpm.opp, 0) != 0 UNION ALL -- CISPRO Fee/Environmental Permit Fee/Security/Parking/Public Amenities SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope DECODE (aantal.cnt_kenmerk_key, 462, '08', -- #CISPRO licenties 465, '09', -- #Med. Kantoor 467, '09', -- #Med. Lab/Hall 477, '10', -- #Med. Security 471, '11', -- #Med. Parking 473, '12', -- #Med. Public Amenities '99') grtboekrek, -- Hardcoded? DECODE (aantal.cnt_kenmerk_key, 462, 'CISPRO Fee', -- #CISPRO licenties 465, 'Environmental Permit Fee', -- #Med. Kantoor 467, 'Environmental Permit Fee', -- #Med. Lab/Hall 477, 'Security', -- #Med. Security 471, 'Parking', -- #Med. Parking 473, 'Public Amenities', -- #Med. Public Amenities 'X') regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal, -- Aantal DECODE (aantal.cnt_kenmerk_key, 462, COALESCE (jbw1.fac_usrdata_prijs, 0), -- #CISPRO licenties 465, COALESCE (jbw2.fac_usrdata_prijs, 0), -- #Med. Kantoor 467, COALESCE (jbw3.fac_usrdata_prijs, 0), -- #Med. Lab/Hall 477, COALESCE (jbw4.fac_usrdata_prijs, 0), -- #Med. Security 471, COALESCE (jbw5.fac_usrdata_prijs, 0), -- #Med. Parking 473, COALESCE (jbw6.fac_usrdata_prijs, 0), -- #Med. Public Amenities 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) * DECODE (aantal.cnt_kenmerk_key, 462, COALESCE (jbw1.fac_usrdata_prijs, 0), -- #CISPRO licenties 465, COALESCE (jbw2.fac_usrdata_prijs, 0), -- #Med. Kantoor 467, COALESCE (jbw3.fac_usrdata_prijs, 0), -- #Med. Lab/Hall 477, COALESCE (jbw4.fac_usrdata_prijs, 0), -- #Med. Security 471, COALESCE (jbw5.fac_usrdata_prijs, 0), -- #Med. Parking 473, COALESCE (jbw6.fac_usrdata_prijs, 0), -- #Med. Public Amenities 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) * DECODE (aantal.cnt_kenmerk_key, 462, COALESCE (jbw1.fac_usrdata_prijs, 0), -- #CISPRO licenties 465, COALESCE (jbw2.fac_usrdata_prijs, 0), -- #Med. Kantoor 467, COALESCE (jbw3.fac_usrdata_prijs, 0), -- #Med. Lab/Hall 477, COALESCE (jbw4.fac_usrdata_prijs, 0), -- #Med. Security 471, COALESCE (jbw5.fac_usrdata_prijs, 0), -- #Med. Parking 473, COALESCE (jbw6.fac_usrdata_prijs, 0), -- #Med. Public Amenities 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag DECODE (aantal.cnt_kenmerk_key, 471, '8112', -- #Med. Parking 473, '8113', -- #Med. Public Amenities '8102') -- #CISPRO licenties|#Med. Kantoor|#Med. Lab/Hall|#Med. Security grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2121 -- Lease Option AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract aantal ON x.cnt_contract_key = aantal.cnt_contract_key AND aantal.cnt_kenmerkcontract_verwijder IS NULL AND aantal.cnt_kenmerk_key IN (462, 465, 467, 477, 471, 473) -- #CISPRO licenties|#Med. Kantoor|#Med. Lab/Hall|#Med. Security|#Med. Parking|#Med. Public Amenities LEFT JOIN fac_v_aanwezigusrdata jbw1 ON jbw1.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw1.fac_usrdata_key = 901 -- CISPRO Fee LEFT JOIN fac_v_aanwezigusrdata jbw2 ON jbw2.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw2.fac_usrdata_key = 902 -- Environmental permit Office Space LEFT JOIN fac_v_aanwezigusrdata jbw3 ON jbw3.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw3.fac_usrdata_key = 903 -- Environmental permit Lab/Hall LEFT JOIN fac_v_aanwezigusrdata jbw4 ON jbw4.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw4.fac_usrdata_key = 906 -- Security LEFT JOIN fac_v_aanwezigusrdata jbw5 ON jbw5.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw5.fac_usrdata_key = 904 -- Parking LEFT JOIN fac_v_aanwezigusrdata jbw6 ON jbw6.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw6.fac_usrdata_key = 905 -- Public Amenities LEFT JOIN prs_v_aanwezigkostenplaats kp ON DECODE (aantal.cnt_kenmerk_key, 462, '50600', 465, '50600', 467, '50600', 477, '50600', '50400') = kp.prs_kostenplaats_nr -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 611 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) != 0 UNION ALL -- Surcharge Service Costs/2GV/3GV SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope DECODE (jbw.cnt_kenmerk_key, 680, '06', -- Surcharge Service Costs 631, '13', -- 2GV 629, '14', -- 3GV '99') sortering, DECODE (jbw.cnt_kenmerk_key, 680, 'Surcharge Service Costs', -- Surcharge Service Costs 631, '2GV', -- 2GV 629, '3GV', -- 3GV 'X') regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag DECODE (jbw.cnt_kenmerk_key, 680, '8102', -- Surcharge Service Costs '8101') grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2121 -- Lease Option AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract jbw ON x.cnt_contract_key = jbw.cnt_contract_key AND jbw.cnt_kenmerkcontract_verwijder IS NULL AND jbw.cnt_kenmerk_key IN (680, 631, 629) -- Surcharge Service Costs/2GV/3GV LEFT JOIN cnt_kenmerkcontract tot ON x.cnt_contract_key = tot.cnt_contract_key AND jbw.cnt_kenmerk_key = DECODE (tot.cnt_kenmerk_key, 599, 631, 629) AND tot.cnt_kenmerkcontract_verwijder IS NULL AND tot.cnt_kenmerk_key IN (599, 601) -- Einddatum 2GV/3GV LEFT JOIN prs_v_aanwezigkostenplaats kp ON DECODE (jbw.cnt_kenmerk_key, 680, '50600', '50400') = kp.prs_kostenplaats_nr -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 611 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) != 0 AND COALESCE (fac.safe_to_date (tot.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy'), ADD_MONTHS (SYSDATE, 3)) > TO_DATE (x.maand || '01', 'yyyymmdd') ; CREATE OR REPLACE VIEW blcc_v_fact_actual2122 -- Lease Agreement AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur), contractpltsm2 AS (SELECT ccp.cnt_contract_key, aog.alg_gebouw_key, ok.alg_onrgoed_key, fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) opp, SUBSTR (k.alg_kenmerk_omschrijving, 1, 1) srtopp FROM cnt_v_aanwezigcontract_plaats ccp, alg_v_onroerendgoed aog, alg_v_aanwezigonrgoedkenmerk ok, alg_kenmerk k WHERE ccp.cnt_alg_plaats_code IN ('G', 'V') AND ccp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys AND ccp.cnt_alg_plaats_key = ok.alg_onrgoed_key AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) != 0 AND ok.alg_kenmerk_key = k.alg_kenmerk_key AND k.alg_kenmerk_key IN (1082, 1083, 1084, 1085, 1120, 1240, 1092, 1093, 1094, 1095, 1121, 1260) -- Oppervlakte UNION ALL SELECT ccp.cnt_contract_key, aog.alg_gebouw_key, r.alg_ruimte_key alg_onrgoed_key, r.alg_ruimte_opp_alt1 opp, ud.fac_usrdata_code srtopp FROM cnt_v_aanwezigcontract_plaats ccp, alg_v_onroerendgoed aog, alg_v_aanwezigruimte r, alg_v_aanwezigonrgoedkenmerk ok, fac_usrdata ud WHERE ccp.cnt_alg_plaats_code IN ('R') AND ccp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys AND ccp.cnt_alg_plaats_key = r.alg_ruimte_key AND r.alg_ruimte_opp_alt1 != 0 AND r.alg_ruimte_key = ok.alg_onrgoed_key AND ok.alg_kenmerk_key = 1100 -- LHKOTC Classificatie AND ok.alg_onrgoed_niveau = 'R' AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key UNION ALL SELECT DISTINCT ccp.cnt_contract_key, aog.alg_gebouw_key, -1 alg_onrgoed_key, -1 * fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) opp, SUBSTR (sk.cnt_srtkenmerk_omschrijving, 1, 1) srtopp FROM cnt_v_aanwezigcontract_plaats ccp, alg_v_onroerendgoed aog, cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE ccp.cnt_alg_plaats_code IN ('G', 'V', 'R') AND ccp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys AND ccp.cnt_contract_key = kc.cnt_contract_key AND kc.cnt_kenmerkcontract_verwijder IS NULL AND fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) != 0 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 kc.cnt_kenmerk_key IN (634, 616, 626, 640, 683)) -- LHKOT-correctie AND sk.cnt_srtkenmerk_key IN (301, 302, 303, 304, 305)) -- LHKOT-correctie SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, 'Rent' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.cnt_kenmerkcontract_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.cnt_kenmerkcontract_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.cnt_kenmerkcontract_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.cnt_kenmerkcontract_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.cnt_kenmerkcontract_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.cnt_kenmerkcontract_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, pa.alg_onroerendgoed_type, pa.alg_onroerendgoed_keys, COALESCE (pa.alg_plaatsaanduiding, 'Correctie') || '#' || cpm.srtopp alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.cnt_kenmerkcontract_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.cnt_kenmerkcontract_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.cnt_kenmerkcontract_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.cnt_kenmerkcontract_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.cnt_kenmerkcontract_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.cnt_kenmerkcontract_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.cnt_kenmerkcontract_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.cnt_kenmerkcontract_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.cnt_kenmerkcontract_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.cnt_kenmerkcontract_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.cnt_kenmerkcontract_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.cnt_kenmerkcontract_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 0.21)) * 1/12, 2) mndbtw, -- BTW maandbedrag '8100' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 546 -- BTW optie LEFT JOIN (SELECT cnt_contract_key, alg_gebouw_key, alg_onrgoed_key, srtopp, opp FROM contractpltsm2 -- Inclusief correcties! UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, -1 alg_onrgoed_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 669) cpm -- Rent Rebate ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_plaatsaanduiding_all pa ON cpm.alg_onrgoed_key = pa.alg_onroerendgoed_keys LEFT JOIN cnt_kenmerkcontract ltar ON x.cnt_contract_key = ltar.cnt_contract_key AND ltar.cnt_kenmerkcontract_verwijder IS NULL AND ltar.cnt_kenmerk_key = 573 -- L-Tarief LEFT JOIN cnt_kenmerkcontract htar ON x.cnt_contract_key = htar.cnt_contract_key AND htar.cnt_kenmerkcontract_verwijder IS NULL AND htar.cnt_kenmerk_key = 567 -- H-Tarief LEFT JOIN cnt_kenmerkcontract ktar ON x.cnt_contract_key = ktar.cnt_contract_key AND ktar.cnt_kenmerkcontract_verwijder IS NULL AND ktar.cnt_kenmerk_key = 570 -- K-Tarief LEFT JOIN cnt_kenmerkcontract otar ON x.cnt_contract_key = otar.cnt_contract_key AND otar.cnt_kenmerkcontract_verwijder IS NULL AND otar.cnt_kenmerk_key = 576 -- O-Tarief LEFT JOIN cnt_kenmerkcontract ttar ON x.cnt_contract_key = ttar.cnt_contract_key AND ttar.cnt_kenmerkcontract_verwijder IS NULL AND ttar.cnt_kenmerk_key = 579 -- T-Tarief LEFT JOIN cnt_kenmerkcontract ctar ON x.cnt_contract_key = ctar.cnt_contract_key AND ctar.cnt_kenmerkcontract_verwijder IS NULL AND ctar.cnt_kenmerk_key = -1 -- C-Tarief LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50400' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 612 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit UNION ALL -- CFF alleen als niet '0', tot Aanpassingsdatum en nooit BTW! SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '02' sortering, 'CFF-Subsidy' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'N') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Nul') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet -1 aantal, -- Nvt. fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) * -1 mndnet, -- Netto maandbedrag --ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * -- COALESCE (fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde), 0) * -- DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 0.21) * -- 1/12, 2) * -1 0 mndbtw, -- BTW maandbedrag;TODO:Dit is fout, maar ging in oude werkwijze altijd al zo, dus fout voorlopig niet verbeteren! '8310' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 546 -- BTW optie LEFT JOIN cnt_kenmerkcontract subsidie ON x.cnt_contract_key = subsidie.cnt_contract_key AND subsidie.cnt_kenmerkcontract_verwijder IS NULL AND subsidie.cnt_kenmerk_key = 556 -- CFF-Subsidy LEFT JOIN cnt_kenmerkcontract tot ON x.cnt_contract_key = tot.cnt_contract_key AND tot.cnt_kenmerkcontract_verwijder IS NULL AND tot.cnt_kenmerk_key = 480 -- Aanpassingsdatum LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50400' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 612 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde), 0) != 0 AND fac.safe_to_date (tot.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TO_DATE (x.maand || '01', 'yyyymmdd') UNION ALL -- FES alleen als vinkje gezet en tot Aanpassingsdatum ! SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '03' sortering, 'FES-Subsidy' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, -1 * COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, -1 * COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, -1 * COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 0.21)) * 1/12, 2) mndbtw, -- BTW maandbedrag '8100' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 546 -- BTW optie LEFT JOIN ( SELECT cnt_contract_key, alg_gebouw_key, srtopp, SUM (opp) opp FROM contractpltsm2 WHERE srtopp IN ('L', 'H', 'K') GROUP BY cnt_contract_key, alg_gebouw_key, srtopp UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 701) cpm -- Absolute korting FES ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_aanwezigonrgoedkenmerk ltar ON cpm.alg_gebouw_key = ltar.alg_onrgoed_key AND ltar.alg_kenmerk_key = 1220 -- FES subsidie L AND ltar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk htar ON cpm.alg_gebouw_key = htar.alg_onrgoed_key AND htar.alg_kenmerk_key = 1221 -- FES subsidie H AND htar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ktar ON cpm.alg_gebouw_key = ktar.alg_onrgoed_key AND ktar.alg_kenmerk_key = 1222 -- FES subsidie K AND ktar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk otar ON cpm.alg_gebouw_key = otar.alg_onrgoed_key AND otar.alg_kenmerk_key = 1223 -- FES subsidie O AND otar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ttar ON cpm.alg_gebouw_key = ttar.alg_onrgoed_key AND ttar.alg_kenmerk_key = 1224 -- FES subsidie T AND ttar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ctar ON cpm.alg_gebouw_key = ctar.alg_onrgoed_key AND ctar.alg_kenmerk_key = 1245 -- FES subsidie C AND ctar.alg_onrgoed_niveau = 'G' LEFT JOIN cnt_kenmerkcontract fes ON x.cnt_contract_key = fes.cnt_contract_key AND fes.cnt_kenmerkcontract_verwijder IS NULL AND fes.cnt_kenmerk_key = 606 -- FES-Subsidy (vinkje) LEFT JOIN cnt_kenmerkcontract tot ON x.cnt_contract_key = tot.cnt_contract_key AND tot.cnt_kenmerkcontract_verwijder IS NULL AND tot.cnt_kenmerk_key = 482 -- Aanpassingsdatum LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50400' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 612 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE fes.cnt_kenmerkcontract_waarde IS NOT NULL AND fac.safe_to_date (tot.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TO_DATE (x.maand || '01', 'yyyymmdd') AND COALESCE (cpm.opp, 0) != 0 UNION ALL -- Advance Payment Property Tax SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '04' sortering, 'Advance Payment Property Tax' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, 'N' fin_btwtabelwaarde_code, 'Nul' fin_btwtabelwaarde_oms, 0 fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, cpm.srtopp alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * 1/12, 2) mndnet, -- Netto maandbedrag 0 mndbtw, -- BTW maandbedrag '8300' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN ( SELECT cnt_contract_key, alg_gebouw_key, srtopp, SUM (opp) opp FROM contractpltsm2 GROUP BY cnt_contract_key, alg_gebouw_key, srtopp UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 506) cpm -- Absolute korting Property Tax ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_aanwezigonrgoedkenmerk ltar ON cpm.alg_gebouw_key = ltar.alg_onrgoed_key AND ltar.alg_kenmerk_key = 1200 -- OZB tarief L AND ltar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk htar ON cpm.alg_gebouw_key = htar.alg_onrgoed_key AND htar.alg_kenmerk_key = 1201 -- OZB tarief H AND htar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ktar ON cpm.alg_gebouw_key = ktar.alg_onrgoed_key AND ktar.alg_kenmerk_key = 1202 -- OZB tarief K AND ktar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk otar ON cpm.alg_gebouw_key = otar.alg_onrgoed_key AND otar.alg_kenmerk_key = 1203 -- OZB tarief O AND otar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ttar ON cpm.alg_gebouw_key = ttar.alg_onrgoed_key AND ttar.alg_kenmerk_key = 1204 -- OZB tarief T AND ttar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ctar ON cpm.alg_gebouw_key = ctar.alg_onrgoed_key AND ctar.alg_kenmerk_key = 1242 -- OZB tarief C AND ctar.alg_onrgoed_niveau = 'G' LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50600' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 612 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (cpm.opp, 0) != 0 UNION ALL -- Advance Payment Collective Services SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '05' sortering, 'Advance Payment Collective Services' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, 'Y', 1, 'Z', 1, COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 'Y', COALESCE (cpm.opp, 0), -- Transitiefonds bijdrage 'Z', COALESCE (cpm.opp, 0), -- Advance Payment Collective Services – Tenant Specific 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, cpm.srtopp alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, 'Y', 1, 'Z', 1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 'Y', COALESCE (cpm.opp, 0), -- Transitiefonds bijdrage 'Z', COALESCE (cpm.opp, 0), -- Advance Payment Collective Services – Tenant Specific 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, 'Y', 1, 'Z', 1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 'Y', COALESCE (cpm.opp, 0), -- Transitiefonds bijdrage 'Z', COALESCE (cpm.opp, 0), -- Advance Payment Collective Services – Tenant Specific 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag --'8102' grtboekrek, -- Hardcoded? DECODE (srtopp, 'Y', '8114', -- Transitiefonds bijdrage 'Z', '8115', -- Advance Payment Collective Services – Tenant Specific '8102') grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN ( SELECT cnt_contract_key, alg_gebouw_key, srtopp, SUM (opp) opp FROM contractpltsm2 GROUP BY cnt_contract_key, alg_gebouw_key, srtopp UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 503 -- Absolute korting Collective Services UNION ALL -- PLUS:Transitiefonds bijdrage (op gebouw -1 en 'Y')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'Y' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 861 -- Transitiefonds bijdrage UNION ALL -- PLUS:Advance Payment Collective Services – Tenant Specific (op gebouw -1 en 'Z')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'Z' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 842) cpm -- Advance Payment Collective Services – Tenant Specific ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_aanwezigonrgoedkenmerk ltar ON cpm.alg_gebouw_key = ltar.alg_onrgoed_key AND ltar.alg_kenmerk_key = 1205 -- Voorschot Collective Services L AND ltar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk htar ON cpm.alg_gebouw_key = htar.alg_onrgoed_key AND htar.alg_kenmerk_key = 1206 -- Voorschot Collective Services H AND htar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ktar ON cpm.alg_gebouw_key = ktar.alg_onrgoed_key AND ktar.alg_kenmerk_key = 1207 -- Voorschot Collective Services K AND ktar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk otar ON cpm.alg_gebouw_key = otar.alg_onrgoed_key AND otar.alg_kenmerk_key = 1208 -- Voorschot Collective Services O AND otar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ttar ON cpm.alg_gebouw_key = ttar.alg_onrgoed_key AND ttar.alg_kenmerk_key = 1209 -- Voorschot Collective Services T AND ttar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ctar ON cpm.alg_gebouw_key = ctar.alg_onrgoed_key AND ctar.alg_kenmerk_key = 1243 -- Voorschot Collective Services C AND ctar.alg_onrgoed_niveau = 'G' LEFT JOIN prs_v_aanwezigkostenplaats kp ON DECODE (cpm.srtopp, 'Z', '50901', '50600') = kp.prs_kostenplaats_nr -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 612 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (cpm.opp, 0) != 0 UNION ALL -- Advance Payment Utilities SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '07' sortering, 'Advance Payment Utilities' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, cpm.srtopp alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag '8103' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN ( SELECT cnt_contract_key, alg_gebouw_key, srtopp, SUM (opp) opp FROM contractpltsm2 GROUP BY cnt_contract_key, alg_gebouw_key, srtopp UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 509) cpm -- Absolute korting Utilities ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_aanwezigonrgoedkenmerk ltar ON cpm.alg_gebouw_key = ltar.alg_onrgoed_key AND ltar.alg_kenmerk_key = 1210 -- Voorschot Utilities L AND ltar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk htar ON cpm.alg_gebouw_key = htar.alg_onrgoed_key AND htar.alg_kenmerk_key = 1211 -- Voorschot Utilities H AND htar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ktar ON cpm.alg_gebouw_key = ktar.alg_onrgoed_key AND ktar.alg_kenmerk_key = 1212 -- Voorschot Utilities K AND ktar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk otar ON cpm.alg_gebouw_key = otar.alg_onrgoed_key AND otar.alg_kenmerk_key = 1213 -- Voorschot Utilities O AND otar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ttar ON cpm.alg_gebouw_key = ttar.alg_onrgoed_key AND ttar.alg_kenmerk_key = 1214 -- Voorschot Utilities T AND ttar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ctar ON cpm.alg_gebouw_key = ctar.alg_onrgoed_key AND ctar.alg_kenmerk_key = 1244 -- Voorschot Utilities C AND ctar.alg_onrgoed_niveau = 'G' LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50500' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 612 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (cpm.opp, 0) != 0 UNION ALL -- CISPRO Fee/Environmental Permit Fee/Security/Parking/Public Amenities SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope DECODE (aantal.cnt_kenmerk_key, 461, '08', -- #CISPRO licenties 464, '09', -- #Med. Kantoor 466, '09', -- #Med. Lab/Hall 476, '10', -- #Med. Security 470, '11', -- #Med. Parking 472, '12', -- #Med. Public Amenities '99') grtboekrek, -- Hardcoded? DECODE (aantal.cnt_kenmerk_key, 461, 'CISPRO Fee', -- #CISPRO licenties 464, 'Environmental Permit Fee', -- #Med. Kantoor 466, 'Environmental Permit Fee', -- #Med. Lab/Hall 476, 'Security', -- #Med. Security 470, 'Parking', -- #Med. Parking 472, 'Public Amenities', -- #Med. Public Amenities 'X') regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal, -- Aantal DECODE (aantal.cnt_kenmerk_key, 461, COALESCE (jbw1.fac_usrdata_prijs, 0), -- #CISPRO licenties 464, COALESCE (jbw2.fac_usrdata_prijs, 0), -- #Med. Kantoor 466, COALESCE (jbw3.fac_usrdata_prijs, 0), -- #Med. Lab/Hall 476, COALESCE (jbw4.fac_usrdata_prijs, 0), -- #Med. Security 470, COALESCE (jbw5.fac_usrdata_prijs, 0), -- #Med. Parking 472, COALESCE (jbw6.fac_usrdata_prijs, 0), -- #Med. Public Amenities 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) * DECODE (aantal.cnt_kenmerk_key, 461, COALESCE (jbw1.fac_usrdata_prijs, 0), -- #CISPRO licenties 464, COALESCE (jbw2.fac_usrdata_prijs, 0), -- #Med. Kantoor 466, COALESCE (jbw3.fac_usrdata_prijs, 0), -- #Med. Lab/Hall 476, COALESCE (jbw4.fac_usrdata_prijs, 0), -- #Med. Security 470, COALESCE (jbw5.fac_usrdata_prijs, 0), -- #Med. Parking 472, COALESCE (jbw6.fac_usrdata_prijs, 0), -- #Med. Public Amenities 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) * DECODE (aantal.cnt_kenmerk_key, 461, COALESCE (jbw1.fac_usrdata_prijs, 0), -- #CISPRO licenties 464, COALESCE (jbw2.fac_usrdata_prijs, 0), -- #Med. Kantoor 466, COALESCE (jbw3.fac_usrdata_prijs, 0), -- #Med. Lab/Hall 476, COALESCE (jbw4.fac_usrdata_prijs, 0), -- #Med. Security 470, COALESCE (jbw5.fac_usrdata_prijs, 0), -- #Med. Parking 472, COALESCE (jbw6.fac_usrdata_prijs, 0), -- #Med. Public Amenities 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag DECODE (aantal.cnt_kenmerk_key, 470, '8112', -- #Med. Parking 472, '8113', -- #Med. Public Amenities '8102') -- #CISPRO licenties|#Med. Kantoor|#Med. Lab/Hall|#Med. Security grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract aantal ON x.cnt_contract_key = aantal.cnt_contract_key AND aantal.cnt_kenmerkcontract_verwijder IS NULL AND aantal.cnt_kenmerk_key IN (461, 464, 466, 476, 470, 472) -- #CISPRO licenties|#Med. Kantoor|#Med. Lab/Hall|#Med. Security|#Med. Parking|#Med. Public Amenities LEFT JOIN fac_v_aanwezigusrdata jbw1 ON jbw1.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw1.fac_usrdata_key = 901 -- CISPRO Fee LEFT JOIN fac_v_aanwezigusrdata jbw2 ON jbw2.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw2.fac_usrdata_key = 902 -- Environmental permit Office Space LEFT JOIN fac_v_aanwezigusrdata jbw3 ON jbw3.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw3.fac_usrdata_key = 903 -- Environmental permit Lab/Hall LEFT JOIN fac_v_aanwezigusrdata jbw4 ON jbw4.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw4.fac_usrdata_key = 906 -- Security LEFT JOIN fac_v_aanwezigusrdata jbw5 ON jbw5.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw5.fac_usrdata_key = 904 -- Parking LEFT JOIN fac_v_aanwezigusrdata jbw6 ON jbw6.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw6.fac_usrdata_key = 905 -- Public Amenities LEFT JOIN prs_v_aanwezigkostenplaats kp ON DECODE (aantal.cnt_kenmerk_key, 461, '50600', 464, '50600', 466, '50600', 476, '50600', '50400') = kp.prs_kostenplaats_nr -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 612 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) != 0 UNION ALL -- Surcharge Service Costs/2GV/3GV SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope DECODE (jbw.cnt_kenmerk_key, 681, '06', -- Surcharge Service Costs 630, '13', -- 2GV 628, '14', -- 3GV '99') sortering, DECODE (jbw.cnt_kenmerk_key, 681, 'Surcharge Service Costs', -- Surcharge Service Costs 630, '2GV', -- 2GV 628, '3GV', -- 3GV 'X') regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag DECODE (jbw.cnt_kenmerk_key, 681, '8102', -- Surcharge Service Costs '8101') grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract jbw ON x.cnt_contract_key = jbw.cnt_contract_key AND jbw.cnt_kenmerkcontract_verwijder IS NULL AND jbw.cnt_kenmerk_key IN (681, 630, 628) -- Surcharge Service Costs/2GV/3GV LEFT JOIN cnt_kenmerkcontract tot ON x.cnt_contract_key = tot.cnt_contract_key AND jbw.cnt_kenmerk_key = DECODE (tot.cnt_kenmerk_key, 598, 630, 628) AND tot.cnt_kenmerkcontract_verwijder IS NULL AND tot.cnt_kenmerk_key IN (598, 600) -- Einddatum 2GV/3GV LEFT JOIN prs_v_aanwezigkostenplaats kp ON DECODE (jbw.cnt_kenmerk_key, 681, '50600', '50400') = kp.prs_kostenplaats_nr -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 612 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) != 0 AND COALESCE (fac.safe_to_date (tot.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy'), ADD_MONTHS (SYSDATE, 3)) > TO_DATE (x.maand || '01', 'yyyymmdd') ; CREATE OR REPLACE VIEW blcc_v_fact_actual2123 -- Lease Agreement CRF AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur), contractpltsm2 AS (SELECT ccp.cnt_contract_key, aog.alg_gebouw_key, ok.alg_onrgoed_key, fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) opp, SUBSTR (k.alg_kenmerk_omschrijving, 1, 1) srtopp FROM cnt_v_aanwezigcontract_plaats ccp, alg_v_onroerendgoed aog, alg_v_aanwezigonrgoedkenmerk ok, alg_kenmerk k WHERE ccp.cnt_alg_plaats_code IN ('G', 'V') AND ccp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys AND ccp.cnt_alg_plaats_key = ok.alg_onrgoed_key AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) != 0 AND ok.alg_kenmerk_key = k.alg_kenmerk_key AND k.alg_kenmerk_key IN (1082, 1083, 1084, 1085, 1120, 1240, 1092, 1093, 1094, 1095, 1121, 1260) -- Oppervlakte UNION ALL SELECT ccp.cnt_contract_key, aog.alg_gebouw_key, r.alg_ruimte_key alg_onrgoed_key, r.alg_ruimte_opp_alt1 opp, ud.fac_usrdata_code srtopp FROM cnt_v_aanwezigcontract_plaats ccp, alg_v_onroerendgoed aog, alg_v_aanwezigruimte r, alg_v_aanwezigonrgoedkenmerk ok, fac_usrdata ud WHERE ccp.cnt_alg_plaats_code IN ('R') AND ccp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys AND ccp.cnt_alg_plaats_key = r.alg_ruimte_key AND r.alg_ruimte_opp_alt1 != 0 AND r.alg_ruimte_key = ok.alg_onrgoed_key AND ok.alg_kenmerk_key = 1100 -- LHKOTC Classificatie AND ok.alg_onrgoed_niveau = 'R' AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key UNION ALL SELECT DISTINCT ccp.cnt_contract_key, aog.alg_gebouw_key, -1 alg_onrgoed_key, -1 * fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) opp, SUBSTR (sk.cnt_srtkenmerk_omschrijving, 1, 1) srtopp FROM cnt_v_aanwezigcontract_plaats ccp, alg_v_onroerendgoed aog, cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE ccp.cnt_alg_plaats_code IN ('G', 'V', 'R') AND ccp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys AND ccp.cnt_contract_key = kc.cnt_contract_key AND kc.cnt_kenmerkcontract_verwijder IS NULL AND fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) != 0 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_key IN (301, 302, 303, 304, 305)) -- LHKOT-correctie SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, 'Rent' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.cnt_kenmerkcontract_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.cnt_kenmerkcontract_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.cnt_kenmerkcontract_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.cnt_kenmerkcontract_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.cnt_kenmerkcontract_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.cnt_kenmerkcontract_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, pa.alg_onroerendgoed_type, pa.alg_onroerendgoed_keys, COALESCE (pa.alg_plaatsaanduiding, 'Correctie') || '#' || cpm.srtopp alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.cnt_kenmerkcontract_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.cnt_kenmerkcontract_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.cnt_kenmerkcontract_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.cnt_kenmerkcontract_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.cnt_kenmerkcontract_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.cnt_kenmerkcontract_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.cnt_kenmerkcontract_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.cnt_kenmerkcontract_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.cnt_kenmerkcontract_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.cnt_kenmerkcontract_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.cnt_kenmerkcontract_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.cnt_kenmerkcontract_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag '8100' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2123 -- Lease Agreement CRF AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN (SELECT cnt_contract_key, alg_gebouw_key, alg_onrgoed_key, srtopp, opp FROM contractpltsm2 -- Inclusief correcties! UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, -1 alg_onrgoed_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 668) cpm -- Rent Rebate ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_plaatsaanduiding_all pa ON cpm.alg_onrgoed_key = pa.alg_onroerendgoed_keys LEFT JOIN cnt_kenmerkcontract ltar ON x.cnt_contract_key = ltar.cnt_contract_key AND ltar.cnt_kenmerkcontract_verwijder IS NULL AND ltar.cnt_kenmerk_key = 572 -- L-Tarief LEFT JOIN cnt_kenmerkcontract htar ON x.cnt_contract_key = htar.cnt_contract_key AND htar.cnt_kenmerkcontract_verwijder IS NULL AND htar.cnt_kenmerk_key = 566 -- H-Tarief LEFT JOIN cnt_kenmerkcontract ktar ON x.cnt_contract_key = ktar.cnt_contract_key AND ktar.cnt_kenmerkcontract_verwijder IS NULL AND ktar.cnt_kenmerk_key = 569 -- K-Tarief LEFT JOIN cnt_kenmerkcontract otar ON x.cnt_contract_key = otar.cnt_contract_key AND otar.cnt_kenmerkcontract_verwijder IS NULL AND otar.cnt_kenmerk_key = 575 -- O-Tarief LEFT JOIN cnt_kenmerkcontract ttar ON x.cnt_contract_key = ttar.cnt_contract_key AND ttar.cnt_kenmerkcontract_verwijder IS NULL AND ttar.cnt_kenmerk_key = 578 -- T-Tarief LEFT JOIN cnt_kenmerkcontract ctar ON x.cnt_contract_key = ctar.cnt_contract_key AND ctar.cnt_kenmerkcontract_verwijder IS NULL AND ctar.cnt_kenmerk_key = -1 -- C-Tarief LEFT JOIN cnt_kenmerkcontract kostenplaats ON x.cnt_contract_key = kostenplaats.cnt_contract_key AND kostenplaats.cnt_kenmerkcontract_verwijder IS NULL AND kostenplaats.cnt_kenmerk_key = 632 -- Kostenplaats LEFT JOIN fac_v_aanwezigusrdata kp_ud ON fac.safe_to_number (kostenplaats.cnt_kenmerkcontract_waarde) = kp_ud.fac_usrdata_key LEFT JOIN prs_v_aanwezigkostenplaats kp ON TRIM (kp_ud.fac_usrdata_code) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 608 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit UNION ALL -- CFF alleen als niet '0', tot Aanpassingsdatum en nooit BTW! SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '02' sortering, 'CFF-Subsidy' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'N') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Nul') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet -1 aantal, -- Nvt. fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) * -1 mndnet, -- Netto maandbedrag 0 mndbtw, -- BTW maandbedrag;TODO:Dit is fout, maar ging in oude werkwijze altijd al zo, dus fout voorlopig niet verbeteren! '8310' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2123 -- Lease Agreement CRF AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract subsidie ON x.cnt_contract_key = subsidie.cnt_contract_key AND subsidie.cnt_kenmerkcontract_verwijder IS NULL AND subsidie.cnt_kenmerk_key = 761 -- CFF-Subsidy LEFT JOIN cnt_kenmerkcontract tot ON x.cnt_contract_key = tot.cnt_contract_key AND tot.cnt_kenmerkcontract_verwijder IS NULL AND tot.cnt_kenmerk_key = 762 -- Aanpassingsdatum LEFT JOIN cnt_kenmerkcontract kostenplaats ON x.cnt_contract_key = kostenplaats.cnt_contract_key AND kostenplaats.cnt_kenmerkcontract_verwijder IS NULL AND kostenplaats.cnt_kenmerk_key = 632 -- Kostenplaats LEFT JOIN fac_v_aanwezigusrdata kp_ud ON fac.safe_to_number (kostenplaats.cnt_kenmerkcontract_waarde) = kp_ud.fac_usrdata_key LEFT JOIN prs_v_aanwezigkostenplaats kp ON TRIM (kp_ud.fac_usrdata_code) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 608 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde), 0) != 0 AND fac.safe_to_date (tot.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TO_DATE (x.maand || '01', 'yyyymmdd') UNION ALL -- Advance Payment Property Tax SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '03' sortering, 'Advance Payment Property Tax' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, 'N' fin_btwtabelwaarde_code, 'Nul' fin_btwtabelwaarde_oms, 0 fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) aantal, -- Aantal m2 DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, cpm.srtopp alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, COALESCE (cpm.opp, 0)) * DECODE (cpm.srtopp, 'L', COALESCE (fac.safe_to_number (ltar.alg_onrgoedkenmerk_waarde), 0), 'H', COALESCE (fac.safe_to_number (htar.alg_onrgoedkenmerk_waarde), 0), 'K', COALESCE (fac.safe_to_number (ktar.alg_onrgoedkenmerk_waarde), 0), 'O', COALESCE (fac.safe_to_number (otar.alg_onrgoedkenmerk_waarde), 0), 'T', COALESCE (fac.safe_to_number (ttar.alg_onrgoedkenmerk_waarde), 0), 'C', COALESCE (fac.safe_to_number (ctar.alg_onrgoedkenmerk_waarde), 0), 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 0) * 1/12, 2) mndnet, -- Netto maandbedrag 0 mndbtw, -- BTW maandbedrag '8300' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2123 -- Lease Agreement CRF AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN ( SELECT cnt_contract_key, alg_gebouw_key, srtopp, SUM (opp) opp FROM contractpltsm2 GROUP BY cnt_contract_key, alg_gebouw_key, srtopp UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 801) cpm -- BLCC#61264: Absolute korting Property Tax ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN alg_v_aanwezigonrgoedkenmerk ltar ON cpm.alg_gebouw_key = ltar.alg_onrgoed_key AND ltar.alg_kenmerk_key = 1200 -- OZB tarief L AND ltar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk htar ON cpm.alg_gebouw_key = htar.alg_onrgoed_key AND htar.alg_kenmerk_key = 1201 -- OZB tarief H AND htar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ktar ON cpm.alg_gebouw_key = ktar.alg_onrgoed_key AND ktar.alg_kenmerk_key = 1202 -- OZB tarief K AND ktar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk otar ON cpm.alg_gebouw_key = otar.alg_onrgoed_key AND otar.alg_kenmerk_key = 1203 -- OZB tarief O AND otar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ttar ON cpm.alg_gebouw_key = ttar.alg_onrgoed_key AND ttar.alg_kenmerk_key = 1204 -- OZB tarief T AND ttar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk ctar ON cpm.alg_gebouw_key = ctar.alg_onrgoed_key AND ctar.alg_kenmerk_key = 1242 -- OZB tarief C AND ctar.alg_onrgoed_niveau = 'G' LEFT JOIN cnt_kenmerkcontract kostenplaats ON x.cnt_contract_key = kostenplaats.cnt_contract_key AND kostenplaats.cnt_kenmerkcontract_verwijder IS NULL AND kostenplaats.cnt_kenmerk_key = 632 -- Kostenplaats LEFT JOIN fac_v_aanwezigusrdata kp_ud ON fac.safe_to_number (kostenplaats.cnt_kenmerkcontract_waarde) = kp_ud.fac_usrdata_key LEFT JOIN prs_v_aanwezigkostenplaats kp ON TRIM (kp_ud.fac_usrdata_code) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 608 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (cpm.opp, 0) != 0 UNION ALL -- Advance Payment Collective Services SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '04' sortering, 'Advance Payment Collective Services' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet DECODE (cpm.srtopp, 'X', -1, 'Y', 1, 1) aantal, -- Plus/min-bedrag DECODE (cpm.srtopp, 'X', COALESCE (cpm.opp, 0), -- Absolute jaarkorting 'Y', COALESCE (cpm.opp, 0), -- Transitiefonds bijdrage COALESCE (cpm.opp, 0)) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, cpm.srtopp alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, 'Y', 1, 1) * -- X=Absolute jaarkorting/Y=Transitiefonds bijdrage/Q=Advance payment COALESCE (cpm.opp, 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * DECODE (cpm.srtopp, 'X', -1, 'Y', 1, 1) * -- X=Absolute jaarkorting/Y=Transitiefonds bijdrage/Q=Advance payment COALESCE (cpm.opp, 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag DECODE (srtopp, 'Y', '8114', -- Transitiefonds bijdrage '8102') grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2123 -- Lease Agreement CRF AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN (SELECT cnt_contract_key, -1 alg_gebouw_key, 'Q' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 515 -- Advance Payment Collective Services UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 505 -- Absolute korting Collective Services UNION ALL -- PLUS:Transitiefonds bijdrage (op gebouw -1 en 'Y')! SELECT cnt_contract_key, -1 alg_gebouw_key, 'Y' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 901) cpm -- Transitiefonds bijdrage ON x.cnt_contract_key = cpm.cnt_contract_key LEFT JOIN cnt_kenmerkcontract kostenplaats ON x.cnt_contract_key = kostenplaats.cnt_contract_key AND kostenplaats.cnt_kenmerkcontract_verwijder IS NULL AND kostenplaats.cnt_kenmerk_key = 632 -- Kostenplaats LEFT JOIN fac_v_aanwezigusrdata kp_ud ON fac.safe_to_number (kostenplaats.cnt_kenmerkcontract_waarde) = kp_ud.fac_usrdata_key LEFT JOIN prs_v_aanwezigkostenplaats kp ON TRIM (kp_ud.fac_usrdata_code) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 608 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (cpm.opp, 0) != 0 UNION ALL -- Advance Payment Utilities SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '05' sortering, 'Advance Payment Utilities' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. COALESCE (fac.safe_to_number (apu.cnt_kenmerkcontract_waarde), 0) - COALESCE (fac.safe_to_number (aku.cnt_kenmerkcontract_waarde), 0) bedrag, -- Jaarbedrag DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * (COALESCE (fac.safe_to_number (apu.cnt_kenmerkcontract_waarde), 0) - COALESCE (fac.safe_to_number (aku.cnt_kenmerkcontract_waarde), 0)) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * (COALESCE (fac.safe_to_number (apu.cnt_kenmerkcontract_waarde), 0) - COALESCE (fac.safe_to_number (aku.cnt_kenmerkcontract_waarde), 0)) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag '8103' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2123 -- Lease Agreement CRF AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd --LEFT JOIN ( SELECT cnt_contract_key, alg_gebouw_key, srtopp, SUM (opp) opp -- FROM contractpltsm2 -- GROUP BY cnt_contract_key, alg_gebouw_key, srtopp -- UNION ALL -- Extra korting-regel (op gebouw -1 en 'X')! -- SELECT cnt_contract_key, -1 alg_gebouw_key, 'X' srtopp, fac.safe_to_number (cnt_kenmerkcontract_waarde) opp -- FROM cnt_kenmerkcontract -- WHERE cnt_kenmerkcontract_verwijder IS NULL -- AND cnt_kenmerk_key = 508) cpm -- Absolute korting Utilities -- ON x.cnt_contract_key = cpm.cnt_contract_key --LEFT JOIN alg_v_aanwezigonrgoedkenmerk ltar -- ON cpm.alg_gebouw_key = ltar.alg_onrgoed_key -- AND ltar.alg_kenmerk_key = 1210 -- Voorschot Utilities L -- AND ltar.alg_onrgoed_niveau = 'G' --LEFT JOIN alg_v_aanwezigonrgoedkenmerk htar -- ON cpm.alg_gebouw_key = htar.alg_onrgoed_key -- AND htar.alg_kenmerk_key = 1211 -- Voorschot Utilities H -- AND htar.alg_onrgoed_niveau = 'G' --LEFT JOIN alg_v_aanwezigonrgoedkenmerk ktar -- ON cpm.alg_gebouw_key = ktar.alg_onrgoed_key -- AND ktar.alg_kenmerk_key = 1212 -- Voorschot Utilities K -- AND ktar.alg_onrgoed_niveau = 'G' --LEFT JOIN alg_v_aanwezigonrgoedkenmerk otar -- ON cpm.alg_gebouw_key = otar.alg_onrgoed_key -- AND otar.alg_kenmerk_key = 1213 -- Voorschot Utilities O -- AND otar.alg_onrgoed_niveau = 'G' --LEFT JOIN alg_v_aanwezigonrgoedkenmerk ttar -- ON cpm.alg_gebouw_key = ttar.alg_onrgoed_key -- AND ttar.alg_kenmerk_key = 1214 -- Voorschot Utilities T -- AND ttar.alg_onrgoed_niveau = 'G' --LEFT JOIN alg_v_aanwezigonrgoedkenmerk ctar -- ON cpm.alg_gebouw_key = ctar.alg_onrgoed_key -- AND ctar.alg_kenmerk_key = 1244 -- Voorschot Utilities C -- AND ctar.alg_onrgoed_niveau = 'G' LEFT JOIN cnt_kenmerkcontract apu ON x.cnt_contract_key = apu.cnt_contract_key AND apu.cnt_kenmerkcontract_verwijder IS NULL AND apu.cnt_kenmerk_key = 525 -- Advance Payment Utilities LEFT JOIN cnt_kenmerkcontract aku ON x.cnt_contract_key = aku.cnt_contract_key AND aku.cnt_kenmerkcontract_verwijder IS NULL AND aku.cnt_kenmerk_key = 508 -- Absolute korting Utilities LEFT JOIN cnt_kenmerkcontract kostenplaats ON x.cnt_contract_key = kostenplaats.cnt_contract_key AND kostenplaats.cnt_kenmerkcontract_verwijder IS NULL AND kostenplaats.cnt_kenmerk_key = 632 -- Kostenplaats LEFT JOIN fac_v_aanwezigusrdata kp_ud ON fac.safe_to_number (kostenplaats.cnt_kenmerkcontract_waarde) = kp_ud.fac_usrdata_key LEFT JOIN prs_v_aanwezigkostenplaats kp ON TRIM (kp_ud.fac_usrdata_code) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 608 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE (COALESCE (fac.safe_to_number (apu.cnt_kenmerkcontract_waarde), 0) - COALESCE (fac.safe_to_number (aku.cnt_kenmerkcontract_waarde), 0)) != 0 UNION ALL -- CISPRO Fee/Environmental Permit Fee/Security/Parking/Public Amenities SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope DECODE (aantal.cnt_kenmerk_key, 463, '07', -- #CISPRO licenties -1, '08', -- #Med. Kantoor;TODO:? 468, '08', -- #Med. Lab/Hall 475, '06', -- #Med. Security 469, '09', -- #Med. Parking 474, '10', -- #Med. Public Amenities '99') grtboekrek, -- Hardcoded? DECODE (aantal.cnt_kenmerk_key, 463, 'CISPRO Fee', -- #CISPRO licenties -1, 'Environmental Permit Fee', -- #Med. Kantoor;TODO:? 468, 'Environmental Permit Fee', -- #Med. Lab/Hall 475, 'Security', -- #Med. Security 469, 'Parking', -- #Med. Parking 474, 'Public Amenities', -- #Med. Public Amenities 'X') regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal, -- Aantal DECODE (aantal.cnt_kenmerk_key, 463, COALESCE (jbw1.fac_usrdata_prijs, 0), -- #CISPRO licenties -1, COALESCE (jbw2.fac_usrdata_prijs, 0), -- #Med. Kantoor;TODO:? 468, COALESCE (jbw3.fac_usrdata_prijs, 0), -- #Med. Lab/Hall 475, COALESCE (jbw4.fac_usrdata_prijs, 0), -- #Med. Security 469, COALESCE (jbw5.fac_usrdata_prijs, 0), -- #Med. Parking 474, COALESCE (jbw6.fac_usrdata_prijs, 0), -- #Med. Public Amenities 0) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) * DECODE (aantal.cnt_kenmerk_key, 463, COALESCE (jbw1.fac_usrdata_prijs, 0), -- #CISPRO licenties -1, COALESCE (jbw2.fac_usrdata_prijs, 0), -- #Med. Kantoor;TODO:? 468, COALESCE (jbw3.fac_usrdata_prijs, 0), -- #Med. Lab/Hall 475, COALESCE (jbw4.fac_usrdata_prijs, 0), -- #Med. Security 469, COALESCE (jbw5.fac_usrdata_prijs, 0), -- #Med. Parking 474, COALESCE (jbw6.fac_usrdata_prijs, 0), -- #Med. Public Amenities 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) * DECODE (aantal.cnt_kenmerk_key, 463, COALESCE (jbw1.fac_usrdata_prijs, 0), -- #CISPRO licenties -1, COALESCE (jbw2.fac_usrdata_prijs, 0), -- #Med. Kantoor;TODO:? 468, COALESCE (jbw3.fac_usrdata_prijs, 0), -- #Med. Lab/Hall 475, COALESCE (jbw4.fac_usrdata_prijs, 0), -- #Med. Security 469, COALESCE (jbw5.fac_usrdata_prijs, 0), -- #Med. Parking 474, COALESCE (jbw6.fac_usrdata_prijs, 0), -- #Med. Public Amenities 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag DECODE (aantal.cnt_kenmerk_key, 469, '8112', -- #Med. Parking 474, '8113', -- #Med. Public Amenities '8102') -- #CISPRO licenties|#Med. Kantoor|#Med. Lab/Hall|#Med. Security grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2123 -- Lease Agreement CRF AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract aantal ON x.cnt_contract_key = aantal.cnt_contract_key AND aantal.cnt_kenmerkcontract_verwijder IS NULL AND aantal.cnt_kenmerk_key IN (463, -1, 468, 475, 469, 474) -- #CISPRO licenties|#Med. Kantoor;TODO:?|#Med. Lab/Hall|#Med. Security|#Med. Parking|#Med. Public Amenities LEFT JOIN fac_v_aanwezigusrdata jbw1 ON jbw1.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw1.fac_usrdata_key = 901 -- CISPRO Fee LEFT JOIN fac_v_aanwezigusrdata jbw2 ON jbw2.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw2.fac_usrdata_key = 902 -- Environmental permit Office Space LEFT JOIN fac_v_aanwezigusrdata jbw3 ON jbw3.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw3.fac_usrdata_key = 903 -- Environmental permit Lab/Hall LEFT JOIN fac_v_aanwezigusrdata jbw4 ON jbw4.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw4.fac_usrdata_key = 906 -- Security LEFT JOIN fac_v_aanwezigusrdata jbw5 ON jbw5.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw5.fac_usrdata_key = 904 -- Parking LEFT JOIN fac_v_aanwezigusrdata jbw6 ON jbw6.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw6.fac_usrdata_key = 905 -- Public Amenities LEFT JOIN cnt_kenmerkcontract kostenplaats ON x.cnt_contract_key = kostenplaats.cnt_contract_key AND kostenplaats.cnt_kenmerkcontract_verwijder IS NULL AND kostenplaats.cnt_kenmerk_key = 632 -- Kostenplaats LEFT JOIN fac_v_aanwezigusrdata kp_ud ON fac.safe_to_number (kostenplaats.cnt_kenmerkcontract_waarde) = kp_ud.fac_usrdata_key LEFT JOIN prs_v_aanwezigkostenplaats kp ON TRIM (kp_ud.fac_usrdata_code) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 608 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) != 0 ; CREATE OR REPLACE VIEW blcc_v_fact_actual2124 -- Lease Agreement Facilities AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, 'Rent Facilities' regel, -- Rent Facilities TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag --'8100' grtboekrek, -- Hardcoded? SUBSTR (jbk.cnt_kenmerk_hint, INSTR (jbk.cnt_kenmerk_hint, ';') + 1) grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2124 -- Lease Agreement Facilities AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract jbw ON x.cnt_contract_key = jbw.cnt_contract_key AND jbw.cnt_kenmerkcontract_verwijder IS NULL AND jbw.cnt_kenmerk_key = 662 -- Jaarbedrag (Rent Facilities) LEFT JOIN cnt_kenmerk jbk ON jbw.cnt_kenmerk_key = jbk.cnt_kenmerk_key AND jbk.cnt_kenmerk_verwijder IS NULL --LEFT JOIN prs_v_aanwezigkostenplaats kp -- ON kp.prs_kostenplaats_nr = 'xxxxx' -- Hardcoded? LEFT JOIN prs_v_aanwezigkostenplaats kp ON SUBSTR (jbk.cnt_kenmerk_hint, 1, INSTR (jbk.cnt_kenmerk_hint, ';') -1) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit ; CREATE OR REPLACE VIEW blcc_v_fact_actual2141 -- User Agreement Loft AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, 'Rent' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet pxq.p aantal, -- Aantal DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (pxq.q, 0)) bedrag, -- Jaarbedrag (per eenheid) of Absolute jaarkorting DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * (COALESCE (pxq.p, 0) * DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (pxq.q, 0))) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * (COALESCE (pxq.p, 0) * DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (pxq.q, 0))) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 0.21)) * 1/12, 2) mndbtw, -- BTW maandbedrag '8161' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2141 -- User Agreement Loft AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 545 -- BTW optie LEFT JOIN cnt_kenmerkcontract rent ON x.cnt_contract_key = rent.cnt_contract_key AND rent.cnt_kenmerkcontract_verwijder IS NULL AND rent.cnt_kenmerk_key = 672 -- Rent doorberekenen LEFT JOIN (SELECT cnt_contract_key, fac.safe_to_number (cnt_kenmerkcontract_waarde) p, (SELECT fac_usrdata_prijs FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 581 AND fac_usrdata_key = 907) q -- UAL Rent uit Tarieflijst Div. FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 484 -- Aantal afgenomen werkplekken UNION ALL -- Extra korting-regel! SELECT cnt_contract_key, -1 p, fac.safe_to_number (cnt_kenmerkcontract_waarde) q FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 667) pxq -- Rent Rebate ON x.cnt_contract_key = pxq.cnt_contract_key LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 610 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '02' sortering, 'Property Tax' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, 'N' fin_btwtabelwaarde_code, 'Nul' fin_btwtabelwaarde_oms, 0 fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * 7 aantal, -- Aantal afgenomen werkplekken * 7 fac.safe_to_number (jbw.alg_onrgoedkenmerk_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * 7), 0) * COALESCE (fac.safe_to_number (jbw.alg_onrgoedkenmerk_waarde), 0) * 1/12, 2) mndnet, -- Netto maandbedrag 0 mndbtw, -- BTW maandbedrag '8164' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2141 -- User Agreement Loft AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract aantal ON x.cnt_contract_key = aantal.cnt_contract_key AND aantal.cnt_kenmerkcontract_verwijder IS NULL AND aantal.cnt_kenmerk_key = 484 -- Aantal afgenomen werkplekken LEFT JOIN alg_v_aanwezigonrgoedkenmerk jbw ON jbw.alg_onrgoed_key = 5 -- 122-004 Aula + Startup Loft AND jbw.alg_kenmerk_key = 1202 -- OZB tarief K voor gebouw 4 (met key=5?) AND jbw.alg_onrgoed_niveau = 'G' LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 610 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit UNION ALL -- Alleen als niet '0', tot 'Aanpassingsdatum' en nooit BTW! SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '03' sortering, 'CFF-Subsidy' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'N') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Nul') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde)) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde)), 0) * 1/12, 2) * -1 mndnet, -- Netto maandbedrag --ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * -- COALESCE (DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde)), 0) * -- DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * -- 1/12, 2) * -1 0 mndbtw, -- BTW maandbedrag;TODO:Dit is fout, maar ging in oude werkwijze altijd al zo, dus fout voorlopig niet verbeteren! '8310' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2141 -- User Agreement Loft AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 545 -- BTW optie LEFT JOIN cnt_kenmerkcontract rent ON x.cnt_contract_key = rent.cnt_contract_key AND rent.cnt_kenmerkcontract_verwijder IS NULL AND rent.cnt_kenmerk_key = 672 -- Rent doorberekenen LEFT JOIN cnt_kenmerkcontract subsidie ON x.cnt_contract_key = subsidie.cnt_contract_key AND subsidie.cnt_kenmerkcontract_verwijder IS NULL AND subsidie.cnt_kenmerk_key = 555 -- CFF-Subsidy LEFT JOIN cnt_kenmerkcontract tot ON x.cnt_contract_key = tot.cnt_contract_key AND tot.cnt_kenmerkcontract_verwijder IS NULL AND tot.cnt_kenmerk_key = 479 -- Aanpassingsdatum LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 610 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde)), 0) != 0 AND fac.safe_to_date (tot.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TO_DATE (x.maand || '01', 'yyyymmdd') UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '04' sortering, 'FES-Subsidy' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * 7 aantal, -- Aantal afgenomen werkplekken * 7 DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (jbw.alg_onrgoedkenmerk_waarde)) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * 7), 0) * COALESCE (DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (jbw.alg_onrgoedkenmerk_waarde)), 0) * 1/12, 2) * -1 mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * 7), 0) * COALESCE (DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (jbw.alg_onrgoedkenmerk_waarde)), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 0.21)) * 1/12, 2) * -1 mndbtw, -- BTW maandbedrag '8161' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2141 -- User Agreement Loft AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 545 -- BTW optie LEFT JOIN cnt_kenmerkcontract rent ON x.cnt_contract_key = rent.cnt_contract_key AND rent.cnt_kenmerkcontract_verwijder IS NULL AND rent.cnt_kenmerk_key = 672 -- Rent doorberekenen LEFT JOIN cnt_kenmerkcontract aantal ON x.cnt_contract_key = aantal.cnt_contract_key AND aantal.cnt_kenmerkcontract_verwijder IS NULL AND aantal.cnt_kenmerk_key = 484 -- Aantal afgenomen werkplekken LEFT JOIN alg_v_aanwezigonrgoedkenmerk jbw ON jbw.alg_onrgoed_key = 5 -- 122-004 Aula + Startup Loft AND jbw.alg_kenmerk_key = 1222 -- FES subsidie K voor gebouw 4 (met key=5?) AND jbw.alg_onrgoed_niveau = 'G' LEFT JOIN cnt_kenmerkcontract fes ON x.cnt_contract_key = fes.cnt_contract_key AND fes.cnt_kenmerkcontract_verwijder IS NULL AND fes.cnt_kenmerk_key = 605 -- FES-Subsidy (vinkje) LEFT JOIN cnt_kenmerkcontract tot ON x.cnt_contract_key = tot.cnt_contract_key AND tot.cnt_kenmerkcontract_verwijder IS NULL AND tot.cnt_kenmerk_key = 594 -- Aanpassings/Einddatum LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 610 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE fes.cnt_kenmerkcontract_waarde IS NOT NULL AND fac.safe_to_date (tot.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TO_DATE (x.maand || '01', 'yyyymmdd') UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '05' sortering, 'Collective Services' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet pxq.p aantal, -- Aantal afgenomen werkplekken * 7 of -1! DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (pxq.q, 0)) bedrag, -- Jaarbedrag (per eenheid) of Absolute jaarkorting DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * (COALESCE (pxq.p, 0) * DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (pxq.q, 0))) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * (COALESCE (pxq.p, 0) * DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (pxq.q, 0))) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag '8162' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2141 -- User Agreement Loft AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract cs ON x.cnt_contract_key = cs.cnt_contract_key AND cs.cnt_kenmerkcontract_verwijder IS NULL AND cs.cnt_kenmerk_key = 560 -- Collective Services doorberekenen LEFT JOIN (SELECT cnt_contract_key, fac.safe_to_number (cnt_kenmerkcontract_waarde) * 7 p, -- Aantal afgenomen werkplekken * 7 (SELECT fac.safe_to_number (alg_onrgoedkenmerk_waarde) FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_onrgoed_key = 5 AND alg_kenmerk_key = 1207 AND alg_onrgoed_niveau = 'G') q -- Voorschot Collective Services K voor gebouw 4 (met key=5) FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 484 -- Aantal afgenomen werkplekken UNION ALL -- Extra korting-regel! SELECT cnt_contract_key, -1 p, fac.safe_to_number (cnt_kenmerkcontract_waarde) q FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 881) pxq -- Absolute korting Collective Services ON x.cnt_contract_key = pxq.cnt_contract_key LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 610 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '06' sortering, 'Utilities' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * 7 aantal, -- Aantal afgenomen werkplekken * 7 DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (jbw.alg_onrgoedkenmerk_waarde)) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * 7), 0) * COALESCE (DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (jbw.alg_onrgoedkenmerk_waarde)), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * 7), 0) * COALESCE (DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (jbw.alg_onrgoedkenmerk_waarde)), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag '8163' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2141 -- User Agreement Loft AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract cs ON x.cnt_contract_key = cs.cnt_contract_key AND cs.cnt_kenmerkcontract_verwijder IS NULL AND cs.cnt_kenmerk_key = 560 -- Collective Services doorberekenen LEFT JOIN cnt_kenmerkcontract aantal ON x.cnt_contract_key = aantal.cnt_contract_key AND aantal.cnt_kenmerkcontract_verwijder IS NULL AND aantal.cnt_kenmerk_key = 484 -- Aantal afgenomen werkplekken LEFT JOIN alg_v_aanwezigonrgoedkenmerk jbw ON jbw.alg_onrgoed_key = 5 -- 122-004 Aula + Startup Loft AND jbw.alg_kenmerk_key = 1212 -- Voorschot Utilities K voor gebouw 4 (met key=5?) AND jbw.alg_onrgoed_niveau = 'G' LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 610 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '07' sortering, 'Security' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal, -- Aantal afgenomen werkplekken DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (jbw.fac_usrdata_prijs, 0)) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde)), 0) * COALESCE (DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (jbw.fac_usrdata_prijs, 0)), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde)), 0) * COALESCE (DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (jbw.fac_usrdata_prijs, 0)), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag '8162' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2141 -- User Agreement Loft AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract cs ON x.cnt_contract_key = cs.cnt_contract_key AND cs.cnt_kenmerkcontract_verwijder IS NULL AND cs.cnt_kenmerk_key = 560 -- Collective Services doorberekenen LEFT JOIN cnt_kenmerkcontract aantal ON x.cnt_contract_key = aantal.cnt_contract_key AND aantal.cnt_kenmerkcontract_verwijder IS NULL AND aantal.cnt_kenmerk_key = 484 -- Aantal afgenomen werkplekken LEFT JOIN fac_v_aanwezigusrdata jbw ON jbw.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw.fac_usrdata_key = 906 -- Security-tarief LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 610 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) != 0 AND COALESCE (jbw.fac_usrdata_prijs, 0) != 0 UNION ALL -- TODO:Afhankelijk van Rent of Collective Services? SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '08' sortering, 'Parking' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal, -- Aantal afgenomen werkplekken DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (jbw.fac_usrdata_prijs, 0)) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde)), 0) * COALESCE (DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (jbw.fac_usrdata_prijs, 0)), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde)), 0) * COALESCE (DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (jbw.fac_usrdata_prijs, 0)), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag '8161' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2141 -- User Agreement Loft AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract cs ON x.cnt_contract_key = cs.cnt_contract_key AND cs.cnt_kenmerkcontract_verwijder IS NULL AND cs.cnt_kenmerk_key = 560 -- Collective Services doorberekenen LEFT JOIN cnt_kenmerkcontract aantal ON x.cnt_contract_key = aantal.cnt_contract_key AND aantal.cnt_kenmerkcontract_verwijder IS NULL AND aantal.cnt_kenmerk_key = 484 -- Aantal afgenomen werkplekken LEFT JOIN fac_v_aanwezigusrdata jbw ON jbw.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw.fac_usrdata_key = 904 -- Parking-tarief LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 610 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit UNION ALL -- TODO:Afhankelijk van Rent of Collective Services? SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '09' sortering, 'Public Amenities' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal, -- Aantal afgenomen werkplekken DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (jbw.fac_usrdata_prijs, 0)) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde)), 0) * COALESCE (DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (jbw.fac_usrdata_prijs, 0)), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde)), 0) * COALESCE (DECODE (cs.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (jbw.fac_usrdata_prijs, 0)), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag '8161' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2141 -- User Agreement Loft AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract cs ON x.cnt_contract_key = cs.cnt_contract_key AND cs.cnt_kenmerkcontract_verwijder IS NULL AND cs.cnt_kenmerk_key = 560 -- Collective Services doorberekenen LEFT JOIN cnt_kenmerkcontract aantal ON x.cnt_contract_key = aantal.cnt_contract_key AND aantal.cnt_kenmerkcontract_verwijder IS NULL AND aantal.cnt_kenmerk_key = 484 -- Aantal afgenomen werkplekken LEFT JOIN fac_v_aanwezigusrdata jbw ON jbw.fac_usrtab_key = 581 -- Tarieflijst Div. AND jbw.fac_usrdata_key = 905 -- Public Amenities-tarief LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 610 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit ; CREATE OR REPLACE VIEW blcc_v_fact_actual2142 -- User Agreement Workshop AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, 'Rent' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet pxq.p aantal, -- Aantal DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (pxq.q, 0)) bedrag, -- Jaarbedrag (per eenheid) of Absolute jaarkorting DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * (COALESCE (pxq.p, 0) * DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (pxq.q, 0))) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * (COALESCE (pxq.p, 0) * DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (pxq.q, 0))) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 0.21)) * 1/12, 2) mndbtw, -- BTW maandbedrag '8161' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2142 -- User Agreement Workshop AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 544 -- BTW optie LEFT JOIN cnt_kenmerkcontract rent ON x.cnt_contract_key = rent.cnt_contract_key AND rent.cnt_kenmerkcontract_verwijder IS NULL AND rent.cnt_kenmerk_key = 673 -- Rent doorberekenen LEFT JOIN (SELECT cnt_contract_key, fac.safe_to_number (cnt_kenmerkcontract_waarde) p, (SELECT fac_usrdata_prijs FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 581 AND fac_usrdata_key = 907) q -- UAL Rent uit Tarieflijst Div. FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 485 -- Aantal afgenomen werkplekken UNION ALL -- Extra korting-regel! SELECT cnt_contract_key, -1 p, fac.safe_to_number (cnt_kenmerkcontract_waarde) q FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 666) pxq -- Rent Rebate ON x.cnt_contract_key = pxq.cnt_contract_key LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 609 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit UNION ALL -- Alleen als niet '0', tot 'Aanpassingsdatum' en nooit BTW! SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '02' sortering, 'CFF-Subsidy' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'N') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Nul') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde)) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde)), 0) * 1/12, 2) * -1 mndnet, -- Netto maandbedrag --ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * -- COALESCE (DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde)), 0) * -- DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * -- 1/12, 2) * -1 0 mndbtw, -- BTW maandbedrag;TODO:Dit is fout, maar ging in oude werkwijze altijd al zo, dus fout voorlopig niet verbeteren! '8310' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2142 -- User Agreement Workshop AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 544 -- BTW optie LEFT JOIN cnt_kenmerkcontract rent ON x.cnt_contract_key = rent.cnt_contract_key AND rent.cnt_kenmerkcontract_verwijder IS NULL AND rent.cnt_kenmerk_key = 673 -- Rent doorberekenen LEFT JOIN cnt_kenmerkcontract subsidie ON x.cnt_contract_key = subsidie.cnt_contract_key AND subsidie.cnt_kenmerkcontract_verwijder IS NULL AND subsidie.cnt_kenmerk_key = 554 -- CFF-Subsidy LEFT JOIN cnt_kenmerkcontract tot ON x.cnt_contract_key = tot.cnt_contract_key AND tot.cnt_kenmerkcontract_verwijder IS NULL AND tot.cnt_kenmerk_key = 478 -- Aanpassingsdatum LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 609 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE COALESCE (DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (subsidie.cnt_kenmerkcontract_waarde)), 0) != 0 AND fac.safe_to_date (tot.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TO_DATE (x.maand || '01', 'yyyymmdd') UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '03' sortering, 'FES-Subsidy' regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'N', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 21)) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * 7 aantal, -- Aantal afgenomen werkplekken * 7 DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (jbw.alg_onrgoedkenmerk_waarde)) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 DECODE (factuur.cnt_kenmerkcontract_waarde, NULL, 0, 1) factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * 7), 0) * COALESCE (DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (jbw.alg_onrgoedkenmerk_waarde)), 0) * 1/12, 2) * -1 mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (DECODE (aantal.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * 7), 0) * COALESCE (DECODE (rent.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (jbw.alg_onrgoedkenmerk_waarde)), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (btwop.cnt_kenmerkcontract_waarde, '1', 0, 0.21)) * 1/12, 2) * -1 mndbtw, -- BTW maandbedrag '8161' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2142 -- User Agreement Workshop AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract btwop ON x.cnt_contract_key = btwop.cnt_contract_key AND btwop.cnt_kenmerkcontract_verwijder IS NULL AND btwop.cnt_kenmerk_key = 544 -- BTW optie LEFT JOIN cnt_kenmerkcontract rent ON x.cnt_contract_key = rent.cnt_contract_key AND rent.cnt_kenmerkcontract_verwijder IS NULL AND rent.cnt_kenmerk_key = 673 -- Rent doorberekenen LEFT JOIN cnt_kenmerkcontract aantal ON x.cnt_contract_key = aantal.cnt_contract_key AND aantal.cnt_kenmerkcontract_verwijder IS NULL AND aantal.cnt_kenmerk_key = 485 -- Aantal afgenomen werkplekken LEFT JOIN alg_v_aanwezigonrgoedkenmerk jbw ON jbw.alg_onrgoed_key = 1 -- 122-001 Hoofdgebouw AND jbw.alg_kenmerk_key = 1222 -- FES subsidie L voor gebouw 1 (met key=1?) AND jbw.alg_onrgoed_niveau = 'G' LEFT JOIN cnt_kenmerkcontract fes ON x.cnt_contract_key = fes.cnt_contract_key AND fes.cnt_kenmerkcontract_verwijder IS NULL AND fes.cnt_kenmerk_key = 604 -- FES-Subsidy (vinkje) LEFT JOIN cnt_kenmerkcontract tot ON x.cnt_contract_key = tot.cnt_contract_key AND tot.cnt_kenmerkcontract_verwijder IS NULL AND tot.cnt_kenmerk_key = 593 -- Aanpassings/Einddatum LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '50420' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN cnt_kenmerkcontract factuur ON x.cnt_contract_key = factuur.cnt_contract_key AND factuur.cnt_kenmerkcontract_verwijder IS NULL AND factuur.cnt_kenmerk_key = 609 -- Factuur versturen LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit WHERE fes.cnt_kenmerkcontract_waarde IS NOT NULL AND fac.safe_to_date (tot.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TO_DATE (x.maand || '01', 'yyyymmdd') ; CREATE OR REPLACE VIEW blcc_v_fact_actual2161 -- Landlease CV - CRF AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, 'Rent Landlease' regel, -- Rent Landlease TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag --'8100' grtboekrek, -- Hardcoded? SUBSTR (jbk.cnt_kenmerk_hint, INSTR (jbk.cnt_kenmerk_hint, ';') + 1) grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2161 -- Landlease CV - CRF AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract jbw ON x.cnt_contract_key = jbw.cnt_contract_key AND jbw.cnt_kenmerkcontract_verwijder IS NULL AND jbw.cnt_kenmerk_key = 665 -- Jaarbedrag (Rent Landlease) LEFT JOIN cnt_kenmerk jbk ON jbw.cnt_kenmerk_key = jbk.cnt_kenmerk_key AND jbk.cnt_kenmerk_verwijder IS NULL --LEFT JOIN prs_v_aanwezigkostenplaats kp -- ON kp.prs_kostenplaats_nr = 'xxxxx' -- Hardcoded? LEFT JOIN prs_v_aanwezigkostenplaats kp ON SUBSTR (jbk.cnt_kenmerk_hint, 1, INSTR (jbk.cnt_kenmerk_hint, ';') -1) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit ; CREATE OR REPLACE VIEW blcc_v_fact_actual2181 -- SLA Brightlands CRF - CV AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope DECODE (jbw.cnt_kenmerk_key, 663, '01', 664, '02', '03') sortering, -- 671 DECODE (jbw.cnt_kenmerk_key, 663, 'Rent Expedition space', 664, 'Rent Infra', 'Rent Utilities') regel, -- 671 TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag --'xxxx' grtboekrek, -- Hardcoded? SUBSTR (jbk.cnt_kenmerk_hint, INSTR (jbk.cnt_kenmerk_hint, ';') + 1) grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2181 -- SLA Brightlands CRF - CV AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract jbw ON x.cnt_contract_key = jbw.cnt_contract_key AND jbw.cnt_kenmerkcontract_verwijder IS NULL AND jbw.cnt_kenmerk_key IN (663, 664, 671) -- Jaarbedragen (Rent Expedition space+Rent Infra+Rent Utilities) LEFT JOIN cnt_kenmerk jbk ON jbw.cnt_kenmerk_key = jbk.cnt_kenmerk_key AND jbk.cnt_kenmerk_verwijder IS NULL --LEFT JOIN prs_v_aanwezigkostenplaats kp -- ON kp.prs_kostenplaats_nr = 'xxxxx' -- Hardcoded? LEFT JOIN prs_v_aanwezigkostenplaats kp ON SUBSTR (jbk.cnt_kenmerk_hint, 1, INSTR (jbk.cnt_kenmerk_hint, ';') -1) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit ; CREATE OR REPLACE VIEW blcc_v_fact_actual2182 -- SLA Brightlands CV - CRF AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope DECODE (jbw.cnt_kenmerk_key, 512, '01', '02') sortering, -- 524 DECODE (jbw.cnt_kenmerk_key, 512, 'Advance Payment Collective Services', 'Advance Payment Utilities') regel, -- 524 TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag --'xxxx' grtboekrek, -- Hardcoded? SUBSTR (jbk.cnt_kenmerk_hint, INSTR (jbk.cnt_kenmerk_hint, ';') + 1) grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2182 -- SLA Brightlands CV - CRF AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract jbw ON x.cnt_contract_key = jbw.cnt_contract_key AND jbw.cnt_kenmerkcontract_verwijder IS NULL AND jbw.cnt_kenmerk_key IN (512, 524) -- Jaarbedragen (Advance Payment Collective Services+Advance Payment Utilities) LEFT JOIN cnt_kenmerk jbk ON jbw.cnt_kenmerk_key = jbk.cnt_kenmerk_key AND jbk.cnt_kenmerk_verwijder IS NULL --LEFT JOIN prs_v_aanwezigkostenplaats kp -- ON kp.prs_kostenplaats_nr = 'xxxxx' -- Hardcoded? LEFT JOIN prs_v_aanwezigkostenplaats kp ON SUBSTR (jbk.cnt_kenmerk_hint, 1, INSTR (jbk.cnt_kenmerk_hint, ';') -1) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit ; CREATE OR REPLACE VIEW blcc_v_fact_actual2183 -- SLA CGZ Variabel AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope DECODE (jbw.cnt_kenmerk_key, 522, '01', 516, '02', 517, '03', 519, '04', 520, '05', 523, '06', 521, '07', '08') sortering, -- 518 DECODE (jbw.cnt_kenmerk_key, 522, 'Advance Payment Propeen Usage', 516, 'Advance Payment Heptaan Usage', 517, 'Advance Payment Hexaan Usage', 519, 'Advance Payment Isododecaan Usage', 520, 'Advance Payment Etheen Usage', 523, 'Advance Payment Tolueen Usage', 521, 'Advance Payment Nbutaan Usage', 'Advance Payment Isobutaan Usage') regel, -- 518 TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * 1, 2) -- NIET * 1/12, maar * 1! mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1, 2) -- NIET * 1/12, maar * 1! mndbtw, -- BTW maandbedrag --'xxxx' grtboekrek, -- Hardcoded? SUBSTR (jbk.cnt_kenmerk_hint, INSTR (jbk.cnt_kenmerk_hint, ';') + 1) grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2183 -- SLA CGZ Variabel AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract jbw ON x.cnt_contract_key = jbw.cnt_contract_key AND jbw.cnt_kenmerkcontract_verwijder IS NULL AND jbw.cnt_kenmerk_key IN (522, 516, 517, 519, 520, 523, 521, 518) -- MAANDbedragen (Advance Payment Propaan+Heptaan+Hexaan+Isododecaan+Itheen+Tolueen+Nbutaan+Isobutaan Usage) LEFT JOIN cnt_kenmerk jbk ON jbw.cnt_kenmerk_key = jbk.cnt_kenmerk_key AND jbk.cnt_kenmerk_verwijder IS NULL --LEFT JOIN prs_v_aanwezigkostenplaats kp -- ON kp.prs_kostenplaats_nr = 'xxxxx' -- Hardcoded? LEFT JOIN prs_v_aanwezigkostenplaats kp ON SUBSTR (jbk.cnt_kenmerk_hint, 1, INSTR (jbk.cnt_kenmerk_hint, ';') -1) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit ; CREATE OR REPLACE VIEW blcc_v_fact_actual2184 -- SLA CGZ Vast AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, 'Monthly Fee CGZ' regel, -- Monthly Fee CGZ TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. jbw.som_kenmerkcontract_waarde bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (jbw.som_kenmerkcontract_waarde, 0) * 1, 2) -- NIET * 1/12, maar * 1! mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (jbw.som_kenmerkcontract_waarde, 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1, 2) -- NIET * 1/12, maar * 1! mndbtw, -- BTW maandbedrag '8800' grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2184 -- SLA CGZ Vast AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN ( SELECT cnt_contract_key, SUM (fac.safe_to_number (cnt_kenmerkcontract_waarde)) som_kenmerkcontract_waarde FROM cnt_kenmerkcontract WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key IN (638, 592, 625) -- MAANDbedragen (Monthly Fee+Depreciation & ROI Extension+Insurance CGZ) GROUP BY cnt_contract_key) jbw ON x.cnt_contract_key = jbw.cnt_contract_key LEFT JOIN prs_v_aanwezigkostenplaats kp ON kp.prs_kostenplaats_nr = '61001' -- Hardcoded? LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit ; CREATE OR REPLACE VIEW blcc_v_fact_actual2185 -- SLA Managed Connectivity AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, 'Managed Connectivity' regel, -- Managed Connectivity TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag --'8506' grtboekrek, -- Hardcoded? SUBSTR (jbk.cnt_kenmerk_hint, INSTR (jbk.cnt_kenmerk_hint, ';') + 1) grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2185 -- SLA Managed Connectivity AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract jbw ON x.cnt_contract_key = jbw.cnt_contract_key AND jbw.cnt_kenmerkcontract_verwijder IS NULL AND jbw.cnt_kenmerk_key = 637 -- Jaarbedrag (Managed Connectivity) LEFT JOIN cnt_kenmerk jbk ON jbw.cnt_kenmerk_key = jbk.cnt_kenmerk_key AND jbk.cnt_kenmerk_verwijder IS NULL --LEFT JOIN prs_v_aanwezigkostenplaats kp -- ON kp.prs_kostenplaats_nr = 'xxxxx' -- Hardcoded? LEFT JOIN prs_v_aanwezigkostenplaats kp ON SUBSTR (jbk.cnt_kenmerk_hint, 1, INSTR (jbk.cnt_kenmerk_hint, ';') -1) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit ; CREATE OR REPLACE VIEW blcc_v_fact_actual2186 -- SLA Multi-Purpose Pilot Plant AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope DECODE (jbw.cnt_kenmerk_key, 535, '01', '02') sortering, -- 528 DECODE (jbw.cnt_kenmerk_key, 535, 'Rent', 'Advance Payments') regel, -- 528 TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag --'xxxx' grtboekrek, -- Hardcoded? SUBSTR (jbk.cnt_kenmerk_hint, INSTR (jbk.cnt_kenmerk_hint, ';') + 1) grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2186 -- SLA Multi-Purpose Pilot Plant AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract jbw ON x.cnt_contract_key = jbw.cnt_contract_key AND jbw.cnt_kenmerkcontract_verwijder IS NULL AND jbw.cnt_kenmerk_key IN (535, 528) -- Jaarbedragen (Rent+Advance Payments) LEFT JOIN cnt_kenmerk jbk ON jbw.cnt_kenmerk_key = jbk.cnt_kenmerk_key AND jbk.cnt_kenmerk_verwijder IS NULL --LEFT JOIN prs_v_aanwezigkostenplaats kp -- ON kp.prs_kostenplaats_nr = 'xxxxx' -- Hardcoded? LEFT JOIN prs_v_aanwezigkostenplaats kp ON SUBSTR (jbk.cnt_kenmerk_hint, 1, INSTR (jbk.cnt_kenmerk_hint, ';') -1) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit ; CREATE OR REPLACE VIEW blcc_v_fact_actual2187 -- SLA Operational Center AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope DECODE (jbw.cnt_kenmerk_key, 641, '01', 565, '01', 624, '01', 618, '03', 529, '04', '02') sortering, -- 674, 635, 636, 511 DECODE (jbw.cnt_kenmerk_key, 641, 'Fee Duty Officer', 565, 'Fee Duty Officer', 624, 'Fee Duty Officer', 618, 'Fee Hygienic Cleaning/Maintenance', 529, 'Fee Chemical Waste', 'Fee Gases') regel, -- 674, 635, 636, 511 TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag --'xxxx' grtboekrek, -- Hardcoded? SUBSTR (jbk.cnt_kenmerk_hint, INSTR (jbk.cnt_kenmerk_hint, ';') + 1) grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2187 -- SLA Operational Center AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract jbw ON x.cnt_contract_key = jbw.cnt_contract_key AND jbw.cnt_kenmerkcontract_verwijder IS NULL AND jbw.cnt_kenmerk_key IN (641, 565, 624, 618, 529, 674, 635, 636, 511) -- Jaarbedragen LEFT JOIN cnt_kenmerk jbk ON jbw.cnt_kenmerk_key = jbk.cnt_kenmerk_key AND jbk.cnt_kenmerk_verwijder IS NULL --LEFT JOIN prs_v_aanwezigkostenplaats kp -- ON kp.prs_kostenplaats_nr = 'xxxxx' -- Hardcoded? LEFT JOIN prs_v_aanwezigkostenplaats kp ON SUBSTR (jbk.cnt_kenmerk_hint, 1, INSTR (jbk.cnt_kenmerk_hint, ';') -1) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit ; CREATE OR REPLACE VIEW blcc_v_fact_actual2261 -- SLA Steam Facility AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, 'Fixed fee steam facility' regel, -- Fixed fee steam facility TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag (per eenheid) DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * 1/12, 2) mndbtw, -- BTW maandbedrag --'8433' grtboekrek, -- Hardcoded? SUBSTR (jbk.cnt_kenmerk_hint, INSTR (jbk.cnt_kenmerk_hint, ';') + 1) grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b--, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2261 -- SLA Steam Facility AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract jbw ON x.cnt_contract_key = jbw.cnt_contract_key AND jbw.cnt_kenmerkcontract_verwijder IS NULL AND jbw.cnt_kenmerk_key = 781 -- Jaarbedrag (Fixed fee steam facility) LEFT JOIN cnt_kenmerk jbk ON jbw.cnt_kenmerk_key = jbk.cnt_kenmerk_key AND jbk.cnt_kenmerk_verwijder IS NULL --LEFT JOIN prs_v_aanwezigkostenplaats kp -- ON kp.prs_kostenplaats_nr = 'xxxxx' -- Hardcoded? LEFT JOIN prs_v_aanwezigkostenplaats kp ON SUBSTR (jbk.cnt_kenmerk_hint, 1, INSTR (jbk.cnt_kenmerk_hint, ';') -1) = kp.prs_kostenplaats_nr LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit ; CREATE OR REPLACE VIEW blcc_v_fact_actual2381 -- SLA Generiek CV AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, ro.cnt_kenmerkcontract_waarde regel, -- Regelomschrijving TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw_ud.fac_usrdata_code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw_ud.fac_usrdata_omschr) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw_ud.fac_usrdata_prijs) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (mbw.cnt_kenmerkcontract_waarde) bedrag, -- MAANDbedrag DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (mbw.cnt_kenmerkcontract_waarde), 0) * 1, 2) -- NIET * 1/12, maar * 1! mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (mbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw_ud.fac_usrdata_prijs) * 1, 2) -- NIET * 1/12, maar * 1! mndbtw, -- BTW maandbedrag ks.prs_kostensoort_oms grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand, c.prs_kostenplaats_key, c.prs_kostensoort_key FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b WHERE c.ins_discipline_key = 2381 -- SLA Generiek CV AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract mbw ON x.cnt_contract_key = mbw.cnt_contract_key AND mbw.cnt_kenmerkcontract_verwijder IS NULL AND mbw.cnt_kenmerk_key = 821 -- MAANDbedrag LEFT JOIN cnt_kenmerkcontract btw ON x.cnt_contract_key = btw.cnt_contract_key AND btw.cnt_kenmerkcontract_verwijder IS NULL AND btw.cnt_kenmerk_key = 822 -- BTW code LEFT JOIN fac_v_aanwezigusrdata btw_ud ON fac.safe_to_number (btw.cnt_kenmerkcontract_waarde) = btw_ud.fac_usrdata_key AND btw_ud.fac_usrtab_key = 641 -- BTW tabel LEFT JOIN cnt_kenmerkcontract ro ON x.cnt_contract_key = ro.cnt_contract_key AND ro.cnt_kenmerkcontract_verwijder IS NULL AND ro.cnt_kenmerk_key = 823 -- Regelomschrijving LEFT JOIN prs_v_aanwezigkostenplaats kp ON x.prs_kostenplaats_key = kp.prs_kostenplaats_key LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit LEFT JOIN prs_kostensoort ks ON x.prs_kostensoort_key = ks.prs_kostensoort_key ; CREATE OR REPLACE VIEW blcc_v_fact_actual2382 -- SLA Generiek CRF AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201905') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (x.cnt_contract_nummer) po_nr, -- Yourref TRIM (x.cnt_contract_omschrijving) ourref, -- Ourref TRIM (x.cnt_contract_document) omschrijving, -- Contract scope '01' sortering, ro.cnt_kenmerkcontract_waarde regel, -- Regelomschrijving TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, x.adres, x.postcode, x.plaats, x.land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw_ud.fac_usrdata_code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw_ud.fac_usrdata_omschr) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw_ud.fac_usrdata_prijs) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (mbw.cnt_kenmerkcontract_waarde) bedrag, -- MAANDbedrag DECODE (UPPER (factent.fac_usrdata_omschr), 'CRF', 1, 0) crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (mbw.cnt_kenmerkcontract_waarde), 0) * 1, 2) -- NIET * 1/12, maar * 1! mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * COALESCE (fac.safe_to_number (mbw.cnt_kenmerkcontract_waarde), 0) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw_ud.fac_usrdata_prijs) * 1, 2) -- NIET * 1/12, maar * 1! mndbtw, -- BTW maandbedrag ks.prs_kostensoort_oms grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_omschrijving, c.cnt_contract_document, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, lp.maand, c.prs_kostenplaats_key, c.prs_kostensoort_key FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b WHERE c.ins_discipline_key = 2382 -- SLA Generiek CRF AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) x LEFT JOIN prs_kenmerklink btwnr ON x.prs_bedrijf_key = btwnr.prs_link_key AND btwnr.prs_kenmerklink_verwijder IS NULL AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL) LEFT JOIN prs_kenmerklink btwvl ON x.prs_bedrijf_key = btwvl.prs_link_key AND btwvl.prs_kenmerklink_verwijder IS NULL AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract mbw ON x.cnt_contract_key = mbw.cnt_contract_key AND mbw.cnt_kenmerkcontract_verwijder IS NULL AND mbw.cnt_kenmerk_key = 824 -- MAANDbedrag LEFT JOIN cnt_kenmerkcontract btw ON x.cnt_contract_key = btw.cnt_contract_key AND btw.cnt_kenmerkcontract_verwijder IS NULL AND btw.cnt_kenmerk_key = 825 -- BTW code LEFT JOIN fac_v_aanwezigusrdata btw_ud ON fac.safe_to_number (btw.cnt_kenmerkcontract_waarde) = btw_ud.fac_usrdata_key AND btw_ud.fac_usrtab_key = 641 -- BTW tabel LEFT JOIN cnt_kenmerkcontract ro ON x.cnt_contract_key = ro.cnt_contract_key AND ro.cnt_kenmerkcontract_verwijder IS NULL AND ro.cnt_kenmerk_key = 826 -- Regelomschrijving LEFT JOIN prs_v_aanwezigkostenplaats kp ON x.prs_kostenplaats_key = kp.prs_kostenplaats_key LEFT JOIN prs_kostenplaatsgrp kpg ON kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key LEFT JOIN fac_v_aanwezigusrdata factent ON x.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit LEFT JOIN prs_kostensoort ks ON x.prs_kostensoort_key = ks.prs_kostensoort_key ; CREATE OR REPLACE VIEW blcc_v_fact_correctie AS SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Yourref vf.fin_verkoopfactuur_c1 ourref, -- Ourref vf.fin_verkoopfactuur_c2 omschrijving, -- Contract scope '01' sortering, TRIM (ro.waarde) regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (cb.waarde) bedrag, -- Nvt. vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * btw.perc), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key, -- Correctiemelding-key vf.fin_verkoopfactuur_id mld_melding_omschrijving -- Factuur waarop correctie betrekking heeft! FROM mld_melding m, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 761) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_v_aanwezigusrdata ud WHERE km.mld_kenmerk_key = 762 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 763) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 764 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 765) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key --AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+) AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Yourref vf.fin_verkoopfactuur_c1 ourref, -- Ourref vf.fin_verkoopfactuur_c2 omschrijving, -- Contract scope '02' sortering, TRIM (ro.waarde) regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (cb.waarde) bedrag, -- Nvt. vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * btw.perc), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key, -- Correctiemelding-key vf.fin_verkoopfactuur_id mld_melding_omschrijving -- Factuur waarop correctie betrekking heeft! FROM mld_melding m, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 801) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 802 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 803) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 804 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 805) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key --AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+) AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Yourref vf.fin_verkoopfactuur_c1 ourref, -- Ourref vf.fin_verkoopfactuur_c2 omschrijving, -- Contract scope '03' sortering, TRIM (ro.waarde) regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (cb.waarde) bedrag, -- Nvt. vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * btw.perc), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key, -- Correctiemelding-key vf.fin_verkoopfactuur_id mld_melding_omschrijving -- Factuur waarop correctie betrekking heeft! FROM mld_melding m, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 806) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 807 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 808) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 809 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 810) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key --AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+) AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Yourref vf.fin_verkoopfactuur_c1 ourref, -- Ourref vf.fin_verkoopfactuur_c2 omschrijving, -- Contract scope '04' sortering, TRIM (ro.waarde) regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (cb.waarde) bedrag, -- Nvt. vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * btw.perc), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key, -- Correctiemelding-key vf.fin_verkoopfactuur_id mld_melding_omschrijving -- Factuur waarop correctie betrekking heeft! FROM mld_melding m, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 811) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 812 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 813) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 814 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 815) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key --AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+) AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Yourref vf.fin_verkoopfactuur_c1 ourref, -- Ourref vf.fin_verkoopfactuur_c2 omschrijving, -- Contract scope '05' sortering, TRIM (ro.waarde) regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (cb.waarde) bedrag, -- Nvt. vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * btw.perc), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key, -- Correctiemelding-key vf.fin_verkoopfactuur_id mld_melding_omschrijving -- Factuur waarop correctie betrekking heeft! FROM mld_melding m, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 816) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 817 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 818) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 819 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 820) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key --AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+) AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Yourref vf.fin_verkoopfactuur_c1 ourref, -- Ourref vf.fin_verkoopfactuur_c2 omschrijving, -- Contract scope '06' sortering, TRIM (ro.waarde) regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (cb.waarde) bedrag, -- Nvt. vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * btw.perc), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key, -- Correctiemelding-key vf.fin_verkoopfactuur_id mld_melding_omschrijving -- Factuur waarop correctie betrekking heeft! FROM mld_melding m, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 821) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 822 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 823) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 824 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 825) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key --AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+) AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Yourref vf.fin_verkoopfactuur_c1 ourref, -- Ourref vf.fin_verkoopfactuur_c2 omschrijving, -- Contract scope '07' sortering, TRIM (ro.waarde) regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (cb.waarde) bedrag, -- Nvt. vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * btw.perc), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key, -- Correctiemelding-key vf.fin_verkoopfactuur_id mld_melding_omschrijving -- Factuur waarop correctie betrekking heeft! FROM mld_melding m, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 826) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 827 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 828) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 829 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 830) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key --AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+) AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Yourref vf.fin_verkoopfactuur_c1 ourref, -- Ourref vf.fin_verkoopfactuur_c2 omschrijving, -- Contract scope '08' sortering, TRIM (ro.waarde) regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (cb.waarde) bedrag, -- Nvt. vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * btw.perc), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key, -- Correctiemelding-key vf.fin_verkoopfactuur_id mld_melding_omschrijving -- Factuur waarop correctie betrekking heeft! FROM mld_melding m, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 831) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 832 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 833) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 834 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 835) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key --AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+) AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Yourref vf.fin_verkoopfactuur_c1 ourref, -- Ourref vf.fin_verkoopfactuur_c2 omschrijving, -- Contract scope '09' sortering, TRIM (ro.waarde) regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (cb.waarde) bedrag, -- Nvt. vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * btw.perc), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key, -- Correctiemelding-key vf.fin_verkoopfactuur_id mld_melding_omschrijving -- Factuur waarop correctie betrekking heeft! FROM mld_melding m, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 836) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 837 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 838) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 839 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 840) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key --AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+) AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key UNION ALL SELECT '*CONCEPT*' fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Yourref vf.fin_verkoopfactuur_c1 ourref, -- Ourref vf.fin_verkoopfactuur_c2 omschrijving, -- Contract scope '10' sortering, TRIM (ro.waarde) regel, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc, DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet 1 aantal, -- Nvt. fac.safe_to_number (cb.waarde) bedrag, -- Nvt. vf.fin_verkoopfactuur_n3 crf, -- CCCV=0 en CRF=1 1 factuur, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (fac.safe_to_number (cb.waarde), 2) mndnet, -- Netto correctiebedrag ROUND (fac.safe_to_number (cb.waarde * 0.01 * btw.perc), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key, -- Correctiemelding-key vf.fin_verkoopfactuur_id mld_melding_omschrijving -- Factuur waarop correctie betrekking heeft! FROM mld_melding m, mld_v_aanwezigkenmerkmelding km, fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 841) cb, -- Correctiebedrag (SELECT km.mld_melding_key, ud.fac_usrdata_code code, ud.fac_usrdata_omschr oms, ud.fac_usrdata_prijs perc FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 842 -- BTW tarief AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key) btw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 843) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, blcc_v_kostenplaats kp WHERE km.mld_kenmerk_key = 844 -- Kostenplaats AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = kp.prs_kostenplaats_key) mkp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 845) ks -- Kostensoort WHERE m.mld_stdmelding_key = 1301 -- Financiële correctie AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key = 741 -- Factuurreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = vf.fin_verkoopfactuurkop_key AND NOT EXISTS (SELECT 1 FROM fin_verkoopfactuur WHERE fin_verkoopfactuurkop_key = vf.fin_verkoopfactuurkop_key AND fin_verkoopfactuur_key < vf.fin_verkoopfactuur_key) --AND SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key --AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+) AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+) AND m.mld_melding_key = cb.mld_melding_key AND m.mld_melding_key = btw.mld_melding_key AND m.mld_melding_key = ro.mld_melding_key AND m.mld_melding_key = mkp.mld_melding_key AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND m.mld_melding_key = ks.mld_melding_key ; CREATE OR REPLACE VIEW blcc_v_factv2_actual AS SELECT * FROM blcc_v_fact_actual2121 -- Lease Option UNION ALL SELECT * FROM blcc_v_fact_actual2122 -- Lease Agreement UNION ALL SELECT * FROM blcc_v_fact_actual2123 -- Lease Agreement CRF UNION ALL SELECT * FROM blcc_v_fact_actual2124 -- Lease Agreement Facilities UNION ALL SELECT * FROM blcc_v_fact_actual2141 -- User Agreement Loft UNION ALL SELECT * FROM blcc_v_fact_actual2142 -- User Agreement Workshop UNION ALL SELECT * FROM blcc_v_fact_actual2161 -- Landlease CV - CRF UNION ALL SELECT * FROM blcc_v_fact_actual2181 -- SLA Brightlands CRF - CV UNION ALL SELECT * FROM blcc_v_fact_actual2182 -- SLA Brightlands CV - CRF UNION ALL SELECT * FROM blcc_v_fact_actual2183 -- SLA CGZ Variabel UNION ALL SELECT * FROM blcc_v_fact_actual2184 -- SLA CGZ Vast UNION ALL SELECT * FROM blcc_v_fact_actual2185 -- SLA Managed Connectivity UNION ALL SELECT * FROM blcc_v_fact_actual2186 -- SLA Multi-Purpose Pilot Plant UNION ALL SELECT * FROM blcc_v_fact_actual2187 -- SLA Operational Center UNION ALL SELECT * FROM blcc_v_fact_actual2261 -- SLA Steam Facility UNION ALL SELECT * FROM blcc_v_fact_actual2381 -- SLA Generiek CV UNION ALL SELECT * FROM blcc_v_fact_actual2382 -- SLA Generiek CRF UNION ALL SELECT * FROM blcc_v_fact_correctie ; CREATE OR REPLACE VIEW blcc_v_factv2_frozen AS SELECT vf.fin_verkoopfactuur_id, TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, vf.fin_verkoopfactuur_c1 ourref, -- Ourref vf.fin_verkoopfactuur_c2 omschrijving, -- Contract scope SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 2) sortering, SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 4) regel, TO_CHAR (vf.fin_verkoopfactuur_datum, 'dd-mm-yyyy') factuurdatum, TO_CHAR (vf.fin_verkoopfactuur_d1, 'dd-mm-yyyy') vervaldatum, vf.fin_verkoopfactuur_refkey cnt_contract_key, c.cnt_contract_nummer_intern, -- Niet historisch bewaard! c.cnt_contract_versie, -- Niet historisch bewaard! c.cnt_contract_looptijd_tot lv, -- Niet historisch bewaard! vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, SUBSTR (vf.fin_verkoopfactuur_c7, INSTR (vf.fin_verkoopfactuur_c7, '=') + 1) btw_nr, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, -- Niet historisch bewaard! DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, -- Niet historisch bewaard! DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, -- Niet historisch bewaard! DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, -- Niet historisch bewaard! vf.prs_kostenplaats_key, vf.prs_kostenplaats_nr, vf.prs_kostenplaats_omschrijving, vf.prs_kostenplaatsgrp_oms, --vf.prs_kostensoort_oms, vf.prs_kostensoort_opmerking, vf.prs_kostensoort_refcode, vf.prs_kostensoortgrp_oms, vf.fin_btwtabelwaarde_code, vf.fin_btwtabelwaarde_oms, vf.fin_btwtabelwaarde_perc, vf.fin_btwtabelwaarde_verlegd, vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin, TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde, LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet vf.fin_verkoopfactuur_n1 aantal, vf.fin_verkoopfactuur_n2 bedrag, vf.fin_verkoopfactuur_n3 crf, vf.fin_verkoopfactuur_n4 factuur, SUBSTR (vf.fin_verkoopfactuur_c6, 1, 1) alg_onroerendgoed_type, fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c6, 2, INSTR (vf.fin_verkoopfactuur_c6, '=') - 2)) alg_onroerendgoed_keys, SUBSTR (vf.fin_verkoopfactuur_c6, INSTR (vf.fin_verkoopfactuur_c6, '=') + 1) alg_plaatsaanduiding, vf.fin_verkoopfactuur_bedrag mndnet, -- Netto maandbedrag vf.fin_verkoopfactuur_btw mndbtw, -- BTW maandbedrag vf.prs_kostensoort_oms grtboekrek, vf.fin_verkoopfactuur_n5 mld_melding_key, -- Was n2! vf.fin_verkoopfactuur_c8 mld_melding_omschrijving FROM fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b WHERE vf.fin_verkoopfactuur_datum > TO_DATE ('11112019', 'ddmmyyyy') -- FACTV2! AND vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key AND vf.prs_bedrijf_key = b.prs_bedrijf_key ORDER BY vf.prs_bedrijf_key, vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_refkey, SUBSTR (vf.fin_verkoopfactuur_c6, 1, 1), SUBSTR (vf.fin_verkoopfactuur_c6, INSTR (vf.fin_verkoopfactuur_c6, '=') + 1); -- DEPRECATED per FACTv2! -- TODO: Hoe lang deze (view op) historisch FACTV1-gegevens nog bewaren? CREATE OR REPLACE VIEW blcc_v_rap_export_fact ( hide_f_sortering, fclt_x_maand, code, valuta, factuurdatum, periode, factuurnummer, vervaldatum, nummer, grtboekrek, rel_kpl, prj_activa, bedrag, debitcredit, omschrijving, btwcode ) AS SELECT ROWNUM, REPLACE (periode, '/', '-') periode, code, valuta, --factuurdatum, REPLACE (factuurdatum, '-', '/') factuurdatum, periode, factuurnummer, --vervaldatum, REPLACE (vervaldatum, '-', '/') vervaldatum, nummer, grtboekrek, rel_kpl, prj_activa, bedrag, debitcredit, omschrijving, btwcode FROM ( SELECT v.fin_verkoopfactuur_id || '0000' sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' v.factuurdatum, SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode, v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer v.vervaldatum, '1' nummer, -- Hard op '1' '1300' grtboekrek, -- Hard op '1300' v.debiteur_nr rel_kpl, NULL prj_activa, -- Hard op NULL SUM (v.mndnet + v.mndbtw) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen! 'debit' debitcredit, 'Total' omschrijving, -- Hard op 'Total' NULL btwcode -- Hard op NULL FROM blcc_v_fact_frozen v WHERE v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY v.fin_verkoopfactuur_id || '0000', 'VRK', 'EUR', v.factuurdatum, SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2), v.fin_verkoopfactuur_id, v.vervaldatum, '1', '1300', v.debiteur_nr, NULL, 'debit', 'Total', NULL UNION ALL SELECT v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???') sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' v.factuurdatum, SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode, v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer v.vervaldatum, '1' nummer, -- Hard op '1' v.grtboekrek, kp.prs_kostenplaats_nr rel_kpl, NULL prj_activa, -- Hard op NULL SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen! 'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)??? SUBSTR (v.regel, 1, 40) omschrijving, DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN') btwcode FROM blcc_v_fact_frozen v, cnt_contract c, prs_kostenplaats kp WHERE v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' AND v.cnt_contract_key = c.cnt_contract_key AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) GROUP BY v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???'), 'VRK', 'EUR', v.factuurdatum, SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2), v.fin_verkoopfactuur_id, v.vervaldatum, '1', v.grtboekrek, kp.prs_kostenplaats_nr, NULL, 'credit', SUBSTR (v.regel, 1, 40), DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN') ORDER BY 1); CREATE OR REPLACE PROCEDURE blcc_select_fact (p_applname IN VARCHAR2, p_applrun IN VARCHAR2) AS -- Factureer/bevries verhuurkosten! CURSOR c1a IS SELECT '[' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || '|' || v.prs_debiteur_naam || '|' || v.regel || '] ' aanduiding, v.* FROM blcc_v_factv2_actual v WHERE v.factuur = 1 AND v.mld_melding_key IS NULL -- Maandelijkse huurfacturatie (regulier) ORDER BY v.prs_bedrijf_key, v.cnt_contract_key, v.sortering, v.regel, v.alg_plaatsaanduiding; -- Factureer/bevries FACT-correcties en verwerk=AV alle correctiemeldingen! CURSOR c1b IS SELECT '[' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || '|' || v.prs_debiteur_naam || '|' || v.regel || '] ' aanduiding, v.*, m.mld_melding_status FROM blcc_v_fact_correctie v, mld_melding m WHERE v.mld_melding_key = m.mld_melding_key -- Dagelijkse correctiefacturatie ORDER BY v.prs_bedrijf_key, v.cnt_contract_key, v.mld_melding_omschrijving, -- Factuur per te corrigeren verkoopfactuur v.mld_melding_key, v.sortering; -- Verstuur verkoopfactuur naar huurder. CURSOR c2a IS SELECT DISTINCT '[' || vf.fin_verkoopfactuur_id || '|' || vf.fin_verkoopfactuur_maand || '|' || vf.prs_debiteur_naam || '] ' aanduiding, vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_maand, vf.prs_debiteur_naam, vfk.fin_verkoopfactuurkop_key, vfk.fin_verkoopfactuurkop_id, b.prs_bedrijf_email FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b WHERE vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND vf.fin_verkoopfactuur_n5 IS NULL -- Maandelijkse huurfacturatie (regulier) AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyymm') ORDER BY vf.fin_verkoopfactuur_id; -- Verstuur correctiefactuur naar huurder. CURSOR c2b IS SELECT DISTINCT '[' || vf.fin_verkoopfactuur_id || '|' || vf.fin_verkoopfactuur_maand || '|' || vf.prs_debiteur_naam || '] ' aanduiding, vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_maand, vf.prs_debiteur_naam, vfk.fin_verkoopfactuurkop_key, vfk.fin_verkoopfactuurkop_id, b.prs_bedrijf_email FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b, mld_melding m WHERE vf.fin_verkoopfactuur_n2 IS NOT NULL -- Onderscheid ADDD vs. FACT; als NOT NULL, dan FACT! AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND vf.fin_verkoopfactuur_n5 = m.mld_melding_key -- Dagelijkse correctiefacturatie AND TRUNC (fac.gettrackingdate ('MLDVER', m.mld_melding_key)) = TRUNC (SYSDATE) ORDER BY vf.fin_verkoopfactuur_id; c_cm_factid_kkey NUMBER (10) := 1681; -- 'Gefactureerd met'-key voor correctiemeldingen (ACCP-key=2221 en PROD-key=1681); v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_holiday NUMBER; v_fact_count NUMBER; v_amount_sum NUMBER (10, 2); v_old_contract_key NUMBER (10); -- Factuur per contract! v_old_melding_oms VARCHAR2 (200); -- Factuur per te corrigeren verkoopfactuur! v_year_offset NUMBER (10); v_factuur_id VARCHAR2 (30); v_factkop_id VARCHAR2 (30); v_verkoopfactuurkop_key NUMBER (10); v_count NUMBER; BEGIN -- Eerst opruiming DELETE FROM imp_log WHERE imp_log_applicatie = p_applname; SELECT COUNT ( * ) INTO v_holiday FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1); -- LET OP: FACT-export van verhuurfacturen (= boekingsgangen) draait -- dagelijks na middernacht (begin van dag) en de verkoop wordt maandelijks -- alleen in de nacht na 1e dag van de maand doorgezet. IF TO_CHAR (SYSDATE, 'dd') = '01' -- Nacht na laatste dag van de maand! THEN v_fact_count := 0; v_amount_sum := 0; v_old_contract_key := -1; -- Factuur per contract! -- Factureer/bevries verhuurkosten. FOR rec IN c1a LOOP BEGIN IF rec.cnt_contract_key != v_old_contract_key THEN -- BLCC#64393: Per 2021 CV-huurfacturen beginnen met een '3' en -- CRF-huurfacturen beginnen met een '4'! IF COALESCE (rec.crf, 0) = 0 THEN SELECT fac_s_user03.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '3' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); ELSE SELECT fac_s_user04.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '4' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); END IF; v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr; INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id) VALUES (v_factkop_id) RETURNING fin_verkoopfactuurkop_key INTO v_verkoopfactuurkop_key; COMMIT; v_old_contract_key := rec.cnt_contract_key; END IF; v_errormsg := 'Fout toevoegen verkoopfactuur'; INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key, fin_verkoopfactuur_id, fin_verkoopfactuur_datum, fin_verkoopfactuur_omschr, fin_verkoopfactuur_xmlnode, fin_verkoopfactuur_refkey, prs_kostenplaats_key, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaatsgrp_oms, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_bedrijf_key, prs_debiteur_naam, prs_kostensoortgrp_oms, fin_verkoopfactuur_bedrag, fin_verkoopfactuur_btw, fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, fin_verkoopfactuur_maand, fin_verkoopfactuur_n1, fin_verkoopfactuur_n2, fin_verkoopfactuur_n3, fin_verkoopfactuur_n4, fin_verkoopfactuur_n5, fin_verkoopfactuur_c1, fin_verkoopfactuur_c2, fin_verkoopfactuur_c3, fin_verkoopfactuur_c4, fin_verkoopfactuur_c5, fin_verkoopfactuur_c6, fin_verkoopfactuur_c7, fin_verkoopfactuur_c8, fin_verkoopfactuur_d1, fin_verkoopfactuur_d2, fin_verkoopfactuur_d3, fin_verkoopfactuur_d4, fin_verkoopfactuur_d5) VALUES (v_verkoopfactuurkop_key, v_factuur_id, TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'), rec.po_nr || '/=' || rec.sortering || rec.regel, 'contract', rec.cnt_contract_key, rec.prs_kostenplaats_key, rec.prs_kostenplaats_nr, rec.prs_kostenplaats_omschrijving, rec.prs_kostenplaatsgrp_oms, rec.grtboekrek, rec.grtboekrek, rec.grtboekrek, rec.prs_bedrijf_key, rec.prs_debiteur_naam, NULL, ROUND (rec.mndnet, 2), ROUND ((rec.mndnet * rec.fin_btwtabelwaarde_perc) / 100, 2), rec.fin_btwtabelwaarde_code, rec.fin_btwtabelwaarde_oms, rec.fin_btwtabelwaarde_perc, rec.fin_btwtabelwaarde_verlegd, rec.maand, rec.aantal, -- n1/aantal [rec.cnt_contract_korting, -- n1/kortingspercentage óf subsidiepercentage] rec.bedrag, -- n2/bedrag [rec.mld_melding_key, -- n2/correctiemelding] rec.crf, -- n3/crf [TO_NUMBER (NULL), -- n3] rec.factuur, -- n4/factuur [TO_NUMBER (NULL), -- n4] rec.mld_melding_key, -- n5/mld_melding_key [TO_NUMBER (NULL), -- n5] rec.ourref, -- c1 [TO_CHAR (rec.l_tarief) || 'x' || TO_CHAR (rec.l_opp), -- c1/jaartarief x oppervlakte] rec.omschrijving, -- c2 [TO_CHAR (rec.h_tarief) || 'x' || TO_CHAR (rec.h_opp), -- c2/jaartarief x oppervlakte] NULL, -- c3 [TO_CHAR (rec.k_tarief) || 'x' || TO_CHAR (rec.k_opp), -- c3/jaartarief x oppervlakte] NULL, -- c4 [TO_CHAR (rec.o_tarief) || 'x' || TO_CHAR (rec.o_opp), -- c4/jaartarief x oppervlakte] NULL, -- c5 [TO_CHAR (rec.t_tarief) || 'x' || TO_CHAR (rec.t_opp), -- c5/jaartarief x oppervlakte] rec.alg_onroerendgoed_type || TO_CHAR (rec.alg_onroerendgoed_keys) || '=' || rec.alg_plaatsaanduiding, -- c6 rec.debiteur_nr || '=' || rec.btw_nr, -- c7 rec.mld_melding_omschrijving, -- c8 TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1 TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2 TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3 TO_DATE (rec.dagbegin, 'dd-mm-yyyy'), -- d4 TO_DATE (rec.dageinde, 'dd-mm-yyyy')); -- d5 COMMIT; v_fact_count := v_fact_count + 1; v_amount_sum := v_amount_sum + rec.mndnet; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'FACT-freeze'); COMMIT; END; END LOOP; fac.writelog (p_applname, 'S', 'FACT-verkoop/#contractregels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum)); -- Verstuur verkoopfactuur naar huurder. FOR rec IN c2a LOOP BEGIN v_errormsg := 'Fout toevoegen CUST01-noti'; INSERT INTO fac_notificatie (fac_srtnotificatie_key, fac_notificatie_status, fac_notificatie_receiver_email, fac_notificatie_oms, fac_notificatie_refkey, fac_notificatie_prioriteit, fac_notificatie_datum, fac_notificatie_sender_email, fac_notificatie_attachments) VALUES (281, -- CUST01-noti 2, -- Mail DECODE ( -- To-adres rec.prs_bedrijf_email, NULL, 'accountsreceivable.ccampus@brightlands.com', rec.prs_bedrijf_email || ';accountsreceivable.ccampus@brightlands.com'), 'Factuur ' || rec.fin_verkoopfactuur_id || ' ' || rec.fin_verkoopfactuur_maand || ' ' || rec.prs_debiteur_naam, rec.fin_verkoopfactuurkop_key, 2, -- Prioriteit TRUNC (SYSDATE) + (7 / 24), 'accountsreceivable.ccampus@brightlands.com', -- From-adres '/../../Fplace5i/CUST/BLCC/export/PDF/Backup/' || rec.fin_verkoopfactuurkop_id || '.pdf'); EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'FACT-noti'); COMMIT; END; END LOOP; END IF; -- LET OP: FACT-export van correctiefacturen (= boekingsgangen) draait -- dagelijks na middernacht (begin van dag) en de verkoop wordt ook elke -- nacht doorgezet. IF 1 = 1 THEN v_fact_count := 0; v_amount_sum := 0; v_old_melding_oms := 'Quqelequ'; -- Factuur per te corrigeren verkoopfactuur! -- Factureer/bevries FACT-correctiekosten en verwerk=AV correctiemeldingen. FOR rec IN c1b LOOP BEGIN IF rec.mndnet != 0 AND rec.mld_melding_omschrijving != v_old_melding_oms THEN -- BLCC#64393: Per 2021 CV-huurfacturen beginnen met een '3' en -- CRF-huurfacturen beginnen met een '4'! IF COALESCE (rec.crf, 0) = 0 THEN SELECT fac_s_user03.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '3' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); ELSE SELECT fac_s_user04.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '4' || SUBSTR ('00000000' || TO_CHAR (v_count), -8); END IF; v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr; INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id) VALUES (v_factkop_id) RETURNING fin_verkoopfactuurkop_key INTO v_verkoopfactuurkop_key; COMMIT; v_old_melding_oms := rec.mld_melding_omschrijving; END IF; IF rec.mndnet != 0 THEN v_errormsg := 'Fout toevoegen verkoopfactuur'; INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key, fin_verkoopfactuur_id, fin_verkoopfactuur_datum, fin_verkoopfactuur_omschr, fin_verkoopfactuur_xmlnode, fin_verkoopfactuur_refkey, prs_kostenplaats_key, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaatsgrp_oms, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_bedrijf_key, prs_debiteur_naam, prs_kostensoortgrp_oms, fin_verkoopfactuur_bedrag, fin_verkoopfactuur_btw, fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, fin_verkoopfactuur_maand, fin_verkoopfactuur_n1, fin_verkoopfactuur_n2, fin_verkoopfactuur_n3, fin_verkoopfactuur_n4, fin_verkoopfactuur_n5, fin_verkoopfactuur_c1, fin_verkoopfactuur_c2, fin_verkoopfactuur_c3, fin_verkoopfactuur_c4, fin_verkoopfactuur_c5, fin_verkoopfactuur_c6, fin_verkoopfactuur_c7, fin_verkoopfactuur_c8, fin_verkoopfactuur_d1, fin_verkoopfactuur_d2, fin_verkoopfactuur_d3, fin_verkoopfactuur_d4, fin_verkoopfactuur_d5) VALUES (v_verkoopfactuurkop_key, v_factuur_id, TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'), rec.po_nr || '/=' || rec.sortering || rec.regel, 'contract', rec.cnt_contract_key, rec.prs_kostenplaats_key, rec.prs_kostenplaats_nr, rec.prs_kostenplaats_omschrijving, rec.prs_kostenplaatsgrp_oms, rec.grtboekrek, rec.grtboekrek, rec.grtboekrek, rec.prs_bedrijf_key, rec.prs_debiteur_naam, NULL, --rec.mndnet, --rec.mndbtw, ROUND (rec.mndnet, 2), ROUND ((rec.mndnet * rec.fin_btwtabelwaarde_perc) / 100, 2), rec.fin_btwtabelwaarde_code, rec.fin_btwtabelwaarde_oms, rec.fin_btwtabelwaarde_perc, rec.fin_btwtabelwaarde_verlegd, rec.maand, rec.aantal, -- n1/aantal [rec.cnt_contract_korting, -- n1/kortingspercentage óf subsidiepercentage] rec.bedrag, -- n2/bedrag [rec.mld_melding_key, -- n2/correctiemelding] rec.crf, -- n3/crf [TO_NUMBER (NULL), -- n3] rec.factuur, -- n4/factuur [TO_NUMBER (NULL), -- n4] rec.mld_melding_key, -- n5/mld_melding_key [TO_NUMBER (NULL), -- n5] rec.ourref, -- c1 [TO_CHAR (rec.l_tarief) || 'x' || TO_CHAR (rec.l_opp), -- c1/jaartarief x oppervlakte] rec.omschrijving, -- c2 [TO_CHAR (rec.h_tarief) || 'x' || TO_CHAR (rec.h_opp), -- c2/jaartarief x oppervlakte] NULL, -- c3 [TO_CHAR (rec.k_tarief) || 'x' || TO_CHAR (rec.k_opp), -- c3/jaartarief x oppervlakte] NULL, -- c4 [TO_CHAR (rec.o_tarief) || 'x' || TO_CHAR (rec.o_opp), -- c4/jaartarief x oppervlakte] NULL, -- c5 [TO_CHAR (rec.t_tarief) || 'x' || TO_CHAR (rec.t_opp), -- c5/jaartarief x oppervlakte] rec.alg_onroerendgoed_type || TO_CHAR (rec.alg_onroerendgoed_keys) || '=' || rec.alg_plaatsaanduiding, -- c6 rec.debiteur_nr || '=' || rec.btw_nr, -- c7 rec.mld_melding_omschrijving, -- c8 TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1 TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2 TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3 TO_DATE (rec.dagbegin, 'dd-mm-yyyy'), -- d4 TO_DATE (rec.dageinde, 'dd-mm-yyyy')); -- d5 COMMIT; v_fact_count := v_fact_count + 1; v_amount_sum := v_amount_sum + rec.mndnet; END IF; -- BLCC#64642: Toevoegen 'Gefactureerd met' bij correctiemelding! v_errormsg := 'Fout toevoegen Gefactureerd-kenmerkmelding'; INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde) VALUES (rec.mld_melding_key, c_cm_factid_kkey, v_factuur_id); v_errormsg := 'Fout verwerken correctiemelding'; -- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus dan -- eerst afmelden (als nog niet Afgemeld)! IF (rec.mld_melding_status = 4) -- ACP THEN MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM END IF; MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'FACT-freeze'); COMMIT; END; END LOOP; fac.writelog (p_applname, 'S', 'FACT-verkoop/#correctieregels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum)); -- Verstuur correctiefactuur naar huurder. FOR rec IN c2b LOOP BEGIN v_errormsg := 'Fout toevoegen CUST01-noti'; INSERT INTO fac_notificatie (fac_srtnotificatie_key, fac_notificatie_status, fac_notificatie_receiver_email, fac_notificatie_oms, fac_notificatie_refkey, fac_notificatie_prioriteit, fac_notificatie_datum, fac_notificatie_sender_email, fac_notificatie_attachments) VALUES (281, -- CUST01-noti 2, -- Mail DECODE ( -- To-adres rec.prs_bedrijf_email, NULL, 'accountsreceivable.ccampus@brightlands.com', rec.prs_bedrijf_email || ';accountsreceivable.ccampus@brightlands.com'), 'Factuur ' || rec.fin_verkoopfactuur_id || ' ' || rec.fin_verkoopfactuur_maand || ' ' || rec.prs_debiteur_naam, rec.fin_verkoopfactuurkop_key, 2, -- Prioriteit TRUNC (SYSDATE) + (7 / 24), 'accountsreceivable.ccampus@brightlands.com', -- From-adres '/../../Fplace5i/CUST/BLCC/export/PDF/Backup/' || rec.fin_verkoopfactuurkop_id || '.pdf'); EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'FACT-noti'); COMMIT; END; END LOOP; END IF; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', v_errormsg, 'FACT-export afgebroken!'); END; / -- BLCC#57460: FACT(v2)-export (per 2020 gesplitst naar 2 exports: CV en CRF)! -- BLCC#61572: TWINFIELD-CSVs (3x) tgv. ADDD- en FACT(v2)-export samengevoegd -- en per 5 maart 2020: 1x TF_CV-bestand + 1x TF_CRF-bestand! CREATE OR REPLACE VIEW blcc_v_rap_export_tf_cv ( hide_f_sortering, fclt_x_maand, code, valuta, factuurdatum, periode, factuurnummer, vervaldatum, nummer, grtboekrek, rel_kpl, prj_activa, bedrag, debitcredit, omschrijving, btwcode, mldver, sync_id ) AS SELECT ROWNUM, REPLACE (periode, '/', '-') periode, code, valuta, --factuurdatum, REPLACE (factuurdatum, '-', '/') factuurdatum, periode, factuurnummer, --vervaldatum, REPLACE (vervaldatum, '-', '/') vervaldatum, nummer, grtboekrek, rel_kpl, prj_activa, bedrag, debitcredit, omschrijving, btwcode, fac.gettrackingdate ('MLDVER', mld_melding_key) mldver, CASE WHEN antedateren = 1 THEN TO_CHAR (fac.safe_to_date (factuurdatum, 'dd-mm-yyyy') + 1, 'yyyymmdd') -- Sync_id terug-antedateren igv. reguliere ADDD-facturatie! ELSE SUBSTR (factuurdatum, 7, 4) || SUBSTR (factuurdatum, 4, 2) || SUBSTR (factuurdatum, 1, 2) -- Sync_id = factuurdatum! END sync_id -- BLCC#62974: Unieke identificatie! FROM ( -- *** ADDD *** SELECT fin_verkoopfactuur_id || '0000' || debiteur_nr sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' factuurdatum, --SUBSTR (maand, 1, 4) || '/' || SUBSTR (maand, -2) periode, SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode, fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer vervaldatum, '1' nummer, -- Hard op '1' '1300' grtboekrek, -- Hard op '1300' debiteur_nr rel_kpl, NULL prj_activa, -- Hard op NULL netsum bedrag, -- Totaalbedrag incl. BTW per factuur! 'debit' debitcredit, TRIM (DECODE (mld_melding_key, NULL, DECODE (aant, 1, regel_id, ''), DECODE (SUBSTR (regel_id, 1, 2), 'LV', DECODE (contract_id, NULL, regel_id, regel_id || ' C' || contract_id), 'CORR' || regel_id)) || ' Total') omschrijving, NULL btwcode, -- Hard op NULL mld_melding_key, DECODE (mld_melding_key, NULL, 1, 0) antedateren -- Sync_id terug-antedateren igv. reguliere ADDD-facturatie FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, SUM (ROUND (DECODE (v.fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1) * netsum, 2)) netsum, -- Totaalbedrag incl. BTW per factuur! SUM (aant) aant, MIN (v.regel_id) regel_id, MIN (v.contract_id) contract_id, MIN (v.mld_melding_key) mld_melding_key FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code, SUM (v.mndnet) netsum, -- Totaalbedrag excl. BTW gegroepeerd per factuur/BTW-tarief tbv. juiste afronding! COUNT (DISTINCT v.regel_id) aant, MIN (v.regel_id) regel_id, MIN (v.contract_id) contract_id, MIN (v.mld_melding_key) mld_melding_key FROM (SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code, v.mndnet, v.regel_id, v.contract_id, v.mld_melding_key FROM blcc_v_addd_frozen v WHERE (v.mld_melding_key IS NULL -- Reguliere facturatie! OR NOT EXISTS -- Correctie/losverkoop tegen CV! (SELECT 1 FROM cnt_v_aanwezigcontract c, fac_v_aanwezigusrdata factent WHERE c.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit AND UPPER (factent.fac_usrdata_omschr) = 'CRF' AND v.xmlnode = 'contract' AND c.cnt_contract_key = v.refkey)) AND COALESCE (v.crf, 0) = 0 --AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' UNION ALL -- Handling fee (=6,5% over totaal tegen 21%) toevoegen als regel! SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, 'H' fin_btwtabelwaarde_code, ROUND (0.065 * mndnet, 2) mndnet, NULL regel_id, contract_id, NULL mld_melding_key FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, contract_id, crf, SUM (mndnet) mndnet FROM blcc_v_addd_frozen WHERE mld_melding_key IS NULL -- Handling fee alleen bij reguliere facturatie! AND COALESCE (crf, 0) = 0 --AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, contract_id, crf)) v GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code) v GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum) UNION ALL SELECT v.fin_verkoopfactuur_id || v.debiteur_nr || DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek) sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' v.factuurdatum, --SUBSTR (maand, 1, 4) || '/' || SUBSTR (maand, -2) periode, SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2) periode, v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer v.vervaldatum, '1' nummer, -- Hard op '1' DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek) grtboekrek, DECODE (SUBSTR (v.prs_kostenplaats_nr, 1, 5), '50900', '50900', v.prs_kostenplaats_nr) rel_kpl, NULL prj_activa, -- Hard op NULL SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen! 'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)??? SUBSTR (DECODE (v.mld_melding_key, NULL, v.regel_id, DECODE (SUBSTR (v.regel_id, 1, 2), 'LV', DECODE (v.contract_id, NULL, v.regel_id, v.regel_id || ' C' || v.contract_id), 'CORR' || v.regel_id) || ' ' || v.regel), 1, 40) omschrijving, DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', 'VBINEU_VERL', 'VN') btwcode, MIN (v.mld_melding_key) mld_melding_key, MIN (DECODE (v.mld_melding_key, NULL, 1, 0)) antedateren -- Sync_id terug-antedateren igv. reguliere ADDD-facturatie FROM blcc_v_addd_frozen v WHERE (v.mld_melding_key IS NULL -- Reguliere facturatie! OR NOT EXISTS -- Correctie/losverkoop tegen CV! (SELECT 1 FROM cnt_v_aanwezigcontract c, fac_v_aanwezigusrdata factent WHERE c.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit AND UPPER (factent.fac_usrdata_omschr) = 'CRF' AND v.xmlnode = 'contract' AND c.cnt_contract_key = v.refkey)) AND COALESCE (crf, 0) = 0 --AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY v.fin_verkoopfactuur_id || v.debiteur_nr || DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), grtboekrek), 'VRK', 'EUR', v.factuurdatum, SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2), v.fin_verkoopfactuur_id, v.vervaldatum, '1', DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek), DECODE (SUBSTR (v.prs_kostenplaats_nr, 1, 5), '50900', '50900', v.prs_kostenplaats_nr), NULL, 'credit', SUBSTR (DECODE (v.mld_melding_key, NULL, v.regel_id, DECODE (SUBSTR (v.regel_id, 1, 2), 'LV', DECODE (v.contract_id, NULL, v.regel_id, v.regel_id || ' C' || v.contract_id), 'CORR' || v.regel_id) || ' ' || v.regel), 1, 40), DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', 'VBINEU_VERL', 'VN') UNION ALL SELECT fin_verkoopfactuur_id || debiteur_nr || '8136' sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' factuurdatum, --SUBSTR (maand, 1, 4) || '/' || SUBSTR (maand, -2) periode, SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode, fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer vervaldatum, '1' nummer, -- Hard op '1' '8136', -- Handling fee '50900' rel_kpl, NULL prj_activa, -- Hard op NULL ROUND (0.065 * netsum, 2) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen! 'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)??? DECODE (aant, 1, regel_id || ' Handling fee', 'Handling fee') omschrijving, 'VH' btwcode, NULL mld_melding_key, 1 antedateren FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, SUM (mndnet) netsum, COUNT (DISTINCT regel_id) aant, MIN (regel_id) regel_id FROM blcc_v_addd_frozen WHERE mld_melding_key IS NULL -- Handling fee alleen bij reguliere facturatie! --AND crf = 0 --AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum) UNION ALL -- *** FACT *** SELECT v.fin_verkoopfactuur_id || '0000' sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' v.factuurdatum, --SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode, --SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode, MIN (DECODE (v.mld_melding_key, NULL, DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2)), SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2))) periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december! v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer v.vervaldatum, '1' nummer, -- Hard op '1' '1300' grtboekrek, -- Hard op '1300' v.debiteur_nr rel_kpl, NULL prj_activa, -- Hard op NULL SUM (ROUND (v.mndnet * v.btw, 2)) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen! 'debit' debitcredit, --'Total' omschrijving, -- Hard op 'Total' --'C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' Total' omschrijving, TRIM (DECODE (v.mld_melding_key, NULL, '', DECODE (v.factuurdatum, '17-12-2019', '', 'CORR' || v.mld_melding_omschrijving)) || ' C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' Total') omschrijving, NULL btwcode, -- Hard op NULL MIN (v.mld_melding_key) mld_melding_key, 0 antedateren FROM ( SELECT fin_verkoopfactuur_id, cnt_contract_nummer_intern, -- Altijd 1 contract per factuur! cnt_contract_versie, factuurdatum, maand, vervaldatum, debiteur_nr, DECODE (fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1) btw, SUM (mndnet) mndnet, -- Totaalbedrag per grtboekrek/fin_btwtabelwaarde_code MIN (mld_melding_key) mld_melding_key, MIN (mld_melding_omschrijving) mld_melding_omschrijving -- Te corrigeren factuur! FROM blcc_v_factv2_frozen WHERE crf = 0 AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY fin_verkoopfactuur_id, cnt_contract_nummer_intern, cnt_contract_versie, factuurdatum, maand, vervaldatum, debiteur_nr, DECODE (fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1)) v GROUP BY v.fin_verkoopfactuur_id || '0000', 'VRK', 'EUR', v.factuurdatum, --SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2), --SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2), v.fin_verkoopfactuur_id, v.vervaldatum, '1', '1300', v.debiteur_nr, NULL, 'debit', --'C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' Total', TRIM (DECODE (v.mld_melding_key, NULL, '', DECODE (v.factuurdatum, '17-12-2019', '', 'CORR' || v.mld_melding_omschrijving)) || ' C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' Total'), NULL, 0 UNION ALL SELECT v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???') sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' v.factuurdatum, --SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode, --SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode, MIN (DECODE (v.mld_melding_key, NULL, DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2)), SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2))) periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december! v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer v.vervaldatum, '1' nummer, -- Hard op '1' v.grtboekrek, --v.prs_kostenplaats_nr rel_kpl, DECODE (SUBSTR (v.prs_kostenplaats_nr, 1, 5), '50900', '50900', v.prs_kostenplaats_nr) rel_kpl, NULL prj_activa, -- Hard op NULL SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen! 'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)??? --SUBSTR ('C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' ' || v.regel, 1, 40) omschrijving, SUBSTR (TRIM (DECODE (v.mld_melding_key, NULL, '', DECODE (v.factuurdatum, '17-12-2019', '', 'CORR' || v.mld_melding_omschrijving)) || ' C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' ' || v.regel), 1, 40) omschrijving, DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', 'VBINEU_VERL', 'VN') btwcode, MIN (v.mld_melding_key) mld_melding_key, 0 antedateren FROM blcc_v_factv2_frozen v WHERE v.crf = 0 AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???'), 'VRK', 'EUR', v.factuurdatum, --SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2), --SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2), v.fin_verkoopfactuur_id, v.vervaldatum, '1', v.grtboekrek, --v.prs_kostenplaats_nr, DECODE (SUBSTR (v.prs_kostenplaats_nr, 1, 5), '50900', '50900', v.prs_kostenplaats_nr), NULL, 'credit', --SUBSTR ('C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' ' || v.regel, 1, 40), SUBSTR (TRIM (DECODE (v.mld_melding_key, NULL, '', DECODE (v.factuurdatum, '17-12-2019', '', 'CORR' || v.mld_melding_omschrijving)) || ' C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' ' || v.regel), 1, 40), DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', 'VBINEU_VERL', 'VN'), 0 ORDER BY 1); CREATE OR REPLACE VIEW blcc_v_export_tf_cv ( result, result_order ) AS -- View bevat alleen inhoud op bepaalde dagen (10e werkdag of op 1e, 8e, 15, 22e) of als er vandaag correcties/losverkopen zijn Verwerkt! SELECT 'code' || ';valuta' || ';factuurdatum' || ';periode' || ';factuurnummer' || ';vervaldatum' || ';nummer' || ';grtboekrek' || ';rel/kpl' || ';prj/activa' || ';bedrag' || ';debitcredit' || ';omschrijving' || ';btwcode', 0 FROM DUAL WHERE EXISTS (SELECT 1 FROM blcc_v_rap_export_tf_cv WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd')) UNION ALL SELECT code || ';' || valuta || ';' || factuurdatum || ';' || periode || ';' || factuurnummer || ';' || vervaldatum || ';' || nummer || ';' || grtboekrek || ';' || rel_kpl || ';' || prj_activa || ';' || bedrag || ';' || debitcredit || ';' || omschrijving || ';' || btwcode, ROWNUM FROM blcc_v_rap_export_tf_cv WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd') ORDER BY 2; CREATE OR REPLACE VIEW blcc_v_rap_export_tf_crf ( hide_f_sortering, fclt_x_maand, code, valuta, factuurdatum, periode, factuurnummer, vervaldatum, nummer, grtboekrek, rel_kpl, prj_activa, bedrag, debitcredit, omschrijving, btwcode, mldver, sync_id ) AS SELECT ROWNUM, REPLACE (periode, '/', '-') periode, code, valuta, --factuurdatum, REPLACE (factuurdatum, '-', '/') factuurdatum, periode, factuurnummer, --vervaldatum, REPLACE (vervaldatum, '-', '/') vervaldatum, nummer, grtboekrek, rel_kpl, prj_activa, bedrag, debitcredit, omschrijving, btwcode, fac.gettrackingdate ('MLDVER', mld_melding_key) mldver, CASE WHEN antedateren = 1 THEN TO_CHAR (fac.safe_to_date (factuurdatum, 'dd-mm-yyyy') + 1, 'yyyymmdd') -- Sync_id terug-antedateren igv. reguliere ADDD-facturatie! ELSE SUBSTR (factuurdatum, 7, 4) || SUBSTR (factuurdatum, 4, 2) || SUBSTR (factuurdatum, 1, 2) -- Sync_id = factuurdatum! END sync_id -- BLCC#62974: Unieke identificatie! FROM ( -- *** ADDD *** SELECT fin_verkoopfactuur_id || '0000' || debiteur_nr sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' factuurdatum, --SUBSTR (maand, 1, 4) || '/' || SUBSTR (maand, -2) periode, SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode, fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer vervaldatum, '1' nummer, -- Hard op '1' '1300' grtboekrek, -- Hard op '1300' debiteur_nr rel_kpl, NULL prj_activa, -- Hard op NULL netsum bedrag, -- Totaalbedrag incl. BTW per factuur! 'debit' debitcredit, TRIM (DECODE (mld_melding_key, NULL, DECODE (aant, 1, regel_id, ''), DECODE (SUBSTR (regel_id, 1, 2), 'LV', DECODE (contract_id, NULL, regel_id, regel_id || ' C' || contract_id), 'CORR' || regel_id)) || ' Total') omschrijving, NULL btwcode, -- Hard op NULL mld_melding_key, DECODE (mld_melding_key, NULL, 1, 0) antedateren -- Sync_id terug-antedateren igv. reguliere ADDD-facturatie FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, SUM (ROUND (DECODE (v.fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1) * netsum, 2)) netsum, -- Totaalbedrag incl. BTW per factuur! SUM (aant) aant, MIN (v.regel_id) regel_id, MIN (v.contract_id) contract_id, MIN (v.mld_melding_key) mld_melding_key FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code, SUM (v.mndnet) netsum, -- Totaalbedrag excl. BTW gegroepeerd per factuur/BTW-tarief tbv. juiste afronding! COUNT (DISTINCT v.regel_id) aant, MIN (v.regel_id) regel_id, MIN (v.contract_id) contract_id, MIN (v.mld_melding_key) mld_melding_key FROM blcc_v_addd_frozen v WHERE EXISTS -- Correctie/losverkoop tegen CRF! (SELECT 1 FROM cnt_v_aanwezigcontract c, fac_v_aanwezigusrdata factent WHERE c.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit AND UPPER (factent.fac_usrdata_omschr) = 'CRF' AND v.xmlnode = 'contract' AND c.cnt_contract_key = v.refkey) OR crf = 1 --AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code) v GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum) UNION ALL SELECT v.fin_verkoopfactuur_id || v.debiteur_nr || DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek) sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' v.factuurdatum, --SUBSTR (maand, 1, 4) || '/' || SUBSTR (maand, -2) periode, SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2) periode, v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer v.vervaldatum, '1' nummer, -- Hard op '1' DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek) grtboekrek, DECODE (SUBSTR (v.prs_kostenplaats_nr, 1, 5), '50900', '50900', v.prs_kostenplaats_nr) rel_kpl, NULL prj_activa, -- Hard op NULL SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen! 'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)??? SUBSTR (DECODE (v.mld_melding_key, NULL, v.regel_id, DECODE (SUBSTR (v.regel_id, 1, 2), 'LV', DECODE (v.contract_id, NULL, v.regel_id, v.regel_id || ' C' || v.contract_id), 'CORR' || v.regel_id) || ' ' || v.regel), 1, 40) omschrijving, DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', 'VBINEU_VERL', 'VN') btwcode, MIN (v.mld_melding_key) mld_melding_key, MIN (DECODE (v.mld_melding_key, NULL, 1, 0)) antedateren -- Sync_id terug-antedateren igv. reguliere ADDD-facturatie FROM blcc_v_addd_frozen v WHERE EXISTS -- Correctie/losverkoop tegen CRF! (SELECT 1 FROM cnt_v_aanwezigcontract c, fac_v_aanwezigusrdata factent WHERE c.ins_discipline_key = fac.safe_to_number (factent.fac_usrdata_code) AND factent.fac_usrtab_key = 621 -- Brightlands Entiteit AND UPPER (factent.fac_usrdata_omschr) = 'CRF' AND v.xmlnode = 'contract' AND c.cnt_contract_key = v.refkey) OR crf = 1 --AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY v.fin_verkoopfactuur_id || v.debiteur_nr || DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek), 'VRK', 'EUR', v.factuurdatum, SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2), v.fin_verkoopfactuur_id, v.vervaldatum, '1', DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek), DECODE (SUBSTR (v.prs_kostenplaats_nr, 1, 5), '50900', '50900', v.prs_kostenplaats_nr), NULL, 'credit', SUBSTR (DECODE (v.mld_melding_key, NULL, v.regel_id, DECODE (SUBSTR (v.regel_id, 1, 2), 'LV', DECODE (v.contract_id, NULL, v.regel_id, v.regel_id || ' C' || v.contract_id), 'CORR' || v.regel_id) || ' ' || v.regel), 1, 40), DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', 'VBINEU_VERL', 'VN') UNION ALL -- *** FACT *** SELECT v.fin_verkoopfactuur_id || '0000' sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' v.factuurdatum, --SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode, --SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode, MIN (DECODE (v.mld_melding_key, NULL, DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2)), SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2))) periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december! v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer v.vervaldatum, '1' nummer, -- Hard op '1' '1300' grtboekrek, -- Hard op '1300' v.debiteur_nr rel_kpl, NULL prj_activa, -- Hard op NULL SUM (ROUND (v.mndnet * v.btw, 2)) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen! 'debit' debitcredit, --'Total' omschrijving, -- Hard op 'Total' --'C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' Total' omschrijving, TRIM (DECODE (v.mld_melding_key, NULL, '', 'CORR' || v.mld_melding_omschrijving) || ' C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' Total') omschrijving, NULL btwcode, -- Hard op NULL MIN (v.mld_melding_key) mld_melding_key, 0 antedateren FROM ( SELECT fin_verkoopfactuur_id, cnt_contract_nummer_intern, -- Altijd 1 contract per factuur! cnt_contract_versie, factuurdatum, maand, vervaldatum, debiteur_nr, DECODE (fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1) btw, SUM (mndnet) mndnet, -- Totaalbedrag per grtboekrek/fin_btwtabelwaarde_code MIN (mld_melding_key) mld_melding_key, MIN (mld_melding_omschrijving) mld_melding_omschrijving -- Te corrigeren factuur! FROM blcc_v_factv2_frozen WHERE crf = 1 AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY fin_verkoopfactuur_id, cnt_contract_nummer_intern, cnt_contract_versie, factuurdatum, maand, vervaldatum, debiteur_nr, DECODE (fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1)) v GROUP BY v.fin_verkoopfactuur_id || '0000', 'VRK', 'EUR', v.factuurdatum, --SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2), --SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2), v.fin_verkoopfactuur_id, v.vervaldatum, '1', '1300', v.debiteur_nr, NULL, 'debit', --'C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' Total', TRIM (DECODE (v.mld_melding_key, NULL, '', 'CORR' || v.mld_melding_omschrijving) || ' C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' Total'), NULL, 0 UNION ALL SELECT v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???') sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' v.factuurdatum, --SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode, --SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode, MIN (DECODE (v.mld_melding_key, NULL, DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2)), SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2))) periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december! v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer v.vervaldatum, '1' nummer, -- Hard op '1' v.grtboekrek, --v.prs_kostenplaats_nr rel_kpl, DECODE (SUBSTR (v.prs_kostenplaats_nr, 1, 5), '50900', '50900', v.prs_kostenplaats_nr) rel_kpl, NULL prj_activa, -- Hard op NULL SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen! 'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)??? --SUBSTR ('C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' ' || v.regel, 1, 40) omschrijving, SUBSTR (TRIM (DECODE (v.mld_melding_key, NULL, '', 'CORR' || v.mld_melding_omschrijving) || ' C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' ' || v.regel), 1, 40) omschrijving, DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', 'VBINEU_VERL', 'VN') btwcode, MIN (v.mld_melding_key) mld_melding_key, 0 antedateren FROM blcc_v_factv2_frozen v WHERE v.crf = 1 AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???'), 'VRK', 'EUR', v.factuurdatum, --SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2), --SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2), v.fin_verkoopfactuur_id, v.vervaldatum, '1', v.grtboekrek, --v.prs_kostenplaats_nr, DECODE (SUBSTR (v.prs_kostenplaats_nr, 1, 5), '50900', '50900', v.prs_kostenplaats_nr), NULL, 'credit', --SUBSTR ('C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' ' || v.regel, 1, 40), SUBSTR (TRIM (DECODE (v.mld_melding_key, NULL, '', 'CORR' || v.mld_melding_omschrijving) || ' C' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || ' ' || v.regel), 1, 40), DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', 'VBINEU_VERL', 'VN'), 0 ORDER BY 1); CREATE OR REPLACE VIEW blcc_v_export_tf_crf ( result, result_order ) AS -- View bevat alleen inhoud op bepaalde dagen (10e werkdag of op 1e, 8e, 15, 22e) of als er vandaag correcties/losverkopen zijn Verwerkt! SELECT 'code' || ';valuta' || ';factuurdatum' || ';periode' || ';factuurnummer' || ';vervaldatum' || ';nummer' || ';grtboekrek' || ';rel/kpl' || ';prj/activa' || ';bedrag' || ';debitcredit' || ';omschrijving' || ';btwcode', 0 FROM DUAL WHERE EXISTS (SELECT 1 FROM blcc_v_rap_export_tf_crf WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd')) UNION ALL SELECT code || ';' || valuta || ';' || factuurdatum || ';' || periode || ';' || factuurnummer || ';' || vervaldatum || ';' || nummer || ';' || grtboekrek || ';' || rel_kpl || ';' || prj_activa || ';' || bedrag || ';' || debitcredit || ';' || omschrijving || ';' || btwcode, ROWNUM FROM blcc_v_rap_export_tf_crf WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd') ORDER BY 2; -- Export om een BAT-bestand aan te maken dat de PDF-bestanden genereert. Deze -- export moet voor 5:00 worden gedraaid, daarna (7:00) worden de notificaties -- vanuit putOrders verstuurd. -- BLCC#53262: Facturatie additionele diensten. CREATE OR REPLACE VIEW blcc_v_export_pdf_att ( result, result_order ) AS -- Facturatie huur SELECT 'CALL GENEREER1FIN_VK_PDF.BAT ' || TO_CHAR (vfk.fin_verkoopfactuurkop_key) || ' ' || vfk.fin_verkoopfactuurkop_id, vfk.fin_verkoopfactuurkop_key FROM fac_notificatie n, fin_verkoopfactuurkop vfk WHERE n.fac_srtnotificatie_key = 281 -- CUST01-noti AND n.fac_notificatie_refkey = vfk.fin_verkoopfactuurkop_key UNION ALL -- Facturatie additionele diensten SELECT 'CALL GENEREER1FIN_VK_PDF.BAT ' || TO_CHAR (vfk.fin_verkoopfactuurkop_key) || ' ' || vfk.fin_verkoopfactuurkop_id, vfk.fin_verkoopfactuurkop_key FROM fac_notificatie n, fin_verkoopfactuurkop vfk WHERE n.fac_srtnotificatie_key = 341 -- CUST02-noti AND n.fac_notificatie_refkey = vfk.fin_verkoopfactuurkop_key; -- BLCC#64393: Rapportage waarmee Brightlands/Marie-Jose Douven eenvoudig de -- bedragen kan controleren die komende maand worden gefactureerd! CREATE OR REPLACE VIEW blcc_v_rap_fact_check ( hide_f_sortering, prs_bedrijf_key, debiteur_naam, debiteur_nr, contractsoort, cnt_contract_key, contractnr, --po_nr, -- Yourref --ourref, -- Ourref --omschrijving, -- Contract scope --sortering, regel, btw, maand, dagbegin, dageinde, crf, -- CCCV=0 en CRF=1 factuur, mndnet, mndbtw, totaal ) AS SELECT SUBSTR ('00000' || x.debiteur_nr, -6) || SUBSTR ('00000' || x.cnt_contract_nummer_intern, -6) || x.sortering || x.fin_btwtabelwaarde_code, x.prs_bedrijf_key, x.prs_debiteur_naam, x.debiteur_nr, td.ins_discipline_omschrijving, x.cnt_contract_key, x.cnt_contract_nummer_intern || '.' || COALESCE (x.cnt_contract_versie, '0') contractnr, --x.po_nr, -- Yourref --x.ourref, -- Ourref --x.omschrijving, -- Contract scope --x.sortering, x.regel, x.fin_btwtabelwaarde_perc, x.maand, x.dagbegin, x.dageinde, x.crf, -- CCCV=0 en CRF=1 x.factuur, SUM (x.mndnet), -- Netto maandbedrag SUM ((x.mndnet / 100) * x.fin_btwtabelwaarde_perc), -- BTW maandbedrag SUM ((x.mndnet / 100) * (x.fin_btwtabelwaarde_perc + 100)) -- Totaal FROM blcc_v_factv2_actual x, cnt_contract c, ins_tab_discipline td WHERE x.cnt_contract_key = c.cnt_contract_key AND c.ins_discipline_key = td.ins_discipline_key GROUP BY SUBSTR ('00000' || x.debiteur_nr, -6) || SUBSTR ('00000' || x.cnt_contract_nummer_intern, -6) || x.sortering || x.fin_btwtabelwaarde_code, x.prs_bedrijf_key, x.prs_debiteur_naam, x.debiteur_nr, td.ins_discipline_omschrijving, x.cnt_contract_key, x.cnt_contract_nummer_intern || '.' || COALESCE (x.cnt_contract_versie, '0'), --x.po_nr, -- Yourref --x.ourref, -- Ourref --x.omschrijving, -- Contract scope --x.sortering, x.regel, x.fin_btwtabelwaarde_perc, x.maand, x.dagbegin, x.dageinde, x.crf, -- CCCV=0 en CRF=1 x.factuur; CREATE OR REPLACE VIEW blcc_v_rap_fact_controle ( fclt_x_stroom, fclt_f_controle, controle_ref ) AS WITH periodegeg AS (SELECT * FROM blcc_v_factv2_actual) SELECT DISTINCT 'Verhuur', 'Contract(regel) bedrag < 0', xref FROM ( SELECT v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']' xref, SUM (v.mndnet) bedrag FROM periodegeg v WHERE v.mld_melding_key IS NULL GROUP BY v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']') WHERE bedrag < 0 UNION ALL SELECT DISTINCT 'Verhuur', 'Contract met GVR-overlap?', v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) FROM periodegeg v, alg_v_allonroerendgoed aog WHERE v.mld_melding_key IS NULL AND v.alg_onroerendgoed_type IN ('G', 'V', 'R') AND v.alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys AND EXISTS (SELECT 1 FROM periodegeg v1, alg_v_allonroerendgoed aog1 WHERE v1.alg_onroerendgoed_type IN ('G', 'V', 'R') AND v1.alg_onroerendgoed_keys = aog1.alg_onroerendgoed_keys AND v1.cnt_contract_key = v.cnt_contract_key -- Hetzelfde contract AND aog1.alg_gebouw_key = aog.alg_gebouw_key -- Hetzelfde gebouw AND v1.alg_onroerendgoed_type != v.alg_onroerendgoed_type -- Ander type AND v1.alg_onroerendgoed_keys != v.alg_onroerendgoed_keys) -- Andere regel UNION ALL SELECT DISTINCT 'Verhuur', 'Dezelfde plaats gekoppeld aan meer contracten', v.alg_plaatsaanduiding FROM periodegeg v WHERE v.mld_melding_key IS NULL AND v.alg_onroerendgoed_type IN ('G', 'V', 'R') AND EXISTS (SELECT 1 FROM periodegeg v1 WHERE v1.alg_onroerendgoed_type IN ('G', 'V', 'R') AND v1.alg_onroerendgoed_keys = v.alg_onroerendgoed_keys -- Dezelfde plaats AND v1.cnt_contract_key != v.cnt_contract_key) -- Ander contract UNION ALL SELECT DISTINCT 'Verhuur', 'E-mail adres van debiteur onbekend', v.prs_debiteur_naam FROM periodegeg v, prs_bedrijf b WHERE v.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_email IS NULL UNION ALL SELECT DISTINCT 'Verhuur', 'Factuuradres van debiteur onbekend/onvolledig', v.prs_debiteur_naam FROM periodegeg v WHERE v.mld_melding_key IS NULL AND (v.adres IS NULL OR v.postcode IS NULL OR v.plaats IS NULL OR v.land IS NULL) UNION ALL SELECT DISTINCT 'Verhuur', 'Correctie- of losverkoopbedrag = 0', TO_CHAR (v.mld_melding_key) FROM periodegeg v WHERE v.mld_melding_key IS NOT NULL AND v.mndnet = 0 UNION ALL SELECT DISTINCT 'Verhuur', 'Contract gekoppeld aan locatie', v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) FROM periodegeg v WHERE v.mld_melding_key IS NULL AND v.alg_onroerendgoed_type = 'L' UNION ALL SELECT DISTINCT 'Verhuur', 'Debiteurnummer onbekend', v.prs_debiteur_naam FROM periodegeg v, prs_bedrijf b WHERE v.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_overeenkomst_nr IS NULL UNION ALL SELECT 'Verhuur', 'Aantal factuurregels > max. #regels (zoals geconfigureerd)', x.prs_debiteur_naam || ' / ' || x.po_nr FROM ( SELECT prs_debiteur_naam, po_nr, COUNT (*) factuurregels FROM periodegeg GROUP BY prs_debiteur_naam, po_nr) x WHERE x.factuurregels > fac.getsetting ('res_xml_max_rsv_ruimte') UNION ALL SELECT 'Add. Diensten', 'H-afdeling leeg', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving FROM prs_afdeling a WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_bedrijf_key = 22 -- Huurders AND a.prs_afdeling_parentkey IS NULL AND NOT EXISTS (SELECT 1 FROM prs_v_aanwezigperslid p WHERE p.prs_afdeling_key = a.prs_afdeling_key) UNION ALL SELECT 'Add. Diensten', 'H-afdeling zonder logins', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving FROM prs_afdeling a WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_bedrijf_key = 22 -- Huurders AND a.prs_afdeling_parentkey IS NULL AND EXISTS (SELECT 1 FROM prs_v_aanwezigperslid p WHERE p.prs_afdeling_key = a.prs_afdeling_key) AND NOT EXISTS (SELECT 1 FROM prs_v_aanwezigperslid p WHERE COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NOT NULL AND p.prs_afdeling_key = a.prs_afdeling_key) UNION ALL SELECT DISTINCT 'Add. Diensten', 'H-afdeling op ander dan niveau-1', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving FROM prs_afdeling a WHERE a.prs_afdeling_verwijder IS NULL AND EXISTS (SELECT 1 FROM prs_v_afdeling_boom ab WHERE ab.prs_bedrijf_key = 22 -- Huurders AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key3, ab.prs_afdeling_key4, ab.prs_afdeling_key5) IS NOT NULL AND ab.prs_afdeling_key = a.prs_afdeling_key) UNION ALL SELECT DISTINCT 'Add. Diensten', 'H-afdeling niet gelinkt aan H-relatie', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving FROM prs_afdeling a--, prs_v_aanwezigperslid ap WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_bedrijf_key = 22 -- Huurders AND a.prs_afdeling_parentkey IS NULL --AND a.prs_afdeling_key = ap.prs_afdeling_key --AND COALESCE (ap.prs_perslid_oslogin, ap.prs_perslid_oslogin2) IS NOT NULL AND NOT EXISTS (SELECT 1 FROM prs_v_aanwezigkenmerklink kl, prs_v_aanwezigbedrijf b WHERE kl.prs_kenmerklink_niveau = 'A' AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr AND kl.prs_link_key = a.prs_afdeling_key) UNION ALL SELECT DISTINCT 'Add. Diensten', 'H-afdeling niet gelinkt aan actief AD-contract', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving FROM prs_afdeling a--, prs_v_aanwezigperslid ap WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_bedrijf_key = 22 -- Huurders AND a.prs_afdeling_parentkey IS NULL --AND a.prs_afdeling_key = ap.prs_afdeling_key --AND COALESCE (ap.prs_perslid_oslogin, ap.prs_perslid_oslogin2) IS NOT NULL AND NOT EXISTS (SELECT 1 FROM cnt_v_aanwezigcontract c WHERE c.ins_discipline_key IN (1841, 1842) AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.prs_afdeling_key_eig = a.prs_afdeling_key) UNION ALL SELECT DISTINCT 'Add. Diensten', 'H-afdeling gelinkt aan >1 actief AD-contract', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving FROM prs_afdeling a, cnt_v_aanwezigcontract c1 WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_bedrijf_key = 22 -- Huurders AND a.prs_afdeling_parentkey IS NULL AND a.prs_afdeling_key = c1.prs_afdeling_key_eig AND c1.ins_discipline_key IN (1841, 1842) AND TRUNC (c1.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand AND c1.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand AND c1.cnt_contract_status = 0 -- Definitief AND EXISTS (SELECT 1 FROM cnt_v_aanwezigcontract c2 WHERE c2.ins_discipline_key IN (1841, 1842) AND TRUNC (c2.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand AND c2.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand AND c2.cnt_contract_status = 0 -- Definitief AND c2.ins_discipline_key = c1.ins_discipline_key AND c2.prs_afdeling_key_eig = c1.prs_afdeling_key_eig AND c2.cnt_contract_key != c1.cnt_contract_key) UNION ALL SELECT DISTINCT 'Add. Diensten', 'H-relatie niet gelinkt aan H-afdeling', b.prs_bedrijf_naam FROM prs_v_aanwezigbedrijf b WHERE b.prs_overeenkomst_nr IS NOT NULL AND NOT EXISTS (SELECT 1 FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_bedrijf_key = 22 -- Huurders AND a.prs_afdeling_parentkey IS NULL AND a.prs_afdeling_key = kl.prs_link_key AND kl.prs_kenmerklink_niveau = 'A' AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr) UNION ALL SELECT DISTINCT 'Add. Diensten', 'H-relatie niet gelinkt aan actief AD-contract', b.prs_bedrijf_naam FROM prs_v_aanwezigbedrijf b WHERE EXISTS (SELECT 1 FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_bedrijf_key = 22 -- Huurders AND a.prs_afdeling_parentkey IS NULL AND a.prs_afdeling_key = kl.prs_link_key AND kl.prs_kenmerklink_niveau = 'A' AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr) AND NOT EXISTS (SELECT 1 FROM cnt_v_aanwezigcontract c WHERE c.ins_discipline_key IN (1841, 1842) AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) UNION ALL SELECT DISTINCT 'Add. Diensten', 'H-relatie gelinkt aan >1 actief AD-contract', b.prs_bedrijf_naam FROM prs_v_aanwezigbedrijf b, cnt_v_aanwezigcontract c1 WHERE b.prs_bedrijf_key = c1.cnt_prs_bedrijf_key AND c1.ins_discipline_key IN (1841, 1842) AND TRUNC (c1.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand AND c1.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand AND c1.cnt_contract_status = 0 -- Definitief AND EXISTS (SELECT 1 FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_bedrijf_key = 22 -- Huurders AND a.prs_afdeling_parentkey IS NULL AND a.prs_afdeling_key = kl.prs_link_key AND kl.prs_kenmerklink_niveau = 'A' AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr) AND EXISTS (SELECT 1 FROM cnt_v_aanwezigcontract c2 WHERE c2.ins_discipline_key IN (1841, 1842) AND TRUNC (c2.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand AND c2.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand AND c2.cnt_contract_status = 0 -- Definitief AND c2.ins_discipline_key = c1.ins_discipline_key AND c2.prs_afdeling_key_eig = c1.prs_afdeling_key_eig AND c2.cnt_contract_key != c1.cnt_contract_key) UNION ALL SELECT DISTINCT 'Add. Diensten', 'Actief AD-contract incorrect gelinkt aan huurder', c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) FROM cnt_v_aanwezigcontract c, prs_v_afdeling_boom ab, prs_v_aanwezigkenmerklink kl, prs_bedrijf b WHERE c.ins_discipline_key IN (1841, 1842) AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand AND c.cnt_contract_status = 0 -- Definitief AND c.prs_afdeling_key_eig = ab.prs_afdeling_key(+) AND ab.prs_bedrijf_key(+) = 22 -- Huurders AND c.prs_afdeling_key_eig = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+) AND kl.prs_kenmerklink_waarde != b.prs_overeenkomst_nr UNION ALL SELECT DISTINCT 'Add. Diensten', 'H-afdeling niet dezelfde naam als gelinkte H-relatie', a.prs_afdeling_omschrijving || ' <> ' || b.prs_bedrijf_naam FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl, prs_v_aanwezigbedrijf b WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_bedrijf_key = 22 -- Huurders AND a.prs_afdeling_parentkey IS NULL AND a.prs_afdeling_key = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau = 'A' AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr AND UPPER (a.prs_afdeling_omschrijving) != TRIM (b.prs_bedrijf_naam_upper) UNION ALL SELECT 'Uitvoerenden', 'UV-afdeling leeg', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving FROM prs_afdeling a WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_afdeling_parentkey = 23 -- UV AND NOT EXISTS (SELECT 1 FROM prs_v_aanwezigperslid p WHERE p.prs_afdeling_key = a.prs_afdeling_key) UNION ALL SELECT 'Uitvoerenden', 'UV-afdeling zonder logins', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving FROM prs_afdeling a WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_afdeling_parentkey = 23 -- UV AND EXISTS (SELECT 1 FROM prs_v_aanwezigperslid p WHERE p.prs_afdeling_key = a.prs_afdeling_key) AND NOT EXISTS (SELECT 1 FROM prs_v_aanwezigperslid p WHERE COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NOT NULL AND p.prs_afdeling_key = a.prs_afdeling_key) UNION ALL SELECT DISTINCT 'Uitvoerenden', 'UV-afdeling met logins niet gelinkt aan UV-relatie', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving FROM prs_afdeling a, prs_v_aanwezigperslid ap WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_afdeling_parentkey = 23 -- UV AND a.prs_afdeling_key = ap.prs_afdeling_key AND COALESCE (ap.prs_perslid_oslogin, ap.prs_perslid_oslogin2) IS NOT NULL AND NOT EXISTS (SELECT 1 FROM prs_contactpersoon cp, prs_bedrijf b, prs_perslid p WHERE cp.prs_contactpersoon_verwijder IS NULL AND cp.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_verwijder IS NULL AND cp.prs_perslid_key = p.prs_perslid_key AND p.prs_afdeling_key = ap.prs_afdeling_key) UNION ALL SELECT DISTINCT 'Uitvoerenden', 'UV-afdeling gelinkt aan UV-relatie via persoon zonder login', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving || '/' || p.prs_perslid_naam FROM prs_afdeling a, prs_v_aanwezigperslid p WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_afdeling_parentkey = 23 -- UV AND a.prs_afdeling_key = p.prs_afdeling_key AND COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NULL AND EXISTS (SELECT 1 FROM prs_contactpersoon cp, prs_bedrijf b WHERE cp.prs_contactpersoon_verwijder IS NULL AND cp.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_verwijder IS NULL AND cp.prs_perslid_key = p.prs_perslid_key) UNION ALL SELECT DISTINCT 'Uitvoerenden', 'UV-relatie gelinkt aan UV-afdeling via verwijderde persoon', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving || '/' || cp.prs_contactpersoon_naam FROM prs_afdeling a, prs_perslid p, prs_contactpersoon cp, prs_bedrijf b WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_afdeling_parentkey = 23 -- UV AND a.prs_afdeling_key = p.prs_afdeling_key AND p.prs_perslid_verwijder IS NOT NULL AND p.prs_perslid_key = cp.prs_perslid_key AND cp.prs_contactpersoon_verwijder IS NULL AND cp.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_verwijder IS NULL UNION ALL SELECT DISTINCT 'Uitvoerenden', 'UV-afdeling niet dezelfde naam als gelinkte UV-relatie', a.prs_afdeling_omschrijving || ' <> ' || b.prs_bedrijf_naam FROM prs_afdeling a, prs_perslid p, prs_contactpersoon cp, prs_bedrijf b WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_afdeling_parentkey = 23 -- UV AND a.prs_afdeling_key = p.prs_afdeling_key AND p.prs_perslid_key = cp.prs_perslid_key AND cp.prs_contactpersoon_verwijder IS NULL AND cp.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_verwijder IS NULL AND UPPER (a.prs_afdeling_omschrijving) != TRIM (b.prs_bedrijf_naam_upper) ; /* UNION ALL SELECT '***UV-account niet gelinkt aan UV-relatie met RELUSE-rechten', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving || '/' || p.prs_perslid_naam FROM prs_afdeling a, prs_v_aanwezigperslid p WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_afdeling_parentkey = 23 -- UV AND a.prs_afdeling_key = p.prs_afdeling_key AND COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NOT NULL AND NOT EXISTS (SELECT 1 FROM prs_contactpersoon cp, prs_bedrijf b WHERE cp.prs_contactpersoon_verwijder IS NULL AND cp.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_verwijder IS NULL AND cp.prs_perslid_key = p.prs_perslid_key) AND EXISTS (SELECT 1 FROM fac_gebruikersgroep gg, fac_groeprechten gr WHERE gg.fac_groep_key = gr.fac_groep_key AND gr.fac_functie_key IN (43, 462) -- RELMAN/RELUSE AND gg.prs_perslid_key = p.prs_perslid_key) UNION ALL SELECT '***UV-account niet gelinkt aan UV-relatie met ORDxxx-rechten', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving || '/' || p.prs_perslid_naam FROM prs_afdeling a, prs_v_aanwezigperslid p WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_afdeling_parentkey = 23 -- UV AND a.prs_afdeling_key = p.prs_afdeling_key AND COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NOT NULL AND NOT EXISTS (SELECT 1 FROM prs_contactpersoon cp, prs_bedrijf b WHERE cp.prs_contactpersoon_verwijder IS NULL AND cp.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_verwijder IS NULL AND cp.prs_perslid_key = p.prs_perslid_key) AND EXISTS (SELECT 1 FROM fac_gebruikersgroep gg, fac_groeprechten gr WHERE gg.fac_groep_key = gr.fac_groep_key AND gr.fac_functie_key IN (31, 32, 34, 35, 242) -- ORDBOF/ORDBO2/ORDSUP/ORDFIN/ORDAFR AND gg.prs_perslid_key = p.prs_perslid_key); */ CREATE OR REPLACE VIEW blcc_v_rap_fact_delta_actual AS SELECT DISTINCT debiteur_nr || po_nr || regel sortering, cnt_contract_nummer_intern, cnt_contract_versie, prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek, opp_old, opp_new, opp_delta, bruto_old, bruto_new, bruto_delta, DECODE (opp_delta + bruto_delta, 0, NULL, 'X') mutatievlag FROM (SELECT COALESCE (y.cnt_contract_nummer_intern, '*' || x.cnt_contract_nummer_intern) cnt_contract_nummer_intern, DECODE (x.cnt_contract_versie, -- Is altijd een versie! y.cnt_contract_versie, x.cnt_contract_versie, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, ''))) cnt_contract_versie, DECODE (x.prs_debiteur_naam, -- Is altijd een debiteur_naam! y.prs_debiteur_naam, x.prs_debiteur_naam, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, ''))) prs_debiteur_naam, DECODE (x.debiteur_nr, -- Niet altijd een debiteur_nr! y.debiteur_nr, x.debiteur_nr, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, ''))) debiteur_nr, DECODE (x.po_nr, -- Niet altijd een PO-nr! y.po_nr, x.po_nr, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.po_nr, '***GEWIJZIGD: ' || COALESCE (x.po_nr, ''))) po_nr, DECODE (x.regel, -- Is altijd een regel! y.regel, x.regel, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, ''))) regel, DECODE (x.prs_kostenplaats_nr, -- Is altijd een KP-nr! y.prs_kostenplaats_nr, x.prs_kostenplaats_nr, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, ''))) prs_kostenplaats_nr, DECODE (x.grtboekrek, -- Niet altijd een grootboekrekening! y.grtboekrek, x.grtboekrek, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, ''))) grtboekrek, y.opp opp_old, x.opp opp_new, (COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta, y.bruto bruto_old, x.bruto bruto_new, (COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie, prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek, SUM (COALESCE (aantal, 0)) opp, SUM (mndnet + mndbtw) bruto FROM blcc_v_factv2_actual GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'), prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek) x LEFT JOIN ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie, prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek, SUM (COALESCE (aantal, 0)) opp, SUM (mndnet + mndbtw) bruto FROM blcc_v_factv2_frozen WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen) GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'), prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek) y ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern --AND x.cnt_contract_versie = y.cnt_contract_versie --AND x.prs_debiteur_naam = y.prs_debiteur_naam --AND x.debiteur_nr = y.debiteur_nr --AND x.po_nr = y.po_nr AND x.regel = y.regel UNION SELECT COALESCE (x.cnt_contract_nummer_intern, 'x' || y.cnt_contract_nummer_intern) cnt_contract_nummer_intern, DECODE (y.cnt_contract_versie, -- Is altijd een versie! x.cnt_contract_versie, y.cnt_contract_versie, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, ''))) cnt_contract_versie, DECODE (y.prs_debiteur_naam, -- Is altijd een debiteur_naam! x.prs_debiteur_naam, y.prs_debiteur_naam, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, ''))) prs_debiteur_naam, DECODE (y.debiteur_nr, -- Niet altijd een debiteur_nr! x.debiteur_nr, y.debiteur_nr, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, ''))) debiteur_nr, DECODE (y.po_nr, -- Niet altijd een PO-nr! x.po_nr, y.po_nr, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.po_nr, '***GEWIJZIGD: ' || COALESCE (x.po_nr, ''))) po_nr, DECODE (y.regel, -- Is altijd een regel! x.regel, y.regel, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, ''))) regel, DECODE (y.prs_kostenplaats_nr, -- Is altijd een KP-nr! x.prs_kostenplaats_nr, y.prs_kostenplaats_nr, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, ''))) prs_kostenplaats_nr, DECODE (y.grtboekrek, -- Niet altijd een grootboekrekening! x.grtboekrek, y.grtboekrek, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, ''))) grtboekrek, y.opp opp_old, x.opp opp_new, (COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta, y.bruto bruto_old, x.bruto bruto_new, (COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie, prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek, SUM (COALESCE (aantal, 0)) opp, SUM (mndnet + mndbtw) bruto FROM blcc_v_factv2_actual GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'), prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek) x RIGHT JOIN ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie, prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek, SUM (COALESCE (aantal, 0)) opp, SUM (mndnet + mndbtw) bruto FROM blcc_v_factv2_frozen WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen) GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'), prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek) y ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern --AND x.cnt_contract_versie = y.cnt_contract_versie --AND x.prs_debiteur_naam = y.prs_debiteur_naam --AND x.debiteur_nr = y.debiteur_nr --AND x.po_nr = y.po_nr AND x.regel = y.regel); CREATE OR REPLACE VIEW blcc_v_rap_fact_delta_frozen AS SELECT DISTINCT debiteur_nr || po_nr || regel sortering, cnt_contract_nummer_intern, cnt_contract_versie, prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek, opp_old, opp_new, opp_delta, bruto_old, bruto_new, bruto_delta, DECODE (opp_delta + bruto_delta, 0, NULL, 'X') mutatievlag FROM (SELECT COALESCE (y.cnt_contract_nummer_intern, '*' || x.cnt_contract_nummer_intern) cnt_contract_nummer_intern, DECODE (x.cnt_contract_versie, -- Is altijd een versie! y.cnt_contract_versie, x.cnt_contract_versie, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, ''))) cnt_contract_versie, DECODE (x.prs_debiteur_naam, -- Is altijd een debiteur_naam! y.prs_debiteur_naam, x.prs_debiteur_naam, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, ''))) prs_debiteur_naam, DECODE (x.debiteur_nr, -- Niet altijd een debiteur_nr! y.debiteur_nr, x.debiteur_nr, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, ''))) debiteur_nr, DECODE (x.po_nr, -- Niet altijd een PO-nr! y.po_nr, x.po_nr, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.po_nr, '***GEWIJZIGD: ' || COALESCE (x.po_nr, ''))) po_nr, DECODE (x.regel, -- Is altijd een regel! y.regel, x.regel, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, ''))) regel, DECODE (x.prs_kostenplaats_nr, -- Is altijd een KP-nr! y.prs_kostenplaats_nr, x.prs_kostenplaats_nr, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, ''))) prs_kostenplaats_nr, DECODE (x.grtboekrek, -- Niet altijd een grootboekrekening! y.grtboekrek, x.grtboekrek, DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, ''))) grtboekrek, y.opp opp_old, x.opp opp_new, (COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta, y.bruto bruto_old, x.bruto bruto_new, (COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie, prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek, SUM (COALESCE (aantal, 0)) opp, SUM (mndnet + mndbtw) bruto FROM blcc_v_factv2_frozen WHERE maand = (SELECT MAX (maand) FROM blcc_v_factv2_frozen) GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'), prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek) x LEFT JOIN ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie, prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek, SUM (COALESCE (aantal, 0)) opp, SUM (mndnet + mndbtw) bruto FROM blcc_v_factv2_frozen WHERE maand = (SELECT MAX (maand) FROM blcc_v_factv2_frozen WHERE maand <> (SELECT MAX (maand) FROM blcc_v_factv2_frozen)) GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'), prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek) y ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern --AND x.cnt_contract_versie = y.cnt_contract_versie --AND x.prs_debiteur_naam = y.prs_debiteur_naam --AND x.debiteur_nr = y.debiteur_nr --AND x.po_nr = y.po_nr AND x.regel = y.regel UNION SELECT COALESCE (x.cnt_contract_nummer_intern, 'x' || y.cnt_contract_nummer_intern) cnt_contract_nummer_intern, DECODE (y.cnt_contract_versie, -- Is altijd een versie! x.cnt_contract_versie, y.cnt_contract_versie, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, ''))) cnt_contract_versie, DECODE (y.prs_debiteur_naam, -- Is altijd een debiteur_naam! x.prs_debiteur_naam, y.prs_debiteur_naam, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, ''))) prs_debiteur_naam, DECODE (y.debiteur_nr, -- Niet altijd een debiteur_nr! x.debiteur_nr, y.debiteur_nr, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, ''))) debiteur_nr, DECODE (y.po_nr, -- Niet altijd een PO-nr! x.po_nr, y.po_nr, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.po_nr, '***GEWIJZIGD: ' || COALESCE (x.po_nr, ''))) po_nr, DECODE (y.regel, -- Is altijd een regel! x.regel, y.regel, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, ''))) regel, DECODE (y.prs_kostenplaats_nr, -- Is altijd een KP-nr! x.prs_kostenplaats_nr, y.prs_kostenplaats_nr, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, ''))) prs_kostenplaats_nr, DECODE (y.grtboekrek, -- Niet altijd een grootboekrekening! x.grtboekrek, y.grtboekrek, DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, ''))) grtboekrek, y.opp opp_old, x.opp opp_new, (COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta, y.bruto bruto_old, x.bruto bruto_new, (COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie, prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek, SUM (COALESCE (aantal, 0)) opp, SUM (mndnet + mndbtw) bruto FROM blcc_v_factv2_frozen WHERE maand = (SELECT MAX (maand) FROM blcc_v_factv2_frozen) GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'), prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek) x RIGHT JOIN ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie, prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek, SUM (COALESCE (aantal, 0)) opp, SUM (mndnet + mndbtw) bruto FROM blcc_v_factv2_frozen WHERE maand = (SELECT MAX (maand) FROM blcc_v_factv2_frozen WHERE maand <> (SELECT MAX (maand) FROM blcc_v_factv2_frozen)) GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'), prs_debiteur_naam, debiteur_nr, po_nr, regel, prs_kostenplaats_nr, grtboekrek) y ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern --AND x.cnt_contract_versie = y.cnt_contract_versie --AND x.prs_debiteur_naam = y.prs_debiteur_naam --AND x.debiteur_nr = y.debiteur_nr --AND x.po_nr = y.po_nr AND x.regel = y.regel); -- BLCC#41826: Leegstand CREATE OR REPLACE VIEW blcc_v_rap_leegstand AS SELECT TO_CHAR (x.mnd, 'yyyy-mm') maand, fp.alg_onrgoed_key, fp.alg_onrgoed_type, fp.fin_plaats, c.prs_bedrijf_naam debiteur, c.prs_overeenkomst_nr debiteur_nr, fp.fin_opp, fp.fin_lhkot, DECODE (c.cnt_contract_key, NULL, 'Ja', 'Nee') leegstand FROM ( SELECT ADD_MONTHS (TRUNC (SYSDATE, 'mm'), LEVEL - 13) mnd FROM DUAL CONNECT BY LEVEL <= 37) x LEFT JOIN (SELECT g.alg_gebouw_key alg_onrgoed_key, 'G' alg_onrgoed_type, g.alg_gebouw_code || DECODE (glhkot.alg_kenmerk_key, 1082, ' / L', 1083, ' / H', 1084, ' / K', 1085, ' / O', ' / T') fin_plaats, fac.safe_to_number (alg_onrgoedkenmerk_waarde) fin_opp, DECODE (glhkot.alg_kenmerk_key, 1082, 'L', 1083, 'H', 1084, 'K', 1085, 'O', 'T') fin_lhkot FROM alg_v_aanweziggebouw g, alg_v_aanwezigonrgoedkenmerk glhkot WHERE g.alg_gebouw_code LIKE '%FIN%' AND g.alg_gebouw_key = glhkot.alg_onrgoed_key AND glhkot.alg_kenmerk_key IN (1082, 1083, 1084, 1085, 1120) -- LHKOT Oppervlakten AND glhkot.alg_onrgoed_niveau = 'G' UNION ALL SELECT v.alg_verdieping_key alg_onrgoed_key, 'V' alg_onrgoed_type, g.alg_gebouw_code || '-' || TRIM (v.alg_verdieping_code) || DECODE (vlhkot.alg_kenmerk_key, 1092, ' / L', 1093, ' / H', 1094, ' / K', 1095, ' / O', ' / T') fin_plaats, fac.safe_to_number (alg_onrgoedkenmerk_waarde) fin_opp, DECODE (vlhkot.alg_kenmerk_key, 1092, 'L', 1093, 'H', 1094, 'K', 1095, 'O', 'T') fin_lhkot FROM alg_v_aanwezigverdieping v, alg_gebouw g, alg_v_aanwezigonrgoedkenmerk vlhkot WHERE v.alg_verdieping_code LIKE '%FIN%' AND v.alg_gebouw_key = g.alg_gebouw_key AND v.alg_verdieping_key = vlhkot.alg_onrgoed_key AND vlhkot.alg_kenmerk_key IN (1092, 1093, 1094, 1095, 1121) -- LHKOT Oppervlakten AND vlhkot.alg_onrgoed_niveau = 'V' UNION ALL SELECT r.alg_ruimte_key alg_onrgoed_key, 'R' alg_onrgoed_type, g.alg_gebouw_code || '-' || v.alg_verdieping_code || '-' || r.alg_ruimte_nr || ' / ' || ud.fac_usrdata_code fin_plaats, r.alg_ruimte_opp_alt1 fin_opp, ud.fac_usrdata_code fin_lhkot FROM alg_v_aanwezigruimte r, alg_verdieping v, alg_gebouw g, alg_v_aanwezigonrgoedkenmerk rlhkot, fac_usrdata ud WHERE r.alg_ruimte_nr LIKE 'FIN%' AND r.alg_verdieping_key = v.alg_verdieping_key AND v.alg_gebouw_key = g.alg_gebouw_key AND r.alg_ruimte_key = rlhkot.alg_onrgoed_key AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie AND rlhkot.alg_onrgoed_niveau = 'R' AND rlhkot.alg_onrgoedkenmerk_waarde = TO_CHAR (ud.fac_usrdata_key)) fp -- FIN-plaatsen ON 1 = 1 LEFT JOIN (SELECT c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_van, c.cnt_contract_looptijd_tot, cp.cnt_alg_plaats_key, cp.cnt_alg_plaats_code, b.prs_bedrijf_naam, b.prs_overeenkomst_nr FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract vsov, cnt_contract_plaats cp, prs_bedrijf b WHERE c.ins_discipline_key = 621 -- Huurcontracten AND c.cnt_contract_key = vsov.cnt_contract_key AND vsov.cnt_kenmerkcontract_verwijder IS NULL AND vsov.cnt_kenmerk_key = 21 -- VSOV AND vsov.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd telt als geen leegstand! AND cp.cnt_contract_plaats_verwijder IS NULL AND c.cnt_contract_key = cp.cnt_contract_key AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c ON x.mnd BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1) AND fp.alg_onrgoed_key = c.cnt_alg_plaats_key; -- BLCC#41827: Rent roll met een per bedrijf/regel/jaar-rij een contractbedrag- -- kolom (ter pivot in FACILITOR naar een per bedrijf/regel-rij een -- contractbedrag per jaar-kolom). CREATE OR REPLACE VIEW blcc_v_rap_rent_roll AS SELECT prs_bedrijf_naam huurder, regel, lv ingangsdatum_huurovk, lt einddatum_huurovk, 12 * mndnet_heel rent, TO_CHAR (maand, 'yyyy') jaar, SUM (mndnet_deel) totaal -- Regeltotaal per jaar FROM ( SELECT p.maand, c.lv, c.lt, c.prs_bedrijf_naam, x.regel, SUM (ROUND (x.mndnet, 2)) mndnet_heel, SUM (ROUND ((LEAST (TRUNC (c.lt), LAST_DAY (p.maand)) - GREATEST (TRUNC (c.lv), p.maand) + 1) / (LAST_DAY (p.maand) - p.maand + 1) * x.mndnet, 2)) mndnet_deel -- Regeltotaal per maand FROM ( SELECT ADD_MONTHS (TRUNC (SYSDATE, 'yyyy'), LEVEL - 1) maand FROM DUAL CONNECT BY ADD_MONTHS (TRUNC (SYSDATE, 'yyyy'), LEVEL - 1) <= (SELECT MAX (TRUNC (cnt_contract_looptijd_tot, 'mm')) FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract vsov WHERE c.cnt_contract_status = 0 -- Definitief AND c.ins_discipline_key IN (621, 721, 722, 724) -- Huurcontracten+PP/CV+Utility infra/voorz+General infra/voorz AND c.cnt_contract_key = vsov.cnt_contract_key AND vsov.cnt_kenmerkcontract_verwijder IS NULL AND vsov.cnt_kenmerk_key = 21 -- VSOV AND vsov.cnt_kenmerkcontract_waarde = '454')) p -- ALLEEN Verhuurd! LEFT JOIN (SELECT c.cnt_contract_key, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_naam FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract vsov, prs_bedrijf b WHERE c.cnt_contract_status = 0 -- Definitief AND c.ins_discipline_key = 621 -- Huurcontracten AND c.cnt_contract_key = vsov.cnt_contract_key AND vsov.cnt_kenmerkcontract_verwijder IS NULL AND vsov.cnt_kenmerk_key = 21 -- VSOV AND vsov.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd! --AND c.cnt_prs_bedrijf_key = 11207 -- Arlanxeo (om te testen) AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key UNION ALL SELECT c.cnt_contract_key, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_naam FROM cnt_v_aanwezigcontract c, prs_bedrijf b WHERE c.cnt_contract_status = 0 -- Definitief AND c.ins_discipline_key IN (721, 722, 724) -- PP/CV+Utility infra/voorz+General infra/voorz --AND c.cnt_prs_bedrijf_key = 11207 -- Arlanxeo (om te testen) AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c ON p.maand BETWEEN TRUNC (c.lv, 'mm') AND TRUNC (c.lt, 'mm') LEFT JOIN (SELECT x.cnt_contract_key, -- M2 feitelijk! 'Campus Rent' regel, ((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * ((COALESCE (fac.safe_to_number(COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number(COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number(COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number(COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number(COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))) mndnet -- Netto maandbedrag (incl. kortingspercentage) FROM (SELECT c.cnt_contract_key, c.cnt_contract_korting FROM cnt_v_aanwezigcontract c WHERE c.ins_discipline_key = 621) x -- Huurcontracten LEFT JOIN cnt_kenmerkcontract tt_kc ON x.cnt_contract_key = tt_kc.cnt_contract_key AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel LEFT JOIN fac_v_aanwezigusrdata tt_ud ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key) LEFT JOIN fac_v_aanwezigusrdata ltar ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key) AND ltar.fac_usrdata_code = 'L' -- L-Tarief LEFT JOIN fac_v_aanwezigusrdata htar ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key) AND htar.fac_usrdata_code = 'H' -- H-Tarief LEFT JOIN fac_v_aanwezigusrdata ktar ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key) AND ktar.fac_usrdata_code = 'K' -- K-Tarief LEFT JOIN fac_v_aanwezigusrdata otar ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key) AND otar.fac_usrdata_code = 'O' -- O-Tarief LEFT JOIN fac_v_aanwezigusrdata ttar ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key) AND ttar.fac_usrdata_code = 'T' -- T-Tarief LEFT JOIN cnt_v_aanwezigcontract_plaats ccp ON x.cnt_contract_key = ccp.cnt_contract_key AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R') LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte AND glo.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk gho ON ccp.cnt_alg_plaats_key = gho.alg_onrgoed_key AND gho.alg_kenmerk_key = 1083 -- GH-Oppervlakte AND gho.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte AND gko.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk goo ON ccp.cnt_alg_plaats_key = goo.alg_onrgoed_key AND goo.alg_kenmerk_key = 1085 -- GO-Oppervlakte AND goo.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk gto ON ccp.cnt_alg_plaats_key = gto.alg_onrgoed_key AND gto.alg_kenmerk_key = 1120 -- GT-Oppervlakte AND gto.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte AND vlo.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk vho ON ccp.cnt_alg_plaats_key = vho.alg_onrgoed_key AND vho.alg_kenmerk_key = 1093 -- VH-Oppervlakte AND vho.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte AND vko.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk voo ON ccp.cnt_alg_plaats_key = voo.alg_onrgoed_key AND voo.alg_kenmerk_key = 1095 -- VO-Oppervlakte AND voo.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk vto ON ccp.cnt_alg_plaats_key = vto.alg_onrgoed_key AND vto.alg_kenmerk_key = 1121 -- VT-Oppervlakte AND vto.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie AND rlhkot.alg_onrgoed_niveau = 'R' LEFT JOIN alg_v_aanwezigruimte rxo ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key UNION ALL -- M2 correctie! SELECT x.cnt_contract_key, 'Campus Rent' regel, ((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * ((COALESCE (fac.safe_to_number (clo.cnt_kenmerkcontract_waarde), 0) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number (cho.cnt_kenmerkcontract_waarde), 0) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number (cko.cnt_kenmerkcontract_waarde), 0) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number (coo.cnt_kenmerkcontract_waarde), 0) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number (cto.cnt_kenmerkcontract_waarde), 0) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))) mndnet -- Netto maandbedrag (incl. kortingspercentage) FROM (SELECT c.cnt_contract_key, c.cnt_contract_korting FROM cnt_v_aanwezigcontract c WHERE c.ins_discipline_key = 621) x -- Huurcontracten LEFT JOIN cnt_kenmerkcontract tt_kc ON x.cnt_contract_key = tt_kc.cnt_contract_key AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel LEFT JOIN fac_v_aanwezigusrdata tt_ud ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key) LEFT JOIN fac_v_aanwezigusrdata ltar ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key) AND ltar.fac_usrdata_code = 'L' -- L-Tarief LEFT JOIN fac_v_aanwezigusrdata htar ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key) AND htar.fac_usrdata_code = 'H' -- H-Tarief LEFT JOIN fac_v_aanwezigusrdata ktar ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key) AND ktar.fac_usrdata_code = 'K' -- K-Tarief LEFT JOIN fac_v_aanwezigusrdata otar ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key) AND otar.fac_usrdata_code = 'O' -- O-Tarief LEFT JOIN fac_v_aanwezigusrdata ttar ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key) AND ttar.fac_usrdata_code = 'T' -- T-Tarief LEFT JOIN cnt_kenmerkcontract clo ON x.cnt_contract_key = clo.cnt_contract_key AND clo.cnt_kenmerkcontract_verwijder IS NULL AND clo.cnt_kenmerk_key = 381 -- CL-Oppervlakte LEFT JOIN cnt_kenmerkcontract cho ON x.cnt_contract_key = cho.cnt_contract_key AND cho.cnt_kenmerkcontract_verwijder IS NULL AND cho.cnt_kenmerk_key = 382 -- CH-Oppervlakte LEFT JOIN cnt_kenmerkcontract cko ON x.cnt_contract_key = cko.cnt_contract_key AND cko.cnt_kenmerkcontract_verwijder IS NULL AND cko.cnt_kenmerk_key = 383 -- CK-Oppervlakte LEFT JOIN cnt_kenmerkcontract coo ON x.cnt_contract_key = coo.cnt_contract_key AND coo.cnt_kenmerkcontract_verwijder IS NULL AND coo.cnt_kenmerk_key = 384 -- CO-Oppervlakte LEFT JOIN cnt_kenmerkcontract cto ON x.cnt_contract_key = cto.cnt_contract_key AND cto.cnt_kenmerkcontract_verwijder IS NULL AND cto.cnt_kenmerk_key = 385 -- CT-Oppervlakte WHERE ( clo.cnt_kenmerkcontract_waarde IS NOT NULL OR cho.cnt_kenmerkcontract_waarde IS NOT NULL OR cko.cnt_kenmerkcontract_waarde IS NOT NULL OR coo.cnt_kenmerkcontract_waarde IS NOT NULL OR cto.cnt_kenmerkcontract_waarde IS NOT NULL) UNION ALL -- FES SELECT x.cnt_contract_key, 'FES' regel, -1 * ((COALESCE (fac.safe_to_number(COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * (COALESCE (lfes.fac_usrdata_prijs, 0) / 12)) + (COALESCE (fac.safe_to_number(COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * (COALESCE (kfes.fac_usrdata_prijs, 0) / 12))) mndnet -- Netto maandbedrag (excl. kortingspercentage) FROM (SELECT c.cnt_contract_key FROM cnt_v_aanwezigcontract c WHERE c.ins_discipline_key = 621) x -- Huurcontracten LEFT JOIN cnt_kenmerkcontract tt_kc ON x.cnt_contract_key = tt_kc.cnt_contract_key AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel LEFT JOIN fac_v_aanwezigusrdata tt_ud ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key) LEFT JOIN fac_v_aanwezigusrdata lfes ON tt_ud.fac_usrdata_code = TO_CHAR (lfes.fac_usrtab_key) AND lfes.fac_usrdata_code = 'LFES' -- FES-Tarief op L-Oppervlakte LEFT JOIN fac_v_aanwezigusrdata kfes ON tt_ud.fac_usrdata_code = TO_CHAR (kfes.fac_usrtab_key) AND kfes.fac_usrdata_code = 'KFES' -- FES-Tarief op K-Oppervlakte LEFT JOIN cnt_kenmerkcontract fes ON x.cnt_contract_key = fes.cnt_contract_key AND fes.cnt_kenmerkcontract_verwijder IS NULL AND fes.cnt_kenmerk_key = 42 -- FES-vinkje LEFT JOIN cnt_v_aanwezigcontract_plaats ccp ON x.cnt_contract_key = ccp.cnt_contract_key AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R') LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte AND glo.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte AND gko.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte AND vlo.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte AND vko.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie AND rlhkot.alg_onrgoed_niveau = 'R' LEFT JOIN alg_v_aanwezigruimte rxo ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key WHERE fes.cnt_kenmerkcontract_waarde IS NOT NULL UNION ALL -- CFF Rent SELECT cnt_contract_key, 'CFF Rent' regel, -1 * fac_usrdata_prijs * (mndopp - mndfes - fac.safe_to_number (cnt_kenmerkcontract_waarde)) mndnet -- CFF-subsidie * Netto maandbedrag alle meters minus Netto maandbedrag FES-korting minus kortingsbedrag)=CFF Rent FROM ( SELECT x.cnt_contract_key, kb_kc.cnt_kenmerkcontract_waarde, -- Netto kortingsbedrag (excl. kortingspercentage)! ccf_ud.fac_usrdata_prijs, -- CFF-subsidiepercentatie % SUM (((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * ((COALESCE (fac.safe_to_number(COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number(COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number(COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number(COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) + (COALESCE (fac.safe_to_number(COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0)))) mndopp, -- Netto maandbedrag alle meters (incl. kortingspercentage) SUM ((DECODE (fes.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0))) * COALESCE (lfes.fac_usrdata_prijs / 12, 0)) + (DECODE (fes.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0))) * COALESCE (kfes.fac_usrdata_prijs / 12, 0))) mndfes -- Netto maandbedrag FES-korting (excl. kortingspercentage) FROM (SELECT c.cnt_contract_key, c.cnt_contract_korting FROM cnt_v_aanwezigcontract c WHERE c.ins_discipline_key = 621) x -- Huurcontracten LEFT JOIN cnt_kenmerkcontract tt_kc ON x.cnt_contract_key = tt_kc.cnt_contract_key AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel LEFT JOIN fac_v_aanwezigusrdata tt_ud ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key) LEFT JOIN fac_v_aanwezigusrdata ltar ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key) AND ltar.fac_usrdata_code = 'L' -- L-Tarief LEFT JOIN fac_v_aanwezigusrdata htar ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key) AND htar.fac_usrdata_code = 'H' -- H-Tarief LEFT JOIN fac_v_aanwezigusrdata ktar ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key) AND ktar.fac_usrdata_code = 'K' -- K-Tarief LEFT JOIN fac_v_aanwezigusrdata otar ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key) AND otar.fac_usrdata_code = 'O' -- O-Tarief LEFT JOIN fac_v_aanwezigusrdata ttar ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key) AND ttar.fac_usrdata_code = 'T' -- T-Tarief LEFT JOIN cnt_kenmerkcontract kb_kc ON x.cnt_contract_key = kb_kc.cnt_contract_key AND kb_kc.cnt_kenmerkcontract_verwijder IS NULL AND kb_kc.cnt_kenmerk_key = 24 -- Kortingsbedrag LEFT JOIN cnt_kenmerkcontract cff_kc ON x.cnt_contract_key = cff_kc.cnt_contract_key AND cff_kc.cnt_kenmerkcontract_verwijder IS NULL AND cff_kc.cnt_kenmerk_key = 44 -- CFF-subsidie LEFT JOIN fac_v_aanwezigusrdata ccf_ud ON cff_kc.cnt_kenmerkcontract_waarde = TO_CHAR (ccf_ud.fac_usrdata_key) LEFT JOIN cnt_v_aanwezigcontract_plaats ccp ON x.cnt_contract_key = ccp.cnt_contract_key AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R') LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte AND glo.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk gho ON ccp.cnt_alg_plaats_key = gho.alg_onrgoed_key AND gho.alg_kenmerk_key = 1083 -- GH-Oppervlakte AND gho.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte AND gko.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk goo ON ccp.cnt_alg_plaats_key = goo.alg_onrgoed_key AND goo.alg_kenmerk_key = 1085 -- GO-Oppervlakte AND goo.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk gto ON ccp.cnt_alg_plaats_key = gto.alg_onrgoed_key AND gto.alg_kenmerk_key = 1120 -- GT-Oppervlakte AND gto.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte AND vlo.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk vho ON ccp.cnt_alg_plaats_key = vho.alg_onrgoed_key AND vho.alg_kenmerk_key = 1093 -- VH-Oppervlakte AND vho.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte AND vko.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk voo ON ccp.cnt_alg_plaats_key = voo.alg_onrgoed_key AND voo.alg_kenmerk_key = 1095 -- VO-Oppervlakte AND voo.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk vto ON ccp.cnt_alg_plaats_key = vto.alg_onrgoed_key AND vto.alg_kenmerk_key = 1121 -- VT-Oppervlakte AND vto.alg_onrgoed_niveau = 'V' LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie AND rlhkot.alg_onrgoed_niveau = 'R' LEFT JOIN alg_v_aanwezigruimte rxo ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key LEFT JOIN fac_v_aanwezigusrdata lfes ON tt_ud.fac_usrdata_code = TO_CHAR (lfes.fac_usrtab_key) AND lfes.fac_usrdata_code = 'LFES' -- FES-Tarief op L-Oppervlakte LEFT JOIN fac_v_aanwezigusrdata kfes ON tt_ud.fac_usrdata_code = TO_CHAR (kfes.fac_usrtab_key) AND kfes.fac_usrdata_code = 'KFES' -- FES-Tarief op K-Oppervlakte LEFT JOIN cnt_kenmerkcontract fes ON x.cnt_contract_key = fes.cnt_contract_key AND fes.cnt_kenmerkcontract_verwijder IS NULL AND fes.cnt_kenmerk_key = 42 -- FES-vinkje WHERE COALESCE (cff_kc.cnt_kenmerkcontract_waarde, '534') != '534' -- NIET Nvt! GROUP BY x.cnt_contract_key, kb_kc.cnt_kenmerkcontract_waarde, ccf_ud.fac_usrdata_prijs) UNION ALL -- Alle individuele maandbedragen voor 721, 722 en 724! SELECT c.cnt_contract_key, 'Campus Rent' regel, SUM (((100 - COALESCE (c.cnt_contract_korting, 0)) / 100) * fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)) mndnet -- Netto kortingsbedrag (excl. kortingspercentage)! FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE c.ins_discipline_key IN (721, 722, 724) -- PP/CV+Utility infra/voorz+General infra/voorz AND c.cnt_contract_key = kc.cnt_contract_key AND kc.cnt_kenmerkcontract_verwijder IS NULL AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key AND sk.cnt_srtkenmerk_key > 60 AND sk.cnt_srtkenmerk_kenmerktype = 'N' -- Numeriek AND UPPER (sk.cnt_srtkenmerk_dimensie) LIKE '%P.MND.%' GROUP BY c.cnt_contract_key UNION ALL -- Alle individuele kortingsbedragen (per maand) voor 621, 721, 722 en 724! SELECT c.cnt_contract_key, 'Campus Rent' regel, -1 * fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) mndnet -- Netto kortingsbedrag (excl. kortingspercentage)! FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract kc, cnt_kenmerk k WHERE c.ins_discipline_key IN (621, 721, 722, 724) -- Huurcontracten+PP/CV+Utility infra/voorz+General infra/voorz AND c.cnt_contract_key = kc.cnt_contract_key AND kc.cnt_kenmerkcontract_verwijder IS NULL AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_srtkenmerk_key = 44 -- Kortingsbedrag AND kc.cnt_kenmerkcontract_waarde != '0') x ON c.cnt_contract_key = x.cnt_contract_key GROUP BY p.maand, c.lv, c.lt, c.prs_bedrijf_naam, x.regel) GROUP BY prs_bedrijf_naam, regel, lv, lt, 12 * mndnet_heel, TO_CHAR (maand, 'yyyy'); CREATE OR REPLACE VIEW blcc_v_huurcontracten -- DEPRECATED per FACTv2! ( cnt_contract_key, cnt_contract_id, cnt_contract_tht ) AS --SELECT DISTINCT v.cnt_contract_key, -- v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || '/' || cd.ins_discipline_omschrijving || ' [' || v.prs_debiteur_naam || ']', -- NULL -- FROM blcc_v_fact_actual v, cnt_discipline cd -- WHERE v.sortering = TO_CHAR (cd.ins_discipline_key) --UNION SELECT DISTINCT cnt_contract_key, v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || '/' || cd.ins_discipline_omschrijving || ' [' || v.prs_debiteur_naam || ']', ADD_MONTHS (v.lv, 2) FROM blcc_v_fact_frozen v, cnt_discipline cd WHERE v.sortering = TO_CHAR (cd.ins_discipline_key); CREATE OR REPLACE VIEW blcc_v_verkoopfactuurref ( fin_verkoopfactuurkop_key, fin_verkoopfactuur_id, fin_verkoopfactuur_tht ) AS SELECT vf.fin_verkoopfactuurkop_key, vf.fin_verkoopfactuur_id || '/' || DECODE (c.cnt_contract_key, NULL, vf.fin_verkoopfactuur_c2, c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0')) || ' [' || vf.prs_debiteur_naam || ']' fin_verkoopfactuur_id, vf.tht FROM (SELECT DISTINCT fin_verkoopfactuurkop_key, fin_verkoopfactuur_id, fin_verkoopfactuur_c2, prs_debiteur_naam, LAST_DAY (ADD_MONTHS (fin_verkoopfactuur_datum, 12)) tht, fin_verkoopfactuur_xmlnode, fin_verkoopfactuur_refkey FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_datum > TO_DATE ('01122019', 'ddmmyyyy')) vf LEFT JOIN cnt_contract c ON vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key; CREATE OR REPLACE VIEW blcc_v_kostenplaats ( prs_kostenplaats_key, prs_kostenplaats_id, prs_kostenplaats_tht ) AS SELECT prs_kostenplaats_key, prs_kostenplaats_nr || ' [' || prs_kostenplaats_omschrijving || ']' prs_kostenplaats_id, COALESCE (prs_kostenplaats_verwijder, prs_kostenplaats_eind) tht FROM prs_kostenplaats WHERE 1 = 1; CREATE OR REPLACE VIEW blcc_v_kostensoort ( prs_kostensoort_key, -- LET OP: Geen echte key (bah, had ik anders moeten noemen)! prs_kostensoort_id, prs_kostensoort_tht ) AS SELECT DISTINCT fac.safe_to_number (ks.prs_kostensoort_oms) prs_kostensoort_key, ks.prs_kostensoort_oms || ' [' || ks.prs_kostensoort_opmerking || ']' prs_kostensoort_id, NULL tht FROM prs_kostensoort ks WHERE fac.safe_to_number (ks.prs_kostensoort_oms) IS NOT NULL UNION SELECT DISTINCT fac.safe_to_number (vf.prs_kostensoort_oms) prs_kostensoort_key, vf.prs_kostensoort_oms || ' [' || ks.prs_kostensoort_opmerking || ']' prs_kostensoort_id, NULL tht FROM fin_verkoopfactuur vf, prs_kostensoort ks WHERE fac.safe_to_number (vf.prs_kostensoort_oms) IS NOT NULL AND vf.fin_verkoopfactuur_datum > TO_DATE ('01122019', 'ddmmyyyy') AND vf.prs_kostensoort_oms = ks.prs_kostensoort_oms(+); CREATE OR REPLACE VIEW blcc_v_debiteur ( prs_bedrijf_key, prs_bedrijf_id, prs_bedrijf_verwijder ) AS SELECT prs_bedrijf_key, prs_bedrijf_naam || ' [' || prs_overeenkomst_nr || ']', prs_bedrijf_verwijder FROM prs_bedrijf WHERE prs_bedrijf_intern IS NULL AND prs_overeenkomst_nr IS NOT NULL; CREATE OR REPLACE VIEW blcc_v_verkoopcontractref ( cnt_contract_key, cnt_contract_id, cnt_contract_tht ) AS SELECT c.cnt_contract_key, c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) || '/' || cd.ins_discipline_omschrijving || ' [' || b.prs_bedrijf_naam || ']', LAST_DAY (ADD_MONTHS (c.cnt_contract_looptijd_tot, 12)) FROM cnt_v_aanwezigcontract c, cnt_discipline cd, prs_bedrijf b WHERE c.ins_discipline_key = cd.ins_discipline_key AND (cd.ins_discipline_key IN (1841, 1842) OR EXISTS (SELECT 1 FROM fac_usrdata WHERE fac_usrtab_key = 621 AND fac.safe_to_number (fac_usrdata_code) = cd.ins_discipline_key)) AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key; -- BLCC#51200: Indexatie per 2019! -- BLCC#64393: Allocatiemodel/Velden op 0 en indexatie per 2021! CREATE OR REPLACE PROCEDURE blcc_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 '[' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || '] ' aanduiding, c.ins_discipline_key, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot einddatum FROM cnt_v_aanwezigcontract c WHERE c.ins_discipline_key IN (2122, 2185, 2381) -- Lease Agreement/SLA Managed Connectivity/SLA Generiek CV AND c.cnt_contract_status = 0 -- Definitief 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 cnt_contract_versie > COALESCE (c.cnt_contract_versie, '0')) AND c.cnt_contract_looptijd_tot > p_splitsindexdatum ORDER BY TO_NUMBER (c.cnt_contract_nummer_intern); --c_index_percentage NUMBER := 0.0; -- Default/standaard in 2019: 1,0%! 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_count NUMBER; v_new_contract_key NUMBER; BEGIN -- Splitsen en indexeren (huur)contracten. FOR rc IN ccnt (c_splitsindexdatum) LOOP BEGIN v_errorhint := 'Fout splitsen contract.'; cnt.splitscontract (rc.cnt_contract_key, c_splitsindexdatum, NULL, NULL); COMMIT; -- Na splitsen de nieuwe versie indexeren. v_errorhint := 'Fout bepalen nieuwe versie.'; SELECT cnt_contract_key INTO v_new_contract_key FROM cnt_v_aanwezigcontract WHERE cnt_contract_nummer_intern = rc.cnt_contract_nummer_intern AND cnt_contract_versie > COALESCE (rc.cnt_contract_versie, '0'); v_errorhint := 'Fout bijwerken velden.'; IF rc.ins_discipline_key = 2122 -- Lease Agreement THEN FOR rkc IN ( SELECT kc.cnt_kenmerkcontract_key, kc.cnt_kenmerkcontract_waarde cur_waarde, DECODE (k.cnt_kenmerk_key, 567, ROUND (fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) * ((100 + 1.4) / 100), 2), 570, ROUND (fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) * ((100 + 1.4) / 100), 2), 573, ROUND (fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) * ((100 + 1.4) / 100), 2), 576, ROUND (fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) * ((100 + 1.4) / 100), 2), 579, ROUND (fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) * ((100 + 1.4) / 100), 2), 0) new_waarde FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE 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 k.cnt_kenmerk_key IN (461, 464, 466, 476, 503, 506, 509, 669, 681, 567, 570, 573, 576, 579) -- #CISPRO licenties/#Med. Kantoor+Lab/Hall+Security/Absolute korting Collective Services+Property Tax+Utilities/Rent rebate/Surcharge service costs/Contracttarief H+K+L+O+T ORDER BY k.cnt_kenmerk_volgnummer) LOOP UPDATE cnt_kenmerkcontract SET cnt_kenmerkcontract_waarde = TO_CHAR (rkc.new_waarde, '999999D99') WHERE cnt_kenmerkcontract_key = rkc.cnt_kenmerkcontract_key; END LOOP; v_errorhint := 'Fout bijwerken tracking (CNTUPD).'; fac.trackaction ('CNTUPD', v_new_contract_key, NULL, NULL, 'Diverse bedragen bijgewerkt'); COMMIT; ELSIF rc.ins_discipline_key = 2185 -- SLA Managed Connectivity THEN FOR rkc IN ( SELECT kc.cnt_kenmerkcontract_key, kc.cnt_kenmerkcontract_waarde cur_waarde, ROUND (fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) * ((100 + 1.4) / 100), 2) new_waarde FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE 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 k.cnt_kenmerk_key IN (637) -- Managed Connectivity (jaarbedrag) ORDER BY k.cnt_kenmerk_volgnummer) LOOP UPDATE cnt_kenmerkcontract SET cnt_kenmerkcontract_waarde = TO_CHAR (rkc.new_waarde, '999999D99') WHERE cnt_kenmerkcontract_key = rkc.cnt_kenmerkcontract_key; END LOOP; v_errorhint := 'Fout bijwerken tracking (CNTUPD).'; fac.trackaction ('CNTUPD', v_new_contract_key, NULL, NULL, 'Jaarbedrag geïndexeerd (1,4%)'); COMMIT; ELSIF rc.ins_discipline_key = 2381 -- SLA Generiek CV THEN FOR rkc IN ( SELECT kc.cnt_kenmerkcontract_key, kc.cnt_kenmerkcontract_waarde cur_waarde, ROUND (fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) * ((100 + 1.4) / 100), 2) new_waarde FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk WHERE 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 k.cnt_kenmerk_key IN (821) -- Maandbedrag (excl. BTW) ORDER BY k.cnt_kenmerk_volgnummer) LOOP UPDATE cnt_kenmerkcontract SET cnt_kenmerkcontract_waarde = TO_CHAR (rkc.new_waarde, '999999D99') WHERE cnt_kenmerkcontract_key = rkc.cnt_kenmerkcontract_key; END LOOP; v_errorhint := 'Fout bijwerken tracking (CNTUPD).'; fac.trackaction ('CNTUPD', v_new_contract_key, NULL, NULL, 'Maandbedrag geïndexeerd (1,4%)'); COMMIT; END IF; 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.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 := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.writelog (p_applname, 'E', 'Proces INDEXWERK afgebroken! ' || v_errormsg, v_errorhint); END; / -- BLCC#39810 View voor cateringrapportage CREATE OR REPLACE VIEW blcc_v_rap_cateringoverzicht ( fclt_f_debiteur, fclt_f_organisatie, locatie, ruimte, datumtijd, datum, tijd_van, tijd_tot, resnr, omschrijving, artikelkey, artikelnr, artikelomschrijving, aantal, stuksprijs, kosten, fclt_f_besteller, costcenter, activiteit ) AS SELECT COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr, (SELECT prs_afdeling_omschrijving FROM prs_afdeling WHERE prs_afdeling_key = x.prs_afdeling_key) deb_oms, DECODE ( x.alg_ruimte_key, NULL, 'Onbekend', rg.alg_gebouw_upper || '-' || rg.alg_verdieping_code || '-' || rg.alg_ruimte_nr) afleveradres, COALESCE (rr.res_ruimte_nr, rg.alg_ruimte_omschrijving) ruimte, x.res_rsv_artikel_levering, TO_CHAR (x.res_rsv_artikel_levering, 'DD-MM-YYYY') datum, TO_CHAR (x.res_rsv_ruimte_van, 'hh24:mi') tijdvan, TO_CHAR (x.res_rsv_ruimte_tot, 'hh24:mi') tijdtot, x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr, x.res_rsv_ruimte_omschrijving omschrijving, x.res_artikel_key, x.res_artikel_nr, x.res_artikel_omschrijving, x.res_rsv_artikel_aantal, ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5) stuksprijs, x.res_rsv_artikel_aantal * ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5) regeltotaal, x.prs_perslid_naam_full, (SELECT MAX (kw.res_kenmerkreservering_waarde) FROM res_kenmerkwaarde kw, res_kenmerk rk WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key AND kw.res_kenmerkwaarde_verwijder IS NULL AND kw.res_kenmerk_key = rk.res_kenmerk_key AND rk.res_srtkenmerk_key = 1) costcenter, x.res_activiteit_omschrijving FROM (SELECT rra.res_rsv_artikel_verwerkt, COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) res_ruimte_key, COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key, rra.res_rsv_artikel_levering, rrr.res_rsv_ruimte_key, rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr, rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot, rrr.res_rsv_ruimte_omschrijving, act.res_activiteit_omschrijving, ra.res_artikel_nr, ra.res_artikel_key, ra.res_artikel_omschrijving, rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) prs_afdeling_key, kl.prs_kenmerklink_waarde, pf.prs_perslid_naam_full, k.prs_kostenplaats_nr, k.prs_kostenplaats_omschrijving FROM res_rsv_ruimte rrr, res_activiteit act, res_rsv_artikel rra, res_artikel ra, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, prs_v_perslid_fullnames_all pf, prs_kostenplaats k WHERE rrr.res_activiteit_key = act.res_activiteit_key --AND act.res_activiteit_verwijder IS NULL -- Wat ooit is Verwerkt, altijd opnemen! AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key --AND rra.res_rsv_artikel_verwijder IS NULL -- Wat ooit is Verwerkt, altijd opnemen! AND rra.res_status_bo_key = 6 -- Verwerkt AND rra.res_artikel_key = ra.res_artikel_key AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND p.prs_perslid_key = pf.prs_perslid_key AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x LEFT JOIN res_ruimte rr ON x.res_ruimte_key = rr.res_ruimte_key LEFT JOIN alg_v_ruimte_gegevens_all rg ON x.alg_ruimte_key = rg.alg_ruimte_key UNION ALL SELECT COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr, (SELECT prs_afdeling_omschrijving FROM prs_afdeling WHERE prs_afdeling_key = x.prs_afdeling_key) deb_oms, DECODE ( x.alg_ruimte_key, NULL, 'Onbekend', rg.alg_gebouw_upper || '-' || rg.alg_verdieping_code || '-' || rg.alg_ruimte_nr) afleveradres, COALESCE (rr.res_ruimte_nr, rg.alg_ruimte_omschrijving) ruimte, x.res_rsv_artikel_levering, TO_CHAR (x.res_rsv_artikel_levering, 'DD-MM-YYYY') datum, TO_CHAR (x.res_rsv_ruimte_van, 'hh24:mi') tijdvan, TO_CHAR (x.res_rsv_ruimte_tot, 'hh24:mi') tijdtot, x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr, x.res_rsv_ruimte_omschrijving omschrijving, x.res_artikel_key, x.res_artikel_nr, x.res_artikel_omschrijving, x.res_rsv_artikel_aantal, ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5) stuksprijs, x.res_rsv_artikel_aantal * ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5) regeltotaal, x.prs_perslid_naam_full, (SELECT MAX (kw.res_kenmerkreservering_waarde) FROM res_kenmerkwaarde kw, res_kenmerk rk WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key AND kw.res_kenmerkwaarde_verwijder IS NULL AND kw.res_kenmerk_key = rk.res_kenmerk_key AND rk.res_srtkenmerk_key = 1) costcenter, x.res_activiteit_omschrijving FROM (SELECT rra.res_rsv_artikel_verwerkt, COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) res_ruimte_key, COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key, rra.res_rsv_artikel_levering, rrr.res_rsv_ruimte_key, rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr, rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot, rrr.res_rsv_ruimte_omschrijving, act.res_activiteit_omschrijving, ra.res_artikel_nr, ra.res_artikel_key, ra.res_artikel_omschrijving, rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal, COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) prs_afdeling_key, kl.prs_kenmerklink_waarde, pf.prs_perslid_naam_full, k.prs_kostenplaats_nr, k.prs_kostenplaats_omschrijving FROM res_rsv_ruimte rrr, res_activiteit act, res_rsv_artikel rra, res_artikel ra, res_ruimte_opstelling rro, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, prs_v_perslid_fullnames_all pf, prs_kostenplaats k WHERE rrr.res_activiteit_key = act.res_activiteit_key AND act.res_activiteit_verwijder IS NULL AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key AND rra.res_rsv_artikel_verwijder IS NULL AND rra.res_status_bo_key != 6 -- Verwerkt AND rra.res_artikel_key = ra.res_artikel_key AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND aog.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND p.prs_perslid_key = pf.prs_perslid_key AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x LEFT JOIN res_ruimte rr ON x.res_ruimte_key = rr.res_ruimte_key LEFT JOIN alg_v_ruimte_gegevens_all rg ON x.alg_ruimte_key = rg.alg_ruimte_key; -- BLCC#41477: Onderstaande twee views zijn opnieuw opgebouwd zodat er geen UDR-views gebruikt worden als bron. CREATE OR REPLACE VIEW blcc_v_rap_meldingen ( melding_key, prioriteittxt, melding_nummer, vakgroep, meldingsoort, melding_datumtijd, melding_datum, melding_tijd, melding_locatiecode, melding_gebouwcode, melding_verdieping, melding_ruimtenr, onderwerp, omschrijving, melder, melding_status_key, melding_status, melding_opmerking, behandelaar, melding_einddatumtijd, melding_einddatum, afspraak_sla_uren, melder_key, kostenplaats_code, kostenplaats_groep, kostensoort_code, kostensoort_groep, vakgroeptype, melding_nummer_parent, last_change, gemeld_via, externnr, markering, refnr_aanvrager, raming_lma, -- BLCC#61062 alg_onrgoed_key, -- BLCC#62113 alg_onrgoed_type, -- BLCC#62113 debiteurnr, -- BLCC#62113: Debiteurnummer bij afdeling van melder! behandelteam, -- BLCC#64393: Allocatiemodel actieve_behandelaar -- BLCC#64393: Allocatiemodel ) AS SELECT m.mld_melding_key, DECODE (m.mld_melding_spoed, 3, lcl.l ('lcl_mld_urg_normaal'), 1, lcl.l ('lcl_mld_urg_kritiek'), 2, lcl.l ('lcl_mld_urg_hoog'), 4, lcl.l ('lcl_mld_urg_laag')) prio, sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) meldingnr, md.ins_discipline_omschrijving vakgroep, sm.mld_stdmelding_omschrijving soortmelding, m.mld_melding_datum, TO_CHAR (m.mld_melding_datum, 'DD-MM-YYYY') datum, TO_CHAR (m.mld_melding_datum, 'hh24:mi') tijd, l.alg_locatie_code locatie, aog.alg_gebouw_code gebouw, aog.alg_verdieping_code verdieping, aog.alg_ruimte_nr ruimte, TRIM (m.mld_melding_onderwerp) onderwerp, REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (TRIM (m.mld_melding_omschrijving), 1, 20), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') omschrijving, (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = m.prs_perslid_key) melder, TO_CHAR (m.mld_melding_status) status_key, (SELECT mld_statuses_omschrijving FROM mld_statuses WHERE mld_statuses_key = m.mld_melding_status) status, REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (TRIM (m.mld_melding_opmerking), 1, 20), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') opmerking, (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = m.mld_melding_behandelaar_key) behandelaar, m.mld_melding_einddatum, TO_CHAR (m.mld_melding_einddatum, 'DD-MM-YYYY') einddatum, DECODE (mld.getactualuitvoer (m.mld_melding_key).eenheid, 'U', ((m.mld_melding_einddatum - COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5), mld.getmeldingstatusdate (m.mld_melding_key, 1), SYSDATE)) * 24) + COALESCE (DECODE (m.mld_melding_t_respijt.eenheid, 'D', m.mld_melding_t_respijt.tijdsduur, NULL), 0), NULL) afspraak_sla_uren, m.prs_perslid_key, kp.prs_kostenplaats_upper, DECODE (kpg.prs_kostenplaatsgrp_nr, NULL, '', kpg.prs_kostenplaatsgrp_nr || '-') || kpg.prs_kostenplaatsgrp_oms kpg_oms, ks.prs_kostensoort_upper, ksg.prs_kostensoortgrp_oms, sd.ins_srtdiscipline_omschrijving, sd2.ins_srtdiscipline_prefix || TO_CHAR (m2.mld_melding_key) meldingnummer_parent, lc.last_change, mb.mld_meldbron_omschrijving gemeld_via, m.mld_melding_externnr externnr, CASE WHEN m.mld_melding_flag > 0 THEN lcl.l ('lcl_mld_flag' || m.mld_melding_flag) END markering, ra.refnr_aanvr, rl.raming_lma, aog.alg_onroerendgoed_keys, aog.alg_type, kl.prs_kenmerklink_waarde debiteurnr, bt.ins_discipline_omschrijving behandelteam, btb.prs_perslid_naam_full actieve_behandelaar FROM mld_melding m, mld_stdmelding sm, mld_discipline md, ins_srtdiscipline sd, alg_locatie l, alg_v_allonrgoed_gegevens aog, prs_perslid p, prs_v_afdeling_boom ab, prs_v_aanwezigkenmerklink kl, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, prs_kostensoort ks, prs_kostensoortgrp ksg, mld_melding m2, mld_stdmelding sm2, mld_discipline md2, ins_srtdiscipline sd2, ( SELECT t.fac_tracking_refkey, MAX (t.fac_tracking_datum) last_change FROM fac_tracking t WHERE EXISTS (SELECT 1 -- Last change FROM fac_srtnotificatie WHERE fac_srtnotificatie_key = t.fac_srtnotificatie_key AND fac_srtnotificatie_xmlnode = 'melding') GROUP BY t.fac_tracking_refkey) lc, mld_meldbron mb, ( SELECT km.mld_melding_key, MIN (km.mld_kenmerkmelding_waarde) refnr_aanvr FROM mld_v_aanwezigkenmerkmelding km WHERE EXISTS (SELECT 1 -- 281=Refnr. aanvrager FROM mld_kenmerk WHERE mld_kenmerk_key = km.mld_kenmerk_key AND mld_srtkenmerk_key = 281) GROUP BY km.mld_melding_key) ra, ( SELECT km.mld_melding_key, MIN (km.mld_kenmerkmelding_waarde) raming_lma FROM mld_v_aanwezigkenmerkmelding km WHERE EXISTS (SELECT 1 -- 601=Raming LMA FROM mld_kenmerk WHERE mld_kenmerk_key = km.mld_kenmerk_key AND mld_srtkenmerk_key = 601) GROUP BY km.mld_melding_key) rl, mld_discipline bt, prs_v_perslid_fullnames_all btb WHERE m.fac_activiteit_key IS NULL AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = md.ins_discipline_key AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND m.mld_alg_locatie_key = l.alg_locatie_key(+) AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+) AND m.prs_perslid_key_voor = p.prs_perslid_key AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_afdeling_key1 = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND m.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND sm.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND ks.prs_kostensoortgrp_key = ksg.prs_kostensoortgrp_key(+) AND m.mld_melding_parentkey = m2.mld_melding_key(+) AND m2.mld_stdmelding_key = sm2.mld_stdmelding_key(+) AND sm2.mld_ins_discipline_key = md2.ins_discipline_key(+) AND md2.ins_srtdiscipline_key = sd2.ins_srtdiscipline_key(+) AND m.mld_melding_key = lc.fac_tracking_refkey(+) AND m.mld_meldbron_key = mb.mld_meldbron_key(+) AND m.mld_melding_key = ra.mld_melding_key(+) AND m.mld_melding_key = rl.mld_melding_key(+) AND m.mld_ins_discipline_key = bt.ins_discipline_key(+) AND m.mld_melding_behandelaar2_key = btb.prs_perslid_key(+); CREATE OR REPLACE VIEW blcc_v_rap_opdrachten ( opdracht_key, prioriteittxt, opdracht_nummer, melding_nummer, opdracht_type, omschrijving, opdracht_datumtijd, opdracht_datum, opdracht_tijd, opdracht_status_key, opdracht_status, opdracht_einddatumtijd, opdracht_einddatum, opdracht_eindtijd, opdracht_uitvoerende, opdracht_uitvoerende_crednr, behandelaar, kostenplaats_code, kostenplaats_groep, opdracht_kosten, opdracht_uren, opdracht_correctie, opdracht_materiaal, opdracht_uurtarief, opdracht_offerte, opdracht_goedkeuring, -- BLCC#59243: Toevoegen goedkeuring opdracht_fiattering, -- BLCC#59243: Toevoegen fiattering last_change, uv_cp, --dienst, aanvang_datumtijd, aanvang_datum, aanvang_tijd, afhandeling, markering, --verzoek_fiattering, offerte_ref, refnr_lev, molest, datum_pq, datum_tf, raming_bcc, raming_pma, raming_cma, kostensoort_reg, kostensoort_afw ) AS SELECT o.mld_opdr_key, DECODE (mld_melding_spoed, 3, lcl.l ('lcl_mld_urg_normaal'), 1, lcl.l ('lcl_mld_urg_kritiek'), 2, lcl.l ('lcl_mld_urg_hoog'), 4, lcl.l ('lcl_mld_urg_laag')) prio, sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdrachtnr, sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) meldingnr, ot.mld_typeopdr_omschrijving, REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (o.mld_opdr_omschrijving, 1, 20), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') omschrijving, o.mld_opdr_datumbegin, TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') datum, TO_CHAR (o.mld_opdr_datumbegin, 'hh24:mi') tijd, TO_CHAR (mld_statusopdr_key) status_key, (SELECT mld_statusopdr_omschrijving FROM mld_statusopdr WHERE mld_statusopdr_key = o.mld_statusopdr_key) status, o.mld_opdr_einddatum, TO_CHAR (o.mld_opdr_einddatum, 'DD-MM-YYYY') einddatum, TO_CHAR (o.mld_opdr_einddatum, 'hh24:mi') eindtijd, (SELECT naam FROM mld_v_uitvoerende WHERE mld_uitvoerende_key = o.mld_uitvoerende_keys) opdracht_uitvoerende, (SELECT prs_leverancier_nr FROM prs_bedrijf WHERE prs_bedrijf_key = o.mld_uitvoerende_keys) opdracht_uitvoerende_crednr, (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = o.prs_perslid_key) behandelaar, kp.prs_kostenplaats_upper kostenplaats_code, DECODE (kpg.prs_kostenplaatsgrp_nr, NULL, '', kpg.prs_kostenplaatsgrp_nr || '-') || kpg.prs_kostenplaatsgrp_oms kostenplaats_groep, TO_CHAR (o.mld_opdr_kosten, 'fm999999999999999990.00') kosten, TO_CHAR (o.mld_opdr_uren, 'fm999999999999999990.00') uren, TO_CHAR (o.mld_opdr_kosten - o.mld_opdr_materiaal - (o.mld_opdr_uren * o.mld_opdr_uurloon), 'fm999999999999999990.00') correctie, TO_CHAR (o.mld_opdr_materiaal, 'fm999999999999999990.00') materiaal, TO_CHAR (o.mld_opdr_uurloon, 'fm999999999999999990.00') uurtarief, sub.opdrachtnummer offerte, --DECODE (o.mld_statusopdr_key, 10, o2g.goedkeurders, NULL) opdracht_goedkeuring, o2g.goedkeurders opdracht_goedkeuring, DECODE (o.mld_statusopdr_key, 3, pfia.prs_perslid_naam_full, NULL) opdracht_fiattering, lc.last_change, cp.prs_contactpersoon_naam || DECODE (cp.prs_contactpersoon_voorletters, NULL, '', ', ' || cp.prs_contactpersoon_voorletters) || DECODE (cp.prs_contactpersoon_tussenv, NULL, '', ' ' || cp.prs_contactpersoon_tussenv) || DECODE (cp.prs_contactpersoon_voornaam, NULL, '', ' (' || cp.prs_contactpersoon_voornaam || ')') uv_cp, --NULL dienst, o.mld_opdr_plandatum, TO_CHAR (o.mld_opdr_plandatum, 'DD-MM-YYYY') plandatum, TO_CHAR (o.mld_opdr_plandatum, 'hh24:mi') plantijd, REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (o.mld_opdr_opmerking, 1, 20), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') opmerking, CASE WHEN o.mld_opdr_flag > 0 THEN lcl.l ('lcl_opdr_flag' || o.mld_opdr_flag) END markering, --o.mld_opdr_handfiat verzoek_fiattering, oref.offerte_ref, refl.refnr_lev, mol.molest, dpq.datum_pq, dtf.datum_tf, rbcc.raming_bcc, rpma.raming_pma, rcma.raming_cma, COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) kostensoort_reg, kso.prs_kostensoort_oms kostensoort_afw FROM mld_opdr o, mld_typeopdr ot, mld_melding m, mld_stdmelding sm, mld_discipline md, ins_srtdiscipline sd, mld_disc_params mdp, prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT o.mld_opdr_key, sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdrachtnummer FROM mld_opdr o, mld_melding m, mld_stdmelding sm, mld_discipline md, ins_srtdiscipline sd WHERE o.mld_melding_key = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = md.ins_discipline_key AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key) sub, --(SELECT t.fac_tracking_refkey, SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, 'verstuurd aan ') + 14) goedkeurders -- Bah! -- FROM fac_tracking t -- WHERE t.fac_srtnotificatie_key = 135 -- ORDMAI -- AND UPPER (t.fac_tracking_oms) LIKE '%UW GOEDKEURING IS VEREIST VOOR OPDRACHT%' -- AND NOT EXISTS -- (SELECT 1 -- FROM fac_tracking -- WHERE fac_srtnotificatie_key = 135 -- ORDMAI -- AND UPPER (fac_tracking_oms) LIKE '%UW GOEDKEURING IS VEREIST VOOR OPDRACHT%' -- AND fac_tracking_refkey = t.fac_tracking_refkey -- AND fac_tracking_key > t.fac_tracking_key)) o2g, ( SELECT o.mld_opdr_key, LISTAGG (pgoe.prs_perslid_naam_full, ', ') WITHIN GROUP (ORDER BY pgoe.prs_perslid_naam_full) goedkeurders FROM mld_opdr o, mld_typeopdr ot, mld_melding m, mld_stdmelding sm, mld_disc_params mdp, alg_v_allonroerendgoed onrg, fac_v_webgebruiker wg, fac_functie f, prs_perslid p, prs_v_perslid_fullnames pgoe WHERE o.mld_statusopdr_key = 10 AND o.mld_typeopdr_key = ot.mld_typeopdr_key AND o.mld_melding_key = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = mdp.mld_ins_discipline_key AND m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys(+) AND sm.mld_ins_discipline_key = wg.ins_discipline_key AND wg.fac_functie_key = f.fac_functie_key AND wg.prs_perslid_key = p.prs_perslid_key AND p.prs_perslid_key = pgoe.prs_perslid_key AND p.prs_perslid_key != 4 -- Ignore _FACILITOR! AND (wg.fac_gebruiker_prs_level_write = -1 OR (wg.fac_gebruiker_prs_level_write < 9 AND p.prs_afdeling_key IN (SELECT prs_afdeling_key FROM prs_v_afdeling_familie WHERE prs_afdeling_elder_key IN (SELECT prs_afdeling_elder_key FROM prs_v_afdeling_familie WHERE prs_afdeling_key = p.prs_afdeling_key AND niveau = wg.fac_gebruiker_prs_level_write)))) AND (wg.fac_gebruiker_alg_level_write = -1 OR (wg.fac_gebruiker_alg_level_write < 9 AND (CASE WHEN m.mld_alg_onroerendgoed_keys IS NULL AND m.mld_alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations WHERE prs_perslid_key = p.prs_perslid_key AND niveau = wg.fac_gebruiker_alg_level_write) THEN 1 WHEN onrg.alg_type = 'G' AND m.mld_alg_onroerendgoed_keys IN (SELECT alg_gebouw_key FROM fac_v_my_buildings WHERE prs_perslid_key = p.prs_perslid_key AND niveau = wg.fac_gebruiker_alg_level_write) THEN 1 WHEN onrg.alg_type = 'V' AND m.mld_alg_onroerendgoed_keys IN (SELECT alg_verdieping_key FROM fac_v_my_floors WHERE prs_perslid_key = p.prs_perslid_key AND niveau = wg.fac_gebruiker_alg_level_write) THEN 1 WHEN onrg.alg_type = 'R' AND m.mld_alg_onroerendgoed_keys IN (SELECT alg_ruimte_key FROM fac_v_my_rooms WHERE prs_perslid_key = p.prs_perslid_key AND niveau = wg.fac_gebruiker_alg_level_write) THEN 1 ELSE 0 END) = 1)) AND ((f.fac_functie_code = 'WEB_ORDGOE' AND ((o.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet AND COALESCE (o.mld_opdr_approved, 0) <= mdp.mld_disc_params_bestellimiet) OR (o.mld_opdr_kosten >= ot.mld_typeopdr_gvs AND COALESCE (o.mld_opdr_approved, -1) < 0))) OR (f.fac_functie_code = 'WEB_ORDGO2' AND o.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet2 AND COALESCE (o.mld_opdr_approved, 0) = mdp.mld_disc_params_bestellimiet2) OR (f.fac_functie_code = 'WEB_ORDGO3' AND o.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet3 AND COALESCE (o.mld_opdr_approved, 0) = mdp.mld_disc_params_bestellimiet3) OR (f.fac_functie_code = 'WEB_ORDGO4' AND o.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet4 AND COALESCE (o.mld_opdr_approved, 0) = mdp.mld_disc_params_bestellimiet4) OR (f.fac_functie_code = 'WEB_ORDGO5' AND o.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet5 AND COALESCE (o.mld_opdr_approved, 0) >= mdp.mld_disc_params_bestellimiet5)) GROUP BY o.mld_opdr_key) o2g, prs_v_perslid_fullnames_all pfia, ( SELECT t.fac_tracking_refkey, MAX (t.fac_tracking_datum) last_change FROM fac_tracking t WHERE EXISTS (SELECT 1 -- Last change FROM fac_srtnotificatie WHERE fac_srtnotificatie_key = t.fac_srtnotificatie_key AND fac_srtnotificatie_xmlnode = 'opdracht') GROUP BY t.fac_tracking_refkey) lc, prs_contactpersoon cp, (SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde offerte_ref FROM mld_v_aanwezigkenmerkopdr ko WHERE EXISTS (SELECT 1 -- 82=Offerte referentie FROM mld_kenmerk WHERE mld_kenmerk_key = ko.mld_kenmerk_key AND mld_srtkenmerk_key = 82)) oref, (SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde refnr_lev FROM mld_v_aanwezigkenmerkopdr ko WHERE EXISTS (SELECT 1 -- 261=Refnr. leverancier FROM mld_kenmerk WHERE mld_kenmerk_key = ko.mld_kenmerk_key AND mld_srtkenmerk_key = 261)) refl, (SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde molest FROM mld_v_aanwezigkenmerkopdr ko WHERE mld_kenmerk_key = 621) mol, -- 621=Molest (SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde datum_pq FROM mld_v_aanwezigkenmerkopdr ko WHERE mld_kenmerk_key = 581) dpq, -- 581=Doorgezet naar ProQuro (SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde datum_tf FROM mld_v_aanwezigkenmerkopdr ko WHERE mld_kenmerk_key = 582) dtf, -- 582=Doorgezet naar Twinfield (SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde raming_bcc FROM mld_v_aanwezigkenmerkopdr ko WHERE EXISTS (SELECT 1 -- 601=Raming BCC intern FROM mld_kenmerk WHERE mld_kenmerk_key = ko.mld_kenmerk_key AND mld_srtkenmerk_key = 601)) rbcc, (SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde raming_pma FROM mld_v_aanwezigkenmerkopdr ko WHERE EXISTS (SELECT 1 -- 121=Raming PMA FROM mld_kenmerk WHERE mld_kenmerk_key = ko.mld_kenmerk_key AND mld_srtkenmerk_key = 121)) rpma, (SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde raming_cma FROM mld_v_aanwezigkenmerkopdr ko WHERE EXISTS (SELECT 1 -- 122=Raming CMA FROM mld_kenmerk WHERE mld_kenmerk_key = ko.mld_kenmerk_key AND mld_srtkenmerk_key = 122)) rcma, prs_kostensoort kso, prs_kostensoort ksm, prs_kostensoort ksv WHERE o.mld_typeopdr_key = ot.mld_typeopdr_key AND o.mld_melding_key = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = md.ins_discipline_key AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND md.ins_discipline_key = mdp.mld_ins_discipline_key AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) AND o.mld_opdr_parent_key = sub.mld_opdr_key(+) --AND o.mld_opdr_key = o2g.fac_tracking_refkey(+) AND o.mld_opdr_key = o2g.mld_opdr_key(+) --AND prs.getfiatteur (o.prs_kostenplaats_key, -1, o.mld_opdr_kosten, md.ins_discipline_key) = pfia.prs_perslid_key(+) AND prs.nextfiatteur (o.mld_opdr_key, 'MLD') = pfia.prs_perslid_key(+) AND o.mld_opdr_key = lc.fac_tracking_refkey(+) AND o.prs_contactpersoon_key = cp.prs_contactpersoon_key(+) AND o.mld_opdr_key = oref.mld_opdr_key(+) AND o.mld_opdr_key = refl.mld_opdr_key(+) AND o.mld_opdr_key = mol.mld_opdr_key(+) AND o.mld_opdr_key = dpq.mld_opdr_key(+) AND o.mld_opdr_key = dtf.mld_opdr_key(+) AND o.mld_opdr_key = rbcc.mld_opdr_key(+) AND o.mld_opdr_key = rpma.mld_opdr_key(+) AND o.mld_opdr_key = rcma.mld_opdr_key(+) AND o.prs_kostensoort_key = kso.prs_kostensoort_key(+) AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+) AND md.prs_kostensoort_key = ksv.prs_kostensoort_key(+); -- BLCC#38512 CREATE OR REPLACE VIEW blcc_v_rap_mldtrk ( melding, aanmaakdatumtijd, aanmaakdatum, aanmaaktijdstip, meldingstatus, plan_einddatum, sla_einddatum, wijzigingsdatumtijd, wijzigingsdatum, wijzigingstijdstip, wijzigingdoor, wijzigingcode, wijzigingoms ) AS SELECT sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) melding, m.mld_melding_datum aanmaakdatumtijd, TO_CHAR (m.mld_melding_datum, 'dd-mm-yyyy') aanmaakdatum, TO_CHAR (m.mld_melding_datum, 'hh24:mi') aanmaaktijdstip, ms.mld_statuses_omschrijving meldingstatus, TO_CHAR (m.mld_melding_einddatum, 'dd-mm-yyyy') plan_einddatum, TO_CHAR (m.mld_melding_einddatum_std, 'dd-mm-yyyy') sla_einddatum, t.fac_tracking_datum wijzigingsdatumtijd, TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy') wijzigingsdatum, TO_CHAR (t.fac_tracking_datum, 'hh24:mi') wijzigingstijdstip, pf.prs_perslid_naam_full tracking_door, sn.fac_srtnotificatie_code tracking_code, REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (TRIM (t.fac_tracking_oms), 1, 500), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') tracking_oms FROM mld_melding m, mld_statuses ms, mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd, fac_tracking t, fac_srtnotificatie sn, prs_v_perslid_fullnames_all pf WHERE m.mld_melding_status = ms.mld_statuses_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND m.mld_melding_key = t.fac_tracking_refkey AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key AND sn.fac_srtnotificatie_xmlnode = 'melding' AND sn.fac_srtnotificatie_key IN (43, 37, 44, 38, 39, 46, 47, 48, 49) -- MLDNEW, MLDACP, MLDREJ, MLDAFM, MLDAFR, MLDVER, MLDDOO, MLDFWD, MLDBWD AND t.prs_perslid_key = pf.prs_perslid_key(+); CREATE OR REPLACE VIEW blcc_v_rap_ordtrk ( opdracht, aanmaakdatumtijd, aanmaakdatum, aanmaaktijdstip, opdrachtstatus, plan_einddatum, wijzigingsdatumtijd, wijzigingsdatum, wijzigingstijdstip, wijzigingdoor, wijzigingcode, wijzigingoms ) AS SELECT sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdracht, o.mld_opdr_datumbegin aanmaakdatumtijd, TO_CHAR (o.mld_opdr_datumbegin, 'dd-mm-yyyy') aanmaakdatum, TO_CHAR (o.mld_opdr_datumbegin, 'hh24:mi') aanmaaktijdstip, os.mld_statusopdr_omschrijving opdrachtstatus, TO_CHAR (o.mld_opdr_einddatum, 'dd-mm-yyyy') plan_einddatum, -- Of mld_opdr_plandatum? t.fac_tracking_datum wijzigingsdatumtijd, TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy') wijzigingsdatum, TO_CHAR (t.fac_tracking_datum, 'hh24:mi') wijzigingstijdstip, pf.prs_perslid_naam_full tracking_door, sn.fac_srtnotificatie_code tracking_code, REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (TRIM (t.fac_tracking_oms), 1, 500), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') tracking_oms FROM mld_opdr o, mld_statusopdr os, mld_melding m, mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd, fac_tracking t, fac_srtnotificatie sn, prs_v_perslid_fullnames_all pf WHERE o.mld_statusopdr_key = os.mld_statusopdr_key AND o.mld_melding_key = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND o.mld_opdr_key = t.fac_tracking_refkey AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key AND sn.fac_srtnotificatie_xmlnode = 'opdracht' --AND sn.fac_srtnotificatie_key IN (59, 65, 64, 69, 58, 70, 66, 60) -- ORDNEW, ORDACP, ORDREJ, ORDCAN, ORDAFM, ORDAFR, ORDVER, ORDUPD --AND sn.fac_srtnotificatie_key NOT IN (56, 57, 68, 135) -- ORDMLI, ORDMLE, ORDSNX, ORDMAI AND t.prs_perslid_key = pf.prs_perslid_key(+); CREATE OR REPLACE VIEW blcc_v_rap_vastgoedgeg AS WITH ok AS (SELECT k.vnr, k.alg_kenmerk_key, k.alg_kenmerk_omschrijving, ok.alg_onrgoed_key, ok.waarde FROM (SELECT ROWNUM vnr, alg_kenmerk_key, alg_kenmerk_omschrijving FROM ( SELECT k.alg_kenmerk_key, k.alg_kenmerk_omschrijving, k.alg_kenmerk_aanmaak FROM alg_kenmerk k WHERE k.alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V') AND k.alg_kenmerk_key NOT BETWEEN 1060 AND 1161 -- Dienstverlener/Rekenwijze M2/LHKOT-Oppervlakten/Eigenaar/Bouwjaar/Strategie AND k.alg_kenmerk_key NOT IN (1240, 1260, 1342, 1362) -- C-Oppervlakten/WiFi/Aantal M2 binnenglas AND COALESCE (k.alg_kenmerk_verwijder, SYSDATE) > TO_DATE ('01122019', 'ddmmyyyy') AND k.alg_kenmerk_niveau IN ('G', 'V', 'R') ORDER BY 3, 1)) k LEFT JOIN (SELECT ok.alg_kenmerk_key, ok.alg_onrgoed_key, DECODE (k.alg_kenmerk_kenmerktype, 'R', fac.getdomeinwaarde (k.fac_kenmerkdomein_key, ok.alg_onrgoedkenmerk_waarde), 'S', fac.getdomeinwaarde (k.fac_kenmerkdomein_key, ok.alg_onrgoedkenmerk_waarde), ok.alg_onrgoedkenmerk_waarde) waarde FROM alg_v_aanwezigonrgoedkenmerk ok, alg_kenmerk k WHERE ok.alg_kenmerk_key = k.alg_kenmerk_key AND k.alg_kenmerk_verwijder IS NULL AND k.alg_kenmerk_niveau IN ('G', 'V', 'R')) ok ON k.alg_kenmerk_key = ok.alg_kenmerk_key) SELECT x.alg_locatie_key, (SELECT alg_locatie_code FROM alg_locatie WHERE alg_locatie_key = x.alg_locatie_key) locatiecode, x.alg_onrgoed_key, x.alg_onrgoed_type, x.alg_gebouw_code gebouwcode, x.alg_verdieping_volgnr verdiepingvolgnr, x.alg_verdieping_code verdiepingcode, x.alg_srtruimte_omschrijving ruimtefunctie, x.alg_ruimte_nr ruimtenummer, x.alg_ruimte_omschrijving ruimteomschrijving, x.vvo, x.bvo nvo, -- BVO hernoemt naar NVO!!! x.lhkotc_class, c.contract, pf1.prs_perslid_naam_full gebouwverantw1, pf2.prs_perslid_naam_full gebouwverantw2, (SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = fac.safe_to_number (dvl.alg_onrgoedkenmerk_waarde)) dienstverlener, (SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = fac.safe_to_number (eig.alg_onrgoedkenmerk_waarde)) eigenaar, sg.alg_srtgebouw_omschrijving gebouwfunctie, SUBSTR (bouwjaar.alg_onrgoedkenmerk_waarde, 7, 10) bouwjaar, (SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = fac.safe_to_number (strategie.alg_onrgoedkenmerk_waarde)) strategie, (SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = fac.safe_to_number (rw_m2.alg_onrgoedkenmerk_waarde)) rekenwijze_m2, lc.last_change last_change, k1.waarde strukton_gebcode, k2.waarde uitzonderingen, k3.waarde std_tar_l, k4.waarde std_tar_h, k5.waarde std_tar_k, k6.waarde std_tar_o, k7.waarde std_tar_t, k8.waarde ozb_tar_l, k9.waarde ozb_tar_h, k10.waarde ozb_tar_k, k11.waarde ozb_tar_o, k12.waarde ozb_tar_t, k13.waarde vs_cs_l, k14.waarde vs_cs_h, k15.waarde vs_cs_k, k16.waarde vs_cs_o, k17.waarde vs_cs_t, k18.waarde vs_ut_l, k19.waarde vs_ut_h, k20.waarde vs_ut_k, k21.waarde vs_ut_o, k22.waarde vs_ut_t, k23.waarde fes_l, k24.waarde fes_h, k25.waarde fes_k, k26.waarde fes_o, k27.waarde fes_t, k28.waarde std_tar_c, k29.waarde ozb_tar_c, k30.waarde vs_cs_c, k31.waarde vs_ut_c, k32.waarde fes_c, k33.waarde schoonmaak, k34.waarde staat, k35.waarde type_vloer, k36.waarde binnenzonw, k37.waarde buitenzonw, k38.waarde meubilair, k39.waarde afvoer, k40.waarde datapunten, k41.waarde startup_loft, k42.waarde comments, k43.waarde sch_bingl, k44.waarde sch_gevgl, k45.waarde opp_gevgl, k46.waarde wifi, k47.waarde status_optie, k48.waarde opp_bingl, k49.waarde sch_sepgl, k50.waarde opp_sepgl, k51.waarde adres, k52.waarde kad_perceel, k53.waarde nvo_schoonmaak, k54.waarde ruimtefunctie2, k55.waarde k55, k56.waarde k56, k57.waarde k57, k58.waarde k58, k59.waarde k59, k60.waarde k60, x.alg_gebouw_naam gebouwnaam, x.alg_gebouw_vervaldatum vervaldatum, verwijderdatum FROM (SELECT g.alg_locatie_key, g.alg_gebouw_key alg_onrgoed_key, 'G' alg_onrgoed_type, g.alg_gebouw_code, NULL alg_verdieping_volgnr, NULL alg_verdieping_code, NULL alg_srtruimte_omschrijving, NULL alg_ruimte_nr, NULL alg_ruimte_omschrijving, fac.safe_to_number (glhkot.alg_onrgoedkenmerk_waarde) vvo, NULL bvo, DECODE (glhkot.alg_kenmerk_key, 1082, 'L', 1083, 'H', 1084, 'K', 1085, 'O', 1120, 'T', 'C') lhkotc_class, g.alg_gebouw_naam, g.alg_gebouw_vervaldatum, g.alg_gebouw_verwijder verwijderdatum FROM alg_gebouw g, alg_v_aanwezigonrgoedkenmerk glhkot WHERE g.alg_gebouw_key = glhkot.alg_onrgoed_key(+) AND glhkot.alg_kenmerk_key(+) IN (1082, 1083, 1084, 1085, 1120, 1240) -- LHKOTC Oppervlakten AND glhkot.alg_onrgoed_niveau(+) = 'G' UNION ALL SELECT t.alg_locatie_key, t.alg_terreinsector_key alg_onrgoed_key, 'T' alg_onrgoed_type, t.alg_terreinsector_code alg_gebouw_code, NULL alg_verdieping_volgnr, NULL alg_verdieping_code, NULL alg_srtruimte_omschrijving, NULL alg_ruimte_nr, NULL alg_ruimte_omschrijving, t.alg_terreinsector_oppervlak vvo, t.alg_terreinsector_oppervlak bvo, NULL lhkot_class, t.alg_terreinsector_naam alg_gebouw_naam, t.alg_terreinsector_vervaldatum alg_gebouw_vervaldatum, t.alg_terreinsector_verwijder verwijderdatum FROM alg_terreinsector t UNION ALL SELECT g.alg_locatie_key, v.alg_verdieping_key alg_onrgoed_key, 'V' alg_onrgoed_type, g.alg_gebouw_code, v.alg_verdieping_volgnr, v.alg_verdieping_code, NULL alg_srtruimte_omschrijving, NULL alg_ruimte_nr, NULL alg_ruimte_omschrijving, fac.safe_to_number (vlhkot.alg_onrgoedkenmerk_waarde) vvo, NULL bvo, DECODE (vlhkot.alg_kenmerk_key, 1092, 'L', 1093, 'H', 1094, 'K', 1095, 'O', 1121, 'T', 'C') lhkotc_class, g.alg_gebouw_naam, g.alg_gebouw_vervaldatum, v.alg_verdieping_verwijder verwijderdatum FROM alg_verdieping v, alg_gebouw g, alg_v_aanwezigonrgoedkenmerk vlhkot WHERE v.alg_gebouw_key = g.alg_gebouw_key AND v.alg_verdieping_key = vlhkot.alg_onrgoed_key(+) AND vlhkot.alg_kenmerk_key(+) IN (1092, 1093, 1094, 1095, 1121, 1260) -- LHKOTC Oppervlakten AND vlhkot.alg_onrgoed_niveau(+) = 'V' UNION ALL SELECT g.alg_locatie_key, r.alg_ruimte_key alg_onrgoed_key, 'R' alg_onrgoed_type, g.alg_gebouw_code, v.alg_verdieping_volgnr, v.alg_verdieping_code, sr.alg_srtruimte_omschrijving, r.alg_ruimte_nr, r.alg_ruimte_omschrijving, r.alg_ruimte_opp_alt1 vvo, r.alg_ruimte_bruto_vloeropp bvo, ud.fac_usrdata_code lhkot_class, g.alg_gebouw_naam, g.alg_gebouw_vervaldatum, r.alg_ruimte_verwijder verwijderdatum FROM alg_ruimte r, alg_v_aanwezigsrtruimte sr, alg_verdieping v, alg_gebouw g, alg_v_aanwezigonrgoedkenmerk rlhkot, fac_usrdata ud WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key(+) AND r.alg_verdieping_key = v.alg_verdieping_key AND v.alg_gebouw_key = g.alg_gebouw_key AND r.alg_ruimte_key = rlhkot.alg_onrgoed_key(+) AND rlhkot.alg_kenmerk_key(+) = 1100 -- LHKOTC Classificatie AND rlhkot.alg_onrgoed_niveau(+) = 'R' AND fac.safe_to_number (rlhkot.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key(+)) x LEFT JOIN ( SELECT cp.cnt_alg_plaats_key, LISTAGG (c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0'), ',') WITHIN GROUP (ORDER BY c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0')) contract FROM cnt_v_aanwezigcontract c, cnt_contract_plaats cp WHERE SYSDATE BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1) AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_contract_key = cp.cnt_contract_key AND cp.cnt_contract_plaats_verwijder IS NULL GROUP BY cp.cnt_alg_plaats_key) c ON x.alg_onrgoed_key = c.cnt_alg_plaats_key LEFT JOIN alg_gebouw g ON x.alg_onrgoed_key = g.alg_gebouw_key LEFT JOIN alg_srtgebouw sg ON g.alg_srtgebouw_key = sg.alg_srtgebouw_key LEFT JOIN prs_v_perslid_fullnames_all pf1 ON g.prs_perslid_key_verantw = pf1.prs_perslid_key LEFT JOIN prs_v_perslid_fullnames_all pf2 ON g.prs_perslid_key_verantw2 = pf2.prs_perslid_key LEFT JOIN alg_v_aanwezigonrgoedkenmerk dvl ON x.alg_onrgoed_key = dvl.alg_onrgoed_key AND dvl.alg_kenmerk_key = 1060 -- Dienstverlener AND dvl.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk eig ON x.alg_onrgoed_key = eig.alg_onrgoed_key AND eig.alg_kenmerk_key = 1140 -- Eigenaar AND eig.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk bouwjaar ON x.alg_onrgoed_key = bouwjaar.alg_onrgoed_key AND bouwjaar.alg_kenmerk_key = 1160 -- Bouwjaar AND bouwjaar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk strategie ON x.alg_onrgoed_key = strategie.alg_onrgoed_key AND strategie.alg_kenmerk_key = 1161 -- Strategie AND strategie.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk rw_m2 ON x.alg_onrgoed_key = rw_m2.alg_onrgoed_key AND rw_m2.alg_kenmerk_key = 1181 -- Rekenwijze M2 AND rw_m2.alg_onrgoed_niveau = 'G' LEFT JOIN ( SELECT t.fac_tracking_refkey, MAX (t.fac_tracking_datum) last_change FROM fac_tracking t WHERE EXISTS (SELECT 1 -- Last change FROM fac_srtnotificatie WHERE fac_srtnotificatie_key = t.fac_srtnotificatie_key AND fac_srtnotificatie_code LIKE 'ALG%' AND fac_srtnotificatie_xmlnode != 'locatie') GROUP BY t.fac_tracking_refkey) lc ON x.alg_onrgoed_key = lc.fac_tracking_refkey LEFT JOIN ok k1 ON x.alg_onrgoed_key = k1.alg_onrgoed_key AND k1.vnr = 1 LEFT JOIN ok k2 ON x.alg_onrgoed_key = k2.alg_onrgoed_key AND k2.vnr = 2 LEFT JOIN ok k3 ON x.alg_onrgoed_key = k3.alg_onrgoed_key AND k3.vnr = 3 LEFT JOIN ok k4 ON x.alg_onrgoed_key = k4.alg_onrgoed_key AND k4.vnr = 4 LEFT JOIN ok k5 ON x.alg_onrgoed_key = k5.alg_onrgoed_key AND k5.vnr = 5 LEFT JOIN ok k6 ON x.alg_onrgoed_key = k6.alg_onrgoed_key AND k6.vnr = 6 LEFT JOIN ok k7 ON x.alg_onrgoed_key = k7.alg_onrgoed_key AND k7.vnr = 7 LEFT JOIN ok k8 ON x.alg_onrgoed_key = k8.alg_onrgoed_key AND k8.vnr = 8 LEFT JOIN ok k9 ON x.alg_onrgoed_key = k9.alg_onrgoed_key AND k9.vnr = 9 LEFT JOIN ok k10 ON x.alg_onrgoed_key = k10.alg_onrgoed_key AND k10.vnr = 10 LEFT JOIN ok k11 ON x.alg_onrgoed_key = k11.alg_onrgoed_key AND k11.vnr = 11 LEFT JOIN ok k12 ON x.alg_onrgoed_key = k12.alg_onrgoed_key AND k12.vnr = 12 LEFT JOIN ok k13 ON x.alg_onrgoed_key = k13.alg_onrgoed_key AND k13.vnr = 13 LEFT JOIN ok k14 ON x.alg_onrgoed_key = k14.alg_onrgoed_key AND k14.vnr = 14 LEFT JOIN ok k15 ON x.alg_onrgoed_key = k15.alg_onrgoed_key AND k15.vnr = 15 LEFT JOIN ok k16 ON x.alg_onrgoed_key = k16.alg_onrgoed_key AND k16.vnr = 16 LEFT JOIN ok k17 ON x.alg_onrgoed_key = k17.alg_onrgoed_key AND k17.vnr = 17 LEFT JOIN ok k18 ON x.alg_onrgoed_key = k18.alg_onrgoed_key AND k18.vnr = 18 LEFT JOIN ok k19 ON x.alg_onrgoed_key = k19.alg_onrgoed_key AND k19.vnr = 19 LEFT JOIN ok k20 ON x.alg_onrgoed_key = k20.alg_onrgoed_key AND k20.vnr = 20 LEFT JOIN ok k21 ON x.alg_onrgoed_key = k21.alg_onrgoed_key AND k21.vnr = 21 LEFT JOIN ok k22 ON x.alg_onrgoed_key = k22.alg_onrgoed_key AND k22.vnr = 22 LEFT JOIN ok k23 ON x.alg_onrgoed_key = k23.alg_onrgoed_key AND k23.vnr = 23 LEFT JOIN ok k24 ON x.alg_onrgoed_key = k24.alg_onrgoed_key AND k24.vnr = 24 LEFT JOIN ok k25 ON x.alg_onrgoed_key = k25.alg_onrgoed_key AND k25.vnr = 25 LEFT JOIN ok k26 ON x.alg_onrgoed_key = k26.alg_onrgoed_key AND k26.vnr = 26 LEFT JOIN ok k27 ON x.alg_onrgoed_key = k27.alg_onrgoed_key AND k27.vnr = 27 LEFT JOIN ok k28 ON x.alg_onrgoed_key = k28.alg_onrgoed_key AND k28.vnr = 28 LEFT JOIN ok k29 ON x.alg_onrgoed_key = k29.alg_onrgoed_key AND k29.vnr = 29 LEFT JOIN ok k30 ON x.alg_onrgoed_key = k30.alg_onrgoed_key AND k30.vnr = 30 LEFT JOIN ok k31 ON x.alg_onrgoed_key = k31.alg_onrgoed_key AND k31.vnr = 31 LEFT JOIN ok k32 ON x.alg_onrgoed_key = k32.alg_onrgoed_key AND k32.vnr = 32 LEFT JOIN ok k33 ON x.alg_onrgoed_key = k33.alg_onrgoed_key AND k33.vnr = 33 LEFT JOIN ok k34 ON x.alg_onrgoed_key = k34.alg_onrgoed_key AND k34.vnr = 34 LEFT JOIN ok k35 ON x.alg_onrgoed_key = k35.alg_onrgoed_key AND k35.vnr = 35 LEFT JOIN ok k36 ON x.alg_onrgoed_key = k36.alg_onrgoed_key AND k36.vnr = 36 LEFT JOIN ok k37 ON x.alg_onrgoed_key = k37.alg_onrgoed_key AND k37.vnr = 37 LEFT JOIN ok k38 ON x.alg_onrgoed_key = k38.alg_onrgoed_key AND k38.vnr = 38 LEFT JOIN ok k39 ON x.alg_onrgoed_key = k39.alg_onrgoed_key AND k39.vnr = 39 LEFT JOIN ok k40 ON x.alg_onrgoed_key = k40.alg_onrgoed_key AND k40.vnr = 40 LEFT JOIN ok k41 ON x.alg_onrgoed_key = k41.alg_onrgoed_key AND k41.vnr = 41 LEFT JOIN ok k42 ON x.alg_onrgoed_key = k42.alg_onrgoed_key AND k42.vnr = 42 LEFT JOIN ok k43 ON x.alg_onrgoed_key = k43.alg_onrgoed_key AND k43.vnr = 43 LEFT JOIN ok k44 ON x.alg_onrgoed_key = k44.alg_onrgoed_key AND k44.vnr = 44 LEFT JOIN ok k45 ON x.alg_onrgoed_key = k45.alg_onrgoed_key AND k45.vnr = 45 LEFT JOIN ok k46 ON x.alg_onrgoed_key = k46.alg_onrgoed_key AND k46.vnr = 46 LEFT JOIN ok k47 ON x.alg_onrgoed_key = k47.alg_onrgoed_key AND k47.vnr = 47 LEFT JOIN ok k48 ON x.alg_onrgoed_key = k48.alg_onrgoed_key AND k48.vnr = 48 LEFT JOIN ok k49 ON x.alg_onrgoed_key = k49.alg_onrgoed_key AND k49.vnr = 49 LEFT JOIN ok k50 ON x.alg_onrgoed_key = k50.alg_onrgoed_key AND k50.vnr = 50 LEFT JOIN ok k51 ON x.alg_onrgoed_key = k51.alg_onrgoed_key AND k51.vnr = 51 LEFT JOIN ok k52 ON x.alg_onrgoed_key = k52.alg_onrgoed_key AND k52.vnr = 52 LEFT JOIN ok k53 ON x.alg_onrgoed_key = k53.alg_onrgoed_key AND k53.vnr = 53 LEFT JOIN ok k54 ON x.alg_onrgoed_key = k54.alg_onrgoed_key AND k54.vnr = 54 LEFT JOIN ok k55 ON x.alg_onrgoed_key = k55.alg_onrgoed_key AND k55.vnr = 55 LEFT JOIN ok k56 ON x.alg_onrgoed_key = k56.alg_onrgoed_key AND k56.vnr = 56 LEFT JOIN ok k57 ON x.alg_onrgoed_key = k57.alg_onrgoed_key AND k57.vnr = 57 LEFT JOIN ok k58 ON x.alg_onrgoed_key = k58.alg_onrgoed_key AND k58.vnr = 58 LEFT JOIN ok k59 ON x.alg_onrgoed_key = k59.alg_onrgoed_key AND k59.vnr = 59 LEFT JOIN ok k60 ON x.alg_onrgoed_key = k60.alg_onrgoed_key AND k60.vnr = 60; CREATE OR REPLACE VIEW blcc_v_rap_contractgeg -- Alle contractgegevens behalve oude contractsoorten (tussen 621 en 761)! AS WITH ck AS (SELECT sk.vnr, sk.cnt_srtkenmerk_key, sk.cnt_srtkenmerk_omschrijving, kw.cnt_contract_key, kw.waarde FROM (SELECT ROWNUM vnr, cnt_srtkenmerk_key, cnt_srtkenmerk_omschrijving FROM ( SELECT sk.cnt_srtkenmerk_key, sk.cnt_srtkenmerk_omschrijving, sk.cnt_srtkenmerk_aanmaak FROM cnt_srtkenmerk sk -- Inclusief alle verwijderde entries! WHERE sk.cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V') AND sk.cnt_srtkenmerk_key != 281 -- Ref.nr. aanvrager AND COALESCE (sk.cnt_srtkenmerk_verwijder, SYSDATE+2) > TO_DATE ('12122019', 'ddmmyyyy') AND EXISTS (SELECT 1 -- Ooit geassocieerd met contractsoorten <621 of >761 FROM cnt_kenmerk WHERE cnt_srtcontract_key NOT BETWEEN 621 AND 761 AND COALESCE (cnt_kenmerk_verwijder, SYSDATE+2) > TO_DATE ('12122019', 'ddmmyyyy') AND cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key) ORDER BY 3, 1)) sk LEFT JOIN (SELECT sk.cnt_srtkenmerk_key, ck.cnt_contract_key, DECODE (sk.cnt_srtkenmerk_kenmerktype, 'R', fac.getdomeinwaarde (sk.fac_kenmerkdomein_key, ck.cnt_kenmerkcontract_waarde), 'S', fac.getdomeinwaarde (sk.fac_kenmerkdomein_key, ck.cnt_kenmerkcontract_waarde), ck.cnt_kenmerkcontract_waarde) waarde FROM cnt_kenmerkcontract ck, cnt_kenmerk k, cnt_srtkenmerk sk WHERE ck.cnt_kenmerkcontract_verwijder IS NULL AND ck.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_verwijder IS NULL AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key) kw ON sk.cnt_srtkenmerk_key = kw.cnt_srtkenmerk_key) SELECT x.cnt_contract_key, x.cnt_contract_nummer_intern || '.' || COALESCE (x.cnt_contract_versie, '0') contractnr, x.ins_discipline_omschrijving contractsoort, x.cnt_contract_nummer externnr, x.cnt_contract_omschrijving beschrijving, x.mantelnr, x.cnt_contract_document omschrijving, x.prs_afdeling_naam eigenaar_afd, x.eig eigenaar, x.beh beheerder, --x.cnt_contract_opmerking opmerking, REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (x.cnt_contract_opmerking, 1, 20), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') opmerking, DECODE (x.cnt_contract_status, 1, 'Gesloten', 2, 'Nieuw', 3, 'Ter goedkeuring', 'Definitief') contractstatus, x.cnt_contract_looptijd_van ingangsdatum, cnt.cnt_getRappeldatum (x.cnt_contract_key) rappeldatum, cnt.cnt_getOpzegdatum (x.cnt_contract_key) opzegdatum, x.cnt_contract_looptijd_tot einddatum, x.prs_bedrijf_naam contractant, x.prs_leverancier_nr crediteurnr, x.prs_overeenkomst_nr debiteurnr, x.cp contactnaam, x.prs_dienst_omschrijving dienst, x.persoon, x.prs_kostenplaats_upper kostenplaats_code, x.prs_kostensoort_upper kostensoort_code, x.cnt_contract_termijnkosten termijnbedrag, x.cnt_termijn_omschrijving factuurtermijn, x.cnt_contract_kosten contractbedrag, x.cnt_contract_uurloon uurtarief, x.cnt_contract_korting korting, lc.last_change, k1.waarde correctie_l, k2.waarde correctie_h, k3.waarde correctie_k, k4.waarde correctie_o, k5.waarde correctie_t, k6.waarde aant_cispro_lic, k7.waarde aant_mdw_kant, k8.waarde aant_mdw_labhal, k9.waarde aant_mdw_park, k10.waarde aant_mdw_pa, k11.waarde aant_mdw_sec, k12.waarde upddat_cff, k13.waarde upddat_fes, k14.waarde aant_wp, k15.waarde ak_cs, k16.waarde ak_pt, k17.waarde ak_ut, k18.waarde ademhalingslucht, k19.waarde ap_cs, k20.waarde ap_heptaan, k21.waarde ap_hexaan, k22.waarde ap_isobutaan, k23.waarde ap_isododecaan, k24.waarde ap_itheen, k25.waarde ap_nbutaan, k26.waarde ap_propaan, k27.waarde ap_tolueen, k28.waarde ap_ut, k29.waarde ap, -- SLA Multi-Purpose Pilot Plant k30.waarde afval, -- SLA Operational Center k31.waarde rent, -- SLA Multi-Purpose Pilot Plant k32.waarde andere_incentives, k33.waarde auto_verleng, k34.waarde btw_optie, k35.waarde bgar_borg, k36.waarde boete_breakopt, k37.waarde cff_subsidy, k38.waarde doorbereken_cs, k39.waarde consignatiedienst, k40.waarde contracttarief_h, k41.waarde contracttarief_k, k42.waarde contracttarief_l, k43.waarde contracttarief_o, k44.waarde contracttarief_t, k45.waarde upddat_breakopt1, k46.waarde upddat_index1, k47.waarde upddat_bgar_borg, k48.waarde deprec_roiext_cgz, k49.waarde totdat_fes, k50.waarde totdat_bgar_borg, k51.waarde totdat_2gv, k52.waarde totdat_3gv, k53.waarde doorbereken_fes, k54.waarde factuur, k55.waarde garantiewaarde, k56.waarde hygienisch_onderh, k57.waarde hyperlink_doc, k58.waarde iv_schap, k59.waarde insurance_cgz, k60.waarde kosten_2gv, k61.waarde kosten_3gv, k62.waarde kostenplaats, k63.waarde lever_gasfl, k64.waarde lever_cryogas, k65.waarde managed_conn, k66.waarde fee_cgz, k67.waarde ondersteun_cvd, k68.waarde oorspr_vandat, k69.waarde rent_facilities, -- Lease agreement Facilities k70.waarde rent_expedition, -- SLA Brightlands CRF - CV k71.waarde rent_infra, -- SLA Brightlands CRF - CV k72.waarde rent_landlease, -- Landlease CV - CRF k73.waarde rent_rebate, k74.waarde rent_utilities, -- SLA Brightlands CRF - CV k75.waarde doorbereken_rent, k76.waarde schakel_gasfl, -- SLA Operational Center k77.waarde surcharge_sc, k78.waarde info_breakopt, k79.waarde verleng_termijn, k80.waarde abs_korting, k81.waarde fee_steam, k82.waarde maandbedrag, k83.waarde btw_code, k84.waarde regeloms, k85.waarde huurdersp_vs, k86.waarde transf_bijdr, k87.waarde k87, k88.waarde k88, k89.waarde k89, k90.waarde k90, k91.waarde k91, k92.waarde k92, k93.waarde k93, k94.waarde k94, k95.waarde k95, k96.waarde k96, k97.waarde k97, k98.waarde k98, k99.waarde k99, k100.waarde k100 --k102.waarde k101, --k102.waarde k102, --k103.waarde k103, --k104.waarde k104, --k105.waarde k105, --k106.waarde k106, --k107.waarde k107, --k108.waarde k108, --k109.waarde k109, --k110.waarde k110, --k111.waarde k111, --k112.waarde k112, --k113.waarde k113, --k114.waarde k114, --k115.waarde k115, --k116.waarde k116, --k117.waarde k117, --k118.waarde k118, --k119.waarde k119, --k120.waarde k120 FROM (SELECT c.*, cd.ins_discipline_omschrijving, cm.cnt_contract_nummer_intern mantelnr, a.prs_afdeling_naam, eig.prs_perslid_naam_full eig, beh.prs_perslid_naam_full beh, b.prs_bedrijf_naam, b.prs_leverancier_nr, b.prs_overeenkomst_nr, cp.prs_contactpersoon_naam || DECODE (cp.prs_contactpersoon_voorletters, NULL, '', ', ' || cp.prs_contactpersoon_voorletters) || DECODE (cp.prs_contactpersoon_tussenv, NULL, '', ' ' || cp.prs_contactpersoon_tussenv) || DECODE (cp.prs_contactpersoon_voornaam, NULL, '', ' (' || cp.prs_contactpersoon_voornaam || ')') cp, d.prs_dienst_omschrijving, prs.prs_perslid_naam_full persoon, kp.prs_kostenplaats_upper, ks.prs_kostensoort_upper, ct.cnt_termijn_omschrijving FROM cnt_v_aanwezigcontract c, cnt_discipline cd, cnt_v_aanwezigcontract cm, prs_afdeling a, prs_v_perslid_fullnames_all eig, prs_v_perslid_fullnames_all beh, prs_v_aanwezigbedrijf b, prs_contactpersoon cp, prs_dienst d, prs_v_perslid_fullnames_all prs, prs_kostenplaats kp, prs_kostensoort ks, cnt_termijn ct WHERE c.ins_discipline_key NOT BETWEEN 621 AND 761 AND c.ins_discipline_key = cd.ins_discipline_key AND c.cnt_contract_mantel_key = cm.cnt_contract_key(+) AND c.prs_afdeling_key_eig = a.prs_afdeling_key AND c.prs_perslid_key_eig = eig.prs_perslid_key(+) AND c.prs_perslid_key_beh = beh.prs_perslid_key(+) AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.prs_contactpersoon_key = cp.prs_contactpersoon_key(+) AND c.prs_dienst_key = d.prs_dienst_key(+) AND c.cnt_prs_perslid_key = prs.prs_perslid_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND c.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND c.cnt_contract_termijntermijn = ct.cnt_termijn_key(+)) x LEFT JOIN ( SELECT t.fac_tracking_refkey, MAX (t.fac_tracking_datum) last_change FROM fac_tracking t WHERE EXISTS (SELECT 1 -- Last change FROM fac_srtnotificatie WHERE fac_srtnotificatie_key = t.fac_srtnotificatie_key AND fac_srtnotificatie_xmlnode = 'contract') GROUP BY t.fac_tracking_refkey) lc ON x.cnt_contract_key = lc.fac_tracking_refkey LEFT JOIN ck k1 ON x.cnt_contract_key = k1.cnt_contract_key AND k1.vnr = 1 LEFT JOIN ck k2 ON x.cnt_contract_key = k2.cnt_contract_key AND k2.vnr = 2 LEFT JOIN ck k3 ON x.cnt_contract_key = k3.cnt_contract_key AND k3.vnr = 3 LEFT JOIN ck k4 ON x.cnt_contract_key = k4.cnt_contract_key AND k4.vnr = 4 LEFT JOIN ck k5 ON x.cnt_contract_key = k5.cnt_contract_key AND k5.vnr = 5 LEFT JOIN ck k6 ON x.cnt_contract_key = k6.cnt_contract_key AND k6.vnr = 6 LEFT JOIN ck k7 ON x.cnt_contract_key = k7.cnt_contract_key AND k7.vnr = 7 LEFT JOIN ck k8 ON x.cnt_contract_key = k8.cnt_contract_key AND k8.vnr = 8 LEFT JOIN ck k9 ON x.cnt_contract_key = k9.cnt_contract_key AND k9.vnr = 9 LEFT JOIN ck k10 ON x.cnt_contract_key = k10.cnt_contract_key AND k10.vnr = 10 LEFT JOIN ck k11 ON x.cnt_contract_key = k11.cnt_contract_key AND k11.vnr = 11 LEFT JOIN ck k12 ON x.cnt_contract_key = k12.cnt_contract_key AND k12.vnr = 12 LEFT JOIN ck k13 ON x.cnt_contract_key = k13.cnt_contract_key AND k13.vnr = 13 LEFT JOIN ck k14 ON x.cnt_contract_key = k14.cnt_contract_key AND k14.vnr = 14 LEFT JOIN ck k15 ON x.cnt_contract_key = k15.cnt_contract_key AND k15.vnr = 15 LEFT JOIN ck k16 ON x.cnt_contract_key = k16.cnt_contract_key AND k16.vnr = 16 LEFT JOIN ck k17 ON x.cnt_contract_key = k17.cnt_contract_key AND k17.vnr = 17 LEFT JOIN ck k18 ON x.cnt_contract_key = k18.cnt_contract_key AND k18.vnr = 18 LEFT JOIN ck k19 ON x.cnt_contract_key = k19.cnt_contract_key AND k19.vnr = 19 LEFT JOIN ck k20 ON x.cnt_contract_key = k20.cnt_contract_key AND k20.vnr = 20 LEFT JOIN ck k21 ON x.cnt_contract_key = k21.cnt_contract_key AND k21.vnr = 21 LEFT JOIN ck k22 ON x.cnt_contract_key = k22.cnt_contract_key AND k22.vnr = 22 LEFT JOIN ck k23 ON x.cnt_contract_key = k23.cnt_contract_key AND k23.vnr = 23 LEFT JOIN ck k24 ON x.cnt_contract_key = k24.cnt_contract_key AND k24.vnr = 24 LEFT JOIN ck k25 ON x.cnt_contract_key = k25.cnt_contract_key AND k25.vnr = 25 LEFT JOIN ck k26 ON x.cnt_contract_key = k26.cnt_contract_key AND k26.vnr = 26 LEFT JOIN ck k27 ON x.cnt_contract_key = k27.cnt_contract_key AND k27.vnr = 27 LEFT JOIN ck k28 ON x.cnt_contract_key = k28.cnt_contract_key AND k28.vnr = 28 LEFT JOIN ck k29 ON x.cnt_contract_key = k29.cnt_contract_key AND k29.vnr = 29 LEFT JOIN ck k30 ON x.cnt_contract_key = k30.cnt_contract_key AND k30.vnr = 30 LEFT JOIN ck k31 ON x.cnt_contract_key = k31.cnt_contract_key AND k31.vnr = 31 LEFT JOIN ck k32 ON x.cnt_contract_key = k32.cnt_contract_key AND k32.vnr = 32 LEFT JOIN ck k33 ON x.cnt_contract_key = k33.cnt_contract_key AND k33.vnr = 33 LEFT JOIN ck k34 ON x.cnt_contract_key = k34.cnt_contract_key AND k34.vnr = 34 LEFT JOIN ck k35 ON x.cnt_contract_key = k35.cnt_contract_key AND k35.vnr = 35 LEFT JOIN ck k36 ON x.cnt_contract_key = k36.cnt_contract_key AND k36.vnr = 36 LEFT JOIN ck k37 ON x.cnt_contract_key = k37.cnt_contract_key AND k37.vnr = 37 LEFT JOIN ck k38 ON x.cnt_contract_key = k38.cnt_contract_key AND k38.vnr = 38 LEFT JOIN ck k39 ON x.cnt_contract_key = k39.cnt_contract_key AND k39.vnr = 39 LEFT JOIN ck k40 ON x.cnt_contract_key = k40.cnt_contract_key AND k40.vnr = 40 LEFT JOIN ck k41 ON x.cnt_contract_key = k41.cnt_contract_key AND k41.vnr = 41 LEFT JOIN ck k42 ON x.cnt_contract_key = k42.cnt_contract_key AND k42.vnr = 42 LEFT JOIN ck k43 ON x.cnt_contract_key = k43.cnt_contract_key AND k43.vnr = 43 LEFT JOIN ck k44 ON x.cnt_contract_key = k44.cnt_contract_key AND k44.vnr = 44 LEFT JOIN ck k45 ON x.cnt_contract_key = k45.cnt_contract_key AND k45.vnr = 45 LEFT JOIN ck k46 ON x.cnt_contract_key = k46.cnt_contract_key AND k46.vnr = 46 LEFT JOIN ck k47 ON x.cnt_contract_key = k47.cnt_contract_key AND k47.vnr = 47 LEFT JOIN ck k48 ON x.cnt_contract_key = k48.cnt_contract_key AND k48.vnr = 48 LEFT JOIN ck k49 ON x.cnt_contract_key = k49.cnt_contract_key AND k49.vnr = 49 LEFT JOIN ck k50 ON x.cnt_contract_key = k50.cnt_contract_key AND k50.vnr = 50 LEFT JOIN ck k51 ON x.cnt_contract_key = k51.cnt_contract_key AND k51.vnr = 51 LEFT JOIN ck k52 ON x.cnt_contract_key = k52.cnt_contract_key AND k52.vnr = 52 LEFT JOIN ck k53 ON x.cnt_contract_key = k53.cnt_contract_key AND k53.vnr = 53 LEFT JOIN ck k54 ON x.cnt_contract_key = k54.cnt_contract_key AND k54.vnr = 54 LEFT JOIN ck k55 ON x.cnt_contract_key = k55.cnt_contract_key AND k55.vnr = 55 LEFT JOIN ck k56 ON x.cnt_contract_key = k56.cnt_contract_key AND k56.vnr = 56 LEFT JOIN ck k57 ON x.cnt_contract_key = k57.cnt_contract_key AND k57.vnr = 57 LEFT JOIN ck k58 ON x.cnt_contract_key = k58.cnt_contract_key AND k58.vnr = 58 LEFT JOIN ck k59 ON x.cnt_contract_key = k59.cnt_contract_key AND k59.vnr = 59 LEFT JOIN ck k60 ON x.cnt_contract_key = k60.cnt_contract_key AND k60.vnr = 60 LEFT JOIN ck k61 ON x.cnt_contract_key = k61.cnt_contract_key AND k61.vnr = 61 LEFT JOIN ck k62 ON x.cnt_contract_key = k62.cnt_contract_key AND k62.vnr = 62 LEFT JOIN ck k63 ON x.cnt_contract_key = k63.cnt_contract_key AND k63.vnr = 63 LEFT JOIN ck k64 ON x.cnt_contract_key = k64.cnt_contract_key AND k64.vnr = 64 LEFT JOIN ck k65 ON x.cnt_contract_key = k65.cnt_contract_key AND k65.vnr = 65 LEFT JOIN ck k66 ON x.cnt_contract_key = k66.cnt_contract_key AND k66.vnr = 66 LEFT JOIN ck k67 ON x.cnt_contract_key = k67.cnt_contract_key AND k67.vnr = 67 LEFT JOIN ck k68 ON x.cnt_contract_key = k68.cnt_contract_key AND k68.vnr = 68 LEFT JOIN ck k69 ON x.cnt_contract_key = k69.cnt_contract_key AND k69.vnr = 69 LEFT JOIN ck k70 ON x.cnt_contract_key = k70.cnt_contract_key AND k70.vnr = 70 LEFT JOIN ck k71 ON x.cnt_contract_key = k71.cnt_contract_key AND k71.vnr = 71 LEFT JOIN ck k72 ON x.cnt_contract_key = k72.cnt_contract_key AND k72.vnr = 72 LEFT JOIN ck k73 ON x.cnt_contract_key = k73.cnt_contract_key AND k73.vnr = 73 LEFT JOIN ck k74 ON x.cnt_contract_key = k74.cnt_contract_key AND k74.vnr = 74 LEFT JOIN ck k75 ON x.cnt_contract_key = k75.cnt_contract_key AND k75.vnr = 75 LEFT JOIN ck k76 ON x.cnt_contract_key = k76.cnt_contract_key AND k76.vnr = 76 LEFT JOIN ck k77 ON x.cnt_contract_key = k77.cnt_contract_key AND k77.vnr = 77 LEFT JOIN ck k78 ON x.cnt_contract_key = k78.cnt_contract_key AND k78.vnr = 78 LEFT JOIN ck k79 ON x.cnt_contract_key = k79.cnt_contract_key AND k79.vnr = 79 LEFT JOIN ck k80 ON x.cnt_contract_key = k80.cnt_contract_key AND k80.vnr = 80 LEFT JOIN ck k81 ON x.cnt_contract_key = k81.cnt_contract_key AND k81.vnr = 81 LEFT JOIN ck k82 ON x.cnt_contract_key = k82.cnt_contract_key AND k82.vnr = 82 LEFT JOIN ck k83 ON x.cnt_contract_key = k83.cnt_contract_key AND k83.vnr = 83 LEFT JOIN ck k84 ON x.cnt_contract_key = k84.cnt_contract_key AND k84.vnr = 84 LEFT JOIN ck k85 ON x.cnt_contract_key = k85.cnt_contract_key AND k85.vnr = 85 LEFT JOIN ck k86 ON x.cnt_contract_key = k86.cnt_contract_key AND k86.vnr = 86 LEFT JOIN ck k87 ON x.cnt_contract_key = k87.cnt_contract_key AND k87.vnr = 87 LEFT JOIN ck k88 ON x.cnt_contract_key = k88.cnt_contract_key AND k88.vnr = 88 LEFT JOIN ck k89 ON x.cnt_contract_key = k89.cnt_contract_key AND k89.vnr = 89 LEFT JOIN ck k90 ON x.cnt_contract_key = k90.cnt_contract_key AND k90.vnr = 90 LEFT JOIN ck k91 ON x.cnt_contract_key = k91.cnt_contract_key AND k91.vnr = 91 LEFT JOIN ck k92 ON x.cnt_contract_key = k92.cnt_contract_key AND k92.vnr = 92 LEFT JOIN ck k93 ON x.cnt_contract_key = k93.cnt_contract_key AND k93.vnr = 93 LEFT JOIN ck k94 ON x.cnt_contract_key = k94.cnt_contract_key AND k94.vnr = 94 LEFT JOIN ck k95 ON x.cnt_contract_key = k95.cnt_contract_key AND k95.vnr = 95 LEFT JOIN ck k96 ON x.cnt_contract_key = k96.cnt_contract_key AND k96.vnr = 96 LEFT JOIN ck k97 ON x.cnt_contract_key = k97.cnt_contract_key AND k97.vnr = 97 LEFT JOIN ck k98 ON x.cnt_contract_key = k98.cnt_contract_key AND k98.vnr = 98 LEFT JOIN ck k99 ON x.cnt_contract_key = k99.cnt_contract_key AND k99.vnr = 99 LEFT JOIN ck k100 ON x.cnt_contract_key = k100.cnt_contract_key AND k100.vnr = 100 --LEFT JOIN ck k101 ON x.cnt_contract_key = k101.cnt_contract_key AND k101.vnr = 101 --LEFT JOIN ck k102 ON x.cnt_contract_key = k102.cnt_contract_key AND k102.vnr = 102 --LEFT JOIN ck k103 ON x.cnt_contract_key = k103.cnt_contract_key AND k103.vnr = 103 --LEFT JOIN ck k104 ON x.cnt_contract_key = k104.cnt_contract_key AND k104.vnr = 104 --LEFT JOIN ck k105 ON x.cnt_contract_key = k105.cnt_contract_key AND k105.vnr = 105 --LEFT JOIN ck k106 ON x.cnt_contract_key = k106.cnt_contract_key AND k106.vnr = 106 --LEFT JOIN ck k107 ON x.cnt_contract_key = k107.cnt_contract_key AND k107.vnr = 107 --LEFT JOIN ck k108 ON x.cnt_contract_key = k108.cnt_contract_key AND k108.vnr = 108 --LEFT JOIN ck k109 ON x.cnt_contract_key = k109.cnt_contract_key AND k109.vnr = 109 --LEFT JOIN ck k110 ON x.cnt_contract_key = k110.cnt_contract_key AND k110.vnr = 110 --LEFT JOIN ck k111 ON x.cnt_contract_key = k111.cnt_contract_key AND k111.vnr = 111 --LEFT JOIN ck k112 ON x.cnt_contract_key = k112.cnt_contract_key AND k112.vnr = 112 --LEFT JOIN ck k113 ON x.cnt_contract_key = k113.cnt_contract_key AND k113.vnr = 113 --LEFT JOIN ck k114 ON x.cnt_contract_key = k114.cnt_contract_key AND k114.vnr = 114 --LEFT JOIN ck k115 ON x.cnt_contract_key = k115.cnt_contract_key AND k115.vnr = 115 --LEFT JOIN ck k116 ON x.cnt_contract_key = k116.cnt_contract_key AND k116.vnr = 116 --LEFT JOIN ck k117 ON x.cnt_contract_key = k117.cnt_contract_key AND k117.vnr = 117 --LEFT JOIN ck k118 ON x.cnt_contract_key = k118.cnt_contract_key AND k118.vnr = 118 --LEFT JOIN ck k119 ON x.cnt_contract_key = k119.cnt_contract_key AND k119.vnr = 119 --LEFT JOIN ck k120 ON x.cnt_contract_key = k120.cnt_contract_key AND k120.vnr = 120 ; CREATE OR REPLACE VIEW blcc_v_rap_cnt_algscope AS SELECT c.cnt_contract_key, c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) contractnr, DECODE (cp.cnt_alg_plaats_code, 'L', cnt_alg_plaats_key, NULL) alg_locatie_key, DECODE (cp.cnt_alg_plaats_code, 'L', NULL, cp.cnt_alg_plaats_key) alg_onrgoed_key, DECODE (cp.cnt_alg_plaats_code, 'L', NULL, cp.cnt_alg_plaats_code) alg_onrgoed_type, cp.cnt_contract_plaats_gewicht gewicht FROM cnt_contract_plaats cp, cnt_v_aanwezigcontract c WHERE cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_contract_key = c.cnt_contract_key; CREATE OR REPLACE VIEW blcc_v_rap_twinfieldgeg AS SELECT SUBSTR (factuurdatum, 7, 4) || SUBSTR (factuurdatum, 4, 2) || SUBSTR (factuurdatum, 1, 2) || SUBSTR ('000000000' || hide_f_sortering, -10) sortering, -- 1/oud --fclt_x_maand, '171025970000' administratie, code, valuta, factuurdatum, periode, factuurnummer, vervaldatum, nummer, grtboekrek, rel_kpl, prj_activa, bedrag, debitcredit, omschrijving, btwcode FROM blcc_v_rap_export_fact UNION ALL SELECT sync_id || SUBSTR ('000000000' || hide_f_sortering, -10) sortering, -- 1/CV, 2/oud en 3/CV --fclt_x_maand, '171025970000' administratie, code, valuta, factuurdatum, periode, factuurnummer, vervaldatum, nummer, grtboekrek, rel_kpl, prj_activa, bedrag, debitcredit, omschrijving, btwcode FROM blcc_v_rap_export_tf_cv UNION ALL SELECT sync_id || SUBSTR ('000000000' || hide_f_sortering, -10) sortering, -- 1/CRF en 3/CRF --fclt_x_maand, '171046835000' administratie, code, valuta, factuurdatum, periode, factuurnummer, vervaldatum, nummer, grtboekrek, rel_kpl, prj_activa, bedrag, debitcredit, omschrijving, btwcode FROM blcc_v_rap_export_tf_crf ORDER BY 1; CREATE OR REPLACE VIEW blcc_v_rap_factuurgeg AS SELECT fin_verkoopfactuur_aanmaak aanmaak, fin_verkoopfactuur_id factuurnummer, fin_verkoopfactuur_datum factuurdatum, fin_verkoopfactuur_omschr omschrijving, fin_verkoopfactuur_xmlnode xmlnode, fin_verkoopfactuur_refkey refkey, prs_kostenplaats_key kostenplaats_key, prs_kostenplaats_nr kostenplaats_code, prs_kostenplaats_omschrijving kostenplaats_oms, --prs_kostenplaatsgrp_oms kostenplaatsgrp_oms, prs_kostensoort_oms kostensoort_code, --prs_kostensoort_opm kostensoort_oms, --prs_kostensoort_refcode kostensoort_altcode, prs_bedrijf_key debiteur_key, prs_debiteur_naam debiteur, --prs_kostensoortgrp_oms kostensoortgrp_oms, fin_verkoopfactuur_bedrag bedrag, fin_verkoopfactuur_btw btw, fin_btwtabelwaarde_code btw_code, fin_btwtabelwaarde_perc btw_perc, fin_btwtabelwaarde_verlegd btw_verlegd, fin_verkoopfactuur_maand maand, fin_verkoopfactuur_n1 n1, -- V1-Korting|ADDD-Correctiemelding|V2-Aantal fin_verkoopfactuur_n2 n2, -- V1-Correctiemelding|V2-Bedrag fin_verkoopfactuur_n3 n3_crf, -- V2-CRF 0/1|ADDD-CRF 0/1 fin_verkoopfactuur_n4 n4_factuur, -- V2-Factuur 0/1 fin_verkoopfactuur_n5 n5, -- V2-Correctiemelding fin_verkoopfactuur_c1 c1, -- V1-L-tarief|ADDD-PO|V2-Ourref fin_verkoopfactuur_c2 c2, -- V1-H-tarief|ADDD-ContractId|V2-ContractOms fin_verkoopfactuur_c3 c3, -- V1-K-tarief|ADDD-Sortering fin_verkoopfactuur_c4 c4, -- V1-O-tarief fin_verkoopfactuur_c5 c5_aanvr, -- V1-T-tarief|ADDD-Gastheer/Aanvrager fin_verkoopfactuur_c6 c6_plaatsgeg, -- onrgoed_type+onrgoed_key=plaats fin_verkoopfactuur_c7 c7_debnr_btwnr, -- debiteur_nr=btw_nr fin_verkoopfactuur_c8 c8, -- V1+2-Correctieomschr.|ADDD-RegelOms fin_verkoopfactuur_d1 d1_vervaldatum, fin_verkoopfactuur_d2 d2_mndbegin, fin_verkoopfactuur_d3 d3_mndeind, fin_verkoopfactuur_d4 d4_dagbegin, fin_verkoopfactuur_d5 d5_dageind FROM fin_verkoopfactuur vf WHERE fin_verkoopfactuur_key > 1; CREATE OR REPLACE VIEW blcc_v_rap_prs_accounts ( soort_gebruiker, naam, email, loginnaam, afdeling, laatste_login, key_autorisaties ) AS SELECT DECODE (key_user, 1, 'KEY', 'FE'), pf.prs_perslid_naam_full, p.prs_perslid_email, oslogin, a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving, prs_perslid_login, funcodes FROM (SELECT * FROM (SELECT p.prs_perslid_key prs_key, COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) oslogin, 1 login, -- 1=user heeft login + groep + rechten DECODE ( SIGN(TRUNC(COALESCE (p.prs_perslid_login + 92, SYSDATE - 1)) - TRUNC (SYSDATE)), -1, 0, 1) -- 1=user heeft laatste 92 dagen ingelogd recent_login FROM prs_v_aanwezigperslid p WHERE EXISTS -- op basis van login + groep + rechten (SELECT 1 FROM fac_v_webgebruiker gg WHERE gg.prs_perslid_key = p.prs_perslid_key) AND NOT EXISTS -- FSN#36597: WEB_FACFAC-users niet meetellen! (SELECT 1 FROM fac_v_webgebruiker gg, fac_functie f WHERE gg.prs_perslid_key = p.prs_perslid_key AND gg.fac_functie_key = f.fac_functie_key AND fac_functie_code = 'WEB_FACFAC') UNION ALL -- FSN#24029: Soms ook personen zonder login meetellen! SELECT p.prs_perslid_key, NULL oslogin, 1 login, -- 1=user telt mee, want allow_for_others! 0 recent_login -- geen login, dus nooit recent ingelogd FROM prs_v_aanwezigperslid p WHERE COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NULL AND (fac.getsetting ('mld_allow_for_others') = 1 OR EXISTS (SELECT 1 FROM bes_disc_params dp WHERE dp.bes_disc_params_for_others = 1)) UNION ALL -- FSN#27315: En ook eventuele "sensorusers" meetellen! SELECT NULL prs_perslid_key, NULL oslogin, COUNT ( * ) login, -- elke sensoruser telt mee als FE! 1 recent_login -- recent actief dus tellen als recent FROM ins_v_aanwezigdeel d WHERE ins_deel_statedate > TRUNC (SYSDATE - 30)) x LEFT JOIN -- 1=user heeft rechten op key-codes=notFE-codes (SELECT DISTINCT fclt_f_login, 1 key_user FROM fac_v_rap_groeprechten gr, fac_functie f WHERE gr.fclt_f_funcode = f.fac_functie_code AND f.fac_functie_groep IN (1, 2)) a ON x.oslogin = a.fclt_f_login LEFT JOIN -- FSN#30404: 1=user is cross-domain (xd) user (SELECT p.prs_perslid_key, 1 xd_user FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab WHERE p.prs_afdeling_key = ab.prs_afdeling_key AND p.prs_perslid_apikey IS NOT NULL AND ab.prs_bedrijf_key = fac.safe_to_number(fac.getsetting('xd_primary_bedrijfkey'))) b ON x.prs_key = b.prs_perslid_key LEFT JOIN ( SELECT pfc.prs_perslid_key, listagg ( pfc.fac_functie_code, ', ') WITHIN GROUP (ORDER BY pfc.fac_functie_code) AS funcodes FROM (SELECT DISTINCT gg.prs_perslid_key, SUBSTR (f.fac_functie_code, 5) fac_functie_code FROM fac_gebruikersgroep gg, fac_groeprechten gr, fac_functie f WHERE gg.fac_groep_key = gr.fac_groep_key AND gr.fac_functie_key = f.fac_functie_key AND fac_functie_groep IN (1, 2)) pfc GROUP BY pfc.prs_perslid_key) pfcs ON x.prs_key = pfcs.prs_perslid_key) st, prs_perslid p, prs_v_perslid_fullnames pf, prs_afdeling a WHERE login = 1 AND p.prs_perslid_key = st.prs_key AND pf.prs_perslid_key = p.prs_perslid_key AND a.prs_afdeling_key = p.prs_afdeling_key AND p.prs_perslid_verwijder IS NULL; -- BLCC#51370: View via API2 ontsloten tbv. Nsecure/Dataclient! -- BLCC#56618: De default bezoekersactie igv. RES-bezoekers is: 41="Informeer mij niet vooraf en verwijs bezoek direct door." CREATE OR REPLACE VIEW blcc_v_rap_dataclient_bez ( afspraak_key, -- appointment_id bezoekers_key, -- visitor_id afspraak_datum, afspraak_oms, bez_achternaam, bez_voornaam, bez_mail, bez_bedrijf, cp_naam, cp_mail, cp_tel, cp_bedrijf, bez_voor, bez_actie, gebouwcode, laatste_mut ) AS SELECT t.fac_tracking_refkey, x.bez_bezoekers_key, x.bez_afspraak_datum, x.bez_afspraak_opmerking, x.bez_afspraak_naam, voornaam.bez_kenmerkwaarde_waarde, email.bez_kenmerkwaarde_waarde, x.bez_afspraak_bedrijf, x.prs_perslid_naam_full, x.prs_perslid_email, COALESCE (x.prs_perslid_telefoonnr, x.prs_perslid_mobiel) tel, x.prs_afdeling_omschrijving, x.bez_afspraak_gastheer, a2o.bez_kenmerk_default, (SELECT alg_gebouw_code FROM alg_gebouw WHERE alg_gebouw_key = x.alg_gebouw_key) gebouwcode, t.tracking_datum FROM (SELECT a.bez_afspraak_key, b.bez_bezoekers_key, a.bez_afspraak_datum, a.bez_afspraak_opmerking, b.bez_afspraak_naam, b.bez_afspraak_bedrijf, cpf.prs_perslid_naam_full, cp.prs_perslid_email, cp.prs_perslid_telefoonnr, cp.prs_perslid_mobiel, a.prs_afdeling_omschrijving, a.bez_afspraak_gastheer, COALESCE (a.bez_actie_key, 41) bez_actie_key, -- "Informeer mij niet vooraf en verwijs bezoek direct door." aog.alg_gebouw_key FROM bez_afspraak a, bez_bezoekers b, prs_perslid cp, prs_v_perslid_fullnames cpf, prs_v_afdeling_boom ab, prs_afdeling a, alg_v_onroerendgoed aog WHERE a.bez_afspraak_datum > TRUNC (SYSDATE) AND a.bez_afspraak_key = b.bez_afspraak_key AND a.bez_afspraak_contact_key = cp.prs_perslid_key AND cp.prs_perslid_key = cpf.prs_perslid_key AND cp.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_afdeling_key1 = a.prs_afdeling_key AND a.alg_onrgoed_keys = aog.alg_onroerendgoed_keys(+)) x LEFT JOIN bez_kenmerkwaarde voornaam ON x.bez_bezoekers_key = voornaam.bez_bezoekers_key AND voornaam.bez_kenmerkwaarde_verwijder IS NULL AND voornaam.bez_kenmerk_key = 1080 -- Voornaam LEFT JOIN bez_kenmerkwaarde email ON x.bez_bezoekers_key = email.bez_bezoekers_key AND email.bez_kenmerkwaarde_verwijder IS NULL AND email.bez_kenmerk_key = 1000 -- E-mail adres LEFT JOIN ( SELECT fac_tracking_refkey, MAX (fac_tracking_datum) tracking_datum FROM fac_tracking WHERE fac_srtnotificatie_key IN (26, 27) -- BEZMUT/BEZUPD GROUP BY fac_tracking_refkey) t ON x.bez_afspraak_key = t.fac_tracking_refkey LEFT JOIN (SELECT ud.fac_usrdata_code, k.bez_kenmerk_default FROM fac_v_aanwezigusrdata ud, bez_kenmerk k WHERE ud.fac_usrtab_key = 501 -- Bezoekersactie AND ud.fac_usrdata_omschr = TO_CHAR (k.bez_kenmerk_key) AND k.bez_kenmerk_verwijder IS NULL) a2o -- Actie2Omschrijving ON TO_CHAR (x.bez_actie_key) = TO_CHAR (a2o.fac_usrdata_code); -- BLCC#55646: WTCA-ish rapportages tbv. afstemmingsoverleg en freeze per leverancier! CREATE OR REPLACE VIEW blcc_v_rap_maand_ordafm ( maand, prefix, opdr_key, opdr, kpn, kplaats_nr, kplaats_oms, --corr_kplaats, ksoort_code, ksoort_oms, --org_ksoort, propertymanager, -- BLCC#58361: Voortaan de 1e ORDGOE-er! gebouw_terrein, verdieping, ruimte, vakgroep, melding, melder, omschrijving, opmerking, aanmaak, gepland, gereed, uitv_key, uitvoerende, contactpersoon, kosten, fclt_3d_afdeling_key ) AS SELECT TO_CHAR (SYSDATE, 'yyyy-mm'), a.prefix, a.mld_opdr_key, a.opdracht, COALESCE (a.prs_kostenplaatsgrp_nr, SUBSTR (a.kdrager, 1, 5)) kpn, a.kdrager, a.kdrager_oms, a.ksoort, a.ksoort_oms, --a.propertymanager, COALESCE ((SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = ordgoe.prs_perslid_key), a.propertymanager) goedkeurder, a.gebouw_terrein, a.verdieping, a.ruimte, a.vakgroep, a.melding, a.melder, a.oms, a.opm, a.datum_aanmaak, a.datum_gepland, a.datum_gereed, a.prs_bedrijf_key, a.bedrijf, a.cp, COALESCE (a.kosten, 0), b.afdeling FROM (SELECT o.mld_opdr_key, COALESCE (og.alg_gebouw_key, og.alg_terreinsector_key) gebter_key, sd.ins_srtdiscipline_prefix prefix, o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdracht, kpg.prs_kostenplaatsgrp_nr, kp.prs_kostenplaats_nr kdrager, kp.prs_kostenplaats_omschrijving kdrager_oms, COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) ksoort, DECODE (ksm.prs_kostensoort_oms, NULL, ksv.prs_kostensoort_opmerking, ksm.prs_kostensoort_opmerking) ksoort_oms, pm.prs_perslid_naam_full propertymanager, COALESCE (og.alg_terreinsector_code, og.alg_gebouw_code) gebouw_terrein, og.alg_verdieping_code verdieping, og.alg_ruimte_nr ruimte, td.ins_discipline_omschrijving vakgroep, sm.mld_stdmelding_omschrijving melding, pf.prs_perslid_naam_full melder, o.mld_opdr_omschrijving oms, o.mld_opdr_opmerking opm, o.mld_opdr_datumbegin datum_aanmaak, -- Of verzonden? --fac.datumtijdplusuitvoertijd (o.mld_opdr_datumbegin, m.mld_melding_t_uitvoertijd.tijdsduur, m.mld_melding_t_uitvoertijd.eenheid) o.mld_opdr_einddatum datum_gepland, fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) datum_gereed, b.prs_bedrijf_key, b.prs_bedrijf_naam bedrijf, o.mld_opdr_contactpersoon cp, o.mld_opdr_kosten kosten FROM mld_opdr o, prs_bedrijf b, mld_melding m, prs_v_perslid_fullnames_all pf, alg_v_allonrgoed_gegevens og, alg_gebouw g, prs_v_perslid_fullnames pm, mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd, prs_kostensoort ksm, prs_kostensoort ksv, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE o.mld_typeopdr_key = 101 -- Alleen Werkopdrachten??? AND o.mld_statusopdr_key = 6 -- Afgemeld??? AND o.mld_uitvoerende_keys = b.prs_bedrijf_key AND o.mld_melding_key = m.mld_melding_key AND m.prs_perslid_key = pf.prs_perslid_key AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys AND og.alg_gebouw_key = g.alg_gebouw_key(+) AND g.prs_perslid_key_verantw = pm.prs_perslid_key(+) AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+) AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+) AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) a LEFT JOIN ( SELECT o.mld_opdr_key, MAX (p.prs_afdeling_key) afdeling FROM mld_opdr o, prs_bedrijf b, prs_contactpersoon cp, prs_perslid p WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key AND b.prs_bedrijf_key = cp.prs_bedrijf_key AND cp.prs_perslid_key = p.prs_perslid_key GROUP BY o.mld_opdr_key) b ON a.mld_opdr_key = b.mld_opdr_key LEFT JOIN ( SELECT t.fac_tracking_refkey, t.prs_perslid_key -- Bah! FROM fac_tracking t WHERE t.fac_srtnotificatie_key = 60 -- ORDUPD AND UPPER (t.fac_tracking_oms) LIKE 'OPDRACHT IS GOEDGEKEURD DOOR%' AND NOT EXISTS (SELECT 1 FROM fac_tracking WHERE fac_srtnotificatie_key = 60 -- ORDUPD AND UPPER (fac_tracking_oms) LIKE 'OPDRACHT IS GOEDGEKEURD DOOR%' AND fac_tracking_refkey = t.fac_tracking_refkey AND fac_tracking_key < t.fac_tracking_key)) ordgoe ON a.mld_opdr_key = ordgoe.fac_tracking_refkey; CREATE OR REPLACE VIEW blcc_v_rap_maand_ordafr ( maand, prefix, opdr_key, opdr, kpn, kplaats_nr, kplaats_oms, --corr_kplaats, ksoort_code, ksoort_oms, --org_ksoort, propertymanager, gebouw_terrein, verdieping, ruimte, vakgroep, melding, melder, omschrijving, opmerking, aanmaak, gepland, gereed, uitv_key, uitvoerende, contactpersoon, kosten, fclt_3d_afdeling_key ) AS SELECT TO_CHAR (SYSDATE, 'yyyy-mm'), a.prefix, a.mld_opdr_key, a.opdracht, COALESCE (a.prs_kostenplaatsgrp_nr, SUBSTR (a.kdrager, 1, 5)) kpn, a.kdrager, a.kdrager_oms, a.ksoort, a.ksoort_oms, a.propertymanager, a.gebouw_terrein, a.verdieping, a.ruimte, a.vakgroep, a.melding, a.melder, a.oms, a.opm, a.datum_aanmaak, a.datum_gepland, a.datum_gereed, a.prs_bedrijf_key, a.bedrijf, a.cp, COALESCE (a.kosten, 0), b.afdeling FROM (SELECT o.mld_opdr_key, COALESCE (og.alg_gebouw_key, og.alg_terreinsector_key) gebter_key, sd.ins_srtdiscipline_prefix prefix, o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdracht, kpg.prs_kostenplaatsgrp_nr, kp.prs_kostenplaats_nr kdrager, kp.prs_kostenplaats_omschrijving kdrager_oms, COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) ksoort, DECODE (ksm.prs_kostensoort_oms, NULL, ksv.prs_kostensoort_opmerking, ksm.prs_kostensoort_opmerking) ksoort_oms, pm.prs_perslid_naam_full propertymanager, COALESCE (og.alg_terreinsector_code, og.alg_gebouw_code) gebouw_terrein, og.alg_verdieping_code verdieping, og.alg_ruimte_nr ruimte, td.ins_discipline_omschrijving vakgroep, sm.mld_stdmelding_omschrijving melding, pf.prs_perslid_naam_full melder, o.mld_opdr_omschrijving oms, o.mld_opdr_opmerking opm, o.mld_opdr_datumbegin datum_aanmaak, -- Of verzonden? --fac.datumtijdplusuitvoertijd (o.mld_opdr_datumbegin, m.mld_melding_t_uitvoertijd.tijdsduur, m.mld_melding_t_uitvoertijd.eenheid) o.mld_opdr_einddatum datum_gepland, fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) datum_gereed, b.prs_bedrijf_key, b.prs_bedrijf_naam bedrijf, o.mld_opdr_contactpersoon cp, o.mld_opdr_kosten kosten FROM mld_opdr o, prs_bedrijf b, mld_melding m, prs_v_perslid_fullnames_all pf, alg_v_allonrgoed_gegevens og, alg_gebouw g, prs_v_perslid_fullnames pm, mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd, prs_kostensoort ksm, prs_kostensoort ksv, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE o.mld_typeopdr_key = 101 -- Alleen Werkopdrachten??? AND o.mld_statusopdr_key = 9 -- Afgerond??? AND o.mld_uitvoerende_keys = b.prs_bedrijf_key AND o.mld_melding_key = m.mld_melding_key AND m.prs_perslid_key = pf.prs_perslid_key AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys AND og.alg_gebouw_key = g.alg_gebouw_key(+) AND g.prs_perslid_key_verantw = pm.prs_perslid_key(+) AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+) AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+) AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) a LEFT JOIN ( SELECT o.mld_opdr_key, MAX (p.prs_afdeling_key) afdeling FROM mld_opdr o, prs_bedrijf b, prs_contactpersoon cp, prs_perslid p WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key AND b.prs_bedrijf_key = cp.prs_bedrijf_key AND cp.prs_perslid_key = p.prs_perslid_key GROUP BY o.mld_opdr_key) b ON a.mld_opdr_key = b.mld_opdr_key; /* CREATE OR REPLACE VIEW wtca_v_rap_maand_actual_fact ( maand, tot_datum, opdr, maatschap, ksoort, ksoort_oms, gebouw_terrein, verdieping, ruimte, vakgroep, melding, melder, omschrijving, opmerking, aanmaak, gereed, fclt_f_uitvoerende, kosten, fclt_3d_afdeling_key ) AS SELECT maand, TO_CHAR (TO_DATE (maand || '-01', 'yyyy-mm-dd') - 1, 'dd-mm-yyyy'), opdr, fclt_f_maatschap, fclt_f_ksoort, fclt_f_ksoort_oms, fclt_f_gebouw_terrein, verdieping, ruimte, fclt_f_vakgroep, fclt_f_melding, melder, omschrijving, opmerking, aanmaak, gereed, fclt_f_uitvoerende, kosten, fclt_3d_afdeling_key FROM wtca_v_rap_maand_actual; */ CREATE OR REPLACE VIEW blcc_v_rap_maand_ordver ( maand, prefix, opdr_key, opdr, kpn, kplaats_nr, kplaats_oms, --corr_kplaats, ksoort_code, ksoort_oms, --org_ksoort, propertymanager, gebouw_terrein, verdieping, ruimte, vakgroep, melding, melder, omschrijving, opmerking, aanmaak, gepland, gereed, uitv_key, uitvoerende, contactpersoon, kosten, fclt_3d_afdeling_key ) AS SELECT TO_CHAR (fac.gettrackingdate ('ORDVER', a.mld_opdr_key), 'yyyy-mm-dd'), COALESCE (c2.prefix, a.prefix), a.mld_opdr_key, a.opdracht, COALESCE (a.prs_kostenplaatsgrp_nr, SUBSTR (a.kdrager, 1, 5)) kpn, a.kdrager, a.kdrager_oms, --c1.corr_kdrager, COALESCE (c2.corr_ksoort, a.ksoort), COALESCE (c2.corr_ksoort_oms, a.ksoort_oms), --DECODE (c2.corr_ksoort, NULL, NULL, a.ksoort || '-' || a.ksoort_oms), a.propertymanager, a.gebouw_terrein, a.verdieping, a.ruimte, COALESCE (c2.vakgroep, a.vakgroep), COALESCE (c2.melding, a.melding), a.melder, a.oms, a.opm, a.datum_aanmaak, a.datum_gepland, a.datum_gereed, a.prs_bedrijf_key, a.bedrijf, a.cp, COALESCE (a.kosten, 0), b.afdeling FROM (SELECT o.mld_opdr_key, COALESCE (og.alg_gebouw_key, og.alg_terreinsector_key) gebter_key, sd.ins_srtdiscipline_prefix prefix, o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdracht, kpg.prs_kostenplaatsgrp_nr, kp.prs_kostenplaats_nr kdrager, kp.prs_kostenplaats_omschrijving kdrager_oms, COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) ksoort, DECODE (ksm.prs_kostensoort_oms, NULL, ksv.prs_kostensoort_opmerking, ksm.prs_kostensoort_opmerking) ksoort_oms, pm.prs_perslid_naam_full propertymanager, COALESCE (og.alg_terreinsector_code, og.alg_gebouw_code) gebouw_terrein, og.alg_verdieping_code verdieping, og.alg_ruimte_nr ruimte, td.ins_discipline_omschrijving vakgroep, sm.mld_stdmelding_omschrijving melding, pf.prs_perslid_naam_full melder, o.mld_opdr_omschrijving oms, o.mld_opdr_opmerking opm, o.mld_opdr_datumbegin datum_aanmaak, -- Of verzonden? --fac.datumtijdplusuitvoertijd (o.mld_opdr_datumbegin, m.mld_melding_t_uitvoertijd.tijdsduur, m.mld_melding_t_uitvoertijd.eenheid) o.mld_opdr_einddatum datum_gepland, fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) datum_gereed, b.prs_bedrijf_key, b.prs_bedrijf_naam bedrijf, o.mld_opdr_contactpersoon cp, o.mld_opdr_kosten kosten FROM mld_opdr o, prs_bedrijf b, mld_melding m, prs_v_perslid_fullnames_all pf, alg_v_allonrgoed_gegevens og, alg_gebouw g, prs_v_perslid_fullnames pm, mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd, prs_kostensoort ksm, prs_kostensoort ksv, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE o.mld_typeopdr_key = 101 -- Alleen Werkopdrachten??? AND o.mld_statusopdr_key = 7 -- Verwerkt??? AND o.mld_uitvoerende_keys = b.prs_bedrijf_key AND o.mld_melding_key = m.mld_melding_key AND m.prs_perslid_key = pf.prs_perslid_key AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys AND og.alg_gebouw_key = g.alg_gebouw_key(+) AND g.prs_perslid_key_verantw = pm.prs_perslid_key(+) AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+) AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+) AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) a LEFT JOIN ( SELECT o.mld_opdr_key, MAX (p.prs_afdeling_key) afdeling FROM mld_opdr o, prs_bedrijf b, prs_contactpersoon cp, prs_perslid p WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key AND b.prs_bedrijf_key = cp.prs_bedrijf_key AND cp.prs_perslid_key = p.prs_perslid_key GROUP BY o.mld_opdr_key) b ON a.mld_opdr_key = b.mld_opdr_key LEFT JOIN (SELECT ko.mld_opdr_key, ud.fac_usrdata_omschr corr_kplaats FROM mld_kenmerkopdr ko, fac_usrdata ud WHERE ko.mld_kenmerk_key = -1 -- Corr. kplaats AND TO_CHAR (ud.fac_usrdata_key) = ko.mld_kenmerkopdr_waarde) c1 ON a.mld_opdr_key = c1.mld_opdr_key LEFT JOIN (SELECT ko.mld_opdr_key, COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) corr_ksoort, DECODE (ksm.prs_kostensoort_oms, NULL, ksv.prs_kostensoort_opmerking, ksm.prs_kostensoort_opmerking) corr_ksoort_oms, sd.ins_srtdiscipline_prefix prefix, td.ins_discipline_omschrijving vakgroep, sm.mld_stdmelding_omschrijving melding FROM mld_v_aanwezigkenmerkopdr ko, mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd, prs_kostensoort ksm, prs_kostensoort ksv WHERE ko.mld_kenmerk_key = -1 -- Corr. melding AND TO_CHAR (sm.mld_stdmelding_key) = ko.mld_kenmerkopdr_waarde AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+) AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+) AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key) c2 ON a.mld_opdr_key = c2.mld_opdr_key WHERE fac.gettrackingdate ('ORDVER', a.mld_opdr_key) > TO_DATE ('01012019', 'ddmmyyyy'); /* CREATE OR REPLACE VIEW wtca_v_rap_maand_frozen_fact ( fclt_f_maand, tot_datum, opdr, maatschap, ksoort, ksoort_oms, gebouw_terrein, verdieping, ruimte, vakgroep, melding, melder, omschrijving, opmerking, aanmaak, gereed, fclt_f_uitvoerende, kosten, fclt_3d_afdeling_key ) AS SELECT SUBSTR (fclt_f_maand, 1, 7), TO_CHAR (TO_DATE (SUBSTR (fclt_f_maand, 1, 7) || '-01', 'yyyy-mm-dd') - 1, 'dd-mm-yyyy'), opdr, fclt_f_maatschap, fclt_f_ksoort, fclt_f_ksoort_oms, fclt_f_gebouw_terrein, verdieping, ruimte, fclt_f_vakgroep, fclt_f_melding, melder, omschrijving, opmerking, aanmaak, gereed, fclt_f_uitvoerende, kosten, fclt_3d_afdeling_key FROM wtca_v_rap_maand_frozen WHERE SUBSTR (fclt_f_archief, 1, 4) >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy'); */ CREATE OR REPLACE VIEW blcc_v_rap_freezeopdrachten ( kpn, aantal, kosten ) AS SELECT COALESCE (kpg.prs_kostenplaatsgrp_nr, SUBSTR (kp.prs_kostenplaats_nr, 1, 5)), COUNT ( * ) aantal, SUM (mld_opdr_kosten) kosten FROM mld_opdr o, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE o.mld_typeopdr_key = 101 -- WO AND o.mld_statusopdr_key = 9 -- Afgerond --AND fac.gettrackingdate ('ORDAFR', o.mld_opdr_key) < TRUNC (SYSDATE, 'mm') AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) GROUP BY COALESCE (kpg.prs_kostenplaatsgrp_nr, SUBSTR (kp.prs_kostenplaats_nr, 1, 5)); -- BLCC#58929: Alle reserveringen binnne CAMPUS! CREATE OR REPLACE VIEW blcc_v_rap_res_all ( res_rsv_ruimte_key, datum, van, tot, activiteit, ruimte, resnr, status, aant_pers, voorz_opstel, gastheer_vrouw, aanvrager, aanvr_tel, aanvr_mob, kostenplaats, debiteur, kosten, -- Niet in Management Info? omschrijving, opmerking, dirty, act_contract -- Lopend contract (Actief en Actueel)! ) AS SELECT rrr.res_rsv_ruimte_key, rrr.res_rsv_ruimte_van datum, TO_CHAR (rrr.res_rsv_ruimte_van, 'hh24:mi') van, TO_CHAR (rrr.res_rsv_ruimte_tot, 'hh24:mi') tot, act.res_activiteit_omschrijving, COALESCE (res_ruimte_nr, rg.alg_ruimte_aanduiding || DECODE (rg.alg_ruimte_omschrijving, NULL, '', ' (' || rg.alg_ruimte_omschrijving || ')')) ruimte, rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr resnr, rs.res_status_bo_omschrijving status, rrr.res_rsv_ruimte_bezoekers aant_pers, COALESCE ((SELECT res_opstelling_omschrijving FROM res_opstelling WHERE res_opstelling_key = rro.res_opstelling_key), 'Voorzieningen') voorzieningen_opstelling, pfh.prs_perslid_naam_full gastheer_vrouw, pfc.prs_perslid_naam_full aanvrager, pc.prs_perslid_telefoonnr aanvr_tel, pc.prs_perslid_mobiel aanvr_mob, kp.prs_kostenplaats_nr, kl.prs_kenmerklink_waarde debiteur, res.getdeelresprijs (rrr.res_rsv_ruimte_key) kosten, -- Niet in Management Info? rrr.res_rsv_ruimte_omschrijving oms, rrr.res_rsv_ruimte_opmerking opm, rrr.res_rsv_ruimte_dirtlevel dirty, COALESCE (c.contract_id, 'Geen') contract_id FROM res_v_aanwezigrsv_ruimte rrr, res_activiteit act, ( SELECT res_rsv_ruimte_key, MIN (res_status_bo_key) res_status_bo_key FROM (SELECT res_rsv_ruimte_key, res_status_bo_key FROM res_v_aanwezigrsv_ruimte UNION ALL SELECT res_rsv_ruimte_key, res_status_bo_key FROM res_v_aanwezigrsv_artikel UNION ALL SELECT res_rsv_ruimte_key, res_status_bo_key FROM res_v_aanwezigrsv_deel) GROUP BY res_rsv_ruimte_key) r2s, res_status_bo rs, res_ruimte_opstelling rro, res_ruimte rr, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NULL GROUP BY res_ruimte_key) rar1, ( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key FROM res_alg_ruimte WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_ruimte_gegevens_all rg, prs_perslid pc, prs_v_perslid_fullnames_all pfc, prs_perslid ph, prs_v_perslid_fullnames_all pfh, prs_v_afdeling_boom ab, prs_kenmerklink kl, prs_kostenplaats kp, ( SELECT c.prs_afdeling_key_eig, MAX (c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0')) contract_id, MAX (b.prs_bedrijf_naam) bedrijf FROM cnt_v_aanwezigcontract c, prs_bedrijf b WHERE c.ins_discipline_key = 1841 AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde *deze* maand! AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin *deze* maand! AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key GROUP BY c.prs_afdeling_key_eig) c WHERE rrr.res_rsv_ruimte_van > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy') AND rrr.res_activiteit_key = act.res_activiteit_key AND rrr.res_rsv_ruimte_key = r2s.res_rsv_ruimte_key(+) AND r2s.res_status_bo_key = rs.res_status_bo_key(+) AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) AND rro.res_ruimte_key = rr.res_ruimte_key(+) AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = rg.alg_ruimte_key AND rg.alg_locatie_key = 1 -- CAMPUS AND rrr.res_rsv_ruimte_contact_key = pc.prs_perslid_key AND pc.prs_perslid_key = pfc.prs_perslid_key AND rrr.res_rsv_ruimte_host_key = ph.prs_perslid_key AND ph.prs_perslid_key = pfh.prs_perslid_key AND ph.prs_afdeling_key = ab.prs_afdeling_key AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+) AND kl.prs_kenmerklink_niveau(+) = 'A' AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) --AND rrr.res_rsv_ruimte_dirtlevel = 0 AND ab.prs_afdeling_key1 = c.prs_afdeling_key_eig(+) ; -- BLCC#59950: Import gebouw-scope bij contract inclusief waarde. CREATE OR REPLACE VIEW blcc_v_rap_cnt_gebscope ( contractnr, gebouwcode, gebouwkosten ) AS SELECT c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) contractnr, g.alg_gebouw_code, cp.cnt_contract_plaats_gewicht FROM cnt_contract_plaats cp, cnt_v_aanwezigcontract c, alg_v_aanweziggebouw g WHERE cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_contract_key = c.cnt_contract_key AND c.ins_discipline_key = 2221 -- Planned Maintenance AND c.cnt_contract_status = 0 -- Definitief AND NOT EXISTS -- Beschouw alleen laatste versie van contracten (SELECT 1 FROM cnt_v_aanwezigcontract WHERE ins_discipline_key = 2221 -- Planned Maintenance AND cnt_contract_nummer_intern = c.cnt_contract_nummer_intern AND cnt_contract_versie > COALESCE (c.cnt_contract_versie, '0')) AND cp.cnt_alg_plaats_key = g.alg_gebouw_key AND cp.cnt_alg_plaats_code = 'G'; CREATE OR REPLACE PROCEDURE blcc_import_cnt_gebscope (p_import_key IN NUMBER) IS c_delim VARCHAR2 (1) := ';'; v_newline VARCHAR2 (1000); -- Input line v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); header_is_valid NUMBER; v_count_tot NUMBER (10); v_count_import NUMBER (10); v_ongeldig NUMBER (1); v_aanduiding VARCHAR2 (200); -- De importvelden: v_contractnr VARCHAR2 (255); -- C30+'.'+C10 v_gebouwcode VARCHAR2 (255); -- C12 v_gebouwkosten VARCHAR2 (255); v_ruimtenr VARCHAR2 (255); -- C10 CURSOR c1 IS SELECT * FROM fac_imp_file WHERE fac_import_key = p_import_key ORDER BY fac_imp_file_index; BEGIN DELETE FROM blcc_imp_cnt_gebscope; COMMIT; v_count_tot := 0; v_count_import := 0; header_is_valid := 0; FOR rec1 IN c1 LOOP BEGIN v_newline := rec1.fac_imp_file_line; v_errormsg := 'Fout opvragen importregel'; v_aanduiding := ''; v_ongeldig := 0; -- Lees alle veldwaarden fac.imp_getfield (v_newline, c_delim, v_contractnr); fac.imp_getfield (v_newline, c_delim, v_gebouwcode); fac.imp_getfield (v_newline, c_delim, v_gebouwkosten); fac.imp_getfield (v_newline, c_delim, v_ruimtenr); v_aanduiding := '[' || v_contractnr || '|' || v_gebouwcode || '] '; -- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen -- de juiste kolomkop. Ik controleer daarbij ALLE kolommen! -- Ik negeer alles totdat ik een geldige header ben gepasseerd. IF (header_is_valid = 0) THEN IF UPPER (v_contractnr) = 'CONTRACTNR' AND UPPER (v_gebouwcode) = 'GEBOUWCODE' AND UPPER (v_gebouwkosten) = 'GEBOUWKOSTEN' --AND UPPER (v_gebouwkosten) = 'RUIMTENR' -- Optioneel THEN header_is_valid := 1; END IF; ELSE v_count_tot := v_count_tot + 1; -- Controleer alle veldwaarden v_errormsg := 'Contractnr ongeldig; ongedefinieerd of te lang'; v_contractnr := TRIM (v_contractnr); IF v_contractnr IS NULL OR LENGTH (v_contractnr) > 40 THEN v_ongeldig := 1; fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'Regel wordt overgeslagen!'); END IF; -- v_errormsg := 'Gebouwcode ongeldig; ongedefinieerd of te lang'; v_gebouwcode := TRIM (v_gebouwcode); IF v_gebouwcode IS NULL OR LENGTH (v_gebouwcode) > 12 THEN v_ongeldig := 1; fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'Regel wordt overgeslagen!'); END IF; -- v_errormsg := 'Gebouwkosten ongeldig'; v_gebouwkosten := REPLACE (TRIM (v_gebouwkosten), ',', '.'); IF v_gebouwkosten IS NOT NULL AND fac.safe_to_number (v_gebouwkosten) IS NULL THEN fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'Gebouwkosten worden genegeerd!'); END IF; -- v_errormsg := 'Ruimtenummer te lang'; v_ruimtenr := TRIM (v_ruimtenr); IF LENGTH (v_ruimtenr) > 10 THEN v_ongeldig := 1; fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'Regel wordt overgeslagen!'); END IF; -- Insert geformatteerde import record IF v_ongeldig = 0 THEN BEGIN v_errormsg := 'Fout wegschrijven importregel'; INSERT INTO blcc_imp_cnt_gebscope (contractnr, gebouwcode, gebouwkosten, ruimtenr) VALUES (v_contractnr, v_gebouwcode, fac.safe_to_number (v_gebouwkosten), v_ruimtenr); COMMIT; v_count_import := v_count_import + 1; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, ''); COMMIT; END; END IF; END IF; END; END LOOP; IF (header_is_valid = 0) THEN fac.imp_writelog (p_import_key, 'E', 'Ongeldig importbestand', 'Geen header of header niet volgens specificatie!'); ELSE fac.imp_writelog (p_import_key, 'S', 'CNT-gebscope/#ingelezen importregels: ' || TO_CHAR (v_count_tot), ''); fac.imp_writelog (p_import_key, 'S', 'CNT-gebscope/#ongeldige niet ingelezen importregels: ' || TO_CHAR (v_count_tot - v_count_import), ''); END IF; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, 'Inleesproces CNT-gebscope afgebroken!'); END blcc_import_cnt_gebscope; / CREATE OR REPLACE PROCEDURE blcc_update_cnt_gebscope (p_import_key IN NUMBER) AS v_errormsg VARCHAR2 (1000) := '-'; oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_aanduiding VARCHAR2 (200); v_importeur_key NUMBER (10); v_count NUMBER (10); v_count_del NUMBER (10); v_count_upd NUMBER (10); v_contract_kosten NUMBER (10); -- Verwijderen gebouw-scope! CURSOR c1 IS SELECT c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) contractnr, g.alg_gebouw_code, cp.cnt_contract_plaats_key FROM cnt_contract_plaats cp, cnt_v_aanwezigcontract c, alg_gebouw g WHERE cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_contract_key = c.cnt_contract_key AND c.ins_discipline_key = 2221 -- Planned Maintenance --AND c.cnt_contract_status = 0 -- Definitief AND NOT EXISTS -- Beschouw alleen laatste versie van contracten? (SELECT 1 FROM cnt_v_aanwezigcontract WHERE ins_discipline_key = 2221 -- Planned Maintenance AND cnt_contract_nummer_intern = c.cnt_contract_nummer_intern AND cnt_contract_versie > COALESCE (c.cnt_contract_versie, '0')) AND cp.cnt_alg_plaats_key = g.alg_gebouw_key AND cp.cnt_alg_plaats_code = 'G' AND EXISTS (SELECT 1 FROM blcc_imp_cnt_gebscope WHERE ruimtenr IS NULL AND UPPER (contractnr) = UPPER (c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie))) AND NOT EXISTS (SELECT 1 FROM blcc_imp_cnt_gebscope WHERE ruimtenr IS NULL AND UPPER (contractnr) = UPPER (c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)) AND UPPER (gebouwcode) = g.alg_gebouw_upper) ORDER BY 1, 2; -- Bijwerken gebouw-scope! CURSOR c2 IS SELECT i.contractnr, i.gebouwcode, i.gebouwkosten, c.cnt_contract_key, g.alg_gebouw_key, cp.cnt_contract_plaats_key, cp.cnt_contract_plaats_gewicht FROM blcc_imp_cnt_gebscope i, cnt_v_aanwezigcontract c, alg_v_aanweziggebouw g, (SELECT * FROM cnt_contract_plaats WHERE cnt_alg_plaats_code = 'G') cp WHERE i.ruimtenr IS NULL AND UPPER (i.contractnr) = UPPER (c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)) AND c.ins_discipline_key = 2221 -- Planned Maintenance --AND c.cnt_contract_status = 0 -- Definitief AND UPPER (i.gebouwcode) = g.alg_gebouw_upper(+) AND c.cnt_contract_key = cp.cnt_contract_key(+) AND g.alg_gebouw_key = cp.cnt_alg_plaats_key(+) ORDER BY 1, 2, 3; -- Bijwerken totaal! CURSOR c3 IS SELECT c.cnt_contract_key, i.contractnr, SUM (i.gebouwkosten) gebouwtotaal FROM blcc_imp_cnt_gebscope i, cnt_v_aanwezigcontract c WHERE i.ruimtenr IS NULL AND UPPER (i.contractnr) = UPPER (c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)) AND c.ins_discipline_key = 2221 -- Planned Maintenance --AND c.cnt_contract_status = 0 -- Definitief GROUP BY c.cnt_contract_key, i.contractnr ORDER BY 1; -- Verwijderen ruimte-scope! CURSOR c4 IS SELECT c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) contractnr, r.alg_ruimte_nr, cp.cnt_contract_plaats_key FROM cnt_contract_plaats cp, cnt_v_aanwezigcontract c, alg_ruimte r WHERE cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_contract_key = c.cnt_contract_key AND c.ins_discipline_key = 2501 -- Soft Services Cleaning --AND c.cnt_contract_status = 0 -- Definitief AND NOT EXISTS -- Beschouw alleen laatste versie van contracten? (SELECT 1 FROM cnt_v_aanwezigcontract WHERE ins_discipline_key = 2501 -- Planned Maintenance AND cnt_contract_nummer_intern = c.cnt_contract_nummer_intern AND cnt_contract_versie > COALESCE (c.cnt_contract_versie, '0')) AND cp.cnt_alg_plaats_key = r.alg_ruimte_key AND cp.cnt_alg_plaats_code = 'R' AND EXISTS (SELECT 1 FROM blcc_imp_cnt_gebscope WHERE ruimtenr IS NOT NULL AND UPPER (contractnr) = UPPER (c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '.0', '.' || c.cnt_contract_versie))) AND NOT EXISTS (SELECT 1 FROM blcc_imp_cnt_gebscope WHERE ruimtenr IS NOT NULL AND UPPER (contractnr) = UPPER (c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '.0', '.' || c.cnt_contract_versie)) AND UPPER (ruimtenr) = r.alg_ruimte_upper_nr) ORDER BY 1, 2; -- Bijwerken ruimte-scope! CURSOR c5 IS SELECT i.contractnr, i.ruimtenr, c.cnt_contract_key, r.alg_ruimte_key, cp.cnt_contract_plaats_key, cp.cnt_contract_plaats_gewicht FROM blcc_imp_cnt_gebscope i, cnt_v_aanwezigcontract c, alg_v_aanwezigruimte r, (SELECT * FROM cnt_contract_plaats WHERE cnt_alg_plaats_code = 'R') cp WHERE i.ruimtenr IS NOT NULL AND UPPER (i.contractnr) = UPPER (c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '.0', '.' || c.cnt_contract_versie)) AND c.ins_discipline_key = 2501 -- Soft Services Cleaning --AND c.cnt_contract_status = 0 -- Definitief AND UPPER (i.ruimtenr) = r.alg_ruimte_upper_nr(+) AND c.cnt_contract_key = cp.cnt_contract_key(+) AND r.alg_ruimte_key = cp.cnt_alg_plaats_key(+) ORDER BY 1, 2; BEGIN v_errormsg := 'Fout bepalen importeur'; SELECT prs_perslid_key INTO v_importeur_key FROM fac_import WHERE fac_import_key = p_import_key; SELECT COUNT (*) INTO v_count FROM blcc_imp_cnt_gebscope WHERE ruimtenr IS NOT NULL; IF v_count = 0 THEN v_count_del := 0; FOR rec IN c1 LOOP BEGIN v_aanduiding := '[' || rec.contractnr || '|' || rec.alg_gebouw_code || '] '; v_errormsg := 'Fout verwijderen contract-gebouw'; UPDATE cnt_contract_plaats SET cnt_contract_plaats_verwijder = SYSDATE WHERE cnt_alg_plaats_code = 'G' AND cnt_contract_plaats_key = rec.cnt_contract_plaats_key; v_count_del := v_count_del + 1; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'DEL-loop (G)'); COMMIT; END; END LOOP; fac.imp_writelog (p_import_key, 'S', 'CNT-scope/#verwijderd (G): ' || TO_CHAR (v_count_del), ''); v_count_upd := 0; FOR rec IN c2 LOOP BEGIN v_aanduiding := '[' || rec.contractnr || '|' || rec.gebouwcode || '] '; IF rec.alg_gebouw_key IS NOT NULL THEN IF rec.cnt_contract_plaats_key IS NULL THEN v_errormsg := 'Fout toevoegen contract-gebouw'; INSERT INTO cnt_contract_plaats (cnt_contract_key, cnt_alg_plaats_key, cnt_alg_plaats_code, cnt_contract_plaats_gewicht) VALUES (rec.cnt_contract_key, rec.alg_gebouw_key, 'G', rec.gebouwkosten); v_count_upd := v_count_upd + 1; ELSIF rec.gebouwkosten != rec.cnt_contract_plaats_gewicht THEN v_errormsg := 'Fout bijwerken contract-gebouw'; UPDATE cnt_contract_plaats SET cnt_contract_plaats_gewicht = rec.gebouwkosten WHERE cnt_contract_plaats_key = rec.cnt_contract_plaats_key; v_count_upd := v_count_upd + 1; END IF; ELSE fac.imp_writelog (p_import_key, 'W', v_aanduiding || 'Fout bepalen contract-gebouw', 'Gebouw bestaat niet'); END IF; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'UPD-gebouw'); COMMIT; END; END LOOP; fac.imp_writelog (p_import_key, 'S', 'CNT-gebouw/#bijgewerkt: ' || TO_CHAR (v_count_upd), ''); v_count_upd := 0; FOR rec IN c3 LOOP BEGIN v_aanduiding := '[' || rec.contractnr || '] '; v_errormsg := 'Fout bijwerken contract-totaal'; UPDATE cnt_contract SET cnt_contract_kosten = rec.gebouwtotaal WHERE cnt_contract_key = rec.cnt_contract_key; fac.trackaction ('CNTUPD', rec.cnt_contract_key, v_importeur_key, NULL, 'Contract-scope bijgewerkt via import'); v_count_upd := v_count_upd + 1; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'UPD-totaal'); COMMIT; END; END LOOP; fac.imp_writelog (p_import_key, 'S', 'CNT-totaal/#bijgewerkt: ' || TO_CHAR (v_count_upd), ''); ELSE v_count_del := 0; FOR rec IN c4 LOOP BEGIN v_aanduiding := '[' || rec.contractnr || '|' || rec.alg_ruimte_nr || '] '; v_errormsg := 'Fout verwijderen contract-ruimte'; UPDATE cnt_contract_plaats SET cnt_contract_plaats_verwijder = SYSDATE WHERE cnt_alg_plaats_code = 'R' AND cnt_contract_plaats_key = rec.cnt_contract_plaats_key; v_count_del := v_count_del + 1; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'DEL-loop (R)'); COMMIT; END; END LOOP; fac.imp_writelog (p_import_key, 'S', 'CNT-scope/#verwijderd (R): ' || TO_CHAR (v_count_del), ''); v_count_upd := 0; FOR rec IN c5 LOOP BEGIN v_aanduiding := '[' || rec.contractnr || '|' || rec.ruimtenr || '] '; IF rec.alg_ruimte_key IS NOT NULL THEN IF rec.cnt_contract_plaats_key IS NULL THEN v_errormsg := 'Fout toevoegen contract-ruimte'; INSERT INTO cnt_contract_plaats (cnt_contract_key, cnt_alg_plaats_key, cnt_alg_plaats_code, cnt_contract_plaats_gewicht) VALUES (rec.cnt_contract_key, rec.alg_ruimte_key, 'R', NULL); v_count_upd := v_count_upd + 1; END IF; ELSE fac.imp_writelog (p_import_key, 'W', v_aanduiding || 'Fout bepalen contract-ruimte', 'Ruimte bestaat niet'); END IF; COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg, 'UPD-ruimte'); COMMIT; END; END LOOP; fac.imp_writelog (p_import_key, 'S', 'CNT-ruimte/#bijgewerkt: ' || TO_CHAR (v_count_upd), ''); END IF; v_errormsg := 'Fout bepalen aantallen'; SELECT COUNT (DISTINCT i.contractnr) INTO v_count FROM blcc_imp_cnt_gebscope i; fac.imp_writelog (p_import_key, 'S', 'CNT-contracten/#ingelezen: ' || TO_CHAR (v_count), ''); /* SELECT COUNT (DISTINCT i.contractnr) INTO v_count FROM blcc_imp_cnt_gebscope i WHERE EXISTS (SELECT 1 FROM cnt_v_aanwezigcontract c WHERE UPPER (c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)) = UPPER (i.contractnr)); fac.imp_writelog (p_import_key, 'S', 'CNT-contracten/#bijgewerkt: ' || TO_CHAR (v_count), ''); */ COMMIT; EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 200); v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'E', v_errormsg, 'Importproces CNT-gebscope afgebroken!'); END blcc_update_cnt_gebscope; / CREATE OR REPLACE VIEW blcc_v_rap_ruimteoverzicht AS SELECT x.alg_ruimte_key, x.alg_locatie_code locatiecode, x.alg_gebouw_code gebouwcode, x.alg_verdieping_code verdiepingcode, x.alg_ruimte_nr ruimtenummer, DECODE (x.prs_verhuurbaar, NULL, 'Nee', 'Ja') verhuurbaar, x.alg_srtruimte_omschrijving ruimtefunctie, x.alg_ruimte_omschrijving ruimteomschrijving, x.vvo, x.bvo, x.lhkotc_class, DECODE (c.contract, NULL, 'Nee', 'Ja') contract, c.contract contractnr, pf1.prs_perslid_naam_full gebouwverantw1, pf2.prs_perslid_naam_full gebouwverantw2, (SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = fac.safe_to_number (dvl.alg_onrgoedkenmerk_waarde)) dienstverlener, (SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = fac.safe_to_number (eig.alg_onrgoedkenmerk_waarde)) eigenaar, sg.alg_srtgebouw_omschrijving gebouwfunctie, SUBSTR (bouwjaar.alg_onrgoedkenmerk_waarde, 7, 10) bouwjaar, (SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = fac.safe_to_number (strategie.alg_onrgoedkenmerk_waarde)) strategie, (SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = fac.safe_to_number (rw_m2.alg_onrgoedkenmerk_waarde)) rekenwijze_m2, lc.last_change last_change FROM (SELECT g.alg_gebouw_key, r.alg_ruimte_key, l.alg_locatie_code, g.alg_gebouw_code, v.alg_verdieping_code, r.alg_ruimte_nr, sr.alg_srtruimte_omschrijving, sr.prs_verhuurbaar, r.alg_ruimte_omschrijving, r.alg_ruimte_opp_alt1 vvo, r.alg_ruimte_bruto_vloeropp bvo, ud.fac_usrdata_code lhkotc_class FROM alg_v_aanwezigruimte r, alg_verdieping v, alg_gebouw g, alg_locatie l, alg_v_aanwezigsrtruimte sr, alg_v_aanwezigonrgoedkenmerk rlhkot, fac_usrdata ud WHERE r.alg_verdieping_key = v.alg_verdieping_key AND v.alg_gebouw_key = g.alg_gebouw_key AND g.alg_locatie_key = l.alg_locatie_key AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+) AND r.alg_ruimte_key = rlhkot.alg_onrgoed_key(+) AND rlhkot.alg_kenmerk_key(+) = 1100 -- LHKOTC Classificatie AND rlhkot.alg_onrgoed_niveau(+) = 'R' AND fac.safe_to_number (rlhkot.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key(+)) x LEFT JOIN ( SELECT cp.cnt_alg_plaats_key, LISTAGG (c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0'), ',') WITHIN GROUP (ORDER BY c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0')) contract FROM cnt_v_aanwezigcontract c, cnt_contract_plaats cp WHERE SYSDATE BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1) AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_contract_key = cp.cnt_contract_key AND cp.cnt_contract_plaats_verwijder IS NULL GROUP BY cp.cnt_alg_plaats_key) c ON x.alg_ruimte_key = c.cnt_alg_plaats_key LEFT JOIN alg_gebouw g ON x.alg_gebouw_key = g.alg_gebouw_key LEFT JOIN alg_srtgebouw sg ON g.alg_srtgebouw_key = sg.alg_srtgebouw_key LEFT JOIN prs_v_perslid_fullnames_all pf1 ON g.prs_perslid_key_verantw = pf1.prs_perslid_key LEFT JOIN prs_v_perslid_fullnames_all pf2 ON g.prs_perslid_key_verantw2 = pf2.prs_perslid_key LEFT JOIN alg_v_aanwezigonrgoedkenmerk dvl ON x.alg_gebouw_key = dvl.alg_onrgoed_key AND dvl.alg_kenmerk_key = 1060 -- Dienstverlener AND dvl.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk eig ON x.alg_gebouw_key = eig.alg_onrgoed_key AND eig.alg_kenmerk_key = 1140 -- Eigenaar AND eig.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk bouwjaar ON x.alg_gebouw_key = bouwjaar.alg_onrgoed_key AND bouwjaar.alg_kenmerk_key = 1160 -- Bouwjaar AND bouwjaar.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk strategie ON x.alg_gebouw_key = strategie.alg_onrgoed_key AND strategie.alg_kenmerk_key = 1161 -- Strategie AND strategie.alg_onrgoed_niveau = 'G' LEFT JOIN alg_v_aanwezigonrgoedkenmerk rw_m2 ON x.alg_gebouw_key = rw_m2.alg_onrgoed_key AND rw_m2.alg_kenmerk_key = 1181 -- Rekenwijze M2 AND rw_m2.alg_onrgoed_niveau = 'G' LEFT JOIN ( SELECT t.fac_tracking_refkey, MAX (t.fac_tracking_datum) last_change FROM fac_tracking t WHERE EXISTS (SELECT 1 -- Last change FROM fac_srtnotificatie WHERE fac_srtnotificatie_key = t.fac_srtnotificatie_key AND fac_srtnotificatie_code LIKE 'ALG%' AND fac_srtnotificatie_xmlnode != 'ruimte') GROUP BY t.fac_tracking_refkey) lc ON x.alg_ruimte_key = lc.fac_tracking_refkey; -- BLCC#62052: Huurder per ruimte op basis van Lease Agreements. -- UPDATE alg_srtruimte SET prs_verhuurbaar = 1 CREATE OR REPLACE VIEW blcc_v_thema_ruimte_huurder ( alg_ruimte_key, waarde, waarde_key ) AS SELECT r.alg_ruimte_key, DECODE (rh.aantal, NULL, DECODE (sr.prs_verhuurbaar, 1, '[Leegstand]', '[Niet verhuurbaar]'), 1, rh.prs_bedrijf_naam, '[Dubbel verhuurd]') waarde, DECODE (rh.aantal, -- Ongebruikte keys 11, 12 en 13! NULL, DECODE (sr.prs_verhuurbaar, 1, 11, 12), 1, rh.prs_bedrijf_key, 13) waarde_key FROM alg_v_aanwezigruimte r, alg_srtruimte sr, ( SELECT c2rh.alg_ruimte_key, MIN (b.prs_bedrijf_naam) prs_bedrijf_naam, MIN (b.prs_bedrijf_key) prs_bedrijf_key, COUNT (b.prs_bedrijf_key) aantal FROM (SELECT cp.cnt_alg_plaats_key alg_ruimte_key, c.cnt_prs_bedrijf_key FROM cnt_v_aanwezigcontract c, cnt_contract_plaats cp WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND SYSDATE BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1) AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_contract_key = cp.cnt_contract_key AND cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'R' UNION SELECT r.alg_ruimte_key, c.cnt_prs_bedrijf_key FROM cnt_v_aanwezigcontract c, cnt_contract_plaats cp, alg_v_aanwezigruimte r WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND SYSDATE BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1) AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_contract_key = cp.cnt_contract_key AND cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'V' AND cp.cnt_alg_plaats_key = r.alg_verdieping_key UNION SELECT r.alg_ruimte_key, c.cnt_prs_bedrijf_key FROM cnt_v_aanwezigcontract c, cnt_contract_plaats cp, alg_v_aanwezigverdieping v, alg_v_aanwezigruimte r WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND SYSDATE BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1) AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_contract_key = cp.cnt_contract_key AND cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'G' AND cp.cnt_alg_plaats_key = v.alg_gebouw_key AND v.alg_verdieping_key = r.alg_verdieping_key) c2rh, prs_bedrijf b WHERE c2rh.cnt_prs_bedrijf_key = b.prs_bedrijf_key --AND b.prs_bedrijf_contract = 1 AND b.prs_bedrijf_huurder = 1 --AND prs_overeenkomst_nr IS NOT NULL GROUP BY c2rh.alg_ruimte_key) rh WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key(+) AND r.alg_ruimte_key = rh.alg_ruimte_key(+) --UNION ALL -- Bedrijven die nergens aan hangen! --SELECT NULL alg_ruimte_key, b.prs_bedrijf_naam waarde, b.prs_bedrijf_key waarde_key -- FROM prs_v_aanwezigbedrijf b -- WHERE NOT EXISTS -- (SELECT 1 -- FROM cnt_v_aanwezigcontract c -- WHERE c.ins_discipline_key = 2122 -- Lease Agreement -- AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key -- AND c.prs_bedrijf_contract = 1) --AND b.prs_bedrijf_huurder = 1 UNION ALL -- Bedrijven die alleen dubbel ergens aan hangen! SELECT NULL alg_ruimte_key, prs_bedrijf_naam waarde, prs_bedrijf_key waarde_key FROM (--SELECT DISTINCT b.prs_bedrijf_naam, b.prs_bedrijf_key -- FROM prs_v_aanwezigbedrijf b, prs_contactpersoon cp, prs_v_aanwezigperslid p, prs_v_afdeling_boom ab -- WHERE b.prs_bedrijf_key = cp.prs_bedrijf_key -- AND cp.prs_contactpersoon_verwijder IS NULL -- AND cp.prs_perslid_key = p.prs_perslid_key -- AND p.prs_afdeling_key = ab.prs_afdeling_key -- AND ab.prs_bedrijf_key = 22 -- Huurders Chemelot Campus SELECT prs_bedrijf_naam, prs_bedrijf_key FROM prs_v_aanwezigbedrijf WHERE prs_bedrijf_contract = 1 --AND prs_bedrijf_huurder = 1 AND prs_overeenkomst_nr IS NOT NULL MINUS SELECT prs_bedrijf_naam, prs_bedrijf_key FROM ( SELECT c2rh.alg_ruimte_key, MIN (b.prs_bedrijf_naam) prs_bedrijf_naam, MIN (b.prs_bedrijf_key) prs_bedrijf_key, COUNT (b.prs_bedrijf_key) aantal FROM (SELECT cp.cnt_alg_plaats_key alg_ruimte_key, c.cnt_prs_bedrijf_key FROM cnt_v_aanwezigcontract c, cnt_contract_plaats cp WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND SYSDATE BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1) AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_contract_key = cp.cnt_contract_key AND cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'R' UNION SELECT r.alg_ruimte_key, c.cnt_prs_bedrijf_key FROM cnt_v_aanwezigcontract c, cnt_contract_plaats cp, alg_v_aanwezigruimte r WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND SYSDATE BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1) AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_contract_key = cp.cnt_contract_key AND cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'V' AND cp.cnt_alg_plaats_key = r.alg_verdieping_key UNION SELECT r.alg_ruimte_key, c.cnt_prs_bedrijf_key FROM cnt_v_aanwezigcontract c, cnt_contract_plaats cp, alg_v_aanwezigverdieping v, alg_v_aanwezigruimte r WHERE c.ins_discipline_key = 2122 -- Lease Agreement AND SYSDATE BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1) AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_contract_key = cp.cnt_contract_key AND cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'G' AND cp.cnt_alg_plaats_key = v.alg_gebouw_key AND v.alg_verdieping_key = r.alg_verdieping_key) c2rh, prs_bedrijf b WHERE c2rh.cnt_prs_bedrijf_key = b.prs_bedrijf_key --AND b.prs_bedrijf_contract = 1 AND b.prs_bedrijf_huurder = 1 --AND prs_overeenkomst_nr IS NOT NULL GROUP BY c2rh.alg_ruimte_key) WHERE aantal = 1); CREATE OR REPLACE VIEW blcc_v_label_ruimte_huurder (alg_ruimte_key, waarde) AS SELECT alg_ruimte_key, waarde FROM blcc_v_thema_ruimte_huurder; -- BLCC#62290: Dashboard-rapportages tbv. Servicedesk! CREATE OR REPLACE VIEW blcc_v_rap_mld_notes_sd AS SELECT SYSDATE - x.aanmaak hide_f_sort, -- Recentste bovenaan CASE WHEN x.aanmaak > SYSDATE - 5 / 24 / 60 THEN 'updated' WHEN x.aanmaak > SYSDATE - 1 / 24 THEN 'updated10' ELSE '' END hide_f_rowclass, x.mld_melding_key, x.aanmaak datumtijd, --x.aanmaak datum, --x.aanmaak tijdstip, pn.prs_perslid_naam_friendly door, REPLACE ( REPLACE ( REPLACE ( x.omschrijving, '##KEY##', TO_CHAR (m.mld_melding_key)), '##STDMLD##', sm.mld_stdmelding_omschrijving), '##DISC##', md.ins_discipline_omschrijving) omschrijving, sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) nummer, md.ins_discipline_omschrijving vakgroep, sm.mld_stdmelding_omschrijving melding, pm.prs_perslid_naam_friendly aanvrager, m.mld_melding_datum datum, COALESCE (aog.alg_plaatsaanduiding, 'CAMPUS') plaats, m.mld_melding_onderwerp onderwerp, m.mld_melding_omschrijving melding_omschrijving, ms.mld_statuses_omschrijving status, pb.prs_perslid_naam_friendly behandelaar, m.mld_melding_einddatum einddatum FROM (SELECT n.mld_melding_note_aanmaak aanmaak, n.prs_perslid_key, n.mld_melding_note_omschrijving omschrijving, n.mld_melding_key FROM mld_melding_note n WHERE n.mld_melding_note_aanmaak > TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm') -- TODO: -3? AND n.prs_perslid_key IS NOT NULL AND NOT EXISTS (SELECT 1 FROM fac_gebruikersgroep WHERE fac_groep_key = 23 -- BCC FOBO AND prs_perslid_key = n.prs_perslid_key) UNION ALL SELECT t.fac_tracking_datum aanmaak, t.prs_perslid_key, COALESCE (t.fac_tracking_oms, lcl.x ('fac_srtnotificatie_oms', sn.fac_srtnotificatie_key, sn.fac_srtnotificatie_oms)) omschrijving, t.fac_tracking_refkey mld_melding_key FROM fac_tracking t, fac_srtnotificatie sn WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm') -- TODO: -3? AND t.prs_perslid_key IS NOT NULL AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key AND sn.fac_srtnotificatie_xmlnode = 'melding' AND NOT EXISTS (SELECT 1 FROM fac_gebruikersgroep WHERE fac_groep_key = 23 -- BCC FOBO AND prs_perslid_key = t.prs_perslid_key)) x, mld_melding m, mld_stdmelding sm, mld_discipline md, ins_srtdiscipline sd, prs_v_perslid_fullnames_all pn, -- Noteur prs_v_perslid_fullnames_all pb, -- Behandelaar prs_v_perslid_fullnames_all pm, -- Melder alg_v_allonrgoed_gegevens aog, mld_statuses ms WHERE x.mld_melding_key = m.mld_melding_key --AND m.fac_activiteit_key IS NULL AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = md.ins_discipline_key AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND sd.ins_srtdiscipline_key != 21 -- Financiële administratie AND x.prs_perslid_key = pn.prs_perslid_key AND m.mld_melding_behandelaar_key = pb.prs_perslid_key(+) AND m.prs_perslid_key = pm.prs_perslid_key AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+) AND m.mld_melding_status = ms.mld_statuses_key AND NOT EXISTS (SELECT 1 FROM mld_melding_note n, fac_gebruikersgroep gg WHERE n.prs_perslid_key = gg.prs_perslid_key AND gg.fac_groep_key = 23 -- BCC FOBO AND n.mld_melding_key = x.mld_melding_key AND n.mld_melding_note_aanmaak > x.aanmaak) AND NOT EXISTS (SELECT 1 FROM fac_tracking t, fac_gebruikersgroep gg WHERE t.prs_perslid_key = gg.prs_perslid_key AND gg.fac_groep_key = 23 -- BCC FOBO AND t.fac_tracking_refkey = x.mld_melding_key AND t.fac_tracking_datum > x.aanmaak); CREATE OR REPLACE VIEW blcc_v_rap_ord_notes_sd AS SELECT SYSDATE - x.aanmaak hide_f_sort, -- Recentste bovenaan CASE WHEN x.aanmaak > SYSDATE - 5 / 24 / 60 THEN 'updated' WHEN x.aanmaak > SYSDATE - 1 / 24 THEN 'updated10' ELSE '' END hide_f_rowclass, x.mld_opdr_key, x.aanmaak datumtijd, --x.aanmaak datum, --x.aanmaak tijdstip, pn.prs_perslid_naam_friendly door, REPLACE ( REPLACE ( REPLACE ( REPLACE ( REPLACE ( x.omschrijving, '##SPOED##', ''), '##OPDRKEY##', TO_CHAR (m.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)), '##STDMLD##', sm.mld_stdmelding_omschrijving), '##DISC##', md.ins_discipline_omschrijving), ' aan ##FIATTEUR##', '') omschrijving, sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) nummer, md.ins_discipline_omschrijving vakgroep, sm.mld_stdmelding_omschrijving melding, (SELECT mld_typeopdr_omschrijving FROM mld_typeopdr WHERE mld_typeopdr_key = o.mld_typeopdr_key) opdrachttype, b.prs_bedrijf_naam uitvoerende, o.mld_opdr_datumbegin datum, COALESCE (aog.alg_plaatsaanduiding, 'CAMPUS') plaats, o.mld_opdr_omschrijving opdrachtomschrijving, os.mld_statusopdr_omschrijving status, pb.prs_perslid_naam_friendly behandelaar, o.mld_opdr_einddatum einddatum FROM (SELECT n.mld_opdr_note_aanmaak aanmaak, n.prs_perslid_key, n.mld_opdr_note_omschrijving omschrijving, n.mld_opdr_key FROM mld_opdr_note n WHERE n.mld_opdr_note_aanmaak > TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm') -- TODO: -3? AND n.prs_perslid_key IS NOT NULL AND NOT EXISTS (SELECT 1 FROM fac_gebruikersgroep WHERE fac_groep_key = 23 -- BCC FOBO AND prs_perslid_key = n.prs_perslid_key) UNION ALL SELECT t.fac_tracking_datum aanmaak, t.prs_perslid_key, COALESCE (t.fac_tracking_oms, lcl.x ('fac_srtnotificatie_oms', sn.fac_srtnotificatie_key, sn.fac_srtnotificatie_oms)) omschrijving, t.fac_tracking_refkey mld_opdr_key FROM fac_tracking t, fac_srtnotificatie sn WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm') -- TODO: -3? AND t.prs_perslid_key IS NOT NULL AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key AND sn.fac_srtnotificatie_xmlnode = 'opdracht' AND NOT EXISTS (SELECT 1 FROM fac_gebruikersgroep WHERE fac_groep_key = 23 -- BCC FOBO AND prs_perslid_key = t.prs_perslid_key)) x, mld_opdr o, mld_melding m, mld_stdmelding sm, mld_discipline md, ins_srtdiscipline sd, prs_v_perslid_fullnames_all pn, -- Noteur prs_v_perslid_fullnames_all pb, -- Behandelaar --prs_v_perslid_fullnames_all pm, -- Melder prs_bedrijf b, alg_v_allonrgoed_gegevens aog, mld_statusopdr os WHERE x.mld_opdr_key = o.mld_opdr_key --AND o.mld_typeopdr_key IN (101, 103, 1261) -- Workorder/Offerteaanvraag/Kostenraming AND o.mld_melding_key = m.mld_melding_key AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = md.ins_discipline_key AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND x.prs_perslid_key = pn.prs_perslid_key AND o.prs_perslid_key = pb.prs_perslid_key(+) --AND m.prs_perslid_key = pm.prs_perslid_key AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+) AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+) AND o.mld_statusopdr_key = os.mld_statusopdr_key AND NOT EXISTS (SELECT 1 FROM mld_opdr_note n, fac_gebruikersgroep gg WHERE n.prs_perslid_key = gg.prs_perslid_key AND gg.fac_groep_key = 23 -- BCC FOBO AND n.mld_opdr_key = x.mld_opdr_key AND n.mld_opdr_note_aanmaak > x.aanmaak) AND NOT EXISTS (SELECT 1 FROM fac_tracking t, fac_srtnotificatie sn, fac_gebruikersgroep gg WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key AND sn.fac_srtnotificatie_xmlnode = 'opdracht' AND t.prs_perslid_key = gg.prs_perslid_key AND gg.fac_groep_key = 23 -- BCC FOBO AND t.fac_tracking_refkey = x.mld_opdr_key AND t.fac_tracking_datum > x.aanmaak); CREATE OR REPLACE VIEW BLCC_V_HUURDERS ( PRS_AFDELING_KEY, PRS_AFDELING_OMSCHR, PRS_AFDELING_VERWIJDER ) AS SELECT a.prs_afdeling_key, a.prs_afdeling_omschrijving || ' [' || a.prs_afdeling_upper || ']', a.prs_afdeling_verwijder FROM prs_bedrijf b, prs_afdeling a WHERE b.prs_bedrijf_key = 22 AND a.prs_bedrijf_key = b.prs_bedrijf_key; CREATE OR REPLACE VIEW BLCC_V_HUURDERS_PRS ( PRS_PERSLID_KEY, PRS_PERSLID_NAAM, PRS_PERSLID_VERWIJDER ) AS SELECT p.prs_perslid_key, fn.prs_perslid_naam_full || ' [' || a.prs_afdeling_omschrijving || ']', p.prs_perslid_verwijder FROM prs_perslid p, prs_afdeling a, prs_v_perslid_fullnames_all fn WHERE a.prs_afdeling_key = p.prs_afdeling_key AND fn.prs_perslid_key = p.prs_perslid_key AND a.prs_bedrijf_key = 22; CREATE OR REPLACE VIEW BLCC_V_NOTI_KLANTVERSLAG ( SENDER, RECEIVER, TEXT, CODE, FAC_SRTNOTIFICATIE_KEY, KEY, XKEY, XEMAIL, XMOBILE ) AS SELECT NULL sender, NULL receiver, REPLACE (n.fac_srtnotificatie_oms, '##datum##', gespr_datum.mld_kenmerkmelding_waarde) text, n.fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key, NULL xkey, LISTAGG (dln.prs_perslid_email, ';') WITHIN GROUP (ORDER BY m.mld_melding_key) xemail, NULL xmobile FROM mld_melding m, fac_tracking t, fac_srtnotificatie n, (SELECT km.mld_melding_key, p.prs_perslid_email FROM mld_kenmerk k, mld_kenmerkmelding km, prs_perslid p WHERE k.mld_srtkenmerk_key = 902 AND km.mld_kenmerk_key = k.mld_kenmerk_key AND km.mld_kenmerkmelding_waarde = p.prs_perslid_key) dln, (SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde FROM mld_kenmerk k, mld_kenmerkmelding km WHERE k.mld_srtkenmerk_key = 741 AND km.mld_kenmerk_key = k.mld_kenmerk_key) gespr_datum WHERE m.mld_stdmelding_key = 1401 AND dln.mld_melding_key = m.mld_melding_key AND gespr_datum.mld_melding_key(+) = m.mld_melding_key AND t.fac_tracking_refkey = m.mld_melding_key AND t.fac_srtnotificatie_key = 38 -- MLDAFM AND n.fac_srtnotificatie_code = 'CUST03' 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) = 'BLCC_V_NOTI_KLANTVERSLAG') AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun FROM fac_notificatie_job WHERE UPPER (fac_notificatie_job_view) = 'BLCC_V_NOTI_KLANTVERSLAG') GROUP BY REPLACE (n.fac_srtnotificatie_oms, '##datum##', gespr_datum.mld_kenmerkmelding_waarde), n.fac_srtnotificatie_code, n.fac_srtnotificatie_key, m.mld_melding_key; CREATE OR REPLACE VIEW BLCC_V_MELDINGEN ( mld_melding_key, mld_melding_omschrijving ) AS SELECT m.mld_melding_key, DECODE ( m.mld_melding_onderwerp, NULL, vgt.ins_srtdiscipline_prefix || m.mld_melding_key, vgt.ins_srtdiscipline_prefix || m.mld_melding_key || ' (' || m.mld_melding_onderwerp || ')') omschr FROM mld_melding m, mld_stdmelding sm, ins_tab_discipline vg, ins_srtdiscipline vgt WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = vg.ins_discipline_key AND vg.ins_srtdiscipline_key = vgt.ins_srtdiscipline_key AND vgt.ins_srtdiscipline_prefix = 'BCC' ORDER BY m.mld_melding_key DESC; CREATE OR REPLACE VIEW BLCC_V_RAP_VOC ( HTML_VOC_REGISTRATIE_NR, DATUM_VOC, CVD, UITVOERENDE, OPDRACHTGEVER, HTML_BCC_NR, SCORE_1, SCORE_2, SCORE_3, SCORE_4, SCORE_5, SCORE_6, SCORE_7, SCORE_8, SCORE_9, SCORE_10, SCORE_11, SCORE_12, SCORE_13, SCORE_14, SCORE_15, TOTAAL_SCORE ) AS SELECT '' || HTF.escape_sc (m.mld_melding_key) || '' mld_melding_key, fac.safe_to_date (datum_voc.mld_kenmerkmelding_waarde, 'dd-mm-yyyy') datum_voc, p.prs_perslid_naam_friendly cvd, uitvoerende.prs_bedrijf_naam uitvoerende, opdrachtgever.prs_afdeling_omschrijving opdrachtgever, '' || HTF.escape_sc (bcc_nr.bcc_nr) || '' bcc_nr, score_1.fac_usrdata_code score_1, score_2.fac_usrdata_code score_2, score_3.fac_usrdata_code score_3, score_4.fac_usrdata_code score_4, score_5.fac_usrdata_code score_5, score_6.fac_usrdata_code score_6, score_7.fac_usrdata_code score_7, score_8.fac_usrdata_code score_8, score_9.fac_usrdata_code score_9, score_10.fac_usrdata_code score_10, score_11.fac_usrdata_code score_11, score_12.fac_usrdata_code score_12, score_13.fac_usrdata_code score_13, score_14.fac_usrdata_code score_14, score_15.fac_usrdata_code score_15, totaal_score.mld_kenmerkmelding_waarde totaal_score FROM mld_melding m, prs_v_perslid_fullnames_all p, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km WHERE km.mld_kenmerk_key = 1401 AND km.mld_kenmerkmelding_verwijder IS NULL) datum_voc, (SELECT km.mld_melding_key, b.prs_bedrijf_naam FROM mld_kenmerkmelding km, prs_bedrijf b WHERE km.mld_kenmerk_key = 1241 AND km.mld_kenmerkmelding_verwijder IS NULL AND km.mld_kenmerkmelding_waarde = b.prs_bedrijf_key) uitvoerende, (SELECT km.mld_melding_key, a.prs_afdeling_omschrijving FROM mld_kenmerkmelding km, prs_afdeling a WHERE km.mld_kenmerk_key = 1242 AND km.mld_kenmerkmelding_verwijder IS NULL AND km.mld_kenmerkmelding_waarde = a.prs_afdeling_key) opdrachtgever, (SELECT km.mld_melding_key, m.mld_melding_key bcc_nr FROM mld_kenmerkmelding km, mld_melding m WHERE km.mld_kenmerk_key = 1581 AND km.mld_kenmerkmelding_verwijder IS NULL AND km.mld_kenmerkmelding_waarde = m.mld_melding_key) bcc_nr, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1177 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_1, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1178 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_2, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1179 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_3, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1180 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_4, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1181 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_5, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1182 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_6, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1183 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_7, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1184 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_8, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1185 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_9, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1186 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_10, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1187 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_11, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1188 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_12, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1189 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_13, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1190 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_14, (SELECT km.mld_melding_key, ud.fac_usrdata_code, fac_usrdata_omschr FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1191 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 761 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) score_15, (SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km WHERE km.mld_kenmerk_key = 1207 AND km.mld_kenmerkmelding_verwijder IS NULL) totaal_score WHERE m.mld_stdmelding_key = 1402 AND m.prs_perslid_key_voor = p.prs_perslid_key AND datum_voc.mld_melding_key(+) = m.mld_melding_key AND uitvoerende.mld_melding_key(+) = m.mld_melding_key AND opdrachtgever.mld_melding_key(+) = m.mld_melding_key AND bcc_nr.mld_melding_key(+) = m.mld_melding_key AND score_1.mld_melding_key(+) = m.mld_melding_key AND score_2.mld_melding_key(+) = m.mld_melding_key AND score_3.mld_melding_key(+) = m.mld_melding_key AND score_4.mld_melding_key(+) = m.mld_melding_key AND score_5.mld_melding_key(+) = m.mld_melding_key AND score_6.mld_melding_key(+) = m.mld_melding_key AND score_7.mld_melding_key(+) = m.mld_melding_key AND score_8.mld_melding_key(+) = m.mld_melding_key AND score_9.mld_melding_key(+) = m.mld_melding_key AND score_10.mld_melding_key(+) = m.mld_melding_key AND score_11.mld_melding_key(+) = m.mld_melding_key AND score_12.mld_melding_key(+) = m.mld_melding_key AND score_13.mld_melding_key(+) = m.mld_melding_key AND score_14.mld_melding_key(+) = m.mld_melding_key AND score_15.mld_melding_key(+) = m.mld_melding_key AND totaal_score.mld_melding_key(+) = m.mld_melding_key; CREATE OR REPLACE VIEW BLCC_V_CHEF_V_DIENST ( prs_perslid_key, prs_perslid_naam, prs_perslid_verwidjerd ) AS SELECT p.prs_perslid_key, p.prs_perslid_naam_friendly, p.prs_perslid_verwijder FROM fac_groep g, fac_gebruikersgroep gg, prs_v_perslid_fullnames_all p WHERE g.fac_groep_key = gg.fac_groep_key AND p.prs_perslid_key = gg.prs_perslid_key AND g.fac_groep_key = 2462; CREATE OR REPLACE VIEW BLCC_V_RAP_OVV ( HTML_OVV_REGISTRATIE_NR, DATUM_VOORVAL, TIJDSTIP_VOORVAL, CVD, HUURDER, ONDERWERP, OMSCHRIJVING, VOORVAL, ALARMERING_VIA, AARD_MELDING, INCIDENTFORM_AANWEZIG, TOELICHTING_INCIDENTFORM, DIRECT_GENOMEN_MAATREGELEN ) AS SELECT '' || HTF.escape_sc (m.mld_melding_key) || '' mld_melding_key, fac.safe_to_date (datum_voorval.mld_kenmerkmelding_waarde, 'dd-mm-yyyy') datum_voorval, tijdstip_voorval.mld_kenmerkmelding_waarde tijdstip_voorval, cvd.cvd_naam cvd, huurder.omschrijving huurder, m.mld_melding_onderwerp onderwerp, m.mld_melding_omschrijving omschrijving, voorval.omschrijving voorval, alarmering_via.omschrijving alarmering_via, aard_melding.omschrijving aard_melding, inc_mldform_aanw.omschrijving incidentmeldingsform_aanwezig, toelichting_inc_mldform.mld_kenmerkmelding_waarde toelicht_form, genomen_maatr.mld_kenmerkmelding_waarde direct_genomen_maatregelen FROM mld_melding m, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km WHERE km.mld_kenmerk_key = 1701 AND km.mld_kenmerkmelding_verwijder IS NULL) datum_voorval, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km WHERE km.mld_kenmerk_key = 1702 AND km.mld_kenmerkmelding_verwijder IS NULL) tijdstip_voorval, (SELECT mld_melding_key, p.prs_perslid_naam_full cvd_naam FROM mld_kenmerkmelding km, prs_v_perslid_fullnames_all p WHERE km.mld_kenmerk_key = 1703 AND mld_kenmerkmelding_waarde = p.prs_perslid_key AND km.mld_kenmerkmelding_verwijder IS NULL) cvd, (SELECT km.mld_melding_key, a.prs_afdeling_omschrijving omschrijving FROM mld_kenmerkmelding km, prs_afdeling a WHERE km.mld_kenmerk_key = 1704 AND km.mld_kenmerkmelding_verwijder IS NULL AND km.mld_kenmerkmelding_waarde = a.prs_afdeling_key) huurder, (SELECT km.mld_melding_key, ud.fac_usrdata_code code, fac_usrdata_omschr omschrijving FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1721 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 45 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) voorval, (SELECT km.mld_melding_key, ud.fac_usrdata_code code, fac_usrdata_omschr omschrijving FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1722 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 781 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) alarmering_via, (SELECT km.mld_melding_key, ud.fac_usrdata_code code, fac_usrdata_omschr omschrijving FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1723 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 782 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) aard_melding, (SELECT km.mld_melding_key, ud.fac_usrdata_code code, fac_usrdata_omschr omschrijving FROM mld_kenmerkmelding km, fac_usrdata ud WHERE km.mld_kenmerk_key = 1727 AND km.mld_kenmerkmelding_verwijder IS NULL AND ud.fac_usrtab_key = 681 AND km.mld_kenmerkmelding_waarde = ud.fac_usrdata_key) inc_mldform_aanw, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km WHERE km.mld_kenmerk_key = 1729 AND km.mld_kenmerkmelding_verwijder IS NULL) toelichting_inc_mldform, (SELECT mld_melding_key, mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km WHERE km.mld_kenmerk_key = 1730 AND km.mld_kenmerkmelding_verwijder IS NULL) genomen_maatr WHERE m.mld_stdmelding_key = 1681 AND datum_voorval.mld_melding_key(+) = m.mld_melding_key AND tijdstip_voorval.mld_melding_key(+) = m.mld_melding_key AND cvd.mld_melding_key(+) = m.mld_melding_key AND huurder.mld_melding_key(+) = m.mld_melding_key AND voorval.mld_melding_key(+) = m.mld_melding_key AND alarmering_via.mld_melding_key(+) = m.mld_melding_key AND aard_melding.mld_melding_key(+) = m.mld_melding_key AND inc_mldform_aanw.mld_melding_key(+) = m.mld_melding_key AND toelichting_inc_mldform.mld_melding_key(+) = m.mld_melding_key AND genomen_maatr.mld_melding_key(+) = m.mld_melding_key; CREATE OR REPLACE VIEW BLCC_V_RAP_VERKOOPFACTUUR AS SELECT 'ADDD' factuurstroom, fin_verkoopfactuur_id, po_nr, --NULL ourref, NULL omschrijving, -- Alleen FACT-factuur --contract_id, -- Niet gebruikt op ADDD-factuur sortering, regel, regel_id, regel_oms, TO_DATE (factuurdatum, 'dd-mm-yyyy') gefactureerd_op, factuurdatum, vervaldatum, --xmlnode, -- Niet gebruikt op ADDD-factuur --refkey, -- Niet gebruikt op ADDD-factuur NULL contractnummer, NULL cnt_contract_key, -- Alleen FACT-factuur --NULL cnt_contract_nummer_intern, --NULL cnt_contract_versie, NULL lv, -- Alleen FACT-factuur prs_bedrijf_key, prs_debiteur_naam, debiteur_nr, btw_nr, --contactpersoon, -- Niet gebruikt op ADDD-factuur (altijd NULL zelfs) adres, postcode, plaats, land, aanvrager, --prs_kostenplaats_key, --prs_kostenplaats_nr, --prs_kostenplaats_omschrijving, --prs_kostenplaatsgrp_oms, --fin_btwtabelwaarde_code, --fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, maand, mndbegin, mndeinde, --NULL dagbegin, --NULL dageinde, --NULL mndbes, --NULL mndbez, mndnet, mndbtw, --NULL aantal, --NULL bedrag, TO_CHAR (crf) crf, --NULL factuur, --NULL alg_onroerendgoed_type, --NULL alg_onroerendgoed_keys, --NULL alg_plaatsaanduiding, --grtboekrek, -- Niet gebruikt op ADDD-factuur --grtboekrek_oms, -- Niet gebruikt op ADDD-factuur TO_CHAR (mld_melding_key) meldingnummer, mld_melding_key, NULL mld_melding_omschrijving -- Alleen FACT-factuur FROM blcc_v_addd_frozen WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' UNION ALL SELECT 'HUUR' factuurstroom, fin_verkoopfactuur_id, po_nr, --ourref, -- Niet gebruikt op FACT-factuur omschrijving, -- Contract scope --NULL contract_id, sortering, regel, NULL regel_id, -- Alleen ADDD-factuur NULL regel_oms, -- Alleen ADDD-factuur TO_DATE (factuurdatum, 'dd-mm-yyyy') gefactureerd_op, factuurdatum, vervaldatum, --NULL xmlnode, --NULL refkey, DECODE (cnt_contract_key, NULL, '', cnt_contract_nummer_intern || '.' || COALESCE (cnt_contract_versie, '0')) contractnummer, cnt_contract_key, --cnt_contract_nummer_intern, -- Niet gebruikt op FACT-factuur --cnt_contract_versie, -- Niet gebruikt op FACT-factuur lv, prs_bedrijf_key, prs_debiteur_naam, debiteur_nr, btw_nr, --NULL contactpersoon, adres, postcode, plaats, land, NULL aanvrager, -- Alleen ADDD-factuur --prs_kostenplaats_key, --prs_kostenplaats_nr, --prs_kostenplaats_omschrijving, --prs_kostenplaatsgrp_oms, --fin_btwtabelwaarde_code, --fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, maand, mndbegin, mndeinde, --dagbegin, -- Niet gebruikt op FACT-factuur --dageinde, -- Niet gebruikt op FACT-factuur --mndbes, -- Niet gebruikt op FACT-factuur --mndbez, -- Niet gebruikt op FACT-factuur mndnet, mndbtw, --aantal, -- Niet gebruikt op FACT-factuur --bedrag, -- Niet gebruikt op FACT-factuur TO_CHAR (crf) crf, --factuur, -- Niet gebruikt op FACT-factuur --alg_onroerendgoed_type, -- Niet gebruikt op FACT-factuur --alg_onroerendgoed_keys, -- Niet gebruikt op FACT-factuur --alg_plaatsaanduiding, -- Niet gebruikt op FACT-factuur --grtboekrek, -- Niet gebruikt op FACT-factuur --NULL grtboekrek_oms, TO_CHAR (mld_melding_key) meldingnummer, mld_melding_key, mld_melding_omschrijving FROM blcc_v_factv2_frozen WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'; CREATE OR REPLACE VIEW BLCC_V_VEILIGHEIDSMELDINGEN ( MLD_MELDING_KEY, MLD_VEILIGHEIDSMELDING ) AS SELECT m.mld_melding_key, m.mld_melding_key || '/' || p.prs_perslid_naam_full FROM mld_melding m, prs_v_perslid_fullnames_all p WHERE m.mld_stdmelding_key = 917 AND m.prs_perslid_key_voor = p.prs_perslid_key; /* CREATE OR REPLACE PROCEDURE blcc_daily () AS v_errormsg VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); BEGIN -- Anonimiseer medewerkers, trackregels en specifieke andere zaken zoals -- het in Productie de bedoeling is (dus pas na afgesproken termijnen en -- geen aanvullende anonimisering tbv. Test-omgevingen). -- Vanuit djin.sql dus altijd alle parameters op FALSE (= geen extra's)! djin_anonimiseer (FALSE, FALSE, FALSE); 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.writelog ('DAILY', 'E', 'Proces afgebroken!', v_errormsg); END blcc_select_daily; / */ ------ 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