KFNS#32266 KFNS1
svn path=/Customer/trunk/; revision=25558
This commit is contained in:
405
KFNS/kfns.sql
405
KFNS/kfns.sql
@@ -522,170 +522,255 @@ END;
|
||||
/
|
||||
|
||||
|
||||
/*
|
||||
CREATE OR REPLACE VIEW kfns_v_rap_broc_actual
|
||||
/* Formatted on 30-6-2015 19:35:25 (QP5 v5.136.908.31019) */
|
||||
CREATE OR REPLACE VIEW kfns_v_rap_cost_actual
|
||||
(
|
||||
maand,
|
||||
sla,
|
||||
fclt_f_prefix,
|
||||
opdr,
|
||||
fclt_f_kdrager,
|
||||
fclt_f_kdrager_oms,
|
||||
fclt_f_ksoort,
|
||||
fclt_f_ksoort_oms,
|
||||
locatie,
|
||||
fclt_f_gebouw_terrein,
|
||||
verdieping,
|
||||
ruimte,
|
||||
fclt_f_vakgroep,
|
||||
fclt_f_melding,
|
||||
melder,
|
||||
omschrijving,
|
||||
opmerking,
|
||||
aanmaak,
|
||||
gepland,
|
||||
gereed,
|
||||
fclt_f_uitvoerende,
|
||||
contactpersoon,
|
||||
kosten,
|
||||
fclt_3d_afdeling_key
|
||||
bedrijf_key,
|
||||
bedrijf,
|
||||
contract_key,
|
||||
contractnr,
|
||||
ponr,
|
||||
beschrijving,
|
||||
aantal,
|
||||
kosten
|
||||
--fclt_3d_afdeling_key
|
||||
)
|
||||
AS -- Variabele kosten op basis van (variabele) contracten
|
||||
AS -- Variabele kosten uit opdrachten op variabele contracten
|
||||
SELECT TO_CHAR (SYSDATE, 'yyyy-mm'),
|
||||
o.prs_bedrijf_key,
|
||||
o.prs_bedrijf_naam bedrijf,
|
||||
o.cnt_contract_key,
|
||||
o.cnt_contract_nummer_intern,
|
||||
--kc.cnt_kenmerkcontract_waarde ponr,
|
||||
o.cnt_contract_nummer ponr,
|
||||
o.cnt_contract_omschrijving,
|
||||
COUNT ( * ) aantal,
|
||||
SUM (o.mld_opdr_kosten) kosten
|
||||
FROM (SELECT o.mld_opdr_key,
|
||||
b.prs_bedrijf_key,
|
||||
b.prs_bedrijf_naam,
|
||||
cordafr.cnt_contract_key,
|
||||
cordafr.cnt_contract_nummer_intern,
|
||||
cordafr.cnt_contract_nummer,
|
||||
cordafr.cnt_contract_omschrijving,
|
||||
o.mld_opdr_kosten
|
||||
FROM mld_opdr o,
|
||||
fac_tracking t,
|
||||
prs_bedrijf b,
|
||||
cnt_contract cordnew,
|
||||
cnt_contract cordafr
|
||||
--mld_melding m,
|
||||
--prs_v_perslid_fullnames_all pf,
|
||||
--alg_v_allonrgoed_gegevens og,
|
||||
--mld_stdmelding sm,
|
||||
--ins_tab_discipline td,
|
||||
--ins_srtdiscipline sd,
|
||||
--prs_kostensoort ksm,
|
||||
--prs_kostensoort ksv,
|
||||
--prs_kostenplaats kp
|
||||
WHERE o.mld_statusopdr_key = 9
|
||||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = 70 -- ORDAFR
|
||||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||||
AND o.cnt_contract_key = cordnew.cnt_contract_key
|
||||
AND cordnew.ins_discipline_key = 143 -- Vatiabele contracten
|
||||
AND cordnew.cnt_contract_nummer_intern =
|
||||
cordafr.cnt_contract_nummer_intern
|
||||
AND t.fac_tracking_datum BETWEEN cordafr.cnt_contract_looptijd_van
|
||||
AND cordafr.cnt_contract_looptijd_tot
|
||||
AND t.fac_tracking_datum < TRUNC (SYSDATE, 'mm')
|
||||
--AND o.mld_melding_key = m.mld_melding_key
|
||||
--AND m.prs_perslid_key = pf.prs_perslid_key
|
||||
--AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
|
||||
--AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
--AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||||
--AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
--AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||||
--AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||||
--AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||||
AND 1 = 1) o
|
||||
--LEFT JOIN (SELECT DISTINCT o.mld_opdr_key, p.prs_afdeling_key afdeling
|
||||
-- FROM mld_opdr o,
|
||||
-- prs_bedrijf b,
|
||||
-- prs_contactpersoon cp,
|
||||
-- prs_perslid p
|
||||
-- WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||||
-- AND b.prs_bedrijf_key = cp.prs_bedrijf_key
|
||||
-- AND cp.prs_perslid_key = p.prs_perslid_key) o2a
|
||||
-- ON x.mld_opdr_key = o2a.mld_opdr_key
|
||||
GROUP BY TO_CHAR (SYSDATE, 'yyyy-mm'),
|
||||
o.prs_bedrijf_key,
|
||||
o.prs_bedrijf_naam,
|
||||
o.cnt_contract_key,
|
||||
o.cnt_contract_nummer_intern,
|
||||
o.cnt_contract_nummer,
|
||||
o.cnt_contract_omschrijving
|
||||
UNION ALL -- Vaste kosten uit vaste contracten
|
||||
SELECT TO_CHAR (SYSDATE, 'yyyy-mm'),
|
||||
a.sla,
|
||||
a.prefix,
|
||||
a.opdracht,
|
||||
a.kdrager,
|
||||
a.kdrager_oms,
|
||||
a.ksoort,
|
||||
a.ksoort_oms,
|
||||
NULL locatie,
|
||||
a.gebouw_terrein,
|
||||
a.verdieping,
|
||||
a.ruimte,
|
||||
a.vakgroep,
|
||||
a.melding,
|
||||
a.melder,
|
||||
a.oms,
|
||||
a.opm,
|
||||
a.datum_aanmaak,
|
||||
a.datum_gepland,
|
||||
a.datum_gereed,
|
||||
a.bedrijf,
|
||||
a.cp,
|
||||
a.kosten,
|
||||
b.afdeling
|
||||
FROM (SELECT o.mld_opdr_key,
|
||||
COALESCE (og.alg_gebouw_key, og.alg_terreinsector_key)
|
||||
gebter_key,
|
||||
TO_CHAR (m.mld_melding_uitvoertijd) sla,
|
||||
sd.ins_srtdiscipline_prefix prefix,
|
||||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
||||
opdracht,
|
||||
kp.prs_kostenplaats_nr kdrager,
|
||||
kp.prs_kostenplaats_omschrijving kdrager_oms,
|
||||
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms)
|
||||
ksoort,
|
||||
DECODE (ksm.prs_kostensoort_oms,
|
||||
NULL, ksv.prs_kostensoort_opmerking,
|
||||
ksm.prs_kostensoort_opmerking)
|
||||
ksoort_oms,
|
||||
COALESCE (og.alg_terreinsector_code, og.alg_gebouw_code)
|
||||
gebouw_terrein,
|
||||
og.alg_verdieping_code verdieping,
|
||||
og.alg_ruimte_nr ruimte,
|
||||
td.ins_discipline_omschrijving vakgroep,
|
||||
sm.mld_stdmelding_omschrijving melding,
|
||||
pf.prs_perslid_naam_full melder,
|
||||
o.mld_opdr_omschrijving oms,
|
||||
o.mld_opdr_opmerking opm,
|
||||
TO_CHAR (o.mld_opdr_datumbegin, 'dd-mm-yyyy') datum_aanmaak, -- Of verzonden?
|
||||
TO_CHAR (
|
||||
fac.datumtijdplusuitvoertijd (o.mld_opdr_datumbegin,
|
||||
m.mld_melding_t_uitvoertijd.tijdsduur,
|
||||
m.mld_melding_t_uitvoertijd.eenheid),
|
||||
'dd-mm-yyyy')
|
||||
datum_gepland,
|
||||
TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key),
|
||||
'dd-mm-yyyy')
|
||||
datum_gereed,
|
||||
b.prs_bedrijf_naam bedrijf,
|
||||
o.mld_opdr_contactpersoon cp,
|
||||
o.mld_opdr_kosten kosten
|
||||
FROM mld_opdr o,
|
||||
prs_bedrijf b,
|
||||
mld_melding m,
|
||||
prs_v_perslid_fullnames_all pf,
|
||||
alg_v_allonrgoed_gegevens og,
|
||||
mld_stdmelding sm,
|
||||
ins_tab_discipline td,
|
||||
ins_srtdiscipline sd,
|
||||
prs_kostensoort ksm,
|
||||
prs_kostensoort ksv,
|
||||
prs_kostenplaats kp
|
||||
WHERE o.mld_statusopdr_key = 9
|
||||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||||
AND o.mld_melding_key = m.mld_melding_key
|
||||
AND m.prs_perslid_key = pf.prs_perslid_key
|
||||
AND m.mld_alg_onroerendgoed_keys =
|
||||
og.alg_onroerendgoed_keys
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||||
AND kp.prs_kostenplaats_upper = 'WTC'
|
||||
AND fac.gettrackingdate ('ORDAFR', o.mld_opdr_key) <
|
||||
TO_DATE (TO_CHAR (SYSDATE, 'yyyymm') || '01',
|
||||
'yyyymmdd')) a
|
||||
LEFT JOIN (SELECT DISTINCT
|
||||
o.mld_opdr_key, p.prs_afdeling_key afdeling
|
||||
FROM mld_opdr o,
|
||||
prs_bedrijf b,
|
||||
prs_contactpersoon cp,
|
||||
prs_perslid p
|
||||
WHERE b.prs_bedrijf_key = cp.prs_bedrijf_key
|
||||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||||
AND cp.prs_perslid_key = p.prs_perslid_key) b
|
||||
ON a.mld_opdr_key = b.mld_opdr_key
|
||||
UNION ALL -- Vaste kosten op basis van (vaste) contracten
|
||||
SELECT c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern,
|
||||
c.cnt_contract_omschrijving,
|
||||
kc.cnt_kenmerkcontract_waarde inkoopordernr,
|
||||
c.prs_bedrijf_naam,
|
||||
--DECODE ( -- Wat als looptijd < jaar of veelvoud periode?
|
||||
-- COALESCE (c.cnt_contract_termijnkosten, 0),
|
||||
-- 0,
|
||||
-- c.cnt_contract_kosten / 12,
|
||||
-- DECODE (1,
|
||||
-- NULL, TO_NUMBER (NULL),
|
||||
-- c.cnt_contract_termijnkosten / 1))
|
||||
-- bedrag,
|
||||
c.cnt_contract_kosten jaarkosten,
|
||||
c.cnt_contract_termijnkosten maandkosten
|
||||
FROM (SELECT c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern,
|
||||
c.cnt_contract_omschrijving,
|
||||
b.prs_bedrijf_naam,
|
||||
c.cnt_contract_kosten,
|
||||
c.cnt_contract_termijnkosten
|
||||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
|
||||
WHERE c.cnt_contract_looptijd_tot >= LAST_DAY (ADD_MONTHS (SYSDATE, -1))
|
||||
AND c.ins_discipline_key = 141 -- Vaste contracten
|
||||
AND c.cnt_contract_status = 0 -- NIET Gesloten!
|
||||
AND NOT EXISTS -- Beschouw alleen laatste versie van contracten
|
||||
(SELECT 1
|
||||
FROM cnt_v_aanwezigcontract
|
||||
WHERE cnt_contract_nummer_intern = c.cnt_contract_nummer_intern
|
||||
AND cnt_contract_versie > c.cnt_contract_versie)
|
||||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c
|
||||
LEFT JOIN -- Inkoopordernummer NS (4)
|
||||
cnt_kenmerkcontract kc
|
||||
ON c.cnt_contract_key = kc.cnt_contract_key AND kc.cnt_kenmerk_key = 4;
|
||||
c.prs_bedrijf_key,
|
||||
c.prs_bedrijf_naam bedrijf,
|
||||
c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern,
|
||||
--kc.cnt_kenmerkcontract_waarde ponr,
|
||||
c.cnt_contract_nummer ponr,
|
||||
c.cnt_contract_omschrijving,
|
||||
0 aantal,
|
||||
DECODE (COALESCE (c.cnt_contract_termijnkosten, 0),
|
||||
0, c.cnt_contract_kosten / 12,
|
||||
c.cnt_contract_termijnkosten)
|
||||
kosten -- Wat als looptijd < jaar?
|
||||
FROM (SELECT b.prs_bedrijf_key,
|
||||
b.prs_bedrijf_naam,
|
||||
c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern,
|
||||
c.cnt_contract_nummer,
|
||||
c.cnt_contract_omschrijving,
|
||||
c.cnt_contract_kosten,
|
||||
c.cnt_contract_termijnkosten
|
||||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
|
||||
WHERE c.cnt_contract_looptijd_tot >=
|
||||
LAST_DAY (ADD_MONTHS (SYSDATE, -1))
|
||||
AND c.ins_discipline_key = 141 -- Vaste contracten
|
||||
AND c.cnt_contract_status = 0 -- NIET Gesloten!
|
||||
AND NOT EXISTS -- Beschouw alleen laatste versie van contracten
|
||||
(SELECT 1
|
||||
FROM cnt_v_aanwezigcontract
|
||||
WHERE cnt_contract_nummer_intern =
|
||||
c.cnt_contract_nummer_intern
|
||||
AND cnt_contract_versie >
|
||||
c.cnt_contract_versie)
|
||||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c
|
||||
LEFT JOIN
|
||||
cnt_kenmerkcontract kc
|
||||
ON kc.cnt_kenmerk_key = 4 -- Inkoopordernummer NS
|
||||
AND c.cnt_contract_key = kc.cnt_contract_key;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE kfns_export_broc (p_applname IN VARCHAR2,
|
||||
CREATE OR REPLACE VIEW kfns_v_rap_cost_frozen
|
||||
(
|
||||
maand,
|
||||
bedrijf_key,
|
||||
bedrijf,
|
||||
contract_key,
|
||||
contractnr,
|
||||
ponr,
|
||||
beschrijving,
|
||||
aantal,
|
||||
kosten
|
||||
--fclt_3d_afdeling_key
|
||||
)
|
||||
AS -- Variabele kosten uit opdrachten op variabele contracten
|
||||
SELECT o.datum_frozen,
|
||||
o.prs_bedrijf_key,
|
||||
o.prs_bedrijf_naam bedrijf,
|
||||
o.cnt_contract_key,
|
||||
o.cnt_contract_nummer_intern,
|
||||
--kc.cnt_kenmerkcontract_waarde ponr,
|
||||
o.cnt_contract_nummer ponr,
|
||||
o.cnt_contract_omschrijving,
|
||||
COUNT ( * ) aantal,
|
||||
SUM (o.mld_opdr_kosten) kosten
|
||||
FROM (SELECT TO_CHAR (t.fac_tracking_datum, 'yyyy-mm-dd') datum_frozen,
|
||||
o.mld_opdr_key,
|
||||
b.prs_bedrijf_key,
|
||||
b.prs_bedrijf_naam,
|
||||
cordver.cnt_contract_key,
|
||||
cordver.cnt_contract_nummer_intern,
|
||||
cordver.cnt_contract_nummer,
|
||||
cordver.cnt_contract_omschrijving,
|
||||
o.mld_opdr_kosten
|
||||
FROM mld_opdr o,
|
||||
fac_tracking t,
|
||||
prs_bedrijf b,
|
||||
cnt_contract cordnew,
|
||||
cnt_contract cordver
|
||||
--mld_melding m,
|
||||
--prs_v_perslid_fullnames_all pf,
|
||||
--alg_v_allonrgoed_gegevens og,
|
||||
--mld_stdmelding sm,
|
||||
--ins_tab_discipline td,
|
||||
--ins_srtdiscipline sd,
|
||||
--prs_kostensoort ksm,
|
||||
--prs_kostensoort ksv,
|
||||
--prs_kostenplaats kp
|
||||
WHERE o.mld_statusopdr_key = 7
|
||||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = 66 -- ORDVER
|
||||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||||
AND o.cnt_contract_key = cordnew.cnt_contract_key
|
||||
AND cordnew.ins_discipline_key = 143 -- Vatiabele contracten
|
||||
AND cordnew.cnt_contract_nummer_intern =
|
||||
cordver.cnt_contract_nummer_intern
|
||||
AND t.fac_tracking_datum BETWEEN cordver.cnt_contract_looptijd_van
|
||||
AND cordver.cnt_contract_looptijd_tot
|
||||
--AND o.mld_melding_key = m.mld_melding_key
|
||||
--AND m.prs_perslid_key = pf.prs_perslid_key
|
||||
--AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
|
||||
--AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
--AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||||
--AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
--AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||||
--AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||||
--AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||||
AND 1 = 1) o
|
||||
--LEFT JOIN (SELECT DISTINCT o.mld_opdr_key, p.prs_afdeling_key afdeling
|
||||
-- FROM mld_opdr o,
|
||||
-- prs_bedrijf b,
|
||||
-- prs_contactpersoon cp,
|
||||
-- prs_perslid p
|
||||
-- WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||||
-- AND b.prs_bedrijf_key = cp.prs_bedrijf_key
|
||||
-- AND cp.prs_perslid_key = p.prs_perslid_key) o2a
|
||||
-- ON x.mld_opdr_key = o2a.mld_opdr_key
|
||||
GROUP BY o.datum_frozen,
|
||||
o.prs_bedrijf_key,
|
||||
o.prs_bedrijf_naam,
|
||||
o.cnt_contract_key,
|
||||
o.cnt_contract_nummer_intern,
|
||||
o.cnt_contract_nummer,
|
||||
o.cnt_contract_omschrijving
|
||||
UNION ALL -- Vaste kosten uit vaste contracten
|
||||
SELECT TO_CHAR (SYSDATE, 'yyyy-mm'),
|
||||
c.prs_bedrijf_key,
|
||||
c.prs_bedrijf_naam bedrijf,
|
||||
c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern,
|
||||
--kc.cnt_kenmerkcontract_waarde ponr,
|
||||
c.cnt_contract_nummer ponr,
|
||||
c.cnt_contract_omschrijving,
|
||||
0 aantal,
|
||||
DECODE (COALESCE (c.cnt_contract_termijnkosten, 0),
|
||||
0, c.cnt_contract_kosten / 12,
|
||||
c.cnt_contract_termijnkosten)
|
||||
kosten -- Wat als looptijd < jaar?
|
||||
FROM (SELECT b.prs_bedrijf_key,
|
||||
b.prs_bedrijf_naam,
|
||||
c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern,
|
||||
c.cnt_contract_nummer,
|
||||
c.cnt_contract_omschrijving,
|
||||
c.cnt_contract_kosten,
|
||||
c.cnt_contract_termijnkosten
|
||||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
|
||||
WHERE c.cnt_contract_looptijd_tot >=
|
||||
LAST_DAY (ADD_MONTHS (SYSDATE, -1))
|
||||
AND c.ins_discipline_key = 141 -- Vaste contracten
|
||||
AND c.cnt_contract_status = 0 -- NIET Gesloten!
|
||||
AND NOT EXISTS -- Beschouw alleen laatste versie van contracten
|
||||
(SELECT 1
|
||||
FROM cnt_v_aanwezigcontract
|
||||
WHERE cnt_contract_nummer_intern =
|
||||
c.cnt_contract_nummer_intern
|
||||
AND cnt_contract_versie >
|
||||
c.cnt_contract_versie)
|
||||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c
|
||||
LEFT JOIN
|
||||
cnt_kenmerkcontract kc
|
||||
ON kc.cnt_kenmerk_key = 4 -- Inkoopordernummer NS
|
||||
AND c.cnt_contract_key = kc.cnt_contract_key;
|
||||
|
||||
/*
|
||||
CREATE OR REPLACE PROCEDURE kfns_export_cost (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2)
|
||||
AS
|
||||
-- Cursor loopt over een view met daarin opgebouwd alle BROC-regels die op
|
||||
@@ -1502,7 +1587,7 @@ AS
|
||||
|
||||
BEGIN adm.systrackscriptId('$Id$', 0); END;
|
||||
/
|
||||
BEGIN fac.registercustversion('KFNS', 0); END;
|
||||
BEGIN fac.registercustversion('KFNS', 1); END;
|
||||
/
|
||||
commit;
|
||||
spool off
|
||||
|
||||
Reference in New Issue
Block a user