6842 lines
398 KiB
MySQL
6842 lines
398 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 b.prs_bedrijf_key,
|
||
b.prs_bedrijf_naam || ' [' || TRIM (cmdnr.prs_kenmerklink_waarde) || '|' || TRIM (chvnr.prs_kenmerklink_waarde) || ']',
|
||
prs_bedrijf_verwijder
|
||
FROM prs_bedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr
|
||
WHERE b.prs_bedrijf_intern IS NULL
|
||
AND b.prs_bedrijf_key = cmdnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = chvnr.prs_link_key(+);
|
||
|
||
CREATE OR REPLACE VIEW bssc_v_rap_ssc_cat_looplijst
|
||
(
|
||
resnr,
|
||
activiteit,
|
||
--locatie,
|
||
ruimte,
|
||
datum,
|
||
van,
|
||
tot,
|
||
reslev,
|
||
organisatie,
|
||
gastheer,
|
||
kostenplaats,
|
||
--costcenter,
|
||
omschrijving,
|
||
aantal,
|
||
artikelnr,
|
||
artikeloms,
|
||
horeca_details,
|
||
deelnemers
|
||
)
|
||
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')), '202201') 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, x.debiteur_nr,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (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.
|
||
1 verv_toeslag, -- Vervangend toeslagperc.
|
||
0 korting_pm2, -- VERVALLEN: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)) *
|
||
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)) *
|
||
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_omschrijving,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerlink_waarde) debiteur_nr,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
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,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = chvnr.prs_kenmerk_link(+)
|
||
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 -- Vervangende toeslag op huur!
|
||
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 - Vervangende toeslag' regel, -- Vervangende toeslag
|
||
NULL aanvrager, -- !!!
|
||
NULL regel_oms, -- !!!
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
'contract' xmlnode,
|
||
x.cnt_contract_key refkey, -- !!!
|
||
x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!!
|
||
x.lv,
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (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.
|
||
(verv_toeslag.fac_usrdata_prijs - 1) verv_toeslag, -- Vervangend toeslagperc.
|
||
0 korting_pm2, -- VERVALLEN: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) *
|
||
(verv_toeslag.fac_usrdata_prijs - 1) *
|
||
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
|
||
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.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)) *
|
||
COALESCE (rxo.alg_ruimte_opp_alt1, 0) *
|
||
--COALESCE (verv_toeslag.fac_usrdata_prijs, 0) *
|
||
(verv_toeslag.fac_usrdata_prijs - 1) *
|
||
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
|
||
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.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, '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_omschrijving,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerlink_waarde) debiteur_nr,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
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,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = chvnr.prs_kenmerk_link(+)
|
||
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')
|
||
AND verv_toeslag.fac_usrdata_prijs > 1
|
||
UNION ALL -- M2 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 - Huur' regel, -- Huur
|
||
NULL aanvrager, -- !!!
|
||
NULL regel_oms, -- !!!
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
'contract' xmlnode,
|
||
x.cnt_contract_key refkey, -- !!!
|
||
x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!!
|
||
x.lv,
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (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.
|
||
1 verv_toeslag, -- Vervangend toeslagperc.
|
||
0 korting_pm2, -- VERVALLEN: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)) *
|
||
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)) *
|
||
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_omschrijving,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerlink_waarde) debiteur_nr,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
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,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = chvnr.prs_kenmerk_link(+)
|
||
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 -- Vervangende toeslag op M2 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 - Vervangende toeslag' regel, -- Vervangende toeslag
|
||
NULL aanvrager, -- !!!
|
||
NULL regel_oms, -- !!!
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
'contract' xmlnode,
|
||
x.cnt_contract_key refkey, -- !!!
|
||
x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!!
|
||
x.lv,
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (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.
|
||
(verv_toeslag.fac_usrdata_prijs - 1) verv_toeslag, -- Vervangend toeslagperc.
|
||
0 korting_pm2, -- VERVALLEN: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) *
|
||
(verv_toeslag.fac_usrdata_prijs - 1) *
|
||
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
|
||
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.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)) *
|
||
COALESCE (fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde), 0) *
|
||
--COALESCE (verv_toeslag.fac_usrdata_prijs, 0) *
|
||
(verv_toeslag.fac_usrdata_prijs - 1) *
|
||
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
|
||
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.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, '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_omschrijving,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerlink_waarde) debiteur_nr,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
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,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = chvnr.prs_kenmerk_link(+)
|
||
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
|
||
AND verv_toeslag.fac_usrdata_prijs > 1
|
||
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, x.debiteur_nr,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
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_omschrijving,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerlink_waarde) debiteur_nr,
|
||
0.21 btw,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
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,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
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 b.prs_bedrijf_key = chvnr.prs_kenmerk_link(+)
|
||
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, x.debiteur_nr,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
fac.safe_to_number (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_omschrijving,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerlink_waarde) debiteur_nr,
|
||
0.21 btw,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
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,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
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 b.prs_bedrijf_key = chvnr.prs_kenmerk_link(+)
|
||
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, x.debiteur_nr,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
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_omschrijving,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerlink_waarde) debiteur_nr,
|
||
0.21 btw,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
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,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
cnt_kenmerkcontract kc,
|
||
cnt_kenmerk k
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = chvnr.prs_kenmerk_link(+)
|
||
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, x.debiteur_nr,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (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_omschrijving,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (chvnr.prs_kenmerlink_waarde) debiteur_nr,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
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,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
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 b.prs_bedrijf_key = chvnr.prs_kenmerk_link(+)
|
||
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
|
||
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 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, DECODE (x.ins_discipline_key, 2004, x.cmd_debiteur_nr, x.chv_debiteur_nr) debiteur_nr,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal,
|
||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) 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_omschrijving,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, TRIM (cmdnr.prs_kenmerlink_waarde) cmd_debiteur_nr, TRIM (chvnr.prs_kenmerlink_waarde) chv_debiteur_nr,
|
||
0.21 btw,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
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,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = cmdnr.prs_kenmerk_link(+)
|
||
AND b.prs_bedrijf_key = chvnr.prs_kenmerk_link(+)
|
||
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, x.debiteur_nr,
|
||
--btwnr.prs_kenmerklink_waarde btw_nr,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal,
|
||
fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) 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_omschrijving,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, cmdnr.prs_kenmerlink_waarde debiteur_nr,
|
||
0.21 btw,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
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,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
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,
|
||
x.cnt_contract_omschrijving beschrijving,
|
||
--(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_omschrijving,
|
||
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,
|
||
SUBSTR (vf.fin_verkoopfactuur_c7, INSTR (vf.fin_verkoopfactuur_c7, '=') + 1) beschrijving,
|
||
NULL contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, -- Niet historisch bewaard!
|
||
vf.prs_kostenplaats_key, vf.prs_kostenplaats_nr, vf.prs_kostenplaats_omschrijving, vf.prs_kostenplaatsgrp_oms,
|
||
--vf.prs_kostensoort_oms, vf.prs_kostensoort_opmerking, vf.prs_kostensoort_refcode, vf.prs_kostensoortgrp_oms,
|
||
vf.fin_btwtabelwaarde_code,
|
||
vf.fin_btwtabelwaarde_oms,
|
||
vf.fin_btwtabelwaarde_perc,
|
||
vf.fin_btwtabelwaarde_verlegd,
|
||
vf.fin_verkoopfactuur_maand maand,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet
|
||
fac.safe_to_number (vf.fin_verkoopfactuur_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.*
|
||
FROM bssc_v_fact_actual v
|
||
ORDER BY v.prs_bedrijf_key, v.po_nr, v.sortering, v.regel, v.alg_plaatsaanduiding;
|
||
|
||
-- Verstuur verkoopfactuur naar huurder.
|
||
CURSOR c2
|
||
IS
|
||
SELECT DISTINCT '[' || vf.fin_verkoopfactuur_id || '|' || vf.fin_verkoopfactuur_maand || '|' || vf.prs_debiteur_naam || '] ' aanduiding,
|
||
vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_maand, vf.prs_debiteur_naam,
|
||
vfk.fin_verkoopfactuurkop_key, vfk.fin_verkoopfactuurkop_id,
|
||
b.prs_bedrijf_email
|
||
FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b
|
||
WHERE vf.fin_verkoopfactuur_xmlnode = 'contract' AND fin_verkoopfactuur_n1 IS NULL -- Onderscheid ADDD vs. FACT!
|
||
AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key
|
||
AND vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyymm')
|
||
ORDER BY vf.fin_verkoopfactuur_id;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_holiday NUMBER;
|
||
v_fact_count NUMBER;
|
||
v_amount_sum NUMBER (10, 2);
|
||
v_old_contract_key NUMBER (10);
|
||
v_factuur_id VARCHAR2 (30);
|
||
v_factkop_id VARCHAR2 (30);
|
||
v_verkoopfactuurkop_key NUMBER (10);
|
||
v_count NUMBER;
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_holiday
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1);
|
||
|
||
-- LET OP: 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) = 1 -- 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_contract_key := -1;
|
||
|
||
-- Factureer/bevries verhuurcontractkosten en verwerk=AV alle eventuele
|
||
-- correctiemeldingen.
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
IF rec.refkey != v_old_contract_key
|
||
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;
|
||
*/
|
||
IF rec.po_nr LIKE 'CHV%'
|
||
THEN
|
||
SELECT fac_s_user01.NEXTVAL INTO v_count FROM DUAL;
|
||
v_factuur_id := '1' || SUBSTR ('000000' || TO_CHAR (v_count), -6);
|
||
ELSE
|
||
SELECT fac_s_user02.NEXTVAL INTO v_count FROM DUAL;
|
||
v_factuur_id := '2' || SUBSTR ('000000' || TO_CHAR (v_count), -6);
|
||
END IF;
|
||
v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr;
|
||
|
||
INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id)
|
||
VALUES (v_factkop_id)
|
||
RETURNING fin_verkoopfactuurkop_key
|
||
INTO v_verkoopfactuurkop_key;
|
||
COMMIT;
|
||
|
||
v_old_contract_key := rec.refkey;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout toevoegen verkoopfactuur';
|
||
|
||
INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key,
|
||
fin_verkoopfactuur_id,
|
||
fin_verkoopfactuur_datum,
|
||
fin_verkoopfactuur_omschr,
|
||
fin_verkoopfactuur_xmlnode,
|
||
fin_verkoopfactuur_refkey,
|
||
prs_kostenplaats_key,
|
||
prs_kostenplaats_nr,
|
||
prs_kostenplaats_omschrijving,
|
||
prs_kostenplaatsgrp_oms,
|
||
prs_kostensoort_oms,
|
||
prs_kostensoort_opmerking,
|
||
prs_kostensoort_refcode,
|
||
prs_bedrijf_key,
|
||
prs_debiteur_naam,
|
||
prs_kostensoortgrp_oms,
|
||
fin_verkoopfactuur_bedrag,
|
||
fin_verkoopfactuur_btw,
|
||
fin_btwtabelwaarde_code,
|
||
fin_btwtabelwaarde_oms,
|
||
fin_btwtabelwaarde_perc,
|
||
fin_btwtabelwaarde_verlegd,
|
||
fin_verkoopfactuur_maand,
|
||
fin_verkoopfactuur_n1,
|
||
fin_verkoopfactuur_n2,
|
||
fin_verkoopfactuur_n3,
|
||
fin_verkoopfactuur_n4,
|
||
fin_verkoopfactuur_n5,
|
||
fin_verkoopfactuur_c1,
|
||
fin_verkoopfactuur_c2,
|
||
fin_verkoopfactuur_c3,
|
||
fin_verkoopfactuur_c4,
|
||
fin_verkoopfactuur_c5,
|
||
fin_verkoopfactuur_c6,
|
||
fin_verkoopfactuur_c7,
|
||
fin_verkoopfactuur_c8,
|
||
fin_verkoopfactuur_d1,
|
||
fin_verkoopfactuur_d2,
|
||
fin_verkoopfactuur_d3,
|
||
fin_verkoopfactuur_d4,
|
||
fin_verkoopfactuur_d5)
|
||
VALUES (v_verkoopfactuurkop_key,
|
||
v_factuur_id,
|
||
TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'),
|
||
rec.po_nr || '/=' || rec.sortering || rec.regel,
|
||
'contract',
|
||
rec.refkey,
|
||
rec.prs_kostenplaats_key,
|
||
rec.prs_kostenplaats_nr,
|
||
rec.prs_kostenplaats_omschrijving,
|
||
rec.prs_kostenplaatsgrp_oms,
|
||
rec.grtboekrek,
|
||
rec.grtboekrek,
|
||
rec.grtboekrek,
|
||
rec.prs_bedrijf_key,
|
||
rec.prs_debiteur_naam,
|
||
NULL,
|
||
rec.mndnet,
|
||
--rec.mndbtw,
|
||
ROUND ((rec.mndnet * rec.fin_btwtabelwaarde_perc) / 100, 2),
|
||
rec.fin_btwtabelwaarde_code,
|
||
rec.fin_btwtabelwaarde_oms,
|
||
rec.fin_btwtabelwaarde_perc,
|
||
rec.fin_btwtabelwaarde_verlegd,
|
||
rec.maand,
|
||
--rec.mld_melding_key, -- n1/correctiemelding
|
||
TO_NUMBER (NULL), -- n1
|
||
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
|
||
rec.debiteur_nr || '=' || rec.beschrijving, -- c7
|
||
NULL, -- c8
|
||
TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1
|
||
TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2
|
||
TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3
|
||
TO_DATE (rec.dagbegin, 'dd-mm-yyyy'), -- d4
|
||
TO_DATE (rec.dageinde, 'dd-mm-yyyy')); -- d5
|
||
COMMIT;
|
||
|
||
v_fact_count := v_fact_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.mndnet;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'FACT-freeze');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'FACT-verkoop/#regels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum));
|
||
|
||
-- Verstuur verkoopfactuur naar huurder.
|
||
FOR rec IN c2
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout toevoegen CUST01-noti';
|
||
|
||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
fac_notificatie_receiver_email,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
fac_notificatie_prioriteit,
|
||
fac_notificatie_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) + (7 / 24),
|
||
'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,
|
||
NULL beschrijving,
|
||
--DECODE (vf.fin_verkoopfactuur_xmlnode, 'reservering', vf.fin_verkoopfactuur_c4, NULL) contactpersoon,
|
||
NULL contactpersoon, -- TODO: Nvt. op correctiefactuur/Alleen RES?
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur!
|
||
TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur!
|
||
TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur!
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- 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 beschrijving,
|
||
NULL contactpersoon, -- TODO: Nvt. op correctiefactuur/Alleen RES?
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur!
|
||
TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur!
|
||
TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur!
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- 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 beschrijving,
|
||
NULL contactpersoon, -- TODO: Nvt. op correctiefactuur/Alleen RES?
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur!
|
||
TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur!
|
||
TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur!
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- 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 beschrijving,
|
||
NULL contactpersoon, -- TODO: Nvt. op correctiefactuur/Alleen RES?
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur!
|
||
TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur!
|
||
TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur!
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- 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 beschrijving,
|
||
NULL contactpersoon, -- TODO: Nvt. op correctiefactuur/Alleen RES?
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
vf.fin_verkoopfactuur_maand maand, -- Overnemen van te corrigeren factuur!
|
||
TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, -- Overnemen van te corrigeren factuur!
|
||
TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, -- Overnemen van te corrigeren factuur!
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- 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,
|
||
DECODE (m.mld_stdmelding_key, 1641, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr,
|
||
--NULL btw_nr,
|
||
NULL beschrijving,
|
||
TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
TO_CHAR (SYSDATE, 'yyyymm') maand,
|
||
TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde,
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- 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
|
||
WHERE km.mld_kenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD
|
||
prs_contactpersoon cp,
|
||
prs_bedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
--(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
-- FROM prs_kenmerklink
|
||
-- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd
|
||
(SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = -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 = cmdnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = chvnr.prs_link_key(+)
|
||
--AND b.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND m.mld_melding_key = po.mld_melding_key(+)
|
||
--AND m.mld_melding_key = m2c.mld_melding_key(+)
|
||
AND m.mld_melding_key = cb.mld_melding_key
|
||
AND m.mld_melding_key = btw.mld_melding_key
|
||
AND m.mld_melding_key = ro.mld_melding_key
|
||
AND m.mld_melding_key = mkp.mld_melding_key(+)
|
||
AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND m.mld_melding_key = ks.mld_melding_key
|
||
UNION ALL
|
||
SELECT '*CONCEPT*' 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,
|
||
DECODE (m.mld_stdmelding_key, 1641, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr,
|
||
--NULL btw_nr,
|
||
NULL beschrijving,
|
||
TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
TO_CHAR (SYSDATE, 'yyyymm') maand,
|
||
TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde,
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- 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
|
||
WHERE km.mld_kenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD
|
||
prs_contactpersoon cp,
|
||
prs_bedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
--(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
-- FROM prs_kenmerklink
|
||
-- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd
|
||
(SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = -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 = cmdnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = chvnr.prs_link_key(+)
|
||
--AND b.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND m.mld_melding_key = po.mld_melding_key(+)
|
||
--AND m.mld_melding_key = m2c.mld_melding_key(+)
|
||
AND m.mld_melding_key = cb.mld_melding_key
|
||
AND m.mld_melding_key = btw.mld_melding_key
|
||
AND m.mld_melding_key = ro.mld_melding_key
|
||
AND m.mld_melding_key = mkp.mld_melding_key(+)
|
||
AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND m.mld_melding_key = ks.mld_melding_key
|
||
UNION ALL
|
||
SELECT '*CONCEPT*' 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,
|
||
DECODE (m.mld_stdmelding_key, 1641, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr,
|
||
--NULL btw_nr,
|
||
NULL beschrijving,
|
||
TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
TO_CHAR (SYSDATE, 'yyyymm') maand,
|
||
TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde,
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- 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
|
||
WHERE km.mld_kenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD
|
||
prs_contactpersoon cp,
|
||
prs_bedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
--(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
-- FROM prs_kenmerklink
|
||
-- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd
|
||
(SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = -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 = cmdnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = chvnr.prs_link_key(+)
|
||
--AND b.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND m.mld_melding_key = po.mld_melding_key(+)
|
||
--AND m.mld_melding_key = m2c.mld_melding_key(+)
|
||
AND m.mld_melding_key = cb.mld_melding_key
|
||
AND m.mld_melding_key = btw.mld_melding_key
|
||
AND m.mld_melding_key = ro.mld_melding_key
|
||
AND m.mld_melding_key = mkp.mld_melding_key(+)
|
||
AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND m.mld_melding_key = ks.mld_melding_key
|
||
UNION ALL
|
||
SELECT '*CONCEPT*' 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,
|
||
DECODE (m.mld_stdmelding_key, 1641, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr,
|
||
--NULL btw_nr,
|
||
NULL beschrijving,
|
||
TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
TO_CHAR (SYSDATE, 'yyyymm') maand,
|
||
TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde,
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- 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
|
||
WHERE km.mld_kenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD
|
||
prs_contactpersoon cp,
|
||
prs_bedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
--(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
-- FROM prs_kenmerklink
|
||
-- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd
|
||
(SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = -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 = cmdnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = chvnr.prs_link_key(+)
|
||
--AND b.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND m.mld_melding_key = po.mld_melding_key(+)
|
||
--AND m.mld_melding_key = m2c.mld_melding_key(+)
|
||
AND m.mld_melding_key = cb.mld_melding_key
|
||
AND m.mld_melding_key = btw.mld_melding_key
|
||
AND m.mld_melding_key = ro.mld_melding_key
|
||
AND m.mld_melding_key = mkp.mld_melding_key(+)
|
||
AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND m.mld_melding_key = ks.mld_melding_key
|
||
UNION ALL
|
||
SELECT '*CONCEPT*' 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,
|
||
DECODE (m.mld_stdmelding_key, 1641, TRIM (chvnr.prs_kenmerklink_waarde), TRIM (cmdnr.prs_kenmerklink_waarde)) debiteur_nr,
|
||
--NULL btw_nr,
|
||
NULL beschrijving,
|
||
TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', btw.code) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', btw.oms) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, btw.perc) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
TO_CHAR (SYSDATE, 'yyyymm') maand,
|
||
TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde,
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- 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
|
||
WHERE km.mld_kenmerk_key IN (881, 882)) deb, -- Debiteur CHV/CMD
|
||
prs_contactpersoon cp,
|
||
prs_bedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
--(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
-- FROM prs_kenmerklink
|
||
-- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd
|
||
(SELECT mld_melding_key, mld_kenmerkmelding_waarde waarde
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = -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 = cmdnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = chvnr.prs_link_key(+)
|
||
--AND b.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND m.mld_melding_key = po.mld_melding_key(+)
|
||
--AND m.mld_melding_key = m2c.mld_melding_key(+)
|
||
AND m.mld_melding_key = cb.mld_melding_key
|
||
AND m.mld_melding_key = btw.mld_melding_key
|
||
AND m.mld_melding_key = ro.mld_melding_key
|
||
AND m.mld_melding_key = mkp.mld_melding_key(+)
|
||
AND mkp.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND m.mld_melding_key = ks.mld_melding_key;
|
||
|
||
CREATE OR REPLACE VIEW bssc_v_addd_actual
|
||
AS
|
||
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
|
||
DECODE (x.res_activiteit_key, 30, 'Vergadering ', 50, 'Event ', 'Roomservice ') || 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, TRIM (x.prs_kenmerklink_waarde) debiteur_nr,
|
||
NULL beschrijving,
|
||
x.contactpersoon, -- !!!
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')) fin_btwtabelwaarde_code,
|
||
DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')) fin_btwtabelwaarde_oms,
|
||
DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 9, 21)) fin_btwtabelwaarde_perc,
|
||
DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
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 (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,
|
||
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,
|
||
rrr.res_activiteit_key
|
||
FROM lopendeperiode lp,
|
||
res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
(SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) debiteur_id
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 261) rh, -- Debiteur
|
||
prs_contactpersoon 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) btwvl, -- BTW verlegd
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
res_ruimte rr,
|
||
res_discipline rd,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_activiteit_key IN (30, 50) -- Vergadering/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 = 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 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 (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,
|
||
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,
|
||
rrr.res_activiteit_key
|
||
FROM lopendeperiode lp,
|
||
res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
(SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) debiteur_id
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 261) rh, -- Debiteur
|
||
prs_contactpersoon 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) btwvl, -- BTW verlegd
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
res_ruimte rr,
|
||
res_discipline rd,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_activiteit_key IN (30, 50) -- Vergadering+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 = 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 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 (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 (rra.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,
|
||
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,
|
||
rrr.res_activiteit_key
|
||
FROM lopendeperiode lp,
|
||
res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
(SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) debiteur_id
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 261) rh, -- Debiteur
|
||
prs_contactpersoon 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) btwvl, -- BTW verlegd
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
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 IN (30, 50, 90) -- Vergadering/Events/Roomservice!
|
||
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 = 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 rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_discipline_key = rd.ins_discipline_key
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
UNION ALL -- Middelen-regels
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id,
|
||
h.prs_bedrijf_key,
|
||
TRIM (h.prs_bedrijf_naam) prs_bedrijf_naam,
|
||
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,
|
||
3 volgnr,
|
||
rrd.res_rsv_deel_aantal aantal,
|
||
LTRIM (rrd.res_deel_omschrijving) || ' [' || TO_CHAR (rrd.res_rsv_deel_van, 'dd-mm-yyyy') || ']' res_voorziening,
|
||
rrd.res_rsv_deel_van reslev,
|
||
rrd.res_rsv_deel_prijs verw_prijs,
|
||
rrd.res_rsv_deel_aantal * rrd.res_deel_prijs prijs,
|
||
rrd.btw,
|
||
enk.res_kenmerkreservering_waarde en,
|
||
DECODE (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,
|
||
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,
|
||
rrr.res_activiteit_key
|
||
FROM lopendeperiode lp,
|
||
res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
(SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) debiteur_id
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 261) rh, -- Debiteur
|
||
prs_contactpersoon 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) btwvl, -- BTW verlegd
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
(SELECT rrd.res_rsv_ruimte_key,
|
||
rrd.res_rsv_deel_van,
|
||
rrd.res_rsv_deel_prijs,
|
||
rrd.res_rsv_deel_aantal,
|
||
rd.res_deel_prijs,
|
||
'VH' btw, -- TODO:Alles VH?
|
||
rd.res_discipline_key,
|
||
rd.res_deel_omschrijving,
|
||
rd.res_deel_eenheid
|
||
FROM res_v_aanwezigrsv_deel rrd, res_deel rd
|
||
WHERE rrd.res_rsv_deel_van > TO_DATE ('20210101', 'yyyymmdd')
|
||
AND rrd.res_rsv_deel_van < TRUNC (SYSDATE + 1)
|
||
AND rrd.res_status_bo_key = 5 -- Afgemeld
|
||
AND rrd.res_rsv_deel_dirtlevel = 0
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key <> 1921) rrd, -- SSC Parkeren
|
||
res_discipline rd,
|
||
prs_kostensoort ks
|
||
WHERE 1 = 0 --TODO:rrr.res_activiteit_key IN (30, 50, 90) -- Vergadering/Events/Roomservice!
|
||
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 = 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 rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key
|
||
AND rrd.res_discipline_key = rd.ins_discipline_key
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)) x,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr
|
||
WHERE x.prs_bedrijf_key = cmd.prs_link_key(+)
|
||
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),
|
||
DECODE (x.res_activiteit_key, 30, 'Vergadering ', 50, 'Event ', 'Roomservice ') || 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, TRIM (x.prs_kenmerklink_waarde),
|
||
NULL,
|
||
x.contactpersoon, -- !!!
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')),
|
||
DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')),
|
||
DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 9, 21)),
|
||
DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)),
|
||
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, beschrijving, contactpersoon,
|
||
adres, postcode, plaats, land,
|
||
prs_kostenplaats_key, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaatsgrp_oms,
|
||
fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd,
|
||
maand, mndbegin, mndeinde, dagbegin, dageinde, mndbes, mndbez,
|
||
aantal, 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, beschrijving, contactpersoon,
|
||
adres, postcode, plaats, land,
|
||
prs_kostenplaats_key, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostenplaatsgrp_oms,
|
||
fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc, fin_btwtabelwaarde_verlegd,
|
||
maand, mndbegin, mndeinde, dagbegin, dageinde, mndbes, mndbez,
|
||
aantal, 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,
|
||
DECODE (vf.fin_verkoopfactuur_xmlnode,
|
||
'reservering', SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 16),
|
||
SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 2))
|
||
sortering,
|
||
--SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 18) regel,
|
||
DECODE (vf.fin_verkoopfactuur_xmlnode,
|
||
'reservering', SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 18),
|
||
SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 4))
|
||
regel,
|
||
vf.fin_verkoopfactuur_c5 aanvrager,
|
||
vf.fin_verkoopfactuur_c6 regel_oms,
|
||
TO_CHAR (vf.fin_verkoopfactuur_datum, 'dd-mm-yyyy') factuurdatum, TO_CHAR (vf.fin_verkoopfactuur_d1, 'dd-mm-yyyy') vervaldatum,
|
||
vf.fin_verkoopfactuur_xmlnode xmlnode,
|
||
vf.fin_verkoopfactuur_refkey refkey, -- !!!
|
||
DECODE (vf.fin_verkoopfactuur_xmlnode, 'reservering', TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr), 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) beschrijving,
|
||
vf.fin_verkoopfactuur_c4 contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, -- Niet historisch bewaard!
|
||
vf.prs_kostenplaats_key, vf.prs_kostenplaats_nr, vf.prs_kostenplaats_omschrijving, vf.prs_kostenplaatsgrp_oms,
|
||
vf.fin_btwtabelwaarde_code,
|
||
vf.fin_btwtabelwaarde_oms,
|
||
vf.fin_btwtabelwaarde_perc,
|
||
vf.fin_btwtabelwaarde_verlegd,
|
||
vf.fin_verkoopfactuur_maand maand,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde,
|
||
NULL dagbegin,
|
||
NULL dageinde,
|
||
TO_NUMBER (NULL) mndbes,
|
||
TO_NUMBER (NULL) mndbez,
|
||
TO_NUMBER (NULL) aantal, -- 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;
|
||
|
||
CREATE OR REPLACE PROCEDURE bssc_select_addd (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
CURSOR c1a -- RES-kosten
|
||
IS
|
||
SELECT '[' || v.regel || '|' || v.prs_debiteur_naam || '] ' aanduiding,
|
||
v.*
|
||
FROM bssc_v_addd_actual v
|
||
WHERE v.xmlnode = 'reservering' -- TODO:VRIJGEGEVEN!!!
|
||
ORDER BY v.prs_bedrijf_key,
|
||
v.po_nr, -- Factuur per vrijgegeven event/po
|
||
v.sortering;
|
||
|
||
-- Factureer/bevries ADDD-correcties en verwerk=AV alle correctiemeldingen!
|
||
CURSOR c1c
|
||
IS
|
||
SELECT '[' || v.regel_oms || '|' || v.prs_debiteur_naam || '|' || REPLACE (REPLACE (REPLACE (v.regel, CHR (10), ''), CHR (13), ' '), '=', '~') || '] ' aanduiding,
|
||
v.*,
|
||
m.mld_melding_status
|
||
FROM bssc_v_addd_correctie v, mld_melding m -- TODO:VRIJGEGEVEN!!!
|
||
WHERE v.refkey = m.mld_melding_key -- Dagelijkse correctiefacturatie (na vrijgave)
|
||
ORDER BY v.prs_bedrijf_key,
|
||
v.regel_oms, -- Factuur per te corrigeren verkoopfactuur
|
||
v.mld_melding_key,
|
||
v.sortering;
|
||
|
||
-- Factureer/bevries ADDD-losverkopen en verwerk=AV alle losverkoopmeldingen!
|
||
CURSOR c1d
|
||
IS
|
||
SELECT '[' || v.regel_oms || '|' || v.prs_debiteur_naam || '|' || REPLACE (REPLACE (REPLACE (v.regel, CHR (10), ''), CHR (13), ' '), '=', '~') || '] ' aanduiding,
|
||
v.*,
|
||
m.mld_melding_status
|
||
FROM bssc_v_addd_losverkoop v, mld_melding m -- TODO:VRIJGEGEVEN!!!
|
||
WHERE v.refkey = m.mld_melding_key -- Dagelijkse losverkoopfacturatie (na vrijgave)
|
||
ORDER BY v.prs_bedrijf_key,
|
||
v.mld_melding_key, -- Factuur per losverkoopmelding
|
||
v.sortering;
|
||
|
||
-- Verstuur verkoopfactuur naar huurder.
|
||
CURSOR c2
|
||
IS
|
||
SELECT '[' || vf.fin_verkoopfactuur_id || '|' || vf.fin_verkoopfactuur_maand || '|' || vf.prs_debiteur_naam || '] ' aanduiding,
|
||
vf.fin_verkoopfactuur_xmlnode,
|
||
vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_maand, vf.prs_debiteur_naam,
|
||
vfk.fin_verkoopfactuurkop_key, vfk.fin_verkoopfactuurkop_id,
|
||
b.prs_bedrijf_email,
|
||
MAX (fin_verkoopfactuur_n1) mld_melding_key
|
||
FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b
|
||
WHERE (vf.fin_verkoopfactuur_xmlnode = 'reservering' OR vf.fin_verkoopfactuur_n1 IS NOT NULL) -- Onderscheid ADDD vs. FACT!
|
||
AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key
|
||
AND vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND vf.fin_verkoopfactuur_aanmaak > TRUNC (SYSDATE) -- Zojuist/vannacht aangemaakt en dus nog niet gefactureerd(/genotificeerd)!
|
||
GROUP BY '[' || vf.fin_verkoopfactuur_id || '|' || vf.fin_verkoopfactuur_maand || '|' || vf.prs_debiteur_naam || '] ',
|
||
vf.fin_verkoopfactuur_xmlnode,
|
||
vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_maand, vf.prs_debiteur_naam,
|
||
vfk.fin_verkoopfactuurkop_key, vfk.fin_verkoopfactuurkop_id,
|
||
b.prs_bedrijf_email
|
||
ORDER BY vf.fin_verkoopfactuur_id;
|
||
|
||
-- Verwerk reserveringen (in juiste volgorde)! TODO:Kunnen objecten ook worden gefactureerd?
|
||
CURSOR c3
|
||
IS
|
||
SELECT DISTINCT '[' || TO_CHAR (rra.res_rsv_ruimte_key) || '|' || TO_CHAR (rra.res_rsv_artikel_key) || '] ' aanduiding,
|
||
rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_key,
|
||
rra.res_status_bo_key,
|
||
rra.res_artikel_key
|
||
FROM fin_verkoopfactuur vf, res_v_aanwezigrsv_artikel rra
|
||
WHERE vf.fin_verkoopfactuur_xmlnode = 'reservering'
|
||
AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm')
|
||
AND vf.fin_verkoopfactuur_refkey = rra.res_rsv_ruimte_key
|
||
UNION ALL
|
||
SELECT DISTINCT '[' || TO_CHAR (rrr.res_rsv_ruimte_key) || '] ' aanduiding,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL res_rsv_artikel_key,
|
||
rrr.res_status_bo_key,
|
||
NULL res_artikel_key
|
||
FROM fin_verkoopfactuur vf, res_v_aanwezigrsv_ruimte rrr
|
||
WHERE vf.fin_verkoopfactuur_xmlnode = 'reservering'
|
||
AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm')
|
||
AND vf.fin_verkoopfactuur_refkey = rrr.res_rsv_ruimte_key
|
||
ORDER BY 3, 2;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_holiday NUMBER;
|
||
v_fact_count NUMBER;
|
||
v_amount_sum NUMBER (10, 2);
|
||
v_old_bedrijf_key NUMBER (10);
|
||
v_old_po_nr VARCHAR2 (50);
|
||
v_old_melding_oms VARCHAR2 (200); -- Factuur per te corrigeren verkoopfactuur!
|
||
v_factuur_id VARCHAR2 (30);
|
||
v_factkop_id VARCHAR2 (30);
|
||
v_verkoopfactuurkop_key NUMBER (10);
|
||
v_count NUMBER;
|
||
v_prijs NUMBER (9, 2);
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_holiday
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1);
|
||
|
||
IF 1 = 1 -- Vrijgegeven is die nacht factureren!
|
||
THEN
|
||
v_fact_count := 0;
|
||
v_amount_sum := 0;
|
||
v_old_bedrijf_key := -1;
|
||
v_old_po_nr := '';
|
||
|
||
-- Factureer/bevries kosten van additionele diensten en verwerk=AV alle
|
||
-- eventuele correctiemeldingen.
|
||
FOR rec IN c1a
|
||
LOOP
|
||
BEGIN
|
||
IF rec.mndnet != 0 AND (rec.prs_bedrijf_key != v_old_bedrijf_key OR rec.po_nr != v_old_po_nr)
|
||
THEN
|
||
IF rec.po_nr LIKE 'CHV%'
|
||
THEN
|
||
SELECT fac_s_user01.NEXTVAL INTO v_count FROM DUAL;
|
||
v_factuur_id := '1' || SUBSTR ('000000' || TO_CHAR (v_count), -6);
|
||
ELSE
|
||
SELECT fac_s_user02.NEXTVAL INTO v_count FROM DUAL;
|
||
v_factuur_id := '2' || SUBSTR ('000000' || TO_CHAR (v_count), -6);
|
||
END IF;
|
||
v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr;
|
||
|
||
INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id)
|
||
VALUES (v_factkop_id)
|
||
RETURNING fin_verkoopfactuurkop_key
|
||
INTO v_verkoopfactuurkop_key;
|
||
COMMIT;
|
||
|
||
v_old_bedrijf_key := rec.prs_bedrijf_key;
|
||
v_old_po_nr := rec.po_nr;
|
||
END IF;
|
||
|
||
IF rec.mndnet != 0
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen verkoopfactuur';
|
||
|
||
INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key,
|
||
fin_verkoopfactuur_id,
|
||
fin_verkoopfactuur_datum,
|
||
fin_verkoopfactuur_omschr,
|
||
fin_verkoopfactuur_xmlnode,
|
||
fin_verkoopfactuur_refkey,
|
||
prs_kostenplaats_key,
|
||
prs_kostenplaats_nr,
|
||
prs_kostenplaats_omschrijving,
|
||
prs_kostenplaatsgrp_oms,
|
||
prs_kostensoort_oms,
|
||
prs_kostensoort_opmerking,
|
||
prs_kostensoort_refcode,
|
||
prs_bedrijf_key,
|
||
prs_debiteur_naam,
|
||
prs_kostensoortgrp_oms,
|
||
fin_verkoopfactuur_bedrag,
|
||
fin_verkoopfactuur_btw,
|
||
fin_btwtabelwaarde_code,
|
||
fin_btwtabelwaarde_oms,
|
||
fin_btwtabelwaarde_perc,
|
||
fin_btwtabelwaarde_verlegd,
|
||
fin_verkoopfactuur_maand,
|
||
fin_verkoopfactuur_n1,
|
||
fin_verkoopfactuur_n2,
|
||
fin_verkoopfactuur_n3,
|
||
fin_verkoopfactuur_n4,
|
||
fin_verkoopfactuur_n5,
|
||
fin_verkoopfactuur_c1,
|
||
fin_verkoopfactuur_c2,
|
||
fin_verkoopfactuur_c3,
|
||
fin_verkoopfactuur_c4,
|
||
fin_verkoopfactuur_c5,
|
||
fin_verkoopfactuur_c6,
|
||
fin_verkoopfactuur_c7,
|
||
fin_verkoopfactuur_c8,
|
||
fin_verkoopfactuur_d1,
|
||
fin_verkoopfactuur_d2,
|
||
fin_verkoopfactuur_d3,
|
||
fin_verkoopfactuur_d4,
|
||
fin_verkoopfactuur_d5)
|
||
VALUES (v_verkoopfactuurkop_key,
|
||
v_factuur_id,
|
||
TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'),
|
||
--rec.regel || '=' || rec.refid,
|
||
rec.po_nr || '/=' || rec.sortering || rec.regel,
|
||
rec.xmlnode,
|
||
rec.refkey,
|
||
rec.prs_kostenplaats_key,
|
||
rec.prs_kostenplaats_nr,
|
||
rec.prs_kostenplaats_omschrijving,
|
||
rec.prs_kostenplaatsgrp_oms,
|
||
rec.grtboekrek,
|
||
rec.grtboekrek,
|
||
rec.grtboekrek,
|
||
rec.prs_bedrijf_key,
|
||
rec.prs_debiteur_naam,
|
||
NULL,
|
||
rec.mndnet,
|
||
rec.mndbtw,
|
||
rec.fin_btwtabelwaarde_code,
|
||
rec.fin_btwtabelwaarde_oms,
|
||
rec.fin_btwtabelwaarde_perc,
|
||
rec.fin_btwtabelwaarde_verlegd,
|
||
rec.maand,
|
||
rec.mld_melding_key, -- n1/correctiemelding
|
||
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.beschrijving, -- c7
|
||
NULL, -- c8
|
||
TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1
|
||
TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2
|
||
TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3
|
||
TO_DATE (NULL), -- d4
|
||
TO_DATE (NULL)); -- d5
|
||
COMMIT;
|
||
|
||
v_fact_count := v_fact_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.mndnet;
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD[a]-freeze');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'ADDD[a]-verkoop/#regels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum));
|
||
|
||
-- Verstuur verkoopfactuur naar huurder.
|
||
FOR rec IN c2
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout toevoegen CUST02-noti';
|
||
|
||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
fac_notificatie_receiver_email,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
fac_notificatie_prioriteit,
|
||
fac_notificatie_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',
|
||
'finance.smartservices@brightlands.com'), -- TODO:rec.prs_bedrijf_email || ';finance.smartservices@brightlands.com'),
|
||
'Factuur ' || rec.fin_verkoopfactuur_id || ' ' || rec.fin_verkoopfactuur_maand || ' ' || rec.prs_debiteur_naam,
|
||
rec.fin_verkoopfactuurkop_key,
|
||
2, -- Prioriteit
|
||
TRUNC (SYSDATE) + (7 / 24),
|
||
'finance.smartservices@brightlands.com',
|
||
'/../../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, 'ADDD[a]-noti');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
FOR rec IN c3
|
||
LOOP
|
||
BEGIN
|
||
IF rec.res_rsv_artikel_key IS NOT NULL
|
||
THEN -- Catering-regel
|
||
IF rec.res_status_bo_key = 2
|
||
THEN
|
||
v_errormsg := 'Fout bepalen res_rsv_artikel_prijs';
|
||
|
||
SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
|
||
INTO v_prijs
|
||
FROM DUAL;
|
||
|
||
v_errormsg := 'Fout afmelden res_rsv_artikel';
|
||
|
||
UPDATE res_rsv_artikel
|
||
SET res_status_bo_key = 5,
|
||
res_rsv_artikel_prijs = v_prijs,
|
||
res_rsv_artikel_inkoopprijs =
|
||
(SELECT res_artikel_inkoopprijs
|
||
FROM res_artikel
|
||
WHERE res_artikel_key = rec.res_artikel_key),
|
||
res_rsv_artikel_btw =
|
||
(SELECT res_artikel_btw
|
||
FROM res_artikel
|
||
WHERE res_artikel_key = rec.res_artikel_key)
|
||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
|
||
v_errormsg := 'Fout tracken afmelding';
|
||
|
||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering afgemeld');
|
||
END IF;
|
||
|
||
IF rec.res_status_bo_key != 6
|
||
THEN
|
||
v_errormsg := 'Fout verwerken res_rsv_artikel';
|
||
|
||
UPDATE res_rsv_artikel
|
||
SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-date)
|
||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
|
||
v_errormsg := 'Fout tracken verwerking';
|
||
|
||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering verwerkt');
|
||
END IF;
|
||
ELSE -- Ruimte-regel
|
||
IF rec.res_status_bo_key = 2
|
||
THEN
|
||
v_errormsg := 'Fout bepalen res_rsv_ruimte_prijs';
|
||
|
||
SELECT res.getruimteprijs (rec.res_rsv_ruimte_key)
|
||
INTO v_prijs
|
||
FROM DUAL;
|
||
|
||
v_errormsg := 'Fout afmelden res_rsv_ruimte';
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_status_bo_key = 5,
|
||
res_rsv_ruimte_prijs = v_prijs
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
v_errormsg := 'Fout tracken afmelding';
|
||
|
||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
|
||
END IF;
|
||
|
||
IF rec.res_status_bo_key != 6
|
||
THEN
|
||
v_errormsg := 'Fout verwerken res_rsv_ruimte';
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_status_bo_key = 6 -- AV
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
v_errormsg := 'Fout tracken verwerking';
|
||
|
||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
|
||
END IF;
|
||
END IF;
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'W', rec.aanduiding || v_errormsg, 'ADDD[a]-AV');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
END IF;
|
||
|
||
-- LET OP: ADDD-export correctie- <20>n losverkoopfacturen (= boekingsgangen)
|
||
-- draait dagelijks na middernacht (begin van dag) en de verkoop wordt ook
|
||
-- elke nacht doorgezet (mits vrijgegeven!).
|
||
IF 1 = 1
|
||
THEN
|
||
v_fact_count := 0;
|
||
v_amount_sum := 0;
|
||
v_old_melding_oms := 'Quqelequ'; -- Factuur per te corrigeren verkoopfactuur!
|
||
|
||
-- Factureer/bevries ADDD-correctiekosten en verwerk=AV correctiemeldingen.
|
||
FOR rec IN c1c
|
||
LOOP
|
||
BEGIN
|
||
IF rec.mndnet != 0 AND rec.regel_oms != v_old_melding_oms
|
||
THEN
|
||
IF rec.po_nr LIKE 'CHV%'
|
||
THEN
|
||
SELECT fac_s_user01.NEXTVAL INTO v_count FROM DUAL;
|
||
v_factuur_id := '1' || SUBSTR ('000000' || TO_CHAR (v_count), -6);
|
||
ELSE
|
||
SELECT fac_s_user02.NEXTVAL INTO v_count FROM DUAL;
|
||
v_factuur_id := '2' || SUBSTR ('000000' || TO_CHAR (v_count), -6);
|
||
END IF;
|
||
v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr;
|
||
|
||
INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id)
|
||
VALUES (v_factkop_id)
|
||
RETURNING fin_verkoopfactuurkop_key
|
||
INTO v_verkoopfactuurkop_key;
|
||
COMMIT;
|
||
|
||
v_old_melding_oms := rec.regel_oms;
|
||
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.beschrijving, -- c7
|
||
NULL, -- c8
|
||
TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1
|
||
TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2
|
||
TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3
|
||
TO_DATE (NULL), -- d4
|
||
TO_DATE (NULL)); -- d5
|
||
COMMIT;
|
||
|
||
v_fact_count := v_fact_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.mndnet;
|
||
END IF;
|
||
|
||
-- BLCC#64642: Registreren 'Gefactureerd met' bij correctiemelding!
|
||
--v_errormsg := 'Fout bepalen Gefactureerd-kenmerkmelding';
|
||
|
||
--SELECT COUNT (*)
|
||
-- INTO v_count
|
||
-- FROM mld_v_aanwezigkenmerkmelding
|
||
-- WHERE mld_melding_key = rec.mld_melding_key
|
||
-- AND mld_kenmerk_key = c_cm_factid_kkey;
|
||
|
||
--IF v_count = 0
|
||
--THEN
|
||
-- v_errormsg := 'Fout toevoegen Gefactureerd-kenmerkmelding';
|
||
|
||
-- INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
|
||
-- VALUES (rec.mld_melding_key, c_cm_factid_kkey, v_factuur_id);
|
||
--ELSE
|
||
-- v_errormsg := 'Fout bijwerken Gefactureerd-kenmerkmelding';
|
||
|
||
-- UPDATE mld_kenmerkmelding
|
||
-- SET mld_kenmerkmelding_waarde = v_factuur_id
|
||
-- WHERE mld_melding_key = rec.mld_melding_key
|
||
-- AND mld_kenmerk_key = c_cm_factid_kkey;
|
||
--END IF;
|
||
|
||
v_errormsg := 'Fout verwerken correctiemelding';
|
||
|
||
-- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus dan
|
||
-- eerst afmelden (als nog niet Afgemeld)!
|
||
IF (rec.mld_melding_status = 4) -- ACP
|
||
THEN
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM
|
||
END IF;
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD-freeze');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'ADDD[c]-verkoop/#correctieregels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum));
|
||
|
||
v_fact_count := 0;
|
||
v_amount_sum := 0;
|
||
v_old_melding_oms := 'Quqelequ'; -- Factuur per te corrigeren verkoopfactuur!
|
||
|
||
-- Factureer/bevries ADDD-losverkoopkosten en verwerk=AV losverkoopmeldingen.
|
||
FOR rec IN c1d
|
||
LOOP
|
||
BEGIN
|
||
IF rec.mndnet != 0 AND rec.regel_oms != v_old_melding_oms
|
||
THEN
|
||
IF rec.po_nr LIKE 'CHV%'
|
||
THEN
|
||
SELECT fac_s_user01.NEXTVAL INTO v_count FROM DUAL;
|
||
v_factuur_id := '1' || SUBSTR ('000000' || TO_CHAR (v_count), -6);
|
||
ELSE
|
||
SELECT fac_s_user02.NEXTVAL INTO v_count FROM DUAL;
|
||
v_factuur_id := '2' || SUBSTR ('000000' || TO_CHAR (v_count), -6);
|
||
END IF;
|
||
v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr;
|
||
|
||
INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id)
|
||
VALUES (v_factkop_id)
|
||
RETURNING fin_verkoopfactuurkop_key
|
||
INTO v_verkoopfactuurkop_key;
|
||
COMMIT;
|
||
|
||
v_old_melding_oms := rec.regel_oms;
|
||
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.beschrijving, -- c7
|
||
NULL, -- c8
|
||
TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1
|
||
TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2
|
||
TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3
|
||
TO_DATE (NULL), -- d4
|
||
TO_DATE (NULL)); -- d5
|
||
COMMIT;
|
||
|
||
v_fact_count := v_fact_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.mndnet;
|
||
END IF;
|
||
|
||
-- BLCC#64642: Registreren 'Gefactureerd met' bij losverkoopmelding!
|
||
--v_errormsg := 'Fout bepalen Gefactureerd-kenmerkmelding';
|
||
|
||
--SELECT COUNT (*)
|
||
-- INTO v_count
|
||
-- FROM mld_v_aanwezigkenmerkmelding
|
||
-- WHERE mld_melding_key = rec.mld_melding_key
|
||
-- AND mld_kenmerk_key = c_lvm_factid_kkey;
|
||
|
||
--IF v_count = 0
|
||
--THEN
|
||
-- v_errormsg := 'Fout toevoegen Gefactureerd-kenmerkmelding';
|
||
|
||
-- INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
|
||
-- VALUES (rec.mld_melding_key, c_lvm_factid_kkey, v_factuur_id);
|
||
--ELSE
|
||
-- v_errormsg := 'Fout bijwerken Gefactureerd-kenmerkmelding';
|
||
|
||
-- UPDATE mld_kenmerkmelding
|
||
-- SET mld_kenmerkmelding_waarde = v_factuur_id
|
||
-- WHERE mld_melding_key = rec.mld_melding_key
|
||
-- AND mld_kenmerk_key = c_lvm_factid_kkey;
|
||
--END IF;
|
||
|
||
v_errormsg := 'Fout verwerken losverkoopmelding';
|
||
|
||
-- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus dan
|
||
-- eerst afmelden (als nog niet Afgemeld)!
|
||
IF (rec.mld_melding_status = 4) -- ACP
|
||
THEN
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM
|
||
END IF;
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD-freeze');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'ADDD[d]-verkoop/#losverkooopregels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum));
|
||
|
||
-- Verstuur correctie- of losverkoopfactuur naar huurder/relatie.
|
||
FOR rec IN c2
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout toevoegen CUST02-noti';
|
||
|
||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
fac_notificatie_receiver_email,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
fac_notificatie_prioriteit,
|
||
fac_notificatie_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',
|
||
'finance.smartservices@brightlands.com'), -- TODO:rec.prs_bedrijf_email || ';finance.smartservices@brightlands.com'),
|
||
'Factuur ' || rec.fin_verkoopfactuur_id || ' ' || rec.fin_verkoopfactuur_maand || ' ' || rec.prs_debiteur_naam,
|
||
rec.fin_verkoopfactuurkop_key,
|
||
2, -- Prioriteit
|
||
TRUNC (SYSDATE) + (7 / 24),
|
||
'finance.smartservices@brightlands.com',
|
||
'/../../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, 'ADDD[a]-noti');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', v_errormsg, 'ADDD-export afgebroken!');
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW bssc_v_rap_export_tf_chv
|
||
(
|
||
hide_f_sortering,
|
||
fclt_x_maand,
|
||
code,
|
||
currency,
|
||
tfdate,
|
||
period,
|
||
invoicenumber,
|
||
duedate,
|
||
tfnumber,
|
||
gl_account,
|
||
ap,
|
||
project,
|
||
amount,
|
||
debitcredit,
|
||
description,
|
||
vatcode,
|
||
goods_services,
|
||
landcode,
|
||
vatnumber,
|
||
preformancedate,
|
||
mldver,
|
||
sync_id
|
||
)
|
||
AS
|
||
SELECT ROWNUM,
|
||
REPLACE (periode, '/', '-') periode,
|
||
code,
|
||
valuta,
|
||
REPLACE (factuurdatum, '-', '/') factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
REPLACE (vervaldatum, '-', '/') vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
fac.gettrackingdate ('MLDVER', mld_melding_key) mldver,
|
||
SUBSTR (factuurdatum, 7, 4) || SUBSTR (factuurdatum, 4, 2) || SUBSTR (factuurdatum, 1, 2) -- Sync_id = factuurdatum!
|
||
sync_id -- BLCC#62974: Unieke identificatie!
|
||
FROM ( -- *** ADDD ***
|
||
SELECT fin_verkoopfactuur_id || '0000' || debiteur_nr sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
factuurdatum,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode,
|
||
fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'1300' grtboekrek, -- Hard op '1300'
|
||
debiteur_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
netsum bedrag, -- Totaalbedrag incl. BTW per factuur!
|
||
'debit' debitcredit,
|
||
TRIM (DECODE (aant, 1, tfoms, SUBSTR (tfoms, 1, INSTR (tfoms, '/')) || '...') || ' Total') omschrijving,
|
||
NULL btwcode, -- Hard op NULL
|
||
mld_melding_key
|
||
FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum,
|
||
SUM (ROUND (DECODE (v.fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1) * v.netsum, 2)) netsum, -- Totaalbedrag incl. BTW per factuur!
|
||
COUNT (DISTINCT v.tfoms) aant, --SUM (v.aant) aant,
|
||
MIN (v.tfoms) tfoms,
|
||
MIN (v.mld_melding_key) mld_melding_key
|
||
FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code,
|
||
SUM (v.mndnet) netsum, -- Totaalbedrag excl. BTW gegroepeerd per factuur/BTW-tarief tbv. juiste afronding!
|
||
COUNT (DISTINCT v.tfoms) aant,
|
||
MIN (v.tfoms) tfoms,
|
||
MIN (v.mld_melding_key) mld_melding_key
|
||
FROM (SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum,
|
||
fin_btwtabelwaarde_code,
|
||
mndnet,
|
||
DECODE (mld_melding_key, NULL, regel_oms, regel) tfoms, -- Voor MLD=regel_oms en voor RES=regel!
|
||
mld_melding_key
|
||
FROM bssc_v_addd_frozen
|
||
WHERE SUBSTR (po_nr, 1, 3) = 'CHV'
|
||
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
UNION ALL -- Handling fee (=5,0% over totaal tegen 21%) toevoegen als regel!
|
||
SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum,
|
||
'H' fin_btwtabelwaarde_code,
|
||
ROUND (0.05 * mndnet, 2) mndnet,
|
||
tfoms,
|
||
NULL mld_melding_key
|
||
FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, regel tfoms, -- Voor RES=regel!
|
||
SUM (mndnet) mndnet
|
||
FROM bssc_v_addd_frozen
|
||
WHERE mld_melding_key IS NULL -- Administratiekosten alleen bij RES-facturatie!
|
||
AND SUBSTR (po_nr, 1, 3) = 'CHV'
|
||
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, regel)) v
|
||
GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code) v
|
||
GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum)
|
||
UNION ALL
|
||
SELECT v.fin_verkoopfactuur_id || v.debiteur_nr || DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek) sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek) grtboekrek,
|
||
NULL rel_kpl, -- TODO:Bij BLCC afgeleid van kostenplaats?
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)???
|
||
SUBSTR (v.regel, 1, 40) omschrijving,
|
||
DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN') btwcode,
|
||
MIN (v.mld_melding_key) mld_melding_key
|
||
FROM bssc_v_addd_frozen v,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = -1) kl -- BTW verlegd "smaak"
|
||
WHERE SUBSTR (v.po_nr, 1, 3) = 'CHV'
|
||
AND v.prs_bedrijf_key = kl.prs_link_key(+)
|
||
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY v.fin_verkoopfactuur_id || v.debiteur_nr || DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), grtboekrek),
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek),
|
||
NULL,
|
||
NULL,
|
||
'credit',
|
||
SUBSTR (v.regel, 1, 40),
|
||
DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN')
|
||
UNION ALL
|
||
SELECT fin_verkoopfactuur_id || debiteur_nr || '????' sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
factuurdatum,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode,
|
||
fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'????', -- Handling fee
|
||
NULL rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
ROUND (0.05 * netsum, 2) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)???
|
||
SUBSTR (DECODE (aant, 1, regel, SUBSTR (regel, 1, INSTR (regel, '/')) || '...') || ' Administratiekosten', 1, 40) omschrijving,
|
||
'VH' btwcode,
|
||
NULL mld_melding_key
|
||
FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum,
|
||
SUM (mndnet) netsum,
|
||
COUNT (DISTINCT regel) aant,
|
||
MIN (regel) regel
|
||
FROM bssc_v_addd_frozen
|
||
WHERE mld_melding_key IS NULL -- Administratiekosten alleen bij RES-facturatie!
|
||
AND SUBSTR (po_nr, 1, 3) = 'CHV'
|
||
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum)
|
||
UNION ALL -- *** FACT ***
|
||
SELECT v.fin_verkoopfactuur_id || '0000' sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
--DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2))
|
||
-- periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december!
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'1300' grtboekrek, -- Hard op '1300'
|
||
v.debiteur_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (ROUND (v.mndnet * v.btw, 2)) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen!
|
||
'debit' debitcredit,
|
||
'C' || v.refid || ' Total' omschrijving,
|
||
NULL btwcode, -- Hard op NULL
|
||
NULL mld_melding_key
|
||
FROM ( SELECT fin_verkoopfactuur_id,
|
||
refid, -- Altijd 1 contract per factuur!
|
||
factuurdatum,
|
||
maand,
|
||
vervaldatum,
|
||
debiteur_nr,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1) btw,
|
||
SUM (mndnet) mndnet -- Totaalbedrag per grtboekrek/fin_btwtabelwaarde_code
|
||
FROM bssc_v_fact_frozen
|
||
WHERE SUBSTR (po_nr, 1, 3) = 'CHV'
|
||
AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id,
|
||
refid,
|
||
factuurdatum,
|
||
maand,
|
||
vervaldatum,
|
||
debiteur_nr,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1)) v
|
||
GROUP BY v.fin_verkoopfactuur_id || '0000',
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
'1300',
|
||
v.debiteur_nr,
|
||
NULL,
|
||
'debit',
|
||
'C' || v.refid || ' Total',
|
||
NULL,
|
||
NULL
|
||
UNION ALL
|
||
SELECT v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???') sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
--DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2))
|
||
-- periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december!
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
v.grtboekrek,
|
||
v.prs_kostenplaats_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)???
|
||
SUBSTR ('C' || v.refid || ' ' || v.regel, 1, 40) omschrijving,
|
||
DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN'),
|
||
NULL mld_melding_key
|
||
FROM bssc_v_fact_frozen v,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = -1) kl -- BTW verlegd "smaak"
|
||
WHERE SUBSTR (po_nr, 1, 3) = 'CHV'
|
||
AND v.prs_bedrijf_key = kl.prs_link_key(+)
|
||
AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???'),
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
v.grtboekrek,
|
||
v.prs_kostenplaats_nr,
|
||
NULL,
|
||
'credit',
|
||
SUBSTR ('C' || v.refid || ' ' || v.regel, 1, 40),
|
||
DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN'),
|
||
NULL
|
||
ORDER BY 1);
|
||
|
||
-- Code;Currency;Date;Period;Invoicenumber;Duedate;Number;GL-account;AP;Project;Amount;Debitcredit;Description;Vatcode;Goods/services;Landcode;Vatnumber;Preformancedate
|
||
CREATE OR REPLACE VIEW bssc_v_export_tf_chv
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS -- View bevat alleen inhoud op bepaalde dagen (1e werkdag) of als er vandaag correcties/losverkopen zijn vrijgegeven!
|
||
SELECT 'Code'
|
||
|| ';Currency'
|
||
|| ';Date'
|
||
|| ';Period'
|
||
|| ';Invoicenumber'
|
||
|| ';Duedate'
|
||
|| ';Number'
|
||
|| ';GL-account'
|
||
|| ';AP'
|
||
|| ';Project'
|
||
|| ';Amount'
|
||
|| ';Debitcredit'
|
||
|| ';Description'
|
||
|| ';Vatcode'
|
||
|| ';Goods/services' -- Niet bij BLCC
|
||
|| ';Landcode' -- Niet bij BLCC
|
||
|| ';Vatnumber' -- Niet bij BLCC
|
||
|| ';Preformancedate', -- Niet bij BLCC
|
||
0
|
||
FROM DUAL
|
||
WHERE EXISTS (SELECT 1
|
||
FROM bssc_v_rap_export_tf_chv
|
||
WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd'))
|
||
UNION ALL
|
||
SELECT code
|
||
|| ';'
|
||
|| valuta
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| periode
|
||
|| ';'
|
||
|| factuurnummer
|
||
|| ';'
|
||
|| vervaldatum
|
||
|| ';'
|
||
|| nummer
|
||
|| ';'
|
||
|| grtboekrek
|
||
|| ';'
|
||
|| rel_kpl
|
||
|| ';'
|
||
|| prj_activa
|
||
|| ';'
|
||
|| bedrag
|
||
|| ';'
|
||
|| debitcredit
|
||
|| ';'
|
||
|| omschrijving
|
||
|| ';'
|
||
|| btwcode
|
||
|| ';;;;',
|
||
ROWNUM
|
||
FROM bssc_v_rap_export_tf_chv
|
||
WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd')
|
||
ORDER BY 2;
|
||
|
||
-- Code;Currency;Date;Period;Invoicenumber;Duedate;Number;GL-account;AP;Project;Amount;Debitcredit;Description;Vatcode;Goods/services;Landcode;Vatnumber;Preformancedate
|
||
CREATE OR REPLACE VIEW bssc_v_rap_export_tf_cmd
|
||
(
|
||
hide_f_sortering,
|
||
fclt_x_maand,
|
||
code,
|
||
currency,
|
||
tfdate,
|
||
period,
|
||
invoicenumber,
|
||
duedate,
|
||
tfnumber,
|
||
gl_account,
|
||
ap,
|
||
project,
|
||
amount,
|
||
debitcredit,
|
||
description,
|
||
vatcode,
|
||
goods_services,
|
||
landcode,
|
||
vatnumber,
|
||
preformancedate,
|
||
mldver,
|
||
sync_id
|
||
)
|
||
AS
|
||
SELECT ROWNUM,
|
||
REPLACE (periode, '/', '-') periode,
|
||
code,
|
||
valuta,
|
||
REPLACE (factuurdatum, '-', '/') factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
REPLACE (vervaldatum, '-', '/') vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
fac.gettrackingdate ('MLDVER', mld_melding_key) mldver,
|
||
SUBSTR (factuurdatum, 7, 4) || SUBSTR (factuurdatum, 4, 2) || SUBSTR (factuurdatum, 1, 2) -- Sync_id = factuurdatum!
|
||
sync_id -- BLCC#62974: Unieke identificatie!
|
||
FROM ( -- *** ADDD ***
|
||
SELECT fin_verkoopfactuur_id || '0000' || debiteur_nr sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
factuurdatum,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode,
|
||
fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'1300' grtboekrek, -- Hard op '1300'
|
||
debiteur_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
netsum bedrag, -- Totaalbedrag incl. BTW per factuur!
|
||
'debit' debitcredit,
|
||
TRIM (DECODE (aant, 1, tfoms, SUBSTR (tfoms, 1, INSTR (tfoms, '/')) || '...') || ' Total') omschrijving,
|
||
NULL btwcode, -- Hard op NULL
|
||
mld_melding_key
|
||
FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum,
|
||
SUM (ROUND (DECODE (v.fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1) * v.netsum, 2)) netsum, -- Totaalbedrag incl. BTW per factuur!
|
||
COUNT (DISTINCT v.tfoms) aant, --SUM (v.aant) aant,
|
||
MIN (v.tfoms) tfoms,
|
||
MIN (v.mld_melding_key) mld_melding_key
|
||
FROM ( SELECT v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code,
|
||
SUM (v.mndnet) netsum, -- Totaalbedrag excl. BTW gegroepeerd per factuur/BTW-tarief tbv. juiste afronding!
|
||
COUNT (DISTINCT v.tfoms) aant,
|
||
MIN (v.tfoms) tfoms,
|
||
MIN (v.mld_melding_key) mld_melding_key
|
||
FROM (SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum,
|
||
fin_btwtabelwaarde_code,
|
||
mndnet,
|
||
DECODE (mld_melding_key, NULL, regel_oms, regel) tfoms, -- Voor MLD=regel_oms en voor RES=regel!
|
||
mld_melding_key
|
||
FROM bssc_v_addd_frozen
|
||
WHERE SUBSTR (po_nr, 1, 3) = 'CMD'
|
||
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
UNION ALL -- Handling fee (=5,0% over totaal tegen 21%) toevoegen als regel!
|
||
SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum,
|
||
'H' fin_btwtabelwaarde_code,
|
||
ROUND (0.05 * mndnet, 2) mndnet,
|
||
tfoms,
|
||
NULL mld_melding_key
|
||
FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, regel tfoms, -- Voor RES=regel!
|
||
SUM (mndnet) mndnet
|
||
FROM bssc_v_addd_frozen
|
||
WHERE mld_melding_key IS NULL -- Administratiekosten alleen bij RES-facturatie!
|
||
AND SUBSTR (po_nr, 1, 3) = 'CMD'
|
||
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum, regel)) v
|
||
GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum, v.fin_btwtabelwaarde_code) v
|
||
GROUP BY v.fin_verkoopfactuur_id, v.debiteur_nr, v.factuurdatum, v.maand, v.vervaldatum)
|
||
UNION ALL
|
||
SELECT v.fin_verkoopfactuur_id || v.debiteur_nr || DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek) sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek) grtboekrek,
|
||
NULL rel_kpl, -- TODO:Bij BLCC afgeleid van kostenplaats?
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)???
|
||
SUBSTR (v.regel, 1, 40) omschrijving,
|
||
DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN') btwcode,
|
||
MIN (v.mld_melding_key) mld_melding_key
|
||
FROM bssc_v_addd_frozen v,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = -1) kl -- BTW verlegd "smaak"
|
||
WHERE SUBSTR (v.po_nr, 1, 3) = 'CMD'
|
||
AND v.prs_bedrijf_key = kl.prs_link_key(+)
|
||
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY v.fin_verkoopfactuur_id || v.debiteur_nr || DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), grtboekrek),
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.factuurdatum, 7, 4) || '/' || SUBSTR (v.factuurdatum, 4, 2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
DECODE (v.grtboekrek, '812x', DECODE (v.fin_btwtabelwaarde_code, 'H', '8120', '8121'), v.grtboekrek),
|
||
NULL,
|
||
NULL,
|
||
'credit',
|
||
SUBSTR (v.regel, 1, 40),
|
||
DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN')
|
||
UNION ALL
|
||
SELECT fin_verkoopfactuur_id || debiteur_nr || '????' sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
factuurdatum,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode,
|
||
fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'????', -- Handling fee
|
||
NULL rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
ROUND (0.05 * netsum, 2) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)???
|
||
SUBSTR (DECODE (aant, 1, regel, SUBSTR (regel, 1, INSTR (regel, '/')) || '...') || ' Administratiekosten', 1, 40) omschrijving,
|
||
'VH' btwcode,
|
||
NULL mld_melding_key
|
||
FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum,
|
||
SUM (mndnet) netsum,
|
||
COUNT (DISTINCT regel) aant,
|
||
MIN (regel) regel
|
||
FROM bssc_v_addd_frozen
|
||
WHERE mld_melding_key IS NULL -- Administratiekosten alleen bij RES-facturatie!
|
||
AND SUBSTR (po_nr, 1, 3) = 'CMD'
|
||
--AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum)
|
||
UNION ALL -- *** FACT ***
|
||
SELECT v.fin_verkoopfactuur_id || '0000' sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
--DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2))
|
||
-- periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december!
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'1300' grtboekrek, -- Hard op '1300'
|
||
v.debiteur_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (ROUND (v.mndnet * v.btw, 2)) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen!
|
||
'debit' debitcredit,
|
||
'C' || v.refid || ' Total' omschrijving,
|
||
NULL btwcode, -- Hard op NULL
|
||
NULL mld_melding_key
|
||
FROM ( SELECT fin_verkoopfactuur_id,
|
||
refid, -- Altijd 1 contract per factuur!
|
||
factuurdatum,
|
||
maand,
|
||
vervaldatum,
|
||
debiteur_nr,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1) btw,
|
||
SUM (mndnet) mndnet -- Totaalbedrag per grtboekrek/fin_btwtabelwaarde_code
|
||
FROM bssc_v_fact_frozen
|
||
WHERE SUBSTR (po_nr, 1, 3) = 'CMD'
|
||
AND maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id,
|
||
refid,
|
||
factuurdatum,
|
||
maand,
|
||
vervaldatum,
|
||
debiteur_nr,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 1.21, 'L', 1.09, 1)) v
|
||
GROUP BY v.fin_verkoopfactuur_id || '0000',
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
'1300',
|
||
v.debiteur_nr,
|
||
NULL,
|
||
'debit',
|
||
'C' || v.refid || ' Total',
|
||
NULL,
|
||
NULL
|
||
UNION ALL
|
||
SELECT v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???') sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
--DECODE (TO_CHAR (SYSDATE, 'mm'), '12', TO_CHAR (SYSDATE, 'yyyy') || '/12', SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2))
|
||
-- periode, -- Op correctiefacturen maand volgens v.factuurdatum, anders volgens v.maand behalve in december!
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
v.grtboekrek,
|
||
v.prs_kostenplaats_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)???
|
||
SUBSTR ('C' || v.refid || ' ' || v.regel, 1, 40) omschrijving,
|
||
DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN'),
|
||
NULL mld_melding_key
|
||
FROM bssc_v_fact_frozen v,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = -1) kl -- BTW verlegd "smaak"
|
||
WHERE SUBSTR (po_nr, 1, 3) = 'CMD'
|
||
AND v.prs_bedrijf_key = kl.prs_link_key(+)
|
||
AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???'),
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
v.grtboekrek,
|
||
v.prs_kostenplaats_nr,
|
||
NULL,
|
||
'credit',
|
||
SUBSTR ('C' || v.refid || ' ' || v.regel, 1, 40),
|
||
DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL9', 'V', DECODE (kl.prs_kenmerklink_waarde, '-1', 'VBUIEU_VERL', 'VBINEU_VERL'), 'VN'),
|
||
NULL
|
||
ORDER BY 1);
|
||
|
||
-- Code;Currency;Date;Period;Invoicenumber;Duedate;Number;GL-account;AP;Project;Amount;Debitcredit;Description;Vatcode;Goods/services;Landcode;Vatnumber;Preformancedate
|
||
CREATE OR REPLACE VIEW bssc_v_export_tf_cmd
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS -- View bevat alleen inhoud op bepaalde dagen (1e werkdag) of als er vandaag correcties/losverkopen zijn vrijgegeven!
|
||
SELECT 'Code'
|
||
|| ';Currency'
|
||
|| ';Date'
|
||
|| ';Period'
|
||
|| ';Invoicenumber'
|
||
|| ';Duedate'
|
||
|| ';Number'
|
||
|| ';GL-account'
|
||
|| ';AP'
|
||
|| ';Project'
|
||
|| ';Amount'
|
||
|| ';Debitcredit'
|
||
|| ';Description'
|
||
|| ';Vatcode'
|
||
|| ';Goods/services' -- Niet bij BLCC
|
||
|| ';Landcode' -- Niet bij BLCC
|
||
|| ';Vatnumber' -- Niet bij BLCC
|
||
|| ';Preformancedate', -- Niet bij BLCC
|
||
0
|
||
FROM DUAL
|
||
WHERE EXISTS (SELECT 1
|
||
FROM bssc_v_rap_export_tf_cmd
|
||
WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd'))
|
||
UNION ALL
|
||
SELECT code
|
||
|| ';'
|
||
|| valuta
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| periode
|
||
|| ';'
|
||
|| factuurnummer
|
||
|| ';'
|
||
|| vervaldatum
|
||
|| ';'
|
||
|| nummer
|
||
|| ';'
|
||
|| grtboekrek
|
||
|| ';'
|
||
|| rel_kpl
|
||
|| ';'
|
||
|| prj_activa
|
||
|| ';'
|
||
|| bedrag
|
||
|| ';'
|
||
|| debitcredit
|
||
|| ';'
|
||
|| omschrijving
|
||
|| ';'
|
||
|| btwcode
|
||
|| ';;;;',
|
||
ROWNUM
|
||
FROM bssc_v_rap_export_tf_cmd
|
||
WHERE sync_id = TO_CHAR (SYSDATE, 'yyyymmdd')
|
||
ORDER BY 2;
|
||
|
||
-- code;naam;standaardadres;adrestype;tav;addressline1;addressline2;postcode;plaats;land;telefoon;fax;btwnummer;KvKnummer;emailadres;standaardbank;bankID;begunstigde;rekeningnummer;IBAN;Banknaam;BICcode;NationalebankID;postcodebank;bankplaats;BankAdresStaat;bankland;betaalwijze;betaaladres;bankadres;bankadresnummer;vervaldagen;betalen;betaalcode;leveranciersnummer;betaalmiddelen
|
||
CREATE OR REPLACE VIEW bssc_v_rap_export_tf_rel_chv
|
||
(
|
||
code,
|
||
naam,
|
||
standaardadres,
|
||
adrestype,
|
||
tav,
|
||
addressline1,
|
||
addressline2,
|
||
postcode,
|
||
plaats,
|
||
land,
|
||
telefoon,
|
||
fax,
|
||
btwnummer,
|
||
kvknummer,
|
||
emailadres,
|
||
standaardbank,
|
||
bankid,
|
||
begunstigde,
|
||
rekeningnummer,
|
||
iban,
|
||
banknaam,
|
||
biccode,
|
||
nationalebankid,
|
||
postcodebank,
|
||
bankplaats,
|
||
bankadresstaat,
|
||
bankland,
|
||
betaalwijze,
|
||
betaaladres,
|
||
bankadres,
|
||
bankadresnummer,
|
||
vervaldagen,
|
||
betalen,
|
||
betaalcode,
|
||
leveranciersnummer,
|
||
betaalmiddelen
|
||
)
|
||
AS
|
||
SELECT chvnr.prs_kenmerklink_waarde code,
|
||
b.prs_bedrijf_naam naam,
|
||
NULL standaardadres,
|
||
NULL adrestype,
|
||
NULL tav,
|
||
b.prs_bedrijf_bezoek_adres addressline1,
|
||
NULL addressline2,
|
||
b.prs_bedrijf_bezoek_postcode postcode,
|
||
b.prs_bedrijf_bezoek_plaats plaats,
|
||
b.prs_bedrijf_bezoek_land land,
|
||
b.prs_bedrijf_telefoon telefoon,
|
||
b.prs_bedrijf_fax fax,
|
||
btwnr.prs_kenmerklink_waarde btwnummer,
|
||
kvknr.prs_kenmerklink_waarde kvknummer,
|
||
b.prs_bedrijf_email emailadres,
|
||
NULL standaardbank,
|
||
NULL bankid,
|
||
NULL begunstigde,
|
||
NULL rekeningnummer,
|
||
NULL iban,
|
||
NULL banknaam,
|
||
NULL biccode,
|
||
NULL nationalebankid,
|
||
NULL postcodebank,
|
||
NULL bankplaats,
|
||
NULL bankadresstaat,
|
||
NULL bankland,
|
||
NULL betaalwijze,
|
||
NULL betaaladres,
|
||
NULL bankadres,
|
||
NULL bankadresnummer,
|
||
NULL vervaldagen,
|
||
NULL betalen,
|
||
NULL betaalcode,
|
||
b.prs_leverancier_nr leveranciersnummer,
|
||
NULL betaalmiddelen
|
||
FROM prs_v_aanwezigbedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1120) btwnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1121) kvknr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr
|
||
WHERE b.prs_bedrijf_intern IS NULL
|
||
AND b.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = kvknr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = cmdnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = chvnr.prs_link_key(+)
|
||
AND COALESCE (chvnr.prs_link_key, -1) IS NOT NULL;
|
||
|
||
CREATE OR REPLACE VIEW bssc_v_rap_export_tf_rel_cmd
|
||
(
|
||
code,
|
||
naam,
|
||
standaardadres,
|
||
adrestype,
|
||
tav,
|
||
addressline1,
|
||
addressline2,
|
||
postcode,
|
||
plaats,
|
||
land,
|
||
telefoon,
|
||
fax,
|
||
btwnummer,
|
||
kvknummer,
|
||
emailadres,
|
||
standaardbank,
|
||
bankid,
|
||
begunstigde,
|
||
rekeningnummer,
|
||
iban,
|
||
banknaam,
|
||
biccode,
|
||
nationalebankid,
|
||
postcodebank,
|
||
bankplaats,
|
||
bankadresstaat,
|
||
bankland,
|
||
betaalwijze,
|
||
betaaladres,
|
||
bankadres,
|
||
bankadresnummer,
|
||
vervaldagen,
|
||
betalen,
|
||
betaalcode,
|
||
leveranciersnummer,
|
||
betaalmiddelen
|
||
)
|
||
AS
|
||
SELECT cmdnr.prs_kenmerklink_waarde code,
|
||
b.prs_bedrijf_naam naam,
|
||
NULL standaardadres,
|
||
NULL adrestype,
|
||
NULL tav,
|
||
b.prs_bedrijf_bezoek_adres addressline1,
|
||
NULL addressline2,
|
||
b.prs_bedrijf_bezoek_postcode postcode,
|
||
b.prs_bedrijf_bezoek_plaats plaats,
|
||
b.prs_bedrijf_bezoek_land land,
|
||
b.prs_bedrijf_telefoon telefoon,
|
||
b.prs_bedrijf_fax fax,
|
||
btwnr.prs_kenmerklink_waarde btwnummer,
|
||
kvknr.prs_kenmerklink_waarde kvknummer,
|
||
b.prs_bedrijf_email emailadres,
|
||
NULL standaardbank,
|
||
NULL bankid,
|
||
NULL begunstigde,
|
||
NULL rekeningnummer,
|
||
NULL iban,
|
||
NULL banknaam,
|
||
NULL biccode,
|
||
NULL nationalebankid,
|
||
NULL postcodebank,
|
||
NULL bankplaats,
|
||
NULL bankadresstaat,
|
||
NULL bankland,
|
||
NULL betaalwijze,
|
||
NULL betaaladres,
|
||
NULL bankadres,
|
||
NULL bankadresnummer,
|
||
NULL vervaldagen,
|
||
NULL betalen,
|
||
NULL betaalcode,
|
||
b.prs_leverancier_nr leveranciersnummer,
|
||
NULL betaalmiddelen
|
||
FROM prs_v_aanwezigbedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1120) btwnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1121) kvknr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr
|
||
WHERE b.prs_bedrijf_intern IS NULL
|
||
AND b.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = kvknr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = cmdnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = chvnr.prs_link_key(+)
|
||
AND COALESCE (cmdnr.prs_link_key, -1) IS NOT NULL;
|
||
|
||
-- Export om een BAT-bestand aan te maken dat de PDF-bestanden genereert. Deze
|
||
-- export moet voor 5:00 worden gedraaid, daarna (7:00) worden de notificaties
|
||
-- vanuit putOrders verstuurd.
|
||
-- TODO: Bundelen in <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_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 || ' [' || TRIM (cmdnr.prs_kenmerklink_waarde) || '|' || TRIM (chvnr.prs_kenmerklink_waarde) || ']/-;T:'
|
||
|| COALESCE (b.prs_bedrijf_telefoon, b.prs_bedrijf_telefoon2, '-') || ';E:'
|
||
|| COALESCE (b.prs_bedrijf_email, '-') || ';P:'
|
||
|| DECODE (b.prs_bedrijf_post_adres, NULL, '-', TRIM (b.prs_bedrijf_post_adres || ', ' || b.prs_bedrijf_post_postcode) || ' ' || b.prs_bedrijf_post_plaats),
|
||
prs_bedrijf_verwijder
|
||
FROM prs_bedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr
|
||
WHERE b.prs_bedrijf_contract = 1
|
||
AND b.prs_bedrijf_key = cmdnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = chvnr.prs_link_key(+)
|
||
AND TO_CHAR (COALESCE (b.prs_bedrijf_verwijder, SYSDATE), 'yyyy') >= '2021'
|
||
UNION ALL
|
||
SELECT 100000000 + cp.prs_contactpersoon_key,
|
||
b.prs_bedrijf_naam || ' [' || TRIM (cmdnr.prs_kenmerklink_waarde) || '|' || TRIM (chvnr.prs_kenmerklink_waarde) || ']/'
|
||
|| COALESCE (TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))), '-') || ';T:'
|
||
|| COALESCE (cp.prs_contactpersoon_telefoon_1, cp.prs_contactpersoon_telefoon_2, b.prs_bedrijf_telefoon, b.prs_bedrijf_telefoon2, '-') || ';E:'
|
||
|| COALESCE (cp.prs_contactpersoon_email, b.prs_bedrijf_email, '-') || ';P:'
|
||
|| DECODE (b.prs_bedrijf_post_adres, NULL, '-', TRIM (b.prs_bedrijf_post_adres || ', ' || b.prs_bedrijf_post_postcode) || ' ' || b.prs_bedrijf_post_plaats),
|
||
cp.prs_contactpersoon_verwijder
|
||
FROM prs_bedrijf b,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1220) cmdnr,
|
||
(SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1221) chvnr,
|
||
prs_contactpersoon cp
|
||
WHERE b.prs_bedrijf_contract = 1
|
||
AND b.prs_bedrijf_key = cmdnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = chvnr.prs_link_key(+)
|
||
AND b.prs_bedrijf_key = cp.prs_bedrijf_key
|
||
AND TO_CHAR (COALESCE (cp.prs_contactpersoon_verwijder, b.prs_bedrijf_verwijder, SYSDATE), 'yyyy') >= '2021';
|
||
|
||
-- Domein met alle facturen in de afgelopen 12 maanden.
|
||
CREATE OR REPLACE VIEW bssc_v_verkoopfactuurref
|
||
(
|
||
fin_verkoopfactuurkop_key,
|
||
fin_verkoopfactuur_id,
|
||
fin_verkoopfactuur_tht
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
vf.fin_verkoopfactuurkop_key,
|
||
vf.fin_verkoopfactuur_id || '/' || vf.prs_debiteur_naam ||
|
||
' [' ||
|
||
SUBSTR (vf.fin_verkoopfactuur_maand, 1, 4) || '-' || SUBSTR (vf.fin_verkoopfactuur_maand, 5, 2) ||
|
||
DECODE (c.cnt_contract_key,
|
||
NULL, '',
|
||
' (' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || ')') ||
|
||
']'
|
||
fin_verkoopfactuur_id,
|
||
vf.tht
|
||
FROM (SELECT DISTINCT
|
||
fin_verkoopfactuurkop_key,
|
||
fin_verkoopfactuur_id,
|
||
prs_debiteur_naam,
|
||
fin_verkoopfactuur_maand,
|
||
fin_verkoopfactuur_c2,
|
||
LAST_DAY (ADD_MONTHS (fin_verkoopfactuur_datum, 12)) tht,
|
||
fin_verkoopfactuur_xmlnode,
|
||
fin_verkoopfactuur_refkey
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_datum > TO_DATE ('01012021', 'ddmmyyyy')) vf
|
||
LEFT JOIN
|
||
cnt_contract c
|
||
ON vf.fin_verkoopfactuur_xmlnode = 'contract'
|
||
AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key;
|
||
|
||
-- Domein met de 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_TEFACTUREREN
|
||
(
|
||
xmlnode,
|
||
refkey,
|
||
debiteur,
|
||
debiteurnr,
|
||
contactpersoon,
|
||
refid,
|
||
refoms,
|
||
status,
|
||
datum,
|
||
kosten,
|
||
vrijgever
|
||
--vrijgave_door,
|
||
--vrijgave_datum
|
||
)
|
||
AS
|
||
SELECT x.xmlnode,
|
||
x.refkey,
|
||
x.prs_debiteur_naam,
|
||
x.debiteur_nr,
|
||
x.contactpersoon,
|
||
x.refid,
|
||
x.refoms,
|
||
x.status,
|
||
x.datum,
|
||
SUM (x.mndnet) kosten,
|
||
pfi.prs_perslid_naam_full vrijgever
|
||
--pfd.prs_perslid_naam_full vrijgave_door,
|
||
--x.vrijgave_datum vrijgave_datum
|
||
FROM (SELECT v.xmlnode,
|
||
v.refkey,
|
||
v.prs_debiteur_naam,
|
||
v.debiteur_nr,
|
||
v.contactpersoon,
|
||
v.refid,
|
||
v.regel refoms,
|
||
rs.res_status_bo_omschrijving status,
|
||
fac.gettrackingdate ('RESAFM', kw.res_rsv_ruimte_key) datum,
|
||
v.mndnet,
|
||
fac.safe_to_number (kw.res_kenmerkreservering_waarde) vrijgever
|
||
--t.prs_perslid_key vrijgave_door,
|
||
--kw.res_kenmerkwaarde_aanmaak vrijgave_datum
|
||
FROM bssc_v_addd_actual v,
|
||
res_v_aanwezigrsv_ruimte rrr,
|
||
(SELECT *
|
||
FROM res_kenmerkwaarde kw
|
||
WHERE res_kenmerkwaarde_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM res_kenmerk
|
||
WHERE res_srtkenmerk_key = 281 -- Vrijgegeven ter facturatie door
|
||
AND res_kenmerk_key = kw.res_kenmerk_key)) kw,
|
||
--(SELECT * -- Boterzacht, maar hoe anders?
|
||
-- FROM fac_tracking
|
||
-- WHERE fac_srtnotificatie_key = 82 -- RESUPD
|
||
-- AND INSTR (UPPER (fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0) t,
|
||
res_status_bo rs
|
||
WHERE v.xmlnode = 'reservering'
|
||
AND v.refkey = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)
|
||
--AND kw.res_rsv_ruimte_key = t.fac_tracking_refkey(+)
|
||
AND rrr.res_status_bo_key = rs.res_status_bo_key
|
||
UNION ALL -- Correctie- of losverkoopmelding tefactureren!
|
||
SELECT v.xmlnode,
|
||
v.mld_melding_key refkey,
|
||
v.prs_debiteur_naam,
|
||
v.debiteur_nr,
|
||
v.contactpersoon,
|
||
TO_CHAR (v.mld_melding_key) refid,
|
||
v.regel_oms refoms,
|
||
ms.mld_statuses_omschrijving status,
|
||
fac.gettrackingdate ('MLDAFM', v.mld_melding_key) datum,
|
||
v.mndnet,
|
||
fac.gettrackinguserkey ('MLDAFR', v.mld_melding_key) vrijgever -- Vrijgever is de MLDAFR-user
|
||
--TO_NUMBER (NULL) vrijgave_door,
|
||
--fac.gettrackingdate ('MLDAFR', v.mld_melding_key) vrijgave_datum
|
||
FROM bssc_v_addd_actual v,
|
||
mld_melding m,
|
||
mld_statuses ms
|
||
WHERE v.mld_melding_key IS NOT NULL
|
||
AND v.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_melding_status = ms.mld_statuses_key) x,
|
||
prs_v_perslid_fullnames_all pfi
|
||
--prs_v_perslid_fullnames_all pfd
|
||
WHERE x.vrijgever = pfi.prs_perslid_key(+)
|
||
--AND x.vrijgave_door = pfd.prs_perslid_key(+)
|
||
GROUP BY x.xmlnode,
|
||
x.refkey,
|
||
x.prs_debiteur_naam,
|
||
x.debiteur_nr,
|
||
x.contactpersoon,
|
||
x.refid,
|
||
x.refoms,
|
||
x.status,
|
||
x.datum,
|
||
pfi.prs_perslid_naam_full
|
||
--pfd.prs_perslid_naam_full,
|
||
--x.vrijgave_datum
|
||
;
|
||
|
||
CREATE OR REPLACE VIEW BSSC_V_RAP_GEFACTUREERD
|
||
(
|
||
xmlnode,
|
||
refkey,
|
||
debiteur,
|
||
debiteurnr,
|
||
contactpersoon,
|
||
refid,
|
||
refoms,
|
||
datum,
|
||
kosten,
|
||
vrijgever
|
||
--vrijgave_door,
|
||
--vrijgave_datum
|
||
)
|
||
AS
|
||
SELECT x.xmlnode,
|
||
x.refkey,
|
||
x.prs_debiteur_naam,
|
||
x.debiteur_nr,
|
||
x.contactpersoon,
|
||
x.refid,
|
||
x.refoms,
|
||
x.datum,
|
||
SUM (x.mndnet) kosten,
|
||
pfi.prs_perslid_naam_full vrijgever
|
||
--pfd.prs_perslid_naam_full vrijgave_door,
|
||
--x.vrijgave_datum vrijgave_datum
|
||
FROM (SELECT v.xmlnode,
|
||
v.refkey,
|
||
v.prs_debiteur_naam,
|
||
v.debiteur_nr,
|
||
v.contactpersoon,
|
||
v.refid,
|
||
v.regel refoms,
|
||
fac.gettrackingdate ('RESAFM', kw.res_rsv_ruimte_key) datum,
|
||
v.mndnet,
|
||
fac.safe_to_number (kw.res_kenmerkreservering_waarde) vrijgever
|
||
--t.prs_perslid_key vrijgave_door,
|
||
--kw.res_kenmerkwaarde_aanmaak vrijgave_datum
|
||
FROM bssc_v_addd_frozen v,
|
||
(SELECT *
|
||
FROM res_kenmerkwaarde kw
|
||
WHERE res_kenmerkwaarde_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM res_kenmerk
|
||
WHERE res_srtkenmerk_key = 281 -- Vrijgegeven ter facturatie door
|
||
AND res_kenmerk_key = kw.res_kenmerk_key)) kw
|
||
--(SELECT * -- Boterzacht, maar hoe anders?
|
||
-- FROM fac_tracking
|
||
-- WHERE fac_srtnotificatie_key = 82 -- RESUPD
|
||
-- AND INSTR (UPPER (fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0) t
|
||
WHERE v.xmlnode = 'reservering'
|
||
AND v.refkey = kw.res_rsv_ruimte_key(+)
|
||
--AND kw.res_rsv_ruimte_key = t.fac_tracking_refkey(+)
|
||
UNION ALL -- Correctie- of losverkoopmelding gefactureerd!
|
||
SELECT v.xmlnode,
|
||
v.mld_melding_key refkey,
|
||
v.prs_debiteur_naam,
|
||
v.debiteur_nr,
|
||
v.contactpersoon,
|
||
TO_CHAR (v.mld_melding_key) refid,
|
||
v.regel_oms refoms,
|
||
fac.gettrackingdate ('MLDAFM', v.mld_melding_key) datum,
|
||
v.mndnet,
|
||
fac.gettrackinguserkey ('MLDAFR', v.mld_melding_key) vrijgever -- Vrijgever is de MLDAFR-user
|
||
--TO_NUMBER (NULL) vrijgave_door,
|
||
--fac.gettrackingdate ('MLDAFR', v.mld_melding_key) vrijgave_datum
|
||
FROM bssc_v_addd_frozen v
|
||
WHERE v.mld_melding_key IS NOT NULL) x,
|
||
prs_v_perslid_fullnames_all pfi
|
||
--prs_v_perslid_fullnames_all pfd
|
||
WHERE x.vrijgever = pfi.prs_perslid_key(+)
|
||
--AND x.vrijgave_door = pfd.prs_perslid_key(+)
|
||
GROUP BY x.xmlnode,
|
||
x.refkey,
|
||
x.prs_debiteur_naam,
|
||
x.debiteur_nr,
|
||
x.contactpersoon,
|
||
x.refid,
|
||
x.refoms,
|
||
x.datum,
|
||
pfi.prs_perslid_naam_full
|
||
--pfd.prs_perslid_naam_full,
|
||
--x.vrijgave_datum
|
||
;
|
||
|
||
CREATE OR REPLACE VIEW BSSC_V_RAP_VRIJGAVEDOOR
|
||
(
|
||
xmlnode,
|
||
refkey,
|
||
debiteur,
|
||
debiteurnr,
|
||
contactpersoon,
|
||
refid,
|
||
refoms,
|
||
datum,
|
||
kosten,
|
||
vrijgever,
|
||
vrijgave_door,
|
||
vrijgave_datum
|
||
)
|
||
AS
|
||
SELECT x.xmlnode,
|
||
x.refkey,
|
||
x.prs_debiteur_naam,
|
||
x.debiteur_nr,
|
||
x.contactpersoon,
|
||
x.refid,
|
||
x.refoms,
|
||
x.datum,
|
||
SUM (x.mndnet) kosten,
|
||
pfi.prs_perslid_naam_full vrijgever,
|
||
pfd.prs_perslid_naam_full vrijgave_door,
|
||
x.vrijgave_datum vrijgave_datum
|
||
FROM (SELECT v.xmlnode,
|
||
v.refkey,
|
||
v.prs_debiteur_naam,
|
||
v.debiteur_nr,
|
||
v.contactpersoon,
|
||
v.refid,
|
||
v.regel refoms,
|
||
rs.res_status_bo_omschrijving status,
|
||
fac.gettrackingdate ('RESAFM', kw.res_rsv_ruimte_key) datum,
|
||
v.mndnet,
|
||
fac.safe_to_number (kw.res_kenmerkreservering_waarde) vrijgever,
|
||
t.prs_perslid_key vrijgave_door,
|
||
kw.res_kenmerkwaarde_aanmaak vrijgave_datum
|
||
FROM bssc_v_addd_actual v,
|
||
res_v_aanwezigrsv_ruimte rrr,
|
||
(SELECT *
|
||
FROM res_kenmerkwaarde kw
|
||
WHERE res_kenmerkwaarde_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM res_kenmerk
|
||
WHERE res_srtkenmerk_key = 281 -- Vrijgegeven ter facturatie door
|
||
AND res_kenmerk_key = kw.res_kenmerk_key)) kw,
|
||
(SELECT * -- Boterzacht, maar hoe anders?
|
||
FROM fac_tracking t
|
||
WHERE t.fac_srtnotificatie_key = 82 -- RESUPD
|
||
AND INSTR (UPPER (t.fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 82 -- RESUPD
|
||
AND INSTR (UPPER (fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0
|
||
AND fac_tracking_refkey = t.fac_tracking_refkey
|
||
AND fac_tracking_key > t.fac_tracking_key)) t,
|
||
res_status_bo rs
|
||
WHERE v.xmlnode = 'reservering'
|
||
AND v.refkey = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)
|
||
AND kw.res_rsv_ruimte_key = t.fac_tracking_refkey(+)
|
||
AND rrr.res_status_bo_key = rs.res_status_bo_key
|
||
UNION ALL
|
||
SELECT v.xmlnode,
|
||
v.refkey,
|
||
v.prs_debiteur_naam,
|
||
v.debiteur_nr,
|
||
v.contactpersoon,
|
||
v.refid,
|
||
v.regel refoms,
|
||
'Verwerkt' status,
|
||
fac.gettrackingdate ('RESAFM', kw.res_rsv_ruimte_key) datum,
|
||
v.mndnet,
|
||
fac.safe_to_number (kw.res_kenmerkreservering_waarde) vrijgever,
|
||
t.prs_perslid_key vrijgave_door,
|
||
kw.res_kenmerkwaarde_aanmaak vrijgave_datum
|
||
FROM bssc_v_addd_frozen v,
|
||
(SELECT *
|
||
FROM res_kenmerkwaarde kw
|
||
WHERE res_kenmerkwaarde_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM res_kenmerk
|
||
WHERE res_srtkenmerk_key = 281 -- Vrijgegeven ter facturatie door
|
||
AND res_kenmerk_key = kw.res_kenmerk_key)) kw,
|
||
(SELECT * -- Boterzacht, maar hoe anders?
|
||
FROM fac_tracking t
|
||
WHERE t.fac_srtnotificatie_key = 82 -- RESUPD
|
||
AND INSTR (UPPER (t.fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 82 -- RESUPD
|
||
AND INSTR (UPPER (fac_tracking_oms), 'VRIJGEGEVEN TER FACTURATIE DOOR') > 0
|
||
AND fac_tracking_refkey = t.fac_tracking_refkey
|
||
AND fac_tracking_key > t.fac_tracking_key)) t
|
||
WHERE v.xmlnode = 'reservering'
|
||
AND v.refkey = kw.res_rsv_ruimte_key(+)
|
||
AND kw.res_rsv_ruimte_key = t.fac_tracking_refkey(+)
|
||
UNION ALL -- Correctie- of losverkoopmelding tefactureren!
|
||
SELECT v.xmlnode,
|
||
v.mld_melding_key refkey,
|
||
v.prs_debiteur_naam,
|
||
v.debiteur_nr,
|
||
v.contactpersoon,
|
||
TO_CHAR (v.mld_melding_key) refid,
|
||
v.regel_oms refoms,
|
||
ms.mld_statuses_omschrijving status,
|
||
fac.gettrackingdate ('MLDAFM', v.mld_melding_key) datum,
|
||
v.mndnet,
|
||
fac.gettrackinguserkey ('MLDAFR', v.mld_melding_key) vrijgever, -- Vrijgever is de MLDAFR-user
|
||
TO_NUMBER (NULL) vrijgave_door,
|
||
fac.gettrackingdate ('MLDAFR', v.mld_melding_key) vrijgave_datum
|
||
FROM bssc_v_addd_actual v,
|
||
mld_melding m,
|
||
mld_statuses ms
|
||
WHERE v.mld_melding_key IS NOT NULL
|
||
AND v.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_melding_status = ms.mld_statuses_key
|
||
UNION ALL -- Correctie- of losverkoopmelding gefactureerd!
|
||
SELECT v.xmlnode,
|
||
v.mld_melding_key refkey,
|
||
v.prs_debiteur_naam,
|
||
v.debiteur_nr,
|
||
v.contactpersoon,
|
||
TO_CHAR (v.mld_melding_key) refid,
|
||
v.regel_oms refoms,
|
||
'Verwerkt' status,
|
||
fac.gettrackingdate ('MLDAFM', v.mld_melding_key) datum,
|
||
v.mndnet,
|
||
fac.gettrackinguserkey ('MLDAFR', v.mld_melding_key) vrijgever, -- Vrijgever is de MLDAFR-user
|
||
TO_NUMBER (NULL) vrijgave_door,
|
||
fac.gettrackingdate ('MLDAFR', v.mld_melding_key) vrijgave_datum
|
||
FROM bssc_v_addd_frozen v
|
||
WHERE v.mld_melding_key IS NOT NULL) x,
|
||
prs_v_perslid_fullnames_all pfi,
|
||
prs_v_perslid_fullnames_all pfd
|
||
WHERE x.vrijgever = pfi.prs_perslid_key(+)
|
||
AND x.vrijgave_door = pfd.prs_perslid_key(+)
|
||
GROUP BY x.xmlnode,
|
||
x.refkey,
|
||
x.prs_debiteur_naam,
|
||
x.debiteur_nr,
|
||
x.contactpersoon,
|
||
x.refid,
|
||
x.refoms,
|
||
x.datum,
|
||
pfi.prs_perslid_naam_full,
|
||
pfd.prs_perslid_naam_full,
|
||
x.vrijgave_datum;
|
||
|
||
CREATE OR REPLACE VIEW BSSC_V_RAP_VERKOOPFACTUUR
|
||
AS
|
||
SELECT 'C' factuurstroom, -- C!
|
||
fin_verkoopfactuur_id,
|
||
po_nr,
|
||
sortering,
|
||
regel,
|
||
aanvrager, -- Niet C-factuur
|
||
regel_oms, -- Niet C-factuur
|
||
TO_DATE (factuurdatum, 'dd-mm-yyyy') gefactureerd_op,
|
||
factuurdatum,
|
||
vervaldatum,
|
||
xmlnode,
|
||
refkey,
|
||
refid,
|
||
lv,
|
||
prs_bedrijf_key,
|
||
prs_debiteur_naam,
|
||
debiteur_nr,
|
||
contactpersoon,
|
||
--btw_nr, -- Weg?
|
||
beschrijving,
|
||
adres,
|
||
postcode,
|
||
plaats,
|
||
land,
|
||
fin_btwtabelwaarde_perc,
|
||
fin_btwtabelwaarde_verlegd,
|
||
maand,
|
||
mndbegin,
|
||
mndeinde,
|
||
mndnet,
|
||
mndbtw, -- Weg?
|
||
TO_CHAR (mld_melding_key) meldingnummer, -- Alleen M-factuur
|
||
mld_melding_key -- Alleen M-factuur
|
||
FROM bssc_v_fact_actual
|
||
WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
UNION ALL
|
||
SELECT UPPER (SUBSTR (xmlnode, 1, 1)) factuurstroom, -- R of M!
|
||
fin_verkoopfactuur_id,
|
||
po_nr,
|
||
sortering,
|
||
regel,
|
||
aanvrager,
|
||
regel_oms,
|
||
TO_DATE (factuurdatum, 'dd-mm-yyyy') gefactureerd_op,
|
||
factuurdatum,
|
||
vervaldatum,
|
||
xmlnode,
|
||
refkey,
|
||
refid, -- Niet M-factuur
|
||
lv, -- Alleen C-factuur
|
||
prs_bedrijf_key,
|
||
prs_debiteur_naam,
|
||
debiteur_nr,
|
||
contactpersoon,
|
||
--btw_nr, -- Weg?
|
||
beschrijving,
|
||
adres,
|
||
postcode,
|
||
plaats,
|
||
land,
|
||
fin_btwtabelwaarde_perc,
|
||
fin_btwtabelwaarde_verlegd,
|
||
maand,
|
||
mndbegin,
|
||
mndeinde,
|
||
mndnet,
|
||
mndbtw, -- Weg?
|
||
TO_CHAR (mld_melding_key) meldingnummer, -- Alleen M-factuur
|
||
mld_melding_key -- Alleen M-factuur
|
||
FROM bssc_v_addd_actual
|
||
WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01';
|
||
|
||
-- BSSC#65731
|
||
CREATE OR REPLACE VIEW bssc_v_rap_resprice
|
||
(
|
||
res_rsv_ruimte_key,
|
||
resnr, -- Reserveringsnummer
|
||
res_rsv_ruimte_van, -- Datum van
|
||
van_tijd, -- Tijd van
|
||
res_rsv_ruimte_tot, -- Datum tot
|
||
tot_tijd, -- Tijd tot
|
||
bedrijfsnaam,
|
||
res_rsv_ruimte_omschrijving, -- Reserveringsomschrijving
|
||
adm_stat, -- Administratieve status
|
||
res_stat,
|
||
res_type, -- Type
|
||
aantal,
|
||
res_extra,
|
||
res_omschrijving, -- Omschrijving
|
||
res_stuk_prijs2,
|
||
res_line_totaal, -- Bedrag
|
||
deelresprijs -- Totaal
|
||
)
|
||
AS
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr) resnr,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_van van_tijd,
|
||
rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_tot tot_tijd,
|
||
kw.res_kenmerkreservering_waarde,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
(SELECT res_status_bo_omschrijving FROM res_status_bo WHERE res_status_bo_key = rrr.res_status_bo_key)
|
||
adm_stat,
|
||
(SELECT res_status_fo_omschrijving FROM res_status_fo WHERE res_status_fo_key = rrr.res_status_fo_key)
|
||
res_stat,
|
||
x.res_type,
|
||
x.aantal,
|
||
x.res_extra,
|
||
x.res_omschrijving,
|
||
x.stuksprijs,
|
||
x.aantal * x.stuksprijs,
|
||
res.getdeelresprijs (rrr.res_rsv_ruimte_key) deelresprijs
|
||
FROM (SELECT 'Artikel' res_type,
|
||
rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_nr res_extra,
|
||
ra.res_artikel_omschrijving res_omschrijving,
|
||
DECODE (rra.res_rsv_artikel_prijs, NULL, ra.res_artikel_prijs, rra.res_rsv_artikel_prijs / DECODE (COALESCE (rra.res_rsv_artikel_aantal, 0), 0, 1, rra.res_rsv_artikel_aantal))
|
||
stuksprijs
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
UNION ALL
|
||
SELECT 'Object' res_type,
|
||
rrd.res_rsv_ruimte_key,
|
||
rrd.res_rsv_deel_aantal aantal,
|
||
NULL res_extra,
|
||
rd.res_deel_omschrijving res_omschrijving,
|
||
--DECODE (rrd.res_rsv_deel_prijs, NULL, rd.res_deel_prijs, rrd.res_rsv_deel_prijs / DECODE (COALESCE (rrd.res_rsv_deel_aantal, 0), 0, 1, rrd.res_rsv_deel_aantal))
|
||
COALESCE (rrd.res_rsv_deel_prijs, 0) stuksprijs
|
||
FROM res_v_aanwezigrsv_deel rrd, res_deel rd
|
||
WHERE rrd.res_rsv_deel_dirtlevel = 0
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
UNION ALL
|
||
SELECT 'Ruimte' res_type,
|
||
rrr.res_rsv_ruimte_key,
|
||
(rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24 aantal, -- Duur in uren
|
||
ro.res_opstelling_omschrijving res_extra,
|
||
rr.res_ruimte_nr res_omschrijving,
|
||
res.getruimteprijs (rrr.res_rsv_ruimte_key) / DECODE ((rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van), 0, 1, (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24)
|
||
stuksprijs
|
||
FROM res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr, res_opstelling ro
|
||
WHERE rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rro.res_opstelling_key = ro.res_opstelling_key
|
||
UNION ALL
|
||
SELECT 'Korting' res_type,
|
||
res_rsv_ruimte_key,
|
||
-1 aantal,
|
||
NULL res_extra,
|
||
'Korting' res_omschrijving,
|
||
res_rsv_ruimte_korting stuksprijs
|
||
FROM res_v_aanwezigrsv_ruimte
|
||
WHERE res_rsv_ruimte_dirtlevel = 0
|
||
AND res_rsv_ruimte_korting IS NOT NULL) x,
|
||
res_rsv_ruimte rrr,
|
||
(SELECT * FROM res_v_aanwezigkenmerkwaarde WHERE res_kenmerk_key IN (248, 254, 264, 325)) kw -- Relatie
|
||
WHERE x.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND x.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+);
|
||
|
||
-- Rapportage tbv. interne facturatie van CMD aan CHV!
|
||
CREATE OR REPLACE VIEW BSSC_V_RAP_CMD2CHV
|
||
(
|
||
maand,
|
||
debiteurnaam,
|
||
factuurnummer,
|
||
huurbedrag,
|
||
cmd_fee,
|
||
facilitaire_kosten,
|
||
it_kosten
|
||
)
|
||
AS
|
||
SELECT maand,
|
||
prs_debiteur_naam,
|
||
'*CONCEPT / ' || refid factuurnummer,
|
||
SUM (huurbedrag) huurbedrag,
|
||
SUM ((aantal * (tarief - 73)) / 12) cmd_fee,
|
||
SUM (facilitaire_kosten) facilitaire_kosten,
|
||
SUM (it_kosten) it_kosten
|
||
FROM ( SELECT maand, prs_debiteur_naam, refid,
|
||
SUM (DECODE (alg_plaatsaanduiding, NULL, 0, aantal)) aantal,
|
||
MAX (tarief) tarief,
|
||
SUM (mndnet) huurbedrag,
|
||
0 facilitaire_kosten,
|
||
0 it_kosten
|
||
FROM bssc_v_fact_actual
|
||
WHERE regel = 'CHV - Huur'
|
||
GROUP BY maand, prs_debiteur_naam, refid
|
||
UNION ALL
|
||
SELECT maand, prs_debiteur_naam, refid, 0 aantal, 0 tarief, 0 huurbedrag, mndnet facilitaire_kosten, 0 it_kosten
|
||
FROM bssc_v_fact_actual
|
||
WHERE INSTR (UPPER (regel), 'CHV - FACILITAIR') > 0
|
||
UNION ALL
|
||
SELECT maand, prs_debiteur_naam, refid, 0 aantal, 0 tarief, 0 huurbedrag, 0 facilitaire_kosten, mndnet it_kosten
|
||
FROM bssc_v_fact_actual
|
||
WHERE INSTR (UPPER (regel), 'CHV - ICT') > 0)
|
||
GROUP BY maand, prs_debiteur_naam, '*CONCEPT / ' || refid
|
||
UNION ALL
|
||
SELECT maand,
|
||
prs_debiteur_naam,
|
||
fin_verkoopfactuur_id factuurnummer,
|
||
SUM (huurbedrag) huurbedrag,
|
||
SUM ((aantal * (tarief - 73.33)) / 12) cmd_fee,
|
||
SUM (facilitaire_kosten) facilitaire_kosten,
|
||
SUM (it_kosten) it_kosten
|
||
FROM ( SELECT maand, prs_debiteur_naam, fin_verkoopfactuur_id,
|
||
SUM (DECODE (alg_plaatsaanduiding, NULL, 0, aantal)) aantal,
|
||
MAX (tarief) tarief,
|
||
SUM (mndnet) huurbedrag,
|
||
0 facilitaire_kosten,
|
||
0 it_kosten
|
||
FROM bssc_v_fact_frozen
|
||
WHERE regel = 'CHV - Huur'
|
||
GROUP BY maand, prs_debiteur_naam, fin_verkoopfactuur_id
|
||
UNION ALL
|
||
SELECT maand, prs_debiteur_naam, fin_verkoopfactuur_id, 0 aantal, 0 tarief, 0 huurbedrag, mndnet facilitaire_kosten, 0 it_kosten
|
||
FROM bssc_v_fact_frozen
|
||
WHERE INSTR (UPPER (regel), 'CHV - FACILITAIR') > 0
|
||
UNION ALL
|
||
SELECT maand, prs_debiteur_naam, fin_verkoopfactuur_id, 0 aantal, 0 tarief, 0 huurbedrag, 0 facilitaire_kosten, mndnet it_kosten
|
||
FROM bssc_v_fact_frozen
|
||
WHERE INSTR (UPPER (regel), 'CHV - ICT') > 0)
|
||
GROUP BY maand, prs_debiteur_naam, fin_verkoopfactuur_id;
|
||
|
||
-- Rapportage van contracten die niet automatisch worden gefactureerd!
|
||
CREATE OR REPLACE VIEW BSSC_V_RAP_AUTOM_FACT_UIT
|
||
(
|
||
--hide_f_sortering,
|
||
eerstvolgendefactuur,
|
||
debiteurnaam,
|
||
contractsoort,
|
||
contractnummer,
|
||
totaalbedrag
|
||
)
|
||
AS
|
||
SELECT --fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy'),
|
||
fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')
|
||
eerstvolgendefactuur,
|
||
x.prs_debiteur_naam debiteurnaam,
|
||
x.ins_discipline_omschrijving contractsoort,
|
||
x.refid contractnummer,
|
||
x.mndnet totaalbedrag
|
||
FROM ( SELECT x.refkey, x.prs_debiteur_naam, cd.ins_discipline_omschrijving, x.refid,
|
||
SUM (mndnet) mndnet
|
||
FROM bssc_v_fact_actual x, cnt_contract c, cnt_discipline cd
|
||
WHERE x.xmlnode = 'contract'
|
||
AND x.refkey = c.cnt_contract_key
|
||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||
GROUP BY x.refkey, x.prs_debiteur_naam, cd.ins_discipline_omschrijving, x.refid) x
|
||
LEFT JOIN cnt_kenmerkcontract autom_fact
|
||
ON x.refkey = autom_fact.cnt_contract_key
|
||
AND autom_fact.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND autom_fact.cnt_kenmerk_key IN (863, 864, 865) -- Geen automatisch facturatie
|
||
LEFT JOIN cnt_kenmerkcontract start_fact
|
||
ON x.refkey = start_fact.cnt_contract_key
|
||
AND start_fact.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND start_fact.cnt_kenmerk_key IN (866, 868, 869, 870) -- Start facturatie op
|
||
WHERE autom_fact.cnt_kenmerkcontract_waarde = '1'
|
||
AND fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') >= TRUNC (SYSDATE);
|
||
|
||
------ 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
|