BSSC#55692 Facturatieproces

svn path=/Customer/trunk/; revision=53234
This commit is contained in:
Maarten van der Heide
2021-10-02 12:10:26 +00:00
parent 9c68f506a0
commit 6b803d94be

View File

@@ -689,7 +689,7 @@ AS
-- 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')), '202105') maand -- TODO
WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '202109') maand -- TODO
FROM fin_verkoopfactuur)
SELECT '*CONCEPT*' fin_verkoopfactuur_id, -- Huur!
'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO
@@ -722,23 +722,24 @@ AS
rxo.alg_ruimte_opp_alt1 aantal, -- VVO
fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) tarief, -- Jaartarief per m2
vvo_toeslag.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagperc.
verv_toeslag.fac_usrdata_prijs verv_toeslag, -- Vervangend toeslagperc.
fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde) korting_pm2, -- Korting per m2 Huur
--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 (verv_toeslag.fac_usrdata_prijs, 0) *
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
DECODE (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 (verv_toeslag.fac_usrdata_prijs, 0) *
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
DECODE (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
@@ -817,17 +818,157 @@ AS
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 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, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
btwnr.prs_kenmerklink_waarde btw_nr,
NULL contactpersoon,
x.adres, x.postcode, x.plaats, x.land,
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (verv_toeslag.fac_usrdata_key, 1001, 'H', '0')) fin_btwtabelwaarde_code,
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (verv_toeslag.fac_usrdata_key, 1001, 'Hoog', 'Nul')) fin_btwtabelwaarde_oms,
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (verv_toeslag.fac_usrdata_key, 1001, 21, 0)) fin_btwtabelwaarde_perc,
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
x.maand,
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
rxo.alg_ruimte_opp_alt1 aantal, -- VVO
fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) tarief, -- Jaartarief per m2
vvo_toeslag.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagperc.
--verv_toeslag.fac_usrdata_prijs verv_toeslag, -- Vervangend toeslagperc.
(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_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
c.maand
FROM (SELECT lp.maand, c.*
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
WHERE c.ins_discipline_key = 2001 -- Huur CHV
AND c.cnt_contract_status = 0 -- NIET Gesloten
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
UNION ALL -- Soms 2 maanden factureren (of 1 maand achteraf?)!
SELECT TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') maand, c.*
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
WHERE c.ins_discipline_key = 2001 -- Huur CHV
AND c.cnt_contract_status = 0 -- NIET Gesloten
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Na begin voorgaande maand aangemaakt!
AND TRUNC (c.cnt_contract_looptijd_van) BETWEEN ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) AND TO_DATE (lp.maand || '01', 'yyyymmdd') -- Van-datum in voorgaande maand!
AND NOT EXISTS -- Voorgaande maand nog niet gefactureerd!
(SELECT 1
FROM fin_verkoopfactuur
WHERE fin_verkoopfactuur_maand = TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') -- Voorgaande maand!
AND fin_verkoopfactuur_xmlnode = 'contract'
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)) c,
prs_bedrijf b,
prs_kostenplaats kp,
prs_kostenplaatsgrp kpg
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
LEFT JOIN prs_kenmerklink btwnr
ON x.prs_bedrijf_key = btwnr.prs_link_key
AND btwnr.prs_kenmerklink_verwijder IS NULL
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
LEFT JOIN prs_kenmerklink btwvl
ON x.prs_bedrijf_key = btwvl.prs_link_key
AND btwvl.prs_kenmerklink_verwijder IS NULL
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
LEFT JOIN cnt_kenmerkcontract vsov_kc
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
ON x.cnt_contract_key = ccp.cnt_contract_key
AND ccp.cnt_alg_plaats_code = 'R' -- Alleen Scope-ruimten!
LEFT JOIN alg_v_plaatsaanduiding_all pa
ON ccp.cnt_alg_plaats_key = pa.alg_onroerendgoed_keys
LEFT JOIN alg_v_aanwezigruimte rxo
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
LEFT JOIN cnt_kenmerkcontract tarief
ON x.cnt_contract_key = tarief.cnt_contract_key
AND tarief.cnt_kenmerkcontract_verwijder IS NULL
AND tarief.cnt_kenmerk_key = 861 -- Huurprijs m2/p.j.
LEFT JOIN cnt_kenmerkcontract vvo_toeslag_kc
ON x.cnt_contract_key = vvo_toeslag_kc.cnt_contract_key
AND vvo_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL
AND vvo_toeslag_kc.cnt_kenmerk_key = 402 -- VVO toeslagperc.
LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag
ON fac.safe_to_number (vvo_toeslag_kc.cnt_kenmerkcontract_waarde) = vvo_toeslag.fac_usrdata_key
LEFT JOIN cnt_kenmerkcontract verv_toeslag_kc
ON x.cnt_contract_key = verv_toeslag_kc.cnt_contract_key
AND verv_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL
AND verv_toeslag_kc.cnt_kenmerk_key = 642 -- Vervangend toeslagperc.
LEFT JOIN fac_v_aanwezigusrdata verv_toeslag
ON fac.safe_to_number (verv_toeslag_kc.cnt_kenmerkcontract_waarde) = verv_toeslag.fac_usrdata_key
--LEFT JOIN cnt_kenmerkcontract korting_pm2
-- ON x.cnt_contract_key = korting_pm2.cnt_contract_key
-- AND korting_pm2.cnt_kenmerkcontract_verwijder IS NULL
-- AND korting_pm2.cnt_kenmerk_key = 404 -- Korting per m2
LEFT JOIN cnt_kenmerkcontract start_fact
ON x.cnt_contract_key = start_fact.cnt_contract_key
AND start_fact.cnt_kenmerkcontract_verwijder IS NULL
AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op
WHERE fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') < TRUNC (SYSDATE, 'mm')
AND verv_toeslag.fac_usrdata_prijs > 1
UNION ALL -- M2 correctie!
SELECT '*CONCEPT*' fin_verkoopfactuur_id, -- 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 - Huur' regel, -- Huur
@@ -858,23 +999,24 @@ AS
fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde) aantal, -- VVO-correctie
fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) tarief, -- Jaartarief per m2
vvo_toeslag.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagperc.
verv_toeslag.fac_usrdata_prijs verv_toeslag, -- Vervangend toeslagperc.
fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde) korting_pm2, -- Korting per m2 Huur
--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 (verv_toeslag.fac_usrdata_prijs, 0) *
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
DECODE (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 (verv_toeslag.fac_usrdata_prijs, 0) *
COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) *
DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) *
DECODE (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
@@ -950,16 +1092,154 @@ AS
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 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, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
btwnr.prs_kenmerklink_waarde btw_nr,
NULL contactpersoon,
x.adres, x.postcode, x.plaats, x.land,
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (verv_toeslag.fac_usrdata_key, 1001, 'H', '0')) fin_btwtabelwaarde_code,
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (verv_toeslag.fac_usrdata_key, 1001, 'Hoog', 'Nul')) fin_btwtabelwaarde_oms,
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (verv_toeslag.fac_usrdata_key, 1001, 21, 0)) fin_btwtabelwaarde_perc,
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
x.maand,
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde) aantal, -- VVO-correctie
fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) tarief, -- Jaartarief per m2
vvo_toeslag.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagperc.
--verv_toeslag.fac_usrdata_prijs verv_toeslag, -- Vervangend toeslagperc.
(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_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
c.maand
FROM (SELECT lp.maand, c.*
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
WHERE c.ins_discipline_key = 2001 -- Huur CHV
AND c.cnt_contract_status = 0 -- NIET Gesloten
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
UNION ALL -- Soms 2 maanden factureren (of 1 maand achteraf?)!
SELECT TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') maand, c.*
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
WHERE c.ins_discipline_key = 2001 -- Huur CHV
AND c.cnt_contract_status = 0 -- NIET Gesloten
AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Na begin voorgaande maand aangemaakt!
AND TRUNC (c.cnt_contract_looptijd_van) BETWEEN ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) AND TO_DATE (lp.maand || '01', 'yyyymmdd') -- Van-datum in voorgaande maand!
AND NOT EXISTS -- Voorgaande maand nog niet gefactureerd!
(SELECT 1
FROM fin_verkoopfactuur
WHERE fin_verkoopfactuur_maand = TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') -- Voorgaande maand!
AND fin_verkoopfactuur_xmlnode = 'contract'
AND fin_verkoopfactuur_refkey = c.cnt_contract_key)) c,
prs_bedrijf b,
prs_kostenplaats kp,
prs_kostenplaatsgrp kpg
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
LEFT JOIN prs_kenmerklink btwnr
ON x.prs_bedrijf_key = btwnr.prs_link_key
AND btwnr.prs_kenmerklink_verwijder IS NULL
AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL)
LEFT JOIN prs_kenmerklink btwvl
ON x.prs_bedrijf_key = btwvl.prs_link_key
AND btwvl.prs_kenmerklink_verwijder IS NULL
AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd
LEFT JOIN cnt_kenmerkcontract vsov_kc
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV
LEFT JOIN cnt_kenmerkcontract correctie_m2
ON x.cnt_contract_key = correctie_m2.cnt_contract_key
AND correctie_m2.cnt_kenmerkcontract_verwijder IS NULL
AND correctie_m2.cnt_kenmerk_key = 701 -- Correctie m2
LEFT JOIN cnt_kenmerkcontract tarief
ON x.cnt_contract_key = tarief.cnt_contract_key
AND tarief.cnt_kenmerkcontract_verwijder IS NULL
AND tarief.cnt_kenmerk_key = 861 -- Huurprijs m2/p.j.
LEFT JOIN cnt_kenmerkcontract vvo_toeslag_kc
ON x.cnt_contract_key = vvo_toeslag_kc.cnt_contract_key
AND vvo_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL
AND vvo_toeslag_kc.cnt_kenmerk_key = 402 -- VVO toeslagperc.
LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag
ON fac.safe_to_number (vvo_toeslag_kc.cnt_kenmerkcontract_waarde) = vvo_toeslag.fac_usrdata_key
LEFT JOIN cnt_kenmerkcontract verv_toeslag_kc
ON x.cnt_contract_key = verv_toeslag_kc.cnt_contract_key
AND verv_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL
AND verv_toeslag_kc.cnt_kenmerk_key = 642 -- Vervangend toeslagperc.
LEFT JOIN fac_v_aanwezigusrdata verv_toeslag
ON fac.safe_to_number (verv_toeslag_kc.cnt_kenmerkcontract_waarde) = verv_toeslag.fac_usrdata_key
--LEFT JOIN cnt_kenmerkcontract korting_pm2
-- ON x.cnt_contract_key = korting_pm2.cnt_contract_key
-- AND korting_pm2.cnt_kenmerkcontract_verwijder IS NULL
-- AND korting_pm2.cnt_kenmerk_key = 404 -- Korting per m2
LEFT JOIN cnt_kenmerkcontract start_fact
ON x.cnt_contract_key = start_fact.cnt_contract_key
AND start_fact.cnt_kenmerkcontract_verwijder IS NULL
AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op
WHERE fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') < TRUNC (SYSDATE, 'mm')
AND correctie_m2.cnt_kenmerkcontract_waarde IS NOT NULL
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
@@ -6382,6 +6662,8 @@ CREATE OR REPLACE VIEW BSSC_V_RAP_TEFACTUREREN
datum,
kosten,
vrijgever
--vrijgave_door,
--vrijgave_datum
)
AS
SELECT x.xmlnode,
@@ -6394,7 +6676,9 @@ AS
x.status,
x.datum,
SUM (x.mndnet) kosten,
pf.prs_perslid_naam_full
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,
@@ -6406,6 +6690,8 @@ AS
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 *
@@ -6416,12 +6702,17 @@ AS
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
UNION ALL -- Correctie- of losverkoopmelding tefactureren!
SELECT v.xmlnode,
v.mld_melding_key refkey,
v.prs_debiteur_naam,
@@ -6433,14 +6724,18 @@ AS
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, -- Correctie- of losverkoopmelding
prs_v_perslid_fullnames_all pf
WHERE x.vrijgever = pf.prs_perslid_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,
@@ -6450,7 +6745,10 @@ AS
x.refoms,
x.status,
x.datum,
pf.prs_perslid_naam_full;
pfi.prs_perslid_naam_full
--pfd.prs_perslid_naam_full,
--x.vrijgave_datum
;
CREATE OR REPLACE VIEW BSSC_V_RAP_GEFACTUREERD
(
@@ -6464,6 +6762,8 @@ CREATE OR REPLACE VIEW BSSC_V_RAP_GEFACTUREERD
datum,
kosten,
vrijgever
--vrijgave_door,
--vrijgave_datum
)
AS
SELECT x.xmlnode,
@@ -6475,7 +6775,9 @@ AS
x.refoms,
x.datum,
SUM (x.mndnet) kosten,
pf.prs_perslid_naam_full
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,
@@ -6486,6 +6788,8 @@ AS
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
@@ -6495,9 +6799,14 @@ AS
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
UNION ALL
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,
@@ -6508,10 +6817,14 @@ AS
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, -- Correctie- of losverkoopmelding
prs_v_perslid_fullnames_all pf
WHERE x.vrijgever = pf.prs_perslid_key(+)
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,
@@ -6520,7 +6833,167 @@ AS
x.refid,
x.refoms,
x.datum,
pf.prs_perslid_naam_full;
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