YASK#90843 Opdrachten toevoegen voor contractmutaties in Facilitor

svn path=/Customer/trunk/; revision=70744
This commit is contained in:
Arthur Egberink
2025-10-29 08:00:50 +00:00
parent 18c19df074
commit f8922abd68

View File

@@ -4770,9 +4770,12 @@ END;
-- Rapportage voor contractmutaties. Het is nog niet bekend of dit Rabo/Yask specifiek is of dat dit rapport ooit eens naar
-- de VBXX package gaat. YASK#90843
-- We kijken naar het overzicht van dit jaar offset =0 of vorig jaar offset = -1.
CREATE OR REPLACE VIEW yask_v_rap_contractmutaties
AS
SELECT mld_melding_key,
mld_melding_externnr,
mld_opdr_key,
status,
alg_gebouw_upper,
prs_bedrijf_naam,
@@ -4789,93 +4792,101 @@ SELECT mld_melding_key,
vk_bedrag_inc_btw,
ingangsdatum,
startverrekening,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 1, vk_bedrag_inc_btw /12) jan,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 2, vk_bedrag_inc_btw /12) feb,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 3, vk_bedrag_inc_btw /12) mrt,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 4, vk_bedrag_inc_btw /12) apr,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 5, vk_bedrag_inc_btw /12) mei,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 6, vk_bedrag_inc_btw /12) jun,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 7, vk_bedrag_inc_btw /12) jul,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 8, vk_bedrag_inc_btw /12) aug,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 9, vk_bedrag_inc_btw /12) sep,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 10, vk_bedrag_inc_btw /12) okt,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 11, vk_bedrag_inc_btw /12) nov,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, 12, vk_bedrag_inc_btw /12) dec
DECODE(offset, 0, 'Actueel', -1, 'Vorig Jaar', 'Onbekend') periode,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 1, vk_bedrag_inc_btw /12) jan,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 2, vk_bedrag_inc_btw /12) feb,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 3, vk_bedrag_inc_btw /12) mrt,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 4, vk_bedrag_inc_btw /12) apr,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 5, vk_bedrag_inc_btw /12) mei,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 6, vk_bedrag_inc_btw /12) jun,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 7, vk_bedrag_inc_btw /12) jul,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 8, vk_bedrag_inc_btw /12) aug,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 9, vk_bedrag_inc_btw /12) sep,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 10, vk_bedrag_inc_btw /12) okt,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 11, vk_bedrag_inc_btw /12) nov,
vbxx.vk_bepaal_maandbedrag(ingangsdatum, startverrekening, offset, 12, vk_bedrag_inc_btw /12) dec
FROM (
SELECT m.mld_melding_key, --Contractmutatie nummer
ms.mld_statuses_omschrijving status,
g.alg_gebouw_upper, --PRP-nummer
u.prs_bedrijf_naam, --Uitvoerende leverancier
(SELECT fac_usrdata_omschr
FROM fac_usrdata ud, mld_kenmerk k
WHERE ud.fac_usrdata_key = FAC.safe_to_number (flx.getflex ('OPD', k.mld_kenmerk_key, o.mld_opdr_key))
AND k.mld_kenmerk_code = 'RABO_DIENST'
AND k.mld_typeopdr_key = o.mld_typeopdr_key) dienst, --Dienst
(SELECT fac_usrdata_omschr
FROM fac_usrdata ud, mld_kenmerk k
WHERE ud.fac_usrdata_key = FAC.safe_to_number (flx.getflex ('OPD', k.mld_kenmerk_key, o.mld_opdr_key))
AND k.mld_kenmerk_code = 'RABO_SUBCAT'
AND k.mld_typeopdr_key = o.mld_typeopdr_key) subcat, -- Subcategorie
ks.prs_kostensoort_oms nencode, -- NEN-code
ks.prs_kostensoort_refcode grootboek, --Grootboekrekening
(SELECT DECODE(flx.getflex ('OPD', k.mld_kenmerk_key, o.mld_opdr_key), '1', 'Ja', 'Nee')
FROM mld_kenmerk k
WHERE k.mld_kenmerk_code = 'KANTINEREGELING'
AND k.mld_typeopdr_key = o.mld_typeopdr_key) kantineregeling, --Kantine regeling
(SELECT fac_usrdata_omschr
FROM fac_usrdata ud, mld_kenmerk k
WHERE ud.fac_usrdata_key = FAC.safe_to_number (flx.getflex ('OPD', k.mld_kenmerk_key, o.mld_opdr_key))
AND k.mld_kenmerk_code = 'RUIMTEKANTINEREGELING'
AND k.mld_typeopdr_key = o.mld_typeopdr_key) ruimtekantineregeling, --Ruimte kantine regeling
o.mld_opdr_totaal_ex bedrag_ex, -- Inkoopwaarde bedrag per jaar ex BTW
k_o.opslagperc, -- NIET VOOR PBI EXTERN EBIT %
o.mld_opdr_totaal_ex * (1 + k_o.opslagperc / 100) verkoopprijs, --Verkoopwaarde per jaar
o.btw, --BTW %
o.mld_opdr_totaal_ex * (1 + k_o.opslagperc / 100) * (1 + btw / 100) vk_bedrag_inc_btw, --Bedrag per jaar incl BTW
(SELECT fac.safe_to_date (ko.mld_kenmerkopdr_waarde, 'dd-mm-yyyy')
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_code = 'STARTMUT'
AND ko.mld_opdr_key = o.mld_opdr_key) ingangsdatum,
(SELECT fac.safe_to_date (ko.mld_kenmerkopdr_waarde, 'dd-mm-yyyy')
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_code = 'STARTVEREKENING'
AND ko.mld_opdr_key = o.mld_opdr_key) startverrekening
FROM (SELECT DECODE (ko.mld_kenmerk_code, 'BEDRAGHOOG', 21, 'BEDRAGLAAG', 9, 'BEDRAGNUL', 0, 21)
btw,
COALESCE (fac.safe_to_number (ko.mld_kenmerkopdr_waarde), mld_opdr_kosten)
mld_opdr_totaal_ex,
o.*
FROM mld_opdr o,
(SELECT *
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_code IN ('BEDRAGHOOG', 'BEDRAGLAAG', 'BEDRAGNUL')) ko
WHERE ko.mld_opdr_key(+) = o.mld_opdr_key) o,
mld_typeopdr ot,
mld_melding m,
mld_statuses ms,
prs_kostensoort ks,
alg_v_onroerendgoed_gegevens og,
alg_gebouw g,
prs_bedrijf u,
(SELECT ko.mld_opdr_key, fac.safe_to_number (ko.mld_kenmerkopdr_waarde) opslagperc
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_code = 'OPSLAGPERC') k_o,
(SELECT ko.mld_opdr_key, fac.safe_to_number (ko.mld_kenmerkopdr_waarde) verkoopprijs
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_code = 'VERKOOPPRIJS') k_v
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
AND og.alg_gebouw_key = g.alg_gebouw_key(+)
AND o.prs_kostensoort_key = ks.prs_kostensoort_key(+)
AND o.mld_opdr_key = k_o.mld_opdr_key(+)
AND o.mld_opdr_key = k_v.mld_opdr_key(+)
AND o.mld_uitvoerende_keys = u.prs_bedrijf_key
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND ot.mld_typeopdr_code = 'CONTRACTMUTATIE'
AND m.mld_melding_status = ms.mld_statuses_key);
SELECT m.mld_melding_key, --Contractmutatie nummer
m.mld_melding_externnr,
o.mld_opdr_key,
ms.mld_statuses_omschrijving status,
g.alg_gebouw_upper, --PRP-nummer
u.prs_bedrijf_naam, --Uitvoerende leverancier
(SELECT fac_usrdata_omschr
FROM fac_usrdata ud, mld_kenmerk k
WHERE ud.fac_usrdata_key = FAC.safe_to_number (flx.getflex ('OPD', k.mld_kenmerk_key, o.mld_opdr_key))
AND k.mld_kenmerk_code = 'RABO_DIENST'
AND k.mld_typeopdr_key = o.mld_typeopdr_key) dienst, --Dienst
(SELECT fac_usrdata_omschr
FROM fac_usrdata ud, mld_kenmerk k
WHERE ud.fac_usrdata_key = FAC.safe_to_number (flx.getflex ('OPD', k.mld_kenmerk_key, o.mld_opdr_key))
AND k.mld_kenmerk_code = 'RABO_SUBCAT'
AND k.mld_typeopdr_key = o.mld_typeopdr_key) subcat, -- Subcategorie
ks.prs_kostensoort_oms nencode, -- NEN-code
ks.prs_kostensoort_refcode grootboek, --Grootboekrekening
(SELECT DECODE(flx.getflex ('OPD', k.mld_kenmerk_key, o.mld_opdr_key), '1', 'Ja', 'Nee')
FROM mld_kenmerk k
WHERE k.mld_kenmerk_code = 'KANTINEREGELING'
AND k.mld_typeopdr_key = o.mld_typeopdr_key) kantineregeling, --Kantine regeling
(SELECT fac_usrdata_omschr
FROM fac_usrdata ud, mld_kenmerk k
WHERE ud.fac_usrdata_key = FAC.safe_to_number (flx.getflex ('OPD', k.mld_kenmerk_key, o.mld_opdr_key))
AND k.mld_kenmerk_code = 'RUIMTEKANTINEREGELING'
AND k.mld_typeopdr_key = o.mld_typeopdr_key) ruimtekantineregeling, --Ruimte kantine regeling
o.mld_opdr_totaal_ex bedrag_ex, -- Inkoopwaarde bedrag per jaar ex BTW
COALESCE(k_o.opslagperc,0) opslagperc, -- NIET VOOR PBI EXTERN EBIT %
o.mld_opdr_totaal_ex * (1 + COALESCE(k_o.opslagperc,0) / 100) verkoopprijs, --Verkoopwaarde per jaar
o.btw, --BTW %
o.mld_opdr_totaal_ex * (1 + COALESCE(k_o.opslagperc,0) / 100) * (1 + btw / 100) vk_bedrag_inc_btw, --Bedrag per jaar incl BTW
o.ingangsdatum,
o.startverrekening,
p.offset
FROM (SELECT DECODE (ko.mld_kenmerk_code, 'BEDRAGHOOG', 21, 'BEDRAGLAAG', 9, 'BEDRAGNUL', 0, 21)
btw,
COALESCE (fac.safe_to_number (ko.mld_kenmerkopdr_waarde), mld_opdr_kosten)
mld_opdr_totaal_ex,
(SELECT fac.safe_to_date (ko.mld_kenmerkopdr_waarde, 'dd-mm-yyyy')
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_code = 'STARTMUT'
AND ko.mld_opdr_key = o.mld_opdr_key) ingangsdatum,
(SELECT fac.safe_to_date (ko.mld_kenmerkopdr_waarde, 'dd-mm-yyyy')
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_code = 'STARTVEREKENING'
AND ko.mld_opdr_key = o.mld_opdr_key) startverrekening,
o.*
FROM mld_opdr o,
(SELECT *
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_code IN ('BEDRAGHOOG', 'BEDRAGLAAG', 'BEDRAGNUL')) ko
WHERE ko.mld_opdr_key(+) = o.mld_opdr_key) o,
mld_typeopdr ot,
mld_melding m,
mld_statuses ms,
prs_kostensoort ks,
alg_v_onroerendgoed_gegevens og,
alg_gebouw g,
prs_bedrijf u,
(SELECT 0 offset FROM DUAL UNION ALL SELECT -1 FROM DUAL) p,
(SELECT ko.mld_opdr_key, fac.safe_to_number (ko.mld_kenmerkopdr_waarde) opslagperc
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_code = 'OPSLAGPERC') k_o,
(SELECT ko.mld_opdr_key, fac.safe_to_number (ko.mld_kenmerkopdr_waarde) verkoopprijs
FROM mld_kenmerkopdr ko, mld_kenmerk k
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_code = 'VERKOOPPRIJS') k_v
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
AND og.alg_gebouw_key = g.alg_gebouw_key(+)
AND o.prs_kostensoort_key = ks.prs_kostensoort_key(+)
AND o.mld_opdr_key = k_o.mld_opdr_key(+)
AND o.mld_opdr_key = k_v.mld_opdr_key(+)
AND o.mld_uitvoerende_keys = u.prs_bedrijf_key
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND ot.mld_typeopdr_code = 'CONTRACTMUTATIE'
AND m.mld_melding_status = ms.mld_statuses_key
AND EXTRACT(YEAR FROM startverrekening) <= EXTRACT(YEAR FROM SYSDATE) + p.offset);
CREATE OR REPLACE VIEW yask_v_noti_fin_factuur_note
(