7233 lines
341 KiB
MySQL
7233 lines
341 KiB
MySQL
-- Script containing customer specific sql for UWVA (UWV Amsterdam)
|
||
-- related to BROC/SCH/FACTUUR.
|
||
--
|
||
-- (c) 2005-2012 SG|Facilitor bv
|
||
-- $Revision$
|
||
-- $Id$
|
||
--
|
||
-- Support: +31 53 4800700
|
||
|
||
SET DEFINE OFF
|
||
SET ECHO ON
|
||
spool xuwva_fin.lst
|
||
|
||
/* Formatted on 3-6-2013 20:42:53 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE uwva_imp_writelog (p_import_key IN NUMBER,
|
||
p_severity IN VARCHAR2,
|
||
p_errormsg IN VARCHAR2,
|
||
p_errorhint IN VARCHAR2)
|
||
AS
|
||
PRAGMA AUTONOMOUS_TRANSACTION;
|
||
BEGIN
|
||
fac.imp_writelog (p_import_key,
|
||
p_severity,
|
||
p_errormsg,
|
||
p_errorhint);
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
/* Formatted on 8-3-2012 14:30:15 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_cat_factuur
|
||
AS
|
||
SELECT exportdatum fclt_f_exportdatum,
|
||
leverancier,
|
||
gebouw,
|
||
SUM (bedrag) bedrag
|
||
FROM (SELECT exportdatum,
|
||
SUBSTR (
|
||
detail.ins_discipline_omschrijving,
|
||
INSTR (detail.ins_discipline_omschrijving, ' (') + 1
|
||
)
|
||
leverancier,
|
||
DECODE (
|
||
detail.alg_ruimte_key,
|
||
NULL,
|
||
'Onbekend',
|
||
(SELECT alg_gebouw_code
|
||
FROM alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r
|
||
WHERE detail.alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_verdieping_key =
|
||
v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key)
|
||
)
|
||
gebouw,
|
||
bedrag
|
||
FROM ( SELECT exportdatum,
|
||
ins_discipline_omschrijving,
|
||
alg_ruimte_key,
|
||
SUM (bedrag) bedrag
|
||
FROM (SELECT COALESCE(rar1.alg_ruimte_key,rar2.alg_ruimte_key) alg_ruimte_key,
|
||
rd.ins_discipline_omschrijving,
|
||
rra.res_rsv_artikel_prijs bedrag,
|
||
TO_CHAR (res_rsv_artikel_verwerkt,
|
||
'YYYY-MM-DD')
|
||
exportdatum
|
||
FROM res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd,
|
||
res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling ro,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key)
|
||
alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key)
|
||
alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2
|
||
WHERE rra.res_artikel_key =
|
||
ra.res_artikel_key
|
||
AND ra.res_discipline_key =
|
||
rd.ins_discipline_key
|
||
AND rra.res_rsv_ruimte_key =
|
||
rrr.res_rsv_ruimte_key
|
||
AND rrr.res_ruimte_opstel_key =
|
||
ro.res_ruimte_opstel_key
|
||
AND ro.res_ruimte_key =
|
||
rar1.res_ruimte_key(+)
|
||
AND ro.res_ruimte_key =
|
||
rar2.res_ruimte_key(+)
|
||
AND rra.res_rsv_artikel_verwerkt >
|
||
SYSDATE - 365
|
||
UNION ALL
|
||
SELECT rrr.alg_ruimte_key,
|
||
rd.ins_discipline_omschrijving,
|
||
rra.res_rsv_artikel_prijs bedrag,
|
||
TO_CHAR (res_rsv_artikel_verwerkt,
|
||
'YYYY-MM-DD')
|
||
exportdatum
|
||
FROM res_rsv_ruimte rrr,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd
|
||
WHERE rrr.res_ruimte_opstel_key IS NULL
|
||
AND rrr.res_rsv_ruimte_key =
|
||
rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key =
|
||
ra.res_artikel_key
|
||
AND ra.res_discipline_key =
|
||
rd.ins_discipline_key
|
||
AND rra.res_rsv_artikel_verwerkt >
|
||
SYSDATE - 365)
|
||
GROUP BY exportdatum,
|
||
ins_discipline_omschrijving,
|
||
alg_ruimte_key) detail)
|
||
GROUP BY leverancier, gebouw, exportdatum;
|
||
|
||
|
||
-- UWVA#24721/Schoonmaak per aanbesteding 2013 (2 kavels).
|
||
-- Oa. VVO_KORTING + GLASWAS_FREQ vervallen!
|
||
CREATE OR REPLACE VIEW UWVA_V_SCH_ACTUAL
|
||
(
|
||
KAVEL,
|
||
DISTRICT,
|
||
GEBOUW,
|
||
GEBOUW_KEY,
|
||
VERDIEPING,
|
||
RUIMTE_NR,
|
||
RUIMTESOORT,
|
||
RUIMTEGEBRUIK,
|
||
LEEG,
|
||
RC_TYPE,
|
||
SCH_NIVEAU,
|
||
SCH_TARIEF, -- Jaartarief!
|
||
VVO
|
||
)
|
||
AS
|
||
SELECT y.kavel,
|
||
d.alg_district_omschrijving,
|
||
g.alg_gebouw_code,
|
||
g.alg_gebouw_key,
|
||
x.alg_verdieping_code,
|
||
x.alg_ruimte_nr,
|
||
x.ruimtesoort,
|
||
x.ruimtegebruik,
|
||
x.leeg,
|
||
x.rc_type,
|
||
x.sch_niveau, -- NULL voor contract-m2 of ruimtegebruik onbekend
|
||
DECODE (
|
||
y.kavel_key,
|
||
7245, -- Noord
|
||
DECODE (
|
||
x.sch_niveau_key,
|
||
NULL, -- onbekend, dan telt als Kantoor- en overige ruimten
|
||
(SELECT fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 943 AND fac_usrdata_key = 7386),
|
||
7265, -- ruimtegebruik Opslag/stallingsruimte
|
||
(SELECT fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 943 AND fac_usrdata_key = 7385),
|
||
7266, -- ruimtegebruik Kantoor- en overige ruimten
|
||
(SELECT fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 943 AND fac_usrdata_key = 7386),
|
||
0 -- ruimtegebruik Niet schoonmaken
|
||
),
|
||
7246, -- Zuid
|
||
DECODE (
|
||
x.sch_niveau_key,
|
||
NULL, -- onbekend, dan telt als Kantoor- en overige ruimten
|
||
(SELECT fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 943 AND fac_usrdata_key = 7388),
|
||
7265, -- ruimtegebruik Opslag/stallingsruimte
|
||
(SELECT fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 943 AND fac_usrdata_key = 7387),
|
||
7266, -- ruimtegebruik Kantoor- en overige ruimten
|
||
(SELECT fac_usrdata_prijs
|
||
FROM fac_usrdata
|
||
WHERE fac_usrtab_key = 943 AND fac_usrdata_key = 7388),
|
||
0 -- ruimtegebruik Niet schoonmaken
|
||
),
|
||
0 -- kan niet voorkomen; zie WHERE-clause!
|
||
)
|
||
sch_tarief,
|
||
ROUND (x.vvo, 2)
|
||
FROM ( SELECT a.alg_gebouw_key,
|
||
a.alg_verdieping_code,
|
||
a.alg_ruimte_nr,
|
||
b.ruimtesoort,
|
||
c.ruimtegebruik,
|
||
d.sch_niveau_key,
|
||
d.sch_niveau,
|
||
DECODE (SUBSTR (e.div_kpn, 1, 4), 'LEEG', 1, 0) leeg,
|
||
'R' rc_type,
|
||
SUM( a.vvo
|
||
* COALESCE (e.div_bez, 1)
|
||
/ COALESCE (f.tot_bez, 1))
|
||
vvo
|
||
FROM (SELECT r.alg_ruimte_key,
|
||
r.alg_ruimte_nr,
|
||
v.alg_verdieping_code,
|
||
v.alg_gebouw_key,
|
||
(SELECT ok.alg_onrgoedkenmerk_waarde
|
||
FROM alg_onrgoedkenmerk ok
|
||
WHERE ok.alg_kenmerk_key =
|
||
1300 -- R/C/N
|
||
AND ok.alg_onrgoed_niveau =
|
||
'G'
|
||
AND ok.alg_onrgoed_key =
|
||
v.alg_gebouw_key)
|
||
m2_bepaling,
|
||
COALESCE (
|
||
r.alg_ruimte_opp_alt1,
|
||
r.alg_ruimte_bruto_vloeropp,
|
||
0
|
||
)
|
||
vvo
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v
|
||
WHERE r.alg_verdieping_key =
|
||
v.alg_verdieping_key) a
|
||
LEFT JOIN
|
||
(SELECT r.alg_ruimte_key,
|
||
sr.alg_srtruimte_omschrijving
|
||
ruimtesoort
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_srtruimte sr
|
||
WHERE r.alg_srtruimte_key =
|
||
sr.alg_srtruimte_key) b
|
||
ON a.alg_ruimte_key = b.alg_ruimte_key
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key,
|
||
ud.fac_usrdata_key
|
||
ruimtegebruik_key,
|
||
ud.fac_usrdata_omschr
|
||
ruimtegebruik,
|
||
ud.fac_usrdata_parentkey
|
||
sch_niveau_key
|
||
FROM alg_onrgoedkenmerk ok,
|
||
fac_usrdata ud
|
||
WHERE ok.alg_kenmerk_key = 1240 -- ruimtegebr.
|
||
AND ok.alg_onrgoed_niveau =
|
||
'R'
|
||
AND ud.fac_usrdata_key =
|
||
fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde))
|
||
c
|
||
ON a.alg_ruimte_key = c.alg_onrgoed_key
|
||
LEFT JOIN
|
||
(SELECT ud.fac_usrdata_key sch_niveau_key,
|
||
ud.fac_usrdata_omschr sch_niveau
|
||
FROM fac_v_aanwezigusrdata ud
|
||
WHERE ud.fac_usrtab_key = 942) -- SCH-niveau
|
||
d
|
||
ON c.sch_niveau_key = d.sch_niveau_key
|
||
LEFT JOIN -- divisie op ruimte
|
||
(SELECT ra.alg_ruimte_key,
|
||
afd.prs_afdeling_naam div_kpn,
|
||
ra.prs_ruimteafdeling_bezetting
|
||
div_bez
|
||
FROM prs_v_aanwezigruimteafdeling ra,
|
||
prs_v_afdeling_boom ab,
|
||
prs_afdeling afd
|
||
WHERE ra.prs_afdeling_key =
|
||
ab.prs_afdeling_key
|
||
AND ab.prs_afdeling_key1 =
|
||
afd.prs_afdeling_key) e
|
||
ON a.alg_ruimte_key = e.alg_ruimte_key
|
||
LEFT JOIN -- bezettingstotaal
|
||
( SELECT ra.alg_ruimte_key,
|
||
SUM (ra.prs_ruimteafdeling_bezetting)
|
||
tot_bez
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.prs_ruimteafdeling_bezetting > 0
|
||
GROUP BY ra.alg_ruimte_key) f
|
||
ON a.alg_ruimte_key = f.alg_ruimte_key
|
||
WHERE m2_bepaling = '3581' -- R(uimte)
|
||
--AND COALESCE (m2_bepaling, '3581') = '3581' -- R(uimte)
|
||
AND COALESCE (c.ruimtegebruik_key, -1) != 3250 -- NIET: lift
|
||
AND COALESCE (c.sch_niveau_key, -1) != 7267 -- niet schoonmaken
|
||
GROUP BY a.alg_gebouw_key,
|
||
a.alg_verdieping_code,
|
||
a.alg_ruimte_nr,
|
||
b.ruimtesoort,
|
||
c.ruimtegebruik,
|
||
d.sch_niveau_key,
|
||
d.sch_niveau,
|
||
DECODE (SUBSTR (e.div_kpn, 1, 4), 'LEEG', 1, 0),
|
||
'R'
|
||
UNION ALL -- alleen de lift op BG moet worden schoongemaakt!
|
||
SELECT a.alg_gebouw_key,
|
||
a.alg_verdieping_code,
|
||
a.alg_ruimte_nr,
|
||
b.ruimtesoort,
|
||
c.ruimtegebruik,
|
||
d.sch_niveau_key,
|
||
d.sch_niveau,
|
||
0 leeg,
|
||
'R' rc_type,
|
||
a.vvo
|
||
FROM (SELECT r.alg_ruimte_key,
|
||
r.alg_ruimte_nr,
|
||
v.alg_verdieping_code,
|
||
v.alg_gebouw_key,
|
||
(SELECT ok.alg_onrgoedkenmerk_waarde
|
||
FROM alg_onrgoedkenmerk ok
|
||
WHERE ok.alg_kenmerk_key =
|
||
1300 -- R/C/N
|
||
AND ok.alg_onrgoed_niveau =
|
||
'G'
|
||
AND ok.alg_onrgoed_key =
|
||
v.alg_gebouw_key)
|
||
m2_bepaling,
|
||
COALESCE (
|
||
r.alg_ruimte_opp_alt1,
|
||
r.alg_ruimte_bruto_vloeropp,
|
||
0
|
||
)
|
||
vvo
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v
|
||
WHERE r.alg_srtruimte_key = 307 -- v. verk.
|
||
AND r.alg_verdieping_key =
|
||
v.alg_verdieping_key
|
||
AND v.alg_verdieping_code IN
|
||
('0', '00', 'BG')) a
|
||
LEFT JOIN
|
||
(SELECT r.alg_ruimte_key,
|
||
sr.alg_srtruimte_omschrijving
|
||
ruimtesoort
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_srtruimte sr
|
||
WHERE r.alg_srtruimte_key =
|
||
sr.alg_srtruimte_key) b
|
||
ON a.alg_ruimte_key = b.alg_ruimte_key
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key,
|
||
ud.fac_usrdata_key ruimtegebruik_key,
|
||
ud.fac_usrdata_omschr ruimtegebruik,
|
||
ud.fac_usrdata_parentkey
|
||
sch_niveau_key
|
||
FROM alg_onrgoedkenmerk ok,
|
||
fac_usrdata ud
|
||
WHERE ok.alg_kenmerk_key = 1240 -- ruimtegebr.
|
||
AND ok.alg_onrgoed_niveau = 'R'
|
||
AND ud.fac_usrdata_key =
|
||
fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde))
|
||
c
|
||
ON a.alg_ruimte_key = c.alg_onrgoed_key
|
||
LEFT JOIN
|
||
(SELECT ud.fac_usrdata_key sch_niveau_key,
|
||
ud.fac_usrdata_omschr sch_niveau
|
||
FROM fac_v_aanwezigusrdata ud
|
||
WHERE ud.fac_usrtab_key = 942) -- SCH-niveau
|
||
d
|
||
ON c.sch_niveau_key = d.sch_niveau_key
|
||
WHERE m2_bepaling = '3581' -- R(uimte)
|
||
--AND COALESCE (m2_bepaling, '3581') = '3581' -- R(uimte)
|
||
AND c.ruimtegebruik_key = 3250 -- WEL: lift
|
||
AND COALESCE (c.sch_niveau_key, -1) != 7267 -- niet schoonmaken
|
||
UNION ALL -- huurcontract info bij gebouw; soms >1 per gebouw?
|
||
SELECT a.alg_gebouw_key,
|
||
'-' alg_verdieping_code,
|
||
'-' alg_ruimte_nr,
|
||
NULL ruimtesoort,
|
||
NULL ruimtegebruik,
|
||
NULL sch_niveau_key,
|
||
NULL sch_niveau,
|
||
0 leeg,
|
||
'C' rc_type,
|
||
SUM (b.aantal) opp
|
||
FROM (SELECT cc.cnt_contract_key,
|
||
ccp.cnt_alg_plaats_key alg_gebouw_key
|
||
FROM cnt_v_aanwezigcontract cc,
|
||
cnt_kenmerkcontract kc,
|
||
cnt_contract_plaats ccp,
|
||
alg_v_aanwezigonrgoedkenmerk ok
|
||
WHERE cc.ins_discipline_key = 198 -- hr.cnt.
|
||
AND cc.cnt_contract_key =
|
||
kc.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key = 184 -- actief
|
||
AND kc.cnt_kenmerkcontract_waarde =
|
||
'1221'
|
||
AND cc.cnt_contract_key =
|
||
ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code = 'G'
|
||
AND ccp.cnt_contract_plaats_verwijder IS NULL
|
||
AND ccp.cnt_alg_plaats_key =
|
||
ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1300 -- R/C/N
|
||
AND ok.alg_onrgoedkenmerk_waarde =
|
||
'3582') -- C(ontract)
|
||
a
|
||
LEFT JOIN
|
||
( SELECT regels.cntkey,
|
||
SUM (regels.aantal) aantal
|
||
FROM (SELECT cr1.cnt_contract_key cntkey,
|
||
(SELECT fac.safe_to_number(kc.cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key =
|
||
cr1.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key =
|
||
202)
|
||
aantal,
|
||
(SELECT fac.safe_to_number(kc.cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key =
|
||
cr1.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key =
|
||
201)
|
||
rubriek
|
||
FROM cnt_contract cr1
|
||
WHERE cr1.ins_discipline_key = 198
|
||
UNION ALL
|
||
SELECT cr2.cnt_contract_key cntkey,
|
||
(SELECT fac.safe_to_number(kc.cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key =
|
||
cr2.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key =
|
||
261)
|
||
aantal,
|
||
(SELECT fac.safe_to_number(kc.cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key =
|
||
cr2.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key =
|
||
241)
|
||
rubriek
|
||
FROM cnt_contract cr2
|
||
WHERE cr2.ins_discipline_key = 198
|
||
UNION ALL
|
||
SELECT cr3.cnt_contract_key cntkey,
|
||
(SELECT fac.safe_to_number(kc.cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key =
|
||
cr3.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key =
|
||
321)
|
||
aantal,
|
||
(SELECT fac.safe_to_number(kc.cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key =
|
||
cr3.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key =
|
||
302)
|
||
rubriek
|
||
FROM cnt_contract cr3
|
||
WHERE cr3.ins_discipline_key = 198
|
||
UNION ALL
|
||
SELECT cr4.cnt_contract_key cntkey,
|
||
(SELECT fac.safe_to_number(kc.cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key =
|
||
cr4.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key =
|
||
395)
|
||
aantal,
|
||
(SELECT fac.safe_to_number(kc.cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key =
|
||
cr4.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key =
|
||
394)
|
||
rubriek
|
||
FROM cnt_contract cr4
|
||
WHERE cr4.ins_discipline_key = 198
|
||
UNION ALL
|
||
SELECT cr5.cnt_contract_key cntkey,
|
||
(SELECT fac.safe_to_number(kc.cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key =
|
||
cr5.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key =
|
||
399)
|
||
aantal,
|
||
(SELECT fac.safe_to_number(kc.cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key =
|
||
cr5.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key =
|
||
398)
|
||
rubriek
|
||
FROM cnt_contract cr5
|
||
WHERE cr5.ins_discipline_key = 198)
|
||
regels
|
||
WHERE regels.rubriek = 2407
|
||
GROUP BY regels.cntkey) b
|
||
ON a.cnt_contract_key = b.cntkey
|
||
GROUP BY a.alg_gebouw_key,
|
||
NULL,
|
||
'Contractmeters',
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
0,
|
||
'C') x
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key,
|
||
ud.fac_usrdata_key kavel_key,
|
||
ud.fac_usrdata_omschr kavel
|
||
FROM alg_v_aanwezigonrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud
|
||
WHERE ok.alg_kenmerk_key = 1420 -- kavel
|
||
AND ok.alg_onrgoed_niveau = 'G'
|
||
--AND ud.fac_usrtab_key = 922
|
||
AND fac.safe_to_number (
|
||
ok.alg_onrgoedkenmerk_waarde
|
||
) = ud.fac_usrdata_key) y
|
||
ON x.alg_gebouw_key = y.alg_onrgoed_key,
|
||
alg_v_aanweziggebouw g,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE x.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key
|
||
AND y.kavel_key IS NOT NULL;
|
||
|
||
-- UWVA#24721/Schoonmaak per aanbesteding 2013 (2 kavels).
|
||
/* Formatted on 20-12-2012 16:32:32 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_sch_gebouw
|
||
(
|
||
fclt_f_kavel,
|
||
fclt_f_regio,
|
||
fclt_f_gebouw,
|
||
hide_f_volgorde,
|
||
adres,
|
||
fclt_f_plaats,
|
||
fclt_f_rcgp_code,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
)
|
||
AS
|
||
SELECT a.kavel,
|
||
b.regio,
|
||
b.code,
|
||
'1',
|
||
COALESCE (c.adres, b.adres) adres,
|
||
COALESCE (c.plaats, b.plaats) plaats,
|
||
a.rc_type,
|
||
a.sch_niveau,
|
||
DECODE (COALESCE (a.tot_opp, 0),
|
||
0, TO_NUMBER (NULL),
|
||
ROUND (a.tot_opp, 2)),
|
||
DECODE (COALESCE (a.leeg_opp, 0),
|
||
0, TO_NUMBER (NULL),
|
||
ROUND (a.leeg_opp, 2)),
|
||
DECODE (
|
||
COALESCE (a.tot_opp, 0) - COALESCE (a.leeg_opp, 0),
|
||
0,
|
||
TO_NUMBER (NULL),
|
||
ROUND (COALESCE (a.tot_opp, 0) - COALESCE (a.leeg_opp, 0), 2)
|
||
),
|
||
DECODE (
|
||
COALESCE (a.tot_opp, 0) - COALESCE (a.leeg_opp, 0),
|
||
0,
|
||
TO_NUMBER (NULL),
|
||
ROUND (
|
||
(a.tot_opp - COALESCE (a.leeg_opp, 0)) * a.sch_tarief / 24,
|
||
2
|
||
)
|
||
)
|
||
FROM ( SELECT v.kavel,
|
||
v.gebouw_key,
|
||
v.rc_type,
|
||
v.sch_niveau,
|
||
v.sch_tarief,
|
||
SUM (v.vvo) tot_opp,
|
||
SUM (DECODE (v.leeg, 1, v.vvo, 0)) leeg_opp
|
||
FROM uwva_v_sch_actual v
|
||
WHERE v.leeg IN (0, 1) AND v.ruimte_nr <> '000'
|
||
GROUP BY v.kavel,
|
||
v.gebouw_key,
|
||
v.rc_type,
|
||
v.sch_niveau,
|
||
v.sch_tarief) a
|
||
LEFT JOIN -- regio info bij gebouw
|
||
(SELECT g.alg_gebouw_key,
|
||
d.alg_district_omschrijving regio,
|
||
g.alg_gebouw_code code,
|
||
l.alg_locatie_adres adres,
|
||
l.alg_locatie_plaats plaats
|
||
FROM alg_gebouw g, alg_locatie l, alg_district d
|
||
WHERE g.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key) b
|
||
ON a.gebouw_key = b.alg_gebouw_key
|
||
LEFT JOIN -- adres info bij gebouw
|
||
(SELECT g.alg_gebouw_key,
|
||
a.mld_adres_bezoek_adres adres,
|
||
a.mld_adres_bezoek_plaats plaats
|
||
FROM alg_gebouw g, mld_adres a
|
||
WHERE g.mld_adres_key = a.mld_adres_key
|
||
AND a.mld_adres_verwijder IS NULL) c
|
||
ON a.gebouw_key = c.alg_gebouw_key;
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_schn_gebouw
|
||
(
|
||
fclt_f_regio,
|
||
fclt_f_gebouw,
|
||
adres,
|
||
fclt_f_plaats,
|
||
fclt_f_rc_code,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
)
|
||
AS
|
||
SELECT fclt_f_regio,
|
||
fclt_f_gebouw,
|
||
adres,
|
||
fclt_f_plaats,
|
||
fclt_f_rcgp_code,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
FROM uwva_v_rap_sch_gebouw
|
||
WHERE fclt_f_kavel = 'Noord';
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_schz_gebouw
|
||
(
|
||
fclt_f_regio,
|
||
fclt_f_gebouw,
|
||
adres,
|
||
fclt_f_plaats,
|
||
fclt_f_rc_code,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
)
|
||
AS
|
||
SELECT fclt_f_regio,
|
||
fclt_f_gebouw,
|
||
adres,
|
||
fclt_f_plaats,
|
||
fclt_f_rcgp_code,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
FROM uwva_v_rap_sch_gebouw
|
||
WHERE fclt_f_kavel = 'Zuid';
|
||
|
||
-- UWVA#24721/Schoonmaak per aanbesteding 2013 (2 kavels):
|
||
/* Formatted on 20-12-2012 16:32:32 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_sch_gebouwfrozen
|
||
(
|
||
fclt_f_kavel,
|
||
fclt_f_datum,
|
||
fclt_f_regio,
|
||
fclt_f_gebouw,
|
||
hide_f_volgorde,
|
||
adres,
|
||
fclt_f_plaats,
|
||
fclt_f_rcgp_code,
|
||
fclt_f_categorie,
|
||
vvo_korting,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
huur_uren,
|
||
glaswas_freq,
|
||
halfmaand_bedrag
|
||
)
|
||
AS
|
||
SELECT a.kavel,
|
||
TO_CHAR (a.freeze_datum, 'YYYY-MM-DD') datum,
|
||
COALESCE (b.regio, 'Onbekend'),
|
||
a.gebouw,
|
||
'1',
|
||
COALESCE (c.adres, b.adres, 'Onbekend') adres,
|
||
COALESCE (c.plaats, b.plaats, 'Onbekend') plaats,
|
||
a.rc_type,
|
||
a.sch_niveau,
|
||
TO_CHAR (a.vvo_korting) || '%',
|
||
DECODE (COALESCE (a.tot_opp, 0),
|
||
0, TO_NUMBER (NULL),
|
||
ROUND (a.tot_opp, 2)),
|
||
DECODE (COALESCE (a.leeg_opp, 0),
|
||
0, TO_NUMBER (NULL),
|
||
ROUND (a.leeg_opp, 2)),
|
||
DECODE (
|
||
COALESCE (a.tot_opp, 0) - COALESCE (a.leeg_opp, 0),
|
||
0,
|
||
TO_NUMBER (NULL),
|
||
ROUND (COALESCE (a.tot_opp, 0) - COALESCE (a.leeg_opp, 0), 2)
|
||
),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
DECODE (
|
||
COALESCE (a.tot_opp, 0) - COALESCE (a.leeg_opp, 0),
|
||
0,
|
||
TO_NUMBER (NULL),
|
||
ROUND (
|
||
(a.tot_opp - COALESCE (a.leeg_opp, 0))
|
||
* a.sch_tarief
|
||
* (100 - COALESCE (a.vvo_korting, 0))
|
||
/ 2400,
|
||
2
|
||
)
|
||
)
|
||
FROM ( SELECT v.kavel,
|
||
v.gebouw,
|
||
v.freeze_datum,
|
||
v.rc_type,
|
||
v.sch_niveau,
|
||
v.vvo_korting,
|
||
v.sch_tarief,
|
||
SUM (v.vvo) tot_opp,
|
||
SUM (DECODE (v.leeg, 1, v.vvo, 0)) leeg_opp
|
||
FROM uwva_sch_freeze v
|
||
WHERE v.leeg IN (0, 1) AND v.ruimte_nr <> '000'
|
||
GROUP BY v.kavel,
|
||
v.gebouw,
|
||
v.freeze_datum,
|
||
v.rc_type,
|
||
v.sch_niveau,
|
||
v.vvo_korting,
|
||
v.sch_tarief) a
|
||
LEFT JOIN -- regio info bij gebouw
|
||
(SELECT g.alg_gebouw_code,
|
||
d.alg_district_omschrijving regio,
|
||
l.alg_locatie_adres adres,
|
||
l.alg_locatie_plaats plaats
|
||
FROM alg_v_aanweziggebouw g,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE g.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key) b
|
||
ON a.gebouw = b.alg_gebouw_code
|
||
LEFT JOIN -- adres info bij gebouw
|
||
(SELECT g.alg_gebouw_code,
|
||
a.mld_adres_bezoek_adres adres,
|
||
a.mld_adres_bezoek_plaats plaats
|
||
FROM alg_v_aanweziggebouw g, mld_adres a
|
||
WHERE g.mld_adres_key = a.mld_adres_key
|
||
AND a.mld_adres_verwijder IS NULL) c
|
||
ON a.gebouw = c.alg_gebouw_code
|
||
UNION ALL
|
||
SELECT NULL,
|
||
TO_CHAR (a.freeze_datum, 'YYYY-MM-DD') datum,
|
||
COALESCE (c.regio, 'Onbekend'),
|
||
a.gebouw,
|
||
'2',
|
||
COALESCE (d.adres, c.adres, 'Onbekend') adres,
|
||
COALESCE (d.plaats, c.plaats, 'Onbekend') plaats,
|
||
a.rc_type,
|
||
a.sch_niveau,
|
||
NULL,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
DECODE (SUBSTR (a.ruimtesoort, 1, 10),
|
||
'HOOGWERKER', TO_NUMBER (NULL),
|
||
ROUND (COALESCE (a.tot_opp, 0), 2)),
|
||
DECODE (SUBSTR (a.ruimtesoort, 1, 10),
|
||
'HOOGWERKER', ROUND (COALESCE (a.tot_opp, 0), 2),
|
||
TO_NUMBER (NULL)),
|
||
a.glaswas_freq,
|
||
DECODE (COALESCE (a.tot_opp, 0),
|
||
0, TO_NUMBER (NULL),
|
||
ROUND (a.tot_opp * a.sch_tarief / 24, 2))
|
||
FROM ( SELECT v.gebouw,
|
||
v.freeze_datum,
|
||
v.ruimtesoort,
|
||
v.rc_type,
|
||
v.sch_niveau,
|
||
v.sch_tarief,
|
||
v.glaswas_freq,
|
||
SUM (v.vvo) tot_opp
|
||
FROM uwva_sch_freeze v
|
||
WHERE v.rc_type = 'G'
|
||
GROUP BY v.gebouw,
|
||
v.freeze_datum,
|
||
v.ruimtesoort,
|
||
v.rc_type,
|
||
v.sch_niveau,
|
||
v.sch_tarief,
|
||
v.glaswas_freq) a
|
||
LEFT JOIN -- regio info bij gebouw
|
||
(SELECT g.alg_gebouw_code,
|
||
d.alg_district_omschrijving regio,
|
||
l.alg_locatie_adres adres,
|
||
l.alg_locatie_plaats plaats
|
||
FROM alg_v_aanweziggebouw g,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE g.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key) c
|
||
ON a.gebouw = c.alg_gebouw_code
|
||
LEFT JOIN -- adres info bij gebouw
|
||
(SELECT g.alg_gebouw_code,
|
||
a.mld_adres_bezoek_adres adres,
|
||
a.mld_adres_bezoek_plaats plaats
|
||
FROM alg_v_aanweziggebouw g, mld_adres a
|
||
WHERE g.mld_adres_key = a.mld_adres_key
|
||
AND a.mld_adres_verwijder IS NULL) d
|
||
ON a.gebouw = d.alg_gebouw_code
|
||
UNION ALL
|
||
SELECT NULL,
|
||
TO_CHAR (a.freeze_datum, 'YYYY-MM-DD') datum,
|
||
COALESCE (c.regio, 'Onbekend'),
|
||
a.gebouw,
|
||
'3',
|
||
COALESCE (d.adres, c.adres, 'Onbekend') adres,
|
||
COALESCE (d.plaats, c.plaats, 'Onbekend') plaats,
|
||
a.rc_type,
|
||
a.sch_niveau,
|
||
NULL,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
ROUND (COALESCE (a.sch_tarief, 0) / 24, 2)
|
||
FROM (SELECT v.gebouw,
|
||
v.freeze_datum,
|
||
v.rc_type,
|
||
v.sch_niveau,
|
||
v.sch_tarief
|
||
FROM uwva_sch_freeze v
|
||
WHERE v.rc_type = 'P') a
|
||
LEFT JOIN -- regio info bij gebouw
|
||
(SELECT g.alg_gebouw_code,
|
||
d.alg_district_omschrijving regio,
|
||
l.alg_locatie_adres adres,
|
||
l.alg_locatie_plaats plaats
|
||
FROM alg_v_aanweziggebouw g,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE g.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key) c
|
||
ON a.gebouw = c.alg_gebouw_code
|
||
LEFT JOIN -- adres info bij gebouw
|
||
(SELECT g.alg_gebouw_code,
|
||
a.mld_adres_bezoek_adres adres,
|
||
a.mld_adres_bezoek_plaats plaats
|
||
FROM alg_v_aanweziggebouw g, mld_adres a
|
||
WHERE g.mld_adres_key = a.mld_adres_key
|
||
AND a.mld_adres_verwijder IS NULL) d
|
||
ON a.gebouw = d.alg_gebouw_code;
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_schn_gebouwfrozen
|
||
(
|
||
fclt_f_datum,
|
||
fclt_f_regio,
|
||
fclt_f_gebouw,
|
||
adres,
|
||
fclt_f_plaats,
|
||
fclt_f_rc_code,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
)
|
||
AS
|
||
SELECT fclt_f_datum,
|
||
fclt_f_regio,
|
||
fclt_f_gebouw,
|
||
adres,
|
||
fclt_f_plaats,
|
||
fclt_f_rcgp_code,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
FROM uwva_v_rap_sch_gebouwfrozen
|
||
WHERE fclt_f_kavel = 'Noord';
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_schz_gebouwfrozen
|
||
(
|
||
fclt_f_datum,
|
||
fclt_f_regio,
|
||
fclt_f_gebouw,
|
||
adres,
|
||
fclt_f_plaats,
|
||
fclt_f_rc_code,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
)
|
||
AS
|
||
SELECT fclt_f_datum,
|
||
fclt_f_regio,
|
||
fclt_f_gebouw,
|
||
adres,
|
||
fclt_f_plaats,
|
||
fclt_f_rcgp_code,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
FROM uwva_v_rap_sch_gebouwfrozen
|
||
WHERE fclt_f_kavel = 'Zuid';
|
||
|
||
-- UWVA#24721/Schoonmaak per aanbesteding 2013 (2 kavels):
|
||
/* Formatted on 11-12-2012 9:50:05 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_sch_gebgebrfrozen
|
||
(
|
||
fclt_f_datum,
|
||
fclt_f_kavel,
|
||
fclt_f_gebouw,
|
||
fclt_f_ruimtesoort,
|
||
fclt_f_ruimtegebruik,
|
||
fclt_f_categorie,
|
||
vvo_korting,
|
||
m2_jaartarief,
|
||
m2_halfmaandtarief,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2
|
||
)
|
||
AS
|
||
( SELECT TO_CHAR (x.freeze_datum, 'YYYY-MM-DD') datum,
|
||
x.kavel,
|
||
x.gebouw,
|
||
x.ruimtesoort,
|
||
x.ruimtegebruik,
|
||
x.sch_niveau,
|
||
TO_CHAR (x.vvo_korting) || '%',
|
||
REPLACE (TO_CHAR (x.sch_tarief, '999990D99'), '.', ','),
|
||
REPLACE (TO_CHAR (x.sch_tarief / 24, '999990D99'), '.', ','),
|
||
DECODE (SUM (x.tot_opp),
|
||
0, TO_NUMBER (NULL),
|
||
ROUND (SUM (x.tot_opp), 2)),
|
||
DECODE (SUM (x.leeg_opp),
|
||
0, TO_NUMBER (NULL),
|
||
ROUND (SUM (x.leeg_opp), 2)),
|
||
DECODE (SUM (x.tot_opp - x.leeg_opp),
|
||
0, TO_NUMBER (NULL),
|
||
ROUND (SUM (x.tot_opp - x.leeg_opp), 2))
|
||
FROM ( SELECT v.kavel,
|
||
v.gebouw,
|
||
v.freeze_datum,
|
||
v.ruimtesoort,
|
||
v.ruimtegebruik,
|
||
v.sch_niveau,
|
||
v.vvo_korting,
|
||
v.sch_tarief,
|
||
SUM (v.vvo) tot_opp,
|
||
SUM (DECODE (v.leeg, 1, v.vvo, 0)) leeg_opp
|
||
FROM uwva_sch_freeze v
|
||
WHERE v.leeg IN (0, 1) AND v.ruimte_nr <> '000'
|
||
GROUP BY v.kavel,
|
||
v.gebouw,
|
||
v.freeze_datum,
|
||
v.ruimtesoort,
|
||
v.ruimtegebruik,
|
||
v.sch_niveau,
|
||
v.vvo_korting,
|
||
v.sch_tarief) x
|
||
GROUP BY x.freeze_datum,
|
||
x.kavel,
|
||
x.gebouw,
|
||
x.ruimtesoort,
|
||
x.ruimtegebruik,
|
||
x.sch_niveau,
|
||
TO_CHAR (x.vvo_korting) || '%',
|
||
x.sch_tarief);
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_schn_gebgebrfrozen
|
||
(
|
||
fclt_f_datum,
|
||
fclt_f_gebouw,
|
||
fclt_f_ruimtesoort,
|
||
fclt_f_ruimtegebruik,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2
|
||
)
|
||
AS
|
||
SELECT fclt_f_datum,
|
||
fclt_f_gebouw,
|
||
fclt_f_ruimtesoort,
|
||
fclt_f_ruimtegebruik,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2
|
||
FROM uwva_v_rap_sch_gebgebrfrozen
|
||
WHERE fclt_f_kavel = 'Noord';
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_schz_gebgebrfrozen
|
||
(
|
||
fclt_f_datum,
|
||
fclt_f_gebouw,
|
||
fclt_f_ruimtesoort,
|
||
fclt_f_ruimtegebruik,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2
|
||
)
|
||
AS
|
||
SELECT fclt_f_datum,
|
||
fclt_f_gebouw,
|
||
fclt_f_ruimtesoort,
|
||
fclt_f_ruimtegebruik,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2
|
||
FROM uwva_v_rap_sch_gebgebrfrozen
|
||
WHERE fclt_f_kavel = 'Zuid';
|
||
|
||
-- UWVA#24721/Schoonmaak per aanbesteding 2013 (2 kavels):
|
||
/* Formatted on 18-12-2012 12:45:54 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_sch_foto
|
||
(
|
||
fclt_f_kavel,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
)
|
||
AS
|
||
SELECT v.kavel,
|
||
v.sch_niveau,
|
||
ROUND (SUM (v.vvo), 2) tot_opp,
|
||
ROUND (SUM (DECODE (v.leeg, 1, v.vvo, 0)), 2) leeg_opp,
|
||
ROUND (SUM (DECODE (v.leeg, 0, v.vvo, 0)), 2) sch_opp,
|
||
ROUND (SUM (DECODE (v.leeg, 0, v.vvo, 0)) * v.sch_tarief / 24, 2)
|
||
bedrag
|
||
FROM uwva_v_sch_actual v
|
||
WHERE v.leeg IN (0, 1) AND v.ruimte_nr <> '000'
|
||
GROUP BY v.kavel, v.sch_niveau, v.sch_tarief;
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_schn_foto
|
||
(kavel, fclt_f_categorie, schvvo, leegstd_m2, schoonmaak_m2, halfmaand_bedrag)
|
||
AS
|
||
SELECT * FROM uwva_v_rap_sch_foto WHERE fclt_f_kavel = 'Noord';
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_schz_foto
|
||
(kavel, fclt_f_categorie, schvvo, leegstd_m2, schoonmaak_m2, halfmaand_bedrag)
|
||
AS
|
||
SELECT * FROM uwva_v_rap_sch_foto WHERE fclt_f_kavel = 'Zuid';
|
||
|
||
-- UWVA#24721/Schoonmaak per aanbesteding 2013 (2 kavels):
|
||
-- 35319 -> Facilicom
|
||
-- 64141 -> Eurest
|
||
/* Formatted on 18-12-2012 12:45:54 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_sch_fotofrozen
|
||
(
|
||
fclt_f_datum,
|
||
hide_f_volgorde,
|
||
hide_f_bedrijf_key,
|
||
fclt_f_kavel,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (x.freeze_datum, 'YYYY-MM-DD') datum,
|
||
'1',
|
||
DECODE (x.kavel, 'Noord', 35319, 64141) bedrijf_key,
|
||
x.kavel,
|
||
x.sch_niveau,
|
||
ROUND (SUM (x.tot_opp), 2),
|
||
ROUND (SUM (x.leeg_opp), 2),
|
||
ROUND (SUM (x.tot_opp) - SUM (x.leeg_opp), 2),
|
||
ROUND (SUM (x.bedrag) / 2400, 2)
|
||
FROM ( SELECT v.freeze_datum,
|
||
v.kavel,
|
||
v.sch_niveau,
|
||
v.sch_tarief,
|
||
SUM (v.vvo) tot_opp,
|
||
SUM (DECODE (v.leeg, 1, v.vvo, 0)) leeg_opp,
|
||
SUM( DECODE (v.leeg, 0, COALESCE (v.vvo, 0), 0)
|
||
* v.sch_tarief
|
||
* (100 - COALESCE (v.vvo_korting, 0)))
|
||
bedrag
|
||
FROM uwva_sch_freeze v
|
||
WHERE v.leeg IN (0, 1) AND v.ruimte_nr <> '000'
|
||
GROUP BY v.freeze_datum,
|
||
v.kavel,
|
||
v.sch_niveau,
|
||
v.sch_tarief) x
|
||
GROUP BY x.freeze_datum,
|
||
DECODE (x.kavel, 'Noord', 35319, 64141),
|
||
x.kavel,
|
||
x.sch_niveau,
|
||
x.sch_tarief
|
||
UNION ALL
|
||
SELECT TO_CHAR (v.freeze_datum, 'YYYY-MM-DD') datum,
|
||
'2',
|
||
NULL,
|
||
v.kavel,
|
||
'Glasbewassing',
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
ROUND (SUM (v.vvo * v.sch_tarief) / 24, 2)
|
||
FROM uwva_sch_freeze v
|
||
WHERE v.rc_type = 'G'
|
||
GROUP BY v.freeze_datum, v.kavel
|
||
UNION ALL
|
||
SELECT TO_CHAR (v.freeze_datum, 'YYYY-MM-DD') datum,
|
||
'3',
|
||
NULL,
|
||
v.kavel,
|
||
v.sch_niveau,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
ROUND (SUM (v.sch_tarief) / 24, 2)
|
||
FROM uwva_sch_freeze v
|
||
WHERE v.rc_type = 'P'
|
||
GROUP BY v.freeze_datum,
|
||
v.kavel,
|
||
v.sch_niveau,
|
||
v.sch_tarief
|
||
UNION ALL
|
||
SELECT DISTINCT TO_CHAR (v.freeze_datum, 'YYYY-MM-DD') datum,
|
||
'9',
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL),
|
||
TO_NUMBER (NULL)
|
||
FROM uwva_sch_freeze v;
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_schn_fotofrozen
|
||
(
|
||
fclt_f_datum,
|
||
hide_f_volgorde,
|
||
hide_f_bedrijf_key,
|
||
kavel,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
)
|
||
AS
|
||
SELECT * FROM uwva_v_rap_sch_fotofrozen
|
||
WHERE fclt_f_kavel = 'Noord';
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_schz_fotofrozen
|
||
(
|
||
fclt_f_datum,
|
||
hide_f_volgorde,
|
||
hide_f_bedrijf_key,
|
||
kavel,
|
||
fclt_f_categorie,
|
||
schvvo,
|
||
leegstd_m2,
|
||
schoonmaak_m2,
|
||
halfmaand_bedrag
|
||
)
|
||
AS
|
||
SELECT * FROM uwva_v_rap_sch_fotofrozen
|
||
WHERE fclt_f_kavel = 'Zuid';
|
||
|
||
/* Formatted on 5-12-2012 17:10:02 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_sch_leegst_delta
|
||
(
|
||
fclt_f_kavel,
|
||
fclt_f_gebouw,
|
||
fclt_f_plaats,
|
||
adres,
|
||
fclt_f_verdieping,
|
||
ruimte_nr,
|
||
fclt_f_ruimtesoort,
|
||
fclt_f_ruimtegebruik,
|
||
fclt_f_mutatievlag,
|
||
m2_vorig,
|
||
m2_nieuw,
|
||
m2_delta
|
||
)
|
||
AS
|
||
SELECT k.kavel,
|
||
delta.geb,
|
||
adres.plaats,
|
||
adres.adres,
|
||
delta.ver,
|
||
delta.rui,
|
||
delta.soort,
|
||
delta.gebruik,
|
||
delta.mutatievlag,
|
||
delta.m2_vorig,
|
||
delta.m2_nieuw,
|
||
DECODE (delta.m2_delta, 0, TO_NUMBER (NULL), delta.m2_delta)
|
||
FROM (SELECT DISTINCT
|
||
z.geb,
|
||
z.ver,
|
||
z.rui,
|
||
z.soort,
|
||
z.gebruik,
|
||
DECODE (z.leeg_delta, 0, NULL, 'X') mutatievlag,
|
||
DECODE (z.leeg_old,
|
||
1, TO_NUMBER (NULL),
|
||
COALESCE (z.m2_old, 0))
|
||
m2_vorig,
|
||
DECODE (z.leeg_new,
|
||
1, TO_NUMBER (NULL),
|
||
COALESCE (z.m2_new, 0))
|
||
m2_nieuw,
|
||
DECODE (z.leeg_new, 1, 0, COALESCE (z.m2_new, 0))
|
||
- DECODE (z.leeg_old,
|
||
1, 0,
|
||
COALESCE (z.m2_old, 0))
|
||
m2_delta
|
||
FROM (SELECT COALESCE (x.gebouw, y.gebouw) geb,
|
||
COALESCE (x.verdieping, y.verdieping)
|
||
ver,
|
||
COALESCE (x.ruimte_nr, y.ruimte_nr) rui,
|
||
DECODE (
|
||
x.ruimtesoort,
|
||
COALESCE (y.ruimtesoort,
|
||
x.ruimtesoort),
|
||
x.ruimtesoort,
|
||
'***GEWIJZIGD: '
|
||
|| COALESCE (x.ruimtesoort, '')
|
||
)
|
||
soort,
|
||
DECODE (
|
||
x.ruimtegebruik,
|
||
COALESCE (y.ruimtegebruik,
|
||
x.ruimtegebruik),
|
||
x.ruimtegebruik,
|
||
'***GEWIJZIGD: '
|
||
|| COALESCE (x.ruimtegebruik, '')
|
||
)
|
||
gebruik,
|
||
x.leeg leeg_new,
|
||
y.leeg leeg_old,
|
||
DECODE (y.leeg,
|
||
NULL, 1 - x.leeg,
|
||
y.leeg - x.leeg)
|
||
leeg_delta,
|
||
x.vvo m2_new,
|
||
y.vvo m2_old,
|
||
(COALESCE (x.vvo, 0)
|
||
- COALESCE (y.vvo, 0))
|
||
m2_delta,
|
||
x.freeze_datum fr_new,
|
||
y.freeze_datum fr_old
|
||
FROM (SELECT v.gebouw,
|
||
v.verdieping,
|
||
v.ruimte_nr,
|
||
v.leeg,
|
||
v.ruimtesoort,
|
||
v.ruimtegebruik,
|
||
v.vvo,
|
||
v.freeze_datum
|
||
FROM uwva_sch_freeze v
|
||
WHERE v.leeg IN (0, 1)
|
||
AND v.ruimte_nr <> '000'
|
||
AND v.rc_type = 'R'
|
||
AND TRUNC (v.freeze_datum) =
|
||
(SELECT TRUNC(MAX(w.freeze_datum))
|
||
FROM uwva_sch_freeze w))
|
||
x
|
||
LEFT JOIN
|
||
(SELECT v.gebouw,
|
||
v.verdieping,
|
||
v.ruimte_nr,
|
||
v.leeg,
|
||
v.ruimtesoort,
|
||
v.ruimtegebruik,
|
||
v.vvo,
|
||
v.freeze_datum
|
||
FROM uwva_sch_freeze v
|
||
WHERE v.leeg IN (0, 1)
|
||
AND v.ruimte_nr <> '000'
|
||
AND v.rc_type = 'R'
|
||
AND TRUNC (v.freeze_datum) =
|
||
(SELECT TRUNC(MAX(w.freeze_datum))
|
||
FROM uwva_sch_freeze w
|
||
WHERE w.freeze_datum <>
|
||
(SELECT MAX(freeze_datum)
|
||
FROM uwva_sch_freeze)))
|
||
y
|
||
ON x.gebouw = y.gebouw
|
||
AND x.verdieping = y.verdieping
|
||
AND x.ruimte_nr = y.ruimte_nr
|
||
AND x.leeg = y.leeg
|
||
UNION
|
||
SELECT COALESCE (x.gebouw, y.gebouw) geb,
|
||
COALESCE (x.verdieping, y.verdieping)
|
||
ver,
|
||
COALESCE (x.ruimte_nr, y.ruimte_nr) rui,
|
||
DECODE (
|
||
y.ruimtesoort,
|
||
COALESCE (x.ruimtesoort,
|
||
y.ruimtesoort),
|
||
y.ruimtesoort,
|
||
'***GEWIJZIGD: '
|
||
|| COALESCE (x.ruimtesoort, '')
|
||
)
|
||
soort,
|
||
DECODE (
|
||
y.ruimtegebruik,
|
||
COALESCE (x.ruimtegebruik,
|
||
y.ruimtegebruik),
|
||
y.ruimtegebruik,
|
||
'***GEWIJZIGD: '
|
||
|| COALESCE (x.ruimtegebruik, '')
|
||
)
|
||
gebruik,
|
||
x.leeg leeg_new,
|
||
y.leeg leeg_old,
|
||
DECODE (x.leeg,
|
||
NULL, y.leeg - 1,
|
||
y.leeg - x.leeg)
|
||
leeg_delta,
|
||
x.vvo m2_new,
|
||
y.vvo m2_old,
|
||
(COALESCE (x.vvo, 0)
|
||
- COALESCE (y.vvo, 0))
|
||
m2_delta,
|
||
x.freeze_datum fr_new,
|
||
y.freeze_datum fr_old
|
||
FROM (SELECT v.gebouw,
|
||
v.verdieping,
|
||
v.ruimte_nr,
|
||
v.leeg,
|
||
v.ruimtesoort,
|
||
v.ruimtegebruik,
|
||
v.vvo,
|
||
v.freeze_datum
|
||
FROM uwva_sch_freeze v
|
||
WHERE v.leeg IN (0, 1)
|
||
AND v.ruimte_nr <> '000'
|
||
AND v.rc_type = 'R'
|
||
AND TRUNC (v.freeze_datum) =
|
||
(SELECT TRUNC(MAX(w.freeze_datum))
|
||
FROM uwva_sch_freeze w))
|
||
x
|
||
RIGHT JOIN
|
||
(SELECT v.gebouw,
|
||
v.verdieping,
|
||
v.ruimte_nr,
|
||
v.leeg,
|
||
v.ruimtesoort,
|
||
v.ruimtegebruik,
|
||
v.vvo,
|
||
v.freeze_datum
|
||
FROM uwva_sch_freeze v
|
||
WHERE v.leeg IN (0, 1)
|
||
AND v.ruimte_nr <> '000'
|
||
AND v.rc_type = 'R'
|
||
AND TRUNC (v.freeze_datum) =
|
||
(SELECT TRUNC(MAX(w.freeze_datum))
|
||
FROM uwva_sch_freeze w
|
||
WHERE w.freeze_datum <>
|
||
(SELECT MAX(freeze_datum)
|
||
FROM uwva_sch_freeze)))
|
||
y
|
||
ON x.gebouw = y.gebouw
|
||
AND x.verdieping = y.verdieping
|
||
AND x.ruimte_nr = y.ruimte_nr
|
||
AND x.leeg = y.leeg) z
|
||
WHERE z.leeg_new = 1 OR z.leeg_old = 1) delta
|
||
LEFT JOIN -- adres info bij gebouw
|
||
(SELECT g.alg_gebouw_key,
|
||
g.alg_gebouw_upper,
|
||
a.mld_adres_bezoek_plaats plaats,
|
||
a.mld_adres_bezoek_adres adres
|
||
FROM alg_v_aanweziggebouw g, mld_v_aanwezigadres a
|
||
WHERE g.mld_adres_key = a.mld_adres_key) adres
|
||
ON UPPER (delta.geb) = adres.alg_gebouw_upper
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key, ud.fac_usrdata_omschr kavel
|
||
FROM alg_v_aanwezigonrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud
|
||
WHERE ok.alg_kenmerk_key = 1420 -- kavel
|
||
AND ok.alg_onrgoed_niveau = 'G'
|
||
--AND ud.fac_usrtab_key = 922
|
||
AND fac.safe_to_number (
|
||
ok.alg_onrgoedkenmerk_waarde
|
||
) = ud.fac_usrdata_key) k
|
||
ON adres.alg_gebouw_key = k.alg_onrgoed_key;
|
||
|
||
|
||
---- EXPORT
|
||
-- UWVA#22192/UWVA67
|
||
-- Alle afdelingskostenplaatsen (ooit) met daarbij of die nog ACTIEF is en, indien
|
||
-- INACTIEF, dan de eerste bovenliggende afdelingskostenplaats die wel ACTIEF is (als
|
||
-- die bestaat)!
|
||
/* Formatted on 20-4-2012 15:44:44 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_actkpn_per_afdkpn
|
||
(
|
||
allkpn_key,
|
||
allkpn_upp,
|
||
allkpn_oms,
|
||
actkpn_key,
|
||
actkpn_upp,
|
||
actkpn_oms,
|
||
actief
|
||
)
|
||
AS
|
||
SELECT kp.prs_kostenplaats_key curkpn_key,
|
||
kp.prs_kostenplaats_upper curkpn_upp,
|
||
kp.prs_kostenplaats_omschrijving curkpn_oms,
|
||
kp.prs_kostenplaats_key actkpn_key,
|
||
kp.prs_kostenplaats_upper actkpn_upp,
|
||
kp.prs_kostenplaats_omschrijving actkpn_oms,
|
||
'Ja'
|
||
FROM prs_v_aanwezigkostenplaats kp
|
||
WHERE kp.prs_kostenplaats_module = 'PRS'
|
||
AND kp.prs_kostenplaats_omschrijving NOT LIKE 'INACTIEF%'
|
||
AND (kp.prs_kostenplaats_eind > TRUNC (SYSDATE)
|
||
OR kp.prs_kostenplaats_eind IS NULL)
|
||
UNION ALL
|
||
SELECT x.oldkpn_key,
|
||
x.oldkpn_upp,
|
||
x.oldkpn_oms,
|
||
COALESCE (y1.kpn_key,
|
||
y2.kpn_key,
|
||
y3.kpn_key,
|
||
y4.kpn_key)
|
||
actkpn_key,
|
||
COALESCE (y1.prs_kostenplaats_upper,
|
||
y2.prs_kostenplaats_upper,
|
||
y3.prs_kostenplaats_upper,
|
||
y4.prs_kostenplaats_upper)
|
||
actkpn_upp,
|
||
COALESCE (y1.prs_kostenplaats_omschrijving,
|
||
y2.prs_kostenplaats_omschrijving,
|
||
y3.prs_kostenplaats_omschrijving,
|
||
y4.prs_kostenplaats_omschrijving)
|
||
actkpn_oms,
|
||
'Nee'
|
||
FROM ( SELECT kp.prs_kostenplaats_key oldkpn_key,
|
||
kp.prs_kostenplaats_upper oldkpn_upp,
|
||
kp.prs_kostenplaats_omschrijving oldkpn_oms,
|
||
MAX (a.prs_afdeling_key) afd_key, -- laatst aangemaakt
|
||
COUNT ( * ) afd_aant
|
||
FROM prs_kostenplaats kp,
|
||
(SELECT prs_afdeling_key,
|
||
prs_kostenplaats_key
|
||
FROM prs_afdeling a1
|
||
WHERE a1.prs_afdeling_verwijder IS NULL -- alle aanwezige afdelingen
|
||
OR (a1.prs_afdeling_verwijder IS NOT NULL -- alle verwijderde afdelingen
|
||
AND NOT EXISTS -- en geen aanwezige afdeling met zelfde kostenplaats
|
||
(SELECT 1
|
||
FROM prs_afdeling a2
|
||
WHERE a2.prs_afdeling_key <>
|
||
a1.prs_afdeling_key
|
||
AND a2.prs_kostenplaats_key =
|
||
a1.prs_kostenplaats_key)))
|
||
a
|
||
WHERE kp.prs_kostenplaats_module = 'PRS'
|
||
AND (kp.prs_kostenplaats_omschrijving LIKE
|
||
'INACTIEF%'
|
||
OR kp.prs_kostenplaats_eind <=
|
||
TRUNC (SYSDATE)
|
||
OR kp.prs_kostenplaats_verwijder IS NOT NULL)
|
||
AND kp.prs_kostenplaats_key =
|
||
a.prs_kostenplaats_key(+)
|
||
GROUP BY kp.prs_kostenplaats_key,
|
||
kp.prs_kostenplaats_upper,
|
||
kp.prs_kostenplaats_omschrijving) x
|
||
LEFT JOIN
|
||
(SELECT a.prs_afdeling_key afd_key,
|
||
kp.prs_kostenplaats_key kpn_key,
|
||
kp.prs_kostenplaats_upper,
|
||
kp.prs_kostenplaats_omschrijving
|
||
FROM prs_afdeling a,
|
||
prs_afdeling ap,
|
||
prs_v_aanwezigkostenplaats kp
|
||
WHERE a.prs_afdeling_parentkey =
|
||
ap.prs_afdeling_key
|
||
AND ap.prs_kostenplaats_key =
|
||
kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaats_module = 'PRS'
|
||
AND kp.prs_kostenplaats_omschrijving NOT LIKE
|
||
'INACTIEF%'
|
||
AND (kp.prs_kostenplaats_eind >
|
||
TRUNC (SYSDATE)
|
||
OR kp.prs_kostenplaats_eind IS NULL))
|
||
y1
|
||
ON x.afd_key = y1.afd_key
|
||
LEFT JOIN
|
||
(SELECT a.prs_afdeling_key afd_key,
|
||
kp.prs_kostenplaats_key kpn_key,
|
||
kp.prs_kostenplaats_upper,
|
||
kp.prs_kostenplaats_omschrijving
|
||
FROM prs_afdeling a,
|
||
prs_afdeling ap,
|
||
prs_afdeling app,
|
||
prs_v_aanwezigkostenplaats kp
|
||
WHERE a.prs_afdeling_parentkey = ap.prs_afdeling_key
|
||
AND ap.prs_afdeling_parentkey =
|
||
app.prs_afdeling_key
|
||
AND app.prs_kostenplaats_key =
|
||
kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaats_module = 'PRS'
|
||
AND kp.prs_kostenplaats_omschrijving NOT LIKE
|
||
'INACTIEF%'
|
||
AND (kp.prs_kostenplaats_eind >
|
||
TRUNC (SYSDATE)
|
||
OR kp.prs_kostenplaats_eind IS NULL)) y2
|
||
ON x.afd_key = y2.afd_key
|
||
LEFT JOIN
|
||
(SELECT a.prs_afdeling_key afd_key,
|
||
kp.prs_kostenplaats_key kpn_key,
|
||
kp.prs_kostenplaats_upper,
|
||
kp.prs_kostenplaats_omschrijving
|
||
FROM prs_afdeling a,
|
||
prs_afdeling ap,
|
||
prs_afdeling app,
|
||
prs_afdeling appp,
|
||
prs_v_aanwezigkostenplaats kp
|
||
WHERE a.prs_afdeling_parentkey = ap.prs_afdeling_key
|
||
AND ap.prs_afdeling_parentkey =
|
||
app.prs_afdeling_key
|
||
AND app.prs_afdeling_parentkey =
|
||
appp.prs_afdeling_key
|
||
AND appp.prs_kostenplaats_key =
|
||
kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaats_module = 'PRS'
|
||
AND kp.prs_kostenplaats_omschrijving NOT LIKE
|
||
'INACTIEF%'
|
||
AND (kp.prs_kostenplaats_eind > TRUNC (SYSDATE)
|
||
OR kp.prs_kostenplaats_eind IS NULL)) y3
|
||
ON x.afd_key = y3.afd_key
|
||
LEFT JOIN
|
||
(SELECT a.prs_afdeling_key afd_key,
|
||
kp.prs_kostenplaats_key kpn_key,
|
||
kp.prs_kostenplaats_upper,
|
||
kp.prs_kostenplaats_omschrijving
|
||
FROM prs_afdeling a,
|
||
prs_afdeling ap,
|
||
prs_afdeling app,
|
||
prs_afdeling appp,
|
||
prs_afdeling apppp,
|
||
prs_v_aanwezigkostenplaats kp
|
||
WHERE a.prs_afdeling_parentkey = ap.prs_afdeling_key
|
||
AND ap.prs_afdeling_parentkey = app.prs_afdeling_key
|
||
AND app.prs_afdeling_parentkey =
|
||
appp.prs_afdeling_key
|
||
AND appp.prs_afdeling_parentkey =
|
||
apppp.prs_afdeling_key
|
||
AND apppp.prs_kostenplaats_key =
|
||
kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaats_module = 'PRS'
|
||
AND kp.prs_kostenplaats_omschrijving NOT LIKE
|
||
'INACTIEF%'
|
||
AND (kp.prs_kostenplaats_eind > TRUNC (SYSDATE)
|
||
OR kp.prs_kostenplaats_eind IS NULL)) y4
|
||
ON x.afd_key = y4.afd_key;
|
||
|
||
-- View gebruikt in BROC-export en HV-export om voor alle kostenplaatsen de journaalgegevens te
|
||
-- bepalen.
|
||
-- LET OP: Dit gebeurt -helaas- op basis van de KPN_PRJ-importtabel, omdat elke PRJ-kostenplaats
|
||
-- in deze tabel (de meeste PRJ-kostenplaatsen lopen binnen via de KPN-importtabel) bij
|
||
-- het genereren van een journaalbestand op speciale wijze moeten worden gelinkt aan een
|
||
-- andere PRJ-kostenplaats en deze relatie bestaat alleen in het KPN_PRJ-importbestand.
|
||
-- Verder komen PRJ-kostenplaatsen soms voor in zowel het KPN- als KPN_PRJ-bestand. Bij
|
||
-- import geldt dat KPN_PRJ dominant is over KPN (UWVA#18127)!
|
||
-- Per closing-the-loop (UWVA53) geen verschil meer tussen actieve en inactieve kostenplaatsen;
|
||
-- "tooling/ondersteuning rond journaallader weet dat preciezer dan Facilitor" (quote MvE).
|
||
-- Toch alleen aanwezige actieve kostenplaatsen, want bovenstaande pas in journaallader oplossen
|
||
-- "zou stap terug zijn" (quote PF/EdV).
|
||
-- Per UWVA#22192 (UWVA67) wordt igv. INACTIEVE kostenplaatsen omhoog gezocht in de organisatie-
|
||
-- boom naar de eerste ACTIEVE kostenplaats en wordt deze -dan maar- gebruikt! Dat op deze wijze
|
||
-- geen enkele ACTIEVE kostenplaats wordt gevonden is beoordeeld als "hypothetisch geval"!
|
||
/* Formatted on 25-4-2012 11:55:05 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_afd_plus_prj_kpn
|
||
(
|
||
kostenplaats_key,
|
||
kostenplaats,
|
||
afd_kostenplaats,
|
||
afd_omschrijving,
|
||
prj_kostenplaats,
|
||
prj_omschrijving
|
||
)
|
||
AS
|
||
WITH afdkpn AS (SELECT * FROM uwva_v_actkpn_per_afdkpn)
|
||
SELECT kp.allkpn_key kostenplaats_key,
|
||
kp.allkpn_upp kostenplaats,
|
||
kp.actkpn_upp afd_kostenplaats,
|
||
kp.actkpn_oms afd_omschrijving,
|
||
NULL prj_kostenplaats,
|
||
NULL prj_omschrijving
|
||
FROM afdkpn kp -- Alleen PRS-kpn
|
||
WHERE kp.actkpn_key IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM uwva_imp_kpn_prj prj
|
||
WHERE prj.status = 'A' AND prj.project = kp.actkpn_upp)
|
||
UNION ALL
|
||
SELECT kp.prs_kostenplaats_key kostenplaats_key,
|
||
kp.prs_kostenplaats_upper kostenplaats,
|
||
kp.prs_kostenplaats_upper afd_kostenplaats,
|
||
kp.prs_kostenplaats_omschrijving afd_omschrijving,
|
||
NULL prj_kostenplaats,
|
||
NULL prj_omschrijving
|
||
FROM prs_v_aanwezigkostenplaats kp
|
||
WHERE kp.prs_kostenplaats_module = 'ALG' -- Alleen ALG-kpn
|
||
AND kp.prs_kostenplaats_omschrijving NOT LIKE 'INACTIEF%'
|
||
AND (kp.prs_kostenplaats_eind > TRUNC (SYSDATE)
|
||
OR kp.prs_kostenplaats_eind IS NULL)
|
||
UNION ALL
|
||
SELECT DISTINCT kp1.prs_kostenplaats_key kostenplaats_key,
|
||
kp1.prs_kostenplaats_upper kostenplaats,
|
||
kp2.actkpn_upp afd_kostenplaats,
|
||
kp2.actkpn_oms afd_omschrijving,
|
||
NULL prj_kostenplaats,
|
||
NULL prj_omschrijving
|
||
FROM prs_kostenplaats kp1,
|
||
uwva_imp_kpn kpn,
|
||
afdkpn kp2
|
||
WHERE kp1.prs_kostenplaats_module = 'ALG' -- Alleen ALG-kpn
|
||
AND ( kp1.prs_kostenplaats_omschrijving LIKE 'INACTIEF%'
|
||
OR kp1.prs_kostenplaats_eind <= TRUNC (SYSDATE)
|
||
OR kp1.prs_kostenplaats_verwijder IS NOT NULL)
|
||
AND kp1.prs_kostenplaats_upper = UPPER (kpn.afdeling)
|
||
AND UPPER (kpn.niv2_code) = kp2.allkpn_upp
|
||
AND kp2.actkpn_key IS NOT NULL
|
||
UNION ALL
|
||
SELECT kp.prs_kostenplaats_key kostenplaats_key,
|
||
kp.prs_kostenplaats_upper kostenplaats,
|
||
kp.prs_kostenplaats_upper afd_kostenplaats,
|
||
kp.prs_kostenplaats_omschrijving afd_omschrijving,
|
||
NULL prj_kostenplaats,
|
||
NULL prj_omschrijving
|
||
FROM prs_v_aanwezigkostenplaats kp
|
||
WHERE kp.prs_kostenplaats_module = 'PRJ' -- Alleen PRJ-kpn
|
||
AND kp.prs_kostenplaats_omschrijving NOT LIKE 'INACTIEF%'
|
||
AND (kp.prs_kostenplaats_eind > TRUNC (SYSDATE)
|
||
OR kp.prs_kostenplaats_eind IS NULL)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM uwva_imp_kpn_prj prj
|
||
WHERE prj.status = 'A'
|
||
AND prj.project = kp.prs_kostenplaats_upper)
|
||
UNION ALL
|
||
SELECT DISTINCT kp1.prs_kostenplaats_key kostenplaats_key,
|
||
kp1.prs_kostenplaats_upper kostenplaats,
|
||
kp2.actkpn_upp afd_kostenplaats,
|
||
kp2.actkpn_oms afd_omschrijving,
|
||
NULL prj_kostenplaats,
|
||
NULL prj_omschrijving
|
||
FROM prs_kostenplaats kp1,
|
||
uwva_imp_kpn kpn,
|
||
afdkpn kp2
|
||
WHERE kp1.prs_kostenplaats_module = 'PRJ' -- Alleen PRJ-kpn
|
||
AND ( kp1.prs_kostenplaats_omschrijving LIKE 'INACTIEF%'
|
||
OR kp1.prs_kostenplaats_eind <= TRUNC (SYSDATE)
|
||
OR kp1.prs_kostenplaats_verwijder IS NOT NULL)
|
||
AND kp1.prs_kostenplaats_upper = UPPER (kpn.afdeling)
|
||
AND UPPER (kpn.niv2_code) = kp2.allkpn_upp
|
||
AND kp2.actkpn_key IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM uwva_imp_kpn_prj prj
|
||
WHERE prj.status = 'A'
|
||
AND prj.project = kp1.prs_kostenplaats_upper)
|
||
UNION ALL
|
||
SELECT DISTINCT kp1.prs_kostenplaats_key,
|
||
kp1.prs_kostenplaats_upper kostenplaats,
|
||
kp2.prs_kostenplaats_upper afd_kostenplaats,
|
||
NULL afd_omschrijving, -- Niet van belang bij linking
|
||
prj.project prj_kostenplaats,
|
||
prj.omschrijving prj_omschrijving
|
||
FROM uwva_imp_kpn_prj prj,
|
||
prs_kostenplaats kp1,
|
||
prs_v_aanwezigkostenplaats kp2
|
||
WHERE prj.status = 'A'
|
||
AND prj.project = kp1.prs_kostenplaats_upper
|
||
--AND kp1.prs_kostenplaats_omschrijving NOT LIKE 'INACTIEF%'
|
||
--AND (kp1.prs_kostenplaats_eind > TRUNC (SYSDATE)
|
||
-- OR kp1.prs_kostenplaats_eind IS NULL)
|
||
AND prj.afdeling = kp2.prs_kostenplaats_upper
|
||
AND kp2.prs_kostenplaats_omschrijving NOT LIKE 'INACTIEF%'
|
||
AND (kp2.prs_kostenplaats_eind > TRUNC (SYSDATE)
|
||
OR kp2.prs_kostenplaats_eind IS NULL)
|
||
UNION ALL
|
||
SELECT DISTINCT kp1.prs_kostenplaats_key,
|
||
kp1.prs_kostenplaats_upper kostenplaats,
|
||
kp3.actkpn_upp afd_kostenplaats,
|
||
kp3.actkpn_oms afd_omschrijving,
|
||
NULL prj_kostenplaats,
|
||
NULL prj_omschrijving
|
||
FROM uwva_imp_kpn_prj prj,
|
||
prs_kostenplaats kp1,
|
||
prs_kostenplaats kp2,
|
||
uwva_imp_kpn kpn,
|
||
afdkpn kp3
|
||
WHERE prj.status = 'A'
|
||
AND prj.project = kp1.prs_kostenplaats_upper
|
||
AND prj.afdeling = kp2.prs_kostenplaats_upper
|
||
AND ( kp2.prs_kostenplaats_omschrijving LIKE 'INACTIEF%'
|
||
OR kp2.prs_kostenplaats_eind <= TRUNC (SYSDATE)
|
||
OR kp2.prs_kostenplaats_verwijder IS NOT NULL)
|
||
AND kp2.prs_kostenplaats_upper = UPPER (kpn.afdeling)
|
||
AND UPPER (kpn.niv2_code) = kp3.allkpn_upp
|
||
AND kp3.actkpn_key IS NOT NULL;
|
||
|
||
-- SCH-export; doel is de actuele SCH-gegevens (de 8e en 23e)
|
||
-- te bevriezen in UWVA_SCH_FREEZE en een journaalbestand te
|
||
-- exporteren!
|
||
/* Formatted on 16-8-2012 12:15:45 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_sch_journaalregels
|
||
(
|
||
export_appl,
|
||
export_datum,
|
||
export_index,
|
||
export_regel
|
||
)
|
||
AS
|
||
SELECT rjr.export_appl,
|
||
rjr.export_datum,
|
||
rjr.export_index,
|
||
'"'
|
||
|| rjr.export_index -- A: regelnummer
|
||
|| '";""' -- B: empty
|
||
|| ';""' -- C: empty
|
||
|| ';""' -- D: empty
|
||
|| ';""' -- E: empty
|
||
|| ';""' -- F: empty
|
||
|| ';""' -- G: empty
|
||
|| ';""' -- H: empty
|
||
|| ';"00UWV"' -- I: business unit
|
||
|| ';"'
|
||
|| ud1.fac_usrdata_omschr -- J: ledger
|
||
|| '";"'
|
||
|| rjr.kostensoort_oms -- K: rekening
|
||
|| '";"";"";"' -- L+M: empty 1+2
|
||
|| ud2.fac_usrdata_omschr -- N: valuta
|
||
|| '";"'
|
||
|| REPLACE (rjr.bedrag, '.', ',') -- O: bedrag
|
||
|| '";"";"";"";"";"";"";"' -- Pt/mU: empty 3 t/m 8
|
||
|| SUBSTR (
|
||
ud3.fac_usrdata_omschr
|
||
|| ' '
|
||
|| TO_CHAR (rjr.export_datum, 'dd-mm-yyyy'),
|
||
1,
|
||
20
|
||
) -- V: omschrijving (UWVA#23919: W bij BROC)
|
||
|| '";"'
|
||
|| rjr.kostensoort_refcode -- W: ref. (UWVA#23919: V bij BROC)
|
||
|| '";"";"";"' -- X+Y: empty 9+10
|
||
|| rjr.afd_kpn -- Z: department
|
||
|| '";""' -- AA: empty
|
||
|| ';""' -- AB: empty
|
||
|| ';""' -- AC: empty
|
||
|| ';"";"' -- AD: empty
|
||
|| rjr.prj_kpn -- AE: project code
|
||
|| '";""' -- AF: empty
|
||
|| ';""' -- AG: empty
|
||
|| ';""' -- AH: empty
|
||
|| ';""' -- AI: empty
|
||
|| ';""' -- AJ: empty
|
||
|| ';""' -- AK: empty
|
||
|| ';"";"' -- AL: empty
|
||
|| DECODE (rjr.prj_kpn, NULL, NULL, '00UWV') -- AM: project business unit
|
||
|| '";"'
|
||
|| rjr.prj_activiteit -- AN: project activiteit
|
||
|| '";""' -- AO: empty
|
||
|| ';""' -- AP: empty
|
||
|| ';"";"' -- AQ: empty
|
||
|| rjr.prj_analyse -- AR: analyse
|
||
|| '"'
|
||
export_regel
|
||
FROM uwva_raw_journaalregels rjr,
|
||
fac_usrdata ud1,
|
||
fac_usrdata ud2,
|
||
fac_usrdata ud3
|
||
WHERE ud1.fac_usrdata_key = 426 -- Ledger-setting
|
||
AND ud2.fac_usrdata_key = 427 -- Valuta-setting
|
||
AND ud3.fac_usrdata_key = 429 -- Omschrijving-setting
|
||
/
|
||
|
||
/* Formatted on 11-10-2010 17:20:34 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_export_sch (RESULT, result_order)
|
||
AS
|
||
-- SELECT e.export_regel, e.regelnummer
|
||
-- FROM uwva_exp_sch e
|
||
SELECT jr.export_regel, jr.export_index
|
||
FROM uwva_v_sch_journaalregels jr
|
||
WHERE jr.export_appl = 'SCH' AND jr.export_datum > SYSDATE - 0.5
|
||
/
|
||
|
||
/* Formatted on 11-12-2012 10:08:48 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE uwva_select_sch (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- Cursor loopt over een tijdelijke tabel met daarin opgebouwd alle regels
|
||
-- van de doorbelasting gebaseerd op sch-freeze (tabel).
|
||
-- UWVA#20668: Alleen export regels incl. BTW, daarom alle bedragen * 1.19!
|
||
-- UWVA#24833: Na BTW-verhoging voortaan * 1.21!
|
||
CURSOR c1
|
||
IS
|
||
SELECT groepering,
|
||
kpn,
|
||
rekening,
|
||
refcode,
|
||
NULL prj_code,
|
||
NULL prj_activiteit,
|
||
NULL analyse,
|
||
TO_CHAR (bedrag, '999999999D99') bedrag
|
||
FROM ( -- Doorbelasting SCH-kosten per gebouw (R)
|
||
SELECT '#1' groepering,
|
||
kpn.prs_kostenplaats_upper kpn,
|
||
k.prs_kostensoort_upper rekening,
|
||
DECODE (
|
||
TO_CHAR (SYSDATE, 'dd'),
|
||
'08',
|
||
'schoonmaak 2e helft '
|
||
|| TO_CHAR (SYSDATE, 'mon yyyy'),
|
||
'schoonmaak 1e helft '
|
||
|| TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'mon yyyy')
|
||
)
|
||
|| ' R'
|
||
refcode,
|
||
SUM (ROUND (v.halfmaand_bedrag * 1.21, 2)) bedrag
|
||
FROM uwva_v_rap_sch_gebouwfrozen v,
|
||
prs_kostensoort k,
|
||
alg_v_aanweziggebouw g,
|
||
prs_kostenplaats kpn
|
||
WHERE v.fclt_f_datum = TO_CHAR (SYSDATE, 'YYYY-MM-DD')
|
||
AND v.fclt_f_rcgp_code = 'R'
|
||
AND k.prs_kostensoort_key = 181 -- RCP-kostensoort
|
||
AND k.prs_kostensoort_doorbelasten = 1
|
||
AND v.fclt_f_gebouw = g.alg_gebouw_code
|
||
AND g.prs_kostenplaats_key =
|
||
kpn.prs_kostenplaats_key(+)
|
||
GROUP BY '#1',
|
||
kpn.prs_kostenplaats_upper,
|
||
k.prs_kostensoort_upper,
|
||
k.prs_kostensoort_refcode
|
||
UNION ALL -- Doorbelasting SCH-kosten per gebouw (C)
|
||
SELECT '#2' groepering,
|
||
kpn.prs_kostenplaats_upper kpn,
|
||
k.prs_kostensoort_upper rekening,
|
||
DECODE (
|
||
TO_CHAR (SYSDATE, 'dd'),
|
||
'08',
|
||
'schoonmaak 2e helft '
|
||
|| TO_CHAR (SYSDATE, 'mon yyyy'),
|
||
'schoonmaak 1e helft '
|
||
|| TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'mon yyyy')
|
||
)
|
||
|| ' C'
|
||
refcode,
|
||
SUM (ROUND (v.halfmaand_bedrag * 1.21, 2)) bedrag
|
||
FROM uwva_v_rap_sch_gebouwfrozen v,
|
||
prs_kostensoort k,
|
||
alg_v_aanweziggebouw g,
|
||
prs_kostenplaats kpn
|
||
WHERE v.fclt_f_datum = TO_CHAR (SYSDATE, 'YYYY-MM-DD')
|
||
AND v.fclt_f_rcgp_code = 'C'
|
||
AND k.prs_kostensoort_key = 181 -- RCP-kostensoort
|
||
AND k.prs_kostensoort_doorbelasten = 1
|
||
AND v.fclt_f_gebouw = g.alg_gebouw_code
|
||
AND g.prs_kostenplaats_key =
|
||
kpn.prs_kostenplaats_key(+)
|
||
GROUP BY '#2',
|
||
kpn.prs_kostenplaats_upper,
|
||
k.prs_kostensoort_upper,
|
||
k.prs_kostensoort_refcode
|
||
UNION ALL -- Doorbelasting SCH-kosten per gebouw (P)
|
||
SELECT '#3' groepering,
|
||
kpn.prs_kostenplaats_upper kpn,
|
||
k.prs_kostensoort_upper rekening,
|
||
DECODE (
|
||
TO_CHAR (SYSDATE, 'dd'),
|
||
'08',
|
||
'pestcontrol 2e helft '
|
||
|| TO_CHAR (SYSDATE, 'mon yyyy'),
|
||
'pestcontrol 1e helft '
|
||
|| TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'mon yyyy')
|
||
)
|
||
refcode,
|
||
SUM (ROUND (v.halfmaand_bedrag * 1.21, 2)) bedrag
|
||
FROM uwva_v_rap_sch_gebouwfrozen v,
|
||
prs_kostensoort k,
|
||
alg_v_aanweziggebouw g,
|
||
prs_kostenplaats kpn
|
||
WHERE v.fclt_f_datum = TO_CHAR (SYSDATE, 'YYYY-MM-DD')
|
||
AND v.fclt_f_rcgp_code = 'P'
|
||
AND k.prs_kostensoort_key = 181 -- RCP-kostensoort
|
||
AND k.prs_kostensoort_doorbelasten = 1
|
||
AND v.fclt_f_gebouw = g.alg_gebouw_code
|
||
AND g.prs_kostenplaats_key =
|
||
kpn.prs_kostenplaats_key(+)
|
||
GROUP BY '#3',
|
||
kpn.prs_kostenplaats_upper,
|
||
k.prs_kostensoort_upper,
|
||
k.prs_kostensoort_refcode
|
||
UNION ALL -- Tegenwaarde SCH-kosten (R, C en P)
|
||
SELECT '#4' groepering,
|
||
kpn.prs_kostenplaats_upper kpn, -- 'GZZZZZ' ks_key=181
|
||
k.prs_kostensoort_upper rekening,
|
||
k.prs_kostensoort_refcode refcode,
|
||
SUM (ROUND (v.halfmaand_bedrag * 1.21, 2)) * -1
|
||
bedrag
|
||
FROM uwva_v_rap_sch_gebouwfrozen v,
|
||
prs_kostensoort k,
|
||
prs_kostenplaats kpn
|
||
WHERE v.fclt_f_datum = TO_CHAR (SYSDATE, 'YYYY-MM-DD')
|
||
AND v.fclt_f_rcgp_code <> 'G'
|
||
AND k.prs_kostensoort_key = 181 -- RCP-kostensoort
|
||
AND k.prs_kostensoort_doorbelasten = 1
|
||
AND k.prs_kostenplaats_key =
|
||
kpn.prs_kostenplaats_key(+) -- ook zonder lev. kpn!
|
||
GROUP BY '#4',
|
||
kpn.prs_kostenplaats_upper, -- 'GZZZZZ' ks_key=181
|
||
k.prs_kostensoort_upper,
|
||
k.prs_kostensoort_refcode
|
||
UNION ALL -- Doorbelasting SCH-kosten per gebouw (G)
|
||
SELECT '#5' groepering,
|
||
kpn.prs_kostenplaats_upper kpn,
|
||
k.prs_kostensoort_upper rekening,
|
||
DECODE (
|
||
TO_CHAR (SYSDATE, 'dd'),
|
||
'08',
|
||
'glasbewas 2e helft '
|
||
|| TO_CHAR (SYSDATE, 'mon yyyy'),
|
||
'glasbewas 1e helft '
|
||
|| TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'mon yyyy')
|
||
)
|
||
refcode,
|
||
SUM (ROUND (v.halfmaand_bedrag * 1.21, 2)) bedrag
|
||
FROM uwva_v_rap_sch_gebouwfrozen v,
|
||
prs_kostensoort k,
|
||
alg_v_aanweziggebouw g,
|
||
prs_kostenplaats kpn
|
||
WHERE v.fclt_f_datum = TO_CHAR (SYSDATE, 'YYYY-MM-DD')
|
||
AND v.fclt_f_rcgp_code = 'G'
|
||
AND k.prs_kostensoort_key = 261 -- G-kostensoort
|
||
AND k.prs_kostensoort_doorbelasten = 1
|
||
AND v.fclt_f_gebouw = g.alg_gebouw_code
|
||
AND g.prs_kostenplaats_key =
|
||
kpn.prs_kostenplaats_key(+)
|
||
GROUP BY '#5',
|
||
kpn.prs_kostenplaats_upper,
|
||
k.prs_kostensoort_upper,
|
||
k.prs_kostensoort_refcode
|
||
UNION ALL -- Tegenwaarde SCH-kosten (G)
|
||
SELECT '#6' groepering,
|
||
kpn.prs_kostenplaats_upper kpn, -- lev. kpn
|
||
k.prs_kostensoort_upper rekening,
|
||
k.prs_kostensoort_refcode refcode,
|
||
SUM (ROUND (v.halfmaand_bedrag * 1.21, 2)) * -1
|
||
bedrag
|
||
FROM uwva_v_rap_sch_gebouwfrozen v,
|
||
prs_kostensoort k,
|
||
prs_kostenplaats kpn
|
||
WHERE v.fclt_f_datum = TO_CHAR (SYSDATE, 'YYYY-MM-DD')
|
||
AND v.fclt_f_rcgp_code = 'G'
|
||
AND k.prs_kostensoort_key = 261 -- G-kostensoort
|
||
AND k.prs_kostensoort_doorbelasten = 1
|
||
AND k.prs_kostenplaats_key =
|
||
kpn.prs_kostenplaats_key(+) -- ook zonder lev. kpn!
|
||
GROUP BY '#6',
|
||
kpn.prs_kostenplaats_upper, -- lev. kpn
|
||
k.prs_kostensoort_upper,
|
||
k.prs_kostensoort_refcode)
|
||
ORDER BY groepering, kpn, bedrag;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
freeze_date DATE;
|
||
regelnr NUMBER;
|
||
BEGIN
|
||
-- IF 8e of 23e van de maand THEN
|
||
-- 1. Clear log
|
||
-- 2. Clear export-tabel
|
||
-- 3. T-freeze; insert T-regels in sch-freeze
|
||
-- 4. E-export; insert E-regels in export-tabel (uit sch-freeze)
|
||
-- 5. F-freeze; zet T-regels in sch-freeze op F
|
||
-- END IF;
|
||
|
||
freeze_date := SYSDATE;
|
||
|
||
IF TO_CHAR (freeze_date, 'dd') IN ('08', '23')
|
||
THEN
|
||
-- 2. Clear export-tabel
|
||
DELETE FROM uwva_raw_journaalregels
|
||
WHERE export_appl = p_applname;
|
||
|
||
COMMIT;
|
||
|
||
-- 3. T-freeze; insert T-regels in sch-freeze
|
||
-- Bewaar SCH-gegevens en parkeer deze in freeze tabel om aansluitend de
|
||
-- export (= doorbelasting) op te baseren.
|
||
-- In deze tabel zijn ook gegevens van voorgaande doorbelastingen met de
|
||
-- status F(rozen) aanwezig; deze krijgen eerst de status T(emporary). =>
|
||
-- Per "Closing the loop" worden SCH-gegevens hier eerst bevroren op T en
|
||
-- na vullen export-tabel direct op F gezet.
|
||
INSERT INTO uwva_sch_freeze (kavel,
|
||
district,
|
||
gebouw,
|
||
verdieping,
|
||
ruimte_nr,
|
||
ruimtesoort,
|
||
ruimtegebruik,
|
||
leeg,
|
||
rc_type,
|
||
sch_niveau,
|
||
sch_tarief,
|
||
vvo,
|
||
freeze_datum,
|
||
freeze_state)
|
||
SELECT kavel,
|
||
district,
|
||
gebouw,
|
||
verdieping,
|
||
ruimte_nr,
|
||
ruimtesoort,
|
||
SUBSTR (ruimtegebruik, 1, 60),
|
||
leeg,
|
||
rc_type,
|
||
sch_niveau,
|
||
sch_tarief,
|
||
vvo,
|
||
freeze_date,
|
||
'T'
|
||
FROM uwva_v_sch_actual;
|
||
|
||
COMMIT;
|
||
|
||
regelnr := 0;
|
||
|
||
-- 4. E-export; insert E-regels in export-tabel (uit sch-freeze)
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
INSERT INTO uwva_raw_journaalregels (export_appl,
|
||
export_datum,
|
||
export_index,
|
||
kostensoort_oms,
|
||
bedrag,
|
||
kostensoort_refcode,
|
||
afd_kpn,
|
||
prj_kpn,
|
||
prj_activiteit,
|
||
prj_analyse,
|
||
functie)
|
||
VALUES (p_applname,
|
||
freeze_date,
|
||
regelnr,
|
||
rec1.rekening,
|
||
rec1.bedrag,
|
||
rec1.refcode,
|
||
rec1.kpn,
|
||
rec1.prj_code,
|
||
rec1.prj_activiteit,
|
||
rec1.analyse,
|
||
'E');
|
||
|
||
regelnr := regelnr + 1;
|
||
|
||
COMMIT;
|
||
END LOOP;
|
||
|
||
-- 5. F-freeze; zet T-regels in sch-freeze op F
|
||
UPDATE uwva_sch_freeze
|
||
SET freeze_state = 'F'
|
||
WHERE freeze_state = 'T';
|
||
|
||
COMMIT;
|
||
|
||
fac.writelog (p_applname,
|
||
'S',
|
||
'Aantal SCH-regels/DEFINITIEF: ' || TO_CHAR (regelnr),
|
||
'');
|
||
|
||
COMMIT;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname,
|
||
'E',
|
||
'Proces SCH_FREEZE afgebroken!',
|
||
v_errormsg);
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
|
||
-- UWVA#21947
|
||
/* Formatted on 6-2-2012 11:20:45 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_fin_accordeergedrag
|
||
(
|
||
fclt_f_nr,
|
||
fclt_d_factuurdatum,
|
||
fclt_f_uitvoerende,
|
||
fclt_f_factuurnr,
|
||
soort,
|
||
opdrachtnr,
|
||
excl_btw,
|
||
incl_btw,
|
||
fclt_f_status,
|
||
budgethouder,
|
||
kostenplaats,
|
||
akkoorddatum,
|
||
fclt_f_doorloop
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (x.factuurnr_intern),
|
||
TO_CHAR (x.factuur_datum, 'DD-MM-YYYY'),
|
||
x.uitvoerende,
|
||
x.factuurnr_extern,
|
||
x.ftype,
|
||
x.opdrachtnr,
|
||
x.bedrag_excl_BTW,
|
||
x.bedrag_incl_BTW,
|
||
x.fin_factuur_statuses_omschr,
|
||
x.budgethouder,
|
||
x.kostenplaats,
|
||
TO_CHAR (finfok.min_datum, 'DD-MM-YYYY HH24:MI'),
|
||
DECODE (
|
||
finfok.aant,
|
||
NULL,
|
||
'-',
|
||
1,
|
||
DECODE (
|
||
FLOOR( (finfok.min_datum
|
||
- COALESCE (finnew.fac_tracking_datum,
|
||
x.factuur_datum))
|
||
* 24
|
||
* 60),
|
||
0,
|
||
DECODE (finfok.prs_perslid_key,
|
||
NULL, 'Automatisch-0',
|
||
'Handmatig-0'),
|
||
DECODE (finfok.prs_perslid_key,
|
||
NULL, 'Automatisch-1',
|
||
'Handmatig-1')
|
||
),
|
||
'Handmatig-' || TO_CHAR (finfok.aant)
|
||
)
|
||
FROM (SELECT f.fin_factuur_key factuurnr_intern,
|
||
f.fin_factuur_statuses_key,
|
||
f.fin_factuur_datum factuur_datum,
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM prs_bedrijf b
|
||
WHERE prs_bedrijf_key =
|
||
COALESCE (o.mld_uitvoerende_keys,
|
||
c.cnt_prs_bedrijf_key,
|
||
bo.prs_bedrijf_key))
|
||
uitvoerende,
|
||
f.fin_factuur_nr factuurnr_extern,
|
||
COALESCE (
|
||
NVL2 (
|
||
f.mld_opdr_key,
|
||
'Opdracht'
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| sm.mld_stdmelding_omschrijving,
|
||
NULL
|
||
),
|
||
NVL2 (
|
||
f.cnt_contract_key,
|
||
'Contract'
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| cd.ins_discipline_omschrijving,
|
||
NULL
|
||
),
|
||
NVL2 (
|
||
f.bes_bestelopdr_key,
|
||
'Bestelling' || CHR (13) || CHR (10)
|
||
|| (SELECT MIN(bd.ins_discipline_omschrijving)
|
||
FROM bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi,
|
||
bes_srtdeel bs,
|
||
bes_srtgroep bg,
|
||
bes_discipline bd
|
||
WHERE boi.bes_bestelopdr_key =
|
||
bo.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key =
|
||
bi.bes_bestelopdr_item_key
|
||
AND bi.bes_srtdeel_key =
|
||
bs.bes_srtdeel_key
|
||
AND bs.bes_srtgroep_key =
|
||
bg.bes_srtgroep_key
|
||
AND bg.ins_discipline_key =
|
||
bd.ins_discipline_key),
|
||
NULL
|
||
),
|
||
NULL
|
||
)
|
||
ftype,
|
||
COALESCE (
|
||
NVL2 (
|
||
f.mld_opdr_key,
|
||
sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (o.mld_melding_key)
|
||
|| '/'
|
||
|| o.mld_opdr_bedrijfopdr_volgnr,
|
||
NULL
|
||
),
|
||
NVL2 (
|
||
f.cnt_contract_key,
|
||
'C' || c.cnt_contract_nummer_intern
|
||
|| NVL2 (c.cnt_contract_versie,
|
||
'.' || c.cnt_contract_versie,
|
||
''),
|
||
NULL
|
||
),
|
||
NVL2 (f.bes_bestelopdr_key,
|
||
bo.bes_bestelopdr_id,
|
||
NULL),
|
||
NULL
|
||
)
|
||
opdrachtnr,
|
||
f.fin_factuur_totaal bedrag_excl_BTW,
|
||
f.fin_factuur_totaal + f.fin_factuur_totaal_btw
|
||
bedrag_incl_BTW,
|
||
fs.fin_factuur_statuses_omschr,
|
||
(SELECT pf.prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = f.budgethouder)
|
||
budgethouder,
|
||
k.prs_kostenplaats_nr
|
||
|| ' '
|
||
|| k.prs_kostenplaats_omschrijving
|
||
kostenplaats
|
||
FROM (SELECT prs.getkpverantwoordelijke (
|
||
prs_kostenplaats_key,
|
||
2,
|
||
-1
|
||
)
|
||
budgethouder,
|
||
f.*
|
||
FROM (SELECT fin.getfactuurkostenplaats (
|
||
f.fin_factuur_key
|
||
)
|
||
prs_kostenplaats_key,
|
||
f.*
|
||
FROM fin_factuur f) f) f,
|
||
prs_kostenplaats k,
|
||
fin_factuur_statuses fs,
|
||
mld_opdr o,
|
||
mld_melding m,
|
||
mld_discipline d,
|
||
mld_stdmelding sm,
|
||
ins_srtdiscipline sd,
|
||
cnt_contract c,
|
||
cnt_discipline cd,
|
||
bes_bestelopdr bo
|
||
WHERE f.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key(+)
|
||
AND f.fin_factuur_statuses_key =
|
||
fs.fin_factuur_statuses_key
|
||
AND f.mld_opdr_key = o.mld_opdr_key(+)
|
||
AND o.mld_melding_key = m.mld_melding_key(+)
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key(+)
|
||
AND sm.mld_ins_discipline_key =
|
||
d.ins_discipline_key(+)
|
||
AND d.ins_srtdiscipline_key =
|
||
sd.ins_srtdiscipline_key(+)
|
||
AND f.cnt_contract_key = c.cnt_contract_key(+)
|
||
AND c.ins_discipline_key =
|
||
cd.ins_discipline_key(+)
|
||
AND f.bes_bestelopdr_key =
|
||
bo.bes_bestelopdr_key(+)) x
|
||
LEFT JOIN -- Tracking toevoegen
|
||
fac_tracking finnew
|
||
ON x.factuurnr_intern = finnew.fac_tracking_refkey
|
||
AND finnew.fac_srtnotificatie_key = 141
|
||
LEFT JOIN
|
||
( SELECT fac_tracking_refkey,
|
||
MIN (fac_tracking_datum) min_datum,
|
||
MIN (prs_perslid_key) prs_perslid_key,
|
||
COUNT ( * ) aant -- >1, dan niet standaard!
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 143
|
||
GROUP BY fac_tracking_refkey) finfok
|
||
ON x.factuurnr_intern = finfok.fac_tracking_refkey;
|
||
|
||
-- UWVA#21949
|
||
/* Formatted on 9-1-2013 13:38:26 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_fin_factureergedrag
|
||
(
|
||
fclt_f_nr,
|
||
fclt_d_factuurdatum,
|
||
fclt_f_uitvoerende,
|
||
fclt_f_factuurnr,
|
||
soort,
|
||
opdrachtnr,
|
||
opdrachtkosten,
|
||
excl_btw,
|
||
incl_btw,
|
||
fclt_f_status,
|
||
budgethouder,
|
||
kostenplaats,
|
||
fclt_f_doorloop
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (x.factuurnr_intern) nr,
|
||
TO_CHAR (x.factuur_datum, 'DD-MM-YYYY'),
|
||
x.uitvoerende,
|
||
x.factuurnr_extern,
|
||
x.ftype,
|
||
x.opdrachtnr,
|
||
x.opdrachtkosten,
|
||
x.bedrag_excl_BTW,
|
||
x.bedrag_incl_BTW,
|
||
x.fin_factuur_statuses_omschr,
|
||
x.budgethouder,
|
||
x.kostenplaats,
|
||
DECODE (
|
||
finupd.aant,
|
||
NULL, -- Factuur nooit gemuteerd
|
||
DECODE (
|
||
finfun.aant,
|
||
NULL, -- Akkoord nooit geannuleerd
|
||
DECODE (
|
||
finfok.aant,
|
||
NULL, -- Nog niet akkoord
|
||
DECODE (
|
||
x.disckey,
|
||
NULL,
|
||
'Wit/Speciaal',
|
||
DECODE (fin.tolerantiematch (x.disckey,
|
||
SUBSTR (x.ftype, 1, 1),
|
||
x.bedrag_incl_BTW,
|
||
x.opdrachtkosten),
|
||
1, 'Groen/Nog niet akkoord',
|
||
'Rood/Nog niet akkoord')
|
||
),
|
||
1, -- In 1x akkoord
|
||
DECODE (
|
||
FLOOR( (finfok.min_datum
|
||
- COALESCE (finnew.fac_tracking_datum,
|
||
x.factuur_datum))
|
||
* 24
|
||
* 60),
|
||
DECODE (finfok.prs_perslid_key, NULL, 0, NULL),
|
||
'Glad/Direct akkoord', -- Binnen minuut door Facilitor
|
||
DECODE (fin.tolerantiematch (x.disckey,
|
||
SUBSTR (x.ftype, 1, 1),
|
||
x.bedrag_incl_BTW,
|
||
x.opdrachtkosten),
|
||
1, 'Groen/Later akkoord',
|
||
'Rood/Later akkoord')
|
||
),
|
||
'Wit/Speciaal' -- >1 akkoord/nooit geannuleerd; kan niet?
|
||
),
|
||
'Wit/Speciaal' -- Akkoord geannuleerd!
|
||
),
|
||
'Wit/Speciaal' -- Factuur gemuteerd!
|
||
)
|
||
FROM (SELECT f.fin_factuur_key factuurnr_intern,
|
||
f.fin_factuur_statuses_key,
|
||
f.fin_factuur_datum factuur_datum,
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM prs_bedrijf b
|
||
WHERE prs_bedrijf_key =
|
||
COALESCE (
|
||
o.mld_uitvoerende_keys,
|
||
c.cnt_prs_bedrijf_key,
|
||
bo.prs_bedrijf_key
|
||
))
|
||
uitvoerende,
|
||
f.fin_factuur_nr factuurnr_extern,
|
||
COALESCE (
|
||
NVL2 (f.mld_opdr_key,
|
||
md.ins_discipline_key,
|
||
NULL),
|
||
NVL2 (f.cnt_contract_key,
|
||
cd.ins_discipline_key,
|
||
NULL),
|
||
NVL2 (f.bes_bestelopdr_key,
|
||
bg.ins_discipline_key,
|
||
NULL),
|
||
TO_NUMBER (NULL)
|
||
)
|
||
disckey,
|
||
COALESCE (
|
||
NVL2 (
|
||
f.mld_opdr_key,
|
||
'Opdracht'
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| sm.mld_stdmelding_omschrijving,
|
||
NULL
|
||
),
|
||
NVL2 (
|
||
f.cnt_contract_key,
|
||
'Contract'
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| cd.ins_discipline_omschrijving,
|
||
NULL
|
||
),
|
||
NVL2 (
|
||
f.bes_bestelopdr_key,
|
||
'Bestelling'
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| bd.ins_discipline_omschrijving,
|
||
NULL
|
||
),
|
||
NULL
|
||
)
|
||
ftype,
|
||
COALESCE (
|
||
NVL2 (
|
||
f.mld_opdr_key,
|
||
sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (o.mld_melding_key)
|
||
|| '/'
|
||
|| o.mld_opdr_bedrijfopdr_volgnr,
|
||
NULL
|
||
),
|
||
NVL2 (
|
||
f.cnt_contract_key,
|
||
'C' || c.cnt_contract_nummer_intern
|
||
|| NVL2 (
|
||
c.cnt_contract_versie,
|
||
'.' || c.cnt_contract_versie,
|
||
''
|
||
),
|
||
NULL
|
||
),
|
||
NVL2 (f.bes_bestelopdr_key,
|
||
bo.bes_bestelopdr_id,
|
||
NULL),
|
||
NULL
|
||
)
|
||
opdrachtnr,
|
||
COALESCE (
|
||
NVL2 (f.mld_opdr_key,
|
||
o.mld_opdr_kosten,
|
||
NULL),
|
||
NVL2 (f.cnt_contract_key,
|
||
TO_NUMBER (NULL),
|
||
NULL),
|
||
NVL2 (
|
||
f.bes_bestelopdr_key,
|
||
( SELECT SUM(bes_bestelopdr_item_aantal
|
||
* bes_bestelopdr_item_prijs)
|
||
FROM bes_bestelopdr_item
|
||
WHERE bes_bestelopdr_key =
|
||
f.bes_bestelopdr_key
|
||
GROUP BY bes_bestelopdr_key),
|
||
NULL
|
||
),
|
||
TO_NUMBER (NULL)
|
||
)
|
||
opdrachtkosten,
|
||
f.fin_factuur_totaal bedrag_excl_BTW,
|
||
f.fin_factuur_totaal
|
||
+ f.fin_factuur_totaal_btw
|
||
bedrag_incl_BTW,
|
||
fs.fin_factuur_statuses_omschr,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all
|
||
WHERE prs_perslid_key =
|
||
(prs.getkpverantwoordelijke (
|
||
COALESCE (
|
||
o.prs_kostenplaats_key,
|
||
c.prs_kostenplaats_key,
|
||
bb.prs_kostenplaats_key
|
||
),
|
||
2,
|
||
-1
|
||
)))
|
||
budgethouder,
|
||
(SELECT prs_kostenplaats_nr
|
||
|| ' '
|
||
|| prs_kostenplaats_omschrijving
|
||
FROM prs_kostenplaats
|
||
WHERE prs_kostenplaats_key =
|
||
COALESCE (
|
||
o.prs_kostenplaats_key,
|
||
c.prs_kostenplaats_key,
|
||
bb.prs_kostenplaats_key
|
||
))
|
||
kostenplaats
|
||
FROM fin_factuur f,
|
||
fin_factuur_statuses fs,
|
||
mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
cnt_contract c,
|
||
cnt_discipline cd,
|
||
bes_bestelopdr bo,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi,
|
||
bes_bestelling bb,
|
||
bes_srtdeel bs,
|
||
bes_srtgroep bg,
|
||
bes_discipline bd
|
||
WHERE f.fin_factuur_statuses_key =
|
||
fs.fin_factuur_statuses_key
|
||
AND f.mld_opdr_key = o.mld_opdr_key(+)
|
||
AND o.mld_melding_key =
|
||
m.mld_melding_key(+)
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key(+)
|
||
AND sm.mld_ins_discipline_key =
|
||
md.ins_discipline_key(+)
|
||
AND md.ins_srtdiscipline_key =
|
||
sd.ins_srtdiscipline_key(+)
|
||
AND f.cnt_contract_key =
|
||
c.cnt_contract_key(+)
|
||
AND c.ins_discipline_key =
|
||
cd.ins_discipline_key(+)
|
||
AND f.bes_bestelopdr_key =
|
||
bo.bes_bestelopdr_key(+)
|
||
AND bo.bes_bestelopdr_key =
|
||
boi.bes_bestelopdr_key(+)
|
||
AND boi.bes_bestelopdr_item_posnr(+) = 1
|
||
AND boi.bes_bestelopdr_item_key =
|
||
bi.bes_bestelopdr_item_key(+)
|
||
AND bi.bes_bestelling_key =
|
||
bb.bes_bestelling_key(+)
|
||
AND bi.bes_srtdeel_key =
|
||
bs.bes_srtdeel_key(+)
|
||
AND bs.bes_srtgroep_key =
|
||
bg.bes_srtgroep_key(+)
|
||
AND bg.ins_discipline_key =
|
||
bd.ins_discipline_key(+)) x
|
||
LEFT JOIN -- Tracking toevoegen
|
||
fac_tracking finnew
|
||
ON x.factuurnr_intern = finnew.fac_tracking_refkey
|
||
AND finnew.fac_srtnotificatie_key = 141
|
||
LEFT JOIN
|
||
( SELECT fac_tracking_refkey, COUNT ( * ) aant
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 142
|
||
GROUP BY fac_tracking_refkey) finupd
|
||
ON x.factuurnr_intern = finupd.fac_tracking_refkey
|
||
LEFT JOIN
|
||
( SELECT fac_tracking_refkey,
|
||
MIN (fac_tracking_datum) min_datum,
|
||
MIN (prs_perslid_key) prs_perslid_key,
|
||
COUNT ( * ) aant -- >1, dan niet standaard!
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 143
|
||
GROUP BY fac_tracking_refkey) finfok
|
||
ON x.factuurnr_intern = finfok.fac_tracking_refkey
|
||
LEFT JOIN
|
||
( SELECT fac_tracking_refkey, COUNT ( * ) aant
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 153
|
||
GROUP BY fac_tracking_refkey) finfun
|
||
ON x.factuurnr_intern = finfun.fac_tracking_refkey;
|
||
/* OUDE VERSIE
|
||
CREATE OR REPLACE VIEW uwva_v_rap_fin_factureergedrax
|
||
(
|
||
fclt_f_nr,
|
||
fclt_d_factuurdatum,
|
||
fclt_f_uitvoerende,
|
||
fclt_f_factuurnr,
|
||
soort,
|
||
opdrachtnr,
|
||
opdrachtkosten,
|
||
excl_btw,
|
||
incl_btw,
|
||
fclt_f_status,
|
||
budgethouder,
|
||
kostenplaats,
|
||
fclt_f_doorloop
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (x.factuurnr_intern),
|
||
TO_CHAR (x.factuur_datum, 'DD-MM-YYYY'),
|
||
x.uitvoerende,
|
||
x.factuurnr_extern,
|
||
x.ftype,
|
||
x.opdrachtnr,
|
||
x.opdrachtkosten,
|
||
x.bedrag_excl_BTW,
|
||
x.bedrag_incl_BTW,
|
||
x.fin_factuur_statuses_omschr,
|
||
x.budgethouder,
|
||
x.kostenplaats,
|
||
DECODE (
|
||
finupd.aant,
|
||
NULL, -- Factuur nooit gemuteerd
|
||
DECODE (
|
||
finfun.aant,
|
||
NULL, -- Akkoord nooit geannuleerd
|
||
DECODE (
|
||
finfok.aant,
|
||
NULL, -- Nog niet akkoord
|
||
DECODE (
|
||
x.disckey,
|
||
NULL,
|
||
'Wit/Speciaal',
|
||
DECODE (fin.tolerantiematch (x.disckey,
|
||
SUBSTR (x.ftype, 1, 1),
|
||
x.bedrag_incl_BTW,
|
||
x.opdrachtkosten),
|
||
1, 'Groen/Nog niet akkoord',
|
||
'Rood/Nog niet akkoord')
|
||
),
|
||
1, -- In 1x akkoord
|
||
DECODE (
|
||
FLOOR( (finfok.min_datum
|
||
- COALESCE (finnew.fac_tracking_datum,
|
||
x.factuur_datum))
|
||
* 24
|
||
* 60),
|
||
DECODE (finfok.prs_perslid_key, NULL, 0, NULL),
|
||
'Glad/Direct akkoord', -- Binnen minuut door Facilitor
|
||
DECODE (fin.tolerantiematch (x.disckey,
|
||
SUBSTR (x.ftype, 1, 1),
|
||
x.bedrag_incl_BTW,
|
||
x.opdrachtkosten),
|
||
1, 'Groen/Later akkoord',
|
||
'Rood/Later akkoord')
|
||
),
|
||
'Wit/Speciaal' -- >1 akkoord/nooit geannuleerd; kan niet?
|
||
),
|
||
'Wit/Speciaal' -- Akkoord geannuleerd!
|
||
),
|
||
'Wit/Speciaal' -- Factuur gemuteerd!
|
||
)
|
||
FROM (SELECT f.fin_factuur_key factuurnr_intern,
|
||
f.fin_factuur_statuses_key,
|
||
f.fin_factuur_datum factuur_datum,
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM prs_bedrijf b
|
||
WHERE prs_bedrijf_key =
|
||
COALESCE (
|
||
o.mld_uitvoerende_keys,
|
||
c.cnt_prs_bedrijf_key,
|
||
bo.prs_bedrijf_key
|
||
))
|
||
uitvoerende,
|
||
f.fin_factuur_nr factuurnr_extern,
|
||
COALESCE (
|
||
NVL2 (f.mld_opdr_key,
|
||
md.ins_discipline_key,
|
||
NULL),
|
||
NVL2 (f.cnt_contract_key,
|
||
cd.ins_discipline_key,
|
||
NULL),
|
||
NVL2 (
|
||
f.bes_bestelopdr_key,
|
||
(SELECT MIN (bg.ins_discipline_key)
|
||
FROM bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi,
|
||
bes_srtdeel bs,
|
||
bes_srtgroep bg
|
||
WHERE boi.bes_bestelopdr_key =
|
||
bo.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key =
|
||
bi.bes_bestelopdr_item_key
|
||
AND bi.bes_srtdeel_key =
|
||
bs.bes_srtdeel_key
|
||
AND bs.bes_srtgroep_key =
|
||
bg.bes_srtgroep_key),
|
||
NULL
|
||
),
|
||
TO_NUMBER (NULL)
|
||
)
|
||
disckey,
|
||
COALESCE (
|
||
NVL2 (
|
||
f.mld_opdr_key,
|
||
'Opdracht'
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| sm.mld_stdmelding_omschrijving,
|
||
NULL
|
||
),
|
||
NVL2 (
|
||
f.cnt_contract_key,
|
||
'Contract'
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| cd.ins_discipline_omschrijving,
|
||
NULL
|
||
),
|
||
NVL2 (
|
||
f.bes_bestelopdr_key,
|
||
'Bestelling' || CHR (13) || CHR (10)
|
||
|| (SELECT MIN(ins_discipline_omschrijving)
|
||
FROM bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi,
|
||
bes_srtdeel bs,
|
||
bes_srtgroep bg,
|
||
bes_discipline bd
|
||
WHERE boi.bes_bestelopdr_key =
|
||
bo.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key =
|
||
bi.bes_bestelopdr_item_key
|
||
AND bi.bes_srtdeel_key =
|
||
bs.bes_srtdeel_key
|
||
AND bs.bes_srtgroep_key =
|
||
bg.bes_srtgroep_key
|
||
AND bg.ins_discipline_key =
|
||
bd.ins_discipline_key),
|
||
NULL
|
||
),
|
||
NULL
|
||
)
|
||
ftype,
|
||
COALESCE (
|
||
NVL2 (
|
||
f.mld_opdr_key,
|
||
sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (o.mld_melding_key)
|
||
|| '/'
|
||
|| o.mld_opdr_bedrijfopdr_volgnr,
|
||
NULL
|
||
),
|
||
NVL2 (
|
||
f.cnt_contract_key,
|
||
'C' || c.cnt_contract_nummer_intern
|
||
|| NVL2 (
|
||
c.cnt_contract_versie,
|
||
'.' || c.cnt_contract_versie,
|
||
''
|
||
),
|
||
NULL
|
||
),
|
||
NVL2 (f.bes_bestelopdr_key,
|
||
bo.bes_bestelopdr_id,
|
||
NULL),
|
||
NULL
|
||
)
|
||
opdrachtnr,
|
||
COALESCE (
|
||
NVL2 (f.mld_opdr_key,
|
||
o.mld_opdr_kosten,
|
||
NULL),
|
||
NVL2 (f.cnt_contract_key,
|
||
TO_NUMBER (NULL),
|
||
NULL),
|
||
NVL2 (
|
||
f.bes_bestelopdr_key,
|
||
( SELECT SUM(bes_bestelopdr_item_aantal
|
||
* bes_bestelopdr_item_prijs)
|
||
FROM bes_bestelopdr_item
|
||
WHERE bes_bestelopdr_key =
|
||
f.bes_bestelopdr_key
|
||
GROUP BY bes_bestelopdr_key),
|
||
NULL
|
||
),
|
||
TO_NUMBER (NULL)
|
||
)
|
||
opdrachtkosten,
|
||
f.fin_factuur_totaal bedrag_excl_BTW,
|
||
f.fin_factuur_totaal
|
||
+ f.fin_factuur_totaal_btw
|
||
bedrag_incl_BTW,
|
||
fs.fin_factuur_statuses_omschr,
|
||
(SELECT pf.prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key =
|
||
f.budgethouder)
|
||
budgethouder,
|
||
k.prs_kostenplaats_nr
|
||
|| ' '
|
||
|| k.prs_kostenplaats_omschrijving
|
||
kostenplaats
|
||
FROM (SELECT prs.getkpverantwoordelijke (
|
||
prs_kostenplaats_key,
|
||
2,
|
||
-1
|
||
)
|
||
budgethouder,
|
||
f.*
|
||
FROM (SELECT fin.getfactuurkostenplaats(f.fin_factuur_key)
|
||
prs_kostenplaats_key,
|
||
f.*
|
||
FROM fin_factuur f) f) f,
|
||
prs_kostenplaats k,
|
||
fin_factuur_statuses fs,
|
||
mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
cnt_contract c,
|
||
cnt_discipline cd,
|
||
bes_bestelopdr bo
|
||
WHERE f.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key(+)
|
||
AND f.fin_factuur_statuses_key =
|
||
fs.fin_factuur_statuses_key
|
||
AND f.mld_opdr_key = o.mld_opdr_key(+)
|
||
AND o.mld_melding_key =
|
||
m.mld_melding_key(+)
|
||
AND m.mld_stdmelding_key =
|
||
sm.mld_stdmelding_key(+)
|
||
AND sm.mld_ins_discipline_key =
|
||
md.ins_discipline_key(+)
|
||
AND md.ins_srtdiscipline_key =
|
||
sd.ins_srtdiscipline_key(+)
|
||
AND f.cnt_contract_key =
|
||
c.cnt_contract_key(+)
|
||
AND c.ins_discipline_key =
|
||
cd.ins_discipline_key(+)
|
||
AND f.bes_bestelopdr_key =
|
||
bo.bes_bestelopdr_key(+)) x
|
||
LEFT JOIN -- Tracking toevoegen
|
||
fac_tracking finnew
|
||
ON x.factuurnr_intern = finnew.fac_tracking_refkey
|
||
AND finnew.fac_srtnotificatie_key = 141
|
||
LEFT JOIN
|
||
( SELECT fac_tracking_refkey, COUNT ( * ) aant
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 142
|
||
GROUP BY fac_tracking_refkey) finupd
|
||
ON x.factuurnr_intern = finupd.fac_tracking_refkey
|
||
LEFT JOIN
|
||
( SELECT fac_tracking_refkey,
|
||
MIN (fac_tracking_datum) min_datum,
|
||
MIN (prs_perslid_key) prs_perslid_key,
|
||
COUNT ( * ) aant -- >1, dan niet standaard!
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 143
|
||
GROUP BY fac_tracking_refkey) finfok
|
||
ON x.factuurnr_intern = finfok.fac_tracking_refkey
|
||
LEFT JOIN
|
||
( SELECT fac_tracking_refkey, COUNT ( * ) aant
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 153
|
||
GROUP BY fac_tracking_refkey) finfun
|
||
ON x.factuurnr_intern = finfun.fac_tracking_refkey;
|
||
*/
|
||
|
||
CREATE OR REPLACE VIEW UWVA_V_RAP_FIN_DUBBEL_FACTUREN
|
||
(
|
||
FCLT_F_BOC_TYPE,
|
||
FCLT_F_OPDRACHTNR,
|
||
SERVICEPUNT,
|
||
PANDCODE,
|
||
KOSTENPLAATS,
|
||
PRODUCTGROEP,
|
||
MELDING,
|
||
OMSCHRIJVING,
|
||
FACTUUR_DATUM,
|
||
FACTUUR_NR,
|
||
FACTUUR_STATUS
|
||
)
|
||
AS
|
||
SELECT boc.boc,
|
||
DECODE (boc.boc, 'Bestelling', TO_CHAR (boc.opdr_id), TO_CHAR (boc.opdr_nr)),
|
||
(SELECT alg_district_omschrijving
|
||
FROM alg_locatie l, alg_district d
|
||
WHERE l.alg_locatie_key = loc_key
|
||
AND l.alg_district_key = d.alg_district_key),
|
||
(SELECT alg_locatie_code
|
||
FROM alg_locatie
|
||
WHERE alg_locatie_key = loc_key),
|
||
boc.kpn,
|
||
boc.productgroep,
|
||
boc.melding,
|
||
boc.oms,
|
||
boc.factuur_datum,
|
||
boc.factuur_nr,
|
||
boc.factuur_status
|
||
FROM ( -- B-facturen
|
||
SELECT 'Bestelling' boc,
|
||
f.bes_bestelopdr_key opdr_nr,
|
||
bo.bes_bestelopdr_id opdr_id,
|
||
x.loc_key,
|
||
x.kpn,
|
||
x.productgroep,
|
||
NULL melding,
|
||
NULL oms,
|
||
f.fin_factuur_datum factuur_datum,
|
||
f.fin_factuur_nr factuur_nr,
|
||
fs.fin_factuur_statuses_omschr factuur_status
|
||
FROM fin_factuur f,
|
||
( SELECT boi.bes_bestelopdr_key,
|
||
kp.prs_kostenplaats_nr kpn,
|
||
td.ins_discipline_omschrijving
|
||
productgroep,
|
||
DECODE (COUNT ( * ),
|
||
1, MIN (pw.alg_locatie_key),
|
||
NULL)
|
||
loc_key
|
||
FROM bes_bestelopdr_item boi,
|
||
bes_bestelling_item bbi,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
ins_tab_discipline td,
|
||
prs_kostensoort ks,
|
||
bes_bestelling b,
|
||
prs_v_aanwezigkostenplaats kp,
|
||
prs_v_werkplekperslid_gegevens pw,
|
||
alg_locatie l
|
||
WHERE boi.bes_bestelopdr_item_key =
|
||
bbi.bes_bestelopdr_item_key
|
||
AND bbi.bes_srtdeel_key =
|
||
sd.bes_srtdeel_key
|
||
AND sd.bes_srtgroep_key =
|
||
sg.bes_srtgroep_key
|
||
AND sg.ins_discipline_key =
|
||
td.ins_discipline_key
|
||
AND td.prs_kostensoort_key =
|
||
ks.prs_kostensoort_key(+)
|
||
AND bbi.bes_bestelling_key =
|
||
b.bes_bestelling_key
|
||
AND b.prs_kostenplaats_key =
|
||
kp.prs_kostenplaats_key
|
||
AND b.prs_perslid_key =
|
||
pw.prs_perslid_key(+)
|
||
GROUP BY boi.bes_bestelopdr_key,
|
||
kp.prs_kostenplaats_nr,
|
||
td.ins_discipline_omschrijving) x,
|
||
bes_bestelopdr bo,
|
||
fin_factuur_statuses fs
|
||
WHERE f.bes_bestelopdr_key = x.bes_bestelopdr_key
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND f.fin_factuur_statuses_key =
|
||
fs.fin_factuur_statuses_key
|
||
UNION ALL -- O-facturen
|
||
SELECT 'Opdracht',
|
||
f.mld_opdr_key opdr_nr,
|
||
NULL opdr_id,
|
||
m.mld_alg_locatie_key,
|
||
kp.prs_kostenplaats_nr kpn,
|
||
td.ins_discipline_omschrijving,
|
||
sm.mld_stdmelding_omschrijving melding,
|
||
o.mld_opdr_omschrijving oms,
|
||
f.fin_factuur_datum factuur_datum,
|
||
f.fin_factuur_nr factuur_nr,
|
||
fs.fin_factuur_statuses_omschr factuur_status
|
||
FROM fin_factuur f,
|
||
mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
prs_v_aanwezigkostenplaats kp,
|
||
fin_factuur_statuses fs
|
||
WHERE f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key =
|
||
td.ins_discipline_key
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND f.fin_factuur_statuses_key =
|
||
fs.fin_factuur_statuses_key
|
||
UNION ALL -- C-facturen
|
||
SELECT 'Contract',
|
||
f.cnt_contract_key opdr_nr,
|
||
NULL opdr_id,
|
||
NULL loc_key,
|
||
kp.prs_kostenplaats_nr kpn,
|
||
td.ins_discipline_omschrijving,
|
||
NULL,
|
||
NULL,
|
||
f.fin_factuur_datum factuur_datum,
|
||
f.fin_factuur_nr factuur_nr,
|
||
fs.fin_factuur_statuses_omschr factuur_status
|
||
FROM fin_factuur f,
|
||
cnt_contract c,
|
||
ins_tab_discipline td,
|
||
prs_v_aanwezigkostenplaats kp,
|
||
fin_factuur_statuses fs
|
||
WHERE f.cnt_contract_key = c.cnt_contract_key
|
||
AND c.ins_discipline_key = td.ins_discipline_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND f.fin_factuur_statuses_key =
|
||
fs.fin_factuur_statuses_key) boc
|
||
LEFT JOIN
|
||
( SELECT COALESCE (f.bes_bestelopdr_key,
|
||
f.mld_opdr_key,
|
||
f.cnt_contract_key)
|
||
opdr_nr,
|
||
COUNT ( * ) aantal
|
||
FROM fin_factuur f
|
||
GROUP BY COALESCE (f.bes_bestelopdr_key,
|
||
f.mld_opdr_key,
|
||
f.cnt_contract_key)) fact
|
||
ON boc.opdr_nr = fact.opdr_nr
|
||
WHERE fact.aantal > 1;
|
||
|
||
-- UWVA#21510/ALBRON-artikelen
|
||
/* Formatted on 24-4-2012 14:14:44 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_cat1_actual
|
||
(
|
||
fclt_f_lev_datum,
|
||
fclt_f_gebouwcode,
|
||
--fclt_3d_gebouw_key,
|
||
fclt_f_voorziening,
|
||
aantal,
|
||
prijs_per_stuk,
|
||
totaal,
|
||
totaal_afgemeld,
|
||
res_id,
|
||
fclt_f_kostenplaats_nr,
|
||
kostenplaats_oms
|
||
)
|
||
AS
|
||
SELECT lev_datum,
|
||
gebouw_code,
|
||
--gebouw_key,
|
||
res_voorziening,
|
||
SUM (aantal),
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (SUM (prijs), '9999990.99'), '.', ','),
|
||
SUM (verw_prijs),
|
||
res_id,
|
||
kostenplaats_nr,
|
||
kostenplaats_oms
|
||
FROM (SELECT TO_CHAR (res_geg.lev_datum, 'YYYY-MM-DD') lev_datum,
|
||
DECODE (
|
||
res_geg.alg_ruimte_key,
|
||
NULL,
|
||
'Onbekend',
|
||
(SELECT alg_gebouw_code
|
||
FROM alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r
|
||
WHERE res_geg.alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_verdieping_key =
|
||
v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key)
|
||
)
|
||
gebouw_code,
|
||
--g.alg_gebouw_key gebouw_key,
|
||
res_geg.res_id,
|
||
COALESCE (
|
||
actkpn.afd_kostenplaats,
|
||
'*VERVALLEN['
|
||
|| allkpn.prs_kostenplaats_upper
|
||
|| ']'
|
||
)
|
||
kostenplaats_nr,
|
||
COALESCE (
|
||
actkpn.afd_omschrijving,
|
||
'*VERVALLEN['
|
||
|| allkpn.prs_kostenplaats_omschrijving
|
||
|| ']'
|
||
)
|
||
kostenplaats_oms,
|
||
--DECODE (
|
||
-- actkpn.afd_kostenplaats,
|
||
-- NULL,
|
||
-- res_geg.res_id,
|
||
-- '[geen bijzonderheden]'
|
||
--)
|
||
-- res_id,
|
||
--DECODE (
|
||
-- actkpn.afd_kostenplaats,
|
||
-- NULL,
|
||
-- '*VERVALLEN['
|
||
-- || allkpn.prs_kostenplaats_upper
|
||
-- || ']',
|
||
-- '[geen bijzonderheden]'
|
||
--)
|
||
-- kostenplaats_nr,
|
||
--DECODE (
|
||
-- actkpn.afd_kostenplaats,
|
||
-- NULL,
|
||
-- '*VERVALLEN['
|
||
-- || allkpn.prs_kostenplaats_omschrijving
|
||
-- || ']',
|
||
-- '[geen bijzonderheden]'
|
||
--)
|
||
-- kostenplaats_oms,
|
||
res_geg.res_item_key,
|
||
res_geg.res_voorziening,
|
||
res_geg.aantal,
|
||
res_geg.stuksprijs,
|
||
res_geg.verw_prijs,
|
||
prijs
|
||
FROM (SELECT COALESCE (rar1.alg_ruimte_key,
|
||
rar2.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
rrr.prs_kostenplaats_key,
|
||
rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
res_id,
|
||
TRUNC (rra.res_rsv_artikel_levering)
|
||
lev_datum,
|
||
ra.res_discipline_key res_ins_discipline_key,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| NVL (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal
|
||
* ra.res_artikel_prijs
|
||
prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
(SELECT art.*, dis.prs_kostensoort_key
|
||
FROM res_artikel art, res_discipline dis
|
||
WHERE art.res_discipline_key =
|
||
dis.ins_discipline_key
|
||
AND dis.ins_discipline_omschrijving LIKE
|
||
'%(a)') ra,
|
||
prs_kostensoort ks
|
||
WHERE rrr.alg_ruimte_key IS NULL
|
||
AND rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key =
|
||
rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key =
|
||
rar2.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key =
|
||
rra.res_rsv_ruimte_key
|
||
AND rra.res_status_bo_key = 5
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.prs_kostensoort_key =
|
||
ks.prs_kostensoort_key
|
||
AND ks.prs_kostensoort_doorbelasten = 1
|
||
AND rra.res_rsv_artikel_levering >=
|
||
TO_DATE ('20120101', 'yyyymmdd')
|
||
UNION ALL
|
||
SELECT rrr.alg_ruimte_key alg_ruimte_key,
|
||
rrr.prs_kostenplaats_key,
|
||
rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
resid,
|
||
TRUNC (rra.res_rsv_artikel_levering)
|
||
lev_datum,
|
||
ra.res_discipline_key res_ins_discipline_key,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| NVL (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal
|
||
* ra.res_artikel_prijs
|
||
prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
(SELECT art.*, dis.prs_kostensoort_key
|
||
FROM res_artikel art, res_discipline dis
|
||
WHERE art.res_discipline_key =
|
||
dis.ins_discipline_key
|
||
AND dis.ins_discipline_omschrijving LIKE
|
||
'%(a)') ra,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_ruimte_opstel_key IS NULL
|
||
AND rrr.res_rsv_ruimte_key =
|
||
rra.res_rsv_ruimte_key
|
||
AND rra.res_status_bo_key = 5
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.prs_kostensoort_key =
|
||
ks.prs_kostensoort_key
|
||
AND ks.prs_kostensoort_doorbelasten = 1
|
||
AND rra.res_rsv_artikel_levering >=
|
||
TO_DATE ('20120101', 'yyyymmdd'))
|
||
res_geg,
|
||
prs_kostenplaats allkpn,
|
||
uwva_v_afd_plus_prj_kpn actkpn
|
||
WHERE res_geg.prs_kostenplaats_key =
|
||
allkpn.prs_kostenplaats_key
|
||
AND res_geg.prs_kostenplaats_key =
|
||
actkpn.kostenplaats_key(+))
|
||
GROUP BY lev_datum,
|
||
gebouw_code,
|
||
--gebouw_key,
|
||
res_voorziening,
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
res_id,
|
||
kostenplaats_nr,
|
||
kostenplaats_oms;
|
||
|
||
/* Formatted on 12-3-2012 12:32:16 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_cat1_frozen
|
||
(
|
||
fclt_f_exp_datum,
|
||
fclt_f_gebouwcode,
|
||
--fclt_3d_gebouw_key,
|
||
fclt_f_voorziening,
|
||
aantal,
|
||
prijs_per_stuk,
|
||
totaal,
|
||
totaal_verwerkt
|
||
)
|
||
AS
|
||
SELECT exp_datum,
|
||
gebouw_code,
|
||
--gebouw_key,
|
||
res_voorziening,
|
||
SUM (aantal),
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (SUM (prijs), '9999990.99'), '.', ','),
|
||
SUM (verw_prijs)
|
||
FROM (SELECT TO_CHAR (res_geg.exp_datum, 'YYYY-MM-DD') exp_datum,
|
||
DECODE (
|
||
res_geg.alg_ruimte_key,
|
||
NULL,
|
||
'Onbekend',
|
||
(SELECT alg_gebouw_code
|
||
FROM alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r
|
||
WHERE res_geg.alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_verdieping_key =
|
||
v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key)
|
||
)
|
||
gebouw_code,
|
||
--g.alg_gebouw_key gebouw_key,
|
||
res_geg.res_item_key,
|
||
res_geg.res_voorziening,
|
||
res_geg.aantal,
|
||
res_geg.stuksprijs,
|
||
res_geg.verw_prijs,
|
||
prijs
|
||
FROM (SELECT COALESCE (rar1.alg_ruimte_key,
|
||
rar2.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
TRUNC (rra.res_rsv_artikel_verwerkt)
|
||
exp_datum,
|
||
ra.res_discipline_key res_ins_discipline_key,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| NVL (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal
|
||
* ra.res_artikel_prijs
|
||
prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
(SELECT art.*
|
||
FROM res_artikel art, res_discipline dis
|
||
WHERE art.res_discipline_key =
|
||
dis.ins_discipline_key
|
||
AND dis.ins_discipline_omschrijving LIKE
|
||
'%(a)') ra
|
||
WHERE rrr.alg_ruimte_key IS NULL
|
||
AND rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key =
|
||
rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key =
|
||
rar2.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key =
|
||
rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND rra.res_rsv_artikel_verwerkt >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12),
|
||
'YYYY')
|
||
UNION ALL
|
||
SELECT rrr.alg_ruimte_key alg_ruimte_key,
|
||
TRUNC (rra.res_rsv_artikel_verwerkt)
|
||
exp_datum,
|
||
ra.res_discipline_key res_ins_discipline_key,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| NVL (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal
|
||
* ra.res_artikel_prijs
|
||
prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
(SELECT art.*
|
||
FROM res_artikel art, res_discipline dis
|
||
WHERE art.res_discipline_key =
|
||
dis.ins_discipline_key
|
||
AND dis.ins_discipline_omschrijving LIKE
|
||
'%(a)') ra
|
||
WHERE rrr.res_ruimte_opstel_key IS NULL
|
||
AND rrr.res_rsv_ruimte_key =
|
||
rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND rra.res_rsv_artikel_verwerkt >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12),
|
||
'YYYY')) res_geg)
|
||
GROUP BY exp_datum,
|
||
gebouw_code,
|
||
--gebouw_key,
|
||
res_voorziening,
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ',');
|
||
|
||
-- UWVA#21510/ISS-artikelen
|
||
/* Formatted on 24-4-2012 14:14:44 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_cat2_actual
|
||
(
|
||
fclt_f_lev_datum,
|
||
fclt_f_gebouwcode,
|
||
--fclt_3d_gebouw_key,
|
||
fclt_f_voorziening,
|
||
aantal,
|
||
prijs_per_stuk,
|
||
totaal,
|
||
totaal_afgemeld,
|
||
res_id,
|
||
fclt_f_kostenplaats_nr,
|
||
kostenplaats_oms
|
||
)
|
||
AS
|
||
SELECT lev_datum,
|
||
gebouw_code,
|
||
--gebouw_key,
|
||
res_voorziening,
|
||
SUM (aantal),
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (SUM (prijs), '9999990.99'), '.', ','),
|
||
SUM (verw_prijs),
|
||
res_id,
|
||
kostenplaats_nr,
|
||
kostenplaats_oms
|
||
FROM (SELECT TO_CHAR (res_geg.lev_datum, 'YYYY-MM-DD') lev_datum,
|
||
DECODE (
|
||
res_geg.alg_ruimte_key,
|
||
NULL,
|
||
'Onbekend',
|
||
(SELECT alg_gebouw_code
|
||
FROM alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r
|
||
WHERE res_geg.alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_verdieping_key =
|
||
v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key)
|
||
)
|
||
gebouw_code,
|
||
--g.alg_gebouw_key gebouw_key,
|
||
res_geg.res_id,
|
||
COALESCE (
|
||
actkpn.afd_kostenplaats,
|
||
'*VERVALLEN['
|
||
|| allkpn.prs_kostenplaats_upper
|
||
|| ']'
|
||
)
|
||
kostenplaats_nr,
|
||
COALESCE (
|
||
actkpn.afd_omschrijving,
|
||
'*VERVALLEN['
|
||
|| allkpn.prs_kostenplaats_omschrijving
|
||
|| ']'
|
||
)
|
||
kostenplaats_oms,
|
||
--DECODE (
|
||
-- actkpn.afd_kostenplaats,
|
||
-- NULL,
|
||
-- res_geg.res_id,
|
||
-- '[geen bijzonderheden]'
|
||
--)
|
||
-- res_id,
|
||
--DECODE (
|
||
-- actkpn.afd_kostenplaats,
|
||
-- NULL,
|
||
-- '*VERVALLEN['
|
||
-- || allkpn.prs_kostenplaats_upper
|
||
-- || ']',
|
||
-- '[geen bijzonderheden]'
|
||
--)
|
||
-- kostenplaats_nr,
|
||
--DECODE (
|
||
-- actkpn.afd_kostenplaats,
|
||
-- NULL,
|
||
-- '*VERVALLEN['
|
||
-- || allkpn.prs_kostenplaats_omschrijving
|
||
-- || ']',
|
||
-- '[geen bijzonderheden]'
|
||
--)
|
||
-- kostenplaats_oms,
|
||
res_geg.res_item_key,
|
||
res_geg.res_voorziening,
|
||
res_geg.aantal,
|
||
res_geg.stuksprijs,
|
||
res_geg.verw_prijs,
|
||
prijs
|
||
FROM (SELECT COALESCE (rar1.alg_ruimte_key,
|
||
rar2.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
rrr.prs_kostenplaats_key,
|
||
rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
res_id,
|
||
TRUNC (rra.res_rsv_artikel_levering)
|
||
lev_datum,
|
||
ra.res_discipline_key res_ins_discipline_key,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| NVL (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal
|
||
* ra.res_artikel_prijs
|
||
prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
(SELECT art.*, dis.prs_kostensoort_key
|
||
FROM res_artikel art, res_discipline dis
|
||
WHERE art.res_discipline_key =
|
||
dis.ins_discipline_key
|
||
AND dis.ins_discipline_omschrijving LIKE
|
||
'%(i)') ra,
|
||
prs_kostensoort ks
|
||
WHERE rrr.alg_ruimte_key IS NULL
|
||
AND rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key =
|
||
rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key =
|
||
rar2.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key =
|
||
rra.res_rsv_ruimte_key
|
||
AND rra.res_status_bo_key = 5
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.prs_kostensoort_key =
|
||
ks.prs_kostensoort_key
|
||
AND ks.prs_kostensoort_doorbelasten = 1
|
||
AND rra.res_rsv_artikel_levering >=
|
||
TO_DATE ('20120101', 'yyyymmdd')
|
||
UNION ALL
|
||
SELECT rrr.alg_ruimte_key alg_ruimte_key,
|
||
rrr.prs_kostenplaats_key,
|
||
rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
resid,
|
||
TRUNC (rra.res_rsv_artikel_levering)
|
||
lev_datum,
|
||
ra.res_discipline_key res_ins_discipline_key,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| NVL (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal
|
||
* ra.res_artikel_prijs
|
||
prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
(SELECT art.*, dis.prs_kostensoort_key
|
||
FROM res_artikel art, res_discipline dis
|
||
WHERE art.res_discipline_key =
|
||
dis.ins_discipline_key
|
||
AND dis.ins_discipline_omschrijving LIKE
|
||
'%(i)') ra,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_ruimte_opstel_key IS NULL
|
||
AND rrr.res_rsv_ruimte_key =
|
||
rra.res_rsv_ruimte_key
|
||
AND rra.res_status_bo_key = 5
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.prs_kostensoort_key =
|
||
ks.prs_kostensoort_key
|
||
AND ks.prs_kostensoort_doorbelasten = 1
|
||
AND rra.res_rsv_artikel_levering >=
|
||
TO_DATE ('20120101', 'yyyymmdd'))
|
||
res_geg,
|
||
prs_kostenplaats allkpn,
|
||
uwva_v_afd_plus_prj_kpn actkpn
|
||
WHERE res_geg.prs_kostenplaats_key =
|
||
allkpn.prs_kostenplaats_key
|
||
AND res_geg.prs_kostenplaats_key =
|
||
actkpn.kostenplaats_key(+))
|
||
GROUP BY lev_datum,
|
||
gebouw_code,
|
||
--gebouw_key,
|
||
res_voorziening,
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
res_id,
|
||
kostenplaats_nr,
|
||
kostenplaats_oms;
|
||
|
||
/* Formatted on 12-3-2012 12:32:16 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_cat2_frozen
|
||
(
|
||
fclt_f_exp_datum,
|
||
fclt_f_gebouwcode,
|
||
--fclt_3d_gebouw_key,
|
||
fclt_f_voorziening,
|
||
aantal,
|
||
prijs_per_stuk,
|
||
totaal,
|
||
totaal_verwerkt
|
||
)
|
||
AS
|
||
SELECT exp_datum,
|
||
gebouw_code,
|
||
--gebouw_key,
|
||
res_voorziening,
|
||
SUM (aantal),
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (SUM (prijs), '9999990.99'), '.', ','),
|
||
SUM (verw_prijs)
|
||
FROM (SELECT TO_CHAR (res_geg.exp_datum, 'YYYY-MM-DD') exp_datum,
|
||
DECODE (
|
||
res_geg.alg_ruimte_key,
|
||
NULL,
|
||
'Onbekend',
|
||
(SELECT alg_gebouw_code
|
||
FROM alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r
|
||
WHERE res_geg.alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_verdieping_key =
|
||
v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key)
|
||
)
|
||
gebouw_code,
|
||
--g.alg_gebouw_key gebouw_key,
|
||
res_geg.res_item_key,
|
||
res_geg.res_voorziening,
|
||
res_geg.aantal,
|
||
res_geg.stuksprijs,
|
||
res_geg.verw_prijs,
|
||
prijs
|
||
FROM (SELECT COALESCE (rar1.alg_ruimte_key,
|
||
rar2.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
TRUNC (rra.res_rsv_artikel_verwerkt)
|
||
exp_datum,
|
||
ra.res_discipline_key res_ins_discipline_key,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| NVL (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal
|
||
* ra.res_artikel_prijs
|
||
prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
(SELECT art.*
|
||
FROM res_artikel art, res_discipline dis
|
||
WHERE art.res_discipline_key =
|
||
dis.ins_discipline_key
|
||
AND dis.ins_discipline_omschrijving LIKE
|
||
'%(i)') ra
|
||
WHERE rrr.alg_ruimte_key IS NULL
|
||
AND rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key =
|
||
rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key =
|
||
rar2.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key =
|
||
rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND rra.res_rsv_artikel_verwerkt >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12),
|
||
'YYYY')
|
||
UNION ALL
|
||
SELECT rrr.alg_ruimte_key alg_ruimte_key,
|
||
TRUNC (rra.res_rsv_artikel_verwerkt)
|
||
exp_datum,
|
||
ra.res_discipline_key res_ins_discipline_key,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| NVL (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal
|
||
* ra.res_artikel_prijs
|
||
prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
(SELECT art.*
|
||
FROM res_artikel art, res_discipline dis
|
||
WHERE art.res_discipline_key =
|
||
dis.ins_discipline_key
|
||
AND dis.ins_discipline_omschrijving LIKE
|
||
'%(i)') ra
|
||
WHERE rrr.res_ruimte_opstel_key IS NULL
|
||
AND rrr.res_rsv_ruimte_key =
|
||
rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND rra.res_rsv_artikel_verwerkt >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12),
|
||
'YYYY')) res_geg)
|
||
GROUP BY exp_datum,
|
||
gebouw_code,
|
||
--gebouw_key,
|
||
res_voorziening,
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ',');
|
||
|
||
-- UWVA#24721/Catering-kavels per 2013!
|
||
/* Formatted on 10-2-2014 11:36:12 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_cat_actual
|
||
(
|
||
fclt_f_kavel,
|
||
fclt_f_lev_datum,
|
||
fclt_f_gebouwcode,
|
||
fclt_3d_discipline_key,
|
||
fclt_f_catalogus,
|
||
fclt_f_voorziening,
|
||
aantal,
|
||
prijs_per_stuk,
|
||
btw_perc,
|
||
tot_excl,
|
||
tot_afgemeld_excl,
|
||
tot_afgemeld_btw,
|
||
tot_afgemeld_incl,
|
||
res_id,
|
||
fclt_f_kostenplaats_nr,
|
||
kostenplaats_oms
|
||
)
|
||
AS
|
||
SELECT kavel,
|
||
lev_datum,
|
||
gebouw_code,
|
||
ins_discipline_key,
|
||
ins_discipline_omschrijving,
|
||
res_voorziening,
|
||
SUM (aantal),
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (btw_perc, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (SUM (prijs), '9999990.99'), '.', ','),
|
||
SUM (verw_prijs),
|
||
SUM (btw),
|
||
SUM (verw_prijs + btw),
|
||
res_id,
|
||
kostenplaats_nr,
|
||
kostenplaats_oms
|
||
FROM (SELECT z.kavel,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'YYYY-MM-DD')
|
||
lev_datum,
|
||
DECODE (x.alg_ruimte_key,
|
||
NULL, 'Onbekend',
|
||
y.alg_gebouw_upper)
|
||
gebouw_code,
|
||
x.ins_discipline_key,
|
||
x.ins_discipline_omschrijving,
|
||
x.res_item_key,
|
||
x.res_voorziening,
|
||
x.aantal,
|
||
x.stuksprijs,
|
||
x.btw_perc,
|
||
x.prijs,
|
||
x.verw_prijs,
|
||
ROUND ( (x.verw_prijs * x.btw_perc) / 100, 2) btw,
|
||
x.res_id,
|
||
COALESCE (actkpn.afd_kostenplaats,
|
||
'*VERVALLEN[' || x.prs_kostenplaats_upper || ']')
|
||
kostenplaats_nr,
|
||
COALESCE (
|
||
actkpn.afd_omschrijving,
|
||
'*VERVALLEN[' || x.prs_kostenplaats_omschrijving || ']')
|
||
kostenplaats_oms
|
||
FROM (SELECT COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rd.ins_discipline_key,
|
||
rd.ins_discipline_omschrijving,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| COALESCE (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
ra.res_artikel_btw btw_perc,
|
||
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs
|
||
prijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
res_id,
|
||
rrr.prs_kostenplaats_key,
|
||
kp.prs_kostenplaats_upper,
|
||
kp.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd,
|
||
prs_kostensoort ks,
|
||
prs_kostenplaats kp
|
||
WHERE rrr.alg_ruimte_key IS NULL
|
||
AND rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_status_bo_key = 5
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
AND (rd.ins_discipline_omschrijving LIKE '%(N)'
|
||
OR rd.ins_discipline_omschrijving LIKE '%(Z)')
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key
|
||
AND ks.prs_kostensoort_doorbelasten = 1
|
||
AND rrr.prs_kostenplaats_key =
|
||
kp.prs_kostenplaats_key
|
||
UNION ALL
|
||
SELECT rrr.alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rd.ins_discipline_key,
|
||
rd.ins_discipline_omschrijving,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| COALESCE (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
ra.res_artikel_btw btw_perc,
|
||
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs
|
||
prijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
resid,
|
||
rrr.prs_kostenplaats_key,
|
||
kp.prs_kostenplaats_upper,
|
||
kp.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd,
|
||
prs_kostensoort ks,
|
||
prs_kostenplaats kp
|
||
WHERE rrr.res_ruimte_opstel_key IS NULL
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_status_bo_key = 5
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
AND (rd.ins_discipline_omschrijving LIKE '%(N)'
|
||
OR rd.ins_discipline_omschrijving LIKE '%(Z)')
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key
|
||
AND ks.prs_kostensoort_doorbelasten = 1
|
||
AND rrr.prs_kostenplaats_key =
|
||
kp.prs_kostenplaats_key) x
|
||
LEFT JOIN alg_v_ruimte_gegevens_all y
|
||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||
LEFT JOIN (SELECT ok.alg_onrgoed_key,
|
||
ud.fac_usrdata_omschr kavel
|
||
FROM alg_v_aanwezigonrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud
|
||
WHERE ok.alg_kenmerk_key = 1420 -- kavel
|
||
AND ok.alg_onrgoed_niveau = 'G'
|
||
--AND ud.fac_usrtab_key = 922
|
||
AND fac.safe_to_number (
|
||
ok.alg_onrgoedkenmerk_waarde) =
|
||
ud.fac_usrdata_key) z
|
||
ON y.alg_gebouw_key = z.alg_onrgoed_key
|
||
LEFT JOIN uwva_v_afd_plus_prj_kpn actkpn
|
||
ON x.prs_kostenplaats_key = actkpn.kostenplaats_key)
|
||
GROUP BY kavel,
|
||
lev_datum,
|
||
gebouw_code,
|
||
ins_discipline_key,
|
||
ins_discipline_omschrijving,
|
||
res_voorziening,
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (btw_perc, '9999990.99'), '.', ','),
|
||
res_id,
|
||
kostenplaats_nr,
|
||
kostenplaats_oms;
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_catn_actual
|
||
AS
|
||
SELECT * FROM uwva_v_rap_cat_actual WHERE fclt_f_kavel = 'Noord';
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_catz_actual
|
||
AS
|
||
SELECT * FROM uwva_v_rap_cat_actual WHERE fclt_f_kavel = 'Zuid';
|
||
|
||
/* Formatted on 10-2-2014 11:36:42 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_cat_frozen
|
||
(
|
||
fclt_f_exp_datum,
|
||
fclt_f_kavel,
|
||
fclt_f_gebouwcode,
|
||
fclt_3d_discipline_key,
|
||
fclt_f_catalogus,
|
||
fclt_f_voorziening,
|
||
aantal,
|
||
prijs_per_stuk,
|
||
btw_perc,
|
||
tot_excl,
|
||
tot_verwerkt_excl,
|
||
tot_verwerkt_btw,
|
||
tot_verwerkt_incl
|
||
)
|
||
AS
|
||
SELECT exp_datum,
|
||
kavel,
|
||
gebouw_code,
|
||
ins_discipline_key,
|
||
ins_discipline_omschrijving,
|
||
res_voorziening,
|
||
SUM (aantal),
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (btw_perc, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (SUM (prijs), '9999990.99'), '.', ','),
|
||
SUM (verw_prijs),
|
||
SUM (btw),
|
||
SUM (verw_prijs + btw)
|
||
FROM (SELECT TO_CHAR (x.exp_datum, 'YYYY-MM-DD') exp_datum,
|
||
z.kavel,
|
||
DECODE (x.alg_ruimte_key,
|
||
NULL, 'Onbekend',
|
||
y.alg_gebouw_upper)
|
||
gebouw_code,
|
||
x.ins_discipline_key,
|
||
x.ins_discipline_omschrijving,
|
||
x.res_item_key,
|
||
x.res_voorziening,
|
||
x.aantal,
|
||
x.stuksprijs,
|
||
x.btw_perc,
|
||
x.prijs,
|
||
x.verw_prijs,
|
||
ROUND ( (x.verw_prijs * x.btw_perc) / 100, 2) btw
|
||
FROM (SELECT COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
TRUNC (rra.res_rsv_artikel_verwerkt) exp_datum,
|
||
rd.ins_discipline_key,
|
||
rd.ins_discipline_omschrijving,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| COALESCE (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
ra.res_artikel_btw btw_perc,
|
||
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs
|
||
prijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd
|
||
WHERE rrr.alg_ruimte_key IS NULL
|
||
AND rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
AND (rd.ins_discipline_omschrijving LIKE '%(N)'
|
||
OR rd.ins_discipline_omschrijving LIKE '%(Z)')
|
||
AND rra.res_rsv_artikel_verwerkt >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12), 'YYYY')
|
||
UNION ALL
|
||
SELECT rrr.alg_ruimte_key alg_ruimte_key,
|
||
TRUNC (rra.res_rsv_artikel_verwerkt) exp_datum,
|
||
rd.ins_discipline_key,
|
||
rd.ins_discipline_omschrijving,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| COALESCE (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
ra.res_artikel_btw btw_perc,
|
||
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs
|
||
prijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd
|
||
WHERE rrr.res_ruimte_opstel_key IS NULL
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
AND (rd.ins_discipline_omschrijving LIKE '%(N)'
|
||
OR rd.ins_discipline_omschrijving LIKE '%(Z)')
|
||
AND rra.res_rsv_artikel_verwerkt >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12), 'YYYY')) x
|
||
LEFT JOIN alg_v_ruimte_gegevens_all y
|
||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||
LEFT JOIN (SELECT ok.alg_onrgoed_key,
|
||
ud.fac_usrdata_omschr kavel
|
||
FROM alg_v_aanwezigonrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud
|
||
WHERE ok.alg_kenmerk_key = 1420 -- kavel
|
||
AND ok.alg_onrgoed_niveau = 'G'
|
||
--AND ud.fac_usrtab_key = 922
|
||
AND fac.safe_to_number (
|
||
ok.alg_onrgoedkenmerk_waarde) =
|
||
ud.fac_usrdata_key) z
|
||
ON y.alg_gebouw_key = z.alg_onrgoed_key)
|
||
GROUP BY exp_datum,
|
||
kavel,
|
||
gebouw_code,
|
||
ins_discipline_key,
|
||
ins_discipline_omschrijving,
|
||
res_voorziening,
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (btw_perc, '9999990.99'), '.', ',');
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_catn_frozen
|
||
AS
|
||
SELECT * FROM uwva_v_rap_cat_frozen WHERE fclt_f_kavel = 'Noord';
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rapz_cat_frozen
|
||
AS
|
||
SELECT * FROM uwva_v_rap_cat_frozen WHERE fclt_f_kavel = 'Zuid';
|
||
|
||
--UWVA#30468
|
||
/* Formatted on 23-9-2014 16:54:06 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_cat_frozen_details
|
||
(
|
||
fclt_f_exp_datum,
|
||
fclt_f_kavel,
|
||
res_id,
|
||
fclt_f_lev_datum,
|
||
fclt_f_gebouwcode,
|
||
fclt_3d_discipline_key,
|
||
fclt_f_catalogus,
|
||
fclt_f_voorziening,
|
||
aantal,
|
||
prijs_per_stuk,
|
||
btw_perc,
|
||
tot_excl,
|
||
tot_verwerkt_excl,
|
||
tot_verwerkt_btw,
|
||
tot_verwerkt_incl
|
||
)
|
||
AS
|
||
SELECT exp_datum,
|
||
kavel,
|
||
res_id,
|
||
lev_datum,
|
||
gebouw_code,
|
||
ins_discipline_key,
|
||
ins_discipline_omschrijving,
|
||
res_voorziening,
|
||
SUM (aantal),
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (btw_perc, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (SUM (prijs), '9999990.99'), '.', ','),
|
||
SUM (verw_prijs),
|
||
SUM (btw),
|
||
SUM (verw_prijs + btw)
|
||
FROM (SELECT TO_CHAR (x.exp_datum, 'YYYY-MM-DD') exp_datum,
|
||
z.kavel,
|
||
x.res_id,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'YYYY-MM-DD')
|
||
lev_datum,
|
||
DECODE (x.alg_ruimte_key,
|
||
NULL, 'Onbekend',
|
||
y.alg_gebouw_upper)
|
||
gebouw_code,
|
||
x.ins_discipline_key,
|
||
x.ins_discipline_omschrijving,
|
||
x.res_item_key,
|
||
x.res_voorziening,
|
||
x.aantal,
|
||
x.stuksprijs,
|
||
x.btw_perc,
|
||
x.prijs,
|
||
x.verw_prijs,
|
||
ROUND ( (x.verw_prijs * x.btw_perc) / 100, 2) btw
|
||
FROM (SELECT COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
TRUNC (rra.res_rsv_artikel_verwerkt) exp_datum,
|
||
rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
res_id,
|
||
rra.res_rsv_artikel_levering,
|
||
rd.ins_discipline_key,
|
||
rd.ins_discipline_omschrijving,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| COALESCE (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
ra.res_artikel_btw btw_perc,
|
||
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs
|
||
prijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key,
|
||
MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd
|
||
WHERE rrr.alg_ruimte_key IS NULL
|
||
AND rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
AND (rd.ins_discipline_omschrijving LIKE '%(N)'
|
||
OR rd.ins_discipline_omschrijving LIKE '%(Z)')
|
||
AND rra.res_rsv_artikel_verwerkt >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12), 'YYYY')
|
||
UNION ALL
|
||
SELECT rrr.alg_ruimte_key alg_ruimte_key,
|
||
TRUNC (rra.res_rsv_artikel_verwerkt) exp_datum,
|
||
rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
res_id,
|
||
rra.res_rsv_artikel_levering,
|
||
rd.ins_discipline_key,
|
||
rd.ins_discipline_omschrijving,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| ' ('
|
||
|| COALESCE (ra.res_artikel_eenheid, '')
|
||
|| ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs stuksprijs,
|
||
ra.res_artikel_btw btw_perc,
|
||
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs
|
||
prijs,
|
||
rra.res_rsv_artikel_prijs verw_prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd
|
||
WHERE rrr.res_ruimte_opstel_key IS NULL
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
AND (rd.ins_discipline_omschrijving LIKE '%(N)'
|
||
OR rd.ins_discipline_omschrijving LIKE '%(Z)')
|
||
AND rra.res_rsv_artikel_verwerkt >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12), 'YYYY')) x
|
||
LEFT JOIN alg_v_ruimte_gegevens_all y
|
||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||
LEFT JOIN (SELECT ok.alg_onrgoed_key,
|
||
ud.fac_usrdata_omschr kavel
|
||
FROM alg_v_aanwezigonrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud
|
||
WHERE ok.alg_kenmerk_key = 1420 -- kavel
|
||
AND ok.alg_onrgoed_niveau = 'G'
|
||
--AND ud.fac_usrtab_key = 922
|
||
AND fac.safe_to_number (
|
||
ok.alg_onrgoedkenmerk_waarde) =
|
||
ud.fac_usrdata_key) z
|
||
ON y.alg_gebouw_key = z.alg_onrgoed_key)
|
||
GROUP BY exp_datum,
|
||
kavel,
|
||
res_id,
|
||
lev_datum,
|
||
gebouw_code,
|
||
ins_discipline_key,
|
||
ins_discipline_omschrijving,
|
||
res_voorziening,
|
||
REPLACE (TO_CHAR (stuksprijs, '9999990.99'), '.', ','),
|
||
REPLACE (TO_CHAR (btw_perc, '9999990.99'), '.', ',');
|
||
|
||
/*
|
||
CREATE OR REPLACE VIEW uwva_v_rap_catn_frozen_details
|
||
AS
|
||
SELECT * FROM uwva_v_rap_cat_frozen_details WHERE fclt_f_kavel = 'Noord';
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rapz_cat_frozen_details
|
||
AS
|
||
SELECT * FROM uwva_v_rap_cat_frozen_details WHERE fclt_f_kavel = 'Zuid';
|
||
|
||
*/
|
||
-- BROC-export; doel is een BROC-journaalbestand (1e en 3e
|
||
-- werkdag resp. CONCEPT en DEFINITIEF) te exporteren en de
|
||
-- BOC-facturen + R-reserveringen die hieraan ten grondslag
|
||
-- liggen op AV te zetten!
|
||
/* Formatted on 13-9-2010 16:30:08 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_broc_journaalregels
|
||
(
|
||
export_appl,
|
||
export_datum,
|
||
export_index,
|
||
export_regel
|
||
)
|
||
AS
|
||
SELECT rjr.export_appl,
|
||
rjr.export_datum,
|
||
rjr.export_index,
|
||
'"'
|
||
|| rjr.export_index -- A: regelnummer
|
||
|| '";""' -- B: empty
|
||
|| ';""' -- C: empty
|
||
|| ';""' -- D: empty
|
||
|| ';""' -- E: empty
|
||
|| ';""' -- F: empty
|
||
|| ';""' -- G: empty
|
||
|| ';""' -- H: empty
|
||
|| ';"00UWV"' -- I: business unit
|
||
|| ';"'
|
||
|| ud1.fac_usrdata_omschr -- J: ledger
|
||
|| '";"'
|
||
|| rjr.kostensoort_oms -- K: rekening
|
||
|| '";"";"";"' -- L+M: empty 1+2
|
||
|| ud2.fac_usrdata_omschr -- N: valuta
|
||
|| '";"'
|
||
|| REPLACE (rjr.bedrag, '.', ',') -- O: bedrag
|
||
|| '";"";"";"";"";"";"";"' -- Pt/mU: empty 3 t/m 8
|
||
|| rjr.kostensoort_refcode -- V: reference
|
||
|| '";"'
|
||
|| SUBSTR (
|
||
ud3.fac_usrdata_omschr
|
||
|| ' '
|
||
|| TO_CHAR (rjr.export_datum, 'dd-mm-yyyy'),
|
||
1,
|
||
20
|
||
) -- W: omschrijving
|
||
|| '";"";"";"' -- X+Y: empty 9+10
|
||
|| rjr.afd_kpn -- Z: department
|
||
|| '";""' -- AA: empty
|
||
|| ';""' -- AB: empty
|
||
|| ';""' -- AC: empty
|
||
|| ';"";"' -- AD: empty
|
||
|| rjr.prj_kpn -- AE: project code
|
||
|| '";""' -- AF: empty
|
||
|| ';""' -- AG: empty
|
||
|| ';""' -- AH: empty
|
||
|| ';""' -- AI: empty
|
||
|| ';""' -- AJ: empty
|
||
|| ';""' -- AK: empty
|
||
|| ';"";"' -- AL: empty
|
||
|| DECODE (rjr.prj_kpn, NULL, NULL, '00UWV') -- AM: project business unit
|
||
|| '";"'
|
||
|| rjr.prj_activiteit -- AN: project activiteit
|
||
|| '";""' -- AO: empty
|
||
|| ';""' -- AP: empty
|
||
|| ';"";"' -- AQ: empty
|
||
|| rjr.prj_analyse -- AR: analyse
|
||
|| '"'
|
||
export_regel
|
||
FROM uwva_raw_journaalregels rjr,
|
||
fac_usrdata ud1,
|
||
fac_usrdata ud2,
|
||
fac_usrdata ud3
|
||
WHERE ud1.fac_usrdata_key = 426 -- Ledger-setting
|
||
AND ud2.fac_usrdata_key = 427 -- Valuta-setting
|
||
AND ud3.fac_usrdata_key = 429 -- Omschrijving-setting
|
||
/
|
||
|
||
/* Formatted on 11-10-2010 17:20:34 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_export_broc (RESULT, result_order)
|
||
AS
|
||
-- SELECT e.export_regel, e.regelnummer
|
||
-- FROM uwva_exp_broc e
|
||
SELECT jr.export_regel, jr.export_index
|
||
FROM uwva_v_broc_journaalregels jr
|
||
WHERE jr.export_appl = 'BROC' AND jr.export_datum > SYSDATE - 0.5
|
||
/
|
||
|
||
/* Formatted on 20-4-2012 14:30:12 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_broc_actual
|
||
(
|
||
factuur_key,
|
||
bes_opdr_key,
|
||
mld_opdr_key,
|
||
cnt_key,
|
||
res_art_key,
|
||
res_deel_key,
|
||
rekening,
|
||
refcode,
|
||
doorbelasten,
|
||
lev_kpn_key,
|
||
afn_kpn,
|
||
bedrag
|
||
)
|
||
AS -- B-facturen (nieuw sinds UWVA53/Closing the loop)
|
||
WITH afdkpn AS (SELECT * FROM uwva_v_afd_plus_prj_kpn)
|
||
SELECT f.fin_factuur_key factuur_key,
|
||
f.bes_bestelopdr_key bes_opdr_key,
|
||
NULL mld_opdr_key,
|
||
NULL cnt_key,
|
||
NULL res_art_key,
|
||
NULL res_deel_key,
|
||
x.prs_kostensoort_upper rekening,
|
||
x.prs_kostensoort_refcode refcode,
|
||
COALESCE (x.prs_kostensoort_doorbelasten, 0) doorbelasten,
|
||
x.prs_kostenplaats_key lev_kpn_key,
|
||
x.kostenplaats afn_kpn,
|
||
SUM(DECODE (x.prs_kostensoort_btw,
|
||
1, f.fin_factuur_totaal + f.fin_factuur_totaal_btw,
|
||
f.fin_factuur_totaal))
|
||
bedrag
|
||
FROM fin_factuur f,
|
||
(SELECT DISTINCT boi.bes_bestelopdr_key,
|
||
ks.prs_kostensoort_upper,
|
||
ks.prs_kostensoort_refcode,
|
||
ks.prs_kostensoort_doorbelasten,
|
||
ks.prs_kostensoort_btw,
|
||
ks.prs_kostenplaats_key,
|
||
actief.kostenplaats
|
||
FROM bes_bestelopdr_item boi,
|
||
bes_bestelling_item bbi,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
ins_tab_discipline td,
|
||
prs_kostensoort ks,
|
||
bes_bestelling b,
|
||
afdkpn actief
|
||
WHERE boi.bes_bestelopdr_item_key =
|
||
bbi.bes_bestelopdr_item_key
|
||
AND bbi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||
AND sg.ins_discipline_key = td.ins_discipline_key
|
||
AND td.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND bbi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND b.prs_kostenplaats_key = actief.kostenplaats_key) x
|
||
WHERE f.fin_factuur_statuses_key = 6 -- Akkoord
|
||
AND f.fin_factuur_verwijder IS NULL
|
||
AND f.bes_bestelopdr_key = x.bes_bestelopdr_key
|
||
GROUP BY f.fin_factuur_key,
|
||
f.bes_bestelopdr_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
x.prs_kostensoort_upper,
|
||
x.prs_kostensoort_refcode,
|
||
COALESCE (x.prs_kostensoort_doorbelasten, 0),
|
||
x.prs_kostenplaats_key,
|
||
x.kostenplaats
|
||
UNION ALL -- O-facturen (nieuw sinds UWVA53/Closing the loop)
|
||
SELECT f.fin_factuur_key factuur_key,
|
||
NULL bes_opdr_key,
|
||
f.mld_opdr_key mld_opdr_key,
|
||
NULL cnt_key,
|
||
NULL res_art_key,
|
||
NULL res_deel_key,
|
||
DECODE (ksm.prs_kostensoort_doorbelasten,
|
||
1, ksm.prs_kostensoort_upper,
|
||
ksv.prs_kostensoort_upper)
|
||
rekening,
|
||
DECODE (ksm.prs_kostensoort_doorbelasten,
|
||
1, ksm.prs_kostensoort_refcode,
|
||
ksv.prs_kostensoort_refcode)
|
||
refcode,
|
||
COALESCE (ksm.prs_kostensoort_doorbelasten,
|
||
ksv.prs_kostensoort_doorbelasten,
|
||
0)
|
||
doorbelasten,
|
||
DECODE (ksm.prs_kostensoort_doorbelasten,
|
||
1, ksm.prs_kostenplaats_key,
|
||
ksv.prs_kostenplaats_key)
|
||
lev_kpn_key,
|
||
actief.kostenplaats afn_kpn,
|
||
SUM(DECODE (
|
||
ksm.prs_kostensoort_doorbelasten,
|
||
1,
|
||
DECODE (ksm.prs_kostensoort_btw,
|
||
1,
|
||
f.fin_factuur_totaal + f.fin_factuur_totaal_btw,
|
||
f.fin_factuur_totaal),
|
||
DECODE (ksv.prs_kostensoort_btw,
|
||
1,
|
||
f.fin_factuur_totaal + f.fin_factuur_totaal_btw,
|
||
f.fin_factuur_totaal)
|
||
))
|
||
bedrag
|
||
FROM fin_factuur f,
|
||
mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv,
|
||
afdkpn actief
|
||
WHERE f.fin_factuur_statuses_key = 6 -- Akkoord
|
||
AND f.fin_factuur_verwijder IS NULL
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND o.prs_kostenplaats_key = actief.kostenplaats_key
|
||
GROUP BY f.fin_factuur_key,
|
||
NULL,
|
||
f.mld_opdr_key,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
DECODE (ksm.prs_kostensoort_doorbelasten,
|
||
1, ksm.prs_kostensoort_upper,
|
||
ksv.prs_kostensoort_upper),
|
||
DECODE (ksm.prs_kostensoort_doorbelasten,
|
||
1, ksm.prs_kostensoort_refcode,
|
||
ksv.prs_kostensoort_refcode),
|
||
COALESCE (ksm.prs_kostensoort_doorbelasten,
|
||
ksv.prs_kostensoort_doorbelasten,
|
||
0),
|
||
DECODE (ksm.prs_kostensoort_doorbelasten,
|
||
1, ksm.prs_kostenplaats_key,
|
||
ksv.prs_kostenplaats_key),
|
||
actief.kostenplaats
|
||
UNION ALL -- C-facturen (nieuw sinds UWVA53/Closing the loop)
|
||
SELECT f.fin_factuur_key factuur_key,
|
||
NULL bes_opdr_key,
|
||
NULL mld_opdr_key,
|
||
f.cnt_contract_key cnt_key,
|
||
NULL res_art_key,
|
||
NULL res_deel_key,
|
||
ks.prs_kostensoort_upper rekening,
|
||
ks.prs_kostensoort_refcode refcode,
|
||
COALESCE (ks.prs_kostensoort_doorbelasten, 0) doorbelasten,
|
||
ks.prs_kostenplaats_key lev_kpn_key,
|
||
actief.kostenplaats afn_kpn,
|
||
SUM(DECODE (ks.prs_kostensoort_btw,
|
||
1, f.fin_factuur_totaal + f.fin_factuur_totaal_btw,
|
||
f.fin_factuur_totaal))
|
||
bedrag
|
||
FROM fin_factuur f,
|
||
cnt_contract c,
|
||
ins_tab_discipline td,
|
||
prs_kostensoort ks,
|
||
afdkpn actief
|
||
WHERE f.fin_factuur_statuses_key = 6 -- Akkoord
|
||
AND f.fin_factuur_verwijder IS NULL
|
||
AND f.cnt_contract_key = c.cnt_contract_key
|
||
AND c.ins_discipline_key = td.ins_discipline_key
|
||
AND td.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND c.prs_kostenplaats_key = actief.kostenplaats_key
|
||
GROUP BY f.fin_factuur_key,
|
||
NULL,
|
||
NULL,
|
||
f.cnt_contract_key,
|
||
NULL,
|
||
NULL,
|
||
ks.prs_kostensoort_upper,
|
||
ks.prs_kostensoort_refcode,
|
||
COALESCE (ks.prs_kostensoort_doorbelasten, 0),
|
||
ks.prs_kostenplaats_key,
|
||
actief.kostenplaats
|
||
UNION ALL -- Separate R-artikelen (zoals voor Closing the loop)
|
||
SELECT NULL factuur_key,
|
||
NULL bes_opdr_key,
|
||
NULL mld_opdr_key,
|
||
NULL cnt_key,
|
||
ra.res_rsv_artikel_key res_art_key,
|
||
NULL res_deel_key,
|
||
ks.prs_kostensoort_upper rekening,
|
||
ks.prs_kostensoort_refcode refcode,
|
||
COALESCE (ks.prs_kostensoort_doorbelasten, 0) doorbelasten,
|
||
ks.prs_kostenplaats_key lev_kpn_key,
|
||
actief.kostenplaats afn_kpn,
|
||
ra.res_rsv_artikel_prijs bedrag -- BTW afh. van kostensoort???
|
||
FROM res_v_aanwezigrsv_ruimte rr,
|
||
res_v_aanwezigrsv_artikel ra,
|
||
res_artikel a,
|
||
res_discipline rdi,
|
||
prs_kostensoort ks,
|
||
afdkpn actief
|
||
WHERE rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
|
||
AND ra.res_status_bo_key = 5
|
||
--AND TRUNC (ra.res_rsv_artikel_levering) <= TRUNC(SYSDATE)???
|
||
--AND ra.res_rsv_artikel_prijs <> 0
|
||
--AND ra.res_rsv_artikel_prijs IS NOT NULL
|
||
AND ra.res_artikel_key = a.res_artikel_key
|
||
AND a.res_discipline_key = rdi.ins_discipline_key
|
||
AND rdi.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rr.prs_kostenplaats_key = actief.kostenplaats_key
|
||
UNION ALL -- Separate R-delen (zoals voor Closing the loop)
|
||
SELECT NULL factuur_key,
|
||
NULL bes_opdr_key,
|
||
NULL mld_opdr_key,
|
||
NULL cnt_key,
|
||
NULL res_art_key,
|
||
rd.res_rsv_deel_key res_deel_key,
|
||
ks.prs_kostensoort_upper rekening,
|
||
ks.prs_kostensoort_refcode refcode,
|
||
COALESCE (ks.prs_kostensoort_doorbelasten, 0) doorbelasten,
|
||
ks.prs_kostenplaats_key lev_kpn_key,
|
||
actief.kostenplaats afn_kpn,
|
||
rd.res_rsv_deel_prijs bedrag -- BTW afh. van kostensoort???
|
||
FROM res_v_aanwezigrsv_ruimte rr,
|
||
res_v_aanwezigrsv_deel rd,
|
||
res_deel d,
|
||
res_discipline rdi,
|
||
prs_kostensoort ks,
|
||
afdkpn actief
|
||
WHERE rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
|
||
AND rd.res_status_bo_key = 5
|
||
--AND TRUNC (rd.res_rsv_deel_tot) <= TRUNC(SYSDATE)???
|
||
--AND rd.res_rsv_deel_prijs <> 0
|
||
--AND rd.res_rsv_deel_prijs IS NOT NULL
|
||
AND rd.res_deel_key = d.res_deel_key
|
||
AND d.res_discipline_key = rdi.ins_discipline_key
|
||
AND rdi.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rr.prs_kostenplaats_key = actief.kostenplaats_key;
|
||
|
||
-- Zonder de R van BROC, want daarin geven de 'uwva_v_rap_cat...'-raps inzicht!
|
||
/* Formatted on 22-6-2011 12:56:32 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_broc_frozen
|
||
(
|
||
fclt_f_exportdatum,
|
||
fclt_f_leverancier,
|
||
fclt_f_factuurnr,
|
||
fclt_f_status,
|
||
fclt_f_kostensoort,
|
||
fclt_f_kostenplaats,
|
||
broc_type,
|
||
facilitornr,
|
||
bedrag_incl,
|
||
bedrag_excl
|
||
)
|
||
AS -- B-facturen (nieuw sinds UWVA53/Closing the loop)
|
||
SELECT TO_CHAR (t.fac_tracking_datum, 'yyyy-mm-dd') exportdatum,
|
||
b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
fs.fin_factuur_statuses_omschr,
|
||
x.prs_kostensoort_upper, -- Incl. prs_kostensoort_refcode?
|
||
x.prs_kostenplaats_nr afn_kpn,
|
||
'Bestelling' broc_type,
|
||
TO_CHAR (x.bes_bestelling_key), -- Of liever bes_bestelopdr_id?
|
||
SUM (f.fin_factuur_totaal + f.fin_factuur_totaal_btw) bedrag_incl,
|
||
SUM (f.fin_factuur_totaal) bedrag_excl
|
||
FROM fin_factuur f,
|
||
fin_factuur_statuses fs,
|
||
fac_tracking t,
|
||
(SELECT DISTINCT boi.bes_bestelopdr_key,
|
||
ks.prs_kostensoort_upper,
|
||
ks.prs_kostensoort_refcode,
|
||
ks.prs_kostensoort_doorbelasten,
|
||
ks.prs_kostensoort_btw,
|
||
ks.prs_kostenplaats_key,
|
||
b.bes_bestelling_key,
|
||
kp.prs_kostenplaats_nr
|
||
FROM bes_bestelopdr_item boi,
|
||
bes_bestelling_item bbi,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
ins_tab_discipline td,
|
||
prs_kostensoort ks,
|
||
bes_bestelling b,
|
||
prs_kostenplaats kp
|
||
WHERE boi.bes_bestelopdr_item_key =
|
||
bbi.bes_bestelopdr_item_key
|
||
AND bbi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||
AND sg.ins_discipline_key = td.ins_discipline_key
|
||
AND td.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND bbi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND b.prs_kostenplaats_key = kp.prs_kostenplaats_key) x,
|
||
bes_bestelopdr bo,
|
||
prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 7 -- Verwerkt
|
||
AND f.fin_factuur_statuses_key = fs.fin_factuur_statuses_key
|
||
AND f.fin_factuur_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 145 -- FINVER
|
||
AND t.fac_tracking_datum >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12), 'YYYY')
|
||
AND f.bes_bestelopdr_key = x.bes_bestelopdr_key
|
||
AND x.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY TO_CHAR (t.fac_tracking_datum, 'yyyy-mm-dd'),
|
||
b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
fs.fin_factuur_statuses_omschr,
|
||
x.prs_kostensoort_upper,
|
||
x.prs_kostenplaats_nr,
|
||
'Bestelling',
|
||
x.bes_bestelling_key
|
||
UNION ALL -- O-facturen (nieuw sinds UWVA53/Closing the loop)
|
||
SELECT TO_CHAR (t.fac_tracking_datum, 'yyyy-mm-dd') exportdatum,
|
||
b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
fs.fin_factuur_statuses_omschr,
|
||
COALESCE (ksm.prs_kostensoort_upper, ksv.prs_kostensoort_upper), -- Incl. prs_kostensoort_refcode?
|
||
kp.prs_kostenplaats_nr afn_kpn,
|
||
'Opdracht' broc_type,
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr,
|
||
SUM (f.fin_factuur_totaal + f.fin_factuur_totaal_btw) bedrag_incl,
|
||
SUM (f.fin_factuur_totaal) bedrag_excl
|
||
FROM fin_factuur f,
|
||
fin_factuur_statuses fs,
|
||
fac_tracking t,
|
||
mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv,
|
||
prs_kostenplaats kp,
|
||
prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 7 -- Verwerkt
|
||
AND f.fin_factuur_statuses_key = fs.fin_factuur_statuses_key
|
||
AND f.fin_factuur_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 145 -- FINVER
|
||
AND t.fac_tracking_datum >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12), 'YYYY')
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
GROUP BY TO_CHAR (t.fac_tracking_datum, 'yyyy-mm-dd'),
|
||
b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
fs.fin_factuur_statuses_omschr,
|
||
COALESCE (ksm.prs_kostensoort_upper, ksv.prs_kostensoort_upper),
|
||
kp.prs_kostenplaats_nr,
|
||
'Opdracht',
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
||
UNION ALL -- C-facturen (nieuw sinds UWVA53/Closing the loop)
|
||
SELECT TO_CHAR (t.fac_tracking_datum, 'yyyy-mm-dd') exportdatum,
|
||
b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
fs.fin_factuur_statuses_omschr,
|
||
ks.prs_kostensoort_upper, -- Incl. prs_kostensoort_refcode?
|
||
kp.prs_kostenplaats_nr afn_kpn,
|
||
'Contract' broc_type,
|
||
c.cnt_contract_nummer_intern,
|
||
SUM (f.fin_factuur_totaal + f.fin_factuur_totaal_btw) bedrag_incl,
|
||
SUM (f.fin_factuur_totaal) bedrag_excl
|
||
FROM fin_factuur f,
|
||
fin_factuur_statuses fs,
|
||
fac_tracking t,
|
||
cnt_contract c,
|
||
ins_tab_discipline td,
|
||
prs_kostensoort ks,
|
||
prs_kostenplaats kp,
|
||
prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 7 -- Verwerkt
|
||
AND f.fin_factuur_statuses_key = fs.fin_factuur_statuses_key
|
||
AND f.fin_factuur_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 145 -- FINVER
|
||
AND t.fac_tracking_datum >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -12), 'YYYY')
|
||
AND f.cnt_contract_key = c.cnt_contract_key
|
||
AND c.ins_discipline_key = td.ins_discipline_key
|
||
AND td.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY TO_CHAR (t.fac_tracking_datum, 'yyyy-mm-dd'),
|
||
b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
fs.fin_factuur_statuses_omschr,
|
||
ks.prs_kostensoort_upper,
|
||
kp.prs_kostenplaats_nr,
|
||
'Contract',
|
||
c.cnt_contract_nummer_intern;
|
||
|
||
/* Formatted on 7-5-2012 18:02:02 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE uwva_select_broc (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- Cursor loopt over een tijdelijke tabel met daarin opgebouwd alle regels
|
||
-- van de doorbelasting gebaseerd op BOC-facturen en R-reserveringen.
|
||
CURSOR c1
|
||
IS
|
||
WITH uba AS (SELECT * FROM uwva_v_broc_actual),
|
||
afdkpn AS (SELECT * FROM uwva_v_afd_plus_prj_kpn)
|
||
SELECT groepering,
|
||
kpn,
|
||
rekening,
|
||
refcode,
|
||
prj_code,
|
||
prj_activiteit,
|
||
analyse,
|
||
TO_CHAR (bedrag, '999999999D99') bedrag
|
||
FROM ( -- Doorbelasting B-facturen per kpn
|
||
SELECT '#1' groepering,
|
||
COALESCE (aprj.afd_kostenplaats, v.afn_kpn) kpn,
|
||
v.rekening rekening,
|
||
v.refcode refcode,
|
||
aprj.prj_kostenplaats prj_code,
|
||
DECODE (aprj.prj_kostenplaats,
|
||
NULL, NULL,
|
||
'DIENST')
|
||
prj_activiteit,
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'GLE')
|
||
analyse,
|
||
SUM (v.bedrag) bedrag
|
||
FROM uba v, afdkpn aprj
|
||
WHERE v.factuur_key IS NOT NULL
|
||
AND v.bes_opdr_key IS NOT NULL
|
||
AND v.doorbelasten = 1
|
||
AND v.afn_kpn = aprj.kostenplaats -- alleen actieve kpn!
|
||
GROUP BY '#1',
|
||
COALESCE (aprj.afd_kostenplaats, v.afn_kpn),
|
||
v.rekening,
|
||
v.refcode,
|
||
aprj.prj_kostenplaats,
|
||
DECODE (aprj.prj_kostenplaats,
|
||
NULL, NULL,
|
||
'DIENST'),
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'GLE')
|
||
UNION ALL -- Doorbelasting O-facturen per kpn
|
||
SELECT '#2' groepering,
|
||
COALESCE (aprj.afd_kostenplaats, v.afn_kpn) kpn,
|
||
v.rekening rekening,
|
||
v.refcode refcode,
|
||
aprj.prj_kostenplaats prj_code,
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'DIENST')
|
||
prj_activiteit,
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'GLE')
|
||
analyse,
|
||
SUM (v.bedrag) bedrag
|
||
FROM uba v, afdkpn aprj
|
||
WHERE v.factuur_key IS NOT NULL
|
||
AND v.mld_opdr_key IS NOT NULL
|
||
AND v.doorbelasten = 1
|
||
AND v.afn_kpn = aprj.kostenplaats -- alleen actieve kpn!
|
||
GROUP BY '#2',
|
||
COALESCE (aprj.afd_kostenplaats, v.afn_kpn),
|
||
v.rekening,
|
||
v.refcode,
|
||
aprj.prj_kostenplaats,
|
||
DECODE (aprj.prj_kostenplaats,
|
||
NULL, NULL,
|
||
'DIENST'),
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'GLE')
|
||
UNION ALL -- Doorbelasting C-facturen per kpn
|
||
SELECT '#3' groepering,
|
||
COALESCE (aprj.afd_kostenplaats, v.afn_kpn) kpn,
|
||
v.rekening rekening,
|
||
v.refcode refcode,
|
||
aprj.prj_kostenplaats prj_code,
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'DIENST')
|
||
prj_activiteit,
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'GLE')
|
||
analyse,
|
||
SUM (v.bedrag) bedrag
|
||
FROM uba v, afdkpn aprj
|
||
WHERE v.factuur_key IS NOT NULL
|
||
AND v.cnt_key IS NOT NULL
|
||
AND v.doorbelasten = 1
|
||
AND v.afn_kpn = aprj.kostenplaats -- alleen actieve kpn!
|
||
GROUP BY '#3',
|
||
COALESCE (aprj.afd_kostenplaats, v.afn_kpn),
|
||
v.rekening,
|
||
v.refcode,
|
||
aprj.prj_kostenplaats,
|
||
DECODE (aprj.prj_kostenplaats,
|
||
NULL, NULL,
|
||
'DIENST'),
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'GLE')
|
||
UNION ALL -- Doorbelasting R-artikelen per kpn
|
||
SELECT '#4' groepering,
|
||
COALESCE (aprj.afd_kostenplaats, v.afn_kpn) kpn,
|
||
v.rekening rekening,
|
||
v.refcode refcode,
|
||
aprj.prj_kostenplaats prj_code,
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'DIENST')
|
||
prj_activiteit,
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'GLE')
|
||
analyse,
|
||
SUM (v.bedrag) bedrag
|
||
FROM uba v, afdkpn aprj
|
||
WHERE v.factuur_key IS NULL
|
||
AND v.res_art_key IS NOT NULL
|
||
AND v.doorbelasten = 1
|
||
AND v.afn_kpn = aprj.kostenplaats -- alleen actieve kpn!
|
||
GROUP BY '#4',
|
||
COALESCE (aprj.afd_kostenplaats, v.afn_kpn),
|
||
v.rekening,
|
||
v.refcode,
|
||
aprj.prj_kostenplaats,
|
||
DECODE (aprj.prj_kostenplaats,
|
||
NULL, NULL,
|
||
'DIENST'),
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'GLE')
|
||
UNION ALL -- Doorbelasting R-delen per kpn
|
||
SELECT '#5' groepering,
|
||
COALESCE (aprj.afd_kostenplaats, v.afn_kpn) kpn,
|
||
v.rekening rekening,
|
||
v.refcode refcode,
|
||
aprj.prj_kostenplaats prj_code,
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'DIENST')
|
||
prj_activiteit,
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'GLE')
|
||
analyse,
|
||
SUM (v.bedrag) bedrag
|
||
FROM uba v, afdkpn aprj
|
||
WHERE v.factuur_key IS NULL
|
||
AND v.res_deel_key IS NOT NULL
|
||
AND v.doorbelasten = 1
|
||
AND v.afn_kpn = aprj.kostenplaats -- alleen actieve kpn!
|
||
GROUP BY '#5',
|
||
COALESCE (aprj.afd_kostenplaats, v.afn_kpn),
|
||
v.rekening,
|
||
v.refcode,
|
||
aprj.prj_kostenplaats,
|
||
DECODE (aprj.prj_kostenplaats,
|
||
NULL, NULL,
|
||
'DIENST'),
|
||
DECODE (aprj.prj_kostenplaats, NULL, NULL, 'GLE')
|
||
UNION ALL -- Tegenwaarde BROC-kosten
|
||
SELECT '#9' groepering,
|
||
kp.prs_kostenplaats_upper kpn,
|
||
v.rekening rekening,
|
||
v.refcode refcode,
|
||
NULL prj_code,
|
||
NULL prj_activiteit,
|
||
'GLE' analyse,
|
||
SUM (v.bedrag) * -1 bedrag
|
||
FROM uba v, afdkpn aprj, prs_kostenplaats kp
|
||
WHERE v.doorbelasten = 1
|
||
AND v.afn_kpn = aprj.kostenplaats -- alleen actieve kpn!
|
||
AND v.lev_kpn_key = kp.prs_kostenplaats_key(+)
|
||
GROUP BY '#9',
|
||
kp.prs_kostenplaats_upper,
|
||
v.rekening,
|
||
v.refcode,
|
||
NULL,
|
||
NULL,
|
||
'GLE') x
|
||
WHERE x.rekening IS NOT NULL AND x.refcode IS NOT NULL
|
||
ORDER BY groepering, kpn, bedrag;
|
||
|
||
-- Cursor loopt over een tijdelijke tabel met daarin alle BOC-facturen
|
||
-- die op AV moeten worden gezet.
|
||
CURSOR c2a
|
||
IS
|
||
SELECT v.factuur_key
|
||
FROM uwva_v_broc_actual v
|
||
WHERE v.factuur_key IS NOT NULL -- Akkoord
|
||
ORDER BY v.factuur_key;
|
||
|
||
-- Cursor loopt over een tijdelijke tabel met daarin alle R-artikelen
|
||
-- die op AV moeten worden gezet.
|
||
CURSOR c2b
|
||
IS
|
||
SELECT ra.res_rsv_ruimte_key, v.res_art_key
|
||
FROM uwva_v_broc_actual v, res_rsv_artikel ra
|
||
WHERE v.factuur_key IS NULL
|
||
AND v.res_art_key IS NOT NULL
|
||
AND v.res_art_key = ra.res_rsv_artikel_key
|
||
ORDER BY ra.res_rsv_ruimte_key, v.res_art_key;
|
||
|
||
-- Cursor loopt over een tijdelijke tabel met daarin alle R-delen
|
||
-- die op AV moeten worden gezet.
|
||
CURSOR c2c
|
||
IS
|
||
SELECT rd.res_rsv_ruimte_key, v.res_deel_key
|
||
FROM uwva_v_broc_actual v, res_rsv_deel rd
|
||
WHERE v.factuur_key IS NULL
|
||
AND v.res_deel_key IS NOT NULL
|
||
AND v.res_deel_key = rd.res_rsv_deel_key
|
||
ORDER BY rd.res_rsv_ruimte_key, v.res_deel_key;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
export_date DATE;
|
||
v_holiday NUMBER;
|
||
regelnr NUMBER;
|
||
BEGIN
|
||
-- IF 3e werkdag van de maand THEN
|
||
-- 1. Clear log
|
||
-- 2. Clear export-tabel
|
||
-- 3. E-export; insert E-regels in export-tabel (uit broc-actual)
|
||
-- 4. F-freeze; zet BOC-facturen op AV
|
||
-- 5. F-freeze; zet R-artikelen op AV
|
||
-- 6. F-freeze; zet R-delen op AV
|
||
-- END IF;
|
||
-- NB. Status/levering van onderliggende BROCs speelt bij journalisering
|
||
-- g<><67>n rol (binnen UWV); bij matching en in rapportage-sfeer wel!
|
||
|
||
export_date := SYSDATE;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_holiday
|
||
FROM MLD_VRIJE_DAGEN
|
||
WHERE TRUNC (MLD_VRIJE_DAGEN_DATUM) = TRUNC (export_date);
|
||
|
||
-- IF 3e werkdag van de maand (<28>n geen weekend <20>n ook geen vrije dag)!
|
||
-- count_work_days(d1,d2) bepaalt #werkdagen van d1 tot d2 (als d1=d2,
|
||
-- dan return 0); daarom bepalen tov. laatste dag van vorige maand!
|
||
IF FAC.count_work_days (
|
||
TO_DATE (TO_CHAR (export_date, 'yyyymm') || '01', 'yyyymmdd')
|
||
- 1,
|
||
export_date
|
||
) = 3
|
||
AND TO_CHAR (export_date, 'd') BETWEEN '2' AND '6'
|
||
AND v_holiday = 0
|
||
THEN
|
||
-- 2. Clear export-tabel
|
||
DELETE FROM uwva_raw_journaalregels
|
||
WHERE export_appl = p_applname;
|
||
|
||
COMMIT;
|
||
|
||
regelnr := 0;
|
||
|
||
-- 3. E-export; insert E-regels in export-tabel (uit broc-actual)
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
INSERT INTO uwva_raw_journaalregels (export_appl,
|
||
export_datum,
|
||
export_index,
|
||
kostensoort_oms,
|
||
bedrag,
|
||
kostensoort_refcode,
|
||
afd_kpn,
|
||
prj_kpn,
|
||
prj_activiteit,
|
||
prj_analyse,
|
||
functie)
|
||
VALUES (p_applname,
|
||
export_date,
|
||
regelnr,
|
||
rec1.rekening,
|
||
rec1.bedrag,
|
||
rec1.refcode,
|
||
rec1.kpn,
|
||
rec1.prj_code,
|
||
rec1.prj_activiteit,
|
||
rec1.analyse,
|
||
'E');
|
||
|
||
regelnr := regelnr + 1;
|
||
|
||
COMMIT;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname,
|
||
'S',
|
||
'Aantal BROC-regels/DEFINITIEF: ' || TO_CHAR (regelnr),
|
||
'');
|
||
|
||
COMMIT;
|
||
|
||
-- 4. F-freeze; zet BOC-facturen op AV
|
||
FOR rec1 IN c2a
|
||
LOOP
|
||
UPDATE fin_factuur f
|
||
SET fin_factuur_statuses_key = 7 -- AV
|
||
WHERE f.fin_factuur_key = rec1.factuur_key;
|
||
|
||
fac.trackaction ('FINVER',
|
||
rec1.factuur_key,
|
||
33759, -- Facilitor???
|
||
NULL,
|
||
NULL);
|
||
|
||
COMMIT;
|
||
END LOOP;
|
||
|
||
-- 5. F-freeze; zet R-artikelen op AV
|
||
FOR rec1 IN c2b
|
||
LOOP
|
||
UPDATE res_rsv_artikel ra
|
||
SET ra.res_status_bo_key = 6 -- AV
|
||
WHERE ra.res_rsv_artikel_key = rec1.res_art_key;
|
||
|
||
fac.trackaction ('RESVER',
|
||
rec1.res_rsv_ruimte_key,
|
||
33759, -- Facilitor???
|
||
NULL,
|
||
NULL);
|
||
|
||
COMMIT;
|
||
END LOOP;
|
||
|
||
-- 6. F-freeze; zet R-delen op AV
|
||
FOR rec1 IN c2c
|
||
LOOP
|
||
UPDATE res_rsv_deel rd
|
||
SET rd.res_status_bo_key = 6 -- AV
|
||
WHERE rd.res_rsv_deel_key = rec1.res_deel_key;
|
||
|
||
fac.trackaction ('RESVER',
|
||
rec1.res_rsv_ruimte_key,
|
||
33759, -- Facilitor???
|
||
NULL,
|
||
NULL);
|
||
|
||
COMMIT;
|
||
END LOOP;
|
||
|
||
-- Let op: 3e param is 'E' omdat deze regel bedoeld is als feedback voor
|
||
-- Infobeheer!
|
||
v_errormsg :=
|
||
'BROC export AV verklaren is be<62>indigd zonder foutmeldingen';
|
||
fac.writelog (p_applname,
|
||
'E',
|
||
v_errormsg,
|
||
'');
|
||
|
||
COMMIT;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname,
|
||
'E',
|
||
'Proces BROC_EXPORT afgebroken!',
|
||
v_errormsg);
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
|
||
/* Formatted on 25-5-2012 10:00:15 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_rap_fin_afloop_factuur
|
||
(
|
||
fclt_f_uitvoerende,
|
||
fclt_f_boc_type,
|
||
fclt_f_factuurnr,
|
||
fclt_f_exportdatum,
|
||
openstaand,
|
||
doorbelast,
|
||
totaal
|
||
)
|
||
AS
|
||
WITH finver
|
||
AS ( SELECT fac_tracking_refkey,
|
||
MAX (fac_tracking_datum) fac_tracking_datum
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 145 -- FINVER
|
||
AND fac_tracking_datum >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -24), 'YYYY')
|
||
GROUP BY fac_tracking_refkey)
|
||
SELECT x.prs_bedrijf_naam uitvoerende,
|
||
x.broc_type boc_type,
|
||
x.fin_factuur_nr factuurnr,
|
||
MAX (TO_CHAR (x.last_av, 'dd-mm-yyyy')) laatste_db,
|
||
SUM (x.ingevoerd) + SUM (x.goedgekeurd) openstaand,
|
||
SUM (x.doorbelast) doorbelast,
|
||
SUM (x.ingevoerd) + SUM (x.goedgekeurd) + SUM (x.doorbelast)
|
||
totaal
|
||
FROM ( SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Bestelling' broc_type,
|
||
MAX (t.fac_tracking_datum) last_av,
|
||
SUM (f.fin_factuur_totaal) doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f,
|
||
finver t,
|
||
bes_bestelopdr bo,
|
||
prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 7
|
||
AND f.fin_factuur_key = t.fac_tracking_refkey
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Bestelling'
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Bestelling' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
SUM (f.fin_factuur_totaal) goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, bes_bestelopdr bo, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 6
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Bestelling'
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Bestelling' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
SUM (f.fin_factuur_totaal) ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, bes_bestelopdr bo, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 2
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Bestelling'
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Bestelling' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
SUM (f.fin_factuur_totaal) afgekeurd
|
||
FROM fin_factuur f, bes_bestelopdr bo, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 1
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Bestelling'
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Opdracht' broc_type,
|
||
MAX (t.fac_tracking_datum) last_av,
|
||
SUM (f.fin_factuur_totaal) doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f,
|
||
finver t,
|
||
mld_opdr o,
|
||
prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 7
|
||
AND f.fin_factuur_key = t.fac_tracking_refkey
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Opdracht'
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Opdracht' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
SUM (f.fin_factuur_totaal) goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, mld_opdr o, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 6
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Opdracht'
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Opdracht' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
SUM (f.fin_factuur_totaal) ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, mld_opdr o, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 2
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Opdracht'
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Opdracht' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
SUM (f.fin_factuur_totaal) afgekeurd
|
||
FROM fin_factuur f, mld_opdr o, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 1
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Opdracht'
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Contract' broc_type,
|
||
MAX (t.fac_tracking_datum) last_av,
|
||
SUM (f.fin_factuur_totaal) doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f,
|
||
finver t,
|
||
cnt_contract c,
|
||
prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 7
|
||
AND f.fin_factuur_key = t.fac_tracking_refkey
|
||
AND f.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Contract'
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Contract' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
SUM (f.fin_factuur_totaal) goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, cnt_contract c, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 6
|
||
AND f.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Contract'
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Contract' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
SUM (f.fin_factuur_totaal) ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, cnt_contract c, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 2
|
||
AND f.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Contract'
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
f.fin_factuur_nr,
|
||
'Contract' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
SUM (f.fin_factuur_totaal) afgekeurd
|
||
FROM fin_factuur f, cnt_contract c, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 1
|
||
AND f.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, f.fin_factuur_nr, 'Contract') x
|
||
GROUP BY x.prs_bedrijf_naam, x.fin_factuur_nr, x.broc_type;
|
||
|
||
CREATE OR REPLACE VIEW uwva_v_rap_fin_afloop_bedrijf
|
||
(
|
||
fclt_f_uitvoerende,
|
||
fclt_f_boc_type,
|
||
fclt_f_exportdatum,
|
||
openstaand,
|
||
doorbelast,
|
||
totaal
|
||
)
|
||
AS
|
||
WITH finver
|
||
AS ( SELECT fac_tracking_refkey,
|
||
MAX (fac_tracking_datum) fac_tracking_datum
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 145 -- FINVER
|
||
AND fac_tracking_datum >
|
||
TRUNC (ADD_MONTHS (SYSDATE, -24), 'YYYY')
|
||
GROUP BY fac_tracking_refkey)
|
||
SELECT x.prs_bedrijf_naam uitvoerende,
|
||
x.broc_type boc_type,
|
||
TO_CHAR (x.last_av, 'dd-mm-yyyy') exportdatum,
|
||
SUM (x.ingevoerd) + SUM (x.goedgekeurd) openstaand,
|
||
SUM (x.doorbelast) doorbelast,
|
||
SUM (x.ingevoerd) + SUM (x.goedgekeurd) + SUM (x.doorbelast)
|
||
totaal
|
||
FROM ( SELECT b.prs_bedrijf_naam,
|
||
'Bestelling' broc_type,
|
||
t.fac_tracking_datum last_av,
|
||
SUM (f.fin_factuur_totaal) doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f,
|
||
finver t,
|
||
bes_bestelopdr bo,
|
||
prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 7
|
||
AND f.fin_factuur_key = t.fac_tracking_refkey
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam,
|
||
'Bestelling',
|
||
t.fac_tracking_datum
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
'Bestelling' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
SUM (f.fin_factuur_totaal) goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, bes_bestelopdr bo, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 6
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, 'Bestelling', NULL
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
'Bestelling' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
SUM (f.fin_factuur_totaal) ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, bes_bestelopdr bo, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 2
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, 'Bestelling', NULL
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
'Bestelling' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
SUM (f.fin_factuur_totaal) afgekeurd
|
||
FROM fin_factuur f, bes_bestelopdr bo, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 1
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, 'Bestelling', NULL
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
'Opdracht' broc_type,
|
||
t.fac_tracking_datum last_av,
|
||
SUM (f.fin_factuur_totaal) doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f,
|
||
finver t,
|
||
mld_opdr o,
|
||
prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 7
|
||
AND f.fin_factuur_key = t.fac_tracking_refkey
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, 'Opdracht', t.fac_tracking_datum
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
'Opdracht' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
SUM (f.fin_factuur_totaal) goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, mld_opdr o, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 6
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, 'Opdracht', NULL
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
'Opdracht' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
SUM (f.fin_factuur_totaal) ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, mld_opdr o, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 2
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, 'Opdracht', NULL
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
'Opdracht' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
SUM (f.fin_factuur_totaal) afgekeurd
|
||
FROM fin_factuur f, mld_opdr o, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 1
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, 'Opdracht', NULL
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
'Contract' broc_type,
|
||
t.fac_tracking_datum last_av,
|
||
SUM (f.fin_factuur_totaal) doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f,
|
||
finver t,
|
||
cnt_contract c,
|
||
prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 7
|
||
AND f.fin_factuur_key = t.fac_tracking_refkey
|
||
AND f.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, 'Contract', t.fac_tracking_datum
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
'Contract' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
SUM (f.fin_factuur_totaal) goedgekeurd,
|
||
0 ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, cnt_contract c, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 6
|
||
AND f.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, 'Contract', NULL
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
'Contract' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
SUM (f.fin_factuur_totaal) ingevoerd,
|
||
0 afgekeurd
|
||
FROM fin_factuur f, cnt_contract c, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 2
|
||
AND f.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, 'Contract', NULL
|
||
UNION ALL
|
||
SELECT b.prs_bedrijf_naam,
|
||
'Contract' broc_type,
|
||
NULL last_av,
|
||
0 doorbelast,
|
||
0 goedgekeurd,
|
||
0 ingevoerd,
|
||
SUM (f.fin_factuur_totaal) afgekeurd
|
||
FROM fin_factuur f, cnt_contract c, prs_bedrijf b
|
||
WHERE f.fin_factuur_statuses_key = 1
|
||
AND f.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
GROUP BY b.prs_bedrijf_naam, 'Contract', NULL) x
|
||
GROUP BY x.prs_bedrijf_naam,
|
||
x.broc_type,
|
||
TO_CHAR (x.last_av, 'dd-mm-yyyy');
|
||
|
||
|
||
-- UWVA#16763
|
||
-- Procedure voor de import van facturen (van leverancier)
|
||
/* Formatted on 10-6-2013 13:24:42 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE uwva_import_factuur (p_import_key IN NUMBER)
|
||
AS
|
||
c_delim VARCHAR2 (1) := ';';
|
||
v_newline fac_imp_file.fac_imp_file_line%TYPE;
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER;
|
||
-- De importvelden
|
||
v_bestelnummer VARCHAR2 (100);
|
||
v_regelnummer VARCHAR2 (100);
|
||
v_besteldatum VARCHAR2 (100);
|
||
v_omschrijving VARCHAR2 (1000);
|
||
v_nrbesteld VARCHAR2 (100);
|
||
v_stukexcl VARCHAR2 (100);
|
||
v_stukincl VARCHAR2 (100);
|
||
v_eenheid VARCHAR2 (100);
|
||
v_afleverdatum VARCHAR2 (100);
|
||
v_nrgeleverd VARCHAR2 (100);
|
||
v_kostenplaats VARCHAR2 (100);
|
||
v_totaalexcl VARCHAR2 (100);
|
||
v_btwcode VARCHAR2 (100);
|
||
v_totaalbtw VARCHAR2 (100);
|
||
v_totaalincl VARCHAR2 (100);
|
||
v_factuurnr VARCHAR2 (100);
|
||
v_check_dec_sign NUMBER (5, 2);
|
||
|
||
CURSOR cfactuur
|
||
IS
|
||
SELECT fac_imp_file_line,
|
||
LENGTH (TRIM (REPLACE (fac_imp_file_line, c_delim, '')))
|
||
regellengte
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
v_rec cfactuur%ROWTYPE;
|
||
BEGIN
|
||
header_is_valid := 0;
|
||
|
||
DELETE FROM uwva_imp_factuur;
|
||
|
||
DELETE imp_log
|
||
WHERE imp_log_applicatie = 'FACTUUR';
|
||
|
||
-- Check the client decimal settings.
|
||
-- Do not convert the ',' to a '.' if the client decimal separator is a ','!
|
||
SELECT fac.safe_to_number ('2,5') INTO v_check_dec_sign FROM DUAL;
|
||
|
||
FOR v_rec IN cfactuur
|
||
LOOP
|
||
v_newline := v_rec.fac_imp_file_line;
|
||
|
||
fac.imp_getfield (v_newline, c_delim, v_bestelnummer);
|
||
fac.imp_getfield (v_newline, c_delim, v_regelnummer);
|
||
fac.imp_getfield (v_newline, c_delim, v_besteldatum);
|
||
fac.imp_getfield (v_newline, c_delim, v_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_nrbesteld);
|
||
fac.imp_getfield (v_newline, c_delim, v_stukexcl);
|
||
fac.imp_getfield (v_newline, c_delim, v_stukincl);
|
||
fac.imp_getfield (v_newline, c_delim, v_eenheid);
|
||
fac.imp_getfield (v_newline, c_delim, v_afleverdatum);
|
||
fac.imp_getfield (v_newline, c_delim, v_nrgeleverd);
|
||
fac.imp_getfield (v_newline, c_delim, v_kostenplaats);
|
||
fac.imp_getfield (v_newline, c_delim, v_totaalexcl);
|
||
fac.imp_getfield (v_newline, c_delim, v_btwcode);
|
||
fac.imp_getfield (v_newline, c_delim, v_totaalbtw);
|
||
fac.imp_getfield (v_newline, c_delim, v_totaalincl);
|
||
fac.imp_getfield (v_newline, c_delim, v_factuurnr);
|
||
|
||
-- We skippen alles todat we een geldige header tegenkomen (zie specs
|
||
-- UWVA#16763).
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
IF UPPER (v_bestelnummer) = 'BESTELNUMMER'
|
||
AND UPPER (v_regelnummer) = 'OPDRACHTREGELNUMMER'
|
||
AND UPPER (v_besteldatum) = 'BESTELDATUM'
|
||
AND UPPER (v_omschrijving) = 'ARTIKEL OMSCHRIJVING'
|
||
AND UPPER (v_btwcode) = 'BTW CODE'
|
||
AND UPPER (v_factuurnr) = 'FACTUURNR'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSIF (v_rec.regellengte > 1) -- Lege regels overslaan!
|
||
THEN
|
||
IF v_check_dec_sign IS NULL
|
||
THEN
|
||
v_nrbesteld := REPLACE (SUBSTR (v_nrbesteld, 1, 11), ',', '.');
|
||
v_stukexcl := REPLACE (SUBSTR (v_stukexcl, 1, 11), ',', '.');
|
||
v_stukincl := REPLACE (SUBSTR (v_stukincl, 1, 11), ',', '.');
|
||
v_nrgeleverd := REPLACE (SUBSTR (v_nrgeleverd, 1, 11), ',', '.');
|
||
v_totaalexcl := REPLACE (SUBSTR (v_totaalexcl, 1, 11), ',', '.');
|
||
v_totaalbtw := REPLACE (SUBSTR (v_totaalbtw, 1, 11), ',', '.');
|
||
v_totaalincl := REPLACE (SUBSTR (v_totaalincl, 1, 11), ',', '.');
|
||
ELSE
|
||
v_nrbesteld := SUBSTR (v_nrbesteld, 1, 11);
|
||
v_stukexcl := SUBSTR (v_stukexcl, 1, 11);
|
||
v_stukincl := SUBSTR (v_stukincl, 1, 11);
|
||
v_nrgeleverd := SUBSTR (v_nrgeleverd, 1, 11);
|
||
v_totaalexcl := SUBSTR (v_totaalexcl, 1, 11);
|
||
v_totaalbtw := SUBSTR (v_totaalbtw, 1, 11);
|
||
v_totaalincl := SUBSTR (v_totaalincl, 1, 11);
|
||
END IF;
|
||
|
||
INSERT INTO uwva_imp_factuur (bestelnummer,
|
||
regelnummer,
|
||
besteldatum,
|
||
omschrijving,
|
||
nrbesteld,
|
||
stukexcl,
|
||
stukincl,
|
||
eenheid,
|
||
afleverdatum,
|
||
nrgeleverd,
|
||
kostenplaats,
|
||
totaalexcl,
|
||
btwcode,
|
||
totaalbtw,
|
||
totaalincl,
|
||
factuurnr)
|
||
VALUES (RTRIM (SUBSTR (v_bestelnummer, 1, 15)),
|
||
RTRIM (SUBSTR (v_regelnummer, 1, 5)),
|
||
RTRIM (SUBSTR (v_besteldatum, 1, 8)),
|
||
RTRIM (SUBSTR (v_omschrijving, 1, 60)),
|
||
RTRIM (SUBSTR (v_nrbesteld, 1, 10)),
|
||
RTRIM (SUBSTR (v_stukexcl, 1, 10)),
|
||
RTRIM (SUBSTR (v_stukincl, 1, 10)),
|
||
RTRIM (SUBSTR (v_eenheid, 1, 30)),
|
||
RTRIM (SUBSTR (v_afleverdatum, 1, 8)),
|
||
RTRIM (SUBSTR (v_nrgeleverd, 1, 10)),
|
||
RTRIM (SUBSTR (v_kostenplaats, 1, 8)),
|
||
RTRIM (SUBSTR (v_totaalexcl, 1, 10)),
|
||
RTRIM (SUBSTR (v_btwcode, 1, 1)),
|
||
RTRIM (SUBSTR (v_totaalbtw, 1, 10)),
|
||
RTRIM (SUBSTR (v_totaalincl, 1, 10)),
|
||
RTRIM (SUBSTR (v_factuurnr, 1, 30)));
|
||
|
||
COMMIT;
|
||
END IF;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error: ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
'Inleesproces facturen afgebroken!');
|
||
END;
|
||
/
|
||
|
||
/* Formatted on 8-8-2013 14:08:40 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE uwva_update_factuur (p_import_key IN NUMBER)
|
||
AS
|
||
-- Een factuur(record) wordt aangemaakt voor iedere factuurnr/bestelnummer-
|
||
-- combinatie en dan wordt voor iedere regel een regel(record) aangemaakt.
|
||
CURSOR cfactuurregel
|
||
IS
|
||
SELECT imp.*, btw.*
|
||
FROM (SELECT factuurnr,
|
||
bestelnummer,
|
||
regelnummer,
|
||
fac.safe_to_date (besteldatum, 'yyyymmdd')
|
||
besteldatum,
|
||
fac.safe_to_number (totaalexcl) totaalexcl,
|
||
--fac.safe_to_number (totaalbtw) totaalbtw,
|
||
fac.safe_to_number (COALESCE (totaalbtw, '0'))
|
||
totaalbtw,
|
||
fac.safe_to_number (nrbesteld) nrbesteld,
|
||
fac.safe_to_number (nrgeleverd) nrgeleverd,
|
||
afleverdatum,
|
||
omschrijving
|
||
|| ' ('
|
||
|| nrbesteld
|
||
|| '/'
|
||
|| nrgeleverd
|
||
|| ')'
|
||
omschrijving,
|
||
eenheid,
|
||
kostenplaats,
|
||
btwcode
|
||
FROM uwva_imp_factuur) imp
|
||
LEFT JOIN
|
||
fin_btwtabelwaarde btw
|
||
ON imp.btwcode = btw.fin_btwtabelwaarde_code
|
||
AND btw.fin_btwtabel_key = 1 -- NL standaard
|
||
ORDER BY imp.factuurnr, imp.bestelnummer, imp.regelnummer;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_mes VARCHAR2 (200);
|
||
c_i NUMBER;
|
||
c_teller NUMBER;
|
||
c_newfactuurkey NUMBER;
|
||
c_factuurregel NUMBER;
|
||
c_fac_type VARCHAR2 (1);
|
||
c_prefix1 VARCHAR2 (1);
|
||
c_bestelnummer_index NUMBER;
|
||
c_bestelnummer_s1 VARCHAR2 (20);
|
||
c_bestelnummer_s2 VARCHAR2 (20);
|
||
c_bestelnummer_t VARCHAR2 (40);
|
||
c_old_bestelnummer uwva_imp_factuur.bestelnummer%TYPE;
|
||
c_old_factuurnr uwva_imp_factuur.factuurnr%TYPE;
|
||
--c_write_bestelnummer VARCHAR2 (20);
|
||
c_bestelopdr_id VARCHAR2 (20);
|
||
c_fact_tot NUMBER;
|
||
c_fact_totbtw NUMBER;
|
||
c_find BOOLEAN;
|
||
--c_find_bestelnummer BOOLEAN;
|
||
c_mld_opdr_key NUMBER (10);
|
||
c_cnt_contract_key NUMBER (10);
|
||
c_bes_bestelopdr_key NUMBER (10);
|
||
c_prs_bedrijf_naam VARCHAR2 (100);
|
||
--c_opmerking VARCHAR2 (200);
|
||
c_fact_datum DATE;
|
||
c_rollback BOOLEAN;
|
||
|
||
FUNCTION getfactype (pbestelnr IN VARCHAR2)
|
||
RETURN VARCHAR2
|
||
IS
|
||
c_prefix1 VARCHAR2 (1);
|
||
lfactype VARCHAR2 (1);
|
||
BEGIN
|
||
IF LENGTH (pbestelnr) = 0
|
||
THEN
|
||
RETURN '';
|
||
END IF;
|
||
|
||
c_prefix1 := SUBSTR (pbestelnr, 1, 1);
|
||
|
||
IF SUBSTR (pbestelnr, 1, 2) = 'O-'
|
||
THEN
|
||
lfactype := 'B'; -- Bestelling
|
||
ELSIF ( ( (ASCII (c_prefix1) >= 65 AND ASCII (c_prefix1) <= 90) OR (ASCII(c_prefix1) >= 97 AND ASCII(c_prefix1) <= 122)) AND ASCII(c_prefix1) != 67 AND ASCII(c_prefix1) != 99)
|
||
THEN
|
||
lfactype := 'O'; -- Opdracht (Melding)
|
||
ELSIF (ASCII (c_prefix1) = 67 OR ASCII (c_prefix1) = 99)
|
||
THEN
|
||
lfactype := 'C'; -- Contract
|
||
ELSE
|
||
uwva_imp_writelog (p_import_key,
|
||
'I',
|
||
'Kan besteltype niet bepalen voor ' || pbestelnr,
|
||
pbestelnr);
|
||
END IF;
|
||
|
||
RETURN lfactype;
|
||
END;
|
||
BEGIN
|
||
c_old_bestelnummer := '';
|
||
c_old_factuurnr := '';
|
||
c_teller := 0;
|
||
c_fact_datum := SYSDATE;
|
||
c_rollback := FALSE;
|
||
|
||
-- Facturen
|
||
FOR rc IN cfactuurregel
|
||
LOOP
|
||
IF rc.bestelnummer = c_old_bestelnummer
|
||
AND rc.factuurnr = c_old_factuurnr
|
||
THEN
|
||
-- Toevoegen nieuwe factuurregel; c_newfactuurkey nog steeds actueel!
|
||
c_factuurregel := c_factuurregel + 1;
|
||
|
||
BEGIN
|
||
INSERT INTO fin_factuurregel (
|
||
fin_factuur_key,
|
||
fin_factuurregel_nr,
|
||
fin_factuurregel_totaal,
|
||
fin_factuurregel_btw,
|
||
fin_factuurregel_omschrijving,
|
||
fin_factuurregel_referentie,
|
||
fin_btwtabelwaarde_key
|
||
)
|
||
VALUES (
|
||
c_newfactuurkey,
|
||
rc.regelnummer,
|
||
rc.totaalexcl,
|
||
rc.totaalbtw,
|
||
SUBSTR (rc.omschrijving, 1, 60),
|
||
rc.kostenplaats,
|
||
DECODE (rc.totaalbtw,
|
||
0, 1, -- NL standaard 0/Nul
|
||
rc.fin_btwtabelwaarde_key)
|
||
);
|
||
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Factuurregel '
|
||
|| c_factuurregel
|
||
|| ' toegevoegd aan factuur '
|
||
|| c_newfactuurkey,
|
||
rc.bestelnummer || ' / ' || rc.factuurnr
|
||
);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error ' || oracle_err_mes;
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
'Kan factuur(regel) niet toevoegen! ' || v_errormsg,
|
||
rc.bestelnummer || ' / ' || rc.factuurnr
|
||
);
|
||
c_rollback := TRUE;
|
||
END;
|
||
|
||
c_teller := c_teller + 1;
|
||
ELSE
|
||
-- Toevoegen nieuwe factuur + factuurregel!
|
||
c_old_bestelnummer := rc.bestelnummer;
|
||
c_old_factuurnr := rc.factuurnr;
|
||
c_factuurregel := 1;
|
||
c_bestelnummer_index := INSTR (rc.bestelnummer, '/');
|
||
c_mld_opdr_key := NULL;
|
||
c_cnt_contract_key := NULL;
|
||
c_bes_bestelopdr_key := NULL;
|
||
|
||
IF c_bestelnummer_index = 0
|
||
THEN
|
||
c_bestelnummer_s1 := rc.bestelnummer;
|
||
c_bestelnummer_s2 := '';
|
||
ELSE
|
||
c_bestelnummer_s1 :=
|
||
SUBSTR (rc.bestelnummer, 1, c_bestelnummer_index - 1);
|
||
c_bestelnummer_s2 :=
|
||
SUBSTR (rc.bestelnummer, c_bestelnummer_index + 1);
|
||
END IF;
|
||
|
||
c_find := FALSE;
|
||
--c_find_bestelnummer := FALSE;
|
||
c_fac_type := '';
|
||
|
||
c_fac_type := getfactype (rc.bestelnummer);
|
||
|
||
IF c_fac_type = 'O'
|
||
THEN
|
||
IF c_bestelnummer_index != 0
|
||
AND ASCII (c_prefix1) >= 48
|
||
AND ASCII (c_prefix1) <= 57
|
||
-- Geen prefix maar het is wel een opdracht (afgedwongen door /).
|
||
THEN
|
||
-- c_bestelnummer_s1 bevat geen prefix
|
||
-- c_bestelnummer_s2 bevat het gedeelte na de /
|
||
c_find := TRUE;
|
||
ELSE
|
||
c_i := 1;
|
||
|
||
LOOP
|
||
IF (ASCII (SUBSTR (c_bestelnummer_s1, c_i, 1)) >= 48
|
||
AND ASCII (SUBSTR (c_bestelnummer_s1, c_i, 1)) <= 57)
|
||
THEN
|
||
c_find := TRUE;
|
||
ELSE
|
||
c_i := c_i + 1;
|
||
END IF;
|
||
|
||
EXIT WHEN (c_find OR c_i > LENGTH (c_bestelnummer_s1));
|
||
END LOOP;
|
||
|
||
IF c_find
|
||
THEN
|
||
c_bestelnummer_s1 := SUBSTR (c_bestelnummer_s1, c_i);
|
||
ELSE
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
'Kan bestelnummer niet bepalen!',
|
||
rc.bestelnummer || ' / ' || rc.factuurnr
|
||
);
|
||
c_rollback := TRUE;
|
||
END IF;
|
||
END IF;
|
||
ELSIF c_fac_type = 'C'
|
||
THEN
|
||
-- Haal prefix 'C' of 'c' eraf.
|
||
c_bestelnummer_s1 := SUBSTR (c_bestelnummer_s1, 2);
|
||
c_find := TRUE;
|
||
ELSIF c_fac_type = 'B'
|
||
THEN
|
||
-- Haal prefix O- eraf; c_bestelnummer_s2 is goed.
|
||
c_bestelnummer_s1 := SUBSTR (c_bestelnummer_s1, 3);
|
||
c_find := TRUE;
|
||
END IF;
|
||
|
||
-- c_bestelnummer_s1 bevat ordernummer
|
||
-- c_bestelnummer_s2 bevat volgnummer van de (bestel)opdracht; bij
|
||
-- contracten is deze waarde leeg
|
||
-- Vind nu de onderliggende 'O', 'C' of 'B'.
|
||
IF c_fac_type = 'O'
|
||
THEN
|
||
-- Bestaat de opdracht wel <20>n is deze geldig!?
|
||
BEGIN
|
||
SELECT mld_opdr_key
|
||
INTO c_mld_opdr_key
|
||
FROM mld_opdr
|
||
WHERE mld_melding_key =
|
||
fac.safe_to_number (c_bestelnummer_s1)
|
||
AND mld_opdr_bedrijfopdr_volgnr =
|
||
fac.safe_to_number (c_bestelnummer_s2)
|
||
AND mld_statusopdr_key NOT IN (1, 2, 3); -- Ongeldige opdrachten (nog)
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error ' || oracle_err_mes;
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Kan opdrachtreferentie '
|
||
|| rc.bestelnummer
|
||
|| ' niet vinden! '
|
||
|| v_errormsg,
|
||
c_bestelnummer_s1 || '/' || c_bestelnummer_s2
|
||
);
|
||
c_find := FALSE;
|
||
END;
|
||
ELSIF c_fac_type = 'C'
|
||
THEN
|
||
-- Bestaat het contract wel (zie ook UWVA#23124 + UWVA#24359 + UWVA#25579)!?
|
||
BEGIN
|
||
SELECT cnt_contract_key
|
||
INTO c_cnt_contract_key
|
||
FROM (SELECT cnt_contract_key
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.cnt_contract_nummer_intern =
|
||
c_bestelnummer_s1
|
||
AND c.ins_discipline_key != 360 -- Abonnementen
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten!
|
||
AND (NOT EXISTS -- Bij >1 versie relevantste irt. besteldatum!
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract
|
||
WHERE cnt_contract_nummer_intern =
|
||
c.cnt_contract_nummer_intern
|
||
AND cnt_contract_versie !=
|
||
c.cnt_contract_versie)
|
||
OR rc.besteldatum BETWEEN TRUNC(c.cnt_contract_looptijd_van)
|
||
AND TRUNC(c.cnt_contract_looptijd_tot))
|
||
UNION ALL -- UWVA#25579: Voor abonnementen altijd laatste versie!
|
||
SELECT c.cnt_contract_key
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.cnt_contract_nummer_intern =
|
||
c_bestelnummer_s1
|
||
AND c.ins_discipline_key = 360 -- Abonnementen
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten!
|
||
AND NOT EXISTS -- Alleen laatste versies 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));
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error ' || oracle_err_mes;
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Kan contractreferentie '
|
||
|| rc.bestelnummer
|
||
|| ' niet vinden! '
|
||
|| v_errormsg,
|
||
c_bestelnummer_s1
|
||
);
|
||
c_find := FALSE;
|
||
END;
|
||
ELSIF c_fac_type = 'B'
|
||
THEN
|
||
-- Bestaat de bestelopdracht wel <20>n is deze geldig!?
|
||
BEGIN
|
||
IF c_bestelnummer_s2 IS NULL -- Kan dat (nog) wel???
|
||
THEN
|
||
c_bestelnummer_t := c_bestelnummer_s1;
|
||
ELSE
|
||
c_bestelnummer_t :=
|
||
c_bestelnummer_s1 || '/' || c_bestelnummer_s2;
|
||
END IF;
|
||
|
||
-- UWVA#22649: Om igv. voorkomens met dezelfde bestelopdr_id de
|
||
-- juiste te pakken, hier filteren op een status waarin een
|
||
-- factuur mag worden ontvangen (In Bestelling/4, Geleverd/6 of
|
||
-- Verwerkt/7).
|
||
-- UWVA#24723: Je vind <20><>n bestelopdracht of anders handmatig
|
||
-- maar oppakken! -> Later nog maar eens dieper analyseren of
|
||
-- het mogelijk is in 1x de enige juiste te vinden...
|
||
SELECT bes_bestelopdr_key
|
||
INTO c_bes_bestelopdr_key
|
||
FROM bes_bestelopdr
|
||
WHERE bes_bestelopdr_id = c_bestelnummer_t
|
||
AND bes_bestelopdr_status IN (4, 6, 7); -- Geldige bestelopdrachten
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error ' || oracle_err_mes;
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Kan bestelopdrachtreferentie '
|
||
|| rc.bestelnummer
|
||
|| ' niet vinden! '
|
||
|| v_errormsg,
|
||
c_bestelnummer_s1 || '/' || c_bestelnummer_s2
|
||
);
|
||
c_find := FALSE;
|
||
END;
|
||
END IF;
|
||
|
||
--c_opmerking := '';
|
||
|
||
BEGIN
|
||
SELECT fin_s_fin_factuur_key.NEXTVAL
|
||
INTO c_newfactuurkey
|
||
FROM DUAL;
|
||
|
||
SELECT SUM (fac.safe_to_number (totaalexcl)) totaal,
|
||
SUM (fac.safe_to_number (COALESCE (totaalbtw, '0')))
|
||
totaalbtw
|
||
INTO c_fact_tot, c_fact_totbtw
|
||
FROM uwva_imp_factuur
|
||
WHERE bestelnummer = rc.bestelnummer
|
||
AND factuurnr = rc.factuurnr;
|
||
|
||
INSERT INTO fin_factuur (
|
||
fin_factuur_key,
|
||
fin_factuur_totaal,
|
||
fin_factuur_totaal_btw,
|
||
mld_opdr_key,
|
||
cnt_contract_key,
|
||
bes_bestelopdr_key,
|
||
prs_perslid_key_user,
|
||
fin_factuur_datum,
|
||
fin_factuur_opmerking,
|
||
fin_factuur_statuses_key,
|
||
fin_factuur_nr,
|
||
fin_factuur_boekmaand
|
||
)
|
||
VALUES (
|
||
c_newfactuurkey,
|
||
c_fact_tot,
|
||
c_fact_totbtw,
|
||
c_mld_opdr_key,
|
||
c_cnt_contract_key,
|
||
c_bes_bestelopdr_key,
|
||
NULL,
|
||
c_fact_datum,
|
||
'Ge<EFBFBD>mporteerde factuur', -- ' || c_opmerking,
|
||
2,
|
||
rc.factuurnr,
|
||
SUBSTR (rc.afleverdatum, 1, 4)
|
||
|| '-'
|
||
|| SUBSTR (rc.afleverdatum, 5, 2)
|
||
);
|
||
|
||
fac.trackaction ('FINNEW',
|
||
c_newfactuurkey,
|
||
NULL,
|
||
NULL,
|
||
NULL);
|
||
|
||
INSERT INTO fin_factuurregel (
|
||
fin_factuur_key,
|
||
fin_factuurregel_nr,
|
||
fin_factuurregel_totaal,
|
||
fin_factuurregel_btw,
|
||
fin_factuurregel_omschrijving,
|
||
fin_factuurregel_referentie,
|
||
fin_btwtabelwaarde_key
|
||
)
|
||
VALUES (
|
||
c_newfactuurkey,
|
||
rc.regelnummer,
|
||
rc.totaalexcl,
|
||
rc.totaalbtw,
|
||
SUBSTR (rc.omschrijving, 1, 60),
|
||
rc.kostenplaats,
|
||
DECODE (rc.totaalbtw,
|
||
0, 1, -- NL standaard 0/Nul
|
||
rc.fin_btwtabelwaarde_key)
|
||
);
|
||
|
||
--IF c_find_bestelnummer
|
||
--THEN
|
||
-- c_write_bestelnummer := c_bestelopdr_id;
|
||
--ELSE
|
||
-- c_write_bestelnummer := rc.bestelnummer;
|
||
--END IF;
|
||
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Factuur '
|
||
|| c_newfactuurkey
|
||
|| ' toegevoegd met factuurregel '
|
||
|| c_factuurregel,
|
||
--c_write_bestelnummer || ' / ' || rc.factuurnr
|
||
rc.bestelnummer || ' / ' || rc.factuurnr
|
||
);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error ' || oracle_err_mes;
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
'Kan factuur(regel) niet toevoegen! ' || v_errormsg,
|
||
rc.bestelnummer || '/' || rc.factuurnr
|
||
);
|
||
c_rollback := TRUE;
|
||
END;
|
||
|
||
c_teller := c_teller + 1;
|
||
END IF;
|
||
END LOOP;
|
||
|
||
-- Zet facturen automatisch op Akkoord als deze aan match-criteria voldoen.
|
||
FOR rc IN ( SELECT f.fin_factuur_key factuur_key
|
||
FROM fin_factuur f
|
||
WHERE f.fin_factuur_datum = c_fact_datum
|
||
ORDER BY f.fin_factuur_key)
|
||
LOOP
|
||
FIN.matchandsetfactuur (rc.factuur_key, FALSE);
|
||
--COMMIT;
|
||
END LOOP;
|
||
|
||
-- UWVA#19018: Notificeer niet goedgekeurde facturen naar de budgethouders
|
||
-- (1 mail per persoon). Hierbij maakt het niet veel uit of ze net zijn
|
||
-- geimporteerd of al eerder (of handmatig ingevoerd). Medium wordt bepaald
|
||
-- door mode bij FININF.
|
||
fac.putjobnotifications ('uwva_v_noti_finreminder', NULL, 0);
|
||
|
||
--SELECT COUNT ( * )
|
||
-- INTO c_i
|
||
-- FROM imp_log
|
||
-- WHERE fac_import_key = p_import_key AND imp_log_status IN ('E', 'W');
|
||
|
||
IF c_rollback = TRUE
|
||
THEN
|
||
uwva_imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
'Importproces facturen afgebroken!');
|
||
ROLLBACK;
|
||
ELSE
|
||
COMMIT;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error ' || oracle_err_mes;
|
||
uwva_imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
'Importproces facturen afgebroken!');
|
||
ROLLBACK;
|
||
END;
|
||
/
|
||
|
||
|
||
-- UWVA#19018: Notificeer niet gefiatteerde facturen naar de budgethouders (1 mail per persoon)
|
||
-- Maakt hierbij niet veel uit of ze net zijn geimporteerd of vroeger (of handmatig ingevoerd)
|
||
-- Medium wordt bepaalt door mode bij FININF
|
||
-- Wordt aangeroepen na factuurimport
|
||
-- UWVA#27940: Alleen actieve kostenplaatsen
|
||
/* Formatted on 25-11-2013 21:30:58 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_noti_finreminder
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
par1,
|
||
par2,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT 'FININF',
|
||
'',
|
||
prs.getkpverantwoordelijke (kp.prs_kostenplaats_key, 2, -1)
|
||
budgethouder,
|
||
'Fiatteringsverzoek voor ' || COUNT (f.fin_factuur_key)
|
||
|| DECODE (COUNT (f.fin_factuur_key),
|
||
1, ' factuur.',
|
||
' facturen.'),
|
||
MIN (f.fin_factuur_key), -- Dummy key, althans een willekeurige!
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM fin_factuur f, prs_v_aanwezigkostenplaats kp
|
||
WHERE f.fin_factuur_verwijder IS NULL
|
||
AND f.fin_factuur_statuses_key = 2
|
||
AND f.fin_factuur_datum > SYSDATE - 0.1 / 24 -- Minder dan 6 minuten geleden
|
||
AND fin.getfactuurkostenplaats (f.fin_factuur_key) =
|
||
kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaats_omschrijving NOT LIKE 'INACTIEF%'
|
||
AND (kp.prs_kostenplaats_eind > TRUNC (SYSDATE)
|
||
OR kp.prs_kostenplaats_eind IS NULL)
|
||
GROUP BY prs.getkpverantwoordelijke (kp.prs_kostenplaats_key, 2, -1);
|
||
|
||
|
||
--UWVA#20283 rapportage tbv combinatieconrolle mismatch bij opdrachten
|
||
CREATE OR REPLACE VIEW uwva_v_rap_combinatievalidatie
|
||
(
|
||
fclt_f_factuurnr,
|
||
opdrachtnummer,
|
||
factuurdatum,
|
||
kostenplaats,
|
||
factuurbedrag,
|
||
fclt_f_uitvoerende,
|
||
fclt_f_status
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (fff.fin_factuur_key),
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
||
opdrachtnr,
|
||
TO_CHAR (fff.fin_factuur_datum, 'DD-MM-YYYY') factuurdatum,
|
||
k.prs_kostenplaats_nr
|
||
|| ' ('
|
||
|| k.prs_kostenplaats_omschrijving
|
||
|| ')'
|
||
kostenplaats,
|
||
fff.fin_factuur_totaal,
|
||
u.naam uitvoerende,
|
||
fs.fin_factuur_statuses_omschr
|
||
FROM fin_factuur fff,
|
||
mld_opdr o,
|
||
mld_melding m,
|
||
fin_factuur_statuses fs,
|
||
mld_v_uitvoerende u,
|
||
prs_kostenplaats k,
|
||
prs_kostensoort ks,
|
||
mld_stdmelding std
|
||
WHERE fff.prs_kostensoort_key IS NOT NULL
|
||
AND fff.bes_bestelopdr_key IS NULL
|
||
AND fff.cnt_contract_key IS NULL
|
||
AND fff.fin_factuur_statuses_key = fs.fin_factuur_statuses_key
|
||
AND o.mld_opdr_key = fff.mld_opdr_key
|
||
AND m.mld_melding_key = o.mld_melding_key
|
||
AND o.prs_kostenplaats_key = k.prs_kostenplaats_key
|
||
AND u.mld_uitvoerende_key(+) = o.mld_uitvoerende_keys
|
||
AND fff.prs_kostensoort_key = ks.prs_kostensoort_key
|
||
AND std.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_opdr o2,
|
||
prs_kostenplaats k2,
|
||
prs_kostencombinatie kc2,
|
||
fin_factuur f2
|
||
WHERE o.mld_opdr_key = f2.mld_opdr_key
|
||
AND o2.prs_kostenplaats_key =
|
||
k2.prs_kostenplaats_key
|
||
AND k2.prs_kostenplaatsgrp_key =
|
||
kc2.prs_kostenplaatsgrp_key
|
||
AND kc2.prs_kostensoort_key =
|
||
fff.prs_kostensoort_key);
|
||
|
||
--UWVA#20417 rapport dat controleerd of de kostensoort ingevuld bij de opdracht overeenkomst met de gewenste kostensoort van de uitvoerende
|
||
CREATE OR REPLACE VIEW uwva_v_rap_kostsrtuitvoerende
|
||
(
|
||
fclt_f_factuurnr,
|
||
opdrachtnummer,
|
||
factuurdatum,
|
||
kostenplaats,
|
||
factuurbedrag,
|
||
fclt_f_uitvoerende,
|
||
fclt_f_status,
|
||
kostensoort_opdracht,
|
||
kostensoort_uitvoerende
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (f.fin_factuur_nr),
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
||
opdrachtnr,
|
||
TO_CHAR (f.fin_factuur_datum, 'DD-MM-YYYY') factuurdatum,
|
||
k.prs_kostenplaats_nr
|
||
|| ' ('
|
||
|| k.prs_kostenplaats_omschrijving
|
||
|| ')'
|
||
kostenplaats,
|
||
f.fin_factuur_totaal,
|
||
u.prs_bedrijf_naam,
|
||
fs.fin_factuur_statuses_omschr,
|
||
COALESCE (pk1.prs_kostensoort_oms, pk2.prs_kostensoort_oms)
|
||
kostensoort_opdracht,
|
||
pk3.prs_kostensoort_oms kostensoort_uitvoerende
|
||
FROM fin_factuur f,
|
||
mld_opdr o,
|
||
prs_bedrijf u,
|
||
fin_factuur_statuses fs,
|
||
mld_melding m,
|
||
mld_stdmelding std,
|
||
mld_discipline dsc,
|
||
prs_kenmerklink,
|
||
prs_kostenplaats k,
|
||
prs_kostensoort pk1,
|
||
prs_kostensoort pk2,
|
||
prs_kostensoort pk3
|
||
WHERE f.mld_opdr_key IS NOT NULL
|
||
AND o.mld_opdr_key = f.mld_opdr_key
|
||
AND u.prs_bedrijf_key = o.mld_uitvoerende_keys
|
||
AND f.fin_factuur_statuses_key = fs.fin_factuur_statuses_key
|
||
AND m.mld_melding_key = o.mld_melding_key
|
||
AND std.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND dsc.ins_discipline_key = std.mld_ins_discipline_key
|
||
AND prs_link_key(+) = prs_bedrijf_key
|
||
AND o.prs_kostenplaats_key = k.prs_kostenplaats_key
|
||
AND pk1.prs_kostensoort_key(+) = std.prs_kostensoort_key
|
||
AND pk2.prs_kostensoort_key(+) = dsc.prs_kostensoort_key
|
||
AND pk3.prs_kostensoort_key(+) = prs_kenmerklink_waarde
|
||
AND prs_kenmerk_key = 1272 -- kostensoort bij een relatie
|
||
AND (pk1.prs_kostensoort_key != prs_kenmerklink_waarde
|
||
OR pk2.prs_kostensoort_key != prs_kenmerklink_waarde);
|
||
|
||
|
||
-- UWVA#21021: Rapportage met factuurregels van Koninklijke van der Most (BES & MLD)
|
||
-- prs_bedrijf_keys: 32678 - "Koninklijke van der Most (BESTELLINGEN)"
|
||
-- 55025 - "Koninklijke van der Most" (MLD)
|
||
CREATE OR REPLACE VIEW uwva_v_rap_facturen_vdmost
|
||
AS
|
||
SELECT opdrachtnr hide_f_sort,
|
||
TO_CHAR(nr) fclt_f_nr,
|
||
TO_CHAR(datum, 'DD-MM-YYYY') fclt_d_datum,
|
||
factuurregel,
|
||
type,
|
||
opdrachtnr,
|
||
regelnr,
|
||
omschrijving,
|
||
kostenplaats,
|
||
excl_BTW,
|
||
btw_tarief,
|
||
incl_BTW,
|
||
DECODE (status, 'Ingevoerd', 'In behandeling',
|
||
status)
|
||
fclt_f_status,
|
||
budgethouder fclt_f_budgethouder
|
||
FROM (
|
||
SELECT ff.fin_factuur_key nr,
|
||
ff.fin_factuur_datum datum,
|
||
-- pb.prs_bedrijf_naam bedrijf,
|
||
ff.fin_factuur_nr factuurregel,
|
||
'Opdracht' type,
|
||
'A'||mo.mld_melding_key||'/'||mo.mld_opdr_bedrijfopdr_volgnr opdrachtnr,
|
||
ffr.fin_factuurregel_nr regelnr,
|
||
ffr.fin_factuurregel_omschrijving omschrijving,
|
||
ffr.fin_factuurregel_referentie kostenplaats,
|
||
ffr.fin_factuurregel_totaal excl_BTW,
|
||
COALESCE (fbtw.fin_btwtabelwaarde_perc, 0)||'%' btw_tarief,
|
||
ffr.fin_factuurregel_totaal + ffr.fin_factuurregel_btw incl_BTW,
|
||
ffs.fin_factuur_statuses_omschr status,
|
||
pp.prs_perslid_naam_full budgethouder
|
||
FROM fin_factuurregel ffr, fin_factuur ff, fin_factuur_statuses ffs,
|
||
mld_opdr mo,
|
||
prs_bedrijf pb,
|
||
fin_btwtabelwaarde fbtw,
|
||
prs_v_perslid_fullnames pp
|
||
WHERE pb.prs_bedrijf_key = 55025
|
||
AND mo.mld_uitvoerende_keys = pb.prs_bedrijf_key
|
||
AND ff.mld_opdr_key = mo.mld_opdr_key
|
||
AND ff.fin_factuur_statuses_key < 7
|
||
AND ffs.fin_factuur_statuses_key = ff.fin_factuur_statuses_key
|
||
AND ffr.fin_factuur_key = ff.fin_factuur_key
|
||
AND fbtw.fin_btwtabelwaarde_key(+) = ffr.fin_btwtabelwaarde_key
|
||
AND prs.getkpverantwoordelijke (
|
||
fin.getfactuurkostenplaats (ff.fin_factuur_key),
|
||
2,
|
||
-1) = pp.prs_perslid_key
|
||
UNION ALL
|
||
SELECT ff.fin_factuur_key nr,
|
||
ff.fin_factuur_datum datum,
|
||
-- pb.prs_bedrijf_naam bedrijf,
|
||
ff.fin_factuur_nr factuurregel,
|
||
'Bestelling' type,
|
||
bbo.bes_bestelopdr_id opdrachtnr,
|
||
ffr.fin_factuurregel_nr regelnr,
|
||
ffr.fin_factuurregel_omschrijving omschrijving,
|
||
ffr.fin_factuurregel_referentie kostenplaats,
|
||
ffr.fin_factuurregel_totaal excl_BTW,
|
||
COALESCE (fbtw.fin_btwtabelwaarde_perc, 0)||'%' btw_tarief,
|
||
ffr.fin_factuurregel_totaal + ffr.fin_factuurregel_btw incl_BTW,
|
||
ffs.fin_factuur_statuses_omschr status,
|
||
pp.prs_perslid_naam_full budgethouder
|
||
FROM fin_factuurregel ffr, fin_factuur ff, fin_factuur_statuses ffs,
|
||
bes_bestelopdr bbo,
|
||
prs_bedrijf pb,
|
||
fin_btwtabelwaarde fbtw,
|
||
prs_v_perslid_fullnames pp
|
||
WHERE pb.prs_bedrijf_key = 32678
|
||
AND bbo.prs_bedrijf_key = pb.prs_bedrijf_key
|
||
AND ff.bes_bestelopdr_key = bbo.bes_bestelopdr_key
|
||
AND ff.fin_factuur_statuses_key < 7
|
||
AND ffs.fin_factuur_statuses_key = ff.fin_factuur_statuses_key
|
||
AND ffr.fin_factuur_key = ff.fin_factuur_key
|
||
AND fbtw.fin_btwtabelwaarde_key(+) = ffr.fin_btwtabelwaarde_key
|
||
AND prs.getkpverantwoordelijke (
|
||
fin.getfactuurkostenplaats (ff.fin_factuur_key),
|
||
2,
|
||
-1) = pp.prs_perslid_key
|
||
)
|
||
ORDER BY 1;
|
||
|
||
|
||
-- UWVA#21019: Reminders naar budgethouders dat ze facturen moeten accorderen
|
||
-- (na 1 week en na 3 weken)
|
||
-- UWVA#27940: Alleen actieve kostenplaatsen
|
||
/* Formatted on 25-11-2013 21:30:58 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW uwva_v_noti_factuurreminder
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
par1,
|
||
par2,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT 'CUST11',
|
||
'',
|
||
prs.getkpverantwoordelijke (kp.prs_kostenplaats_key, 2, -1)
|
||
budgethouder,
|
||
'RAPPEL: '
|
||
|| COUNT (f.fin_factuur_key)
|
||
|| ' niet automatisch goedgekeurde factuurregel'
|
||
|| DECODE (COUNT (f.fin_factuur_key), 1, '. (', 's. (')
|
||
|| TO_CHAR (TRUNC (SYSDATE - 7), 'DD-MM-YYYY')
|
||
|| ')',
|
||
MIN (f.fin_factuur_key), -- Dummy key, althans een willekeurige!
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM fin_factuur f, prs_v_aanwezigkostenplaats kp
|
||
WHERE f.fin_factuur_verwijder IS NULL
|
||
AND f.fin_factuur_statuses_key = 2
|
||
AND TRUNC (f.fin_factuur_datum) = TRUNC (SYSDATE - 7) -- 1 week (7 dagen) geleden
|
||
AND fin.getfactuurkostenplaats (f.fin_factuur_key) =
|
||
kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaats_omschrijving NOT LIKE 'INACTIEF%'
|
||
AND (kp.prs_kostenplaats_eind > TRUNC (SYSDATE)
|
||
OR kp.prs_kostenplaats_eind IS NULL)
|
||
GROUP BY prs.getkpverantwoordelijke (kp.prs_kostenplaats_key, 2, -1)
|
||
UNION
|
||
SELECT 'CUST12',
|
||
'',
|
||
prs.getkpverantwoordelijke (kp.prs_kostenplaats_key, 2, -1)
|
||
budgethouder,
|
||
'TWEEDE RAPPEL: '
|
||
|| COUNT (f.fin_factuur_key)
|
||
|| ' niet automatisch goedgekeurde factuurregel'
|
||
|| DECODE (COUNT (f.fin_factuur_key), 1, '. (', 's. (')
|
||
|| TO_CHAR (TRUNC (SYSDATE - 21), 'DD-MM-YYYY')
|
||
|| ')',
|
||
MIN (f.fin_factuur_key), -- Dummy key, althans een willekeurige!
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM fin_factuur f, prs_v_aanwezigkostenplaats kp
|
||
WHERE f.fin_factuur_verwijder IS NULL
|
||
AND f.fin_factuur_statuses_key = 2
|
||
AND TRUNC (f.fin_factuur_datum) = TRUNC (SYSDATE - 21) -- 3 weken (21 dagen) geleden
|
||
AND fin.getfactuurkostenplaats (f.fin_factuur_key) =
|
||
kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaats_omschrijving NOT LIKE 'INACTIEF%'
|
||
AND (kp.prs_kostenplaats_eind > TRUNC (SYSDATE)
|
||
OR kp.prs_kostenplaats_eind IS NULL)
|
||
GROUP BY prs.getkpverantwoordelijke (kp.prs_kostenplaats_key, 2, -1);
|
||
|
||
|
||
-- UWVA#20124: Rapportage voor doorbelasten geannuleerde bestellingen
|
||
CREATE OR REPLACE VIEW uwva_v_rap_bes_annul_doorbel
|
||
AS
|
||
SELECT ba.bes_bestelling_key hide_f_sort
|
||
,ba.nummer
|
||
,ba.ins_discipline_key fclt_3d_discipline_key
|
||
,ba.ins_discipline_omschrijving fclt_f_catalogus
|
||
,fac.safe_to_number(ba.bestelbedrag) bestelbedrag
|
||
-- ,ba.te_laat * fac.safe_to_number(COALESCE(MAX(km.bes_kenmerkbestell_waarde), '100') ) pct
|
||
-- ,ROUND(ba.te_laat * fac.safe_to_number(COALESCE(MAX(km.bes_kenmerkbestell_waarde), '100') )/100 * ba.bestelbedrag, 2) verwacht
|
||
,ROUND(ba.bes_bestelling_leverdatum - ba.fac_tracking_datum) dagen_voor_horizon
|
||
,COALESCE( SUM(ff.fin_factuur_totaal), 0) gefactureerd_exc
|
||
,COALESCE( SUM(ff.fin_factuur_totaal+ff.fin_factuur_totaal_btw), 0) gefactureerd_inc
|
||
-- ,SUM(fin_factuur_totaal_btw) gefactureerd_btw
|
||
-- ,CASE fin.tolerantiematch (ba.ins_discipline_key,
|
||
-- 'B',
|
||
-- COALESCE( SUM(ff.fin_factuur_totaal), 0),
|
||
-- ba.te_laat * fac.safe_to_number(COALESCE(MAX(km.bes_kenmerkbestell_waarde), '100') )/100 * ba.bestelbedrag)
|
||
-- WHEN 1 THEN 'OK'
|
||
-- WHEN 0 THEN 'NOK'
|
||
-- ELSE 'nnb'
|
||
-- END ok_nok
|
||
FROM (
|
||
SELECT DISTINCT bb.bes_bestelling_key
|
||
,'A-'||bb.bes_bestelling_key nummer
|
||
,cat.ins_discipline_omschrijving
|
||
,cat.ins_discipline_key
|
||
,SUM(bboi.bes_bestelopdr_item_aantal*bboi.bes_bestelopdr_item_prijs) bestelbedrag
|
||
,bboi.bes_bestelopdr_key
|
||
,bb.bes_bestelling_leverdatum
|
||
,ft.fac_tracking_datum
|
||
,MAX(art.bes_srtdeel_annuleerdagen) hor
|
||
,CASE
|
||
WHEN ( bb.bes_bestelling_leverdatum
|
||
< ft.fac_tracking_datum + MAX(art.bes_srtdeel_annuleerdagen))
|
||
THEN 1
|
||
ELSE 0
|
||
END te_laat
|
||
FROM bes_bestelling bb,
|
||
bes_bestelling_item bbi,
|
||
bes_bestelopdr_item bboi,
|
||
bes_discipline cat,
|
||
bes_srtgroep grp,
|
||
bes_srtdeel art,
|
||
fac_tracking ft,
|
||
fac_srtnotificatie fsn
|
||
WHERE bb.bes_bestelling_parentkey IS NULL
|
||
AND bb.bes_bestelling_status = 8
|
||
AND bbi.bes_bestelling_key = bb.bes_bestelling_key
|
||
AND bboi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||
AND art.bes_srtdeel_key = bbi.bes_srtdeel_key
|
||
AND grp.bes_srtgroep_key = art.bes_srtgroep_key
|
||
AND cat.ins_discipline_key = grp.ins_discipline_key
|
||
AND fsn.fac_srtnotificatie_code = 'BES2CA'
|
||
AND ft.fac_srtnotificatie_key = fsn.fac_srtnotificatie_key
|
||
AND ft.fac_tracking_refkey = bboi.bes_bestelopdr_key
|
||
AND ins_discipline_verwijder IS NULL
|
||
AND bes_srtgroep_verwijder IS NULL
|
||
AND bes_srtdeel_verwijder IS NULL
|
||
GROUP BY bb.bes_bestelling_key
|
||
,bboi.bes_bestelopdr_key
|
||
,cat.ins_discipline_omschrijving
|
||
,cat.ins_discipline_key
|
||
,bb.bes_bestelling_leverdatum
|
||
,ft.fac_tracking_datum) ba
|
||
LEFT OUTER JOIN
|
||
( SELECT *
|
||
FROM fin_factuur
|
||
WHERE bes_bestelopdr_key IS NOT NULL
|
||
AND fin_factuur_statuses_key != 1) ff
|
||
ON ff.bes_bestelopdr_key = ba.bes_bestelopdr_key
|
||
LEFT OUTER JOIN
|
||
( SELECT bes_bestelling_key, bes_kenmerkbestell_waarde
|
||
FROM bes_kenmerk bk
|
||
,bes_kenmerkbestell bkb
|
||
WHERE bk.bes_srtkenmerk_key = 641
|
||
AND bkb.bes_kenmerk_key = bk.bes_kenmerk_key) km
|
||
ON km.bes_bestelling_key = ba.bes_bestelling_key
|
||
GROUP BY ba.bes_bestelling_key
|
||
,ba.nummer
|
||
,ba.ins_discipline_omschrijving
|
||
,ba.ins_discipline_key
|
||
,ba.bestelbedrag
|
||
,ba.bes_bestelling_leverdatum
|
||
,ba.fac_tracking_datum
|
||
,ba.te_laat;
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE uwva_import_factuur_lease (
|
||
p_import_key IN NUMBER)
|
||
AS
|
||
-- Standaard volgorde van de kolommen in het CSV-formaat, waarbij 3 velden VERPLICHT (minimaal door Facilitor vereist)
|
||
-- Variabelelijst
|
||
-- v_leveranciernr: 1
|
||
-- v_factuurnr: 2 (VERPLICHT, anders zet Facilitor '-' in factuurnr, en is status van factuur "Incompleet")
|
||
-- v_factuurdatum: 3
|
||
-- v_ordernr: 4 (VERPLICHT, anders is status van factuur "Incompleet")
|
||
-- v_locatie: 5
|
||
-- v_afleverdatum: 6
|
||
-- v_omschrijving: 7
|
||
-- v_aantal: 8
|
||
-- v_kostprijs: 9 (VERPLICHT, anders is status van factuur "Incompleet")
|
||
-- v_btw_bedrag: 10 (VERPLICHT, of anders veld 11, anders is status van factuur "Incompleet")
|
||
-- v_btw: 11 (VERPLICHT, of anders veld 10, anders is status van factuur "Incompleet")
|
||
-- v_docid: 12
|
||
-- v_debiteur_nr: 13
|
||
-- v_opmerking: 14
|
||
-- v_btw_verlegd: 15 (VERPLICHT, Ja/Nee/<leeg> waarbij leeg gelijk is aan Nee. Andere waarden leidt tot "Incompleet")
|
||
-- v_kenmerk1: 16
|
||
-- v_kenmerk2: 17
|
||
-- v_kenmerk3: 18
|
||
-- v_kenmerk4: 19
|
||
-- v_kenmerk5: 20
|
||
-- v_boekmaand: 21 (GELDIG, Indien gevuld dan moet er een geldige jaar-maand combinatie staan. Andere waarden leidt tot "Incompleet")
|
||
-- Eerst geprobeerd via nette array, geeft problemen met type buiten package, en in package lukt niet omdat
|
||
-- de import in Facilitor package-loos is (en niet 1-2-3 zo kan worden gemaakt vanwege alle bestaande klanten)
|
||
-- v_seq_of_columns ListOfInteger := (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21);
|
||
|
||
-- Dus dan maar via een string, en ook op slimme wijze, nl alsof het een ingelezen factuur-record is met p_fielddelimitor
|
||
v_seq_of_columns VARCHAR (100);
|
||
-- Afwijkingen op deze volgorde zijn in eigen cust_import_factuur te regelen.
|
||
|
||
-- Als leveranciersnr en factuurnr b.v. zijn omgedraaid in het CSV-formaat,
|
||
-- dan factuurimport ListOfInteger := (2,1,3,4,5,6,7,8,9,10,11,12);
|
||
-- v_seq_of_columns := '2;1;3;4;5;6;7;8;9;10;11;12';
|
||
|
||
-- Als leveranciersnr NIET in CSV staat, dan factuurimport ListOfInteger := (0,2,3,4,5,6,7,8,9,10,11,12);
|
||
-- v_seq_of_columns := '0;2;3;4;5;6;7;8;9;10;11;12';
|
||
-- M.a.w. waar een 0 staat, wordt de variabele niet ingelezen en blift LEEG.
|
||
BEGIN
|
||
v_seq_of_columns := '0;1;0;8;0;0;4;0;11;13;12;0;0;0;0;3;10;5;0;0;0';
|
||
fac_import_factuur_body (p_import_key, v_seq_of_columns);
|
||
|
||
-- Stap 1: haal de header van de factuur uit de import tabel
|
||
DELETE fac_imp_factuur
|
||
WHERE UPPER (ordernr) = 'KENTEKEN' AND fac_import_key = p_import_key;
|
||
|
||
-- Stap 2: zet de juiste kostenplaats in kenmerkveld 12 voor berijderskosten
|
||
UPDATE fac_imp_factuur f
|
||
SET f.kenmerk12 = '122203'
|
||
WHERE fac_import_key = p_import_key
|
||
AND f.kenmerk1 IN
|
||
(SELECT c.fac_usrdata_code
|
||
FROM fac_usrdata c, fac_usrtab t
|
||
where c.fac_usrtab_key = t.fac_usrtab_key
|
||
and c.fac_usrdata_verwijder IS NULL
|
||
and t.fac_usrtab_naam = '122203');
|
||
|
||
-- Stap 3: zet de juiste kostenplaats in kenmerkveld 12 voor leasekosten
|
||
UPDATE fac_imp_factuur f
|
||
SET f.kenmerk12 = '451105'
|
||
WHERE fac_import_key = p_import_key
|
||
AND f.kenmerk1 IN
|
||
(SELECT c.fac_usrdata_code
|
||
FROM fac_usrdata c, fac_usrtab t
|
||
where c.fac_usrtab_key = t.fac_usrtab_key
|
||
and c.fac_usrdata_verwijder IS NULL
|
||
and t.fac_usrtab_naam = '451105');
|
||
|
||
-- Stap 4:
|
||
-- * zet het kenteken in kenmerkveld 11
|
||
-- * de factuurdatum is gelijk aan de inleesdatum
|
||
UPDATE fac_imp_factuur f
|
||
SET f.kenmerk11 = f.ordernr,
|
||
f.factuurdatum = (SELECT TO_CHAR (SYSDATE, 'dd-mm-yyyy') FROM DUAL)
|
||
WHERE fac_import_key = p_import_key
|
||
AND f.kenmerk12 IN ('122203', '451105');
|
||
|
||
-- Stap 5: Haal voor de berijderskosten kostenplaats 122203 het juiste contractnummer erbij obv kenteken, personeelsnummer en contracttype (disc. key = 426)
|
||
-- Indien er geen berijdersovereenkomst gevonden kan worden blijft het veld ordernr leeg
|
||
UPDATE fac_imp_factuur f
|
||
SET f.ordernr = f.kenmerk11 || '/' || f.kenmerk2
|
||
WHERE fac_import_key = p_import_key AND f.kenmerk12 = '122203';
|
||
|
||
-- Stap 6: Voeg prefix C toe aan het ordernummer
|
||
UPDATE fac_imp_factuur f
|
||
SET f.ordernr = CONCAT ('C', f.ordernr)
|
||
WHERE fac_import_key = p_import_key
|
||
AND f.kenmerk12 IN ('122203', '451105')
|
||
AND f.ordernr IS NOT NULL;
|
||
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE uwva_update_factuur_lease (
|
||
p_import_key IN NUMBER)
|
||
AS
|
||
-- Een factuur(record) wordt aangemaakt voor iedere factuurnr/bestelnummer-
|
||
-- combinatie en dan wordt voor iedere regel een regel(record) aangemaakt.
|
||
CURSOR cfactuurregel
|
||
IS
|
||
SELECT imp.*, btw.*
|
||
FROM (SELECT factuurnr,
|
||
ordernr bestelnummer,
|
||
kenmerk3 regelnummer,
|
||
NULL besteldatum,
|
||
kostprijs totaalexcl,
|
||
btw_bedrag totaalbtw,
|
||
NULL nrbesteld,
|
||
NULL nrgeleverd,
|
||
afleverdatum,
|
||
omschrijving,
|
||
NULL eenheid,
|
||
kenmerk12 kostenplaats,
|
||
btw btwcode,
|
||
fac_import_key,
|
||
fac_imp_file_index
|
||
FROM fac_imp_factuur
|
||
WHERE fac_import_key = p_import_key) imp -- UWVA#36062: historische regels zonder fac_import_key moeten niet meegenomen worden in deze update
|
||
LEFT JOIN
|
||
fin_btwtabelwaarde btw
|
||
ON imp.btwcode = TO_CHAR (btw.fin_btwtabelwaarde_perc)
|
||
AND btw.fin_btwtabel_key = 1 -- NL standaard
|
||
ORDER BY imp.factuurnr, imp.bestelnummer, imp.regelnummer;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_mes VARCHAR2 (200);
|
||
c_i NUMBER;
|
||
c_teller NUMBER;
|
||
c_newfactuurkey NUMBER;
|
||
c_factuurregel NUMBER;
|
||
c_fin_factuurregel_key NUMBER;
|
||
c_fac_type VARCHAR2 (1);
|
||
c_prefix1 VARCHAR2 (1);
|
||
c_bestelnummer_index NUMBER;
|
||
c_bestelnummer_s1 VARCHAR2 (20);
|
||
c_bestelnummer_s2 VARCHAR2 (20);
|
||
c_bestelnummer_t VARCHAR2 (40);
|
||
c_old_bestelnummer uwva_imp_factuur.bestelnummer%TYPE;
|
||
c_old_factuurnr uwva_imp_factuur.factuurnr%TYPE;
|
||
--c_write_bestelnummer VARCHAR2 (20);
|
||
c_bestelopdr_id VARCHAR2 (20);
|
||
c_fact_tot NUMBER;
|
||
c_fact_totbtw NUMBER;
|
||
c_find BOOLEAN;
|
||
--c_find_bestelnummer BOOLEAN;
|
||
c_mld_opdr_key NUMBER (10);
|
||
c_cnt_contract_key NUMBER (10);
|
||
c_bes_bestelopdr_key NUMBER (10);
|
||
c_prs_bedrijf_naam VARCHAR2 (100);
|
||
--c_opmerking VARCHAR2 (200);
|
||
c_fact_datum DATE;
|
||
c_rollback BOOLEAN;
|
||
|
||
FUNCTION getfactype (pbestelnr IN VARCHAR2)
|
||
RETURN VARCHAR2
|
||
IS
|
||
c_prefix1 VARCHAR2 (1);
|
||
lfactype VARCHAR2 (1);
|
||
BEGIN
|
||
IF LENGTH (pbestelnr) = 0
|
||
THEN
|
||
RETURN '';
|
||
END IF;
|
||
|
||
c_prefix1 := SUBSTR (pbestelnr, 1, 1);
|
||
|
||
IF SUBSTR (pbestelnr, 1, 2) = 'O-'
|
||
THEN
|
||
lfactype := 'B'; -- Bestelling
|
||
ELSIF ( ( (ASCII (c_prefix1) >= 65 AND ASCII (c_prefix1) <= 90)
|
||
OR (ASCII(c_prefix1) >= 97 AND ASCII (c_prefix1) <= 122))
|
||
AND ASCII (c_prefix1) != 67
|
||
AND ASCII (c_prefix1) != 99)
|
||
THEN
|
||
lfactype := 'O'; -- Opdracht (Melding)
|
||
ELSIF (ASCII (c_prefix1) = 67 OR ASCII (c_prefix1) = 99)
|
||
THEN
|
||
lfactype := 'C'; -- Contract
|
||
ELSE
|
||
uwva_imp_writelog (p_import_key,
|
||
'I',
|
||
'Kan besteltype niet bepalen voor ' || pbestelnr,
|
||
pbestelnr);
|
||
END IF;
|
||
|
||
RETURN lfactype;
|
||
END;
|
||
|
||
BEGIN
|
||
c_old_bestelnummer := '';
|
||
c_old_factuurnr := '';
|
||
c_teller := 0;
|
||
c_fact_datum := SYSDATE;
|
||
c_rollback := FALSE;
|
||
|
||
-- Facturen
|
||
FOR rc IN cfactuurregel
|
||
LOOP
|
||
IF rc.bestelnummer = c_old_bestelnummer
|
||
AND rc.factuurnr = c_old_factuurnr
|
||
THEN
|
||
-- Toevoegen nieuwe factuurregel; c_newfactuurkey nog steeds actueel!
|
||
c_factuurregel := c_factuurregel + 1;
|
||
|
||
BEGIN
|
||
INSERT INTO fin_factuurregel (fin_factuur_key,
|
||
fin_factuurregel_nr,
|
||
fin_factuurregel_totaal,
|
||
fin_factuurregel_btw,
|
||
fin_factuurregel_omschrijving,
|
||
fin_factuurregel_referentie,
|
||
fin_btwtabelwaarde_key)
|
||
VALUES (c_newfactuurkey,
|
||
rc.regelnummer,
|
||
rc.totaalexcl,
|
||
rc.totaalbtw,
|
||
SUBSTR (rc.omschrijving, 1, 60),
|
||
rc.kostenplaats,
|
||
DECODE (rc.totaalbtw,
|
||
0, 1, -- NL standaard 0/Nul
|
||
rc.fin_btwtabelwaarde_key))
|
||
RETURNING fin_factuurregel_key
|
||
INTO c_fin_factuurregel_key;
|
||
|
||
-- Voor CUST-postprocessing (van de kenmerken) is het handig te onthouden:
|
||
UPDATE fac_imp_factuur
|
||
SET fin_factuurregel_key = c_fin_factuurregel_key
|
||
WHERE fac_import_key = rc.fac_import_key
|
||
AND fac_imp_file_index = rc.fac_imp_file_index;
|
||
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Factuurregel '
|
||
|| c_factuurregel
|
||
|| ' toegevoegd aan factuur '
|
||
|| c_newfactuurkey,
|
||
rc.bestelnummer || ' / ' || rc.factuurnr);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error ' || oracle_err_mes;
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
'Kan factuur(regel) niet toevoegen! ' || v_errormsg,
|
||
rc.bestelnummer || ' / ' || rc.factuurnr);
|
||
c_rollback := TRUE;
|
||
END;
|
||
|
||
c_teller := c_teller + 1;
|
||
ELSE
|
||
-- Toevoegen nieuwe factuur + factuurregel!
|
||
c_old_bestelnummer := rc.bestelnummer;
|
||
c_old_factuurnr := rc.factuurnr;
|
||
c_factuurregel := 1;
|
||
c_bestelnummer_index := INSTR (rc.bestelnummer, '/');
|
||
c_mld_opdr_key := NULL;
|
||
c_cnt_contract_key := NULL;
|
||
c_bes_bestelopdr_key := NULL;
|
||
|
||
IF c_bestelnummer_index = 0 OR 1=1
|
||
THEN
|
||
c_bestelnummer_s1 := rc.bestelnummer;
|
||
c_bestelnummer_s2 := '';
|
||
ELSE
|
||
c_bestelnummer_s1 :=
|
||
SUBSTR (rc.bestelnummer, 1, c_bestelnummer_index - 1);
|
||
c_bestelnummer_s2 :=
|
||
SUBSTR (rc.bestelnummer, c_bestelnummer_index + 1);
|
||
END IF;
|
||
|
||
c_find := FALSE;
|
||
--c_find_bestelnummer := FALSE;
|
||
c_fac_type := '';
|
||
|
||
c_fac_type := getfactype (rc.bestelnummer);
|
||
|
||
IF c_fac_type = 'O'
|
||
THEN
|
||
IF c_bestelnummer_index != 0
|
||
AND ASCII (c_prefix1) >= 48
|
||
AND ASCII (c_prefix1) <= 57
|
||
-- Geen prefix maar het is wel een opdracht (afgedwongen door /).
|
||
THEN
|
||
-- c_bestelnummer_s1 bevat geen prefix
|
||
-- c_bestelnummer_s2 bevat het gedeelte na de /
|
||
c_find := TRUE;
|
||
ELSE
|
||
c_i := 1;
|
||
|
||
LOOP
|
||
IF (ASCII (SUBSTR (c_bestelnummer_s1, c_i, 1)) >= 48
|
||
AND ASCII (SUBSTR (c_bestelnummer_s1, c_i, 1)) <= 57)
|
||
THEN
|
||
c_find := TRUE;
|
||
ELSE
|
||
c_i := c_i + 1;
|
||
END IF;
|
||
|
||
EXIT WHEN (c_find OR c_i > LENGTH (c_bestelnummer_s1));
|
||
END LOOP;
|
||
|
||
IF c_find
|
||
THEN
|
||
c_bestelnummer_s1 := SUBSTR (c_bestelnummer_s1, c_i);
|
||
ELSE
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
'Kan bestelnummer niet bepalen!',
|
||
rc.bestelnummer || ' / ' || rc.factuurnr);
|
||
c_rollback := TRUE;
|
||
END IF;
|
||
END IF;
|
||
ELSIF c_fac_type = 'C'
|
||
THEN
|
||
-- Haal prefix 'C' of 'c' eraf.
|
||
c_bestelnummer_s1 := SUBSTR (c_bestelnummer_s1, 2);
|
||
c_find := TRUE;
|
||
ELSIF c_fac_type = 'B'
|
||
THEN
|
||
-- Haal prefix O- eraf; c_bestelnummer_s2 is goed.
|
||
c_bestelnummer_s1 := SUBSTR (c_bestelnummer_s1, 3);
|
||
c_find := TRUE;
|
||
END IF;
|
||
|
||
-- c_bestelnummer_s1 bevat ordernummer
|
||
-- c_bestelnummer_s2 bevat volgnummer van de (bestel)opdracht; bij
|
||
-- contracten is deze waarde leeg
|
||
-- Vind nu de onderliggende 'O', 'C' of 'B'.
|
||
IF c_fac_type = 'O'
|
||
THEN
|
||
-- Bestaat de opdracht wel <20>n is deze geldig!?
|
||
BEGIN
|
||
SELECT mld_opdr_key
|
||
INTO c_mld_opdr_key
|
||
FROM mld_opdr
|
||
WHERE mld_melding_key =
|
||
fac.safe_to_number (c_bestelnummer_s1)
|
||
AND mld_opdr_bedrijfopdr_volgnr =
|
||
fac.safe_to_number (c_bestelnummer_s2)
|
||
AND mld_statusopdr_key NOT IN (1, 2, 3); -- Ongeldige opdrachten (nog)
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error ' || oracle_err_mes;
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Kan opdrachtreferentie '
|
||
|| rc.bestelnummer
|
||
|| ' niet vinden! '
|
||
|| v_errormsg,
|
||
c_bestelnummer_s1 || '/' || c_bestelnummer_s2);
|
||
c_find := FALSE;
|
||
END;
|
||
ELSIF c_fac_type = 'C'
|
||
THEN
|
||
-- Bestaat het contract wel (zie ook UWVA#23124 + UWVA#24359 + UWVA#25579)!?
|
||
BEGIN
|
||
SELECT cnt_contract_key
|
||
INTO c_cnt_contract_key
|
||
FROM (SELECT cnt_contract_key
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.cnt_contract_nummer_intern =
|
||
c_bestelnummer_s1
|
||
AND c.ins_discipline_key != 360 -- Abonnementen
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten!
|
||
AND (NOT EXISTS -- Bij >1 versie relevantste irt. besteldatum!
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract
|
||
WHERE cnt_contract_nummer_intern =
|
||
c.cnt_contract_nummer_intern
|
||
AND cnt_contract_versie !=
|
||
c.cnt_contract_versie)
|
||
OR rc.besteldatum BETWEEN TRUNC(c.cnt_contract_looptijd_van)
|
||
AND TRUNC(c.cnt_contract_looptijd_tot))
|
||
UNION ALL -- UWVA#25579: Voor abonnementen altijd laatste versie!
|
||
SELECT c.cnt_contract_key
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.cnt_contract_nummer_intern =
|
||
c_bestelnummer_s1
|
||
AND c.ins_discipline_key = 360 -- Abonnementen
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten!
|
||
AND NOT EXISTS -- Alleen laatste versies 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));
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error ' || oracle_err_mes;
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Kan contractreferentie '
|
||
|| rc.bestelnummer
|
||
|| ' niet vinden! '
|
||
|| v_errormsg,
|
||
c_bestelnummer_s1);
|
||
c_find := FALSE;
|
||
END;
|
||
ELSIF c_fac_type = 'B'
|
||
THEN
|
||
-- Bestaat de bestelopdracht wel <20>n is deze geldig!?
|
||
BEGIN
|
||
IF c_bestelnummer_s2 IS NULL -- Kan dat (nog) wel???
|
||
THEN
|
||
c_bestelnummer_t := c_bestelnummer_s1;
|
||
ELSE
|
||
c_bestelnummer_t :=
|
||
c_bestelnummer_s1 || '/' || c_bestelnummer_s2;
|
||
END IF;
|
||
|
||
-- UWVA#22649: Om igv. voorkomens met dezelfde bestelopdr_id de
|
||
-- juiste te pakken, hier filteren op een status waarin een
|
||
-- factuur mag worden ontvangen (In Bestelling/4, Geleverd/6 of
|
||
-- Verwerkt/7).
|
||
-- UWVA#24723: Je vind <20><>n bestelopdracht of anders handmatig
|
||
-- maar oppakken! -> Later nog maar eens dieper analyseren of
|
||
-- het mogelijk is in 1x de enige juiste te vinden...
|
||
SELECT bes_bestelopdr_key
|
||
INTO c_bes_bestelopdr_key
|
||
FROM bes_bestelopdr
|
||
WHERE bes_bestelopdr_id = c_bestelnummer_t
|
||
AND bes_bestelopdr_status IN (4, 6, 7); -- Geldige bestelopdrachten
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error ' || oracle_err_mes;
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Kan bestelopdrachtreferentie '
|
||
|| rc.bestelnummer
|
||
|| ' niet vinden! '
|
||
|| v_errormsg,
|
||
c_bestelnummer_s1 || '/' || c_bestelnummer_s2);
|
||
c_find := FALSE;
|
||
END;
|
||
END IF;
|
||
|
||
--c_opmerking := '';
|
||
|
||
BEGIN
|
||
SELECT fin_s_fin_factuur_key.NEXTVAL
|
||
INTO c_newfactuurkey
|
||
FROM DUAL;
|
||
|
||
--SELECT SUM (fac.safe_to_number (kostprijs)) totaal,
|
||
-- SUM (fac.safe_to_number (COALESCE (btw_bedrag, '0')))
|
||
-- totaalbtw
|
||
SELECT COALESCE (SUM (kostprijs), 0) totaal,
|
||
COALESCE (SUM (btw_bedrag), 0) totaal_btw
|
||
INTO c_fact_tot, c_fact_totbtw
|
||
FROM fac_imp_factuur
|
||
WHERE ordernr = rc.bestelnummer AND factuurnr = rc.factuurnr;
|
||
|
||
INSERT INTO fin_factuur (fin_factuur_key,
|
||
fin_factuur_totaal,
|
||
fin_factuur_totaal_btw,
|
||
mld_opdr_key,
|
||
cnt_contract_key,
|
||
bes_bestelopdr_key,
|
||
prs_perslid_key_user,
|
||
fin_factuur_datum,
|
||
fin_factuur_opmerking,
|
||
fin_factuur_statuses_key,
|
||
fin_factuur_nr,
|
||
fin_factuur_boekmaand)
|
||
VALUES (c_newfactuurkey,
|
||
c_fact_tot,
|
||
c_fact_totbtw,
|
||
c_mld_opdr_key,
|
||
c_cnt_contract_key,
|
||
c_bes_bestelopdr_key,
|
||
NULL,
|
||
c_fact_datum,
|
||
'Ge<EFBFBD>mporteerde factuur', -- ' || c_opmerking,
|
||
2,
|
||
rc.factuurnr,
|
||
SUBSTR (rc.afleverdatum, 1, 4)
|
||
|| '-'
|
||
|| SUBSTR (rc.afleverdatum, 5, 2));
|
||
|
||
-- Voor CUST-postprocessing (van de kenmerken) is het handig te onthouden:
|
||
UPDATE fac_imp_factuur
|
||
SET fin_factuur_key = c_newfactuurkey
|
||
WHERE fac_import_key = rc.fac_import_key
|
||
AND fac_imp_file_index = rc.fac_imp_file_index;
|
||
|
||
fac.trackaction ('FINNEW',
|
||
c_newfactuurkey,
|
||
NULL,
|
||
NULL,
|
||
NULL);
|
||
|
||
INSERT INTO fin_factuurregel (fin_factuur_key,
|
||
fin_factuurregel_nr,
|
||
fin_factuurregel_totaal,
|
||
fin_factuurregel_btw,
|
||
fin_factuurregel_omschrijving,
|
||
fin_factuurregel_referentie,
|
||
fin_btwtabelwaarde_key)
|
||
VALUES (c_newfactuurkey,
|
||
rc.regelnummer,
|
||
rc.totaalexcl,
|
||
rc.totaalbtw,
|
||
SUBSTR (rc.omschrijving, 1, 60),
|
||
rc.kostenplaats,
|
||
DECODE (rc.totaalbtw,
|
||
0, 1, -- NL standaard 0/Nul
|
||
rc.fin_btwtabelwaarde_key))
|
||
RETURNING fin_factuurregel_key
|
||
INTO c_fin_factuurregel_key;
|
||
|
||
-- Voor CUST-postprocessing (van de kenmerken) is het handig te onthouden:
|
||
UPDATE fac_imp_factuur
|
||
SET fin_factuurregel_key = c_fin_factuurregel_key
|
||
WHERE fac_import_key = rc.fac_import_key
|
||
AND fac_imp_file_index = rc.fac_imp_file_index;
|
||
|
||
--IF c_find_bestelnummer
|
||
--THEN
|
||
-- c_write_bestelnummer := c_bestelopdr_id;
|
||
--ELSE
|
||
-- c_write_bestelnummer := rc.bestelnummer;
|
||
--END IF;
|
||
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Factuur '
|
||
|| c_newfactuurkey
|
||
|| ' toegevoegd met factuurregel '
|
||
|| c_factuurregel,
|
||
--c_write_bestelnummer || ' / ' || rc.factuurnr
|
||
rc.bestelnummer || ' / ' || rc.factuurnr);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'Error ' || oracle_err_mes;
|
||
uwva_imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
'Kan factuur(regel) niet toevoegen! ' || v_errormsg,
|
||
rc.bestelnummer || '/' || rc.factuurnr);
|
||
c_rollback := TRUE;
|
||
END;
|
||
|
||
c_teller := c_teller + 1;
|
||
END IF;
|
||
END LOOP;
|
||
|
||
-- Zet facturen automatisch op Akkoord als deze aan match-criteria voldoen.
|
||
FOR rc IN ( SELECT f.fin_factuur_key factuur_key
|
||
FROM fin_factuur f
|
||
WHERE f.fin_factuur_datum = c_fact_datum
|
||
ORDER BY f.fin_factuur_key)
|
||
LOOP
|
||
FIN.matchandsetfactuur (rc.factuur_key, FALSE);
|
||
--COMMIT;
|
||
END LOOP;
|
||
|
||
-- UWVA#19018: Notificeer niet goedgekeurde facturen naar de budgethouders
|
||
-- (1 mail per persoon). Hierbij maakt het niet veel uit of ze net zijn
|
||
-- geimporteerd of al eerder (of handmatig ingevoerd). Medium wordt bepaald
|
||
-- door mode bij FININF.
|
||
fac.putjobnotifications ('uwva_v_noti_finreminder', NULL, 0);
|
||
|
||
--SELECT COUNT ( * )
|
||
-- INTO c_i
|
||
-- FROM imp_log
|
||
-- WHERE fac_import_key = p_import_key AND imp_log_status IN ('E', 'W');
|
||
|
||
IF c_rollback = TRUE
|
||
THEN
|
||
uwva_imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
'Importproces facturen afgebroken!');
|
||
ROLLBACK;
|
||
ELSE
|
||
COMMIT;
|
||
END IF;
|
||
|
||
|
||
-- Stap 8: Voeg de soort factuurregel toe aan de factuurregel
|
||
INSERT INTO fin_kenmerkfactregel r (r.fin_kenmerk_key, r.fin_factuurregel_key, r.fin_kenmerkfactregel_waarde)
|
||
SELECT DISTINCT 1, i.fin_factuurregel_key, s.factuurreg_soort_code
|
||
FROM fac_usrdata u, uwva_v_factuurreg_soort s, fac_imp_factuur i
|
||
WHERE u.fac_usrtab_key IN (1225, 1227)
|
||
AND u.fac_usrdata_key = s.factuurreg_soort_code
|
||
AND i.kenmerk1 = to_number (u.fac_usrdata_code)
|
||
AND u.fac_usrdata_verwijder IS NULL
|
||
AND fac_import_key = p_import_key;
|
||
|
||
-- Stap 9: voeg het regelnummer uit de leasefactuur toe aan de factuur in Facilitor
|
||
INSERT INTO fin_kenmerkfactregel r (r.fin_kenmerk_key, r.fin_factuurregel_key, r.fin_kenmerkfactregel_waarde)
|
||
SELECT DISTINCT 2, i.fin_factuurregel_key, i.kenmerk3
|
||
FROM fac_imp_factuur i
|
||
WHERE fac_import_key = p_import_key;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE FORCE VIEW UWVA_V_RAP_CONTR_KPL
|
||
(
|
||
LEASECONTRACT,
|
||
KP_LEASECONTRACT,
|
||
KP_OMSCHRIJVING_LC,
|
||
GEBRUIKERSOVEREENKOMST,
|
||
KP_GEBRUIKERSOVEREENKOMST,
|
||
KP_OMSCHRIJVING_GO,
|
||
MEDEWERKER_ID,
|
||
NAAM,
|
||
KP_MEDEWERKER,
|
||
KP_OMSCHRIJVING_MDW,
|
||
CONTROLE_KPL
|
||
)
|
||
AS
|
||
SELECT L.CNT_CONTRACT_NUMMER_INTERN,
|
||
KL.PRS_KOSTENPLAATS_UPPER,
|
||
KL.PRS_KOSTENPLAATS_OMSCHRIJVING,
|
||
G.CNT_CONTRACT_NUMMER_INTERN,
|
||
KG.PRS_KOSTENPLAATS_UPPER,
|
||
KG.PRS_KOSTENPLAATS_OMSCHRIJVING,
|
||
P.PRS_PERSLID_NR,
|
||
N.PRS_PERSLID_NAAM_FRIENDLY,
|
||
KP.PRS_KOSTENPLAATS_UPPER,
|
||
KP.PRS_KOSTENPLAATS_OMSCHRIJVING,
|
||
CASE
|
||
WHEN ( KL.PRS_KOSTENPLAATS_UPPER <> KG.PRS_KOSTENPLAATS_UPPER
|
||
OR KG.PRS_KOSTENPLAATS_UPPER <> KP.PRS_KOSTENPLAATS_UPPER
|
||
OR KL.PRS_KOSTENPLAATS_UPPER <> KP.PRS_KOSTENPLAATS_UPPER)
|
||
THEN
|
||
'Onjuist'
|
||
ELSE
|
||
'Juist'
|
||
END
|
||
FROM CNT_CONTRACT L,
|
||
PRS_KOSTENPLAATS KL,
|
||
CNT_CONTRACT G,
|
||
PRS_KOSTENPLAATS KG,
|
||
PRS_PERSLID P,
|
||
PRS_V_PERSLID_FULLNAMES_ALL N,
|
||
PRS_AFDELING A,
|
||
PRS_KOSTENPLAATS KP
|
||
WHERE L.INS_DISCIPLINE_KEY = 425
|
||
AND G.INS_DISCIPLINE_KEY = 426
|
||
AND L.PRS_KOSTENPLAATS_KEY = KL.PRS_KOSTENPLAATS_KEY
|
||
AND G.PRS_KOSTENPLAATS_KEY = KG.PRS_KOSTENPLAATS_KEY
|
||
AND L.CNT_CONTRACT_NUMMER_INTERN = LPAD (G.CNT_CONTRACT_NUMMER_INTERN, 6)
|
||
AND G.CNT_PRS_PERSLID_KEY = P.PRS_PERSLID_KEY
|
||
AND P.PRS_PERSLID_KEY = N.PRS_PERSLID_KEY
|
||
AND P.PRS_AFDELING_KEY = A.PRS_AFDELING_KEY
|
||
AND A.PRS_KOSTENPLAATS_KEY = KP.PRS_KOSTENPLAATS_KEY
|
||
AND L.CNT_CONTRACT_LOOPTIJD_TOT > SYSDATE
|
||
AND G.CNT_CONTRACT_LOOPTIJD_VAN <= SYSDATE
|
||
AND G.CNT_CONTRACT_LOOPTIJD_TOT > SYSDATE;
|
||
|
||
CREATE OR REPLACE VIEW UWVA_V_RAP_SALARIS_INH
|
||
(
|
||
JAAR,
|
||
PERIODE,
|
||
PNR,
|
||
NAAM,
|
||
OMSCHRIJVING,
|
||
BEDRAGINCLBTW,
|
||
REKENINGNR,
|
||
KENTEKEN
|
||
)
|
||
AS
|
||
SELECT (TO_CHAR (F.FIN_FACTUUR_DATUM, 'YYYY')),
|
||
(TO_CHAR (F.FIN_FACTUUR_DATUM, 'MM')),
|
||
P.PRS_PERSLID_NR,
|
||
N.PRS_PERSLID_NAAM_FULL,
|
||
K.PRS_KOSTENSOORT_REFCODE,
|
||
F.FIN_FACTUUR_TOTAAL + F.FIN_FACTUUR_TOTAAL_BTW,
|
||
K.PRS_KOSTENSOORT_OMS,
|
||
O.INS_DEEL_OMSCHRIJVING
|
||
FROM FIN_FACTUUR F,
|
||
CNT_CONTRACT C,
|
||
PRS_PERSLID P,
|
||
PRS_V_PERSLID_FULLNAMES_ALL N,
|
||
PRS_KOSTENSOORT K,
|
||
CNT_CONTRACT_OBJECT A,
|
||
INS_DEEL O,
|
||
INS_TAB_DISCIPLINE D
|
||
WHERE F.CNT_CONTRACT_KEY = C.CNT_CONTRACT_KEY
|
||
AND C.CNT_PRS_PERSLID_KEY = P.PRS_PERSLID_KEY
|
||
AND P.PRS_PERSLID_KEY = N.PRS_PERSLID_KEY
|
||
AND D.PRS_KOSTENSOORT_KEY = K.PRS_KOSTENSOORT_KEY
|
||
AND C.CNT_CONTRACT_KEY = A.CNT_CONTRACT_KEY
|
||
AND A.CNT_INS_DEEL_KEY = O.INS_DEEL_KEY
|
||
AND C.INS_DISCIPLINE_KEY = D.INS_DISCIPLINE_KEY
|
||
AND D.PRS_KOSTENSOORT_KEY = 382;
|
||
|
||
CREATE OR REPLACE FORCE VIEW UWVA_V_FACTUURREG_SOORT
|
||
(
|
||
FACTUURREG_SOORT_CODE,
|
||
FACTUURREG_SOORT_OMSCHR
|
||
)
|
||
AS
|
||
SELECT U.FAC_USRDATA_KEY,
|
||
CONCAT (U.FAC_USRDATA_CODE, (CONCAT (' ', U.FAC_USRDATA_OMSCHR)))
|
||
FROM FAC_USRDATA U
|
||
WHERE U.FAC_USRTAB_KEY IN (1225, 1227)
|
||
AND U.FAC_USRDATA_VERWIJDER IS NULL;
|
||
|
||
BEGIN DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE); END;
|
||
/
|
||
BEGIN adm.systrackscriptId('$Id$', 0); END;
|
||
/
|
||
COMMIT;
|
||
spool off
|