Files
Customer/TWYN/twyn_vie.sql
Erik Groener 1731e39a3b TWYN#58846 Er is geen source van views voor grafische rapportages.
svn path=/Customer/trunk/; revision=44310
2019-09-23 13:46:24 +00:00

1692 lines
69 KiB
SQL

--
-- $Id$
--
-- Script containing customer specific views for the FACILITOR database
DEFINE thisfile = 'TWYN_VIE.SQL'
DEFINE dbuser = '^TWYN'
DEFINE custid = 'TWYN'
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 ------
--=============================================================================
-- RAPPORTAGES
-------------------------------------------------------------------------------
-- Via het menu/Rapportages kunnen rapporten worden gemaakt.
-- Graag een beetje uniforme (vriendelijke) naamgeving aanhouden voor de kolommen
-- omdat deze in de stylesheet driftig worden gebruikt
--
--o CONT_ALF Overzicht contractanten op alfabetische volgorde
--o CONT_RUB Overzicht contracten per rubriek
--o CON_FACT Overzicht (contracten en) facturen per contractant
--o CON_ACC Overzicht [contracten en] facturen per account @moet nog opdrachttotalen
--o CON_ACC1 Overzicht contracten per account
--o BREG_RES Overzicht reserve
--o BREG_BTW Overzicht BTW
--o BREG_TOT Totaaloverzicht budgetrapportage (meerdere subprojecten)
--o BREG_RUB Overzicht rubrieken (1 subproject)
--o FACT_MND Overzicht facturen per maand op adviesdatum
--• FACTCORU Overzicht contracten en facturen per rubriek
--o FDATFACT Overzicht facturen per maand op factuurdatum
--• BET_ADV Betalingsadvies d.d. dd-mm-jjjj
--o BMUT_NUM Overzicht budgetmutaties op volgnummer
--o MMW_CONT Overzicht Meer- en minderwerk per contractant
--o MMWINVCO Overzicht meer- en minderwerk facturen per contractant
--
-- Ten behoeve van de header zijn de volgende gegevens gewenst in al deze views
-- opdrachtgever p.bgt_disc_params_opdrachtgever
-- project p.bgt_disc_params_code || ' ' || d.ins_discipline_omschrijving
-- subproject bp.bgt_project_code || ' ' || bp.bgt_project_omschrijving
-- basis views
CREATE OR REPLACE VIEW twyn_v_bgt_projectdatum
AS
SELECT p.bgt_project_key
, TO_CHAR(MIN(LEAST( COALESCE(p.bgt_project_prijspeildatum, SYSDATE)
, COALESCE(b.bgt_budget_begin, SYSDATE)
, COALESCE(m.bgt_budgetmutatie_datum, SYSDATE)
, COALESCE(o.mld_opdr_datumbegin, SYSDATE)
, COALESCE(f.fin_factuur_datum, SYSDATE)
, COALESCE(f.fin_factuur_advies, SYSDATE)
)), 'dd-mm-yyyy') startdatum_p
FROM bgt_project p
, bgt_budget b
, (SELECT bgt_budget_key_naar bgt_budget_key
, bgt_budgetmutatie_datum
FROM bgt_budgetmutatie
UNION ALL
SELECT bgt_budget_key_van bgt_budget_key
, bgt_budgetmutatie_datum
FROM bgt_budgetmutatie
) m
, mld_opdr o
, fin_factuur f
WHERE b.bgt_project_key = p.bgt_project_key
AND b.bgt_budget_key = m.bgt_budget_key(+)
AND b.prs_kostensoort_key = o.prs_kostensoort_key(+)
AND o.mld_opdr_key = f.mld_opdr_key(+)
GROUP BY p.bgt_project_key;
CREATE OR REPLACE VIEW twyn_v_bgt_budgetmutatie
AS
SELECT mutatie.bgt_budget_key
, SUM (mutatie.bedrag_van) bedrag_van
, SUM (mutatie.bedrag_naar) bedrag_naar
, SUM (mutatie.btwbedrag_van) btwbedrag_van
, SUM (mutatie.btwbedrag_naar) btwbedrag_naar
FROM ( SELECT m1.bgt_budget_key_van bgt_budget_key
, SUM (COALESCE (m1.bgt_budget_bedrag_van, 0)) bedrag_van
, SUM (COALESCE (m1.bgt_budget_btwbedrag_van, 0)) btwbedrag_van
, 0 bedrag_naar
, 0 btwbedrag_naar
FROM bgt_budgetmutatie m1
GROUP BY m1.bgt_budget_key_van
UNION
SELECT m2.bgt_budget_key_naar bgt_budget_key
, 0 bedrag_van
, 0 btwbedrag_van
, SUM (COALESCE (m2.bgt_budget_bedrag_naar, 0)) bedrag_naar
, SUM (COALESCE (m2.bgt_budget_btwbedrag_naar, 0)) btwbedrag_naa
FROM bgt_budgetmutatie m2
GROUP BY m2.bgt_budget_key_naar
) mutatie
GROUP BY mutatie.bgt_budget_key;
CREATE OR REPLACE view twyn_v_bgt_budgetgegevens
AS
SELECT pr.ins_discipline_key
, pr.bgt_project_key
, pr.opdrachtgever
, pr.pcode
, pr.project
, pr.projectnaam
, pr.dcode
, pr.subproject
, pr.subprojectnaam
, pr.ins_discipline_verwijder
, pr.bgt_project_verwijder
, kr.bgt_kostenrubriek_key
, kr.bgt_kostenrubriek_code rcode
, kr.bgt_kostenrubriek_oms kostenrubriek
, ks.prs_kostensoort_key
, ks.prs_kostensoort_altcode scode
, ks.prs_kostensoort_oms kostensoort
, b.bgt_budget_key
, b.bgt_budget_bedrag
, b.bgt_budget_btwbedrag
FROM bgt_v_project_gegevens pr
, bgt_kostenrubriek kr
, prs_kostensoort ks
, bgt_budget b
WHERE b.bgt_project_key = pr.bgt_project_key
AND b.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key
AND b.prs_kostensoort_key = ks.prs_kostensoort_key(+);
-- BREG_TOT
-- BREG_RES
-- BREG_BTW
-- BREG_RUB
-- De werkelijke gegevens worden opgehaald in twyn.twyn_v_detailoverzicht
CREATE OR REPLACE VIEW twyn_v_detailoverzicht
AS
SELECT *
FROM bgt_v_project_full
WHERE ins_discipline_verwijder IS NULL
AND bgt_project_verwijder IS NULL;
-- CON_FACT
-- CON_ACC
-- FACTCORU
-- De werkelijke gegevens worden opgehaald in twyn.twyn_v_contr_fact_bedrijf
CREATE OR REPLACE VIEW twyn_v_contr_fact_bedrijf
AS
SELECT *
FROM bgt_v_project_full
WHERE ins_discipline_verwijder IS NULL
AND bgt_project_verwijder IS NULL;
-- BET_ADV
CREATE OR REPLACE VIEW twyn_v_betalingsadvies
AS
SELECT tp.opdrachtgever
, tp.pcode
, tp.project
, tp.dcode
, tp.subproject
, tp.rcode
, tp.kostenrubriek
, tp.gcode
, tp.kostengroep
, tp.scode
, tp.kostensoort
, f.fin_factuur_advies adviesdatum
, TO_CHAR (f.fin_factuur_advies, 'dd-mm-yyyy') adviesdatum_p
, f.fin_factuur_datum factuurdatum
, TO_CHAR (f.fin_factuur_datum, 'dd-mm-yyyy') factuurdatum_p
, f.fin_factuur_nr factuurnr
, b.prs_bedrijf_naam contractant
, f.fin_factuur_opmerking opmerking
, f.fin_factuur_totaal bedragexcl
, f.fin_factuur_totaal_btw bedragbtw
, f.fin_factuur_statuses_key factuurstatus
, CASE WHEN INSTR(f.fin_factuur_nr, '/') = 0
THEN f.fin_factuur_nr
ELSE SUBSTR(f.fin_factuur_nr, 1, INSTR(f.fin_factuur_nr, '/')-1 )
END factuurnummer
, CASE WHEN INSTR(f.fin_factuur_nr, '/') = 0
THEN '0'
ELSE SUBSTR(f.fin_factuur_nr, INSTR(f.fin_factuur_nr, '/')+1 )
END factuurvolgnr
FROM fin_factuur f
, mld_opdr o
, prs_bedrijf b
, bgt_v_project_full tp
WHERE o.mld_opdr_key = f.mld_opdr_key
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND o.prs_kostensoort_key = tp.prs_kostensoort_key
AND tp.ins_discipline_verwijder IS NULL
AND tp.bgt_project_verwijder IS NULL
AND f.fin_factuur_bron = 0;
-- CONT_ALF
CREATE OR REPLACE VIEW twyn_v_bedrijf
AS
SELECT tp.opdrachtgever
, tp.pcode
, tp.project
, tp.dcode
, tp.subproject
, b.prs_leverancier_nr leveranciercode
, b.prs_bedrijf_naam naam
, b.prs_bedrijf_post_adres adres
, b.prs_bedrijf_post_postcode postcode
, b.prs_bedrijf_post_plaats plaats
, b.prs_bedrijf_telefoon telefoon
, b.prs_bedrijf_email email
FROM mld_opdr o
, prs_bedrijf b
, bgt_v_project_full tp
WHERE b.prs_bedrijf_key = o.mld_uitvoerende_keys
AND o.prs_kostensoort_key = tp.prs_kostensoort_key
AND tp.ins_discipline_verwijder IS NULL
AND tp.bgt_project_verwijder IS NULL
ORDER BY prs_bedrijf_naam;
-- CONT_RUB
-- Voor ieder rubriek/groep/onderdeel de som van de opdrachten en facturen
-- Opletten: in principe is iedere opdracht uniek en laat je alle individuele opdrachten zien
-- behalve voor MMW-opdrachten, die worden per mld_opdr_nr getotaaliseerd weergegeven
-- Daarom gebruiken we hier de MIN en MAX functies, om de MMW-opdrachten bij elkaar te tellen
-- Die andere view twyn_v_contract laat ook de mmw-opdrachten.
CREATE OR REPLACE VIEW twyn_v_contract_rubriek
AS
SELECT tp.opdrachtgever
, tp.pcode
, tp.project
, tp.projectnaam
, tp.dcode
, tp.subproject
, tp.subprojectnaam
, tp.rcode
, tp.kostenrubriek
, tp.gcode
, tp.kostengroep
, tp.scode
, tp.kostensoort
, tp.kostencode
, tp.kostennaam
, o.mld_opdr_datumbegin datumfilter
, b.prs_leverancier_nr
, o.mld_opdr_ordernr
, COALESCE(o.mld_opdr_bedrijfopdr_volgnr, 0) mld_opdr_ordervolgnr
, MAX (o.mld_opdr_meerwerk) mld_opdr_meerwerk
, MAX (o.mld_opdr_id) kenmerk
, MAX (o.mld_opdr_omschrijving) mld_opdr_omschrijving
, kp.prs_kostenplaats_nr accountcode
, kp.prs_kostenplaats_omschrijving account
, MIN (o.mld_opdr_datumbegin) datum
, TO_CHAR (MIN (o.mld_opdr_datumbegin), 'DD-MM-YYYY') printdatum
, SUM (o.mld_opdr_kosten) kosten
, SUM (o.mld_opdr_kosten_btw) btw
, SUM (bgt.getgefactureerd (o.mld_opdr_key, 0)) facturen
, SUM (bgt.getgefactureerd (o.mld_opdr_key, 1)) facturen_btw
FROM bgt_v_project_full tp
, prs_kostenplaats kp
, mld_opdr o
, prs_bedrijf b
WHERE o.prs_kostensoort_key = tp.prs_kostensoort_key
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND o.mld_statusopdr_key <> 10 -- ter goedkeuring (=raming) hier niet in meenemen
AND tp.ins_discipline_verwijder IS NULL
AND tp.bgt_project_verwijder IS NULL
GROUP BY tp.opdrachtgever
, tp.project
, tp.subproject
, tp.projectnaam
, tp.pcode
, tp.opdrachtgever
, tp.subprojectnaam
, tp.rcode
, tp.kostenrubriek
, tp.gcode
, tp.kostengroep
, tp.scode
, tp.kostensoort
, tp.dcode
, tp.kostencode
, tp.kostennaam
, kp.prs_kostenplaats_nr
, kp.prs_kostenplaats_omschrijving
, b.prs_leverancier_nr
, o.mld_opdr_ordernr
, o.mld_opdr_bedrijfopdr_volgnr
, o.mld_opdr_datumbegin
ORDER BY tp.rcode
, tp.gcode
, tp.scode
, b.prs_leverancier_nr
, TO_NUMBER(o.mld_opdr_ordernr)
, o.mld_opdr_bedrijfopdr_volgnr;
-- CON_ACC1
CREATE OR REPLACE VIEW twyn_v_contract
AS
SELECT tp.opdrachtgever
, tp.pcode
, tp.project
, tp.projectnaam
, tp.subproject
, tp.subprojectnaam
, tp.rcode
, tp.kostenrubriek
, tp.gcode
, tp.kostengroep
, tp.scode
, tp.kostensoort
, b.prs_leverancier_nr
, o.mld_opdr_ordernr
, COALESCE(o.mld_opdr_bedrijfopdr_volgnr, 0) mld_opdr_ordervolgnr
, o.mld_opdr_id kenmerk
, o.mld_opdr_omschrijving
, COALESCE(kp.prs_kostenplaats_nr, ' ') accountcode
, COALESCE(kp.prs_kostenplaats_omschrijving, 'zonder account') account
, o.mld_opdr_datumbegin datumfilter
, TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') printdatum
, o.mld_opdr_meerwerk
, o.mld_opdr_kosten
, o.mld_opdr_kosten_btw
, SUM (bgt.getgefactureerd (o.mld_opdr_key, 0)) fin_factuur_totaal
, SUM (bgt.getgefactureerd (o.mld_opdr_key, 1)) fin_factuur_totaal_btw
FROM bgt_v_project_full tp
, prs_kostenplaats kp
, mld_opdr o
, prs_bedrijf b
WHERE o.prs_kostensoort_key = tp.prs_kostensoort_key
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND tp.ins_discipline_verwijder IS NULL
AND tp.bgt_project_verwijder IS NULL
GROUP BY tp.opdrachtgever
, tp.pcode
, tp.project
, tp.subproject
, tp.dcode
, tp.subprojectnaam
, tp.projectnaam
, tp.dcode
, tp.opdrachtgever
, tp.subprojectnaam
, tp.rcode
, tp.kostenrubriek
, tp.gcode
, tp.kostengroep
, tp.scode
, tp.kostensoort
, kp.prs_kostenplaats_nr
, kp.prs_kostenplaats_omschrijving
, b.prs_leverancier_nr
, o.mld_opdr_ordernr
, o.mld_opdr_bedrijfopdr_volgnr
, o.mld_opdr_id
, o.mld_opdr_omschrijving
, o.mld_opdr_meerwerk
, kp.prs_kostenplaats_nr
, kp.prs_kostenplaats_omschrijving
, o.mld_opdr_datumbegin
, o.mld_opdr_kosten
, o.mld_opdr_kosten_btw
ORDER BY kp.prs_kostenplaats_nr
, b.prs_leverancier_nr
, o.mld_opdr_ordernr
, o.mld_opdr_bedrijfopdr_volgnr;
--BMUT_NUM
CREATE OR REPLACE VIEW twyn_v_budgetmutaties
AS
SELECT gegevens.opdrachtgever
, gegevens.pcode
, gegevens.project
, gegevens.projectnaam
, gegevens.dcode
, gegevens.subproject
, gegevens.subprojectnaam
, gegevens.kostencode
, gegevens.kostennaam
, p.startdatum_p
, mutaties.bgt_budget_key
, mutaties.bgt_budget_isreserve
, mutaties.bgt_budgetmutatie_key
, mutaties.bgt_budgetmutatie_omschrijving mutatiereden
, mutaties.bgt_budgetmutatie_reserve reserve
, mutaties.bgt_budgetmutatie_datum mutatiedatum
, TO_CHAR (mutaties.bgt_budgetmutatie_datum, 'dd-mm-yyyy') mutatiedatum_p
, mutaties.bgt_mutatie_bedrag mutatiebedrag_exc
, mutaties.bgt_mutatie_btwbedrag mutatiebedrag_btw
, mutaties.bgt_mutatie_soort mutatiesoort
, mutaties.bgt_budgetmutatie_code mutatiecode
, mutaties.bgt_budgetmutatie_volgnr mutatievolgnr
FROM bgt_v_project_full gegevens
, twyn_v_bgt_projectdatum p
, (SELECT b.bgt_budget_key
, b.ins_discipline_key
, b.bgt_project_key
, b.bgt_kostenrubriek_key
, b.prs_kostensoortgrp_key
, b.prs_kostensoort_key
, b.prs_kostenplaatsgrp_key
, b.prs_kostenplaats_key
, b.bgt_budget_bedrag
, b.bgt_budget_btwbedrag
, b.bgt_budget_isreserve
, b.bgt_budget_begin
, b.bgt_budget_eind
, b.bgt_budget_aanmaak
, b.bgt_budget_vervaldatum
, m.bgt_budgetmutatie_key
, m.prs_perslid_key
, m.bgt_budgetmutatie_omschrijving
, m.bgt_budgetmutatie_reserve
, m.bgt_budgetmutatie_datum
, m.bgt_budget_bedrag_van bgt_mutatie_bedrag
, m.bgt_budget_btwbedrag_van bgt_mutatie_btwbedrag
, BGT.getSoortMutatie (m.bgt_budgetmutatie_key) bgt_mutatie_soort
, m.bgt_budgetmutatie_code
, m.bgt_budgetmutatie_volgnr
FROM bgt_budget b
, bgt_budgetmutatie m
WHERE b.bgt_budget_key = m.bgt_budget_key_van
UNION
SELECT b.bgt_budget_key
, b.ins_discipline_key
, b.bgt_project_key
, b.bgt_kostenrubriek_key
, b.prs_kostensoortgrp_key
, b.prs_kostensoort_key
, b.prs_kostenplaatsgrp_key
, b.prs_kostenplaats_key
, b.bgt_budget_bedrag
, b.bgt_budget_btwbedrag
, b.bgt_budget_isreserve
, b.bgt_budget_begin
, b.bgt_budget_eind
, b.bgt_budget_aanmaak
, b.bgt_budget_vervaldatum
, m.bgt_budgetmutatie_key
, m.prs_perslid_key
, m.bgt_budgetmutatie_omschrijving
, m.bgt_budgetmutatie_reserve
, m.bgt_budgetmutatie_datum
, m.bgt_budget_bedrag_naar bgt_mutatie_bedrag
, m.bgt_budget_btwbedrag_naar bgt_mutatie_btwbedrag
, BGT.getSoortMutatie (m.bgt_budgetmutatie_key) bgt_mutatie_soort
, m.bgt_budgetmutatie_code
, m.bgt_budgetmutatie_volgnr
FROM bgt_budget b
, bgt_budgetmutatie m
WHERE b.bgt_budget_key = m.bgt_budget_key_naar
) mutaties
WHERE ( ( mutaties.prs_kostensoort_key = gegevens.prs_kostensoort_key)
OR ( mutaties.bgt_kostenrubriek_key = gegevens.bgt_kostenrubriek_key
AND mutaties.prs_kostensoortgrp_key IS NULL
AND mutaties.prs_kostensoort_key IS NULL
)
)
AND gegevens.bgt_project_key = p.bgt_project_key
AND gegevens.ins_discipline_verwijder IS NULL
AND gegevens.bgt_project_verwijder IS NULL
AND ( mutaties.bgt_budgetmutatie_omschrijving NOT LIKE 'AO %'
AND mutaties.bgt_budgetmutatie_omschrijving NOT LIKE 'MW %'
)
AND (mutaties.bgt_budgetmutatie_code NOT IN ('A','W')
OR mutaties.bgt_budgetmutatie_code IS NULL
);
-- MMW_CONT
CREATE OR REPLACE VIEW twyn_v_meerminderwerk_opdr
AS
SELECT p.ins_discipline_key
, p.bgt_project_key
, p.bgt_kostenrubriek_key
, p.prs_kostensoortgrp_key
, p.prs_kostensoort_key
, b.prs_bedrijf_key
, p.opdrachtgever
, p.pcode
, p.project
, p.projectnaam
, p.dcode
, p.subproject
, p.subprojectnaam
, d.startdatum_p
, b.prs_leverancier_nr
, b.prs_bedrijf_naam
, p.scode
, p.kostensoort
, p.kostencode
, m.mld_opdr_ordernr
, m.mld_opdr_bedrijfopdr_volgnr
, m.mld_opdr_omschrijving
, m.mld_opdr_id
, m.mld_opdr_datumbegin
, TO_CHAR (m.mld_opdr_datumbegin, 'dd-mm-yyyy') mld_opdr_datumbegin_p
, m.mld_opdr_kosten_refiat
, CASE WHEN m.mld_statusopdr_key=10 THEN m.mld_opdr_kosten END raming
, CASE WHEN m.mld_statusopdr_key<>10 THEN m.mld_opdr_kosten END gecontracteerd
, m.mld_opdr_kosten_btw contract_btw
, f.fin_factuur_totaal
, f.fin_factuur_totaal_btw
, c.mld_statusopdr_oms
FROM mld_opdr m
, prs_bedrijf b
, bgt_v_project_full p
, twyn_v_bgt_projectdatum d
, (SELECT fac_code2label_code
mld_statusopdr_key,
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) mld_statusopdr_oms
FROM fac_locale_xsl fl
, fac_code2label fs
WHERE fl.fac_locale_xsl_label = fac_code2label_label
AND fac_code2label_domein = 'opdracht'
AND fac_locale_xsl_lang = lcl.getuserlanguage ()
) c
, (SELECT ff.mld_opdr_key
, SUM (ff.fin_factuur_totaal) fin_factuur_totaal
, SUM (ff.fin_factuur_totaal_btw) fin_factuur_totaal_btw
FROM fin_factuur ff
GROUP BY ff.mld_opdr_key
) f
WHERE m.mld_uitvoerende_keys = b.prs_bedrijf_key
AND m.prs_kostensoort_key = p.prs_kostensoort_key
AND m.mld_opdr_meerwerk = 1
AND m.mld_statusopdr_key = c.mld_statusopdr_key
AND m.mld_opdr_key = f.mld_opdr_key(+)
AND p.bgt_project_key = d.bgt_project_key
AND p.ins_discipline_verwijder IS NULL
AND p.bgt_project_verwijder IS NULL
ORDER BY b.prs_leverancier_nr
, p.scode
, m.mld_opdr_ordernr
, m.mld_opdr_bedrijfopdr_volgnr;
-- MMWINVCO
CREATE OR REPLACE VIEW twyn_v_meerminderwerk_fact
AS
SELECT *
FROM ( SELECT p.ins_discipline_key
, p.bgt_project_key
, p.bgt_kostenrubriek_key
, p.prs_kostensoortgrp_key
, p.prs_kostensoort_key
, b.prs_bedrijf_key
, f.fin_factuur_key
, p.opdrachtgever
, p.pcode
, p.project
, p.subproject
, d.startdatum_p
, b.prs_leverancier_nr
, b.prs_bedrijf_naam
, p.scode
, p.kostensoort
, m.mld_opdr_ordernr
, m.mld_opdr_bedrijfopdr_volgnr
, (SELECT CASE WHEN MIN (x.mld_opdr_bedrijfopdr_volgnr) = m.mld_opdr_bedrijfopdr_volgnr
THEN 1
ELSE 0
END
FROM mld_opdr x
WHERE x.mld_opdr_ordernr = m.mld_opdr_ordernr
AND x.mld_opdr_meerwerk = 1
) mld_opdr_mainorder
, m.mld_opdr_omschrijving
, m.mld_opdr_id
, m.mld_opdr_datumbegin
, TO_CHAR (m.mld_opdr_datumbegin, 'dd-mm-yyyy') mld_opdr_datumbegin_p
, m.mld_opdr_kosten
, m.mld_opdr_kosten_btw
, COALESCE(f.fin_factuur_datum, m.mld_opdr_datumbegin) fin_factuur_datum
, TO_CHAR (f.fin_factuur_datum, 'dd-mm-yyyy') fin_factuur_datum_p
, fin_factuur_nr
, fin_factuur_opmerking
, fin_factuur_totaal
, fin_factuur_totaal_btw
, fin_factuur_advies
, TO_CHAR (f.fin_factuur_advies, 'dd-mm-yyyy') fin_factuur_advies_p
, c.mld_statusopdr_oms
, c.mld_statusopdr_key
, 'F' soort
FROM mld_opdr m
, prs_bedrijf b
, fin_factuur f
, bgt_v_project_full p
, twyn_v_bgt_projectdatum d
, (SELECT fac_code2label_code
mld_statusopdr_key,
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) mld_statusopdr_oms
FROM fac_locale_xsl fl
, fac_code2label fs
WHERE fl.fac_locale_xsl_label = fac_code2label_label
AND fac_code2label_domein = 'opdracht'
AND fac_locale_xsl_lang = lcl.getuserlanguage ()
) c
WHERE m.mld_uitvoerende_keys = b.prs_bedrijf_key
AND m.prs_kostensoort_key = p.prs_kostensoort_key
AND m.mld_opdr_meerwerk = 1
AND m.mld_statusopdr_key = c.mld_statusopdr_key
AND m.mld_opdr_key = f.mld_opdr_key(+)
AND p.bgt_project_key = d.bgt_project_key
AND p.ins_discipline_verwijder IS NULL
AND p.bgt_project_verwijder IS NULL
UNION
SELECT p.ins_discipline_key
, p.bgt_project_key
, p.bgt_kostenrubriek_key
, p.prs_kostensoortgrp_key
, p.prs_kostensoort_key
, b.prs_bedrijf_key
, NULL fin_factuur_key
, p.opdrachtgever
, p.pcode
, p.project
, p.subproject
, d.startdatum_p
, b.prs_leverancier_nr
, b.prs_bedrijf_naam
, p.scode
, p.kostensoort
, m.mld_opdr_ordernr
, m.mld_opdr_bedrijfopdr_volgnr
, (SELECT CASE WHEN MIN (x.mld_opdr_bedrijfopdr_volgnr) = m.mld_opdr_bedrijfopdr_volgnr
THEN 1
ELSE 0
END
FROM mld_opdr x
WHERE x.mld_opdr_ordernr = m.mld_opdr_ordernr
AND x.mld_opdr_meerwerk = 1
) mld_opdr_mainorder
, m.mld_opdr_omschrijving
, m.mld_opdr_id
, m.mld_opdr_datumbegin
, TO_CHAR (m.mld_opdr_datumbegin, 'dd-mm-yyyy') mld_opdr_datumbegin_p
, m.mld_opdr_kosten
, m.mld_opdr_kosten_btw
, COALESCE(f.fin_factuur_datum, m.mld_opdr_datumbegin) fin_factuur_datum
, TO_CHAR( COALESCE(f.fin_factuur_datum, m.mld_opdr_datumbegin), 'dd-mm-yyyy') fin_factuur_datum_p
, NULL fin_factuur_nr
, NULL fin_factuur_opmerking
, NULL fin_factuur_totaal
, NULL fin_factuur_totaal_btw
, NULL fin_factuur_advies
, NULL fin_factuur_advies_p
, c.mld_statusopdr_oms
, c.mld_statusopdr_key
, 'C' soort
FROM mld_opdr m
, prs_bedrijf b
, bgt_v_project_full p
, twyn_v_bgt_projectdatum d
, (SELECT fac_code2label_code
mld_statusopdr_key,
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) mld_statusopdr_oms
FROM fac_locale_xsl fl
, fac_code2label fs
WHERE fl.fac_locale_xsl_label = fac_code2label_label
AND fac_code2label_domein = 'opdracht'
AND fac_locale_xsl_lang = lcl.getuserlanguage ()
) c
, (SELECT ff.mld_opdr_key
, MIN (ff.fin_factuur_datum) fin_factuur_datum
FROM fin_factuur ff
GROUP BY ff.mld_opdr_key
) f
WHERE m.mld_uitvoerende_keys = b.prs_bedrijf_key
AND m.prs_kostensoort_key = p.prs_kostensoort_key
AND m.mld_opdr_key = f.mld_opdr_key(+)
AND m.mld_opdr_meerwerk = 1
AND m.mld_statusopdr_key = c.mld_statusopdr_key
AND p.bgt_project_key = d.bgt_project_key
AND p.ins_discipline_verwijder IS NULL
AND p.bgt_project_verwijder IS NULL
)
ORDER BY prs_leverancier_nr
, scode
, mld_opdr_ordernr
, mld_opdr_bedrijfopdr_volgnr;
--FACT_MND
--FDATFACT
CREATE OR REPLACE VIEW twyn_v_factuur_datum
AS
SELECT tp.ins_discipline_key
, tp.bgt_project_key
, tp.opdrachtgever
, tp.pcode
, tp.project
, tp.subproject
, tp.rcode
, tp.kostencode
, b.prs_leverancier_nr
, f.fin_factuur_datum factuur_datum
, COALESCE(f.fin_factuur_advies, f.fin_factuur_datum) advies_datum
, o.mld_opdr_ordernr contractnummer
, o.mld_opdr_bedrijfopdr_volgnr volgnummer
, f.fin_factuur_nr factuur_nr
, f.fin_factuur_opmerking factuur_opmerking
, f.fin_factuur_totaal factuur_exc
, f.fin_factuur_totaal_btw factuur_btw
, f.fin_factuur_totaal + f.fin_factuur_totaal_btw factuur_inc
, TO_CHAR(f.fin_factuur_datum, 'dd-mm-yyyy') factuur_datum_p
, TO_CHAR(f.fin_factuur_datum, 'yyyy') factuur_datum_jaar
, TO_CHAR(f.fin_factuur_datum, 'mm') factuur_datum_maand
, TO_CHAR(COALESCE(f.fin_factuur_advies, f.fin_factuur_datum), 'dd-mm-yyyy') factuur_advies_p
, TO_CHAR(COALESCE(f.fin_factuur_advies, f.fin_factuur_datum), 'yyyy') factuur_advies_jaar
, TO_CHAR(COALESCE(f.fin_factuur_advies, f.fin_factuur_datum), 'mm') factuur_advies_maand
FROM prs_bedrijf b
, fin_factuur f
, mld_opdr o
, bgt_v_project_full tp
WHERE f.mld_opdr_key(+) = o.mld_opdr_key
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
AND tp.prs_kostensoort_key = o.prs_kostensoort_key(+)
AND tp.ins_discipline_verwijder IS NULL
AND tp.bgt_project_verwijder IS NULL;
CREATE OR REPLACE FORCE VIEW twyn_v_rap_bgt_basis
(
discipline_key,
discipline_omschrijving,
project_key,
project,
subproject,
kostenrubriek_key,
kostenrubriek,
kostensoortgroep_key,
kostensoortgroep,
kostensoort_key,
kostensoort,
budget_key,
budget_bedrag,
gecontracteerd,
gefactureerd
)
AS
SELECT b.ins_discipline_key,
d.ins_discipline_omschrijving,
b.bgt_project_key,
b.project,
b.subproject,
b.bgt_kostenrubriek_key,
b.kostenrubriek,
(SELECT ksg.prs_kostensoortgrp_key
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
AND ks.prs_kostensoort_key = b.prs_kostensoort_key)
AS ksg_key,
(SELECT ksg.prs_kostensoortgrp_oms
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
AND ks.prs_kostensoort_key = b.prs_kostensoort_key)
AS ksg_oms,
b.prs_kostensoort_key,
b.kostensoort,
b.bgt_budget_key,
b.bgt_budget_bedrag,
(SELECT mld_opdr_kosten
FROM ( SELECT prs_kostensoort_key,
SUM (mld_opdr_kosten) AS mld_opdr_kosten
FROM mld_opdr
GROUP BY prs_kostensoort_key) mo
WHERE b.prs_kostensoort_key = mo.prs_kostensoort_key)
AS mld_opdr_kosten,
(SELECT fin_factuur_totaal
FROM ( SELECT prs_kostensoort_key,
SUM (fin_factuur_totaal) AS fin_factuur_totaal
FROM fin_factuur
GROUP BY prs_kostensoort_key) ff
WHERE b.prs_kostensoort_key = ff.prs_kostensoort_key)
AS gefactureerd
FROM twyn_v_bgt_budgetgegevens b, ins_tab_discipline d
WHERE d.ins_discipline_key = b.ins_discipline_key;
CREATE OR REPLACE FORCE VIEW twyn_v_rap_bgt_subproj
(
project,
subproject,
deel,
bedrag
)
AS
SELECT discipline_omschrijving,
subproject,
'Budget',
SUM (budget_bedrag) - SUM (gecontracteerd)
FROM twyn_v_rap_bgt_basis
GROUP BY discipline_omschrijving, subproject
UNION ALL
SELECT discipline_omschrijving,
subproject,
'Gecontracteerd',
SUM (gecontracteerd) - SUM (gefactureerd)
FROM twyn_v_rap_bgt_basis
GROUP BY discipline_omschrijving, subproject
UNION ALL
SELECT discipline_omschrijving,
subproject,
'Gefactureerd',
SUM (gefactureerd)
FROM twyn_v_rap_bgt_basis
GROUP BY discipline_omschrijving, subproject
ORDER BY discipline_omschrijving, subproject;
CREATE OR REPLACE FORCE VIEW twyn_v_rap_bgt_kostenrubriek
(
project,
subproject,
kostenrubriek,
deel,
bedrag
)
AS
SELECT discipline_omschrijving,
subproject,
kostenrubriek,
'Budget' AS deel,
SUM (budget_bedrag) - SUM (gecontracteerd) AS bedrag
FROM twyn_v_rap_bgt_basis
GROUP BY discipline_omschrijving, subproject, kostenrubriek
UNION ALL
SELECT discipline_omschrijving,
subproject,
kostenrubriek,
'Gecontracteerd' AS deel,
SUM (gecontracteerd) - SUM (gefactureerd) AS bedrag
FROM twyn_v_rap_bgt_basis
GROUP BY discipline_omschrijving, subproject, kostenrubriek
UNION ALL
SELECT discipline_omschrijving,
subproject,
kostenrubriek,
'Gefactureerd' AS deel,
SUM (gefactureerd) AS bedrag
FROM twyn_v_rap_bgt_basis
GROUP BY discipline_omschrijving, subproject, kostenrubriek
ORDER BY discipline_omschrijving, subproject, kostenrubriek;
--=============================================================================
-- VIEWS REAL TIME MONITOR
-------------------------------------------------------------------------------
CREATE OR REPLACE VIEW twyn_v_rap_bgt_basis
(
discipline_key,
discipline_omschrijving,
project_key,
project,
subproject,
kostenrubriek_key,
kostenrubriek,
kostensoortgroep_key,
kostensoortgroep,
kostensoort_key,
kostensoort,
budget_key,
budget_bedrag,
gecontracteerd,
gefactureerd
)
AS
SELECT b.ins_discipline_key,
d.ins_discipline_omschrijving,
b.bgt_project_key,
b.project,
b.subproject,
b.bgt_kostenrubriek_key,
b.kostenrubriek,
(SELECT ksg.prs_kostensoortgrp_key
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
AND ks.prs_kostensoort_key = b.prs_kostensoort_key)
AS ksg_key,
(SELECT ksg.prs_kostensoortgrp_oms
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
AND ks.prs_kostensoort_key = b.prs_kostensoort_key)
AS ksg_oms,
b.prs_kostensoort_key,
b.kostensoort,
b.bgt_budget_key,
b.bgt_budget_bedrag,
(SELECT mld_opdr_kosten
FROM ( SELECT prs_kostensoort_key,
SUM (mld_opdr_kosten) AS mld_opdr_kosten
FROM mld_opdr
GROUP BY prs_kostensoort_key) mo
WHERE b.prs_kostensoort_key = mo.prs_kostensoort_key)
AS mld_opdr_kosten,
(SELECT fin_factuur_totaal
FROM ( SELECT o.prs_kostensoort_key,
SUM (fin_factuur_totaal) AS fin_factuur_totaal
FROM fin_factuur f, mld_opdr o
WHERE o.mld_opdr_key = f.mld_opdr_key(+)
AND b.prs_kostensoort_key = o.prs_kostensoort_key
GROUP BY o.prs_kostensoort_key) ff
WHERE b.prs_kostensoort_key = ff.prs_kostensoort_key)
AS gefactureerd
FROM twyn_v_bgt_budgetgegevens b, ins_tab_discipline d
WHERE d.ins_discipline_key = b.ins_discipline_key;
CREATE OR REPLACE VIEW twyn_v_rap_bgt_subproj
(
hide_f_sort,
project,
subproject,
deel,
bedrag
)
AS
SELECT 3,
discipline_omschrijving,
subproject,
'Budget',
SUM (budget_bedrag) - SUM (gecontracteerd)
FROM twyn_v_rap_bgt_basis
GROUP BY discipline_omschrijving, subproject
UNION ALL
SELECT 2,
discipline_omschrijving,
subproject,
'Gecontracteerd',
SUM (gecontracteerd) - SUM (gefactureerd)
FROM twyn_v_rap_bgt_basis
GROUP BY discipline_omschrijving, subproject
UNION ALL
SELECT 1,
discipline_omschrijving,
subproject,
'Gefactureerd',
SUM (gefactureerd)
FROM twyn_v_rap_bgt_basis
GROUP BY discipline_omschrijving, subproject
ORDER BY discipline_omschrijving, subproject;
CREATE OR REPLACE VIEW twyn_v_rap_bgt_subproj_tot
(
hide_f_sort,
project,
deel,
bedrag
)
AS
SELECT volg,
discipline_omschrijving,
--subproject,
deel,
SUM (bedrag)
FROM ( SELECT 1 AS volg,
discipline_omschrijving,
--subproject,
'Budget' AS deel,
SUM (budget_bedrag) AS bedrag
FROM twyn_v_rap_bgt_basis
--WHERE discipline_omschrijving = 'Berkelwijk IKC'
GROUP BY discipline_omschrijving, subproject
UNION ALL
SELECT 2 AS volg,
discipline_omschrijving,
--subproject,
'Gecontracteerd' AS deel,
SUM (gecontracteerd) AS bedrag
FROM twyn_v_rap_bgt_basis
-- WHERE discipline_omschrijving = 'Berkelwijk IKC'
GROUP BY discipline_omschrijving, subproject
UNION ALL
SELECT 3 AS volg,
discipline_omschrijving,
--subproject,
'Nog te contracteren' AS deel,
SUM (budget_bedrag) - SUM (gecontracteerd) AS bedrag
FROM twyn_v_rap_bgt_basis
-- WHERE discipline_omschrijving = 'Berkelwijk IKC'
GROUP BY discipline_omschrijving, subproject
UNION ALL
SELECT 4 AS sort,
discipline_omschrijving,
--subproject,
'Gefactureerd' AS deel,
SUM (gefactureerd) AS bedrag
FROM twyn_v_rap_bgt_basis
--WHERE discipline_omschrijving = 'Berkelwijk IKC'
GROUP BY discipline_omschrijving)
GROUP BY discipline_omschrijving, volg, deel
ORDER BY discipline_omschrijving, volg, deel DESC;
CREATE OR REPLACE VIEW twyn_v_rap_bgt_kstnrbr
(
hide_f_sort,
project,
subproject,
kostenrubriek_oms,
deel,
bedrag,
kstnrubr,
kostenrubriek
)
AS
SELECT x."3",
x."DISCIPLINE_OMSCHRIJVING",
x."SUBPROJECT",
x."KOSTENRUBRIEK",
x."DEEL",
x."BEDRAG",
TO_DATE (2000
|| fac.safe_to_number (CASE SUBSTR (x.kostenrubriek, 1, 1)
WHEN '1' THEN '1'
WHEN '2' THEN '2'
WHEN '3' THEN '3'
WHEN '4' THEN '4'
WHEN '5' THEN '5'
WHEN '6' THEN '6'
WHEN '7' THEN '7'
WHEN '8' THEN '8'
WHEN '9' THEN '9'
WHEN '0' THEN '10'
WHEN 'R' THEN '12'
ELSE '11'
END), 'yyyymm')
AS mnd,
TO_DATE (201801
|| fac.safe_to_number (CASE SUBSTR (x.kostenrubriek, 1, 1)
WHEN '0' THEN '10'
WHEN '1' THEN '1'
WHEN '2' THEN '2'
WHEN '3' THEN '3'
WHEN '4' THEN '4'
WHEN '5' THEN '5'
WHEN '6' THEN '6'
WHEN '7' THEN '7'
WHEN '8' THEN '8'
WHEN '9' THEN '9'
WHEN 'R' THEN '20'
ELSE '21'
END), 'yyyymmdd')
AS kostenrubriek
FROM (SELECT 3,
discipline_omschrijving,
subproject,
kostenrubriek,
'Budget' AS deel,
(budget_bedrag - gecontracteerd) AS bedrag
FROM twyn_v_rap_bgt_basis
-- GROUP BY discipline_omschrijving, subproject, kostenrubriek
UNION ALL
SELECT 2,
discipline_omschrijving,
subproject,
kostenrubriek,
'Gecontracteerd' AS deel,
(gecontracteerd - gefactureerd) AS bedrag
FROM twyn_v_rap_bgt_basis
-- GROUP BY discipline_omschrijving, subproject, kostenrubriek
UNION ALL
SELECT 1,
discipline_omschrijving,
subproject,
kostenrubriek,
'Gefactureerd' AS deel,
(gefactureerd) AS bedrag
FROM twyn_v_rap_bgt_basis
-- GROUP BY discipline_omschrijving, subproject, kostenrubriek
ORDER BY discipline_omschrijving, subproject, kostenrubriek) x;
CREATE OR REPLACE VIEW twyn_v_rap_bgt_kostenrubriek
(
kostenrubriek,
deel,
project,
subproject,
bedrag
)
AS
SELECT kostenrubriek_oms,
deel,
project,
subproject,
SUM (bedrag) AS bedrag
FROM twyn_v_rap_bgt_kstnrbr
GROUP BY kostenrubriek_oms,
deel,
project,
subproject;
CREATE OR REPLACE VIEW twyn_v_rap_factuurstat
(
project,
subproject,
factuurbedrag_excl,
factuur_status
)
AS
SELECT projectnaam,
subproject,
SUM (ex_btw),
fin_factuur_statuses_omschr
FROM (SELECT ff.projectnaam,
ff.subproject,
ff.ex_btw,
ff.factuur_maand,
ff.factuur_jaar,
ff.fin_factuur_statuses_omschr
FROM ( SELECT tp.projectnaam,
tp.subproject,
SUM (f.fin_factuur_totaal) AS ex_btw,
f.fin_factuur_advies,
TO_CHAR (f.fin_factuur_advies, 'mm')
AS factuur_maand,
TO_CHAR (f.fin_factuur_advies, 'yyyy')
AS factuur_jaar,
fs.fin_factuur_statuses_omschr
FROM fin_factuur f,
fin_factuur_statuses fs,
mld_opdr o,
bgt_v_project_full tp
WHERE f.mld_opdr_key = o.mld_opdr_key
AND tp.prs_kostensoort_key =
o.prs_kostensoort_key(+)
AND f.fin_factuur_statuses_key =
fs.fin_factuur_statuses_key
AND tp.ins_discipline_verwijder IS NULL
AND tp.bgt_project_verwijder IS NULL
AND TO_CHAR (f.fin_factuur_advies, 'yyyy') =
TO_CHAR (SYSDATE, 'yyyy')
--TO_CHAR (SYSDATE, 'yyyy') - 1 -- Nu nog min 1 zodat resultaten worden getoond in de acceptatieomgeving.
GROUP BY tp.projectnaam,
tp.subproject,
f.fin_factuur_advies,
TO_CHAR (f.fin_factuur_advies, 'mm'),
fs.fin_factuur_statuses_omschr) ff
UNION ALL
SELECT ff.projectnaam,
ff.subproject,
SUM (ff.ex_btw),
TO_CHAR (ff.factuur_maand),
TO_CHAR (ff.factuur_jaar),
ff.fin_factuur_statuses_omschr
FROM ( SELECT tp.projectnaam,
tp.subproject,
SUM (f.fin_factuur_totaal) AS ex_btw,
f.fin_factuur_advies,
TO_CHAR (12) AS factuur_maand,
TO_CHAR (SYSDATE, 'yyyy') - 1 AS factuur_jaar,
--TO_CHAR (SYSDATE, 'yyyy') - 2 AS factuur_jaar, -- Nu nog min 2 zodat resultaten worden getoond in de acceptatieomgeving.
fs.fin_factuur_statuses_omschr
FROM fin_factuur f,
fin_factuur_statuses fs,
mld_opdr o,
bgt_v_project_full tp
WHERE f.mld_opdr_key = o.mld_opdr_key
AND tp.prs_kostensoort_key =
o.prs_kostensoort_key(+)
AND f.fin_factuur_statuses_key =
fs.fin_factuur_statuses_key
AND tp.ins_discipline_verwijder IS NULL
AND tp.bgt_project_verwijder IS NULL
AND TO_CHAR (f.fin_factuur_advies, 'yyyy') < -- Kleiner dan, zodat alles t/m december vorig jaar wordt getoond.
TO_CHAR (SYSDATE, 'yyyy')
--TO_CHAR (SYSDATE, 'yyyy') - 1 -- Nu nog min 1 zodat resultaten worden getoond in de acceptatieomgeving.
GROUP BY tp.projectnaam,
tp.subproject,
f.fin_factuur_advies,
TO_CHAR (f.fin_factuur_advies, 'mm'),
fs.fin_factuur_statuses_omschr) ff
GROUP BY ff.projectnaam,
ff.subproject,
TO_CHAR (ff.factuur_maand),
TO_CHAR (ff.factuur_jaar),
ff.fin_factuur_statuses_omschr)
GROUP BY projectnaam, subproject, fin_factuur_statuses_omschr;
CREATE OR REPLACE VIEW twyn_v_rap_factuurstatus
(
project,
subproject,
factuurbedrag_excl,
factuur_maand,
factuur_jaar
)
AS
SELECT ff.projectnaam,
ff.subproject,
ff.ex_btw,
ff.factuur_maand,
ff.factuur_jaar
FROM ( SELECT tp.projectnaam,
tp.subproject,
SUM (f.fin_factuur_totaal) AS ex_btw,
f.fin_factuur_advies,
TO_CHAR (f.fin_factuur_advies, 'mm') AS factuur_maand,
TO_CHAR (f.fin_factuur_advies, 'yyyy') AS factuur_jaar,
f.fin_factuur_statuses_key
FROM fin_factuur f, mld_opdr o, bgt_v_project_full tp
WHERE f.mld_opdr_key = o.mld_opdr_key
AND tp.prs_kostensoort_key = o.prs_kostensoort_key(+)
AND tp.ins_discipline_verwijder IS NULL
AND tp.bgt_project_verwijder IS NULL
AND TO_CHAR (f.fin_factuur_advies, 'yyyy') =
TO_CHAR (SYSDATE, 'yyyy')
--TO_CHAR (SYSDATE, 'yyyy') - 1 -- Nu nog min 1 zodat resultaten worden getoond in de acceptatieomgeving.
GROUP BY tp.projectnaam,
tp.subproject,
f.fin_factuur_advies,
TO_CHAR (f.fin_factuur_advies, 'mm'),
f.fin_factuur_statuses_key) ff
UNION ALL
SELECT ff.projectnaam,
ff.subproject,
SUM (ff.ex_btw),
TO_CHAR (ff.factuur_maand),
TO_CHAR (ff.factuur_jaar)
FROM ( SELECT tp.projectnaam,
tp.subproject,
SUM (f.fin_factuur_totaal) AS ex_btw,
f.fin_factuur_advies,
TO_CHAR (12) AS factuur_maand,
TO_CHAR (SYSDATE, 'yyyy') - 1 AS factuur_jaar,
--TO_CHAR (SYSDATE, 'yyyy') - 2 AS factuur_jaar, -- Nu nog min 2 zodat resultaten worden getoond in de acceptatieomgeving.
f.fin_factuur_statuses_key
FROM fin_factuur f, mld_opdr o, bgt_v_project_full tp
WHERE f.mld_opdr_key = o.mld_opdr_key
AND tp.prs_kostensoort_key = o.prs_kostensoort_key(+)
AND tp.ins_discipline_verwijder IS NULL
AND tp.bgt_project_verwijder IS NULL
AND TO_CHAR (f.fin_factuur_advies, 'yyyy') < -- Kleiner dan, zodat alles t/m december vorig jaar wordt getoond.
TO_CHAR (SYSDATE, 'yyyy')
--TO_CHAR (SYSDATE, 'yyyy') - 1 -- Nu nog min 1 zodat resultaten worden getoond in de acceptatieomgeving.
GROUP BY tp.projectnaam,
tp.subproject,
f.fin_factuur_advies,
TO_CHAR (f.fin_factuur_advies, 'mm'),
f.fin_factuur_statuses_key) ff
GROUP BY ff.projectnaam,
ff.subproject,
TO_CHAR (ff.factuur_maand),
TO_CHAR (ff.factuur_jaar);
CREATE OR REPLACE VIEW twyn_v_rap_factuurtrend
(
project,
subproject,
factuur_maan,
factuurbedrag_excl
)
AS
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2) || '-' || '12',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE f.factuur_maand = '12'
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2)
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '01',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand = '01'
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '02',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand IN ('01', '02')
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '03',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand IN ('01', '02', '03')
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '04',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand IN ('01', '02', '03', '04')
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '05',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand IN ('01', '02', '03', '04', '05')
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '06',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand IN ('01', '02', '03', '04', '05', '06')
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '07',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand IN ('01', '02', '03', '04', '05', '06', '07')
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '08',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand IN
('01', '02', '03', '04', '05', '06', '07', '08')
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '09',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand IN
('01', '02', '03', '04', '05', '06', '07', '08', '09')
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '10',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand IN
('01', '02', '03', '04', '05', '06', '07', '08', '09', '10')
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '11',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand IN
('01',
'02',
'03',
'04',
'05',
'06',
'07',
'08',
'09',
'10',
'11')
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject
UNION ALL
SELECT f.project,
f.subproject,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '12',
SUM (f.factuurbedrag_excl)
FROM twyn_v_rap_factuurstatus f
WHERE (f.factuur_maand IN
('01',
'02',
'03',
'04',
'05',
'06',
'07',
'08',
'09',
'10',
'11',
'12')
AND f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1)
OR f.factuur_jaar = TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2))
GROUP BY f.project, f.subproject;
CREATE OR REPLACE VIEW twyn_v_rap_reservetrend
(
project,
subproject,
budget_key,
budget,
maand
)
AS
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201712)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201712))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 2) || '-' || '12' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201801)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201801))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '01' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201802)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201802))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '02' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201803)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201803))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '03' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201804)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201804))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '04' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201805)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201805))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '05' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201806)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201806))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '06' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201807)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201807))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '07' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201808)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201808))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '08' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201809)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
201809))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '09' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
2018010)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
2018010))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '10' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
2018011)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
2018011))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '11' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R'
UNION ALL
SELECT bgt.projectnaam,
bgt.subprojectnaam,
bgt.bgt_budget_key,
(bgt.bgt_budget_bedrag
+ (SELECT SUM (mut.bgt_budget_bedrag_naar)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_naar = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
2018012)
+ (SELECT SUM (mut.bgt_budget_bedrag_van)
FROM bgt_budgetmutatie mut
WHERE mut.bgt_budget_key_van = bgt.bgt_budget_key
AND TO_CHAR (bgt_budgetmutatie_datum, 'yyyymm') <=
2018012))
AS budget,
TO_CHAR (TO_CHAR (SYSDATE, 'yyyy') - 1) || '-' || '12' AS maand
FROM twyn_v_bgt_budgetgegevens bgt
WHERE bgt.rcode = 'R';
------ 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