873 lines
35 KiB
SQL
873 lines
35 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;
|
|
|
|
|
|
------ 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
|