BCGV#84047 -- Migratie Greenport Venlo omgeving vanuit Heyday naar eigen omg.
svn path=/Customer/trunk/; revision=65333
This commit is contained in:
951
BCGV/bcgv.sql
Normal file
951
BCGV/bcgv.sql
Normal file
@@ -0,0 +1,951 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Script containing customer specific sql statements for the FACILITOR database
|
||||
|
||||
DEFINE thisfile = 'bcgv.sql'
|
||||
DEFINE dbuser = 'bcgv'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
---------------------------------------
|
||||
PROMPT &fcltcusttxt
|
||||
---------------------------------------
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
CREATE OR REPLACE PACKAGE BCGV
|
||||
AS
|
||||
PROCEDURE add_xml_row_p (p_bestand IN VARCHAR2,
|
||||
p_prefix IN VARCHAR2,
|
||||
p_regel IN VARCHAR2);
|
||||
|
||||
PROCEDURE add_xml_element_p (p_bestand IN VARCHAR2,
|
||||
p_prefix IN VARCHAR2,
|
||||
p_tag IN VARCHAR2,
|
||||
p_value IN VARCHAR2);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY BCGV
|
||||
AS
|
||||
PROCEDURE add_xml_row_p (p_bestand IN VARCHAR2,
|
||||
p_prefix 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_prefix || p_regel);
|
||||
END;
|
||||
|
||||
PROCEDURE add_xml_element_p (p_bestand IN VARCHAR2,
|
||||
p_prefix IN VARCHAR2,
|
||||
p_tag IN VARCHAR2,
|
||||
p_value IN VARCHAR2)
|
||||
AS
|
||||
BEGIN
|
||||
bcgv.add_xml_row_p(p_bestand,
|
||||
p_prefix,
|
||||
'<' || p_tag || '>'
|
||||
|| xml.char_to_html(p_value)
|
||||
|| '</' || p_tag || '>');
|
||||
END;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
-- Vastgoed contract views voor huuradministratie
|
||||
CREATE OR REPLACE VIEW bcgv_v_sync_alg_ruimte
|
||||
(
|
||||
alg_ruimte_key,
|
||||
alg_verdieping_key,
|
||||
cadlabel
|
||||
)
|
||||
AS
|
||||
SELECT rg.alg_ruimte_key,
|
||||
rg.alg_verdieping_key,
|
||||
DECODE (rg.alg_verdieping_volgnr, 0, REPLACE(alg_ruimte_nr, 'S'),
|
||||
1, REPLACE(alg_ruimte_nr, 'BG'),
|
||||
2, REPLACE(alg_ruimte_nr, 'ST'),
|
||||
3, REPLACE(alg_ruimte_nr, 'ST'),
|
||||
alg_ruimte_nr) cadlabel
|
||||
FROM alg_v_ruimte_gegevens rg
|
||||
WHERE alg_gebouw_upper = 'GV-RVA'
|
||||
UNION ALL
|
||||
SELECT rg.alg_ruimte_key,
|
||||
rg.alg_verdieping_key,
|
||||
rg.alg_ruimte_nr cadlabel
|
||||
FROM alg_v_ruimte_gegevens rg
|
||||
WHERE alg_gebouw_upper <> 'GV-RVA';
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW bcgv_v_huurruimte_geg_bron
|
||||
AS
|
||||
SELECT alg_ruimte_bruto_vloeropp,
|
||||
alg_gebouw_upper,
|
||||
alg_verdieping_code,
|
||||
alg_ruimte_nr,
|
||||
alg_ruimte_key,
|
||||
alg_verdieping_key,
|
||||
COALESCE(cp.cnt_contract_plaats_gewicht, 1) * fac.safe_to_number(FLX.getflex('ALG', 1000, r.alg_ruimte_key, 'R')) fno_m2,
|
||||
COALESCE(cp.cnt_contract_plaats_gewicht, 1) * fac.safe_to_number(FLX.getflex('ALG', 1000, r.alg_ruimte_key, 'R'))
|
||||
* (1 + COALESCE(fac.safe_to_number(FLX.getflex('ALG', 1040, r.alg_verdieping_key, 'V')),0)/100)
|
||||
* (1 + COALESCE(fac.safe_to_number(FLX.getflex('ALG', 1080, r.alg_gebouw_key, 'G')),0)/100) vvo_m2,
|
||||
COALESCE(fac.safe_to_number(FLX.getflex('ALG', 1080, r.alg_gebouw_key, 'G')),0) v_sk_g,
|
||||
COALESCE(fac.safe_to_number(FLX.getflex('ALG', 1040, r.alg_verdieping_key, 'V')),0) v_sk_v,
|
||||
COALESCE(fac.safe_to_number(FLX.getflex('ALG', 1083, r.alg_gebouw_key, 'G')),0) t_sk,
|
||||
COALESCE(fac.safe_to_number(FLX.getflex('ALG', 1085, r.alg_gebouw_key, 'G')),0) t_parkmgt,
|
||||
COALESCE(fac.safe_to_number(FLX.getflex('ALG', 1086, r.alg_gebouw_key, 'G')),0) t_parkeer,
|
||||
COALESCE(fac.safe_to_number(FLX.getflex('ALG', 1087, r.alg_gebouw_key, 'G')),0) t_ict,
|
||||
COALESCE(fac.safe_to_number(FLX.getflex('ALG', 1001, r.alg_ruimte_key, 'R')),sr.alg_srtruimte_prijs) t_fno,
|
||||
sr.alg_srtruimte_code,
|
||||
sr.alg_srtruimte_omschrijving,
|
||||
c.cnt_contract_looptijd_van,
|
||||
c.cnt_contract_looptijd_tot,
|
||||
cp.cnt_contract_key,
|
||||
c.cnt_prs_bedrijf_key,
|
||||
COALESCE(FAC.safe_to_number(o.optie), 0) optie
|
||||
FROM cnt_contract c,
|
||||
cnt_contract_plaats cp,
|
||||
alg_v_ruimte_gegevens r,
|
||||
alg_srtruimte sr,
|
||||
(SELECT cnt_contract_key, cnt_kenmerkcontract_waarde optie
|
||||
FROM cnt_kenmerkcontract kc
|
||||
WHERE cnt_kenmerk_key = 37
|
||||
AND cnt_kenmerkcontract_verwijder IS NULL) o
|
||||
WHERE cp.cnt_contract_key = c.cnt_contract_key
|
||||
AND cp.CNT_ALG_PLAATS_CODE = 'R'
|
||||
AND cp.cnt_contract_plaats_verwijder IS NULL
|
||||
AND cp.cnt_alg_plaats_key = r.alg_ruimte_key
|
||||
AND r.alg_srtruimte_key = sr.alg_srtruimte_key
|
||||
AND c.cnt_contract_key = o.cnt_contract_key(+);
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW bcgv_v_rap_verhuur_geg
|
||||
AS
|
||||
SELECT b.cnt_contract_key,
|
||||
COALESCE (h.prs_bedrijf_naam,
|
||||
CASE
|
||||
WHEN cnt_contract_looptijd_van > SYSDATE THEN 'Toekomst'
|
||||
WHEN b.optie = 1 THEN 'Optie'
|
||||
ELSE 'Leegstand'
|
||||
END) prs_bedrijf_naam,
|
||||
b.alg_srtruimte_code code,
|
||||
rg.alg_srtruimte_omschrijving omschrijving,
|
||||
rg.alg_gebouw_upper,
|
||||
rg.alg_verdieping_code,
|
||||
rg.alg_ruimte_nr,
|
||||
rg.alg_ruimte_bruto_vloeropp,
|
||||
COALESCE(fno_m2, fac.safe_to_number(FLX.getflex('ALG', 1000, rg.alg_ruimte_key, 'R'))) fno_m2,
|
||||
t_fno,
|
||||
fno_m2 * t_fno b_fno,
|
||||
vvo_m2 - fno_m2 vvo_m2,
|
||||
t_sk,
|
||||
vvo_m2 * t_sk b_sk,
|
||||
t_parkeer,
|
||||
vvo_m2 * t_parkeer b_parkeer,
|
||||
t_parkmgt,
|
||||
vvo_m2 * t_parkmgt b_parkmgt,
|
||||
t_ict,
|
||||
vvo_m2 * t_ict b_ict,
|
||||
(fno_m2 * t_fno) +
|
||||
(vvo_m2 * t_sk) +
|
||||
(fno_m2 * t_parkeer) +
|
||||
(fno_m2 * t_ict) +
|
||||
(vvo_m2 * t_parkmgt) tot,
|
||||
cnt_contract_looptijd_van,
|
||||
cnt_contract_looptijd_tot,
|
||||
'Verhuurd' status
|
||||
FROM alg_v_ruimte_gegevens rg,
|
||||
(SELECT * FROM bcgv_v_huurruimte_geg_bron WHERE cnt_contract_looptijd_tot > SYSDATE) b,
|
||||
prs_bedrijf h
|
||||
WHERE rg.alg_ruimte_key = b.alg_ruimte_key(+)
|
||||
AND h.prs_bedrijf_key(+) = b.cnt_prs_bedrijf_key
|
||||
AND rg.alg_locatie_key = 1 -- Venlo
|
||||
AND rg.alg_verdieping_volgnr < 20;
|
||||
|
||||
CREATE OR REPLACE VIEW bcgv_v_cad_thema_leegstand
|
||||
(
|
||||
alg_ruimte_key,
|
||||
waarde
|
||||
)
|
||||
AS
|
||||
SELECT rg.alg_ruimte_key,
|
||||
DECODE (
|
||||
COALESCE (prs_verhuurbaar, 0),
|
||||
0, 'Niet verhuurbaar',
|
||||
CASE
|
||||
WHEN -- Heb ik op dit moment een geldig huurcontract
|
||||
(SELECT COUNT (*)
|
||||
FROM bcgv_v_huurruimte_geg_bron b
|
||||
WHERE optie = 0
|
||||
AND b.alg_ruimte_key = rg.alg_ruimte_key
|
||||
AND SYSDATE BETWEEN cnt_contract_looptijd_van
|
||||
AND cnt_contract_looptijd_tot) >
|
||||
0
|
||||
THEN
|
||||
'Verhuurd'
|
||||
-- Heb ik op in de toekomst een geldig huurcontract
|
||||
WHEN (SELECT COUNT (*)
|
||||
FROM bcgv_v_huurruimte_geg_bron b
|
||||
WHERE optie = 0
|
||||
AND b.alg_ruimte_key = rg.alg_ruimte_key
|
||||
AND cnt_contract_looptijd_van > SYSDATE) >
|
||||
0
|
||||
THEN
|
||||
'Toekomst'
|
||||
-- Heb ik nu of in de toekomst een optie
|
||||
WHEN (SELECT COUNT (*)
|
||||
FROM bcgv_v_huurruimte_geg_bron b
|
||||
WHERE optie = 1
|
||||
AND b.alg_ruimte_key = rg.alg_ruimte_key
|
||||
AND cnt_contract_looptijd_tot > SYSDATE) >
|
||||
0
|
||||
THEN
|
||||
'Optie'
|
||||
ELSE
|
||||
'Leegstand'
|
||||
END) status
|
||||
FROM alg_v_ruimte_gegevens rg, alg_srtruimte sr
|
||||
WHERE rg.alg_srtruimte_key = sr.alg_srtruimte_key
|
||||
AND alg_locatie_key = 1;
|
||||
|
||||
|
||||
-- Exact koppeling
|
||||
-- eerste opzet voor de view om Exact data voor verhuurcontracten in de verkoopfactuur tabel te laden
|
||||
-- factuurnummers, komen deze uit Facilitor?
|
||||
-- Alle huidige en toekomstige contracten worden getoond. Bij het vullen van de verkoopfactuur tabel worden
|
||||
-- de toekomstige contracten niet meegenomen.
|
||||
CREATE OR REPLACE VIEW bcgv_v_export_exact_gv_bron
|
||||
AS
|
||||
SELECT c.cnt_contract_key,
|
||||
b.prs_bedrijf_key,
|
||||
b.prs_bedrijf_naam,
|
||||
c.cnt_contract_omschrijving,
|
||||
b.prs_leverancier_nr,
|
||||
fin_btwtabelwaarde_code,
|
||||
fin_btwtabelwaarde_perc,
|
||||
item,
|
||||
bedrag,
|
||||
code_exact,
|
||||
oms_exact,
|
||||
FLX.getflex('CNT', 36, c.cnt_contract_key) opmerking,
|
||||
-- voor studentenhuisvesting kennen we andere kostenplaatsen voor huur en servicekosten
|
||||
DECODE (cg.kostenplaats,
|
||||
'huur', DECODE (FLX.getflex('CNT', 40, c.cnt_contract_key), 1, 414, hs.huur),
|
||||
'srvk', DECODE (FLX.getflex('CNT', 40, c.cnt_contract_key), 1, 511, hs.srvk),
|
||||
cg.kostenplaats) kostenplaats,
|
||||
volgorde,
|
||||
c.cnt_contract_looptijd_van,
|
||||
c.cnt_contract_looptijd_tot,
|
||||
CNT.cnt_getOpzegdatum(c.cnt_contract_key) opzegdatum,
|
||||
(SELECT cnt_termijn_omschrijving
|
||||
FROM cnt_termijn t
|
||||
WHERE t.cnt_termijn_key = cnt_contract_opzegtermijn) opzegtermijn,
|
||||
v.fno_m2,
|
||||
(v.fno_m2 + v.vvo_m2) vvo_m2
|
||||
FROM (SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
FLX.getflex('CNT', 33, cnt_contract_key)
|
||||
item,
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 17, cnt_contract_key))
|
||||
bedrag,
|
||||
'10'
|
||||
code_exact,
|
||||
'Bijdrage Dienstverlening'
|
||||
oms_exact,
|
||||
COALESCE(FLX.getflex('CNT', 26, cnt_contract_key), '525')
|
||||
kostenplaats,
|
||||
50 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
FLX.getflex('CNT', 34, cnt_contract_key),
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 18, cnt_contract_key)),
|
||||
'10',
|
||||
'Bijdrage Dienstverlening',
|
||||
COALESCE(FLX.getflex('CNT', 27, cnt_contract_key), '525')
|
||||
kostenplaats,
|
||||
50 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
FLX.getflex('CNT', 35, cnt_contract_key),
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 19, cnt_contract_key)),
|
||||
'10',
|
||||
'Bijdrage Dienstverlening',
|
||||
COALESCE(FLX.getflex('CNT', 28, cnt_contract_key), '525')
|
||||
kostenplaats,
|
||||
50 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Huur terrein bedrag',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 16, cnt_contract_key)),
|
||||
'60',
|
||||
'Huur terrein',
|
||||
'411'
|
||||
kostenplaats,
|
||||
10 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Huur korting',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 21, cnt_contract_key)),
|
||||
'110',
|
||||
'Huurkorting',
|
||||
'huur'
|
||||
kostenplaats,
|
||||
51 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'VVO Huurbedrag',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 7, cnt_contract_key)), -- VVO Huurbedrag
|
||||
'30',
|
||||
'Huur ruimte',
|
||||
'huur'
|
||||
kostenplaats,
|
||||
10 volgorde
|
||||
FROM cnt_contract k
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'0'
|
||||
fin_btwtabelwaarde_code,
|
||||
0
|
||||
fin_btwtabelwaarde_perc,
|
||||
'VVO Huurbedrag geen BTW',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 8, cnt_contract_key)), -- VVO Huurbedrag geen BTW
|
||||
'30',
|
||||
'Huur ruimte',
|
||||
'huur'
|
||||
kostenplaats,
|
||||
10 volgorde
|
||||
FROM cnt_contract k
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Campusparkeren bedrag',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 14, cnt_contract_key)), -- Campusparkeren bedrag
|
||||
'35',
|
||||
'Bijdrage Campusparkeren',
|
||||
'522'
|
||||
kostenplaats,
|
||||
60 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'0'
|
||||
fin_btwtabelwaarde_code,
|
||||
0
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Borg',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 41, cnt_contract_key)), -- Waarborgsom
|
||||
'70',
|
||||
'Opbrengst waarborgsommen',
|
||||
''
|
||||
kostenplaats,
|
||||
70 volgorde
|
||||
FROM cnt_contract
|
||||
WHERE FLX.getflex('CNT', 42, cnt_contract_key) IS NULL -- Waarborg is nog niet eerder ge<67>nd.
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Service kosten',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 9, cnt_contract_key)), -- Servkost bedrag
|
||||
'40',
|
||||
'Bijdrage Servicekosten',
|
||||
'srvk'
|
||||
kostenplaats,
|
||||
20 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'ServKost extra bedrag BTW hoog',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 11, cnt_contract_key)), -- ServKost extra bedrag BTW hoog
|
||||
'40',
|
||||
'Bijdrage Servicekosten',
|
||||
'srvk'
|
||||
kostenplaats,
|
||||
21 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'0'
|
||||
fin_btwtabelwaarde_code,
|
||||
0
|
||||
fin_btwtabelwaarde_perc,
|
||||
'ServKost bedrag geen BTW',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 10, cnt_contract_key)), -- ServKost bedrag geen BTW
|
||||
'40',
|
||||
'Bijdrage Servicekosten',
|
||||
'srvk'
|
||||
kostenplaats,
|
||||
21 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'4'
|
||||
fin_btwtabelwaarde_code,
|
||||
9
|
||||
fin_btwtabelwaarde_perc,
|
||||
'ServKost extra bedrag BTW laag',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 12, cnt_contract_key)), -- ServKost extra bedrag BTW laag
|
||||
'40',
|
||||
'Bijdrage Servicekosten',
|
||||
'srvk'
|
||||
kostenplaats,
|
||||
21 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'4'
|
||||
fin_btwtabelwaarde_code,
|
||||
9
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Dienstverlening Water',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 20, cnt_contract_key)), -- Dienstverlening Water
|
||||
'10',
|
||||
'Bijdrage Dienstverlening',
|
||||
'525'
|
||||
kostenplaats,
|
||||
50 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Parkmgt',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 13, cnt_contract_key)), -- Parkmgt bedrag
|
||||
'100',
|
||||
'Bijdrage Parkmanagement',
|
||||
'521'
|
||||
kostenplaats,
|
||||
30 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'ICT',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 15, cnt_contract_key)), -- ICT bedrag
|
||||
'120',
|
||||
'Bijdrage ICT',
|
||||
'535'
|
||||
kostenplaats,
|
||||
40 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Flexplek vaste plek bedrag',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 2, cnt_contract_key)), -- Flexplek vaste plek bedrag
|
||||
'10',
|
||||
'Huur ruimte',
|
||||
'534'
|
||||
kostenplaats,
|
||||
10 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Flex ongelimiteerd',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 3, cnt_contract_key)), -- Flexplek ongelimiteerd bedrag
|
||||
'10',
|
||||
'Huur ruimte',
|
||||
'534'
|
||||
kostenplaats,
|
||||
10 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Flex 12 dagen',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 4, cnt_contract_key)), -- Flexplek 12 dagen per maand bedrag
|
||||
'10',
|
||||
'Huur ruimte',
|
||||
'534'
|
||||
kostenplaats,
|
||||
10 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Flex 5 dagen',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 5, cnt_contract_key)), -- Flexplek 5 dagen per maand bedrag
|
||||
'10',
|
||||
'Huur ruimte',
|
||||
'534'
|
||||
kostenplaats,
|
||||
10 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'3'
|
||||
fin_btwtabelwaarde_code,
|
||||
21
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Flex locker',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 6, cnt_contract_key)), -- Flexplek locker
|
||||
'10',
|
||||
'Huur ruimte',
|
||||
'534'
|
||||
kostenplaats,
|
||||
11 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'0'
|
||||
fin_btwtabelwaarde_code,
|
||||
0
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Opslag BTW herziening',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 22, cnt_contract_key)), -- Opslag BTW herziening
|
||||
'30',
|
||||
'Huur ruimte',
|
||||
'huur'
|
||||
kostenplaats,
|
||||
90 volgorde
|
||||
FROM cnt_contract
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key,
|
||||
'0'
|
||||
fin_btwtabelwaarde_code,
|
||||
0
|
||||
fin_btwtabelwaarde_perc,
|
||||
'Opslag BTW pro rata',
|
||||
FAC.safe_to_number (
|
||||
FLX.getflex('CNT', 23, cnt_contract_key)), -- Opslag BTW pro rata
|
||||
'30',
|
||||
'Huur ruimte',
|
||||
'huur'
|
||||
kostenplaats,
|
||||
90 volgorde
|
||||
FROM cnt_contract
|
||||
GROUP BY cnt_contract_key) cg,
|
||||
cnt_contract c,
|
||||
prs_bedrijf b,
|
||||
(SELECT cnt_contract_key,
|
||||
FLX.getflex ('ALG', 1060, alg_gebouw_key, 'G') huur,
|
||||
FLX.getflex ('ALG', 1061, alg_gebouw_key, 'G') srvk
|
||||
FROM (SELECT DISTINCT cnt_contract_key, alg_gebouw_key
|
||||
FROM cnt_contract_plaats cp, alg_v_allonroerendgoed aog
|
||||
WHERE ( ( cp.cnt_alg_plaats_code = 'R'
|
||||
AND cp.cnt_alg_plaats_key =
|
||||
aog.alg_ruimte_key)
|
||||
OR ( cp.cnt_alg_plaats_code = 'V'
|
||||
AND cp.cnt_alg_plaats_key =
|
||||
aog.alg_verdieping_key)
|
||||
OR ( cp.cnt_alg_plaats_code = 'G'
|
||||
AND cp.cnt_alg_plaats_key =
|
||||
aog.alg_gebouw_key)
|
||||
OR ( cp.cnt_alg_plaats_code = 'L'
|
||||
AND cp.cnt_alg_plaats_key =
|
||||
aog.alg_locatie_key)))) hs,
|
||||
(SELECT cnt_contract_key, sum(fno_m2) fno_m2, sum(vvo_m2) vvo_m2
|
||||
FROM bcgv_v_rap_verhuur_geg
|
||||
WHERE cnt_contract_key IS NOT NULL
|
||||
GROUP BY cnt_contract_key) v
|
||||
WHERE c.cnt_contract_key = cg.cnt_contract_key
|
||||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND c.cnt_contract_key = hs.cnt_contract_key(+)
|
||||
AND c.cnt_contract_key = v.cnt_contract_key(+)
|
||||
AND c.ins_discipline_key = 241 -- verhuurcontract
|
||||
AND cg.bedrag IS NOT NULL
|
||||
AND c.cnt_contract_verwijder IS NULL
|
||||
AND c.cnt_contract_looptijd_tot >
|
||||
ADD_MONTHS (TRUNC (SYSDATE, 'MM'), 1)
|
||||
AND c.cnt_contract_key NOT IN
|
||||
(SELECT cnt_contract_key
|
||||
FROM cnt_kenmerkcontract kc
|
||||
WHERE cnt_kenmerk_key = 37 -- optie
|
||||
AND cnt_kenmerkcontract_verwijder IS NULL
|
||||
AND cnt_kenmerkcontract_waarde = '1');
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW bcgv_v_export_exact_gv (
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT fac_rapport_regel, fac_rapport_volgnr
|
||||
FROM fac_rapport
|
||||
WHERE fac_rapport_node = 'bcgv_EXACT';
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE bcgv_select_exact_gv (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT fin_verkoopfactuur_refkey, prs_debiteur_naam, fin_verkoopfactuur_omschr, fin_verkoopfactuur_datum, fin_verkoopfactuur_c8
|
||||
FROM fin_verkoopfactuur
|
||||
WHERE fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||||
AND fin_verkoopfactuur_d1 IS NULL
|
||||
GROUP BY fin_verkoopfactuur_refkey, prs_debiteur_naam, fin_verkoopfactuur_omschr, fin_verkoopfactuur_datum, fin_verkoopfactuur_c8;
|
||||
|
||||
CURSOR c_cnt (c_contract_key NUMBER)
|
||||
IS
|
||||
SELECT *
|
||||
FROM fin_verkoopfactuur
|
||||
WHERE fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||||
AND fin_verkoopfactuur_d1 IS NULL
|
||||
AND fin_verkoopfactuur_refkey = c_contract_key
|
||||
ORDER BY fin_verkoopfactuur_n1;
|
||||
|
||||
|
||||
v_order_count NUMBER;
|
||||
v_amount_sum NUMBER(10,2);
|
||||
v_amount_sum_incl NUMBER(10,2);
|
||||
v_count NUMBER;
|
||||
v_sub_count NUMBER;
|
||||
v_bestand VARCHAR2(12);
|
||||
v_boekstuknummer NUMBER;
|
||||
v_crdnr PRS_BEDRIJF.PRS_LEVERANCIER_NR%TYPE;
|
||||
v_factuur_nr FIN_FACTUUR.FIN_FACTUUR_NR%TYPE;
|
||||
v_prefix VARCHAR2(10);
|
||||
|
||||
BEGIN
|
||||
|
||||
v_order_count := 0;
|
||||
v_amount_sum := 0;
|
||||
v_amount_sum_incl := 0;
|
||||
v_bestand := 'bcgv_EXACT';
|
||||
v_crdnr := 'Q';
|
||||
v_factuur_nr := 'Q';
|
||||
|
||||
-- Eerst opruiming
|
||||
DELETE FROM imp_log
|
||||
WHERE imp_log_applicatie = p_applname;
|
||||
|
||||
DELETE fac_rapport
|
||||
WHERE fac_rapport_node = v_bestand;
|
||||
|
||||
-- verwijder niet verwerkte regels uit de verkoopfactuur tabel
|
||||
DELETE fin_verkoopfactuur
|
||||
WHERE fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||||
AND fin_verkoopfactuur_d1 IS NULL;
|
||||
|
||||
-- Vul de verkoopfactuurtabel met de nieuwe records
|
||||
INSERT INTO fin_verkoopfactuur (fin_verkoopfactuur_id,
|
||||
fin_verkoopfactuur_datum,
|
||||
fin_verkoopfactuur_omschr,
|
||||
fin_verkoopfactuur_xmlnode,
|
||||
fin_verkoopfactuur_refkey,
|
||||
prs_kostenplaats_nr,
|
||||
prs_kostensoort_oms,
|
||||
prs_kostensoort_opmerking,
|
||||
prs_bedrijf_key,
|
||||
prs_debiteur_naam,
|
||||
fin_verkoopfactuur_bedrag,
|
||||
fin_verkoopfactuur_btw,
|
||||
fin_btwtabelwaarde_code,
|
||||
fin_btwtabelwaarde_perc,
|
||||
fin_verkoopfactuur_maand,
|
||||
fin_verkoopfactuur_n1,
|
||||
fin_verkoopfactuur_c1,
|
||||
fin_verkoopfactuur_c2,
|
||||
fin_verkoopfactuur_c4,
|
||||
fin_verkoopfactuur_c6, -- vullen met FNO_M2
|
||||
fin_verkoopfactuur_c7, -- vullen met VVO_M2
|
||||
fin_verkoopfactuur_c8) -- vullen met Opmerking
|
||||
SELECT TO_CHAR (SYSDATE, 'dd-mm-yyyy') || ' C' || cnt_contract_key,
|
||||
SYSDATE,
|
||||
'Facturatie Huur en Servicekosten '
|
||||
|| TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'Mon yyyy'),
|
||||
'contract',
|
||||
cnt_contract_key,
|
||||
kostenplaats,
|
||||
oms_exact,
|
||||
code_exact,
|
||||
prs_bedrijf_key,
|
||||
prs_leverancier_nr,
|
||||
bedrag,
|
||||
ROUND (bedrag * (fin_btwtabelwaarde_perc / 100), 2),
|
||||
fin_btwtabelwaarde_code,
|
||||
fin_btwtabelwaarde_perc,
|
||||
TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyymm'),
|
||||
volgorde,
|
||||
cnt_contract_omschrijving,
|
||||
item,
|
||||
'HuurGreenportVenlo',
|
||||
fno_m2,
|
||||
vvo_m2,
|
||||
opmerking
|
||||
FROM bcgv_v_export_exact_gv_bron
|
||||
WHERE cnt_contract_looptijd_van <= ADD_MONTHS (TRUNC (SYSDATE, 'MM'), 1);
|
||||
|
||||
|
||||
-- Bepaal het boekstuknummer (key 3) met het hoogste nummer van dit jaar
|
||||
-- ## AAIT#36589
|
||||
|
||||
SELECT MAX(fin_kenmerkfactuur_waarde)
|
||||
INTO v_boekstuknummer
|
||||
FROM fin_kenmerkfactuur
|
||||
WHERE fin_kenmerk_key = 3
|
||||
AND SUBSTR(fin_kenmerkfactuur_waarde,1,2) = TO_CHAR(SYSDATE, 'YY');
|
||||
|
||||
|
||||
v_order_count := 0;
|
||||
v_amount_sum := 0;
|
||||
v_amount_sum_incl := 0;
|
||||
v_prefix := NULL;
|
||||
|
||||
-- header
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<?xml version="1.0" encoding="windows-1252"?>');
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<eExact>');
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<Invoices>');
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Als we een nieuw contract tegenkomen gaan we het factuurnummer ophogen.
|
||||
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<Invoice type="8020" status="50">');
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<Journal code="40"/>');
|
||||
bcgv.add_xml_element_p (v_bestand, v_prefix, 'OrderDate', rec.fin_verkoopfactuur_datum);
|
||||
bcgv.add_xml_element_p (v_bestand, v_prefix, 'InvoiceDate', TO_CHAR(SYSDATE, 'YYYY-MM-DD') );
|
||||
bcgv.add_xml_element_p (v_bestand, v_prefix, 'Description', xml.char_to_html(rec.fin_verkoopfactuur_omschr));
|
||||
bcgv.add_xml_element_p (v_bestand, v_prefix, 'Notes', xml.char_to_html(rec.fin_verkoopfactuur_c8));
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<OrderedBy code="' || rec.prs_debiteur_naam || '"/>');
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<InvoiceTo code="' || rec.prs_debiteur_naam || '"/>');
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<PaymentCondition code="02"/>');
|
||||
|
||||
v_sub_count := 1;
|
||||
FOR rec1 IN c_cnt (rec.fin_verkoopfactuur_refkey)
|
||||
LOOP
|
||||
BEGIN
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<InvoiceLine line="' || v_sub_count || '">');
|
||||
bcgv.add_xml_element_p (v_bestand, v_prefix, 'Description', xml.char_to_html(rec1.prs_kostensoort_oms));
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<Item code="' || rec1.prs_kostensoort_opmerking || '"/>');
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<Costcenter code="' || rec1.prs_kostenplaats_nr || '"/>');
|
||||
IF rec1.fin_verkoopfactuur_bedrag < 0
|
||||
THEN
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<Quantity>-1</Quantity>');
|
||||
ELSE
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<Quantity>1</Quantity>');
|
||||
END IF;
|
||||
-- bcgv#70153 bcgv.add_xml_row_p (v_bestand, v_prefix, '<Unit code="pc"/>');
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<NetPrice>');
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<Currency code="EUR" />');
|
||||
bcgv.add_xml_element_p (v_bestand, v_prefix, 'Value', REPLACE (TO_CHAR (ABS(rec1.fin_verkoopfactuur_bedrag)), ',', '.'));
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '<VAT code="' || rec1.fin_btwtabelwaarde_code || '"/>');
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '</NetPrice>');
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '</InvoiceLine>');
|
||||
v_sub_count := v_sub_count + 1;
|
||||
v_amount_sum := v_amount_sum + rec1.fin_verkoopfactuur_bedrag;
|
||||
END;
|
||||
END LOOP;
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '</Invoice>');
|
||||
v_order_count := v_order_count + 1;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '</Invoices>');
|
||||
bcgv.add_xml_row_p (v_bestand, v_prefix, '</eExact>');
|
||||
|
||||
fac.writelog (p_applname, 'S', 'Exact export Greenport huurfacturen uitgevoerd. Aantal facturen: ' || v_order_count || ' Totaal bedrag: ' || v_amount_sum, '');
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE VIEW bcgv_v_export_exact_gv_frozen
|
||||
AS
|
||||
SELECT fin_verkoopfactuur_refkey cnt_contract_key,
|
||||
b.prs_bedrijf_key ,
|
||||
b.prs_bedrijf_naam,
|
||||
fin_verkoopfactuur_c1 cnt_contract_omschrijving,
|
||||
prs_debiteur_naam prs_leverancier_nr,
|
||||
fin_btwtabelwaarde_code,
|
||||
fin_btwtabelwaarde_perc,
|
||||
fin_verkoopfactuur_c2 item,
|
||||
fin_verkoopfactuur_bedrag bedrag,
|
||||
prs_kostensoort_opmerking,
|
||||
prs_kostensoort_oms code_exact,
|
||||
prs_kostenplaats_nr oms_exact,
|
||||
fin_verkoopfactuur_maand boekmaand,
|
||||
fin_verkoopfactuur_datum factuurdatum,
|
||||
fin_verkoopfactuur_c6 fno_m2,
|
||||
fin_verkoopfactuur_c7 vvo_m2
|
||||
FROM fin_verkoopfactuur vf, prs_bedrijf b
|
||||
WHERE vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||||
AND fin_verkoopfactuur_d1 IS NOT NULL;
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW bcgv_v_export_verwerk_exact_gv (
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT 'cnt_contract_key;' ||
|
||||
'prs_bedrijf_key;' ||
|
||||
'prs_bedrijf_naam;' ||
|
||||
'cnt_contract_omschrijving;' ||
|
||||
'prs_leverancier_nr;' ||
|
||||
'fin_btwtabelwaarde_code;' ||
|
||||
'fin_btwtabelwaarde_perc;' ||
|
||||
'item;' ||
|
||||
'bedrag;' ||
|
||||
'prs_kostensoort_opmerking;' ||
|
||||
'code_exact;' ||
|
||||
'oms_exact;' ||
|
||||
'boekmaand', -1
|
||||
FROM DUAL
|
||||
UNION ALL
|
||||
SELECT fin_verkoopfactuur_refkey || ';' ||
|
||||
b.prs_bedrijf_key || ';' ||
|
||||
b.prs_bedrijf_naam || ';' ||
|
||||
fin_verkoopfactuur_c1 || ';' ||
|
||||
prs_debiteur_naam || ';' ||
|
||||
fin_btwtabelwaarde_code || ';' ||
|
||||
fin_btwtabelwaarde_perc || ';' ||
|
||||
fin_verkoopfactuur_c2 || ';' ||
|
||||
fin_verkoopfactuur_bedrag || ';' ||
|
||||
prs_kostensoort_opmerking || ';' ||
|
||||
prs_kostensoort_oms || ';' ||
|
||||
prs_kostenplaats_nr || ';' ||
|
||||
fin_verkoopfactuur_maand, fin_verkoopfactuur_key
|
||||
FROM fin_verkoopfactuur vf, prs_bedrijf b
|
||||
WHERE vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||||
AND fin_verkoopfactuur_d1 > SYSDATE - 0.1;
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE bcgv_select_verwerk_exact_gv (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT c.cnt_contract_key, 445 cnt_kenmerk_key -- Waarborgsom geint op datum
|
||||
FROM cnt_contract c
|
||||
WHERE EXISTS
|
||||
(SELECT cnt_kenmerkcontract_key
|
||||
FROM cnt_kenmerkcontract kc
|
||||
WHERE kc.cnt_contract_key = c.cnt_contract_key
|
||||
AND kc.cnt_kenmerk_key = 444) -- Waarborgsom
|
||||
AND NOT EXISTS
|
||||
(SELECT cnt_kenmerkcontract_key
|
||||
FROM cnt_kenmerkcontract kc
|
||||
WHERE kc.cnt_contract_key = c.cnt_contract_key
|
||||
AND kc.cnt_kenmerk_key = 445);
|
||||
|
||||
BEGIN
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
INSERT INTO cnt_kenmerkcontract (cnt_contract_key, cnt_kenmerk_key, cnt_kenmerkcontract_waarde)
|
||||
VALUES (rec.cnt_contract_key, rec.cnt_kenmerk_key, TO_CHAR(SYSDATE, 'DD-MM-YYYY'));
|
||||
END LOOP;
|
||||
|
||||
UPDATE fin_verkoopfactuur
|
||||
SET fin_verkoopfactuur_d1 = SYSDATE
|
||||
WHERE fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||||
AND fin_verkoopfactuur_d1 IS NULL;
|
||||
END;
|
||||
/
|
||||
------ 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
|
||||
Reference in New Issue
Block a user