6240 lines
249 KiB
SQL
6240 lines
249 KiB
SQL
-- Script containing customer generic configuration sql statements for AAFM
|
|
-- (c) 2009 SG|facilitor
|
|
-- $Revision: 79 $
|
|
-- $Modtime: 23-06-11 10:11 $
|
|
--
|
|
-- Support: +31 53 4800710
|
|
|
|
|
|
|
|
-- tijdelijke aanpassing voor labels op bestelopdrachtbon!!!!!!!!!!!!!!!!!
|
|
update fac_locale_xsl set fac_locale_xsl_tekst = 'Alle bedragen zijn exclusief BTW' where fac_locale_xsl_module = 'BES' and FAC_LOCALE_XSL_LANG = 'NL' and FAC_LOCALE_XSL_LABEL = 'inclusief';
|
|
|
|
update fac_locale_xsl set fac_locale_xsl_tekst = 'All prices exclude VAT' where fac_locale_xsl_module = 'BES' and FAC_LOCALE_XSL_LANG = 'EN' and FAC_LOCALE_XSL_LABEL = 'inclusief';
|
|
|
|
@@aa_prs_pack.sql;
|
|
|
|
--=============================================================================
|
|
-- EXPORTFUNCTIES GENERIEK
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE FUNCTION aaxx_exp_escape (a VARCHAR2) RETURN VARCHAR2
|
|
AS
|
|
BEGIN
|
|
RETURN replace(a, '"', '''');
|
|
END aaxx_exp_escape;
|
|
/
|
|
|
|
CREATE OR REPLACE FUNCTION aaxx_get_user
|
|
RETURN VARCHAR2
|
|
AS
|
|
v_user VARCHAR2 (20);
|
|
BEGIN
|
|
v_user := SUBSTR (USER, 1, 4);
|
|
IF v_user = 'AABT' THEN RETURN 'BT'; END IF;
|
|
IF v_user = 'AACE' THEN RETURN 'CE'; END IF;
|
|
IF v_user = 'AADO' THEN RETURN 'DOW'; END IF;
|
|
IF v_user = 'AADS' THEN RETURN 'DSM'; END IF;
|
|
IF v_user = 'AAEN' THEN RETURN 'ENEXIS'; END IF;
|
|
IF v_user = 'AAFP' THEN RETURN 'FPC'; END IF;
|
|
IF v_user = 'AAIT' THEN RETURN 'IT'; END IF;
|
|
IF v_user = 'AALB' THEN RETURN 'LB'; END IF;
|
|
IF v_user = 'AANS' THEN RETURN 'NS'; END IF;
|
|
IF v_user = 'AANX' THEN RETURN 'NXP'; END IF;
|
|
IF v_user = 'AASA' THEN RETURN 'SABIC'; END IF;
|
|
RETURN '';
|
|
END aaxx_get_user;
|
|
/
|
|
|
|
CREATE OR REPLACE FUNCTION aaxx_get_kenmerkwaarde (
|
|
p_kenmerk_type VARCHAR2,
|
|
p_ref_objectnaam VARCHAR2,
|
|
p_ref_kolomnaam VARCHAR2,
|
|
p_ref_kolomtxt VARCHAR2,
|
|
p_fac_usrtab_key NUMBER,
|
|
p_kenmerk_waarde VARCHAR2)
|
|
RETURN VARCHAR2
|
|
AS
|
|
v_result VARCHAR2(2000);
|
|
sql_stmt VARCHAR2(2000);
|
|
BEGIN
|
|
IF p_kenmerk_type = 'R' OR p_kenmerk_type = 'S' THEN
|
|
sql_stmt :='SELECT MIN('
|
|
|| p_ref_kolomtxt
|
|
|| ')'
|
|
|| ' FROM '
|
|
|| p_ref_objectnaam
|
|
|| ' WHERE '
|
|
|| p_ref_kolomnaam
|
|
|| ' = '
|
|
|| p_kenmerk_waarde;
|
|
|
|
EXECUTE IMMEDIATE sql_stmt INTO v_result;
|
|
|
|
ELSIF p_kenmerk_type = 'D' THEN
|
|
v_result := TO_CHAR (fac.safe_to_date (p_kenmerk_waarde, 'dd-mm-yyyy'), 'yyyy-mm-dd');
|
|
ELSE
|
|
v_result := p_kenmerk_waarde;
|
|
END IF;
|
|
return v_result;
|
|
END aaxx_get_kenmerkwaarde;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION aaxx_get_cnt_cont_plaats_index (p_contract_plaats_key number
|
|
)
|
|
RETURN NUMBER
|
|
AS
|
|
CURSOR c (c_cnt_contract_key number)
|
|
IS
|
|
SELECT cnt_contract_plaats_key
|
|
FROM cnt_contract_plaats
|
|
WHERE cnt_contract_key = c_cnt_contract_key
|
|
ORDER BY cnt_contract_plaats_key;
|
|
|
|
v_contract_key NUMBER (10);
|
|
v_index NUMBER (10);
|
|
BEGIN
|
|
v_index := 1;
|
|
|
|
SELECT cnt_contract_key
|
|
INTO v_contract_key
|
|
FROM cnt_contract_plaats
|
|
WHERE cnt_contract_plaats_key = p_contract_plaats_key;
|
|
|
|
FOR rec IN c(v_contract_key)
|
|
LOOP
|
|
IF rec.cnt_contract_plaats_key = p_contract_plaats_key
|
|
THEN
|
|
RETURN (v_index);
|
|
END IF;
|
|
|
|
v_index := v_index + 1;
|
|
END LOOP;
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION aaxx_get_dep_oms (p_prs_kostenplaats_nr VARCHAR2) RETURN VARCHAR2
|
|
AS
|
|
v_result VARCHAR2(100);
|
|
BEGIN
|
|
v_result := 'Onbekend - ' || p_prs_kostenplaats_nr;
|
|
BEGIN
|
|
SELECT prs_afdeling_omschrijving
|
|
INTO v_result
|
|
FROM prs_v_aanwezigafdeling a, prs_kostenplaats k
|
|
WHERE niveau = 1
|
|
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND k.prs_kostenplaats_nr = p_prs_kostenplaats_nr;
|
|
RETURN v_result;
|
|
EXCEPTION WHEN NO_DATA_FOUND
|
|
THEN
|
|
BEGIN
|
|
SELECT prs_afdeling_omschrijving
|
|
INTO v_result
|
|
FROM prs_v_aanwezigafdeling a, prs_kostenplaats k
|
|
WHERE niveau = 2
|
|
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND k.prs_kostenplaats_nr = p_prs_kostenplaats_nr;
|
|
RETURN v_result;
|
|
EXCEPTION WHEN OTHERS
|
|
THEN
|
|
RETURN v_result;
|
|
END;
|
|
END;
|
|
END aaxx_get_dep_oms;
|
|
/
|
|
|
|
CREATE OR REPLACE FUNCTION aaxx_get_dep_code (p_prs_kostenplaats_nr VARCHAR2) RETURN VARCHAR2
|
|
AS
|
|
v_result VARCHAR2(100);
|
|
BEGIN
|
|
v_result := 'Onbekend - ' || p_prs_kostenplaats_nr;
|
|
BEGIN
|
|
SELECT prs_afdeling_naam
|
|
INTO v_result
|
|
FROM prs_v_aanwezigafdeling a, prs_kostenplaats k
|
|
WHERE niveau = 1
|
|
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND k.prs_kostenplaats_nr = p_prs_kostenplaats_nr;
|
|
RETURN v_result;
|
|
EXCEPTION WHEN NO_DATA_FOUND
|
|
THEN
|
|
BEGIN
|
|
SELECT prs_afdeling_naam
|
|
INTO v_result
|
|
FROM prs_v_aanwezigafdeling a, prs_kostenplaats k
|
|
WHERE niveau = 2
|
|
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND k.prs_kostenplaats_nr = p_prs_kostenplaats_nr;
|
|
RETURN v_result;
|
|
EXCEPTION WHEN OTHERS
|
|
THEN
|
|
RETURN v_result;
|
|
END;
|
|
END;
|
|
END aaxx_get_dep_code;
|
|
/
|
|
|
|
CREATE OR REPLACE FUNCTION aaxx_bestelling_items (bes_key IN NUMBER)
|
|
RETURN VARCHAR2
|
|
IS
|
|
lret VARCHAR2 (512);
|
|
lfirst NUMBER;
|
|
llast NUMBER;
|
|
|
|
CURSOR items
|
|
IS
|
|
SELECT TO_CHAR (bi.bes_bestelling_item_aantal)
|
|
|| 'x '
|
|
|| s.bes_srtdeel_omschrijving /* lcl.x()?*/
|
|
|| ' ('
|
|
|| s.bes_srtdeel_eenheid
|
|
|| ') ' besitemdsc
|
|
FROM bes_bestelling_item bi, bes_srtdeel s
|
|
WHERE bi.bes_srtdeel_key = s.bes_srtdeel_key
|
|
AND bi.bes_bestelling_key = bes_key;
|
|
BEGIN
|
|
lret := NULL;
|
|
lfirst := 0;
|
|
llast := 0;
|
|
|
|
FOR besitem_rec IN items
|
|
LOOP
|
|
IF lfirst = 0
|
|
THEN
|
|
BEGIN
|
|
lret := besitem_rec.besitemdsc;
|
|
lfirst := 1;
|
|
END;
|
|
ELSE
|
|
IF llast = 0
|
|
THEN
|
|
IF LENGTH (lret) + LENGTH (besitem_rec.besitemdsc) < (512 - 5)
|
|
THEN
|
|
lret := lret || CHR (10) || besitem_rec.besitemdsc;
|
|
ELSE
|
|
lret := lret || CHR (10) || '...';
|
|
llast := 1;
|
|
END IF;
|
|
END IF;
|
|
END IF;
|
|
END LOOP;
|
|
|
|
RETURN lret;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aaxx_export_login (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
|
|
INSERT INTO aaxx_perslid_login
|
|
(prs_perslid_key, login_datum)
|
|
(SELECT prs_perslid_key, prs_perslid_login
|
|
FROM prs_perslid
|
|
WHERE TRUNC (prs_perslid_login) = TRUNC (SYSDATE));
|
|
|
|
END;
|
|
/
|
|
|
|
--=============================================================================
|
|
-- EXPORTFUNCTIES EXACT
|
|
-------------------------------------------------------------------------------
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - Export exact
|
|
-------------------------------------------------------------------------------
|
|
-- fin_kenmerk_key 2 is de keuze of dit de laatste factuur van de opdracht is.
|
|
CREATE OR REPLACE VIEW aaxx_v_factuur_gegevens (
|
|
fin_factuur_key,
|
|
opdracht_id,
|
|
fin_factuur_datum,
|
|
fin_factuur_nr,
|
|
prs_bedrijf_key,
|
|
fin_factuurregel_totaal,
|
|
fin_factuurregel_btw,
|
|
fin_btwtabelwaarde_code,
|
|
fin_factuurregel_nr,
|
|
fin_factuur_debiteur_nr,
|
|
fin_factuur_opmerking,
|
|
fin_factuur_boekmaand,
|
|
opdr_datum,
|
|
laatste_factuur,
|
|
project_nummer,
|
|
prs_kostensoort_refcode,
|
|
vk_prs_kostensoort_refcode,
|
|
prs_kostensoort_key,
|
|
prs_kostenplaats_key,
|
|
mld_opdr_key,
|
|
cnt_contract_key,
|
|
bes_bestelopdr_key,
|
|
fin_factuur_statuses_key,
|
|
lev_kpn
|
|
)
|
|
AS
|
|
SELECT f.fin_factuur_key,
|
|
DECODE (c.cnt_contract_key, null,
|
|
DECODE (bo.bes_bestelopdr_key, null,
|
|
(SELECT sd.ins_srtdiscipline_prefix
|
|
|| m.mld_melding_key
|
|
|| '/'
|
|
|| o.mld_opdr_bedrijfopdr_volgnr
|
|
FROM mld_melding m,
|
|
mld_stdmelding std,
|
|
ins_tab_discipline d,
|
|
ins_srtdiscipline sd
|
|
WHERE m.mld_melding_key = o.mld_melding_key
|
|
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
|
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key)
|
|
, bo.bes_bestelopdr_id)
|
|
, 'C' || TO_CHAR (cnt_contract_nummer_intern)
|
|
)
|
|
opdracht_id,
|
|
DECODE (to_char(f.fin_factuur_datum, 'yyyy'),
|
|
'2010', to_date('20110102', 'YYYYMMDD'),
|
|
f.fin_factuur_datum),
|
|
f.fin_factuur_nr,
|
|
COALESCE (b_c.prs_bedrijf_key, COALESCE(b_o.prs_bedrijf_key, b_b.prs_bedrijf_key)) prs_bedrijf_key,
|
|
fr.fin_factuurregel_totaal,
|
|
round(fr.fin_factuurregel_totaal*btw.fin_btwtabelwaarde_perc/100,2) fin_factuurregel_btw,
|
|
btw.fin_btwtabelwaarde_code,
|
|
fr.fin_factuurregel_nr,
|
|
f.fin_factuur_debiteur_nr,
|
|
f.fin_factuur_opmerking,
|
|
f.fin_factuur_boekmaand,
|
|
coalesce (o.mld_opdr_datumbegin, coalesce(c.cnt_contract_looptijd_tot, bo.bes_bestelopdr_datum)),
|
|
COALESCE ( (SELECT fac.safe_to_number (fac_usrdata_code)
|
|
FROM fin_kenmerkfactuur fk, fac_usrdata ud
|
|
WHERE fk.fin_factuur_key = f.fin_factuur_key
|
|
AND fk.fin_kenmerk_key = 2
|
|
AND fac.safe_to_number (fin_kenmerkfactuur_waarde) =
|
|
fac_usrdata_key),
|
|
1
|
|
),
|
|
TO_CHAR (DECODE (ot.mld_typeopdr_omschrijving,
|
|
'Projectorder', ( (SELECT aaxx_get_user || sd.ins_srtdiscipline_prefix
|
|
|| m.mld_melding_key
|
|
FROM mld_melding m,
|
|
mld_stdmelding std,
|
|
ins_tab_discipline d,
|
|
ins_srtdiscipline sd
|
|
WHERE m.mld_melding_key =
|
|
o.mld_melding_key
|
|
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND std.mld_ins_discipline_key =
|
|
d.ins_discipline_key
|
|
AND d.ins_srtdiscipline_key =
|
|
sd.ins_srtdiscipline_key)),
|
|
NULL)
|
|
)
|
|
projectnummer,
|
|
DECODE (aaxx_get_user,
|
|
'BT', DECODE (coalesce (to_char(o.mld_opdr_datumbegin, 'yyyy'), to_char(c.cnt_contract_looptijd_tot,'yyyy')),
|
|
'2010', DECODE ( substr(prs_kostensoort_upper, instr(prs_kostensoort_upper, ' ')+1),
|
|
'C', '1350822',
|
|
'NC', '1350823',
|
|
'P', '1350823',
|
|
'Onbekend'),
|
|
k.prs_kostensoort_refcode),
|
|
'CE', DECODE (coalesce (to_char(o.mld_opdr_datumbegin, 'yyyy'), to_char(c.cnt_contract_looptijd_tot,'yyyy')),
|
|
'2010', DECODE (substr(k.prs_kostensoort_upper,1,2), 'VA', '1350822' ,
|
|
'GM', '1350822' ,
|
|
'NC', DECODE (ot.mld_typeopdr_omschrijving, 'Projectorder', '1350817',
|
|
'Workorder', '1350823',
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
k.prs_kostensoort_refcode),
|
|
'DSM', DECODE (coalesce (to_char(o.mld_opdr_datumbegin, 'yyyy'), to_char(c.cnt_contract_looptijd_tot,'yyyy')),
|
|
'2010', DECODE (substr(k.prs_kostensoort_upper,1,3), 'ST ', '1350822' ,
|
|
'STB', '1350822' ,
|
|
'AS ', '1350822' ,
|
|
'AE ', DECODE (ot.mld_typeopdr_omschrijving, 'Projectorder', '1350817',
|
|
'Workorder', '1350823',
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
k.prs_kostensoort_refcode),
|
|
'DOW', DECODE (coalesce (to_char(o.mld_opdr_datumbegin, 'yyyy'), to_char(c.cnt_contract_looptijd_tot,'yyyy')),
|
|
'2010', DECODE (substr(k.prs_kostensoort_upper,1,2), 'CO', '1350822' ,
|
|
'NC', DECODE (ot.mld_typeopdr_omschrijving, 'Projectorder', '1350817',
|
|
'Workorder', '1350823',
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
k.prs_kostensoort_refcode),
|
|
'LB', DECODE (coalesce (to_char(o.mld_opdr_datumbegin, 'yyyy'), to_char(c.cnt_contract_looptijd_tot,'yyyy')),
|
|
'2010', DECODE (substr(k.prs_kostensoort_upper,1,2), 'CO', '1350822' ,
|
|
'NC', DECODE (ot.mld_typeopdr_omschrijving, 'Projectorder', '1350817',
|
|
'Workorder', '1350823',
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
k.prs_kostensoort_refcode),
|
|
'NS', DECODE (coalesce (to_char(o.mld_opdr_datumbegin, 'yyyy'), to_char(c.cnt_contract_looptijd_tot,'yyyy')),
|
|
'2009', DECODE (substr(k.prs_kostensoort_upper,1,2), 'PR', '1350819' , '1350818'),
|
|
'2010', DECODE (substr(k.prs_kostensoort_upper,1,2), 'PR', '1350817' ,
|
|
'MW', '1350823' ,
|
|
'1350822'),
|
|
k.prs_kostensoort_refcode),
|
|
k.prs_kostensoort_refcode),
|
|
DECODE (aaxx_get_user,
|
|
'CE', DECODE (coalesce (to_char(o.mld_opdr_datumbegin, 'yyyy'), to_char(c.cnt_contract_looptijd_tot,'yyyy')),
|
|
'2010', DECODE (substr(k.prs_kostensoort_upper,1,2), 'VA', '1033301' ,
|
|
'GM', 'nvt' ,
|
|
'NC', DECODE (ot.mld_typeopdr_omschrijving, 'Projectorder', '1033302',
|
|
'Workorder', '1033304',
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
'2011', DECODE (substr(k.prs_kostensoort_upper,1,2), 'VA', '8210531' ,
|
|
'GM', 'nvt' ,
|
|
'NC', DECODE (ot.mld_typeopdr_omschrijving, 'Projectorder', '8110555',
|
|
'Workorder', '8210532',
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
'DOW', DECODE (coalesce (to_char(o.mld_opdr_datumbegin, 'yyyy'), to_char(c.cnt_contract_looptijd_tot,'yyyy')),
|
|
'2010', DECODE (substr(k.prs_kostensoort_upper,1,2), 'CO', '1033301' ,
|
|
'NC', DECODE (ot.mld_typeopdr_omschrijving, 'Projectorder', '1033302',
|
|
'Workorder', '1033304',
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
'2011', DECODE (substr(k.prs_kostensoort_upper,1,2), 'CO', '8210530' ,
|
|
'NC', DECODE (ot.mld_typeopdr_omschrijving, 'Projectorder', '8110555',
|
|
'Workorder', '8210532',
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
'LB', DECODE (coalesce (to_char(o.mld_opdr_datumbegin, 'yyyy'), to_char(c.cnt_contract_looptijd_tot,'yyyy')),
|
|
'2010', DECODE (substr(k.prs_kostensoort_upper,1,2), 'NC', DECODE (ot.mld_typeopdr_omschrijving, 'Projectorder', '1033302',
|
|
'Workorder', '1033304',
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
'2011', DECODE (substr(k.prs_kostensoort_upper,1,2), 'NC', DECODE (ot.mld_typeopdr_omschrijving, 'Projectorder', '8110555',
|
|
'Workorder', '8210532',
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
'Onbekend'),
|
|
'DSM', DECODE (coalesce (to_char(o.mld_opdr_datumbegin, 'yyyy'), to_char(c.cnt_contract_looptijd_tot,'yyyy')),
|
|
'2010', DECODE (substr(k.prs_kostensoort_upper,1,3), 'ST ', '8110521' ,
|
|
'STB', '8110521' ,
|
|
'AS ', '8110521' ,
|
|
'AE ', '8110542'),
|
|
'2011', '8' || substr(prs_kostensoort_refcode,2,10),
|
|
prs_kostensoort_refcode),
|
|
'Onbekend') vk_prs_kostensoort_refcode,
|
|
k.prs_kostensoort_key,
|
|
COALESCE(o.prs_kostenplaats_key,
|
|
COALESCE(c.prs_kostenplaats_key,
|
|
(SELECT DISTINCT b.prs_kostenplaats_key
|
|
FROM bes_bestelling b,
|
|
bes_bestelopdr_item boi,
|
|
bes_bestelling_item bi
|
|
WHERE bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
|
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
|
AND bi.bes_bestelling_key = b.bes_bestelling_key)
|
|
)
|
|
),
|
|
o.mld_opdr_key,
|
|
c.cnt_contract_key,
|
|
bo.bes_bestelopdr_key,
|
|
fin_factuur_statuses_key,
|
|
lk.prs_kostenplaats_nr lev_kpn
|
|
FROM fin_factuur f,
|
|
fin_factuurregel fr,
|
|
fin_btwtabelwaarde btw,
|
|
mld_opdr o,
|
|
mld_typeopdr ot,
|
|
cnt_contract c,
|
|
bes_bestelopdr bo,
|
|
prs_bedrijf b_o,
|
|
prs_bedrijf b_c,
|
|
prs_bedrijf b_b,
|
|
prs_kostensoort k,
|
|
prs_kostenplaats lk
|
|
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
|
AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
|
|
AND f.mld_opdr_key = o.mld_opdr_key(+)
|
|
AND o.mld_typeopdr_key = ot.mld_typeopdr_key(+)
|
|
AND f.cnt_contract_key = c.cnt_contract_key(+)
|
|
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
|
|
AND bo.prs_bedrijf_key = b_b.prs_bedrijf_key(+)
|
|
AND o.mld_uitvoerende_keys = b_o.prs_bedrijf_key(+)
|
|
AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+)
|
|
AND f.prs_kostensoort_key = k.prs_kostensoort_key(+)
|
|
AND k.prs_kostenplaats_key = lk.prs_kostenplaats_key(+);
|
|
|
|
CREATE OR REPLACE VIEW aaxx_v_export_exact (
|
|
result,
|
|
result_order,
|
|
lev_kpn
|
|
)
|
|
AS
|
|
SELECT REPLACE(REPLACE( regelnummer
|
|
|| ','
|
|
|| dagb_type
|
|
|| ','
|
|
|| dagbknr
|
|
|| ','
|
|
|| periode
|
|
|| ','
|
|
|| bkjcode
|
|
|| ','
|
|
|| bkstnr
|
|
|| ','
|
|
|| oms25
|
|
|| ','
|
|
|| datum
|
|
|| ','
|
|
|| empty9
|
|
|| ','
|
|
|| debnr
|
|
|| ','
|
|
|| crdnr
|
|
|| ','
|
|
|| empty12
|
|
|| ','
|
|
|| bedrag
|
|
|| ','
|
|
|| drbk_in_val
|
|
|| ','
|
|
|| valcode
|
|
|| ','
|
|
|| koers
|
|
|| ','
|
|
|| kredbep
|
|
|| ','
|
|
|| bdrkredbep
|
|
|| ','
|
|
|| vervdatfak
|
|
|| ','
|
|
|| vervdatkrd
|
|
|| ','
|
|
|| empty21
|
|
|| ','
|
|
|| empty22
|
|
|| ','
|
|
|| weeknummer
|
|
|| ','
|
|
|| betaalref
|
|
|| ','
|
|
|| betwijze
|
|
|| ','
|
|
|| grek_bdr
|
|
|| ','
|
|
|| empty27
|
|
|| ','
|
|
|| empty28
|
|
|| ','
|
|
|| empty29
|
|
|| ','
|
|
|| empty30
|
|
|| ','
|
|
|| empty31
|
|
|| ','
|
|
|| transsubtype
|
|
|| ','
|
|
|| empty33
|
|
|| ','
|
|
|| empty34
|
|
|| ','
|
|
|| empty35
|
|
|| ','
|
|
|| empty36
|
|
|| ','
|
|
|| empty37
|
|
|| ','
|
|
|| empty38
|
|
|| ','
|
|
|| projectnr
|
|
|| ','
|
|
|| empty40,CHR (13), ''), CHR (10), '<ret>'),
|
|
(10000000 + bkstnr) * 100 + regelnummer,
|
|
lev_kpn
|
|
FROM (SELECT 0 regelnummer,
|
|
'I' dagb_type,
|
|
'42' dagbknr,
|
|
'' periode,
|
|
'' bkjcode,
|
|
TO_CHAR (fin_factuur_key) bkstnr,
|
|
opdracht_id || ' - ' || replace(substr(fin_factuur_opmerking,1,30),',','') oms25,
|
|
TO_CHAR (fin_factuur_datum, 'ddmmyyyy') datum,
|
|
'' empty9,
|
|
'' debnr,
|
|
(SELECT prs_leverancier_nr
|
|
FROM prs_bedrijf b
|
|
WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key)
|
|
crdnr,
|
|
'' empty12,
|
|
REPLACE (TO_CHAR (bedrag), ',', '.') bedrag,
|
|
'' drbk_in_val,
|
|
'' valcode,
|
|
'' koers,
|
|
'' kredbep,
|
|
'' bdrkredbep,
|
|
'' vervdatfak,
|
|
'' vervdatkrd,
|
|
'' empty21,
|
|
'' empty22,
|
|
'' weeknummer,
|
|
fin_factuur_nr || '/' || fin_factuur_debiteur_nr betaalref,
|
|
'' betwijze,
|
|
'' grek_bdr,
|
|
'' empty27,
|
|
'' empty28,
|
|
'' empty29,
|
|
'' empty30,
|
|
'' empty31,
|
|
'' transsubtype,
|
|
'' empty33,
|
|
'' empty34,
|
|
'' empty35,
|
|
'' empty36,
|
|
'' empty37,
|
|
'' empty38,
|
|
'' projectnr,
|
|
'!' empty40,
|
|
lev_kpn
|
|
FROM (SELECT fin_factuur_key,
|
|
opdracht_id,
|
|
fin_factuur_datum,
|
|
fin_factuur_nr,
|
|
prs_bedrijf_key,
|
|
fin_factuur_debiteur_nr,
|
|
fin_factuur_opmerking,
|
|
SUM (fin_factuurregel_totaal + fin_factuurregel_btw)
|
|
bedrag,
|
|
lev_kpn
|
|
FROM aaxx_v_factuur_gegevens
|
|
WHERE fin_factuur_statuses_key = 6
|
|
GROUP BY fin_factuur_key,
|
|
opdracht_id,
|
|
fin_factuur_datum,
|
|
fin_factuur_nr,
|
|
prs_bedrijf_key,
|
|
fin_factuur_debiteur_nr,
|
|
fin_factuur_opmerking,
|
|
lev_kpn) fg
|
|
UNION ALL
|
|
SELECT fin_factuurregel_nr regelnummer,
|
|
'I' dagb_type,
|
|
'42' dagbknr,
|
|
'' periode,
|
|
'' bkjcode,
|
|
TO_CHAR (fin_factuur_key) boekstuknummer,
|
|
opdracht_id || ' - ' || replace(substr(fin_factuur_opmerking,1,30),',','') oms25,
|
|
TO_CHAR (fin_factuur_datum, 'ddmmyyyy') datum,
|
|
prs_kostensoort_refcode reknr,
|
|
'' debnr,
|
|
(SELECT prs_leverancier_nr
|
|
FROM prs_bedrijf b
|
|
WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key)
|
|
crdnr,
|
|
'' empty12,
|
|
REPLACE (TO_CHAR (fin_factuurregel_totaal), ',', '.') bedrag,
|
|
'' drbk_in_val,
|
|
'' val_code,
|
|
'' koers,
|
|
'' kredbep,
|
|
'' bdrkredbep,
|
|
'' vervdatfak,
|
|
'' vervdatkrd,
|
|
fin_btwtabelwaarde_code btw_code,
|
|
REPLACE (TO_CHAR (fin_factuurregel_btw), ',', '.') btw_bdr,
|
|
'' weeknummer,
|
|
'' empty24,
|
|
'' empty25,
|
|
'' empty26,
|
|
DECODE (aaxx_get_user, 'IT', DECODE (lev_kpn, '2000700', ( DECODE (fg.mld_opdr_key, NULL, 'KP00770015',
|
|
( SELECT COALESCE (alg_onrgoedkenmerk_waarde, alg_gebouw_code)
|
|
FROM mld_opdr o,
|
|
mld_melding m,
|
|
alg_v_onroerendgoed og,
|
|
alg_gebouw g,
|
|
(SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 1021) ken
|
|
WHERE fg.mld_opdr_key = o.mld_opdr_key
|
|
AND o.mld_melding_key = m.mld_melding_key
|
|
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
|
|
AND og.alg_gebouw_key = g.alg_gebouw_key(+)
|
|
AND g.alg_gebouw_key = ken.alg_onrgoed_key(+)
|
|
)
|
|
)
|
|
)
|
|
, ( SELECT DECODE(SUBSTR(PRS_KOSTENPLAATS_NR, 1,1), '2', 'KP999999', PRS_KOSTENPLAATS_NR)
|
|
FROM prs_kostenplaats kp
|
|
WHERE kp.prs_kostenplaats_key = fg.prs_kostenplaats_key))
|
|
, 'CE', '02410001'
|
|
, 'LB', '02610001'
|
|
, 'FPC', '00780164'
|
|
, 'KP999999') kstplcode,
|
|
'KD999999' kstdrcode,
|
|
'' empty29,
|
|
'' empty30,
|
|
'' empty31,
|
|
'' transsubtype,
|
|
'' empty33,
|
|
'' empty34,
|
|
'' emtpy35,
|
|
'' empty36,
|
|
'' empty37,
|
|
'' empty38,
|
|
project_nummer projectnr,
|
|
'!' empty40,
|
|
lev_kpn
|
|
FROM aaxx_v_factuur_gegevens fg
|
|
WHERE fin_factuur_statuses_key = 6
|
|
ORDER BY bkstnr, regelnummer);
|
|
|
|
-- Procedure om alle facturen te exporteren naar exact.
|
|
-- Administratie geeft aan dat de export voor twee of meerdere gescheiden
|
|
-- administraties zal plaatsvinden.
|
|
CREATE OR REPLACE PROCEDURE aaxx_export_exact_adm (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2,
|
|
p_administratie IN VARCHAR2
|
|
)
|
|
AS
|
|
v_errormsg VARCHAR (200);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
BEGIN
|
|
-- Bewaar de factuur keys in een tijdelijke tabel zodat bij het verwerken (nieuwe export)
|
|
-- deze keys gebruikt kunnen worden.
|
|
DELETE AAXX_EXP_FACTUUR WHERE COALESCE(p_administratie, 'GEEN') = COALESCE(administratie,'GEEN');
|
|
|
|
INSERT INTO AAXX_EXP_FACTUUR (fin_factuur_key, administratie)
|
|
( SELECT DISTINCT fin_factuur_key, p_administratie
|
|
FROM aaxx_v_factuur_gegevens
|
|
WHERE fin_factuur_statuses_key = 6
|
|
AND ( p_administratie IS NULL
|
|
OR
|
|
(p_administratie = 'FAC' AND lev_kpn = '2000700')
|
|
OR
|
|
(p_administratie = 'IT' AND COALESCE (lev_kpn, 'GEEN') <> '2000700')
|
|
)
|
|
);
|
|
|
|
END;
|
|
/
|
|
|
|
-- voor de niet AAIT accounts is de administratie niet belangrijk. Zij kunnen deze
|
|
-- procedure blijven aanroepen.
|
|
CREATE OR REPLACE PROCEDURE aaxx_export_exact (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact_adm (p_applname, p_applrun, p_filedir, p_filename, null);
|
|
END;
|
|
/
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - Export exact verwerk
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_verwerk_exact (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT REPLACE(REPLACE(f.fin_factuur_key
|
|
|| ';'
|
|
|| opdracht_id
|
|
|| ';'
|
|
|| fin_factuur_datum
|
|
|| ';'
|
|
|| fin_factuur_nr
|
|
|| ';'
|
|
|| prs_bedrijf_key
|
|
|| ';'
|
|
|| fin_factuurregel_totaal
|
|
|| ';'
|
|
|| fin_factuurregel_btw
|
|
|| ';'
|
|
|| fin_factuurregel_nr
|
|
|| ';'
|
|
|| fin_factuur_debiteur_nr
|
|
|| ';'
|
|
|| project_nummer
|
|
|| ';'
|
|
|| prs_kostensoort_refcode
|
|
|| ';'
|
|
|| mld_opdr_key
|
|
|| ';'
|
|
|| cnt_contract_key
|
|
,CHR (13), ''), CHR (10), '<ret>'), f.fin_factuur_key
|
|
FROM aaxx_exp_factuur f,
|
|
aaxx_v_factuur_gegevens fg
|
|
WHERE f.fin_factuur_key = fg.fin_factuur_key
|
|
AND fg.fin_factuur_statuses_key = 6;
|
|
|
|
|
|
-- Procedure om alle geexporteerde facturen naar status verwerkt te zetten.
|
|
CREATE OR REPLACE PROCEDURE aaxx_export_verwerk_exact_adm (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2,
|
|
p_administratie IN VARCHAR2
|
|
)
|
|
AS
|
|
CURSOR c_fact
|
|
IS
|
|
SELECT f.fin_factuur_key
|
|
FROM aaxx_exp_factuur f
|
|
, aaxx_v_factuur_gegevens fg
|
|
WHERE f.fin_factuur_key = fg.fin_factuur_key
|
|
AND fg.fin_factuur_statuses_key = 6
|
|
AND COALESCE(f.administratie, 'GEEN') = COALESCE(p_administratie,'GEEN');
|
|
|
|
CURSOR c_opdr
|
|
IS
|
|
SELECT fg.mld_opdr_key, mld_statusopdr_key, m.mld_melding_status
|
|
FROM aaxx_exp_factuur f
|
|
, aaxx_v_factuur_gegevens fg
|
|
, mld_opdr o
|
|
, mld_melding m
|
|
WHERE f.fin_factuur_key = fg.fin_factuur_key
|
|
AND fg.mld_opdr_key = o.mld_opdr_key
|
|
AND o.mld_melding_key = m.mld_melding_key
|
|
AND laatste_factuur = 1
|
|
AND fg.fin_factuur_statuses_key = 6
|
|
AND COALESCE(f.administratie, 'GEEN') = COALESCE(p_administratie,'GEEN');
|
|
|
|
CURSOR c_bes
|
|
IS
|
|
SELECT bo.*
|
|
FROM aaxx_exp_factuur f
|
|
, aaxx_v_factuur_gegevens fg
|
|
, bes_bestelopdr bo
|
|
WHERE f.fin_factuur_key = fg.fin_factuur_key
|
|
AND fg.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
|
AND laatste_factuur = 1
|
|
AND fg.fin_factuur_statuses_key = 6
|
|
AND COALESCE(f.administratie, 'GEEN') = COALESCE(p_administratie,'GEEN');
|
|
|
|
v_errormsg VARCHAR (200);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanvrager NUMBER;
|
|
v_bestelling_key NUMBER;
|
|
v_logdate DATE;
|
|
BEGIN
|
|
v_errormsg := 'Geen akties';
|
|
|
|
-- Facilitor user
|
|
IF aaxx_get_user = 'DSM' THEN v_aanvrager := 6524; END IF;
|
|
IF aaxx_get_user = 'NS' THEN v_aanvrager := 4; END IF;
|
|
IF aaxx_get_user = 'ENEXIS' THEN v_aanvrager := 4; END IF;
|
|
IF aaxx_get_user = 'IT' THEN v_aanvrager := 4; END IF;
|
|
|
|
v_logdate := SYSDATE;
|
|
-- voeg SA en ST opdrachten toe aan de verkoopbuffer
|
|
-- BTW tarief in verkoopbuffer is altijd 19 procent (AADS#18338)
|
|
INSERT INTO aaxx_verkoopbuffer
|
|
(
|
|
module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_kostensoortgrp_oms, omschrijving, bedrag, btw, fin_btwtabelwaarde_code, opdr_jaar, exact_code_gebouw
|
|
)
|
|
SELECT 'MLD',
|
|
v_logdate,
|
|
DECODE (aaxx_get_user, 'DOW', aaxx_get_dep_code(k.prs_kostenplaats_nr),
|
|
'DSM', aaxx_get_dep_code(k.prs_kostenplaats_nr),
|
|
'CE', aaxx_get_dep_code(k.prs_kostenplaats_nr),
|
|
'LB', aaxx_get_dep_code(k.prs_kostenplaats_nr),
|
|
SUBSTR (prs_kostenplaats_nr, 1, 30)),
|
|
DECODE (aaxx_get_user, 'DOW', aaxx_get_dep_oms(k.prs_kostenplaats_nr),
|
|
'DSM', aaxx_get_dep_oms(k.prs_kostenplaats_nr),
|
|
'CE', aaxx_get_dep_oms(k.prs_kostenplaats_nr),
|
|
'LB', aaxx_get_dep_oms(k.prs_kostenplaats_nr),
|
|
SUBSTR(prs_kostenplaats_nr, 1, 30)),
|
|
ks.prs_kostensoort_oms || DECODE(TO_CHAR(opdr_datum,'YYYY'), TO_CHAR(TO_NUMBER(TO_CHAR(SYSDATE, 'yyyy'))-1), ' VJ','') ,
|
|
ks.prs_kostensoort_opmerking,
|
|
vk_prs_kostensoort_refcode,
|
|
(SELECT prs_kostensoortgrp_oms FROM prs_kostensoortgrp ksg WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key),
|
|
sd.ins_srtdiscipline_prefix
|
|
|| m.mld_melding_key
|
|
|| '/'
|
|
|| mld_opdr_bedrijfopdr_volgnr
|
|
|| ' '
|
|
|| d.ins_discipline_omschrijving
|
|
|| ' ('
|
|
|| (SELECT MAX(mld_kenmerkmelding_waarde)
|
|
FROM mld_kenmerkmelding km, mld_kenmerk k
|
|
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 143 -- opdrachtnummer
|
|
AND km.mld_melding_key = m.mld_melding_key)
|
|
|| ')'
|
|
omschrijving,
|
|
ROUND (fg.bedrag
|
|
* COALESCE ( (SELECT u.uplift
|
|
FROM aaxx_imp_uplift u
|
|
WHERE u.prs_leverancier_nr = b.prs_leverancier_nr
|
|
AND UPPER(soort_order) = 'WO'
|
|
AND UPPER (u.prs_kostensoort_oms) =
|
|
ks.prs_kostensoort_upper
|
|
AND fg.fin_factuur_boekmaand =
|
|
u.jaar
|
|
|| '-'
|
|
|| LTRIM (TO_CHAR (u.maand, '00'))),
|
|
DECODE (aaxx_get_user, 'DSM', 1, 'NS', 1.065, 'CE', 1, 'DOW', 1, 'LB', 1)
|
|
),
|
|
2
|
|
),
|
|
0 btw, -- deprecated
|
|
fin_btwtabelwaarde_code,
|
|
to_char(opdr_datum, 'YYYY'),
|
|
COALESCE(exact_code, alg_gebouw_code)
|
|
FROM mld_opdr o,
|
|
mld_typeopdr ot,
|
|
prs_bedrijf b,
|
|
prs_kostenplaats k,
|
|
mld_melding m,
|
|
mld_stdmelding std,
|
|
ins_tab_discipline d,
|
|
ins_srtdiscipline sd,
|
|
prs_kostensoort ks,
|
|
aaxx_exp_factuur f,
|
|
alg_gebouw g,
|
|
alg_v_onroerendgoed og,
|
|
(SELECT alg_onrgoed_key alg_gebouw_key,
|
|
alg_onrgoedkenmerk_waarde exact_code
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_onrgoed_niveau = 'G' AND alg_kenmerk_key = 1009) exact,
|
|
(SELECT fin_factuur_key,
|
|
mld_opdr_key,
|
|
SUM (fin_factuurregel_totaal) bedrag,
|
|
19 btw,
|
|
4 fin_btwtabelwaarde_code,
|
|
prs_kostenplaats_key,
|
|
prs_kostensoort_key,
|
|
vk_prs_kostensoort_refcode,
|
|
fin_factuur_boekmaand,
|
|
opdr_datum,
|
|
fin_factuur_datum
|
|
FROM aaxx_v_factuur_gegevens
|
|
WHERE fin_factuur_statuses_key = 6
|
|
GROUP BY fin_factuur_key,
|
|
mld_opdr_key,
|
|
prs_kostenplaats_key,
|
|
prs_kostensoort_key,
|
|
fin_factuur_boekmaand,
|
|
opdr_datum,
|
|
fin_factuur_datum,
|
|
fin_factuurregel_btw,
|
|
fin_btwtabelwaarde_code,
|
|
vk_prs_kostensoort_refcode,
|
|
fin_factuurregel_totaal) fg
|
|
WHERE fg.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
|
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
|
AND fg.mld_opdr_key = o.mld_opdr_key
|
|
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
|
|
AND og.alg_gebouw_key = g.alg_gebouw_key(+)
|
|
AND og.alg_gebouw_key = exact.alg_gebouw_key(+)
|
|
AND fg.fin_factuur_key = f.fin_factuur_key
|
|
AND o.mld_melding_key = m.mld_melding_key
|
|
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
|
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
|
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
|
AND (sd.ins_srtdiscipline_prefix = 'SA'
|
|
OR (ks.prs_kostensoort_upper LIKE 'ST ONDH%' -- DSM
|
|
AND ot.mld_typeopdr_omschrijving = 'Workorder')
|
|
OR (ks.prs_kostensoort_upper LIKE 'VAR%' -- CE
|
|
AND ot.mld_typeopdr_omschrijving = 'Workorder'))
|
|
AND fg.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
|
AND COALESCE(f.administratie, 'GEEN') = COALESCE(p_administratie,'GEEN');
|
|
|
|
-- voeg contract orders toe aan de verkoopbuffer
|
|
INSERT INTO aaxx_verkoopbuffer
|
|
(
|
|
module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_kostensoortgrp_oms, omschrijving, bedrag, btw, fin_btwtabelwaarde_code, opdr_jaar, exact_code_gebouw
|
|
)
|
|
SELECT 'CNT',
|
|
v_logdate,
|
|
DECODE (aaxx_get_user,
|
|
'LB',
|
|
aaxx_get_dep_code (k.prs_kostenplaats_nr),
|
|
'DOW',
|
|
aaxx_get_dep_code (k.prs_kostenplaats_nr),
|
|
'DSM',
|
|
aaxx_get_dep_code (k.prs_kostenplaats_nr),
|
|
'CE',
|
|
aaxx_get_dep_code (k.prs_kostenplaats_nr),
|
|
'NS',
|
|
SUBSTR (prs_kostenplaats_nr, 1, 30)
|
|
),
|
|
DECODE (aaxx_get_user,
|
|
'LB',
|
|
aaxx_get_dep_oms (k.prs_kostenplaats_nr),
|
|
'DOW',
|
|
aaxx_get_dep_oms (k.prs_kostenplaats_nr),
|
|
'DSM',
|
|
aaxx_get_dep_oms (k.prs_kostenplaats_nr),
|
|
'CE',
|
|
aaxx_get_dep_oms (k.prs_kostenplaats_nr),
|
|
'NS',
|
|
SUBSTR (prs_kostenplaats_nr, 1, 30)
|
|
),
|
|
ks.prs_kostensoort_oms || DECODE(TO_CHAR(opdr_datum,'YYYY'), TO_CHAR(TO_NUMBER(TO_CHAR(SYSDATE, 'yyyy'))-1), ' VJ','') ,
|
|
ks.prs_kostensoort_opmerking,
|
|
vk_prs_kostensoort_refcode,
|
|
(SELECT prs_kostensoortgrp_oms
|
|
FROM prs_kostensoortgrp ksg
|
|
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key),
|
|
'C'
|
|
|| cnt_contract_nummer_intern
|
|
|| DECODE (cnt_contract_versie, NULL, '', '.' || cnt_contract_versie)
|
|
omschrijving,
|
|
DECODE (aaxx_get_user,
|
|
'LB', fg.bedrag,
|
|
'DOW', fg.bedrag,
|
|
'DSM', COALESCE((SELECT ROUND (fg.bedrag * u.uplift, 2)
|
|
FROM aaxx_imp_uplift u
|
|
WHERE u.prs_leverancier_nr = b.prs_leverancier_nr
|
|
AND UPPER (soort_order) = 'CO'
|
|
AND UPPER (u.prs_kostensoort_oms) = ks.prs_kostensoort_upper
|
|
AND fg.fin_factuur_boekmaand =
|
|
TO_CHAR (u.jaar) || '-' || LTRIM (TO_CHAR (u.maand, '00'))), fg.bedrag),
|
|
'CE', fg.bedrag,
|
|
'NS', ROUND (fg.bedrag * 1.065,2)),
|
|
0 btw, -- deprecated
|
|
fin_btwtabelwaarde_code,
|
|
to_char(opdr_datum, 'YYYY'),
|
|
(SELECT MIN (alg_gebouw_code)
|
|
FROM cnt_contract_plaats cp, alg_gebouw g
|
|
WHERE cp.cnt_contract_plaats_verwijder IS NULL
|
|
AND cp.cnt_contract_key = c.cnt_contract_key
|
|
AND cp.cnt_alg_plaats_code = 'G'
|
|
AND cp.cnt_alg_plaats_key = g.alg_gebouw_key)
|
|
FROM cnt_contract c,
|
|
prs_bedrijf b,
|
|
prs_kostenplaats k,
|
|
ins_tab_discipline d,
|
|
prs_kostensoort ks,
|
|
aaxx_exp_factuur f,
|
|
(SELECT fin_factuur_key,
|
|
cnt_contract_key,
|
|
SUM (fin_factuurregel_totaal) bedrag,
|
|
fin_factuurregel_btw btw,
|
|
fin_btwtabelwaarde_code,
|
|
prs_kostenplaats_key,
|
|
prs_kostensoort_key,
|
|
vk_prs_kostensoort_refcode,
|
|
fin_factuur_boekmaand,
|
|
opdr_datum,
|
|
fin_factuur_datum
|
|
FROM aaxx_v_factuur_gegevens
|
|
WHERE fin_factuur_statuses_key = 6
|
|
GROUP BY fin_factuur_key,
|
|
cnt_contract_key,
|
|
prs_kostenplaats_key,
|
|
prs_kostensoort_key,
|
|
fin_factuur_boekmaand,
|
|
opdr_datum,
|
|
fin_factuur_datum,
|
|
fin_factuurregel_btw,
|
|
fin_btwtabelwaarde_code,
|
|
vk_prs_kostensoort_refcode,
|
|
fin_factuurregel_totaal) fg
|
|
WHERE fg.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND fg.cnt_contract_key = c.cnt_contract_key
|
|
AND fg.fin_factuur_key = f.fin_factuur_key
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND c.ins_discipline_key = d.ins_discipline_key
|
|
AND fg.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
|
AND ( ( aaxx_get_user = 'DSM' AND (ks.prs_kostensoort_upper LIKE 'AE%'
|
|
OR ks.prs_kostensoort_upper LIKE 'AS ONDH%'
|
|
OR ks.prs_kostensoort_upper LIKE 'ST ONDH%')
|
|
)
|
|
OR
|
|
( aaxx_get_user = 'CE' AND (ks.prs_kostensoort_upper LIKE 'VAR%')
|
|
)
|
|
OR
|
|
( aaxx_get_user = 'DOW'
|
|
)
|
|
)
|
|
AND COALESCE(f.administratie, 'GEEN') = COALESCE(p_administratie,'GEEN');
|
|
|
|
IF aaxx_get_user = 'CE' THEN
|
|
INSERT INTO aaxx_verkoopbuffer
|
|
(
|
|
module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_kostensoortgrp_oms, omschrijving, bedrag, btw, fin_btwtabelwaarde_code, opdr_jaar, exact_code_gebouw
|
|
)
|
|
SELECT module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, 'BASE FEE' || DECODE (instr(prs_kostensoort_oms, ' VJ'), 0 , '', ' VJ'), prs_kostensoort_opmerking, decode(substr(prs_kostensoort_refcode, 1,1), '8', '8210511', '1033305'), prs_kostensoortgrp_oms, 'BASE FEE 2%', round(bedrag*0.02,2), btw, fin_btwtabelwaarde_code, opdr_jaar, 'X'
|
|
FROM aaxx_verkoopbuffer
|
|
WHERE export_datum = v_logdate
|
|
UNION ALL
|
|
SELECT module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, 'BASE FEE' || DECODE (instr(prs_kostensoort_oms, ' VJ'), 0 , '', ' VJ'), prs_kostensoort_opmerking, decode(substr(prs_kostensoort_refcode, 1,1), '8', '8210511', '1033305'), prs_kostensoortgrp_oms, 'BASE FEE 4.75%', round(bedrag*0.0475,2), btw, fin_btwtabelwaarde_code, opdr_jaar, 'X'
|
|
FROM aaxx_verkoopbuffer
|
|
WHERE export_datum = v_logdate;
|
|
END IF;
|
|
|
|
IF aaxx_get_user = 'DOW' THEN
|
|
INSERT INTO aaxx_verkoopbuffer
|
|
(
|
|
module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_kostensoortgrp_oms, omschrijving, bedrag, btw, fin_btwtabelwaarde_code, opdr_jaar, exact_code_gebouw
|
|
)
|
|
SELECT module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, 'BASE FEE' || DECODE (instr(prs_kostensoort_oms, ' VJ'), 0 , '', ' VJ'), prs_kostensoort_opmerking, decode(substr(prs_kostensoort_refcode, 1,1), '8', '8210511', '1033305'), prs_kostensoortgrp_oms, 'BASE FEE 3%', round(bedrag*0.03,2), btw, fin_btwtabelwaarde_code, opdr_jaar, 'X'
|
|
FROM aaxx_verkoopbuffer
|
|
WHERE export_datum = v_logdate
|
|
UNION ALL
|
|
SELECT module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, 'BASE FEE' || DECODE (instr(prs_kostensoort_oms, ' VJ'), 0 , '', ' VJ'), prs_kostensoort_opmerking, decode(substr(prs_kostensoort_refcode, 1,1), '8', '8210511', '1033305'), prs_kostensoortgrp_oms, 'BASE FEE 0.5%', round(bedrag*0.005,2), btw, fin_btwtabelwaarde_code, opdr_jaar, 'X'
|
|
FROM aaxx_verkoopbuffer
|
|
WHERE export_datum = v_logdate;
|
|
END IF;
|
|
|
|
IF aaxx_get_user = 'LB' THEN
|
|
INSERT INTO aaxx_verkoopbuffer
|
|
(
|
|
module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_kostensoortgrp_oms, omschrijving, bedrag, btw, fin_btwtabelwaarde_code, opdr_jaar, exact_code_gebouw
|
|
)
|
|
SELECT module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, 'BASE FEE' || DECODE (instr(prs_kostensoort_oms, ' VJ'), 0 , '', ' VJ'), prs_kostensoort_opmerking, decode(substr(prs_kostensoort_refcode, 1,1), '8', '8210511', '1033305'), prs_kostensoortgrp_oms, 'BASE FEE 2%', round(bedrag*0.02,2), btw, fin_btwtabelwaarde_code, opdr_jaar, 'X'
|
|
FROM aaxx_verkoopbuffer
|
|
WHERE export_datum = v_logdate
|
|
UNION ALL
|
|
SELECT module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, 'BASE FEE' || DECODE (instr(prs_kostensoort_oms, ' VJ'), 0 , '', ' VJ'), prs_kostensoort_opmerking, decode(substr(prs_kostensoort_refcode, 1,1), '8', '8210511', '1033305'), prs_kostensoortgrp_oms, 'BASE FEE 5,5%', round(bedrag*0.0055,2), btw, fin_btwtabelwaarde_code, opdr_jaar, 'X'
|
|
FROM aaxx_verkoopbuffer
|
|
WHERE export_datum = v_logdate;
|
|
END IF;
|
|
|
|
FOR rec1 IN c_bes
|
|
LOOP
|
|
BEGIN
|
|
-- indien nog niet afgemeld, dan maar even afmelden.
|
|
IF rec1.bes_bestelopdr_status = 3 THEN -- in behandeling
|
|
UPDATE bes_bestelopdr
|
|
SET bes_bestelopdr_status = 4
|
|
WHERE bes_bestelopdr_key= rec1.bes_bestelopdr_key
|
|
AND bes_bestelopdr_status = 3;
|
|
END IF;
|
|
|
|
IF rec1.bes_bestelopdr_status = 5 -- bevestigd
|
|
OR rec1.bes_bestelopdr_status = 4 -- in bestelling
|
|
OR rec1.bes_bestelopdr_status = 3 THEN
|
|
|
|
UPDATE bes_bestelopdr_item B
|
|
SET bes_bestelopdr_item_aantalontv = COALESCE(bes_bestelopdr_item_aantal, 0),
|
|
bes_bestelopdr_item_ontvangen = SYSDATE
|
|
WHERE b.bes_bestelopdr_key = rec1.bes_bestelopdr_key;
|
|
|
|
UPDATE bes_bestelling_item bi
|
|
SET bes_bestelling_item_aantalontv = COALESCE(bes_bestelling_item_aantal, 0)
|
|
WHERE EXISTS (SELECT bes_bestelopdr_key
|
|
FROM bes_bestelopdr_item boi
|
|
WHERE bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
|
AND bes_bestelopdr_key = rec1.bes_bestelopdr_key);
|
|
|
|
SELECT distinct bes_bestelling_key
|
|
INTO v_bestelling_key
|
|
FROM bes_bestelling_item bi, bes_bestelopdr_item boi
|
|
WHERE bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
|
AND bes_bestelopdr_key = rec1.bes_bestelopdr_key;
|
|
|
|
bes.updatebestelopdrstatus(rec1.bes_bestelopdr_key, v_aanvrager);
|
|
bes.updatebestellingstatus(v_bestelling_key, v_aanvrager);
|
|
|
|
END IF;
|
|
END;
|
|
END LOOP;
|
|
|
|
|
|
FOR rec1 IN c_opdr
|
|
LOOP
|
|
BEGIN
|
|
-- indien nog niet afgemeld, dan maar even afmelden.
|
|
IF rec1.mld_statusopdr_key <> 6 AND rec1.mld_statusopdr_key <> 7 AND rec1.mld_statusopdr_key <> 9 THEN
|
|
mld.setopdrachtstatus (rec1.mld_opdr_key, 6, v_aanvrager);
|
|
mld.setopdrachtstatus (rec1.mld_opdr_key, 9, v_aanvrager);
|
|
END IF;
|
|
|
|
UPDATE mld_opdr o
|
|
SET mld_opdr_kosten =
|
|
(SELECT SUM (fin_factuurregel_totaal)
|
|
FROM fin_factuur f
|
|
, fin_factuurregel fr
|
|
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
|
AND f.mld_opdr_key = o.mld_opdr_key
|
|
AND f.fin_factuur_statuses_key >= 6)
|
|
WHERE o.mld_opdr_key = rec1.mld_opdr_key
|
|
AND rec1.mld_melding_status IN (4, 5, 7); -- anders faalt de trigger sowieso
|
|
|
|
-- zet de status naar afgemeld (user is facilitor)
|
|
mld.setopdrachtstatus (rec1.mld_opdr_key, 7, v_aanvrager);
|
|
END;
|
|
END LOOP;
|
|
|
|
FOR rec1 IN c_fact
|
|
LOOP
|
|
BEGIN
|
|
UPDATE fin_factuur f
|
|
SET fin_factuur_statuses_key = 7
|
|
WHERE f.fin_factuur_key = rec1.fin_factuur_key;
|
|
|
|
fac.trackaction ('FINVER', rec1.fin_factuur_key, v_aanvrager, NULL, NULL);
|
|
END;
|
|
END LOOP;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aaxx_export_verwerk_exact (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_verwerk_exact_adm (p_applname, p_applrun, p_filedir, p_filename, null);
|
|
END;
|
|
/
|
|
|
|
|
|
--=============================================================================
|
|
-- EXPORTFUNCTIES VERKOOPFACTUREN
|
|
-------------------------------------------------------------------------------
|
|
-- btw code is 19 procent als percentage is 19 of 0;
|
|
CREATE OR REPLACE VIEW aaxx_v_export_exact_verkoop_t (
|
|
result,
|
|
opdr_jaar,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '0' || ',' || '3' || ',' || prs_kostenplaats_nr
|
|
|| ','
|
|
|| replace(prs_kostensoortgrp_oms, ',', '')
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| TO_CHAR (SYSDATE, 'ddmmyyyy')
|
|
|| ','
|
|
|| '1'
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| DECODE(aaxx_get_user, 'LB', '02610001', 'DOW', '02510001', 'DSM', '02210001', 'CE', '02410001', 'NS',exact_code_gebouw)
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| 'EUR'
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| DECODE(aaxx_get_user, 'LB', '60', 'DOW', '60', 'DSM', 'E9', 'NS','E6', 'CE', '45')
|
|
|| ','
|
|
|| '1'
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| TO_CHAR (0)
|
|
|| ','
|
|
|| TO_CHAR (0)
|
|
|| ','
|
|
|| TO_CHAR (0)
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| 'V'
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| 'N'
|
|
|| ','
|
|
|| prs_kostenplaats_nr
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| '',
|
|
opdr_jaar,
|
|
replace(prs_kostensoortgrp_oms, ',', '') || prs_kostenplaats_nr || '0'
|
|
FROM aaxx_verkoopbuffer
|
|
WHERE naar_exact IS NULL
|
|
GROUP BY replace(prs_kostensoortgrp_oms, ',', ''), prs_kostenplaats_nr, DECODE(aaxx_get_user, 'LB', '02610001', 'DOW', '02510001', 'DSM', '02210001','CE', '02410001', 'NS',exact_code_gebouw), opdr_jaar
|
|
UNION ALL
|
|
SELECT '1'
|
|
|| ','
|
|
|| '3'
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| '1'
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ' '
|
|
|| prs_kostensoort_oms
|
|
|| ','
|
|
|| 'V'
|
|
|| ','
|
|
|| replace(omschrijving, ',', '')
|
|
|| ','
|
|
|| '1'
|
|
|| ','
|
|
|| fin_btwtabelwaarde_code
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| '0'
|
|
|| ','
|
|
|| REPLACE (TO_CHAR (sum(bedrag)), ',', '.')
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| DECODE (aaxx_get_user, 'DSM', substr(prs_kostensoort_oms, 1, instr(prs_kostensoort_oms, ' ')-1)||prs_kostenplaats_nr,
|
|
'CE', DECODE (omschrijving, 'BASE FEE 2%', '999999', prs_kostenplaats_nr),
|
|
'DOW', DECODE (omschrijving, 'BASE FEE 3%', '999999', prs_kostenplaats_nr),
|
|
'LB', DECODE (omschrijving, 'BASE FEE 2%', '999999', prs_kostenplaats_nr),
|
|
prs_kostenplaats_nr)
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| prs_kostensoort_refcode
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| ''
|
|
|| ','
|
|
|| exact_code_gebouw
|
|
|| ','
|
|
|| '',
|
|
opdr_jaar,
|
|
replace(prs_kostensoortgrp_oms, ',', '') || prs_kostenplaats_nr|| '1' || replace(omschrijving, ',', '')
|
|
FROM aaxx_verkoopbuffer
|
|
WHERE naar_exact IS NULL
|
|
GROUP BY replace(prs_kostensoortgrp_oms, ',', ''), omschrijving, replace(omschrijving, ',', ''), prs_kostenplaats_nr, exact_code_gebouw, prs_kostensoort_oms, fin_btwtabelwaarde_code, prs_kostensoort_refcode, opdr_jaar;
|
|
|
|
CREATE OR REPLACE VIEW aaxx_v_export_exact_verkoop (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT result,
|
|
result_order
|
|
FROM aaxx_exp_exact_verkoop;
|
|
|
|
-- Voordat de verkoopfacturen naar Exact geexporteerd wordt moet de volgorde van de subregels gecorrigeerd worden
|
|
CREATE OR REPLACE PROCEDURE aaxx_select_exact_verkoop (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_opdr_jaar IN VARCHAR2
|
|
)
|
|
AS
|
|
CURSOR c1 IS
|
|
SELECT result, result_order
|
|
FROM aaxx_v_export_exact_verkoop_t
|
|
WHERE opdr_jaar = p_opdr_jaar
|
|
ORDER BY result_order;
|
|
v_first NUMBER;
|
|
v_count NUMBER;
|
|
BEGIN
|
|
v_count := 0;
|
|
DELETE aaxx_exp_exact_verkoop;
|
|
FOR rec IN c1
|
|
LOOP
|
|
BEGIN
|
|
v_first := substr(rec.result, 1,1);
|
|
IF v_first = 0 THEN
|
|
v_count := 0;
|
|
ELSE
|
|
v_count := v_count + 1;
|
|
END IF;
|
|
|
|
INSERT INTO aaxx_exp_exact_verkoop (
|
|
result,
|
|
result_order)
|
|
VALUES (
|
|
v_count || substr (rec.result, 2),
|
|
rec.result_order||v_count);
|
|
END;
|
|
END LOOP;
|
|
END;
|
|
/
|
|
|
|
-- Na dat de verkoopfacturen naar Exact geexporteerd zijn wordt de timestamp gezet.
|
|
CREATE OR REPLACE PROCEDURE aaxx_export_exact_verkoop (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2,
|
|
p_opdr_jaar IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
UPDATE aaxx_verkoopbuffer
|
|
SET naar_exact = sysdate
|
|
WHERE naar_exact IS NULL
|
|
AND opdr_jaar = p_opdr_jaar;
|
|
|
|
INSERT INTO imp_schedule (imp_schedule_name) VALUES ('EXACT_VERKOOP_VJ');
|
|
END;
|
|
/
|
|
|
|
|
|
--=============================================================================
|
|
-- EXPORTFUNCTIES BUNDEL_CATERING
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_bundel_catering (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT REPLACE(REPLACE('RES'
|
|
|| ';'
|
|
|| SYSDATE
|
|
|| ';'
|
|
|| SUBSTR (prs_kostenplaats_nr, 1, 30)
|
|
|| ';'
|
|
|| SUBSTR (prs_kostenplaats_omschrijving, 1, 60)
|
|
|| ';'
|
|
|| SUBSTR (prs_kostensoort_oms, 1, 60)
|
|
|| ';'
|
|
|| rra.res_rsv_artikel_aantal || ' * ' || ra.res_artikel_omschrijving
|
|
|| ';'
|
|
|| to_char(rra.res_rsv_artikel_prijs)
|
|
|| ';'
|
|
|| to_char(ra.res_artikel_inkoopprijs)
|
|
|| ';'
|
|
|| rra.res_rsv_artikel_key
|
|
,CHR (13), ''), CHR (10), '<ret>'), res_rsv_artikel_key
|
|
FROM res_rsv_ruimte rrr,
|
|
res_rsv_artikel rra,
|
|
res_artikel ra,
|
|
ins_tab_discipline d,
|
|
prs_kostensoort ks,
|
|
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 = 5
|
|
AND rra.res_artikel_key = ra.res_artikel_key
|
|
AND ra.res_discipline_key = d.ins_discipline_key
|
|
AND d.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
|
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND NVL (rra.res_rsv_artikel_levering,
|
|
TO_DATE ('20070101', 'yyyymmdd')
|
|
) <
|
|
TO_DATE ( TO_CHAR (SYSDATE, 'yyyy')
|
|
|| TO_CHAR (SYSDATE, 'mm')
|
|
|| '01',
|
|
'yyyymmdd'
|
|
);
|
|
|
|
-- Procedure om alle geexporteerde facturen naar status verwerkt te zetten.
|
|
CREATE OR REPLACE PROCEDURE aaxx_export_bundel_catering (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
v_errormsg VARCHAR (200);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_laatste_export DATE;
|
|
v_mld_melding_key NUMBER;
|
|
v_prs_bedrijf_key NUMBER;
|
|
v_prs_kostenplaats_key NUMBER;
|
|
v_mld_opdr_bedrijfopdr_volgnr NUMBER;
|
|
v_aanvrager NUMBER;
|
|
v_mld_workorder_key NUMBER;
|
|
BEGIN
|
|
|
|
IF aaxx_get_user = 'DSM' THEN
|
|
-- DSM: Sodexo BV
|
|
v_prs_bedrijf_key := 10442;
|
|
-- DSM: Servicedesk AA
|
|
v_aanvrager := 6524;
|
|
-- DSM: Arcadis Aqumen
|
|
v_prs_kostenplaats_key := 209;
|
|
-- key van opdrachttype workorder
|
|
v_mld_workorder_key := 167;
|
|
END IF;
|
|
|
|
IF aaxx_get_user = 'NS' THEN
|
|
-- NS: Eurest catering
|
|
v_prs_bedrijf_key := 1581;
|
|
-- NS: xxx
|
|
v_aanvrager := 4;
|
|
-- NS: xxx
|
|
v_prs_kostenplaats_key := 0;
|
|
-- key van opdrachttype workorder
|
|
v_mld_workorder_key := 121;
|
|
END IF;
|
|
|
|
v_errormsg := 'Controle exportdatum';
|
|
SELECT max(export_datum)
|
|
INTO v_laatste_export
|
|
FROM aaxx_verkoopbuffer
|
|
WHERE module = 'RES';
|
|
|
|
IF v_laatste_export IS NOT NULL AND v_laatste_export >
|
|
TO_DATE ( TO_CHAR (SYSDATE, 'yyyy')
|
|
|| TO_CHAR (SYSDATE, 'mm')
|
|
|| '01',
|
|
'yyyymmdd') THEN
|
|
-- foutmelding bundeling voor deze maand heeft al plaatsgevonden op v_laatste_export
|
|
fac.imp_writelog (p_applname, p_applrun,'E', 'bundeling voor deze maand heeft al plaatsgevonden op: ' || v_laatste_export, '');
|
|
RETURN;
|
|
END IF;
|
|
|
|
v_errormsg := 'Aanmaken catering melding';
|
|
BEGIN
|
|
INSERT INTO mld_melding
|
|
(
|
|
mld_melding_omschrijving,
|
|
mld_kosten_klant,
|
|
prs_perslid_key,
|
|
prs_kostenplaats_key,
|
|
mld_stdmelding_key,
|
|
mld_alg_locatie_key,
|
|
mld_melding_einddatum,
|
|
mld_melding_datum,
|
|
mld_melding_uitvoertijd,
|
|
mld_meldbron_key,
|
|
mld_melding_module,
|
|
mld_melding_spoed
|
|
)
|
|
VALUES (
|
|
'Hospitality maand:' || TO_CHAR (TO_DATE ( '01'
|
|
|| TO_CHAR (SYSDATE, 'mm')
|
|
|| TO_CHAR (SYSDATE, 'yyyy'),
|
|
'ddmmyyyy'
|
|
)
|
|
- 1,
|
|
'Mon'
|
|
),
|
|
1,
|
|
v_aanvrager,
|
|
v_prs_kostenplaats_key,
|
|
DECODE (aaxx_get_user, 'DSM', 603, 'NS', 641),
|
|
DECODE (aaxx_get_user, 'DSM', 1, 'NS', 0), -- alg_locatie
|
|
sysdate + 14,
|
|
sysdate,
|
|
2,
|
|
5,
|
|
'MLD',
|
|
3
|
|
) RETURNING mld_melding_key INTO v_mld_melding_key;
|
|
|
|
BEGIN mld.setmeldingstatus(v_mld_melding_key, 2, v_aanvrager); END;
|
|
BEGIN mld.setmeldingstatus(v_mld_melding_key, 4, v_aanvrager); END;
|
|
UPDATE mld_melding SET mld_melding_behandelaar_key= v_aanvrager WHERE mld_melding_key = v_mld_melding_key ;
|
|
END;
|
|
|
|
v_errormsg := 'Voeg catering to aan verkoopbuffer';
|
|
-- rra.res_status_bo_key = 5 is afgemeld
|
|
INSERT INTO aaxx_verkoopbuffer
|
|
(
|
|
module, export_datum, prs_kostenplaats_nr, prs_kostenplaats_omschrijving, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoort_refcode, prs_kostensoortgrp_oms, omschrijving, bedrag, btw, fin_btwtabelwaarde_code, opdr_jaar, exact_code_gebouw
|
|
)
|
|
SELECT 'RES',
|
|
SYSDATE,
|
|
DECODE (aaxx_get_user, 'DSM', aaxx_get_dep_code(k.prs_kostenplaats_nr), 'NS', SUBSTR (prs_kostenplaats_nr, 1, 30)),
|
|
DECODE (aaxx_get_user, 'DSM', aaxx_get_dep_oms(k.prs_kostenplaats_nr),'NS', SUBSTR(prs_kostenplaats_nr, 1, 30)),
|
|
SUBSTR (prs_kostensoort_oms, 1, 60),
|
|
SUBSTR (prs_kostensoort_opmerking, 1, 255),
|
|
SUBSTR (prs_kostensoort_refcode, 1, 255),
|
|
(SELECT SUBSTR(prs_kostensoortgrp_oms,1,60) FROM prs_kostensoortgrp ksg WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key),
|
|
SUBSTR ('Hospitality' || ' '
|
|
|| TO_CHAR (TO_DATE ( '01'
|
|
|| TO_CHAR (SYSDATE, 'mm')
|
|
|| TO_CHAR (SYSDATE, 'yyyy'),
|
|
'ddmmyyyy'
|
|
)
|
|
- 1,
|
|
'Mon'
|
|
),
|
|
1,
|
|
100
|
|
),
|
|
SUM (rra.res_rsv_artikel_prijs),
|
|
0, -- deprecated
|
|
DECODE (res_artikel_btw, 19, '4', 6, '2', 0, '4', '-1'),
|
|
to_char(add_months(sysdate, -1),'yyyy'),
|
|
COALESCE(exact_code, alg_gebouw_code)
|
|
FROM res_rsv_ruimte rrr,
|
|
res_rsv_artikel rra,
|
|
alg_ruimte r,
|
|
alg_verdieping v,
|
|
alg_gebouw g,
|
|
res_artikel ra,
|
|
ins_tab_discipline d,
|
|
prs_kostensoort ks,
|
|
prs_kostenplaats k,
|
|
(SELECT alg_onrgoed_key alg_gebouw_key,
|
|
alg_onrgoedkenmerk_waarde exact_code
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_onrgoed_niveau = 'G' AND alg_kenmerk_key = 1009) exact,
|
|
(SELECT COALESCE (MAX (ir2a.alg_ruimte_key), irrr.alg_ruimte_key)
|
|
alg_ruimte_key,
|
|
irrr.res_rsv_ruimte_key
|
|
FROM res_rsv_ruimte irrr, res_v_rsv_ruimte_2_alg_ruimte ir2a
|
|
WHERE irrr.res_rsv_ruimte_key = ir2a.res_rsv_ruimte_key(+)
|
|
GROUP BY irrr.res_rsv_ruimte_key, irrr.alg_ruimte_key) r2a
|
|
WHERE rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
|
AND r2a.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
|
AND r2a.alg_ruimte_key = r.alg_ruimte_key
|
|
AND r.alg_verdieping_key = v.alg_verdieping_key
|
|
AND v.alg_gebouw_key = exact.alg_gebouw_key(+)
|
|
AND v.alg_gebouw_key = g.alg_gebouw_key
|
|
AND rra.res_rsv_artikel_verwijder IS NULL
|
|
AND rra.res_status_bo_key = 5
|
|
AND rra.res_artikel_key = ra.res_artikel_key
|
|
AND ra.res_discipline_key = d.ins_discipline_key
|
|
AND d.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
|
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND rra.res_rsv_artikel_levering <
|
|
TO_DATE ( TO_CHAR (SYSDATE, 'yyyy')
|
|
|| TO_CHAR (SYSDATE, 'mm')
|
|
|| '01',
|
|
'yyyymmdd'
|
|
)
|
|
GROUP BY prs_kostenplaats_nr,
|
|
prs_kostenplaats_omschrijving,
|
|
k.prs_kostenplaats_key,
|
|
prs_kostensoort_oms,
|
|
prs_kostensoort_opmerking,
|
|
prs_kostensoort_refcode,
|
|
ks.prs_kostensoortgrp_key,
|
|
res_artikel_btw,
|
|
alg_gebouw_code,
|
|
exact_code;
|
|
|
|
v_errormsg := 'Meld de catering af die zojuist in de verkoopbuffer geplaatst zijn';
|
|
-- pas alle cateringartikelen aan die hierboven in de verkoopbuffer geplaatst zijn
|
|
-- res_status_bo_key = 6 is verwerkt
|
|
UPDATE res_rsv_artikel
|
|
SET res_rsv_artikel_verwerkt = SYSDATE, res_status_bo_key = 6
|
|
WHERE res_rsv_artikel_key IN
|
|
(SELECT res_rsv_artikel_key
|
|
FROM res_rsv_ruimte rrr,
|
|
res_rsv_artikel rra,
|
|
res_artikel ra,
|
|
ins_tab_discipline d,
|
|
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 = 5
|
|
AND rra.res_artikel_key = ra.res_artikel_key
|
|
AND ra.res_discipline_key = d.ins_discipline_key
|
|
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND NVL (rra.res_rsv_artikel_levering,
|
|
TO_DATE ('20070101', 'yyyymmdd')
|
|
) <
|
|
TO_DATE ( TO_CHAR (SYSDATE, 'yyyy')
|
|
|| TO_CHAR (SYSDATE, 'mm')
|
|
|| '01',
|
|
'yyyymmdd'
|
|
));
|
|
|
|
v_errormsg := 'Zoek kostenplaats';
|
|
SELECT prs_kostenplaats_key
|
|
INTO v_prs_kostenplaats_key
|
|
FROM mld_melding
|
|
WHERE mld_melding_key = v_mld_melding_key;
|
|
|
|
v_mld_opdr_bedrijfopdr_volgnr := mld.BepaalOpdrMeldingVolgnr (v_mld_melding_key);
|
|
|
|
v_errormsg := 'Maak opdracht aan om factuur van cateraar te matchen';
|
|
-- maak opdracht aan om cateringfactuur van leverancier te matchen
|
|
-- de cateraar hoeft de opslag van 6,5% niet te ontvangen
|
|
INSERT INTO mld_opdr (mld_melding_key
|
|
, prs_kostenplaats_key
|
|
, mld_statusopdr_key
|
|
, mld_typeopdr_key
|
|
, prs_perslid_key
|
|
, mld_uitvoerende_keys
|
|
, mld_opdr_datumbegin
|
|
, mld_opdr_einddatum
|
|
, mld_opdr_module
|
|
, mld_opdr_omschrijving
|
|
, mld_opdr_materiaal
|
|
, mld_opdr_kosten
|
|
, mld_opdr_bedrijfopdr_volgnr)
|
|
( SELECT v_mld_melding_key
|
|
, v_prs_kostenplaats_key
|
|
, 5 -- uitgegeven
|
|
, v_mld_workorder_key
|
|
, v_aanvrager
|
|
, v_prs_bedrijf_key
|
|
, sysdate
|
|
, FAC.DatumTijdPlusUitvoerTijd(sysdate, 1, 'DAGEN')
|
|
, 'MLD'
|
|
, max(omschrijving)
|
|
, round((sum(bedrag)/1.065),2)
|
|
, round((sum(bedrag)/1.065),2)
|
|
, v_mld_opdr_bedrijfopdr_volgnr
|
|
FROM aaxx_verkoopbuffer
|
|
WHERE module = 'RES'
|
|
AND trunc(export_datum) = trunc(sysdate));
|
|
|
|
v_errormsg := 'Update melding status';
|
|
MLD.updatemeldingstatus (v_mld_melding_key, 0, v_aanvrager); -- Facilitor
|
|
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
ROLLBACK;
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
|
fac.imp_writelog (p_applname, p_applrun,'E', v_errormsg, '');
|
|
COMMIT;
|
|
END;
|
|
/
|
|
|
|
--=============================================================================
|
|
-- EXPORTFUNCTIES BUDGET TRACKER
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_budget_tracker (result, result_order)
|
|
AS
|
|
SELECT '"nummer";' ||
|
|
'"datum";' ||
|
|
'"status";' ||
|
|
'"laatste_actie";' ||
|
|
'"vakgroeptype";' ||
|
|
'"vakgroep";' ||
|
|
'"kostensoort_code";' ||
|
|
'"kostensoort_omschrijving";' ||
|
|
'"financiele_waarde";' ||
|
|
'"kostensoortgroep_omschrijving";' ||
|
|
'"melding";' ||
|
|
'"omschrijving";' ||
|
|
'"organisatie";' ||
|
|
'"naam";' ||
|
|
'"kostenplaats";' ||
|
|
'"kostenplaats_omschrijving";' ||
|
|
'"plaats";' ||
|
|
'"locatie";' ||
|
|
'"gebouw";' ||
|
|
'"code_exact";' ||
|
|
'"opdracht_status";' ||
|
|
'"uitvoerende";' ||
|
|
'"contactpersoon";' ||
|
|
'"uren";' ||
|
|
'"uurloon";' ||
|
|
'"materiaal";' ||
|
|
'"kosten";' ||
|
|
'"gefactureerd"', 0
|
|
FROM dual
|
|
UNION ALL
|
|
SELECT REPLACE(REPLACE( '"'
|
|
|| nummer
|
|
|| '";"'
|
|
|| datum
|
|
|| '";"'
|
|
|| status
|
|
|| '";"'
|
|
|| laatste_actie
|
|
|| '";"'
|
|
|| vakgroeptype
|
|
|| '";"'
|
|
|| vakgroep
|
|
|| '";"'
|
|
|| kostensoort_code
|
|
|| '";"'
|
|
|| kostensoort_omschrijving
|
|
|| '";"'
|
|
|| financiele_waarde
|
|
|| '";"'
|
|
|| kostensoortgroep_omschrijving
|
|
|| '";"'
|
|
|| melding
|
|
|| '";"'
|
|
|| aaxx_exp_escape (omschrijving)
|
|
|| '";"'
|
|
|| organisatie
|
|
|| '";"'
|
|
|| naam
|
|
|| '";"'
|
|
|| kostenplaats
|
|
|| '";"'
|
|
|| kostenplaats_omschrijving
|
|
|| '";"'
|
|
|| plaats
|
|
|| '";"'
|
|
|| locatie
|
|
|| '";"'
|
|
|| gebouw
|
|
|| '";"'
|
|
|| code_exact
|
|
|| '";"'
|
|
|| opdracht_status
|
|
|| '";"'
|
|
|| uitvoerende
|
|
|| '";"'
|
|
|| contactpersoon
|
|
|| '";"'
|
|
|| uren
|
|
|| '";"'
|
|
|| uurloon
|
|
|| '";"'
|
|
|| materiaal
|
|
|| '";"'
|
|
|| kosten
|
|
|| '";"'
|
|
|| gefactureerd
|
|
|| '"',CHR (13), ''), CHR (10), '<ret>'),
|
|
1
|
|
FROM (SELECT m.mld_melding_key || '/' || mld_opdr_bedrijfopdr_volgnr nummer,
|
|
TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY HH24:MI') datum,
|
|
(SELECT mld_statusopdr_omschrijving
|
|
FROM mld_statusopdr s
|
|
WHERE o.mld_statusopdr_key = s.mld_statusopdr_key)
|
|
status,
|
|
TO_CHAR (mld.getopdrachtstatusdate (o.mld_opdr_key, mld_statusopdr_key)
|
|
, 'DD-MM-YYYY HH24:MI'
|
|
)
|
|
laatste_actie,
|
|
sd.ins_srtdiscipline_prefix vakgroeptype,
|
|
md.ins_discipline_omschrijving vakgroep,
|
|
COALESCE (kstd.prs_kostensoort_oms, kvg.prs_kostensoort_oms)
|
|
kostensoort_code,
|
|
COALESCE (kstd.prs_kostensoort_opmerking,
|
|
kvg.prs_kostensoort_opmerking
|
|
)
|
|
kostensoort_omschrijving,
|
|
COALESCE (kstd.prs_kostensoort_refcode,
|
|
kvg.prs_kostensoort_refcode
|
|
)
|
|
financiele_waarde,
|
|
(SELECT prs_kostensoortgrp_oms FROM prs_kostensoortgrp ksg
|
|
WHERE ksg.prs_kostensoortgrp_key = COALESCE (kstd.prs_kostensoortgrp_key, kvg.prs_kostensoortgrp_key)) kostensoortgroep_omschrijving,
|
|
std.mld_stdmelding_omschrijving melding,
|
|
SUBSTR (REPLACE (mld_melding_omschrijving,
|
|
CHR (13) || CHR (10),
|
|
'<ret>'
|
|
),
|
|
1,
|
|
2000
|
|
)
|
|
omschrijving,
|
|
(SELECT d.prs_afdeling_naam
|
|
FROM prs_v_afdeling d
|
|
WHERE p.prs_afdeling_key = d.prs_afdeling_key)
|
|
organisatie,
|
|
p.prs_perslid_naam
|
|
|| DECODE (NVL (p.prs_perslid_voorletters, ''),
|
|
'', '',
|
|
', ' || p.prs_perslid_voorletters)
|
|
|| DECODE (NVL (p.prs_perslid_tussenvoegsel, ''),
|
|
'', '',
|
|
' ' || p.prs_perslid_tussenvoegsel)
|
|
|| DECODE (NVL (p.prs_perslid_voornaam, ''),
|
|
'', '',
|
|
' (' || p.prs_perslid_voornaam || ')')
|
|
naam,
|
|
(SELECT k.prs_kostenplaats_nr
|
|
FROM prs_kostenplaats k
|
|
WHERE k.prs_kostenplaats_key = o.prs_kostenplaats_key)
|
|
kostenplaats,
|
|
(SELECT k.prs_kostenplaats_omschrijving
|
|
FROM prs_kostenplaats k
|
|
WHERE k.prs_kostenplaats_key = o.prs_kostenplaats_key)
|
|
kostenplaats_omschrijving,
|
|
(SELECT alg_locatie_code
|
|
FROM alg_locatie l
|
|
WHERE m.mld_alg_locatie_key = l.alg_locatie_key)
|
|
|| (SELECT CASE COALESCE(G.alg_gebouw_code, '')
|
|
WHEN '' THEN '' ELSE '-' || G.alg_gebouw_code
|
|
END
|
|
|| CASE COALESCE(G.alg_verdieping_code, '')
|
|
WHEN '' THEN '' ELSE '-' || G.alg_verdieping_code
|
|
END
|
|
|| CASE COALESCE(G.alg_ruimte_nr, '')
|
|
WHEN '' THEN '' ELSE '-' || G.alg_ruimte_nr
|
|
END
|
|
FROM alg_v_allonrgoed_gegevens g
|
|
WHERE m.mld_alg_onroerendgoed_keys = g.alg_onroerendgoed_keys) plaats,
|
|
alg_locatie_code locatie,
|
|
alg_gebouw_code gebouw,
|
|
COALESCE ((SELECT alg_onrgoedkenmerk_waarde
|
|
FROM alg_onrgoedkenmerk ogk
|
|
WHERE ogk.alg_kenmerk_key = 1009
|
|
AND ogk.alg_onrgoed_key = v.alg_gebouw_key), v.alg_gebouw_code)
|
|
code_exact,
|
|
(SELECT mld_statusopdr_omschrijving
|
|
FROM mld_statusopdr so
|
|
WHERE o.mld_statusopdr_key = so.mld_statusopdr_key)
|
|
opdracht_status,
|
|
COALESCE ( (SELECT prs_bedrijf_naam
|
|
FROM prs_bedrijf b
|
|
WHERE o.mld_uitvoerende_keys = prs_bedrijf_key),
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all
|
|
WHERE o.mld_uitvoerende_keys = prs_perslid_key)
|
|
)
|
|
uitvoerende,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE o.prs_perslid_key = pf.prs_perslid_key)
|
|
contactpersoon,
|
|
replace(to_char (o.mld_opdr_uren, '999999990.99'), '.', ',') uren,
|
|
replace(to_char (o.mld_opdr_uurloon, '999999990.99'), '.', ',') uurloon,
|
|
replace(to_char (o.mld_opdr_materiaal, '999999990.99'), '.', ',') materiaal,
|
|
replace(to_char (o.mld_opdr_kosten, '999999990.99'), '.', ',') kosten,
|
|
COALESCE ( (SELECT trim(to_char (SUM (f.fin_factuur_totaal), '999999990.99'))
|
|
FROM fin_factuur f
|
|
WHERE f.mld_opdr_key = o.mld_opdr_key), '0'
|
|
)
|
|
gefactureerd
|
|
FROM mld_melding m,
|
|
mld_discipline md,
|
|
ins_srtdiscipline sd,
|
|
alg_v_allonrgoed_gegevens v,
|
|
alg_locatie l,
|
|
alg_district di,
|
|
prs_perslid p,
|
|
mld_opdr o,
|
|
mld_stdmelding std,
|
|
prs_kostensoort kstd,
|
|
prs_kostensoort kvg
|
|
WHERE m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
|
AND l.alg_district_key = di.alg_district_key(+)
|
|
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
|
|
AND m.mld_alg_onroerendgoed_keys = v.alg_onroerendgoed_keys(+)
|
|
AND m.prs_perslid_key = p.prs_perslid_key
|
|
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND std.mld_ins_discipline_key = md.ins_discipline_key
|
|
AND m.mld_melding_key = o.mld_melding_key
|
|
AND std.prs_kostensoort_key = kstd.prs_kostensoort_key(+)
|
|
AND md.prs_kostensoort_key = kvg.prs_kostensoort_key(+)
|
|
UNION ALL
|
|
SELECT cnt_contract_nummer_intern,
|
|
TO_CHAR (c.cnt_contract_looptijd_van, 'DD-MM-YYYY HH24:MI') datum,
|
|
DECODE (SIGN (cnt_contract_looptijd_van - SYSDATE),
|
|
1,
|
|
'Toekomst',
|
|
-1,
|
|
DECODE (SIGN (cnt_contract_looptijd_tot - SYSDATE),
|
|
1,
|
|
'Actueel',
|
|
-1,
|
|
'Verlopen'
|
|
)
|
|
)
|
|
status,
|
|
TO_CHAR (c.cnt_contract_looptijd_tot, 'DD-MM-YYYY HH24:MI')
|
|
laatste_actie,
|
|
'Contract' vakgroeptype,
|
|
d.ins_discipline_omschrijving vakgroep,
|
|
k.prs_kostensoort_oms kostensoort_code,
|
|
k.prs_kostensoort_opmerking kostensoort_omschrijving,
|
|
k.prs_kostensoort_refcode financiele_waarde,
|
|
(SELECT prs_kostensoortgrp_oms FROM prs_kostensoortgrp ksg
|
|
WHERE ksg.prs_kostensoortgrp_key = k.prs_kostensoortgrp_key) kostensoortgroep_omschrijving,
|
|
c.cnt_contract_omschrijving melding,
|
|
SUBSTR (REPLACE (cnt_contract_document, CHR (13) || CHR (10), '<ret>'),
|
|
1,
|
|
2000
|
|
)
|
|
omschrijving,
|
|
prs_afdeling_naam organisatie,
|
|
p.prs_perslid_naam
|
|
|| DECODE (NVL (p.prs_perslid_voorletters, ''),
|
|
'', '',
|
|
', ' || p.prs_perslid_voorletters)
|
|
|| DECODE (NVL (p.prs_perslid_tussenvoegsel, ''),
|
|
'', '',
|
|
' ' || p.prs_perslid_tussenvoegsel)
|
|
|| DECODE (NVL (p.prs_perslid_voornaam, ''),
|
|
'', '',
|
|
' (' || p.prs_perslid_voornaam || ')')
|
|
naam,
|
|
kp.prs_kostenplaats_nr kostenplaats,
|
|
kp.prs_kostenplaats_omschrijving kostenplaats_omschrijving,
|
|
alg_locatie_code || '-' || alg_gebouw_code plaats,
|
|
alg_locatie_code locatie,
|
|
alg_gebouw_code gebouw,
|
|
COALESCE ((SELECT alg_onrgoedkenmerk_waarde
|
|
FROM alg_onrgoedkenmerk ogk
|
|
WHERE ogk.alg_kenmerk_key = 1009
|
|
AND ogk.alg_onrgoed_key = g.alg_gebouw_key), g.alg_gebouw_code)
|
|
code_exact,
|
|
'-' opdracht_status,
|
|
prs_bedrijf_naam uitvoerende,
|
|
'-' contactpersoon,
|
|
'0' uren,
|
|
'0' uurloon,
|
|
'0' materiaal,
|
|
COALESCE ( trim(to_char (DECODE (cnt_gew.cnt_contract_plaats_gewicht,
|
|
0,
|
|
1,
|
|
(cp.cnt_contract_plaats_gewicht
|
|
/ cnt_gew.cnt_contract_plaats_gewicht)
|
|
* c.cnt_contract_kosten), '999999990.99'))
|
|
,
|
|
'0'
|
|
)
|
|
kosten,
|
|
COALESCE ( trim(to_char (DECODE (cnt_gew.cnt_contract_plaats_gewicht,
|
|
0,
|
|
1,
|
|
(cp.cnt_contract_plaats_gewicht
|
|
/ cnt_gew.cnt_contract_plaats_gewicht)
|
|
* (SELECT SUM(fin_factuur_totaal)
|
|
FROM fin_factuur f
|
|
WHERE f.cnt_contract_key = c.cnt_contract_key
|
|
AND fin_factuur_statuses_key > 1
|
|
)), '999999990.99'))
|
|
,
|
|
'0'
|
|
)
|
|
gefactureerd
|
|
FROM cnt_contract c,
|
|
cnt_discipline d,
|
|
cnt_contract_plaats cp,
|
|
prs_bedrijf b,
|
|
prs_kostensoort k,
|
|
prs_kostenplaats kp,
|
|
prs_afdeling a,
|
|
prs_perslid p,
|
|
alg_locatie l,
|
|
alg_gebouw g,
|
|
prs_contactpersoon cop,
|
|
(SELECT cnt_contract_key,
|
|
SUM (cnt_contract_plaats_gewicht) cnt_contract_plaats_gewicht
|
|
FROM cnt_contract_plaats
|
|
GROUP BY cnt_contract_key) cnt_gew,
|
|
(SELECT cp.cnt_contract_plaats_key, alg_locatie_key, alg_gebouw_key
|
|
FROM alg_v_allonroerendgoed aog, cnt_contract_plaats cp
|
|
WHERE aog.alg_type = cp.cnt_alg_plaats_code
|
|
AND aog.alg_onroerendgoed_keys = cp.cnt_alg_plaats_key) cog
|
|
WHERE c.cnt_contract_key = cp.cnt_contract_key(+)
|
|
AND c.cnt_contract_key = cnt_gew.cnt_contract_key(+)
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND c.ins_discipline_key = d.ins_discipline_key
|
|
AND d.prs_kostensoort_key = k.prs_kostensoort_key(+)
|
|
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
|
AND c.prs_afdeling_key_eig = a.prs_afdeling_key
|
|
AND c.prs_perslid_key_beh = p.prs_perslid_key
|
|
AND cp.cnt_contract_plaats_key = cog.cnt_contract_plaats_key(+)
|
|
AND c.prs_contactpersoon_key = cop.prs_contactpersoon_key(+)
|
|
AND cog.alg_locatie_key = l.alg_locatie_key(+)
|
|
AND cog.alg_gebouw_key = g.alg_gebouw_key(+)
|
|
AND cnt_contract_verwijder IS NULL
|
|
);
|
|
|
|
|
|
|
|
--=============================================================================
|
|
-- EXPORTFUNCTIES DATAWAREHOUSE
|
|
-------------------------------------------------------------------------------
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_PRS_BEDRIJF
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_prs_bedrijf (RESULT, result_order)
|
|
AS
|
|
SELECT '"PRS_BEDRIJF_KEY";"PRS_BEDRIJF_NAAM";"PRS_BEDRIJF_NAAM_UPPER";"PRS_BEDRIJF_POST_ADRES";"PRS_BEDRIJF_POST_POSTCODE";' ||
|
|
'"PRS_BEDRIJF_POST_PLAATS";"PRS_BEDRIJF_POST_LAND";"PRS_BEDRIJF_BEZOEK_ADRES";"PRS_BEDRIJF_BEZOEK_POSTCODE";"PRS_BEDRIJF_BEZOEK_PLAATS";' ||
|
|
'"PRS_BEDRIJF_BEZOEK_LAND";"PRS_BEDRIJF_TELEFOON";"PRS_BEDRIJF_FAX";"PRS_BEDRIJF_TELEFOON2";"PRS_BEDRIJF_CONTACT_PERSOON";' ||
|
|
'"PRS_BEDRIJF_CONTACT_TELEFOON";"PRS_BEDRIJF_CONTACT_FAX";"PRS_BEDRIJF_OPMERKING";"PRS_BEDRIJF_OPMERKING2";"PRS_BEDRIJF_UURLOON";' ||
|
|
'"PRS_LEVERANCIER_NR";"PRS_OVEREENKOMST_NR";"PRS_OVEREENKOMST_DATUM";"PRS_BEDRIJF_AANMAAK";"PRS_BEDRIJF_VERWIJDER";' ||
|
|
'"PRS_BEDRIJF_LEVERANCIER";"PRS_BEDRIJF_UITVOERENDE";"PRS_BEDRIJF_CONTRACT";"PRS_BEDRIJF_INTERN";"PRS_BEDRIJF_HUURDER";' ||
|
|
'"PRS_BEDRIJF_EMAIL";"PRS_BEDRIJF_INGIDS"',0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT REPLACE(REPLACE('"' || PRS_BEDRIJF_KEY || '";"' || PRS_BEDRIJF_NAAM || '";"' || PRS_BEDRIJF_NAAM_UPPER || '";"' || PRS_BEDRIJF_POST_ADRES || '";"' || PRS_BEDRIJF_POST_POSTCODE || '";"' ||
|
|
PRS_BEDRIJF_POST_PLAATS || '";"' || PRS_BEDRIJF_POST_LAND || '";"' || PRS_BEDRIJF_BEZOEK_ADRES || '";"' || PRS_BEDRIJF_BEZOEK_POSTCODE || '";"' || PRS_BEDRIJF_BEZOEK_PLAATS || '";"' ||
|
|
PRS_BEDRIJF_BEZOEK_LAND || '";"' || PRS_BEDRIJF_TELEFOON || '";"' || PRS_BEDRIJF_FAX || '";"' || PRS_BEDRIJF_TELEFOON2 || '";"' || PRS_BEDRIJF_CONTACT_PERSOON || '";"' ||
|
|
PRS_BEDRIJF_CONTACT_TELEFOON || '";"' || PRS_BEDRIJF_CONTACT_FAX || '";"' || PRS_BEDRIJF_OPMERKING || '";"' || PRS_BEDRIJF_OPMERKING2 || '";"' || PRS_BEDRIJF_UURLOON || '";"' ||
|
|
PRS_LEVERANCIER_NR || '";"' || PRS_OVEREENKOMST_NR || '";"' || to_char(PRS_OVEREENKOMST_DATUM, 'yyyy-mm-dd') || '";"' || to_char(PRS_BEDRIJF_AANMAAK, 'yyyy-mm-dd') || '";"' || to_char(PRS_BEDRIJF_VERWIJDER, 'yyyy-mm-dd') || '";"' ||
|
|
PRS_BEDRIJF_LEVERANCIER || '";"' || PRS_BEDRIJF_UITVOERENDE || '";"' || PRS_BEDRIJF_CONTRACT || '";"' || PRS_BEDRIJF_INTERN || '";"' || PRS_BEDRIJF_HUURDER || '";"' ||
|
|
PRS_BEDRIJF_EMAIL || '";"' || PRS_BEDRIJF_INGIDS ||'"',CHR (13), ''), CHR (10), '<ret>'),1
|
|
FROM PRS_V_QVW_BEDRIJF;
|
|
/
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_PRS_AFDELING
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_prs_afdeling (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"PRS_AFDELING_PARENT_NAAM";"PRS_AFDELING_NAAM";"PRS_AFDELING_OMSCHRIJVING";"PRS_KOSTENPLAATS_NR";"PRS_BEDRIJF_NAAM";"NIVEAU"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT '"'
|
|
|| ap.prs_afdeling_naam
|
|
|| '";"'
|
|
|| a.prs_afdeling_naam
|
|
|| '";"'
|
|
|| a.prs_afdeling_omschrijving
|
|
|| '";"'
|
|
|| prs_kostenplaats_nr
|
|
|| '";"'
|
|
|| prs_bedrijf_naam
|
|
|| '";"'
|
|
|| niveau
|
|
|| '"',
|
|
1
|
|
FROM prs_v_afdeling a, prs_kostenplaats k, prs_bedrijf b, prs_afdeling ap
|
|
WHERE a.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
|
AND a.prs_bedrijf_key = b.prs_bedrijf_key(+)
|
|
AND a.prs_afdeling_parentkey = ap.prs_afdeling_key(+);
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_PRS_PERSOON
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_prs_perslid (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"PRS_PERSLID_KEY";"PRS_AFDELING_NAAM";"PRS_PERSLID_NAAM";"PRS_PERSLID_TUSSENVOEGSEL";"PRS_PERSLID_VOORNAAM";"PRS_PERSLID_FULL";"PRS_PERSLID_LOGIN";"PRS_PERSLID_TELEFOON";"PRS_PERSLID_EMAIL";"PRS_PERSLID_LASTLOGIN";"PRS_PERSLID_AANMAAK";"PRS_PERSLID_VERWIJDER"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT '"'
|
|
|| p.prs_perslid_key
|
|
|| '";"'
|
|
|| DECODE (aaxx_get_user,'CE', a.prs_afdeling_omschrijving, a.prs_afdeling_naam)
|
|
|| '";"'
|
|
|| p.prs_perslid_naam
|
|
|| '";"'
|
|
|| p.prs_perslid_tussenvoegsel
|
|
|| '";"'
|
|
|| p.prs_perslid_voornaam
|
|
|| '";"'
|
|
|| pf.prs_perslid_naam_full
|
|
|| '";"'
|
|
|| p.prs_perslid_oslogin
|
|
|| '";"'
|
|
|| p.prs_perslid_telefoonnr
|
|
|| '";"'
|
|
|| p.prs_perslid_email
|
|
|| '";"'
|
|
|| TO_CHAR (p.prs_perslid_login, 'yyyy-mm-dd hh24:mi')
|
|
|| '";"'
|
|
|| TO_CHAR (p.prs_perslid_aanmaak, 'yyyy-mm-dd')
|
|
|| '";"'
|
|
|| TO_CHAR (p.prs_perslid_verwijder, 'yyyy-mm-dd')
|
|
|| '"',
|
|
1
|
|
FROM prs_perslid p, prs_afdeling a, prs_v_perslid_fullnames_all pf
|
|
WHERE a.prs_afdeling_key = p.prs_afdeling_key
|
|
AND p.prs_perslid_key = pf.prs_perslid_key;
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_PRS_KOSTENPLAATS
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_prs_kostenpl (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"PRS_KOSTENPLAATS_NR";"PRS_KOSTENPLAATS_OMSCHRIJVING";"PRS_KOSTENPLAATS_BUDGETHOUDER";"PRS_KOSTENPLAATS_AANMAAK";"PRS_KOSTENPLAATS_VERWIJDER"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT '"'
|
|
|| k.prs_kostenplaats_nr
|
|
|| '";"'
|
|
|| k.prs_kostenplaats_omschrijving
|
|
|| '";"'
|
|
|| pf.prs_perslid_naam_full
|
|
|| '";"'
|
|
|| TO_CHAR (k.prs_kostenplaats_aanmaak, 'yyyy-mm-dd')
|
|
|| '";"'
|
|
|| TO_CHAR (k.prs_kostenplaats_verwijder, 'yyyy-mm-dd')
|
|
|| '"',
|
|
1
|
|
FROM prs_kostenplaats k, prs_v_perslid_fullnames_all pf
|
|
WHERE k.prs_perslid_key = pf.prs_perslid_key(+);
|
|
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_PRS_KOSTENSOORT
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_prs_kostensr (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"PRS_KOSTENSOORT_CODE";"PRS_KOSTENSOORT_OMSCHRIJVING";"PRS_KOSTENSOORT_FIN_WAARDE";"PRS_KOSTENSOORTGROEP";"PRS_KOSTENSOORT_AANMAAK"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT '"'
|
|
|| k.prs_kostensoort_oms
|
|
|| '";"'
|
|
|| k.prs_kostensoort_opmerking
|
|
|| '";"'
|
|
|| k.prs_kostensoort_refcode
|
|
|| '";"'
|
|
|| (select prs_kostensoortgrp_oms from prs_kostensoortgrp ksg where ksg.prs_kostensoortgrp_key = k.prs_kostensoortgrp_key)
|
|
|| '";"'
|
|
|| TO_CHAR (k.prs_kostensoort_aanmaak, 'yyyy-mm-dd')
|
|
|| '"',
|
|
1
|
|
FROM prs_kostensoort k;
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_CNT_ALGEMEEN
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_cnt_algemeen (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"INTERNNR";"EXTERNNR";"BESCHRIJVING";"CONTRACTSOORT";"TYPECONTRACT";"VERSIE";"INGANGSDATUM";"RAPPELDATUM";'
|
|
|| '"OPZEGDATUM";"EINDDATUM";"EIGENAAR";"BEHEERDER";"UITVOERDER";'
|
|
|| '"KOSTENPLAATS";"TERMIJNBEDRAG";"CONTRACTBEDRAG";"VOLGNUMMER";"LOCATIE_CODE";"GEBOUW_CODE";"GEBOUW_KOSTEN";"GEBOUW_GEFACTUREERD"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT REPLACE (REPLACE ( '"'
|
|
|| cnt_contract_nummer_intern
|
|
|| '.'
|
|
|| COALESCE (cnt_contract_versie, '0')
|
|
|| '";"'
|
|
|| cnt_contract_nummer
|
|
|| '";"'
|
|
|| aaxx_exp_escape (cnt_contract_omschrijving)
|
|
|| '";"'
|
|
|| d.ins_discipline_omschrijving
|
|
|| '";"'
|
|
|| tc.cnt_typecontract_omschrijving
|
|
|| '";"'
|
|
|| c.cnt_contract_versie
|
|
|| '";"'
|
|
|| TO_CHAR (cnt_contract_looptijd_van,
|
|
'yyyy-mm-dd'
|
|
)
|
|
|| '";"'
|
|
|| TO_CHAR (cnt.cnt_getrappeldatum(c.cnt_contract_key),
|
|
'yyyy-mm-dd'
|
|
)
|
|
|| '";"'
|
|
|| TO_CHAR (cnt.cnt_getopzegdatum(c.cnt_contract_key),
|
|
'yyyy-mm-dd'
|
|
)
|
|
|| '";"'
|
|
|| TO_CHAR (c.cnt_contract_looptijd_tot,
|
|
'yyyy-mm-dd'
|
|
)
|
|
|| '";"'
|
|
|| a.prs_afdeling_naam
|
|
|| '";"'
|
|
|| prs_perslid_naam_full
|
|
|| '";"'
|
|
|| prs_bedrijf_naam
|
|
|| '";'
|
|
|| '"'
|
|
|| prs_kostenplaats_nr
|
|
|| '";"'
|
|
|| cnt_contract_termijnkosten
|
|
|| '";"'
|
|
|| cnt_contract_kosten
|
|
|| '";"'
|
|
|| aaxx_get_cnt_cont_plaats_index(cp.cnt_contract_plaats_key)
|
|
|| '";"'
|
|
|| alg_locatie_code
|
|
|| '";"'
|
|
|| COALESCE ( (SELECT alg_onrgoedkenmerk_waarde
|
|
FROM alg_onrgoedkenmerk ogk
|
|
WHERE ogk.alg_kenmerk_key = 1009
|
|
AND ogk.alg_onrgoed_key =
|
|
g.alg_gebouw_key),
|
|
g.alg_gebouw_code
|
|
)
|
|
|| '";"'
|
|
|| DECODE (cnt_gew.cnt_contract_plaats_gewicht,
|
|
0,
|
|
TO_CHAR (NULL),
|
|
COALESCE ( (TRIM(TO_CHAR ( (cp.cnt_contract_plaats_gewicht
|
|
/ cnt_gew.cnt_contract_plaats_gewicht)
|
|
* c.cnt_contract_kosten,
|
|
'999999990.99'
|
|
))),
|
|
'0'
|
|
)
|
|
)
|
|
|| '";"'
|
|
|| COALESCE (TRIM(TO_CHAR (DECODE (cnt_gew.cnt_contract_plaats_gewicht,
|
|
0,
|
|
1,
|
|
(cp.cnt_contract_plaats_gewicht
|
|
/ cnt_gew.cnt_contract_plaats_gewicht)
|
|
)
|
|
* fin.fin_factuur_totaal,
|
|
'999999990.99'
|
|
)),
|
|
'0'
|
|
)
|
|
|| '"',
|
|
CHR (13),
|
|
''
|
|
),
|
|
CHR (10),
|
|
'<ret>'
|
|
),
|
|
1000 * c.cnt_contract_key
|
|
+ aaxx_get_cnt_cont_plaats_index (cp.cnt_contract_plaats_key)
|
|
FROM cnt_contract c,
|
|
cnt_discipline d,
|
|
cnt_disc_params cd,
|
|
cnt_typecontract tc,
|
|
cnt_contract_plaats cp,
|
|
prs_bedrijf b,
|
|
prs_kostensoort k,
|
|
prs_kostenplaats kp,
|
|
prs_afdeling a,
|
|
prs_v_perslid_fullnames pf,
|
|
alg_locatie l,
|
|
alg_gebouw g,
|
|
(SELECT cnt_contract_key,
|
|
SUM (fin_factuurregel_totaal) fin_factuur_totaal
|
|
FROM fin_factuur f, fin_factuurregel fr
|
|
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
|
GROUP BY cnt_contract_key) fin,
|
|
(SELECT cnt_contract_key,
|
|
SUM (cnt_contract_plaats_gewicht) cnt_contract_plaats_gewicht
|
|
FROM cnt_contract_plaats
|
|
WHERE cnt_contract_plaats_verwijder IS NULL
|
|
GROUP BY cnt_contract_key) cnt_gew,
|
|
(SELECT cp.cnt_contract_plaats_key, alg_locatie_key, alg_gebouw_key
|
|
FROM alg_v_allonroerendgoed aog, cnt_contract_plaats cp
|
|
WHERE aog.alg_type = cp.cnt_alg_plaats_code
|
|
AND aog.alg_onroerendgoed_keys = cp.cnt_alg_plaats_key) cog
|
|
WHERE c.cnt_contract_key = cp.cnt_contract_key(+)
|
|
AND c.cnt_contract_key = cnt_gew.cnt_contract_key(+)
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND c.ins_discipline_key = d.ins_discipline_key
|
|
AND d.ins_discipline_key = cd.cnt_ins_discipline_key
|
|
AND cd.cnt_srtcontract_type = tc.cnt_typecontract_key
|
|
AND d.prs_kostensoort_key = k.prs_kostensoort_key(+)
|
|
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
|
AND c.prs_afdeling_key_eig = a.prs_afdeling_key
|
|
AND c.prs_perslid_key_beh = pf.prs_perslid_key
|
|
AND cp.cnt_contract_plaats_key = cog.cnt_contract_plaats_key(+)
|
|
AND cp.cnt_contract_plaats_verwijder IS NULL
|
|
AND cog.alg_locatie_key = l.alg_locatie_key(+)
|
|
AND cog.alg_gebouw_key = g.alg_gebouw_key(+)
|
|
AND c.cnt_contract_key = fin.cnt_contract_key(+)
|
|
AND cnt_contract_verwijder IS NULL;
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_FIN_FACTUUR
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_fin_factuur (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"FIN_FACTUUR_KEY";"FIN_FACTUUR_NR";"FIN_FACTUUR_TOTAAL_BTW";"OPDR_ID";"CONTRACT_ID";"BESTEL_ID";"FIN_FACTUUR_DATUM";"FIN_FACTUUR_BOEKMAAND";"FIN_FACTUUR_DEBITEUR_NR";"KOSTENSOORT";"FIN_FACTUUR_DATUMFIAT_OK";"FIN_FACTUUR_DATUMFIAT_NOK";"FIN_FACTUUR_FIAT_USER";"FIN_FACTUUR_OPMERKING";"FIN_FACTUUR_DATUM_EXPORT";"FIN_FACTUUR_STATUS";"FIN_FACTUUR_AANMAAK";"FIN_FACTUUR_VERWERKT";"FIN_FACTUUR_BADGEID";"FIN_FACTUURREGEL_NR";"FIN_FACTUURREGEL_TOTAAL";"FIN_FACTUURREGEL_BTW";"UPLIFT";"INCL_UPLIFT";"FIN_FACTUURREGEL_OMSCHRIJVING";"FIN_FACTUURREGEL_REFERENTIE"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT REPLACE (REPLACE ( '"'
|
|
|| f.fin_factuur_key
|
|
|| '";"'
|
|
|| f.fin_factuur_nr
|
|
|| '";"'
|
|
|| f.fin_factuur_totaal_btw
|
|
|| '";"'
|
|
|| (SELECT mld_melding_key || '/' || mld_opdr_bedrijfopdr_volgnr
|
|
FROM mld_opdr
|
|
WHERE mld_opdr_key = f.mld_opdr_key)
|
|
|| '";"'
|
|
|| (SELECT cc.cnt_contract_nummer_intern || '.' || COALESCE(cc.cnt_contract_versie, '0')
|
|
FROM cnt_contract cc
|
|
WHERE cc.cnt_contract_key = f.cnt_contract_key)
|
|
|| '";"'
|
|
|| (SELECT bes_bestelopdr_id
|
|
FROM bes_bestelopdr
|
|
WHERE bes_bestelopdr_key =
|
|
f.bes_bestelopdr_key)
|
|
|| '";"'
|
|
|| TO_CHAR (f.fin_factuur_datum, 'yyyy-mm-dd')
|
|
|| '";"'
|
|
|| f.fin_factuur_boekmaand
|
|
|| '";"'
|
|
|| f.fin_factuur_debiteur_nr
|
|
|| '";"'
|
|
|| (SELECT prs_kostensoort_oms
|
|
FROM prs_kostensoort
|
|
WHERE prs_kostensoort_key =
|
|
f.prs_kostensoort_key)
|
|
|| '";"'
|
|
|| TO_CHAR (fac.gettrackingdate ('FINFOK',
|
|
f.fin_factuur_key
|
|
),
|
|
'yyyy-mm-dd'
|
|
)
|
|
|| '";"'
|
|
|| TO_CHAR (fac.gettrackingdate ('FINFNO',
|
|
f.fin_factuur_key
|
|
),
|
|
'yyyy-mm-dd'
|
|
)
|
|
|| '";"'
|
|
|| (SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key =
|
|
fac.gettrackinguserkey ('FINFOK',
|
|
f.fin_factuur_key
|
|
))
|
|
|| '";"'
|
|
|| f.fin_factuur_opmerking
|
|
|| '";"'
|
|
|| TO_CHAR (fac.gettrackingdate ('FINVER',
|
|
f.fin_factuur_key
|
|
),
|
|
'yyyy-mm-dd'
|
|
)
|
|
|| '";"'
|
|
|| (SELECT fin_factuur_statuses_omschr
|
|
FROM fin_factuur_statuses s
|
|
WHERE s.fin_factuur_statuses_key =
|
|
f.fin_factuur_statuses_key)
|
|
|| '";"'
|
|
|| TO_CHAR (COALESCE(fac.gettrackingdate ('FINNEW',
|
|
f.fin_factuur_key
|
|
), fin_factuur_datum),
|
|
'yyyy-mm-dd'
|
|
)
|
|
|| '";"'
|
|
|| TO_CHAR (fac.gettrackingdate ('FINVER',
|
|
f.fin_factuur_key
|
|
),
|
|
'yyyy-mm-dd'
|
|
)
|
|
|| '";"'
|
|
|| TO_CHAR (fac.gettrackingdate ('FINVER',
|
|
f.fin_factuur_key
|
|
),
|
|
'yyyymmdd'
|
|
)
|
|
|| '";"'
|
|
|| fr.fin_factuurregel_nr
|
|
|| '";"'
|
|
|| fr.fin_factuurregel_totaal
|
|
|| '";"'
|
|
|| fr.fin_factuurregel_btw
|
|
|| '";"'
|
|
|| uplift
|
|
|| '";"'
|
|
|| uplift * fr.fin_factuurregel_totaal
|
|
|| '";"'
|
|
|| aaxx_exp_escape(fr.fin_factuurregel_omschrijving)
|
|
|| '";"'
|
|
|| fr.fin_factuurregel_referentie
|
|
|| '"',
|
|
CHR (13),
|
|
''
|
|
),
|
|
CHR (10),
|
|
'<ret>'
|
|
),
|
|
1
|
|
FROM fin_factuur f,
|
|
fin_factuurregel fr,
|
|
(SELECT f2.fin_factuur_key, uplift
|
|
FROM aaxx_imp_uplift u,
|
|
prs_bedrijf b,
|
|
prs_kostensoort ks,
|
|
fin_factuur f2,
|
|
mld_opdr o,
|
|
cnt_contract c
|
|
WHERE u.prs_leverancier_nr = b.prs_leverancier_nr
|
|
AND f2.mld_opdr_key = o.mld_opdr_key(+)
|
|
AND f2.cnt_contract_key = c.cnt_contract_key(+)
|
|
AND COALESCE (o.mld_uitvoerende_keys, c.cnt_prs_bedrijf_key) =
|
|
b.prs_bedrijf_key
|
|
AND UPPER (u.prs_kostensoort_oms) = ks.prs_kostensoort_upper
|
|
AND f2.prs_kostensoort_key = ks.prs_kostensoort_key
|
|
AND soort_order = DECODE (o.mld_opdr_key, NULL, 'CO', 'WO')
|
|
AND f2.fin_factuur_boekmaand =
|
|
u.jaar || '-' || LTRIM (TO_CHAR (u.maand, '00'))) UP
|
|
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
|
AND f.fin_factuur_key = UP.fin_factuur_key(+);
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_MLD_ALGEMEEN
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_mld_algemeen (
|
|
mld_melding_key,
|
|
meldingnummer,
|
|
alg_district_omschrijving,
|
|
locatie,
|
|
locatie_omschrijving,
|
|
alg_locatie_key,
|
|
gebouw,
|
|
gebouw_naam,
|
|
verdieping,
|
|
ruimtenr,
|
|
ruimte_omschrijving,
|
|
melding_ordernr,
|
|
kostensoortgroep,
|
|
kostensoort,
|
|
kostenplaats,
|
|
kostenplaats_oms,
|
|
melder,
|
|
afdeling,
|
|
afdeling_omschrijving,
|
|
prs_bedrijf_key,
|
|
invoerder,
|
|
soortmelding,
|
|
ins_discipline_key,
|
|
productgroep,
|
|
subproductgroep,
|
|
subproductgroepgroep,
|
|
status,
|
|
sla_werkdgn,
|
|
plan_uitvoertijd,
|
|
datum,
|
|
ingezien,
|
|
geaccepteerd,
|
|
afgemeld,
|
|
doorlooptijd_werkdgn,
|
|
omschrijving,
|
|
opmerking,
|
|
opdracht_volgnummer,
|
|
opdracht_status,
|
|
opdracht_duur_gepland,
|
|
opdracht_datum,
|
|
opdracht_verzonden,
|
|
opdracht_geaccepteerd,
|
|
opdracht_afgemeld,
|
|
opdracht_doorlooptijd,
|
|
opdracht_omschrijving,
|
|
opdracht_opmerking,
|
|
opdracht_uitvoerende,
|
|
opdracht_contract,
|
|
opdracht_contactpersoon,
|
|
opdracht_uren,
|
|
opdracht_correctie,
|
|
opdracht_materiaal,
|
|
opdracht_uurtarief,
|
|
opdracht_kosten,
|
|
opdracht_kostenplaats,
|
|
opdracht_kostenplaats_oms
|
|
)
|
|
AS
|
|
SELECT mld_melding_key,
|
|
meldingnummer,
|
|
alg_district_omschrijving,
|
|
locatie,
|
|
locatie_omschrijving,
|
|
alg_locatie_key,
|
|
gebouw,
|
|
gebouw_naam,
|
|
verdieping,
|
|
ruimte,
|
|
ruimte_omschrijving,
|
|
melding_ordernr,
|
|
kostensoortgroep,
|
|
kostensoort,
|
|
kostenplaats,
|
|
kostenplaats_oms,
|
|
melder,
|
|
afdeling,
|
|
afdeling_omschrijving,
|
|
prs_bedrijf_key,
|
|
invoerder,
|
|
soortmelding,
|
|
ins_discipline_key,
|
|
productgroep,
|
|
subproductgroep,
|
|
subproductgroepgroep,
|
|
status,
|
|
sla_werkdgn,
|
|
plan_uitvoertijd,
|
|
datum,
|
|
ingezien,
|
|
geaccepteerd,
|
|
afgemeld,
|
|
doorlooptijd_werkdgn,
|
|
aaxx_exp_escape (SUBSTR (omschrijving, 1, 512)),
|
|
aaxx_exp_escape (SUBSTR (opmerking, 1, 512)),
|
|
opdracht_volgnummer,
|
|
opdracht_status,
|
|
opdracht_duur_gepland,
|
|
opdracht_datum,
|
|
opdracht_verzonden,
|
|
opdracht_geaccepteerd,
|
|
opdracht_afgemeld,
|
|
opdracht_doorlooptijd,
|
|
aaxx_exp_escape (SUBSTR (opdracht_omschrijving, 1, 512)),
|
|
aaxx_exp_escape (SUBSTR (opdracht_opmerking, 1, 512)),
|
|
opdracht_uitvoerende,
|
|
opdracht_contract,
|
|
opdracht_contactpersoon,
|
|
opdracht_uren,
|
|
opdracht_correctie,
|
|
opdracht_materiaal,
|
|
opdracht_uurtarief,
|
|
opdracht_kosten,
|
|
opdracht_kostenplaats,
|
|
opdracht_kostenplaats_oms
|
|
FROM (SELECT m.mld_melding_key,
|
|
m.mld_melding_key meldingnummer,
|
|
alg_district_omschrijving,
|
|
alg_locatie_code locatie,
|
|
alg_locatie_omschrijving locatie_omschrijving,
|
|
l.alg_locatie_key,
|
|
og.alg_gebouw_code gebouw,
|
|
og.alg_gebouw_naam gebouw_naam,
|
|
og.alg_verdieping_code verdieping,
|
|
og.alg_ruimte_nr ruimte,
|
|
og.alg_ruimte_omschrijving ruimte_omschrijving,
|
|
m.mld_melding_ordernr melding_ordernr,
|
|
(SELECT ksg.prs_kostensoortgrp_oms
|
|
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
|
|
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
|
|
AND ks.prs_kostensoort_key =
|
|
(SELECT COALESCE (sm.prs_kostensoort_key,
|
|
disc.prs_kostensoort_key
|
|
)
|
|
FROM mld_stdmelding sm, mld_discipline disc
|
|
WHERE sm.mld_ins_discipline_key =
|
|
disc.ins_discipline_key
|
|
AND sm.mld_stdmelding_key =
|
|
s.mld_stdmelding_key))
|
|
kostensoortgroep,
|
|
(SELECT ks.prs_kostensoort_oms
|
|
FROM prs_kostensoort ks
|
|
WHERE ks.prs_kostensoort_key =
|
|
(SELECT COALESCE (sm.prs_kostensoort_key,
|
|
disc.prs_kostensoort_key
|
|
)
|
|
FROM mld_stdmelding sm, mld_discipline disc
|
|
WHERE sm.mld_ins_discipline_key =
|
|
disc.ins_discipline_key
|
|
AND sm.mld_stdmelding_key =
|
|
s.mld_stdmelding_key))
|
|
kostensoort,
|
|
(SELECT k.prs_kostenplaats_nr
|
|
FROM prs_kostenplaats k
|
|
WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key)
|
|
kostenplaats,
|
|
(SELECT k.prs_kostenplaats_omschrijving
|
|
FROM prs_kostenplaats k
|
|
WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key)
|
|
kostenplaats_oms,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key = m.prs_perslid_key)
|
|
melder,
|
|
(SELECT prs_afdeling_naam
|
|
FROM prs_afdeling afd, prs_perslid pp
|
|
WHERE afd.prs_afdeling_key = pp.prs_afdeling_key
|
|
AND pp.prs_perslid_key = m.prs_perslid_key)
|
|
afdeling,
|
|
(SELECT prs_afdeling_omschrijving
|
|
FROM prs_afdeling afd, prs_perslid pp
|
|
WHERE afd.prs_afdeling_key = pp.prs_afdeling_key
|
|
AND pp.prs_perslid_key = m.prs_perslid_key)
|
|
afdeling_omschrijving,
|
|
(SELECT prs_bedrijf_key
|
|
FROM prs_v_afdeling pva, prs_perslid pp
|
|
WHERE pva.prs_afdeling_key = pp.prs_afdeling_key
|
|
AND pp.prs_perslid_key = m.prs_perslid_key)
|
|
prs_bedrijf_key,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key =
|
|
mld.getmeldinguser (m.mld_melding_key))
|
|
invoerder,
|
|
sd.ins_srtdiscipline_omschrijving soortmelding,
|
|
md.ins_discipline_key ins_discipline_key,
|
|
md.ins_discipline_omschrijving productgroep,
|
|
s.mld_stdmelding_omschrijving subproductgroep,
|
|
s.mld_stdmelding_groep subproductgroepgroep,
|
|
(SELECT DECODE(m.mld_melding_status, 4, DECODE (o.mld_opdr_key, NULL, mld_statuses_omschrijving, 'Niet opgelost'), mld_statuses_omschrijving)
|
|
FROM mld_statuses sta
|
|
WHERE sta.mld_statuses_key = m.mld_melding_status)
|
|
status,
|
|
fac.count_work_days (m.mld_melding_datum,
|
|
mld_melding_einddatum
|
|
)
|
|
sla_werkdgn,
|
|
m.mld_melding_uitvoertijd plan_uitvoertijd,
|
|
TO_CHAR (m.mld_melding_datum, 'YYYY-MM-DD HH24:MI') datum,
|
|
TO_CHAR (mld.getmeldingstatusdate (m.mld_melding_key,
|
|
3
|
|
),
|
|
'YYYY-MM-DD HH24:MI'
|
|
) ingezien,
|
|
TO_CHAR (mld.getmeldingstatusdate (m.mld_melding_key,
|
|
4
|
|
),
|
|
'YYYY-MM-DD HH24:MI'
|
|
) geaccepteerd,
|
|
COALESCE (TO_CHAR (mld.getmeldingstatusdate (m.mld_melding_key,
|
|
5
|
|
),
|
|
'YYYY-MM-DD HH24:MI'
|
|
),
|
|
TO_CHAR (mld.getmeldingstatusdate (m.mld_melding_key,
|
|
1
|
|
),
|
|
'YYYY-MM-DD HH24:MI'
|
|
)
|
|
)
|
|
afgemeld,
|
|
TO_CHAR(fac.count_work_days_incltime (m.mld_melding_datum,
|
|
COALESCE (mld.getmeldingstatusdate (m.mld_melding_key,
|
|
5
|
|
),
|
|
mld.getmeldingstatusdate (m.mld_melding_key,
|
|
1
|
|
),
|
|
SYSDATE
|
|
)
|
|
))
|
|
doorlooptijd_werkdgn,
|
|
m.mld_melding_omschrijving omschrijving,
|
|
m.mld_melding_opmerking opmerking,
|
|
o.mld_opdr_bedrijfopdr_volgnr opdracht_volgnummer,
|
|
(SELECT replace (mld_statusopdr_omschrijving, 'Uitgegeven','Toegekend') mld_statusopdr_omschrijving
|
|
FROM mld_statusopdr sta
|
|
WHERE sta.mld_statusopdr_key = o.mld_statusopdr_key)
|
|
opdracht_status,
|
|
fac.count_Work_Days(o.mld_opdr_datumbegin, o.mld_opdr_einddatum) opdracht_duur_gepland,
|
|
TO_CHAR (o.mld_opdr_datumbegin, 'YYYY-MM-DD HH24:MI') opdracht_datum,
|
|
TO_CHAR (o.mld_opdr_verzonden, 'YYYY-MM-DD HH24:MI') opdracht_verzonden,
|
|
TO_CHAR (fac.gettrackingdate ('ORDACP', o.mld_opdr_key),
|
|
'YYYY-MM-DD HH24:MI'
|
|
)
|
|
opdracht_geaccepteerd,
|
|
TO_CHAR (mld.getopdrachtstatusdate (o.mld_opdr_key, 6),
|
|
'YYYY-MM-DD HH24:MI'
|
|
)
|
|
opdracht_afgemeld,
|
|
fac.count_work_days (o.mld_opdr_datumbegin,
|
|
mld.getopdrachtstatusdate (o.mld_opdr_key,
|
|
6
|
|
)
|
|
)
|
|
opdracht_doorlooptijd,
|
|
o.mld_opdr_omschrijving opdracht_omschrijving,
|
|
o.mld_opdr_opmerking opdracht_opmerking,
|
|
(SELECT naam
|
|
FROM mld_v_uitvoerende u
|
|
WHERE u.mld_uitvoerende_key = o.mld_uitvoerende_keys)
|
|
opdracht_uitvoerende,
|
|
NULL opdracht_contract,
|
|
NULL opdracht_contactpersoon,
|
|
REPLACE (TO_CHAR (o.mld_opdr_uren, '9999990.99'), '.', ',')
|
|
opdracht_uren,
|
|
REPLACE (TO_CHAR ( o.mld_opdr_kosten
|
|
- o.mld_opdr_materiaal
|
|
- (o.mld_opdr_uren * o.mld_opdr_uurloon),
|
|
'9999990.99'
|
|
),
|
|
'.',
|
|
','
|
|
)
|
|
opdracht_correctie,
|
|
REPLACE (TO_CHAR (o.mld_opdr_materiaal, '9999990.99'),
|
|
'.',
|
|
','
|
|
)
|
|
opdracht_materiaal,
|
|
REPLACE (TO_CHAR (o.mld_opdr_uurloon, '9999990.99'), '.', ',')
|
|
opdracht_uurtarief,
|
|
REPLACE (TO_CHAR (o.mld_opdr_kosten, '9999990.99'), '.', ',')
|
|
opdracht_kosten,
|
|
(SELECT k.prs_kostenplaats_nr
|
|
FROM prs_kostenplaats k
|
|
WHERE k.prs_kostenplaats_key = o.prs_kostenplaats_key)
|
|
opdracht_kostenplaats,
|
|
(SELECT k.prs_kostenplaats_omschrijving
|
|
FROM prs_kostenplaats k
|
|
WHERE k.prs_kostenplaats_key = o.prs_kostenplaats_key)
|
|
opdracht_kostenplaats_oms
|
|
FROM mld_melding m,
|
|
mld_stdmelding s,
|
|
alg_locatie l,
|
|
alg_district d,
|
|
alg_v_allonrgoed_gegevens og,
|
|
mld_discipline md,
|
|
ins_srtdiscipline sd,
|
|
mld_opdr o
|
|
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 l.alg_district_key = d.alg_district_key
|
|
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
|
|
AND m.mld_melding_key = o.mld_melding_key(+)
|
|
AND m.mld_melding_datum >= TO_DATE ('01-01-2000', 'DD-MM-YYYY'));
|
|
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_mld_algemeen (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"MLD_MELDING_KEY";'
|
|
|| '"MELDINGNUMMER";'
|
|
|| '"ALG_DISTRICT_OMSCHRIJVING";'
|
|
|| '"LOCATIE";'
|
|
|| '"LOCATIE_OMSCHRIJVING";'
|
|
|| '"ALG_LOCATIE_KEY";'
|
|
|| '"GEBOUW";'
|
|
|| '"GEBOUW_NAAM";'
|
|
|| '"VERDIEPING";'
|
|
|| '"RUIMTENR";'
|
|
|| '"RUIMTE_OMSCHRIJVING";'
|
|
|| '"MELDING_ORDERNR";'
|
|
|| '"KOSTENSOORTGROEP";'
|
|
|| '"KOSTENSOORT";'
|
|
|| '"KOSTENPLAATS";'
|
|
|| '"KOSTENPLAATS_OMS";'
|
|
|| '"MELDER";'
|
|
|| '"PRS_PERSLID_KEY";'
|
|
|| '"AFDELING";'
|
|
|| '"AFDELING_OMSCHRIJVING";'
|
|
|| '"PRS_BEDRIJF_KEY";'
|
|
|| '"INVOERDER";'
|
|
|| '"INVOERDER_KEY";'
|
|
|| '"SOORTMELDING";'
|
|
|| '"INS_DISCIPLINE_KEY";'
|
|
|| '"INS_SRTDISCIPLINE_PREFIX";'
|
|
|| '"PRODUCTGROEP";'
|
|
|| '"SUBPRODUCTGROEP";'
|
|
|| '"SUBPRODUCTGROEPGROEP";'
|
|
|| '"STATUS";'
|
|
|| '"SLA_WERKDGN";'
|
|
|| '"PLAN_UITVOERTIJD";'
|
|
|| '"DATUM";'
|
|
|| '"INGEZIEN";'
|
|
|| '"GEACCEPTEERD";'
|
|
|| '"AFGEMELD";'
|
|
|| '"DOORLOOPTIJD_WERKDGN";'
|
|
|| '"OMSCHRIJVING";'
|
|
|| '"OPMERKING";'
|
|
|| '"OPDRACHT_VOLGNUMMER";'
|
|
|| '"OPDRACHT_TYPE";'
|
|
|| '"OPDRACHT_STATUS";'
|
|
|| '"OPDRACHT_DUUR_GEPLAND";'
|
|
|| '"OPDRACHT_DATUM";'
|
|
|| '"OPDRACHT_VERZONDEN";'
|
|
|| '"OPDRACHT_GEACCEPTEERD";'
|
|
|| '"OPDRACHT_AFGEMELD";'
|
|
|| '"OPDRACHT_DOORLOOPTIJD";'
|
|
|| '"OPDRACHT_OMSCHRIJVING";'
|
|
|| '"OPDRACHT_OPMERKING";'
|
|
|| '"OPDRACHT_UITVOERENDE";'
|
|
|| '"OPDRACHT_CONTRACT";'
|
|
|| '"OPDRACHT_CONTACTPERSOON";'
|
|
|| '"OPDRACHT_UREN";'
|
|
|| '"OPDRACHT_CORRECTIE";'
|
|
|| '"OPDRACHT_MATERIAAL";'
|
|
|| '"OPDRACHT_UURTARIEF";'
|
|
|| '"OPDRACHT_KOSTEN";'
|
|
|| '"OPDRACHT_KOSTENPLAATS";'
|
|
|| '"OPDRACHT_KOSTENPLAATS_OMS"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT REPLACE (REPLACE ( '"'
|
|
|| qvw.mld_melding_key
|
|
|| '";"'
|
|
|| meldingnummer
|
|
|| '";"'
|
|
|| alg_district_omschrijving
|
|
|| '";"'
|
|
|| locatie
|
|
|| '";"'
|
|
|| locatie_omschrijving
|
|
|| '";"'
|
|
|| alg_locatie_key
|
|
|| '";"'
|
|
|| gebouw
|
|
|| '";"'
|
|
|| gebouw_naam
|
|
|| '";"'
|
|
|| verdieping
|
|
|| '";"'
|
|
|| ruimtenr
|
|
|| '";"'
|
|
|| ruimte_omschrijving
|
|
|| '";"'
|
|
|| melding_ordernr
|
|
|| '";"'
|
|
|| kostensoortgroep
|
|
|| '";"'
|
|
|| kostensoort
|
|
|| '";"'
|
|
|| kostenplaats
|
|
|| '";"'
|
|
|| kostenplaats_oms
|
|
|| '";"'
|
|
|| melder
|
|
|| '";"'
|
|
|| prs_perslid_key
|
|
|| '";"'
|
|
|| afdeling
|
|
|| '";"'
|
|
|| afdeling_omschrijving
|
|
|| '";"'
|
|
|| prs_bedrijf_key
|
|
|| '";"'
|
|
|| invoerder
|
|
|| '";"'
|
|
|| fac.gettrackinguserkey ('MLDNEW',
|
|
m.mld_melding_key
|
|
)
|
|
|| '";"'
|
|
|| soortmelding
|
|
|| '";"'
|
|
|| ins_discipline_key
|
|
|| '";"'
|
|
|| (SELECT ins_srtdiscipline_prefix
|
|
FROM ins_srtdiscipline sd,
|
|
ins_tab_discipline d
|
|
WHERE qvw.ins_discipline_key =
|
|
d.ins_discipline_key
|
|
AND d.ins_srtdiscipline_key =
|
|
sd.ins_srtdiscipline_key)
|
|
|| '";"'
|
|
|| productgroep
|
|
|| '";"'
|
|
|| subproductgroep
|
|
|| '";"'
|
|
|| subproductgroepgroep
|
|
|| '";"'
|
|
|| status
|
|
|| '";"'
|
|
|| sla_werkdgn
|
|
|| '";"'
|
|
|| plan_uitvoertijd
|
|
|| '";"'
|
|
|| datum
|
|
|| '";"'
|
|
|| ingezien
|
|
|| '";"'
|
|
|| geaccepteerd
|
|
|| '";"'
|
|
|| afgemeld
|
|
|| '";"'
|
|
|| doorlooptijd_werkdgn
|
|
|| '";"'
|
|
|| omschrijving
|
|
|| '";"'
|
|
|| opmerking
|
|
|| '";"'
|
|
|| opdracht_volgnummer
|
|
|| '";"'
|
|
|| (SELECT mld_typeopdr_omschrijving
|
|
FROM mld_opdr o, mld_typeopdr t
|
|
WHERE m.mld_melding_key = o.mld_melding_key
|
|
AND qvw.opdracht_volgnummer =
|
|
o.mld_opdr_bedrijfopdr_volgnr
|
|
AND o.mld_typeopdr_key =
|
|
t.mld_typeopdr_key)
|
|
|| '";"'
|
|
|| opdracht_status
|
|
|| '";"'
|
|
|| opdracht_duur_gepland
|
|
|| '";"'
|
|
|| opdracht_datum
|
|
|| '";"'
|
|
|| opdracht_verzonden
|
|
|| '";"'
|
|
|| opdracht_geaccepteerd
|
|
|| '";"'
|
|
|| opdracht_afgemeld
|
|
|| '";"'
|
|
|| opdracht_doorlooptijd
|
|
|| '";"'
|
|
|| opdracht_omschrijving
|
|
|| '";"'
|
|
|| opdracht_opmerking
|
|
|| '";"'
|
|
|| opdracht_uitvoerende
|
|
|| '";"'
|
|
|| opdracht_contract
|
|
|| '";"'
|
|
|| opdracht_contactpersoon
|
|
|| '";"'
|
|
|| opdracht_uren
|
|
|| '";"'
|
|
|| opdracht_correctie
|
|
|| '";"'
|
|
|| opdracht_materiaal
|
|
|| '";"'
|
|
|| opdracht_uurtarief
|
|
|| '";"'
|
|
|| opdracht_kosten
|
|
|| '";"'
|
|
|| opdracht_kostenplaats
|
|
|| '";"'
|
|
|| opdracht_kostenplaats_oms
|
|
|| '"',
|
|
CHR (13),
|
|
''
|
|
),
|
|
CHR (10),
|
|
'<ret>'
|
|
),
|
|
1
|
|
FROM aaxx_v_mld_algemeen qvw, mld_melding m
|
|
WHERE qvw.mld_melding_key = m.mld_melding_key
|
|
UNION ALL
|
|
SELECT REPLACE (REPLACE ( '"'
|
|
|| cnt_contract_key
|
|
|| '";"'
|
|
|| cnt_contract_nummer_intern || '.' || COALESCE(cnt_contract_versie, '0')
|
|
|| '";"";"";"";"";"";"";"";"";"";"";"'
|
|
|| kg.prs_kostensoortgrp_oms
|
|
|| '";"'
|
|
|| prs_kostensoort_oms
|
|
|| '";"'
|
|
|| prs_kostenplaats_nr
|
|
|| '";"'
|
|
|| prs_kostenplaats_omschrijving
|
|
|| '";"'
|
|
|| prs_perslid_naam_full
|
|
|| '";"'
|
|
|| c.prs_perslid_key_beh
|
|
|| '";"'
|
|
|| prs_afdeling_naam
|
|
|| '";"'
|
|
|| prs_afdeling_omschrijving
|
|
|| '";"'
|
|
|| a.prs_bedrijf_key
|
|
|| '";"";"";"'
|
|
|| 'Contract'
|
|
|| '";"'
|
|
|| c.ins_discipline_key
|
|
|| '";"'
|
|
|| 'C'
|
|
|| '";"'
|
|
|| d.ins_discipline_omschrijving
|
|
|| '";"";"";"'
|
|
|| DECODE (SIGN(cnt_contract_looptijd_van
|
|
- SYSDATE),
|
|
1,
|
|
'Toekomst',
|
|
-1,
|
|
DECODE (SIGN(cnt_contract_looptijd_tot
|
|
- SYSDATE),
|
|
1,
|
|
'Actueel',
|
|
-1,
|
|
'Verlopen'
|
|
)
|
|
)
|
|
|| '";"";"";"";"";"";"";"";"'
|
|
|| aaxx_exp_escape(substr(c.cnt_contract_document, 1, 1000))
|
|
|| '";"";"'
|
|
|| '1'
|
|
|| '";"'
|
|
|| 'Contract Order'
|
|
|| '";"'
|
|
|| DECODE (SIGN (cnt_contract_looptijd_tot - SYSDATE), 1, 'Uitgegeven',
|
|
-1, 'Afgemeld')
|
|
|| '";"";"";"";"";"";"";"";"";"'
|
|
|| b.prs_bedrijf_naam
|
|
|| '";"";"";"";"";"";"";"'
|
|
|| REPLACE (TO_CHAR (c.cnt_contract_kosten,
|
|
'9999990.99'
|
|
),
|
|
'.',
|
|
','
|
|
)
|
|
|| '";"'
|
|
|| prs_kostenplaats_nr
|
|
|| '";"'
|
|
|| prs_kostenplaats_omschrijving
|
|
|| '"',
|
|
CHR (13),
|
|
''
|
|
),
|
|
CHR (10),
|
|
'<ret>'
|
|
),
|
|
2
|
|
FROM cnt_contract c,
|
|
ins_tab_discipline d,
|
|
prs_kostensoort ks,
|
|
prs_kostensoortgrp kg,
|
|
prs_kostenplaats kp,
|
|
prs_v_perslid_fullnames pf,
|
|
prs_v_afdeling a,
|
|
prs_bedrijf b
|
|
WHERE c.ins_discipline_key = d.ins_discipline_key
|
|
AND d.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
|
AND ks.prs_kostensoortgrp_key = kg.prs_kostensoortgrp_key(+)
|
|
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
|
AND c.prs_perslid_key_beh = pf.prs_perslid_key
|
|
AND c.prs_afdeling_key_eig = a.prs_afdeling_key(+)
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND c.cnt_contract_verwijder IS NULL
|
|
UNION ALL
|
|
SELECT REPLACE (
|
|
REPLACE (
|
|
'"'
|
|
|| bes_bestelling_key
|
|
|| '";"'
|
|
|| bestelaanvraagnr
|
|
|| '";"'
|
|
|| alg_district_omschrijving
|
|
|| '";"'
|
|
|| alg_locatie_code
|
|
|| '";"'
|
|
|| alg_locatie_omschrijving
|
|
|| '";"'
|
|
|| alg_locatie_key
|
|
|| '";"'
|
|
|| alg_gebouw_code
|
|
|| '";"'
|
|
|| alg_gebouw_naam
|
|
|| '";"' -- verdieping
|
|
|| '";"' -- ruimte_nr
|
|
|| '";"' -- ruimte_omschrijving
|
|
|| '";"'
|
|
|| bes_bestelling_ordernr
|
|
|| '";"'
|
|
|| kostensoortgroep
|
|
|| '";"'
|
|
|| kostensoort
|
|
|| '";"'
|
|
|| kpn
|
|
|| '";"'
|
|
|| kpn_omschrijving
|
|
|| '";"'
|
|
|| besteller
|
|
|| '";"'
|
|
|| prs_perslid_key_best
|
|
|| '";"'
|
|
|| afdeling_code
|
|
|| '";"'
|
|
|| afdeling_omschrijving
|
|
|| '";"'
|
|
|| prs_bedrijf_key
|
|
|| '";"'
|
|
|| invoerder
|
|
|| '";"'
|
|
|| invoerder_key
|
|
|| '";"'
|
|
|| 'Bestelling'
|
|
|| '";"'
|
|
|| ins_discipline_key
|
|
|| '";"'
|
|
|| 'BE'
|
|
|| '";"'
|
|
|| ins_discipline_omschrijving
|
|
|| '";"' -- stdmelding
|
|
|| '";"'
|
|
|| kostensoortgroep
|
|
|| '";"'
|
|
|| status
|
|
|| '";"'
|
|
|| sla_tijd
|
|
|| '";"'
|
|
|| sla_tijd
|
|
|| '";"'
|
|
|| besteldatum
|
|
|| '";"' -- datum ingezien
|
|
|| '";"'
|
|
|| acceptatie_datum
|
|
|| '";"'
|
|
|| ontvangen_datum
|
|
|| '";"'
|
|
|| doorlooptijd_werkdgn
|
|
|| '";"'
|
|
|| omschrijving
|
|
|| '";"' -- opmerking
|
|
|| '";"'
|
|
|| opdr_volgnr
|
|
|| '";"'
|
|
|| 'Purchase Order'
|
|
|| '";"'
|
|
|| opdr_status
|
|
|| '";"'
|
|
|| decode(opdr_volgnr, null, null, sla_tijd)
|
|
|| '";"'
|
|
|| opdr_datum
|
|
|| '";"' -- opdr geaccepteerd
|
|
|| '";"'
|
|
|| verzonden_datum
|
|
|| '";"'
|
|
|| opdr_ontv_datum
|
|
|| '";"'
|
|
|| decode(opdr_volgnr, null, null, doorlooptijd_werkdgn)
|
|
|| '";"'
|
|
|| opdr_omschrijving
|
|
|| '";"'
|
|
|| bes_bestelopdr_opmerking
|
|
|| '";"'
|
|
|| leverancier
|
|
|| '";"' -- contract
|
|
|| '";"' -- contactpersoon
|
|
|| '";"' -- uren
|
|
|| '";"' -- correctie
|
|
|| '";"' -- materiaal
|
|
|| '";"' -- uurtarief
|
|
|| '";"'
|
|
|| REPLACE (TO_CHAR (opdr_kosten,
|
|
'9999990.99'
|
|
),
|
|
'.',
|
|
','
|
|
)
|
|
|| '";"'
|
|
|| decode(opdr_volgnr, null, null, kpn)
|
|
|| '";"'
|
|
|| decode(opdr_volgnr, null, null, kpn_omschrijving)
|
|
|| '"',
|
|
CHR (13),
|
|
''),
|
|
CHR (10),
|
|
'<ret>'),
|
|
3
|
|
FROM (SELECT b.bes_bestelling_key bes_bestelling_key,
|
|
b.bes_bestelling_key bestelaanvraagnr,
|
|
di.alg_district_omschrijving,
|
|
l.alg_locatie_code,
|
|
l.alg_locatie_omschrijving,
|
|
l.alg_locatie_key,
|
|
g.alg_gebouw_code,
|
|
g.alg_gebouw_naam,
|
|
b.bes_bestelling_ordernr,
|
|
TO_CHAR (b.bes_bestelling_datum, 'YYYY-MM-DD HH24:MI') besteldatum,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key = p.prs_perslid_key)
|
|
besteller,
|
|
p.prs_perslid_key prs_perslid_key_best,
|
|
(SELECT MAX (prs_perslid_naam_full)
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key =
|
|
fac.gettrackinguserkey ('BESAP2',
|
|
b.bes_bestelling_key))
|
|
invoerder,
|
|
fac.gettrackinguserkey ('BESAP2', b.bes_bestelling_key)
|
|
invoerder_key,
|
|
TO_CHAR (fac.gettrackingdate ('BESACP', b.bes_bestelling_key), 'YYYY-MM-DD HH24:MI')
|
|
acceptatie_datum,
|
|
TO_CHAR (fac.gettrackingdate ('BESOTV', b.bes_bestelling_key), 'YYYY-MM-DD HH24:MI')
|
|
ontvangen_datum,
|
|
aaxx_bestelling_items (b.bes_bestelling_key) omschrijving,
|
|
(SELECT ksg.prs_kostensoortgrp_oms
|
|
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
|
|
WHERE ksg.PRS_KOSTENSOORTGRP_KEY = ks.PRS_KOSTENSOORTGRP_KEY
|
|
AND ks.PRS_KOSTENSOORT_KEY = d.prs_kostensoort_key)
|
|
kostensoortgroep,
|
|
(SELECT ks.prs_kostensoort_oms
|
|
FROM prs_kostensoort ks
|
|
WHERE ks.PRS_KOSTENSOORT_KEY = d.prs_kostensoort_key)
|
|
kostensoort,
|
|
k.prs_kostenplaats_nr kpn,
|
|
k.prs_kostenplaats_omschrijving kpn_omschrijving,
|
|
a.prs_afdeling_naam afdeling_code,
|
|
a.prs_afdeling_omschrijving afdeling_omschrijving,
|
|
d.ins_discipline_key,
|
|
d.ins_discipline_omschrijving,
|
|
TO_CHAR (b.bes_bestelling_leverdatum, 'YYYY-MM-DD HH24:MI')
|
|
afleverdatum,
|
|
TO_CHAR(fac.count_work_days (
|
|
b.bes_bestelling_datum,
|
|
NVL (
|
|
fac.gettrackingdate ('BESOTV',
|
|
b.bes_bestelling_key),
|
|
SYSDATE)))
|
|
doorlooptijd_werkdgn,
|
|
NVL (
|
|
(SELECT bdp.bes_disc_params_leverdagen
|
|
FROM bes_disc_params bdp
|
|
WHERE d.ins_discipline_key = bdp.bes_ins_discipline_key),
|
|
0)
|
|
sla_tijd,
|
|
(SELECT bes_bestellingstatuses_omschr
|
|
FROM bes_bestellingstatuses bs
|
|
WHERE bs.bes_bestellingstatuses_key =
|
|
b.bes_bestelling_status)
|
|
status,
|
|
(SELECT b.prs_bedrijf_naam
|
|
FROM prs_bedrijf b
|
|
WHERE b.prs_bedrijf_key = bo.prs_bedrijf_key)
|
|
leverancier,
|
|
(SELECT bes_bestelopdrstatuses_omschr
|
|
FROM bes_bestelopdrstatuses bs
|
|
WHERE bs.bes_bestelopdrstatuses_key =
|
|
bo.bes_bestelopdr_status)
|
|
opdr_status,
|
|
SUBSTR (bo.bes_bestelopdr_id,
|
|
INSTR (bo.bes_bestelopdr_id, '/') + 1)
|
|
opdr_volgnr,
|
|
TO_CHAR (bo.bes_bestelopdr_datum, 'YYYY-MM-DD') opdr_datum,
|
|
TO_CHAR (fac.gettrackingdate ('BES2SN', bo.bes_bestelopdr_key), 'YYYY-MM-DD HH24:MI')
|
|
verzonden_datum,
|
|
TO_CHAR (fac.gettrackingdate ('BES2AF', bo.bes_bestelopdr_key), 'YYYY-MM-DD HH24:MI')
|
|
opdr_ontv_datum,
|
|
bes_bestelopdr_items (bo.bes_bestelopdr_key) opdr_omschrijving,
|
|
bes_bestelopdr_opmerking,
|
|
(SELECT SUM(bes_bestelopdr_item_aantal
|
|
* bes_bestelopdr_item_prijs)
|
|
FROM bes_bestelopdr_item boi
|
|
WHERE boi.bes_bestelopdr_key = bo.bes_bestelopdr_key)
|
|
opdr_kosten,
|
|
bo.prs_bedrijf_key
|
|
FROM bes_bestelling b,
|
|
prs_perslid p,
|
|
prs_kostenplaats k,
|
|
prs_afdeling a,
|
|
mld_adres ma,
|
|
bes_bestelopdr bo,
|
|
ins_tab_discipline d,
|
|
alg_gebouw g,
|
|
alg_locatie l,
|
|
alg_district di,
|
|
(SELECT DISTINCT bes_bestelling_key, bes_bestelopdr_key
|
|
FROM bes_bestelling_item bi, bes_bestelopdr_item boi
|
|
WHERE bi.bes_bestelopdr_item_key =
|
|
boi.bes_bestelopdr_item_key) bes_opdr,
|
|
(SELECT DISTINCT bes_bestelling_key, ins_discipline_key
|
|
FROM bes_bestelling_item bi,
|
|
bes_srtdeel sd,
|
|
bes_srtgroep sg
|
|
WHERE bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
|
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key) cat,
|
|
(SELECT mld_adres_key,
|
|
max(alg_gebouw_key) alg_gebouw_key
|
|
FROM alg_gebouw
|
|
GROUP BY mld_adres_key) adr_geb
|
|
WHERE b.prs_perslid_key = p.prs_perslid_key
|
|
AND b.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND p.prs_afdeling_key = a.prs_afdeling_key
|
|
AND b.mld_adres_key_lev = ma.mld_adres_key
|
|
AND b.bes_bestelling_key = bes_opdr.bes_bestelling_key(+)
|
|
AND bes_opdr.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
|
|
AND ma.alg_locatie_key = l.alg_locatie_key(+)
|
|
AND l.alg_district_key = di.alg_district_key(+)
|
|
AND b.bes_bestelling_key = cat.bes_bestelling_key
|
|
AND cat.ins_discipline_key = d.ins_discipline_key
|
|
AND ma.mld_adres_key = adr_geb.mld_adres_key(+)
|
|
AND adr_geb.alg_gebouw_key = g.alg_gebouw_key(+));
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_MLD_KENM_MLD
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_mld_kenm_mld (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"MLD_MELDING_ID";"MLD_KENMERK_OMSCHRIJVING";"MLD_KENMERK_WAARDE"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT '"'
|
|
|| mld_melding_key
|
|
|| '";"'
|
|
|| sk.mld_srtkenmerk_omschrijving
|
|
|| '";"'
|
|
|| aaxx_exp_escape (REPLACE (REPLACE (DECODE (sk.mld_srtkenmerk_kenmerktype,
|
|
'R', (SELECT fac_usrdata_omschr
|
|
FROM fac_usrdata
|
|
WHERE fac_usrdata_key =
|
|
mld_kenmerkmelding_waarde),
|
|
'S', (SELECT fac_usrdata_omschr
|
|
FROM fac_usrdata
|
|
WHERE fac_usrdata_key =
|
|
mld_kenmerkmelding_waarde),
|
|
'D', TO_CHAR (fac.safe_to_date (mld_kenmerkmelding_waarde,
|
|
'dd-mm-yyyy'
|
|
),
|
|
'yyyy-mm-dd'
|
|
),
|
|
mld_kenmerkmelding_waarde),
|
|
CHR (13),
|
|
''
|
|
),
|
|
CHR (10),
|
|
'<ret>'
|
|
))
|
|
|| '"',
|
|
1
|
|
FROM mld_kenmerk k, mld_srtkenmerk sk, mld_kenmerkmelding km
|
|
WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
|
AND km.mld_kenmerk_key = k.mld_kenmerk_key;
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_MLD_KENM_OPD
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_mld_kenm_opd (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"MLD_OPDR_ID";"MLD_KENMERK_OMSCHRIJVING";"MLD_KENMERK_WAARDE"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT '"'
|
|
|| mld_melding_key || '/' || mld_opdr_bedrijfopdr_volgnr
|
|
|| '";"'
|
|
|| sk.mld_srtkenmerk_omschrijving
|
|
|| '";"'
|
|
|| aaxx_exp_escape (REPLACE (REPLACE (DECODE (sk.mld_srtkenmerk_kenmerktype,
|
|
'R', (SELECT fac_usrdata_omschr
|
|
FROM fac_usrdata
|
|
WHERE fac_usrdata_key =
|
|
mld_kenmerkopdr_waarde),
|
|
'S', (SELECT fac_usrdata_omschr
|
|
FROM fac_usrdata
|
|
WHERE fac_usrdata_key =
|
|
mld_kenmerkopdr_waarde),
|
|
'D', TO_CHAR (fac.safe_to_date (mld_kenmerkopdr_waarde,
|
|
'dd-mm-yyyy'
|
|
),
|
|
'yyyy-mm-dd'
|
|
),
|
|
mld_kenmerkopdr_waarde),
|
|
CHR (13),
|
|
''
|
|
),
|
|
CHR (10),
|
|
'<ret>'
|
|
))
|
|
|| '"',
|
|
1
|
|
FROM mld_kenmerk k, mld_srtkenmerk sk, mld_kenmerkopdr ko, mld_opdr o
|
|
WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
|
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND ko.mld_opdr_key = o.mld_opdr_key;
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_RES_ALGEMEEN
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_res_algemeen (
|
|
res_reservering_key,
|
|
nummer,
|
|
res_omschrijving,
|
|
invoerdatum,
|
|
datum,
|
|
gastheer,
|
|
res_rsv_ruimte_host_key,
|
|
contact,
|
|
res_rsv_ruimte_contact_key,
|
|
invoerder,
|
|
invoerder_key,
|
|
kostensoortgroep,
|
|
kostensoort,
|
|
kpn,
|
|
kpn_omschrijving,
|
|
prs_bedrijf_key,
|
|
afdeling_code,
|
|
afdeling_omschrijving,
|
|
district_omschrijving,
|
|
alg_locatie_key,
|
|
locatie,
|
|
locatie_omschrijving,
|
|
gebouw,
|
|
verdieping,
|
|
ruimte,
|
|
opstelling,
|
|
no_show,
|
|
mandaat,
|
|
personeelsnr,
|
|
bsn,
|
|
werkplek,
|
|
ins_discipline_key,
|
|
catalogus_ins_discipline_key,
|
|
catalogus,
|
|
reserveerbare_ruimte,
|
|
bezoekers,
|
|
van,
|
|
tot,
|
|
duur,
|
|
status,
|
|
activiteit,
|
|
voorziening_ins_discipline_key,
|
|
voorziening_catalogus,
|
|
voorziening_product,
|
|
voorziening_totaalprijs,
|
|
voorziening_van,
|
|
voorziening_tot,
|
|
voorziening_aantal,
|
|
voorziening_prijs,
|
|
voorziening_inkoopprijs,
|
|
voorziening_btw,
|
|
voorziening_afgemeld
|
|
)
|
|
AS
|
|
SELECT res.res_reservering_key,
|
|
res.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr,
|
|
aaxx_exp_escape (rrr.res_rsv_ruimte_omschrijving),
|
|
TO_CHAR (NVL (rrr.res_rsv_ruimte_aanmaak, voorz.van), 'YYYY-MM-DD'),
|
|
TO_CHAR (NVL (rrr.res_rsv_ruimte_van, voorz.van), 'YYYY-MM-DD'),
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_host_key),
|
|
rrr.res_rsv_ruimte_host_key,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_contact_key),
|
|
rrr.res_rsv_ruimte_contact_key,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM fac_tracking t, fac_srtnotificatie sn, prs_v_perslid_fullnames_all pf
|
|
WHERE sn.fac_srtnotificatie_code = 'RESNEW'
|
|
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
|
AND t.prs_perslid_key = pf.prs_perslid_key
|
|
AND fac_tracking_refkey = rrr.res_rsv_ruimte_key),
|
|
(SELECT prs_perslid_key
|
|
FROM fac_tracking t, fac_srtnotificatie sn
|
|
WHERE sn.fac_srtnotificatie_code = 'RESNEW'
|
|
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
|
AND fac_tracking_refkey = rrr.res_rsv_ruimte_key),
|
|
(SELECT ksg.prs_kostensoortgrp_oms
|
|
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
|
|
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
|
|
AND ks.prs_kostensoort_key =
|
|
(SELECT disc.prs_kostensoort_key
|
|
FROM res_discipline disc
|
|
WHERE disc.ins_discipline_key =
|
|
COALESCE (voorz.ins_discipline_key,
|
|
(SELECT ins_discipline_key
|
|
FROM ins_tab_discipline d,
|
|
res_ruimte_opstelling ro,
|
|
res_ruimte rr
|
|
WHERE rrr.res_ruimte_opstel_key =
|
|
ro.res_ruimte_opstel_key
|
|
AND ro.res_ruimte_key =
|
|
rr.res_ruimte_key
|
|
AND rr.res_discipline_key =
|
|
d.ins_discipline_key)
|
|
)))
|
|
kostensoortgroep,
|
|
(SELECT ks.prs_kostensoort_oms
|
|
FROM prs_kostensoort ks
|
|
WHERE ks.prs_kostensoort_key =
|
|
(SELECT disc.prs_kostensoort_key
|
|
FROM res_discipline disc
|
|
WHERE disc.ins_discipline_key =
|
|
COALESCE (voorz.ins_discipline_key,
|
|
(SELECT ins_discipline_key
|
|
FROM ins_tab_discipline d,
|
|
res_ruimte_opstelling ro,
|
|
res_ruimte rr
|
|
WHERE rrr.res_ruimte_opstel_key =
|
|
ro.res_ruimte_opstel_key
|
|
AND ro.res_ruimte_key =
|
|
rr.res_ruimte_key
|
|
AND rr.res_discipline_key =
|
|
d.ins_discipline_key)
|
|
)))
|
|
kostensoort,
|
|
k.prs_kostenplaats_nr,
|
|
k.prs_kostenplaats_omschrijving,
|
|
(SELECT prs_bedrijf_key
|
|
FROM prs_v_afdeling pva
|
|
WHERE pva.prs_afdeling_key = a.prs_afdeling_key),
|
|
a.prs_afdeling_naam,
|
|
a.prs_afdeling_omschrijving,
|
|
(SELECT d.alg_district_omschrijving
|
|
FROM alg_district d,
|
|
alg_locatie l,
|
|
alg_gebouw g,
|
|
alg_verdieping v,
|
|
alg_ruimte r
|
|
WHERE d.alg_district_key = l.alg_district_key
|
|
AND l.alg_locatie_key = g.alg_locatie_key
|
|
AND g.alg_gebouw_key = v.alg_gebouw_key
|
|
AND v.alg_verdieping_key = r.alg_verdieping_key
|
|
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
|
(SELECT l.alg_locatie_key
|
|
FROM alg_locatie l, alg_gebouw g, alg_verdieping v, alg_ruimte r
|
|
WHERE l.alg_locatie_key = g.alg_locatie_key
|
|
AND g.alg_gebouw_key = v.alg_gebouw_key
|
|
AND v.alg_verdieping_key = r.alg_verdieping_key
|
|
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
|
(SELECT alg_locatie_code
|
|
FROM alg_locatie l, alg_gebouw g, alg_verdieping v, alg_ruimte r
|
|
WHERE l.alg_locatie_key = g.alg_locatie_key
|
|
AND g.alg_gebouw_key = v.alg_gebouw_key
|
|
AND v.alg_verdieping_key = r.alg_verdieping_key
|
|
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
|
(SELECT alg_locatie_omschrijving
|
|
FROM alg_locatie l, alg_gebouw g, alg_verdieping v, alg_ruimte r
|
|
WHERE l.alg_locatie_key = g.alg_locatie_key
|
|
AND g.alg_gebouw_key = v.alg_gebouw_key
|
|
AND v.alg_verdieping_key = r.alg_verdieping_key
|
|
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
|
(SELECT alg_gebouw_code
|
|
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
|
|
WHERE g.alg_gebouw_key = v.alg_gebouw_key
|
|
AND v.alg_verdieping_key = r.alg_verdieping_key
|
|
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
|
(SELECT alg_verdieping_code
|
|
FROM alg_verdieping v, alg_ruimte r
|
|
WHERE v.alg_verdieping_key = r.alg_verdieping_key
|
|
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
|
|
(SELECT alg_ruimte_nr
|
|
FROM alg_ruimte r
|
|
WHERE r.alg_ruimte_key = r2a.alg_ruimte_key),
|
|
r2a.opstelling,
|
|
rrr.res_rsv_ruimte_noshow,
|
|
NVL ( (SELECT pr.fac_profiel_limiet
|
|
FROM fac_profiel pr
|
|
WHERE p.fac_profiel_key = pr.fac_profiel_key), 0
|
|
),
|
|
prs_perslid_nr,
|
|
NULL,
|
|
wp2.prs_werkplek_aanduiding,
|
|
COALESCE (voorz.ins_discipline_key,
|
|
(SELECT ins_discipline_key
|
|
FROM ins_tab_discipline d,
|
|
res_ruimte_opstelling ro,
|
|
res_ruimte rr
|
|
WHERE rrr.res_ruimte_opstel_key =
|
|
ro.res_ruimte_opstel_key
|
|
AND ro.res_ruimte_key = rr.res_ruimte_key
|
|
AND rr.res_discipline_key = d.ins_discipline_key)
|
|
),
|
|
(SELECT ins_discipline_key
|
|
FROM ins_tab_discipline d, res_ruimte_opstelling ro, res_ruimte rr
|
|
WHERE rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
|
AND ro.res_ruimte_key = rr.res_ruimte_key
|
|
AND rr.res_discipline_key = d.ins_discipline_key),
|
|
(SELECT ins_discipline_omschrijving
|
|
FROM ins_tab_discipline d, res_ruimte_opstelling ro, res_ruimte rr
|
|
WHERE rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
|
AND ro.res_ruimte_key = rr.res_ruimte_key
|
|
AND rr.res_discipline_key = d.ins_discipline_key),
|
|
DECODE (rrr.alg_ruimte_key, NULL, 'Ja', 'Nee'),
|
|
TO_CHAR (rrr.res_rsv_ruimte_bezoekers),
|
|
TO_CHAR (rrr.res_rsv_ruimte_van, 'hh24:mi'),
|
|
TO_CHAR (rrr.res_rsv_ruimte_tot, 'hh24:mi'),
|
|
TO_CHAR (NVL ( (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van)
|
|
* 24,
|
|
0
|
|
),
|
|
'999999990.99'
|
|
),
|
|
(SELECT res_status_bo_omschrijving
|
|
FROM res_status_bo rs
|
|
WHERE rs.res_status_bo_key = COALESCE (voorz.res_status_bo_key, rrr.res_status_bo_key)),
|
|
(SELECT res_activiteit_omschrijving
|
|
FROM res_activiteit ra
|
|
WHERE ra.res_activiteit_key = rrr.res_activiteit_key),
|
|
voorz.ins_discipline_key,
|
|
voorz.catalogus,
|
|
voorz.product,
|
|
REPLACE (TO_CHAR (voorz.totaalprijs), '.', ','),
|
|
TO_CHAR (voorz.van, 'hh24:mi'),
|
|
TO_CHAR (voorz.tot, 'hh24:mi'),
|
|
REPLACE (TO_CHAR (voorz.aantal), '.', ','),
|
|
REPLACE (TO_CHAR (voorz.prijs), '.', ','),
|
|
REPLACE (TO_CHAR (voorz.inkoopprijs), '.', ','),
|
|
REPLACE (TO_CHAR (voorz.btw), '.', ','),
|
|
voorz.afgemeld
|
|
FROM res_v_aanwezigrsv_ruimte rrr,
|
|
res_reservering res,
|
|
prs_kostenplaats k,
|
|
prs_perslid p,
|
|
prs_afdeling a,
|
|
(SELECT res_rsv_ruimte_key,
|
|
MAX (o.res_opstelling_omschrijving) opstelling,
|
|
MAX (ra.alg_ruimte_key) alg_ruimte_key
|
|
FROM res_rsv_ruimte r,
|
|
res_ruimte_opstelling ro,
|
|
res_opstelling o,
|
|
res_ruimte rr,
|
|
res_alg_ruimte ra
|
|
WHERE r.res_rsv_ruimte_verwijder IS NULL
|
|
AND r.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
|
AND ro.res_ruimte_key = rr.res_ruimte_key
|
|
AND ro.res_opstelling_key = o.res_opstelling_key
|
|
AND rr.res_ruimte_key = ra.res_ruimte_key
|
|
GROUP BY res_rsv_ruimte_key
|
|
UNION ALL
|
|
SELECT res_rsv_ruimte_key, '' opstelling, alg_ruimte_key
|
|
FROM res_rsv_ruimte
|
|
WHERE alg_ruimte_key IS NOT NULL) r2a,
|
|
(SELECT rrd.res_rsv_ruimte_key res_rsv_ruimte_key,
|
|
d.ins_deel_omschrijving product,
|
|
rrd.res_status_bo_key,
|
|
DECODE (rd.res_deel_prijs_vast,
|
|
1,
|
|
NVL (rrd.res_rsv_deel_prijs, rd.res_deel_prijs),
|
|
(rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van)
|
|
* 24
|
|
* NVL (rrd.res_rsv_deel_prijs, rd.res_deel_prijs)
|
|
)
|
|
totaalprijs,
|
|
rrd.res_rsv_deel_van van,
|
|
rrd.res_rsv_deel_tot tot,
|
|
(rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van) * 24 aantal,
|
|
NVL (rrd.res_rsv_deel_prijs, rd.res_deel_prijs) prijs,
|
|
null inkoopprijs,
|
|
null btw,
|
|
'' afgemeld,
|
|
c.ins_discipline_key ins_discipline_key,
|
|
c.ins_discipline_omschrijving catalogus
|
|
FROM res_v_aanwezigrsv_deel rrd,
|
|
res_deel rd,
|
|
ins_deel d,
|
|
ins_tab_discipline c
|
|
WHERE rrd.res_deel_key = rd.res_deel_key
|
|
AND d.ins_deel_key = rd.res_ins_deel_key
|
|
AND rrd.res_rsv_ruimte_key IS NOT NULL
|
|
AND c.ins_discipline_key = rd.res_discipline_key
|
|
UNION ALL
|
|
SELECT rra.res_rsv_ruimte_key res_rsv_ruimte_key,
|
|
ra.res_artikel_omschrijving product,
|
|
rra.res_status_bo_key,
|
|
NVL (rra.res_rsv_artikel_prijs,
|
|
rra.res_rsv_artikel_aantal * res_artikel_prijs
|
|
)
|
|
totaalprijs,
|
|
rra.res_rsv_artikel_levering van,
|
|
NULL tot,
|
|
rra.res_rsv_artikel_aantal aantal,
|
|
NVL (rra.res_rsv_artikel_prijs / rra.res_rsv_artikel_aantal,
|
|
res_artikel_prijs
|
|
)
|
|
prijs,
|
|
res_artikel_inkoopprijs inkoopprijs,
|
|
res_artikel_btw btw,
|
|
'' afgemeld,
|
|
c.ins_discipline_key ins_discipline_key,
|
|
c.ins_discipline_omschrijving catalogus
|
|
FROM res_v_aanwezigrsv_artikel rra,
|
|
res_artikel ra,
|
|
ins_tab_discipline c
|
|
WHERE rra.res_artikel_key = ra.res_artikel_key
|
|
AND ra.res_discipline_key = c.ins_discipline_key) voorz,
|
|
(SELECT pw.prs_perslid_key,
|
|
MIN (prs_werkplek_aanduiding)
|
|
|| DECODE (COUNT ( * ), 1, '', '...')
|
|
prs_werkplek_aanduiding
|
|
FROM prs_v_werkplek_gegevens wp, prs_perslidwerkplek pw
|
|
WHERE wp.prs_werkplek_key = pw.prs_werkplek_key
|
|
GROUP BY pw.prs_perslid_key) wp2
|
|
WHERE rrr.res_reservering_key = res.res_reservering_key
|
|
AND rrr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+)
|
|
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
|
AND rrr.res_rsv_ruimte_key = voorz.res_rsv_ruimte_key(+)
|
|
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
|
AND p.prs_afdeling_key = a.prs_afdeling_key
|
|
AND wp2.prs_perslid_key(+) = p.prs_perslid_key
|
|
AND (rrr.res_ruimte_opstel_key IS NOT NULL
|
|
OR voorz.res_rsv_ruimte_key IS NOT NULL);
|
|
|
|
|
|
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_res_algemeen (RESULT, result_order)
|
|
AS
|
|
SELECT '"RES_RESERVERING_KEY";'||
|
|
'"NUMMER";'||
|
|
'"RES_OMSCHRIJVING";'||
|
|
'"INVOERDATUM";'||
|
|
'"DATUM";'||
|
|
'"GASTHEER";'||
|
|
'"GASTHEER_KEY";'||
|
|
'"CONTACT";'||
|
|
'"CONTACT_KEY";'||
|
|
'"INVOERDER";'||
|
|
'"INVOERDER_KEY";'||
|
|
'"KOSTENSOORTGROEP";'||
|
|
'"KOSTENSOORT";'||
|
|
'"KPN";'||
|
|
'"KPN_OMSCHRIJVING";'||
|
|
'"PRS_BEDRIJF_KEY";'||
|
|
'"AFDELING_CODE";'||
|
|
'"AFDELING_OMSCHRIJVING";'||
|
|
'"DISTRICT_OMSCHRIJVING";'||
|
|
'"ALG_LOCATIE_KEY";'||
|
|
'"LOCATIE";'||
|
|
'"LOCATIE_OMSCHRIJVING";'||
|
|
'"GEBOUW";'||
|
|
'"VERDIEPING";'||
|
|
'"RUIMTE";'||
|
|
'"OPSTELLING";'||
|
|
'"NO_SHOW";'||
|
|
'"MANDAAT";'||
|
|
'"PERSONEELSNR";'||
|
|
'"BSN";'||
|
|
'"WERKPLEK";'||
|
|
'"INS_DISCIPLINE_KEY";'||
|
|
'"CATALOGUS_INS_DISCIPLINE_KEY";'||
|
|
'"CATALOGUS";'||
|
|
'"RESERVEERBARE_RUIMTE";'||
|
|
'"BEZOEKERS";'||
|
|
'"VAN";'||
|
|
'"TOT";'||
|
|
'"DUUR";'||
|
|
'"STATUS";'||
|
|
'"ACTIVITEIT";'||
|
|
'"VOORZIENING_INS_DISCIPLINE_KEY";'||
|
|
'"VOORZIENING_CATALOGUS";'||
|
|
'"VOORZIENING_PRODUCT";'||
|
|
'"VOORZIENING_TOTAALPRIJS";'||
|
|
'"VOORZIENING_VAN";'||
|
|
'"VOORZIENING_TOT";'||
|
|
'"VOORZIENING_AANTAL";'||
|
|
'"VOORZIENING_PRIJS";'||
|
|
'"VOORZIENING_INKOOPPRIJS";'||
|
|
'"VOORZIENING_BTW";'||
|
|
'"VOORZIENING_AFGEMELD"',0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT REPLACE (REPLACE ( '"'
|
|
|| res_reservering_key
|
|
|| '";"'
|
|
|| nummer
|
|
|| '";"'
|
|
|| res_omschrijving
|
|
|| '";"'
|
|
|| invoerdatum
|
|
|| '";"'
|
|
|| datum
|
|
|| '";"'
|
|
|| gastheer
|
|
|| '";"'
|
|
|| res_rsv_ruimte_host_key
|
|
|| '";"'
|
|
|| contact
|
|
|| '";"'
|
|
|| res_rsv_ruimte_contact_key
|
|
|| '";"'
|
|
|| invoerder
|
|
|| '";"'
|
|
|| invoerder_key
|
|
|| '";"'
|
|
|| kostensoortgroep
|
|
|| '";"'
|
|
|| kostensoort
|
|
|| '";"'
|
|
|| kpn
|
|
|| '";"'
|
|
|| kpn_omschrijving
|
|
|| '";"'
|
|
|| prs_bedrijf_key
|
|
|| '";"'
|
|
|| afdeling_code
|
|
|| '";"'
|
|
|| afdeling_omschrijving
|
|
|| '";"'
|
|
|| district_omschrijving
|
|
|| '";"'
|
|
|| alg_locatie_key
|
|
|| '";"'
|
|
|| locatie
|
|
|| '";"'
|
|
|| locatie_omschrijving
|
|
|| '";"'
|
|
|| gebouw
|
|
|| '";"'
|
|
|| verdieping
|
|
|| '";"'
|
|
|| ruimte
|
|
|| '";"'
|
|
|| opstelling
|
|
|| '";"'
|
|
|| no_show
|
|
|| '";"'
|
|
|| mandaat
|
|
|| '";"'
|
|
|| personeelsnr
|
|
|| '";"'
|
|
|| bsn
|
|
|| '";"'
|
|
|| werkplek
|
|
|| '";"'
|
|
|| ins_discipline_key
|
|
|| '";"'
|
|
|| catalogus_ins_discipline_key
|
|
|| '";"'
|
|
|| catalogus
|
|
|| '";"'
|
|
|| reserveerbare_ruimte
|
|
|| '";"'
|
|
|| bezoekers
|
|
|| '";"'
|
|
|| van
|
|
|| '";"'
|
|
|| tot
|
|
|| '";"'
|
|
|| duur
|
|
|| '";"'
|
|
|| status
|
|
|| '";"'
|
|
|| activiteit
|
|
|| '";"'
|
|
|| voorziening_ins_discipline_key
|
|
|| '";"'
|
|
|| voorziening_catalogus
|
|
|| '";"'
|
|
|| voorziening_product
|
|
|| '";"'
|
|
|| voorziening_totaalprijs
|
|
|| '";"'
|
|
|| voorziening_van
|
|
|| '";"'
|
|
|| voorziening_tot
|
|
|| '";"'
|
|
|| voorziening_aantal
|
|
|| '";"'
|
|
|| voorziening_prijs
|
|
|| '";"'
|
|
|| voorziening_inkoopprijs
|
|
|| '";"'
|
|
|| voorziening_btw
|
|
|| '";"'
|
|
|| voorziening_afgemeld
|
|
|| '"', CHR (13), ''
|
|
), CHR (10), '<ret>'
|
|
), 1
|
|
FROM aaxx_v_res_algemeen;
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_RES_KENMERK
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_res_kenmerk (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"NUMMER";"KENMERK_OMSCHRIJVING";"KENMERK_WAARDE"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT '"'
|
|
|| rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
|
|| '";"'
|
|
|| sk.res_srtkenmerk_omschrijving
|
|
|| '";"'
|
|
|| aaxx_exp_escape (REPLACE (REPLACE (DECODE (sk.res_srtkenmerk_kenmerktype,
|
|
'R', (SELECT fac_usrdata_omschr
|
|
FROM fac_usrdata
|
|
WHERE fac_usrdata_key =
|
|
res_kenmerkreservering_waarde),
|
|
'S', (SELECT fac_usrdata_omschr
|
|
FROM fac_usrdata
|
|
WHERE fac_usrdata_key =
|
|
res_kenmerkreservering_waarde),
|
|
'D', TO_CHAR (fac.safe_to_date (res_kenmerkreservering_waarde,
|
|
'dd-mm-yyyy'
|
|
),
|
|
'yyyy-mm-dd'
|
|
),
|
|
res_kenmerkreservering_waarde),
|
|
CHR (13),
|
|
''
|
|
),
|
|
CHR (10),
|
|
'<ret>'
|
|
))
|
|
|| '"',
|
|
1
|
|
FROM res_kenmerk k, res_srtkenmerk sk, res_kenmerkwaarde kw, res_v_aanwezigrsv_ruimte rrr
|
|
WHERE rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key
|
|
AND kw.res_kenmerk_key = k.res_kenmerk_key
|
|
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key;
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_BES_ALGEMEEN
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW AAXX_V_EXPORT_DWH_BES_ALGEMEEN(RESULT, result_order)
|
|
AS
|
|
SELECT
|
|
'"BES_BESTELLING_KEY";'||
|
|
'"BESTELAANVRAAGNR";'||
|
|
'"BESTELDATUM";'||
|
|
'"BESTELLER";'||
|
|
'"INVOERDER";'||
|
|
'"KOSTENSOORTGROEP";'||
|
|
'"KOSTENSOORT";'||
|
|
'"KPN";'||
|
|
'"KPN_OMSCHRIJVING";'||
|
|
'"PRS_BEDRIJF_KEY";'||
|
|
'"AFDELING_CODE";'||
|
|
'"AFDELING_OMSCHRIJVING";'||
|
|
'"ALG_LOCATIE_KEY";'||
|
|
'"LOCATIE_CODE";'||
|
|
'"DISTRICT_OMSCHIJVING";'||
|
|
'"AFLEVERADRES";'||
|
|
'"MANDAAT";'||
|
|
'"PERSONEELSNR";'||
|
|
'"WERKPLEK";'||
|
|
'"INS_DISCIPLINE_KEY";'||
|
|
'"CATALOGUS";'||
|
|
'"GROEP";'||
|
|
'"AFLEVERDATUM";'||
|
|
'"DOORLOOPTIJD_WERKDGN";'||
|
|
'"SLA_TIJD";'||
|
|
'"PRODUCTCODE";'||
|
|
'"PRIJS";'||
|
|
'"INKOOPPRIJS";'||
|
|
'"STATUS";'||
|
|
'"GEFIATTEERDDOOR";'||
|
|
'"BESTELOPDRACHTNUMMER";'||
|
|
'"LEVERANCIER";'||
|
|
'"AANTAL";'||
|
|
'"ITEMPRIJS";'||
|
|
'"ITEMINKOOPPRIJS";'||
|
|
'"PRODUCTOMSCHRIJVING";'||
|
|
'"ITEMPOSNR"',TO_CHAR(0)
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT REPLACE (REPLACE ( '"'
|
|
|| bes_bestelling_key
|
|
|| '";"'
|
|
|| bestelaanvraagnr
|
|
|| '";"'
|
|
|| besteldatum
|
|
|| '";"'
|
|
|| besteller
|
|
|| '";"'
|
|
|| invoerder
|
|
|| '";"'
|
|
|| kostensoortgroep
|
|
|| '";"'
|
|
|| kostensoort
|
|
|| '";"'
|
|
|| kpn
|
|
|| '";"'
|
|
|| kpn_omschrijving
|
|
|| '";"'
|
|
|| prs_bedrijf_key
|
|
|| '";"'
|
|
|| afdeling_code
|
|
|| '";"'
|
|
|| afdeling_omschrijving
|
|
|| '";"'
|
|
|| alg_locatie_key
|
|
|| '";"'
|
|
|| locatie_code
|
|
|| '";"'
|
|
|| district_omschijving
|
|
|| '";"'
|
|
|| afleveradres
|
|
|| '";"'
|
|
|| mandaat
|
|
|| '";"'
|
|
|| personeelsnr
|
|
|| '";"'
|
|
|| werkplek
|
|
|| '";"'
|
|
|| ins_discipline_key
|
|
|| '";"'
|
|
|| catalogus
|
|
|| '";"'
|
|
|| groep
|
|
|| '";"'
|
|
|| afleverdatum
|
|
|| '";"'
|
|
|| doorlooptijd_werkdgn
|
|
|| '";"'
|
|
|| sla_tijd
|
|
|| '";"'
|
|
|| productcode
|
|
|| '";"'
|
|
|| prijs
|
|
|| '";"'
|
|
|| inkoopprijs
|
|
|| '";"'
|
|
|| status
|
|
|| '";"'
|
|
|| gefiatteerddoor
|
|
|| '";"'
|
|
|| bestelopdrachtnummer
|
|
|| '";"'
|
|
|| leverancier
|
|
|| '";"'
|
|
|| aantal
|
|
|| '";"'
|
|
|| itemprijs
|
|
|| '";"'
|
|
|| iteminkoopprijs
|
|
|| '";"'
|
|
|| productomschrijving
|
|
|| '";"'
|
|
|| itemposnr
|
|
|| '"', CHR (13), ''
|
|
), CHR (10), '<ret>'
|
|
), 1 || bestelopdrachtnummer
|
|
FROM (SELECT b.bes_bestelling_key bes_bestelling_key,
|
|
b.bes_bestelling_key bestelaanvraagnr,
|
|
TO_CHAR (b.bes_bestelling_datum, 'YYYY-MM-DD') besteldatum,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key = p.prs_perslid_key)
|
|
besteller,
|
|
(SELECT MAX (prs_perslid_naam_full)
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key =
|
|
fac.gettrackinguserkey ('BESAP2',
|
|
b.bes_bestelling_key))
|
|
invoerder,
|
|
(SELECT ksg.prs_kostensoortgrp_oms
|
|
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
|
|
WHERE ksg.PRS_KOSTENSOORTGRP_KEY =
|
|
ks.PRS_KOSTENSOORTGRP_KEY
|
|
AND ks.PRS_KOSTENSOORT_KEY =
|
|
(SELECT disc.PRS_KOSTENSOORT_KEY
|
|
FROM bes_discipline disc
|
|
WHERE disc.ins_DISCIPLINE_KEY =
|
|
d.ins_discipline_key))
|
|
kostensoortgroep,
|
|
(SELECT ks.prs_kostensoort_oms
|
|
FROM prs_kostensoort ks
|
|
WHERE ks.PRS_KOSTENSOORT_KEY =
|
|
(SELECT disc.PRS_KOSTENSOORT_KEY
|
|
FROM bes_discipline disc
|
|
WHERE disc.ins_DISCIPLINE_KEY =
|
|
d.ins_discipline_key))
|
|
kostensoort,
|
|
k.prs_kostenplaats_nr kpn,
|
|
k.prs_kostenplaats_omschrijving kpn_omschrijving,
|
|
(SELECT prs_bedrijf_key
|
|
FROM prs_v_afdeling pva
|
|
WHERE pva.prs_afdeling_key = a.prs_afdeling_key)
|
|
prs_bedrijf_key,
|
|
a.prs_afdeling_naam afdeling_code,
|
|
a.prs_afdeling_omschrijving afdeling_omschrijving,
|
|
ma.alg_locatie_key alg_locatie_key,
|
|
(SELECT alg_locatie_code
|
|
FROM alg_locatie l
|
|
WHERE l.alg_locatie_key = ma.alg_locatie_key)
|
|
locatie_code,
|
|
(SELECT alg_district_omschrijving
|
|
FROM alg_locatie l, alg_district d
|
|
WHERE l.alg_district_key = d.alg_district_key
|
|
AND l.alg_locatie_key = ma.alg_locatie_key)
|
|
district_omschijving,
|
|
ma.mld_adres_naam afleveradres,
|
|
NVL ( (SELECT pr.fac_profiel_limiet
|
|
FROM fac_profiel pr
|
|
WHERE p.fac_profiel_key = pr.fac_profiel_key), 0)
|
|
mandaat,
|
|
prs_perslid_nr personeelsnr,
|
|
wp2.prs_werkplek_aanduiding werkplek,
|
|
d.ins_discipline_key ins_discipline_key,
|
|
d.ins_discipline_omschrijving catalogus,
|
|
sg.bes_srtgroep_omschrijving groep,
|
|
TO_CHAR (b.bes_bestelling_leverdatum, 'YYYY-MM-DD')
|
|
afleverdatum,
|
|
TO_CHAR(fac.count_work_days (
|
|
b.bes_bestelling_datum,
|
|
NVL (
|
|
fac.gettrackingdate ('BESOTV',
|
|
b.bes_bestelling_key),
|
|
SYSDATE)))
|
|
doorlooptijd_werkdgn,
|
|
NVL (
|
|
(SELECT bdp.bes_disc_params_leverdagen
|
|
FROM bes_disc_params bdp
|
|
WHERE d.ins_discipline_key =
|
|
bdp.bes_ins_discipline_key),
|
|
0)
|
|
sla_tijd,
|
|
sd.bes_srtdeel_nr productcode,
|
|
REPLACE (
|
|
TO_CHAR (
|
|
bi.bes_bestelling_item_prijs
|
|
* bi.bes_bestelling_item_aantal,
|
|
'9999990.99'),
|
|
'.',
|
|
',')
|
|
prijs,
|
|
REPLACE (
|
|
TO_CHAR (
|
|
NVL (sd.bes_srtdeel_inkprijs,
|
|
bi.bes_bestelling_item_prijs)
|
|
* bi.bes_bestelling_item_aantal,
|
|
'9999990.99'),
|
|
'.',
|
|
',')
|
|
inkoopprijs,
|
|
(SELECT bes_bestellingstatuses_omschr
|
|
FROM bes_bestellingstatuses bs
|
|
WHERE bs.bes_bestellingstatuses_key =
|
|
b.bes_bestelling_status)
|
|
status,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key = b.bes_bestelling_fiat_user)
|
|
gefiatteerddoor,
|
|
bo.bes_bestelopdr_id bestelopdrachtnummer,
|
|
(SELECT b.prs_bedrijf_naam
|
|
FROM prs_bedrijf b
|
|
WHERE b.prs_bedrijf_key = bo.prs_bedrijf_key) leverancier,
|
|
bi.bes_bestelling_item_aantal aantal,
|
|
REPLACE (
|
|
TO_CHAR (bi.bes_bestelling_item_prijs, '9999990.99'),
|
|
'.',
|
|
',')
|
|
itemprijs,
|
|
REPLACE (
|
|
TO_CHAR (
|
|
NVL (sd.bes_srtdeel_inkprijs,
|
|
bi.bes_bestelling_item_prijs),
|
|
'9999990.99'),
|
|
'.',
|
|
',')
|
|
iteminkoopprijs,
|
|
sd.bes_srtdeel_omschrijving productomschrijving,
|
|
boi.bes_bestelopdr_item_posnr itemposnr
|
|
FROM bes_bestelling b,
|
|
prs_perslid p,
|
|
prs_kostenplaats k,
|
|
prs_afdeling a,
|
|
mld_adres ma,
|
|
( SELECT pw.prs_perslid_key,
|
|
MIN (prs_werkplek_aanduiding)
|
|
|| DECODE (COUNT ( * ), 1, '', '...')
|
|
prs_werkplek_aanduiding
|
|
FROM prs_v_werkplek_gegevens wp, prs_perslidwerkplek pw
|
|
WHERE wp.prs_werkplek_key = pw.prs_werkplek_key
|
|
GROUP BY pw.prs_perslid_key) wp2,
|
|
bes_bestelling_item bi,
|
|
bes_bestelopdr_item boi,
|
|
bes_bestelopdr bo,
|
|
bes_srtdeel sd,
|
|
bes_srtgroep sg,
|
|
ins_tab_discipline d
|
|
WHERE b.prs_perslid_key = p.prs_perslid_key
|
|
AND b.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND p.prs_afdeling_key = a.prs_afdeling_key
|
|
AND b.mld_adres_key_lev = ma.mld_adres_key
|
|
AND wp2.prs_perslid_key(+) = p.prs_perslid_key
|
|
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
|
AND bi.bes_bestelopdr_item_key =
|
|
boi.bes_bestelopdr_item_key(+)
|
|
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
|
|
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
|
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
|
AND sg.ins_discipline_key = d.ins_discipline_key);
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_BES_KENMERK
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_bes_kenmerk (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"NUMMER";"KENMERK_OMSCHRIJVING";"KENMERK_WAARDE"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT '"'
|
|
|| kb.bes_bestelling_key
|
|
|| '";"'
|
|
|| sk.bes_srtkenmerk_omschrijving
|
|
|| '";"'
|
|
|| aaxx_exp_escape (
|
|
REPLACE (
|
|
REPLACE (
|
|
aaxx_get_kenmerkwaarde(
|
|
sk.bes_srtkenmerk_kenmerktype,
|
|
rsk.bes_refsrtkenmerk_objectnaam,
|
|
rsk.bes_refsrtkenmerk_kolomnaam,
|
|
rsk.bes_refsrtkenmerk_kolomtxt,
|
|
rsk.fac_usrtab_key,
|
|
bes_kenmerkbestell_waarde), CHR (13), ''
|
|
), CHR (10), '<ret>'
|
|
)
|
|
)
|
|
|| '"',
|
|
1
|
|
FROM bes_kenmerk k, bes_srtkenmerk sk, bes_refsrtkenmerk rsk, bes_kenmerkbestell kb
|
|
WHERE kb.bes_kenmerk_key = k.bes_kenmerk_key
|
|
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
|
|
AND sk.bes_refsrtkenmerk_key = rsk.bes_refsrtkenmerk_key(+);
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_ALG_ONRGOED
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_alg_onrgoed (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"ALG_ONROERENDGOED_KEYS";'
|
|
|| '"ALG_ONROERENDGOED_CODE";'
|
|
|| '"ALG_ONROERENDGOED_OMSCHRIJVING";'
|
|
|| '"ALG_ONROERENDGOED_VERWIJDER";'
|
|
|| '"ALG_TYPE";'
|
|
|| '"ALG_REGIO_KEY";'
|
|
|| '"ALG_REGIO_OMSCHRIJVING";'
|
|
|| '"ALG_DISTRICT_KEY";'
|
|
|| '"ALG_DISTRICT_OMSCHRIJVING";'
|
|
|| '"ALG_LOCATIE_KEY";'
|
|
|| '"ALG_LOCATIE_CODE";'
|
|
|| '"ALG_LOCATIE_OMSCHRIJVING";'
|
|
|| '"ALG_TERREINSECTOR_KEY";'
|
|
|| '"ALG_TERREINSECTOR_CODE";'
|
|
|| '"ALG_TERREINSECTOR_NAAM";'
|
|
|| '"ALG_GEBOUW_KEY";'
|
|
|| '"ALG_GEBOUW_CODE";'
|
|
|| '"ALG_GEBOUW_NAAM";'
|
|
|| '"ALG_VERDIEPING_KEY";'
|
|
|| '"ALG_VERDIEPING_CODE";'
|
|
|| '"ALG_VERDIEPING_OMSCHRIJVING";'
|
|
|| '"ALG_RUIMTE_KEY";'
|
|
|| '"ALG_RUIMTE_NR";'
|
|
|| '"ALG_RUIMTE_OMSCHRIJVING"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT '"' || alg_onroerendgoed_keys || '";"'
|
|
|| DECODE (alg_type,
|
|
'T', alg_terreinsector_code,
|
|
'G', alg_gebouw_code,
|
|
'V', alg_verdieping_code,
|
|
'R', alg_ruimte_nr)
|
|
|| '";"'
|
|
|| DECODE (alg_type,
|
|
'T', alg_terreinsector_naam,
|
|
'G', alg_gebouw_naam,
|
|
'V', alg_verdieping_omschrijving,
|
|
'R', alg_ruimte_omschrijving)
|
|
|| '";"'
|
|
|| TO_CHAR (DECODE (alg_type,
|
|
'T', alg_terreinsector_verwijder,
|
|
'G', alg_gebouw_verwijder,
|
|
'V', alg_verdieping_verwijder,
|
|
'R', alg_ruimte_verwijder)
|
|
,'YYYY-MM-DD')
|
|
|| '";"'
|
|
|| aog.alg_type
|
|
|| '";"'
|
|
|| r.alg_regio_key
|
|
|| '";"'
|
|
|| r.alg_regio_omschrijving
|
|
|| '";"'
|
|
|| d.alg_district_key
|
|
|| '";"'
|
|
|| d.alg_district_omschrijving
|
|
|| '";"'
|
|
|| l.alg_locatie_key
|
|
|| '";"'
|
|
|| l.alg_locatie_code
|
|
|| '";"'
|
|
|| l.alg_locatie_omschrijving
|
|
|| '";"'
|
|
|| t.alg_terreinsector_key
|
|
|| '";"'
|
|
|| t.alg_terreinsector_code
|
|
|| '";"'
|
|
|| t.alg_terreinsector_naam
|
|
|| '";"'
|
|
|| g.alg_gebouw_key
|
|
|| '";"'
|
|
|| g.alg_gebouw_code
|
|
|| '";"'
|
|
|| g.alg_gebouw_naam
|
|
|| '";"'
|
|
|| v.alg_verdieping_key
|
|
|| '";"'
|
|
|| v.alg_verdieping_code
|
|
|| '";"'
|
|
|| v.alg_verdieping_omschrijving
|
|
|| '";"'
|
|
|| ru.alg_ruimte_key
|
|
|| '";"'
|
|
|| ru.alg_ruimte_nr
|
|
|| '";"'
|
|
|| ru.alg_ruimte_omschrijving
|
|
|| '"',
|
|
1
|
|
FROM alg_v_allonroerendgoed aog,
|
|
alg_ruimte ru,
|
|
alg_verdieping v,
|
|
alg_terreinsector t,
|
|
alg_gebouw g,
|
|
alg_locatie l,
|
|
alg_district d,
|
|
alg_regio r
|
|
WHERE aog.alg_gebouw_key = g.alg_gebouw_key(+)
|
|
AND aog.alg_terreinsector_key = t.alg_terreinsector_key(+)
|
|
AND aog.alg_verdieping_key = v.alg_verdieping_key(+)
|
|
AND aog.alg_ruimte_key = ru.alg_ruimte_key(+)
|
|
AND g.alg_locatie_key = l.alg_locatie_key
|
|
AND l.alg_district_key = d.alg_district_key
|
|
AND d.alg_regio_key = r.alg_regio_key
|
|
UNION ALL
|
|
SELECT '"";"'
|
|
|| alg_locatie_code
|
|
|| '";"'
|
|
|| alg_locatie_omschrijving
|
|
|| '";"'
|
|
|| TO_CHAR(l.alg_locatie_verwijder, 'YYYY-MM-DD')
|
|
|| '";"'
|
|
|| 'L'
|
|
|| '";"'
|
|
|| r.alg_regio_key
|
|
|| '";"'
|
|
|| alg_regio_omschrijving
|
|
|| '";"'
|
|
|| d.alg_district_key
|
|
|| '";"'
|
|
|| alg_district_omschrijving
|
|
|| '";"'
|
|
|| l.alg_locatie_key
|
|
|| '";"'
|
|
|| alg_locatie_code
|
|
|| '";"'
|
|
|| alg_locatie_omschrijving
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '"',
|
|
1
|
|
FROM alg_locatie l,
|
|
alg_district d,
|
|
alg_regio r
|
|
WHERE l.alg_district_key = d.alg_district_key
|
|
AND d.alg_regio_key = r.alg_regio_key
|
|
UNION ALL
|
|
SELECT '"";"'
|
|
|| '";"'
|
|
|| alg_district_omschrijving
|
|
|| '";"'
|
|
|| TO_CHAR(d.alg_district_verwijder, 'YYYY-MM-DD')
|
|
|| '";"'
|
|
|| 'D'
|
|
|| '";"'
|
|
|| r.alg_regio_key
|
|
|| '";"'
|
|
|| alg_regio_omschrijving
|
|
|| '";"'
|
|
|| d.alg_district_key
|
|
|| '";"'
|
|
|| alg_district_omschrijving
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '"',
|
|
1
|
|
FROM alg_district d,
|
|
alg_regio r
|
|
WHERE d.alg_regio_key = r.alg_regio_key
|
|
UNION ALL
|
|
SELECT '"";"'
|
|
|| '";"'
|
|
|| alg_regio_omschrijving
|
|
|| '";"'
|
|
|| TO_CHAR(r.alg_regio_verwijder, 'YYYY-MM-DD')
|
|
|| '";"'
|
|
|| 'R'
|
|
|| '";"'
|
|
|| r.alg_regio_key
|
|
|| '";"'
|
|
|| alg_regio_omschrijving
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '";"'
|
|
|| '"',
|
|
1
|
|
FROM alg_regio r;
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- EXPORTFUNCTIE - DWH_ALG_KENMERK
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_export_dwh_alg_kenmerk (
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT '"ALG_ONRGOED_KEY";"ALG_KENMERK_NIVEAU";"ALG_KENMERK_OMSCHRIJVING";"ALG_KENMERK_WAARDE"',
|
|
0
|
|
FROM DUAL
|
|
UNION ALL
|
|
SELECT '"'
|
|
|| aog.alg_onrgoed_key
|
|
|| '";"'
|
|
|| k.alg_kenmerk_niveau
|
|
|| '";"'
|
|
|| k.alg_kenmerk_omschrijving
|
|
|| '";"'
|
|
|| aaxx_exp_escape (REPLACE (REPLACE (DECODE (k.alg_kenmerk_kenmerktype,
|
|
'R', (SELECT fac_usrdata_omschr
|
|
FROM fac_usrdata
|
|
WHERE fac_usrdata_key =
|
|
fac.safe_to_number(alg_onrgoedkenmerk_waarde)),
|
|
'S', (SELECT fac_usrdata_omschr
|
|
FROM fac_usrdata
|
|
WHERE fac_usrdata_key =
|
|
fac.safe_to_number(alg_onrgoedkenmerk_waarde)),
|
|
'D', TO_CHAR (fac.safe_to_date (alg_onrgoedkenmerk_waarde,
|
|
'dd-mm-yyyy'
|
|
),
|
|
'yyyy-mm-dd'
|
|
),
|
|
alg_onrgoedkenmerk_waarde),
|
|
CHR (13),
|
|
''
|
|
),
|
|
CHR (10),
|
|
'<ret>'
|
|
)
|
|
)
|
|
|| '"',
|
|
1
|
|
FROM alg_kenmerk k, alg_onrgoedkenmerk aog
|
|
WHERE k.alg_kenmerk_key = aog.alg_kenmerk_key
|
|
AND aog.alg_onrgoedkenmerk_verwijder IS NULL;
|
|
|
|
|
|
--=============================================================================
|
|
-- IMPORTFUNCTIES
|
|
-------------------------------------------------------------------------------
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- IMPORTFUNCTIE - Import srtruimte
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_rap_srtruimte (
|
|
key,
|
|
omschrijving,
|
|
code,
|
|
werkplek,
|
|
verhuurbaar,
|
|
huur,
|
|
sk_onderhoud,
|
|
sk_utility,
|
|
sk_overig,
|
|
prijs5
|
|
)
|
|
AS
|
|
SELECT alg_srtruimte_key,
|
|
alg_srtruimte_omschrijving,
|
|
alg_srtruimte_code,
|
|
prs_bevat_werkplek,
|
|
prs_verhuurbaar,
|
|
alg_srtruimte_prijs,
|
|
alg_srtruimte_prijs2,
|
|
alg_srtruimte_prijs3,
|
|
alg_srtruimte_prijs4,
|
|
alg_srtruimte_prijs5
|
|
FROM alg_v_aanwezigsrtruimte;
|
|
|
|
CREATE OR REPLACE PROCEDURE aaxx_import_srtruimte (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
CURSOR c_cursor
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_imp_file_applicatie = p_applname
|
|
ORDER BY fac_imp_file_index;
|
|
|
|
v_newline VARCHAR2 (1000);
|
|
v_aanduiding VARCHAR2 (1000); -- Import line
|
|
v_field VARCHAR2 (100); -- Import field
|
|
v_fielddelimitor VARCHAR2 (1); -- Field seperator
|
|
v_errormsg VARCHAR (200);
|
|
v_errorhint VARCHAR (200);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_skipfield VARCHAR2 (100);
|
|
-- De importvelden
|
|
v_key VARCHAR2 (100);
|
|
v_omschrijving VARCHAR2 (100);
|
|
v_code VARCHAR2 (100);
|
|
v_werkplek VARCHAR2 (100);
|
|
v_verhuurbaar VARCHAR2 (100);
|
|
v_prijs1 VARCHAR2 (100);
|
|
v_prijs2 VARCHAR2 (100);
|
|
v_prijs3 VARCHAR2 (100);
|
|
v_prijs4 VARCHAR2 (100);
|
|
v_prijs5 VARCHAR2 (100);
|
|
header_found BOOLEAN;
|
|
|
|
BEGIN
|
|
-- Eerst opruiming
|
|
DELETE FROM imp_log
|
|
WHERE imp_log_applicatie = p_applname;
|
|
|
|
-- Init
|
|
header_found := FALSE;
|
|
v_fielddelimitor := ';';
|
|
|
|
-- Clear my previous imported rows
|
|
DELETE FROM aaxx_imp_srtruimte;
|
|
|
|
FOR rec1 IN c_cursor
|
|
LOOP
|
|
BEGIN
|
|
v_newline := rec1.fac_imp_file_line;
|
|
v_aanduiding := v_newline;
|
|
|
|
IF SUBSTR (v_newline, 1, 3) = '?'
|
|
THEN
|
|
-- EF BB BF aangetroffen
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'W',
|
|
'Byte Order Mark aangetroffen',
|
|
'Bestand ' || p_filename || ' heeft onbehandeld UTF-8 formaat.'
|
|
);
|
|
v_newline := SUBSTR (v_newline, 4);
|
|
END IF;
|
|
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_key);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_omschrijving);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_code);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_werkplek);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_verhuurbaar);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_prijs1);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_prijs2);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_prijs3);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_prijs4);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_prijs5);
|
|
|
|
|
|
-- Skip until a valid header is found
|
|
IF UPPER(v_key) = 'KEY'
|
|
AND UPPER(v_code) = 'CODE'
|
|
AND UPPER(v_prijs1) = 'HUUR'
|
|
AND UPPER(v_prijs5) = 'PRIJS5'
|
|
THEN
|
|
-- Sla de kopregel over.
|
|
header_found := TRUE;
|
|
ELSIF (header_found AND v_omschrijving IS NOT NULL)
|
|
THEN
|
|
INSERT INTO aaxx_imp_srtruimte
|
|
(alg_srtruimte_key,
|
|
alg_srtruimte_omschrijving,
|
|
alg_srtruimte_code,
|
|
prs_bevat_werkplek,
|
|
prs_verhuurbaar,
|
|
alg_srtruimte_prijs,
|
|
alg_srtruimte_prijs2,
|
|
alg_srtruimte_prijs3,
|
|
alg_srtruimte_prijs4,
|
|
alg_srtruimte_prijs5 )
|
|
VALUES (fac.safe_to_number (v_key),
|
|
SUBSTR (v_omschrijving, 1, 30),
|
|
SUBSTR (v_code, 1, 10),
|
|
fac.safe_to_number (SUBSTR(v_werkplek, 1)),
|
|
fac.safe_to_number (SUBSTR(v_verhuurbaar, 1)),
|
|
fac.safe_to_number (REPLACE(v_prijs1,',','.')),
|
|
fac.safe_to_number (REPLACE(v_prijs2,',','.')),
|
|
fac.safe_to_number (REPLACE(v_prijs3,',','.')),
|
|
fac.safe_to_number (REPLACE(v_prijs4,',','.')),
|
|
fac.safe_to_number (REPLACE(v_prijs5,',','.'))
|
|
);
|
|
END IF;
|
|
|
|
COMMIT;
|
|
END;
|
|
END LOOP;
|
|
|
|
IF NOT header_found
|
|
THEN
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'E',
|
|
'Geen geldige header aangetroffen',
|
|
'Bestand ' || p_filename || ' is geen geldig ruimtesoort importbestand.'
|
|
);
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
|
fac.imp_writelog (p_applname, p_applrun, 'E', SUBSTR (v_errormsg, 1, 1000), v_aanduiding);
|
|
-- maak de importtabel leeg om te voorkomen dat er halve bestanden ingelezen worden.
|
|
DELETE FROM aaxx_imp_srtruimte;
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE aaxx_update_srtruimte (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
CURSOR c
|
|
IS
|
|
SELECT *
|
|
FROM aaxx_imp_srtruimte
|
|
WHERE alg_srtruimte_omschrijving is not NULL;
|
|
|
|
v_oldcount NUMBER;
|
|
v_newcount NUMBER;
|
|
v_prs_bedrijf_key NUMBER;
|
|
v_prs_dienst_key NUMBER;
|
|
v_alg_locatie_key NUMBER;
|
|
v_alg_gebouw_key NUMBER;
|
|
v_errormsg VARCHAR (1000);
|
|
v_error_hint VARCHAR (1000);
|
|
oracle_err_mes VARCHAR2 (150);
|
|
oracle_err_num VARCHAR2 (150);
|
|
currentversion fac_module.fac_module_version%TYPE;
|
|
BEGIN
|
|
|
|
SELECT MAX (fac_module_version)
|
|
INTO currentversion
|
|
FROM fac_module;
|
|
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'I',
|
|
'Arcadis Aqumen ruimtesoort import version ' || currentversion,
|
|
'$Revision: 79 $'
|
|
);
|
|
|
|
SELECT COUNT (*)
|
|
INTO v_newcount
|
|
FROM alg_v_aanwezigsrtruimte;
|
|
|
|
IF v_newcount = 0 THEN
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'E',
|
|
'Arcadis Aqumen ruimtesoort import bevat geen records',
|
|
'$Revision: 79 $'
|
|
);
|
|
return;
|
|
END IF;
|
|
|
|
-- How many active records are now present?
|
|
SELECT COUNT (*)
|
|
INTO v_oldcount
|
|
FROM alg_v_aanwezigsrtruimte;
|
|
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
IF rec.alg_srtruimte_key IS NULL THEN
|
|
v_errormsg := 'Toevoegen ruimtesoort [' || rec.alg_srtruimte_code || '] ';
|
|
INSERT INTO alg_srtruimte (
|
|
alg_srtruimte_omschrijving,
|
|
alg_srtruimte_code,
|
|
prs_bevat_werkplek,
|
|
prs_verhuurbaar,
|
|
alg_srtruimte_prijs,
|
|
alg_srtruimte_prijs2,
|
|
alg_srtruimte_prijs3,
|
|
alg_srtruimte_prijs4,
|
|
alg_srtruimte_prijs5)
|
|
VALUES (
|
|
rec.alg_srtruimte_omschrijving,
|
|
rec.alg_srtruimte_code,
|
|
rec.prs_bevat_werkplek,
|
|
rec.prs_verhuurbaar,
|
|
rec.alg_srtruimte_prijs,
|
|
rec.alg_srtruimte_prijs2,
|
|
rec.alg_srtruimte_prijs3,
|
|
rec.alg_srtruimte_prijs4,
|
|
rec.alg_srtruimte_prijs5);
|
|
ELSE
|
|
v_errormsg := 'Aanpassen ruimtesoort [' || rec.alg_srtruimte_code || '] ';
|
|
UPDATE alg_srtruimte SET
|
|
alg_srtruimte_omschrijving = rec.alg_srtruimte_omschrijving,
|
|
alg_srtruimte_code = rec.alg_srtruimte_code,
|
|
prs_bevat_werkplek = rec.prs_bevat_werkplek,
|
|
prs_verhuurbaar = rec.prs_verhuurbaar,
|
|
alg_srtruimte_prijs = rec.alg_srtruimte_prijs,
|
|
alg_srtruimte_prijs2 = rec.alg_srtruimte_prijs2,
|
|
alg_srtruimte_prijs3 = rec.alg_srtruimte_prijs3,
|
|
alg_srtruimte_prijs4 = rec.alg_srtruimte_prijs4,
|
|
alg_srtruimte_prijs5 = rec.alg_srtruimte_prijs5
|
|
WHERE alg_srtruimte_key = rec.alg_srtruimte_key;
|
|
END IF;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
v_error_hint := v_errormsg;
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| 'ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'E',
|
|
v_errormsg,
|
|
v_error_hint
|
|
);
|
|
COMMIT; -- tbv logging
|
|
END;
|
|
END LOOP;
|
|
|
|
SELECT COUNT (*)
|
|
INTO v_newcount
|
|
FROM alg_v_aanwezigsrtruimte;
|
|
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'S',
|
|
'Aantal ruimte soorten vooraf: ' || TO_CHAR (v_oldcount) || ' nu: ' || TO_CHAR (v_newcount),
|
|
''
|
|
);
|
|
|
|
END;
|
|
/
|
|
|
|
|
|
--------------------------------
|
|
-- import contractorders
|
|
--------------------------------
|
|
CREATE OR REPLACE PROCEDURE aaxx_import_contract (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
) IS
|
|
|
|
CURSOR cnt
|
|
IS
|
|
SELECT oms, num referentie
|
|
FROM (SELECT 'Contract komt dubbel voor:' oms,
|
|
contractcode || '/' || volgnummer num
|
|
FROM aaxx_imp_contract) num
|
|
GROUP BY num
|
|
HAVING COUNT (num) > 1
|
|
UNION ALL
|
|
SELECT 'Gebouw bestaat niet:' oms, gebouw_code referentie
|
|
FROM aaxx_imp_contract
|
|
WHERE volgnummer IS NOT NULL
|
|
AND gebouw_code NOT IN (SELECT NVL (alg_gebouw_code, 'geen')
|
|
FROM alg_gebouw)
|
|
UNION ALL
|
|
SELECT DISTINCT
|
|
'Leverancier bestaat niet:' oms,
|
|
leverancier || '[' || leveranciernummer || ']' referentie
|
|
FROM aaxx_imp_contract
|
|
WHERE fac.safe_to_number (leveranciernummer) NOT IN
|
|
(SELECT NVL (fac.safe_to_number (prs_leverancier_nr), 9999999999)
|
|
FROM prs_bedrijf
|
|
WHERE prs_bedrijf_contract = 1)
|
|
UNION ALL
|
|
SELECT 'Contractsoort bestaat niet:' oms, i.grootboekrek referentie
|
|
FROM aaxx_imp_contract i, cnt_discipline d, prs_kostensoort k
|
|
WHERE i.grootboekrek = k.prs_kostensoort_refcode
|
|
AND DECODE (pakket, 'Pluspakket', 2, 1) = prs_kostensoortgrp_key
|
|
AND d.prs_kostensoort_key(+) = k.prs_kostensoort_key
|
|
AND i.volgnummer IS NULL
|
|
AND k.prs_kostensoort_key IS NULL;
|
|
|
|
c_fielddelimitor VARCHAR2 (1) := ';';
|
|
|
|
v_newline VARCHAR2 (4000); -- Input line
|
|
v_errormsg VARCHAR (1000);
|
|
v_hint VARCHAR (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_count NUMBER;
|
|
v_ongeldig NUMBER(1);
|
|
v_mode NUMBER(1);
|
|
v_aanduiding VARCHAR (200);
|
|
|
|
-- De importvelden:
|
|
v_gebouw_code VARCHAR2(100);
|
|
v_leverancier VARCHAR2(100);
|
|
v_beschrijving VARCHAR2(100);
|
|
v_van VARCHAR2(100);
|
|
v_pakket VARCHAR2(100);
|
|
v_tot VARCHAR2(100);
|
|
v_omschrijving VARCHAR2(4000);
|
|
v_bedrag VARCHAR2(100);
|
|
v_btw VARCHAR2(100);
|
|
v_grootboekrek VARCHAR2(100);
|
|
v_contractsoort VARCHAR2(100);
|
|
v_contractcode VARCHAR2(100);
|
|
v_volgnummer VARCHAR2(100);
|
|
v_leveranciernummer VARCHAR2(100);
|
|
v_dummy VARCHAR2(100);
|
|
|
|
|
|
CURSOR c1(p_imp_file_applicatie VARCHAR2)
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_imp_file_applicatie = p_imp_file_applicatie
|
|
ORDER BY fac_imp_file_index;
|
|
|
|
rec1 c1%ROWTYPE;
|
|
|
|
BEGIN
|
|
|
|
-- Eerst opruiming
|
|
DELETE FROM imp_log WHERE imp_log_applicatie = p_applname;
|
|
DELETE FROM aaxx_imp_contract;
|
|
|
|
COMMIT;
|
|
|
|
OPEN c1(p_applname);
|
|
IF (c1%ISOPEN)
|
|
THEN
|
|
LOOP
|
|
BEGIN
|
|
v_errormsg := 'Fout FETCH te importeren rij';
|
|
|
|
FETCH c1 INTO rec1;
|
|
EXIT WHEN c1%NOTFOUND;
|
|
v_newline := rec1. fac_imp_file_line;
|
|
|
|
v_newline := replace(v_newline,'""','');
|
|
|
|
v_errormsg := 'Fout opvragen te importeren rij';
|
|
v_aanduiding := '';
|
|
v_ongeldig := 0;
|
|
|
|
IF (1=0)
|
|
THEN
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'E',
|
|
v_aanduiding||'Ongeldig importbestand',
|
|
'Toelichting: ... '
|
|
);
|
|
ELSE
|
|
|
|
-- Lees alle veldwaarden
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_gebouw_code
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (leverancier)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_leverancier
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (beschrijving)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_beschrijving
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (pakket)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_pakket
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (van)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_van
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (tot)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_tot
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (omschrijving)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_omschrijving
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (bedrag)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_bedrag
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (btw)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_btw
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (grootboekrek)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_grootboekrek
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (dienst)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_contractsoort
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (contractcode):'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_contractcode
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (volgnummer)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_volgnummer
|
|
);
|
|
--
|
|
v_errormsg := 'Fout opvragen te importeren rij (leveranciernummer)'||v_gebouw_code;
|
|
fac.imp_getfield (v_newline,
|
|
C_FIELDDELIMITOR,
|
|
v_leveranciernummer
|
|
);
|
|
|
|
-- Insert geformatteerde import record
|
|
IF v_ongeldig = 0
|
|
THEN
|
|
v_errormsg := 'Fout bij toevoegen te impoteren gebouw ['||v_gebouw_code||']';
|
|
INSERT INTO AAXX_IMP_CONTRACT (
|
|
gebouw_code
|
|
, leverancier
|
|
, beschrijving
|
|
, van
|
|
, tot
|
|
, omschrijving
|
|
, bedrag
|
|
, btw
|
|
, grootboekrek
|
|
, contractsoort
|
|
, contractcode
|
|
, volgnummer
|
|
, pakket
|
|
, leveranciernummer
|
|
) VALUES (
|
|
v_gebouw_code
|
|
,v_leverancier
|
|
,v_beschrijving
|
|
,fac.safe_to_date(v_van, 'dd-mm-yy')
|
|
,fac.safe_to_date(v_tot, 'dd-mm-yy')
|
|
,v_omschrijving
|
|
,fac.safe_to_number(replace(v_bedrag,',','.'))
|
|
,v_btw
|
|
,v_grootboekrek
|
|
,v_contractsoort
|
|
,v_contractcode
|
|
,fac.safe_to_number(replace(v_volgnummer,',','.'))
|
|
,v_pakket
|
|
,v_leveranciernummer
|
|
);
|
|
|
|
END IF;
|
|
|
|
END IF;
|
|
END;
|
|
END LOOP;
|
|
END IF;
|
|
|
|
FOR rec IN cnt
|
|
LOOP
|
|
BEGIN
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'E',
|
|
rec.oms,
|
|
rec.referentie
|
|
);
|
|
END;
|
|
END LOOP;
|
|
|
|
commit;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
v_hint := v_errormsg;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'E',
|
|
v_errormsg,
|
|
v_hint
|
|
);
|
|
END aaxx_import_contract;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE aaxx_update_contract (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
v_oldcountcnt NUMBER;
|
|
v_newcountcnt NUMBER;
|
|
v_countcnt NUMBER;
|
|
v_errormsg VARCHAR (1000);
|
|
v_error_hint VARCHAR (1000);
|
|
oracle_err_mes VARCHAR2 (150);
|
|
oracle_err_num VARCHAR2 (150);
|
|
currentversion fac_module.fac_module_version%TYPE;
|
|
BEGIN
|
|
|
|
SELECT MAX (fac_module_version)
|
|
INTO currentversion
|
|
FROM fac_module;
|
|
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'I',
|
|
'Arcadis Aqumen Contract import version ' || currentversion,
|
|
'$Revision: 79 $'
|
|
);
|
|
|
|
SELECT COUNT (*)
|
|
INTO v_countcnt
|
|
FROM aaxx_imp_contract;
|
|
|
|
IF v_countcnt = 0 THEN
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'E',
|
|
'Arcadis Aqumen Contract import bevat geen records',
|
|
'$Revision: 79 $'
|
|
);
|
|
return;
|
|
END IF;
|
|
|
|
SELECT COUNT (*)
|
|
INTO v_oldcountcnt
|
|
FROM cnt_contract;
|
|
|
|
-- voeg de contracten toe
|
|
INSERT INTO cnt_contract
|
|
(
|
|
cnt_contract_nummer,
|
|
cnt_contract_nummer_intern,
|
|
cnt_contract_omschrijving,
|
|
cnt_contract_document,
|
|
cnt_contract_looptijd_van,
|
|
cnt_contract_looptijd_tot,
|
|
cnt_contract_kosten,
|
|
cnt_prs_bedrijf_key,
|
|
prs_afdeling_key_eig,
|
|
ins_discipline_key,
|
|
prs_perslid_key_beh,
|
|
prs_kostenplaats_key,
|
|
cnt_contract_opzegtermijn,
|
|
cnt_contract_rappeltermijn
|
|
)
|
|
(SELECT contractcode,
|
|
contractcode,
|
|
SUBSTR (beschrijving, 1, 50),
|
|
REPLACE (REPLACE (i.omschrijving, '<(>', ''), '<)>', ''),
|
|
van,
|
|
tot,
|
|
bedrag,
|
|
prs_bedrijf_key,
|
|
DECODE (aaxx_get_user, 'SABIC', 254, 'DSM', 449),
|
|
ins_discipline_key,
|
|
DECODE (aaxx_get_user, 'SABIC', 3601, 'DSM', 10381 ),
|
|
k.prs_kostenplaats_key,
|
|
1,
|
|
1
|
|
FROM aaxx_imp_contract i,
|
|
prs_bedrijf b,
|
|
cnt_discipline d,
|
|
prs_kostenplaats k
|
|
WHERE fac.safe_to_number (leveranciernummer) =
|
|
NVL (fac.safe_to_number (prs_leverancier_nr), 9999999999)
|
|
AND upper(d.ins_discipline_omschrijving) = UPPER(i.contractsoort)
|
|
AND i.gebouw_code = k.prs_kostenplaats_nr(+)
|
|
AND i.volgnummer IS NULL);
|
|
|
|
-- Scope van het contract zetten.
|
|
INSERT INTO cnt_contract_plaats
|
|
(
|
|
cnt_contract_key, cnt_alg_plaats_key, cnt_alg_plaats_code, cnt_contract_plaats_gewicht
|
|
)
|
|
(SELECT cnt_contract_key, alg_gebouw_key, 'G', TRUNC (SUM (bedrag))
|
|
FROM aaxx_imp_contract i, alg_gebouw g, cnt_contract c
|
|
WHERE cnt_contract_nummer = contractcode
|
|
AND (i.gebouw_code = alg_gebouw_code
|
|
OR REPLACE (alg_gebouw_code, '-', '') = gebouw_code)
|
|
GROUP BY alg_gebouw_key, cnt_contract_key);
|
|
|
|
-- How many active records are now present?
|
|
SELECT COUNT (*)
|
|
INTO v_newcountcnt
|
|
FROM cnt_contract;
|
|
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'S',
|
|
'Aantal contracten vooraf: ' || TO_CHAR (v_oldcountcnt) || ' nu: ' || TO_CHAR (v_newcountcnt),
|
|
''
|
|
);
|
|
|
|
END;
|
|
/
|
|
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- IMPORTFUNCTIE - Import uplift
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_rap_uplift (
|
|
jaar,
|
|
maand,
|
|
kostensoort,
|
|
soort_order,
|
|
leverancier,
|
|
nummer,
|
|
uplift
|
|
)
|
|
AS
|
|
SELECT jaar,
|
|
maand,
|
|
prs_kostensoort_oms,
|
|
soort_order,
|
|
prs_bedrijf_naam,
|
|
prs_leverancier_nr,
|
|
uplift
|
|
FROM aaxx_imp_uplift;
|
|
|
|
CREATE OR REPLACE PROCEDURE aaxx_import_uplift (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
CURSOR c_cursor
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_imp_file_applicatie = p_applname
|
|
ORDER BY fac_imp_file_index;
|
|
|
|
v_newline VARCHAR2 (1000);
|
|
v_aanduiding VARCHAR2 (1000); -- Import line
|
|
v_field VARCHAR2 (100); -- Import field
|
|
v_fielddelimitor VARCHAR2 (1); -- Field seperator
|
|
v_errormsg VARCHAR (200);
|
|
v_errorhint VARCHAR (200);
|
|
v_count NUMBER;
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_skipfield VARCHAR2 (100);
|
|
-- De importvelden
|
|
v_jaar VARCHAR2 (100);
|
|
v_maand VARCHAR2 (100);
|
|
v_prs_kostensoort_oms VARCHAR2 (100);
|
|
v_soort_order VARCHAR2 (100);
|
|
v_prs_bedrijf_naam VARCHAR2 (100);
|
|
v_prs_leverancier_nr VARCHAR2 (100);
|
|
v_uplift VARCHAR2 (100);
|
|
header_found BOOLEAN;
|
|
|
|
BEGIN
|
|
-- Eerst opruiming
|
|
DELETE FROM imp_log
|
|
WHERE imp_log_applicatie = p_applname;
|
|
|
|
-- Init
|
|
header_found := FALSE;
|
|
v_fielddelimitor := ';';
|
|
|
|
FOR rec1 IN c_cursor
|
|
LOOP
|
|
BEGIN
|
|
v_newline := rec1.fac_imp_file_line;
|
|
v_aanduiding := v_newline;
|
|
|
|
IF SUBSTR (v_newline, 1, 3) = '?'
|
|
THEN
|
|
-- EF BB BF aangetroffen
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'W',
|
|
'Byte Order Mark aangetroffen',
|
|
'Bestand ' || p_filename || ' heeft onbehandeld UTF-8 formaat.'
|
|
);
|
|
v_newline := SUBSTR (v_newline, 4);
|
|
END IF;
|
|
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_jaar);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_maand);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_prs_kostensoort_oms);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_soort_order);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_prs_bedrijf_naam);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_prs_leverancier_nr);
|
|
fac.imp_getfield (v_newline, v_fielddelimitor, v_uplift);
|
|
|
|
-- Skip until a valid header is found
|
|
IF UPPER(v_jaar) = 'JAAR'
|
|
AND UPPER(v_maand) = 'MAAND'
|
|
AND UPPER(v_prs_kostensoort_oms) = 'KOSTENSOORT'
|
|
AND UPPER(v_prs_leverancier_nr) = 'NUMMER'
|
|
AND UPPER(v_uplift) = 'UPLIFT'
|
|
THEN
|
|
-- Sla de kopregel over.
|
|
header_found := TRUE;
|
|
ELSIF (header_found AND v_jaar IS NOT NULL)
|
|
THEN
|
|
-- voeg nieuwe records toe
|
|
-- en wijzig bestaande records
|
|
|
|
-- ken ik de combinatie van jaar,maand, kostensoort, en leveranciernummer al?
|
|
SELECT count(*)
|
|
INTO v_count
|
|
FROM aaxx_imp_uplift
|
|
WHERE jaar = v_jaar
|
|
AND maand = v_maand
|
|
AND prs_kostensoort_oms = v_prs_kostensoort_oms
|
|
AND prs_leverancier_nr = v_prs_leverancier_nr;
|
|
|
|
IF v_count > 0 THEN
|
|
-- update de bestaande record(s)
|
|
UPDATE aaxx_imp_uplift
|
|
SET uplift = fac.safe_to_number (REPLACE(v_uplift,',','.'))
|
|
WHERE jaar = v_jaar
|
|
AND maand = v_maand
|
|
AND prs_kostensoort_oms = v_prs_kostensoort_oms
|
|
AND prs_leverancier_nr = v_prs_leverancier_nr;
|
|
ELSE
|
|
-- voeg nieuwe records toe
|
|
INSERT INTO aaxx_imp_uplift
|
|
(jaar,
|
|
maand,
|
|
prs_kostensoort_oms,
|
|
soort_order,
|
|
prs_bedrijf_naam,
|
|
prs_leverancier_nr,
|
|
uplift)
|
|
VALUES (fac.safe_to_number (v_jaar),
|
|
fac.safe_to_number (v_maand),
|
|
v_prs_kostensoort_oms,
|
|
v_soort_order,
|
|
v_prs_bedrijf_naam,
|
|
v_prs_leverancier_nr,
|
|
fac.safe_to_number (REPLACE(v_uplift,',','.')));
|
|
|
|
END IF;
|
|
SELECT count(*)
|
|
INTO v_count
|
|
FROM prs_bedrijf
|
|
WHERE prs_leverancier_nr = v_prs_leverancier_nr;
|
|
IF v_count = 0 THEN
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'W',
|
|
'Geen leverancier met nummer ['||v_prs_leverancier_nr||'] gevonden',
|
|
''
|
|
);
|
|
END IF;
|
|
SELECT count(*)
|
|
INTO v_count
|
|
FROM prs_kostensoort
|
|
WHERE prs_kostensoort_upper = upper(v_prs_kostensoort_oms);
|
|
IF v_count = 0 THEN
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'W',
|
|
'Geen kostensoort met code ['||v_prs_kostensoort_oms ||'] gevonden',
|
|
''
|
|
);
|
|
END IF;
|
|
END IF;
|
|
|
|
COMMIT;
|
|
END;
|
|
END LOOP;
|
|
|
|
IF NOT header_found
|
|
THEN
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'E',
|
|
'Geen geldige header aangetroffen',
|
|
'Bestand ' || p_filename || ' is geen geldig ruimtesoort importbestand.'
|
|
);
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
|
fac.imp_writelog (p_applname, p_applrun, 'E', SUBSTR (v_errormsg, 1, 1000), v_aanduiding);
|
|
-- maak de importtabel leeg om te voorkomen dat er halve bestanden ingelezen worden.
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE aaxx_update_uplift (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
NULL;
|
|
END;
|
|
/
|
|
|
|
/*
|
|
-------------------------------------------------------------------------------
|
|
-- KOPPELINGEN MET LEVERANCIERS
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE PROCEDURE aaxx_import_opdrstat_strukton (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2)
|
|
AS
|
|
c_delim VARCHAR2 (1) := ';';
|
|
v_newline VARCHAR2 (1000); -- Input line
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanduiding VARCHAR2 (200);
|
|
v_dummy VARCHAR2 (200);
|
|
header_is_valid NUMBER := 0;
|
|
v_count NUMBER;
|
|
v_count_tot NUMBER (10) := 0;
|
|
v_count_import NUMBER (10) := 0;
|
|
v_ongeldig NUMBER (1) := 0;
|
|
-- De importvelden
|
|
v_mld_opdr_key NUMBER (10);
|
|
v_mld_opdr_key_tekst VARCHAR2 (100);
|
|
v_extern_nummer VARCHAR2 (100);
|
|
v_status NUMBER (10);
|
|
v_status_tekst VARCHAR2 (100);
|
|
v_status_code VARCHAR2 (100);
|
|
v_datumtijd DATE;
|
|
v_datumtijd_tekst VARCHAR2 (100);
|
|
v_opmerking VARCHAR2 (1000);
|
|
|
|
-- Overige velden:
|
|
CURSOR c1
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_imp_file_applicatie = p_applname
|
|
ORDER BY fac_imp_file_index;
|
|
BEGIN
|
|
-- Eerst opruiming
|
|
DELETE FROM imp_log
|
|
WHERE imp_log_applicatie = p_applname
|
|
AND imp_log_datum < SYSDATE - 28;
|
|
|
|
DELETE FROM aaxx_imp_opdrstat_strukton;
|
|
|
|
COMMIT;
|
|
|
|
FOR rec1 IN c1
|
|
LOOP
|
|
BEGIN
|
|
v_newline := rec1.fac_imp_file_line;
|
|
v_errormsg := 'Fout opvragen te importeren rij';
|
|
v_aanduiding := '';
|
|
v_ongeldig := 0;
|
|
|
|
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_aanduiding :=
|
|
'['
|
|
|| v_extern_nummer
|
|
|| '|'
|
|
|| v_mld_opdr_key_tekst
|
|
|| '|'
|
|
|| v_status_tekst
|
|
|| '|'
|
|
|| v_opmerking
|
|
|| '] ';
|
|
|
|
-- 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 inlezen mld_opdr_key [' || v_aanduiding || ']';
|
|
v_mld_opdr_key := TRIM (v_mld_opdr_key);
|
|
|
|
SELECT COUNT (mld_opdr_key)
|
|
INTO v_count
|
|
FROM mld_opdr o
|
|
WHERE o.mld_opdr_key = fac.safe_to_number (v_mld_opdr_key_tekst);
|
|
|
|
IF v_count <> 1
|
|
THEN
|
|
v_ongeldig := 1;
|
|
v_errormsg :=
|
|
'Opdracht kan niet gevonden worden. (aantal gevonden opdrachten: '
|
|
|| v_count
|
|
|| ') ['
|
|
|| v_aanduiding
|
|
|| ']';
|
|
ELSE
|
|
v_mld_opdr_key := TO_CHAR (v_mld_opdr_key_tekst);
|
|
END IF;
|
|
|
|
IF v_ongeldig = 0
|
|
THEN
|
|
v_errormsg :=
|
|
'Fout bij bepalen status [' || v_aanduiding || ']';
|
|
|
|
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'
|
|
THEN
|
|
v_status := 6; -- afgemeld
|
|
ELSE
|
|
v_status := NULL;
|
|
-- v_ongeldig := 1; nog te bezien.
|
|
END CASE;
|
|
END IF;
|
|
|
|
-- Lees alle veldwaarden
|
|
IF v_ongeldig = 0
|
|
THEN
|
|
v_errormsg :=
|
|
'Fout bij converteren datumtijd [' || v_aanduiding || ']';
|
|
v_datumtijd :=
|
|
fac.safe_to_date (
|
|
REPLACE (
|
|
SUBSTR (v_datumtijd_tekst,
|
|
1,
|
|
INSTR (v_datumtijd_tekst, '.') - 1),
|
|
'T',
|
|
' '),
|
|
'yyyy-mm-dd hh24:mi:ss');
|
|
|
|
IF v_datumtijd = NULL
|
|
THEN
|
|
v_ongeldig := 0;
|
|
END IF;
|
|
END IF;
|
|
|
|
IF v_ongeldig = 0
|
|
THEN
|
|
v_errormsg :=
|
|
'Fout bij aanvullen opmerking [' || v_aanduiding || ']';
|
|
|
|
IF v_opmerking IS NOT NULL
|
|
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 toevoegen opdracht status ['
|
|
|| v_aanduiding
|
|
|| ']';
|
|
|
|
INSERT INTO aaxx_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_import := v_count_import + 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_applname,
|
|
p_applrun,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
'Fout bij toevoegen regel aan importtabel aaxx_imp_opdr_status_strukton.');
|
|
END;
|
|
ELSE
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'E',
|
|
v_errormsg,
|
|
'');
|
|
END IF;
|
|
END IF;
|
|
END;
|
|
END LOOP;
|
|
|
|
IF (header_is_valid = 0)
|
|
THEN
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'E',
|
|
'Ongeldig importbestand',
|
|
'Geen header of header niet volgens specificatie!');
|
|
END IF;
|
|
|
|
DELETE FROM fac_imp_file
|
|
WHERE fac_imp_file_applicatie = p_applname;
|
|
|
|
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_applname,
|
|
p_applrun,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
'Inleesproces opdrachtstatusberichten afgebroken!');
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE aaxx_update_opdrstat_strukton (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2)
|
|
AS
|
|
-- Cursor loopt - in volgorde! - over alle ingelezen opdrachtstatusberichten.
|
|
CURSOR c1
|
|
IS
|
|
SELECT mld_opdr_key,
|
|
extern_nummer,
|
|
datumtijd,
|
|
status,
|
|
opmerking
|
|
FROM aaxx_imp_opdrstat_strukton
|
|
ORDER BY 1, 3;
|
|
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanduiding VARCHAR2 (200);
|
|
v_count_tot NUMBER (10);
|
|
v_count NUMBER (10);
|
|
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 door alle geimporteerde opdrachtstatusberichten en verwerk deze.
|
|
v_count_tot := 0;
|
|
|
|
FOR rec IN c1
|
|
LOOP
|
|
BEGIN
|
|
v_aanduiding :=
|
|
'['
|
|
|| rec.mld_opdr_key
|
|
|| '|'
|
|
|| SUBSTR (rec.opmerking, 1, 100)
|
|
|| '] ';
|
|
v_count_tot := v_count_tot + 1;
|
|
v_count := 0;
|
|
|
|
-- Key van melding/opdracht bepalen en externnr bij opdracht opslaan.
|
|
IF (rec.mld_opdr_key IS NOT NULL)
|
|
THEN
|
|
v_errormsg := 'Fout bij 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 bij bepalen kenmerk extern nummer.';
|
|
SELECT k.mld_kenmerk_key, ko.mld_kenmerkopdr_key
|
|
INTO v_mld_kenmerk_key, v_mld_kenmerkopdr_key
|
|
FROM mld_kenmerk k, mld_kenmerkopdr ko
|
|
WHERE k.mld_srtkenmerk_key = 35 -- AASA
|
|
AND k.mld_typeopdr_key = v_mld_typeopdr_key
|
|
AND k.mld_kenmerk_key = ko.mld_kenmerk_key(+);
|
|
|
|
v_errormsg := 'Fout bij aanpassen extern nummer.';
|
|
IF v_mld_kenmerkopdr_key IS NULL THEN
|
|
-- kenmerk toevoegen
|
|
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 aanpassen
|
|
UPDATE mld_kenmerkopdr SET mld_kenmerkopdr_waarde = rec.extern_nummer WHERE mld_kenmerkopdr_key = v_mld_kenmerkopdr_key;
|
|
END IF;
|
|
|
|
v_errormsg := 'Fout bij bijwerken opdracht-opmerking.';
|
|
|
|
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;
|
|
|
|
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, 4); -- Facilitor
|
|
ELSIF rec.status = 6 AND v_opdr_status = 5
|
|
THEN
|
|
-- Meld de opdracht af als deze uitgegeven was
|
|
MLD.setopdrachtstatus (v_opdr_key, 8, 4); -- Facilitor, eerst accepteren
|
|
MLD.setopdrachtstatus (v_opdr_key, 6, 4); -- Facilitor
|
|
ELSIF rec.status = 6 AND v_opdr_status = 8
|
|
THEN
|
|
-- Meld de opdracht af als deze geaccepteerd was
|
|
MLD.setopdrachtstatus (v_opdr_key, 6, 4); -- Facilitor
|
|
END IF;
|
|
|
|
IF rec.status = 6 AND v_opdr_status <> 6
|
|
THEN
|
|
UPDATE mld_melding
|
|
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);
|
|
|
|
|
|
v_errormsg := 'Fout bij 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;
|
|
|
|
IF (v_count = 1)
|
|
THEN
|
|
MLD.setmeldingstatus (v_mld_key, 5, 4); -- Facilitor
|
|
MLD.mld_nextworkflowstep (v_mld_key, 1); -- Succes
|
|
ELSE
|
|
BEGIN
|
|
MLD.updatemeldingstatus (v_mld_key, 0, 4);
|
|
END;
|
|
END IF;
|
|
END IF;
|
|
END IF;
|
|
END IF;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_applname,
|
|
p_applrun,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
'Fout bij verwerken opdrachtstatusbericht.');
|
|
END;
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
END;
|
|
/
|
|
*/
|
|
-------------------------------------------------------------------------------
|
|
-- RAPPORTAGES aaxx_v_rap_gebruikers_auth
|
|
-------------------------------------------------------------------------------
|
|
CREATE OR REPLACE VIEW aaxx_v_rap_gebruikers_auth (
|
|
naam,
|
|
afdeling,
|
|
functie,
|
|
auth_groep,
|
|
last_login
|
|
)
|
|
AS
|
|
SELECT prs_perslid_naam_full,
|
|
prs_afdeling_omschrijving,
|
|
prs_srtperslid_omschrijving,
|
|
fac_groep_omschrijving,
|
|
prs_perslid_login
|
|
FROM prs_v_aanwezigperslid p,
|
|
prs_v_perslid_fullnames pf,
|
|
fac_gebruikersgroep gg,
|
|
prs_afdeling a,
|
|
fac_groep g,
|
|
prs_srtperslid sp
|
|
WHERE p.prs_perslid_key = pf.prs_perslid_key
|
|
AND p.prs_perslid_key = gg.prs_perslid_key(+)
|
|
AND p.prs_afdeling_key = a.prs_afdeling_key
|
|
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
|
AND gg.fac_groep_key = g.fac_groep_key(+)
|
|
AND (p.prs_perslid_oslogin IS NOT NULL
|
|
OR p.prs_perslid_oslogin2 IS NOT NULL)
|
|
AND nvl (p.prs_perslid_oslogin, 'QueQueLeQue') NOT LIKE '\_%' ESCAPE '\';
|
|
|
|
|
|
CREATE OR REPLACE VIEW aaxx_v_rap_dienst_loc_bld (fclt_f_bedrijfnaam
|
|
, fclt_f_bedrijf_nr
|
|
, fclt_f_dienst
|
|
, fclt_f_locatie_code
|
|
, fclt_f_gebouw_code
|
|
)
|
|
AS
|
|
SELECT prs_bedrijf_naam bedrijfnaam,
|
|
prs_leverancier_nr bedrijfnummer,
|
|
prs_dienst_omschrijving dienst,
|
|
alg_locatie_code locatie_code,
|
|
alg_gebouw_upper gebouw_code
|
|
FROM prs_v_aanwezigbedrijf b,
|
|
prs_dienst d,
|
|
alg_locatie l,
|
|
alg_gebouw g,
|
|
prs_bedrijfdienstlocatie bdl
|
|
WHERE b.prs_bedrijf_key = bdl.prs_bedrijf_key(+)
|
|
AND bdl.prs_dienst_key = d.prs_dienst_key(+)
|
|
AND bdl.alg_locatie_key = l.alg_locatie_key(+)
|
|
AND bdl.alg_gebouw_key = g.alg_gebouw_key(+)
|
|
AND COALESCE (b.prs_bedrijf_intern, 0) = 0;
|
|
|
|
|
|
CREATE OR REPLACE VIEW aaxx_v_rap_contractorders (
|
|
contractorder,
|
|
versie,
|
|
fclt_f_gebouwcode,
|
|
fclt_f_leverancier,
|
|
fclt_f_beschrijving,
|
|
fclt_f_pakket,
|
|
ingangsdatum,
|
|
einddatum,
|
|
fclt_f_status,
|
|
kosten,
|
|
totaalkosten,
|
|
gefactureerd,
|
|
dienst,
|
|
leveranciernr
|
|
)
|
|
AS
|
|
SELECT cnt_contract_nummer contractorder,
|
|
cnt_contract_versie,
|
|
alg_gebouw_code gebouwcode,
|
|
prs_bedrijf_naam leverancier,
|
|
k.prs_kostensoort_opmerking beschrijving,
|
|
(SELECT prs_kostensoortgrp_oms
|
|
FROM prs_kostensoortgrp ksg
|
|
WHERE ksg.prs_kostensoortgrp_key = k.prs_kostensoortgrp_key)
|
|
pakket,
|
|
TO_CHAR (c.cnt_contract_looptijd_van, 'DD-MM-YYYY') ingangsdatum,
|
|
TO_CHAR (c.cnt_contract_looptijd_tot, 'DD-MM-YYYY') einddatum,
|
|
DECODE (SIGN (cnt_contract_looptijd_van - SYSDATE),
|
|
1,
|
|
'Toekomst',
|
|
-1,
|
|
DECODE (SIGN (cnt_contract_looptijd_tot - SYSDATE),
|
|
1,
|
|
'Actueel',
|
|
-1,
|
|
'Verlopen'
|
|
)
|
|
)
|
|
status,
|
|
COALESCE (ROUND ( DECODE (cnt_gew.cnt_contract_plaats_gewicht,
|
|
0,
|
|
1,
|
|
(cp.cnt_contract_plaats_gewicht
|
|
/ cnt_gew.cnt_contract_plaats_gewicht)
|
|
* c.cnt_contract_kosten),
|
|
2
|
|
),
|
|
0
|
|
)
|
|
kosten,
|
|
c.cnt_contract_kosten orderbedrag,
|
|
(SELECT SUM (fr.fin_factuurregel_totaal)
|
|
FROM fin_factuur f, fin_factuurregel fr
|
|
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
|
AND f.cnt_contract_key = c.cnt_contract_key)
|
|
gefactureerd,
|
|
k.prs_kostensoort_refcode dienst,
|
|
b.prs_leverancier_nr leveranciernr
|
|
FROM cnt_contract c,
|
|
cnt_discipline d,
|
|
cnt_contract_plaats cp,
|
|
prs_bedrijf b,
|
|
prs_kostensoort k,
|
|
prs_kostenplaats kp,
|
|
prs_afdeling a,
|
|
prs_perslid p,
|
|
alg_locatie l,
|
|
alg_gebouw g,
|
|
prs_contactpersoon cop,
|
|
(SELECT cnt_contract_key,
|
|
SUM (cnt_contract_plaats_gewicht) cnt_contract_plaats_gewicht
|
|
FROM cnt_contract_plaats
|
|
GROUP BY cnt_contract_key) cnt_gew,
|
|
(SELECT cp.cnt_contract_plaats_key, alg_locatie_key, alg_gebouw_key
|
|
FROM alg_v_allonroerendgoed aog, cnt_contract_plaats cp
|
|
WHERE aog.alg_type = cp.cnt_alg_plaats_code
|
|
AND aog.alg_onroerendgoed_keys = cp.cnt_alg_plaats_key) cog
|
|
WHERE c.cnt_contract_key = cp.cnt_contract_key(+)
|
|
AND c.cnt_contract_key = cnt_gew.cnt_contract_key(+)
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND c.ins_discipline_key = d.ins_discipline_key
|
|
AND d.prs_kostensoort_key = k.prs_kostensoort_key(+)
|
|
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
|
AND c.prs_afdeling_key_eig = a.prs_afdeling_key
|
|
AND c.prs_perslid_key_beh = p.prs_perslid_key
|
|
AND cp.cnt_contract_plaats_key = cog.cnt_contract_plaats_key(+)
|
|
AND c.prs_contactpersoon_key = cop.prs_contactpersoon_key(+)
|
|
AND cog.alg_locatie_key = l.alg_locatie_key(+)
|
|
AND cog.alg_gebouw_key = g.alg_gebouw_key(+)
|
|
AND cnt_contract_verwijder IS NULL;
|
|
|
|
CREATE OR REPLACE VIEW aaxx_v_rap_stdmelding_gegevens (
|
|
vakgroeptype,
|
|
vakgroep,
|
|
melding,
|
|
groep,
|
|
acceptatietijd,
|
|
uitvoertijd,
|
|
kostensoort,
|
|
kostensoort_code,
|
|
fin_waarde,
|
|
dienst,
|
|
vereist_dienst,
|
|
opdrachttype,
|
|
autoorder,
|
|
alg_niveau
|
|
)
|
|
AS
|
|
SELECT sd.ins_srtdiscipline_omschrijving,
|
|
d.ins_discipline_omschrijving,
|
|
m.mld_stdmelding_omschrijving,
|
|
m.mld_stdmelding_groep,
|
|
m.mld_stdmelding_urgentie,
|
|
m.mld_stdmelding_uitvoertijd,
|
|
COALESCE (k2.prs_kostensoort_opmerking, k.prs_kostensoort_opmerking),
|
|
COALESCE (k2.prs_kostensoort_oms, k.prs_kostensoort_oms),
|
|
COALESCE (k2.prs_kostensoort_refcode, k.prs_kostensoort_refcode),
|
|
d.prs_dienst_omschrijving,
|
|
m.mld_stdmelding_vereisdienst,
|
|
ot.mld_typeopdr_omschrijving,
|
|
m.mld_stdmelding_autoorder,
|
|
alg_onrgoed_niveau
|
|
FROM mld_stdmelding m,
|
|
mld_discipline d,
|
|
ins_srtdiscipline sd,
|
|
prs_kostensoort k,
|
|
prs_kostensoort k2,
|
|
prs_dienst d,
|
|
mld_typeopdr ot
|
|
WHERE m.mld_stdmelding_verwijder IS NULL
|
|
AND m.mld_ins_discipline_key = d.ins_discipline_key
|
|
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
|
AND d.prs_kostensoort_key = k.prs_kostensoort_key(+)
|
|
AND m.prs_kostensoort_key = k2.prs_kostensoort_key(+)
|
|
AND m.prs_dienst_key = d.prs_dienst_key(+)
|
|
AND m.mld_typeopdr_key = ot.mld_typeopdr_key(+);
|
|
|
|
CREATE OR REPLACE VIEW aaxx_v_rap_kostenmutatie
|
|
(
|
|
opdracht,
|
|
vakgroeptype,
|
|
vakgroep,
|
|
mutatie,
|
|
fclt_d_datum,
|
|
fclt_f_leverancier,
|
|
persoon
|
|
)
|
|
AS
|
|
SELECT o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdracht,
|
|
(SELECT ins_srtdiscipline_omschrijving
|
|
FROM ins_srtdiscipline sd
|
|
WHERE sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key)
|
|
Vakgroeptype,
|
|
ins_discipline_omschrijving vakgroep,
|
|
SUBSTR (
|
|
fac_tracking_oms,
|
|
INSTR (fac_tracking_oms, 'Totaal ex. BTW:'),
|
|
DECODE (
|
|
INSTR (fac_tracking_oms,
|
|
CHR (10),
|
|
INSTR (fac_tracking_oms, 'Totaal ex. BTW:')),
|
|
0,
|
|
10000,
|
|
INSTR (fac_tracking_oms,
|
|
CHR (10),
|
|
INSTR (fac_tracking_oms, 'Totaal ex. BTW:')))
|
|
- INSTR (fac_tracking_oms, 'Totaal ex. BTW:'))
|
|
oud_nieuw,
|
|
TO_CHAR (fac_tracking_datum, 'dd-mm-yyyy') datum,
|
|
prs_bedrijf_naam leverancier,
|
|
prs_perslid_naam_full persoon
|
|
FROM fac_tracking t,
|
|
mld_opdr o,
|
|
mld_melding m,
|
|
mld_stdmelding std,
|
|
ins_tab_discipline d,
|
|
prs_v_perslid_fullnames_all pf,
|
|
prs_bedrijf b
|
|
WHERE fac_tracking_oms LIKE '%Totaal ex. BTW:%'
|
|
AND t.fac_tracking_refkey = o.mld_opdr_key
|
|
AND o.mld_melding_key = m.mld_melding_key
|
|
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
|
AND t.prs_perslid_key = pf.prs_perslid_key(+)
|
|
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
|
|
AND t.fac_tracking_datum BETWEEN mld.getopdrachtstatusdate (
|
|
o.mld_opdr_key,
|
|
6) -- afgemeld
|
|
AND COALESCE (
|
|
mld.getopdrachtstatusdate (
|
|
o.mld_opdr_key,
|
|
9), -- afgerond
|
|
SYSDATE);
|
|
|
|
CREATE OR REPLACE VIEW aaxx_v_rap_bedrijf_orderadres (
|
|
fclt_f_bedrijf,
|
|
fclt_f_plaats,
|
|
fclt_f_nummer,
|
|
fclt_f_email,
|
|
fclt_f_orderadres,
|
|
stylesheet
|
|
)
|
|
AS
|
|
SELECT prs_bedrijf_naam,
|
|
prs_bedrijf_bezoek_plaats,
|
|
prs_leverancier_nr,
|
|
prs_bedrijf_email,
|
|
prs_bedrijf_mldorder_adres,
|
|
prs_bedrijf_xsl
|
|
FROM prs_bedrijf
|
|
WHERE prs_bedrijf_verwijder IS NULL AND NVL (prs_bedrijf_intern, 0) <> 1;
|
|
|
|
CREATE OR REPLACE VIEW aaxx_v_rap_login_user (hide_f_datum, fclt_d_datum, aantal)
|
|
AS
|
|
SELECT trunc(sysdate)-trunc(pl.login_datum),
|
|
TO_CHAR (pl.login_datum, 'dd-mm-yyyy'),
|
|
COUNT (prs_perslid_key)
|
|
FROM aaxx_perslid_login pl
|
|
GROUP BY trunc(sysdate)-trunc(pl.login_datum),
|
|
TO_CHAR (pl.login_datum, 'dd-mm-yyyy');
|
|
|
|
BEGIN adm.systrackscript('$Workfile: aaxx.sql $', '$Revision: 79 $', 0); END;
|
|
/
|
|
|
|
|