7800 lines
421 KiB
MySQL
7800 lines
421 KiB
MySQL
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific db-configuration for BLCC.
|
||
DEFINE thisfile = 'BLCC.SQL'
|
||
DEFINE dbuser = '^BLCC'
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SPOOL &fcltlogfile
|
||
SET DEFINE OFF
|
||
|
||
------ payload begin ------
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_import_log
|
||
(
|
||
fclt_f_applicatie,
|
||
datum,
|
||
fclt_f_status,
|
||
omschrijving,
|
||
hint
|
||
)
|
||
AS
|
||
SELECT COALESCE (fac_import_app_code, imp_log_applicatie),
|
||
TO_CHAR (imp_log_datum, 'dd-mm-yyyy hh24:mi'),
|
||
imp_log_status,
|
||
imp_log_omschrijving,
|
||
imp_log_hint
|
||
FROM imp_log il1, fac_import fi1, fac_import_app fia1
|
||
WHERE il1.fac_import_key = fi1.fac_import_key(+)
|
||
AND fi1.fac_import_app_key = fia1.fac_import_app_key(+)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM imp_log il2, fac_import fi2
|
||
WHERE il2.fac_import_key = fi2.fac_import_key
|
||
AND fi2.fac_import_app_key = fi1.fac_import_app_key
|
||
AND il2.fac_import_key > il1.fac_import_key);
|
||
|
||
/* Formatted on 5-1-2016 18:32:28 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_rap_cat_frozenplus
|
||
(
|
||
fclt_x_verwerkt,
|
||
fclt_f_debiteur,
|
||
fclt_f_organisatie,
|
||
locatie,
|
||
ruimte,
|
||
datum,
|
||
tijd,
|
||
resnr,
|
||
activiteit,
|
||
omschrijving,
|
||
artikelnr,
|
||
artikelomschrijving,
|
||
aantal,
|
||
stuksprijs,
|
||
kosten,
|
||
fclt_f_besteller,
|
||
costcenter,
|
||
hide_f_kostenplaats
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (x.res_rsv_artikel_verwerkt, 'dd-mm-yyyy'), -- Verwerkt
|
||
COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr,
|
||
(SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = x.prs_afdeling_key)
|
||
deb_oms,
|
||
DECODE (x.alg_ruimte_key, NULL, 'Onbekend', rg.alg_gebouw_upper || '-' || rg.alg_verdieping_code || '-' || rg.alg_ruimte_nr)
|
||
afleveradres,
|
||
COALESCE (rr.res_ruimte_omschrijving, rg.alg_ruimte_omschrijving) ruimte,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'dd-mm-yyyy') datum,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'hh24:mi') tijd,
|
||
x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr,
|
||
x.res_activiteit_omschrijving activiteit,
|
||
x.res_rsv_ruimte_omschrijving omschrijving,
|
||
x.res_artikel_nr,
|
||
x.res_artikel_omschrijving,
|
||
x.res_rsv_artikel_aantal,
|
||
ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
stuksprijs,
|
||
x.res_rsv_artikel_aantal * ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
regeltotaal,
|
||
x.prs_perslid_naam_full,
|
||
(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key = 1)
|
||
costcenter,
|
||
x.prs_kostenplaats_nr || '-' || x.prs_kostenplaats_omschrijving
|
||
FROM (SELECT rra.res_rsv_artikel_verwerkt,
|
||
COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key)
|
||
res_ruimte_key,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
act.res_activiteit_omschrijving,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) prs_afdeling_key,
|
||
kl.prs_kenmerklink_waarde,
|
||
pf.prs_perslid_naam_full,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit act,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_activiteit_key = act.res_activiteit_key
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_status_bo_key = 6
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
|
||
LEFT JOIN res_ruimte rr
|
||
ON x.res_ruimte_key = rr.res_ruimte_key
|
||
LEFT JOIN alg_v_ruimte_gegevens_all rg
|
||
ON x.alg_ruimte_key = rg.alg_ruimte_key
|
||
UNION ALL
|
||
SELECT TO_CHAR (x.res_rsv_artikel_levering, 'yyyy-mm') || '*', -- Lopend
|
||
COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr,
|
||
(SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = x.prs_afdeling_key)
|
||
deb_oms,
|
||
DECODE (x.alg_ruimte_key, NULL, 'Onbekend', rg.alg_gebouw_upper || '-' || rg.alg_verdieping_code || '-' || rg.alg_ruimte_nr)
|
||
afleveradres,
|
||
COALESCE (rr.res_ruimte_nr, rg.alg_ruimte_omschrijving) ruimte,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'dd-mm-yyyy') datum,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'hh24:mi') tijd,
|
||
x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr,
|
||
x.res_activiteit_omschrijving activiteit,
|
||
x.res_rsv_ruimte_omschrijving omschrijving,
|
||
x.res_artikel_nr,
|
||
x.res_artikel_omschrijving,
|
||
x.res_rsv_artikel_aantal,
|
||
ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
stuksprijs,
|
||
x.res_rsv_artikel_aantal * ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
regeltotaal,
|
||
x.prs_perslid_naam_full,
|
||
(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key = 1)
|
||
costcenter,
|
||
x.prs_kostenplaats_nr || '-' || x.prs_kostenplaats_omschrijving
|
||
FROM (SELECT rra.res_rsv_artikel_verwerkt,
|
||
COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key)
|
||
res_ruimte_key,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
act.res_activiteit_omschrijving,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) prs_afdeling_key,
|
||
kl.prs_kenmerklink_waarde,
|
||
pf.prs_perslid_naam_full,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit act,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_activiteit_key = act.res_activiteit_key
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_status_bo_key != 6
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < SYSDATE
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
|
||
LEFT JOIN res_ruimte rr
|
||
ON x.res_ruimte_key = rr.res_ruimte_key
|
||
LEFT JOIN alg_v_ruimte_gegevens_all rg
|
||
ON x.alg_ruimte_key = rg.alg_ruimte_key;
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_cat_frozen
|
||
(
|
||
fclt_f_exportjob,
|
||
fclt_f_bedrijf,
|
||
afleveradres,
|
||
fclt_f_afleverdatum,
|
||
tijdstip,
|
||
bestelnummer,
|
||
fclt_f_artikelnummer,
|
||
artikelomschrijving,
|
||
interne_artikelprijs,
|
||
aantal,
|
||
kosten,
|
||
fclt_f_besteller,
|
||
costcenter,
|
||
afdeling,
|
||
fclt_3d_afdeling_key
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (x.res_rsv_artikel_verwerkt, 'dd-mm-yyyy') verwerkt,
|
||
COALESCE (x.prs_bedrijf_naam,
|
||
DECODE (FLOOR (x.ins_discipline_volgnr / 1000),
|
||
1, 'Sodexo BV', -- BCC t/m 27-08-2016
|
||
3, 'Verde', -- SSC (in 2016 per abuis RESVER)
|
||
'???'))
|
||
bedrijf,
|
||
DECODE (
|
||
x.alg_ruimte_key,
|
||
NULL, 'Onbekend',
|
||
rg.alg_locatie_code
|
||
|| '-'
|
||
|| rg.alg_gebouw_upper
|
||
|| '-'
|
||
|| rg.alg_verdieping_code
|
||
|| '-'
|
||
|| rg.alg_ruimte_nr
|
||
|| ' ('
|
||
|| rg.alg_ruimte_omschrijving
|
||
|| ')')
|
||
afleveradres,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'dd-mm-yyyy') datum,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'hh24:mi') tijd,
|
||
x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr bestelnr,
|
||
x.res_artikel_nr,
|
||
x.res_artikel_omschrijving,
|
||
ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5) interneprijs,
|
||
x.res_rsv_artikel_aantal,
|
||
ROUND (x.res_rsv_artikel_prijs, 5) regeltotaal,
|
||
x.prs_perslid_naam_full,
|
||
(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key = 1)
|
||
costcenter,
|
||
x.prs_kostenplaats_nr || '-' || x.prs_kostenplaats_omschrijving afd,
|
||
COALESCE (x.prs_afdeling_key,
|
||
DECODE (FLOOR (x.ins_discipline_volgnr / 1000),
|
||
1, 225, -- BCC t/m 27-08-2016/Sodexo
|
||
3, 621, -- SSC/Verde (in 2016 per abuis RESVER)
|
||
-1))
|
||
afdeling_key
|
||
FROM (SELECT rra.res_rsv_artikel_verwerkt,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
td.ins_discipline_volgnr, -- Ter bepaling leverancier/DEPRECATED!
|
||
b.prs_bedrijf_naam,
|
||
a.prs_afdeling_key,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
pf.prs_perslid_naam_full,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline td,
|
||
res_disc_params dp,
|
||
prs_bedrijf b,
|
||
prs_afdeling a,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
--AND rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_status_bo_key = 6
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = td.ins_discipline_key
|
||
AND td.ins_discipline_key = dp.res_ins_discipline_key
|
||
AND dp.prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND b.prs_leverancier_nr = a.prs_afdeling_naam(+)
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
|
||
LEFT JOIN
|
||
alg_v_ruimte_gegevens_all rg
|
||
ON x.alg_ruimte_key = rg.alg_ruimte_key;
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE blcc_add_xml_row (p_bestand IN VARCHAR2,
|
||
p_regel IN VARCHAR2)
|
||
AS
|
||
v_index NUMBER;
|
||
BEGIN
|
||
SELECT COALESCE (MAX (fac_rapport_volgnr), 0) + 1
|
||
INTO v_index
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node = p_bestand;
|
||
|
||
INSERT INTO fac_rapport (fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel)
|
||
VALUES (p_bestand, v_index, p_regel);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE blcc_add_xml_element (p_bestand IN VARCHAR2,
|
||
p_tag IN VARCHAR2,
|
||
p_value IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
blcc_add_xml_row (
|
||
p_bestand,
|
||
'<'
|
||
|| p_tag
|
||
|| '>'
|
||
|| xml.char_to_html (p_value)
|
||
|| '</'
|
||
|| p_tag
|
||
|| '>');
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_export_proquro (result, result_order)
|
||
AS
|
||
SELECT fac_rapport_regel, fac_rapport_volgnr
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node = 'PROQURO';
|
||
|
||
/* Formatted on 11-9-2015 11:12:48 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE blcc_select_proquro (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- Markeren te exporteren opdracht-verplichtingen (via ordernr)!
|
||
CURSOR c1
|
||
IS
|
||
SELECT '[' || TO_CHAR (o.mld_melding_key) || '|' || TO_CHAR (o.mld_opdr_key) || '] '
|
||
aanduiding,
|
||
o.mld_opdr_key
|
||
FROM mld_opdr o
|
||
WHERE o.mld_opdr_ordernr IS NULL -- Geen ordernr, dus bijwerken!
|
||
AND o.mld_statusopdr_key = 9 -- Afgerond
|
||
--AND o.mld_opdr_kosten > 0 -- Allemaal, ook als kosten=0
|
||
AND o.mld_typeopdr_key != 103 -- Geen RFQs
|
||
ORDER BY 1;
|
||
|
||
-- Markeren te exporteren catering-verplichtingen (via RESAFM/RESVER)!
|
||
-- LET OP: Maandelijks in de nacht na de 1e werkdag van de maand.
|
||
-- BLCC#38809: SCC uitsluiten (alleen regels als volgnr 1000 t/m 2999)!
|
||
-- Per oktober-doorbelasting alleen nog maar catalogi meenemen die zijn
|
||
-- gekoppeld aan een bedrijf (voor de locatie CAMPUS).
|
||
-- Sortering van belang, want eerst catering-regels afmelden/verwerken
|
||
-- en daarna pas de ruimte-regels.
|
||
CURSOR c2
|
||
IS
|
||
SELECT '[' || TO_CHAR (rrr.res_rsv_ruimte_key) || '] '
|
||
aanduiding,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL res_rsv_artikel_key,
|
||
rrr.res_status_bo_key,
|
||
NULL res_artikel_key
|
||
FROM res_v_aanwezigrsv_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,
|
||
alg_v_allonroerendgoed aog
|
||
--res_ruimte rr,
|
||
--res_discipline rd,
|
||
--res_disc_params dp
|
||
WHERE rrr.res_activiteit_key = 130 -- Evenement
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
--AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
--AND rr.res_discipline_key = rd.ins_discipline_key
|
||
--AND rd.ins_discipline_key = dp.res_ins_discipline_key
|
||
--AND dp.prs_bedrijf_key IS NOT NULL
|
||
AND rrr.res_status_bo_key != 6 -- Niet Verwerkt, dus verwerken!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_rsv_ruimte_van > TO_DATE ('20170901', 'yyyymmdd')
|
||
AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE, 'mm') -- Voor 1e
|
||
UNION ALL
|
||
SELECT '[' || TO_CHAR (rra.res_rsv_ruimte_key) || '|' || TO_CHAR (rra.res_rsv_artikel_key) || '] '
|
||
aanduiding,
|
||
rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_key,
|
||
rra.res_status_bo_key,
|
||
rra.res_artikel_key
|
||
FROM res_v_aanwezigrsv_artikel rra,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
res_artikel ra,
|
||
res_discipline rd,
|
||
res_disc_params dp
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- ???
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
AND rd.ins_discipline_key = dp.res_ins_discipline_key
|
||
AND dp.prs_bedrijf_key IS NOT NULL
|
||
AND rra.res_status_bo_key != 6 -- Niet Verwerkt, dus verwerken!
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') -- Voor 1e
|
||
ORDER BY 3, 2;
|
||
|
||
-- Wegschrijven te exporteren verplichting-regels (= factuur naar ProQuro).
|
||
-- BLCC#38809: SCC uitsluiten (alleen regels als volgnr 1000 t/m 2999)!
|
||
-- Per oktober-doorbelasting alleen nog maar catalogi meenemen die zijn
|
||
-- gekoppeld aan een bedrijf (voor de locatie CAMPUS).
|
||
CURSOR c3
|
||
IS -- Regel per Afgeronde mld_opdr zojuist gemarkeerd!
|
||
SELECT sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (o.mld_melding_key)
|
||
|| '/'
|
||
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
||
externalid,
|
||
p.prs_perslid_nr, -- AdministrationExternalId
|
||
kp.prs_kostenplaats_nr costcentre, -- CostcentreExternalId
|
||
b.prs_leverancier_nr,
|
||
'FACILITOR Ref.nr. '
|
||
|| sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (o.mld_melding_key)
|
||
|| '/'
|
||
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
||
|| ' ('
|
||
|| td.ins_discipline_omschrijving
|
||
|| '-'
|
||
|| sm.mld_stdmelding_omschrijving
|
||
|| ')'
|
||
omschrijving,
|
||
o.mld_opdr_kosten price,
|
||
TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key), 'yyyy-mm-dd')
|
||
deliverydate,
|
||
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms)
|
||
costtype, -- CostTypeExternalId
|
||
DECODE (aog.alg_gebouw_code,
|
||
NULL, 'C-0000-000-00',
|
||
'122-001N', 'C-0122-001-01',
|
||
'122-00TW', 'C-0122-000-00',
|
||
'122-03B', 'C-0122-003-01',
|
||
'122-32A', 'C-0122-032-01',
|
||
'122-93A', 'C-0122-093-01',
|
||
'122-93B', 'C-0122-093-02', -- ???
|
||
'122-93C', 'C-0122-093-03',
|
||
'122-93D', 'C-0122-093-04',
|
||
'122-93E', 'C-0122-093-05', -- ???
|
||
'122-94A', 'C-0122-094-01',
|
||
'122-94B', 'C-0122-094-02',
|
||
'124-037Itter', 'C-0122-037-00',
|
||
'C-0' || aog.alg_gebouw_code || '-00')
|
||
costproject -- CostProjectExternalId
|
||
FROM mld_opdr o,
|
||
--fac_tracking t,
|
||
mld_melding m,
|
||
alg_v_allonrgoed_gegevens aog,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv,
|
||
prs_kostenplaats kp,
|
||
prs_bedrijf b,
|
||
prs_perslid p
|
||
WHERE SUBSTR (o.mld_opdr_ordernr, 1, 10) = TO_CHAR (SYSDATE, 'yyyy-mm-dd')
|
||
--AND o.mld_statusopdr_key = 9 -- Afgerond
|
||
--AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
--AND t.fac_srtnotificatie_key = 70 -- ORDAFR
|
||
--AND t.fac_tracking_datum < TRUNC (SYSDATE, 'mm') -- Voor 1e
|
||
AND o.mld_opdr_kosten > 0
|
||
AND o.mld_typeopdr_key != 103 -- Geen RFQs
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND p.prs_perslid_key(+) = 101
|
||
UNION ALL -- Somregel alle Verwerkte res_rsv_artikel zojuist gemarkeerd (excl. kosten tbv. Chemelot Campus B.V.)
|
||
SELECT 'BPV' || TO_CHAR (b.prs_bedrijf_key) || '/' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyymm'),
|
||
p.prs_perslid_nr, -- AdministrationExternalId
|
||
'50800' costcentre, -- CostcentreExternalId
|
||
b.prs_leverancier_nr,
|
||
'Cateringkosten ' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm')
|
||
omschrijving,
|
||
--SUM (rra.res_rsv_artikel_prijs / rra.res_rsv_artikel_aantal)
|
||
SUM (rra.res_rsv_artikel_prijs - (rra.res_rsv_artikel_aantal * COALESCE (ra.res_artikel_inkoopprijs, 0)))
|
||
price,
|
||
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm-dd')
|
||
deliverydate, -- Laatste dag voorgaande maand
|
||
'4181' costtype, -- CostTypeExternalId
|
||
NULL costproject
|
||
FROM res_v_aanwezigrsv_artikel rra,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
res_artikel ra,
|
||
res_discipline rd,
|
||
res_disc_params dp,
|
||
prs_bedrijf b,
|
||
prs_perslid p
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key != 701 -- Korting catering NIET naar PQ!
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
AND rd.ins_discipline_key = dp.res_ins_discipline_key
|
||
AND dp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
--AND rra.res_status_bo_key = 6
|
||
AND TRUNC (rra.res_rsv_artikel_verwerkt) = TRUNC (SYSDATE)
|
||
AND p.prs_perslid_key(+) = 101 -- Pseudo-user
|
||
GROUP BY 'BPV' || TO_CHAR (b.prs_bedrijf_key) || '/' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyymm'),
|
||
p.prs_perslid_nr,
|
||
'50800',
|
||
b.prs_leverancier_nr,
|
||
'Cateringkosten ' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm'),
|
||
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm-dd'),
|
||
'4181'
|
||
UNION ALL -- Somregel alle Verwerkte res_rsv_artikel zojuist gemarkeerd te factureren door Chemelot Campus B.V.!
|
||
SELECT 'BPV' || '11231/' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyymm'),
|
||
p.prs_perslid_nr, -- AdministrationExternalId
|
||
'50800' costcentre, -- CostcentreExternalId
|
||
'1052',
|
||
'Cateringkosten ' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm')
|
||
omschrijving,
|
||
SUM (rra.res_rsv_artikel_aantal * ra.res_artikel_inkoopprijs)
|
||
price,
|
||
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm-dd')
|
||
deliverydate, -- Laatste dag voorgaande maand
|
||
'4181' costtype, -- CostTypeExternalId
|
||
NULL costproject
|
||
FROM res_v_aanwezigrsv_artikel rra,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
res_artikel ra,
|
||
prs_perslid p
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key != 701 -- Korting catering NIET naar PQ!
|
||
AND ra.res_artikel_inkoopprijs IS NOT NULL
|
||
--AND rra.res_status_bo_key = 6
|
||
AND TRUNC (rra.res_rsv_artikel_verwerkt) = TRUNC (SYSDATE)
|
||
AND p.prs_perslid_key(+) = 101 -- Pseudo-user
|
||
GROUP BY 'BPV' || '11231/' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyymm'),
|
||
p.prs_perslid_nr,
|
||
'50800',
|
||
'1052',
|
||
'Cateringkosten ' || TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm'),
|
||
TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm-dd'),
|
||
'4181'
|
||
ORDER BY 1;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_holiday NUMBER;
|
||
v_prijs NUMBER (9, 2);
|
||
v_bestand VARCHAR2 (12);
|
||
v_order_count NUMBER;
|
||
v_amount_sum NUMBER (10, 2);
|
||
BEGIN
|
||
v_bestand := SUBSTR (p_applname, 1, 12);
|
||
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
DELETE fac_rapport
|
||
WHERE fac_rapport_node = v_bestand;
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout bijwerken mld_opdr';
|
||
|
||
UPDATE mld_opdr
|
||
SET mld_opdr_ordernr = TO_CHAR (SYSDATE, 'yyyy-mm-dd hh24:mi:ss')
|
||
WHERE mld_opdr_key = rec.mld_opdr_key;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.writelog (p_applname,
|
||
'W',
|
||
rec.aanduiding || v_errormsg,
|
||
'Opdracht-verplichtingen');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_holiday
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1);
|
||
|
||
-- LET OP: ProQuro-export draait dagelijks na middernacht (begin van dag) en
|
||
-- voor de catering-verplichtingen is afgesproken dat deze maandelijks in de
|
||
-- nacht na 1e werkdag van de maand worden verwerkt.
|
||
-- IF nacht na 1e werkdag van de maand (<28>n geen weekend <20>n geen vrije dag)!
|
||
-- count_work_days (d1,d2) bepaalt het #werkdagen van d1 tot d2 (als d1=d2,
|
||
-- dan return 0); daarom bepalen tov. laatste dag van vorige maand!
|
||
IF FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 1
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND v_holiday = 0
|
||
THEN
|
||
FOR rec IN c2
|
||
LOOP
|
||
BEGIN
|
||
IF rec.res_rsv_artikel_key IS NOT NULL
|
||
THEN -- Catering-regel
|
||
IF rec.res_status_bo_key = 2
|
||
THEN
|
||
v_errormsg := 'Fout bepalen res_rsv_artikel_prijs';
|
||
|
||
SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
|
||
INTO v_prijs
|
||
FROM DUAL;
|
||
|
||
v_errormsg := 'Fout afmelden res_rsv_artikel';
|
||
|
||
UPDATE res_rsv_artikel
|
||
SET res_status_bo_key = 5,
|
||
res_rsv_artikel_prijs = v_prijs,
|
||
res_rsv_artikel_inkoopprijs =
|
||
(SELECT res_artikel_inkoopprijs
|
||
FROM res_artikel
|
||
WHERE res_artikel_key = rec.res_artikel_key),
|
||
res_rsv_artikel_btw =
|
||
(SELECT res_artikel_btw
|
||
FROM res_artikel
|
||
WHERE res_artikel_key = rec.res_artikel_key)
|
||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
|
||
v_errormsg := 'Fout tracken afmelding';
|
||
|
||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering afgemeld');
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout verwerken res_rsv_artikel';
|
||
|
||
UPDATE res_rsv_artikel
|
||
SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-date)
|
||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
|
||
v_errormsg := 'Fout tracken verwerking';
|
||
|
||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering verwerkt');
|
||
ELSE -- Ruimte-regel
|
||
IF rec.res_status_bo_key = 2
|
||
THEN
|
||
v_errormsg := 'Fout bepalen res_rsv_ruimte_prijs';
|
||
|
||
SELECT res.getruimteprijs (rec.res_rsv_ruimte_key)
|
||
INTO v_prijs
|
||
FROM DUAL;
|
||
|
||
v_errormsg := 'Fout afmelden res_rsv_ruimte';
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_status_bo_key = 5,
|
||
res_rsv_ruimte_prijs = v_prijs
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
v_errormsg := 'Fout tracken afmelding';
|
||
|
||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout verwerken res_rsv_ruimte';
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_status_bo_key = 6 -- AV
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
v_errormsg := 'Fout tracken verwerking';
|
||
|
||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
|
||
END IF;
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'W', rec.aanduiding || v_errormsg, 'Catering-verplichtingen');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
END IF;
|
||
|
||
v_order_count := 0;
|
||
v_amount_sum := 0;
|
||
FOR rec IN c3
|
||
LOOP
|
||
BEGIN
|
||
v_order_count := v_order_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.price;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF v_order_count > 0
|
||
THEN
|
||
--blcc_add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>'); -- ???
|
||
blcc_add_xml_row (v_bestand, '<Orders>');
|
||
FOR rec IN c3
|
||
LOOP
|
||
BEGIN
|
||
--blcc_add_xml_row (v_bestand, '<AddOrder>');
|
||
blcc_add_xml_row (v_bestand, '<Order>');
|
||
--blcc_add_xml_element (v_bestand, 'securityKey', 'xxx');
|
||
--blcc_add_xml_row (v_bestand, '<parms>');
|
||
blcc_add_xml_element (v_bestand, 'ExternalId', rec.externalid);
|
||
blcc_add_xml_element (v_bestand, 'AdministrationExternalId', rec.prs_perslid_nr); -- Personeelsnummer van API-user
|
||
blcc_add_xml_element (v_bestand, 'OrderTypeId', '9'); -- Hard op '9'
|
||
blcc_add_xml_element (v_bestand, 'ProcessExternalId', '7'); -- Hard op '7'
|
||
blcc_add_xml_element (v_bestand, 'CostcentreExternalId', rec.costcentre); -- Kostenplaats van opdracht
|
||
blcc_add_xml_element (v_bestand, 'ProductgroupExternalId', '1'); -- Hard op '1'
|
||
blcc_add_xml_element (v_bestand, 'SupplierExternalId', rec.prs_leverancier_nr);
|
||
blcc_add_xml_element (v_bestand, 'ProForma', 'False'); -- Hard op 'False'
|
||
blcc_add_xml_row (v_bestand, '<OrderLines>');
|
||
blcc_add_xml_row (v_bestand, '<OrderLine>');
|
||
blcc_add_xml_element (v_bestand, 'LineId', '1'); -- Hard op '1'
|
||
--blcc_add_xml_element (v_bestand, 'ArticleSupplierExternalId', '');
|
||
blcc_add_xml_element (v_bestand, 'ProductName', rec.omschrijving);
|
||
blcc_add_xml_element (v_bestand, 'Quantity', '1'); -- Hard op '1'
|
||
blcc_add_xml_element (v_bestand, 'Price', TO_CHAR (rec.price));
|
||
blcc_add_xml_element (v_bestand, 'CurrencyExternalId', 'EUR'); -- Hard op 'EUR'
|
||
blcc_add_xml_element (v_bestand, 'OrderUnitExternalId', 'Stuks'); -- Hard op 'Stuks'
|
||
blcc_add_xml_element (v_bestand, 'VatExternalId', 'IH'); -- Hard op 'IH'
|
||
blcc_add_xml_element (v_bestand, 'DeliveryDate', rec.deliverydate); -- ORDAFM of laatste dag van maand voor RES
|
||
blcc_add_xml_element (v_bestand, 'CostTypeExternalId', rec.costtype); -- Kostensoort uit soortmelding
|
||
blcc_add_xml_element (v_bestand, 'CostProjectExternalId', rec.costproject); -- Transformatie van MLD-Gebouwcode
|
||
blcc_add_xml_row (v_bestand, '</OrderLine>');
|
||
blcc_add_xml_row (v_bestand, '</OrderLines>');
|
||
--blcc_add_xml_row (v_bestand, '</parms>');
|
||
--blcc_add_xml_row (v_bestand, '</AddOrder>');
|
||
blcc_add_xml_row (v_bestand, '</Order>');
|
||
END;
|
||
END LOOP;
|
||
blcc_add_xml_row (v_bestand, '</Orders>');
|
||
END IF;
|
||
|
||
fac.writelog (p_applname, 'S', 'ProQuro export/#regels: ' || TO_CHAR (v_order_count), TO_CHAR (v_amount_sum));
|
||
END;
|
||
/
|
||
|
||
|
||
--BLCC#38809: SSC uitsluiten:
|
||
-- - Voor opdrachten gaat dat goed, want Doorbelasten-vinkje alleen
|
||
-- gebruikt binnen BCC (niet helemaal toekomstvast)!
|
||
-- - Voor reserveringen alleen regels als volgnr 1000 t/m 2999!
|
||
/* Formatted on 11-9-2015 9:16:18 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_rap_tf_actual
|
||
(
|
||
fclt_x_maand,
|
||
fclt_x_debiteur,
|
||
factuurtype,
|
||
debiteur,
|
||
nummer,
|
||
factuurdatum,
|
||
vervaldatum,
|
||
kop,
|
||
voet,
|
||
valuta,
|
||
aantal,
|
||
artikel,
|
||
subartikel,
|
||
omschrijving,
|
||
lev_kosten_excl,
|
||
mngmnt_fee_excl,
|
||
artikelprijs_excl,
|
||
artikelprijs_incl,
|
||
btw,
|
||
grootboek,
|
||
vrij_tekstveld_1,
|
||
vrij_tekstveld_2,
|
||
vrij_tekstveld_3
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (t.fac_tracking_datum, 'yyyy-mm'),
|
||
(SELECT prs_afdeling_omschrijving
|
||
|| ' ['
|
||
|| kl.prs_kenmerklink_waarde
|
||
|| ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
'FACTUUR',
|
||
kl.prs_kenmerklink_waarde, -- Debiteur
|
||
NULL,
|
||
'Lopend',
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'EUR',
|
||
1,
|
||
0, -- Eenmalig artikel
|
||
NULL,
|
||
sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (o.mld_melding_key)
|
||
|| '/'
|
||
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
||
|| ' ['
|
||
|| td.ins_discipline_omschrijving
|
||
|| '/'
|
||
|| sm.mld_stdmelding_omschrijving
|
||
|| ']'
|
||
|| DECODE (km.mld_kenmerkmelding_waarde, NULL, '', ' (=' || km.mld_kenmerkmelding_waarde || ')'),
|
||
ROUND (o.mld_opdr_kosten, 2), -- Opdracht bedrag
|
||
ROUND (o.mld_opdr_kosten * 0.065, 2), -- Management fee 6,5%
|
||
ROUND (o.mld_opdr_kosten * 1.065, 2), -- Totaal bedrag
|
||
NULL,
|
||
'VH',
|
||
COALESCE (ksm.prs_kostensoort_refcode, ksv.prs_kostensoort_refcode),
|
||
km.mld_kenmerkmelding_waarde,
|
||
NULL,
|
||
NULL
|
||
FROM mld_opdr o,
|
||
fac_tracking t,
|
||
mld_melding m,
|
||
(SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde
|
||
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 281) km, -- Refnr. aanvrager
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
alg_v_allonrgoed_gegevens og,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv,
|
||
prs_kostenplaats kp,
|
||
prs_bedrijf b
|
||
WHERE o.mld_statusopdr_key = 9 -- Afgerond
|
||
--AND o.mld_opdr_ordernr IS NULL -- Sommige wel, sommige niet!
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 70 -- ORDAFR
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_melding_key = km.mld_melding_key(+)
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
--AND kp.prs_kostenplaats_upper LIKE '50900%'
|
||
AND SUBSTR (kp.prs_kostenplaats_upper, 1, 5) = '50900'
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
UNION ALL -- "Normale" catering gegroepeerd per debiteur/kostensoort
|
||
SELECT TO_CHAR (reslev, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
'FACTUUR',
|
||
debiteur,
|
||
NULL,
|
||
'Lopend',
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'EUR',
|
||
1,
|
||
0, -- Eenmalig artikel
|
||
NULL,
|
||
'Cateringkosten ' || TO_CHAR (reslev, 'yyyy-mm'),
|
||
SUM (verw_prijs),
|
||
NULL,
|
||
SUM (verw_prijs),
|
||
NULL,
|
||
'VH',
|
||
prs_kostensoort_refcode,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM (SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
res_id,
|
||
kl.prs_kenmerklink_waarde debiteur,
|
||
(SELECT prs_afdeling_omschrijving
|
||
|| ' ['
|
||
|| kl.prs_kenmerklink_waarde
|
||
|| ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
ks.prs_kostensoort_refcode,
|
||
res_rsv_artikel_key res_item_key,
|
||
rra.res_rsv_artikel_levering reslev,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd,
|
||
res_disc_params dp,
|
||
prs_bedrijf b,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_activiteit_key != 130 -- Anders dan Evenement
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
--AND rra.res_status_bo_key = 5 Sommige wel, sommige niet!
|
||
--AND (rra.res_rsv_artikel_verwerkt IS NULL
|
||
-- OR rra.res_rsv_artikel_verwerkt > SYSDATE - 5) -- Op 5e Verwerkt en pas op 10e naar Twinfield!
|
||
AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
--AND rd.ins_discipline_volgnr >= 1000 -- Gedefinieerde catalogi
|
||
--AND rd.ins_discipline_volgnr <= 2999 -- 1Sodexo/2Hutten/3VerdeNIET
|
||
AND rd.ins_discipline_key = dp.res_ins_discipline_key
|
||
AND dp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND (b.prs_bedrijf_key = 4581 -- Hutten Business Catering
|
||
OR (b.prs_bedrijf_key != 4581 AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd')))
|
||
--AND ks.prs_kostensoort_doorbelasten(+) = 1
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_rsv_artikel_levering < SYSDATE)
|
||
GROUP BY TO_CHAR (reslev, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
debiteur,
|
||
prs_kostensoort_refcode
|
||
UNION ALL -- Ruimte+Catering gegroepeerd per evenement/debiteur/kostensoort
|
||
SELECT TO_CHAR (reslev, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
'FACTUUR',
|
||
debiteur,
|
||
NULL,
|
||
'Lopend',
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'EUR',
|
||
1,
|
||
0, -- Eenmalig artikel
|
||
NULL,
|
||
'Evenementkosten ' || res_id || ' - ' || res_voorziening,
|
||
SUM (COALESCE (verw_prijs, prijs)),
|
||
NULL,
|
||
SUM (COALESCE (verw_prijs, prijs)),
|
||
NULL,
|
||
'VH',
|
||
prs_kostensoort_refcode,
|
||
MIN (res_kenmerkreservering_waarde),
|
||
NULL,
|
||
NULL
|
||
FROM (SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
res_id,
|
||
kl.prs_kenmerklink_waarde debiteur,
|
||
(SELECT prs_afdeling_omschrijving
|
||
|| ' ['
|
||
|| kl.prs_kenmerklink_waarde
|
||
|| ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
ks.prs_kostensoort_refcode,
|
||
rrr.res_rsv_ruimte_key res_item_key,
|
||
'Ruimte ' || rr.res_ruimte_nr res_voorziening,
|
||
rrr.res_rsv_ruimte_van reslev,
|
||
rrr.res_rsv_ruimte_prijs - COALESCE (rrr.res_rsv_ruimte_korting, 0) verw_prijs,
|
||
res.getruimteprijs (rrr.res_rsv_ruimte_key) - COALESCE (rrr.res_rsv_ruimte_korting, 0) prijs,
|
||
kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigrsv_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,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
res_ruimte rr,
|
||
res_discipline rd,
|
||
prs_kostensoort ks,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager
|
||
WHERE rrr.res_activiteit_key = 130 -- Evenement
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
AND rr.res_discipline_key = rd.ins_discipline_key
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)
|
||
AND rrr.res_status_bo_key != 6 -- AV
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_rsv_ruimte_van > TO_DATE ('20170901', 'yyyymmdd')
|
||
AND rrr.res_rsv_ruimte_van < SYSDATE
|
||
UNION ALL -- Catering-regels
|
||
SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
res_id,
|
||
kl.prs_kenmerklink_waarde debiteur,
|
||
(SELECT prs_afdeling_omschrijving
|
||
|| ' ['
|
||
|| kl.prs_kenmerklink_waarde
|
||
|| ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
ks.prs_kostensoort_refcode,
|
||
rra.res_rsv_artikel_key res_item_key,
|
||
rd.ins_discipline_omschrijving res_voorziening,
|
||
rra.res_rsv_artikel_levering reslev,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs prijs,
|
||
kw.res_kenmerkreservering_waarde
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd,
|
||
res_disc_params dp,
|
||
prs_bedrijf b,
|
||
prs_kostensoort ks,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager
|
||
WHERE rrr.res_activiteit_key = 130 -- Evenement
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
--AND rra.res_status_bo_key = 5 Sommige wel, sommige niet!
|
||
--AND (rra.res_rsv_artikel_verwerkt IS NULL
|
||
-- OR rra.res_rsv_artikel_verwerkt > SYSDATE - 5) -- Op 5e Verwerkt en pas op 10e naar Twinfield!
|
||
AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
--AND rd.ins_discipline_volgnr >= 1000 -- Gedefinieerde catalogi
|
||
--AND rd.ins_discipline_volgnr <= 2999 -- 1Sodexo/2Hutten/3VerdeNIET
|
||
AND rd.ins_discipline_key = dp.res_ins_discipline_key
|
||
AND dp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
--AND ks.prs_kostensoort_doorbelasten(+) = 1
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < SYSDATE)
|
||
GROUP BY TO_CHAR (reslev, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
debiteur,
|
||
'Evenementkosten ' || res_id || ' - ' || res_voorziening,
|
||
prs_kostensoort_refcode;
|
||
|
||
/* Formatted on 17-9-2015 10:40:20 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_rap_tf_frozen
|
||
(
|
||
fclt_x_maand,
|
||
fclt_x_debiteur,
|
||
factuurtype,
|
||
debiteur,
|
||
nummer,
|
||
factuurdatum,
|
||
vervaldatum,
|
||
kop,
|
||
voet,
|
||
valuta,
|
||
aantal,
|
||
artikel,
|
||
subartikel,
|
||
omschrijving,
|
||
artikelprijs_excl,
|
||
artikelprijs_incl,
|
||
btw,
|
||
grootboek,
|
||
vrij_tekstveld_1,
|
||
vrij_tekstveld_2,
|
||
vrij_tekstveld_3
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (t.fac_tracking_datum, 'yyyy-mm'),
|
||
(SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
'FACTUUR',
|
||
kl.prs_kenmerklink_waarde,
|
||
NULL,
|
||
TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy'),
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'EUR',
|
||
1,
|
||
0, -- Eenmalig artikel
|
||
NULL,
|
||
sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (o.mld_melding_key)
|
||
|| '/'
|
||
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
||
|| ' ['
|
||
|| td.ins_discipline_omschrijving
|
||
|| '/'
|
||
|| sm.mld_stdmelding_omschrijving
|
||
|| ']'
|
||
|| DECODE (km.mld_kenmerkmelding_waarde, NULL, '', ' (=' || km.mld_kenmerkmelding_waarde || ')'),
|
||
ROUND (o.mld_opdr_kosten * 1.065, 2), -- Management fee 6,5%
|
||
NULL,
|
||
'VH',
|
||
COALESCE (ksm.prs_kostensoort_refcode, ksv.prs_kostensoort_refcode),
|
||
km.mld_kenmerkmelding_waarde,
|
||
NULL,
|
||
NULL
|
||
FROM mld_opdr o,
|
||
fac_tracking t,
|
||
mld_melding m,
|
||
(SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde
|
||
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 281) km, -- Refnr. aanvrager
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
alg_v_allonrgoed_gegevens og,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv,
|
||
prs_kostenplaats kp,
|
||
prs_bedrijf b
|
||
WHERE o.mld_opdr_ordernr IS NOT NULL -- Zou zo moeten zijn!
|
||
AND o.mld_statusopdr_key = 7 -- Zou zo moeten zijn!
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 70 -- ORDAFR
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_melding_key = km.mld_melding_key(+)
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
--AND kp.prs_kostenplaats_upper LIKE '50900%'
|
||
AND SUBSTR (kp.prs_kostenplaats_upper, 1, 5) = '50900'
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
UNION ALL -- "Normale" catering gegroepeerd per debiteur/kostensoort!
|
||
SELECT TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
'FACTUUR',
|
||
debiteur,
|
||
NULL,
|
||
TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'),
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'EUR',
|
||
1,
|
||
0, -- Eenmalig artikel
|
||
NULL,
|
||
'Cateringkosten ' || TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'),
|
||
SUM (verw_prijs),
|
||
NULL,
|
||
'VH',
|
||
prs_kostensoort_refcode,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM (SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
resid,
|
||
kl.prs_kenmerklink_waarde debiteur,
|
||
(SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
ks.prs_kostensoort_refcode,
|
||
res_rsv_artikel_key res_item_key,
|
||
LTRIM (ra.res_artikel_omschrijving) || ' (' || COALESCE (ra.res_artikel_eenheid, '') || ')'
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_verwerkt resver,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal * ra.res_artikel_prijs prijs
|
||
FROM res_rsv_ruimte rrr,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_status_bo_key = 6 -- AV
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
--AND ks.prs_kostensoort_doorbelasten(+) = 1
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND (rra.res_rsv_artikel_verwerkt < TO_DATE ('20171001', 'yyyymmdd')
|
||
OR (rrr.res_activiteit_key != 130
|
||
--AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_verwerkt > TO_DATE ('20171001', 'yyyymmdd'))))
|
||
GROUP BY TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
debiteur,
|
||
TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'),
|
||
prs_kostensoort_refcode
|
||
UNION ALL -- Ruimte+Catering gegroepeerd per evenement/debiteur/kostensoort
|
||
SELECT TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
'FACTUUR',
|
||
debiteur,
|
||
NULL,
|
||
TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'),
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'EUR',
|
||
1,
|
||
0, -- Eenmalig artikel
|
||
NULL,
|
||
'Evenementkosten ' || res_id || ' - ' || res_voorziening,
|
||
SUM (verw_prijs),
|
||
NULL,
|
||
'VH',
|
||
prs_kostensoort_refcode,
|
||
MIN (res_kenmerkreservering_waarde),
|
||
NULL,
|
||
NULL
|
||
FROM (SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
res_id,
|
||
kl.prs_kenmerklink_waarde debiteur,
|
||
(SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
ks.prs_kostensoort_refcode,
|
||
rrr.res_rsv_ruimte_key res_item_key,
|
||
'Ruimte ' || rr.res_ruimte_nr res_voorziening,
|
||
fac.gettrackingdate ('RESVER', rrr.res_rsv_ruimte_key) resver,
|
||
COALESCE (rrr.res_rsv_ruimte_prijs, 0) - COALESCE (rrr.res_rsv_ruimte_korting, 0) verw_prijs,
|
||
kw.res_kenmerkreservering_waarde
|
||
FROM res_rsv_ruimte rrr,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
res_ruimte rr,
|
||
res_discipline rd,
|
||
prs_kostensoort ks,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager
|
||
WHERE rrr.res_activiteit_key = 130 -- Evenement
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_status_bo_key = 6 -- AV
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
AND rr.res_discipline_key = rd.ins_discipline_key
|
||
--AND ks.prs_kostensoort_doorbelasten(+) = 1
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)
|
||
UNION ALL
|
||
SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
resid,
|
||
kl.prs_kenmerklink_waarde debiteur,
|
||
(SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
ks.prs_kostensoort_refcode,
|
||
res_rsv_artikel_key res_item_key,
|
||
rd.ins_discipline_omschrijving res_voorziening,
|
||
rra.res_rsv_artikel_verwerkt resver,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
kw.res_kenmerkreservering_waarde
|
||
FROM res_rsv_ruimte rrr,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd,
|
||
prs_kostensoort ks,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager
|
||
WHERE rrr.res_activiteit_key = 130 -- Evenement
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_status_bo_key = 6 -- AV
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
--AND ks.prs_kostensoort_doorbelasten(+) = 1
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)
|
||
--AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_verwerkt > TO_DATE ('20171001', 'yyyymmdd'))
|
||
GROUP BY TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
debiteur,
|
||
TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'),
|
||
'Evenementkosten ' || res_id || ' - ' || res_voorziening,
|
||
prs_kostensoort_refcode;
|
||
|
||
/* Formatted on 30-9-2015 10:15:45 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_export_twinfield
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS -- View bevat alleen inhoud op de dag na de 1e werkdag van de maand!
|
||
SELECT 'factuurtype'
|
||
|| ';debiteur'
|
||
|| ';nummer'
|
||
|| ';factuurdatum'
|
||
|| ';vervaldatum'
|
||
|| ';kop'
|
||
|| ';voet'
|
||
|| ';valuta'
|
||
|| ';aantal'
|
||
|| ';artikel'
|
||
|| ';subartikel'
|
||
|| ';omschrijving'
|
||
|| ';artikelprijs_excl'
|
||
|| ';artikelprijs_incl'
|
||
|| ';btw'
|
||
|| ';grootboek'
|
||
|| ';vrij_tekstveld_1'
|
||
|| ';vrij_tekstveld_2'
|
||
|| ';vrij_tekstveld_3',
|
||
0
|
||
FROM DUAL
|
||
WHERE FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 1
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
UNION ALL
|
||
SELECT factuurtype
|
||
|| ';'
|
||
|| debiteur
|
||
|| ';'
|
||
|| nummer
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| vervaldatum
|
||
|| ';'
|
||
|| kop
|
||
|| ';'
|
||
|| voet
|
||
|| ';'
|
||
|| valuta
|
||
|| ';'
|
||
|| aantal
|
||
|| ';'
|
||
|| artikel
|
||
|| ';'
|
||
|| subartikel
|
||
|| ';'
|
||
|| omschrijving
|
||
|| ';'
|
||
|| artikelprijs_excl
|
||
|| ';'
|
||
|| artikelprijs_incl
|
||
|| ';'
|
||
|| btw
|
||
|| ';'
|
||
|| grootboek
|
||
|| ';'
|
||
|| vrij_tekstveld_1
|
||
|| ';'
|
||
|| vrij_tekstveld_2
|
||
|| ';'
|
||
|| vrij_tekstveld_3,
|
||
ROWNUM
|
||
FROM ( SELECT factuurtype,
|
||
debiteur,
|
||
nummer,
|
||
factuurdatum,
|
||
vervaldatum,
|
||
kop,
|
||
voet,
|
||
valuta,
|
||
aantal,
|
||
artikel,
|
||
subartikel,
|
||
omschrijving,
|
||
REPLACE (TO_CHAR (artikelprijs_excl), '.', ',') artikelprijs_excl,
|
||
REPLACE (TO_CHAR (artikelprijs_incl), '.', ',') artikelprijs_incl,
|
||
btw,
|
||
grootboek,
|
||
vrij_tekstveld_1,
|
||
vrij_tekstveld_2,
|
||
vrij_tekstveld_3
|
||
FROM blcc_v_rap_tf_frozen
|
||
WHERE fclt_x_maand = TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm')
|
||
ORDER BY debiteur,
|
||
fclt_x_maand || '-' || SUBSTR (factuurdatum, 1, 2),
|
||
grootboek)
|
||
WHERE FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 1
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1));
|
||
|
||
/* Formatted on 30-9-2015 10:20:30 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE blcc_select_twinfield (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- Verwerken te exporteren opdrachtkosten (<28>n de rest)!
|
||
CURSOR c1
|
||
IS
|
||
SELECT '[' || TO_CHAR (o.mld_melding_key) || '|' || TO_CHAR (o.mld_opdr_key) || '] ' aanduiding,
|
||
o.mld_opdr_key,
|
||
o.mld_opdr_kosten,
|
||
DECODE (SUBSTR (kp.prs_kostenplaats_upper, 1, 5), '50900', 1, 0) doorbelasten
|
||
FROM mld_opdr o, fac_tracking t, prs_kostenplaats kp
|
||
WHERE o.mld_opdr_ordernr IS NOT NULL -- Reeds doorgezet naar ProQuro (of 0)
|
||
AND o.mld_statusopdr_key = 9 -- Afgerond
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 70 -- ORDAFR
|
||
AND t.fac_tracking_datum < TRUNC (SYSDATE, 'mm')
|
||
--AND o.mld_opdr_kosten > 0 -- Allemaal, ook als kosten=0
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key;
|
||
|
||
CURSOR c2
|
||
IS
|
||
SELECT '[' || debiteur || '] ' aanduiding, artikelprijs_excl
|
||
FROM blcc_v_rap_tf_frozen
|
||
WHERE fclt_x_maand = TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm')
|
||
AND omschrijving LIKE 'Cateringkosten%';
|
||
|
||
CURSOR c3
|
||
IS
|
||
SELECT '[' || omschrijving || '] ' aanduiding, artikelprijs_excl
|
||
FROM blcc_v_rap_tf_frozen
|
||
WHERE fclt_x_maand = TO_CHAR (TRUNC (SYSDATE, 'mm') - 1, 'yyyy-mm')
|
||
AND omschrijving LIKE 'Evenementkosten%';
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_holiday NUMBER;
|
||
v_order_count NUMBER;
|
||
v_amount_sum NUMBER (10, 2);
|
||
BEGIN
|
||
v_order_count := 0;
|
||
v_amount_sum := 0;
|
||
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_holiday
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1);
|
||
|
||
-- LET OP: Twinfield-export draait dagelijks na middernacht (begin van dag)
|
||
-- en de verkoop wordt maandelijks alleen in de nacht na 1e werkdag van de
|
||
-- maand doorgezet.
|
||
-- IF nacht na 1e werkdag van de maand (<28>n geen weekend <20>n geen vrije dag)!
|
||
-- count_work_days (d1,d2) bepaalt het #werkdagen van d1 tot d2 (als d1=d2,
|
||
-- dan return 0); daarom bepalen tov. laatste dag van vorige maand!
|
||
IF FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 1
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND v_holiday = 0
|
||
THEN
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout verwerken opdrachtkosten';
|
||
|
||
MLD.setopdrachtstatus (rec.mld_opdr_key, 7, NULL);
|
||
|
||
v_errormsg := 'Fout meetellen opdrachtkosten';
|
||
|
||
--IF rec.mld_kenmerk_key IS NOT NULL
|
||
IF rec.doorbelasten = 1
|
||
THEN
|
||
v_order_count := v_order_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.mld_opdr_kosten;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'W', rec.aanduiding || v_errormsg, 'Opdrachtkosten');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
FOR rec IN c2
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout meetellen cateringkosten';
|
||
|
||
v_order_count := v_order_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.artikelprijs_excl;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'W', rec.aanduiding || v_errormsg, 'Cateringkosten');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
FOR rec IN c3
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout meetellen evenementkosten';
|
||
|
||
v_order_count := v_order_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.artikelprijs_excl;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'W', rec.aanduiding || v_errormsg, 'Evenementkosten');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'Twinfield export/#regels: ' || TO_CHAR (v_order_count), TO_CHAR (v_amount_sum));
|
||
END IF;
|
||
END;
|
||
/
|
||
|
||
|
||
/* Formatted on 29-6-2016 18:42:24 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE blcc_import_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000) := '-';
|
||
v_errorhint VARCHAR2 (1000) := '-';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
v_errorhint := 'Generieke import ' || TO_CHAR (p_import_key);
|
||
|
||
-- Afdelingscode-kolom hard op 'XxX' indien leeg (want verplicht)!
|
||
UPDATE fac_imp_file
|
||
SET fac_imp_file_line =
|
||
SUBSTR (fac_imp_file_line, 1, INSTR (fac_imp_file_line, ';', 1, 2))
|
||
|| 'XxX'
|
||
|| SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 3))
|
||
WHERE fac_import_key = p_import_key AND fac_imp_file_index > 1
|
||
AND SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 2)
|
||
+ 1, INSTR (fac_imp_file_line, ';', 1, 3)
|
||
- INSTR (fac_imp_file_line, ';', 1, 2)
|
||
- 1) IS NULL;
|
||
|
||
COMMIT;
|
||
|
||
-- Functie-kolom negeren en hard op 'Medewerker' (want verplicht)!
|
||
UPDATE fac_imp_file i
|
||
SET fac_imp_file_line =
|
||
SUBSTR (fac_imp_file_line, 1, INSTR (fac_imp_file_line, ';', 1, 10))
|
||
|| 'Medewerker'
|
||
|| SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 11))
|
||
WHERE fac_import_key = p_import_key AND fac_imp_file_index > 1;
|
||
|
||
COMMIT;
|
||
|
||
-- De sequence array staat beschreven in PRS_PAC.SRC bij de import_perslid-PROCEDURE.
|
||
prs.import_perslid (
|
||
p_import_key,
|
||
'0;0;0;0;0;0;3;4;5;6;'
|
||
|| '0;0;0;0;10;7;8;9;0;0;'
|
||
|| '11;1;2;0;0;0;12;13;14;15;'
|
||
|| '16;17;18;0;0;0;0;0;0;0;'
|
||
|| '0;0;0;0;0;0',
|
||
'Loginnaam;Wachtwoord;Afdelingscode;Achternaam;Tussenvoegsel;Voornaam;Telefoon;Mobiel;Email;Geslacht;Functie;Taal;SSC FOBO;SSC Digireceptiemedewerker;SSC Huurderadministrator%');
|
||
|
||
-- Klantspecifieke aanpassingen.
|
||
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.imp_writelog (p_import_key, 'E', v_errormsg || v_errorhint,
|
||
'Inleesproces personen afgebroken!');
|
||
END blcc_import_perslid;
|
||
/
|
||
|
||
/* Formatted on 30-6-2016 12:30:30 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE blcc_update_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
-- Verwijderen personen niet in import voor afdelingen wel in import!
|
||
CURSOR c_del
|
||
IS
|
||
SELECT p.prs_perslid_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a
|
||
WHERE (p.prs_perslid_oslogin IS NULL OR p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\') -- ' tbv. opmaak
|
||
AND p.prs_perslid_oslogin2 IS NULL
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM fac_imp_perslid i
|
||
WHERE UPPER (i.prs_afdeling_naam) = a.prs_afdeling_upper)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_imp_perslid i
|
||
WHERE UPPER (i.prs_perslid_oslogin) = UPPER (p.prs_perslid_oslogin))
|
||
ORDER BY 1;
|
||
|
||
-- Bijwerken werkplek van personen naar '_' (als nog geen werkplek)!
|
||
CURSOR c_wp
|
||
IS
|
||
SELECT p.prs_perslid_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek pw
|
||
WHERE pw.prs_perslid_key = p.prs_perslid_key)
|
||
ORDER BY 1;
|
||
|
||
-- Bijwerken language van personen naar 'EN' (volgens importbestand)!
|
||
CURSOR c_lang
|
||
IS
|
||
SELECT p.prs_perslid_key, DECODE (i.prs_kenmerk1, 'EN', 'EN', 'NL') lang
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
ORDER BY 1;
|
||
|
||
-- Bijwerken autorisatiegroepen van personen (volgens importbestand)!
|
||
CURSOR c_rol (
|
||
p_ssc_fobo_key IN NUMBER,
|
||
p_ssc_dmedew_key IN NUMBER,
|
||
p_ssc_hadmin_key IN NUMBER)
|
||
IS
|
||
SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk2), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_fobo_key fac_groep_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
UNION ALL
|
||
SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk3), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_dmedew_key fac_groep_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
UNION ALL
|
||
SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk4), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_hadmin_key fac_groep_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
UNION ALL -- Afnemen _Default
|
||
SELECT p.prs_perslid_key, 0 aanuit, 1 fac_groep_key -- _Default
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
UNION ALL -- Toewijzen SSC FE (LABS-key=241 en PROD-key=321)
|
||
SELECT p.prs_perslid_key, 1 aanuit, 321 fac_groep_key -- SSC FE
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
ORDER BY 1, 3;
|
||
|
||
c_ruimte_key NUMBER := 2204; -- Fictieve ruimte op SSCH-locatie (LABS-key=2243 en PROD-key=2204)
|
||
c_ssc_fobo_key NUMBER := 341; -- SSC FOBO (LABS-key=241 en PROD-key=341)
|
||
c_ssc_dmedew_key NUMBER := 361; -- SSC Digireceptiemedewerker
|
||
c_ssc_hadmin_key NUMBER := 362; -- SSC Huurderadministrator
|
||
v_bedrijf_key NUMBER (10) := -1;
|
||
v_afdeling_naam VARCHAR2 (15) := '';
|
||
BEGIN
|
||
-- Als import door Huurderadministrator, dan Afdelingscode-kolom negeren en hard op Afdeling-1 van Huurderadministrator!
|
||
SELECT ab.prs_bedrijf_key, a.prs_afdeling_naam
|
||
INTO v_bedrijf_key, v_afdeling_naam
|
||
FROM fac_import i, prs_v_aanwezigperslid p, prs_afdeling a, prs_v_afdeling_boom ab
|
||
WHERE i.fac_import_key = p_import_key
|
||
AND i.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key;
|
||
|
||
IF v_bedrijf_key IN (1981, 2442) -- LABS-key+PROD-key van Huurders SSC-bedrijf; TODO: LABS-key nog een keer verwijderen!
|
||
THEN -- Import door Huurderadministrator!
|
||
UPDATE fac_imp_perslid
|
||
SET prs_afdeling_naam = v_afdeling_naam;
|
||
ELSE -- Import door andere administrator!
|
||
UPDATE fac_imp_perslid
|
||
SET prs_afdeling_naam = NULL
|
||
WHERE prs_afdeling_naam = 'XxX';
|
||
END IF;
|
||
|
||
COMMIT;
|
||
|
||
-- Generieke update.
|
||
prs.update_perslid (p_import_key, 'LOGIN', NULL);
|
||
|
||
-- Verwijderen personen niet in import voor afdelingen wel in import!
|
||
FOR rec IN c_del
|
||
LOOP
|
||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
-- Toekennen fictieve werkplek op SSCH-locatie (voor wie daar nog niet een
|
||
-- werkplek heeft)!
|
||
-- Bijwerken werkplek van personen naar '_' (als nog geen werkplek)!
|
||
FOR rec IN c_wp
|
||
LOOP
|
||
prs.movetoruimte (rec.prs_perslid_key, c_ruimte_key, NULL);
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
-- Bijwerken language van personen naar 'EN' (volgens importbestand)!
|
||
FOR rec IN c_lang
|
||
LOOP
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_lang = rec.lang
|
||
WHERE prs_perslid_key = rec.prs_perslid_key;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
-- Bijwerken autorisatiegroepen van personen (volgens importbestand)!
|
||
FOR rec IN c_rol (c_ssc_fobo_key, c_ssc_dmedew_key, c_ssc_hadmin_key)
|
||
LOOP
|
||
IF rec.aanuit = 1
|
||
THEN
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT rec.fac_groep_key, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = rec.fac_groep_key
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
ELSE
|
||
DELETE FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = rec.fac_groep_key
|
||
AND prs_perslid_key = rec.prs_perslid_key;
|
||
END IF;
|
||
END LOOP;
|
||
END blcc_update_perslid;
|
||
/
|
||
|
||
|
||
-- BLCC#38235: Import vanuit Strukton
|
||
/* Formatted on 22-5-2015 11:52:44 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE blcc_import_opdrstat_strukton (p_import_key IN NUMBER)
|
||
AS
|
||
c_delim VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (4000); -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (1000) := '';
|
||
header_is_valid NUMBER := 0;
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count_imp NUMBER (10) := 0;
|
||
v_ongeldig NUMBER (1) := 0;
|
||
-- De importvelden
|
||
v_mld_opdr_key_tekst VARCHAR2 (100);
|
||
v_mld_opdr_key NUMBER (10);
|
||
v_mld_opdr_opmerking VARCHAR2 (4000);
|
||
v_extern_nummer VARCHAR2 (100);
|
||
v_status_code VARCHAR2 (100);
|
||
v_status NUMBER (10);
|
||
v_datumtijd_tekst VARCHAR2 (100);
|
||
v_datumtijd DATE;
|
||
v_status_tekst VARCHAR2 (100);
|
||
v_opmerking VARCHAR2 (4000);
|
||
|
||
-- Overige velden:
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM blcc_imp_opdrstat_strukton;
|
||
|
||
COMMIT;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout opvragen importregel';
|
||
v_aanduiding := '';
|
||
v_ongeldig := 0;
|
||
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield (v_newline, c_delim, v_mld_opdr_key_tekst);
|
||
fac.imp_getfield (v_newline, c_delim, v_extern_nummer);
|
||
fac.imp_getfield (v_newline, c_delim, v_status_code); -- typeID
|
||
fac.imp_getfield (v_newline, c_delim, v_datumtijd_tekst);
|
||
fac.imp_getfield (v_newline, c_delim, v_status_tekst);
|
||
fac.imp_getfield (v_newline, c_delim, v_opmerking);
|
||
v_opmerking := SUBSTR (v_opmerking, 1, 1000);
|
||
-- Verwijder de markering voor cr/lf die in stylesheet is toegevoegd.
|
||
v_opmerking := REPLACE (v_opmerking, '@@', CHR (13));
|
||
v_aanduiding :=
|
||
'['
|
||
|| v_mld_opdr_key_tekst
|
||
|| '|'
|
||
|| v_extern_nummer
|
||
|| '|'
|
||
|| v_status_code
|
||
|| '|'
|
||
|| v_datumtijd_tekst
|
||
|| '|'
|
||
|| v_status_tekst
|
||
|| '] ';
|
||
|
||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
||
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
|
||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||
IF header_is_valid = 0
|
||
THEN
|
||
IF UPPER (TRIM (v_mld_opdr_key_tekst)) = 'REFERENCEID'
|
||
AND UPPER (TRIM (v_extern_nummer)) = 'SERVICEREQUESTID'
|
||
AND UPPER (TRIM (v_status_code)) = 'TYPEID'
|
||
AND UPPER (TRIM (v_datumtijd_tekst)) = 'DATETIME'
|
||
AND UPPER (TRIM (v_opmerking)) = 'REMARKS'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
-- Controleer alle veldwaarden
|
||
v_errormsg := 'Fout bepalen opdracht';
|
||
v_mld_opdr_key := TRIM (v_mld_opdr_key);
|
||
|
||
BEGIN
|
||
SELECT o.mld_opdr_key, o.mld_opdr_opmerking
|
||
INTO v_mld_opdr_key, v_mld_opdr_opmerking
|
||
FROM mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd
|
||
WHERE 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 td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_prefix
|
||
|| m.mld_melding_key
|
||
|| '/'
|
||
|| o.mld_opdr_bedrijfopdr_volgnr =
|
||
v_mld_opdr_key_tekst;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_ongeldig := 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.writelog (p_import_key, 'W', v_aanduiding || v_errormsg, '');
|
||
END;
|
||
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
v_errormsg := 'Fout bepalen status';
|
||
|
||
CASE
|
||
WHEN v_status_code = '5'
|
||
THEN
|
||
v_status := 5; -- uitgegeven
|
||
WHEN v_status_code = '10'
|
||
THEN
|
||
v_status := 8; -- geaccepteerd
|
||
WHEN v_status_code = '20' -- monteur gereed
|
||
THEN
|
||
v_status := 6; -- afgemeld
|
||
WHEN v_status_code = '25' -- specialist gereed
|
||
THEN
|
||
v_status := 6; -- afgemeld
|
||
WHEN v_status_code = '30' -- technisch gereed
|
||
THEN
|
||
v_status := 6; -- afgemeld
|
||
-- For future use
|
||
--WHEN v_status_code = '40' -- uitgeprijst
|
||
--THEN
|
||
-- v_status := 6; -- afgemeld
|
||
WHEN v_status_code = '70'
|
||
THEN
|
||
v_status := 1; -- geannuleerd
|
||
WHEN v_status_code = '80'
|
||
THEN
|
||
v_status := 1; -- afgewezen
|
||
ELSE
|
||
v_status := NULL;
|
||
v_ongeldig := 1; -- nog te bezien
|
||
END CASE;
|
||
END IF;
|
||
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
v_errormsg := 'Fout converteren datumtijd';
|
||
|
||
IF INSTR (v_datumtijd_tekst, '.') > 0
|
||
THEN
|
||
v_datumtijd :=
|
||
fac.safe_to_date (
|
||
REPLACE (
|
||
SUBSTR (v_datumtijd_tekst,
|
||
1,
|
||
INSTR (v_datumtijd_tekst, '.') - 1),
|
||
'T',
|
||
' '),
|
||
'yyyy-mm-dd hh24:mi:ss');
|
||
ELSE
|
||
v_datumtijd :=
|
||
fac.safe_to_date (v_datumtijd_tekst,
|
||
'yyyy-mm-dd hh24:mi:ss');
|
||
END IF;
|
||
END IF;
|
||
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
v_errormsg := 'Fout aanvullen opmerking';
|
||
|
||
-- controleer of de opmerking niet leeg is en of dezelfde opmerking al bij een eerdere statusovergang
|
||
-- gemeld is.
|
||
IF v_opmerking IS NOT NULL
|
||
AND INSTR (v_mld_opdr_opmerking, v_opmerking) = 0
|
||
THEN
|
||
v_opmerking :=
|
||
'['
|
||
|| v_datumtijd_tekst
|
||
|| '] - '
|
||
|| v_status_tekst
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| v_opmerking;
|
||
ELSE
|
||
v_opmerking :=
|
||
'[' || v_datumtijd_tekst || '] - ' || v_status_tekst;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout wegschrijven statusbericht';
|
||
|
||
INSERT INTO blcc_imp_opdrstat_strukton (mld_opdr_key,
|
||
extern_nummer,
|
||
status,
|
||
datumtijd,
|
||
opmerking)
|
||
VALUES (v_mld_opdr_key,
|
||
v_extern_nummer,
|
||
v_status,
|
||
v_datumtijd,
|
||
v_opmerking);
|
||
|
||
v_count_imp := v_count_imp + 1;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
|
||
END;
|
||
ELSE
|
||
IF v_status_code <> '40' AND v_status_code <> '45'
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF header_is_valid = 0
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E',
|
||
'Ongeldig importbestand',
|
||
'Geen header of header niet volgens specificatie!');
|
||
ELSE
|
||
fac.imp_writelog (
|
||
p_import_key, 'S',
|
||
'Inleesproces/#ingelezen statusberichten: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
fac.imp_writelog (
|
||
p_import_key, 'S',
|
||
'Inleesproces/#ongeldige niet ingelezen statusberichten: ' || TO_CHAR (v_count_tot - v_count_imp),
|
||
'');
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg,
|
||
'Inleesproces statusberichten afgebroken!');
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE blcc_update_opdrstat_strukton (p_import_key IN NUMBER)
|
||
AS
|
||
-- Cursor loopt - in volgorde! - over alle ingelezen statusberichten.
|
||
CURSOR c1
|
||
IS
|
||
SELECT mld_opdr_key, extern_nummer, datumtijd, status, opmerking
|
||
FROM blcc_imp_opdrstat_strukton
|
||
ORDER BY 1, 3;
|
||
|
||
c_user_key NUMBER (10) := 5; -- _STRUKTON-user
|
||
c_refnr_srtkkey NUMBER (10) := 261; -- Refnr. Leverancier
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count NUMBER (10) := 0;
|
||
v_mld_key NUMBER (10) := 0;
|
||
v_opdr_key NUMBER (10) := 0;
|
||
v_opdr_status NUMBER (10) := 0;
|
||
v_mld_typeopdr_key NUMBER (10);
|
||
v_mld_kenmerk_key NUMBER (10);
|
||
v_mld_kenmerkopdr_key NUMBER (10);
|
||
BEGIN
|
||
-- Loop over alle ingelezen Strukton-statusberichten.
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
'['
|
||
|| rec.mld_opdr_key
|
||
|| '|'
|
||
|| SUBSTR (rec.opmerking, 1, 100)
|
||
|| '] ';
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
-- Key van melding/opdracht bepalen en Refnr. bij opdracht opslaan.
|
||
IF rec.mld_opdr_key IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout bepalen opdracht.';
|
||
|
||
SELECT mld_melding_key, mld_opdr_key, mld_statusopdr_key, mld_typeopdr_key
|
||
INTO v_mld_key, v_opdr_key, v_opdr_status, v_mld_typeopdr_key
|
||
FROM mld_opdr
|
||
WHERE mld_opdr_key = rec.mld_opdr_key;
|
||
|
||
v_errormsg := 'Fout bepalen Refnr-kenmerk.';
|
||
|
||
SELECT k.mld_kenmerk_key
|
||
INTO v_mld_kenmerk_key
|
||
FROM mld_kenmerk k
|
||
WHERE k.mld_srtkenmerk_key = c_refnr_srtkkey
|
||
AND k.mld_typeopdr_key = v_mld_typeopdr_key;
|
||
|
||
v_errormsg := 'Fout bepalen Refnr-kenmerkopdracht.';
|
||
|
||
SELECT MAX (ko.mld_kenmerkopdr_key)
|
||
INTO v_mld_kenmerkopdr_key
|
||
FROM mld_kenmerkopdr ko
|
||
WHERE ko.mld_opdr_key = v_opdr_key
|
||
AND v_mld_kenmerk_key = ko.mld_kenmerk_key;
|
||
|
||
IF v_mld_kenmerkopdr_key IS NULL
|
||
THEN
|
||
-- Kenmerk toevoegen
|
||
v_errormsg := 'Fout toevoegen Refnr-kenmerkopdracht.';
|
||
|
||
INSERT INTO mld_kenmerkopdr (mld_kenmerk_key,
|
||
mld_opdr_key,
|
||
mld_kenmerkopdr_waarde)
|
||
VALUES (v_mld_kenmerk_key, v_opdr_key, rec.extern_nummer);
|
||
ELSE
|
||
-- Kenmerk bijwerken
|
||
v_errormsg := 'Fout bijwerken Refnr-kenmerkopdracht.';
|
||
|
||
UPDATE mld_kenmerkopdr
|
||
SET mld_kenmerkopdr_waarde = rec.extern_nummer
|
||
WHERE mld_kenmerkopdr_key = v_mld_kenmerkopdr_key;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bijwerken Opmerking (opdracht).';
|
||
|
||
v_count := LENGTH (rec.opmerking) + 5; -- Beetje speling qua lengte!
|
||
|
||
UPDATE mld_opdr
|
||
SET mld_opdr_opmerking =
|
||
DECODE (
|
||
mld_opdr_opmerking,
|
||
NULL,
|
||
rec.opmerking,
|
||
rec.opmerking
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| SUBSTR (mld_opdr_opmerking, 1, (4000 - v_count)))
|
||
WHERE mld_opdr_key = v_opdr_key;
|
||
|
||
v_errormsg := 'Fout bijwerken Status.';
|
||
|
||
IF v_opdr_status <> rec.status
|
||
THEN
|
||
IF rec.status = 8 AND v_opdr_status = 5
|
||
THEN
|
||
-- Accepteer opdracht als de opdracht uitgegeven was
|
||
MLD.setopdrachtstatus (v_opdr_key, 8, c_user_key); -- Strukton
|
||
ELSIF rec.status = 6 AND v_opdr_status = 5
|
||
THEN
|
||
-- Meld de opdracht af als deze uitgegeven was
|
||
MLD.setopdrachtstatus (v_opdr_key, 8, c_user_key); -- Strukton, eerst accepteren
|
||
MLD.setopdrachtstatus (v_opdr_key, 6, c_user_key); -- Strukton
|
||
ELSIF rec.status = 6 AND v_opdr_status = 8
|
||
THEN
|
||
-- Meld de opdracht af als deze geaccepteerd was
|
||
MLD.setopdrachtstatus (v_opdr_key, 6, c_user_key); -- Strukton
|
||
ELSIF rec.status = 1 AND v_opdr_status IN (5, 8)
|
||
THEN
|
||
-- Wijs de opdracht af als deze niet/wel geaccepteerd was
|
||
MLD.setopdrachtstatus (v_opdr_key, 1, c_user_key); -- Strukton
|
||
MLD.updatemeldingstatusAV (v_mld_key, 0, c_user_key, 0);
|
||
END IF;
|
||
|
||
IF rec.status = 6 AND v_opdr_status <> 6
|
||
THEN
|
||
v_errormsg := 'Fout bijwerken Opmerking (melding).';
|
||
|
||
UPDATE mld_melding m
|
||
SET mld_melding_opmerking =
|
||
DECODE (
|
||
mld_melding_opmerking,
|
||
NULL,
|
||
rec.opmerking,
|
||
rec.opmerking || CHR (13) || CHR (10)
|
||
|| SUBSTR (mld_melding_opmerking,
|
||
1,
|
||
(4000 - v_count)))
|
||
WHERE mld_melding_key = v_mld_key
|
||
AND mld_melding_status IN (4, 7)
|
||
AND NOT EXISTS
|
||
( -- Afhandeling in melding niet aanpassen voor projecten
|
||
SELECT sm.mld_stdmelding_key
|
||
FROM mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd
|
||
WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_prefix = 'QQQ');
|
||
|
||
v_errormsg := 'Fout sluiten melding.';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM (SELECT m.mld_melding_key,
|
||
(SELECT COUNT ( * )
|
||
FROM mld_opdr o
|
||
WHERE mld_melding_key = m.mld_melding_key)
|
||
aanw_opdr,
|
||
(SELECT COUNT ( * )
|
||
FROM mld_opdr o
|
||
WHERE mld_melding_key = m.mld_melding_key
|
||
AND o.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9))
|
||
open_opdr
|
||
FROM mld_melding m
|
||
WHERE m.mld_melding_key = v_mld_key
|
||
AND m.mld_melding_status IN (4, 7))
|
||
niet_opgelost
|
||
WHERE aanw_opdr > 0 AND open_opdr = 0;
|
||
|
||
-- Sinds AADO#30922 wordt de melding niet meer automatisch afgemeld.
|
||
MLD.updatemeldingstatusAV (v_mld_key, 0, c_user_key, 0);
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg,
|
||
'Statusbericht-loop');
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
|
||
/* Formatted on 7-6-2016 13:24:42 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_autorisatiegroepen
|
||
(
|
||
fac_groep_key,
|
||
fac_groep_oms
|
||
)
|
||
AS
|
||
SELECT fac_groep_key, fac_groep_omschrijving
|
||
FROM fac_groep
|
||
WHERE fac_groep_omschrijving LIKE 'SSC%';
|
||
|
||
|
||
-- BLCC#38512
|
||
/* Formatted on 3-1-2017 12:06:24 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_rap_mldtrk
|
||
(
|
||
melding,
|
||
aanmaakdatumtijd,
|
||
aanmaakdatum,
|
||
aanmaaktijdstip,
|
||
meldingstatus,
|
||
plan_einddatum,
|
||
sla_einddatum,
|
||
wijzigingsdatumtijd,
|
||
wijzigingsdatum,
|
||
wijzigingstijdstip,
|
||
wijzigingdoor,
|
||
wijzigingcode
|
||
)
|
||
AS
|
||
SELECT sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) melding,
|
||
m.mld_melding_datum aanmaakdatumtijd,
|
||
TO_CHAR (m.mld_melding_datum, 'dd-mm-yyyy') aanmaakdatum,
|
||
TO_CHAR (m.mld_melding_datum, 'hh24:mi') aanmaaktijdstip,
|
||
ms.mld_statuses_omschrijving meldingstatus,
|
||
TO_CHAR (m.mld_melding_einddatum, 'dd-mm-yyyy') plan_einddatum,
|
||
TO_CHAR (m.mld_melding_einddatum_std, 'dd-mm-yyyy') sla_einddatum,
|
||
t.fac_tracking_datum wijzigingsdatumtijd,
|
||
TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy') wijzigingsdatum,
|
||
TO_CHAR (t.fac_tracking_datum, 'hh24:mi') wijzigingstijdstip,
|
||
pf.prs_perslid_naam_full tracking_door,
|
||
sn.fac_srtnotificatie_code tracking_code
|
||
FROM mld_melding m,
|
||
mld_statuses ms,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
fac_tracking t,
|
||
fac_srtnotificatie sn,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE m.mld_melding_status = ms.mld_statuses_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_key = 1 -- BCC
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_xmlnode = 'melding'
|
||
AND sn.fac_srtnotificatie_key IN (43, 37, 44, 38, 39, 46, 47, 48, 49) -- MLDNEW, MLDACP, MLDREJ, MLDAFM, MLDAFR, MLDVER, MLDDOO, MLDFWD, MLDBWD
|
||
AND t.prs_perslid_key = pf.prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_ordtrk
|
||
(
|
||
opdracht,
|
||
aanmaakdatumtijd,
|
||
aanmaakdatum,
|
||
aanmaaktijdstip,
|
||
opdrachtstatus,
|
||
plan_einddatum,
|
||
wijzigingsdatumtijd,
|
||
wijzigingsdatum,
|
||
wijzigingstijdstip,
|
||
wijzigingdoor,
|
||
wijzigingcode
|
||
)
|
||
AS
|
||
SELECT sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdracht,
|
||
o.mld_opdr_datumbegin aanmaakdatumtijd,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'dd-mm-yyyy') aanmaakdatum,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'hh24:mi') aanmaaktijdstip,
|
||
os.mld_statusopdr_omschrijving opdrachtstatus,
|
||
TO_CHAR (o.mld_opdr_einddatum, 'dd-mm-yyyy') plan_einddatum, -- Of mld_opdr_plandatum?
|
||
t.fac_tracking_datum wijzigingsdatumtijd,
|
||
TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy') wijzigingsdatum,
|
||
TO_CHAR (t.fac_tracking_datum, 'hh24:mi') wijzigingstijdstip,
|
||
pf.prs_perslid_naam_full tracking_door,
|
||
sn.fac_srtnotificatie_code tracking_code
|
||
FROM mld_opdr o,
|
||
mld_statusopdr os,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
fac_tracking t,
|
||
fac_srtnotificatie sn,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE o.mld_statusopdr_key = os.mld_statusopdr_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 td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_key = 1 -- BCC
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
|
||
--AND sn.fac_srtnotificatie_key IN (59 ,65, 64, 69, 58, 70, 66) -- ORDNEW, ORDACP, ORDREJ, ORDCAN, ORDAFM, ORDAFR, ORDVER
|
||
AND sn.fac_srtnotificatie_key NOT IN (60, 73, 40, 56, 57, 68, 135) -- ORDUPD, ORD2GO, MLDAP1, ORDMLI, ORDMLE, ORDSNX, ORDMAI
|
||
AND t.prs_perslid_key = pf.prs_perslid_key;
|
||
|
||
-- BLCC#39810 View voor cateringrapportage
|
||
CREATE OR REPLACE VIEW blcc_v_rap_cateringoverzicht
|
||
(
|
||
fclt_f_debiteur,
|
||
fclt_f_organisatie,
|
||
locatie,
|
||
ruimte,
|
||
datumtijd,
|
||
datum,
|
||
tijd_van,
|
||
tijd_tot,
|
||
resnr,
|
||
omschrijving,
|
||
artikelkey,
|
||
artikelnr,
|
||
artikelomschrijving,
|
||
aantal,
|
||
stuksprijs,
|
||
kosten,
|
||
fclt_f_besteller,
|
||
costcenter,
|
||
activiteit
|
||
)
|
||
AS
|
||
SELECT COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr,
|
||
(SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = x.prs_afdeling_key)
|
||
deb_oms,
|
||
DECODE (
|
||
x.alg_ruimte_key,
|
||
NULL,
|
||
'Onbekend',
|
||
rg.alg_gebouw_upper
|
||
|| '-'
|
||
|| rg.alg_verdieping_code
|
||
|| '-'
|
||
|| rg.alg_ruimte_nr)
|
||
afleveradres,
|
||
COALESCE (rr.res_ruimte_nr, rg.alg_ruimte_omschrijving) ruimte,
|
||
x.res_rsv_artikel_levering,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'DD-MM-YYYY') datum,
|
||
TO_CHAR (x.res_rsv_ruimte_van, 'hh24:mi') tijdvan,
|
||
TO_CHAR (x.res_rsv_ruimte_tot, 'hh24:mi') tijdtot,
|
||
x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr,
|
||
x.res_rsv_ruimte_omschrijving omschrijving,
|
||
x.res_artikel_key,
|
||
x.res_artikel_nr,
|
||
x.res_artikel_omschrijving,
|
||
x.res_rsv_artikel_aantal,
|
||
ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
stuksprijs,
|
||
x.res_rsv_artikel_aantal
|
||
* ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
regeltotaal,
|
||
x.prs_perslid_naam_full,
|
||
(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key = 1)
|
||
costcenter,
|
||
x.res_activiteit_omschrijving
|
||
FROM (SELECT rra.res_rsv_artikel_verwerkt,
|
||
COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key)
|
||
res_ruimte_key,
|
||
COALESCE (rar1.alg_ruimte_key,
|
||
rar2.alg_ruimte_key,
|
||
rrr.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
act.res_activiteit_omschrijving,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_key,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key)
|
||
prs_afdeling_key,
|
||
kl.prs_kenmerklink_waarde,
|
||
pf.prs_perslid_naam_full,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit act,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_activiteit_key = act.res_activiteit_key
|
||
--AND act.res_activiteit_verwijder IS NULL -- Wat ooit is Verwerkt, altijd opnemen!
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
--AND rra.res_rsv_artikel_verwijder IS NULL -- Wat ooit is Verwerkt, altijd opnemen!
|
||
AND rra.res_status_bo_key = 6 -- Verwerkt
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
|
||
LEFT JOIN res_ruimte rr
|
||
ON x.res_ruimte_key = rr.res_ruimte_key
|
||
LEFT JOIN alg_v_ruimte_gegevens_all rg
|
||
ON x.alg_ruimte_key = rg.alg_ruimte_key
|
||
UNION ALL
|
||
SELECT COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr,
|
||
(SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = x.prs_afdeling_key)
|
||
deb_oms,
|
||
DECODE (
|
||
x.alg_ruimte_key,
|
||
NULL,
|
||
'Onbekend',
|
||
rg.alg_gebouw_upper
|
||
|| '-'
|
||
|| rg.alg_verdieping_code
|
||
|| '-'
|
||
|| rg.alg_ruimte_nr)
|
||
afleveradres,
|
||
COALESCE (rr.res_ruimte_nr, rg.alg_ruimte_omschrijving) ruimte,
|
||
x.res_rsv_artikel_levering,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'DD-MM-YYYY') datum,
|
||
TO_CHAR (x.res_rsv_ruimte_van, 'hh24:mi') tijdvan,
|
||
TO_CHAR (x.res_rsv_ruimte_tot, 'hh24:mi') tijdtot,
|
||
x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr,
|
||
x.res_rsv_ruimte_omschrijving omschrijving,
|
||
x.res_artikel_key,
|
||
x.res_artikel_nr,
|
||
x.res_artikel_omschrijving,
|
||
x.res_rsv_artikel_aantal,
|
||
ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
stuksprijs,
|
||
x.res_rsv_artikel_aantal
|
||
* ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
regeltotaal,
|
||
x.prs_perslid_naam_full,
|
||
(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key = 1)
|
||
costcenter,
|
||
x.res_activiteit_omschrijving
|
||
FROM (SELECT rra.res_rsv_artikel_verwerkt,
|
||
COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key)
|
||
res_ruimte_key,
|
||
COALESCE (rar1.alg_ruimte_key,
|
||
rar2.alg_ruimte_key,
|
||
rrr.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
act.res_activiteit_omschrijving,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_key,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key)
|
||
prs_afdeling_key,
|
||
kl.prs_kenmerklink_waarde,
|
||
pf.prs_perslid_naam_full,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit act,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_activiteit_key = act.res_activiteit_key
|
||
AND act.res_activiteit_verwijder IS NULL
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_status_bo_key != 6 -- Verwerkt
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
|
||
LEFT JOIN res_ruimte rr
|
||
ON x.res_ruimte_key = rr.res_ruimte_key
|
||
LEFT JOIN alg_v_ruimte_gegevens_all rg
|
||
ON x.alg_ruimte_key = rg.alg_ruimte_key;
|
||
|
||
--BLCC#41477: Onderstaande twee views zijn opnieuw opgebouwd zodat er geen udr views gebruikt worden als bron.
|
||
CREATE OR REPLACE VIEW blcc_v_rap_meldingen
|
||
(
|
||
prioriteittxt,
|
||
meldingnummer,
|
||
productgroep,
|
||
subproductgroep,
|
||
melding_datumtijd,
|
||
melding_datum,
|
||
melding_tijd,
|
||
melding_locatiecode,
|
||
melding_gebouwcode,
|
||
melding_verdieping,
|
||
melding_ruimtenr,
|
||
onderwerp,
|
||
omschrijving,
|
||
melder,
|
||
melding_status,
|
||
melding_opmerking,
|
||
behandelaar,
|
||
melding_einddatumtijd,
|
||
melding_einddatum,
|
||
afspraak_sla_uren,
|
||
melder_key
|
||
)
|
||
AS
|
||
SELECT DECODE (mld_melding_spoed,
|
||
3, lcl.l ('lcl_mld_urg_normaal'),
|
||
1, lcl.l ('lcl_mld_urg_kritiek'),
|
||
2, lcl.l ('lcl_mld_urg_hoog'),
|
||
4, lcl.l ('lcl_mld_urg_laag')),
|
||
sd.ins_srtdiscipline_prefix || m.mld_melding_key meldingnummer,
|
||
md.ins_discipline_omschrijving productgroep,
|
||
s.mld_stdmelding_omschrijving subproductgroep,
|
||
m.mld_melding_datum,
|
||
TO_CHAR (m.mld_melding_datum, 'DD-MM-YYYY') datum,
|
||
TO_CHAR (m.mld_melding_datum, 'hh24:mi') tijd,
|
||
l.alg_locatie_code locatie,
|
||
og.alg_gebouw_code gebouw,
|
||
og.alg_verdieping_code verdieping,
|
||
og.alg_ruimte_nr ruimte,
|
||
m.mld_melding_onderwerp onderwerp,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (m.mld_melding_omschrijving, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') omschrijving,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = m.prs_perslid_key)
|
||
melder,
|
||
(SELECT mld_statuses_omschrijving
|
||
FROM mld_statuses sta
|
||
WHERE sta.mld_statuses_key = m.mld_melding_status)
|
||
status,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (m.mld_melding_opmerking, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') opmerking,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = m.mld_melding_behandelaar_key)
|
||
behandelaar,
|
||
m.mld_melding_einddatum,
|
||
TO_CHAR (m.mld_melding_einddatum, 'DD-MM-YYYY') einddatum,
|
||
DECODE (
|
||
mld.getactualuitvoer (m.mld_melding_key).eenheid,
|
||
'U',
|
||
( (m.mld_melding_einddatum
|
||
- COALESCE (
|
||
COALESCE (
|
||
mld.getmeldingstatusdate (m.mld_melding_key, 5),
|
||
mld.getmeldingstatusdate (m.mld_melding_key, 1)),
|
||
SYSDATE))
|
||
* 24)
|
||
+ COALESCE (
|
||
DECODE (m.mld_melding_t_respijt.eenheid,
|
||
'D', m.mld_melding_t_respijt.tijdsduur,
|
||
NULL),
|
||
0),
|
||
NULL)
|
||
afspraak_sla_uren,
|
||
m.prs_perslid_key
|
||
FROM mld_melding m,
|
||
ins_srtdiscipline sd,
|
||
mld_discipline md,
|
||
mld_stdmelding s,
|
||
alg_v_allonrgoed_gegevens og,
|
||
alg_locatie l
|
||
WHERE s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
||
AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
|
||
AND md.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
|
||
AND m.fac_activiteit_key IS NULL
|
||
AND m.mld_melding_datum >= TO_DATE ('01-01-2010', 'DD-MM-YYYY');
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_opdrachten
|
||
(
|
||
prioriteittxt,
|
||
klantwens,
|
||
opdracht_nummer,
|
||
melding_key,
|
||
opdracht_type,
|
||
opdracht_district,
|
||
opdracht_locatie_code,
|
||
opdracht_gebouwcode,
|
||
soortmelding,
|
||
vakgroep,
|
||
subgroep,
|
||
omschrijving,
|
||
opdracht_datumtijd,
|
||
opdracht_datum,
|
||
opdracht_tijd,
|
||
melding_status,
|
||
opdracht_status,
|
||
opdracht_einddatumtijd,
|
||
opdracht_einddatum,
|
||
opdracht_eindtijd,
|
||
opdracht_uitvoerende,
|
||
behandelaar,
|
||
melder,
|
||
kostenplaats_oms,
|
||
opdracht_kosten,
|
||
opdracht_uren,
|
||
opdracht_correctie,
|
||
opdracht_materiaal,
|
||
opdracht_uurtarief
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
DECODE (mld_melding_spoed,
|
||
3, lcl.l ('lcl_mld_urg_normaal'),
|
||
1, lcl.l ('lcl_mld_urg_kritiek'),
|
||
2, lcl.l ('lcl_mld_urg_hoog'),
|
||
4, lcl.l ('lcl_mld_urg_laag')),
|
||
mko.fac_usrdata_omschr klantwens,
|
||
ins_srtdiscipline_prefix
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '/'
|
||
|| o.mld_opdr_bedrijfopdr_volgnr,
|
||
m.mld_melding_key,
|
||
top.mld_typeopdr_omschrijving,
|
||
alg_district_omschrijving,
|
||
alg_locatie_code,
|
||
og.alg_gebouw_code,
|
||
sd.ins_srtdiscipline_omschrijving,
|
||
md.ins_discipline_omschrijving productgroep,
|
||
s.mld_stdmelding_omschrijving subproductgroep,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (m.mld_melding_omschrijving, 1, 1000), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', ''),
|
||
o.mld_opdr_datumbegin,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') datum,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'hh24:mi') tijd,
|
||
mso.mld_statuses_omschrijving,
|
||
(SELECT mld_statusopdr_omschrijving
|
||
FROM mld_statusopdr sta
|
||
WHERE sta.mld_statusopdr_key = o.mld_statusopdr_key)
|
||
opdracht_status,
|
||
o.mld_opdr_einddatum,
|
||
TO_CHAR (o.mld_opdr_einddatum, 'DD-MM-YYYY') einddatum,
|
||
TO_CHAR (o.mld_opdr_einddatum, 'hh24:mi') eindtijd,
|
||
(SELECT naam
|
||
FROM mld_v_uitvoerende u
|
||
WHERE u.mld_uitvoerende_key = o.mld_uitvoerende_keys)
|
||
opdracht_uitvoerende,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = m.mld_melding_behandelaar_key)
|
||
behandelaar,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = m.prs_perslid_key)
|
||
melder,
|
||
(SELECT k.prs_kostenplaats_omschrijving
|
||
FROM prs_kostenplaats k
|
||
WHERE k.prs_kostenplaats_key = o.prs_kostenplaats_key)
|
||
kostenplaats_oms,
|
||
TO_CHAR (o.mld_opdr_kosten, 'fm999999999999999990.00'),
|
||
TO_CHAR (o.mld_opdr_uren, 'fm999999999999999990.00'),
|
||
TO_CHAR (o.mld_opdr_kosten
|
||
- o.mld_opdr_materiaal
|
||
- (o.mld_opdr_uren * o.mld_opdr_uurloon), 'fm999999999999999990.00')
|
||
opdracht_correctie,
|
||
TO_CHAR (o.mld_opdr_materiaal, 'fm999999999999999990.00'),
|
||
TO_CHAR (o.mld_opdr_uurloon, 'fm999999999999999990.00')
|
||
FROM mld_melding m,
|
||
mld_opdr o,
|
||
mld_stdmelding s,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
alg_v_allonrgoed_gegevens og,
|
||
alg_locatie l,
|
||
alg_district d,
|
||
mld_typeopdr top,
|
||
(SELECT mld_opdr_key, mld_kenmerkopdr_waarde, fac_usrdata_omschr
|
||
FROM mld_kenmerkopdr, fac_usrdata
|
||
WHERE mld_kenmerk_key = '201'
|
||
AND fac_usrdata_key =
|
||
fac.safe_to_number (mld_kenmerkopdr_waarde)
|
||
AND mld_kenmerkopdr_verwijder IS NULL) mko,
|
||
mld_statuses mso
|
||
WHERE m.mld_melding_key = o.mld_melding_key(+)
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND md.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
|
||
AND l.alg_district_key = d.alg_district_key(+)
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
|
||
AND o.mld_typeopdr_key = top.mld_typeopdr_key(+)
|
||
AND o.mld_opdr_key = mko.mld_opdr_key(+)
|
||
AND mso.mld_statuses_key = m.mld_melding_status
|
||
AND o.mld_opdr_bedrijfopdr_volgnr IS NOT NULL;
|
||
|
||
-- Onderstaande views zijn voor export tbv PowerBI
|
||
-- Export voor PowerBI cateringoverzicht:
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_cat
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"debiteur"'
|
||
|| ';"organisatie"'
|
||
|| ';"locatie"'
|
||
|| ';"ruimte"'
|
||
|| ';"datum"'
|
||
|| ';"tijd_van"'
|
||
|| ';"tijd_tot"'
|
||
|| ';"resnr"'
|
||
|| ';"omschrijving"'
|
||
|| ';"artikelkey"'
|
||
|| ';"artikelnr"'
|
||
|| ';"artikelomschrijving"'
|
||
|| ';"aantal"'
|
||
|| ';"stuksprijs"'
|
||
|| ';"kosten"'
|
||
|| ';"besteller"'
|
||
|| ';"costcenter"'
|
||
|| ';"activiteit"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| fclt_f_debiteur
|
||
|| '";"'
|
||
|| fclt_f_organisatie
|
||
|| '";"'
|
||
|| locatie
|
||
|| '";"'
|
||
|| ruimte
|
||
|| '";"'
|
||
|| datum
|
||
|| '";"'
|
||
|| tijd_van
|
||
|| '";"'
|
||
|| tijd_tot
|
||
|| '";"'
|
||
|| resnr
|
||
|| '";"'
|
||
|| omschrijving
|
||
|| '";"'
|
||
|| artikelkey
|
||
|| '";"'
|
||
|| artikelnr
|
||
|| '";"'
|
||
|| artikelomschrijving
|
||
|| '";"'
|
||
|| aantal
|
||
|| '";"'
|
||
|| stuksprijs
|
||
|| '";"'
|
||
|| kosten
|
||
|| '";"'
|
||
|| fclt_f_besteller
|
||
|| '";"'
|
||
|| costcenter
|
||
|| '";"'
|
||
|| activiteit
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_cateringoverzicht;
|
||
|
||
-- Export voor PowerBI meldingen:
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_mld
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"prioriteittxt"'
|
||
|| ';"meldingnummer"'
|
||
|| ';"productgroep"'
|
||
|| ';"subproductgroep"'
|
||
|| ';"melding_datum"'
|
||
|| ';"melding_tijd"'
|
||
|| ';"melding_locatiecode"'
|
||
|| ';"melding_gebouwcode"'
|
||
|| ';"melding_verdieping"'
|
||
|| ';"melding_ruimtenr"'
|
||
|| ';"onderwerp"'
|
||
|| ';"omschrijving"'
|
||
|| ';"melder"'
|
||
|| ';"melding_status"'
|
||
|| ';"melding_opmerking"'
|
||
|| ';"behandelaar"'
|
||
|| ';"melding_einddatum"'
|
||
|| ';"afspraak_sla_uren"'
|
||
|| ';"melder_key"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| prioriteittxt
|
||
|| '";"'
|
||
|| meldingnummer
|
||
|| '";"'
|
||
|| productgroep
|
||
|| '";"'
|
||
|| subproductgroep
|
||
|| '";"'
|
||
|| melding_datum
|
||
|| '";"'
|
||
|| melding_tijd
|
||
|| '";"'
|
||
|| melding_locatiecode
|
||
|| '";"'
|
||
|| melding_gebouwcode
|
||
|| '";"'
|
||
|| melding_verdieping
|
||
|| '";"'
|
||
|| melding_ruimtenr
|
||
|| '";"'
|
||
|| onderwerp
|
||
|| '";"'
|
||
|| omschrijving
|
||
|| '";"'
|
||
|| melder
|
||
|| '";"'
|
||
|| melding_status
|
||
|| '";"'
|
||
|| melding_opmerking
|
||
|| '";"'
|
||
|| behandelaar
|
||
|| '";"'
|
||
|| melding_einddatum
|
||
|| '";"'
|
||
|| afspraak_sla_uren
|
||
|| '";"'
|
||
|| melder_key
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_meldingen;
|
||
|
||
-- Export voor PowerBI opdrachten:
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_opdr
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"prioriteittxt"'
|
||
|| ';"klantwens"'
|
||
|| ';"opdracht_nummer"'
|
||
|| ';"melding_key"'
|
||
|| ';"opdracht_type"'
|
||
|| ';"opdracht_district"'
|
||
|| ';"opdracht_locatie_code"'
|
||
|| ';"opdracht_gebouwcode"'
|
||
|| ';"soortmelding"'
|
||
|| ';"vakgroep"'
|
||
|| ';"subgroep"'
|
||
|| ';"omschrijving"'
|
||
|| ';"opdracht_datum"'
|
||
|| ';"opdracht_tijd"'
|
||
|| ';"melding_status"'
|
||
|| ';"opdracht_status"'
|
||
|| ';"opdracht_einddatum"'
|
||
|| ';"opdracht_eindtijd"'
|
||
|| ';"opdracht_uitvoerende"'
|
||
|| ';"behandelaar"'
|
||
|| ';"melder"'
|
||
|| ';"kostenplaats_oms"'
|
||
|| ';"opdracht_kosten"'
|
||
|| ';"opdracht_uren"'
|
||
|| ';"opdracht_correctie"'
|
||
|| ';"opdracht_materiaal"'
|
||
|| ';"opdracht_uurtarief"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| prioriteittxt
|
||
|| '";"'
|
||
|| klantwens
|
||
|| '";"'
|
||
|| opdracht_nummer
|
||
|| '";"'
|
||
|| melding_key
|
||
|| '";"'
|
||
|| opdracht_type
|
||
|| '";"'
|
||
|| opdracht_district
|
||
|| '";"'
|
||
|| opdracht_locatie_code
|
||
|| '";"'
|
||
|| opdracht_gebouwcode
|
||
|| '";"'
|
||
|| soortmelding
|
||
|| '";"'
|
||
|| vakgroep
|
||
|| '";"'
|
||
|| subgroep
|
||
|| '";"'
|
||
|| omschrijving
|
||
|| '";"'
|
||
|| opdracht_datum
|
||
|| '";"'
|
||
|| opdracht_tijd
|
||
|| '";"'
|
||
|| melding_status
|
||
|| '";"'
|
||
|| opdracht_status
|
||
|| '";"'
|
||
|| opdracht_einddatum
|
||
|| '";"'
|
||
|| opdracht_eindtijd
|
||
|| '";"'
|
||
|| opdracht_uitvoerende
|
||
|| '";"'
|
||
|| behandelaar
|
||
|| '";"'
|
||
|| melder
|
||
|| '";"'
|
||
|| kostenplaats_oms
|
||
|| '";"'
|
||
|| opdracht_kosten
|
||
|| '";"'
|
||
|| opdracht_uren
|
||
|| '";"'
|
||
|| opdracht_correctie
|
||
|| '";"'
|
||
|| opdracht_materiaal
|
||
|| '";"'
|
||
|| opdracht_uurtarief
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_opdrachten;
|
||
|
||
-- Export voor PowerBI mld tracking:
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_mldtrk
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"melding"'
|
||
|| ';"aanmaakdatum"'
|
||
|| ';"aanmaaktijdstip"'
|
||
|| ';"meldingstatus"'
|
||
|| ';"plan_einddatum"'
|
||
|| ';"sla_einddatum"'
|
||
|| ';"wijzigingsdatum"'
|
||
|| ';"wijzigingstijdstip"'
|
||
|| ';"wijzigingdoor"'
|
||
|| ';"wijzigingcode"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| melding
|
||
|| '";"'
|
||
|| aanmaakdatum
|
||
|| '";"'
|
||
|| aanmaaktijdstip
|
||
|| '";"'
|
||
|| meldingstatus
|
||
|| '";"'
|
||
|| plan_einddatum
|
||
|| '";"'
|
||
|| sla_einddatum
|
||
|| '";"'
|
||
|| wijzigingsdatum
|
||
|| '";"'
|
||
|| wijzigingstijdstip
|
||
|| '";"'
|
||
|| wijzigingdoor
|
||
|| '";"'
|
||
|| wijzigingcode
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_mldtrk;
|
||
|
||
-- Export voor PowerBI ord tracking:
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_ordtrk
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"opdracht"'
|
||
|| ';"aanmaakdatum"'
|
||
|| ';"aanmaaktijdstip"'
|
||
|| ';"opdrachtstatus"'
|
||
|| ';"plan_einddatum"'
|
||
|| ';"wijzigingsdatum"'
|
||
|| ';"wijzigingstijdstip"'
|
||
|| ';"wijzigingdoor"'
|
||
|| ';"wijzigingcode"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| opdracht
|
||
|| '";"'
|
||
|| aanmaakdatum
|
||
|| '";"'
|
||
|| aanmaaktijdstip
|
||
|| '";"'
|
||
|| opdrachtstatus
|
||
|| '";"'
|
||
|| plan_einddatum
|
||
|| '";"'
|
||
|| wijzigingsdatum
|
||
|| '";"'
|
||
|| wijzigingstijdstip
|
||
|| '";"'
|
||
|| wijzigingdoor
|
||
|| '";"'
|
||
|| wijzigingcode
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_ordtrk;
|
||
|
||
-- Export voor PowerBI kostenoverzicht
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_kosten
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"kostenplaatsnr"'
|
||
|| ';"kostenplaatsgroep"'
|
||
|| ';"datum"'
|
||
|| ';"aanvrager"'
|
||
|| ';"organisatie"'
|
||
|| ';"categorie"'
|
||
|| ';"referentie"'
|
||
|| ';"kostensoortnr"'
|
||
|| ';"kostensoort"'
|
||
|| ';"bedrag"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| KOSTENPLAATSNR
|
||
|| '";"'
|
||
|| KOSTENPLAATSGROEP
|
||
|| '";"'
|
||
|| TO_CHAR (DATUM, 'DD-MM-YYYY')
|
||
|| '";"'
|
||
|| AANVRAGER
|
||
|| '";"'
|
||
|| ORGANISATIE
|
||
|| '";"'
|
||
|| CATEGORIE
|
||
|| '";"'
|
||
|| REFERENTIE
|
||
|| '";"'
|
||
|| KOSTENSOORTNR
|
||
|| '";"'
|
||
|| KOSTENSOORT
|
||
|| '";"'
|
||
|| TO_CHAR (BEDRAG, 'fm999999999999999990.00')
|
||
|| '"',
|
||
1
|
||
FROM fin_v_udr_kostenoverzicht;
|
||
|
||
-- BLCC#37691: Facturatie M2 em de rest!
|
||
/* Formatted on 21-4-2017 16:28:58 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_fact_actual
|
||
AS
|
||
WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201708') maand
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_key > 1)
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
TRIM (SUBSTR (x.cnt_contract_nummer, 1, INSTR (x.cnt_contract_nummer || '/', '/') - 1)) po_nr,
|
||
TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 3 posities!
|
||
'Campus Rent' regel, -- M2
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv,
|
||
x.cnt_contract_korting, -- Korting %
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
FROM prs_contactpersoon
|
||
WHERE prs_contactpersoon_verwijder IS NULL
|
||
AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
AND prs_bedrijf_key = x.prs_bedrijf_key)
|
||
contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (x.btw, 0, '0', 'H') fin_btwtabelwaarde_code, -- H=Hoog=21
|
||
DECODE (x.btw, 0, 'Nul', 'Hoog') fin_btwtabelwaarde_oms,
|
||
DECODE (x.btw, 0, 0, 21) fin_btwtabelwaarde_perc,
|
||
TO_NUMBER (NULL) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
ltar.fac_usrdata_prijs l_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
htar.fac_usrdata_prijs h_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
ktar.fac_usrdata_prijs k_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
otar.fac_usrdata_prijs o_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
ttar.fac_usrdata_prijs t_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
pa.alg_onroerendgoed_type,
|
||
pa.alg_onroerendgoed_keys,
|
||
pa.alg_plaatsaanduiding,
|
||
COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))) l_opp,
|
||
COALESCE (fac.safe_to_number (COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))) h_opp,
|
||
COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))) k_opp,
|
||
COALESCE (fac.safe_to_number (COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))) o_opp,
|
||
COALESCE (fac.safe_to_number (COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))) t_opp,
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))), 2)
|
||
mndnet, -- Netto maandbedrag (incl. kortingspercentage)
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((x.btw * COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(x.btw * COALESCE (fac.safe_to_number (COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(x.btw * COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(x.btw * COALESCE (fac.safe_to_number (COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(x.btw * COALESCE (fac.safe_to_number (COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))), 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
'8100' grtboekrek, -- Hard op Campus Rent=8100
|
||
TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
c.cnt_contract_korting,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
|
||
DECODE (b.prs_bedrijf_key,
|
||
11205, 0, -- UM=Universiteit Maastricht [1025]
|
||
11297, 0, -- Chemelot Ventures BV [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
0.21) btw,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
cnt_v_aanwezigcontract c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL)
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = 21 -- VSOV
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata ltar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key)
|
||
AND ltar.fac_usrdata_code = 'L' -- L-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata htar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key)
|
||
AND htar.fac_usrdata_code = 'H' -- H-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ktar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key)
|
||
AND ktar.fac_usrdata_code = 'K' -- K-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata otar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key)
|
||
AND otar.fac_usrdata_code = 'O' -- O-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ttar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key)
|
||
AND ttar.fac_usrdata_code = 'T' -- T-Tarief
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_plaatsaanduiding_all pa
|
||
ON ccp.cnt_alg_plaats_key = pa.alg_onroerendgoed_keys
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gho
|
||
ON ccp.cnt_alg_plaats_key = gho.alg_onrgoed_key
|
||
AND gho.alg_kenmerk_key = 1083 -- GH-Oppervlakte
|
||
AND gho.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk goo
|
||
ON ccp.cnt_alg_plaats_key = goo.alg_onrgoed_key
|
||
AND goo.alg_kenmerk_key = 1085 -- GO-Oppervlakte
|
||
AND goo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gto
|
||
ON ccp.cnt_alg_plaats_key = gto.alg_onrgoed_key
|
||
AND gto.alg_kenmerk_key = 1120 -- GT-Oppervlakte
|
||
AND gto.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vho
|
||
ON ccp.cnt_alg_plaats_key = vho.alg_onrgoed_key
|
||
AND vho.alg_kenmerk_key = 1093 -- VH-Oppervlakte
|
||
AND vho.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk voo
|
||
ON ccp.cnt_alg_plaats_key = voo.alg_onrgoed_key
|
||
AND voo.alg_kenmerk_key = 1095 -- VO-Oppervlakte
|
||
AND voo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vto
|
||
ON ccp.cnt_alg_plaats_key = vto.alg_onrgoed_key
|
||
AND vto.alg_kenmerk_key = 1121 -- VT-Oppervlakte
|
||
AND vto.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
WHERE vsov_kc.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd factureren!
|
||
UNION ALL -- FES
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
TRIM (SUBSTR (x.cnt_contract_nummer, 1, INSTR (x.cnt_contract_nummer || '/', '/') - 1)) po_nr,
|
||
TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 3 posities!
|
||
DECODE (x.ins_discipline_key, 621, 'Campus Rent', 'Werkplek') regel, -- Hardcoded 'Werkplek'!
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv,
|
||
TO_NUMBER (NULL) cnt_contract_korting, -- Korting %
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
FROM prs_contactpersoon
|
||
WHERE prs_contactpersoon_verwijder IS NULL
|
||
AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
AND prs_bedrijf_key = x.prs_bedrijf_key)
|
||
contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (x.btw, 0, '0', 'H') fin_btwtabelwaarde_code, -- H=Hoog=21
|
||
DECODE (x.btw, 0, 'Nul', 'Hoog') fin_btwtabelwaarde_oms,
|
||
DECODE (x.btw, 0, 0, 21) fin_btwtabelwaarde_perc,
|
||
TO_NUMBER (NULL) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
COALESCE (lfes.fac_usrdata_prijs, 0) / 12 l_tarief,
|
||
TO_NUMBER (NULL) h_tarief,
|
||
COALESCE (kfes.fac_usrdata_prijs, 0) / 12 k_tarief,
|
||
TO_NUMBER (NULL) o_tarief,
|
||
TO_NUMBER (NULL) t_tarief,
|
||
pa.alg_onroerendgoed_type,
|
||
pa.alg_onroerendgoed_keys,
|
||
pa.alg_plaatsaanduiding,
|
||
DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))), 1)
|
||
l_opp,
|
||
TO_NUMBER (NULL) h_opp,
|
||
DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))), 1)
|
||
k_opp,
|
||
TO_NUMBER (NULL) o_opp,
|
||
TO_NUMBER (NULL) t_opp,
|
||
-1 *
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)), 1) * (COALESCE (lfes.fac_usrdata_prijs, 0) / 12)) +
|
||
(DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)), 1) * (COALESCE (kfes.fac_usrdata_prijs, 0) / 12))), 2)
|
||
mndnet, -- Netto maandbedrag (excl. kortingspercentage)
|
||
-1 *
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((x.btw * DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)), 1) * (COALESCE (lfes.fac_usrdata_prijs, 0) / 12)) +
|
||
(x.btw * DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)), 1) * (COALESCE (kfes.fac_usrdata_prijs, 0) / 12))), 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
'8100' grtboekrek, -- Hard op Campus Rent=8100
|
||
TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
|
||
DECODE (b.prs_bedrijf_key,
|
||
11205, 0, -- UM=Universiteit Maastricht [1025]
|
||
11297, 0, -- Chemelot Ventures BV [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
0.21) btw,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
cnt_v_aanwezigcontract c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.ins_discipline_key IN (621, 730) -- Huurcontracten/Werkplek
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL)
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = 21 -- VSOV
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata lfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (lfes.fac_usrtab_key)
|
||
AND lfes.fac_usrdata_code = 'LFES' -- FES-Tarief op L-Oppervlakte
|
||
LEFT JOIN fac_v_aanwezigusrdata kfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (kfes.fac_usrtab_key)
|
||
AND kfes.fac_usrdata_code = 'KFES' -- FES-Tarief op K-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract fes
|
||
ON x.cnt_contract_key = fes.cnt_contract_key
|
||
AND fes.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND fes.cnt_kenmerk_key = 42 -- FES-vinkje
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_plaatsaanduiding_all pa
|
||
ON ccp.cnt_alg_plaats_key = pa.alg_onroerendgoed_keys
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
WHERE vsov_kc.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd factureren!
|
||
AND fes.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
UNION ALL -- CFF Rent
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
TRIM (SUBSTR (x.cnt_contract_nummer, 1, INSTR (x.cnt_contract_nummer || '/', '/') - 1)) po_nr,
|
||
TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 3 posities!
|
||
'CFF Rent' regel,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv,
|
||
x.fac_usrdata_prijs, -- CFF-subsidiepercentatie %
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
x.prs_kenmerklink_waarde btw_nr,
|
||
(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
FROM prs_contactpersoon
|
||
WHERE prs_contactpersoon_verwijder IS NULL
|
||
AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
AND prs_bedrijf_key = b.prs_bedrijf_key)
|
||
contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
'0' fin_btwtabelwaarde_code,
|
||
'Nul' fin_btwtabelwaarde_oms,
|
||
0 fin_btwtabelwaarde_perc,
|
||
TO_NUMBER (NULL) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
TO_NUMBER (NULL) l_tarief, TO_NUMBER (NULL) h_tarief, TO_NUMBER (NULL) k_tarief, TO_NUMBER (NULL) o_tarief, TO_NUMBER (NULL) t_tarief,
|
||
NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding,
|
||
TO_NUMBER (NULL) l_opp, TO_NUMBER (NULL) h_opp, TO_NUMBER (NULL) k_opp, TO_NUMBER (NULL) o_opp, TO_NUMBER (NULL) t_opp,
|
||
-1 *
|
||
ROUND (x.fac_usrdata_prijs *
|
||
(x.mndnet -
|
||
(((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
fac.safe_to_number (x.cnt_kenmerkcontract_waarde))), 2)
|
||
mndnet, -- Netto maandbedrag (incl. kortingspercentage)
|
||
---1 *
|
||
--ROUND (x.fac_usrdata_prijs * x.btw *
|
||
-- (x.mndnet -
|
||
-- (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
-- fac.safe_to_number (x.cnt_kenmerkcontract_waarde))), 2)
|
||
-- mndbtw -- BTW maandbedrag
|
||
0 mndbtw, -- BTW maandbedrag; TODO: Dit is fout, maar ging in oude werkwijze altijd al zo, dus fout voorlopig niet verbeteren!
|
||
'8310' grtboekrek, -- Hard op CFF Rent=8310
|
||
TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key
|
||
FROM ( SELECT x.ins_discipline_key, -- Sorteren op (eigen) discipline_key; 3 posities!
|
||
x.cnt_contract_key,
|
||
x.cnt_contract_nummer_intern, x.cnt_contract_versie,
|
||
x.cnt_contract_nummer, -- PO
|
||
x.lv, x.lt,
|
||
x.prs_bedrijf_key,
|
||
x.btw,
|
||
x.prs_kostenplaats_key,
|
||
x.maand,
|
||
btwnr.prs_kenmerklink_waarde,
|
||
kb_kc.cnt_kenmerkcontract_waarde, -- Netto kortingsbedrag (excl. kortingspercentage)!
|
||
ccf_ud.fac_usrdata_prijs, -- CFF-subsidiepercentatie %
|
||
SUM (ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((COALESCE (fac.safe_to_number(COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))), 2))
|
||
mndnet -- Netto maandbedrag (incl. kortingspercentage)
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
c.cnt_prs_bedrijf_key prs_bedrijf_key,
|
||
DECODE (c.cnt_prs_bedrijf_key,
|
||
11205, 0, -- UM=Universiteit Maastricht [1025]
|
||
11297, 0, -- Chemelot Ventures BV [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
0.21)
|
||
btw,
|
||
c.prs_kostenplaats_key,
|
||
c.cnt_contract_korting,
|
||
lp.maand
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0) x -- NIET Gesloten
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL)
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = 21 -- VSOV
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata ltar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key)
|
||
AND ltar.fac_usrdata_code = 'L' -- L-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata htar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key)
|
||
AND htar.fac_usrdata_code = 'H' -- H-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ktar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key)
|
||
AND ktar.fac_usrdata_code = 'K' -- K-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata otar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key)
|
||
AND otar.fac_usrdata_code = 'O' -- O-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ttar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key)
|
||
AND ttar.fac_usrdata_code = 'T' -- T-Tarief
|
||
LEFT JOIN cnt_kenmerkcontract kb_kc
|
||
ON x.cnt_contract_key = kb_kc.cnt_contract_key
|
||
AND kb_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kb_kc.cnt_kenmerk_key = 24 -- Kortingsbedrag
|
||
LEFT JOIN cnt_kenmerkcontract cff_kc
|
||
ON x.cnt_contract_key = cff_kc.cnt_contract_key
|
||
AND cff_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cff_kc.cnt_kenmerk_key = 44 -- CFF-subsidie
|
||
LEFT JOIN fac_v_aanwezigusrdata ccf_ud
|
||
ON cff_kc.cnt_kenmerkcontract_waarde = TO_CHAR (ccf_ud.fac_usrdata_key)
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_plaatsaanduiding_all pa
|
||
ON ccp.cnt_alg_plaats_key = pa.alg_onroerendgoed_keys
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gho
|
||
ON ccp.cnt_alg_plaats_key = gho.alg_onrgoed_key
|
||
AND gho.alg_kenmerk_key = 1083 -- GH-Oppervlakte
|
||
AND gho.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk goo
|
||
ON ccp.cnt_alg_plaats_key = goo.alg_onrgoed_key
|
||
AND goo.alg_kenmerk_key = 1085 -- GO-Oppervlakte
|
||
AND goo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gto
|
||
ON ccp.cnt_alg_plaats_key = gto.alg_onrgoed_key
|
||
AND gto.alg_kenmerk_key = 1120 -- GT-Oppervlakte
|
||
AND gto.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vho
|
||
ON ccp.cnt_alg_plaats_key = vho.alg_onrgoed_key
|
||
AND vho.alg_kenmerk_key = 1093 -- VH-Oppervlakte
|
||
AND vho.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk voo
|
||
ON ccp.cnt_alg_plaats_key = voo.alg_onrgoed_key
|
||
AND voo.alg_kenmerk_key = 1095 -- VO-Oppervlakte
|
||
AND voo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vto
|
||
ON ccp.cnt_alg_plaats_key = vto.alg_onrgoed_key
|
||
AND vto.alg_kenmerk_key = 1121 -- VT-Oppervlakte
|
||
AND vto.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
WHERE vsov_kc.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd factureren!
|
||
AND COALESCE (cff_kc.cnt_kenmerkcontract_waarde, '534') != '534' -- NIET Nvt!
|
||
GROUP BY x.ins_discipline_key,
|
||
x.cnt_contract_key,
|
||
x.cnt_contract_nummer_intern, x.cnt_contract_versie,
|
||
x.cnt_contract_nummer,
|
||
x.lv, x.lt,
|
||
x.prs_bedrijf_key,
|
||
x.btw,
|
||
x.prs_kostenplaats_key,
|
||
x.maand,
|
||
btwnr.prs_kenmerklink_waarde,
|
||
kb_kc.cnt_kenmerkcontract_waarde,
|
||
ccf_ud.fac_usrdata_prijs) x,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE x.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND x.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
UNION ALL -- Alle individuele maandbedragen!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
TRIM (SUBSTR (c.cnt_contract_nummer, 1, INSTR (c.cnt_contract_nummer || '/', '/') - 1)) po_nr,
|
||
TRIM (c.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
DECODE (x.regelgroepering, '541', '621', TO_CHAR (c.ins_discipline_key)) sortering, -- Sorteren op Campus Rent of eigen discipline_key; 3 posities!
|
||
x.regel,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv,
|
||
c.cnt_contract_korting, -- Korting %
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
FROM prs_contactpersoon
|
||
WHERE prs_contactpersoon_verwijder IS NULL
|
||
AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
AND prs_bedrijf_key = b.prs_bedrijf_key)
|
||
contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
--ks.prs_kostensoort_oms, ks.prs_kostensoort_opmerking, ks.prs_kostensoort_refcode, ksg.prs_kostensoortgrp_oms,
|
||
DECODE (c.ins_discipline_key, 761, '0', 'H') fin_btwtabelwaarde_code, -- OZB altijd 0%
|
||
DECODE (c.ins_discipline_key, 761, 'Nul', 'Hoog') fin_btwtabelwaarde_oms, -- OZB altijd 0%
|
||
DECODE (c.ins_discipline_key, 761, 0, 21) fin_btwtabelwaarde_perc, -- OZB altijd 0%
|
||
TO_NUMBER (NULL) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
TO_NUMBER (NULL) l_tarief, TO_NUMBER (NULL) h_tarief, TO_NUMBER (NULL) k_tarief, TO_NUMBER (NULL) o_tarief, TO_NUMBER (NULL) t_tarief,
|
||
NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding,
|
||
TO_NUMBER (NULL) l_opp, TO_NUMBER (NULL) h_opp, TO_NUMBER (NULL) k_opp, TO_NUMBER (NULL) o_opp, TO_NUMBER (NULL) t_opp,
|
||
ROUND (((LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (c.cnt_contract_korting, 0)) / 100) *
|
||
x.maandkosten, 2)
|
||
mndnet, -- Netto maandbedrag (incl. kortingspercentage)
|
||
ROUND (((LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (c.cnt_contract_korting, 0)) / 100) *
|
||
DECODE (c.ins_discipline_key, 761, 0, 0.21) *
|
||
x.maandkosten, 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
COALESCE (
|
||
ks.prs_kostensoort_refcode,
|
||
DECODE (
|
||
UPPER (x.regel),
|
||
'BIJDRAGE CHEF VAN DIENST', '8104',
|
||
'BIJDRAGE HYGI<47>NISCH ONDERHOUD', '8105',
|
||
'BIJDRAGE AFVAL', '8106',
|
||
'BIJDRAGE GASSEN', '8107',
|
||
'8100'))
|
||
grtboekrek,
|
||
TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key
|
||
FROM ( SELECT c.cnt_contract_key,
|
||
lp.maand,
|
||
rg.cnt_kenmerkcontract_waarde regelgroepering,
|
||
DECODE (rg.cnt_kenmerkcontract_waarde,
|
||
'542', TRIM (dp.cnt_disc_params_opmerking),
|
||
'543', TRIM (mk.cnt_srtkenmerk_omschrijving),
|
||
'Campus Rent')
|
||
regel,
|
||
SUM (fac.safe_to_number (mk.cnt_kenmerkcontract_waarde)) maandkosten
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c, cnt_discipline cd, cnt_disc_params dp,
|
||
(SELECT kcrg.cnt_contract_key, kcrg.cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract kcrg, cnt_kenmerk krg
|
||
WHERE kcrg.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kcrg.cnt_kenmerk_key = krg.cnt_kenmerk_key
|
||
AND krg.cnt_srtkenmerk_key = 121) rg, -- Regelgroepering
|
||
(SELECT kcmk.cnt_contract_key, kcmk.cnt_kenmerkcontract_waarde, skmk.cnt_srtkenmerk_omschrijving
|
||
FROM cnt_kenmerkcontract kcmk, cnt_kenmerk kmk, cnt_srtkenmerk skmk
|
||
WHERE kcmk.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kcmk.cnt_kenmerk_key = kmk.cnt_kenmerk_key
|
||
AND kmk.cnt_srtkenmerk_key = skmk.cnt_srtkenmerk_key
|
||
AND skmk.cnt_srtkenmerk_key > 60
|
||
AND skmk.cnt_srtkenmerk_kenmerktype = 'N' -- Numeriek
|
||
AND UPPER (skmk.cnt_srtkenmerk_dimensie) LIKE '%P.MND.%') mk -- Maandkosten
|
||
WHERE c.ins_discipline_key = cd.ins_discipline_key
|
||
AND cd.ins_discipline_key BETWEEN 721 AND 761
|
||
AND cd.ins_discipline_key = dp.cnt_ins_discipline_key
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_key = rg.cnt_contract_key
|
||
AND c.cnt_contract_key = mk.cnt_contract_key
|
||
GROUP BY c.cnt_contract_key,
|
||
lp.maand,
|
||
rg.cnt_kenmerkcontract_waarde, -- Regelgroepering
|
||
DECODE (rg.cnt_kenmerkcontract_waarde,
|
||
'542', TRIM (dp.cnt_disc_params_opmerking),
|
||
'543', TRIM (mk.cnt_srtkenmerk_omschrijving),
|
||
'Campus Rent')) x,
|
||
cnt_contract c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
cnt_discipline cd,
|
||
prs_kostensoort ks,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr -- BTW-nummer (NL)
|
||
WHERE x.maandkosten != 0
|
||
AND x.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||
AND cd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
UNION ALL -- Alle individuele kortingsbedragen (per maand)!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
TRIM (SUBSTR (c.cnt_contract_nummer, 1, INSTR (c.cnt_contract_nummer || '/', '/') - 1)) po_nr,
|
||
TRIM (c.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
DECODE (x.regelgroepering, '541', '621', TO_CHAR (c.ins_discipline_key)) sortering, -- Sorteren op Campus Rent of eigen discipline_key; 3 posities!
|
||
x.regel,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv,
|
||
TO_NUMBER (NULL) cnt_contract_korting, -- Korting %
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
FROM prs_contactpersoon
|
||
WHERE prs_contactpersoon_verwijder IS NULL
|
||
AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
AND prs_bedrijf_key = b.prs_bedrijf_key)
|
||
contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
--ks.prs_kostensoort_oms, ks.prs_kostensoort_opmerking, ks.prs_kostensoort_refcode, ksg.prs_kostensoortgrp_oms,
|
||
DECODE (c.ins_discipline_key, 761, '0', 'H') fin_btwtabelwaarde_code, -- OZB altijd 0%
|
||
DECODE (c.ins_discipline_key, 761, 'Nul', 'Hoog') fin_btwtabelwaarde_oms, -- OZB altijd 0%
|
||
DECODE (c.ins_discipline_key, 761, 0, 21) fin_btwtabelwaarde_perc, -- OZB altijd 0%
|
||
TO_NUMBER (NULL) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
TO_NUMBER (NULL) l_tarief, TO_NUMBER (NULL) h_tarief, TO_NUMBER (NULL) k_tarief, TO_NUMBER (NULL) o_tarief, TO_NUMBER (NULL) t_tarief,
|
||
NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding,
|
||
TO_NUMBER (NULL) l_opp, TO_NUMBER (NULL) h_opp, TO_NUMBER (NULL) k_opp, TO_NUMBER (NULL) o_opp, TO_NUMBER (NULL) t_opp,
|
||
-1 *
|
||
ROUND (((LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
x.kortingsbedrag, 2)
|
||
mndnet, -- Netto kortingsbedrag (excl. kortingspercentage)!
|
||
-1 *
|
||
ROUND (((LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
DECODE (c.ins_discipline_key, 761, 0, 0.21) *
|
||
x.kortingsbedrag, 2)
|
||
mndbtw, -- BTW kortingsbedrag
|
||
COALESCE (
|
||
ks.prs_kostensoort_refcode,
|
||
DECODE (
|
||
UPPER (x.regel),
|
||
'BIJDRAGE CHEF VAN DIENST', '8104',
|
||
'BIJDRAGE HYGI<47>NISCH ONDERHOUD', '8105',
|
||
'BIJDRAGE AFVAL', '8106',
|
||
'BIJDRAGE GASSEN', '8107',
|
||
'8100'))
|
||
grtboekrek,
|
||
TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key
|
||
FROM (SELECT c.cnt_contract_key,
|
||
lp.maand,
|
||
rg.cnt_kenmerkcontract_waarde regelgroepering,
|
||
DECODE (rg.cnt_kenmerkcontract_waarde,
|
||
'542', TRIM (dp.cnt_disc_params_opmerking),
|
||
'543', '???', -- TODO: Kortingsbedrag verwijderen?
|
||
'Campus Rent')
|
||
regel,
|
||
fac.safe_to_number (kb.cnt_kenmerkcontract_waarde) kortingsbedrag
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c, cnt_discipline cd, cnt_disc_params dp,
|
||
(SELECT kcrg.cnt_contract_key, kcrg.cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract kcrg, cnt_kenmerk krg
|
||
WHERE kcrg.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kcrg.cnt_kenmerk_key = krg.cnt_kenmerk_key
|
||
AND krg.cnt_srtkenmerk_key = 121) rg, -- Regelgroepering
|
||
(SELECT kckb.cnt_contract_key, kckb.cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract kckb, cnt_kenmerk kkb, cnt_srtkenmerk skkb
|
||
WHERE kckb.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kckb.cnt_kenmerk_key = kkb.cnt_kenmerk_key
|
||
AND kkb.cnt_srtkenmerk_key = skkb.cnt_srtkenmerk_key
|
||
AND skkb.cnt_srtkenmerk_key = 44) kb -- Kortingsbedrag
|
||
WHERE c.ins_discipline_key = cd.ins_discipline_key
|
||
AND cd.ins_discipline_key BETWEEN 621 AND 761
|
||
AND cd.ins_discipline_key = dp.cnt_ins_discipline_key
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_key = rg.cnt_contract_key(+) -- Huurcontracten g<><67>n Regelgroepering!
|
||
AND c.cnt_contract_key = kb.cnt_contract_key) x,
|
||
cnt_contract c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
cnt_discipline cd,
|
||
prs_kostensoort ks,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr -- BTW-nummer (NL)
|
||
WHERE x.kortingsbedrag != 0
|
||
AND x.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||
AND cd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
UNION ALL -- Alle correctiemeldingen (ook als contract inmiddels verlopen)!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
TRIM (SUBSTR (c.cnt_contract_nummer, 1, INSTR (c.cnt_contract_nummer || '/', '/') - 1)) po_nr,
|
||
TRIM (c.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
SUBSTR ('99' || fr.sortering, -3) sortering, -- Correctieregels onderaan (in dezelfde volgorde als de "echte" regels); 3 posities!
|
||
' Correctie ' || fr.factuurregel || ' ' || pv.periode_van || ' - ' || pt.periode_tot regel, -- Zou consistent moeten zijn met contract!
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv,
|
||
c.cnt_contract_korting, -- Korting %
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
FROM prs_contactpersoon
|
||
WHERE prs_contactpersoon_verwijder IS NULL
|
||
AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
AND prs_bedrijf_key = b.prs_bedrijf_key)
|
||
contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
--ks.prs_kostensoort_oms, ks.prs_kostensoort_opmerking, ks.prs_kostensoort_refcode, ksg.prs_kostensoortgrp_oms,
|
||
DECODE (c.ins_discipline_key,
|
||
621, DECODE (b.prs_bedrijf_key, -- Huurcontracten
|
||
11205, '0', -- UM [1025]
|
||
11297, '0', -- Chemelot Ventures [1091]
|
||
11306, '0', -- AMIBM(/UM) [1100]
|
||
DECODE (fr.factuurregel, 'CFF Rent', '0', 'H')),
|
||
730, DECODE (b.prs_bedrijf_key, -- Werkplek
|
||
11205, '0', -- UM [1025]
|
||
11297, '0', -- Chemelot Ventures [1091]
|
||
11306, '0', -- AMIBM(/UM) [1100]
|
||
'H'),
|
||
761, '0', -- OZB
|
||
'H') fin_btwtabelwaarde_code,
|
||
DECODE (c.ins_discipline_key,
|
||
621, DECODE (b.prs_bedrijf_key, -- Huurcontracten
|
||
11205, 'Nul', -- UM [1025]
|
||
11297, 'Nul', -- Chemelot Ventures [1091]
|
||
11306, 'Nul', -- AMIBM(/UM) [1100]
|
||
DECODE (fr.factuurregel, 'CFF Rent', 'Nul', 'Hoog')),
|
||
730, DECODE (b.prs_bedrijf_key, -- Werkplek
|
||
11205, 'Nul', -- UM [1025]
|
||
11297, 'Nul', -- Chemelot Ventures [1091]
|
||
11306, 'Nul', -- AMIBM(/UM) [1100]
|
||
'Hoog'),
|
||
761, 'Nul', -- OZB
|
||
'Hoog') fin_btwtabelwaarde_oms,
|
||
DECODE (c.ins_discipline_key,
|
||
621, DECODE (b.prs_bedrijf_key, -- Huurcontracten
|
||
11205, 0, -- UM [1025]
|
||
11297, 0, -- Chemelot Ventures [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
DECODE (fr.factuurregel, 'CFF Rent', 0, 21)),
|
||
730, DECODE (b.prs_bedrijf_key, -- Werkplek
|
||
11205, 0, -- UM [1025]
|
||
11297, 0, -- Chemelot Ventures [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
21),
|
||
761, 0, -- OZB
|
||
21) fin_btwtabelwaarde_perc,
|
||
TO_NUMBER (NULL) fin_btwtabelwaarde_verlegd,
|
||
lp.maand,
|
||
TO_CHAR (TO_DATE (lp.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (lp.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (lp.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (lp.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (lp.maand, 'yyyymm')) - TO_DATE (lp.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (lp.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (lp.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
TO_NUMBER (NULL) l_tarief, TO_NUMBER (NULL) h_tarief, TO_NUMBER (NULL) k_tarief, TO_NUMBER (NULL) o_tarief, TO_NUMBER (NULL) t_tarief,
|
||
NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding,
|
||
TO_NUMBER (NULL) l_opp, TO_NUMBER (NULL) h_opp, TO_NUMBER (NULL) k_opp, TO_NUMBER (NULL) o_opp, TO_NUMBER (NULL) t_opp,
|
||
ROUND (cb.correctiebedrag, 2)
|
||
mndnet, -- Netto correctiebedrag
|
||
ROUND (DECODE (c.ins_discipline_key,
|
||
621, DECODE (b.prs_bedrijf_key, -- Huurcontracten
|
||
11205, 0, -- UM [1025]
|
||
11297, 0, -- Chemelot Ventures [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
DECODE (fr.factuurregel, 'CFF Rent', 0, 0.21)),
|
||
730, DECODE (b.prs_bedrijf_key, -- Werkplek
|
||
11205, 0, -- UM [1025]
|
||
11297, 0, -- Chemelot Ventures [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
0.21),
|
||
761, 0, -- OZB
|
||
0.21) *
|
||
cb.correctiebedrag, 2)
|
||
mndbtw, -- BTW correctiebedrag
|
||
COALESCE (
|
||
ks.prs_kostensoort_refcode,
|
||
DECODE (
|
||
UPPER (fr.factuurregel), -- Zou consistent moeten zijn met contract!
|
||
'BIJDRAGE CHEF VAN DIENST', '8104',
|
||
'BIJDRAGE HYGI<47>NISCH ONDERHOUD', '8105',
|
||
'BIJDRAGE AFVAL', '8106',
|
||
'BIJDRAGE GASSEN', '8107',
|
||
'CFF RENT', '8130',
|
||
'8100'))
|
||
grtboekrek,
|
||
m.mld_melding_key -- Correctiemelding-key
|
||
FROM lopendeperiode lp,
|
||
mld_melding m,
|
||
mld_v_aanwezigkenmerkmelding km,
|
||
cnt_contract c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
cnt_discipline cd,
|
||
prs_kostensoort ks,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL)
|
||
(SELECT km.mld_melding_key, ud.fac_usrdata_code sortering, ud.fac_usrdata_omschr factuurregel
|
||
FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud
|
||
WHERE km.mld_kenmerk_key = 342 -- Factuurregel(groepering)
|
||
AND km.mld_kenmerkmelding_waarde = TO_CHAR (ud.fac_usrdata_key)) fr,
|
||
(SELECT mld_melding_key, mld_kenmerkmelding_waarde periode_van
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = 343) pv, -- Periode van
|
||
(SELECT mld_melding_key, mld_kenmerkmelding_waarde periode_tot
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = 344) pt, -- Periode tot
|
||
(SELECT mld_melding_key, fac.safe_to_number (mld_kenmerkmelding_waarde) correctiebedrag
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = 345) cb -- Correctiebedrag
|
||
WHERE m.mld_stdmelding_key = 482 -- Financi<63>le correctie
|
||
AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key = 341 -- Contractreferentie
|
||
AND km.mld_kenmerkmelding_waarde = TO_CHAR (c.cnt_contract_key)
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
--AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
--AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||
AND cd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND m.mld_melding_key = fr.mld_melding_key
|
||
AND m.mld_melding_key = pv.mld_melding_key
|
||
AND m.mld_melding_key = pt.mld_melding_key
|
||
AND m.mld_melding_key = cb.mld_melding_key
|
||
ORDER BY prs_bedrijf_key, 1, 2, 3, 4, alg_onroerendgoed_type, alg_plaatsaanduiding -- TODO: Waarom fout op tabel-prefix???
|
||
;
|
||
|
||
/* Formatted on 29-4-2017 15:48:29 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_fact_frozen
|
||
AS
|
||
SELECT vf.fin_verkoopfactuur_id,
|
||
TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/') - 1)) po_nr,
|
||
SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1) cnt_contract_nummer,
|
||
SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 3) sortering,
|
||
SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 5) regel,
|
||
TO_CHAR (vf.fin_verkoopfactuur_datum, 'dd-mm-yyyy') factuurdatum, TO_CHAR (vf.fin_verkoopfactuur_d1, 'dd-mm-yyyy') vervaldatum,
|
||
vf.fin_verkoopfactuur_refkey cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, -- Niet historisch bewaard!
|
||
c.cnt_contract_versie, -- Niet historisch bewaard!
|
||
c.cnt_contract_looptijd_tot lv, -- Niet historisch bewaard!
|
||
vf.fin_verkoopfactuur_n1 cnt_contract_korting, -- Korting %
|
||
vf.prs_bedrijf_key, vf.prs_debiteur_naam,
|
||
SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr,
|
||
SUBSTR (vf.fin_verkoopfactuur_c7, INSTR (vf.fin_verkoopfactuur_c7, '=') + 1) btw_nr,
|
||
vf.fin_verkoopfactuur_c8 contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, -- Niet historisch bewaard!
|
||
vf.prs_kostenplaats_key, vf.prs_kostenplaats_nr, vf.prs_kostenplaats_omschrijving, vf.prs_kostenplaatsgrp_oms,
|
||
--vf.prs_kostensoort_oms, vf.prs_kostensoort_opmerking, vf.prs_kostensoort_refcode, vf.prs_kostensoortgrp_oms,
|
||
vf.fin_btwtabelwaarde_code,
|
||
vf.fin_btwtabelwaarde_oms,
|
||
vf.fin_btwtabelwaarde_perc,
|
||
vf.fin_btwtabelwaarde_verlegd,
|
||
vf.fin_verkoopfactuur_maand maand,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c1, 1, INSTR (vf.fin_verkoopfactuur_c1, 'x') - 1)) l_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c2, 1, INSTR (vf.fin_verkoopfactuur_c2, 'x') - 1)) h_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c3, 1, INSTR (vf.fin_verkoopfactuur_c3, 'x') - 1)) k_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c4, 1, INSTR (vf.fin_verkoopfactuur_c4, 'x') - 1)) o_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c5, 1, INSTR (vf.fin_verkoopfactuur_c5, 'x') - 1)) t_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
SUBSTR (vf.fin_verkoopfactuur_c6, 1, 1) alg_onroerendgoed_type,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c6, 2, INSTR (vf.fin_verkoopfactuur_c6, '=') - 1)) alg_onroerendgoed_keys,
|
||
SUBSTR (vf.fin_verkoopfactuur_c6, INSTR (vf.fin_verkoopfactuur_c6, '=') + 1) alg_plaatsaanduiding,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c1, INSTR (vf.fin_verkoopfactuur_c1, 'x') + 1)) l_opp,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c2, INSTR (vf.fin_verkoopfactuur_c2, 'x') + 1)) h_opp,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c3, INSTR (vf.fin_verkoopfactuur_c3, 'x') + 1)) k_opp,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c4, INSTR (vf.fin_verkoopfactuur_c4, 'x') + 1)) o_opp,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c5, INSTR (vf.fin_verkoopfactuur_c5, 'x') + 1)) t_opp,
|
||
vf.fin_verkoopfactuur_bedrag mndnet, -- Netto maandbedrag
|
||
vf.fin_verkoopfactuur_btw mndbtw, -- BTW maandbedrag
|
||
vf.prs_kostensoort_oms grtboekrek,
|
||
vf.fin_verkoopfactuur_n2 mld_melding_key
|
||
FROM fin_verkoopfactuur vf,
|
||
cnt_contract c,
|
||
cnt_discipline cd,
|
||
prs_kostensoort ks,
|
||
prs_bedrijf b,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr -- BTW-nummer (NL)
|
||
WHERE vf.fin_verkoopfactuur_refkey = c.cnt_contract_key
|
||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||
AND cd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
ORDER BY vf.prs_bedrijf_key, 1, 2, 3, 4, SUBSTR (vf.fin_verkoopfactuur_c6, 1, 1), SUBSTR (vf.fin_verkoopfactuur_c6, INSTR (vf.fin_verkoopfactuur_c6, '=') + 1);
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_export_fact
|
||
(
|
||
hide_f_sortering,
|
||
fclt_x_maand,
|
||
code,
|
||
valuta,
|
||
factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
)
|
||
AS
|
||
SELECT ROWNUM,
|
||
REPLACE (periode, '/', '-') periode,
|
||
code,
|
||
valuta,
|
||
factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
FROM ( SELECT v.fin_verkoopfactuur_id || '0000' sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'1300' grtboekrek, -- Hard op '1300'
|
||
v.debiteur_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet + v.mndbtw) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen!
|
||
'debit' debitcredit,
|
||
'Total' omschrijving, -- Hard op 'Total'
|
||
NULL btwcode -- Hard op NULL
|
||
FROM blcc_v_fact_frozen v
|
||
WHERE v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY v.fin_verkoopfactuur_id || '0000',
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
'1300',
|
||
v.debiteur_nr,
|
||
NULL,
|
||
'debit',
|
||
'Total',
|
||
NULL
|
||
UNION ALL
|
||
SELECT v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???') sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
v.grtboekrek,
|
||
kp.prs_kostenplaats_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO: Altijd 'credit' (ook negatieve bedragen)???
|
||
v.regel omschrijving,
|
||
DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'VN') btwcode
|
||
FROM blcc_v_fact_frozen v, cnt_contract c, prs_kostenplaats kp
|
||
WHERE v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
AND v.cnt_contract_key = c.cnt_contract_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
GROUP BY v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???'),
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
v.grtboekrek,
|
||
kp.prs_kostenplaats_nr,
|
||
NULL,
|
||
'credit',
|
||
v.regel,
|
||
DECODE (v.fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'VN')
|
||
ORDER BY 1);
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_export_fact
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS -- View bevat alleen inhoud op de dag na de 10e werkdag van de maand!
|
||
SELECT 'code'
|
||
|| ';valuta'
|
||
|| ';factuurdatum'
|
||
|| ';periode'
|
||
|| ';factuurnummer'
|
||
|| ';vervaldatum'
|
||
|| ';nummer'
|
||
|| ';grtboekrek'
|
||
|| ';rel/kpl'
|
||
|| ';prj/activa'
|
||
|| ';bedrag'
|
||
|| ';debitcredit'
|
||
|| ';omschrijving'
|
||
|| ';btwcode',
|
||
0
|
||
FROM DUAL
|
||
WHERE FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 10
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
UNION ALL
|
||
SELECT code
|
||
|| ';'
|
||
|| valuta
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| periode
|
||
|| ';'
|
||
|| factuurnummer
|
||
|| ';'
|
||
|| vervaldatum
|
||
|| ';'
|
||
|| nummer
|
||
|| ';'
|
||
|| grtboekrek
|
||
|| ';'
|
||
|| rel_kpl
|
||
|| ';'
|
||
|| prj_activa
|
||
|| ';'
|
||
|| bedrag
|
||
|| ';'
|
||
|| debitcredit
|
||
|| ';'
|
||
|| omschrijving
|
||
|| ';'
|
||
|| btwcode,
|
||
ROWNUM
|
||
FROM blcc_v_rap_export_fact
|
||
WHERE fclt_x_maand = TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy-mm')
|
||
AND FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 10
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
ORDER BY 2;
|
||
|
||
/* Formatted on 29-4-2017 15:15:18 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE blcc_select_fact (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- Factureer/bevries huurcontractkosten en verwerk=AV alle eventuele correctiemeldingen!
|
||
CURSOR c1
|
||
IS
|
||
SELECT '[' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || '|' || v.prs_debiteur_naam || '|' || v.regel || '] ' aanduiding,
|
||
v.*, m.mld_melding_status
|
||
FROM blcc_v_fact_actual v, mld_melding m
|
||
WHERE v.mld_melding_key = m.mld_melding_key(+)
|
||
ORDER BY v.prs_bedrijf_key, v.po_nr, v.sortering, v.regel, v.alg_plaatsaanduiding;
|
||
|
||
-- Verstuur verkoopfactuur naar huurder.
|
||
CURSOR c2
|
||
IS
|
||
SELECT DISTINCT '[' || vf.fin_verkoopfactuur_id || '|' || vf.fin_verkoopfactuur_maand || '|' || vf.prs_debiteur_naam || '] ' aanduiding,
|
||
vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_maand, vf.prs_debiteur_naam,
|
||
vfk.fin_verkoopfactuurkop_key, vfk.fin_verkoopfactuurkop_id,
|
||
b.prs_bedrijf_email
|
||
FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b
|
||
WHERE vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyymm')
|
||
AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key
|
||
AND vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
ORDER BY vf.fin_verkoopfactuur_id;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_holiday NUMBER;
|
||
v_fact_count NUMBER;
|
||
v_amount_sum NUMBER (10, 2);
|
||
v_old_bedr_key NUMBER (10);
|
||
v_old_po_nr VARCHAR2 (30);
|
||
v_year_offset NUMBER (10);
|
||
v_factuur_id VARCHAR2 (30);
|
||
v_factkop_id VARCHAR2 (30);
|
||
v_verkoopfactuurkop_key NUMBER (10);
|
||
v_count NUMBER;
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_holiday
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1);
|
||
|
||
-- LET OP: Twinfield-export van contracten (= boekingsgangen) draait
|
||
-- dagelijks na middernacht (begin van dag) en de verkoop wordt maandelijks
|
||
-- alleen in de nacht na 10e werkdag van de maand doorgezet.
|
||
-- IF nacht na 1e werkdag van de maand (<28>n geen weekend <20>n geen vrije dag)!
|
||
-- count_work_days (d1,d2) bepaalt het #werkdagen van d1 tot d2 (als d1=d2,
|
||
-- dan return 0); daarom bepalen tov. laatste dag van vorige maand!
|
||
IF FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 10
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND v_holiday = 0
|
||
THEN
|
||
v_fact_count := 0;
|
||
v_amount_sum := 0;
|
||
v_old_bedr_key := -1;
|
||
v_old_po_nr := '';
|
||
|
||
-- Factureer/bevries huurcontractkosten en verwerk=AV alle eventuele
|
||
-- correctiemeldingen.
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
IF rec.prs_bedrijf_key != v_old_bedr_key OR rec.po_nr != v_old_po_nr
|
||
THEN
|
||
-- Bepaal max. sequence t/m voorgaande jaar (= aantal entries in
|
||
-- fin_verkoopfactuurkop-tabel).
|
||
SELECT COUNT ( * )
|
||
INTO v_year_offset
|
||
FROM fin_verkoopfactuurkop vfk
|
||
WHERE SUBSTR (vfk.fin_verkoopfactuurkop_id, 1, 4) < TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy');
|
||
|
||
-- Bepaal fin_verkoopfactuur_id=boekstuknr. tbv. BCC-verkoopboek
|
||
-- obv. sequence '01' en begin elk nieuw jaar weer bij 1 door te
|
||
-- corrigeren met de hierboven bepaalde offset.
|
||
SELECT fac_s_user01.NEXTVAL - v_year_offset INTO v_count FROM DUAL;
|
||
|
||
v_factuur_id := TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'YYYY') || '1' || SUBSTR ('0000' || TO_CHAR (v_count), -4);
|
||
v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr;
|
||
|
||
INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id)
|
||
VALUES (v_factkop_id)
|
||
RETURNING fin_verkoopfactuurkop_key
|
||
INTO v_verkoopfactuurkop_key;
|
||
COMMIT;
|
||
|
||
v_old_bedr_key := rec.prs_bedrijf_key;
|
||
v_old_po_nr := rec.po_nr;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout toevoegen verkoopfactuur';
|
||
|
||
INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key,
|
||
fin_verkoopfactuur_id,
|
||
fin_verkoopfactuur_datum,
|
||
fin_verkoopfactuur_omschr,
|
||
fin_verkoopfactuur_xmlnode,
|
||
fin_verkoopfactuur_refkey,
|
||
prs_kostenplaats_key,
|
||
prs_kostenplaats_nr,
|
||
prs_kostenplaats_omschrijving,
|
||
prs_kostenplaatsgrp_oms,
|
||
prs_kostensoort_oms,
|
||
prs_kostensoort_opmerking,
|
||
prs_kostensoort_refcode,
|
||
prs_bedrijf_key,
|
||
prs_debiteur_naam,
|
||
prs_kostensoortgrp_oms,
|
||
fin_verkoopfactuur_bedrag,
|
||
fin_verkoopfactuur_btw,
|
||
fin_btwtabelwaarde_code,
|
||
fin_btwtabelwaarde_oms,
|
||
fin_btwtabelwaarde_perc,
|
||
fin_btwtabelwaarde_verlegd,
|
||
fin_verkoopfactuur_maand,
|
||
fin_verkoopfactuur_n1,
|
||
fin_verkoopfactuur_n2,
|
||
fin_verkoopfactuur_n3,
|
||
fin_verkoopfactuur_n4,
|
||
fin_verkoopfactuur_n5,
|
||
fin_verkoopfactuur_c1,
|
||
fin_verkoopfactuur_c2,
|
||
fin_verkoopfactuur_c3,
|
||
fin_verkoopfactuur_c4,
|
||
fin_verkoopfactuur_c5,
|
||
fin_verkoopfactuur_c6,
|
||
fin_verkoopfactuur_c7,
|
||
fin_verkoopfactuur_c8,
|
||
fin_verkoopfactuur_d1,
|
||
fin_verkoopfactuur_d2,
|
||
fin_verkoopfactuur_d3,
|
||
fin_verkoopfactuur_d4,
|
||
fin_verkoopfactuur_d5)
|
||
VALUES (v_verkoopfactuurkop_key,
|
||
v_factuur_id,
|
||
TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'),
|
||
rec.cnt_contract_nummer || '/=' || rec.sortering || rec.regel,
|
||
'contract',
|
||
rec.cnt_contract_key,
|
||
rec.prs_kostenplaats_key,
|
||
rec.prs_kostenplaats_nr,
|
||
rec.prs_kostenplaats_omschrijving,
|
||
rec.prs_kostenplaatsgrp_oms,
|
||
rec.grtboekrek,
|
||
rec.grtboekrek,
|
||
rec.grtboekrek,
|
||
rec.prs_bedrijf_key,
|
||
rec.prs_debiteur_naam,
|
||
NULL,
|
||
rec.mndnet,
|
||
rec.mndbtw,
|
||
rec.fin_btwtabelwaarde_code,
|
||
rec.fin_btwtabelwaarde_oms,
|
||
rec.fin_btwtabelwaarde_perc,
|
||
rec.fin_btwtabelwaarde_verlegd,
|
||
rec.maand,
|
||
rec.cnt_contract_korting, -- n1/kortingspercentage <20>f subsidiepercentage
|
||
rec.mld_melding_key, -- n2/correctiemelding
|
||
TO_NUMBER (NULL), -- n3
|
||
TO_NUMBER (NULL), -- n4
|
||
TO_NUMBER (NULL), -- n5
|
||
TO_CHAR (rec.l_tarief) || 'x' || TO_CHAR (rec.l_opp), -- c1/jaartarief x oppervlakte
|
||
TO_CHAR (rec.h_tarief) || 'x' || TO_CHAR (rec.h_opp), -- c2/jaartarief x oppervlakte
|
||
TO_CHAR (rec.k_tarief) || 'x' || TO_CHAR (rec.k_opp), -- c3/jaartarief x oppervlakte
|
||
TO_CHAR (rec.o_tarief) || 'x' || TO_CHAR (rec.o_opp), -- c4/jaartarief x oppervlakte
|
||
TO_CHAR (rec.t_tarief) || 'x' || TO_CHAR (rec.t_opp), -- c5/jaartarief x oppervlakte
|
||
rec.alg_onroerendgoed_type || rec.alg_onroerendgoed_keys || '=' || rec.alg_plaatsaanduiding, -- c6
|
||
rec.debiteur_nr || '=' || rec.btw_nr, -- c7
|
||
rec.contactpersoon, -- c8
|
||
TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1
|
||
TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2
|
||
TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3
|
||
TO_DATE (rec.dagbegin, 'dd-mm-yyyy'), -- d4
|
||
TO_DATE (rec.dageinde, 'dd-mm-yyyy')); -- d5
|
||
COMMIT;
|
||
|
||
v_fact_count := v_fact_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.mndnet;
|
||
|
||
IF (rec.mld_melding_key IS NOT NULL) -- Correctiemelding?
|
||
THEN
|
||
v_errormsg := 'Fout verwerken correctiemelding';
|
||
|
||
-- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus
|
||
-- eerst afmelden (als nog niet Afgemeld)!
|
||
IF (rec.mld_melding_status = 4) -- ACP
|
||
THEN
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM
|
||
END IF;
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER
|
||
COMMIT;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'M2-freeze');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'M2-verkoop/#regels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum));
|
||
|
||
-- Verstuur verkoopfactuur naar huurder.
|
||
FOR rec IN c2
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout toevoegen CUST01-noti';
|
||
|
||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
fac_notificatie_receiver_email,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
fac_notificatie_prioriteit,
|
||
fac_notificatie_datum,
|
||
fac_notificatie_sender_email,
|
||
fac_notificatie_attachments)
|
||
VALUES (281, -- CUST01-noti
|
||
2, -- Mail
|
||
DECODE ( -- To-adres
|
||
rec.prs_bedrijf_email,
|
||
NULL, 'accounting1@brightlands.com',
|
||
rec.prs_bedrijf_email || ';accounting1@brightlands.com'),
|
||
'Factuur ' || rec.fin_verkoopfactuur_id || ' ' || rec.fin_verkoopfactuur_maand || ' ' || rec.prs_debiteur_naam,
|
||
rec.fin_verkoopfactuurkop_key,
|
||
2, -- Prioriteit
|
||
TRUNC (SYSDATE) + (7 / 24),
|
||
'accounting1@brightlands.com', -- From-adres
|
||
'../export/PDF/' || rec.fin_verkoopfactuurkop_id || '.pdf');
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'M2-noti');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', v_errormsg, 'FACT-export afgebroken!');
|
||
END;
|
||
/
|
||
|
||
|
||
-- Export om een BAT-bestand aan te maken dat de PDF-bestanden genereert. Deze
|
||
-- export moet voor 5:00 worden gedraaid, daarna (7:00) worden de notificaties
|
||
-- vanuit putOrders verstuurd.
|
||
CREATE OR REPLACE VIEW blcc_v_export_pdf_att
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT 'CALL GENEREER1FIN_VK_PDF.BAT '
|
||
|| TO_CHAR (vfk.fin_verkoopfactuurkop_key)
|
||
|| ' '
|
||
|| vfk.fin_verkoopfactuurkop_id,
|
||
vfk.fin_verkoopfactuurkop_key
|
||
FROM fac_notificatie n, fin_verkoopfactuurkop vfk
|
||
WHERE n.fac_srtnotificatie_key = 281 -- CUST01-noti
|
||
AND n.fac_notificatie_refkey = vfk.fin_verkoopfactuurkop_key;
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_fact_controle
|
||
(
|
||
fclt_f_controle,
|
||
controle_ref
|
||
)
|
||
AS
|
||
WITH periodegeg AS (SELECT * FROM blcc_v_fact_actual)
|
||
SELECT DISTINCT 'BCC Huurcontract niet gekoppeld aan FIN-plaats',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v, cnt_contract c
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.cnt_contract_key = c.cnt_contract_key
|
||
AND c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND v.alg_plaatsaanduiding NOT LIKE '%FIN%'
|
||
UNION ALL
|
||
SELECT DISTINCT 'BCC Huurcontract oppervlakte = 0',
|
||
xref
|
||
FROM ( SELECT v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']' xref,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0) ) oppervlakte
|
||
FROM periodegeg v, cnt_contract c
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.cnt_contract_key = c.cnt_contract_key
|
||
AND c.ins_discipline_key = 621 -- Huurcontracten
|
||
GROUP BY v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']')
|
||
WHERE oppervlakte = 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Contract(regel) bedrag = 0',
|
||
xref
|
||
FROM ( SELECT v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']' xref,
|
||
SUM (v.mndnet) bedrag
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
GROUP BY v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']')
|
||
WHERE bedrag = 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Contract(regel) bedrag < 0',
|
||
xref
|
||
FROM ( SELECT v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']' xref,
|
||
SUM (v.mndnet) bedrag
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.regel NOT LIKE 'CFF%'
|
||
GROUP BY v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']')
|
||
WHERE bedrag < 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Contractkorting >= 100%',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.cnt_contract_korting >= 100
|
||
UNION ALL
|
||
SELECT DISTINCT 'Contract met GVR-overlap?',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v, alg_v_allonroerendgoed aog
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND v.alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
|
||
AND EXISTS (SELECT 1
|
||
FROM periodegeg v1, alg_v_allonroerendgoed aog1
|
||
WHERE v1.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND v1.alg_onroerendgoed_keys = aog1.alg_onroerendgoed_keys
|
||
AND v1.cnt_contract_key = v.cnt_contract_key -- Hetzelfde contract
|
||
AND aog1.alg_gebouw_key = aog.alg_gebouw_key -- Hetzelfde gebouw
|
||
AND v1.alg_onroerendgoed_type != v.alg_onroerendgoed_type -- Ander type
|
||
AND v1.alg_onroerendgoed_keys != v.alg_onroerendgoed_keys) -- Andere regel
|
||
UNION ALL
|
||
SELECT DISTINCT 'Dezelfde plaats gekoppeld aan meer contracten',
|
||
v.alg_plaatsaanduiding
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND EXISTS (SELECT 1
|
||
FROM periodegeg v1
|
||
WHERE v1.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND v1.alg_onroerendgoed_keys = v.alg_onroerendgoed_keys -- Dezelfde plaats
|
||
AND v1.cnt_contract_key != v.cnt_contract_key) -- Ander contract
|
||
UNION ALL
|
||
SELECT DISTINCT 'E-mail adres van debiteur onbekend',
|
||
v.prs_debiteur_naam
|
||
FROM periodegeg v, prs_bedrijf b
|
||
WHERE v.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_email IS NULL
|
||
UNION ALL
|
||
SELECT DISTINCT 'Factuuradres van debiteur onbekend/onvolledig',
|
||
v.prs_debiteur_naam
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND (v.adres IS NULL OR v.postcode IS NULL OR v.plaats IS NULL OR v.land IS NULL)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Correctiebedrag = 0',
|
||
TO_CHAR (v.mld_melding_key)
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NOT NULL
|
||
AND v.mndnet = 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Correctiemelding nog niet in conceptfactuur',
|
||
TO_CHAR (m.mld_melding_key)
|
||
FROM mld_melding m
|
||
WHERE m.mld_stdmelding_key = 482 -- Financi<63>le correctie
|
||
AND m.mld_melding_status IN (0, 2, 3) -- Pending/Ingevoerd/Ingezien
|
||
UNION ALL
|
||
SELECT DISTINCT 'Contract gekoppeld aan locatie',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.alg_onroerendgoed_type = 'L';
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_fact_delta_actual
|
||
AS
|
||
SELECT DISTINCT
|
||
debiteur_nr || cnt_contract_nummer || regel sortering,
|
||
cnt_contract_nummer_intern, cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
opp_old, opp_new, opp_delta,
|
||
bruto_old, bruto_new, bruto_delta,
|
||
DECODE (opp_delta + bruto_delta, 0, NULL, 'X') mutatievlag
|
||
FROM (SELECT COALESCE (y.cnt_contract_nummer_intern, '*' || x.cnt_contract_nummer_intern) cnt_contract_nummer_intern,
|
||
DECODE (x.cnt_contract_versie, -- Is altijd een versie!
|
||
y.cnt_contract_versie, x.cnt_contract_versie,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, '<LEEG>'))) cnt_contract_versie,
|
||
DECODE (x.prs_debiteur_naam, -- Is altijd een debiteur_naam!
|
||
y.prs_debiteur_naam, x.prs_debiteur_naam,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, '<LEEG>'))) prs_debiteur_naam,
|
||
DECODE (x.debiteur_nr, -- Niet altijd een debiteur_nr!
|
||
y.debiteur_nr, x.debiteur_nr,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, '<LEEG>'))) debiteur_nr,
|
||
DECODE (x.cnt_contract_nummer, -- Niet altijd een PO-nr!
|
||
y.cnt_contract_nummer, x.cnt_contract_nummer,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.cnt_contract_nummer, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_nummer, '<LEEG>'))) cnt_contract_nummer,
|
||
DECODE (x.regel, -- Is altijd een regel!
|
||
y.regel, x.regel,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, '<LEEG>'))) regel,
|
||
DECODE (x.prs_kostenplaats_nr, -- Is altijd een KP-nr!
|
||
y.prs_kostenplaats_nr, x.prs_kostenplaats_nr,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, '<LEEG>'))) prs_kostenplaats_nr,
|
||
DECODE (x.grtboekrek, -- Niet altijd een grootboekrekening!
|
||
y.grtboekrek, x.grtboekrek,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, '<LEEG>'))) grtboekrek,
|
||
y.opp opp_old, x.opp opp_new,
|
||
(COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta,
|
||
y.bruto bruto_old, x.bruto bruto_new,
|
||
(COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta
|
||
FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_actual
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) x
|
||
LEFT JOIN
|
||
( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen)
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) y
|
||
ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern
|
||
--AND x.cnt_contract_versie = y.cnt_contract_versie
|
||
--AND x.prs_debiteur_naam = y.prs_debiteur_naam
|
||
--AND x.debiteur_nr = y.debiteur_nr
|
||
--AND x.cnt_contract_nummer = y.cnt_contract_nummer
|
||
AND x.regel = y.regel
|
||
UNION
|
||
SELECT COALESCE (x.cnt_contract_nummer_intern, 'x' || y.cnt_contract_nummer_intern) cnt_contract_nummer_intern,
|
||
DECODE (y.cnt_contract_versie, -- Is altijd een versie!
|
||
x.cnt_contract_versie, y.cnt_contract_versie,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, '<LEEG>'))) cnt_contract_versie,
|
||
DECODE (y.prs_debiteur_naam, -- Is altijd een debiteur_naam!
|
||
x.prs_debiteur_naam, y.prs_debiteur_naam,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, '<LEEG>'))) prs_debiteur_naam,
|
||
DECODE (y.debiteur_nr, -- Niet altijd een debiteur_nr!
|
||
x.debiteur_nr, y.debiteur_nr,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, '<LEEG>'))) debiteur_nr,
|
||
DECODE (y.cnt_contract_nummer, -- Niet altijd een PO-nr!
|
||
x.cnt_contract_nummer, y.cnt_contract_nummer,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.cnt_contract_nummer, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_nummer, '<LEEG>'))) cnt_contract_nummer,
|
||
DECODE (y.regel, -- Is altijd een regel!
|
||
x.regel, y.regel,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, '<LEEG>'))) regel,
|
||
DECODE (y.prs_kostenplaats_nr, -- Is altijd een KP-nr!
|
||
x.prs_kostenplaats_nr, y.prs_kostenplaats_nr,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, '<LEEG>'))) prs_kostenplaats_nr,
|
||
DECODE (y.grtboekrek, -- Niet altijd een grootboekrekening!
|
||
x.grtboekrek, y.grtboekrek,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, '<LEEG>'))) grtboekrek,
|
||
y.opp opp_old, x.opp opp_new,
|
||
(COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta,
|
||
y.bruto bruto_old, x.bruto bruto_new,
|
||
(COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta
|
||
FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_actual
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) x
|
||
RIGHT JOIN
|
||
( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen)
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) y
|
||
ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern
|
||
--AND x.cnt_contract_versie = y.cnt_contract_versie
|
||
--AND x.prs_debiteur_naam = y.prs_debiteur_naam
|
||
--AND x.debiteur_nr = y.debiteur_nr
|
||
--AND x.cnt_contract_nummer = y.cnt_contract_nummer
|
||
AND x.regel = y.regel);
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_fact_delta_frozen
|
||
AS
|
||
SELECT DISTINCT
|
||
debiteur_nr || cnt_contract_nummer || regel sortering,
|
||
cnt_contract_nummer_intern, cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
opp_old, opp_new, opp_delta,
|
||
bruto_old, bruto_new, bruto_delta,
|
||
DECODE (opp_delta + bruto_delta, 0, NULL, 'X') mutatievlag
|
||
FROM (SELECT COALESCE (y.cnt_contract_nummer_intern, '*' || x.cnt_contract_nummer_intern) cnt_contract_nummer_intern,
|
||
DECODE (x.cnt_contract_versie, -- Is altijd een versie!
|
||
y.cnt_contract_versie, x.cnt_contract_versie,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, '<LEEG>'))) cnt_contract_versie,
|
||
DECODE (x.prs_debiteur_naam, -- Is altijd een debiteur_naam!
|
||
y.prs_debiteur_naam, x.prs_debiteur_naam,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, '<LEEG>'))) prs_debiteur_naam,
|
||
DECODE (x.debiteur_nr, -- Niet altijd een debiteur_nr!
|
||
y.debiteur_nr, x.debiteur_nr,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, '<LEEG>'))) debiteur_nr,
|
||
DECODE (x.cnt_contract_nummer, -- Niet altijd een PO-nr!
|
||
y.cnt_contract_nummer, x.cnt_contract_nummer,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.cnt_contract_nummer, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_nummer, '<LEEG>'))) cnt_contract_nummer,
|
||
DECODE (x.regel, -- Is altijd een regel!
|
||
y.regel, x.regel,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, '<LEEG>'))) regel,
|
||
DECODE (x.prs_kostenplaats_nr, -- Is altijd een KP-nr!
|
||
y.prs_kostenplaats_nr, x.prs_kostenplaats_nr,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, '<LEEG>'))) prs_kostenplaats_nr,
|
||
DECODE (x.grtboekrek, -- Niet altijd een grootboekrekening!
|
||
y.grtboekrek, x.grtboekrek,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, '<LEEG>'))) grtboekrek,
|
||
y.opp opp_old, x.opp opp_new,
|
||
(COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta,
|
||
y.bruto bruto_old, x.bruto bruto_new,
|
||
(COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta
|
||
FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen)
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) x
|
||
LEFT JOIN
|
||
( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen WHERE maand <> (SELECT MAX (maand) FROM blcc_v_fact_frozen))
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) y
|
||
ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern
|
||
--AND x.cnt_contract_versie = y.cnt_contract_versie
|
||
--AND x.prs_debiteur_naam = y.prs_debiteur_naam
|
||
--AND x.debiteur_nr = y.debiteur_nr
|
||
--AND x.cnt_contract_nummer = y.cnt_contract_nummer
|
||
AND x.regel = y.regel
|
||
UNION
|
||
SELECT COALESCE (x.cnt_contract_nummer_intern, 'x' || y.cnt_contract_nummer_intern) cnt_contract_nummer_intern,
|
||
DECODE (y.cnt_contract_versie, -- Is altijd een versie!
|
||
x.cnt_contract_versie, y.cnt_contract_versie,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, '<LEEG>'))) cnt_contract_versie,
|
||
DECODE (y.prs_debiteur_naam, -- Is altijd een debiteur_naam!
|
||
x.prs_debiteur_naam, y.prs_debiteur_naam,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, '<LEEG>'))) prs_debiteur_naam,
|
||
DECODE (y.debiteur_nr, -- Niet altijd een debiteur_nr!
|
||
x.debiteur_nr, y.debiteur_nr,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, '<LEEG>'))) debiteur_nr,
|
||
DECODE (y.cnt_contract_nummer, -- Niet altijd een PO-nr!
|
||
x.cnt_contract_nummer, y.cnt_contract_nummer,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.cnt_contract_nummer, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_nummer, '<LEEG>'))) cnt_contract_nummer,
|
||
DECODE (y.regel, -- Is altijd een regel!
|
||
x.regel, y.regel,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, '<LEEG>'))) regel,
|
||
DECODE (y.prs_kostenplaats_nr, -- Is altijd een KP-nr!
|
||
x.prs_kostenplaats_nr, y.prs_kostenplaats_nr,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, '<LEEG>'))) prs_kostenplaats_nr,
|
||
DECODE (y.grtboekrek, -- Niet altijd een grootboekrekening!
|
||
x.grtboekrek, y.grtboekrek,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, '<LEEG>'))) grtboekrek,
|
||
y.opp opp_old, x.opp opp_new,
|
||
(COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta,
|
||
y.bruto bruto_old, x.bruto bruto_new,
|
||
(COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta
|
||
FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen)
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) x
|
||
RIGHT JOIN
|
||
( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen WHERE maand <> (SELECT MAX (maand) FROM blcc_v_fact_frozen))
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) y
|
||
ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern
|
||
--AND x.cnt_contract_versie = y.cnt_contract_versie
|
||
--AND x.prs_debiteur_naam = y.prs_debiteur_naam
|
||
--AND x.debiteur_nr = y.debiteur_nr
|
||
--AND x.cnt_contract_nummer = y.cnt_contract_nummer
|
||
AND x.regel = y.regel);
|
||
|
||
-- BLCC#41826: Leegstand
|
||
CREATE OR REPLACE VIEW blcc_v_rap_leegstand
|
||
AS
|
||
SELECT TO_CHAR (x.mnd, 'yyyy-mm') maand,
|
||
fp.alg_onrgoed_key,
|
||
fp.alg_onrgoed_type,
|
||
fp.fin_plaats,
|
||
c.prs_bedrijf_naam debiteur,
|
||
c.prs_overeenkomst_nr debiteur_nr,
|
||
fp.fin_opp,
|
||
fp.fin_lhkot,
|
||
DECODE (c.cnt_contract_key, NULL, 'Ja', 'Nee') leegstand
|
||
FROM ( SELECT ADD_MONTHS (TRUNC (SYSDATE, 'mm'), LEVEL - 13) mnd
|
||
FROM DUAL
|
||
CONNECT BY LEVEL <= 37) x
|
||
LEFT JOIN (SELECT g.alg_gebouw_key alg_onrgoed_key, 'G' alg_onrgoed_type,
|
||
g.alg_gebouw_code || DECODE (glhkot.alg_kenmerk_key, 1082, ' / L', 1083, ' / H', 1084, ' / K', 1085, ' / O', ' / T')
|
||
fin_plaats,
|
||
fac.safe_to_number (alg_onrgoedkenmerk_waarde) fin_opp,
|
||
DECODE (glhkot.alg_kenmerk_key, 1082, 'L', 1083, 'H', 1084, 'K', 1085, 'O', 'T') fin_lhkot
|
||
FROM alg_v_aanweziggebouw g, alg_v_aanwezigonrgoedkenmerk glhkot
|
||
WHERE g.alg_gebouw_code LIKE '%FIN%'
|
||
AND g.alg_gebouw_key = glhkot.alg_onrgoed_key
|
||
AND glhkot.alg_kenmerk_key IN (1082, 1083, 1084, 1085, 1120) -- LHKOT Oppervlakten
|
||
AND glhkot.alg_onrgoed_niveau = 'G'
|
||
UNION ALL
|
||
SELECT v.alg_verdieping_key alg_onrgoed_key, 'V' alg_onrgoed_type,
|
||
g.alg_gebouw_code || '-' || TRIM (v.alg_verdieping_code) || DECODE (vlhkot.alg_kenmerk_key, 1092, ' / L', 1093, ' / H', 1094, ' / K', 1095, ' / O', ' / T')
|
||
fin_plaats,
|
||
fac.safe_to_number (alg_onrgoedkenmerk_waarde) fin_opp,
|
||
DECODE (vlhkot.alg_kenmerk_key, 1092, 'L', 1093, 'H', 1094, 'K', 1095, 'O', 'T') fin_lhkot
|
||
FROM alg_v_aanwezigverdieping v, alg_gebouw g, alg_v_aanwezigonrgoedkenmerk vlhkot
|
||
WHERE v.alg_verdieping_code LIKE '%FIN%'
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND v.alg_verdieping_key = vlhkot.alg_onrgoed_key
|
||
AND vlhkot.alg_kenmerk_key IN (1092, 1093, 1094, 1095, 1121) -- LHKOT Oppervlakten
|
||
AND vlhkot.alg_onrgoed_niveau = 'V'
|
||
UNION ALL
|
||
SELECT r.alg_ruimte_key alg_onrgoed_key, 'R' alg_onrgoed_type,
|
||
g.alg_gebouw_code || '-' || v.alg_verdieping_code || '-' || r.alg_ruimte_nr || ' / ' || ud.fac_usrdata_code
|
||
fin_plaats,
|
||
r.alg_ruimte_opp_alt1 fin_opp,
|
||
ud.fac_usrdata_code fin_lhkot
|
||
FROM alg_v_aanwezigruimte r, alg_verdieping v, alg_gebouw g, alg_v_aanwezigonrgoedkenmerk rlhkot, fac_usrdata ud
|
||
WHERE r.alg_ruimte_nr LIKE 'FIN%'
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND r.alg_ruimte_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
AND rlhkot.alg_onrgoedkenmerk_waarde = TO_CHAR (ud.fac_usrdata_key)) fp -- FIN-plaatsen
|
||
ON 1 = 1
|
||
LEFT JOIN (SELECT c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_looptijd_van, c.cnt_contract_looptijd_tot,
|
||
cp.cnt_alg_plaats_key, cp.cnt_alg_plaats_code, b.prs_bedrijf_naam, b.prs_overeenkomst_nr
|
||
FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract vsov, cnt_contract_plaats cp, prs_bedrijf b
|
||
WHERE c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND c.cnt_contract_key = vsov.cnt_contract_key
|
||
AND vsov.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov.cnt_kenmerk_key = 21 -- VSOV
|
||
AND vsov.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd telt als geen leegstand!
|
||
AND cp.cnt_contract_plaats_verwijder IS NULL
|
||
AND c.cnt_contract_key = cp.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c
|
||
ON x.mnd BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1)
|
||
AND fp.alg_onrgoed_key = c.cnt_alg_plaats_key;
|
||
|
||
-- BLCC#41827: Rent roll met een per bedrijf/regel/jaar-rij een contractbedrag-
|
||
-- kolom (ter pivot in FACILITOR naar een per bedrijf/regel-rij een
|
||
-- contractbedrag per jaar-kolom).
|
||
CREATE OR REPLACE VIEW blcc_v_rap_rent_roll
|
||
AS
|
||
SELECT prs_bedrijf_naam huurder,
|
||
regel,
|
||
lv ingangsdatum_huurovk,
|
||
lt einddatum_huurovk,
|
||
12 * mndnet_heel rent,
|
||
TO_CHAR (maand, 'yyyy') jaar,
|
||
SUM (mndnet_deel) totaal -- Regeltotaal per jaar
|
||
FROM (
|
||
SELECT p.maand,
|
||
c.lv,
|
||
c.lt,
|
||
c.prs_bedrijf_naam,
|
||
x.regel,
|
||
SUM (ROUND (x.mndnet, 2)) mndnet_heel,
|
||
SUM (ROUND ((LEAST (TRUNC (c.lt), LAST_DAY (p.maand)) - GREATEST (TRUNC (c.lv), p.maand) + 1) / (LAST_DAY (p.maand) - p.maand + 1) * x.mndnet, 2))
|
||
mndnet_deel -- Regeltotaal per maand
|
||
FROM ( SELECT ADD_MONTHS (TRUNC (SYSDATE, 'yyyy'), LEVEL - 1) maand
|
||
FROM DUAL
|
||
CONNECT BY ADD_MONTHS (TRUNC (SYSDATE, 'yyyy'), LEVEL - 1) <=
|
||
(SELECT MAX (TRUNC (cnt_contract_looptijd_tot, 'mm'))
|
||
FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract vsov
|
||
WHERE c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.ins_discipline_key IN (621, 721, 722, 724) -- Huurcontracten+PP & CV+Utility infra/voorz+General infra/voorz
|
||
AND c.cnt_contract_key = vsov.cnt_contract_key
|
||
AND vsov.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov.cnt_kenmerk_key = 21 -- VSOV
|
||
AND vsov.cnt_kenmerkcontract_waarde = '454')) p -- ALLEEN Verhuurd!
|
||
LEFT JOIN (SELECT c.cnt_contract_key, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_naam
|
||
FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract vsov, prs_bedrijf b
|
||
WHERE c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND c.cnt_contract_key = vsov.cnt_contract_key
|
||
AND vsov.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov.cnt_kenmerk_key = 21 -- VSOV
|
||
AND vsov.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd!
|
||
--AND c.cnt_prs_bedrijf_key = 11207 -- Arlanxeo (om te testen)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
UNION ALL
|
||
SELECT c.cnt_contract_key, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_naam
|
||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
|
||
WHERE c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.ins_discipline_key IN (721, 722, 724) -- PP & CV+Utility infra/voorz+General infra/voorz
|
||
--AND c.cnt_prs_bedrijf_key = 11207 -- Arlanxeo (om te testen)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c
|
||
ON p.maand BETWEEN TRUNC (c.lv, 'mm') AND TRUNC (c.lt, 'mm')
|
||
LEFT JOIN (SELECT x.cnt_contract_key, 'Campus Rent' regel,
|
||
((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((COALESCE (fac.safe_to_number(COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0)))
|
||
mndnet -- Netto maandbedrag (incl. kortingspercentage)
|
||
FROM (SELECT c.cnt_contract_key, c.cnt_contract_korting
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 621) x -- Huurcontracten
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata ltar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key)
|
||
AND ltar.fac_usrdata_code = 'L' -- L-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata htar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key)
|
||
AND htar.fac_usrdata_code = 'H' -- H-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ktar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key)
|
||
AND ktar.fac_usrdata_code = 'K' -- K-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata otar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key)
|
||
AND otar.fac_usrdata_code = 'O' -- O-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ttar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key)
|
||
AND ttar.fac_usrdata_code = 'T' -- T-Tarief
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gho
|
||
ON ccp.cnt_alg_plaats_key = gho.alg_onrgoed_key
|
||
AND gho.alg_kenmerk_key = 1083 -- GH-Oppervlakte
|
||
AND gho.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk goo
|
||
ON ccp.cnt_alg_plaats_key = goo.alg_onrgoed_key
|
||
AND goo.alg_kenmerk_key = 1085 -- GO-Oppervlakte
|
||
AND goo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gto
|
||
ON ccp.cnt_alg_plaats_key = gto.alg_onrgoed_key
|
||
AND gto.alg_kenmerk_key = 1120 -- GT-Oppervlakte
|
||
AND gto.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vho
|
||
ON ccp.cnt_alg_plaats_key = vho.alg_onrgoed_key
|
||
AND vho.alg_kenmerk_key = 1093 -- VH-Oppervlakte
|
||
AND vho.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk voo
|
||
ON ccp.cnt_alg_plaats_key = voo.alg_onrgoed_key
|
||
AND voo.alg_kenmerk_key = 1095 -- VO-Oppervlakte
|
||
AND voo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vto
|
||
ON ccp.cnt_alg_plaats_key = vto.alg_onrgoed_key
|
||
AND vto.alg_kenmerk_key = 1121 -- VT-Oppervlakte
|
||
AND vto.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
UNION ALL -- FES
|
||
SELECT x.cnt_contract_key, 'FES' regel,
|
||
-1 *
|
||
((COALESCE (fac.safe_to_number(COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * (COALESCE (lfes.fac_usrdata_prijs, 0) / 12)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * (COALESCE (kfes.fac_usrdata_prijs, 0) / 12)))
|
||
mndnet -- Netto maandbedrag (excl. kortingspercentage)
|
||
FROM (SELECT c.cnt_contract_key
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 621) x -- Huurcontracten
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata lfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (lfes.fac_usrtab_key)
|
||
AND lfes.fac_usrdata_code = 'LFES' -- FES-Tarief op L-Oppervlakte
|
||
LEFT JOIN fac_v_aanwezigusrdata kfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (kfes.fac_usrtab_key)
|
||
AND kfes.fac_usrdata_code = 'KFES' -- FES-Tarief op K-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract fes
|
||
ON x.cnt_contract_key = fes.cnt_contract_key
|
||
AND fes.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND fes.cnt_kenmerk_key = 42 -- FES-vinkje
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
WHERE fes.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
UNION ALL -- CFF Rent
|
||
SELECT cnt_contract_key,
|
||
'CFF Rent' regel,
|
||
-1 * fac_usrdata_prijs * (mndnet - fac.safe_to_number (cnt_kenmerkcontract_waarde))
|
||
mndnet -- CFF-subsidie * Netto maandbedrag (incl. kortingspercentage <20>n kortingsbedrag)=CFF Rent
|
||
FROM ( SELECT x.cnt_contract_key,
|
||
kb_kc.cnt_kenmerkcontract_waarde, -- Netto kortingsbedrag (excl. kortingspercentage)!
|
||
ccf_ud.fac_usrdata_prijs, -- CFF-subsidiepercentatie %
|
||
SUM (((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((COALESCE (fac.safe_to_number(COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))))
|
||
mndnet -- Netto maandbedrag (incl. kortingspercentage)=Campus Rent
|
||
FROM (SELECT c.cnt_contract_key, c.cnt_contract_korting
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 621) x -- Huurcontracten
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde =
|
||
TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata ltar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key)
|
||
AND ltar.fac_usrdata_code = 'L' -- L-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata htar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key)
|
||
AND htar.fac_usrdata_code = 'H' -- H-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ktar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key)
|
||
AND ktar.fac_usrdata_code = 'K' -- K-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata otar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key)
|
||
AND otar.fac_usrdata_code = 'O' -- O-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ttar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key)
|
||
AND ttar.fac_usrdata_code = 'T' -- T-Tarief
|
||
LEFT JOIN cnt_kenmerkcontract kb_kc
|
||
ON x.cnt_contract_key = kb_kc.cnt_contract_key
|
||
AND kb_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kb_kc.cnt_kenmerk_key = 24 -- Kortingsbedrag
|
||
LEFT JOIN cnt_kenmerkcontract cff_kc
|
||
ON x.cnt_contract_key = cff_kc.cnt_contract_key
|
||
AND cff_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cff_kc.cnt_kenmerk_key = 44 -- CFF-subsidie
|
||
LEFT JOIN fac_v_aanwezigusrdata ccf_ud
|
||
ON cff_kc.cnt_kenmerkcontract_waarde = TO_CHAR (ccf_ud.fac_usrdata_key)
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gho
|
||
ON ccp.cnt_alg_plaats_key = gho.alg_onrgoed_key
|
||
AND gho.alg_kenmerk_key = 1083 -- GH-Oppervlakte
|
||
AND gho.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk goo
|
||
ON ccp.cnt_alg_plaats_key = goo.alg_onrgoed_key
|
||
AND goo.alg_kenmerk_key = 1085 -- GO-Oppervlakte
|
||
AND goo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gto
|
||
ON ccp.cnt_alg_plaats_key = gto.alg_onrgoed_key
|
||
AND gto.alg_kenmerk_key = 1120 -- GT-Oppervlakte
|
||
AND gto.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vho
|
||
ON ccp.cnt_alg_plaats_key = vho.alg_onrgoed_key
|
||
AND vho.alg_kenmerk_key = 1093 -- VH-Oppervlakte
|
||
AND vho.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk voo
|
||
ON ccp.cnt_alg_plaats_key = voo.alg_onrgoed_key
|
||
AND voo.alg_kenmerk_key = 1095 -- VO-Oppervlakte
|
||
AND voo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vto
|
||
ON ccp.cnt_alg_plaats_key = vto.alg_onrgoed_key
|
||
AND vto.alg_kenmerk_key = 1121 -- VT-Oppervlakte
|
||
AND vto.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
WHERE COALESCE (cff_kc.cnt_kenmerkcontract_waarde, '534') != '534' -- NIET Nvt!
|
||
GROUP BY x.cnt_contract_key,
|
||
kb_kc.cnt_kenmerkcontract_waarde,
|
||
ccf_ud.fac_usrdata_prijs)
|
||
UNION ALL -- Alle individuele maandbedragen voor 721, 722 en 724!
|
||
SELECT c.cnt_contract_key, 'Campus Rent' regel,
|
||
SUM (((100 - COALESCE (c.cnt_contract_korting, 0)) / 100) * fac.safe_to_number (kc.cnt_kenmerkcontract_waarde))
|
||
mndnet -- Netto kortingsbedrag (excl. kortingspercentage)!
|
||
FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk
|
||
WHERE c.ins_discipline_key IN (721, 722, 724) -- PP & CV+Utility infra/voorz+General infra/voorz
|
||
AND c.cnt_contract_key = kc.cnt_contract_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
|
||
AND sk.cnt_srtkenmerk_key > 60
|
||
AND sk.cnt_srtkenmerk_kenmerktype = 'N' -- Numeriek
|
||
AND UPPER (sk.cnt_srtkenmerk_dimensie) LIKE '%P.MND.%'
|
||
GROUP BY c.cnt_contract_key
|
||
UNION ALL -- Alle individuele kortingsbedragen (per maand) voor 621, 721, 722 en 724!
|
||
SELECT c.cnt_contract_key, 'Campus Rent' regel,
|
||
-1 * fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
|
||
mndnet -- Netto kortingsbedrag (excl. kortingspercentage)!
|
||
FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract kc, cnt_kenmerk k
|
||
WHERE c.ins_discipline_key IN (621, 721, 722, 724) -- Huurcontracten/PP & CV+Utility infra/voorz+General infra/voorz
|
||
AND c.cnt_contract_key = kc.cnt_contract_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_srtkenmerk_key = 44 -- Kortingsbedrag
|
||
AND kc.cnt_kenmerkcontract_waarde != '0') x
|
||
ON c.cnt_contract_key = x.cnt_contract_key
|
||
GROUP BY p.maand,
|
||
c.lv,
|
||
c.lt,
|
||
c.prs_bedrijf_naam,
|
||
x.regel)
|
||
GROUP BY prs_bedrijf_naam,
|
||
regel,
|
||
lv,
|
||
lt,
|
||
12 * mndnet_heel,
|
||
TO_CHAR (maand, 'yyyy');
|
||
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_huurcontracten
|
||
(
|
||
cnt_contract_key,
|
||
cnt_contract_id,
|
||
cnt_contract_tht
|
||
)
|
||
AS
|
||
SELECT DISTINCT v.cnt_contract_key,
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || '/' || cd.ins_discipline_omschrijving || ' [' || v.prs_debiteur_naam || ']',
|
||
NULL
|
||
FROM blcc_v_fact_actual v, cnt_discipline cd
|
||
WHERE v.sortering = TO_CHAR (cd.ins_discipline_key)
|
||
UNION
|
||
SELECT DISTINCT cnt_contract_key,
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || '/' || cd.ins_discipline_omschrijving || ' [' || v.prs_debiteur_naam || ']',
|
||
ADD_MONTHS (v.lv, 1)
|
||
FROM blcc_v_fact_frozen v, cnt_discipline cd
|
||
WHERE v.sortering = TO_CHAR (cd.ins_discipline_key);
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_fact_vastgoedgeg
|
||
AS
|
||
SELECT fp.alg_onrgoed_key,
|
||
fp.alg_onrgoed_type,
|
||
fp.alg_gebouw_code gebouwcode,
|
||
fp.alg_verdieping_volgnr verdiepingvolgnr,
|
||
fp.alg_verdieping_code verdiepingcode,
|
||
fp.alg_srtruimte_omschrijving ruimtefunctie,
|
||
fp.alg_ruimte_nr ruimtenummer,
|
||
fp.alg_ruimte_omschrijving ruimteomschrijving,
|
||
fp.vvo,
|
||
fp.bvo,
|
||
fp.lhkot_class,
|
||
c.contract
|
||
FROM (SELECT g.alg_gebouw_key alg_onrgoed_key,
|
||
'G' alg_onrgoed_type,
|
||
g.alg_gebouw_code,
|
||
NULL alg_verdieping_volgnr,
|
||
NULL alg_verdieping_code,
|
||
NULL alg_srtruimte_omschrijving,
|
||
NULL alg_ruimte_nr,
|
||
NULL alg_ruimte_omschrijving,
|
||
fac.safe_to_number (glhkot.alg_onrgoedkenmerk_waarde) vvo,
|
||
NULL bvo,
|
||
DECODE (glhkot.alg_kenmerk_key, 1082, 'L', 1083, 'H', 1084, 'K', 1085, 'O', 'T') lhkot_class
|
||
FROM alg_v_aanweziggebouw g,
|
||
alg_v_aanwezigonrgoedkenmerk glhkot
|
||
WHERE g.alg_locatie_key = 1 -- CAMPUS
|
||
AND g.alg_gebouw_key = glhkot.alg_onrgoed_key(+)
|
||
AND glhkot.alg_kenmerk_key(+) IN (1082, 1083, 1084, 1085, 1120) -- LHKOT Oppervlakten
|
||
AND glhkot.alg_onrgoed_niveau(+) = 'G'
|
||
UNION ALL
|
||
SELECT t.alg_terreinsector_key alg_onrgoed_key,
|
||
'T' alg_onrgoed_type,
|
||
t.alg_terreinsector_code alg_gebouw_code,
|
||
NULL alg_verdieping_volgnr,
|
||
NULL alg_verdieping_code,
|
||
NULL alg_srtruimte_omschrijving,
|
||
NULL alg_ruimte_nr,
|
||
NULL alg_ruimte_omschrijving,
|
||
t.alg_terreinsector_oppervlak vvo,
|
||
t.alg_terreinsector_oppervlak bvo,
|
||
NULL lhkot_class
|
||
FROM alg_v_aanwezigterreinsector t
|
||
WHERE t.alg_locatie_key = 1 -- CAMPUS
|
||
UNION ALL
|
||
SELECT v.alg_verdieping_key alg_onrgoed_key,
|
||
'V' alg_onrgoed_type,
|
||
g.alg_gebouw_code,
|
||
v.alg_verdieping_volgnr,
|
||
v.alg_verdieping_code,
|
||
NULL alg_srtruimte_omschrijving,
|
||
NULL alg_ruimte_nr,
|
||
NULL alg_ruimte_omschrijving,
|
||
fac.safe_to_number (vlhkot.alg_onrgoedkenmerk_waarde) vvo,
|
||
NULL bvo,
|
||
DECODE (vlhkot.alg_kenmerk_key, 1092, 'L', 1093, 'H', 1094, 'K', 1095, 'O', 'T') lhkot_class
|
||
FROM alg_v_aanwezigverdieping v,
|
||
alg_gebouw g,
|
||
alg_v_aanwezigonrgoedkenmerk vlhkot
|
||
WHERE v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = 1 -- CAMPUS
|
||
AND v.alg_verdieping_key = vlhkot.alg_onrgoed_key(+)
|
||
AND vlhkot.alg_kenmerk_key(+) IN (1092, 1093, 1094, 1095, 1121) -- LHKOT Oppervlakten
|
||
AND vlhkot.alg_onrgoed_niveau(+) = 'V'
|
||
UNION ALL
|
||
SELECT r.alg_ruimte_key alg_onrgoed_key,
|
||
'R' alg_onrgoed_type,
|
||
g.alg_gebouw_code,
|
||
v.alg_verdieping_volgnr,
|
||
v.alg_verdieping_code,
|
||
sr.alg_srtruimte_omschrijving,
|
||
r.alg_ruimte_nr,
|
||
r.alg_ruimte_omschrijving,
|
||
r.alg_ruimte_opp_alt1 vvo,
|
||
r.alg_ruimte_bruto_vloeropp bvo,
|
||
ud.fac_usrdata_code lhkot_class
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_srtruimte sr,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_v_aanwezigonrgoedkenmerk rlhkot,
|
||
fac_usrdata ud
|
||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = 1 -- CAMPUS
|
||
AND r.alg_ruimte_key = rlhkot.alg_onrgoed_key(+)
|
||
AND rlhkot.alg_kenmerk_key(+) = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau(+) = 'R'
|
||
AND rlhkot.alg_onrgoedkenmerk_waarde = TO_CHAR (ud.fac_usrdata_key(+))) fp -- FIN-plaatsen
|
||
LEFT JOIN
|
||
( SELECT cp.cnt_alg_plaats_key,
|
||
LISTAGG (c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0'), ',') WITHIN GROUP (ORDER BY c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0'))
|
||
contract
|
||
FROM cnt_v_aanwezigcontract c, cnt_contract_plaats cp
|
||
WHERE c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND SYSDATE BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1)
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND cp.cnt_contract_plaats_verwijder IS NULL
|
||
AND c.cnt_contract_key = cp.cnt_contract_key
|
||
GROUP BY cp.cnt_alg_plaats_key) c
|
||
ON fp.alg_onrgoed_key = c.cnt_alg_plaats_key;
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_fact_contractgeg
|
||
AS
|
||
WITH ck AS (SELECT sk.vnr, sk.cnt_srtkenmerk_key, sk.cnt_srtkenmerk_omschrijving, kw.cnt_contract_key, kw.waarde
|
||
FROM (SELECT ROWNUM vnr, cnt_srtkenmerk_key, cnt_srtkenmerk_omschrijving
|
||
FROM ( SELECT sk.cnt_srtkenmerk_key, sk.cnt_srtkenmerk_omschrijving, sk.cnt_srtkenmerk_aanmaak
|
||
FROM cnt_srtkenmerk sk
|
||
WHERE sk.cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B')
|
||
AND COALESCE (sk.cnt_srtkenmerk_verwijder, SYSDATE) > TO_DATE ('010717', 'ddmmyy')
|
||
AND EXISTS (SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_srtcontract_key BETWEEN 621 AND 761
|
||
AND COALESCE (cnt_kenmerk_verwijder, SYSDATE) > TO_DATE ('010717', 'ddmmyy')
|
||
AND cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key)
|
||
ORDER BY 3)) sk
|
||
LEFT JOIN
|
||
(SELECT sk.cnt_srtkenmerk_key, ck.cnt_contract_key,
|
||
DECODE (sk.cnt_srtkenmerk_kenmerktype,
|
||
'R', fac.getdomeinwaarde (sk.fac_kenmerkdomein_key, ck.cnt_kenmerkcontract_waarde),
|
||
'S', fac.getdomeinwaarde (sk.fac_kenmerkdomein_key, ck.cnt_kenmerkcontract_waarde),
|
||
ck.cnt_kenmerkcontract_waarde)
|
||
waarde
|
||
FROM cnt_kenmerkcontract ck, cnt_kenmerk k, cnt_srtkenmerk sk
|
||
WHERE ck.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND ck.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_kenmerk_verwijder IS NULL
|
||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key) kw
|
||
ON sk.cnt_srtkenmerk_key = kw.cnt_srtkenmerk_key)
|
||
SELECT 0 sortering,
|
||
'Contract' contractnr, -- Inclusief versie
|
||
'Contractstatus' contractstatus, -- Nieuw
|
||
'Externnr' externnr, -- PO-nr
|
||
'Contractsoort' contractsoort,
|
||
--'Beschrijving' beschrijving,
|
||
--'Mantelnr' mantelnr,
|
||
--'Omschrijving' omschrijving,
|
||
--'Versie' versie,
|
||
--'Dienst' dienst,
|
||
--'Contractafdelingcode' eigenaar_afd,
|
||
--'Contactpersoonlogin' eigenaar_login,
|
||
--'Contractbeheerderlogin' beheerder_login,
|
||
--'Opmerking' opmerking,
|
||
'Debiteurnr' debiteurnr, -- Nieuw
|
||
'Contractant' contractant,
|
||
'Ingangsdatum' ingangsdatum,
|
||
'Rappeldatum' rappeldatum,
|
||
'Opzegdatum' opzegdatum,
|
||
'Einddatum' einddatum,
|
||
--'Bedrijfnaam' bedrijfnaam, -- Omhoog als contractant
|
||
--'Contactnaam' contactnaam,
|
||
--'Kostenplaatscode' kostenplaatscode,
|
||
--'Contractbedrag' contractbedrag,
|
||
--'Termijnbedrag' termijnbedrag,
|
||
--'Uurtarief' uurtarief,
|
||
'Korting' korting,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 1)) kenmerk1,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 2)) kenmerk2,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 3)) kenmerk3,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 4)) kenmerk4,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 5)) kenmerk5,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 6)) kenmerk6,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 7)) kenmerk7,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 8)) kenmerk8,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 9)) kenmerk9,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 10)) kenmerk10,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 11)) kenmerk11,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 12)) kenmerk12,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 13)) kenmerk13,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 14)) kenmerk14,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 15)) kenmerk15,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 16)) kenmerk16,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 17)) kenmerk17,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 18)) kenmerk18,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 19)) kenmerk19,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 20)) kenmerk20,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 21)) kenmerk21,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 22)) kenmerk22,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 23)) kenmerk23,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 24)) kenmerk24,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 25)) kenmerk25,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 26)) kenmerk26,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 27)) kenmerk27,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 28)) kenmerk28,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 29)) kenmerk29,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 30)) kenmerk30,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 31)) kenmerk31,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 32)) kenmerk32,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 33)) kenmerk33,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 34)) kenmerk34,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 35)) kenmerk35,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 36)) kenmerk36,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 37)) kenmerk37,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 38)) kenmerk38,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 39)) kenmerk39,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 40)) kenmerk40,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 41)) kenmerk41,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 42)) kenmerk42,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 43)) kenmerk43,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 44)) kenmerk44,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 45)) kenmerk45,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 46)) kenmerk46,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 47)) kenmerk47,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 48)) kenmerk48,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 49)) kenmerk49,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 50)) kenmerk50
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT 1 sortering,
|
||
x.cnt_contract_nummer_intern || '.' || COALESCE (x.cnt_contract_versie, '0') contractnr,
|
||
DECODE (x.cnt_contract_status, 1, 'Gesloten', 'Actief') contractstatus, -- Nieuw
|
||
x.cnt_contract_nummer externnr,
|
||
x.ins_discipline_omschrijving contractsoort,
|
||
--x.cnt_contract_omschrijving beschrijving,
|
||
--x.mantelnr,
|
||
--x.cnt_contract_document omschrijving,
|
||
--x.cnt_contract_versie versie,
|
||
--x.prs_dienst_omschrijving dienst,
|
||
--x.prs_afdeling_naam eigenaar_afd,
|
||
--x.login_eig eigenaar_login,
|
||
--x.login_beh beheerder_login,
|
||
--x.cnt_contract_opmerking opmerking,
|
||
x.prs_overeenkomst_nr debiteurnr,
|
||
x.prs_bedrijf_naam contractant,
|
||
TO_CHAR (x.cnt_contract_looptijd_van, 'dd-mm-yyyy') ingangsdatum,
|
||
TO_CHAR (cnt.cnt_getRappeldatum (x.cnt_contract_key), 'dd-mm-yyyy') rappeldatum,
|
||
TO_CHAR (cnt.cnt_getOpzegdatum (x.cnt_contract_key), 'dd-mm-yyyy') opzegdatum,
|
||
TO_CHAR (x.cnt_contract_looptijd_tot, 'dd-mm-yyyy') einddatum,
|
||
--x.prs_bedrijf_naam bedrijfnaam,
|
||
--x.prs_contactpersoon_naam contactnaam,
|
||
--x.prs_kostenplaats_nr kostenplaatscode,
|
||
--TO_CHAR (x.cnt_contract_kosten) contractbedrag,
|
||
--TO_CHAR (x.cnt_contract_termijnkosten) termijnbedrag,
|
||
--TO_CHAR (x.cnt_contract_uurloon) uurtarief,
|
||
TO_CHAR (x.cnt_contract_korting) korting,
|
||
k1.waarde kenmerk1,
|
||
k2.waarde kenmerk2,
|
||
k3.waarde kenmerk3,
|
||
k4.waarde kenmerk4,
|
||
k5.waarde kenmerk5,
|
||
k6.waarde kenmerk6,
|
||
k7.waarde kenmerk7,
|
||
k8.waarde kenmerk8,
|
||
k9.waarde kenmerk9,
|
||
k10.waarde kenmerk10,
|
||
k11.waarde kenmerk11,
|
||
k12.waarde kenmerk12,
|
||
k13.waarde kenmerk13,
|
||
k14.waarde kenmerk14,
|
||
k15.waarde kenmerk15,
|
||
k16.waarde kenmerk16,
|
||
k17.waarde kenmerk17,
|
||
k18.waarde kenmerk18,
|
||
k19.waarde kenmerk19,
|
||
k20.waarde kenmerk20,
|
||
k21.waarde kenmerk21,
|
||
k22.waarde kenmerk22,
|
||
k23.waarde kenmerk23,
|
||
k24.waarde kenmerk24,
|
||
k25.waarde kenmerk25,
|
||
k26.waarde kenmerk26,
|
||
k27.waarde kenmerk27,
|
||
k28.waarde kenmerk28,
|
||
k29.waarde kenmerk29,
|
||
k30.waarde kenmerk30,
|
||
k31.waarde kenmerk31,
|
||
k32.waarde kenmerk32,
|
||
k33.waarde kenmerk33,
|
||
k34.waarde kenmerk34,
|
||
k35.waarde kenmerk35,
|
||
k36.waarde kenmerk36,
|
||
k37.waarde kenmerk37,
|
||
k38.waarde kenmerk38,
|
||
k39.waarde kenmerk39,
|
||
k40.waarde kenmerk40,
|
||
k31.waarde kenmerk41,
|
||
k32.waarde kenmerk42,
|
||
k33.waarde kenmerk43,
|
||
k34.waarde kenmerk44,
|
||
k35.waarde kenmerk45,
|
||
k36.waarde kenmerk46,
|
||
k37.waarde kenmerk47,
|
||
k38.waarde kenmerk48,
|
||
k39.waarde kenmerk49,
|
||
k40.waarde kenmerk50
|
||
FROM (SELECT c.*,
|
||
cd.ins_discipline_omschrijving,
|
||
cm.cnt_contract_nummer_intern mantelnr,
|
||
d.prs_dienst_omschrijving,
|
||
a.prs_afdeling_naam,
|
||
eig.prs_perslid_oslogin login_eig,
|
||
beh.prs_perslid_oslogin login_beh,
|
||
b.prs_overeenkomst_nr,
|
||
b.prs_bedrijf_naam,
|
||
cp.prs_contactpersoon_naam,
|
||
kp.prs_kostenplaats_nr
|
||
FROM cnt_v_aanwezigcontract c,
|
||
cnt_discipline cd,
|
||
cnt_v_aanwezigcontract cm,
|
||
prs_dienst d,
|
||
prs_afdeling a,
|
||
prs_v_aanwezigperslid eig,
|
||
prs_v_aanwezigperslid beh,
|
||
prs_v_aanwezigbedrijf b,
|
||
prs_contactpersoon cp,
|
||
prs_kostenplaats kp
|
||
WHERE c.ins_discipline_key BETWEEN 621 AND 761
|
||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||
AND c.cnt_contract_mantel_key = cm.cnt_contract_key(+)
|
||
AND c.prs_dienst_key = d.prs_dienst_key(+)
|
||
AND c.prs_afdeling_key_eig = a.prs_afdeling_key
|
||
AND c.prs_perslid_key_eig = eig.prs_perslid_key(+)
|
||
AND c.prs_perslid_key_beh = beh.prs_perslid_key(+)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND c.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)) x
|
||
LEFT JOIN ck k1 ON x.cnt_contract_key = k1.cnt_contract_key AND k1.vnr = 1
|
||
LEFT JOIN ck k2 ON x.cnt_contract_key = k2.cnt_contract_key AND k2.vnr = 2
|
||
LEFT JOIN ck k3 ON x.cnt_contract_key = k3.cnt_contract_key AND k3.vnr = 3
|
||
LEFT JOIN ck k4 ON x.cnt_contract_key = k4.cnt_contract_key AND k4.vnr = 4
|
||
LEFT JOIN ck k5 ON x.cnt_contract_key = k5.cnt_contract_key AND k5.vnr = 5
|
||
LEFT JOIN ck k6 ON x.cnt_contract_key = k6.cnt_contract_key AND k6.vnr = 6
|
||
LEFT JOIN ck k7 ON x.cnt_contract_key = k7.cnt_contract_key AND k7.vnr = 7
|
||
LEFT JOIN ck k8 ON x.cnt_contract_key = k8.cnt_contract_key AND k8.vnr = 8
|
||
LEFT JOIN ck k9 ON x.cnt_contract_key = k9.cnt_contract_key AND k9.vnr = 9
|
||
LEFT JOIN ck k10 ON x.cnt_contract_key = k10.cnt_contract_key AND k10.vnr = 10
|
||
LEFT JOIN ck k11 ON x.cnt_contract_key = k11.cnt_contract_key AND k11.vnr = 11
|
||
LEFT JOIN ck k12 ON x.cnt_contract_key = k12.cnt_contract_key AND k12.vnr = 12
|
||
LEFT JOIN ck k13 ON x.cnt_contract_key = k13.cnt_contract_key AND k13.vnr = 13
|
||
LEFT JOIN ck k14 ON x.cnt_contract_key = k14.cnt_contract_key AND k14.vnr = 14
|
||
LEFT JOIN ck k15 ON x.cnt_contract_key = k15.cnt_contract_key AND k15.vnr = 15
|
||
LEFT JOIN ck k16 ON x.cnt_contract_key = k16.cnt_contract_key AND k16.vnr = 16
|
||
LEFT JOIN ck k17 ON x.cnt_contract_key = k17.cnt_contract_key AND k17.vnr = 17
|
||
LEFT JOIN ck k18 ON x.cnt_contract_key = k18.cnt_contract_key AND k18.vnr = 18
|
||
LEFT JOIN ck k19 ON x.cnt_contract_key = k19.cnt_contract_key AND k19.vnr = 19
|
||
LEFT JOIN ck k20 ON x.cnt_contract_key = k20.cnt_contract_key AND k20.vnr = 20
|
||
LEFT JOIN ck k21 ON x.cnt_contract_key = k21.cnt_contract_key AND k21.vnr = 21
|
||
LEFT JOIN ck k22 ON x.cnt_contract_key = k22.cnt_contract_key AND k22.vnr = 22
|
||
LEFT JOIN ck k23 ON x.cnt_contract_key = k23.cnt_contract_key AND k23.vnr = 23
|
||
LEFT JOIN ck k24 ON x.cnt_contract_key = k24.cnt_contract_key AND k24.vnr = 24
|
||
LEFT JOIN ck k25 ON x.cnt_contract_key = k25.cnt_contract_key AND k25.vnr = 25
|
||
LEFT JOIN ck k26 ON x.cnt_contract_key = k26.cnt_contract_key AND k26.vnr = 26
|
||
LEFT JOIN ck k27 ON x.cnt_contract_key = k27.cnt_contract_key AND k27.vnr = 27
|
||
LEFT JOIN ck k28 ON x.cnt_contract_key = k28.cnt_contract_key AND k28.vnr = 28
|
||
LEFT JOIN ck k29 ON x.cnt_contract_key = k29.cnt_contract_key AND k29.vnr = 29
|
||
LEFT JOIN ck k30 ON x.cnt_contract_key = k30.cnt_contract_key AND k30.vnr = 30
|
||
LEFT JOIN ck k31 ON x.cnt_contract_key = k31.cnt_contract_key AND k31.vnr = 31
|
||
LEFT JOIN ck k32 ON x.cnt_contract_key = k32.cnt_contract_key AND k32.vnr = 32
|
||
LEFT JOIN ck k33 ON x.cnt_contract_key = k33.cnt_contract_key AND k33.vnr = 33
|
||
LEFT JOIN ck k34 ON x.cnt_contract_key = k34.cnt_contract_key AND k34.vnr = 34
|
||
LEFT JOIN ck k35 ON x.cnt_contract_key = k35.cnt_contract_key AND k35.vnr = 35
|
||
LEFT JOIN ck k36 ON x.cnt_contract_key = k36.cnt_contract_key AND k36.vnr = 36
|
||
LEFT JOIN ck k37 ON x.cnt_contract_key = k37.cnt_contract_key AND k37.vnr = 37
|
||
LEFT JOIN ck k38 ON x.cnt_contract_key = k38.cnt_contract_key AND k38.vnr = 38
|
||
LEFT JOIN ck k39 ON x.cnt_contract_key = k39.cnt_contract_key AND k39.vnr = 39
|
||
LEFT JOIN ck k40 ON x.cnt_contract_key = k40.cnt_contract_key AND k40.vnr = 40
|
||
LEFT JOIN ck k41 ON x.cnt_contract_key = k41.cnt_contract_key AND k41.vnr = 41
|
||
LEFT JOIN ck k42 ON x.cnt_contract_key = k42.cnt_contract_key AND k42.vnr = 42
|
||
LEFT JOIN ck k43 ON x.cnt_contract_key = k43.cnt_contract_key AND k43.vnr = 43
|
||
LEFT JOIN ck k44 ON x.cnt_contract_key = k44.cnt_contract_key AND k44.vnr = 44
|
||
LEFT JOIN ck k45 ON x.cnt_contract_key = k45.cnt_contract_key AND k45.vnr = 45
|
||
LEFT JOIN ck k46 ON x.cnt_contract_key = k46.cnt_contract_key AND k46.vnr = 46
|
||
LEFT JOIN ck k47 ON x.cnt_contract_key = k47.cnt_contract_key AND k47.vnr = 47
|
||
LEFT JOIN ck k48 ON x.cnt_contract_key = k48.cnt_contract_key AND k48.vnr = 48
|
||
LEFT JOIN ck k49 ON x.cnt_contract_key = k49.cnt_contract_key AND k49.vnr = 49
|
||
LEFT JOIN ck k50 ON x.cnt_contract_key = k50.cnt_contract_key AND k50.vnr = 50;
|
||
|
||
-- BLCC#51200: Indexatie 2018!
|
||
CREATE OR REPLACE PROCEDURE blcc_export_indexwerk (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
-- Huurconracten+PP & CV+Utility infra/voorz+General infra/voorz+Shared facilities+Standaard FM Diensten+Utilities+IT Diensten+OZB
|
||
CURSOR ccnt (p_splitsindexdatum DATE)
|
||
IS
|
||
SELECT '[' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || '] '
|
||
aanduiding,
|
||
c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
c.cnt_contract_versie,
|
||
c.cnt_contract_looptijd_tot einddatum,
|
||
c.cnt_contract_kosten,
|
||
c.cnt_contract_termijnkosten,
|
||
c.cnt_prs_bedrijf_key,
|
||
DECODE (c.ins_discipline_key,
|
||
725, 2.85, -- Shared facilities in 2018: 2,85%!
|
||
729, 2.85, -- Standaard FM Diensten in 2018: 2,85%!
|
||
761, 2.85, -- OZB in 2018: 2,85%!
|
||
731, 6.0, -- Utilities in 2018: 6,0%!
|
||
1.1) -- 621+721+722+724+741 in 2018: 1,1%!
|
||
index_percentage
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key IN (621, 721, 722, 724, 725, 729, 731, 741, 761)
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten!
|
||
AND NOT EXISTS -- Beschouw alleen laatste versie van contracten
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract
|
||
WHERE cnt_contract_nummer_intern = c.cnt_contract_nummer_intern
|
||
AND cnt_contract_versie > COALESCE (c.cnt_contract_versie, '0'))
|
||
AND c.cnt_contract_looptijd_tot > p_splitsindexdatum
|
||
ORDER BY TO_NUMBER (c.cnt_contract_nummer_intern);
|
||
|
||
c_index_percentage NUMBER := 1.1; -- Default/standaard in 2018: 1,1%!
|
||
c_splitsindexdatum DATE := TO_DATE ('01012018', 'ddmmyyyy');
|
||
v_errorhint VARCHAR2 (1000) := '';
|
||
v_errormsg VARCHAR2 (1000) := '';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count NUMBER;
|
||
v_new_tarieftab_key NUMBER;
|
||
v_old_tarieftab_key NUMBER;
|
||
v_new_tarieftab_val NUMBER;
|
||
v_new_contract_key NUMBER;
|
||
BEGIN
|
||
-- Aanmaken en indexeren tarieftabel 20xx.
|
||
v_errorhint := 'Fout bepalen nieuwe tarieftabel';
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM fac_usrtab
|
||
WHERE fac_usrtab_naam = 'Tarieven ' || TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yyyy');
|
||
|
||
IF v_count > 0
|
||
THEN
|
||
SELECT fac_usrtab_key
|
||
INTO v_new_tarieftab_key
|
||
FROM fac_usrtab
|
||
WHERE fac_usrtab_naam = 'Tarieven ' || TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yyyy');
|
||
ELSE
|
||
v_errorhint := 'Fout toevoegen tarieftabel';
|
||
INSERT INTO fac_usrtab (fac_usrtab_naam, fac_usrtab_omschrijving)
|
||
VALUES ('Tarieven ' || TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yyyy'), 'Tarieven ' || TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yyyy') || ' per jaar')
|
||
RETURNING fac_usrtab_key
|
||
INTO v_new_tarieftab_key;
|
||
COMMIT;
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bepalen oude tarieftabel';
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM fac_usrtab
|
||
WHERE fac_usrtab_naam = 'Tarieven ' || TO_CHAR (SYSDATE, 'yyyy');
|
||
|
||
IF v_count > 0
|
||
THEN
|
||
SELECT fac_usrtab_key
|
||
INTO v_old_tarieftab_key
|
||
FROM fac_usrtab
|
||
WHERE fac_usrtab_naam = 'Tarieven ' || TO_CHAR (SYSDATE, 'yyyy');
|
||
|
||
v_errorhint := 'Fout vullen nieuwe tarieftabel';
|
||
INSERT INTO fac_usrdata (fac_usrtab_key,
|
||
fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
fac_usrdata_volgnr,
|
||
fac_usrdata_vervaldatum,
|
||
fac_usrdata_prijs)
|
||
SELECT v_new_tarieftab_key,
|
||
fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
fac_usrdata_volgnr,
|
||
fac_usrdata_vervaldatum,
|
||
ROUND (fac_usrdata_prijs * ((100 + c_index_percentage) / 100), 2)
|
||
FROM fac_v_aanwezigusrdata
|
||
WHERE fac_usrtab_key = v_old_tarieftab_key
|
||
ORDER BY fac_usrdata_volgnr;
|
||
|
||
v_errorhint := 'Fout toevoegen nieuwe tarieftabel-entry';
|
||
INSERT INTO fac_usrdata (fac_usrtab_key,
|
||
fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
fac_usrdata_volgnr,
|
||
fac_usrdata_vervaldatum,
|
||
fac_usrdata_prijs)
|
||
VALUES (223, -- Tarieftabel-tabel
|
||
v_new_tarieftab_key,
|
||
'Tarieven ' || TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yyyy'),
|
||
TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yy'),
|
||
NULL,
|
||
NULL)
|
||
RETURNING fac_usrdata_key
|
||
INTO v_new_tarieftab_val;
|
||
END IF;
|
||
|
||
-- Splitsen en indexeren (huur)contracten.
|
||
FOR rc IN ccnt (c_splitsindexdatum)
|
||
LOOP
|
||
BEGIN
|
||
v_errorhint := 'Fout splitsen contract.';
|
||
cnt.splitscontract (rc.cnt_contract_key, c_splitsindexdatum, NULL, NULL);
|
||
COMMIT;
|
||
|
||
-- Na splitsen de nieuwe versie indexeren.
|
||
v_errorhint := 'Fout bepalen nieuwe versie.';
|
||
SELECT cnt_contract_key
|
||
INTO v_new_contract_key
|
||
FROM cnt_v_aanwezigcontract
|
||
WHERE cnt_contract_nummer_intern = rc.cnt_contract_nummer_intern
|
||
AND cnt_contract_versie > COALESCE (rc.cnt_contract_versie, '0');
|
||
|
||
v_errorhint := 'Fout bijwerken maandbedragen.';
|
||
FOR rkc
|
||
IN ( SELECT kc.cnt_kenmerkcontract_key,
|
||
kc.cnt_kenmerkcontract_waarde cur_waarde,
|
||
ROUND (fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) * ((100 + rc.index_percentage) / 100), 2)
|
||
new_waarde
|
||
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk
|
||
WHERE kc.cnt_contract_key = v_new_contract_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_kenmerk_verwijder IS NULL
|
||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
|
||
AND sk.cnt_srtkenmerk_verwijder IS NULL
|
||
AND sk.cnt_srtkenmerk_kenmerktype = 'N'
|
||
AND UPPER (sk.cnt_srtkenmerk_dimensie) LIKE '%P.MND.%'
|
||
AND k.cnt_kenmerk_key != 24 -- Kortingsbedrag op Huurcontracten NIET indexeren!
|
||
ORDER BY k.cnt_kenmerk_volgnummer)
|
||
LOOP
|
||
UPDATE cnt_kenmerkcontract
|
||
SET cnt_kenmerkcontract_waarde = TO_CHAR (rkc.new_waarde, '999999D99')
|
||
WHERE cnt_kenmerkcontract_key = rkc.cnt_kenmerkcontract_key;
|
||
END LOOP;
|
||
|
||
v_errorhint := 'Fout bijwerken tarieftabel.';
|
||
IF rc.ins_discipline_key = 621
|
||
THEN
|
||
UPDATE cnt_kenmerkcontract
|
||
SET cnt_kenmerkcontract_waarde = v_new_tarieftab_val
|
||
WHERE cnt_kenmerk_key = 23 -- Tarieftabel
|
||
AND cnt_contract_key = v_new_contract_key;
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bijwerken index-tracking (CNTUPD).';
|
||
fac.trackaction ('CNTUPD', v_new_contract_key, NULL, NULL, 'Contract geindexeerd met ' || TO_CHAR (c_index_percentage, '0.00') || '%');
|
||
COMMIT;
|
||
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, 'W', rc.aanduiding || v_errormsg, v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
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 INDEXWERK afgebroken! ' || v_errormsg, v_errorhint);
|
||
END;
|
||
/
|
||
|
||
|
||
-- SSC-stuff!!!
|
||
/*
|
||
SELECT us.*, TO_DATE ('01-01-1970', 'DD-MM-YYYY') recentdatum
|
||
FROM ( SELECT res_srtactiviteit_prefix
|
||
|| res.res_reservering_key
|
||
|| '/'
|
||
|| res.res_rsv_ruimte_volgnr
|
||
res_reservering_key,
|
||
res.res_reservering_key rkey,
|
||
res.res_rsv_ruimte_volgnr volgnr,
|
||
res.locatie locatie,
|
||
res.alg_ruimte_aanduiding ruimte_aanduiding,
|
||
MIN (res.datumvan) datumvan,
|
||
MAX (res.datumtot) datumtot,
|
||
res.organisatie organisatie,
|
||
res.gastheer gastheer,
|
||
res.kostenplaats kostenplaats,
|
||
res.omschrijving omschrijving,
|
||
res.opmerking opmerking,
|
||
res.res_rsv_ruimte_satisfaction oordeel,
|
||
res.res_rsv_ruimte_satisfaction_op oordeel_opm,
|
||
res.res_rsv_ruimte_flag,
|
||
bezoekers,
|
||
res.verval,
|
||
res.res_ruimte_opstel_default,
|
||
res.aantal,
|
||
res.res_voorziening,
|
||
MAX (res.noshow) noshow,
|
||
SUM (res.verwerkt_prijs) totaalprijs,
|
||
MAX (res.rsv_ruimte_key) rsv_ruimte_key,
|
||
MAX (res.alg_ruimte_key) alg_ruimte_key,
|
||
MAX (res.categorie) categorie,
|
||
MAX (res.res_item_key) res_item_key,
|
||
MAX (res.res_ruimte_key) res_ruimte_key,
|
||
res.res_activiteit_meteindtijd
|
||
FROM (WITH thePerslid
|
||
AS (SELECT prs_perslid_key,
|
||
prs_perslid_telefoonnr,
|
||
prs_afdeling_key,
|
||
p.prs_perslid_naam
|
||
|| NVL2 (
|
||
p.prs_perslid_voorletters,
|
||
', ' || p.prs_perslid_voorletters,
|
||
'')
|
||
|| NVL2 (
|
||
p.prs_perslid_tussenvoegsel,
|
||
' ' || p.prs_perslid_tussenvoegsel,
|
||
'')
|
||
|| NVL2 (
|
||
p.prs_perslid_voornaam,
|
||
' ('
|
||
|| p.prs_perslid_voornaam
|
||
|| ')',
|
||
'')
|
||
naam
|
||
FROM prs_perslid p),
|
||
theResrsv
|
||
AS (SELECT *
|
||
FROM res_rsv_ruimte
|
||
WHERE 1 = 1
|
||
AND res_rsv_ruimte_van <
|
||
TO_DATE ('30-11-2017 23:59',
|
||
'DD-MM-YYYY HH24:MI')
|
||
AND res_rsv_ruimte_tot >
|
||
TO_DATE ('01-11-2017 00:00',
|
||
'DD-MM-YYYY HH24:MI')
|
||
AND TRUNC (res_rsv_ruimte_van, 'DD') <=
|
||
TO_DATE ('30-11-2017', 'DD-MM-YYYY')
|
||
AND TRUNC (res_rsv_ruimte_tot, 'DD') >=
|
||
TO_DATE ('01-11-2017', 'DD-MM-YYYY'))
|
||
SELECT rrr.res_reservering_key,
|
||
ruimte_geg.alg_locatie_key,
|
||
l.alg_locatie_code locatie,
|
||
ruimte_geg.alg_gebouw_key,
|
||
ruimte_geg.alg_verdieping_key,
|
||
ruimte_geg.alg_ruimte_key,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_aanduiding)
|
||
res_ruimte_nr,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_omschrijving)
|
||
alg_ruimte_aanduiding,
|
||
res_geg.res_voorziening,
|
||
opstelalg.res_ruimte_opstel_default,
|
||
NULL,
|
||
res_geg.res_reservering_van datumvan,
|
||
res_geg.res_reservering_tot datumtot,
|
||
pcontact.naam aanvrager,
|
||
res_geg.res_ins_discipline_key,
|
||
res_rsv_ruimte_omschrijving omschrijving,
|
||
res_rsv_ruimte_opmerking opmerking,
|
||
res_geg.res_rsv_ruimte_key rsv_ruimte_key,
|
||
res_geg.res_item_key,
|
||
res_geg.res_status_bo_key res_status_bo_key,
|
||
res_rsv_ruimte_flag,
|
||
res_geg.res_type categorie,
|
||
rrr.res_rsv_ruimte_bezoekers bezoekers,
|
||
phost.naam gastheer,
|
||
pcontact.prs_perslid_telefoonnr,
|
||
COALESCE (
|
||
(SELECT k.prs_kostenplaats_nr
|
||
FROM prs_kostenplaats k
|
||
WHERE rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key),
|
||
'')
|
||
kostenplaats,
|
||
res_geg.aantal aantal,
|
||
res_geg.rsv_ruimte_aantal,
|
||
res_geg.prijs verwerkt_prijs,
|
||
l.alg_district_key,
|
||
rrr.res_activiteit_key,
|
||
ract.res_activiteit_omschrijving
|
||
res_activiteit_omschrijving,
|
||
ract.res_activiteit_meteindtijd,
|
||
ract.res_activiteit_upper,
|
||
res_geg.stuks_prijs stuks_prijs,
|
||
res_geg.btwtarief btwtarief,
|
||
phost.prs_afdeling_key,
|
||
(SELECT d.prs_afdeling_naam6
|
||
FROM prs_v_afdeling d
|
||
WHERE phost.prs_afdeling_key = d.prs_afdeling_key)
|
||
organisatie,
|
||
artikelnummer,
|
||
CASE
|
||
WHEN COALESCE (res_rsv_ruimte_bezoekers_shown,
|
||
res_rsv_ruimte_bezoekers) <
|
||
res_rsv_ruimte_bezoekers
|
||
THEN
|
||
1
|
||
ELSE
|
||
rrr.res_rsv_ruimte_noshow
|
||
END
|
||
noshow,
|
||
artikel_groep,
|
||
res_geg.rcv_type rcv_type,
|
||
res_geg.res_type res_type,
|
||
res_geg.keycolumn keycolumn,
|
||
(SELECT COUNT ('1')
|
||
FROM res_rsv_deel rrd, res_deel resd
|
||
WHERE rrd.res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = resd.res_deel_key)
|
||
+ (SELECT COUNT ('2')
|
||
FROM res_rsv_artikel
|
||
WHERE res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key)
|
||
nrObjects,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_rsv_ruimte_ordernr,
|
||
res_geg.res_ruimte_key,
|
||
sa.res_srtactiviteit_prefix,
|
||
COALESCE (rrr.res_rsv_ruimte_bezoekers_shown, -1)
|
||
bezoekers_shown,
|
||
res_geg.ingang,
|
||
res_geg.verval,
|
||
res_geg.ins_discipline_key,
|
||
res_geg.ins_srtdeel_uitleenbaar,
|
||
res_geg.ins_alg_ruimte_key_org,
|
||
res_geg.res_rsv_ruimte_satisfaction,
|
||
res_geg.res_rsv_ruimte_satisfaction_op,
|
||
rrr.res_rsv_ruimte_afgerond
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit ract,
|
||
res_srtactiviteit sa,
|
||
thePerslid phost,
|
||
thePerslid pcontact,
|
||
alg_v_ruimte_gegevens_all ruimte_geg,
|
||
( SELECT res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr res_ruimte_nr,
|
||
MIN (alg_ruimte_key) alg_ruimte_key,
|
||
res_ruimte_opstel_default
|
||
FROM res_ruimte_opstelling rro,
|
||
res_alg_ruimte rar,
|
||
res_ruimte rr
|
||
WHERE rro.res_ruimte_key = rar.res_ruimte_key
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr,
|
||
res_ruimte_opstel_default) opstelalg,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
prs_kostenplaats k,
|
||
prs_v_afdeling_boom boom,
|
||
(SELECT 'R' AS res_type,
|
||
'R' AS rcv_type,
|
||
rrr.res_rsv_ruimte_key,
|
||
rro.res_ruimte_key,
|
||
rrr.res_rsv_ruimte_key AS res_item_key,
|
||
rrr.res_rsv_ruimte_van AS res_reservering_van,
|
||
rrr.res_rsv_ruimte_tot AS res_reservering_tot,
|
||
TO_NUMBER (NULL) AS aantal,
|
||
ro.res_opstelling_omschrijving
|
||
AS res_voorziening,
|
||
rro.res_ruimte_opstel_default
|
||
AS res_ruimte_opstel_default,
|
||
rr.res_discipline_key
|
||
AS res_ins_discipline_key,
|
||
rrr.res_status_bo_key,
|
||
TO_NUMBER (NULL) AS res_artikel_key,
|
||
res.getruimteprijs (rrr.res_rsv_ruimte_key)
|
||
- COALESCE (rrr.res_rsv_ruimte_korting, 0)
|
||
AS prijs,
|
||
TO_NUMBER (NULL) AS stuks_prijs,
|
||
TO_NUMBER (NULL) AS btwtarief,
|
||
1 AS rsv_ruimte_aantal,
|
||
NULL AS artikelnummer,
|
||
'' AS artikel_groep,
|
||
rrr.res_rsv_ruimte_key keycolumn,
|
||
1 ingang,
|
||
CASE
|
||
WHEN (rr.res_ruimte_vervaldatum IS NULL
|
||
OR rr.res_ruimte_vervaldatum >
|
||
rrr.res_rsv_ruimte_tot)
|
||
THEN
|
||
1
|
||
ELSE
|
||
0
|
||
END
|
||
verval,
|
||
NULL ins_discipline_key,
|
||
0 ins_srtdeel_uitleenbaar,
|
||
NULL ins_alg_ruimte_key_org,
|
||
rrr.res_rsv_ruimte_satisfaction,
|
||
rrr.res_rsv_ruimte_satisfaction_op
|
||
FROM theResrsv rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_opstelling ro
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rro.res_opstelling_key =
|
||
ro.res_opstelling_key) res_geg
|
||
WHERE res_geg.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_activiteit_key = ract.res_activiteit_key
|
||
AND ract.res_srtactiviteit_key =
|
||
sa.res_srtactiviteit_key
|
||
AND res_rsv_ruimte_host_key = phost.prs_perslid_key
|
||
AND res_rsv_ruimte_contact_key =
|
||
pcontact.prs_perslid_key
|
||
AND rrr.res_ruimte_opstel_key =
|
||
opstelalg.res_ruimte_opstel_key(+)
|
||
AND rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key(+)
|
||
AND ruimte_geg.alg_ruimte_key =
|
||
COALESCE (rrr.alg_ruimte_key,
|
||
opstelalg.alg_ruimte_key)
|
||
AND l.alg_locatie_key = ruimte_geg.alg_locatie_key
|
||
AND l.alg_district_key = di.alg_district_key
|
||
AND pcontact.prs_afdeling_key = boom.prs_afdeling_key
|
||
AND res_geg.res_ins_discipline_key IN (541)
|
||
AND res_geg.res_ins_discipline_key IN
|
||
(21,
|
||
59,
|
||
142,
|
||
301,
|
||
302,
|
||
303,
|
||
305,
|
||
306,
|
||
307,
|
||
308,
|
||
321,
|
||
341,
|
||
382,
|
||
383,
|
||
384,
|
||
385,
|
||
386,
|
||
541,
|
||
681,
|
||
961)
|
||
UNION ALL
|
||
SELECT rrr.res_reservering_key,
|
||
ruimte_geg.alg_locatie_key,
|
||
l.alg_locatie_code locatie,
|
||
ruimte_geg.alg_gebouw_key,
|
||
ruimte_geg.alg_verdieping_key,
|
||
ruimte_geg.alg_ruimte_key,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_aanduiding)
|
||
res_ruimte_nr,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_omschrijving)
|
||
alg_ruimte_aanduiding,
|
||
res_geg.res_voorziening,
|
||
opstelalg.res_ruimte_opstel_default,
|
||
NULL,
|
||
res_geg.res_reservering_van datumvan,
|
||
res_geg.res_reservering_tot datumtot,
|
||
pcontact.naam aanvrager,
|
||
res_geg.res_ins_discipline_key,
|
||
res_rsv_ruimte_omschrijving omschrijving,
|
||
res_rsv_ruimte_opmerking opmerking,
|
||
res_geg.res_rsv_ruimte_key rsv_ruimte_key,
|
||
res_geg.res_item_key,
|
||
res_geg.res_status_bo_key res_status_bo_key,
|
||
res_rsv_ruimte_flag,
|
||
res_geg.res_type categorie,
|
||
rrr.res_rsv_ruimte_bezoekers bezoekers,
|
||
phost.naam gastheer,
|
||
pcontact.prs_perslid_telefoonnr,
|
||
COALESCE (
|
||
(SELECT k.prs_kostenplaats_nr
|
||
FROM prs_kostenplaats k
|
||
WHERE rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key),
|
||
'')
|
||
kostenplaats,
|
||
res_geg.aantal aantal,
|
||
res_geg.rsv_ruimte_aantal,
|
||
res_geg.prijs verwerkt_prijs,
|
||
l.alg_district_key,
|
||
rrr.res_activiteit_key,
|
||
ract.res_activiteit_omschrijving
|
||
res_activiteit_omschrijving,
|
||
ract.res_activiteit_meteindtijd,
|
||
ract.res_activiteit_upper,
|
||
res_geg.stuks_prijs stuks_prijs,
|
||
res_geg.btwtarief btwtarief,
|
||
phost.prs_afdeling_key,
|
||
(SELECT d.prs_afdeling_naam6
|
||
FROM prs_v_afdeling d
|
||
WHERE phost.prs_afdeling_key = d.prs_afdeling_key)
|
||
organisatie,
|
||
artikelnummer,
|
||
CASE
|
||
WHEN COALESCE (res_rsv_ruimte_bezoekers_shown,
|
||
res_rsv_ruimte_bezoekers) <
|
||
res_rsv_ruimte_bezoekers
|
||
THEN
|
||
1
|
||
ELSE
|
||
rrr.res_rsv_ruimte_noshow
|
||
END
|
||
noshow,
|
||
artikel_groep,
|
||
res_geg.rcv_type rcv_type,
|
||
res_geg.res_type res_type,
|
||
res_geg.keycolumn keycolumn,
|
||
(SELECT COUNT ('1')
|
||
FROM res_rsv_deel rrd, res_deel resd
|
||
WHERE rrd.res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = resd.res_deel_key)
|
||
+ (SELECT COUNT ('2')
|
||
FROM res_rsv_artikel
|
||
WHERE res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key)
|
||
nrObjects,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_rsv_ruimte_ordernr,
|
||
res_geg.res_ruimte_key,
|
||
sa.res_srtactiviteit_prefix,
|
||
COALESCE (rrr.res_rsv_ruimte_bezoekers_shown, -1)
|
||
bezoekers_shown,
|
||
res_geg.ingang,
|
||
res_geg.verval,
|
||
res_geg.ins_discipline_key,
|
||
res_geg.ins_srtdeel_uitleenbaar,
|
||
res_geg.ins_alg_ruimte_key_org,
|
||
res_geg.res_rsv_ruimte_satisfaction,
|
||
res_geg.res_rsv_ruimte_satisfaction_op,
|
||
rrr.res_rsv_ruimte_afgerond
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit ract,
|
||
res_srtactiviteit sa,
|
||
thePerslid phost,
|
||
thePerslid pcontact,
|
||
alg_v_ruimte_gegevens_all ruimte_geg,
|
||
( SELECT res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr res_ruimte_nr,
|
||
MIN (alg_ruimte_key) alg_ruimte_key,
|
||
res_ruimte_opstel_default
|
||
FROM res_ruimte_opstelling rro,
|
||
res_alg_ruimte rar,
|
||
res_ruimte rr
|
||
WHERE rro.res_ruimte_key = rar.res_ruimte_key
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr,
|
||
res_ruimte_opstel_default) opstelalg,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
prs_kostenplaats k,
|
||
prs_v_afdeling_boom boom,
|
||
(SELECT 'R' AS res_type,
|
||
'R' AS rcv_type,
|
||
rrr.res_rsv_ruimte_key,
|
||
rro.res_ruimte_key,
|
||
rrr.res_rsv_ruimte_key AS res_item_key,
|
||
rrr.res_rsv_ruimte_van AS res_reservering_van,
|
||
rrr.res_rsv_ruimte_tot AS res_reservering_tot,
|
||
TO_NUMBER (NULL) AS aantal,
|
||
ro.res_opstelling_omschrijving
|
||
AS res_voorziening,
|
||
rro.res_ruimte_opstel_default
|
||
AS res_ruimte_opstel_default,
|
||
rr.res_discipline_key
|
||
AS res_ins_discipline_key,
|
||
rrr.res_status_bo_key,
|
||
TO_NUMBER (NULL) AS res_artikel_key,
|
||
res.getruimteprijs (rrr.res_rsv_ruimte_key)
|
||
- COALESCE (rrr.res_rsv_ruimte_korting, 0)
|
||
AS prijs,
|
||
TO_NUMBER (NULL) AS stuks_prijs,
|
||
TO_NUMBER (NULL) AS btwtarief,
|
||
1 AS rsv_ruimte_aantal,
|
||
NULL AS artikelnummer,
|
||
'' AS artikel_groep,
|
||
rrr.res_rsv_ruimte_key keycolumn,
|
||
1 ingang,
|
||
CASE
|
||
WHEN (rr.res_ruimte_vervaldatum IS NULL
|
||
OR rr.res_ruimte_vervaldatum >
|
||
rrr.res_rsv_ruimte_tot)
|
||
THEN
|
||
1
|
||
ELSE
|
||
0
|
||
END
|
||
verval,
|
||
NULL ins_discipline_key,
|
||
0 ins_srtdeel_uitleenbaar,
|
||
NULL ins_alg_ruimte_key_org,
|
||
rrr.res_rsv_ruimte_satisfaction,
|
||
rrr.res_rsv_ruimte_satisfaction_op
|
||
FROM theResrsv rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_opstelling ro
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rro.res_opstelling_key =
|
||
ro.res_opstelling_key) res_geg
|
||
WHERE res_geg.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_activiteit_key = ract.res_activiteit_key
|
||
AND ract.res_srtactiviteit_key =
|
||
sa.res_srtactiviteit_key
|
||
AND res_rsv_ruimte_host_key = phost.prs_perslid_key
|
||
AND res_rsv_ruimte_contact_key =
|
||
pcontact.prs_perslid_key
|
||
AND rrr.res_ruimte_opstel_key =
|
||
opstelalg.res_ruimte_opstel_key(+)
|
||
AND rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key(+)
|
||
AND ruimte_geg.alg_ruimte_key =
|
||
COALESCE (rrr.alg_ruimte_key,
|
||
opstelalg.alg_ruimte_key)
|
||
AND l.alg_locatie_key = ruimte_geg.alg_locatie_key
|
||
AND l.alg_district_key = di.alg_district_key
|
||
AND pcontact.prs_afdeling_key = boom.prs_afdeling_key
|
||
AND res_geg.res_ins_discipline_key IN
|
||
(21,
|
||
59,
|
||
142,
|
||
301,
|
||
302,
|
||
303,
|
||
305,
|
||
306,
|
||
307,
|
||
308,
|
||
321,
|
||
341,
|
||
382,
|
||
383,
|
||
384,
|
||
385,
|
||
386,
|
||
681,
|
||
961)
|
||
AND l.alg_district_key IN (1, 21)
|
||
AND res_geg.res_ins_discipline_key IN
|
||
(21,
|
||
59,
|
||
142,
|
||
301,
|
||
302,
|
||
303,
|
||
305,
|
||
306,
|
||
307,
|
||
308,
|
||
321,
|
||
341,
|
||
382,
|
||
383,
|
||
384,
|
||
385,
|
||
386,
|
||
541,
|
||
681,
|
||
961)
|
||
UNION ALL
|
||
SELECT rrr.res_reservering_key,
|
||
ruimte_geg.alg_locatie_key,
|
||
l.alg_locatie_code locatie,
|
||
ruimte_geg.alg_gebouw_key,
|
||
ruimte_geg.alg_verdieping_key,
|
||
ruimte_geg.alg_ruimte_key,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_aanduiding)
|
||
res_ruimte_nr,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_omschrijving)
|
||
alg_ruimte_aanduiding,
|
||
res_geg.res_voorziening,
|
||
opstelalg.res_ruimte_opstel_default,
|
||
NULL,
|
||
res_geg.res_reservering_van datumvan,
|
||
res_geg.res_reservering_tot datumtot,
|
||
pcontact.naam aanvrager,
|
||
res_geg.res_ins_discipline_key,
|
||
res_rsv_ruimte_omschrijving omschrijving,
|
||
res_rsv_ruimte_opmerking opmerking,
|
||
res_geg.res_rsv_ruimte_key rsv_ruimte_key,
|
||
res_geg.res_item_key,
|
||
res_geg.res_status_bo_key res_status_bo_key,
|
||
res_rsv_ruimte_flag,
|
||
res_geg.res_type categorie,
|
||
rrr.res_rsv_ruimte_bezoekers bezoekers,
|
||
phost.naam gastheer,
|
||
pcontact.prs_perslid_telefoonnr,
|
||
COALESCE (
|
||
(SELECT k.prs_kostenplaats_nr
|
||
FROM prs_kostenplaats k
|
||
WHERE rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key),
|
||
'')
|
||
kostenplaats,
|
||
res_geg.aantal aantal,
|
||
res_geg.rsv_ruimte_aantal,
|
||
res_geg.prijs verwerkt_prijs,
|
||
l.alg_district_key,
|
||
rrr.res_activiteit_key,
|
||
ract.res_activiteit_omschrijving
|
||
res_activiteit_omschrijving,
|
||
ract.res_activiteit_meteindtijd,
|
||
ract.res_activiteit_upper,
|
||
res_geg.stuks_prijs stuks_prijs,
|
||
res_geg.btwtarief btwtarief,
|
||
phost.prs_afdeling_key,
|
||
(SELECT d.prs_afdeling_naam6
|
||
FROM prs_v_afdeling d
|
||
WHERE phost.prs_afdeling_key = d.prs_afdeling_key)
|
||
organisatie,
|
||
artikelnummer,
|
||
CASE
|
||
WHEN COALESCE (res_rsv_ruimte_bezoekers_shown,
|
||
res_rsv_ruimte_bezoekers) <
|
||
res_rsv_ruimte_bezoekers
|
||
THEN
|
||
1
|
||
ELSE
|
||
rrr.res_rsv_ruimte_noshow
|
||
END
|
||
noshow,
|
||
artikel_groep,
|
||
res_geg.rcv_type rcv_type,
|
||
res_geg.res_type res_type,
|
||
res_geg.keycolumn keycolumn,
|
||
(SELECT COUNT ('1')
|
||
FROM res_rsv_deel rrd, res_deel resd
|
||
WHERE rrd.res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = resd.res_deel_key)
|
||
+ (SELECT COUNT ('2')
|
||
FROM res_rsv_artikel
|
||
WHERE res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key)
|
||
nrObjects,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_rsv_ruimte_ordernr,
|
||
res_geg.res_ruimte_key,
|
||
sa.res_srtactiviteit_prefix,
|
||
COALESCE (rrr.res_rsv_ruimte_bezoekers_shown, -1)
|
||
bezoekers_shown,
|
||
res_geg.ingang,
|
||
res_geg.verval,
|
||
res_geg.ins_discipline_key,
|
||
res_geg.ins_srtdeel_uitleenbaar,
|
||
res_geg.ins_alg_ruimte_key_org,
|
||
res_geg.res_rsv_ruimte_satisfaction,
|
||
res_geg.res_rsv_ruimte_satisfaction_op,
|
||
rrr.res_rsv_ruimte_afgerond
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit ract,
|
||
res_srtactiviteit sa,
|
||
thePerslid phost,
|
||
thePerslid pcontact,
|
||
alg_v_ruimte_gegevens_all ruimte_geg,
|
||
( SELECT res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr res_ruimte_nr,
|
||
MIN (alg_ruimte_key) alg_ruimte_key,
|
||
res_ruimte_opstel_default
|
||
FROM res_ruimte_opstelling rro,
|
||
res_alg_ruimte rar,
|
||
res_ruimte rr
|
||
WHERE rro.res_ruimte_key = rar.res_ruimte_key
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr,
|
||
res_ruimte_opstel_default) opstelalg,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
prs_kostenplaats k,
|
||
prs_v_afdeling_boom boom,
|
||
(SELECT 'V' AS res_type,
|
||
'CV' AS rcv_type,
|
||
rrd.res_rsv_ruimte_key,
|
||
(SELECT rro.res_ruimte_key
|
||
FROM res_ruimte_opstelling rro
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key)
|
||
AS res_ruimte_key,
|
||
rrd.res_rsv_deel_key AS res_item_key,
|
||
rrd.res_rsv_deel_van AS res_reservering_van,
|
||
rrd.res_rsv_deel_tot AS res_reservering_tot,
|
||
TO_NUMBER (NULL) AS aantal,
|
||
rd.res_deel_omschrijving
|
||
|| CASE
|
||
WHEN rd.res_deel_eenheid IS NULL THEN ''
|
||
ELSE ' (' || rd.res_deel_eenheid || ')'
|
||
END
|
||
AS res_voorziening,
|
||
NULL,
|
||
rd.res_discipline_key
|
||
AS res_ins_discipline_key,
|
||
rrd.res_status_bo_key,
|
||
TO_NUMBER (NULL) AS res_artikel_key,
|
||
res.getdeelprijs (rrd.res_rsv_deel_key)
|
||
AS prijs,
|
||
rd.res_deel_prijs AS stuks_prijs,
|
||
TO_NUMBER (NULL) AS btwtarief,
|
||
TO_NUMBER (NULL) AS rsv_ruimte_aantal,
|
||
NULL AS artikelnummer,
|
||
'' AS artikel_groep,
|
||
rrd.res_rsv_deel_key keycolumn,
|
||
1 ingang,
|
||
CASE
|
||
WHEN (rd.res_deel_vervaldatum IS NULL
|
||
OR rd.res_deel_vervaldatum >
|
||
rrr.res_rsv_ruimte_tot)
|
||
THEN
|
||
1
|
||
ELSE
|
||
0
|
||
END
|
||
verval,
|
||
id.ins_discipline_key,
|
||
isd.ins_srtdeel_uitleenbaar,
|
||
id.ins_alg_ruimte_key_org,
|
||
rrr.res_rsv_ruimte_satisfaction,
|
||
rrr.res_rsv_ruimte_satisfaction_op
|
||
FROM res_v_aanwezigrsv_deel rrd,
|
||
theResrsv rrr,
|
||
res_deel rd,
|
||
ins_deel id,
|
||
ins_srtdeel isd
|
||
WHERE rrd.res_rsv_ruimte_key =
|
||
rrr.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rrd.res_rsv_deel_dirtlevel = 0
|
||
AND rd.res_ins_deel_key = id.ins_deel_key
|
||
AND id.ins_srtdeel_key = isd.ins_srtdeel_key)
|
||
res_geg
|
||
WHERE res_geg.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_activiteit_key = ract.res_activiteit_key
|
||
AND ract.res_srtactiviteit_key =
|
||
sa.res_srtactiviteit_key
|
||
AND res_rsv_ruimte_host_key = phost.prs_perslid_key
|
||
AND res_rsv_ruimte_contact_key =
|
||
pcontact.prs_perslid_key
|
||
AND rrr.res_ruimte_opstel_key =
|
||
opstelalg.res_ruimte_opstel_key(+)
|
||
AND rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key(+)
|
||
AND ruimte_geg.alg_ruimte_key =
|
||
COALESCE (rrr.alg_ruimte_key,
|
||
opstelalg.alg_ruimte_key)
|
||
AND l.alg_locatie_key = ruimte_geg.alg_locatie_key
|
||
AND l.alg_district_key = di.alg_district_key
|
||
AND pcontact.prs_afdeling_key = boom.prs_afdeling_key
|
||
AND res_geg.res_ins_discipline_key IN (541)
|
||
AND res_geg.res_ins_discipline_key IN
|
||
(21,
|
||
59,
|
||
142,
|
||
301,
|
||
302,
|
||
303,
|
||
305,
|
||
306,
|
||
307,
|
||
308,
|
||
321,
|
||
341,
|
||
382,
|
||
383,
|
||
384,
|
||
385,
|
||
386,
|
||
541,
|
||
681,
|
||
961)
|
||
UNION ALL
|
||
SELECT rrr.res_reservering_key,
|
||
ruimte_geg.alg_locatie_key,
|
||
l.alg_locatie_code locatie,
|
||
ruimte_geg.alg_gebouw_key,
|
||
ruimte_geg.alg_verdieping_key,
|
||
ruimte_geg.alg_ruimte_key,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_aanduiding)
|
||
res_ruimte_nr,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_omschrijving)
|
||
alg_ruimte_aanduiding,
|
||
res_geg.res_voorziening,
|
||
opstelalg.res_ruimte_opstel_default,
|
||
NULL,
|
||
res_geg.res_reservering_van datumvan,
|
||
res_geg.res_reservering_tot datumtot,
|
||
pcontact.naam aanvrager,
|
||
res_geg.res_ins_discipline_key,
|
||
res_rsv_ruimte_omschrijving omschrijving,
|
||
res_rsv_ruimte_opmerking opmerking,
|
||
res_geg.res_rsv_ruimte_key rsv_ruimte_key,
|
||
res_geg.res_item_key,
|
||
res_geg.res_status_bo_key res_status_bo_key,
|
||
res_rsv_ruimte_flag,
|
||
res_geg.res_type categorie,
|
||
rrr.res_rsv_ruimte_bezoekers bezoekers,
|
||
phost.naam gastheer,
|
||
pcontact.prs_perslid_telefoonnr,
|
||
COALESCE (
|
||
(SELECT k.prs_kostenplaats_nr
|
||
FROM prs_kostenplaats k
|
||
WHERE rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key),
|
||
'')
|
||
kostenplaats,
|
||
res_geg.aantal aantal,
|
||
res_geg.rsv_ruimte_aantal,
|
||
res_geg.prijs verwerkt_prijs,
|
||
l.alg_district_key,
|
||
rrr.res_activiteit_key,
|
||
ract.res_activiteit_omschrijving
|
||
res_activiteit_omschrijving,
|
||
ract.res_activiteit_meteindtijd,
|
||
ract.res_activiteit_upper,
|
||
res_geg.stuks_prijs stuks_prijs,
|
||
res_geg.btwtarief btwtarief,
|
||
phost.prs_afdeling_key,
|
||
(SELECT d.prs_afdeling_naam6
|
||
FROM prs_v_afdeling d
|
||
WHERE phost.prs_afdeling_key = d.prs_afdeling_key)
|
||
organisatie,
|
||
artikelnummer,
|
||
CASE
|
||
WHEN COALESCE (res_rsv_ruimte_bezoekers_shown,
|
||
res_rsv_ruimte_bezoekers) <
|
||
res_rsv_ruimte_bezoekers
|
||
THEN
|
||
1
|
||
ELSE
|
||
rrr.res_rsv_ruimte_noshow
|
||
END
|
||
noshow,
|
||
artikel_groep,
|
||
res_geg.rcv_type rcv_type,
|
||
res_geg.res_type res_type,
|
||
res_geg.keycolumn keycolumn,
|
||
(SELECT COUNT ('1')
|
||
FROM res_rsv_deel rrd, res_deel resd
|
||
WHERE rrd.res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = resd.res_deel_key)
|
||
+ (SELECT COUNT ('2')
|
||
FROM res_rsv_artikel
|
||
WHERE res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key)
|
||
nrObjects,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_rsv_ruimte_ordernr,
|
||
res_geg.res_ruimte_key,
|
||
sa.res_srtactiviteit_prefix,
|
||
COALESCE (rrr.res_rsv_ruimte_bezoekers_shown, -1)
|
||
bezoekers_shown,
|
||
res_geg.ingang,
|
||
res_geg.verval,
|
||
res_geg.ins_discipline_key,
|
||
res_geg.ins_srtdeel_uitleenbaar,
|
||
res_geg.ins_alg_ruimte_key_org,
|
||
res_geg.res_rsv_ruimte_satisfaction,
|
||
res_geg.res_rsv_ruimte_satisfaction_op,
|
||
rrr.res_rsv_ruimte_afgerond
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit ract,
|
||
res_srtactiviteit sa,
|
||
thePerslid phost,
|
||
thePerslid pcontact,
|
||
alg_v_ruimte_gegevens_all ruimte_geg,
|
||
( SELECT res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr res_ruimte_nr,
|
||
MIN (alg_ruimte_key) alg_ruimte_key,
|
||
res_ruimte_opstel_default
|
||
FROM res_ruimte_opstelling rro,
|
||
res_alg_ruimte rar,
|
||
res_ruimte rr
|
||
WHERE rro.res_ruimte_key = rar.res_ruimte_key
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr,
|
||
res_ruimte_opstel_default) opstelalg,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
prs_kostenplaats k,
|
||
prs_v_afdeling_boom boom,
|
||
(SELECT 'V' AS res_type,
|
||
'CV' AS rcv_type,
|
||
rrd.res_rsv_ruimte_key,
|
||
(SELECT rro.res_ruimte_key
|
||
FROM res_ruimte_opstelling rro
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key)
|
||
AS res_ruimte_key,
|
||
rrd.res_rsv_deel_key AS res_item_key,
|
||
rrd.res_rsv_deel_van AS res_reservering_van,
|
||
rrd.res_rsv_deel_tot AS res_reservering_tot,
|
||
TO_NUMBER (NULL) AS aantal,
|
||
rd.res_deel_omschrijving
|
||
|| CASE
|
||
WHEN rd.res_deel_eenheid IS NULL THEN ''
|
||
ELSE ' (' || rd.res_deel_eenheid || ')'
|
||
END
|
||
AS res_voorziening,
|
||
NULL,
|
||
rd.res_discipline_key
|
||
AS res_ins_discipline_key,
|
||
rrd.res_status_bo_key,
|
||
TO_NUMBER (NULL) AS res_artikel_key,
|
||
res.getdeelprijs (rrd.res_rsv_deel_key)
|
||
AS prijs,
|
||
rd.res_deel_prijs AS stuks_prijs,
|
||
TO_NUMBER (NULL) AS btwtarief,
|
||
TO_NUMBER (NULL) AS rsv_ruimte_aantal,
|
||
NULL AS artikelnummer,
|
||
'' AS artikel_groep,
|
||
rrd.res_rsv_deel_key keycolumn,
|
||
1 ingang,
|
||
CASE
|
||
WHEN (rd.res_deel_vervaldatum IS NULL
|
||
OR rd.res_deel_vervaldatum >
|
||
rrr.res_rsv_ruimte_tot)
|
||
THEN
|
||
1
|
||
ELSE
|
||
0
|
||
END
|
||
verval,
|
||
id.ins_discipline_key,
|
||
isd.ins_srtdeel_uitleenbaar,
|
||
id.ins_alg_ruimte_key_org,
|
||
rrr.res_rsv_ruimte_satisfaction,
|
||
rrr.res_rsv_ruimte_satisfaction_op
|
||
FROM res_v_aanwezigrsv_deel rrd,
|
||
theResrsv rrr,
|
||
res_deel rd,
|
||
ins_deel id,
|
||
ins_srtdeel isd
|
||
WHERE rrd.res_rsv_ruimte_key =
|
||
rrr.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rrd.res_rsv_deel_dirtlevel = 0
|
||
AND rd.res_ins_deel_key = id.ins_deel_key
|
||
AND id.ins_srtdeel_key = isd.ins_srtdeel_key)
|
||
res_geg
|
||
WHERE res_geg.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_activiteit_key = ract.res_activiteit_key
|
||
AND ract.res_srtactiviteit_key =
|
||
sa.res_srtactiviteit_key
|
||
AND res_rsv_ruimte_host_key = phost.prs_perslid_key
|
||
AND res_rsv_ruimte_contact_key =
|
||
pcontact.prs_perslid_key
|
||
AND rrr.res_ruimte_opstel_key =
|
||
opstelalg.res_ruimte_opstel_key(+)
|
||
AND rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key(+)
|
||
AND ruimte_geg.alg_ruimte_key =
|
||
COALESCE (rrr.alg_ruimte_key,
|
||
opstelalg.alg_ruimte_key)
|
||
AND l.alg_locatie_key = ruimte_geg.alg_locatie_key
|
||
AND l.alg_district_key = di.alg_district_key
|
||
AND pcontact.prs_afdeling_key = boom.prs_afdeling_key
|
||
AND res_geg.res_ins_discipline_key IN
|
||
(21,
|
||
59,
|
||
142,
|
||
301,
|
||
302,
|
||
303,
|
||
305,
|
||
306,
|
||
307,
|
||
308,
|
||
321,
|
||
341,
|
||
382,
|
||
383,
|
||
384,
|
||
385,
|
||
386,
|
||
681,
|
||
961)
|
||
AND l.alg_district_key IN (1, 21)
|
||
AND res_geg.res_ins_discipline_key IN
|
||
(21,
|
||
59,
|
||
142,
|
||
301,
|
||
302,
|
||
303,
|
||
305,
|
||
306,
|
||
307,
|
||
308,
|
||
321,
|
||
341,
|
||
382,
|
||
383,
|
||
384,
|
||
385,
|
||
386,
|
||
541,
|
||
681,
|
||
961)
|
||
UNION ALL
|
||
SELECT rrr.res_reservering_key,
|
||
ruimte_geg.alg_locatie_key,
|
||
l.alg_locatie_code locatie,
|
||
ruimte_geg.alg_gebouw_key,
|
||
ruimte_geg.alg_verdieping_key,
|
||
ruimte_geg.alg_ruimte_key,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_aanduiding)
|
||
res_ruimte_nr,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_omschrijving)
|
||
alg_ruimte_aanduiding,
|
||
res_geg.res_voorziening,
|
||
opstelalg.res_ruimte_opstel_default,
|
||
NULL,
|
||
res_geg.res_reservering_van datumvan,
|
||
res_geg.res_reservering_tot datumtot,
|
||
pcontact.naam aanvrager,
|
||
res_geg.res_ins_discipline_key,
|
||
res_rsv_ruimte_omschrijving omschrijving,
|
||
res_rsv_ruimte_opmerking opmerking,
|
||
res_geg.res_rsv_ruimte_key rsv_ruimte_key,
|
||
res_geg.res_item_key,
|
||
res_geg.res_status_bo_key res_status_bo_key,
|
||
res_rsv_ruimte_flag,
|
||
res_geg.res_type categorie,
|
||
rrr.res_rsv_ruimte_bezoekers bezoekers,
|
||
phost.naam gastheer,
|
||
pcontact.prs_perslid_telefoonnr,
|
||
COALESCE (
|
||
(SELECT k.prs_kostenplaats_nr
|
||
FROM prs_kostenplaats k
|
||
WHERE rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key),
|
||
'')
|
||
kostenplaats,
|
||
res_geg.aantal aantal,
|
||
res_geg.rsv_ruimte_aantal,
|
||
res_geg.prijs verwerkt_prijs,
|
||
l.alg_district_key,
|
||
rrr.res_activiteit_key,
|
||
ract.res_activiteit_omschrijving
|
||
res_activiteit_omschrijving,
|
||
ract.res_activiteit_meteindtijd,
|
||
ract.res_activiteit_upper,
|
||
res_geg.stuks_prijs stuks_prijs,
|
||
res_geg.btwtarief btwtarief,
|
||
phost.prs_afdeling_key,
|
||
(SELECT d.prs_afdeling_naam6
|
||
FROM prs_v_afdeling d
|
||
WHERE phost.prs_afdeling_key = d.prs_afdeling_key)
|
||
organisatie,
|
||
artikelnummer,
|
||
CASE
|
||
WHEN COALESCE (res_rsv_ruimte_bezoekers_shown,
|
||
res_rsv_ruimte_bezoekers) <
|
||
res_rsv_ruimte_bezoekers
|
||
THEN
|
||
1
|
||
ELSE
|
||
rrr.res_rsv_ruimte_noshow
|
||
END
|
||
noshow,
|
||
artikel_groep,
|
||
res_geg.rcv_type rcv_type,
|
||
res_geg.res_type res_type,
|
||
res_geg.keycolumn keycolumn,
|
||
(SELECT COUNT ('1')
|
||
FROM res_rsv_deel rrd, res_deel resd
|
||
WHERE rrd.res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = resd.res_deel_key)
|
||
+ (SELECT COUNT ('2')
|
||
FROM res_rsv_artikel
|
||
WHERE res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key)
|
||
nrObjects,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_rsv_ruimte_ordernr,
|
||
res_geg.res_ruimte_key,
|
||
sa.res_srtactiviteit_prefix,
|
||
COALESCE (rrr.res_rsv_ruimte_bezoekers_shown, -1)
|
||
bezoekers_shown,
|
||
res_geg.ingang,
|
||
res_geg.verval,
|
||
res_geg.ins_discipline_key,
|
||
res_geg.ins_srtdeel_uitleenbaar,
|
||
res_geg.ins_alg_ruimte_key_org,
|
||
res_geg.res_rsv_ruimte_satisfaction,
|
||
res_geg.res_rsv_ruimte_satisfaction_op,
|
||
rrr.res_rsv_ruimte_afgerond
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit ract,
|
||
res_srtactiviteit sa,
|
||
thePerslid phost,
|
||
thePerslid pcontact,
|
||
alg_v_ruimte_gegevens_all ruimte_geg,
|
||
( SELECT res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr res_ruimte_nr,
|
||
MIN (alg_ruimte_key) alg_ruimte_key,
|
||
res_ruimte_opstel_default
|
||
FROM res_ruimte_opstelling rro,
|
||
res_alg_ruimte rar,
|
||
res_ruimte rr
|
||
WHERE rro.res_ruimte_key = rar.res_ruimte_key
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr,
|
||
res_ruimte_opstel_default) opstelalg,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
prs_kostenplaats k,
|
||
prs_v_afdeling_boom boom,
|
||
(SELECT 'C' AS res_type,
|
||
'CV' AS rcv_type,
|
||
rra.res_rsv_ruimte_key,
|
||
(SELECT rro.res_ruimte_key
|
||
FROM res_ruimte_opstelling rro
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key)
|
||
AS res_ruimte_key,
|
||
res_rsv_artikel_key AS res_item_key,
|
||
rra.res_rsv_artikel_levering
|
||
AS res_reservering_van,
|
||
res_rsv_ruimte_tot AS res_reservering_tot,
|
||
rra.res_rsv_artikel_aantal AS aantal,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| CASE
|
||
WHEN ra.res_artikel_eenheid IS NULL
|
||
THEN
|
||
''
|
||
ELSE
|
||
' (' || ra.res_artikel_eenheid || ')'
|
||
END
|
||
AS res_voorziening,
|
||
NULL,
|
||
ra.res_discipline_key
|
||
AS res_ins_discipline_key,
|
||
rra.res_status_bo_key,
|
||
ra.res_artikel_key AS res_artikel_key,
|
||
res.getartikelprijs (rra.res_rsv_artikel_key)
|
||
AS prijs,
|
||
ra.res_artikel_prijs AS stuks_prijs,
|
||
ra.res_artikel_btw AS btwtarief,
|
||
TO_NUMBER (NULL) AS rsv_ruimte_aantal,
|
||
ra.res_artikel_nr AS artikelnummer,
|
||
ra.res_artikel_groep AS artikel_groep,
|
||
rra.res_rsv_artikel_key keycolumn,
|
||
CASE
|
||
WHEN (ra.res_artikel_ingangsdatum IS NULL
|
||
OR ra.res_artikel_ingangsdatum <=
|
||
rrr.res_rsv_ruimte_van)
|
||
THEN
|
||
1
|
||
ELSE
|
||
0
|
||
END
|
||
ingang,
|
||
CASE
|
||
WHEN (ra.res_artikel_vervaldatum IS NULL
|
||
OR ra.res_artikel_vervaldatum >
|
||
rrr.res_rsv_ruimte_tot)
|
||
THEN
|
||
1
|
||
ELSE
|
||
0
|
||
END
|
||
verval,
|
||
NULL ins_discipline_key,
|
||
0 ins_srtdeel_uitleenbaar,
|
||
NULL ins_alg_ruimte_key_org,
|
||
rrr.res_rsv_ruimte_satisfaction,
|
||
rrr.res_rsv_ruimte_satisfaction_op
|
||
FROM res_v_aanwezigrsv_artikel rra,
|
||
theResrsv rrr,
|
||
res_artikel ra
|
||
WHERE rra.res_rsv_ruimte_key =
|
||
rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key)
|
||
res_geg
|
||
WHERE res_geg.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_activiteit_key = ract.res_activiteit_key
|
||
AND ract.res_srtactiviteit_key =
|
||
sa.res_srtactiviteit_key
|
||
AND res_rsv_ruimte_host_key = phost.prs_perslid_key
|
||
AND res_rsv_ruimte_contact_key =
|
||
pcontact.prs_perslid_key
|
||
AND rrr.res_ruimte_opstel_key =
|
||
opstelalg.res_ruimte_opstel_key(+)
|
||
AND rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key(+)
|
||
AND ruimte_geg.alg_ruimte_key =
|
||
COALESCE (rrr.alg_ruimte_key,
|
||
opstelalg.alg_ruimte_key)
|
||
AND l.alg_locatie_key = ruimte_geg.alg_locatie_key
|
||
AND l.alg_district_key = di.alg_district_key
|
||
AND pcontact.prs_afdeling_key = boom.prs_afdeling_key
|
||
AND res_geg.res_ins_discipline_key IN (541)
|
||
AND res_geg.res_ins_discipline_key IN
|
||
(21,
|
||
59,
|
||
142,
|
||
301,
|
||
302,
|
||
303,
|
||
305,
|
||
306,
|
||
307,
|
||
308,
|
||
321,
|
||
341,
|
||
382,
|
||
383,
|
||
384,
|
||
385,
|
||
386,
|
||
541,
|
||
681,
|
||
961)
|
||
UNION ALL
|
||
SELECT rrr.res_reservering_key,
|
||
ruimte_geg.alg_locatie_key,
|
||
l.alg_locatie_code locatie,
|
||
ruimte_geg.alg_gebouw_key,
|
||
ruimte_geg.alg_verdieping_key,
|
||
ruimte_geg.alg_ruimte_key,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_aanduiding)
|
||
res_ruimte_nr,
|
||
COALESCE (opstelalg.res_ruimte_nr,
|
||
ruimte_geg.alg_ruimte_omschrijving)
|
||
alg_ruimte_aanduiding,
|
||
res_geg.res_voorziening,
|
||
opstelalg.res_ruimte_opstel_default,
|
||
NULL,
|
||
res_geg.res_reservering_van datumvan,
|
||
res_geg.res_reservering_tot datumtot,
|
||
pcontact.naam aanvrager,
|
||
res_geg.res_ins_discipline_key,
|
||
res_rsv_ruimte_omschrijving omschrijving,
|
||
res_rsv_ruimte_opmerking opmerking,
|
||
res_geg.res_rsv_ruimte_key rsv_ruimte_key,
|
||
res_geg.res_item_key,
|
||
res_geg.res_status_bo_key res_status_bo_key,
|
||
res_rsv_ruimte_flag,
|
||
res_geg.res_type categorie,
|
||
rrr.res_rsv_ruimte_bezoekers bezoekers,
|
||
phost.naam gastheer,
|
||
pcontact.prs_perslid_telefoonnr,
|
||
COALESCE (
|
||
(SELECT k.prs_kostenplaats_nr
|
||
FROM prs_kostenplaats k
|
||
WHERE rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key),
|
||
'')
|
||
kostenplaats,
|
||
res_geg.aantal aantal,
|
||
res_geg.rsv_ruimte_aantal,
|
||
res_geg.prijs verwerkt_prijs,
|
||
l.alg_district_key,
|
||
rrr.res_activiteit_key,
|
||
ract.res_activiteit_omschrijving
|
||
res_activiteit_omschrijving,
|
||
ract.res_activiteit_meteindtijd,
|
||
ract.res_activiteit_upper,
|
||
res_geg.stuks_prijs stuks_prijs,
|
||
res_geg.btwtarief btwtarief,
|
||
phost.prs_afdeling_key,
|
||
(SELECT d.prs_afdeling_naam6
|
||
FROM prs_v_afdeling d
|
||
WHERE phost.prs_afdeling_key = d.prs_afdeling_key)
|
||
organisatie,
|
||
artikelnummer,
|
||
CASE
|
||
WHEN COALESCE (res_rsv_ruimte_bezoekers_shown,
|
||
res_rsv_ruimte_bezoekers) <
|
||
res_rsv_ruimte_bezoekers
|
||
THEN
|
||
1
|
||
ELSE
|
||
rrr.res_rsv_ruimte_noshow
|
||
END
|
||
noshow,
|
||
artikel_groep,
|
||
res_geg.rcv_type rcv_type,
|
||
res_geg.res_type res_type,
|
||
res_geg.keycolumn keycolumn,
|
||
(SELECT COUNT ('1')
|
||
FROM res_rsv_deel rrd, res_deel resd
|
||
WHERE rrd.res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = resd.res_deel_key)
|
||
+ (SELECT COUNT ('2')
|
||
FROM res_rsv_artikel
|
||
WHERE res_rsv_ruimte_key =
|
||
res_geg.res_rsv_ruimte_key)
|
||
nrObjects,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_rsv_ruimte_ordernr,
|
||
res_geg.res_ruimte_key,
|
||
sa.res_srtactiviteit_prefix,
|
||
COALESCE (rrr.res_rsv_ruimte_bezoekers_shown, -1)
|
||
bezoekers_shown,
|
||
res_geg.ingang,
|
||
res_geg.verval,
|
||
res_geg.ins_discipline_key,
|
||
res_geg.ins_srtdeel_uitleenbaar,
|
||
res_geg.ins_alg_ruimte_key_org,
|
||
res_geg.res_rsv_ruimte_satisfaction,
|
||
res_geg.res_rsv_ruimte_satisfaction_op,
|
||
rrr.res_rsv_ruimte_afgerond
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit ract,
|
||
res_srtactiviteit sa,
|
||
thePerslid phost,
|
||
thePerslid pcontact,
|
||
alg_v_ruimte_gegevens_all ruimte_geg,
|
||
( SELECT res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr res_ruimte_nr,
|
||
MIN (alg_ruimte_key) alg_ruimte_key,
|
||
res_ruimte_opstel_default
|
||
FROM res_ruimte_opstelling rro,
|
||
res_alg_ruimte rar,
|
||
res_ruimte rr
|
||
WHERE rro.res_ruimte_key = rar.res_ruimte_key
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_opstel_key,
|
||
rr.res_ruimte_nr,
|
||
res_ruimte_opstel_default) opstelalg,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
prs_kostenplaats k,
|
||
prs_v_afdeling_boom boom,
|
||
(SELECT 'C' AS res_type,
|
||
'CV' AS rcv_type,
|
||
rra.res_rsv_ruimte_key,
|
||
(SELECT rro.res_ruimte_key
|
||
FROM res_ruimte_opstelling rro
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key)
|
||
AS res_ruimte_key,
|
||
res_rsv_artikel_key AS res_item_key,
|
||
rra.res_rsv_artikel_levering
|
||
AS res_reservering_van,
|
||
res_rsv_ruimte_tot AS res_reservering_tot,
|
||
rra.res_rsv_artikel_aantal AS aantal,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| CASE
|
||
WHEN ra.res_artikel_eenheid IS NULL
|
||
THEN
|
||
''
|
||
ELSE
|
||
' (' || ra.res_artikel_eenheid || ')'
|
||
END
|
||
AS res_voorziening,
|
||
NULL,
|
||
ra.res_discipline_key
|
||
AS res_ins_discipline_key,
|
||
rra.res_status_bo_key,
|
||
ra.res_artikel_key AS res_artikel_key,
|
||
res.getartikelprijs (rra.res_rsv_artikel_key)
|
||
AS prijs,
|
||
ra.res_artikel_prijs AS stuks_prijs,
|
||
ra.res_artikel_btw AS btwtarief,
|
||
TO_NUMBER (NULL) AS rsv_ruimte_aantal,
|
||
ra.res_artikel_nr AS artikelnummer,
|
||
ra.res_artikel_groep AS artikel_groep,
|
||
rra.res_rsv_artikel_key keycolumn,
|
||
CASE
|
||
WHEN (ra.res_artikel_ingangsdatum IS NULL
|
||
OR ra.res_artikel_ingangsdatum <=
|
||
rrr.res_rsv_ruimte_van)
|
||
THEN
|
||
1
|
||
ELSE
|
||
0
|
||
END
|
||
ingang,
|
||
CASE
|
||
WHEN (ra.res_artikel_vervaldatum IS NULL
|
||
OR ra.res_artikel_vervaldatum >
|
||
rrr.res_rsv_ruimte_tot)
|
||
THEN
|
||
1
|
||
ELSE
|
||
0
|
||
END
|
||
verval,
|
||
NULL ins_discipline_key,
|
||
0 ins_srtdeel_uitleenbaar,
|
||
NULL ins_alg_ruimte_key_org,
|
||
rrr.res_rsv_ruimte_satisfaction,
|
||
rrr.res_rsv_ruimte_satisfaction_op
|
||
FROM res_v_aanwezigrsv_artikel rra,
|
||
theResrsv rrr,
|
||
res_artikel ra
|
||
WHERE rra.res_rsv_ruimte_key =
|
||
rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key)
|
||
res_geg
|
||
WHERE res_geg.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_activiteit_key = ract.res_activiteit_key
|
||
AND ract.res_srtactiviteit_key =
|
||
sa.res_srtactiviteit_key
|
||
AND res_rsv_ruimte_host_key = phost.prs_perslid_key
|
||
AND res_rsv_ruimte_contact_key =
|
||
pcontact.prs_perslid_key
|
||
AND rrr.res_ruimte_opstel_key =
|
||
opstelalg.res_ruimte_opstel_key(+)
|
||
AND rrr.prs_kostenplaats_key =
|
||
k.prs_kostenplaats_key(+)
|
||
AND ruimte_geg.alg_ruimte_key =
|
||
COALESCE (rrr.alg_ruimte_key,
|
||
opstelalg.alg_ruimte_key)
|
||
AND l.alg_locatie_key = ruimte_geg.alg_locatie_key
|
||
AND l.alg_district_key = di.alg_district_key
|
||
AND pcontact.prs_afdeling_key = boom.prs_afdeling_key
|
||
AND res_geg.res_ins_discipline_key IN
|
||
(21,
|
||
59,
|
||
142,
|
||
301,
|
||
302,
|
||
303,
|
||
305,
|
||
306,
|
||
307,
|
||
308,
|
||
321,
|
||
341,
|
||
382,
|
||
383,
|
||
384,
|
||
385,
|
||
386,
|
||
681,
|
||
961)
|
||
AND l.alg_district_key IN (1, 21)
|
||
AND res_geg.res_ins_discipline_key IN
|
||
(21,
|
||
59,
|
||
142,
|
||
301,
|
||
302,
|
||
303,
|
||
305,
|
||
306,
|
||
307,
|
||
308,
|
||
321,
|
||
341,
|
||
382,
|
||
383,
|
||
384,
|
||
385,
|
||
386,
|
||
541,
|
||
681,
|
||
961)) res
|
||
GROUP BY res_srtactiviteit_prefix
|
||
|| res_reservering_key
|
||
|| '/'
|
||
|| res.res_rsv_ruimte_volgnr,
|
||
res.res_reservering_key,
|
||
res.res_reservering_key || '/' || res.res_rsv_ruimte_volgnr,
|
||
res_rsv_ruimte_volgnr,
|
||
locatie,
|
||
alg_ruimte_aanduiding,
|
||
datumvan,
|
||
organisatie,
|
||
gastheer,
|
||
kostenplaats,
|
||
omschrijving,
|
||
opmerking,
|
||
res.res_rsv_ruimte_satisfaction,
|
||
res.res_rsv_ruimte_satisfaction_op,
|
||
noshow,
|
||
res_ruimte_key,
|
||
res_rsv_ruimte_flag,
|
||
bezoekers,
|
||
verval,
|
||
res_ruimte_opstel_default,
|
||
aantal,
|
||
res_voorziening,
|
||
res_activiteit_meteindtijd) us
|
||
ORDER BY rkey || '/' || volgnr;
|
||
*/
|
||
CREATE OR REPLACE VIEW blcc_v_rap_ssc_cat_looplijst
|
||
(
|
||
resnr,
|
||
activiteit,
|
||
--locatie,
|
||
ruimte,
|
||
datum,
|
||
van,
|
||
tot,
|
||
reslev,
|
||
organisatie,
|
||
gastheer,
|
||
kostenplaats,
|
||
--costcenter,
|
||
omschrijving,
|
||
aantal,
|
||
artikelnr,
|
||
artikeloms,
|
||
deelnemers
|
||
)
|
||
AS
|
||
SELECT x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr,
|
||
x.res_activiteit_omschrijving activiteit,
|
||
--NULL locatie,
|
||
COALESCE (rr.res_ruimte_omschrijving, rg.alg_ruimte_omschrijving) ruimte,
|
||
x.res_rsv_ruimte_van,
|
||
x.res_rsv_ruimte_van,
|
||
x.res_rsv_ruimte_tot,
|
||
x.reslev,
|
||
(SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = x.prs_afdeling_key)
|
||
organisatie,
|
||
x.prs_perslid_naam_full gastheer,
|
||
x.prs_kostenplaats_omschrijving kostenplaats,
|
||
--(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
-- FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
-- WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
-- AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
-- AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
-- AND rk.res_srtkenmerk_key = 1)
|
||
-- costcenter,
|
||
x.res_rsv_ruimte_omschrijving omschrijving,
|
||
x.res_rsv_artikel_aantal,
|
||
x.res_artikel_nr,
|
||
x.res_artikel_omschrijving,
|
||
x.res_rsv_ruimte_bezoekers
|
||
FROM (SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
act.res_activiteit_omschrijving,
|
||
COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) res_ruimte_key,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_tot,
|
||
rra.res_rsv_artikel_levering reslev,
|
||
COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) prs_afdeling_key,
|
||
pf.prs_perslid_naam_full,
|
||
kp.prs_kostenplaats_nr,
|
||
kp.prs_kostenplaats_omschrijving,
|
||
kl.prs_kenmerklink_waarde,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
rrr.res_rsv_ruimte_bezoekers
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit act,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats kp,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra
|
||
WHERE rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_activiteit_key = act.res_activiteit_key
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 21 -- SSC
|
||
AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
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_dirtlevel = 0
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20171101', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'IW') + 21) x
|
||
LEFT JOIN res_ruimte rr
|
||
ON x.res_ruimte_key = rr.res_ruimte_key
|
||
LEFT JOIN alg_v_ruimte_gegevens_all rg
|
||
ON x.alg_ruimte_key = rg.alg_ruimte_key;
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_ssc_cat_factlijst
|
||
(
|
||
resnr,
|
||
datum,
|
||
organisatie,
|
||
gastheer,
|
||
kostenplaats,
|
||
--costcenter,
|
||
omschrijving,
|
||
totaal
|
||
)
|
||
AS -- Catering gegroepeerd per reservering
|
||
SELECT res_id,
|
||
TRUNC (reslev),
|
||
prs_afdeling_omschrijving organisatie,
|
||
prs_perslid_naam_full gastheer,
|
||
prs_kostenplaats_omschrijving kostenplaats,
|
||
--(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
-- FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
-- WHERE kw.res_rsv_ruimte_key = res_rsv_ruimte_key
|
||
-- AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
-- AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
-- AND rk.res_srtkenmerk_key = 1)
|
||
-- costcenter,
|
||
res_rsv_ruimte_omschrijving omschrijving,
|
||
SUM (COALESCE (verw_prijs, prijs))
|
||
FROM (SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id,
|
||
rra.res_rsv_artikel_levering reslev,
|
||
prs_afdeling_omschrijving,
|
||
pf.prs_perslid_naam_full,
|
||
kp.prs_kostenplaats_nr,
|
||
kp.prs_kostenplaats_omschrijving,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
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,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats kp,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra,
|
||
res_discipline rd,
|
||
res_disc_params dp,
|
||
prs_bedrijf b,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_rsv_ruimte_dirtlevel = 0
|
||
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 COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 21 -- SSC
|
||
AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
--AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = rd.ins_discipline_key
|
||
AND rd.ins_discipline_key = dp.res_ins_discipline_key
|
||
AND dp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20171101', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < SYSDATE)
|
||
GROUP BY res_id,
|
||
TRUNC (reslev),
|
||
prs_afdeling_omschrijving,
|
||
prs_perslid_naam_full,
|
||
prs_kostenplaats_omschrijving,
|
||
res_rsv_ruimte_omschrijving;
|
||
|
||
------ payload end ------
|
||
|
||
SET DEFINE OFF
|
||
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
||
/
|
||
|
||
COMMIT;
|
||
SET ECHO OFF
|
||
SPOOL OFF
|
||
SET DEFINE ON
|
||
PROMPT Logfile of this upgrade is: &fcltlogfile
|