-- -- $Id$ -- -- Script containing customer specific db-configuration for BSSC. DEFINE thisfile = 'BSSC.SQL' DEFINE dbuser = '^BSSC' SET ECHO ON SET DEFINE ON COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT; COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT; WHENEVER SQLERROR CONTINUE; SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL; SPOOL &fcltlogfile WHENEVER SQLERROR EXIT; SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL; WHENEVER SQLERROR CONTINUE; --------------------------------------- PROMPT &fcltcusttxt --------------------------------------- SET DEFINE OFF ------ payload begin ------ CREATE OR REPLACE VIEW bssc_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); CREATE OR REPLACE PROCEDURE bssc_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;0;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;SSC Bezoekersparkeerplaats;SSC Etage 4%'); -- 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 bssc_import_perslid; / CREATE OR REPLACE PROCEDURE bssc_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, p_ssc_bezprk_key IN NUMBER, p_ssc_etage4_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 SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk5), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_bezprk_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_kenmerk6), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_etage4_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 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; -- Toekennen VLAN-autorisatiegroep (volgens eigen tabel met key=481)! CURSOR c_vlan IS SELECT p.prs_perslid_key, fac.safe_to_number (ud.fac_usrdata_upper) fac_groep_key FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i, (SELECT * FROM fac_v_aanwezigusrdata WHERE fac_usrtab_key = 481) ud WHERE p.prs_afdeling_key = a.prs_afdeling_key AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin) AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam) AND a.prs_afdeling_upper = UPPER (ud.fac_usrdata_omschr) AND EXISTS (SELECT 1 FROM fac_groep WHERE fac_groep_key = fac.safe_to_number (ud.fac_usrdata_code)) ORDER BY 1; c_ruimte_key NUMBER := 2204; -- Fictieve ruimte op SSCH-locatie c_ssc_fobo_key NUMBER := 341; -- SSC FOBO c_ssc_dmedew_key NUMBER := 361; -- SSC Digireceptiemedewerker c_ssc_hadmin_key NUMBER := 362; -- SSC Huurderadministrator c_ssc_bezprk_key NUMBER := 1721; -- SSC Bezoekersparkeerplaats c_ssc_etage4_key NUMBER := 1481; -- SSC Etage 4 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 = 2442 -- Huurders SSC-bedrijf! 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, c_ssc_bezprk_key, c_ssc_etage4_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; -- Toekennen VLAN-autorisatiegroep (volgens eigen tabel met key=481)! -- NB. VLAN-autorisatiegroep wordt nooit automatisch afgenomen! FOR rec IN c_vlan LOOP 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); END LOOP; END bssc_update_perslid; / CREATE OR REPLACE VIEW bssc_v_autorisatiegroepen ( fac_groep_key, fac_groep_oms ) AS SELECT fac_groep_key, fac_groep_omschrijving FROM fac_groep WHERE fac_groep_omschrijving LIKE 'SSC%'; CREATE OR REPLACE VIEW bssc_v_externe_relaties ( prs_bedrijf_key, prs_bedrijf_naam, prs_bedrijf_verwijder ) AS SELECT b.prs_bedrijf_key, b.prs_bedrijf_naam || ' [' || TRIM (cmdnr.prs_kenmerklink_waarde) || '|' || TRIM (chvnr.prs_kenmerklink_waarde) || ']', prs_bedrijf_verwijder FROM prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr WHERE b.prs_bedrijf_intern IS NULL AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_key(+); CREATE OR REPLACE VIEW bssc_v_rap_ssc_cat_looplijst ( resnr, activiteit, --locatie, ruimte, datum, van, tot, reslev, organisatie, gastheer, kostenplaats, --costcenter, omschrijving, aantal, artikelnr, artikeloms, horeca_details, deelnemers, fo_status, wensen ) AS SELECT x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr || DECODE (res_rsv_ruimte_dirtlevel, 0, '', ' [ongeldig]') resnr, x.res_activiteit_omschrijving activiteit, --NULL locatie, COALESCE (rr.res_ruimte_nr, rg.alg_ruimte_omschrijving) ruimte, x.res_rsv_ruimte_van, x.res_rsv_ruimte_van, x.res_rsv_ruimte_tot, x.reslev, (SELECT prs_afdeling_omschrijving FROM prs_afdeling WHERE prs_afdeling_key = x.prs_afdeling_key) organisatie, x.prs_perslid_naam_full gastheer, x.prs_kostenplaats_omschrijving kostenplaats, --(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_rsv_ruimte_omschrijving omschrijving, x.res_rsv_artikel_aantal, x.res_artikel_nr, x.res_artikel_omschrijving, (select res_kenmerkreservering_waarde from res_kenmerkwaarde rkw, res_kenmerk k where rkw.res_kenmerk_key = k.res_kenmerk_key and k.res_srtkenmerk_key = 142 and x.res_rsv_ruimte_key = rkw.res_rsv_ruimte_key) horeca_details, x.res_rsv_ruimte_bezoekers, (SELECT res_status_fo_omschrijving FROM res_status_fo WHERE res_status_fo_key = x.res_status_fo_key) fo_status, kw.res_kenmerkreservering_waarde wensen FROM (SELECT rrr.res_rsv_ruimte_key, rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr, act.res_activiteit_omschrijving, 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, rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot, rra.res_rsv_artikel_levering reslev, COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) prs_afdeling_key, pf.prs_perslid_naam_full, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kl.prs_kenmerklink_waarde, rrr.res_rsv_ruimte_omschrijving, rra.res_rsv_artikel_aantal, ra.res_artikel_nr, ra.res_artikel_omschrijving, rrr.res_rsv_ruimte_bezoekers, rrr.res_rsv_ruimte_dirtlevel, rrr.res_status_fo_key FROM res_rsv_ruimte rrr, res_activiteit act, 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 kp, prs_perslid p, prs_v_afdeling_boom ab, prs_kenmerklink kl, res_v_aanwezigrsv_artikel rra, res_artikel ra WHERE rrr.res_activiteit_key = act.res_activiteit_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 = 21 -- SSC AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) 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_rsv_ruimte_key = rra.res_rsv_ruimte_key AND rra.res_artikel_key = ra.res_artikel_key AND rra.res_rsv_artikel_dirtlevel = 0 AND rrr.res_status_fo_key != 4 -- vervallen AND rra.res_rsv_artikel_levering > TO_DATE ('20171101', 'yyyymmdd') AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'IW') + 21) 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 LEFT JOIN res_v_aanwezigkenmerkwaarde kw ON x.res_rsv_ruimte_key = kw.res_rsv_ruimte_key AND kw.res_kenmerk_key IN (62, 64, 262, 321) -- Wensen m.b.t. de reservering? ; CREATE OR REPLACE VIEW bssc_v_rap_ssc_cat_factlijst ( hide_f_sortering, resnr, datum, ruimte, personen, organisatie, gastheer, kostenplaats, --costcenter, omschrijving, horeca_details, product, btw, aantal, prijs, totaal, activiteit, project_code ) AS -- Catering gesorteerd per datum/res_id SELECT TO_CHAR (x.res_rsv_artikel_levering, 'yyyymmdd') || TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) sortering, TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) res_id, x.res_rsv_artikel_levering datum, x.ruimte, x.res_rsv_ruimte_bezoekers personen, --x.prs_afdeling_naam || '-' || x.prs_afdeling_omschrijving organisatie, x.prs_afdeling_omschrijving organisatie, x.prs_perslid_naam_full gastheer, x.prs_kostenplaats_omschrijving kostenplaats, --(SELECT MAX (kw.res_kenmerkreservering_waarde) -- FROM res_kenmerkwaarde kw, res_kenmerk rk -- WHERE kw.res_rsv_ruimte_key = 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_rsv_ruimte_omschrijving omschrijving, hd.res_kenmerkreservering_waarde horeca_details, x.artikel product, COALESCE (x.verw_btw, x.btw) btw, x.aantal, DECODE (x.verw_prijs, NULL, x.prijs, x.verw_prijs / DECODE (COALESCE (x.aantal, 0), 0, 1, x.aantal)) prijs, COALESCE (x.verw_prijs, x.aantal * x.prijs) totaal, x.res_activiteit_omschrijving activiteit, pc.res_kenmerkreservering_waarde project_code FROM (SELECT rrr.res_rsv_ruimte_key, rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr, rra.res_rsv_artikel_levering, COALESCE (rr.res_ruimte_nr, aog.alg_plaatsaanduiding) ruimte, rrr.res_rsv_ruimte_bezoekers, a.prs_afdeling_naam, a.prs_afdeling_omschrijving, pf.prs_perslid_naam_full, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, rrr.res_rsv_ruimte_omschrijving, ra.res_artikel_omschrijving artikel, rra.res_rsv_artikel_btw verw_btw, ra.res_artikel_btw btw, rra.res_rsv_artikel_aantal aantal, rra.res_rsv_artikel_prijs verw_prijs, ra.res_artikel_prijs prijs, act.res_activiteit_omschrijving FROM 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, res_v_aanwezigruimte rr, alg_v_allonrgoed_gegevens aog, prs_perslid p, prs_afdeling a, prs_v_perslid_fullnames_all pf, prs_kostenplaats kp, res_v_aanwezigrsv_artikel rra, res_artikel ra, res_discipline rd, --prs_kostensoort ks, res_disc_params dp, prs_bedrijf b, res_activiteit act WHERE rrr.res_rsv_ruimte_dirtlevel = 0 AND rrr.res_status_fo_key = 2 -- BSSC#61120: Alleen FO-status=Definitief! 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 rro.res_ruimte_key = rr.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 = 21 -- SSC AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = a.prs_afdeling_key AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key = rd.ins_discipline_key --AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND rd.ins_discipline_key = dp.res_ins_discipline_key AND dp.prs_bedrijf_key = b.prs_bedrijf_key --AND rra.res_rsv_artikel_verwerkt IS NULL AND rra.res_rsv_artikel_levering > TO_DATE ('20171101', 'yyyymmdd') AND rra.res_rsv_artikel_levering < SYSDATE AND rrr.res_activiteit_key = act.res_activiteit_key) x LEFT JOIN res_v_aanwezigkenmerkwaarde hd ON x.res_rsv_ruimte_key = hd.res_rsv_ruimte_key AND EXISTS (SELECT 1 FROM res_kenmerk WHERE res_kenmerk_verwijder IS NULL AND res_srtkenmerk_key = 142 -- Horeca details AND res_kenmerk_key = hd.res_kenmerk_key) LEFT JOIN res_v_aanwezigkenmerkwaarde pc ON x.res_rsv_ruimte_key = pc.res_rsv_ruimte_key AND EXISTS (SELECT 1 FROM res_kenmerk WHERE res_srtkenmerk_key = 401 -- Projectcode AND res_kenmerk_key = pc.res_kenmerk_key); CREATE OR REPLACE VIEW bssc_v_rap_parkres_bez ( afspraak_key, -- appointment_id bezoekers_key, -- visitor_id afspraak_datum, afspraak_eind, afspraak_oms, bez_achternaam, bez_mail, bez_telnr, bez_kenteken, bez_bedrijf, cp_naam, cp_mail, cp_telnr, cp_bedrijf, bez_voor, bez_actie, laatste_mut ) AS SELECT t.fac_tracking_refkey, x.bez_bezoekers_key, x.bez_afspraak_datum, x.bez_afspraak_eind, x.bez_afspraak_opmerking, x.bez_afspraak_naam, COALESCE (x.bez_bezoekers_email, email.bez_kenmerkwaarde_waarde) bez_mail, COALESCE (x.bez_bezoekers_telefoon, telnr.bez_kenmerkwaarde_waarde) bez_telnr, COALESCE (x.bez_bezoekers_kenteken, kntkn.bez_kenmerkwaarde_waarde) bez_kenteken, x.bez_afspraak_bedrijf, x.prs_perslid_naam_full, x.prs_perslid_email, COALESCE (x.prs_perslid_telefoonnr, x.prs_perslid_mobiel) cp_telnr, x.prs_afdeling_omschrijving, x.bez_afspraak_gastheer, x.bez_actie_omschrijving, t.tracking_datum FROM (SELECT a.bez_afspraak_key, b.bez_bezoekers_key, a.bez_afspraak_datum, a.bez_afspraak_eind, a.bez_afspraak_opmerking, b.bez_afspraak_naam, b.bez_afspraak_bedrijf, b.bez_bezoekers_email, b.bez_bezoekers_telefoon, b.bez_bezoekers_kenteken, cpf.prs_perslid_naam_full, cp.prs_perslid_email, cp.prs_perslid_telefoonnr, cp.prs_perslid_mobiel, afd.prs_afdeling_omschrijving, a.bez_afspraak_gastheer, ba.bez_actie_omschrijving FROM bez_afspraak a, bez_bezoekers b, prs_perslid cp, prs_v_perslid_fullnames cpf, prs_v_afdeling_boom ab, prs_afdeling afd, bez_actie ba 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 = afd.prs_afdeling_key AND a.bez_actie_key = ba.bez_actie_key(+) AND EXISTS (SELECT 1 FROM res_rsv_deel WHERE bez_bezoekers_key = b.bez_bezoekers_key)) x 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 bez_kenmerkwaarde telnr ON x.bez_bezoekers_key = telnr.bez_bezoekers_key AND telnr.bez_kenmerkwaarde_verwijder IS NULL AND telnr.bez_kenmerk_key = 1060 -- Telefoonnummer LEFT JOIN bez_kenmerkwaarde kntkn ON x.bez_bezoekers_key = kntkn.bez_bezoekers_key AND kntkn.bez_kenmerkwaarde_verwijder IS NULL AND kntkn.bez_kenmerk_key = 1100 -- Kenteken 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; -- BSSC#63109: Inzage persoonsgegevens tbv. Office App! CREATE OR REPLACE VIEW bssc_v_rap_prs_tbv_app ( id, -- prs_perslid_key email, lastname, firstname, middlename, company ) AS SELECT p.prs_perslid_key, p.prs_perslid_email, p.prs_perslid_naam, p.prs_perslid_voornaam, p.prs_perslid_tussenvoegsel, a.prs_afdeling_omschrijving FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab, prs_afdeling a WHERE p.prs_perslid_key > 2000 -- Uitsluiten Gast, Facilitor, etc. AND p.prs_perslid_apikey IS NULL -- Uitsluiten API-users AND p.prs_perslid_email IS NOT NULL -- Alleen personen met e-mail AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_afdeling_key1 = a.prs_afdeling_key; -- BSSC#64707: Persoonsgegevens incl. aanmaakdatum tbv. plannen rondleidingen! CREATE OR REPLACE VIEW BSSC_V_RAP_PRS_AANMAAK ( id, -- prs_perslid_key aanmaakdatum, naam1, naam2, organisatie, email ) AS SELECT p.prs_perslid_key, p.prs_perslid_aanmaak, pf.prs_perslid_naam_full, pf.prs_perslid_naam_friendly, a.prs_afdeling_omschrijving, p.prs_perslid_email FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab, prs_afdeling a, prs_v_perslid_fullnames pf WHERE p.prs_perslid_key > 2000 -- Uitsluiten Gast, Facilitor, etc. AND p.prs_perslid_apikey IS NULL -- Uitsluiten API-users AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_afdeling_key1 = a.prs_afdeling_key AND p.prs_perslid_key = pf.prs_perslid_key; -- BSSC#78432: Persoonsgegevens incl. verwijderdatum tbv. verwijderen uit HID -- toegangspassen systeem! CREATE OR REPLACE VIEW BSSC_V_RAP_PRS_VERWIJDER ( id, -- prs_perslid_key verwijderdatum, naam1, naam2, organisatie, email, kenteken1, kenteken2, badgenummer1, badgenummer2 ) AS SELECT p.prs_perslid_key, p.prs_perslid_verwijder, pf.prs_perslid_naam_full, pf.prs_perslid_naam_friendly, a.prs_afdeling_omschrijving, p.prs_perslid_email, k1.prs_kenmerklink_waarde, k2.prs_kenmerklink_waarde, k3.prs_kenmerklink_waarde, k4.prs_kenmerklink_waarde FROM prs_perslid p, prs_v_afdeling_boom ab, prs_afdeling a, prs_v_perslid_fullnames_all pf, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1140) k1, -- Kenteken 1 (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1141) k2, -- Kenteken 2 (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1160) k3, -- Badgenummer 1 (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1161) k4 -- Badgenummer 2 WHERE p.prs_perslid_verwijder > TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND p.prs_perslid_key > 2000 -- Uitsluiten Gast, Facilitor, etc. AND p.prs_perslid_apikey IS NULL -- Uitsluiten API-users AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_afdeling_key1 = a.prs_afdeling_key AND p.prs_perslid_key = pf.prs_perslid_key AND p.prs_perslid_key = k1.prs_link_key(+) AND p.prs_perslid_key = k2.prs_link_key(+) AND p.prs_perslid_key = k3.prs_link_key(+) AND p.prs_perslid_key = k4.prs_link_key(+); -- BSSC#55692: Facturatie verhuur (M2 en meer)! CREATE OR REPLACE VIEW bssc_v_fact_manual AS WITH lopendeperiode AS (SELECT TO_CHAR (SYSDATE, 'yyyymm') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, -- Huur! 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '0001' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - Huur' regel, -- Huur NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 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, fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Maandbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage jbw.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 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)) * fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 0, 0.21)), 2) mndbtw, -- BTW maandbedrag DECODE (oh.cnt_kenmerkcontract_waarde, '921', '8417', '8400') grtboekrek, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2001 -- Huur CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 1001 -- Geen automatische facturatie LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key = 641 -- Onbelaste huurder 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 = 962 -- Huur (per maand) LEFT JOIN cnt_kenmerk jbw_k ON jbw.cnt_kenmerk_key = jbw_k.cnt_kenmerk_key AND jbw_k.cnt_kenmerk_verwijder IS NULL WHERE gaf.cnt_kenmerkcontract_waarde IS NOT NULL -- Handmatig! UNION ALL -- Vervangende toeslag op huur! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '0002' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - Vervangende toeslag' regel, -- Vervangende toeslag NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, '0' fin_btwtabelwaarde_code, 'Nul' fin_btwtabelwaarde_oms, 0 fin_btwtabelwaarde_perc, TO_NUMBER (NULL) fin_btwtabelwaarde_verlegd, -- Of 1? 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 (verv_toeslag_ud.fac_usrdata_prijs - 1) aantal, -- Vervangend toeslagperc. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Maandbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage verv_toeslag.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * (verv_toeslag_ud.fac_usrdata_prijs - 1) * fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 2) mndnet, -- Netto maandbedrag 0 mndbtw, -- BTW maandbedrag '8417' grtboekrek, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2001 -- Huur CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 1001 -- Geen automatische facturatie LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op 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 = 962 -- Huur (per maand) LEFT JOIN cnt_kenmerk jbw_k ON jbw.cnt_kenmerk_key = jbw_k.cnt_kenmerk_key AND jbw_k.cnt_kenmerk_verwijder IS NULL LEFT JOIN cnt_kenmerkcontract verv_toeslag ON x.cnt_contract_key = verv_toeslag.cnt_contract_key AND verv_toeslag.cnt_kenmerkcontract_verwijder IS NULL AND verv_toeslag.cnt_kenmerk_key = 642 -- Vervangende toeslag LEFT JOIN fac_v_aanwezigusrdata verv_toeslag_ud ON fac.safe_to_number (verv_toeslag.cnt_kenmerkcontract_waarde) = verv_toeslag_ud.fac_usrdata_key WHERE gaf.cnt_kenmerkcontract_waarde IS NOT NULL -- Handmatig! AND verv_toeslag_ud.fac_usrdata_prijs > 1 UNION ALL -- VVO bij facturatie (zodat historisch bewaard)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '0001' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - Huur' regel, -- Huur NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 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 rxo.alg_ruimte_opp_alt1 aantal, -- VVO fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) bedrag, -- Huurprijs m2/p.j. vvo_toeslag_ud.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagpercentage 962 regel_key, pa.alg_onroerendgoed_type, pa.alg_onroerendgoed_keys, pa.alg_plaatsaanduiding, 0 mndnet, -- Netto maandbedrag 0 mndbtw, -- BTW maandbedrag DECODE (oh.cnt_kenmerkcontract_waarde, '921', '8417', '8400') grtboekrek, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2001 -- Huur CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 1001 -- Geen automatische facturatie LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key = 641 -- Onbelaste huurder LEFT JOIN cnt_v_aanwezigcontract_plaats ccp ON x.cnt_contract_key = ccp.cnt_contract_key AND ccp.cnt_alg_plaats_code = 'R' -- Alleen Scope-ruimten! LEFT JOIN alg_v_plaatsaanduiding_all pa ON ccp.cnt_alg_plaats_key = pa.alg_onroerendgoed_keys LEFT JOIN alg_v_aanwezigruimte rxo ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key LEFT JOIN cnt_kenmerkcontract tarief ON x.cnt_contract_key = tarief.cnt_contract_key AND tarief.cnt_kenmerkcontract_verwijder IS NULL AND tarief.cnt_kenmerk_key = 861 -- Huurprijs m2/p.j. LEFT JOIN cnt_kenmerkcontract vvo_toeslag ON x.cnt_contract_key = vvo_toeslag.cnt_contract_key AND vvo_toeslag.cnt_kenmerkcontract_verwijder IS NULL AND vvo_toeslag.cnt_kenmerk_key = 402 -- VVO toeslagpercentage LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag_ud ON fac.safe_to_number (vvo_toeslag.cnt_kenmerkcontract_waarde) = vvo_toeslag_ud.fac_usrdata_key WHERE gaf.cnt_kenmerkcontract_waarde IS NOT NULL -- Handmatig! AND ccp.cnt_alg_plaats_key IS NOT NULL UNION ALL -- M2 correctie bij facturatie (zodat historisch bewaard)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '0001' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - Huur' regel, -- Huur NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 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 (correctie_m2.cnt_kenmerkcontract_waarde) aantal, -- VVO-correctie fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) bedrag, -- Huurprijs m2/p.j. vvo_toeslag_ud.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagpercentage 962 regel_key, 'C' alg_onroerendgoed_type, -1 alg_onroerendgoed_keys, 'Correctie' alg_plaatsaanduiding, 0 mndnet, -- Netto maandbedrag 0 mndbtw, -- BTW maandbedrag DECODE (oh.cnt_kenmerkcontract_waarde, '921', '8417', '8400') grtboekrek, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2001 -- Huur CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 1001 -- Geen automatische facturatie LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key = 641 -- Onbelaste huurder LEFT JOIN cnt_kenmerkcontract correctie_m2 ON x.cnt_contract_key = correctie_m2.cnt_contract_key AND correctie_m2.cnt_kenmerkcontract_verwijder IS NULL AND correctie_m2.cnt_kenmerk_key = 701 -- Correctie m2 LEFT JOIN cnt_kenmerkcontract tarief ON x.cnt_contract_key = tarief.cnt_contract_key AND tarief.cnt_kenmerkcontract_verwijder IS NULL AND tarief.cnt_kenmerk_key = 861 -- Huurprijs m2/p.j. LEFT JOIN cnt_kenmerkcontract vvo_toeslag ON x.cnt_contract_key = vvo_toeslag.cnt_contract_key AND vvo_toeslag.cnt_kenmerkcontract_verwijder IS NULL AND vvo_toeslag.cnt_kenmerk_key = 402 -- VVO toeslagpercentage LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag_ud ON fac.safe_to_number (vvo_toeslag.cnt_kenmerkcontract_waarde) = vvo_toeslag_ud.fac_usrdata_key WHERE gaf.cnt_kenmerkcontract_waarde IS NOT NULL -- Handmatig! AND correctie_m2.cnt_kenmerkcontract_waarde IS NOT NULL UNION ALL -- Overige maandbedragen! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO SUBSTR ('000' || TO_CHAR (jbw_k.cnt_kenmerk_volgnummer), -4)|| TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - ' || jbw_k.cnt_kenmerk_omschrijving regel, -- Huur NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H')) fin_btwtabelwaarde_code, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 0, 21)) fin_btwtabelwaarde_perc, DECODE (jbw.cnt_kenmerk_key, '1081', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H'), 'H') fin_btwtabelwaarde_code, DECODE (jbw.cnt_kenmerk_key, '1081', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog'), 'Hoog') fin_btwtabelwaarde_oms, DECODE (jbw.cnt_kenmerk_key, '1081', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 0, 21), 21) fin_btwtabelwaarde_perc, 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, fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Maandbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage jbw.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 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)) * fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) * 0.21, 2) mndbtw, -- BTW maandbedrag DECODE (jbw.cnt_kenmerk_key, '963', '8403', -- ICT '964', '8402', -- Facilitaire kosten '965', '8401', -- Servicekosten '966', '8406', -- Schoonmaak '982', '8424', -- Koffieautomaten '983', '8425', -- Duty manager '1081', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '8417', '8400'), -- Opslagruimte '9999') grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2001 -- Huur CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 1001 -- Geen automatische facturatie LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key = 641 -- Onbelaste huurder 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 (963, 964, 965, 966, 982, 983, 1081) -- Overige maandbedragen LEFT JOIN cnt_kenmerk jbw_k ON jbw.cnt_kenmerk_key = jbw_k.cnt_kenmerk_key AND jbw_k.cnt_kenmerk_verwijder IS NULL WHERE gaf.cnt_kenmerkcontract_waarde IS NOT NULL -- Handmatig! UNION ALL -- Parkeren CHV (vooruit)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '9901' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! COALESCE (ks.prs_kostensoort_refcode, ks.prs_kostensoort_opmerking) regel, -- Parkeren CHV NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 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, fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage bedrag.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 0, 0.21)) * 1/12, 2) mndbtw, -- BTW maandbedrag --DECODE (oh.cnt_kenmerkcontract_waarde, '921', '9999', '8404') grtboekrek, TRIM (ks.prs_kostensoort_oms) grtboekrek, -- 8404 TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2003 -- Parkeren CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 864 -- Geen automatische facturatie 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 = 415 -- Aantal LEFT JOIN cnt_kenmerkcontract bedrag ON x.cnt_contract_key = bedrag.cnt_contract_key AND bedrag.cnt_kenmerkcontract_verwijder IS NULL AND bedrag.cnt_kenmerk_key = 416 -- Bedrag LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key = 1041 -- Onbelaste huurder LEFT JOIN cnt_discipline cd ON x.ins_discipline_key = cd.ins_discipline_key LEFT JOIN prs_kostensoort ks ON cd.prs_kostensoort_key = ks.prs_kostensoort_key WHERE gaf.cnt_kenmerkcontract_waarde IS NOT NULL -- Handmatig! UNION ALL -- Vervangende toeslag op Parkeren CHV (vooruit)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '9902' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - Vervangende toeslag' regel, -- Vervangende toeslag NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, '0' fin_btwtabelwaarde_code, 'Nul' fin_btwtabelwaarde_oms, 0 fin_btwtabelwaarde_perc, TO_NUMBER (NULL) fin_btwtabelwaarde_verlegd, -- Of 1? 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, fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * (verv_toeslag_ud.fac_usrdata_prijs - 1) bedrag, -- Jaarbedrag * Vervangend toeslagperc. TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage verv_toeslag.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * (verv_toeslag_ud.fac_usrdata_prijs - 1) * 1/12, 2) mndnet, -- Netto maandbedrag (incl. kortingspercentage) 0 mndbtw, -- BTW maandbedrag --'9999' grtboekrek, TRIM (ks.prs_kostensoort_oms) grtboekrek, -- 8404 TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2003 -- Parkeren CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 864 -- Geen automatische facturatie 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 = 415 -- Aantal LEFT JOIN cnt_kenmerkcontract bedrag ON x.cnt_contract_key = bedrag.cnt_contract_key AND bedrag.cnt_kenmerkcontract_verwijder IS NULL AND bedrag.cnt_kenmerk_key = 416 -- Bedrag LEFT JOIN cnt_kenmerkcontract verv_toeslag ON x.cnt_contract_key = verv_toeslag.cnt_contract_key AND verv_toeslag.cnt_kenmerkcontract_verwijder IS NULL AND verv_toeslag.cnt_kenmerk_key = 1042 -- Vervangende toeslag LEFT JOIN fac_v_aanwezigusrdata verv_toeslag_ud ON fac.safe_to_number (verv_toeslag.cnt_kenmerkcontract_waarde) = verv_toeslag_ud.fac_usrdata_key LEFT JOIN cnt_discipline cd ON x.ins_discipline_key = cd.ins_discipline_key LEFT JOIN prs_kostensoort ks ON cd.prs_kostensoort_key = ks.prs_kostensoort_key WHERE gaf.cnt_kenmerkcontract_waarde IS NOT NULL -- Handmatig! AND verv_toeslag_ud.fac_usrdata_prijs > 1 UNION ALL -- Parkeren CMD (vooruit)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CMD' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '9901' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! COALESCE (ks.prs_kostensoort_refcode, ks.prs_kostensoort_opmerking) regel, -- Parkeren CMD NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 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, fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage bedrag.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * 1/12, 2) mndnet, -- Netto maandbedrag (incl. kortingspercentage) 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * 1/12, 2) mndbtw, -- BTW maandbedrag TRIM (ks.prs_kostensoort_oms) grtboekrek, -- 8115 TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (cmdnr.prs_kenmerklink_waarde) debiteur_nr, 0.21 btw, 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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2004 -- Parkeren CMD AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 865 -- Geen automatische facturatie 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 = 417 -- Aantal LEFT JOIN cnt_kenmerkcontract bedrag ON x.cnt_contract_key = bedrag.cnt_contract_key AND bedrag.cnt_kenmerkcontract_verwijder IS NULL AND bedrag.cnt_kenmerk_key = 418 -- Bedrag LEFT JOIN cnt_discipline cd ON x.ins_discipline_key = cd.ins_discipline_key LEFT JOIN prs_kostensoort ks ON cd.prs_kostensoort_key = ks.prs_kostensoort_key WHERE gaf.cnt_kenmerkcontract_waarde IS NOT NULL -- Handmatig! UNION ALL -- Deelnemers CMD (achteraf)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CMD' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '9901' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CMD - ' || sd_ud.fac_usrdata_omschr regel, -- Deelnemers CMD NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 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, fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage bedrag.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * 1/12, 2) mndnet, -- Netto maandbedrag (incl. kortingspercentage) 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * 1/12, 2) mndbtw, -- BTW maandbedrag TRIM (SUBSTR (sd_ud.fac_usrdata_code, 1, INSTR (sd_ud.fac_usrdata_code, '/') - 1)) grtboekrek, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (cmdnr.prs_kenmerklink_waarde) debiteur_nr, 0.21 btw, 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, TO_CHAR (ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -2), 'yyyymm') maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2005 -- Deelnemers CMD AND c.cnt_contract_status = 0 -- Definitief AND TRUNC (c.cnt_contract_looptijd_van) < ADD_MONTHS (LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')), -2) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -2) -- Tot-datum > begin te factureren maand AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 863 -- Geen automatische facturatie 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 = 419 -- Aantal LEFT JOIN cnt_kenmerkcontract bedrag ON x.cnt_contract_key = bedrag.cnt_contract_key AND bedrag.cnt_kenmerkcontract_verwijder IS NULL AND bedrag.cnt_kenmerk_key = 420 -- Bedrag LEFT JOIN cnt_kenmerkcontract sd ON x.cnt_contract_key = sd.cnt_contract_key AND sd.cnt_kenmerkcontract_verwijder IS NULL AND sd.cnt_kenmerk_key = 421 -- Soort deelnemer LEFT JOIN fac_v_aanwezigusrdata sd_ud ON fac.safe_to_number (sd.cnt_kenmerkcontract_waarde) = sd_ud.fac_usrdata_key WHERE gaf.cnt_kenmerkcontract_waarde IS NOT NULL -- Handmatig! ; CREATE OR REPLACE VIEW bssc_v_fact_actual AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '202301') maand FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, -- Huur! 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '0001' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - Huur' regel, -- Huur NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 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, fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Maandbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage jbw.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 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)) * fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 0, 0.21)), 2) mndbtw, -- BTW maandbedrag DECODE (oh.cnt_kenmerkcontract_waarde, '921', '8417', '8400') grtboekrek, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2001 -- Huur CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 1001 -- Geen automatische facturatie LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key = 641 -- Onbelaste huurder 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 = 962 -- Huur (per maand) LEFT JOIN cnt_kenmerk jbw_k ON jbw.cnt_kenmerk_key = jbw_k.cnt_kenmerk_key AND jbw_k.cnt_kenmerk_verwijder IS NULL WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 AND fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') <= fac.safe_to_date (x.maand || '01', 'yyyymmdd') AND COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) != 0 UNION ALL -- Vervangende toeslag op huur! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '0002' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - Vervangende toeslag' regel, -- Vervangende toeslag NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, '0' fin_btwtabelwaarde_code, 'Nul' fin_btwtabelwaarde_oms, 0 fin_btwtabelwaarde_perc, TO_NUMBER (NULL) fin_btwtabelwaarde_verlegd, -- Of 1? 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 (verv_toeslag_ud.fac_usrdata_prijs - 1) aantal, -- Vervangend toeslagperc. fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Maandbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage verv_toeslag.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * (verv_toeslag_ud.fac_usrdata_prijs - 1) * fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 2) mndnet, -- Netto maandbedrag 0 mndbtw, -- BTW maandbedrag '8417' grtboekrek, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2001 -- Huur CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 1001 -- Geen automatische facturatie LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op 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 = 962 -- Huur (per maand) LEFT JOIN cnt_kenmerk jbw_k ON jbw.cnt_kenmerk_key = jbw_k.cnt_kenmerk_key AND jbw_k.cnt_kenmerk_verwijder IS NULL LEFT JOIN cnt_kenmerkcontract verv_toeslag ON x.cnt_contract_key = verv_toeslag.cnt_contract_key AND verv_toeslag.cnt_kenmerkcontract_verwijder IS NULL AND verv_toeslag.cnt_kenmerk_key = 642 -- Vervangende toeslag LEFT JOIN fac_v_aanwezigusrdata verv_toeslag_ud ON fac.safe_to_number (verv_toeslag.cnt_kenmerkcontract_waarde) = verv_toeslag_ud.fac_usrdata_key WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 AND fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') <= fac.safe_to_date (x.maand || '01', 'yyyymmdd') AND COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) != 0 AND verv_toeslag_ud.fac_usrdata_prijs > 1 UNION ALL -- VVO bij facturatie (zodat historisch bewaard)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '0001' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - Huur' regel, -- Huur NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 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 rxo.alg_ruimte_opp_alt1 aantal, -- VVO fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) bedrag, -- Huurprijs m2/p.j. vvo_toeslag_ud.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagpercentage 962 regel_key, pa.alg_onroerendgoed_type, pa.alg_onroerendgoed_keys, pa.alg_plaatsaanduiding, 0 mndnet, -- Netto maandbedrag 0 mndbtw, -- BTW maandbedrag DECODE (oh.cnt_kenmerkcontract_waarde, '921', '8417', '8400') grtboekrek, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2001 -- Huur CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 1001 -- Geen automatische facturatie LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key = 641 -- Onbelaste huurder LEFT JOIN cnt_v_aanwezigcontract_plaats ccp ON x.cnt_contract_key = ccp.cnt_contract_key AND ccp.cnt_alg_plaats_code = 'R' -- Alleen Scope-ruimten! LEFT JOIN alg_v_plaatsaanduiding_all pa ON ccp.cnt_alg_plaats_key = pa.alg_onroerendgoed_keys LEFT JOIN alg_v_aanwezigruimte rxo ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key LEFT JOIN cnt_kenmerkcontract tarief ON x.cnt_contract_key = tarief.cnt_contract_key AND tarief.cnt_kenmerkcontract_verwijder IS NULL AND tarief.cnt_kenmerk_key = 861 -- Huurprijs m2/p.j. LEFT JOIN cnt_kenmerkcontract vvo_toeslag ON x.cnt_contract_key = vvo_toeslag.cnt_contract_key AND vvo_toeslag.cnt_kenmerkcontract_verwijder IS NULL AND vvo_toeslag.cnt_kenmerk_key = 402 -- VVO toeslagpercentage LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag_ud ON fac.safe_to_number (vvo_toeslag.cnt_kenmerkcontract_waarde) = vvo_toeslag_ud.fac_usrdata_key WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 AND fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') <= fac.safe_to_date (x.maand || '01', 'yyyymmdd') AND ccp.cnt_alg_plaats_key IS NOT NULL UNION ALL -- M2 correctie bij facturatie (zodat historisch bewaard)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '0001' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - Huur' regel, -- Huur NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 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 (correctie_m2.cnt_kenmerkcontract_waarde) aantal, -- VVO-correctie fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) bedrag, -- Huurprijs m2/p.j. vvo_toeslag_ud.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagpercentage 962 regel_key, 'C' alg_onroerendgoed_type, -1 alg_onroerendgoed_keys, 'Correctie' alg_plaatsaanduiding, 0 mndnet, -- Netto maandbedrag 0 mndbtw, -- BTW maandbedrag DECODE (oh.cnt_kenmerkcontract_waarde, '921', '8417', '8400') grtboekrek, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2001 -- Huur CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 1001 -- Geen automatische facturatie LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key = 641 -- Onbelaste huurder LEFT JOIN cnt_kenmerkcontract correctie_m2 ON x.cnt_contract_key = correctie_m2.cnt_contract_key AND correctie_m2.cnt_kenmerkcontract_verwijder IS NULL AND correctie_m2.cnt_kenmerk_key = 701 -- Correctie m2 LEFT JOIN cnt_kenmerkcontract tarief ON x.cnt_contract_key = tarief.cnt_contract_key AND tarief.cnt_kenmerkcontract_verwijder IS NULL AND tarief.cnt_kenmerk_key = 861 -- Huurprijs m2/p.j. LEFT JOIN cnt_kenmerkcontract vvo_toeslag ON x.cnt_contract_key = vvo_toeslag.cnt_contract_key AND vvo_toeslag.cnt_kenmerkcontract_verwijder IS NULL AND vvo_toeslag.cnt_kenmerk_key = 402 -- VVO toeslagpercentage LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag_ud ON fac.safe_to_number (vvo_toeslag.cnt_kenmerkcontract_waarde) = vvo_toeslag_ud.fac_usrdata_key WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 AND fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') <= fac.safe_to_date (x.maand || '01', 'yyyymmdd') AND correctie_m2.cnt_kenmerkcontract_waarde IS NOT NULL UNION ALL -- Overige maandbedragen! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO SUBSTR ('000' || TO_CHAR (jbw_k.cnt_kenmerk_volgnummer), -4)|| TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - ' || jbw_k.cnt_kenmerk_omschrijving regel, -- Huur NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H')) fin_btwtabelwaarde_code, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, --DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 0, 21)) fin_btwtabelwaarde_perc, DECODE (jbw.cnt_kenmerk_key, '1081', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H'), 'H') fin_btwtabelwaarde_code, DECODE (jbw.cnt_kenmerk_key, '1081', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog'), 'Hoog') fin_btwtabelwaarde_oms, DECODE (jbw.cnt_kenmerk_key, '1081', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 0, 21), 21) fin_btwtabelwaarde_perc, 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, fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) bedrag, -- Maandbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage jbw.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 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)) * fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde) * 0.21, 2) mndbtw, -- BTW maandbedrag DECODE (jbw.cnt_kenmerk_key, '963', '8403', -- ICT '964', '8402', -- Facilitaire kosten '965', '8401', -- Servicekosten '966', '8406', -- Schoonmaak '982', '8424', -- Koffieautomaten '983', '8425', -- Duty manager '1081', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '8417', '8400'), -- Opslagruimte '9999') grtboekrek, -- Hardcoded? TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2001 -- Huur CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 1001 -- Geen automatische facturatie LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key = 641 -- Onbelaste huurder 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 (963, 964, 965, 966, 982, 983, 1081) -- Overige maandbedragen LEFT JOIN cnt_kenmerk jbw_k ON jbw.cnt_kenmerk_key = jbw_k.cnt_kenmerk_key AND jbw_k.cnt_kenmerk_verwijder IS NULL WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 AND fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') <= fac.safe_to_date (x.maand || '01', 'yyyymmdd') AND COALESCE (fac.safe_to_number (jbw.cnt_kenmerkcontract_waarde), 0) != 0 UNION ALL -- Parkeren CHV (vooruit)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '9901' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! COALESCE (ks.prs_kostensoort_refcode, ks.prs_kostensoort_opmerking) regel, -- Parkeren CHV NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (oh.cnt_kenmerkcontract_waarde, '921', '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (oh.cnt_kenmerkcontract_waarde, '921', 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 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, fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage bedrag.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (oh.cnt_kenmerkcontract_waarde, '921', 0, 0.21)) * 1/12, 2) mndbtw, -- BTW maandbedrag --DECODE (oh.cnt_kenmerkcontract_waarde, '921', '9999', '8404') grtboekrek, TRIM (ks.prs_kostensoort_oms) grtboekrek, -- 8404 TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2003 -- Parkeren CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 864 -- Geen automatische facturatie 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 = 415 -- Aantal LEFT JOIN cnt_kenmerkcontract bedrag ON x.cnt_contract_key = bedrag.cnt_contract_key AND bedrag.cnt_kenmerkcontract_verwijder IS NULL AND bedrag.cnt_kenmerk_key = 416 -- Bedrag LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key = 1041 -- Onbelaste huurder LEFT JOIN cnt_discipline cd ON x.ins_discipline_key = cd.ins_discipline_key LEFT JOIN prs_kostensoort ks ON cd.prs_kostensoort_key = ks.prs_kostensoort_key WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 AND COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) > 0 AND COALESCE (fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde), 0) > 0 UNION ALL -- Vervangende toeslag op Parkeren CHV (vooruit)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '9902' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - Vervangende toeslag' regel, -- Vervangende toeslag NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, '0' fin_btwtabelwaarde_code, 'Nul' fin_btwtabelwaarde_oms, 0 fin_btwtabelwaarde_perc, TO_NUMBER (NULL) fin_btwtabelwaarde_verlegd, -- Of 1? 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, fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * (verv_toeslag_ud.fac_usrdata_prijs - 1) bedrag, -- Jaarbedrag * Vervangend toeslagperc. TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage verv_toeslag.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * (verv_toeslag_ud.fac_usrdata_prijs - 1) * 1/12, 2) mndnet, -- Netto maandbedrag (incl. kortingspercentage) 0 mndbtw, -- BTW maandbedrag --'9999' grtboekrek, TRIM (ks.prs_kostensoort_oms) grtboekrek, -- 8404 TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerklink_waarde) debiteur_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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2003 -- Parkeren CHV AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 864 -- Geen automatische facturatie 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 = 415 -- Aantal LEFT JOIN cnt_kenmerkcontract bedrag ON x.cnt_contract_key = bedrag.cnt_contract_key AND bedrag.cnt_kenmerkcontract_verwijder IS NULL AND bedrag.cnt_kenmerk_key = 416 -- Bedrag LEFT JOIN cnt_kenmerkcontract verv_toeslag ON x.cnt_contract_key = verv_toeslag.cnt_contract_key AND verv_toeslag.cnt_kenmerkcontract_verwijder IS NULL AND verv_toeslag.cnt_kenmerk_key = 1042 -- Vervangende toeslag LEFT JOIN fac_v_aanwezigusrdata verv_toeslag_ud ON fac.safe_to_number (verv_toeslag.cnt_kenmerkcontract_waarde) = verv_toeslag_ud.fac_usrdata_key LEFT JOIN cnt_discipline cd ON x.ins_discipline_key = cd.ins_discipline_key LEFT JOIN prs_kostensoort ks ON cd.prs_kostensoort_key = ks.prs_kostensoort_key WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 AND COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) > 0 AND COALESCE (fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde), 0) > 0 AND verv_toeslag_ud.fac_usrdata_prijs > 1 UNION ALL -- Parkeren CMD (vooruit)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CMD' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '9901' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! COALESCE (ks.prs_kostensoort_refcode, ks.prs_kostensoort_opmerking) regel, -- Parkeren CMD NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 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, fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage bedrag.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * 1/12, 2) mndnet, -- Netto maandbedrag (incl. kortingspercentage) 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * 1/12, 2) mndbtw, -- BTW maandbedrag TRIM (ks.prs_kostensoort_oms) grtboekrek, -- 8115 TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (cmdnr.prs_kenmerklink_waarde) debiteur_nr, 0.21 btw, 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, lp.maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2004 -- Parkeren CMD AND c.cnt_contract_status = 0 -- Definitief 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_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 865 -- Geen automatische facturatie 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 = 417 -- Aantal LEFT JOIN cnt_kenmerkcontract bedrag ON x.cnt_contract_key = bedrag.cnt_contract_key AND bedrag.cnt_kenmerkcontract_verwijder IS NULL AND bedrag.cnt_kenmerk_key = 418 -- Bedrag LEFT JOIN cnt_discipline cd ON x.ins_discipline_key = cd.ins_discipline_key LEFT JOIN prs_kostensoort ks ON cd.prs_kostensoort_key = ks.prs_kostensoort_key WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 AND COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) > 0 AND COALESCE (fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde), 0) > 0 UNION ALL -- Deelnemers CMD (achteraf)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, 'CMD' || TRIM (x.cnt_contract_nummer) po_nr, -- PO '9901' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CMD - ' || sd_ud.fac_usrdata_omschr regel, -- Deelnemers CMD NULL aanvrager, -- !!! NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'contract' xmlnode, x.cnt_contract_key refkey, -- !!! x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, x.cnt_contract_omschrijving beschrijving, NULL contactpersoon, x.adres, x.postcode, x.plaats, x.land, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code, DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 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, fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) bedrag, -- Jaarbedrag TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagpercentage bedrag.cnt_kenmerk_key regel_key, NULL alg_onroerendgoed_type, 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * 1/12, 2) mndnet, -- Netto maandbedrag (incl. kortingspercentage) 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)) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * 1/12, 2) mndbtw, -- BTW maandbedrag TRIM (SUBSTR (sd_ud.fac_usrdata_code, 1, INSTR (sd_ud.fac_usrdata_code, '/') - 1)) grtboekrek, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key 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_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (cmdnr.prs_kenmerklink_waarde) debiteur_nr, 0.21 btw, 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, TO_CHAR (ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -2), 'yyyymm') maand FROM lopendeperiode lp, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE c.ins_discipline_key = 2005 -- Deelnemers CMD AND c.cnt_contract_status = 0 -- Definitief AND TRUNC (c.cnt_contract_looptijd_van) < ADD_MONTHS (LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')), -2) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -2) -- Tot-datum > begin te factureren maand AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x 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 = -1 -- BTW verlegd LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 863 -- Geen automatische facturatie 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 = 419 -- Aantal LEFT JOIN cnt_kenmerkcontract bedrag ON x.cnt_contract_key = bedrag.cnt_contract_key AND bedrag.cnt_kenmerkcontract_verwijder IS NULL AND bedrag.cnt_kenmerk_key = 420 -- Bedrag LEFT JOIN cnt_kenmerkcontract sd ON x.cnt_contract_key = sd.cnt_contract_key AND sd.cnt_kenmerkcontract_verwijder IS NULL AND sd.cnt_kenmerk_key = 421 -- Soort deelnemer LEFT JOIN fac_v_aanwezigusrdata sd_ud ON fac.safe_to_number (sd.cnt_kenmerkcontract_waarde) = sd_ud.fac_usrdata_key WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 AND COALESCE (fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde), 0) > 0 AND COALESCE (fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde), 0) > 0 ; CREATE OR REPLACE VIEW bssc_v_fact_frozen AS SELECT vf.fin_verkoopfactuur_id, SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1) po_nr, SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 8) sortering, SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 10) regel, NULL aanvrager, -- !!! NULL 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.fin_verkoopfactuur_c1 refid, -- !!! 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) beschrijving, NULL 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 (vf.fin_verkoopfactuur_n2) aantal, fac.safe_to_number (vf.fin_verkoopfactuur_n3) bedrag, fac.safe_to_number (vf.fin_verkoopfactuur_n4) vvo_toeslag, vf.fin_verkoopfactuur_n5 regel_key, 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, vf.fin_verkoopfactuur_bedrag mndnet, -- Netto maandbedrag vf.fin_verkoopfactuur_btw mndbtw, -- BTW maandbedrag vf.prs_kostensoort_oms grtboekrek, vf.fin_verkoopfactuur_n1 mld_melding_key FROM fin_verkoopfactuur vf, cnt_contract c, prs_bedrijf b WHERE (vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_n1 IS NULL) -- C en geen M! AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_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); CREATE OR REPLACE PROCEDURE bssc_select_fact (p_applname IN VARCHAR2, p_applrun IN VARCHAR2) AS -- Factureer/bevries verhuurcontractkosten en verwerk=AV alle eventuele correctiemeldingen! CURSOR c1 IS SELECT '[' || v.refid || '|' || v.prs_debiteur_naam || '|' || v.regel || '] ' aanduiding, v.* FROM bssc_v_fact_actual v ORDER BY v.prs_bedrijf_key, v.po_nr, v.sortering, v.regel, v.alg_plaatsaanduiding; -- Verstuur verkoopfactuur naar huurder. CURSOR c2 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, COALESCE (kl.prs_kenmerklink_waarde, b.prs_bedrijf_email) prs_bedrijf_email FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1240) kl -- E-mail adres facturatie WHERE vf.fin_verkoopfactuur_xmlnode = 'contract' AND fin_verkoopfactuur_n1 IS NULL -- Onderscheid ADDD vs. FACT! AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = kl.prs_link_key (+) AND TRUNC (vf.fin_verkoopfactuur_aanmaak) = TRUNC (SYSDATE) ORDER BY vf.fin_verkoopfactuur_id; 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); 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 werkdag van de maand doorgezet. -- IF nacht na 1e werkdag van de 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 TO_CHAR (SYSDATE, 'dd') = '16' -- TODO:Weer terug naar nacht na 1e werkdag van de maand! IF FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 1 -- Nacht na 1e werkdag van de maand! 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_contract_key := -1; -- Factuur per contract! -- Factureer/bevries (huur)contractkosten. FOR rec IN c1 LOOP BEGIN IF rec.refkey != v_old_contract_key THEN IF rec.po_nr LIKE 'CHV%' THEN SELECT fac_s_user01.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '1' || SUBSTR ('000000' || TO_CHAR (v_count), -6); ELSE SELECT fac_s_user02.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '2' || SUBSTR ('000000' || TO_CHAR (v_count), -6); 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.refkey; 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.refkey, 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 * 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.mld_melding_key, -- n1/correctiemelding=NULL rec.aantal, -- n2/aantal rec.bedrag, -- n3/bedrag rec.vvo_toeslag, -- n4/vvo_toeslag rec.regel_key, -- n5/regel_key rec.refid, -- c1/contract_id NULL, -- c2/reservering_id=NULL NULL, -- c3 NULL, -- c4 NULL, -- c5 rec.alg_onroerendgoed_type || rec.alg_onroerendgoed_keys || '=' || rec.alg_plaatsaanduiding, -- c6 rec.debiteur_nr || '=' || rec.beschrijving, -- c7 NULL, -- 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/#regels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum)); -- Verstuur verkoopfactuur naar huurder. FOR rec IN c2 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_notbefore, fac_notificatie_sender_email, fac_notificatie_attachments) VALUES (281, -- CUST01-noti 2, -- Mail DECODE ( -- To-adres rec.prs_bedrijf_email, NULL, 'finance.smartservices@brightlands.com', rec.prs_bedrijf_email || ';finance.smartservices@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), 'finance.smartservices@brightlands.com', '/../../Fplace5i/CUST/BSSC/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; / -- 30 Vergadering/2,00 Ruimte -- 50 Events/8,00 Ruimte -- 90 Roomservice/0,50 Voorzieningen -- 170 Huurders Events/4,00 Ruimte -- 190 Projectruimtes Etage 4/8,00 Ruimte CREATE OR REPLACE VIEW bssc_v_addd_correctie AS SELECT '*CONCEPT* M' || TO_CHAR (m.mld_melding_key) fin_verkoopfactuur_id, DECODE (m.mld_stdmelding_key, 1481, 'CHV', 'CMD') || TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Overnemen van te corrigeren factuur? '01' sortering, TRIM (ro.waarde) regel, pf.prs_perslid_naam_full aanvrager, 'Correctie ' || vf.fin_verkoopfactuur_id 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, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_c1, TO_CHAR (m.mld_melding_key)) refid, NULL lv, -- TODO: Nvt. op correctiefactuur? --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! b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, -- Niet overnemen van te corrigeren factuur? --TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? DECODE (m.mld_stdmelding_key, 1481, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr, -- Niet overnemen van te corrigeren factuur? --NULL btw_nr, NULL beschrijving, --DECODE (vf.fin_verkoopfactuur_xmlnode, 'reservering', vf.fin_verkoopfactuur_c4, NULL) contactpersoon, NULL contactpersoon, -- TODO: Nvt. op correctiefactuur/Alleen RES? 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, -- 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! NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, TO_NUMBER (NULL) aantal, TO_NUMBER (NULL) bedrag, TO_NUMBER (NULL) vvo_toeslag, 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 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, 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 * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, --(SELECT prs_link_key, prs_kenmerklink_waarde -- FROM prs_kenmerklink -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 742) 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 = 743 -- 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 = 744) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, prs_kostenplaats kp -- TODO (of weg?): Was blcc_v_kostenplaats WHERE km.mld_kenmerk_key = -1 -- 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 = 745) ks -- Kostensoort WHERE m.mld_stdmelding_key IN (1481, 1482) -- Fin. correctie CHV/CMD AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- In behandeling/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key IN (861, 862) -- Factuurreferentie CHV/CMD 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 vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_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* M' || TO_CHAR (m.mld_melding_key) fin_verkoopfactuur_id, DECODE (m.mld_stdmelding_key, 1481, 'CHV', 'CMD') || TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Overnemen van te corrigeren factuur? '02' sortering, TRIM (ro.waarde) regel, pf.prs_perslid_naam_full aanvrager, 'Correctie ' || vf.fin_verkoopfactuur_id 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, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_c1, TO_CHAR (m.mld_melding_key)) refid, NULL lv, -- TODO: Nvt. op correctiefactuur? --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! b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, -- Niet overnemen van te corrigeren factuur? --TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? DECODE (m.mld_stdmelding_key, 1481, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr, -- Niet overnemen van te corrigeren factuur? --NULL btw_nr, NULL beschrijving, NULL contactpersoon, -- TODO: Nvt. op correctiefactuur/Alleen RES? 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, -- 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! NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, TO_NUMBER (NULL) aantal, TO_NUMBER (NULL) bedrag, TO_NUMBER (NULL) vvo_toeslag, 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 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, 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 * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, --(SELECT prs_link_key, prs_kenmerklink_waarde -- FROM prs_kenmerklink -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 747) 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 = 748 -- 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 = 749) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, prs_kostenplaats kp -- TODO (of weg?): Was blcc_v_kostenplaats WHERE km.mld_kenmerk_key = -1 -- 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 = 750) ks -- Kostensoort WHERE m.mld_stdmelding_key IN (1481, 1482) -- Fin. correctie CHV/CMD AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- In behandeling/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key IN (861, 862) -- Factuurreferentie CHV/CMD 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 vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_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* M' || TO_CHAR (m.mld_melding_key) fin_verkoopfactuur_id, DECODE (m.mld_stdmelding_key, 1481, 'CHV', 'CMD') || TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Overnemen van te corrigeren factuur? '03' sortering, TRIM (ro.waarde) regel, pf.prs_perslid_naam_full aanvrager, 'Correctie ' || vf.fin_verkoopfactuur_id 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, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_c1, TO_CHAR (m.mld_melding_key)) refid, NULL lv, -- TODO: Nvt. op correctiefactuur? --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! b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, -- Niet overnemen van te corrigeren factuur? --TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? DECODE (m.mld_stdmelding_key, 1481, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr, -- Niet overnemen van te corrigeren factuur? --NULL btw_nr, NULL beschrijving, NULL contactpersoon, -- TODO: Nvt. op correctiefactuur/Alleen RES? 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, -- 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! NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, TO_NUMBER (NULL) aantal, TO_NUMBER (NULL) bedrag, TO_NUMBER (NULL) vvo_toeslag, 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 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, 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 * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, --(SELECT prs_link_key, prs_kenmerklink_waarde -- FROM prs_kenmerklink -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 762) 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 = 763 -- 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 = 764) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, prs_kostenplaats kp -- TODO (of weg?): Was blcc_v_kostenplaats WHERE km.mld_kenmerk_key = -1 -- 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 IN (1481, 1482) -- Fin. correctie CHV/CMD AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- In behandeling/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key IN (861, 862) -- Factuurreferentie CHV/CMD 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 vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_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* M' || TO_CHAR (m.mld_melding_key) fin_verkoopfactuur_id, DECODE (m.mld_stdmelding_key, 1481, 'CHV', 'CMD') || TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Overnemen van te corrigeren factuur? '04' sortering, TRIM (ro.waarde) regel, pf.prs_perslid_naam_full aanvrager, 'Correctie ' || vf.fin_verkoopfactuur_id 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, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_c1, TO_CHAR (m.mld_melding_key)) refid, NULL lv, -- TODO: Nvt. op correctiefactuur? --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! b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, -- Niet overnemen van te corrigeren factuur? --TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? DECODE (m.mld_stdmelding_key, 1481, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr, -- Niet overnemen van te corrigeren factuur? --NULL btw_nr, NULL beschrijving, NULL contactpersoon, -- TODO: Nvt. op correctiefactuur/Alleen RES? 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, -- 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! NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, TO_NUMBER (NULL) aantal, TO_NUMBER (NULL) bedrag, TO_NUMBER (NULL) vvo_toeslag, 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 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, 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 * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, --(SELECT prs_link_key, prs_kenmerklink_waarde -- FROM prs_kenmerklink -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 767) 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 = 768 -- 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 = 769) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, prs_kostenplaats kp -- TODO (of weg?): Was blcc_v_kostenplaats WHERE km.mld_kenmerk_key = -1 -- 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 = 770) ks -- Kostensoort WHERE m.mld_stdmelding_key IN (1481, 1482) -- Fin. correctie CHV/CMD AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- In behandeling/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key IN (861, 862) -- Factuurreferentie CHV/CMD 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 vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_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* M' || TO_CHAR (m.mld_melding_key) fin_verkoopfactuur_id, DECODE (m.mld_stdmelding_key, 1481, 'CHV', 'CMD') || TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1)) po_nr, -- Overnemen van te corrigeren factuur? '05' sortering, TRIM (ro.waarde) regel, pf.prs_perslid_naam_full aanvrager, 'Correctie ' || vf.fin_verkoopfactuur_id 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, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', 'contract', 'melding') xmlnode, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_refkey, m.mld_melding_key) refkey, DECODE (vf.fin_verkoopfactuur_xmlnode, 'contract', vf.fin_verkoopfactuur_c1, TO_CHAR (m.mld_melding_key)) refid, NULL lv, -- TODO: Nvt. op correctiefactuur? --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! b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, -- Niet overnemen van te corrigeren factuur? --TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur? DECODE (m.mld_stdmelding_key, 1481, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr, -- Niet overnemen van te corrigeren factuur? --NULL btw_nr, NULL beschrijving, NULL contactpersoon, -- TODO: Nvt. op correctiefactuur/Alleen RES? 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, -- 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! NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, TO_NUMBER (NULL) aantal, TO_NUMBER (NULL) bedrag, TO_NUMBER (NULL) vvo_toeslag, 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 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, 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 * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, --(SELECT prs_link_key, prs_kenmerklink_waarde -- FROM prs_kenmerklink -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 772) 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 = 773 -- 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 = 774) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, prs_kostenplaats kp -- TODO (of weg?): Was blcc_v_kostenplaats WHERE km.mld_kenmerk_key = -1 -- 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 = 775) ks -- Kostensoort WHERE m.mld_stdmelding_key IN (1481, 1482) -- Fin. correctie CHV/CMD AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- In behandeling/Afgemeld AND m.mld_melding_key = km.mld_melding_key AND km.mld_kenmerk_key IN (861, 862) -- Factuurreferentie CHV/CMD 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 vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_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 bssc_v_addd_losverkoop AS SELECT '*CONCEPT* M' || TO_CHAR (m.mld_melding_key) fin_verkoopfactuur_id, DECODE (m.mld_stdmelding_key, 1641, 'CHV', 'CMD') || TRIM (COALESCE (po.waarde, '-')) po_nr, '01' sortering, TRIM (ro.waarde) regel, pf.prs_perslid_naam_full aanvrager, 'Inc.Verk. ' || TO_CHAR (m.mld_melding_key) 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, DECODE (m2c.cnt_contract_key, NULL, TO_CHAR (m.mld_melding_key), m2c.cnt_contract_nummer_intern || '/' || COALESCE (m2c.cnt_contract_versie, '0')) refid, NULL lv, -- TODO: Nvt. op losverkoopfactuur? b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, DECODE (m.mld_stdmelding_key, 1641, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr, --NULL btw_nr, NULL beschrijving, TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) 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, 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, NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, TO_NUMBER (NULL) aantal, TO_NUMBER (NULL) bedrag, TO_NUMBER (NULL) vvo_toeslag, 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 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, (SELECT km.mld_melding_key, fac.safe_to_number (km.mld_kenmerkmelding_waarde) debiteur_id FROM mld_v_aanwezigkenmerkmelding km WHERE km.mld_kenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD prs_contactpersoon cp, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, --(SELECT prs_link_key, prs_kenmerklink_waarde -- FROM prs_kenmerklink -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key IN (961, 962)) 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 IN (963, 964) -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 902) 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 = 903 -- 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 = 904) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, prs_kostenplaats kp -- TODO (of weg?): Was blcc_v_kostenplaats WHERE km.mld_kenmerk_key = -1 -- 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 = 905) ks -- Kostensoort WHERE m.mld_stdmelding_key IN (1641, 1642) -- Losse verkoop CHV/CMD AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- In behandeling/Afgemeld AND m.mld_melding_key = deb.mld_melding_key AND MOD (deb.debiteur_id, 100000000) = cp.prs_contactpersoon_key(+) AND COALESCE (cp.prs_bedrijf_key, MOD (deb.debiteur_id, 100000000)) = b.prs_bedrijf_key(+) AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_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 = 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* M' || TO_CHAR (m.mld_melding_key) fin_verkoopfactuur_id, DECODE (m.mld_stdmelding_key, 1641, 'CHV', 'CMD') || TRIM (COALESCE (po.waarde, '-')) po_nr, '02' sortering, TRIM (ro.waarde) regel, pf.prs_perslid_naam_full aanvrager, 'Inc.Verk. ' || TO_CHAR (m.mld_melding_key) 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, DECODE (m2c.cnt_contract_key, NULL, TO_CHAR (m.mld_melding_key), m2c.cnt_contract_nummer_intern || '/' || COALESCE (m2c.cnt_contract_versie, '0')) refid, NULL lv, -- TODO: Nvt. op losverkoopfactuur? b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, DECODE (m.mld_stdmelding_key, 1641, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr, --NULL btw_nr, NULL beschrijving, TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) 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, 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, NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, TO_NUMBER (NULL) aantal, TO_NUMBER (NULL) bedrag, TO_NUMBER (NULL) vvo_toeslag, 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 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, (SELECT km.mld_melding_key, fac.safe_to_number (km.mld_kenmerkmelding_waarde) debiteur_id FROM mld_v_aanwezigkenmerkmelding km WHERE km.mld_kenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD prs_contactpersoon cp, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, --(SELECT prs_link_key, prs_kenmerklink_waarde -- FROM prs_kenmerklink -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key IN (961, 962)) 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 IN (963, 964) -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 907) 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 = 908 -- 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 = 909) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, prs_kostenplaats kp -- TODO (of weg?): Was blcc_v_kostenplaats WHERE km.mld_kenmerk_key = -1 -- 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 = 910) ks -- Kostensoort WHERE m.mld_stdmelding_key IN (1641, 1642) -- Losse verkoop CHV/CMD AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- In behandeling/Afgemeld AND m.mld_melding_key = deb.mld_melding_key AND MOD (deb.debiteur_id, 100000000) = cp.prs_contactpersoon_key(+) AND COALESCE (cp.prs_bedrijf_key, MOD (deb.debiteur_id, 100000000)) = b.prs_bedrijf_key(+) AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_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 = 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* M' || TO_CHAR (m.mld_melding_key) fin_verkoopfactuur_id, DECODE (m.mld_stdmelding_key, 1641, 'CHV', 'CMD') || TRIM (COALESCE (po.waarde, '-')) po_nr, '03' sortering, TRIM (ro.waarde) regel, pf.prs_perslid_naam_full aanvrager, 'Inc.Verk. ' || TO_CHAR (m.mld_melding_key) 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, DECODE (m2c.cnt_contract_key, NULL, TO_CHAR (m.mld_melding_key), m2c.cnt_contract_nummer_intern || '/' || COALESCE (m2c.cnt_contract_versie, '0')) refid, NULL lv, -- TODO: Nvt. op losverkoopfactuur? b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, DECODE (m.mld_stdmelding_key, 1641, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr, --NULL btw_nr, NULL beschrijving, TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) 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, 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, NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, TO_NUMBER (NULL) aantal, TO_NUMBER (NULL) bedrag, TO_NUMBER (NULL) vvo_toeslag, 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 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, (SELECT km.mld_melding_key, fac.safe_to_number (km.mld_kenmerkmelding_waarde) debiteur_id FROM mld_v_aanwezigkenmerkmelding km WHERE km.mld_kenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD prs_contactpersoon cp, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, --(SELECT prs_link_key, prs_kenmerklink_waarde -- FROM prs_kenmerklink -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key IN (961, 962)) 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 IN (963, 964) -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 912) 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 = 913 -- 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 = 914) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, prs_kostenplaats kp -- TODO (of weg?): Was blcc_v_kostenplaats WHERE km.mld_kenmerk_key = -1 -- 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 = 915) ks -- Kostensoort WHERE m.mld_stdmelding_key IN (1641, 1642) -- Losse verkoop CHV/CMD AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- In behandeling/Afgemeld AND m.mld_melding_key = deb.mld_melding_key AND MOD (deb.debiteur_id, 100000000) = cp.prs_contactpersoon_key(+) AND COALESCE (cp.prs_bedrijf_key, MOD (deb.debiteur_id, 100000000)) = b.prs_bedrijf_key(+) AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_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 = 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* M' || TO_CHAR (m.mld_melding_key) fin_verkoopfactuur_id, DECODE (m.mld_stdmelding_key, 1641, 'CHV', 'CMD') || TRIM (COALESCE (po.waarde, '-')) po_nr, '04' sortering, TRIM (ro.waarde) regel, pf.prs_perslid_naam_full aanvrager, 'Inc.Verk. ' || TO_CHAR (m.mld_melding_key) 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, DECODE (m2c.cnt_contract_key, NULL, TO_CHAR (m.mld_melding_key), m2c.cnt_contract_nummer_intern || '/' || COALESCE (m2c.cnt_contract_versie, '0')) refid, NULL lv, -- TODO: Nvt. op losverkoopfactuur? b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, DECODE (m.mld_stdmelding_key, 1641, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr, --NULL btw_nr, NULL beschrijving, TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) 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, 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, NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, TO_NUMBER (NULL) aantal, TO_NUMBER (NULL) bedrag, TO_NUMBER (NULL) vvo_toeslag, 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 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, (SELECT km.mld_melding_key, fac.safe_to_number (km.mld_kenmerkmelding_waarde) debiteur_id FROM mld_v_aanwezigkenmerkmelding km WHERE km.mld_kenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD prs_contactpersoon cp, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, --(SELECT prs_link_key, prs_kenmerklink_waarde -- FROM prs_kenmerklink -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key IN (961, 962)) 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 IN (963, 964) -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 917) 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 = 918 -- 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 = 919) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, prs_kostenplaats kp -- TODO (of weg?): Was blcc_v_kostenplaats WHERE km.mld_kenmerk_key = -1 -- 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 = 920) ks -- Kostensoort WHERE m.mld_stdmelding_key IN (1641, 1642) -- Losse verkoop CHV/CMD AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- In behandeling/Afgemeld AND m.mld_melding_key = deb.mld_melding_key AND MOD (deb.debiteur_id, 100000000) = cp.prs_contactpersoon_key(+) AND COALESCE (cp.prs_bedrijf_key, MOD (deb.debiteur_id, 100000000)) = b.prs_bedrijf_key(+) AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_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 = 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* M' || TO_CHAR (m.mld_melding_key) fin_verkoopfactuur_id, DECODE (m.mld_stdmelding_key, 1641, 'CHV', 'CMD') || TRIM (COALESCE (po.waarde, '-')) po_nr, '05' sortering, TRIM (ro.waarde) regel, pf.prs_perslid_naam_full aanvrager, 'Inc.Verk. ' || TO_CHAR (m.mld_melding_key) 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, DECODE (m2c.cnt_contract_key, NULL, TO_CHAR (m.mld_melding_key), m2c.cnt_contract_nummer_intern || '/' || COALESCE (m2c.cnt_contract_versie, '0')) refid, NULL lv, -- TODO: Nvt. op losverkoopfactuur? b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, DECODE (m.mld_stdmelding_key, 1641, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr, --NULL btw_nr, NULL beschrijving, TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) 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, 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, NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, TO_NUMBER (NULL) aantal, TO_NUMBER (NULL) bedrag, TO_NUMBER (NULL) vvo_toeslag, 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 * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc)), 2) mndbtw, -- BTW correctiebedrag ks.mld_kenmerkmelding_waarde grtboekrek, m.mld_melding_key mld_melding_key -- Losverkoopmelding-key FROM mld_melding m, prs_v_perslid_fullnames_all pf, (SELECT km.mld_melding_key, fac.safe_to_number (km.mld_kenmerkmelding_waarde) debiteur_id FROM mld_v_aanwezigkenmerkmelding km WHERE km.mld_kenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD prs_contactpersoon cp, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, --(SELECT prs_link_key, prs_kenmerklink_waarde -- FROM prs_kenmerklink -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key IN (961, 962)) 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 IN (963, 964) -- Contractreferentie AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = c.cnt_contract_key) m2c, (SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde FROM mld_v_aanwezigkenmerkmelding WHERE mld_kenmerk_key = 922) 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 = 923 -- 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 = 924) ro, -- Regelomschrijving (SELECT km.mld_melding_key, kp.prs_kostenplaats_key FROM mld_v_aanwezigkenmerkmelding km, prs_kostenplaats kp -- TODO (of weg?): Was blcc_v_kostenplaats WHERE km.mld_kenmerk_key = -1 -- 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 = 925) ks -- Kostensoort WHERE m.mld_stdmelding_key IN (1641, 1642) -- Losse verkoop CHV/CMD AND m.prs_perslid_key_voor = pf.prs_perslid_key AND m.mld_melding_status IN (4, 5) -- In behandeling/Afgemeld AND m.mld_melding_key = deb.mld_melding_key AND MOD (deb.debiteur_id, 100000000) = cp.prs_contactpersoon_key(+) AND COALESCE (cp.prs_bedrijf_key, MOD (deb.debiteur_id, 100000000)) = b.prs_bedrijf_key(+) AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_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 = 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 bssc_v_addd_actual AS SELECT DECODE ( x.prs_bedrijf_key, NULL, '*OPEN* R' || x.res_id, DECODE ( vtfd.res_key, NULL, '*OPEN* R' || x.res_id, '*CONCEPT* R' || DECODE (dres.aantal, 1, x.res_id, SUBSTR (x.res_id, 1, INSTR (x.res_id, '/') - 1)))) fin_verkoopfactuur_id, MIN ('CMD' || TRIM (COALESCE (x.en, '-'))) po_nr, TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (x.res_rsv_ruimte_key), -7) || TO_CHAR (x.volgnr) sortering, -- TODO --DECODE (x.res_activiteit_key, 30, 'Vergadering ', 50, 'Event ', 'Roomservice ') || x.res_id regel, --'Meeting ' || x.res_id regel, -- Factureren per deelreservering! 'Meeting ' || SUBSTR (x.res_id, 1, INSTR (x.res_id, '/') - 1) regel, -- Factureren per reservering (delen zover vrijgegeven)! x.prs_perslid_naam_full aanvrager, DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2), 'fm99990.0') || ' 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.res_id refid, NULL lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (cmdnr.prs_kenmerklink_waarde) debiteur_nr, NULL beschrijving, x.contactpersoon, -- !!! x.adres, x.postcode, x.plaats, x.land, 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', 9, 21)) fin_btwtabelwaarde_perc, DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, NULL maand, TO_CHAR (x.reslev, 'dd-mm-yyyy') mndbegin, TO_CHAR (x.reslev, 'dd-mm-yyyy') mndeinde, NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, x.aantal aantal, SUM (COALESCE (x.verw_prijs, x.prijs, 0)) bedrag, TO_NUMBER (NULL) vvo_toeslag, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, SUM (COALESCE (x.verw_prijs, x.prijs, 0)) mndnet, -- Netto bedrag SUM (ROUND (DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 0.09, 0.21)) * COALESCE (verw_prijs, prijs, 0), 2)) mndbtw, -- BTW bedrag x.prs_kostensoort_refcode grtboekrek, TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key FROM (SELECT rrr.res_rsv_ruimte_key, -- Ruimte-regel TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) res_id, --h.prs_bedrijf_key, --TRIM (h.prs_bedrijf_naam) prs_bedrijf_naam, --TRIM (cph.prs_contactpersoon_aanhef || ' ' || TRIM (cph.prs_contactpersoon_voorletters || ' ' || TRIM (cph.prs_contactpersoon_tussenv || ' ' || cph.prs_contactpersoon_naam))) contactpersoon, b.prs_bedrijf_key, TRIM (b.prs_bedrijf_naam) prs_bedrijf_naam, COALESCE (b.prs_bedrijf_contact_persoon, pf.prs_perslid_naam_full) contactpersoon, 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, rr.res_ruimte_nr 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% enk.res_kenmerkreservering_waarde en, 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, btwvl.prs_kenmerklink_waarde btw_vl, pf.prs_perslid_naam_full, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, --lp.maand, TO_CHAR (res_rsv_ruimte_van, 'yyyymm') maand, -- TODO:Maand volgens van-datum of vrijgave-datum? rrr.res_activiteit_key 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, --(SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) debiteur_id -- FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k -- WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 261) rh, -- Debiteur --prs_contactpersoon cph, --prs_v_aanwezigbedrijf h, (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 = 148) enk, -- Extern nummer prs_perslid p, prs_v_perslid_fullnames_all pf, (SELECT * FROM prs_afdeling WHERE prs_afdeling_verwijder IS NULL) a, (SELECT * FROM prs_v_aanwezigbedrijf WHERE prs_bedrijf_huurder = 1) b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd prs_kostenplaats kp, prs_kostenplaatsgrp kpg, res_ruimte rr, res_discipline rd, prs_kostensoort ks WHERE rrr.res_activiteit_key IN (30, 90, 170) -- Meeting room van Campus reserveren/Roomservice/Eigen meeting room reserveren! AND rrr.res_rsv_ruimte_van > TO_DATE ('20231001', 'yyyymmdd') -- TODO AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE + 1) AND rrr.res_status_bo_key = 5 -- Afgemeld 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 rrr.res_rsv_ruimte_key = rh.res_rsv_ruimte_key(+) -- Externe relatie bepaalt via Debiteur-kenmerk! --AND MOD (rh.debiteur_id, 100000000) = cph.prs_contactpersoon_key(+) --AND COALESCE (cph.prs_bedrijf_key, MOD (rh.debiteur_id, 100000000)) = h.prs_bedrijf_key(+) AND rrr.res_rsv_ruimte_key = enk.res_rsv_ruimte_key(+) AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key -- Interne relatie bepaalt via Gastheer/gastvrouw! AND p.prs_perslid_key = pf.prs_perslid_key --AND p.prs_afdeling_key = a.prs_afdeling_key(+) AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_key != 561 -- Campus Heerlen Management & Development B.V. AND UPPER (TRIM (a.prs_afdeling_omschrijving)) = TRIM (b.prs_bedrijf_naam_upper(+)) AND b.prs_bedrijf_key = btwvl.prs_link_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(+) UNION ALL -- Korting-regel SELECT rrr.res_rsv_ruimte_key, TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) res_id, --h.prs_bedrijf_key, --TRIM (h.prs_bedrijf_naam) prs_bedrijf_naam, --TRIM (cph.prs_contactpersoon_aanhef || ' ' || TRIM (cph.prs_contactpersoon_voorletters || ' ' || TRIM (cph.prs_contactpersoon_tussenv || ' ' || cph.prs_contactpersoon_naam))) contactpersoon, b.prs_bedrijf_key, TRIM (b.prs_bedrijf_naam) prs_bedrijf_naam, COALESCE (b.prs_bedrijf_contact_persoon, pf.prs_perslid_naam_full) contactpersoon, ks.prs_kostensoort_refcode, ks.prs_kostensoort_altcode, 1 volgnr, 1 aantal, --'Korting' || ' [' || TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy') || ']' res_voorziening, 'Korting' 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% enk.res_kenmerkreservering_waarde en, 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, btwvl.prs_kenmerklink_waarde btw_vl, pf.prs_perslid_naam_full, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, --lp.maand, TO_CHAR (res_rsv_ruimte_van, 'yyyymm') maand, -- TODO:Maand volgens van-datum of vrijgave-datum? rrr.res_activiteit_key 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, --(SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) debiteur_id -- FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k -- WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 261) rh, -- Debiteur --prs_contactpersoon cph, --prs_v_aanwezigbedrijf h, (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 = 148) enk, -- Extern nummer prs_perslid p, prs_v_perslid_fullnames_all pf, (SELECT * FROM prs_afdeling WHERE prs_afdeling_verwijder IS NULL) a, (SELECT * FROM prs_v_aanwezigbedrijf WHERE prs_bedrijf_huurder = 1) b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd prs_kostenplaats kp, prs_kostenplaatsgrp kpg, res_ruimte rr, res_discipline rd, prs_kostensoort ks WHERE rrr.res_activiteit_key IN (30, 90, 170) -- Meeting room van Campus reserveren/Roomservice/Eigen meeting room reserveren! AND rrr.res_rsv_ruimte_van > TO_DATE ('20231001', 'yyyymmdd') -- TODO AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE + 1) AND rrr.res_status_bo_key = 5 -- Afgemeld 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 rrr.res_rsv_ruimte_key = rh.res_rsv_ruimte_key(+) -- Externe relatie bepaalt via Debiteur-kenmerk! --AND MOD (rh.debiteur_id, 100000000) = cph.prs_contactpersoon_key(+) --AND COALESCE (cph.prs_bedrijf_key, MOD (rh.debiteur_id, 100000000)) = h.prs_bedrijf_key(+) AND rrr.res_rsv_ruimte_key = enk.res_rsv_ruimte_key(+) AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_perslid_key = pf.prs_perslid_key --AND p.prs_afdeling_key = a.prs_afdeling_key(+) AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_key != 561 -- Campus Heerlen Management & Development B.V. AND UPPER (TRIM (a.prs_afdeling_omschrijving)) = TRIM (b.prs_bedrijf_naam_upper(+)) AND b.prs_bedrijf_key = btwvl.prs_link_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(+) UNION ALL -- Catering-regels SELECT rrr.res_rsv_ruimte_key, TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) res_id, --h.prs_bedrijf_key, --TRIM (h.prs_bedrijf_naam) prs_bedrijf_naam, --TRIM (cph.prs_contactpersoon_aanhef || ' ' || TRIM (cph.prs_contactpersoon_voorletters || ' ' || TRIM (cph.prs_contactpersoon_tussenv || ' ' || cph.prs_contactpersoon_naam))) contactpersoon, b.prs_bedrijf_key, TRIM (b.prs_bedrijf_naam) prs_bedrijf_naam, COALESCE (b.prs_bedrijf_contact_persoon, pf.prs_perslid_naam_full) contactpersoon, ks.prs_kostensoort_refcode, ks.prs_kostensoort_altcode, 2 volgnr, rra.res_rsv_artikel_aantal aantal, --LTRIM (rra.res_artikel_omschrijving) || DECODE (rra.res_rsv_artikel_prijs, NULL, DECODE (rra.res_artikel_prijs, NULL, '', 0, '', '/€' || REPLACE (TO_CHAR (rra.res_artikel_prijs, 'fm99990.00'), '.', ',')), DECODE (rra.res_rsv_artikel_aantal, NULL, '', 0, '', '/€' || REPLACE (TO_CHAR (rra.res_rsv_artikel_prijs / rra.res_rsv_artikel_aantal, 'fm99990.00'), '.', ','))) || ' [' || TO_CHAR (rra.res_rsv_artikel_levering, 'dd-mm-yyyy') || ']' res_voorziening, LTRIM (rra.res_artikel_omschrijving) || DECODE (rra.res_rsv_artikel_prijs, NULL, DECODE (rra.res_artikel_prijs, NULL, '', 0, '', '/€' || REPLACE (TO_CHAR (rra.res_artikel_prijs, 'fm99990.00'), '.', ',')), DECODE (rra.res_rsv_artikel_aantal, NULL, '', 0, '', '/€' || REPLACE (TO_CHAR (rra.res_rsv_artikel_prijs / rra.res_rsv_artikel_aantal, 'fm99990.00'), '.', ','))) 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, enk.res_kenmerkreservering_waarde en, 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, btwvl.prs_kenmerklink_waarde btw_vl, pf.prs_perslid_naam_full, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, --lp.maand, TO_CHAR (res_rsv_ruimte_van, 'yyyymm') maand, -- TODO:Maand volgens van-datum of vrijgave-datum? rrr.res_activiteit_key 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, --(SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) debiteur_id -- FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k -- WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 261) rh, -- Debiteur --prs_contactpersoon cph, --prs_v_aanwezigbedrijf h, (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 = 148) enk, -- Extern nummer prs_perslid p, prs_v_perslid_fullnames_all pf, (SELECT * FROM prs_afdeling WHERE prs_afdeling_verwijder IS NULL) a, (SELECT * FROM prs_v_aanwezigbedrijf WHERE prs_bedrijf_huurder = 1) b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (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 ('20231001', 'yyyymmdd') AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1) AND rra.res_status_bo_key = 5 -- Afgemeld AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key) rra, res_discipline rd, prs_kostensoort ks WHERE rrr.res_activiteit_key IN (30, 90, 170) -- Meeting room van Campus reserveren/Roomservice/Eigen meeting room reserveren! 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 rrr.res_rsv_ruimte_key = rh.res_rsv_ruimte_key(+) -- Externe relatie bepaalt via Debiteur-kenmerk! --AND MOD (rh.debiteur_id, 100000000) = cph.prs_contactpersoon_key(+) --AND COALESCE (cph.prs_bedrijf_key, rh.debiteur_id) = h.prs_bedrijf_key(+) AND rrr.res_rsv_ruimte_key = enk.res_rsv_ruimte_key(+) AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_perslid_key = pf.prs_perslid_key --AND p.prs_afdeling_key = a.prs_afdeling_key(+) AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_key != 561 -- Campus Heerlen Management & Development B.V. AND UPPER (TRIM (a.prs_afdeling_omschrijving)) = TRIM (b.prs_bedrijf_naam_upper(+)) AND b.prs_bedrijf_key = btwvl.prs_link_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.prs_kostensoort_key = ks.prs_kostensoort_key(+) UNION ALL -- Middelen-regels SELECT rrr.res_rsv_ruimte_key, TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) res_id, --h.prs_bedrijf_key, --TRIM (h.prs_bedrijf_naam) prs_bedrijf_naam, --TRIM (cph.prs_contactpersoon_aanhef || ' ' || TRIM (cph.prs_contactpersoon_voorletters || ' ' || TRIM (cph.prs_contactpersoon_tussenv || ' ' || cph.prs_contactpersoon_naam))) contactpersoon, b.prs_bedrijf_key, TRIM (b.prs_bedrijf_naam) prs_bedrijf_naam, COALESCE (b.prs_bedrijf_contact_persoon, pf.prs_perslid_naam_full) contactpersoon, ks.prs_kostensoort_refcode, ks.prs_kostensoort_altcode, 3 volgnr, rrd.res_rsv_deel_aantal aantal, --LTRIM (rrd.res_deel_omschrijving) || ' [' || TO_CHAR (rrd.res_rsv_deel_van, 'dd-mm-yyyy') || ']' res_voorziening, LTRIM (rrd.res_deel_omschrijving) res_voorziening, rrd.res_rsv_deel_van reslev, rrd.res_rsv_deel_prijs verw_prijs, rrd.res_rsv_deel_aantal * rrd.res_deel_prijs prijs, rrd.btw, enk.res_kenmerkreservering_waarde en, 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, btwvl.prs_kenmerklink_waarde btw_vl, pf.prs_perslid_naam_full, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, --lp.maand, TO_CHAR (res_rsv_ruimte_van, 'yyyymm') maand, -- TODO:Maand volgens van-datum of vrijgave-datum? rrr.res_activiteit_key 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, --(SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) debiteur_id -- FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k -- WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 261) rh, -- Debiteur --prs_contactpersoon cph, --prs_v_aanwezigbedrijf h, (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 = 148) enk, -- Extern nummer prs_perslid p, prs_v_perslid_fullnames_all pf, (SELECT * FROM prs_afdeling WHERE prs_afdeling_verwijder IS NULL) a, (SELECT * FROM prs_v_aanwezigbedrijf WHERE prs_bedrijf_huurder = 1) b, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd prs_kostenplaats kp, prs_kostenplaatsgrp kpg, (SELECT rrd.res_rsv_ruimte_key, rrd.res_rsv_deel_van, rrd.res_rsv_deel_prijs, rrd.res_rsv_deel_aantal, rd.res_deel_prijs, 'VH' btw, -- TODO:Alles VH? rd.res_discipline_key, rd.res_deel_omschrijving, rd.res_deel_eenheid FROM res_v_aanwezigrsv_deel rrd, res_deel rd WHERE rrd.res_rsv_deel_van > TO_DATE ('20231001', 'yyyymmdd') AND rrd.res_rsv_deel_van < TRUNC (SYSDATE + 1) AND rrd.res_status_bo_key = 5 -- Afgemeld AND rrd.res_rsv_deel_dirtlevel = 0 AND rrd.res_deel_key = rd.res_deel_key AND rd.res_discipline_key <> 1921) rrd, -- SSC Parkeren res_discipline rd, prs_kostensoort ks WHERE 1 = 0 --TODO:rrr.res_activiteit_key IN (30, 90, 170) -- Meeting room van Campus reserveren/Roomservice/Eigen meeting room reserveren! 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 rrr.res_rsv_ruimte_key = rh.res_rsv_ruimte_key(+) -- Externe relatie bepaalt via Debiteur-kenmerk! --AND MOD (rh.debiteur_id, 100000000) = cph.prs_contactpersoon_key(+) --AND COALESCE (cph.prs_bedrijf_key, rh.debiteur_id) = h.prs_bedrijf_key(+) AND rrr.res_rsv_ruimte_key = enk.res_rsv_ruimte_key(+) AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_perslid_key = pf.prs_perslid_key --AND p.prs_afdeling_key = a.prs_afdeling_key(+) AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_afdeling_key != 561 -- Campus Heerlen Management & Development B.V. AND UPPER (TRIM (a.prs_afdeling_omschrijving)) = TRIM (b.prs_bedrijf_naam_upper(+)) AND b.prs_bedrijf_key = btwvl.prs_link_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 = rrd.res_rsv_ruimte_key AND rrd.res_discipline_key = rd.ins_discipline_key AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)) x, ( SELECT res_reservering_key, COUNT (DISTINCT res_rsv_ruimte_key) aantal FROM res_rsv_ruimte WHERE res_activiteit_key IN (30, 90, 170) -- Meeting room van Campus reserveren/Roomservice/Eigen meeting room reserveren! AND res_rsv_ruimte_van > TO_DATE ('20231001', 'yyyymmdd') -- TODO AND res_rsv_ruimte_van < TRUNC (SYSDATE + 1) AND res_status_bo_key = 5 -- Afgemeld AND res_rsv_ruimte_dirtlevel = 0 GROUP BY res_reservering_key) dres, (SELECT kw.res_rsv_ruimte_key res_key, kw.res_kenmerkreservering_waarde FROM res_kenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerkwaarde_verwijder IS NULL AND kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 281) vtfd, -- Vrijgegeven ter facturatie door (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr WHERE SUBSTR (x.res_id, 1, INSTR (x.res_id, '/') - 1) = TO_CHAR (dres.res_reservering_key) --AND x.prs_bedrijf_key IS NOT NULL -- Bedrijf kan worden bepaald --AND EXISTS (SELECT 1 -- TODO:Gevuld=VRIJGEGEVEN!!! -- FROM res_kenmerkwaarde kw, res_kenmerk k -- WHERE kw.res_kenmerkwaarde_verwijder IS NULL -- AND kw.res_kenmerk_key = k.res_kenmerk_key -- AND k.res_srtkenmerk_key = 281 -- Vrijgegeven ter facturatie door -- AND kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key) AND x.res_rsv_ruimte_key = vtfd.res_key(+) AND x.prs_bedrijf_key = cmdnr.prs_link_key(+) GROUP BY DECODE ( x.prs_bedrijf_key, NULL, '*OPEN* R' || x.res_id, DECODE ( vtfd.res_key, NULL, '*OPEN* R' || x.res_id, '*CONCEPT* R' || DECODE (dres.aantal, 1, x.res_id, SUBSTR (x.res_id, 1, INSTR (x.res_id, '/') - 1)))), TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr), --DECODE (x.res_activiteit_key, 30, 'Vergadering ', 50, 'Event ', 'Roomservice ') || x.res_id, --'Meeting ' || x.res_id, 'Meeting ' || SUBSTR (x.res_id, 1, INSTR (x.res_id, '/') - 1), x.prs_perslid_naam_full, DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2), 'fm99990.0') || ' 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.res_id, NULL, x.prs_bedrijf_key, x.prs_bedrijf_naam, TRIM (cmdnr.prs_kenmerklink_waarde), NULL, x.contactpersoon, -- !!! x.adres, x.postcode, x.plaats, x.land, 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', 9, 21)), DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)), NULL, TO_CHAR (x.reslev, 'dd-mm-yyyy'), TO_CHAR (x.reslev, 'dd-mm-yyyy'), NULL, NULL, TO_NUMBER (NULL), TO_NUMBER (NULL), x.aantal, TO_NUMBER (NULL), NULL, TO_NUMBER (NULL), NULL, x.prs_kostensoort_refcode, TO_NUMBER (NULL) UNION ALL -- Correctiemeldingen SELECT fin_verkoopfactuur_id, po_nr, sortering, regel, aanvrager, regel_oms, factuurdatum, vervaldatum, xmlnode, refkey, refid, lv, prs_bedrijf_key, prs_debiteur_naam, debiteur_nr, beschrijving, contactpersoon, adres, postcode, plaats, land, 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, dageinde, mndbes, mndbez, aantal, bedrag, vvo_toeslag, alg_onroerendgoed_type, alg_onroerendgoed_keys, alg_plaatsaanduiding, mndnet, mndbtw, grtboekrek, mld_melding_key FROM bssc_v_addd_correctie WHERE mld_melding_key > 18833 -- Per 01-12-2022 (18833 laatste melding op 30-11-2022)! AND mld_melding_key NOT IN (18874, 18875) -- En niet 18874/18875! UNION ALL -- Losverkoopmeldingen SELECT fin_verkoopfactuur_id, po_nr, sortering, regel, aanvrager, regel_oms, factuurdatum, vervaldatum, xmlnode, refkey, refid, lv, prs_bedrijf_key, prs_debiteur_naam, debiteur_nr, beschrijving, contactpersoon, adres, postcode, plaats, land, 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, dageinde, mndbes, mndbez, aantal, bedrag, vvo_toeslag, alg_onroerendgoed_type, alg_onroerendgoed_keys, alg_plaatsaanduiding, mndnet, mndbtw, grtboekrek, mld_melding_key FROM bssc_v_addd_losverkoop WHERE mld_melding_key > 18833 -- Per 01-12-2022 (18833 laatste melding op 30-11-2022)! AND mld_melding_key NOT IN (18928) -- En niet 18928! ; CREATE OR REPLACE VIEW bssc_v_addd_frozen AS SELECT vf.fin_verkoopfactuur_id, SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1) po_nr, --SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 16) sortering, DECODE (vf.fin_verkoopfactuur_xmlnode, 'reservering', SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 16), 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) + 18) regel, DECODE (vf.fin_verkoopfactuur_xmlnode, 'reservering', SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 18), SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 4)) regel, vf.fin_verkoopfactuur_c5 aanvrager, vf.fin_verkoopfactuur_c6 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, -- !!! DECODE (vf.fin_verkoopfactuur_xmlnode, 'reservering', TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr), 'contract', vf.fin_verkoopfactuur_c1, TO_CHAR (vf.fin_verkoopfactuur_n1)) refid, -- !!! TO_DATE (NULL) lv, 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) beschrijving, vf.fin_verkoopfactuur_c4 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.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, NULL dagbegin, NULL dageinde, TO_NUMBER (NULL) mndbes, TO_NUMBER (NULL) mndbez, TO_NUMBER (NULL) aantal, TO_NUMBER (NULL) bedrag, TO_NUMBER (NULL) vvo_toeslag, NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, vf.fin_verkoopfactuur_bedrag mndnet, -- Netto bedrag vf.fin_verkoopfactuur_btw mndbtw, -- BTW bedrag vf.prs_kostensoort_refcode grtboekrek, vf.fin_verkoopfactuur_n1 mld_melding_key FROM fin_verkoopfactuur vf, res_rsv_ruimte rrr, prs_bedrijf b WHERE (vf.fin_verkoopfactuur_xmlnode = 'reservering' OR vf.fin_verkoopfactuur_n1 IS NOT NULL) -- R of M! AND vf.fin_verkoopfactuur_refkey = rrr.res_rsv_ruimte_key(+) -- Alleen indien xmlnode=reservering! AND vf.prs_bedrijf_key = b.prs_bedrijf_key; CREATE OR REPLACE PROCEDURE bssc_select_addd (p_applname IN VARCHAR2, p_applrun IN VARCHAR2) AS CURSOR c1a -- RES-kosten (zover bedrijf kan worden bepaald en VRIJGEGEVEN)! IS SELECT '[' || v.regel || '|' || v.prs_debiteur_naam || '] ' aanduiding, v.* FROM bssc_v_addd_actual v WHERE v.xmlnode = 'reservering' AND v.prs_bedrijf_key IS NOT NULL -- Bedrijf kan worden bepaald AND EXISTS (SELECT 1 -- TODO:Gevuld=VRIJGEGEVEN!!! FROM res_kenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerkwaarde_verwijder IS NULL AND kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 281 -- Vrijgegeven ter facturatie door AND kw.res_rsv_ruimte_key = v.refkey) ORDER BY v.prs_bedrijf_key, v.po_nr, -- Factuur per vrijgegeven event/po v.sortering; -- Factureer/bevries ADDD-correcties en verwerk=AV alle correctiemeldingen! CURSOR c1c IS SELECT '[' || TO_CHAR (v.mld_melding_key) || '|' || v.prs_debiteur_naam || '|' || REPLACE (REPLACE (REPLACE (v.regel, CHR (10), ''), CHR (13), ' '), '=', '~') || '] ' aanduiding, v.*, m.mld_melding_status FROM bssc_v_addd_correctie v, mld_melding m WHERE v.mld_melding_key > 18833 -- Per 01-12-2022 (18833 laatste melding op 30-11-2022)! AND m.mld_melding_status = 5 -- Afgemeld=VRIJGEGEVEN!!! AND v.mld_melding_key = m.mld_melding_key -- Dagelijkse correctiefacturatie (na vrijgave) ORDER BY v.prs_bedrijf_key, v.mld_melding_key, -- Factuur per correctiemelding v.sortering; -- Factureer/bevries ADDD-losverkopen en verwerk=AV alle losverkoopmeldingen! CURSOR c1d IS SELECT '[' || TO_CHAR (v.mld_melding_key) || '|' || v.prs_debiteur_naam || '|' || REPLACE (REPLACE (REPLACE (v.regel, CHR (10), ''), CHR (13), ' '), '=', '~') || '] ' aanduiding, v.*, m.mld_melding_status FROM bssc_v_addd_losverkoop v, mld_melding m WHERE v.mld_melding_key > 18833 -- Per 01-12-2022 (18833 laatste melding op 30-11-2022)! AND m.mld_melding_status = 5 -- Afgemeld=VRIJGEGEVEN!!! AND v.mld_melding_key = m.mld_melding_key -- Dagelijkse losverkoopfacturatie (na vrijgave) ORDER BY v.prs_bedrijf_key, v.mld_melding_key, -- Factuur per losverkoopmelding v.sortering; -- Verstuur verkoopfactuur 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, COALESCE (kl.prs_kenmerklink_waarde, b.prs_bedrijf_email) prs_bedrijf_email, MAX (fin_verkoopfactuur_n1) mld_melding_key FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1240) kl -- E-mail adres facturatie WHERE (vf.fin_verkoopfactuur_xmlnode = 'reservering' OR vf.fin_verkoopfactuur_n1 IS NOT NULL) -- Onderscheid ADDD vs. FACT! AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key AND vf.prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = kl.prs_link_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, COALESCE (kl.prs_kenmerklink_waarde, b.prs_bedrijf_email) ORDER BY vf.fin_verkoopfactuur_id; -- Verwerk reserveringen (in juiste volgorde)! TODO:Kunnen objecten ook worden gefactureerd? 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 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 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; 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_key NUMBER (10); -- Factuur per melding! 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); IF 1 = 0 -- Vrijgegeven is die nacht factureren! 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 IF rec.po_nr LIKE 'CHV%' THEN SELECT fac_s_user01.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '1' || SUBSTR ('000000' || TO_CHAR (v_count), -6); ELSE SELECT fac_s_user02.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '2' || SUBSTR ('000000' || TO_CHAR (v_count), -6); 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'), --rec.regel || '=' || rec.refid, rec.po_nr || '/=' || rec.sortering || rec.regel, rec.xmlnode, rec.refkey, 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, rec.fin_btwtabelwaarde_code, rec.fin_btwtabelwaarde_oms, rec.fin_btwtabelwaarde_perc, rec.fin_btwtabelwaarde_verlegd, rec.maand, rec.mld_melding_key, -- n1/correctiemelding=NULL TO_NUMBER (NULL), -- n2 TO_NUMBER (NULL), -- n3 TO_NUMBER (NULL), -- n4 TO_NUMBER (NULL), -- n5 NULL, -- c1/contract_id=NULL rec.refid, -- c2/reservering_id NULL, -- c3 rec.contactpersoon, -- c4 rec.aanvrager, -- c5 rec.regel_oms, -- c6 rec.debiteur_nr || '=' || rec.beschrijving, -- c7 NULL, -- 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 (NULL), -- d4 TO_DATE (NULL)); -- d5 COMMIT; v_fact_count := v_fact_count + 1; v_amount_sum := v_amount_sum + rec.mndnet; 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 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_notbefore, fac_notificatie_sender_email, fac_notificatie_attachments) VALUES (341, -- CUST02-noti 2, -- Mail DECODE ( -- To-adres rec.prs_bedrijf_email, NULL, 'finance.smartservices@brightlands.com', 'finance.smartservices@brightlands.com'), -- TODO:rec.prs_bedrijf_email || ';finance.smartservices@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), 'finance.smartservices@brightlands.com', '/../../Fplace5i/CUST/BSSC/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, '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 correctie- én losverkoopfacturen (= boekingsgangen) -- draait dagelijks na middernacht (begin van dag) en de verkoop wordt ook -- elke nacht doorgezet (mits vrijgegeven!). IF 1 = 1 THEN v_fact_count := 0; v_amount_sum := 0; v_old_melding_key := -1; -- Factuur per melding! -- Factureer/bevries ADDD-correctiekosten en verwerk=AV correctiemeldingen. FOR rec IN c1c LOOP BEGIN IF rec.mndnet != 0 AND rec.mld_melding_key != v_old_melding_key THEN IF rec.po_nr LIKE 'CHV%' THEN SELECT fac_s_user01.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '1' || SUBSTR ('000000' || TO_CHAR (v_count), -6); ELSE SELECT fac_s_user02.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '2' || SUBSTR ('000000' || TO_CHAR (v_count), -6); 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_key := rec.mld_melding_key; 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.regel || '=' || rec.refid, rec.po_nr || '/=' || rec.sortering || rec.regel, rec.xmlnode, rec.refkey, 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, 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 TO_NUMBER (NULL), -- n3 TO_NUMBER (NULL), -- n4 TO_NUMBER (NULL), -- n5 DECODE (rec.xmlnode, 'contract', rec.refid, NULL), -- c1/contract_id NULL, -- c2/reservering_id=NULL NULL, -- c3 rec.contactpersoon, -- c4 rec.aanvrager, -- c5 rec.regel_oms, -- c6 rec.debiteur_nr || '=' || rec.beschrijving, -- c7 NULL, -- 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 (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: Registreren 'Gefactureerd met' bij correctiemelding! --v_errormsg := 'Fout bepalen Gefactureerd-kenmerkmelding'; --SELECT COUNT (*) -- INTO v_count -- FROM mld_v_aanwezigkenmerkmelding -- WHERE mld_melding_key = rec.mld_melding_key -- AND mld_kenmerk_key = c_cm_factid_kkey; --IF v_count = 0 --THEN -- 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); --ELSE -- v_errormsg := 'Fout bijwerken Gefactureerd-kenmerkmelding'; -- UPDATE mld_kenmerkmelding -- SET mld_kenmerkmelding_waarde = v_factuur_id -- WHERE mld_melding_key = rec.mld_melding_key -- AND mld_kenmerk_key = c_cm_factid_kkey; --END IF; 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; -- Melding hier altijd Afgemeld! 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_key := -1; -- Factuur per melding! -- Factureer/bevries ADDD-losverkoopkosten en verwerk=AV losverkoopmeldingen. FOR rec IN c1d LOOP BEGIN IF rec.mndnet != 0 AND rec.mld_melding_key != v_old_melding_key THEN IF rec.po_nr LIKE 'CHV%' THEN SELECT fac_s_user01.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '1' || SUBSTR ('000000' || TO_CHAR (v_count), -6); ELSE SELECT fac_s_user02.NEXTVAL INTO v_count FROM DUAL; v_factuur_id := '2' || SUBSTR ('000000' || TO_CHAR (v_count), -6); 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_key := rec.mld_melding_key; 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.regel || '=' || rec.refid, rec.po_nr || '/=' || rec.sortering || rec.regel, rec.xmlnode, rec.refkey, 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, 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 TO_NUMBER (NULL), -- n3 TO_NUMBER (NULL), -- n4 TO_NUMBER (NULL), -- n5 DECODE (rec.xmlnode, 'contract', rec.refid, NULL), -- c1/contract_id NULL, -- c2/reservering_id=NULL NULL, -- c3 rec.contactpersoon, -- c4 rec.aanvrager, -- c5 rec.regel_oms, -- c6 rec.debiteur_nr || '=' || rec.beschrijving, -- c7 NULL, -- 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 (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: Registreren 'Gefactureerd met' bij losverkoopmelding! --v_errormsg := 'Fout bepalen Gefactureerd-kenmerkmelding'; --SELECT COUNT (*) -- INTO v_count -- FROM mld_v_aanwezigkenmerkmelding -- WHERE mld_melding_key = rec.mld_melding_key -- AND mld_kenmerk_key = c_lvm_factid_kkey; --IF v_count = 0 --THEN -- 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); --ELSE -- v_errormsg := 'Fout bijwerken Gefactureerd-kenmerkmelding'; -- UPDATE mld_kenmerkmelding -- SET mld_kenmerkmelding_waarde = v_factuur_id -- WHERE mld_melding_key = rec.mld_melding_key -- AND mld_kenmerk_key = c_lvm_factid_kkey; --END IF; 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; -- Melding hier altijd Afgemeld! 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 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_notbefore, fac_notificatie_sender_email, fac_notificatie_attachments) VALUES (341, -- CUST02-noti 2, -- Mail DECODE ( -- To-adres rec.prs_bedrijf_email, NULL, 'finance.smartservices@brightlands.com', rec.prs_bedrijf_email || ';finance.smartservices@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), 'finance.smartservices@brightlands.com', '/../../Fplace5i/CUST/BSSC/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, 'ADDD[a]-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; / CREATE OR REPLACE VIEW bssc_v_rap_export_tf_chv ( hide_f_sortering, fclt_x_maand, code, currency, tfdate, period, invoicenumber, duedate, tfnumber, gl_account, ap, project, amount, debitcredit, description, vatcode, goods_services, landcode, vatnumber, preformancedate, mldver, sync_id ) AS SELECT ROWNUM, REPLACE (periode, '/', '-') periode, code, valuta, REPLACE (factuurdatum, '-', '/') factuurdatum, periode, factuurnummer, REPLACE (vervaldatum, '-', '/') vervaldatum, nummer, grtboekrek, rel_kpl, prj_activa, bedrag, debitcredit, omschrijving, btwcode, NULL, NULL, NULL, NULL, fac.gettrackingdate ('MLDVER', mld_melding_key) mldver, SUBSTR (factuurdatum, 7, 4) || SUBSTR (factuurdatum, 4, 2) || SUBSTR (factuurdatum, 1, 2) -- Sync_id = factuurdatum! 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 (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 (aant, 1, tfoms, SUBSTR (tfoms, 1, INSTR (tfoms, '/')) || '...') || ' Total') omschrijving, TRIM (DECODE (mld_melding_key, NULL, DECODE (aant, 1, tfoms, ''), tfoms) || ' Total') omschrijving, NULL btwcode, -- Hard op NULL mld_melding_key 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) * v.netsum, 2)) netsum, -- Totaalbedrag incl. BTW per factuur! COUNT (DISTINCT v.tfoms) aant, --SUM (v.aant) aant, MIN (v.tfoms) tfoms, 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.tfoms) aant, MIN (v.tfoms) tfoms, MIN (v.mld_melding_key) mld_melding_key FROM (SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, fin_btwtabelwaarde_code, mndnet, DECODE (mld_melding_key, NULL, regel, regel_oms) tfoms, -- Voor MLD=regel_oms en voor RES=regel! mld_melding_key FROM bssc_v_addd_frozen WHERE SUBSTR (po_nr, 1, 3) = 'CHV' --AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' UNION ALL -- Handling fee (=5,0% over totaal tegen 21%) toevoegen als regel! SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, 'H' fin_btwtabelwaarde_code, ROUND (0.05 * mndnet, 2) mndnet, tfoms, NULL mld_melding_key FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, regel tfoms, -- Voor RES=regel! SUM (mndnet) mndnet FROM bssc_v_addd_frozen WHERE mld_melding_key IS NULL -- Administratiekosten alleen bij RES-facturatie! AND SUBSTR (po_nr, 1, 3) = 'CHV' --AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, regel)) 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 (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, NULL rel_kpl, -- Op verzoek van RS per mail op 06-03-2002! 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 (REPLACE (REPLACE (v.regel, CHR (10), ''), CHR (13), ' '), 1, 40) omschrijving, DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN') btwcode, MIN (v.mld_melding_key) mld_melding_key FROM bssc_v_addd_frozen v, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = -1) kl -- BTW verlegd "smaak" WHERE SUBSTR (v.po_nr, 1, 3) = 'CHV' AND v.prs_bedrijf_key = kl.prs_link_key(+) --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), NULL, NULL, 'credit', SUBSTR (REPLACE (REPLACE (v.regel, CHR (10), ''), CHR (13), ' '), 1, 40), DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN') UNION ALL SELECT fin_verkoopfactuur_id || debiteur_nr || '????' sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' factuurdatum, SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode, fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer vervaldatum, '1' nummer, -- Hard op '1' '????', -- Handling fee NULL rel_kpl, -- Op verzoek van RS per mail op 06-03-2002! NULL prj_activa, -- Hard op NULL ROUND (0.05 * netsum, 2) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen! 'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)??? SUBSTR (DECODE (aant, 1, regel, SUBSTR (regel, 1, INSTR (regel, '/')) || '...') || ' Administratiekosten', 1, 40) omschrijving, 'VH' btwcode, NULL mld_melding_key FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, SUM (mndnet) netsum, COUNT (DISTINCT regel) aant, MIN (regel) regel FROM bssc_v_addd_frozen WHERE mld_melding_key IS NULL -- Administratiekosten alleen bij RES-facturatie! AND SUBSTR (po_nr, 1, 3) = 'CHV' --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, --DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2)) -- periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december! 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 (ROUND (v.mndnet * v.btw, 2)) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen! 'debit' debitcredit, 'C' || v.refid || ' Total' omschrijving, NULL btwcode, -- Hard op NULL NULL mld_melding_key FROM ( SELECT fin_verkoopfactuur_id, refid, -- Altijd 1 contract per factuur! 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 FROM bssc_v_fact_frozen WHERE SUBSTR (po_nr, 1, 3) = 'CHV' AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY fin_verkoopfactuur_id, refid, 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), v.fin_verkoopfactuur_id, v.vervaldatum, '1', '1300', v.debiteur_nr, NULL, 'debit', 'C' || v.refid || ' Total', NULL, NULL UNION ALL SELECT v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???') sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' v.factuurdatum, --DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2)) -- periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december! 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, NULL rel_kpl, -- Op verzoek van RS per mail op 06-03-2002! 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.refid || ' ' || v.regel, 1, 40) omschrijving, DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN'), NULL mld_melding_key FROM bssc_v_fact_frozen v, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = -1) kl -- BTW verlegd "smaak" WHERE SUBSTR (po_nr, 1, 3) = 'CHV' AND v.prs_bedrijf_key = kl.prs_link_key(+) 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), v.fin_verkoopfactuur_id, v.vervaldatum, '1', v.grtboekrek, NULL, NULL, 'credit', SUBSTR ('C' || v.refid || ' ' || v.regel, 1, 40), DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN'), NULL ORDER BY 1); -- Code;Currency;Date;Period;Invoicenumber;Duedate;Number;GL-account;AP;Project;Amount;Debitcredit;Description;Vatcode;Goods/services;Landcode;Vatnumber;Preformancedate CREATE OR REPLACE VIEW bssc_v_export_tf_chv ( result, result_order ) AS -- View bevat alleen inhoud op bepaalde dagen (1e werkdag) of als er vandaag correcties/losverkopen zijn vrijgegeven! SELECT 'Code' || ';Currency' || ';Date' || ';Period' || ';Invoicenumber' || ';Duedate' || ';Number' || ';GL-account' || ';AP' || ';Project' || ';Amount' || ';Debitcredit' || ';Description' || ';Vatcode' || ';Goods/services' -- Niet bij BLCC || ';Landcode' -- Niet bij BLCC || ';Vatnumber' -- Niet bij BLCC || ';Preformancedate', -- Niet bij BLCC 0 FROM DUAL WHERE EXISTS (SELECT 1 FROM bssc_v_rap_export_tf_chv WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd')) UNION ALL SELECT code || ';' || currency || ';' || tfdate || ';' || period || ';' || invoicenumber || ';' || duedate || ';' || tfnumber || ';' || gl_account || ';' || ap || ';' || project || ';' || amount || ';' || debitcredit || ';' || description || ';' || vatcode || ';;;;', ROWNUM FROM bssc_v_rap_export_tf_chv WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd') ORDER BY 2; -- Code;Currency;Date;Period;Invoicenumber;Duedate;Number;GL-account;AP;Project;Amount;Debitcredit;Description;Vatcode;Goods/services;Landcode;Vatnumber;Preformancedate CREATE OR REPLACE VIEW bssc_v_rap_export_tf_cmd ( hide_f_sortering, fclt_x_maand, code, currency, tfdate, period, invoicenumber, duedate, tfnumber, gl_account, ap, project, amount, debitcredit, description, vatcode, goods_services, landcode, vatnumber, preformancedate, mldver, sync_id ) AS SELECT ROWNUM, REPLACE (periode, '/', '-') periode, code, valuta, REPLACE (factuurdatum, '-', '/') factuurdatum, periode, factuurnummer, REPLACE (vervaldatum, '-', '/') vervaldatum, nummer, grtboekrek, rel_kpl, prj_activa, bedrag, debitcredit, omschrijving, btwcode, NULL, NULL, NULL, NULL, fac.gettrackingdate ('MLDVER', mld_melding_key) mldver, SUBSTR (factuurdatum, 7, 4) || SUBSTR (factuurdatum, 4, 2) || SUBSTR (factuurdatum, 1, 2) -- Sync_id = factuurdatum! 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 (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 (aant, 1, tfoms, SUBSTR (tfoms, 1, INSTR (tfoms, '/')) || '...') || ' Total') omschrijving, TRIM (DECODE (mld_melding_key, NULL, DECODE (aant, 1, tfoms, ''), tfoms) || ' Total') omschrijving, NULL btwcode, -- Hard op NULL mld_melding_key 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) * v.netsum, 2)) netsum, -- Totaalbedrag incl. BTW per factuur! COUNT (DISTINCT v.tfoms) aant, --SUM (v.aant) aant, MIN (v.tfoms) tfoms, 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.tfoms) aant, MIN (v.tfoms) tfoms, MIN (v.mld_melding_key) mld_melding_key FROM (SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, fin_btwtabelwaarde_code, mndnet, DECODE (mld_melding_key, NULL, regel, regel_oms) tfoms, -- Voor MLD=regel_oms en voor RES=regel! mld_melding_key FROM bssc_v_addd_frozen WHERE SUBSTR (po_nr, 1, 3) = 'CMD' --AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' UNION ALL -- Handling fee (=5,0% over totaal tegen 21%) toevoegen als regel! SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, 'H' fin_btwtabelwaarde_code, ROUND (0.05 * mndnet, 2) mndnet, tfoms, NULL mld_melding_key FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, regel tfoms, -- Voor RES=regel! SUM (mndnet) mndnet FROM bssc_v_addd_frozen WHERE mld_melding_key IS NULL -- Administratiekosten alleen bij RES-facturatie! AND SUBSTR (po_nr, 1, 3) = 'CMD' --AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, regel)) 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 (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, NULL rel_kpl, -- Op verzoek van RS per mail op 06-03-2002! 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 (REPLACE (REPLACE (v.regel, CHR (10), ''), CHR (13), ' '), 1, 40) omschrijving, DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN') btwcode, MIN (v.mld_melding_key) mld_melding_key FROM bssc_v_addd_frozen v, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = -1) kl -- BTW verlegd "smaak" WHERE SUBSTR (v.po_nr, 1, 3) = 'CMD' AND v.prs_bedrijf_key = kl.prs_link_key(+) --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), NULL, NULL, 'credit', SUBSTR (REPLACE (REPLACE (v.regel, CHR (10), ''), CHR (13), ' '), 1, 40), DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN') UNION ALL SELECT fin_verkoopfactuur_id || debiteur_nr || '????' sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' factuurdatum, SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode, fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer vervaldatum, '1' nummer, -- Hard op '1' '????', -- Handling fee NULL rel_kpl, -- Op verzoek van RS per mail op 06-03-2002! NULL prj_activa, -- Hard op NULL ROUND (0.05 * netsum, 2) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen! 'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)??? SUBSTR (DECODE (aant, 1, regel, SUBSTR (regel, 1, INSTR (regel, '/')) || '...') || ' Administratiekosten', 1, 40) omschrijving, 'VH' btwcode, NULL mld_melding_key FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, SUM (mndnet) netsum, COUNT (DISTINCT regel) aant, MIN (regel) regel FROM bssc_v_addd_frozen WHERE mld_melding_key IS NULL -- Administratiekosten alleen bij RES-facturatie! AND SUBSTR (po_nr, 1, 3) = 'CMD' --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, --DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2)) -- periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december! 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 (ROUND (v.mndnet * v.btw, 2)) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen! 'debit' debitcredit, 'C' || v.refid || ' Total' omschrijving, NULL btwcode, -- Hard op NULL NULL mld_melding_key FROM ( SELECT fin_verkoopfactuur_id, refid, -- Altijd 1 contract per factuur! 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 FROM bssc_v_fact_frozen WHERE SUBSTR (po_nr, 1, 3) = 'CMD' AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' GROUP BY fin_verkoopfactuur_id, refid, 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), v.fin_verkoopfactuur_id, v.vervaldatum, '1', '1300', v.debiteur_nr, NULL, 'debit', 'C' || v.refid || ' Total', NULL, NULL UNION ALL SELECT v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???') sortering, 'VRK' code, -- Hard op 'VRK' 'EUR' valuta, -- Hard op 'EUR' v.factuurdatum, --DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2)) -- periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december! 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, NULL rel_kpl, -- Op verzoek van RS per mail op 06-03-2002! 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.refid || ' ' || v.regel, 1, 40) omschrijving, DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN'), NULL mld_melding_key FROM bssc_v_fact_frozen v, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = -1) kl -- BTW verlegd "smaak" WHERE SUBSTR (po_nr, 1, 3) = 'CMD' AND v.prs_bedrijf_key = kl.prs_link_key(+) 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), v.fin_verkoopfactuur_id, v.vervaldatum, '1', v.grtboekrek, NULL, NULL, 'credit', SUBSTR ('C' || v.refid || ' ' || v.regel, 1, 40), DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN'), NULL ORDER BY 1); -- Code;Currency;Date;Period;Invoicenumber;Duedate;Number;GL-account;AP;Project;Amount;Debitcredit;Description;Vatcode;Goods/services;Landcode;Vatnumber;Preformancedate CREATE OR REPLACE VIEW bssc_v_export_tf_cmd ( result, result_order ) AS -- View bevat alleen inhoud op bepaalde dagen (1e werkdag) of als er vandaag correcties/losverkopen zijn vrijgegeven! SELECT 'Code' || ';Currency' || ';Date' || ';Period' || ';Invoicenumber' || ';Duedate' || ';Number' || ';GL-account' || ';AP' || ';Project' || ';Amount' || ';Debitcredit' || ';Description' || ';Vatcode' || ';Goods/services' -- Niet bij BLCC || ';Landcode' -- Niet bij BLCC || ';Vatnumber' -- Niet bij BLCC || ';Preformancedate', -- Niet bij BLCC 0 FROM DUAL WHERE EXISTS (SELECT 1 FROM bssc_v_rap_export_tf_cmd WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd')) UNION ALL SELECT code || ';' || currency || ';' || tfdate || ';' || period || ';' || invoicenumber || ';' || duedate || ';' || tfnumber || ';' || gl_account || ';' || ap || ';' || project || ';' || amount || ';' || debitcredit || ';' || description || ';' || vatcode || ';;;;', ROWNUM FROM bssc_v_rap_export_tf_cmd WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd') ORDER BY 2; --OUD:code;naam;standaardadres;adrestype;tav;addressline1;addressline2;postcode;plaats;land;telefoon;fax;btwnummer;kvknummer;emailadres;standaardbank;bankid;begunstigde;rekeningnummer;iban;banknaam;biccode;nationalebankid;postcodebank;bankplaats;bankadresstaat;bankland;betaalwijze;betaaladres;bankadres;bankadresnummer;vervaldagen;betalen;betaalcode;leveranciersnummer;betaalmiddelen --code;naam;website;standaardadres;adrestype;bedrijfsnaam;tav;adresregel1;adresregel2;postcode;plaats;land;telefoon;fax;btwnr;kvknummer;emailadres;incasso;incassocode;machtigingskenmerk;eersteincasso;ondertekeningsdatum;standaardbank;tenaamstelling;rekeningnummer;iban;biccode;nationalebankid;banknaam;bankadres;bankadresnummer;bankpostcode;bankplaats;bankstaat;referentie;bankland;vervaldagen;ebilling;ebillingemailadres;grootboekrekening;kredietlimiet;kredietbeheerder;geblokkeerd;gebruiksrecht;segmentcode;aanmanen;aanmaningsemailadres;commentaar;kortingsartikel;verstuurmethode;emailadres CREATE OR REPLACE VIEW bssc_v_rap_export_tf_rel_chv ( code, naam, website, standaardadres, adrestype, bedrijfsnaam, tav, adresregel1, adresregel2, postcode, plaats, land, telefoon, fax, btwnr, kvknummer, emailadres, incasso, incassocode, machtigingskenmerk, eersteincasso, ondertekeningsdatum, standaardbank, tenaamstelling, rekeningnummer, iban, biccode, nationalebankid, banknaam, bankadres, bankadresnummer, bankpostcode, bankplaats, bankstaat, referentie, bankland, vervaldagen, ebilling, ebillingemailadres, grootboekrekening, kredietlimiet, kredietbeheerder, geblokkeerd, gebruiksrecht, segmentcode, aanmanen, aanmaningsemailadres, commentaar, kortingsartikel, verstuurmethode, emailadres2 ) AS SELECT chvnr.prs_kenmerklink_waarde code, b.prs_bedrijf_naam naam, NULL website, NULL standaardadres, NULL adrestype, b.prs_bedrijf_naam bedrijfsnaam, NULL tav, b.prs_bedrijf_bezoek_adres addressline1, NULL addressline2, b.prs_bedrijf_bezoek_postcode postcode, b.prs_bedrijf_bezoek_plaats plaats, NULL land, --b.prs_bedrijf_bezoek_land land, b.prs_bedrijf_telefoon telefoon, b.prs_bedrijf_fax fax, btwnr.prs_kenmerklink_waarde btwnummer, kvknr.prs_kenmerklink_waarde kvknummer, b.prs_bedrijf_email emailadres, NULL incasso, NULL incassocode, NULL machtigingskenmerk, NULL eersteincasso, NULL ondertekeningsdatum, NULL standaardbank, NULL tenaamstelling, NULL rekeningnummer, NULL iban, NULL biccode, NULL nationalebankid, NULL banknaam, NULL bankadres, NULL bankadresnummer, NULL bankpostcode, NULL bankplaats, NULL bankstaat, NULL referentie, NULL bankland, NULL vervaldagen, NULL ebilling, NULL ebillingemailadres, NULL grootboekrekening, NULL kredietlimiet, NULL kredietbeheerder, NULL geblokkeerd, NULL gebruiksrecht, NULL segmentcode, NULL aanmanen, NULL aanmaningsemailadres, NULL commentaar, NULL kortingsartikel, NULL verstuurmethode, NULL emailadres2 FROM prs_v_aanwezigbedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1120) btwnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1121) kvknr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr WHERE b.prs_bedrijf_intern IS NULL AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = kvknr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND COALESCE (chvnr.prs_link_key, -1) IS NOT NULL; CREATE OR REPLACE VIEW bssc_v_rap_export_tf_rel_cmd ( code, naam, website, standaardadres, adrestype, bedrijfsnaam, tav, adresregel1, adresregel2, postcode, plaats, land, telefoon, fax, btwnr, kvknummer, emailadres, incasso, incassocode, machtigingskenmerk, eersteincasso, ondertekeningsdatum, standaardbank, tenaamstelling, rekeningnummer, iban, biccode, nationalebankid, banknaam, bankadres, bankadresnummer, bankpostcode, bankplaats, bankstaat, referentie, bankland, vervaldagen, ebilling, ebillingemailadres, grootboekrekening, kredietlimiet, kredietbeheerder, geblokkeerd, gebruiksrecht, segmentcode, aanmanen, aanmaningsemailadres, commentaar, kortingsartikel, verstuurmethode, emailadres2 ) AS SELECT cmdnr.prs_kenmerklink_waarde code, b.prs_bedrijf_naam naam, NULL website, NULL standaardadres, NULL adrestype, b.prs_bedrijf_naam bedrijfsnaam, NULL tav, b.prs_bedrijf_bezoek_adres addressline1, NULL addressline2, b.prs_bedrijf_bezoek_postcode postcode, b.prs_bedrijf_bezoek_plaats plaats, NULL land, --b.prs_bedrijf_bezoek_land land, b.prs_bedrijf_telefoon telefoon, b.prs_bedrijf_fax fax, btwnr.prs_kenmerklink_waarde btwnummer, kvknr.prs_kenmerklink_waarde kvknummer, b.prs_bedrijf_email emailadres, NULL incasso, NULL incassocode, NULL machtigingskenmerk, NULL eersteincasso, NULL ondertekeningsdatum, NULL standaardbank, NULL tenaamstelling, NULL rekeningnummer, NULL iban, NULL biccode, NULL nationalebankid, NULL banknaam, NULL bankadres, NULL bankadresnummer, NULL bankpostcode, NULL bankplaats, NULL bankstaat, NULL referentie, NULL bankland, NULL vervaldagen, NULL ebilling, NULL ebillingemailadres, NULL grootboekrekening, NULL kredietlimiet, NULL kredietbeheerder, NULL geblokkeerd, NULL gebruiksrecht, NULL segmentcode, NULL aanmanen, NULL aanmaningsemailadres, NULL commentaar, NULL kortingsartikel, NULL verstuurmethode, NULL emailadres2 FROM prs_v_aanwezigbedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1120) btwnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1121) kvknr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr WHERE b.prs_bedrijf_intern IS NULL AND b.prs_bedrijf_key = btwnr.prs_link_key(+) AND b.prs_bedrijf_key = kvknr.prs_link_key(+) AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND COALESCE (cmdnr.prs_link_key, -1) IS NOT NULL; -- 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. -- TODO: Bundelen in één noti! CREATE OR REPLACE VIEW bssc_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; CREATE OR REPLACE VIEW bssc_v_noti_cntreminder ( code, sender, receiver, text, key, xkey, xemail, xmobile ) AS SELECT NULL, NULL, c.prs_perslid_key_beh, 'Rappel: Contract ' || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) || ' (' || c.cnt_contract_omschrijving || ' ' || b.prs_bedrijf_naam || ')' || ' moet uiterlijk per ' || TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'dd-mm-yyyy') || ' worden verlengd of opgezegd.', c.cnt_contract_key, NULL, NULL, NULL FROM cnt_v_aanwezigcontract c, prs_bedrijf b WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND cnt_contract_status = 0 AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key)) UNION ALL SELECT NULL, NULL, c.prs_perslid_key_eig, 'Rappel: Contract ' || c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie) || ' (' || c.cnt_contract_omschrijving || ' ' || b.prs_bedrijf_naam || ')' || ' moet uiterlijk per ' || TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'dd-mm-yyyy') || ' worden verlengd of opgezegd.', c.cnt_contract_key, NULL, NULL, NULL FROM cnt_v_aanwezigcontract c, prs_bedrijf b WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND cnt_contract_status = 0 AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key)); -- Notificatie naar finance.smartservices@brightlands.com 7 dagen voor datum -- geregistreerd in CNT-kenmerkveld 'Volgende factuur'. CREATE OR REPLACE VIEW BSSC_V_NOTI_FACT_MANUAL ( CODE, SENDER, RECEIVER, TEXT, KEY, XKEY, XSENDER, XEMAIL, XMOBILE, ATTACHMENTS ) AS -- Op 7 dagen voor 'Volgende factuur'! SELECT DISTINCT sn.fac_srtnotificatie_code, NULL, NULL, REPLACE ( REPLACE ( REPLACE (sn.fac_srtnotificatie_oms, '##KEY##', x.refid), '##LEV##', x.prs_debiteur_naam), '##OMSCH##', x.beschrijving) text, x.refkey key, NULL xkey, NULL xsender, 'finance.smartservices@brightlands.com' xemail, NULL xmobile, NULL attachments FROM bssc_v_fact_manual x, cnt_kenmerkcontract kc, fac_srtnotificatie sn WHERE x.refkey = kc.cnt_contract_key AND kc.cnt_kenmerkcontract_verwijder IS NULL AND kc.cnt_kenmerk_key IN (866, 868, 869, 1021) -- Volgende factuur AND fac.safe_to_date (kc.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') = TRUNC (SYSDATE + 7) AND sn.fac_srtnotificatie_code = 'CUST03'; -- BSSC#65191: Koppeling met SPS=Smart ParkingSystem! CREATE OR REPLACE VIEW bssc_v_rap_sps_24hourinfo ( employee_id, lastname, firstname, middlename, --telephone, mobile, email, licenseplate1, licenseplate2, --geen_parkrecht, --prio_parkrecht, company_id, company, parking_spots, prio_spots, top_color, bottom_color, gradient_color, logo ) AS SELECT p.prs_perslid_key, p.prs_perslid_naam, p.prs_perslid_voornaam, p.prs_perslid_tussenvoegsel, --p.prs_perslid_telefoon, p.prs_perslid_mobiel, p.prs_perslid_email, k1.prs_kenmerklink_waarde, k2.prs_kenmerklink_waarde, --gpr.prs_kenmerklink_waarde, --ppr.prs_kenmerklink_waarde, a.prs_afdeling_key, a.prs_afdeling_omschrijving, ap.prs_kenmerklink_waarde, pp.prs_kenmerklink_waarde, tc.prs_kenmerklink_waarde, bc.prs_kenmerklink_waarde, gc.prs_kenmerklink_waarde, '???' logo FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab, prs_afdeling a, (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1140) k1, -- Kenteken 1 (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1141) k2, -- Kenteken 2 (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1203) gpr, -- Geen parkeerrecht (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1204) ppr, -- Priority parkeerrecht (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1180) ap, -- Aantal plekken (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1200) pp, -- Priority plekken (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1181) tc, -- Top colour (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1201) bc, -- Bottom colour (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1202) gc -- Gradient colour WHERE p.prs_perslid_key > 2000 -- Uitsluiten Gast, Facilitor, etc. AND p.prs_perslid_apikey IS NULL -- Uitsluiten API-users AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_afdeling_key1 = a.prs_afdeling_key AND p.prs_perslid_key = k1.prs_link_key(+) AND p.prs_perslid_key = k2.prs_link_key(+) AND p.prs_afdeling_key = gpr.prs_link_key(+) AND p.prs_afdeling_key = ppr.prs_link_key(+) AND p.prs_afdeling_key = ap.prs_link_key(+) AND p.prs_afdeling_key = pp.prs_link_key(+) AND p.prs_afdeling_key = tc.prs_link_key(+) AND p.prs_afdeling_key = bc.prs_link_key(+) AND p.prs_afdeling_key = gc.prs_link_key(+); -- Domein met alle kostensoorten (grootboeken). CREATE OR REPLACE VIEW bssc_v_kostensoorten ( kostensoort_id, kostensoort_naam, kostensoort_verwijder ) AS SELECT DISTINCT fac.safe_to_number (ks.prs_kostensoort_oms) kostensoort_id, ks.prs_kostensoort_oms || ' [' || ks.prs_kostensoort_opmerking || ']' kostensoort_naam, NULL kostensoort_verwijder 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) kostensoort_id, vf.prs_kostensoort_oms || ' [' || ks.prs_kostensoort_opmerking || ']' kostensoort_naam, NULL kostensoort_verwijder 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 ('01122022', 'ddmmyyyy') AND vf.prs_kostensoort_oms = ks.prs_kostensoort_oms(+); -- Domein met alle contractanten (debiteuren). CREATE OR REPLACE VIEW bssc_v_debiteuren ( debiteur_id, debiteur_naam, debiteur_verwijder ) AS SELECT b.prs_bedrijf_key, b.prs_bedrijf_naam || ' [' || TRIM (cmdnr.prs_kenmerklink_waarde) || '|' || TRIM (chvnr.prs_kenmerklink_waarde) || ']/-;T:' || COALESCE (b.prs_bedrijf_telefoon, b.prs_bedrijf_telefoon2, '-') || ';E:' || COALESCE (b.prs_bedrijf_email, '-') || ';P:' || DECODE (b.prs_bedrijf_post_adres, NULL, '-', TRIM (b.prs_bedrijf_post_adres || ', ' || b.prs_bedrijf_post_postcode) || ' ' || b.prs_bedrijf_post_plaats), prs_bedrijf_verwijder FROM prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr WHERE b.prs_bedrijf_contract = 1 AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND TO_CHAR (COALESCE (b.prs_bedrijf_verwijder, SYSDATE), 'yyyy') >= '2021' UNION ALL SELECT 100000000 + cp.prs_contactpersoon_key, b.prs_bedrijf_naam || ' [' || TRIM (cmdnr.prs_kenmerklink_waarde) || '|' || TRIM (chvnr.prs_kenmerklink_waarde) || ']/' || COALESCE (TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))), '-') || ';T:' || COALESCE (cp.prs_contactpersoon_telefoon_1, cp.prs_contactpersoon_telefoon_2, b.prs_bedrijf_telefoon, b.prs_bedrijf_telefoon2, '-') || ';E:' || COALESCE (cp.prs_contactpersoon_email, b.prs_bedrijf_email, '-') || ';P:' || DECODE (b.prs_bedrijf_post_adres, NULL, '-', TRIM (b.prs_bedrijf_post_adres || ', ' || b.prs_bedrijf_post_postcode) || ' ' || b.prs_bedrijf_post_plaats), cp.prs_contactpersoon_verwijder FROM prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr, prs_contactpersoon cp WHERE b.prs_bedrijf_contract = 1 AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND b.prs_bedrijf_key = cp.prs_bedrijf_key AND TO_CHAR (COALESCE (cp.prs_contactpersoon_verwijder, b.prs_bedrijf_verwijder, SYSDATE), 'yyyy') >= '2021'; CREATE OR REPLACE VIEW bssc_v_contractref_chv ( 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 (2001, 2003) -- Huur CHV/Parkeren CHV AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key; CREATE OR REPLACE VIEW bssc_v_contractref_cmd ( 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 (2004, 2005) -- Parkeren CMD/Deelnemers CMD AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key; -- Domein met alle facturen in de afgelopen 12 maanden. CREATE OR REPLACE VIEW bssc_v_verkoopfactuurref ( fin_verkoopfactuurkop_key, fin_verkoopfactuur_id, fin_verkoopfactuur_tht ) AS SELECT DISTINCT vf.fin_verkoopfactuurkop_key, vf.fin_verkoopfactuur_id || '/' || vf.prs_debiteur_naam || ' [' || SUBSTR (vf.fin_verkoopfactuur_maand, 1, 4) || '-' || SUBSTR (vf.fin_verkoopfactuur_maand, 5, 2) || DECODE (c.cnt_contract_key, NULL, '', ' (' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || ')') || ']' fin_verkoopfactuur_id, vf.tht FROM (SELECT DISTINCT fin_verkoopfactuurkop_key, fin_verkoopfactuur_id, prs_debiteur_naam, fin_verkoopfactuur_maand, fin_verkoopfactuur_c2, LAST_DAY (ADD_MONTHS (fin_verkoopfactuur_datum, 12)) tht, fin_verkoopfactuur_xmlnode, fin_verkoopfactuur_refkey FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_datum > TO_DATE ('01012021', 'ddmmyyyy')) vf LEFT JOIN cnt_contract c ON vf.fin_verkoopfactuur_xmlnode = 'contract' AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key; -- Domein met de mensen die reserveringen mogen vrijgen om te factureren. CREATE OR REPLACE VIEW bssc_v_vrijgevers ( prs_perslid_key, prs_perslid_naam_full, prs_perslid_naam_friendly, prs_perslid_verwijder ) AS SELECT pf.prs_perslid_key, pf.prs_perslid_naam_full, pf.prs_perslid_naam_friendly, p.prs_perslid_verwijder FROM fac_gebruikersgroep gg, prs_perslid p, prs_v_perslid_fullnames_all pf WHERE --gg.fac_groep_key = 2661 -- SSC Vrijgave voor facturatie gg.fac_groep_key = 3741 -- SSC Vrijgave RES AND gg.prs_perslid_key = p.prs_perslid_key AND p.prs_perslid_key = pf.prs_perslid_key AND SUBSTR (p.prs_perslid_oslogin, 1, 1) != '_' UNION ALL SELECT pf.prs_perslid_key, pf.prs_perslid_naam_full, pf.prs_perslid_naam_friendly, TRUNC (SYSDATE, 'yyyy') prs_perslid_verwijder FROM (SELECT kw.* FROM res_kenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerkwaarde_verwijder IS NULL AND kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 281) kw, -- Vrijgegeven ter facturatie door prs_perslid p, prs_v_perslid_fullnames_all pf WHERE fac.safe_to_number (kw.res_kenmerkreservering_waarde) = p.prs_perslid_key AND p.prs_perslid_key = pf.prs_perslid_key AND SUBSTR (p.prs_perslid_oslogin, 1, 1) != '_' AND NOT EXISTS (SELECT 1 FROM fac_gebruikersgroep WHERE fac_groep_key = 3741 AND prs_perslid_key = p.prs_perslid_key); -- FIN: Te factureren meldingen en reserveringen (ter vrijgave) CREATE OR REPLACE VIEW BSSC_V_RAP_TEFACTUREREN -- ACTUAL-tabellen! ( xmlnode, refkey, debiteur, debiteurnr, contactpersoon, refid, refoms, status, datum, -- Datum waarop ter vrijgave (RESAFM-datum of MLDACP-datum) kosten, vrijgever -- Door wie vrijgegeven (geselecteerd bij RES of MLDAFM-er) ) AS SELECT x.xmlnode, x.refkey, x.prs_debiteur_naam, x.debiteur_nr, x.contactpersoon, x.refid, x.refoms, x.status, x.datum, SUM (x.mndnet) kosten, pf.prs_perslid_naam_full vrijgever FROM (SELECT v.xmlnode, v.refkey, v.prs_debiteur_naam, v.debiteur_nr, v.contactpersoon, v.refid, v.regel refoms, rs.res_status_bo_omschrijving status, v.mndnet, --kw.res_kenmerkwaarde_aanmaak datum, --t.prs_perslid_key vrijgever, fac.gettrackingdate ('RESAFM', kw.res_rsv_ruimte_key) datum, -- Na RESAFM ter vrijgave via deze rapportage! TODO:Kan dan nog kenmerk worden gezet? fac.safe_to_number (kw.res_kenmerkreservering_waarde) vrijgever -- Vrijgever is de geselecteerde user FROM bssc_v_addd_actual v, res_v_aanwezigrsv_ruimte rrr, res_status_bo rs, (SELECT kw.* FROM res_kenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerkwaarde_verwijder IS NULL AND kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 281) kw -- Vrijgegeven ter facturatie door --(SELECT * -- Boterzacht, maar hoe anders? -- FROM fac_tracking -- WHERE fac_srtnotificatie_key = 82 -- RESUPD -- AND INSTR (UPPER (fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0) t WHERE 1 = 0 -- TODO:Nog geen facturatie van reserveringen uit Facilitor! AND v.xmlnode = 'reservering' AND v.refkey = rrr.res_rsv_ruimte_key AND rrr.res_status_bo_key = rs.res_status_bo_key AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+) --AND kw.res_rsv_ruimte_key = t.fac_tracking_refkey(+) UNION ALL -- Correctie- of losverkoopmelding tefactureren! SELECT v.xmlnode, v.mld_melding_key refkey, v.prs_debiteur_naam, v.debiteur_nr, v.contactpersoon, TO_CHAR (v.mld_melding_key) refid, v.regel_oms refoms, ms.mld_statuses_omschrijving status, v.mndnet, fac.gettrackingdate ('MLDACP', v.mld_melding_key) datum, -- Na MLDACP ter vrijgave via deze rapportage! fac.gettrackinguserkey ('MLDAFM', v.mld_melding_key) vrijgever -- Vrijgever is de MLDAFM-user FROM bssc_v_addd_actual v, mld_melding m, mld_statuses ms WHERE v.mld_melding_key IS NOT NULL AND v.mld_melding_key = m.mld_melding_key AND m.mld_melding_status = ms.mld_statuses_key) x, prs_v_perslid_fullnames_all pf WHERE x.vrijgever = pf.prs_perslid_key(+) GROUP BY x.xmlnode, x.refkey, x.prs_debiteur_naam, x.debiteur_nr, x.contactpersoon, x.refid, x.refoms, x.status, x.datum, pf.prs_perslid_naam_full; -- Nog gebruikt??? CREATE OR REPLACE VIEW BSSC_V_RAP_GEFACTUREERD -- FROZEN-tabellen! ( xmlnode, refkey, debiteur, debiteurnr, contactpersoon, refid, refoms, datum, -- Datum waarop ter vrijgave (RESAFM-datum of MLDACP-datum) kosten, vrijgever -- Door wie vrijgegeven (geselecteerd bij RES of MLDAFM-er) ) AS SELECT x.xmlnode, x.refkey, x.prs_debiteur_naam, x.debiteur_nr, x.contactpersoon, x.refid, x.refoms, x.datum, SUM (x.mndnet) kosten, pf.prs_perslid_naam_full vrijgever FROM (SELECT v.xmlnode, v.refkey, v.prs_debiteur_naam, v.debiteur_nr, v.contactpersoon, v.refid, v.regel refoms, v.mndnet, --kw.res_kenmerkwaarde_aanmaak datum --t.prs_perslid_key vrijgever, fac.gettrackingdate ('RESAFM', kw.res_rsv_ruimte_key) datum, fac.safe_to_number (kw.res_kenmerkreservering_waarde) vrijgever FROM bssc_v_addd_frozen v, (SELECT kw.* FROM res_kenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerkwaarde_verwijder IS NULL AND kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 281) kw -- Vrijgegeven ter facturatie door --(SELECT * -- Boterzacht, maar hoe anders? -- FROM fac_tracking -- WHERE fac_srtnotificatie_key = 82 -- RESUPD -- AND INSTR (UPPER (fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0) t WHERE v.xmlnode = 'reservering' AND v.refkey = kw.res_rsv_ruimte_key(+) --AND kw.res_rsv_ruimte_key = t.fac_tracking_refkey(+) UNION ALL -- Correctie- of losverkoopmelding gefactureerd! SELECT v.xmlnode, v.mld_melding_key refkey, v.prs_debiteur_naam, v.debiteur_nr, v.contactpersoon, TO_CHAR (v.mld_melding_key) refid, v.regel_oms refoms, v.mndnet, fac.gettrackingdate ('MLDACP', v.mld_melding_key) datum, fac.gettrackinguserkey ('MLDAFM', v.mld_melding_key) vrijgever -- Vrijgever is de MLDAFM-user FROM bssc_v_addd_frozen v WHERE v.mld_melding_key IS NOT NULL) x, prs_v_perslid_fullnames_all pf WHERE x.vrijgever = pf.prs_perslid_key(+) GROUP BY x.xmlnode, x.refkey, x.prs_debiteur_naam, x.debiteur_nr, x.contactpersoon, x.refid, x.refoms, x.datum, pf.prs_perslid_naam_full; -- Nog gebruikt??? CREATE OR REPLACE VIEW BSSC_V_RAP_VRIJGAVEDOOR ( xmlnode, refkey, debiteur, debiteurnr, contactpersoon, refid, refoms, datum, -- Datum waarop ter vrijgave (RESAFM-datum of MLDACP-datum) kosten, vrijgever, -- Door wie vrijgegeven (geselecteerd bij RES of MLDAFM-er) vrijgave_door, -- Bij RES geselecteerd door of bij MLD leeg vrijgave_datum -- Datum waarop vrijgegeven (RESUPD-datum of MLDAFM-datum) ) AS SELECT x.xmlnode, x.refkey, x.prs_debiteur_naam, x.debiteur_nr, x.contactpersoon, x.refid, x.refoms, x.datum, SUM (x.mndnet) kosten, pfi.prs_perslid_naam_full vrijgever, pfd.prs_perslid_naam_full vrijgave_door, x.vrijgave_datum vrijgave_datum FROM (SELECT v.xmlnode, v.refkey, v.prs_debiteur_naam, v.debiteur_nr, v.contactpersoon, v.refid, v.regel refoms, rs.res_status_bo_omschrijving status, v.mndnet, fac.gettrackingdate ('RESAFM', kw.res_rsv_ruimte_key) datum, fac.safe_to_number (kw.res_kenmerkreservering_waarde) vrijgever, -- Geselecteerde persoon t.prs_perslid_key vrijgave_door, -- Geselecteerd door kw.res_kenmerkwaarde_aanmaak vrijgave_datum FROM bssc_v_addd_actual v, res_v_aanwezigrsv_ruimte rrr, res_status_bo rs, (SELECT * FROM res_kenmerkwaarde kw WHERE res_kenmerkwaarde_verwijder IS NULL AND EXISTS (SELECT 1 FROM res_kenmerk WHERE res_srtkenmerk_key = 281 -- Vrijgegeven ter facturatie door AND res_kenmerk_key = kw.res_kenmerk_key)) kw, (SELECT * -- Boterzacht, maar hoe anders? FROM fac_tracking t WHERE t.fac_srtnotificatie_key = 82 -- RESUPD AND INSTR (UPPER (t.fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0 AND NOT EXISTS (SELECT 1 FROM fac_tracking WHERE fac_srtnotificatie_key = 82 -- RESUPD AND INSTR (UPPER (fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0 AND fac_tracking_refkey = t.fac_tracking_refkey AND fac_tracking_key > t.fac_tracking_key)) t WHERE v.xmlnode = 'reservering' AND v.refkey = rrr.res_rsv_ruimte_key AND rrr.res_status_bo_key = rs.res_status_bo_key AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+) AND kw.res_rsv_ruimte_key = t.fac_tracking_refkey(+) UNION ALL SELECT v.xmlnode, v.refkey, v.prs_debiteur_naam, v.debiteur_nr, v.contactpersoon, v.refid, v.regel refoms, 'Verwerkt' status, v.mndnet, fac.gettrackingdate ('RESAFM', kw.res_rsv_ruimte_key) datum, fac.safe_to_number (kw.res_kenmerkreservering_waarde) vrijgever, -- Geselecteerde persoon t.prs_perslid_key vrijgave_door, -- Geselecteerd door kw.res_kenmerkwaarde_aanmaak vrijgave_datum FROM bssc_v_addd_frozen v, (SELECT * FROM res_kenmerkwaarde kw WHERE res_kenmerkwaarde_verwijder IS NULL AND EXISTS (SELECT 1 FROM res_kenmerk WHERE res_srtkenmerk_key = 281 -- Vrijgegeven ter facturatie door AND res_kenmerk_key = kw.res_kenmerk_key)) kw, (SELECT * -- Boterzacht, maar hoe anders? FROM fac_tracking t WHERE t.fac_srtnotificatie_key = 82 -- RESUPD AND INSTR (UPPER (t.fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0 AND NOT EXISTS (SELECT 1 FROM fac_tracking WHERE fac_srtnotificatie_key = 82 -- RESUPD AND INSTR (UPPER (fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0 AND fac_tracking_refkey = t.fac_tracking_refkey AND fac_tracking_key > t.fac_tracking_key)) t WHERE v.xmlnode = 'reservering' AND v.refkey = kw.res_rsv_ruimte_key(+) AND kw.res_rsv_ruimte_key = t.fac_tracking_refkey(+) UNION ALL -- Correctie- of losverkoopmelding tefactureren! SELECT v.xmlnode, v.mld_melding_key refkey, v.prs_debiteur_naam, v.debiteur_nr, v.contactpersoon, TO_CHAR (v.mld_melding_key) refid, v.regel_oms refoms, ms.mld_statuses_omschrijving status, v.mndnet, fac.gettrackingdate ('MLDACP', v.mld_melding_key) datum, fac.gettrackinguserkey ('MLDAFM', v.mld_melding_key) vrijgever, -- Vrijgever is de MLDAFM-user TO_NUMBER (NULL) vrijgave_door, fac.gettrackingdate ('MLDAFM', v.mld_melding_key) vrijgave_datum FROM bssc_v_addd_actual v, mld_melding m, mld_statuses ms WHERE v.mld_melding_key IS NOT NULL AND v.mld_melding_key = m.mld_melding_key AND m.mld_melding_status = ms.mld_statuses_key UNION ALL -- Correctie- of losverkoopmelding gefactureerd! SELECT v.xmlnode, v.mld_melding_key refkey, v.prs_debiteur_naam, v.debiteur_nr, v.contactpersoon, TO_CHAR (v.mld_melding_key) refid, v.regel_oms refoms, 'Verwerkt' status, v.mndnet, fac.gettrackingdate ('MLDACP', v.mld_melding_key) datum, fac.gettrackinguserkey ('MLDAFM', v.mld_melding_key) vrijgever, -- Vrijgever is de MLDAFM-user TO_NUMBER (NULL) vrijgave_door, fac.gettrackingdate ('MLDAFM', v.mld_melding_key) vrijgave_datum FROM bssc_v_addd_frozen v WHERE v.mld_melding_key IS NOT NULL) x, prs_v_perslid_fullnames_all pfi, prs_v_perslid_fullnames_all pfd WHERE x.vrijgever = pfi.prs_perslid_key(+) AND x.vrijgave_door = pfd.prs_perslid_key(+) GROUP BY x.xmlnode, x.refkey, x.prs_debiteur_naam, x.debiteur_nr, x.contactpersoon, x.refid, x.refoms, x.datum, pfi.prs_perslid_naam_full, pfd.prs_perslid_naam_full, x.vrijgave_datum; CREATE OR REPLACE VIEW BSSC_V_RAP_VERKOOPFACTUUR AS SELECT 'C' factuurstroom, -- C! fin_verkoopfactuur_id, po_nr, sortering, regel, aanvrager, -- Niet C-factuur regel_oms, -- Niet C-factuur TO_DATE (factuurdatum, 'dd-mm-yyyy') gefactureerd_op, factuurdatum, vervaldatum, xmlnode, refkey, refid, lv, prs_bedrijf_key, prs_debiteur_naam, debiteur_nr, contactpersoon, --btw_nr, -- Weg? beschrijving, adres, postcode, plaats, land, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, maand, mndbegin, mndeinde, mndnet, mndbtw, -- Weg? TO_CHAR (mld_melding_key) meldingnummer, -- Alleen M-factuur mld_melding_key -- Alleen M-factuur FROM bssc_v_fact_actual WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' UNION ALL SELECT UPPER (SUBSTR (xmlnode, 1, 1)) factuurstroom, -- R of M! fin_verkoopfactuur_id, po_nr, sortering, regel, aanvrager, regel_oms, TO_DATE (factuurdatum, 'dd-mm-yyyy') gefactureerd_op, factuurdatum, vervaldatum, xmlnode, refkey, refid, -- Niet M-factuur lv, -- Alleen C-factuur prs_bedrijf_key, prs_debiteur_naam, debiteur_nr, contactpersoon, --btw_nr, -- Weg? beschrijving, adres, postcode, plaats, land, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd, maand, mndbegin, mndeinde, mndnet, mndbtw, -- Weg? TO_CHAR (mld_melding_key) meldingnummer, -- Alleen M-factuur mld_melding_key -- Alleen M-factuur FROM bssc_v_addd_actual WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'; -- BSSC#65731+BSSC#85523+BSSC#81023 CREATE OR REPLACE VIEW bssc_v_rap_resprice ( res_rsv_ruimte_key, resnr, -- Reserveringsnummer res_rsv_ruimte_van, -- Datum van van_tijd, -- Tijd van res_rsv_ruimte_tot, -- Datum tot tot_tijd, -- Tijd tot bedrijfsnaam, res_rsv_ruimte_omschrijving, -- Reserveringsomschrijving aanvrager, organisator, adm_stat, -- Administratieve status res_stat, project_code, res_type, -- Type aantal, res_extra, res_omschrijving, -- Omschrijving res_stuk_prijs, res_line_totaal, -- Bedrag deelresprijs, -- Totaal btw, kostensoort, activiteit, organisatie, uw_kenmerk ) AS SELECT rrr.res_rsv_ruimte_key, TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) resnr, rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_van van_tijd, rrr.res_rsv_ruimte_tot, rrr.res_rsv_ruimte_tot tot_tijd, rel.res_kenmerkreservering_waarde bedrijfsnaam, rrr.res_rsv_ruimte_omschrijving, pfc.prs_perslid_naam_full aanvrager, pfh.prs_perslid_naam_full organisator, (SELECT res_status_bo_omschrijving FROM res_status_bo WHERE res_status_bo_key = rrr.res_status_bo_key) adm_stat, (SELECT res_status_fo_omschrijving FROM res_status_fo WHERE res_status_fo_key = rrr.res_status_fo_key) res_stat, pc.res_kenmerkreservering_waarde project_code, x.res_type, x.aantal, x.res_extra, x.res_omschrijving, x.stuksprijs res_stuk_prijs, x.aantal * x.stuksprijs res_line_totaal, res.getdeelresprijs (rrr.res_rsv_ruimte_key) * 1.05 deelresprijs, x.btw, x.prs_kostensoort_oms || ' - ' || prs_kostensoort_opmerking kostensoort, act.res_activiteit_omschrijving activiteit, --a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving organisatie, a.prs_afdeling_omschrijving organisatie, uk.res_kenmerkreservering_waarde uw_kenmerk FROM (SELECT 'Artikel' res_type, rra.res_rsv_ruimte_key, rra.res_rsv_artikel_aantal aantal, ra.res_artikel_nr res_extra, ra.res_artikel_omschrijving res_omschrijving, DECODE (rra.res_rsv_artikel_prijs, NULL, ra.res_artikel_prijs, rra.res_rsv_artikel_prijs / DECODE (COALESCE (rra.res_rsv_artikel_aantal, 0), 0, 1, rra.res_rsv_artikel_aantal)) stuksprijs, COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw) btw, ks.prs_kostensoort_oms, ks.prs_kostensoort_opmerking FROM res_v_aanwezigrsv_artikel rra, res_artikel ra, res_discipline disc, prs_kostensoort ks WHERE rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key AND ra.res_discipline_key = disc.ins_discipline_key AND disc.prs_kostensoort_key = ks.prs_kostensoort_key(+) UNION ALL SELECT 'Object' res_type, rrd.res_rsv_ruimte_key, rrd.res_rsv_deel_aantal aantal, NULL res_extra, rd.res_deel_omschrijving res_omschrijving, --DECODE (rrd.res_rsv_deel_prijs, NULL, rd.res_deel_prijs, rrd.res_rsv_deel_prijs / DECODE (COALESCE (rrd.res_rsv_deel_aantal, 0), 0, 1, rrd.res_rsv_deel_aantal)) COALESCE (rrd.res_rsv_deel_prijs, 0) stuksprijs, 21 btw, ks.prs_kostensoort_oms, ks.prs_kostensoort_opmerking FROM res_v_aanwezigrsv_deel rrd, res_deel rd, res_discipline disc, prs_kostensoort ks WHERE rrd.res_rsv_deel_dirtlevel = 0 --AND rrd.res_rsv_ruimte_key IS NOT NULL -- Geen parkeerplaatsen bij niet reservering-gebonden afspraken? AND rrd.res_deel_key = rd.res_deel_key AND rd.res_discipline_key = disc.ins_discipline_key AND disc.prs_kostensoort_key = ks.prs_kostensoort_key(+) UNION ALL SELECT 'Ruimte' res_type, rrr.res_rsv_ruimte_key, (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24 aantal, -- Duur in uren ro.res_opstelling_omschrijving res_extra, rr.res_ruimte_nr res_omschrijving, res.getruimteprijs (rrr.res_rsv_ruimte_key) / DECODE ((rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van), 0, 1, (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24) stuksprijs, 21 btw, ks.prs_kostensoort_oms, ks.prs_kostensoort_opmerking FROM res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr, res_opstelling ro, res_discipline disc, prs_kostensoort ks WHERE rrr.res_rsv_ruimte_dirtlevel = 0 AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key AND rro.res_ruimte_key = rr.res_ruimte_key AND rro.res_opstelling_key = ro.res_opstelling_key AND rr.res_discipline_key = disc.ins_discipline_key AND disc.prs_kostensoort_key = ks.prs_kostensoort_key(+) UNION ALL SELECT 'Korting' res_type, rrr.res_rsv_ruimte_key, -1 aantal, NULL res_extra, 'Korting' res_omschrijving, rrr.res_rsv_ruimte_korting stuksprijs, 21 btw, ks.prs_kostensoort_oms, ks.prs_kostensoort_opmerking FROM res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr, res_discipline disc, prs_kostensoort ks WHERE rrr.res_rsv_ruimte_dirtlevel = 0 AND rrr.res_rsv_ruimte_korting IS NOT NULL AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key AND rro.res_ruimte_key = rr.res_ruimte_key AND rr.res_discipline_key = disc.ins_discipline_key AND disc.prs_kostensoort_key = ks.prs_kostensoort_key(+) UNION ALL SELECT 'Management fee' res_type, rrr.res_rsv_ruimte_key, 1 aantal, NULL res_extra, 'Management fee' res_omschrijving, res.getdeelresprijs (rrr.res_rsv_ruimte_key) * 0.05 stuksprijs, -- BSSC#81023: Management fee 5% 21 btw, ks.prs_kostensoort_oms, ks.prs_kostensoort_opmerking FROM res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr, res_discipline disc, prs_kostensoort ks WHERE rrr.res_rsv_ruimte_dirtlevel = 0 AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key AND rro.res_ruimte_key = rr.res_ruimte_key AND rr.res_discipline_key = disc.ins_discipline_key AND disc.prs_kostensoort_key = ks.prs_kostensoort_key(+)) x, res_rsv_ruimte rrr, prs_v_perslid_fullnames_all pfc, prs_perslid p, prs_afdeling a, prs_v_perslid_fullnames_all pfh, (SELECT * FROM res_v_aanwezigkenmerkwaarde WHERE res_kenmerk_key IN (248, 254, 264, 325)) rel, -- Relatie (SELECT * FROM res_v_aanwezigkenmerkwaarde kr WHERE EXISTS (SELECT 1 FROM res_kenmerk WHERE res_srtkenmerk_key = 401 -- Projectcode AND res_kenmerk_key = kr.res_kenmerk_key)) pc, res_activiteit act, (SELECT * FROM res_v_aanwezigkenmerkwaarde WHERE res_kenmerk_key IN (252, 258, 269, 329)) uk -- Uw kenmerk WHERE x.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key AND rrr.res_rsv_ruimte_contact_key = pfc.prs_perslid_key AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_afdeling_key = a.prs_afdeling_key AND p.prs_perslid_key = pfh.prs_perslid_key AND x.res_rsv_ruimte_key = rel.res_rsv_ruimte_key(+) AND x.res_rsv_ruimte_key = pc.res_rsv_ruimte_key(+) AND rrr.res_activiteit_key = act.res_activiteit_key AND rrr.res_rsv_ruimte_key = uk.res_rsv_ruimte_key(+) AND rrr.res_rsv_ruimte_van > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy'); -- Rapportage ter controle facturatie van contracten per maand (of niet). CREATE OR REPLACE VIEW BSSC_V_RAP_CNT_FIN_MND AS SELECT f.maand, f.stroom, f.prs_debiteur_naam debiteurnaam, COALESCE (cd.ins_discipline_key, sm.mld_stdmelding_key) refsoort_key, COALESCE (cd.ins_discipline_omschrijving, sm.mld_stdmelding_omschrijving) refsoort, f.refkey, f.refid, c.cnt_contract_looptijd_van, c.cnt_contract_looptijd_tot, f.fin_verkoopfactuur_id, f.mndnet totaal FROM ( SELECT maand, 'Contract' stroom, prs_debiteur_naam, refkey, refid, beschrijving, fin_verkoopfactuur_id, SUM (mndnet) mndnet FROM bssc_v_fact_frozen GROUP BY maand, 'Contract', prs_debiteur_naam, refkey, refid, beschrijving, fin_verkoopfactuur_id UNION ALL SELECT maand, 'Contract' stroom, prs_debiteur_naam, refkey, refid, beschrijving, fin_verkoopfactuur_id, SUM (mndnet) mndnet FROM bssc_v_fact_actual GROUP BY maand, 'Contract', prs_debiteur_naam, refkey, refid, beschrijving, fin_verkoopfactuur_id UNION ALL SELECT maand, 'Melding' stroom, prs_debiteur_naam, mld_melding_key refkey, TO_CHAR (mld_melding_key) refid, regel_oms beschrijving, fin_verkoopfactuur_id, SUM (mndnet) mndnet FROM bssc_v_addd_frozen WHERE mld_melding_key IS NOT NULL GROUP BY maand, 'Melding', prs_debiteur_naam, mld_melding_key, TO_CHAR (mld_melding_key), regel_oms, fin_verkoopfactuur_id UNION ALL SELECT maand, 'Melding' stroom, prs_debiteur_naam, mld_melding_key refkey, TO_CHAR (mld_melding_key) refid, regel_oms beschrijving, fin_verkoopfactuur_id, SUM (mndnet) mndnet FROM bssc_v_addd_actual WHERE mld_melding_key IS NOT NULL GROUP BY maand, 'Melding', prs_debiteur_naam, mld_melding_key, TO_CHAR (mld_melding_key), regel_oms, fin_verkoopfactuur_id) f LEFT JOIN cnt_v_aanwezigcontract c ON f.stroom = 'Contract' AND f.refkey = c.cnt_contract_key LEFT JOIN cnt_discipline cd ON c.ins_discipline_key = cd.ins_discipline_key LEFT JOIN mld_melding m ON f.stroom = 'Melding' AND f.refkey = m.mld_melding_key LEFT JOIN mld_stdmelding sm ON m.mld_stdmelding_key = sm.mld_stdmelding_key; -- Rapportage tbv. interne facturatie van CMD aan CHV (betaald door CHV aan CMD)! /* CREATE OR REPLACE VIEW BSSC_V_RAP_CMD2CHV ( maand, debiteurnaam, factuurnummer, vvo, huur, verv_toeslag, maand_tarief, cmd_fee, ict, facilitair, service, schoonmaak, koffie, duty, forum ) AS SELECT maand, prs_debiteur_naam, '*CONCEPT / ' || refid factuurnummer, vvo, huur, verv_toeslag, CASE WHEN vvo = 0 THEN TO_NUMBER (NULL) ELSE ROUND ((huur + verv_toeslag) / vvo, 2) END maand_tarief, CASE WHEN prs_bedrijf_key IN (16781, 16843) -- Accenture B.V./Incompany Real Estate Services B.V. THEN ROUND ((huur + verv_toeslag) / 3, 2) WHEN vvo = 0 THEN TO_NUMBER (NULL) ELSE ROUND (DECODE (SIGN ((((huur + verv_toeslag) / vvo) - (73.33 / 12)) * vvo), -1, 0, (((huur + verv_toeslag) / vvo) - (73.33 / 12)) * vvo), 2) END cmd_fee, ict, facilitair, service, schoonmaak, koffie, duty, forum FROM ( SELECT maand, prs_bedrijf_key, prs_debiteur_naam, refid, SUM (vvo) vvo, SUM (huur) huur, SUM (verv_toeslag) verv_toeslag, SUM (ict) ict, SUM (facilitair) facilitair, SUM (service) service, SUM (schoonmaak) schoonmaak, SUM (koffie) koffie, SUM (duty) duty, SUM (forum) forum FROM ( SELECT maand, prs_bedrijf_key, prs_debiteur_naam, refid, SUM (DECODE (alg_plaatsaanduiding, NULL, 0, ROUND (COALESCE (aantal * vvo_toeslag, 0), 2))) vvo, SUM (mndnet) huur, 0 verv_toeslag, 0 ict, 0 facilitair, 0 service, 0 schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_actual WHERE regel_key = 962 -- Huur GROUP BY maand, prs_bedrijf_key, prs_debiteur_naam, refid UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, refid, 0 vvo, 0 huur, mndnet verv_toeslag, 0 ict, 0 facilitair, 0 service, 0 schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_actual WHERE regel_key = 642 -- Vervangende toeslag UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, refid, 0 vvo, 0 huur, 0 verv_toeslag, mndnet ict, 0 facilitair, 0 service, 0 schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_actual WHERE regel_key = 963 -- ICT UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, refid, 0 vvo, 0 huur, 0 verv_toeslag, 0 ict, mndnet facilitair, 0 service, 0 schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_actual WHERE regel_key = 964 -- Facilitaire kosten UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, refid, 0 vvo, 0 huur, 0 verv_toeslag, 0 ict, 0 facilitair, mndnet service, 0 schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_actual WHERE regel_key = 965 -- Servicekosten UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, refid, 0 vvo, 0 huur, 0 verv_toeslag, 0 ict, 0 facilitair, 0 service, mndnet schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_actual WHERE regel_key = 966 -- Schoonmaak UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, refid, 0 vvo, 0 huur, 0 verv_toeslag, 0 ict, 0 facilitair, 0 service, 0 schoonmaak, mndnet koffie, 0 duty, 0 forum FROM bssc_v_fact_actual WHERE regel_key = 982 -- Koffieautomaten UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, refid, 0 vvo, 0 huur, 0 verv_toeslag, 0 ict, 0 facilitair, 0 service, 0 schoonmaak, 0 koffie, mndnet duty, 0 forum FROM bssc_v_fact_actual WHERE regel_key = 983) -- Duty manager GROUP BY maand, prs_bedrijf_key, prs_debiteur_naam, refid) UNION ALL SELECT maand, prs_debiteur_naam, fin_verkoopfactuur_id factuurnummer, vvo, huur, verv_toeslag, CASE WHEN vvo = 0 THEN TO_NUMBER (NULL) ELSE ROUND ((huur + verv_toeslag) / vvo, 2) END maand_tarief, CASE WHEN prs_bedrijf_key IN (16781, 16843) -- Accenture B.V./Incompany Real Estate Services B.V. THEN ROUND ((huur + verv_toeslag) / 3, 2) WHEN vvo = 0 THEN TO_NUMBER (NULL) ELSE ROUND (DECODE (SIGN ((((huur + verv_toeslag) / vvo) - (73.33 / 12)) * vvo), -1, 0, (((huur + verv_toeslag) / vvo) - (73.33 / 12)) * vvo), 2) END cmd_fee, ict, facilitair, service, schoonmaak, koffie, duty, forum FROM ( SELECT maand, prs_bedrijf_key, prs_debiteur_naam, fin_verkoopfactuur_id, SUM (huur) huur, SUM (verv_toeslag) verv_toeslag, SUM (vvo) vvo, SUM (ict) ict, SUM (facilitair) facilitair, SUM (service) service, SUM (schoonmaak) schoonmaak, SUM (koffie) koffie, SUM (duty) duty, SUM (forum) forum FROM ( SELECT maand, prs_bedrijf_key, prs_debiteur_naam, fin_verkoopfactuur_id, SUM (DECODE (alg_plaatsaanduiding, NULL, 0, ROUND (COALESCE (aantal * vvo_toeslag, 0), 2))) vvo, SUM (mndnet) huur, 0 verv_toeslag, 0 ict, 0 facilitair, 0 service, 0 schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_frozen WHERE regel_key = 962 -- Huur GROUP BY maand, prs_bedrijf_key, prs_debiteur_naam, fin_verkoopfactuur_id UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, fin_verkoopfactuur_id, 0 vvo, 0 huur, mndnet verv_toeslag, 0 ict, 0 facilitair, 0 service, 0 schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_frozen WHERE regel_key = 642 -- Vervangende toeslag UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, fin_verkoopfactuur_id, 0 vvo, 0 huur, 0 verv_toeslag, mndnet ict, 0 facilitair, 0 service, 0 schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_frozen WHERE regel_key = 963 -- ICT UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, fin_verkoopfactuur_id, 0 vvo, 0 huur, 0 verv_toeslag, 0 ict, mndnet facilitair, 0 service, 0 schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_frozen WHERE regel_key = 964 -- Facilitaire kosten UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, fin_verkoopfactuur_id, 0 vvo, 0 huur, 0 verv_toeslag, 0 ict, 0 facilitair, mndnet service, 0 schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_frozen WHERE regel_key = 965 -- Servicekosten UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, fin_verkoopfactuur_id, 0 vvo, 0 huur, 0 verv_toeslag, 0 ict, 0 facilitair, 0 service, mndnet schoonmaak, 0 koffie, 0 duty, 0 forum FROM bssc_v_fact_frozen WHERE regel_key = 966 -- Schoonmaak UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, fin_verkoopfactuur_id, 0 vvo, 0 huur, 0 verv_toeslag, 0 ict, 0 facilitair, 0 service, 0 schoonmaak, mndnet koffie, 0 duty, 0 forum FROM bssc_v_fact_frozen WHERE regel_key = 982 -- Koffieautomaten UNION ALL SELECT maand, prs_bedrijf_key, prs_debiteur_naam, fin_verkoopfactuur_id, 0 vvo, 0 huur, 0 verv_toeslag, 0 ict, 0 facilitair, 0 service, 0 schoonmaak, 0 koffie, mndnet duty, 0 forum FROM bssc_v_fact_frozen WHERE regel_key = 983) -- Duty manager GROUP BY maand, prs_bedrijf_key, prs_debiteur_naam, fin_verkoopfactuur_id); */ CREATE OR REPLACE VIEW BSSC_V_RAP_CMD2CHV ( maand, van, tot, --prs_bedrijf_key, debiteurnaam, debiteurnr, --factuurnr, contractnr, autom_fact, start_fact, --bvo_scope, vvo_scope, m2_contract, -- Was vvo_ovkst huur, --verv_toeslag, maand_tarief, cmd_fee, ict, facilitair, service, schoonmaak, koffie, duty ) AS SELECT TO_CHAR (x.maand, 'yyyymm') maand, x.van, x.tot, --x.prs_bedrijf_key, x.debiteurnaam, x.debiteurnr, --NULL factuurnr, x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') contractnr, DECODE (gaf.cnt_kenmerkcontract_waarde, NULL, 'Ja', 'Nee') autom_fact, fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') start_fact, -- fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') <= fac.safe_to_date (x.maand || '01', 'yyyymmdd') --cp.bvo_scope, cp.vvo_scope, fac.safe_to_number (cvvo.cnt_kenmerkcontract_waarde) vvo_ovkst, fac.safe_to_number (mbw1.cnt_kenmerkcontract_waarde) huur, --verv_toeslag_ud.fac_usrdata_prijs - 1 verv_toeslag, -- verv_toeslag_ud.fac_usrdata_prijs > 1? CASE WHEN COALESCE (fac.safe_to_number (cvvo.cnt_kenmerkcontract_waarde), 0) = 0 OR COALESCE (vvo_toeslag_ud.fac_usrdata_prijs, 0) = 0 THEN TO_NUMBER (NULL) ELSE ROUND ( --(fac.safe_to_number (mbw1.cnt_kenmerkcontract_waarde) * COALESCE (verv_toeslag_ud.fac_usrdata_prijs, 0)) fac.safe_to_number (mbw1.cnt_kenmerkcontract_waarde) / (fac.safe_to_number (cvvo.cnt_kenmerkcontract_waarde) * vvo_toeslag_ud.fac_usrdata_prijs), 2) END maand_tarief, CASE WHEN x.prs_bedrijf_key IN (16781, 16843) -- Accenture B.V./Incompany Real Estate Services B.V. THEN ROUND ( --(fac.safe_to_number (mbw1.cnt_kenmerkcontract_waarde) * COALESCE (verv_toeslag_ud.fac_usrdata_prijs, 0)) fac.safe_to_number (mbw1.cnt_kenmerkcontract_waarde) / 3 * ((x.tot - x.van + 1) / (LAST_DAY (x.maand) - x.maand + 1)), 2) WHEN COALESCE (fac.safe_to_number (cvvo.cnt_kenmerkcontract_waarde), 0) = 0 OR COALESCE (vvo_toeslag_ud.fac_usrdata_prijs, 0) = 0 THEN TO_NUMBER (NULL) ELSE ROUND ( DECODE ( SIGN ((((fac.safe_to_number (mbw1.cnt_kenmerkcontract_waarde)) -- * COALESCE (verv_toeslag_ud.fac_usrdata_prijs, 0)) / (fac.safe_to_number (cvvo.cnt_kenmerkcontract_waarde) * vvo_toeslag_ud.fac_usrdata_prijs)) - (73.33 / 12)) * (fac.safe_to_number (cvvo.cnt_kenmerkcontract_waarde) * vvo_toeslag_ud.fac_usrdata_prijs)), -1, 0, (((fac.safe_to_number (mbw1.cnt_kenmerkcontract_waarde)) -- * COALESCE (verv_toeslag_ud.fac_usrdata_prijs, 0)) / (fac.safe_to_number (cvvo.cnt_kenmerkcontract_waarde) * vvo_toeslag_ud.fac_usrdata_prijs)) - (73.33 / 12)) * (fac.safe_to_number (cvvo.cnt_kenmerkcontract_waarde) * vvo_toeslag_ud.fac_usrdata_prijs)) * ((x.tot - x.van + 1) / (LAST_DAY (x.maand) - x.maand + 1)), 2) END cmd_fee, fac.safe_to_number (mbw2.cnt_kenmerkcontract_waarde) ict, fac.safe_to_number (mbw3.cnt_kenmerkcontract_waarde) facilitair, fac.safe_to_number (mbw4.cnt_kenmerkcontract_waarde) service, fac.safe_to_number (mbw5.cnt_kenmerkcontract_waarde) schoonmaak, fac.safe_to_number (mbw6.cnt_kenmerkcontract_waarde) koffie, fac.safe_to_number (mbw7.cnt_kenmerkcontract_waarde) duty FROM (SELECT p.maand, GREATEST (TRUNC (c.cnt_contract_looptijd_van), p.maand) van, LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (p.maand)) tot, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, --c.cnt_contract_nummer, --c.cnt_contract_omschrijving, b.prs_bedrijf_key, b.prs_bedrijf_naam debiteurnaam, TRIM (chvnr.prs_kenmerklink_waarde) debiteurnr FROM ( SELECT ADD_MONTHS (fac.safe_to_date ('01-01-2023', 'dd-mm-yyyy'), LEVEL - 1) maand FROM DUAL WHERE ADD_MONTHS (fac.safe_to_date ('01-01-2023', 'dd-mm-yyyy'), LEVEL - 1) BETWEEN fac.safe_to_date ('20230101', 'yyyymmdd') AND TRUNC (ADD_MONTHS (SYSDATE, 2)) CONNECT BY LEVEL <= 240) p, cnt_v_aanwezigcontract c, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr WHERE c.ins_discipline_key = 2001 -- Huur CHV AND c.cnt_contract_status = 0 -- Definitief/TODO:Of gesloten??? AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (p.maand) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > p.maand) x LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key = 1001 -- Geen automatische facturatie LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key = 641 -- Onbelaste huurder LEFT JOIN ( SELECT cp.cnt_contract_key, --SUM (COALESCE (r.alg_ruimte_bruto_vloeropp, 0)) bvo_scope, SUM (COALESCE (r.alg_ruimte_opp_alt1, 0)) vvo_scope FROM cnt_v_aanwezigcontract_plaats cp, alg_ruimte r -- TODO:Of aanwezig? WHERE cp.cnt_alg_plaats_code = 'R' -- Alleen Scope-ruimten! AND cp.cnt_alg_plaats_key = r.alg_ruimte_key GROUP BY cp.cnt_contract_key) cp ON x.cnt_contract_key = cp.cnt_contract_key LEFT JOIN cnt_kenmerkcontract vvo_toeslag ON x.cnt_contract_key = vvo_toeslag.cnt_contract_key AND vvo_toeslag.cnt_kenmerkcontract_verwijder IS NULL AND vvo_toeslag.cnt_kenmerk_key = 402 -- VVO toeslagpercentage LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag_ud ON fac.safe_to_number (vvo_toeslag.cnt_kenmerkcontract_waarde) = vvo_toeslag_ud.fac_usrdata_key LEFT JOIN cnt_kenmerkcontract cvvo ON x.cnt_contract_key = cvvo.cnt_contract_key AND cvvo.cnt_kenmerkcontract_verwijder IS NULL AND cvvo.cnt_kenmerk_key = 1061 -- M2 volgens contract LEFT JOIN cnt_kenmerkcontract mbw1 ON x.cnt_contract_key = mbw1.cnt_contract_key AND mbw1.cnt_kenmerkcontract_verwijder IS NULL AND mbw1.cnt_kenmerk_key = 962 -- Huur LEFT JOIN cnt_kenmerkcontract mbw2 ON x.cnt_contract_key = mbw2.cnt_contract_key AND mbw2.cnt_kenmerkcontract_verwijder IS NULL AND mbw2.cnt_kenmerk_key = 963 -- ICT LEFT JOIN cnt_kenmerkcontract mbw3 ON x.cnt_contract_key = mbw3.cnt_contract_key AND mbw3.cnt_kenmerkcontract_verwijder IS NULL AND mbw3.cnt_kenmerk_key = 964 -- Facilitaire kosten LEFT JOIN cnt_kenmerkcontract mbw4 ON x.cnt_contract_key = mbw4.cnt_contract_key AND mbw4.cnt_kenmerkcontract_verwijder IS NULL AND mbw4.cnt_kenmerk_key = 965 -- Servicekosten LEFT JOIN cnt_kenmerkcontract mbw5 ON x.cnt_contract_key = mbw5.cnt_contract_key AND mbw5.cnt_kenmerkcontract_verwijder IS NULL AND mbw5.cnt_kenmerk_key = 966 -- Schoonmaak LEFT JOIN cnt_kenmerkcontract mbw6 ON x.cnt_contract_key = mbw6.cnt_contract_key AND mbw6.cnt_kenmerkcontract_verwijder IS NULL AND mbw6.cnt_kenmerk_key = 982 -- Koffieautomaten LEFT JOIN cnt_kenmerkcontract mbw7 ON x.cnt_contract_key = mbw7.cnt_contract_key AND mbw7.cnt_kenmerkcontract_verwijder IS NULL AND mbw7.cnt_kenmerk_key = 983 -- Duty manager --LEFT JOIN cnt_kenmerkcontract verv_toeslag -- ON x.cnt_contract_key = verv_toeslag.cnt_contract_key -- AND verv_toeslag.cnt_kenmerkcontract_verwijder IS NULL -- AND verv_toeslag.cnt_kenmerk_key = 642 -- Vervangende toeslag --LEFT JOIN fac_v_aanwezigusrdata verv_toeslag_ud -- ON fac.safe_to_number (verv_toeslag.cnt_kenmerkcontract_waarde) = verv_toeslag_ud.fac_usrdata_key ; -- Rapportage van contracten die niet automatisch worden gefactureerd! CREATE OR REPLACE VIEW BSSC_V_RAP_AUTOM_FACT_UIT ( eerstvolgendefactuur, debiteurnaam, contractsoort, contractnummer, totaalbedrag ) AS SELECT fac.safe_to_date (volg_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') eerstvolgendefactuur, x.prs_debiteur_naam debiteurnaam, x.ins_discipline_omschrijving contractsoort, x.refid contractnummer, x.mndnet totaalbedrag FROM ( SELECT x.refkey, x.prs_debiteur_naam, cd.ins_discipline_omschrijving, x.refid, SUM (mndnet) mndnet FROM bssc_v_fact_manual x, cnt_contract c, cnt_discipline cd WHERE x.xmlnode = 'contract' AND x.refkey = c.cnt_contract_key AND c.ins_discipline_key = cd.ins_discipline_key GROUP BY x.refkey, x.prs_debiteur_naam, cd.ins_discipline_omschrijving, x.refid) x LEFT JOIN cnt_kenmerkcontract volg_fact ON x.refkey = volg_fact.cnt_contract_key AND volg_fact.cnt_kenmerkcontract_verwijder IS NULL AND volg_fact.cnt_kenmerk_key IN (866, 868, 869, 1021) -- Volgende factuur --WHERE fac.safe_to_date (volg_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') >= TRUNC (SYSDATE) ; -- Contractkosten per maand sinds 2023-01! CREATE OR REPLACE VIEW BSSC_V_CNT_KOSTEN_PM AS SELECT x.maand, --x.maand_van, --x.maand_tot, x.prs_bedrijf_key, x.debiteurnaam, x.debiteurnr_cmd, x.debiteurnr_chv, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.ins_discipline_omschrijving, x.cnt_contract_omschrijving, --x.cnt_contract_nummer, 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.cnt_contract_kosten, gaf.cnt_kenmerkcontract_waarde gaf, start_fact.cnt_kenmerkcontract_waarde start_fact, fac.safe_to_number (cvvo.cnt_kenmerkcontract_waarde) contract_m2, vvo_toeslag_ud.fac_usrdata_omschr vvo_toeslag, (vvo_toeslag_ud.fac_usrdata_prijs - 1) vvo_toeslagperc, -- VVO toeslag DECODE (oh.cnt_kenmerkcontract_waarde, 921, 'Ja', 922, 'Nee', NULL) oh, verv_toeslag_ud.fac_usrdata_omschr verv_toeslag, (verv_toeslag_ud.fac_usrdata_prijs - 1) verv_toeslagperc, -- Vervangende toeslag sd_ud.fac_usrdata_omschr sd, LAST_DAY (x.maand) - x.maand + 1 mndbes, -- Beschikbaar LEAST (x.maand_tot, LAST_DAY (x.maand)) - GREATEST (x.maand_van, x.maand) + 1 mndbez, -- Bezet b1.maandbedrag huur, b2.maandbedrag ict, b3.maandbedrag fac, b4.maandbedrag serv, b5.maandbedrag sch, b6.maandbedrag kof, b7.maandbedrag duty, b8.maandbedrag opsl, b9.aantal pchv_aantal, b9.jaarbedrag pchv_jaar, b9.maandbedrag pchv_maand, b10.aantal pcmd_aantal, b10.jaarbedrag pcmd_jaar, b10.maandbedrag pcmd_maand, b11.aantal dcmd_aantal, b11.jaarbedrag dcmd_jaar, b11.maandbedrag dcmd_maand, tot.maandbedrag totaal FROM (SELECT p.maand, GREATEST (TRUNC (c.cnt_contract_looptijd_van), p.maand) maand_van, LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (p.maand)) maand_tot, c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, cd.ins_discipline_omschrijving, c.cnt_contract_omschrijving, --c.cnt_contract_nummer, c.cnt_contract_looptijd_van, c.cnt_contract_looptijd_tot, c.cnt_contract_kosten, b.prs_bedrijf_key, b.prs_bedrijf_naam debiteurnaam, TRIM (cmdnr.prs_kenmerklink_waarde) debiteurnr_cmd, TRIM (chvnr.prs_kenmerklink_waarde) debiteurnr_chv FROM ( SELECT ADD_MONTHS (fac.safe_to_date ('01-01-2023', 'dd-mm-yyyy'), LEVEL - 1) maand FROM DUAL WHERE ADD_MONTHS (fac.safe_to_date ('01-01-2023', 'dd-mm-yyyy'), LEVEL - 1) BETWEEN fac.safe_to_date ('20230101', 'yyyymmdd') AND TRUNC (ADD_MONTHS (SYSDATE, 2)) CONNECT BY LEVEL <= 240) p, cnt_v_aanwezigcontract c, cnt_discipline cd, prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr WHERE c.ins_discipline_key = cd.ins_discipline_key AND cd.ins_discipline_key IN (2001, 2003, 2004, 2005) -- Huur CHV/Parkeren CHV/Parkeren CMD/Deelnemers CMD AND c.cnt_contract_status = 0 -- Definitief/TODO:Of gesloten??? AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND b.prs_bedrijf_key = cmdnr.prs_link_key(+) AND b.prs_bedrijf_key = chvnr.prs_link_key(+) AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (p.maand) -- Van-datum < einde te factureren maand AND c.cnt_contract_looptijd_tot > p.maand) x LEFT JOIN cnt_kenmerkcontract gaf ON x.cnt_contract_key = gaf.cnt_contract_key AND gaf.cnt_kenmerkcontract_verwijder IS NULL AND gaf.cnt_kenmerk_key IN (863, 864, 865, 1001) -- Geen automatische facturatie/Huur CHV+Parkeren CHV+Parkeren CMD+Deelnemers CMD LEFT JOIN cnt_kenmerkcontract start_fact ON x.cnt_contract_key = start_fact.cnt_contract_key AND start_fact.cnt_kenmerkcontract_verwijder IS NULL AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op/Huur CHV LEFT JOIN cnt_kenmerkcontract cvvo ON x.cnt_contract_key = cvvo.cnt_contract_key AND cvvo.cnt_kenmerkcontract_verwijder IS NULL AND cvvo.cnt_kenmerk_key = 1061 -- M2 volgens contract/Huur CHV LEFT JOIN cnt_kenmerkcontract vvo_toeslag ON x.cnt_contract_key = vvo_toeslag.cnt_contract_key AND vvo_toeslag.cnt_kenmerkcontract_verwijder IS NULL AND vvo_toeslag.cnt_kenmerk_key = 402 -- VVO toeslagpercentage/Huur CHV LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag_ud ON fac.safe_to_number (vvo_toeslag.cnt_kenmerkcontract_waarde) = vvo_toeslag_ud.fac_usrdata_key LEFT JOIN cnt_kenmerkcontract oh ON x.cnt_contract_key = oh.cnt_contract_key AND oh.cnt_kenmerkcontract_verwijder IS NULL AND oh.cnt_kenmerk_key IN (641, 1041) -- Onbelaste huurder/Huur CHV+Parkeren CHV LEFT JOIN cnt_kenmerkcontract verv_toeslag ON x.cnt_contract_key = verv_toeslag.cnt_contract_key AND verv_toeslag.cnt_kenmerkcontract_verwijder IS NULL AND verv_toeslag.cnt_kenmerk_key IN (642, 1042) -- Vervangende toeslag/Huur CHV+Parkeren CHV LEFT JOIN fac_v_aanwezigusrdata verv_toeslag_ud ON fac.safe_to_number (verv_toeslag.cnt_kenmerkcontract_waarde) = verv_toeslag_ud.fac_usrdata_key LEFT JOIN cnt_kenmerkcontract sd ON x.cnt_contract_key = sd.cnt_contract_key AND sd.cnt_kenmerkcontract_verwijder IS NULL AND sd.cnt_kenmerk_key = 421 -- Soort deelnemer/Deelnemers CMD LEFT JOIN fac_v_aanwezigusrdata sd_ud ON fac.safe_to_number (sd.cnt_kenmerkcontract_waarde) = sd_ud.fac_usrdata_key LEFT JOIN (SELECT kc.cnt_contract_key, k.cnt_kenmerk_key, fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) maandbedrag FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_key IN (962)) b1 -- Huur CHV/Rent ON x.cnt_contract_key = b1.cnt_contract_key LEFT JOIN (SELECT kc.cnt_contract_key, k.cnt_kenmerk_key, fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) maandbedrag FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_key IN (963)) b2 -- Huur CHV/ICT ON x.cnt_contract_key = b2.cnt_contract_key LEFT JOIN (SELECT kc.cnt_contract_key, k.cnt_kenmerk_key, fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) maandbedrag FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_key IN (964)) b3 -- Huur CHV/Facilitaire kosten ON x.cnt_contract_key = b3.cnt_contract_key LEFT JOIN (SELECT kc.cnt_contract_key, k.cnt_kenmerk_key, fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) maandbedrag FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_key IN (965)) b4 -- Huur CHV/Servicekosten ON x.cnt_contract_key = b4.cnt_contract_key LEFT JOIN (SELECT kc.cnt_contract_key, k.cnt_kenmerk_key, fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) maandbedrag FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_key IN (966)) b5 -- Huur CHV/Schoonmaak ON x.cnt_contract_key = b5.cnt_contract_key LEFT JOIN (SELECT kc.cnt_contract_key, k.cnt_kenmerk_key, fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) maandbedrag FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_key IN (982)) b6 -- Huur CHV/Koffieautomaten ON x.cnt_contract_key = b6.cnt_contract_key LEFT JOIN (SELECT kc.cnt_contract_key, k.cnt_kenmerk_key, fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) maandbedrag FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_key IN (983)) b7 -- Huur CHV/Duty manager ON x.cnt_contract_key = b7.cnt_contract_key LEFT JOIN (SELECT kc.cnt_contract_key, k.cnt_kenmerk_key, fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) maandbedrag FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_key IN (1081)) b8 -- Huur CHV/Opslagruimte ON x.cnt_contract_key = b8.cnt_contract_key LEFT JOIN (SELECT kc1.cnt_contract_key, kc1.cnt_kenmerk_key, fac.safe_to_number (kc1.cnt_kenmerkcontract_waarde) aantal, fac.safe_to_number (kc2.cnt_kenmerkcontract_waarde) jaarbedrag, ROUND (COALESCE (fac.safe_to_number (kc1.cnt_kenmerkcontract_waarde), 0) * COALESCE (fac.safe_to_number (kc2.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) maandbedrag FROM cnt_kenmerkcontract kc1, cnt_kenmerkcontract kc2 WHERE kc1.cnt_contract_key = kc2.cnt_contract_key AND kc1.cnt_kenmerkcontract_verwijder IS NULL AND kc2.cnt_kenmerkcontract_verwijder IS NULL AND kc1.cnt_kenmerk_key IN (415) -- Aantal AND kc2.cnt_kenmerk_key IN (416)) b9 -- Bedrag ON x.cnt_contract_key = b9.cnt_contract_key LEFT JOIN (SELECT kc1.cnt_contract_key, kc1.cnt_kenmerk_key, fac.safe_to_number (kc1.cnt_kenmerkcontract_waarde) aantal, fac.safe_to_number (kc2.cnt_kenmerkcontract_waarde) jaarbedrag, ROUND (COALESCE (fac.safe_to_number (kc1.cnt_kenmerkcontract_waarde), 0) * COALESCE (fac.safe_to_number (kc2.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) maandbedrag FROM cnt_kenmerkcontract kc1, cnt_kenmerkcontract kc2 WHERE kc1.cnt_contract_key = kc2.cnt_contract_key AND kc1.cnt_kenmerkcontract_verwijder IS NULL AND kc2.cnt_kenmerkcontract_verwijder IS NULL AND kc1.cnt_kenmerk_key IN (417) -- Aantal AND kc2.cnt_kenmerk_key IN (418)) b10 -- Bedrag ON x.cnt_contract_key = b10.cnt_contract_key LEFT JOIN (SELECT kc1.cnt_contract_key, kc1.cnt_kenmerk_key, fac.safe_to_number (kc1.cnt_kenmerkcontract_waarde) aantal, fac.safe_to_number (kc2.cnt_kenmerkcontract_waarde) jaarbedrag, ROUND (COALESCE (fac.safe_to_number (kc1.cnt_kenmerkcontract_waarde), 0) * COALESCE (fac.safe_to_number (kc2.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) maandbedrag FROM cnt_kenmerkcontract kc1, cnt_kenmerkcontract kc2 WHERE kc1.cnt_contract_key = kc2.cnt_contract_key AND kc1.cnt_kenmerkcontract_verwijder IS NULL AND kc2.cnt_kenmerkcontract_verwijder IS NULL AND kc1.cnt_kenmerk_key IN (419) -- Aantal AND kc2.cnt_kenmerk_key IN (420)) b11 -- Bedrag ON x.cnt_contract_key = b11.cnt_contract_key LEFT JOIN ( SELECT kc.cnt_contract_key, SUM (COALESCE (fac.safe_to_number (kc.cnt_kenmerkcontract_waarde), 0)) maandbedrag FROM cnt_kenmerkcontract kc, cnt_kenmerk k WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_kenmerk_key IN (962, 963, 964, 965, 966, 982, 983, 1081) -- Maandbedragen/Huur CHV GROUP BY kc.cnt_contract_key UNION ALL SELECT kc1.cnt_contract_key, ROUND (COALESCE (fac.safe_to_number (kc1.cnt_kenmerkcontract_waarde), 0) * COALESCE (fac.safe_to_number (kc2.cnt_kenmerkcontract_waarde), 0) * 1/12, 2) maandbedrag FROM cnt_kenmerkcontract kc1, cnt_kenmerkcontract kc2 WHERE kc1.cnt_contract_key = kc2.cnt_contract_key AND kc1.cnt_kenmerkcontract_verwijder IS NULL AND kc2.cnt_kenmerkcontract_verwijder IS NULL AND kc1.cnt_kenmerk_key IN (415, 417, 419) -- Aantal AND kc2.cnt_kenmerk_key IN (416, 418, 420)) tot -- Bedrag ON x.cnt_contract_key = tot.cnt_contract_key; /* 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 (962, 963, 964, 965, 966, 982, 983, 1081) -- Maandbedragen/Huur CHV LEFT JOIN cnt_kenmerk jbw_k ON jbw.cnt_kenmerk_key = jbw_k.cnt_kenmerk_key AND jbw_k.cnt_kenmerk_verwijder IS NULL LEFT JOIN cnt_kenmerkcontract aantal_pchv ON x.cnt_contract_key = aantal_pchv.cnt_contract_key AND aantal_pchv.cnt_kenmerkcontract_verwijder IS NULL AND aantal_pchv.cnt_kenmerk_key = 415 -- Aantal LEFT JOIN cnt_kenmerkcontract bedrag_pchv ON x.cnt_contract_key = bedrag_pchv.cnt_contract_key AND bedrag_pchv.cnt_kenmerkcontract_verwijder IS NULL AND bedrag_pchv.cnt_kenmerk_key = 416 -- Bedrag LEFT JOIN cnt_kenmerkcontract aantal_pcmd ON x.cnt_contract_key = aantal_pcmd.cnt_contract_key AND aantal_pcmd.cnt_kenmerkcontract_verwijder IS NULL AND aantal_pcmd.cnt_kenmerk_key = 417 -- Aantal LEFT JOIN cnt_kenmerkcontract bedrag_pcmd ON x.cnt_contract_key = bedrag_pcmd.cnt_contract_key AND bedrag_pcmd.cnt_kenmerkcontract_verwijder IS NULL AND bedrag_pcmd.cnt_kenmerk_key = 418 -- Bedrag LEFT JOIN cnt_kenmerkcontract aantal_deeln ON x.cnt_contract_key = aantal_deeln.cnt_contract_key AND aantal_deeln.cnt_kenmerkcontract_verwijder IS NULL AND aantal_deeln.cnt_kenmerk_key = 419 -- Aantal LEFT JOIN cnt_kenmerkcontract bedrag_deeln ON x.cnt_contract_key = bedrag_deeln.cnt_contract_key AND bedrag_deeln.cnt_kenmerkcontract_verwijder IS NULL AND bedrag_deeln.cnt_kenmerk_key = 420 -- Bedrag LEFT JOIN cnt_kenmerkcontract sd ON x.cnt_contract_key = sd.cnt_contract_key AND sd.cnt_kenmerkcontract_verwijder IS NULL AND sd.cnt_kenmerk_key = 421 -- Soort deelnemer/Deelnemers CMD LEFT JOIN fac_v_aanwezigusrdata sd_ud ON fac.safe_to_number (sd.cnt_kenmerkcontract_waarde) = sd_ud.fac_usrdata_key; */ -- TODO:Inbouwen Nog iets met gaf/start_fact??? -- WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 -- WHERE fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') <= fac.safe_to_date (x.maand || '01', 'yyyymmdd') -- WHERE verv_toeslag_ud.fac_usrdata_prijs > 1 CREATE OR REPLACE VIEW BSSC_V_RAP_CNT_KOSTEN_PM AS SELECT TO_CHAR (maand, 'yyyy-mm') maand, cnt_contract_nummer_intern || '.' || COALESCE (TO_CHAR (cnt_contract_versie), '0') contract, ins_discipline_omschrijving contractsoort, cnt_contract_omschrijving beschrijving, debiteurnaam contractpartij, ingangsdatum, rappeldatum, opzegdatum, einddatum, cnt_contract_kosten contractbedrag, contract_m2 m2_contract, vvo_toeslag, COALESCE (vvo_toeslagperc, 0) * contract_m2 m2_toeslag, (COALESCE (vvo_toeslagperc, 0) + 1) * contract_m2 m2_contract_incl_toeslag, oh onbelaste_huurder, verv_toeslag, (mndbez / mndbes) * huur huur_chv, (mndbez / mndbes) * ict ict_chv, (mndbez / mndbes) * fac fac_kosten_chv, (mndbez / mndbes) * serv servicekosten_chv, (mndbez / mndbes) * sch schoonmaak_chv, (mndbez / mndbes) * kof koffieautomaten_chv, (mndbez / mndbes) * duty duty_manager_chv, (mndbez / mndbes) * opsl opslagruimte_chv, (mndbez / mndbes) * pchv_maand parkeren_chv, (mndbez / mndbes) * pcmd_maand parkeren_cmd, (mndbez / mndbes) * dcmd_maand deelnemers_cmd, (mndbez / mndbes) * COALESCE (huur, pchv_maand, 0) * COALESCE (verv_toeslagperc, 0) vervangende_toeslag, (mndbez / mndbes) * (COALESCE (totaal, 0) + (COALESCE (huur, pchv_maand, 0) * COALESCE (verv_toeslagperc, 0))) totaal -- Inclusief vervangende toeslag FROM bssc_v_cnt_kosten_pm WHERE COALESCE (fac.safe_to_date (start_fact, 'dd-mm-yyyy'), fac.safe_to_date ('01-01-2023', 'dd-mm-yyyy')) <= maand -- BSSC#83262 ; CREATE OR REPLACE VIEW BSSC_V_RAP_AFD_VS_REL AS SELECT a.prs_afdeling_omschrijving afd_naam, a.prs_afdeling_aanmaak afd_aanmaak, b.prs_bedrijf_naam rel_naam, b.prs_bedrijf_contract contractant, b.prs_bedrijf_uitvoerende uitvoerende, b.prs_bedrijf_huurder huurder, b.prs_bedrijf_aanmaak rel_aanmaak FROM prs_afdeling a, prs_bedrijf b WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_bedrijf_key = 2442 -- Huurders Smart Services Campus AND UPPER (TRIM (a.prs_afdeling_omschrijving)) = TRIM (b.prs_bedrijf_naam_upper) AND b.prs_bedrijf_intern IS NULL UNION ALL SELECT a.prs_afdeling_omschrijving afd_naam, a.prs_afdeling_aanmaak afd_aanmaak, NULL rel_naam, NULL contractant, NULL uitvoerende, NULL huurder, NULL rel_aanmaak FROM prs_afdeling a WHERE a.prs_afdeling_verwijder IS NULL AND a.prs_bedrijf_key = 2442 -- Huurders Smart Services Campus AND NOT EXISTS (SELECT 1 FROM prs_bedrijf WHERE prs_bedrijf_intern IS NULL AND TRIM (prs_bedrijf_naam_upper) = UPPER (TRIM (a.prs_afdeling_omschrijving))) UNION ALL SELECT NULL afd_naam, NULL afd_aanmaak, b.prs_bedrijf_naam rel_naam, b.prs_bedrijf_contract contractant, b.prs_bedrijf_uitvoerende uitvoerende, b.prs_bedrijf_huurder huurder, b.prs_bedrijf_aanmaak rel_aanmaak FROM prs_bedrijf b WHERE b.prs_bedrijf_intern IS NULL AND NOT EXISTS (SELECT 1 FROM prs_afdeling WHERE prs_afdeling_verwijder IS NULL AND prs_bedrijf_key = 2442 -- Huurders Smart Services Campus AND UPPER (TRIM (prs_afdeling_omschrijving)) = TRIM (b.prs_bedrijf_naam_upper)); ------ 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