Files
Customer/TWYN/twyn_vie.sql
Erik Groener 7eb1a27019 TWYN#54073 fout in rapport contracten en facturen per contractant
svn path=/Customer/trunk/; revision=38578
2018-07-19 10:01:47 +00:00

1242 lines
54 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_budgetsrtmutatie
AS
SELECT bm_1.bgt_budget_key_van bgt_budget_key
, bm_1.bgt_budgetmutatie_datum
, BGT.GETSOORTMUTATIE(bm_1.bgt_budgetmutatie_key) soortmutatie
, CASE WHEN INSTR('AR', BGT.GETSOORTMUTATIE(bm_1.bgt_budgetmutatie_key)) > 0
THEN COALESCE(bm_1.bgt_budget_bedrag_van, 0)
ELSE 0
END res_bedrag_exc
, CASE WHEN INSTR('AR', BGT.GETSOORTMUTATIE(bm_1.bgt_budgetmutatie_key)) > 0
THEN COALESCE(bm_1.bgt_budget_btwbedrag_van, 0)
ELSE 0
END res_bedrag_btw
, CASE WHEN INSTR('EM', BGT.GETSOORTMUTATIE(bm_1.bgt_budgetmutatie_key)) > 0
THEN COALESCE(bm_1.bgt_budget_bedrag_van, 0)
ELSE 0
END mut_bedrag_exc
, CASE WHEN INSTR('EM', BGT.GETSOORTMUTATIE(bm_1.bgt_budgetmutatie_key)) > 0
THEN COALESCE(bm_1.bgt_budget_btwbedrag_van, 0)
ELSE 0
END mut_bedrag_btw
FROM bgt_budgetmutatie bm_1
UNION ALL
SELECT bm_2.bgt_budget_key_naar bgt_budget_key
, bm_2.bgt_budgetmutatie_datum
, BGT.GETSOORTMUTATIE(bm_2.bgt_budgetmutatie_key) soortmutatie
, CASE WHEN INSTR('AR', BGT.GETSOORTMUTATIE(bm_2.bgt_budgetmutatie_key)) > 0
THEN COALESCE(bm_2.bgt_budget_bedrag_naar, 0)
ELSE 0
END res_bedrag_exc
, CASE WHEN INSTR('AR', BGT.GETSOORTMUTATIE(bm_2.bgt_budgetmutatie_key)) > 0
THEN COALESCE(bm_2.bgt_budget_btwbedrag_naar, 0)
ELSE 0
END res_bedrag_btw
, CASE WHEN INSTR('EM', BGT.GETSOORTMUTATIE(bm_2.bgt_budgetmutatie_key)) > 0
THEN COALESCE(bm_2.bgt_budget_bedrag_naar, 0)
ELSE 0
END mut_bedrag_exc
, CASE WHEN INSTR('EM', BGT.GETSOORTMUTATIE(bm_2.bgt_budgetmutatie_key)) > 0
THEN COALESCE(bm_2.bgt_budget_btwbedrag_naar, 0)
ELSE 0
END mut_bedrag_btw
FROM bgt_budgetmutatie bm_2;
CREATE OR REPLACE VIEW twyn_v_bgt_budget
AS
SELECT tp.ins_discipline_key
, tp.bgt_project_key
, tp.bgt_kostenrubriek_key
, tp.ins_discipline_verwijder
, tp.bgt_project_verwijder
, tp.opdrachtgever
, tp.pcode
, tp.project
, tp.dcode
, tp.subproject
, tp.rcode
, tp.kostenrubriek
, tp.versienummer
, DECODE (tp.rcode, 'R', 'A', 'B') || tp.rcode sortcode
, SUM (COALESCE (bud.bgt_budget_bedrag, 0)) budget_actueel
, SUM (COALESCE (mut.bedrag_naar, 0) + COALESCE (mut.bedrag_van, 0)) budget_mutatie
, SUM (COALESCE (bud.bgt_budget_btwbedrag, 0)) budget_btwactueel
, SUM (COALESCE (mut.btwbedrag_naar, 0) + COALESCE (mut.btwbedrag_van, 0)) budget_btwmutatie
FROM bgt_budget bud
, twyn_v_bgt_budgetmutatie mut
, bgt_v_project_full tp
WHERE mut.bgt_budget_key(+) = bud.bgt_budget_key
AND bud.bgt_kostenrubriek_key = tp.bgt_kostenrubriek_key
AND tp.prs_kostensoortgrp_key IS NULL
AND tp.prs_kostensoort_key IS NULL
GROUP BY tp.ins_discipline_key
, tp.bgt_project_key
, tp.bgt_kostenrubriek_key
, tp.opdrachtgever
, tp.pcode
, tp.project
, tp.dcode
, tp.subproject
, tp.kostenrubriek
, tp.rcode
, tp.versienummer
, tp.ins_discipline_verwijder
, tp.bgt_project_verwijder;
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.versienummer
, 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(+);
CREATE OR REPLACE VIEW twyn_v_bgt_rubriekmutatie
AS
SELECT bud_org.ins_discipline_key,
bud_org.bgt_project_key,
bud_org.bgt_kostenrubriek_key rubriek_key_org,
bud_org.rcode rcode_org,
bud_des.bgt_kostenrubriek_key rubriek_key_des,
bud_des.rcode rcode_des,
mut.bgt_budget_bedrag_van,
mut.bgt_budget_bedrag_naar,
mut.bgt_budgetmutatie_bedrag,
mut.bgt_budgetmutatie_omschrijving,
mut.bgt_budgetmutatie_datum
FROM twyn_v_bgt_budgetgegevens bud_org,
twyn_v_bgt_budgetgegevens bud_des,
(SELECT bgt_budgetmutatie_key,
bgt_budget_key_van bgt_budget_key_org,
bgt_budget_key_naar bgt_budget_key_des,
bgt_budget_bedrag_van,
bgt_budget_btwbedrag_van,
0 bgt_budget_bedrag_naar,
0 bgt_budget_btwbedrag_naar,
bgt_budget_bedrag_van bgt_budgetmutatie_bedrag,
bgt_budget_btwbedrag_van bgt_budgetmutatie_btwbedrag,
bgt_budgetmutatie_omschrijving,
bgt_budgetmutatie_datum
FROM bgt_budgetmutatie m1
UNION
SELECT bgt_budgetmutatie_key,
bgt_budget_key_naar bgt_budget_key_org,
bgt_budget_key_van bgt_budget_key_des,
0 bgt_budget_bedrag_van,
0 bgt_budget_btwbedrag_van,
bgt_budget_bedrag_naar,
bgt_budget_btwbedrag_naar,
bgt_budget_bedrag_naar bgt_budgetmutatie_bedrag,
bgt_budget_btwbedrag_naar bgt_budgetmutatie_btwbedrag,
bgt_budgetmutatie_omschrijving,
bgt_budgetmutatie_datum
FROM bgt_budgetmutatie m2) mut
WHERE mut.bgt_budget_key_org = bud_org.bgt_budget_key
AND mut.bgt_budget_key_des = bud_des.bgt_budget_key
AND bud_org.bgt_project_key = bud_des.bgt_project_key;
CREATE OR REPLACE VIEW twyn_v_bgt_factuur
AS
SELECT id.ins_discipline_key,
pr.bgt_project_key,
kr.bgt_kostenrubriek_key,
ksg.prs_kostensoortgrp_key,
ks.prs_kostensoort_key,
SUM (COALESCE (f.fin_factuur_totaal, 0)) gefactureerd,
SUM (COALESCE (f.fin_factuur_totaal_btw, 0)) gefactureerdbtw
FROM fin_factuur f,
mld_opdr o,
prs_kostensoort ks,
prs_kostensoortgrp ksg,
bgt_kostenrubriek kr,
bgt_project pr,
ins_tab_discipline id
WHERE f.mld_opdr_key(+) = o.mld_opdr_key
AND ks.prs_kostensoort_key = o.prs_kostensoort_key(+)
AND ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key
AND ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
AND pr.bgt_project_key = kr.bgt_project_key
AND id.ins_discipline_key = pr.ins_discipline_key
GROUP BY id.ins_discipline_key,
pr.bgt_project_key,
kr.bgt_kostenrubriek_key,
ksg.prs_kostensoortgrp_key,
ks.prs_kostensoort_key;
CREATE OR REPLACE VIEW twyn_v_bgt_opdracht
AS
SELECT id.ins_discipline_key,
pr.bgt_project_key,
kr.bgt_kostenrubriek_key,
ksg.prs_kostensoortgrp_key,
ks.prs_kostensoort_key,
SUM (COALESCE (o.mld_opdr_kosten, 0)) gecontracteerd,
SUM (COALESCE (o.mld_opdr_kosten_btw, 0)) gecontracteerdbtw
FROM mld_opdr o,
prs_kostensoort ks,
prs_kostensoortgrp ksg,
bgt_kostenrubriek kr,
bgt_project pr,
ins_tab_discipline id
WHERE ks.prs_kostensoort_key = o.prs_kostensoort_key(+)
AND ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key
AND ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
AND pr.bgt_project_key = kr.bgt_project_key
AND id.ins_discipline_key = pr.ins_discipline_key
GROUP BY id.ins_discipline_key,
pr.bgt_project_key,
kr.bgt_kostenrubriek_key,
ksg.prs_kostensoortgrp_key,
ks.prs_kostensoort_key;
-- 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
, tp.versienummer
, 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
, tp.versienummer
, 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.versienummer
, 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
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.versienummer
, 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_FACT
-- CON_ACC
-- FACTCORU
CREATE OR REPLACE VIEW twyn_v_contr_fact_bedrijf
AS
SELECT tp.opdrachtgever
, tp.pcode
, tp.project
, tp.subproject
, tp.rcode
, tp.kostenrubriek
, tp.kostengroep
, tp.scode
, tp.kostensoort
, tp.versienummer
, b.prs_bedrijf_naam
, 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
, NVL(fin_factuur_datum, o.mld_opdr_datumbegin) datumfilter
, o.mld_opdr_datumbegin contractdatum
, o.mld_opdr_kosten
, o.mld_opdr_kosten_btw
, o.mld_opdr_meerwerk
, CASE WHEN fin_factuur_key IS NULL
THEN 1
WHEN (SELECT MIN(fc.fin_factuur_key)
FROM fin_factuur fc
WHERE fc.mld_opdr_key = f.mld_opdr_key) = f.fin_factuur_key
THEN 1
ELSE 0
END contractwaarde
, f.fin_factuur_nr
, f.fin_factuur_opmerking
, f.fin_factuur_totaal
, f.fin_factuur_totaal_btw
, f.fin_factuur_datum factuurdatum
, f.fin_factuur_advies adviesdatum
, TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') contractdatum_p
, TO_CHAR (f.fin_factuur_datum, 'DD-MM-YYYY') factuurdatum_p
, TO_CHAR (f.fin_factuur_advies, 'DD-MM-YYYY') adviesdatum_p
FROM fin_factuur f
, mld_opdr o
, prs_bedrijf b
, prs_kostenplaats kp
, bgt_v_project_full tp
WHERE o.mld_opdr_key = f.mld_opdr_key(+)
AND 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
AND tp.ins_discipline_verwijder IS NULL
AND tp.bgt_project_verwijder IS NULL
ORDER BY b.prs_leverancier_nr
, tp.scode
, o.mld_opdr_datumbegin
, 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
, tp.versienummer
, 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
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
, tp.versienummer
ORDER BY kp.prs_kostenplaats_nr
, b.prs_leverancier_nr
, o.mld_opdr_ordernr
, o.mld_opdr_bedrijfopdr_volgnr;
-- BREG_RUB
--
CREATE OR REPLACE VIEW twyn_v_budgetdetail
AS
SELECT opdrachtgever
, pcode
, project
, projectnaam
, dcode
, subproject
, subprojectnaam
, versienummer
, rcode
, kostenrubriek
, gcode
, kostengroep
, scode
, kostensoort
, financieel.bgt_kostenrubriek_key
, financieel.soort
, financieel.soortmutatie
, financieel.bgt_bedrag_exc
, financieel.bgt_bedrag_btw
, financieel.res_bedrag_exc
, financieel.res_bedrag_btw
, financieel.mut_bedrag_exc
, financieel.mut_bedrag_btw
, financieel.bgt_datum
, financieel.cnt_bedrag_exc
, financieel.cnt_bedrag_btw
, financieel.cnt_datum
, financieel.fin_bedrag_exc
, financieel.fin_bedrag_btw
, financieel.fin_datum
, CASE
WHEN financieel.soort = 'F' THEN financieel.fin_datum
WHEN financieel.soort = 'C' THEN financieel.cnt_datum
WHEN financieel.soort = 'M' THEN financieel.mut_datum
WHEN financieel.soort = 'B' THEN financieel.bgt_datum
END all_datum
FROM bgt_v_project_full gegevens
, (SELECT bu.bgt_kostenrubriek_key
, bu.prs_kostensoortgrp_key
, bu.prs_kostensoort_key
, 'B' soort
, NULL soortmutatie
, bu.bgt_budget_bedrag bgt_bedrag_exc
, bu.bgt_budget_btwbedrag bgt_bedrag_btw
, COALESCE(bu.bgt_budget_begin, p.bgt_project_prijspeildatum) bgt_datum
, 0 res_bedrag_exc
, 0 res_bedrag_btw
, 0 mut_bedrag_exc
, 0 mut_bedrag_btw
, TO_DATE(NULL) mut_datum
, 0 cnt_bedrag_exc
, 0 cnt_bedrag_btw
, TO_DATE(NULL) cnt_datum
, 0 fin_bedrag_exc
, 0 fin_bedrag_btw
, TO_DATE(NULL) fin_datum
FROM bgt_budget bu
, bgt_project p
WHERE bu.bgt_project_key = p.bgt_project_key
UNION ALL
SELECT bu.bgt_kostenrubriek_key
, bu.prs_kostensoortgrp_key
, bu.prs_kostensoort_key
, 'M' soort
, bm.soortmutatie soortmutatie
, 0 bgt_bedrag_exc
, 0 bgt_bedrag_btw
, TO_DATE(NULL) bgt_datum
, COALESCE (bm.res_bedrag_exc, 0) res_bedrag_exc
, COALESCE (bm.res_bedrag_btw, 0) res_bedrag_btw
, COALESCE (bm.mut_bedrag_exc, 0) mut_bedrag_exc
, COALESCE (bm.mut_bedrag_btw, 0) mut_bedrag_btw
, bm.bgt_budgetmutatie_datum mut_datum
, 0 cnt_bedrag_exc
, 0 cnt_bedrag_btw
, TO_DATE(NULL) cnt_datum
, 0 fin_bedrag_exc
, 0 fin_bedrag_btw
, TO_DATE(NULL) fin_datum
FROM bgt_budget bu
, twyn_v_bgt_budgetsrtmutatie bm
WHERE bu.bgt_budget_key = bm.bgt_budget_key
UNION ALL
SELECT bu.bgt_kostenrubriek_key
, bu.prs_kostensoortgrp_key
, bu.prs_kostensoort_key
, 'C' soort
, NULL soortmutatie
, 0 bgt_bedrag_exc
, 0 bgt_bedrag_btw
, TO_DATE(NULL) bgt_datum
, 0 res_bedrag_exc
, 0 res_bedrag_btw
, 0 mut_bedrag_exc
, 0 mut_bedrag_btw
, TO_DATE(NULL) mut_datum
, COALESCE (mo.mld_opdr_kosten, 0) cnt_bedrag_exc
, COALESCE (mo.mld_opdr_kosten_btw, 0) cnt_bedrag_btw
, mo.mld_opdr_datumbegin cnt_datum
, 0 fin_bedrag_exc
, 0 fin_bedrag_btw
, TO_DATE(NULL) fin_datum
FROM bgt_budget bu
, mld_opdr mo
WHERE bu.prs_kostensoort_key = mo.prs_kostensoort_key(+)
AND mo.mld_statusopdr_key <> 10 -- ter goedkeuring (=raming) hier niet in meenemen
UNION ALL
SELECT bu.bgt_kostenrubriek_key
, bu.prs_kostensoortgrp_key
, bu.prs_kostensoort_key
, 'F' soort
, NULL soortmutatie
, 0 bgt_bedrag_exc
, 0 bgt_bedrag_btw
, TO_DATE(NULL) bgt_datum
, 0 res_bedrag_exc
, 0 res_bedrag_btw
, 0 mut_bedrag_exc
, 0 mut_bedrag_btw
, TO_DATE(NULL) mut_datum
, 0 cnt_bedrag_exc
, 0 cnt_bedrag_btw
, TO_DATE(NULL) cnt_datum
, COALESCE (fa.fin_factuur_totaal, 0) fin_bedrag_exc
, COALESCE (fa.fin_factuur_totaal_btw, 0) fin_bedrag_btw
, fa.fin_factuur_datum fin_datum
FROM bgt_budget bu
, mld_opdr op
, fin_factuur fa
WHERE fa.mld_opdr_key = op.mld_opdr_key
AND bu.prs_kostensoort_key = op.prs_kostensoort_key)
financieel
WHERE gegevens.prs_kostensoort_key = financieel.prs_kostensoort_key
AND gegevens.ins_discipline_verwijder IS NULL
AND gegevens.bgt_project_verwijder IS NULL;
--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
, gegevens.versienummer
, 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
, (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.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
);
-- BREG_TOT
-- BREG_RES
-- BREG_BTW
CREATE OR REPLACE VIEW twyn_v_budgettotaal
AS
SELECT opdrachtgever
, pcode
, project
, projectnaam
, dcode
, subproject
, subprojectnaam
, versienummer
, rcode
, kostenrubriek
, projectdatum.startdatum_p
, financieel.*
, CASE WHEN financieel.soort = 'F' THEN financieel.fin_datum
WHEN financieel.soort = 'C' THEN financieel.cnt_datum
WHEN financieel.soort = 'M' THEN financieel.mut_datum
WHEN financieel.soort = 'B' THEN financieel.bgt_datum
END all_datum
FROM bgt_v_project_full gegevens
, twyn_v_bgt_projectdatum projectdatum
, (
SELECT kr.bgt_kostenrubriek_key
, 'B' soort
, NULL soortmutatie
, SUM(bu.bgt_budget_bedrag) bgt_bedrag_exc
, SUM(bu.bgt_budget_btwbedrag) bgt_bedrag_btw
, COALESCE(MIN(bu.bgt_budget_begin), MIN(p.bgt_project_prijspeildatum)) bgt_datum
, 0 res_bedrag_exc
, 0 res_bedrag_btw
, 0 mut_bedrag_exc
, 0 mut_bedrag_btw
, TO_DATE(NULL) mut_datum
, 0 cnt_bedrag_exc
, 0 cnt_bedrag_btw
, TO_DATE(NULL) cnt_datum
, 0 fin_bedrag_exc
, 0 fin_bedrag_btw
, TO_DATE(NULL) fin_datum
FROM bgt_kostenrubriek kr
, bgt_budget bu
, bgt_project p
WHERE bu.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key
AND bu.bgt_project_key = p.bgt_project_key
GROUP BY kr.bgt_kostenrubriek_key
UNION ALL
SELECT bu.bgt_kostenrubriek_key
, 'M' soort
, bm.soortmutatie soortmutatie
, 0 bgt_bedrag_exc
, 0 bgt_bedrag_btw
, TO_DATE(NULL) bgt_datum
, COALESCE(bm.res_bedrag_exc, 0) res_bedrag_exc
, COALESCE(bm.res_bedrag_btw, 0) res_bedrag_btw
, COALESCE(bm.mut_bedrag_exc, 0) mut_bedrag_exc
, COALESCE(bm.mut_bedrag_btw, 0) mut_bedrag_btw
, bm.bgt_budgetmutatie_datum mut_datum
, 0 cnt_bedrag_exc
, 0 cnt_bedrag_btw
, TO_DATE(NULL) cnt_datum
, 0 fin_bedrag_exc
, 0 fin_bedrag_btw
, TO_DATE(NULL) fin_datum
FROM bgt_budget bu
, twyn_v_bgt_budgetsrtmutatie bm
WHERE bu.bgt_budget_key = bm.bgt_budget_key
UNION ALL
SELECT bu.bgt_kostenrubriek_key
, 'C' soort
, NULL soortmutatie
, 0 bgt_bedrag_exc
, 0 bgt_bedrag_btw
, TO_DATE(NULL) bgt_datum
, 0 res_bedrag_exc
, 0 res_bedrag_btw
, 0 mut_bedrag_exc
, 0 mut_bedrag_btw
, TO_DATE(NULL) mut_datum
, COALESCE(mo.mld_opdr_kosten, 0) cnt_bedrag_exc
, COALESCE(mo.mld_opdr_kosten_btw, 0) cnt_bedrag_btw
, mo.mld_opdr_datumbegin cnt_datum
, 0 fin_bedrag_exc
, 0 fin_bedrag_btw
, TO_DATE(NULL) fin_datum
FROM bgt_budget bu
, mld_opdr mo
WHERE bu.prs_kostensoort_key = mo.prs_kostensoort_key(+)
AND mo.mld_statusopdr_key <> 10 -- ter goedkeuring (=raming) hier niet in meenemen
UNION ALL
SELECT bu.bgt_kostenrubriek_key
, 'F' soort
, NULL soortmutatie
, 0 bgt_bedrag_exc
, 0 bgt_bedrag_btw
, TO_DATE(NULL) bgt_datum
, 0 res_bedrag_exc
, 0 res_bedrag_btw
, 0 mut_bedrag_exc
, 0 mut_bedrag_btw
, TO_DATE(NULL) mut_datum
, 0 cnt_bedrag_exc
, 0 cnt_bedrag_btw
, TO_DATE(NULL) cnt_datum
, COALESCE(fa.fin_factuur_totaal, 0) fin_bedrag_exc
, COALESCE(fa.fin_factuur_totaal_btw, 0) fin_bedrag_btw
, fa.fin_factuur_datum fin_datum
FROM bgt_budget bu
, mld_opdr op
, fin_factuur fa
WHERE fa.mld_opdr_key = op.mld_opdr_key
AND bu.prs_kostensoort_key = op.prs_kostensoort_key
) financieel
WHERE gegevens.bgt_kostenrubriek_key = financieel.bgt_kostenrubriek_key
AND gegevens.bgt_project_key = projectdatum.bgt_project_key
AND prs_kostensoortgrp_key IS NULL
AND prs_kostensoort_key IS NULL
AND ins_discipline_verwijder IS NULL
AND bgt_project_verwijder 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
, b.prs_leverancier_nr
, b.prs_bedrijf_naam
, p.scode
, p.kostensoort
, p.versienummer
, 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
, (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.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
, p.versienummer
, 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
, (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.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
, p.versienummer
, 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
, (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.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
, tp.versienummer
, 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;
------ 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