5320 lines
321 KiB
MySQL
5320 lines
321 KiB
MySQL
--
|
||
-- $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;
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SPOOL &fcltlogfile
|
||
SET DEFINE OFF
|
||
|
||
------ payload begin ------
|
||
|
||
CREATE OR REPLACE 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 prs_bedrijf_key, prs_bedrijf_naam || ' [' || prs_overeenkomst_nr || ']', prs_bedrijf_verwijder
|
||
FROM prs_bedrijf
|
||
WHERE prs_bedrijf_intern IS NULL;
|
||
|
||
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
|
||
)
|
||
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
|
||
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
|
||
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;
|
||
|
||
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
|
||
)
|
||
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_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,
|
||
kw.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
|
||
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_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
|
||
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
|
||
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) x
|
||
LEFT JOIN
|
||
res_v_aanwezigkenmerkwaarde kw
|
||
ON x.res_rsv_ruimte_key = kw.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 = kw.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#55692: Facturatie verhuur (M2 en meer)!
|
||
-- V Huur niet op basis van Tarieftabel, maar kenmerk 861=Huurprijs (per jaar)
|
||
-- V Geen automatische facturatie op basis van kenmerk 862=Checkbox
|
||
-- V Kenmerk 870=Start facturatie huur
|
||
-- V Kenmerk 901=Duty manager
|
||
-- V Kenmerk 902=Koffieautomaten
|
||
-- V Kenmerk 641=Onbelaste huurder???
|
||
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')), '202104') maand -- TODO
|
||
FROM fin_verkoopfactuur)
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id, -- Huur!
|
||
'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO
|
||
'0000' || 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, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
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 (verv_toeslag.fac_usrdata_key, 1001, 'H', '0')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (verv_toeslag.fac_usrdata_key, 1001, 'Hoog', 'Nul')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (verv_toeslag.fac_usrdata_key, 1001, 21, 0)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
rxo.alg_ruimte_opp_alt1 aantal, -- VVO
|
||
fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) tarief, -- Jaartarief per m2
|
||
vvo_toeslag.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagperc.
|
||
verv_toeslag.fac_usrdata_prijs verv_toeslag, -- Vervangend toeslagperc.
|
||
fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde) korting_pm2, -- Korting per m2 Huur
|
||
pa.alg_onroerendgoed_type,
|
||
pa.alg_onroerendgoed_keys,
|
||
pa.alg_plaatsaanduiding,
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
COALESCE (rxo.alg_ruimte_opp_alt1, 0) *
|
||
COALESCE (verv_toeslag.fac_usrdata_prijs, 0) *
|
||
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
|
||
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
|
||
1/12, 2)
|
||
mndnet, -- Netto maandbedrag
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
COALESCE (rxo.alg_ruimte_opp_alt1, 0) *
|
||
COALESCE (verv_toeslag.fac_usrdata_prijs, 0) *
|
||
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
|
||
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (verv_toeslag.fac_usrdata_key, 1001, 0.21, 0)) *
|
||
1/12, 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
DECODE (verv_toeslag.fac_usrdata_key, 1001, '8600', '8110') grtboekrek,
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
c.maand
|
||
FROM (SELECT lp.maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
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
|
||
UNION ALL -- Soms 2 maanden factureren (of 1 maand achteraf?)!
|
||
SELECT TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Na begin voorgaande maand aangemaakt!
|
||
AND TRUNC (c.cnt_contract_looptijd_van) BETWEEN ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) AND TO_DATE (lp.maand || '01', 'yyyymmdd') -- Van-datum in voorgaande maand!
|
||
AND NOT EXISTS -- Voorgaande maand nog niet gefactureerd!
|
||
(SELECT 1
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_maand = TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') -- Voorgaande maand!
|
||
AND fin_verkoopfactuur_xmlnode = 'contract'
|
||
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)) c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
|
||
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_kc
|
||
ON x.cnt_contract_key = vvo_toeslag_kc.cnt_contract_key
|
||
AND vvo_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vvo_toeslag_kc.cnt_kenmerk_key = 402 -- VVO toeslagperc.
|
||
LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag
|
||
ON fac.safe_to_number (vvo_toeslag_kc.cnt_kenmerkcontract_waarde) = vvo_toeslag.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract verv_toeslag_kc
|
||
ON x.cnt_contract_key = verv_toeslag_kc.cnt_contract_key
|
||
AND verv_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND verv_toeslag_kc.cnt_kenmerk_key = 642 -- Vervangend toeslagperc.
|
||
LEFT JOIN fac_v_aanwezigusrdata verv_toeslag
|
||
ON fac.safe_to_number (verv_toeslag_kc.cnt_kenmerkcontract_waarde) = verv_toeslag.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract korting_pm2
|
||
ON x.cnt_contract_key = korting_pm2.cnt_contract_key
|
||
AND korting_pm2.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND korting_pm2.cnt_kenmerk_key = 404 -- Korting per m2
|
||
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
|
||
WHERE fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TRUNC (SYSDATE, 'mm')
|
||
UNION ALL -- M2 correctie!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id, -- Huur!
|
||
'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO
|
||
'0000' || 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, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
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 (verv_toeslag.fac_usrdata_key, 1001, 'H', '0')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (verv_toeslag.fac_usrdata_key, 1001, 'Hoog', 'Nul')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (verv_toeslag.fac_usrdata_key, 1001, 21, 0)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde) aantal, -- VVO-correctie
|
||
fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) tarief, -- Jaartarief per m2
|
||
vvo_toeslag.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagperc.
|
||
verv_toeslag.fac_usrdata_prijs verv_toeslag, -- Vervangend toeslagperc.
|
||
fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde) korting_pm2, -- Korting per m2 Huur
|
||
'C' alg_onroerendgoed_type,
|
||
-1 alg_onroerendgoed_keys,
|
||
'Correctie' alg_plaatsaanduiding,
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
COALESCE (fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde), 0) *
|
||
COALESCE (verv_toeslag.fac_usrdata_prijs, 0) *
|
||
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
|
||
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
|
||
1/12, 2)
|
||
mndnet, -- Netto maandbedrag
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
COALESCE (fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde), 0) *
|
||
COALESCE (verv_toeslag.fac_usrdata_prijs, 0) *
|
||
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
|
||
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (verv_toeslag.fac_usrdata_key, 1001, 0.21, 0)) *
|
||
1/12, 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
DECODE (verv_toeslag.fac_usrdata_key, 1001, '8600', '8110') grtboekrek,
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
c.maand
|
||
FROM (SELECT lp.maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
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
|
||
UNION ALL -- Soms 2 maanden factureren (of 1 maand achteraf?)!
|
||
SELECT TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Na begin voorgaande maand aangemaakt!
|
||
AND TRUNC (c.cnt_contract_looptijd_van) BETWEEN ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) AND TO_DATE (lp.maand || '01', 'yyyymmdd') -- Van-datum in voorgaande maand!
|
||
AND NOT EXISTS -- Voorgaande maand nog niet gefactureerd!
|
||
(SELECT 1
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_maand = TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') -- Voorgaande maand!
|
||
AND fin_verkoopfactuur_xmlnode = 'contract'
|
||
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)) c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
|
||
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_kc
|
||
ON x.cnt_contract_key = vvo_toeslag_kc.cnt_contract_key
|
||
AND vvo_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vvo_toeslag_kc.cnt_kenmerk_key = 402 -- VVO toeslagperc.
|
||
LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag
|
||
ON fac.safe_to_number (vvo_toeslag_kc.cnt_kenmerkcontract_waarde) = vvo_toeslag.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract verv_toeslag_kc
|
||
ON x.cnt_contract_key = verv_toeslag_kc.cnt_contract_key
|
||
AND verv_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND verv_toeslag_kc.cnt_kenmerk_key = 642 -- Vervangend toeslagperc.
|
||
LEFT JOIN fac_v_aanwezigusrdata verv_toeslag
|
||
ON fac.safe_to_number (verv_toeslag_kc.cnt_kenmerkcontract_waarde) = verv_toeslag.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract korting_pm2
|
||
ON x.cnt_contract_key = korting_pm2.cnt_contract_key
|
||
AND korting_pm2.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND korting_pm2.cnt_kenmerk_key = 404 -- Korting per m2
|
||
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
|
||
WHERE fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TRUNC (SYSDATE, 'mm')
|
||
AND correctie_m2.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
UNION ALL -- Bedrag per Kosten-listbox gezet!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO
|
||
SUBSTR ('0' || TO_CHAR (x.cnt_kenmerk_key), -4) || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities!
|
||
'CHV - ' || TRIM (SUBSTR (tar.fac_usrdata_omschr, 1, INSTR (tar.fac_usrdata_omschr, ' ') - 1)) regel, -- ICT/Facilitair/Service/Schoonmaak
|
||
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, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
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
|
||
rxo.alg_ruimte_opp_alt1 aantal, -- VVO
|
||
tar.fac_usrdata_prijs tarief, -- Jaartarief per m2
|
||
DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) vvo_toeslag, -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak)
|
||
1 verv_toeslag, -- Vervangend toeslagperc.
|
||
fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde) korting_pm2, -- Korting per m2 ICT/Facilitair/Service/Schoonmaak
|
||
pa.alg_onroerendgoed_type,
|
||
pa.alg_onroerendgoed_keys,
|
||
pa.alg_plaatsaanduiding,
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
COALESCE (rxo.alg_ruimte_opp_alt1, 0) *
|
||
DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) * -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak)
|
||
DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
|
||
1/12, 2)
|
||
mndnet, -- Netto maandbedrag
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
COALESCE (rxo.alg_ruimte_opp_alt1, 0) *
|
||
DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) * -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak)
|
||
DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) *
|
||
1/12, 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)) grtboekrek,
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_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,
|
||
c.maand,
|
||
k.cnt_kenmerk_key,
|
||
ud.fac_usrdata_code
|
||
FROM (SELECT lp.maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
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
|
||
UNION ALL -- Soms 2 maanden factureren (of 1 maand achteraf?)!
|
||
SELECT TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Na begin voorgaande maand aangemaakt!
|
||
AND TRUNC (c.cnt_contract_looptijd_van) BETWEEN ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) AND TO_DATE (lp.maand || '01', 'yyyymmdd') -- Van-datum in voorgaande maand!
|
||
AND NOT EXISTS -- Voorgaande maand nog niet gefactureerd!
|
||
(SELECT 1
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_maand = TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') -- Voorgaande maand!
|
||
AND fin_verkoopfactuur_xmlnode = 'contract'
|
||
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)) c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
cnt_kenmerkcontract kc,
|
||
cnt_kenmerk k,
|
||
fac_usrdata ud
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND c.cnt_contract_key = kc.cnt_contract_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_kenmerk_verwijder IS NULL
|
||
AND k.cnt_kenmerk_key IN (643, 645, 647, 649) -- ICT/Facilitair/Service/Schoonmaak
|
||
AND fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) = ud.fac_usrdata_key
|
||
AND ud.fac_usrdata_key NOT IN (981, 984, 987, 990)) x -- Nvt.
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
|
||
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 tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 401 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON fac.safe_to_number (tt_kc.cnt_kenmerkcontract_waarde) = tt_ud.fac_usrdata_key
|
||
LEFT JOIN fac_v_aanwezigusrdata tar
|
||
ON fac.safe_to_number (tt_ud.fac_usrdata_code) = tar.fac_usrtab_key
|
||
AND UPPER (SUBSTR (tar.fac_usrdata_code, INSTR (tar.fac_usrdata_code, '/') + 1)) = UPPER (x.fac_usrdata_code)
|
||
LEFT JOIN cnt_kenmerkcontract vvo_toeslag_kc
|
||
ON x.cnt_contract_key = vvo_toeslag_kc.cnt_contract_key
|
||
AND vvo_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vvo_toeslag_kc.cnt_kenmerk_key = 402 -- VVO toeslagperc.
|
||
LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag
|
||
ON fac.safe_to_number (vvo_toeslag_kc.cnt_kenmerkcontract_waarde) = vvo_toeslag.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract korting_pm2
|
||
ON x.cnt_contract_key = korting_pm2.cnt_contract_key
|
||
AND x.cnt_kenmerk_key + 1 = korting_pm2.cnt_kenmerk_key
|
||
AND korting_pm2.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND korting_pm2.cnt_kenmerk_key IN (644, 646, 648, 650) -- Korting per m2 (ICT/Facilitair/Service/Schoonmaak)
|
||
UNION ALL -- M2 correctie per Kosten-listbox gezet!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO
|
||
SUBSTR ('0' || TO_CHAR (x.cnt_kenmerk_key), -4) || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities!
|
||
'CHV - ' || TRIM (SUBSTR (tar.fac_usrdata_omschr, 1, INSTR (tar.fac_usrdata_omschr, ' ') - 1)) regel, -- ICT/Facilitair/Service/Schoonmaak
|
||
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, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
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 (correctie_m2.cnt_kenmerkcontract_waarde) aantal, -- VVO-correctie
|
||
tar.fac_usrdata_prijs tarief, -- Jaartarief per m2
|
||
DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) vvo_toeslag, -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak)
|
||
1 verv_toeslag, -- Vervangend toeslagperc.
|
||
fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde) korting_pm2, -- Korting per m2 ICT/Facilitair/Service/Schoonmaak
|
||
'C' alg_onroerendgoed_type,
|
||
-1 alg_onroerendgoed_keys,
|
||
'Correctie' alg_plaatsaanduiding,
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
COALESCE (fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde), 0) *
|
||
DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) * -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak)
|
||
DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
|
||
1/12, 2)
|
||
mndnet, -- Netto maandbedrag
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
COALESCE (fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde), 0) *
|
||
DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) * -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak)
|
||
DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) *
|
||
1/12, 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)) grtboekrek,
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_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,
|
||
c.maand,
|
||
k.cnt_kenmerk_key,
|
||
ud.fac_usrdata_code
|
||
FROM (SELECT lp.maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
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
|
||
UNION ALL -- Soms 2 maanden factureren (of 1 maand achteraf?)!
|
||
SELECT TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Na begin voorgaande maand aangemaakt!
|
||
AND TRUNC (c.cnt_contract_looptijd_van) BETWEEN ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) AND TO_DATE (lp.maand || '01', 'yyyymmdd') -- Van-datum in voorgaande maand!
|
||
AND NOT EXISTS -- Voorgaande maand nog niet gefactureerd!
|
||
(SELECT 1
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_maand = TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') -- Voorgaande maand!
|
||
AND fin_verkoopfactuur_xmlnode = 'contract'
|
||
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)) c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
cnt_kenmerkcontract kc,
|
||
cnt_kenmerk k,
|
||
fac_usrdata ud
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND c.cnt_contract_key = kc.cnt_contract_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_kenmerk_verwijder IS NULL
|
||
AND k.cnt_kenmerk_key IN (643, 645, 647, 649) -- ICT/Facilitair/Service/Schoonmaak
|
||
AND fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) = ud.fac_usrdata_key
|
||
AND ud.fac_usrdata_key NOT IN (981, 984, 987, 990)) x -- Nvt.
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
|
||
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 tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 401 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON fac.safe_to_number (tt_kc.cnt_kenmerkcontract_waarde) = tt_ud.fac_usrdata_key
|
||
LEFT JOIN fac_v_aanwezigusrdata tar
|
||
ON fac.safe_to_number (tt_ud.fac_usrdata_code) = tar.fac_usrtab_key
|
||
AND UPPER (SUBSTR (tar.fac_usrdata_code, INSTR (tar.fac_usrdata_code, '/') + 1)) = UPPER (x.fac_usrdata_code)
|
||
LEFT JOIN cnt_kenmerkcontract vvo_toeslag_kc
|
||
ON x.cnt_contract_key = vvo_toeslag_kc.cnt_contract_key
|
||
AND vvo_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vvo_toeslag_kc.cnt_kenmerk_key = 402 -- VVO toeslagperc.
|
||
LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag
|
||
ON fac.safe_to_number (vvo_toeslag_kc.cnt_kenmerkcontract_waarde) = vvo_toeslag.fac_usrdata_key
|
||
LEFT JOIN cnt_kenmerkcontract korting_pm2
|
||
ON x.cnt_contract_key = korting_pm2.cnt_contract_key
|
||
AND x.cnt_kenmerk_key + 1 = korting_pm2.cnt_kenmerk_key
|
||
AND korting_pm2.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND korting_pm2.cnt_kenmerk_key IN (644, 646, 648, 650) -- Korting per m2 (ICT/Facilitair/Service/Schoonmaak)
|
||
WHERE correctie_m2.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
UNION ALL -- Bedragen voor Duty manager (uren) en Koffieautomaten (aantal)!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO
|
||
SUBSTR ('0' || TO_CHAR (x.cnt_kenmerk_key), -4) || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities!
|
||
'CHV - ' || TRIM (SUBSTR (tar.fac_usrdata_omschr, 1, INSTR (tar.fac_usrdata_omschr, ' ') - 1)) regel, -- ICT/Facilitair/Service/Schoonmaak
|
||
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, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
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
|
||
x.aantal, -- Uren Duty Manager/Aantal Koffieautomaten
|
||
tar.fac_usrdata_prijs tarief, -- Jaartarief per m2
|
||
1 vvo_toeslag, -- Nvt.
|
||
1 verv_toeslag, -- Vervangend toeslagperc.
|
||
0 korting_pm2, -- Korting op tarief (per eenheid)
|
||
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)) *
|
||
COALESCE (x.aantal, 0) *
|
||
COALESCE (tar.fac_usrdata_prijs, 0) *
|
||
1/12, 2)
|
||
mndnet, -- Netto maandbedrag
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
COALESCE (x.aantal, 0) *
|
||
COALESCE (tar.fac_usrdata_prijs, 0) *
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) *
|
||
1/12, 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)) grtboekrek,
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_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,
|
||
c.maand,
|
||
k.cnt_kenmerk_key, -- 901=Uren Duty Manager/902=Aantal Koffieautomaten
|
||
fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) aantal
|
||
FROM (SELECT lp.maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
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
|
||
UNION ALL -- Soms 2 maanden factureren (of 1 maand achteraf?)!
|
||
SELECT TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Na begin voorgaande maand aangemaakt!
|
||
AND TRUNC (c.cnt_contract_looptijd_van) BETWEEN ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) AND TO_DATE (lp.maand || '01', 'yyyymmdd') -- Van-datum in voorgaande maand!
|
||
AND NOT EXISTS -- Voorgaande maand nog niet gefactureerd!
|
||
(SELECT 1
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_maand = TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') -- Voorgaande maand!
|
||
AND fin_verkoopfactuur_xmlnode = 'contract'
|
||
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)) c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
cnt_kenmerkcontract kc,
|
||
cnt_kenmerk k
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND c.cnt_contract_key = kc.cnt_contract_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_kenmerk_verwijder IS NULL
|
||
AND k.cnt_kenmerk_key IN (901, 902)) x -- Duty manager/Koffieautomaten
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 401 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON fac.safe_to_number (tt_kc.cnt_kenmerkcontract_waarde) = tt_ud.fac_usrdata_key
|
||
LEFT JOIN fac_v_aanwezigusrdata tar
|
||
ON fac.safe_to_number (tt_ud.fac_usrdata_code) = tar.fac_usrtab_key
|
||
AND DECODE (UPPER (SUBSTR (tar.fac_usrdata_code, INSTR (tar.fac_usrdata_code, '/') + 1)), 'DUTY MANAGER', 901, 'KOFFIEAUTOMATEN', 902, -1) = x.cnt_kenmerk_key
|
||
UNION ALL -- Absolute correctie!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO
|
||
'0000' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities!
|
||
--'CHV - ' || x.cnt_srtkenmerk_omschrijving regel,
|
||
'CHV - Huur' regel, -- Absolute correctie verrekenen in 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, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
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 (verv_toeslag.fac_usrdata_key, 1001, 'H', '0')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (verv_toeslag.fac_usrdata_key, 1001, 'Hoog', 'Nul')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (verv_toeslag.fac_usrdata_key, 1001, 21, 0)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
1 aantal, -- Don't care
|
||
-1 * fac.safe_to_number (x.cnt_kenmerkcontract_waarde) tarief, -- Jaartarief per m2
|
||
1 vvo_toeslag, -- VVO toeslagperc.
|
||
1 verv_toeslag, -- Vervangend toeslagperc.
|
||
0 korting_pm2, -- Korting per m2
|
||
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 (x.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 (x.cnt_kenmerkcontract_waarde) *
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (verv_toeslag.fac_usrdata_key, 1001, 0.21, 0)) *
|
||
1/12, 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
DECODE (verv_toeslag.fac_usrdata_key, 1001, SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1), '8110') grtboekrek,
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
c.maand,
|
||
sk.cnt_srtkenmerk_omschrijving,
|
||
kc.cnt_kenmerkcontract_waarde
|
||
FROM (SELECT lp.maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
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
|
||
UNION ALL -- Soms 2 maanden factureren (of 1 maand achteraf?)!
|
||
SELECT TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2001 -- Huur CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Na begin voorgaande maand aangemaakt!
|
||
AND TRUNC (c.cnt_contract_looptijd_van) BETWEEN ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) AND TO_DATE (lp.maand || '01', 'yyyymmdd') -- Van-datum in voorgaande maand!
|
||
AND NOT EXISTS -- Voorgaande maand nog niet gefactureerd!
|
||
(SELECT 1
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_maand = TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') -- Voorgaande maand!
|
||
AND fin_verkoopfactuur_xmlnode = 'contract'
|
||
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)) c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
cnt_kenmerkcontract kc,
|
||
cnt_kenmerk k,
|
||
cnt_srtkenmerk sk
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND c.cnt_contract_key = kc.cnt_contract_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_kenmerk_verwijder IS NULL
|
||
AND k.cnt_kenmerk_key = 405 -- Absolute correctie!
|
||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key) x
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 401 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON fac.safe_to_number (tt_kc.cnt_kenmerkcontract_waarde) = tt_ud.fac_usrdata_key
|
||
LEFT JOIN fac_v_aanwezigusrdata tar
|
||
ON fac.safe_to_number (tt_ud.fac_usrdata_code) = tar.fac_usrtab_key
|
||
AND SUBSTR (tar.fac_usrdata_code, INSTR (tar.fac_usrdata_code, '/') + 1, 4) = 'Huur' -- Huur-tarief
|
||
LEFT JOIN cnt_kenmerkcontract verv_toeslag_kc
|
||
ON x.cnt_contract_key = verv_toeslag_kc.cnt_contract_key
|
||
AND verv_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND verv_toeslag_kc.cnt_kenmerk_key = 642 -- Vervangend toeslagperc.
|
||
LEFT JOIN fac_v_aanwezigusrdata verv_toeslag
|
||
ON fac.safe_to_number (verv_toeslag_kc.cnt_kenmerkcontract_waarde) = verv_toeslag.fac_usrdata_key
|
||
WHERE COALESCE (fac.safe_to_number (x.cnt_kenmerkcontract_waarde), 0) != 0
|
||
UNION ALL -- Parkeren CHV/Parkeren CMD!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
DECODE (x.ins_discipline_key, 2004, 'CMD', 'CHV') || TRIM (x.cnt_contract_nummer) po_nr, -- PO
|
||
'9999' || 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/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, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
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) tarief,
|
||
1 vvo_toeslag, -- VVO toeslagperc.
|
||
1 verv_toeslag, -- Vervangend toeslagperc.
|
||
0 korting_pm2, -- Korting per m2
|
||
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,
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_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,
|
||
c.maand
|
||
FROM (SELECT lp.maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key IN (2003, 2004) -- Parkeren CHV/Parkeren CMD
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
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
|
||
UNION ALL -- Soms 2 maanden factureren (of 1 maand achteraf?)!
|
||
SELECT TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key IN (2003, 2004) -- Parkeren CHV/Parkeren CMD
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Na begin voorgaande maand aangemaakt!
|
||
AND TRUNC (c.cnt_contract_looptijd_van) BETWEEN ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) AND TO_DATE (lp.maand || '01', 'yyyymmdd') -- Van-datum in voorgaande maand!
|
||
AND NOT EXISTS -- Voorgaande maand nog niet gefactureerd!
|
||
(SELECT 1
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_maand = TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') -- Voorgaande maand!
|
||
AND fin_verkoopfactuur_xmlnode = 'contract'
|
||
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)) c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
|
||
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
|
||
LEFT JOIN cnt_kenmerkcontract aantal
|
||
ON x.cnt_contract_key = aantal.cnt_contract_key
|
||
AND aantal.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND aantal.cnt_kenmerk_key IN (415, 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 IN (416, 418) -- Bedrag
|
||
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 = 862 -- Geen automatische facturatie
|
||
WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0
|
||
UNION ALL -- Deelnemers CMD!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'CMD' || TRIM (x.cnt_contract_nummer) po_nr, -- PO
|
||
'9999' || 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, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
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) tarief,
|
||
1 vvo_toeslag, -- VVO toeslagperc.
|
||
1 verv_toeslag, -- Vervangend toeslagperc.
|
||
0 korting_pm2, -- Korting per m2
|
||
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
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_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,
|
||
c.maand
|
||
FROM (SELECT lp.maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2005 -- Deelnemers CMD
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
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
|
||
UNION ALL -- Soms 2 maanden factureren (of 1 maand achteraf?)!
|
||
SELECT TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') maand, c.*
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 2005 -- Deelnemers CMD
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Na begin voorgaande maand aangemaakt!
|
||
AND TRUNC (c.cnt_contract_looptijd_van) BETWEEN ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) AND TO_DATE (lp.maand || '01', 'yyyymmdd') -- Van-datum in voorgaande maand!
|
||
AND NOT EXISTS -- Voorgaande maand nog niet gefactureerd!
|
||
(SELECT 1
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_maand = TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') -- Voorgaande maand!
|
||
AND fin_verkoopfactuur_xmlnode = 'contract'
|
||
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)) c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
|
||
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
|
||
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_kc
|
||
ON x.cnt_contract_key = sd_kc.cnt_contract_key
|
||
AND sd_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND sd_kc.cnt_kenmerk_key = 421 -- Soort deelnemer
|
||
LEFT JOIN fac_v_aanwezigusrdata sd_ud
|
||
ON fac.safe_to_number (sd_kc.cnt_kenmerkcontract_waarde) = sd_ud.fac_usrdata_key
|
||
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 = 862 -- Geen automatische facturatie
|
||
WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0
|
||
;
|
||
/*
|
||
UNION ALL -- Borg CHV (eenmalig factureren, liefst op eerste factuur)!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO
|
||
--'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
'9999' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities!
|
||
'CHV - ' || COALESCE (ks.prs_kostensoort_refcode, ks.prs_kostensoort_opmerking) regel, -- Borg CHV
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv,
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
--(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
-- FROM prs_contactpersoon
|
||
-- WHERE prs_contactpersoon_verwijder IS NULL
|
||
-- AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
-- AND prs_bedrijf_key = x.prs_bedrijf_key)
|
||
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) tarief,
|
||
1 vvo_toeslag, -- VVO toeslagperc.
|
||
1 verv_toeslag, -- Vervangend toeslagperc.
|
||
0 korting_pm2, -- Korting per m2
|
||
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, x.btw) *
|
||
1/12, 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
TRIM (ks.prs_kostensoort_oms) grtboekrek,
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
--c.cnt_contract_korting,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_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,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.ins_discipline_key = 2002 -- Borg CHV
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Voorgaande maand aangemaakt!
|
||
AND TRUNC (c.cnt_contract_looptijd_van) >= ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Van-datum in voorgaande maand!
|
||
AND NOT EXISTS -- Borg-contract niet eerder gefactureerd!
|
||
(SELECT 1
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_xmlnode = 'contract'
|
||
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
|
||
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
|
||
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 = 413 -- 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 = 414 -- Bedrag
|
||
*/
|
||
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, -- !!!
|
||
c.cnt_contract_nummer_intern || '/' || COALESCE (c.cnt_contract_versie, '0') refid, -- Niet historisch bewaard!
|
||
c.cnt_contract_looptijd_tot lv, -- Niet historisch bewaard!
|
||
vf.prs_bedrijf_key, vf.prs_debiteur_naam,
|
||
SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr,
|
||
SUBSTR (vf.fin_verkoopfactuur_c7, INSTR (vf.fin_verkoopfactuur_c7, '=') + 1) btw_nr,
|
||
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_c1) aantal,
|
||
fac.safe_to_number (vf.fin_verkoopfactuur_c2) tarief,
|
||
fac.safe_to_number (vf.fin_verkoopfactuur_c3) vvo_toeslag,
|
||
fac.safe_to_number (vf.fin_verkoopfactuur_c4) verv_toeslag,
|
||
fac.safe_to_number (vf.fin_verkoopfactuur_c5) korting_pm2,
|
||
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 VIEW bssc_v_rap_export_fact_chv
|
||
(
|
||
hide_f_sortering,
|
||
fclt_x_maand,
|
||
code,
|
||
valuta,
|
||
factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
)
|
||
AS
|
||
SELECT ROWNUM,
|
||
REPLACE (periode, '/', '-') periode,
|
||
code,
|
||
valuta,
|
||
--factuurdatum,
|
||
REPLACE (factuurdatum, '-', '/') factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
--vervaldatum,
|
||
REPLACE (vervaldatum, '-', '/') vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
FROM ( SELECT v.fin_verkoopfactuur_id || '0000' sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'1300' grtboekrek, -- TODO:Hard op '1300'
|
||
v.debiteur_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet + v.mndbtw) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen!
|
||
'debit' debitcredit,
|
||
'Total' omschrijving, -- Hard op 'Total'
|
||
NULL btwcode -- Hard op NULL
|
||
FROM bssc_v_fact_frozen v
|
||
WHERE v.po_nr = 'CHV'
|
||
AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY v.fin_verkoopfactuur_id || '0000',
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
'1300',
|
||
v.debiteur_nr,
|
||
NULL,
|
||
'debit',
|
||
'Total',
|
||
NULL
|
||
UNION ALL
|
||
SELECT v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???') sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
v.grtboekrek,
|
||
kp.prs_kostenplaats_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)???
|
||
v.regel omschrijving,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN') btwcode
|
||
FROM bssc_v_fact_frozen v, cnt_contract c, prs_kostenplaats kp
|
||
WHERE v.po_nr = 'CHV'
|
||
AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
AND v.refkey = c.cnt_contract_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
GROUP BY v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???'),
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
v.grtboekrek,
|
||
kp.prs_kostenplaats_nr,
|
||
NULL,
|
||
'credit',
|
||
v.regel,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN')
|
||
ORDER BY 1);
|
||
|
||
CREATE OR REPLACE VIEW bssc_v_export_fact_chv
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS -- View bevat alleen inhoud op de dag na de 1e werkdag van de maand!
|
||
SELECT 'code'
|
||
|| ';valuta'
|
||
|| ';factuurdatum'
|
||
|| ';periode'
|
||
|| ';factuurnummer'
|
||
|| ';vervaldatum'
|
||
|| ';nummer'
|
||
|| ';grtboekrek'
|
||
|| ';rel/kpl'
|
||
|| ';prj/activa'
|
||
|| ';bedrag'
|
||
|| ';debitcredit'
|
||
|| ';omschrijving'
|
||
|| ';btwcode',
|
||
0
|
||
FROM DUAL
|
||
WHERE FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 14 -- TODO:Nacht na 1e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
UNION ALL
|
||
SELECT code
|
||
|| ';'
|
||
|| valuta
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| periode
|
||
|| ';'
|
||
|| factuurnummer
|
||
|| ';'
|
||
|| vervaldatum
|
||
|| ';'
|
||
|| nummer
|
||
|| ';'
|
||
|| grtboekrek
|
||
|| ';'
|
||
|| rel_kpl
|
||
|| ';'
|
||
|| prj_activa
|
||
|| ';'
|
||
|| bedrag
|
||
|| ';'
|
||
|| debitcredit
|
||
|| ';'
|
||
|| omschrijving
|
||
|| ';'
|
||
|| btwcode,
|
||
ROWNUM
|
||
FROM bssc_v_rap_export_fact_chv
|
||
WHERE fclt_x_maand = TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy-mm')
|
||
AND FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 14 -- TODO:Nacht na 1e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
ORDER BY 2;
|
||
|
||
CREATE OR REPLACE VIEW bssc_v_rap_export_fact_cmd
|
||
(
|
||
hide_f_sortering,
|
||
fclt_x_maand,
|
||
code,
|
||
valuta,
|
||
factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
)
|
||
AS
|
||
SELECT ROWNUM,
|
||
REPLACE (periode, '/', '-') periode,
|
||
code,
|
||
valuta,
|
||
--factuurdatum,
|
||
REPLACE (factuurdatum, '-', '/') factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
--vervaldatum,
|
||
REPLACE (vervaldatum, '-', '/') vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
FROM ( SELECT v.fin_verkoopfactuur_id || '0000' sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'1300' grtboekrek, -- TODO:Hard op '1300'
|
||
v.debiteur_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet + v.mndbtw) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen!
|
||
'debit' debitcredit,
|
||
'Total' omschrijving, -- Hard op 'Total'
|
||
NULL btwcode -- Hard op NULL
|
||
FROM bssc_v_fact_frozen v
|
||
WHERE v.po_nr = 'CMD'
|
||
AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY v.fin_verkoopfactuur_id || '0000',
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
'1300',
|
||
v.debiteur_nr,
|
||
NULL,
|
||
'debit',
|
||
'Total',
|
||
NULL
|
||
UNION ALL
|
||
SELECT v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???') sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
v.grtboekrek,
|
||
kp.prs_kostenplaats_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)???
|
||
v.regel omschrijving,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN') btwcode
|
||
FROM bssc_v_fact_frozen v, cnt_contract c, prs_kostenplaats kp
|
||
WHERE v.po_nr = 'CMD'
|
||
AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
AND v.refkey = c.cnt_contract_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
GROUP BY v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???'),
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
v.grtboekrek,
|
||
kp.prs_kostenplaats_nr,
|
||
NULL,
|
||
'credit',
|
||
v.regel,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN')
|
||
ORDER BY 1);
|
||
|
||
CREATE OR REPLACE VIEW bssc_v_export_fact_cmd
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS -- View bevat alleen inhoud op de dag na de 1e werkdag van de maand!
|
||
SELECT 'code'
|
||
|| ';valuta'
|
||
|| ';factuurdatum'
|
||
|| ';periode'
|
||
|| ';factuurnummer'
|
||
|| ';vervaldatum'
|
||
|| ';nummer'
|
||
|| ';grtboekrek'
|
||
|| ';rel/kpl'
|
||
|| ';prj/activa'
|
||
|| ';bedrag'
|
||
|| ';debitcredit'
|
||
|| ';omschrijving'
|
||
|| ';btwcode',
|
||
0
|
||
FROM DUAL
|
||
WHERE FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 14 -- TODO:Nacht na 1e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
UNION ALL
|
||
SELECT code
|
||
|| ';'
|
||
|| valuta
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| periode
|
||
|| ';'
|
||
|| factuurnummer
|
||
|| ';'
|
||
|| vervaldatum
|
||
|| ';'
|
||
|| nummer
|
||
|| ';'
|
||
|| grtboekrek
|
||
|| ';'
|
||
|| rel_kpl
|
||
|| ';'
|
||
|| prj_activa
|
||
|| ';'
|
||
|| bedrag
|
||
|| ';'
|
||
|| debitcredit
|
||
|| ';'
|
||
|| omschrijving
|
||
|| ';'
|
||
|| btwcode,
|
||
ROWNUM
|
||
FROM bssc_v_rap_export_fact_cmd
|
||
WHERE fclt_x_maand = TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy-mm')
|
||
AND FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 14 -- TODO:Nacht na 1e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
ORDER BY 2;
|
||
*/
|
||
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.*, m.mld_melding_status
|
||
FROM bssc_v_fact_actual v, mld_melding m
|
||
WHERE v.mld_melding_key = m.mld_melding_key(+)
|
||
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,
|
||
b.prs_bedrijf_email
|
||
FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b
|
||
WHERE (SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '9' -- CHV
|
||
OR SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1') -- CMD
|
||
AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyymm')
|
||
AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key
|
||
AND vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
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_bedrijf_key NUMBER (10);
|
||
v_old_po_nr VARCHAR2 (50);
|
||
v_year_offset NUMBER (10);
|
||
v_factuur_id VARCHAR2 (30);
|
||
v_factkop_id VARCHAR2 (30);
|
||
v_verkoopfactuurkop_key NUMBER (10);
|
||
v_count NUMBER;
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_holiday
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1);
|
||
|
||
-- LET OP: Twinfield-export van verhuurcontracten (= boekingsgangen) draait
|
||
-- dagelijks na middernacht (begin van dag) en de verkoop wordt maandelijks
|
||
-- alleen in de nacht na 10e werkdag van de maand doorgezet.
|
||
-- IF nacht na 10e werkdag van de maand (<28>n<EFBFBD>geen weekend <20>n<EFBFBD>geen vrije dag)!
|
||
-- count_work_days (d1,d2) bepaalt het #werkdagen van d1 tot d2 (als d1=d2,
|
||
-- dan return 0); daarom bepalen tov. laatste dag van vorige maand!
|
||
IF FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 14 -- Nacht na 1e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND v_holiday = 0
|
||
THEN
|
||
v_fact_count := 0;
|
||
v_amount_sum := 0;
|
||
v_old_bedrijf_key := -1;
|
||
v_old_po_nr := '';
|
||
|
||
-- Factureer/bevries verhuurcontractkosten en verwerk=AV alle eventuele
|
||
-- correctiemeldingen.
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
IF rec.prs_bedrijf_key != v_old_bedrijf_key OR rec.po_nr != v_old_po_nr
|
||
THEN
|
||
IF rec.po_nr LIKE 'CHV%'
|
||
THEN
|
||
-- TODO:Afhankelijk van boekstuknummer-methodiek!
|
||
-- Bepaal max. sequence t/m voorgaande jaar (= aantal entries in
|
||
-- fin_verkoopfactuurkop-tabel).
|
||
SELECT COUNT ( * )
|
||
INTO v_year_offset
|
||
FROM fin_verkoopfactuurkop vfk
|
||
WHERE SUBSTR (vfk.fin_verkoopfactuurkop_id, 5, 1) = '1' -- Boekstuknummers in formaat <yyyy>1!
|
||
AND SUBSTR (vfk.fin_verkoopfactuurkop_id, 1, 4) < TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy');
|
||
|
||
-- Bepaal fin_verkoopfactuur_id=boekstuknr. tbv. BCC-verkoopboek
|
||
-- obv. sequence '01' en begin elk nieuw jaar weer bij 1 door te
|
||
-- corrigeren met de hierboven bepaalde offset.
|
||
SELECT fac_s_user01.NEXTVAL - v_year_offset INTO v_count FROM DUAL;
|
||
|
||
v_factuur_id := TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy') || '9' || SUBSTR ('0000' || TO_CHAR (v_count), -4);
|
||
ELSE -- rec.po_nr LIKE 'CMD%'
|
||
-- TODO:Afhankelijk van boekstuknummer-methodiek!
|
||
-- Bepaal max. sequence t/m voorgaande jaar (= aantal entries in
|
||
-- fin_verkoopfactuurkop-tabel).
|
||
SELECT COUNT ( * )
|
||
INTO v_year_offset
|
||
FROM fin_verkoopfactuurkop vfk
|
||
WHERE SUBSTR (vfk.fin_verkoopfactuurkop_id, 5, 1) = '2' -- Boekstuknummers in formaat <yyyy>2!
|
||
AND SUBSTR (vfk.fin_verkoopfactuurkop_id, 1, 4) < TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy');
|
||
|
||
-- Bepaal fin_verkoopfactuur_id=boekstuknr. tbv. BCC-verkoopboek
|
||
-- obv. sequence '02' en begin elk nieuw jaar weer bij 1 door te
|
||
-- corrigeren met de hierboven bepaalde offset.
|
||
SELECT fac_s_user02.NEXTVAL - v_year_offset INTO v_count FROM DUAL;
|
||
|
||
v_factuur_id := TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy') || '1' || SUBSTR ('0000' || TO_CHAR (v_count), -4);
|
||
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;
|
||
|
||
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,
|
||
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
|
||
TO_CHAR (rec.aantal), -- c1/aantal
|
||
TO_CHAR (rec.tarief), -- c2/tarief
|
||
TO_CHAR (rec.vvo_toeslag), -- c3/vvo_toeslag
|
||
TO_CHAR (rec.verv_toeslag), -- c4/verv_toeslag
|
||
TO_CHAR (rec.korting_pm2), -- c5/korting_pm2
|
||
rec.alg_onroerendgoed_type || rec.alg_onroerendgoed_keys || '=' || rec.alg_plaatsaanduiding, -- c6
|
||
rec.debiteur_nr || '=' || rec.btw_nr, -- 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;
|
||
|
||
IF (rec.mld_melding_key IS NOT NULL) -- Correctiemelding?
|
||
THEN
|
||
v_errormsg := 'Fout verwerken correctiemelding';
|
||
|
||
-- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus
|
||
-- eerst afmelden (als nog niet Afgemeld)!
|
||
IF (rec.mld_melding_status = 4) -- ACP
|
||
THEN
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM
|
||
END IF;
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER
|
||
COMMIT;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (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_datum,
|
||
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',
|
||
'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) + (23 / 24), -- TODO
|
||
'finance.smartservices@brightlands.com',
|
||
'/../../Fplace_A/CUST/BSSC/export/PDF/Backup/' || rec.fin_verkoopfactuurkop_id || '.pdf'); -- TODO
|
||
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*' 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,
|
||
NULL refid, -- TODO: Nvt. op correctiefactuur?
|
||
NULL lv, -- TODO: Nvt. op correctiefactuur?
|
||
--b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur?
|
||
vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur!
|
||
NULL btw_nr,
|
||
--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, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
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 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 = 5 -- Afgemeld
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key IN (861, 861) -- 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 = btwnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND m.mld_melding_key = cb.mld_melding_key
|
||
AND m.mld_melding_key = btw.mld_melding_key
|
||
AND m.mld_melding_key = ro.mld_melding_key
|
||
AND m.mld_melding_key = mkp.mld_melding_key
|
||
AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND m.mld_melding_key = ks.mld_melding_key
|
||
UNION ALL
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
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,
|
||
NULL refid, -- TODO: Nvt. op correctiefactuur?
|
||
NULL lv, -- TODO: Nvt. op correctiefactuur?
|
||
--b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur?
|
||
vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur!
|
||
NULL btw_nr,
|
||
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, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
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 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 = 5 -- Afgemeld
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key IN (861, 861) -- 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 = btwnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND m.mld_melding_key = cb.mld_melding_key
|
||
AND m.mld_melding_key = btw.mld_melding_key
|
||
AND m.mld_melding_key = ro.mld_melding_key
|
||
AND m.mld_melding_key = mkp.mld_melding_key
|
||
AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND m.mld_melding_key = ks.mld_melding_key
|
||
UNION ALL
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
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,
|
||
NULL refid, -- TODO: Nvt. op correctiefactuur?
|
||
NULL lv, -- TODO: Nvt. op correctiefactuur?
|
||
--b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur?
|
||
vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur!
|
||
NULL btw_nr,
|
||
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, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
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 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 = 5 -- Afgemeld
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key IN (861, 861) -- 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 = btwnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND m.mld_melding_key = cb.mld_melding_key
|
||
AND m.mld_melding_key = btw.mld_melding_key
|
||
AND m.mld_melding_key = ro.mld_melding_key
|
||
AND m.mld_melding_key = mkp.mld_melding_key
|
||
AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND m.mld_melding_key = ks.mld_melding_key
|
||
UNION ALL
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
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,
|
||
NULL refid, -- TODO: Nvt. op correctiefactuur?
|
||
NULL lv, -- TODO: Nvt. op correctiefactuur?
|
||
--b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur?
|
||
vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur!
|
||
NULL btw_nr,
|
||
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, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
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 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 = 5 -- Afgemeld
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key IN (861, 861) -- 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 = btwnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND m.mld_melding_key = cb.mld_melding_key
|
||
AND m.mld_melding_key = btw.mld_melding_key
|
||
AND m.mld_melding_key = ro.mld_melding_key
|
||
AND m.mld_melding_key = mkp.mld_melding_key
|
||
AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND m.mld_melding_key = ks.mld_melding_key
|
||
UNION ALL
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
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,
|
||
NULL refid, -- TODO: Nvt. op correctiefactuur?
|
||
NULL lv, -- TODO: Nvt. op correctiefactuur?
|
||
--b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, -- Niet overnemen van te corrigeren factuur?
|
||
vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, -- Overnemen van te corrigeren factuur!
|
||
NULL btw_nr,
|
||
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, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
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 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 = 5 -- Afgemeld
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key IN (861, 861) -- 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 = 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*' 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,
|
||
NULL refid, -- TODO: Nvt. op losverkoopfactuur?
|
||
NULL lv, -- TODO: Nvt. op losverkoopfactuur?
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
NULL btw_nr,
|
||
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, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
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, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD
|
||
prs_contactpersoon cp,
|
||
prs_bedrijf b,
|
||
--(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 = -1) 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 = -1 -- 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 = 5 -- 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 = 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*' 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,
|
||
NULL refid, -- TODO: Nvt. op losverkoopfactuur?
|
||
NULL lv, -- TODO: Nvt. op losverkoopfactuur?
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
NULL btw_nr,
|
||
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, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
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, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD
|
||
prs_contactpersoon cp,
|
||
prs_bedrijf b,
|
||
--(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 = -1) 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 = -1 -- 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 = 5 -- 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 = 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*' 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,
|
||
NULL refid, -- TODO: Nvt. op losverkoopfactuur?
|
||
NULL lv, -- TODO: Nvt. op losverkoopfactuur?
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
NULL btw_nr,
|
||
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, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
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, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD
|
||
prs_contactpersoon cp,
|
||
prs_bedrijf b,
|
||
--(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 = -1) 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 = -1 -- 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 = 5 -- 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 = 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*' 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,
|
||
NULL refid, -- TODO: Nvt. op losverkoopfactuur?
|
||
NULL lv, -- TODO: Nvt. op losverkoopfactuur?
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
NULL btw_nr,
|
||
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, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
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, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD
|
||
prs_contactpersoon cp,
|
||
prs_bedrijf b,
|
||
--(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 = -1) 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 = -1 -- 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 = 5 -- 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 = 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*' 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,
|
||
NULL refid, -- TODO: Nvt. op losverkoopfactuur?
|
||
NULL lv, -- TODO: Nvt. op losverkoopfactuur?
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
NULL btw_nr,
|
||
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, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
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, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD
|
||
prs_contactpersoon cp,
|
||
prs_bedrijf b,
|
||
--(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 = -1) 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 = -1 -- 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 = 5 -- 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 = 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
|
||
WITH lopendeperiode AS (SELECT TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm') maand FROM dual)
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'CMD' || TRIM (COALESCE (x.en, '-')) po_nr,
|
||
TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) sortering, -- TODO
|
||
'Event ' || x.res_id regel,
|
||
x.prs_perslid_naam_full aanvrager,
|
||
DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2)) || ' uur]', 2, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening, x.res_voorziening) regel_oms,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
'reservering' xmlnode,
|
||
x.res_rsv_ruimte_key refkey,
|
||
x.res_id refid,
|
||
NULL lv,
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr,
|
||
NULL btw_nr,
|
||
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,
|
||
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,
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
NULL alg_onroerendgoed_type,
|
||
TO_NUMBER (NULL) alg_onroerendgoed_keys,
|
||
NULL alg_plaatsaanduiding,
|
||
SUM (COALESCE (verw_prijs, 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
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id,
|
||
h.prs_bedrijf_key,
|
||
TRIM (h.prs_bedrijf_naam) prs_bedrijf_naam,
|
||
TRIM (h.prs_overeenkomst_nr) debiteur_nr,
|
||
TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) 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,
|
||
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 (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
btwvl.prs_kenmerklink_waarde btw_vl,
|
||
pf.prs_perslid_naam_full,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
(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 cp,
|
||
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
|
||
--(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
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
--prs_v_afdeling_boom ab,
|
||
--prs_kenmerklink kl,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
res_ruimte rr,
|
||
res_discipline rd,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_activiteit_key = 50 -- Alleen events!
|
||
AND rrr.res_rsv_ruimte_van > TO_DATE ('20210101', 'yyyymmdd')
|
||
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 -- 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(+)
|
||
AND MOD (rh.debiteur_id, 100000000) = cp.prs_contactpersoon_key(+)
|
||
AND COALESCE (cp.prs_bedrijf_key, MOD (rh.debiteur_id, 100000000)) = h.prs_bedrijf_key(+)
|
||
AND rrr.res_rsv_ruimte_key = enk.res_rsv_ruimte_key(+)
|
||
--AND h.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = btwvl.prs_link_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 = ab.prs_afdeling_key
|
||
--AND ab.prs_bedrijf_key = 2442 -- Huurders Smart Services Campus
|
||
--AND ab.prs_afdeling_key1 != 561 -- Geen factuur naar Campus Management + Development!
|
||
--AND ab.prs_afdeling_key1 = kl.prs_link_key(+)
|
||
--AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
--AND kl.prs_kenmerk_key(+) = -1 -- Debiteurnummer
|
||
--AND kl.prs_kenmerklink_waarde = h.prs_overeenkomst_nr(+)
|
||
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,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id,
|
||
h.prs_bedrijf_key,
|
||
TRIM (h.prs_bedrijf_naam) prs_bedrijf_naam,
|
||
TRIM (h.prs_overeenkomst_nr) debiteur_nr,
|
||
TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) 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,
|
||
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 (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
btwvl.prs_kenmerklink_waarde btw_vl,
|
||
pf.prs_perslid_naam_full,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
(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 cp,
|
||
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
|
||
--(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
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
--prs_v_afdeling_boom ab,
|
||
--prs_kenmerklink kl,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
res_ruimte rr,
|
||
res_discipline rd,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_activiteit_key = 50 -- Alleen events!
|
||
AND rrr.res_rsv_ruimte_van > TO_DATE ('20210101', 'yyyymmdd')
|
||
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(+)
|
||
AND MOD (rh.debiteur_id, 100000000) = cp.prs_contactpersoon_key(+)
|
||
AND COALESCE (cp.prs_bedrijf_key, MOD (rh.debiteur_id, 100000000)) = h.prs_bedrijf_key(+)
|
||
AND rrr.res_rsv_ruimte_key = enk.res_rsv_ruimte_key(+)
|
||
--AND h.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = btwvl.prs_link_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 = ab.prs_afdeling_key
|
||
--AND ab.prs_bedrijf_key = 2442 -- Huurders Smart Services Campus
|
||
--AND ab.prs_afdeling_key1 != 561 -- Geen factuur naar Campus Management + Development!
|
||
--AND ab.prs_afdeling_key1 = kl.prs_link_key(+)
|
||
--AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
--AND kl.prs_kenmerk_key(+) = -1 -- Debiteurnummer
|
||
--AND kl.prs_kenmerklink_waarde = h.prs_overeenkomst_nr(+)
|
||
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,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id,
|
||
h.prs_bedrijf_key,
|
||
TRIM (h.prs_bedrijf_naam) prs_bedrijf_naam,
|
||
TRIM (h.prs_overeenkomst_nr) debiteur_nr,
|
||
TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) contactpersoon,
|
||
ks.prs_kostensoort_refcode,
|
||
ks.prs_kostensoort_altcode,
|
||
2 volgnr,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
LTRIM (rra.res_artikel_omschrijving) || ' [' || TO_CHAR (res_rsv_artikel_levering, 'dd-mm-yyyy') || ']' res_voorziening,
|
||
rra.res_rsv_artikel_levering reslev,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal * rra.res_artikel_prijs prijs,
|
||
rra.btw,
|
||
enk.res_kenmerkreservering_waarde en,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
btwvl.prs_kenmerklink_waarde btw_vl,
|
||
pf.prs_perslid_naam_full,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
(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 cp,
|
||
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
|
||
--(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
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
--prs_v_afdeling_boom ab,
|
||
--prs_kenmerklink kl,
|
||
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 ('20210101', '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 = 50 -- Alleen events!
|
||
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(+)
|
||
AND MOD (rh.debiteur_id, 100000000) = cp.prs_contactpersoon_key(+)
|
||
AND COALESCE (cp.prs_bedrijf_key, rh.debiteur_id) = h.prs_bedrijf_key(+)
|
||
AND rrr.res_rsv_ruimte_key = enk.res_rsv_ruimte_key(+)
|
||
--AND h.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = btwvl.prs_link_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 = ab.prs_afdeling_key
|
||
--AND ab.prs_bedrijf_key = 2442 -- Huurders Smart Services Campus
|
||
--AND ab.prs_afdeling_key1 != 561 -- Geen factuur naar Campus Management + Development!
|
||
--AND ab.prs_afdeling_key1 = kl.prs_link_key(+)
|
||
--AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
--AND kl.prs_kenmerk_key(+) = -1 -- Debiteurnummer
|
||
--AND kl.prs_kenmerklink_waarde = h.prs_overeenkomst_nr(+)
|
||
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(+)) x
|
||
GROUP BY '*CONCEPT*',
|
||
'CMD' || TRIM (COALESCE (x.en, '-')),
|
||
TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr),
|
||
'Event ' || x.res_id,
|
||
x.prs_perslid_naam_full,
|
||
DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2)) || ' uur]', 2, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening, x.res_voorziening),
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy'), TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy'),
|
||
'reservering',
|
||
x.res_rsv_ruimte_key,
|
||
x.res_id,
|
||
NULL,
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam, x.debiteur_nr,
|
||
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)),
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy'),
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy'),
|
||
NULL,
|
||
NULL,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
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, btw_nr, 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, tarief, vvo_toeslag, verv_toeslag, korting_pm2,
|
||
alg_onroerendgoed_type, alg_onroerendgoed_keys, alg_plaatsaanduiding,
|
||
mndnet, mndbtw,
|
||
grtboekrek,
|
||
mld_melding_key
|
||
FROM bssc_v_addd_correctie
|
||
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, btw_nr, 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, tarief, vvo_toeslag, verv_toeslag, korting_pm2,
|
||
alg_onroerendgoed_type, alg_onroerendgoed_keys, alg_plaatsaanduiding,
|
||
mndnet, mndbtw,
|
||
grtboekrek,
|
||
mld_melding_key
|
||
FROM bssc_v_addd_losverkoop
|
||
;
|
||
|
||
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,
|
||
SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 18) 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), NULL) refid, -- Niet historisch bewaard!
|
||
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) btw_nr,
|
||
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.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,
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- VVO
|
||
TO_NUMBER (NULL) tarief, -- Jaartarief per m2
|
||
TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc.
|
||
TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc.
|
||
TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur
|
||
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;
|
||
/*
|
||
-- TODO:Kostensoorten, etc.!
|
||
CREATE OR REPLACE VIEW bssc_v_rap_export_addd
|
||
(
|
||
hide_f_sortering,
|
||
fclt_x_maand,
|
||
code,
|
||
valuta,
|
||
factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
)
|
||
AS
|
||
SELECT ROWNUM,
|
||
REPLACE (periode, '/', '-') periode,
|
||
code,
|
||
valuta,
|
||
factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
FROM (SELECT fin_verkoopfactuur_id || '0000' || debiteur_nr sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
factuurdatum,
|
||
--SUBSTR (maand, 1, 4) || '/' || SUBSTR (maand, -2) periode,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode,
|
||
fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'1300' grtboekrek, -- TODO:Hard op '1300'
|
||
debiteur_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
netsum + btwsum + (0.065 * netsum) + (0.21 * 0.065 * netsum) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen!
|
||
'debit' debitcredit,
|
||
'Total' omschrijving, -- Hard op 'Total'
|
||
NULL btwcode -- Hard op NULL
|
||
FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum,
|
||
SUM (mndnet) netsum, SUM (mndbtw) btwsum
|
||
FROM bssc_v_addd_frozen
|
||
--WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum)
|
||
UNION ALL
|
||
SELECT fin_verkoopfactuur_id || debiteur_nr || DECODE (grtboekrek, '812x', DECODE (fin_btwtabelwaarde_code, 'H', '8120', '8121'), grtboekrek) sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
factuurdatum,
|
||
--SUBSTR (maand, 1, 4) || '/' || SUBSTR (maand, -2) periode,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode,
|
||
fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
DECODE (grtboekrek, '812x', DECODE (fin_btwtabelwaarde_code, 'H', '8120', '8121'), grtboekrek) grtboekrek,
|
||
--prs_kostenplaats_nr rel_kpl,
|
||
--DECODE (SUBSTR (prs_kostenplaats_nr, 1, 5), '50900', '50900', prs_kostenplaats_nr) rel_kpl,
|
||
'50900',
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)???
|
||
DECODE (grtboekrek, '812x', 'ToDo' || DECODE (fin_btwtabelwaarde_code, 'H', ' high', ' low'), '8130', regel, 'ToDo') omschrijving,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN') btwcode
|
||
FROM bssc_v_addd_frozen
|
||
--WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id || debiteur_nr || DECODE (grtboekrek, '812x', DECODE (fin_btwtabelwaarde_code, 'H', '8120', '8121'), grtboekrek),
|
||
'VRK',
|
||
'EUR',
|
||
factuurdatum,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2),
|
||
fin_verkoopfactuur_id,
|
||
vervaldatum,
|
||
'1',
|
||
DECODE (grtboekrek, '812x', DECODE (fin_btwtabelwaarde_code, 'H', '8120', '8121'), grtboekrek),
|
||
--prs_kostenplaats_nr rel_kpl,
|
||
--DECODE (SUBSTR (prs_kostenplaats_nr, 1, 5), '50900', '50900', prs_kostenplaats_nr),
|
||
'50900',
|
||
NULL,
|
||
'credit',
|
||
DECODE (grtboekrek, '812x', 'ToDo' || DECODE (fin_btwtabelwaarde_code, 'H', ' high', ' low'), '8130', regel, 'ToDo'),
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN')
|
||
UNION ALL
|
||
SELECT fin_verkoopfactuur_id || debiteur_nr || '8136' sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
factuurdatum,
|
||
--SUBSTR (maand, 1, 4) || '/' || SUBSTR (maand, -2) periode,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode,
|
||
fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'8136', -- Handling fee
|
||
--prs_kostenplaats_nr rel_kpl,
|
||
--DECODE (SUBSTR (prs_kostenplaats_nr, 1, 5), '50900', '50900', prs_kostenplaats_nr) rel_kpl,
|
||
'50900',
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (0.065 * mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)???
|
||
'Handling fee' omschrijving,
|
||
'VH' btwcode
|
||
FROM bssc_v_addd_frozen
|
||
--WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id || debiteur_nr || '8136',
|
||
'VRK',
|
||
'EUR',
|
||
factuurdatum,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2),
|
||
fin_verkoopfactuur_id,
|
||
vervaldatum,
|
||
'1',
|
||
'8136',
|
||
--prs_kostenplaats_nr,
|
||
--DECODE (SUBSTR (prs_kostenplaats_nr, 1, 5), '50900', '50900', prs_kostenplaats_nr),
|
||
'50900',
|
||
NULL,
|
||
'credit',
|
||
'Handling fee',
|
||
'VH'
|
||
ORDER BY 1);
|
||
|
||
CREATE OR REPLACE VIEW bssc_v_export_addd
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS -- View bevat alleen inhoud op de dag na de 10e werkdag van de maand!
|
||
SELECT 'code'
|
||
|| ';valuta'
|
||
|| ';factuurdatum'
|
||
|| ';periode'
|
||
|| ';factuurnummer'
|
||
|| ';vervaldatum'
|
||
|| ';nummer'
|
||
|| ';grtboekrek'
|
||
|| ';rel/kpl'
|
||
|| ';prj/activa'
|
||
|| ';bedrag'
|
||
|| ';debitcredit'
|
||
|| ';omschrijving'
|
||
|| ';btwcode',
|
||
0
|
||
FROM DUAL
|
||
WHERE FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 10 -- Nacht na 10e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
UNION ALL
|
||
SELECT code
|
||
|| ';'
|
||
|| valuta
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| periode
|
||
|| ';'
|
||
|| factuurnummer
|
||
|| ';'
|
||
|| vervaldatum
|
||
|| ';'
|
||
|| nummer
|
||
|| ';'
|
||
|| grtboekrek
|
||
|| ';'
|
||
|| rel_kpl
|
||
|| ';'
|
||
|| prj_activa
|
||
|| ';'
|
||
|| bedrag
|
||
|| ';'
|
||
|| debitcredit
|
||
|| ';'
|
||
|| omschrijving
|
||
|| ';'
|
||
|| btwcode,
|
||
ROWNUM
|
||
FROM bssc_v_rap_export_addd
|
||
WHERE fclt_x_maand = TO_CHAR (SYSDATE, 'yyyy-mm')
|
||
AND FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 10 -- Nacht na 10e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
ORDER BY 2;
|
||
*/
|
||
CREATE OR REPLACE PROCEDURE bssc_select_addd (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- Factureer/bevries kosten van additionele diensten en verwerk=AV alle
|
||
-- aanwezige klantwens-opdrachten en correctie-meldingen (1 regel in view)!
|
||
CURSOR c1
|
||
IS
|
||
SELECT '[' || v.refid || '|' || v.prs_debiteur_naam || '] ' aanduiding,
|
||
v.*, o.mld_statusopdr_key, m.mld_melding_status
|
||
FROM (SELECT *
|
||
FROM bssc_v_addd_actual) v
|
||
LEFT JOIN mld_opdr o
|
||
ON v.xmlnode = 'opdracht' AND v.refkey = o.mld_opdr_key
|
||
LEFT JOIN mld_melding m
|
||
ON v.mld_melding_key = m.mld_melding_key
|
||
ORDER BY v.prs_bedrijf_key, v.po_nr, v.sortering;
|
||
|
||
-- 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,
|
||
b.prs_bedrijf_email
|
||
FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b
|
||
WHERE SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '?' -- vf.fin_verkoopfactuur_xmlnode != 'contract'
|
||
AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm')
|
||
AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key
|
||
AND vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
ORDER BY vf.fin_verkoopfactuur_id;
|
||
|
||
-- Verwerk reserveringen (in juiste volgorde)!
|
||
CURSOR c3
|
||
IS
|
||
SELECT DISTINCT '[' || TO_CHAR (rra.res_rsv_ruimte_key) || '|' || TO_CHAR (rra.res_rsv_artikel_key) || '] ' aanduiding,
|
||
rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_key,
|
||
rra.res_status_bo_key,
|
||
rra.res_artikel_key
|
||
FROM fin_verkoopfactuur vf, res_v_aanwezigrsv_artikel rra
|
||
WHERE SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '?' -- vf.fin_verkoopfactuur_xmlnode != 'contract'
|
||
AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm')
|
||
AND vf.fin_verkoopfactuur_xmlnode = 'reservering'
|
||
AND vf.fin_verkoopfactuur_refkey = rra.res_rsv_ruimte_key
|
||
UNION ALL
|
||
SELECT DISTINCT '[' || TO_CHAR (rrr.res_rsv_ruimte_key) || '] ' aanduiding,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL res_rsv_artikel_key,
|
||
rrr.res_status_bo_key,
|
||
NULL res_artikel_key
|
||
FROM fin_verkoopfactuur vf, res_v_aanwezigrsv_ruimte rrr
|
||
WHERE SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '?' -- vf.fin_verkoopfactuur_xmlnode != 'contract'
|
||
AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm')
|
||
AND vf.fin_verkoopfactuur_xmlnode = 'reservering'
|
||
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_year_offset NUMBER (10);
|
||
v_factuur_id VARCHAR2 (30);
|
||
v_factkop_id VARCHAR2 (30);
|
||
v_verkoopfactuurkop_key NUMBER (10);
|
||
v_count NUMBER;
|
||
v_prijs NUMBER (9, 2);
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_holiday
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1);
|
||
|
||
-- LET OP: Twinfield-export van additionele diensten (= boekingsgangen)
|
||
-- draait dagelijks na middernacht (begin van dag) en de verkoop wordt
|
||
-- maandelijks alleen in de nacht na 10e werkdag van de maand doorgezet.
|
||
-- IF nacht na 10e werkdag van de maand (<28>n<EFBFBD>geen weekend <20>n<EFBFBD>geen vrije dag)!
|
||
-- count_work_days (d1,d2) bepaalt het #werkdagen van d1 tot d2 (als d1=d2,
|
||
-- dan return 0); daarom bepalen tov. laatste dag van vorige maand!
|
||
IF FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 10 -- Nacht na 10e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND v_holiday = 0
|
||
THEN
|
||
v_fact_count := 0;
|
||
v_amount_sum := 0;
|
||
v_old_bedrijf_key := -1;
|
||
v_old_po_nr := '';
|
||
|
||
-- Factureer/bevries kosten van additionele diensten en verwerk=AV alle
|
||
-- eventuele correctiemeldingen.
|
||
FOR rec IN c1
|
||
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
|
||
-- TODO:Afhankelijk van boekstuknummer-methodiek!
|
||
--SELECT fac_s_user01.NEXTVAL INTO v_count FROM DUAL;
|
||
|
||
--v_factuur_id := '1' || SUBSTR ('00000000' || TO_CHAR (v_count), -8);
|
||
-- Bepaal max. sequence t/m voorgaande jaar (= aantal entries in
|
||
-- fin_verkoopfactuurkop-tabel).
|
||
SELECT COUNT ( * )
|
||
INTO v_year_offset
|
||
FROM fin_verkoopfactuurkop vfk
|
||
WHERE SUBSTR (vfk.fin_verkoopfactuurkop_id, 5, 1) = '1' -- Boekstuknummers in formaat <yyyy>1!
|
||
AND SUBSTR (vfk.fin_verkoopfactuurkop_id, 1, 4) < TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy');
|
||
|
||
-- Bepaal fin_verkoopfactuur_id=boekstuknr. tbv. BCC-verkoopboek
|
||
-- obv. sequence '01' en begin elk nieuw jaar weer bij 1 door te
|
||
-- corrigeren met de hierboven bepaalde offset.
|
||
SELECT fac_s_user01.NEXTVAL - v_year_offset INTO v_count FROM DUAL;
|
||
|
||
v_factuur_id := TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy') || '9' || SUBSTR ('0000' || TO_CHAR (v_count), -4);
|
||
ELSE -- rec.po_nr LIKE 'CMD%'
|
||
-- TODO:Afhankelijk van boekstuknummer-methodiek!
|
||
--SELECT fac_s_user02.NEXTVAL INTO v_count FROM DUAL;
|
||
|
||
--v_factuur_id := '2' || SUBSTR ('00000000' || TO_CHAR (v_count), -8);
|
||
-- Bepaal max. sequence t/m voorgaande jaar (= aantal entries in
|
||
-- fin_verkoopfactuurkop-tabel).
|
||
SELECT COUNT ( * )
|
||
INTO v_year_offset
|
||
FROM fin_verkoopfactuurkop vfk
|
||
WHERE SUBSTR (vfk.fin_verkoopfactuurkop_id, 5, 1) = '2' -- Boekstuknummers in formaat <yyyy>2!
|
||
AND SUBSTR (vfk.fin_verkoopfactuurkop_id, 1, 4) < TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy');
|
||
|
||
-- Bepaal fin_verkoopfactuur_id=boekstuknr. tbv. BCC-verkoopboek
|
||
-- obv. sequence '02' en begin elk nieuw jaar weer bij 1 door te
|
||
-- corrigeren met de hierboven bepaalde offset.
|
||
SELECT fac_s_user02.NEXTVAL - v_year_offset INTO v_count FROM DUAL;
|
||
|
||
v_factuur_id := TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy') || '1' || SUBSTR ('0000' || TO_CHAR (v_count), -4);
|
||
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
|
||
TO_NUMBER (NULL), -- n2
|
||
TO_NUMBER (NULL), -- n3
|
||
TO_NUMBER (NULL), -- n4
|
||
TO_NUMBER (NULL), -- n5
|
||
NULL, -- c1
|
||
NULL, -- c2
|
||
NULL, -- c3
|
||
rec.contactpersoon, -- c4
|
||
rec.aanvrager, -- c5
|
||
rec.regel_oms, -- c6
|
||
rec.debiteur_nr || '=' || rec.btw_nr, -- 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;
|
||
|
||
IF rec.xmlnode = 'opdracht'
|
||
THEN
|
||
v_errormsg := 'Fout verwerken opdrachtkosten';
|
||
|
||
MLD.setopdrachtstatus (rec.refkey, 7, NULL);
|
||
END IF;
|
||
|
||
IF rec.mld_melding_key IS NOT NULL -- Correctiemelding?
|
||
THEN
|
||
v_errormsg := 'Fout verwerken correctiemelding';
|
||
|
||
-- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus
|
||
-- eerst afmelden (als nog niet Afgemeld)!
|
||
IF rec.mld_melding_status = 4 -- ACP
|
||
THEN
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM
|
||
END IF;
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER
|
||
END IF;
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD-freeze');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'ADDD-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_datum,
|
||
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/' || 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-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-AV');
|
||
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;
|
||
/
|
||
|
||
-- 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 <20><>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_rap_fact_controle
|
||
(
|
||
fclt_x_stroom,
|
||
fclt_f_controle,
|
||
controle_ref
|
||
)
|
||
AS
|
||
WITH periodegeg AS (SELECT * FROM bssc_v_fact_actual)
|
||
SELECT DISTINCT 'Verhuur', 'BCC Huurcontract niet gekoppeld aan FIN-plaats',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v, cnt_contract c
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.cnt_contract_key = c.cnt_contract_key
|
||
AND c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND v.alg_plaatsaanduiding NOT LIKE '%FIN%'
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'BCC Huurcontract oppervlakte = 0',
|
||
xref
|
||
FROM ( SELECT v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']' xref,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0) ) oppervlakte
|
||
FROM periodegeg v, cnt_contract c
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.cnt_contract_key = c.cnt_contract_key
|
||
AND c.ins_discipline_key = 621 -- Huurcontracten
|
||
GROUP BY v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']')
|
||
WHERE oppervlakte = 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Contract(regel) bedrag = 0',
|
||
xref
|
||
FROM ( SELECT v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']' xref,
|
||
SUM (v.mndnet) bedrag
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
GROUP BY v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']')
|
||
WHERE bedrag = 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Contract(regel) bedrag < 0',
|
||
xref
|
||
FROM ( SELECT v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']' xref,
|
||
SUM (v.mndnet) bedrag
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.regel NOT LIKE 'CFF%'
|
||
GROUP BY v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']')
|
||
WHERE bedrag < 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Contractkorting >= 100%',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.cnt_contract_korting >= 100
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Contract met GVR-overlap?',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v, alg_v_allonroerendgoed aog
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND v.alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
|
||
AND EXISTS (SELECT 1
|
||
FROM periodegeg v1, alg_v_allonroerendgoed aog1
|
||
WHERE v1.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND v1.alg_onroerendgoed_keys = aog1.alg_onroerendgoed_keys
|
||
AND v1.cnt_contract_key = v.cnt_contract_key -- Hetzelfde contract
|
||
AND aog1.alg_gebouw_key = aog.alg_gebouw_key -- Hetzelfde gebouw
|
||
AND v1.alg_onroerendgoed_type != v.alg_onroerendgoed_type -- Ander type
|
||
AND v1.alg_onroerendgoed_keys != v.alg_onroerendgoed_keys) -- Andere regel
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Dezelfde plaats gekoppeld aan meer contracten',
|
||
v.alg_plaatsaanduiding
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND EXISTS (SELECT 1
|
||
FROM periodegeg v1
|
||
WHERE v1.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND v1.alg_onroerendgoed_keys = v.alg_onroerendgoed_keys -- Dezelfde plaats
|
||
AND v1.cnt_contract_key != v.cnt_contract_key) -- Ander contract
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'E-mail adres van debiteur onbekend',
|
||
v.prs_debiteur_naam
|
||
FROM periodegeg v, prs_bedrijf b
|
||
WHERE v.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_email IS NULL
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Factuuradres van debiteur onbekend/onvolledig',
|
||
v.prs_debiteur_naam
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND (v.adres IS NULL OR v.postcode IS NULL OR v.plaats IS NULL OR v.land IS NULL)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Correctiebedrag = 0',
|
||
TO_CHAR (v.mld_melding_key)
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NOT NULL
|
||
AND v.mndnet = 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Correctiemelding nog niet in conceptfactuur',
|
||
TO_CHAR (m.mld_melding_key)
|
||
FROM mld_melding m
|
||
WHERE m.mld_stdmelding_key = 482 -- Financi<63>le correctie
|
||
AND m.mld_melding_status IN (0, 2, 3) -- Pending/Ingevoerd/Ingezien
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Contract gekoppeld aan locatie',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.alg_onroerendgoed_type = 'L'
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Debiteurnummer onbekend',
|
||
v.prs_debiteur_naam
|
||
FROM periodegeg v, prs_bedrijf b
|
||
WHERE v.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_overeenkomst_nr IS NULL
|
||
UNION ALL
|
||
SELECT 'Verhuur', 'Aantal factuurregels > max. #regels (zoals geconfigureerd)',
|
||
x.prs_debiteur_naam || ' / ' || x.po_nr
|
||
FROM ( SELECT prs_debiteur_naam, po_nr, COUNT (*) factuurregels
|
||
FROM bssc_v_fact_actual
|
||
GROUP BY prs_debiteur_naam, po_nr) x
|
||
WHERE x.factuurregels > fac.getsetting ('res_xml_max_rsv_ruimte')
|
||
UNION ALL
|
||
SELECT 'Add. Diensten', 'H-afdeling leeg', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT 'Add. Diensten', 'H-afdeling zonder logins', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NOT NULL
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-afdeling op ander dan niveau-1', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_afdeling_boom ab
|
||
WHERE ab.prs_bedrijf_key = 22 -- Huurders
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key3, ab.prs_afdeling_key4, ab.prs_afdeling_key5) IS NOT NULL
|
||
AND ab.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-afdeling niet gelinkt aan H-relatie', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a--, prs_v_aanwezigperslid ap
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
--AND a.prs_afdeling_key = ap.prs_afdeling_key
|
||
--AND COALESCE (ap.prs_perslid_oslogin, ap.prs_perslid_oslogin2) IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigkenmerklink kl, prs_v_aanwezigbedrijf b
|
||
WHERE kl.prs_kenmerklink_niveau = 'A'
|
||
AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer
|
||
AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr
|
||
AND kl.prs_link_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-afdeling niet gelinkt aan actief AD-contract', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a--, prs_v_aanwezigperslid ap
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
--AND a.prs_afdeling_key = ap.prs_afdeling_key
|
||
--AND COALESCE (ap.prs_perslid_oslogin, ap.prs_perslid_oslogin2) IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key IN (1841, 1842)
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c.prs_afdeling_key_eig = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-afdeling gelinkt aan >1 actief AD-contract', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a, cnt_v_aanwezigcontract c1
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND a.prs_afdeling_key = c1.prs_afdeling_key_eig
|
||
AND c1.ins_discipline_key IN (1841, 1842)
|
||
AND TRUNC (c1.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c1.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c1.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract c2
|
||
WHERE c2.ins_discipline_key IN (1841, 1842)
|
||
AND TRUNC (c2.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c2.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c2.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c2.ins_discipline_key = c1.ins_discipline_key
|
||
AND c2.prs_afdeling_key_eig = c1.prs_afdeling_key_eig
|
||
AND c2.cnt_contract_key != c1.cnt_contract_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-relatie niet gelinkt aan H-afdeling', b.prs_bedrijf_naam
|
||
FROM prs_v_aanwezigbedrijf b
|
||
WHERE b.prs_overeenkomst_nr IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND a.prs_afdeling_key = kl.prs_link_key
|
||
AND kl.prs_kenmerklink_niveau = 'A'
|
||
AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer
|
||
AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-relatie niet gelinkt aan actief AD-contract', b.prs_bedrijf_naam
|
||
FROM prs_v_aanwezigbedrijf b
|
||
WHERE EXISTS
|
||
(SELECT 1
|
||
FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND a.prs_afdeling_key = kl.prs_link_key
|
||
AND kl.prs_kenmerklink_niveau = 'A'
|
||
AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer
|
||
AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key IN (1841, 1842)
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-relatie gelinkt aan >1 actief AD-contract', b.prs_bedrijf_naam
|
||
FROM prs_v_aanwezigbedrijf b, cnt_v_aanwezigcontract c1
|
||
WHERE b.prs_bedrijf_key = c1.cnt_prs_bedrijf_key
|
||
AND c1.ins_discipline_key IN (1841, 1842)
|
||
AND TRUNC (c1.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c1.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c1.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND a.prs_afdeling_key = kl.prs_link_key
|
||
AND kl.prs_kenmerklink_niveau = 'A'
|
||
AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer
|
||
AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr)
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract c2
|
||
WHERE c2.ins_discipline_key IN (1841, 1842)
|
||
AND TRUNC (c2.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c2.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c2.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c2.ins_discipline_key = c1.ins_discipline_key
|
||
AND c2.prs_afdeling_key_eig = c1.prs_afdeling_key_eig
|
||
AND c2.cnt_contract_key != c1.cnt_contract_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'Actief AD-contract incorrect gelinkt aan huurder', c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)
|
||
FROM cnt_v_aanwezigcontract c, prs_v_afdeling_boom ab, prs_v_aanwezigkenmerklink kl, prs_bedrijf b
|
||
WHERE c.ins_discipline_key IN (1841, 1842)
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c.prs_afdeling_key_eig = ab.prs_afdeling_key(+)
|
||
AND ab.prs_bedrijf_key(+) = 22 -- Huurders
|
||
AND c.prs_afdeling_key_eig = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||
AND kl.prs_kenmerklink_waarde != b.prs_overeenkomst_nr
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-afdeling niet dezelfde naam als gelinkte H-relatie', a.prs_afdeling_omschrijving || ' <> ' || b.prs_bedrijf_naam
|
||
FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl, prs_v_aanwezigbedrijf b
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND a.prs_afdeling_key = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau = 'A'
|
||
AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer
|
||
AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr
|
||
AND UPPER (a.prs_afdeling_omschrijving) != TRIM (b.prs_bedrijf_naam_upper)
|
||
UNION ALL
|
||
SELECT 'Uitvoerenden', 'UV-afdeling leeg', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT 'Uitvoerenden', 'UV-afdeling zonder logins', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NOT NULL
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Uitvoerenden', 'UV-afdeling met logins niet gelinkt aan UV-relatie', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a, prs_v_aanwezigperslid ap
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND a.prs_afdeling_key = ap.prs_afdeling_key
|
||
AND COALESCE (ap.prs_perslid_oslogin, ap.prs_perslid_oslogin2) IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_contactpersoon cp, prs_bedrijf b, prs_perslid p
|
||
WHERE cp.prs_contactpersoon_verwijder IS NULL
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
AND cp.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ap.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Uitvoerenden', 'UV-afdeling gelinkt aan UV-relatie via persoon zonder login', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving || '/' || p.prs_perslid_naam
|
||
FROM prs_afdeling a, prs_v_aanwezigperslid p
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE cp.prs_contactpersoon_verwijder IS NULL
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
AND cp.prs_perslid_key = p.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Uitvoerenden', 'UV-relatie gelinkt aan UV-afdeling via verwijderde persoon', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving || '/' || cp.prs_contactpersoon_naam
|
||
FROM prs_afdeling a, prs_perslid p, prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND p.prs_perslid_verwijder IS NOT NULL
|
||
AND p.prs_perslid_key = cp.prs_perslid_key
|
||
AND cp.prs_contactpersoon_verwijder IS NULL
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
UNION ALL
|
||
SELECT DISTINCT 'Uitvoerenden', 'UV-afdeling niet dezelfde naam als gelinkte UV-relatie', a.prs_afdeling_omschrijving || ' <> ' || b.prs_bedrijf_naam
|
||
FROM prs_afdeling a, prs_perslid p, prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND p.prs_perslid_key = cp.prs_perslid_key
|
||
AND cp.prs_contactpersoon_verwijder IS NULL
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
AND UPPER (a.prs_afdeling_omschrijving) != TRIM (b.prs_bedrijf_naam_upper)
|
||
;
|
||
*/
|
||
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));
|
||
|
||
-- 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 ('01012021', '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 || ' [' || prs_overeenkomst_nr || ']/-;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
|
||
WHERE b.prs_bedrijf_contract = 1
|
||
AND TO_CHAR (COALESCE (b.prs_bedrijf_verwijder, SYSDATE), 'yyyy') >= '2021'
|
||
UNION ALL
|
||
SELECT 100000000 + cp.prs_contactpersoon_key,
|
||
b.prs_bedrijf_naam || ' [' || prs_overeenkomst_nr || ']/'
|
||
|| 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, prs_contactpersoon cp
|
||
WHERE b.prs_bedrijf_contract = 1
|
||
AND b.prs_bedrijf_key = cp.prs_bedrijf_key
|
||
AND TO_CHAR (COALESCE (cp.prs_contactpersoon_verwijder, b.prs_bedrijf_verwijder, SYSDATE), 'yyyy') >= '2021';
|
||
|
||
-- 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 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 financi<63>le mensen die reserveringen, correctiemeldingen en
|
||
-- incidentele verkoopmeldingen 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
|
||
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) != '_';
|
||
|
||
CREATE OR REPLACE VIEW BSSC_V_RAP_TE_FACTUREREN
|
||
(
|
||
refkey,
|
||
debiteur,
|
||
debiteurnr,
|
||
contactpersoon,
|
||
datum,
|
||
refid,
|
||
kosten
|
||
)
|
||
AS
|
||
SELECT refkey,
|
||
prs_debiteur_naam,
|
||
debiteur_nr,
|
||
contactpersoon,
|
||
datum,
|
||
refid,
|
||
SUM (mndnet) kosten
|
||
FROM (SELECT v.refkey,
|
||
v.prs_debiteur_naam,
|
||
v.debiteur_nr,
|
||
v.contactpersoon,
|
||
fac.gettrackingdate ('RESAFM', rrr.res_rsv_ruimte_key) datum,
|
||
v.refid,
|
||
v.mndnet
|
||
FROM bssc_v_addd_actual v, res_rsv_ruimte rrr -- TODO: Toevoegen vrijgavedatum
|
||
WHERE v.xmlnode = 'reserverng' AND v.refkey = rrr.res_rsv_ruimte_key
|
||
UNION ALL
|
||
SELECT v.mld_melding_key refkey,
|
||
v.prs_debiteur_naam,
|
||
v.debiteur_nr,
|
||
v.contactpersoon,
|
||
fac.gettrackingdate ('MLDAFM', v.mld_melding_key) datum,
|
||
TO_CHAR (v.regel_oms) refid,
|
||
v.mndnet
|
||
FROM bssc_v_addd_actual v -- TODO: Toevoegen vrijgavedatum
|
||
WHERE v.mld_melding_key IS NOT NULL) -- Correctie- of losverkoopmelding
|
||
GROUP BY refkey,
|
||
prs_debiteur_naam,
|
||
debiteur_nr,
|
||
contactpersoon,
|
||
datum,
|
||
refid;
|
||
|
||
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?
|
||
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?
|
||
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';
|
||
|
||
------ 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
|