1663 lines
63 KiB
SQL
1663 lines
63 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Script containing customer specific configuration sql statements for aads: Arcadis Aqumen Facility Management
|
|
|
|
DEFINE thisfile = 'AADS.SQL'
|
|
DEFINE dbuser = '^AADS'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
|
SPOOL &fcltlogfile
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
---------------------------------------
|
|
PROMPT &fcltcusttxt
|
|
---------------------------------------
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
-- script om dagelijks terugkerende scripts aan te roepen.
|
|
CREATE OR REPLACE PROCEDURE aads_select_daily_task (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
aaxx_daily_task (p_applname, p_applrun);
|
|
|
|
END;
|
|
/
|
|
|
|
-- verwerk exact
|
|
-- Procedure ter voorbereiding van de export van facturen.
|
|
-- Deze procedure corrigeert de kostenplaats bij de opdracht indien de kostensoort begint met 'ST ONDH'
|
|
-- In dat geval wordt de kostenplaats overgenomen van de gebouweigenaar (kenmerkkey 1063 bij gebouw).
|
|
|
|
-- exact verkoop
|
|
CREATE OR REPLACE VIEW aads_v_export_exact_verkoop (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
|
CREATE OR REPLACE PROCEDURE aads_select_exact_verkoop (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(sysdate, 'yyyy'), 'CORE');
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aads_export_exact_verkoop (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(sysdate, 'yyyy'), 'CORE');
|
|
END;
|
|
/
|
|
|
|
-- exact verkoop over het vorige jaar
|
|
CREATE OR REPLACE VIEW aads_v_export_exact_verkoop_vj (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
|
CREATE OR REPLACE PROCEDURE aads_select_exact_verkoop_vj (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(to_number(to_char(sysdate, 'yyyy'))-1), 'CORE');
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aads_export_exact_verkoop_vj (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(to_number(to_char(sysdate, 'yyyy'))-1), 'CORE');
|
|
END;
|
|
/
|
|
|
|
-- exact verkoop - PROJECTEN CSV
|
|
CREATE OR REPLACE VIEW aads_v_export_exact_verkoop_p (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
|
CREATE OR REPLACE PROCEDURE aads_select_exact_verkoop_p (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(sysdate, 'yyyy'), 'PROJECT');
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aads_export_exact_verkoop_p (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(sysdate, 'yyyy'), 'PROJECT');
|
|
END;
|
|
/
|
|
|
|
-- exact verkoop over het vorige jaar - PROJECTEN CSV
|
|
CREATE OR REPLACE VIEW aads_v_export_exact_verkoop_vj_p (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
|
CREATE OR REPLACE PROCEDURE aads_select_exact_verkoop_vj_p (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(to_number(to_char(sysdate, 'yyyy'))-1), 'PROJECT');
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aads_export_exact_verkoop_vj_p (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(to_number(to_char(sysdate, 'yyyy'))-1), 'PROJECT');
|
|
END;
|
|
/
|
|
|
|
|
|
-- NIEUW: GESPLITSTE VERKOOPINTERFACE
|
|
-- exact verkoop - splitsing PROJECT (=P) en CORE (=C)
|
|
---- de C krijgt als output de huidige CSV-format en kan/gaat dus verwijzen naar desbetreffende AAXX-exportfuncties
|
|
---- de P krijgt als output het nieuwe Exact XML-format (en kan/gaat dus verwijzen naar nieuw in te passen AAXX-exportfuncties
|
|
|
|
-- EXACT_VERK_P (XML-output)
|
|
-- EXACT_VERK_P_VJ
|
|
|
|
/*
|
|
CREATE OR REPLACE VIEW aads_v_export_exact_verk_p (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop_p;
|
|
CREATE OR REPLACE PROCEDURE aads_select_exact_verk_p (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_verkoop_p(p_applname, p_applrun, to_char(sysdate, 'yyyy'));
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aads_export_exact_verk_p (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact_verkoop_p(p_applname, p_applrun, p_filedir, p_filename, to_char(sysdate, 'yyyy'));
|
|
END;
|
|
/
|
|
|
|
-- exact verkoop over het vorige jaar
|
|
CREATE OR REPLACE VIEW aads_v_export_exact_verk_p_vj (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop_p;
|
|
CREATE OR REPLACE PROCEDURE aads_select_exact_verk_p_vj (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_verkoop_p(p_applname, p_applrun, to_char(to_number(to_char(sysdate, 'yyyy'))-1));
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aads_export_exact_verk_p_vj (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact_verkoop_p(p_applname, p_applrun, p_filedir, p_filename, to_char(to_number(to_char(sysdate, 'yyyy'))-1));
|
|
END;
|
|
/
|
|
|
|
-- EXACT_VERK_C
|
|
-- EXACT_VERK_C_VJ
|
|
---- Kan/gaat verwijzen naar de oorspronkelijke aaxx-exportfunties met CSV-output
|
|
CREATE OR REPLACE VIEW aads_v_export_exact_verk_c (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
|
CREATE OR REPLACE PROCEDURE aads_select_exact_verk_c (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(sysdate, 'yyyy'));
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aads_export_exact_verk_c (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(sysdate, 'yyyy'));
|
|
END;
|
|
/
|
|
|
|
-- exact verkoop over het vorige jaar
|
|
CREATE OR REPLACE VIEW aads_v_export_exact_verk_c_vj (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop_c;
|
|
CREATE OR REPLACE PROCEDURE aads_select_exact_verk_c_vj (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(to_number(to_char(sysdate, 'yyyy'))-1));
|
|
END;
|
|
/
|
|
CREATE OR REPLACE PROCEDURE aads_export_exact_verk_c_vj (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(to_number(to_char(sysdate, 'yyyy'))-1));
|
|
END;
|
|
/
|
|
|
|
*/
|
|
|
|
-- exact projecturen (XML)
|
|
CREATE OR REPLACE VIEW aads_v_export_exact_uren (result, result_order)
|
|
AS SELECT result, result_order FROM aaxx_v_export_exact_uren_xml;
|
|
CREATE OR REPLACE PROCEDURE aads_select_exact_uren (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_select_exact_uren_xml(p_applname, p_applrun, '');
|
|
END;
|
|
/
|
|
|
|
-- verwerk exact projecturen (XML)
|
|
CREATE OR REPLACE PROCEDURE aads_export_verwerk_exact_uren (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
BEGIN
|
|
aaxx_export_verwerk_exact_uren(p_applname, p_applrun, p_filedir, p_filename, '');
|
|
END;
|
|
/
|
|
|
|
|
|
-- import overrulles
|
|
|
|
CREATE OR REPLACE VIEW aads_v_bundel_catering
|
|
(
|
|
prs_kostenplaats_key,
|
|
prs_bedrijf_key,
|
|
alg_gebouw_key,
|
|
alg_locatie_key,
|
|
res_rsv_artikel_prijs,
|
|
res_rsv_artikel_key,
|
|
res_rsv_artikel_levering,
|
|
res_status_bo_key,
|
|
mld_stdmelding_key
|
|
)
|
|
AS
|
|
SELECT rrr.prs_kostenplaats_key,
|
|
prs_bedrijf_key,
|
|
g.alg_gebouw_key,
|
|
g.alg_locatie_key,
|
|
res_rsv_artikel_prijs,
|
|
rra.res_rsv_artikel_key,
|
|
rra.res_rsv_artikel_levering,
|
|
rra.res_status_bo_key,
|
|
(SELECT FAC.safe_to_number(alg_onrgoedkenmerk_waarde)
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 5 -- kenmerk voor catering stdmelding key
|
|
AND alg_onrgoed_key = g.alg_locatie_key) mld_stdmelding_key
|
|
FROM res_rsv_artikel rra,
|
|
res_rsv_ruimte rrr,
|
|
res_artikel ra,
|
|
(SELECT res_ins_discipline_key,
|
|
prs_bedrijf_key
|
|
FROM res_disc_params WHERE prs_bedrijf_key IS NOT NULL) rdp,
|
|
alg_ruimte r,
|
|
alg_verdieping v,
|
|
alg_gebouw g
|
|
WHERE rra.res_artikel_key = ra.res_artikel_key
|
|
AND ra.res_discipline_key = rdp.res_ins_discipline_key
|
|
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
|
AND rra.res_rsv_artikel_verwijder IS NULL
|
|
AND rrr.alg_ruimte_key = r.alg_ruimte_key
|
|
AND r.alg_verdieping_key = v.alg_verdieping_key
|
|
AND v.alg_gebouw_key = g.alg_gebouw_key
|
|
AND res_rsv_artikel_prijs > 0;
|
|
|
|
CREATE OR REPLACE PROCEDURE aads_export_bundel_catering (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2
|
|
)
|
|
AS
|
|
|
|
CURSOR c(lev_date DATE) IS
|
|
SELECT prs_kostenplaats_key,
|
|
prs_bedrijf_key,
|
|
alg_locatie_key,
|
|
alg_gebouw_key,
|
|
SUM (res_rsv_artikel_prijs) prijs,
|
|
mld_stdmelding_key
|
|
FROM aads_v_bundel_catering
|
|
WHERE res_rsv_artikel_levering < lev_date
|
|
AND res_status_bo_key = 5
|
|
GROUP BY prs_bedrijf_key, prs_kostenplaats_key, alg_locatie_key, alg_gebouw_key, mld_stdmelding_key;
|
|
|
|
c_catmld_uitvoertijd mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE := MLD_T_UITVOERTIJD(2, 'D');
|
|
v_errormsg VARCHAR (200);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_laatste_export DATE;
|
|
v_mld_melding_key NUMBER;
|
|
v_mld_opdr_key NUMBER;
|
|
v_prs_bedrijf_key NUMBER;
|
|
v_alg_locatie_key NUMBER;
|
|
v_prs_dienst_key NUMBER;
|
|
v_mld_opdr_bedrijfopdr_volgnr NUMBER;
|
|
v_aanvrager NUMBER;
|
|
v_mld_workorder_key NUMBER;
|
|
v_mld_stdmelding_key NUMBER;
|
|
v_date DATE;
|
|
v_count NUMBER;
|
|
BEGIN
|
|
-- Facilitor
|
|
v_aanvrager := 4;
|
|
-- stdmelding key voor recharge
|
|
v_mld_stdmelding_key := 941;
|
|
-- key van opdrachttype workorder
|
|
v_mld_workorder_key := 1;
|
|
|
|
|
|
v_errormsg := 'Bepaal einddatum';
|
|
|
|
-- wat is de eerste dag van de huidige maand
|
|
v_date := to_date(to_char(sysdate, 'yyyymm')||'01','yyyymmdd');
|
|
|
|
SELECT count(mld_opdr_key)
|
|
INTO v_count
|
|
FROM mld_opdr
|
|
WHERE mld_opdr_omschrijving = 'Catering factuur tot: ' || to_char(v_date, 'dd-mm-yyyy');
|
|
|
|
IF v_count > 0 THEN
|
|
fac.writelog (p_applname, 'E', 'Catering export is al eerder uitgevoerd.',
|
|
'Controleer opdrachten met datum: ' || to_char(v_date, 'dd-mm-yyyy'));
|
|
ELSE
|
|
v_errormsg := 'Aanpassen kostenplaatsen';
|
|
-- vul de kostenplaats van reserveringen die per abuis geen kostenplaats hebben.
|
|
UPDATE res_rsv_ruimte rrr
|
|
SET prs_kostenplaats_key =
|
|
(SELECT a.prs_kostenplaats_key
|
|
FROM prs_perslid p, prs_afdeling a
|
|
WHERE rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
|
AND p.prs_afdeling_key = a.prs_afdeling_key)
|
|
WHERE rrr.prs_kostenplaats_key IS NULL;
|
|
|
|
FOR rec IN c(v_date) LOOP
|
|
-- maak een melding aan voor deze maand
|
|
|
|
v_errormsg := 'Aanmaken catering melding';
|
|
|
|
INSERT INTO mld_melding
|
|
(
|
|
mld_melding_omschrijving,
|
|
prs_perslid_key,
|
|
prs_kostenplaats_key,
|
|
mld_stdmelding_key,
|
|
mld_alg_locatie_key,
|
|
mld_alg_onroerendgoed_keys,
|
|
mld_melding_einddatum,
|
|
mld_melding_datum,
|
|
mld_melding_t_uitvoertijd,
|
|
mld_meldbron_key,
|
|
mld_melding_module,
|
|
mld_melding_spoed
|
|
)
|
|
VALUES
|
|
(
|
|
'Catering factuur boekingen tot ' || to_char(v_date, 'dd-mm-yyyy'),
|
|
v_aanvrager,
|
|
rec.prs_kostenplaats_key,
|
|
COALESCE(rec.mld_stdmelding_key, v_mld_stdmelding_key),
|
|
rec.alg_locatie_key,
|
|
rec.alg_gebouw_key,
|
|
v_date-1,
|
|
add_months(v_date, -1),
|
|
c_catmld_uitvoertijd,
|
|
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;
|
|
|
|
v_errormsg := 'Maak opdracht aan om factuur van cateraar te matchen';
|
|
|
|
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
|
|
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)
|
|
VALUES ( v_mld_melding_key
|
|
, rec.prs_kostenplaats_key
|
|
, 5 -- uitgegeven
|
|
, v_mld_workorder_key
|
|
, v_aanvrager
|
|
, rec.prs_bedrijf_key
|
|
, v_date -1
|
|
, FAC.DatumTijdPlusUitvoerTijd(sysdate, 1, 'DAGEN')
|
|
, 'MLD'
|
|
, 'Catering factuur tot: ' || to_char(v_date, 'dd-mm-yyyy')
|
|
, round(rec.prijs,2)
|
|
, round(rec.prijs,2)
|
|
, v_mld_opdr_bedrijfopdr_volgnr) RETURNING mld_opdr_key INTO v_mld_opdr_key;
|
|
|
|
MLD.setopdrachtstatus(v_mld_opdr_key, 6, v_aanvrager); -- afgemeld, facilitor
|
|
|
|
v_errormsg := 'Update melding/opdracht status';
|
|
|
|
MLD.updatemeldingstatus (v_mld_melding_key, 0, v_aanvrager); -- facilitor
|
|
MLD.setmeldingstatus(v_mld_melding_key, 5, v_aanvrager); -- afgemeld, facilitor
|
|
MLD.mld_nextworkflowstep (v_mld_melding_key, 1);
|
|
|
|
v_errormsg := 'Voeg regels toe aan mapping tabel';
|
|
|
|
INSERT INTO aaxx_bundel_catering_ref (mld_opdr_key, res_rsv_artikel_key, res_rsv_artikel_prijs, res_rsv_artikel_verwerkt)
|
|
SELECT v_mld_opdr_key, res_rsv_artikel_key, res_rsv_artikel_prijs, v_date
|
|
FROM aads_v_bundel_catering c
|
|
WHERE res_rsv_artikel_levering < v_date
|
|
AND c.prs_bedrijf_key = rec.prs_bedrijf_key
|
|
AND c.prs_kostenplaats_key = rec.prs_kostenplaats_key
|
|
AND c.alg_locatie_key = rec.alg_locatie_key
|
|
AND c.alg_gebouw_key = rec.alg_gebouw_key
|
|
AND COALESCE(c.mld_stdmelding_key, -1) = COALESCE(rec.mld_stdmelding_key, -1)
|
|
AND c.res_status_bo_key = 5;
|
|
|
|
v_errormsg := 'Pas de status van de artikelen aan ' || v_mld_opdr_key;
|
|
UPDATE res_rsv_artikel rra
|
|
SET res_rsv_artikel_verwerkt = SYSDATE,
|
|
res_status_bo_key = 6
|
|
WHERE EXISTS
|
|
(SELECT mld_opdr_key
|
|
FROM aaxx_bundel_catering_ref bc
|
|
WHERE bc.mld_opdr_key = v_mld_opdr_key
|
|
AND bc.res_rsv_artikel_key = rra.res_rsv_artikel_key);
|
|
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
|
|
END IF;
|
|
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.writelog (p_applname, 'E', v_errormsg, '');
|
|
COMMIT;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW AADS_V_RAP_CATERING_INKOOP
|
|
(
|
|
FCLT_F_EXPORTJOB,
|
|
FCLT_F_BEDRIJF,
|
|
AFLEVERADRES,
|
|
FCLT_F_AFLEVERDATUM,
|
|
TIJDSTIP,
|
|
BESTELNUMMER,
|
|
FCLT_F_ARTIKELNUMMER,
|
|
ARTIKELOMSCHRIJVING,
|
|
INTERNE_ARTIKELPRIJS,
|
|
AANTAL,
|
|
FCLT_F_BESTELLER,
|
|
COSTCENTER,
|
|
AFDELING
|
|
)
|
|
AS
|
|
SELECT TO_CHAR (res_rsv_artikel_verwerkt, 'dd-mm-yyyy'),
|
|
prs_bedrijf_naam,
|
|
alg_locatie_code
|
|
|| '-'
|
|
|| alg_gebouw_code
|
|
|| '-'
|
|
|| alg_verdieping_code
|
|
|| '-'
|
|
|| alg_ruimte_nr
|
|
|| ' ('
|
|
|| alg_ruimte_omschrijving
|
|
|| ')'
|
|
afleveradres,
|
|
TO_CHAR (rra.res_rsv_artikel_levering, 'dd-mm-yyyy') datum,
|
|
TO_CHAR (rra.res_rsv_artikel_levering, 'hh24:mi') tijd,
|
|
res_reservering_key || '/' || res_rsv_ruimte_volgnr bestelnummer,
|
|
res_artikel_nr artikelnummer,
|
|
res_artikel_omschrijving artikelomschrijving,
|
|
ROUND (
|
|
(rra.res_rsv_artikel_prijs / rra.res_rsv_artikel_aantal),
|
|
5)
|
|
interneprijs,
|
|
rra.res_rsv_artikel_aantal aantal,
|
|
pf.prs_perslid_naam_full besteller,
|
|
(SELECT MAX (res_kenmerkreservering_waarde)
|
|
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
|
WHERE kw.res_kenmerk_key = rk.res_kenmerk_key
|
|
AND kw.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
|
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
|
AND rk.res_srtkenmerk_key = 1)
|
|
costcenter,
|
|
k.prs_kostenplaats_nr || '-' || k.prs_kostenplaats_omschrijving
|
|
FROM res_rsv_ruimte rrr,
|
|
aads_v_bundel_catering bu,
|
|
prs_bedrijf b,
|
|
res_rsv_artikel rra,
|
|
alg_ruimte r,
|
|
alg_verdieping v,
|
|
alg_gebouw g,
|
|
alg_locatie l,
|
|
prs_perslid p,
|
|
prs_v_perslid_fullnames_all pf,
|
|
prs_kostenplaats k,
|
|
res_artikel ra,
|
|
( 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 rrr.prs_kostenplaats_key = k.prs_kostenplaats_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 = g.alg_gebouw_key
|
|
AND g.alg_locatie_key = l.alg_locatie_key
|
|
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
|
AND p.prs_perslid_key = pf.prs_perslid_key
|
|
AND rra.res_rsv_artikel_verwijder IS NULL
|
|
AND rra.res_status_bo_key = 6
|
|
AND rra.res_artikel_key = ra.res_artikel_key
|
|
AND rra.res_rsv_artikel_levering > TO_DATE ('20110901', 'yyyymmdd')
|
|
AND rra.res_rsv_artikel_key = bu.res_rsv_artikel_key(+)
|
|
AND bu.prs_bedrijf_key = b.prs_bedrijf_key(+);
|
|
|
|
CREATE OR REPLACE VIEW aads_v_rap_catering_verkoop
|
|
(
|
|
fclt_f_bedrijf,
|
|
reservering,
|
|
afleveradres,
|
|
fclt_f_FDC,
|
|
FDC_omschrijving,
|
|
costcenter,
|
|
boekingsdatum,
|
|
fclt_f_periode,
|
|
aanvrager,
|
|
btw,
|
|
totaal
|
|
)
|
|
AS
|
|
SELECT bedrijf,
|
|
reservering,
|
|
afleveradres,
|
|
kostenplaats_nr,
|
|
kostenplaats,
|
|
costcenter,
|
|
boekingsdatum,
|
|
periode,
|
|
aanvrager,
|
|
btw,
|
|
SUM (totaalprijs)
|
|
FROM (SELECT b.prs_bedrijf_naam bedrijf,
|
|
rrr.res_reservering_key
|
|
|| '/'
|
|
|| rrr.res_rsv_ruimte_volgnr
|
|
reservering,
|
|
(SELECT alg_gebouw_code
|
|
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
|
|
WHERE r.alg_ruimte_key =
|
|
COALESCE (rrr.alg_ruimte_key,
|
|
r2a.alg_ruimte_key)
|
|
AND r.alg_verdieping_key =
|
|
v.alg_verdieping_key
|
|
AND v.alg_gebouw_key = g.alg_gebouw_key)
|
|
afleveradres,
|
|
k.prs_kostenplaats_nr kostenplaats_nr,
|
|
k.prs_kostenplaats_omschrijving kostenplaats,
|
|
(SELECT MAX (res_kenmerkreservering_waarde)
|
|
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
|
WHERE kw.res_kenmerk_key = rk.res_kenmerk_key
|
|
AND kw.res_rsv_ruimte_key =
|
|
rrr.res_rsv_ruimte_key
|
|
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
|
AND rk.res_srtkenmerk_key = 1)
|
|
costcenter,
|
|
TO_CHAR (rra.res_rsv_artikel_levering, 'dd-mm-yyyy')
|
|
boekingsdatum,
|
|
TO_CHAR (ADD_MONTHS (rra.res_rsv_artikel_verwerkt, -1),
|
|
'yyyy-mm')
|
|
periode,
|
|
pf.prs_perslid_naam_full aanvrager,
|
|
rra.res_rsv_artikel_btw btw,
|
|
rra.res_rsv_artikel_prijs totaalprijs
|
|
FROM res_rsv_artikel rra,
|
|
res_rsv_ruimte rrr,
|
|
prs_kostenplaats k,
|
|
prs_perslid p,
|
|
prs_afdeling a,
|
|
prs_bedrijf b,
|
|
aads_v_bundel_catering bu,
|
|
prs_v_perslid_fullnames_all pf,
|
|
( SELECT res_rsv_ruimte_key,
|
|
MAX (alg_ruimte_key) alg_ruimte_key
|
|
FROM res_v_rsv_ruimte_2_alg_ruimte
|
|
GROUP BY res_rsv_ruimte_key) r2a,
|
|
res_artikel ra
|
|
WHERE rra.res_status_bo_key = 6
|
|
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
|
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
|
AND rrr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+)
|
|
AND p.prs_afdeling_key = a.prs_afdeling_key
|
|
AND p.prs_perslid_key = pf.prs_perslid_key
|
|
AND rra.res_artikel_key = ra.res_artikel_key
|
|
AND rra.res_rsv_artikel_key = bu.res_rsv_artikel_key(+)
|
|
AND bu.prs_bedrijf_key = b.prs_bedrijf_key(+)
|
|
AND rra.res_rsv_artikel_levering >
|
|
TO_DATE ('20110901', 'yyyymmdd'))
|
|
GROUP BY bedrijf,
|
|
reservering,
|
|
afleveradres,
|
|
kostenplaats_nr,
|
|
kostenplaats,
|
|
costcenter,
|
|
boekingsdatum,
|
|
periode,
|
|
aanvrager,
|
|
btw;
|
|
|
|
-- AADS#65512: DSM & Deviatie-workflow
|
|
CREATE OR REPLACE VIEW aads_v_rap_deviatie_goedkeur
|
|
(
|
|
mld_melding_key,
|
|
fclt_3d_user_key, -- prs_perslid_key van de goedkeurder (via rechten MLDBOF / MLDBO3 op desbetreffende vakgroep)
|
|
goedkeurder,
|
|
-- fclt_3d_afdeling_key, -- ook voor 3D-scoping op afdeling in meenemen voor DSM - ?
|
|
fclt_3d_discipline_key, -- vakgroep_key
|
|
melding_nr, -- actie-meldingsnr met prefix
|
|
melding_start_key, -- meldingsnummer aanvraag
|
|
vakgroep, -- vakgroep_naam
|
|
status, -- nieuw
|
|
datum, -- datum mld_goedkeuring
|
|
datum_m1, -- datum mld_start
|
|
aanvrager,
|
|
omschrijving,
|
|
opmerking,
|
|
opmerking_m1, -- opmerking mld_start
|
|
-- Alle kenmerkvelden op aanvraag
|
|
deviatiesoort,
|
|
titel,
|
|
ingangsdatum,
|
|
kostensoort_oud,
|
|
kostensoort_nieuw,
|
|
oud_budget,
|
|
nieuw_budget_jaarbasis,
|
|
nieuw_budget_jaarlopend,
|
|
deviatiebedrag_jaarlopend,
|
|
entiteit,
|
|
leverancier,
|
|
po_nummer,
|
|
value_convention,
|
|
co_nummer
|
|
)
|
|
AS
|
|
SELECT m.mld_melding_key,
|
|
pf.prs_perslid_key
|
|
fclt_3d_user_key,
|
|
pf.prs_perslid_naam
|
|
goedkeurder,
|
|
md.ins_discipline_key
|
|
fclt_3d_discipline_key,
|
|
sd.ins_srtdiscipline_prefix || to_char(m.mld_melding_key)
|
|
melding_nr,
|
|
m.mld_melding_start_key
|
|
melding_start_key,
|
|
md.ins_discipline_omschrijving
|
|
vakgroep,
|
|
DECODE (m.mld_melding_status, 2, 'nieuw', 'in behandeling')
|
|
status,
|
|
TO_CHAR(m.mld_melding_datum,'dd-mm-yyyy')
|
|
datum,
|
|
TO_CHAR(m1.mld_melding_datum,'dd-mm-yyyy')
|
|
datum_m1,
|
|
p.prs_perslid_naam || ' (' || p.prs_perslid_voornaam || ')'
|
|
aanvrager,
|
|
m.mld_melding_omschrijving,
|
|
m.mld_melding_opmerking,
|
|
m1.mld_melding_opmerking,
|
|
-- Kenmerkvelden bij aanvraag
|
|
(SELECT fu.fac_usrdata_omschr
|
|
FROM mld_kenmerkmelding mkm,
|
|
mld_kenmerk k,
|
|
fac_usrdata fu
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND fac.safe_to_number(mkm.mld_kenmerkmelding_waarde) = fu.fac_usrdata_key
|
|
AND k.mld_srtkenmerk_key = 643)
|
|
deviatiesoort,
|
|
(SELECT mkm.mld_kenmerkmelding_waarde
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 623)
|
|
titel,
|
|
(SELECT TO_CHAR(TO_DATE(mkm.mld_kenmerkmelding_waarde,'dd-mm-yyyy'),'dd-mm-yyyy')
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 644)
|
|
ingangsdatum,
|
|
(SELECT k.prs_kostensoort_omschrijving
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k, aaxx_v_kostensoort k
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND fac.safe_to_number(mkm.mld_kenmerkmelding_waarde) = k.prs_kostensoort_key
|
|
AND k.mld_srtkenmerk_key = 645)
|
|
kostensoort_oud,
|
|
(SELECT k.prs_kostensoort_omschrijving
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k, aaxx_v_kostensoort k
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND fac.safe_to_number(mkm.mld_kenmerkmelding_waarde) = k.prs_kostensoort_key
|
|
AND k.mld_srtkenmerk_key = 721)
|
|
kostensoort_nieuw,
|
|
(SELECT mkm.mld_kenmerkmelding_waarde
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 661)
|
|
oud_budget,
|
|
(SELECT mkm.mld_kenmerkmelding_waarde
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 641)
|
|
nieuw_budget_jaarbasis,
|
|
(SELECT mkm.mld_kenmerkmelding_waarde
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 642)
|
|
nieuw_budget_jaarlopend,
|
|
(SELECT mkm.mld_kenmerkmelding_waarde
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 722) -- Deviatiebedrag (lopende jaar)
|
|
deviatiebedrag_lopendjaar,
|
|
(SELECT mkm.mld_kenmerkmelding_waarde
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 682) -- Entiteit
|
|
entiteit,
|
|
(SELECT b.prs_bedrijf_naam
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k, prs_bedrijf b
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND fac.safe_to_number(mkm.mld_kenmerkmelding_waarde) = b.prs_bedrijf_key
|
|
AND k.mld_srtkenmerk_key = 77)
|
|
leverancier,
|
|
(SELECT mkm.mld_kenmerkmelding_waarde
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 646) -- PO Nummer opdrachtgever
|
|
po_nummer,
|
|
(SELECT fu.fac_usrdata_omschr
|
|
FROM mld_kenmerkmelding mkm,
|
|
mld_kenmerk k,
|
|
fac_usrdata fu
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND fac.safe_to_number(mkm.mld_kenmerkmelding_waarde) = fu.fac_usrdata_key
|
|
AND k.mld_srtkenmerk_key = 701) -- Value Convention
|
|
value_convention,
|
|
(SELECT mkm.mld_kenmerkmelding_waarde
|
|
FROM mld_kenmerkmelding mkm, mld_kenmerk k
|
|
WHERE mkm.mld_melding_key = m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key = k.mld_kenmerk_key
|
|
AND k.mld_srtkenmerk_key = 681) -- CO Nummer HEYDAY naar leverancier
|
|
co_nummer
|
|
FROM mld_melding m,
|
|
mld_melding m1,
|
|
prs_perslid p, -- aanvrager
|
|
-- prs_v_afdeling_boom ab,
|
|
-- prs_afdeling a,
|
|
mld_stdmelding s,
|
|
mld_discipline md,
|
|
mld_disc_params mdp,
|
|
ins_srtdiscipline sd,
|
|
(
|
|
SELECT gr.ins_discipline_key, gg.prs_perslid_key, p.prs_perslid_naam
|
|
FROM fac_gebruikersgroep gg,
|
|
fac_groep g,
|
|
fac_groeprechten gr,
|
|
mld_discipline md,
|
|
fac_functie f,
|
|
prs_perslid p
|
|
WHERE gg.fac_groep_key = g.fac_groep_key
|
|
AND g.fac_groep_key = gr.fac_groep_key
|
|
AND gg.prs_perslid_key = p.prs_perslid_key
|
|
AND gr.fac_functie_key = f.fac_functie_key
|
|
AND gr.ins_discipline_key = md.ins_discipline_key
|
|
AND md.ins_srtdiscipline_key = 61
|
|
AND INSTR(lower(md.ins_discipline_omschrijving),'goedkeuring') > 0
|
|
AND gr.fac_functie_key = 29 -- MLDBOF
|
|
GROUP BY gr.ins_discipline_key, gg.prs_perslid_key, p.prs_perslid_naam
|
|
) pf -- p-fiatteur
|
|
WHERE s.mld_stdmelding_key = m.mld_stdmelding_key
|
|
AND m.mld_melding_start_key = m1.mld_melding_key
|
|
AND m1.mld_melding_status = 4 -- Lopende aanvraag
|
|
AND m.mld_melding_status in (2, 4) -- Moet in principe nieuw (2) zijn om nog te kunnen annuleren
|
|
-- Indien toch in behandeling (4) genomen dan wel opnemen maar in styling annuleren disablen
|
|
AND m.prs_perslid_key = p.prs_perslid_key
|
|
-- AND p.prs_afdeling_key = ab.prs_afdeling_key AND ab.prs_afdeling_key1 = a.prs_afdeling_key
|
|
AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
|
|
AND md.ins_discipline_key = s.mld_ins_discipline_key
|
|
AND md.ins_discipline_key = mdp.mld_ins_discipline_key
|
|
AND sd.ins_srtdiscipline_key = 61 -- vakgroeptype Deviaties
|
|
AND INSTR(lower(md.ins_discipline_omschrijving),'goedkeuring') > 0 -- daarbinnen alle vakgroepen tbv goedkeuring
|
|
AND md.ins_discipline_key = pf.ins_discipline_key ;
|
|
|
|
|
|
-- Rapport opdrachten voor gebouwverantwoordelijke (ticket 58199)
|
|
CREATE OR REPLACE VIEW AADS_V_OPDR_GEBOUWVERANTW
|
|
(
|
|
VERANTW1_KEY,
|
|
NAAM_VERANTWOORDELIJK,
|
|
VERANTW2_KEY,
|
|
NAAM_VERANTWOORDELIJK2,
|
|
PLAATSAANDUIDING,
|
|
MLD_OPDR_KEY,
|
|
OPDRACHTNUMMER,
|
|
TYPE_OPDRACHT,
|
|
OPDRACHTOMSCHRIJVING,
|
|
OPDRACHT_BEDRAG,
|
|
OPDRACHT_AANMAAKDATUM,
|
|
OPDRACHT_EINDDATUM,
|
|
OPDRACHT_PLANDATUM,
|
|
HUIDIGE_STATUS,
|
|
GOEDGEKEURD_BO_1E,
|
|
GOEDGEKEURD_1E_DOOR,
|
|
GOEDGEKEURD_AANTAL,
|
|
GOEDGEKEURD_BO_MAX,
|
|
GOEDGEKEURD_MAX_DOOR,
|
|
GEFIATTERD_1E,
|
|
FIATTEUR,
|
|
LEVERANCIERSNAAM,
|
|
OPDRACHT_VERZONDEN,
|
|
OPDRACHT_ACCEPT,
|
|
DATUM_GEREED
|
|
)
|
|
AS
|
|
SELECT sub.prs_perslid_key_verantw,
|
|
sub.Naam_Verantwoordelijk,
|
|
sub.prs_perslid_key_verantw2,
|
|
sub.Naam_Verantwoordelijk2,
|
|
l.alg_locatie_code
|
|
|| ' - '
|
|
|| (SELECT g.alg_gebouw_naam || ' (' || og.alg_plaatsaanduiding || '}'
|
|
FROM alg_v_allonrgoed_gegevens og, alg_gebouw g
|
|
WHERE og.alg_gebouw_key = g.alg_gebouw_key
|
|
AND og.alg_onroerendgoed_keys =
|
|
m.mld_alg_onroerendgoed_keys
|
|
AND og.alg_locatie_key = m.mld_alg_locatie_key)
|
|
AS Locatie_Plaatsaanduiding,
|
|
o.mld_opdr_key,
|
|
ins_srtdiscipline_prefix
|
|
|| TO_CHAR (m.mld_melding_key)
|
|
|| '/'
|
|
|| o.mld_opdr_bedrijfopdr_volgnr
|
|
AS OPDR_NR,
|
|
top.mld_typeopdr_omschrijving,
|
|
o.mld_opdr_omschrijving,
|
|
o.mld_opdr_kosten,
|
|
o.mld_opdr_datumbegin,
|
|
o.mld_opdr_einddatum,
|
|
o.mld_opdr_plandatum,
|
|
(SELECT st.mld_statusopdr_omschrijving
|
|
FROM mld_statusopdr st
|
|
WHERE st.mld_statusopdr_key = o.mld_statusopdr_key)
|
|
AS HuidigeStatus,
|
|
(SELECT MIN (ft.fac_tracking_datum)
|
|
FROM fac_tracking ft
|
|
WHERE ft.fac_tracking_refkey = o.mld_opdr_key
|
|
AND SUBSTR (ft.fac_tracking_oms, 1, 28) =
|
|
'Opdracht is goedgekeurd door')
|
|
AS Goedgekeurd_BO_1e,
|
|
(SELECT p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam
|
|
FROM prs_perslid p, fac_tracking ft
|
|
WHERE p.prs_perslid_key = ft.prs_perslid_key
|
|
AND ft.fac_tracking_key =
|
|
(SELECT MIN (ft.fac_tracking_key)
|
|
FROM fac_tracking ft
|
|
WHERE ft.fac_tracking_refkey = o.mld_opdr_key
|
|
AND SUBSTR (ft.fac_tracking_oms, 1, 28) =
|
|
'Opdracht is goedgekeurd door'))
|
|
AS Goedgekeurd_BO_1e_Door,
|
|
bo.teller_BO,
|
|
(CASE
|
|
WHEN bo.teller_bo > 1
|
|
THEN
|
|
((SELECT p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam
|
|
FROM prs_perslid p, fac_tracking ft
|
|
WHERE p.prs_perslid_key = ft.prs_perslid_key
|
|
AND ft.fac_tracking_key =
|
|
(SELECT MAX (ft.fac_tracking_key)
|
|
FROM fac_tracking ft
|
|
WHERE ft.fac_tracking_refkey =
|
|
o.mld_opdr_key
|
|
AND SUBSTR (ft.fac_tracking_oms, 1, 28) =
|
|
'Opdracht is goedgekeurd door')))
|
|
ELSE
|
|
''
|
|
END)
|
|
AS Goedkeuring_BO_Door_max,
|
|
bo.datum_max,
|
|
(SELECT MIN (ft.fac_tracking_datum)
|
|
FROM fac_tracking ft
|
|
WHERE ft.fac_tracking_refkey = o.mld_opdr_key
|
|
AND ft.fac_srtnotificatie_key = 48)
|
|
AS Gefiatteerd_1e,
|
|
(SELECT p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam
|
|
FROM prs_perslid p, fac_tracking ft
|
|
WHERE p.prs_perslid_key = ft.prs_perslid_key
|
|
AND ft.fac_tracking_key =
|
|
(SELECT MIN (ft.fac_tracking_key)
|
|
FROM fac_tracking ft
|
|
WHERE ft.fac_tracking_refkey = o.mld_opdr_key
|
|
AND ft.fac_srtnotificatie_key = 48))
|
|
AS Fiatteur,
|
|
(SELECT naam
|
|
FROM mld_v_uitvoerende u
|
|
WHERE u.mld_uitvoerende_key = o.mld_uitvoerende_keys)
|
|
opdracht_uitvoerende,
|
|
o.mld_opdr_verzonden
|
|
AS Opdracht_VerzondenLeverancier,
|
|
mld.getopdrachtstatusdate (o.mld_opdr_key, 8)
|
|
AS Opdracht_Accept,
|
|
mld.getopdrachtstatusdate (o.mld_opdr_key, 6)
|
|
AS DatumAfgemeld
|
|
FROM alg_locatie l,
|
|
mld_opdr o,
|
|
mld_typeopdr top,
|
|
mld_melding m,
|
|
mld_stdmelding stdm,
|
|
ins_tab_discipline di,
|
|
ins_srtdiscipline sdi,
|
|
(SELECT mm.mld_melding_key,
|
|
og.alg_onroerendgoed_keys,
|
|
og.alg_locatie_key,
|
|
g.prs_perslid_key_verantw,
|
|
p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam
|
|
AS Naam_Verantwoordelijk,
|
|
g.prs_perslid_key_verantw2,
|
|
p2.prs_perslid_voornaam || ' ' || p2.prs_perslid_naam
|
|
AS Naam_Verantwoordelijk2,
|
|
g.alg_gebouw_naam,
|
|
g.alg_gebouw_code
|
|
FROM mld_melding mm,
|
|
alg_v_allonrgoed_gegevens og,
|
|
alg_gebouw g,
|
|
prs_perslid p,
|
|
prs_perslid p2
|
|
WHERE mm.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
|
|
AND og.alg_gebouw_key = g.alg_gebouw_key
|
|
AND g.prs_perslid_key_verantw = p.prs_perslid_key
|
|
AND g.prs_perslid_key_verantw2 = p2.prs_perslid_key (+)) sub,
|
|
(SELECT *
|
|
FROM (SELECT v.mld_opdr_key, v.teller_bo, v.datum_max
|
|
FROM ( SELECT mo.mld_opdr_key,
|
|
COUNT (*) AS teller_bo,
|
|
MAX (fac_tracking_datum) AS Datum_max
|
|
FROM fac_tracking ft, mld_opdr mo
|
|
WHERE mo.mld_opdr_key = ft.fac_tracking_refkey
|
|
AND SUBSTR (ft.fac_tracking_oms, 1, 28) =
|
|
'Opdracht is goedgekeurd door'
|
|
GROUP BY mo.mld_opdr_key) v) vv
|
|
WHERE vv.Teller_BO > 1) bo
|
|
WHERE m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
|
AND m.mld_melding_key = sub.mld_melding_key
|
|
AND o.mld_opdr_key = bo.mld_opdr_key(+)
|
|
AND m.mld_stdmelding_key = stdm.mld_stdmelding_key
|
|
AND stdm.mld_ins_discipline_key = di.ins_discipline_key
|
|
AND di.ins_srtdiscipline_key = sdi.ins_srtdiscipline_key
|
|
AND o.mld_melding_key = m.mld_melding_key
|
|
AND o.mld_typeopdr_key = top.mld_typeopdr_key(+)
|
|
AND o.mld_opdr_datumbegin >= TO_DATE ('01-01-2010', 'DD-MM-YYYY') ;
|
|
|
|
-- AADS#22801 rapport geautoriseerde bestellers
|
|
-- Keys: DSM Demand manager (=187), DSM Budgethouder (=182), DSM Geautoriseerd besteller (=181) en DSM Gedelegeerd Budgethouder (=12)
|
|
CREATE OR REPLACE VIEW AADS_V_RAP_AUTH_BESTELLERS
|
|
(
|
|
FCLT_F_NAAM,
|
|
FCLT_F_KOSTENPLAATS,
|
|
FCLT_F_MANDAAT,
|
|
FCLT_F_PROFIEL,
|
|
FCLT_F_AFDELING,
|
|
TELEFOONNUMMER,
|
|
EMAILADRES
|
|
)
|
|
AS
|
|
SELECT prs_perslid_naam_full Naam,
|
|
prs_kostenplaats_nr || ' ' || prs_kostenplaats_omschrijving
|
|
Kostenplaats,
|
|
'Afdeling',
|
|
g.fac_groep_omschrijving Profiel,
|
|
prs_afdeling_omschrijving Afdeling,
|
|
coalesce(prs_perslid_telefoonnr, prs_perslid_mobiel) Telefoon,
|
|
prs_perslid_email Mail
|
|
FROM prs_v_perslid_fullnames pf,
|
|
fac_gebruikersgroep fg,
|
|
fac_groep g,
|
|
prs_perslid p,
|
|
prs_afdeling a,
|
|
prs_kostenplaats k
|
|
WHERE pf.prs_perslid_key = fg.prs_perslid_key
|
|
AND pf.prs_perslid_key = p.prs_perslid_key
|
|
AND a.prs_afdeling_key = p.prs_afdeling_key
|
|
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND g.fac_groep_key = fg.fac_groep_key
|
|
AND fg.fac_groep_key IN (182, 187, 181, 12)
|
|
AND p.prs_perslid_upper NOT LIKE 'ARCHIVE%'
|
|
UNION ALL
|
|
SELECT prs_perslid_naam_full Naam,
|
|
prs_kostenplaats_nr || ' ' || prs_kostenplaats_omschrijving
|
|
Kostenplaats,
|
|
'Gemandateerd',
|
|
g.fac_groep_omschrijving Profiel,
|
|
prs_afdeling_omschrijving Afdeling,
|
|
coalesce(prs_perslid_telefoonnr, prs_perslid_mobiel) Telefoon,
|
|
prs_perslid_email Mail
|
|
FROM prs_v_perslid_fullnames pf,
|
|
fac_gebruikersgroep fg,
|
|
fac_groep g,
|
|
prs_perslid p,
|
|
prs_afdeling a,
|
|
prs_kostenplaats k,
|
|
(SELECT p.prs_perslid_key, k.prs_kostenplaats_key
|
|
FROM prs_perslidkostenplaats pk,
|
|
prs_perslid p,
|
|
prs_kostenplaats k
|
|
WHERE p.prs_perslid_key = pk.prs_perslid_key
|
|
AND k.prs_kostenplaats_key = pk.prs_kostenplaats_key
|
|
AND k.prs_kostenplaats_verwijder IS NULL
|
|
AND p.prs_perslid_verwijder IS NULL) m
|
|
WHERE pf.prs_perslid_key = fg.prs_perslid_key
|
|
AND pf.prs_perslid_key = p.prs_perslid_key
|
|
AND m.prs_perslid_key = p.prs_perslid_key
|
|
AND a.prs_afdeling_key = p.prs_afdeling_key
|
|
AND m.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND g.fac_groep_key = fg.fac_groep_key
|
|
AND fg.fac_groep_key IN (182, 187, 181, 12)
|
|
AND p.prs_perslid_upper NOT LIKE 'ARCHIVE%'
|
|
ORDER BY 1,
|
|
3,
|
|
4,
|
|
2;
|
|
|
|
-- AADS#39742 rapport geautoriseerde bestellers
|
|
-- Keys 1000, 1001 en 1002 zijn checkboxen Budgethouder, Geautoriseerd besteller en Gedelegeerd budgethouder
|
|
CREATE OR REPLACE VIEW aads_v_rap_auth_bestellers2
|
|
(
|
|
fclt_f_naam,
|
|
fclt_f_kostenplaats,
|
|
fclt_f_mandaat,
|
|
fclt_f_profiel,
|
|
fclt_f_afdeling,
|
|
telefoonnummer,
|
|
emailadres
|
|
)
|
|
AS
|
|
SELECT prs_perslid_naam_full naam,
|
|
prs_kostenplaats_nr || ' ' || prs_kostenplaats_omschrijving
|
|
kostenplaats,
|
|
'Afdeling',
|
|
aut.prs_kenmerk_omschrijving,
|
|
prs_afdeling_omschrijving afdeling,
|
|
COALESCE (prs_perslid_telefoonnr, prs_perslid_mobiel) telefoon,
|
|
prs_perslid_email mail
|
|
FROM prs_v_perslid_fullnames pf,
|
|
prs_perslid p,
|
|
prs_afdeling a,
|
|
prs_kostenplaats k,
|
|
(SELECT prs_link_key, prs_kenmerk_omschrijving
|
|
FROM prs_kenmerklink pkl, prs_kenmerk pk
|
|
WHERE pk.prs_kenmerk_key IN (1000, 1001, 1002)
|
|
AND pkl.prs_kenmerk_key = pk.prs_kenmerk_key) aut
|
|
WHERE pf.prs_perslid_key = p.prs_perslid_key
|
|
AND a.prs_afdeling_key = p.prs_afdeling_key
|
|
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND p.prs_perslid_upper NOT LIKE 'ARCHIVE%'
|
|
AND p.prs_perslid_key = aut.prs_link_key
|
|
UNION ALL
|
|
SELECT prs_perslid_naam_full naam,
|
|
prs_kostenplaats_nr || ' ' || prs_kostenplaats_omschrijving
|
|
kostenplaats,
|
|
'Gemandateerd',
|
|
aut.prs_kenmerk_omschrijving profiel,
|
|
prs_afdeling_omschrijving afdeling,
|
|
COALESCE (prs_perslid_telefoonnr, prs_perslid_mobiel) telefoon,
|
|
prs_perslid_email mail
|
|
FROM prs_v_perslid_fullnames pf,
|
|
prs_perslid p,
|
|
prs_afdeling a,
|
|
prs_kostenplaats k,
|
|
(SELECT p.prs_perslid_key, k.prs_kostenplaats_key
|
|
FROM prs_perslidkostenplaats pk,
|
|
prs_perslid p,
|
|
prs_kostenplaats k
|
|
WHERE p.prs_perslid_key = pk.prs_perslid_key
|
|
AND k.prs_kostenplaats_key = pk.prs_kostenplaats_key
|
|
AND k.prs_kostenplaats_verwijder IS NULL
|
|
AND p.prs_perslid_verwijder IS NULL) m,
|
|
(SELECT prs_link_key, prs_kenmerk_omschrijving
|
|
FROM prs_kenmerklink pkl, prs_kenmerk pk
|
|
WHERE pk.prs_kenmerk_key IN (1000, 1001, 1002)
|
|
AND pkl.prs_kenmerk_key = pk.prs_kenmerk_key) aut
|
|
WHERE pf.prs_perslid_key = p.prs_perslid_key
|
|
AND m.prs_perslid_key = p.prs_perslid_key
|
|
AND a.prs_afdeling_key = p.prs_afdeling_key
|
|
AND m.prs_kostenplaats_key = k.prs_kostenplaats_key
|
|
AND p.prs_perslid_upper NOT LIKE 'ARCHIVE%'
|
|
AND aut.prs_link_key = p.prs_perslid_key
|
|
ORDER BY 1,
|
|
3,
|
|
4,
|
|
2;
|
|
|
|
-- AADS#34572 rapportage tbv huuradministratie
|
|
-- AADS#56061 toevoeging huurbaas gedelegeerd
|
|
CREATE OR REPLACE VIEW AADS_V_RAP_ALG_HUURADMIN
|
|
(
|
|
FCLT_F_LOCATIE_CODE,
|
|
FCLT_F_GEBOUW_CODE,
|
|
BOUWDEEL,
|
|
VERDIEPING,
|
|
RUIMTENUMMER,
|
|
RUIMTEOMSCHRIJVING,
|
|
FCLT_F_RUIMTEFUNCTIE,
|
|
M2,
|
|
TEKEN_M2,
|
|
FCLT_F_HUURDER_NUMMER,
|
|
AFDELINGSOMSCHRIJVING,
|
|
FCLT_F_FDC,
|
|
BEZETTING,
|
|
TARIEF_KALE_HUUR,
|
|
TARIEF_SERVICEKOSTEN,
|
|
TARIEF_FMKOSTEN,
|
|
WERKPLEK_TARIEF,
|
|
AANTAL_WERPLEKKEN,
|
|
HUISBAAS,
|
|
HUISBAAS_GEDELEGEERD,
|
|
TOTAAL_KALE_HUUR,
|
|
TOTAAL_SERVICEKOSTEN,
|
|
TOTAAL_FMKOSTEN,
|
|
TOTAAL_WERKPLEK,
|
|
TOTAAL
|
|
)
|
|
AS
|
|
SELECT alg_locatie_code
|
|
locatie_code,
|
|
alg_gebouw_code
|
|
gebouw_code,
|
|
bd.bouwdeel,
|
|
alg_verdieping_volgnr
|
|
verdieping,
|
|
alg_ruimte_nr
|
|
ruimtenummer,
|
|
alg_ruimte_omschrijving
|
|
ruimteomschrijving,
|
|
alg_srtruimte_omschrijving
|
|
ruimtefunctie,
|
|
alg_ruimte_bruto_vloeropp
|
|
m2,
|
|
alg_ruimte_getekend
|
|
teken_m2,
|
|
pa.prs_afdeling_naam
|
|
huurder_nummer,
|
|
pa.prs_afdeling_omschrijving
|
|
afdelingsomschrijving,
|
|
pk.prs_kostenplaats_nr
|
|
fdc,
|
|
ROUND (
|
|
( pra.prs_ruimteafdeling_bezetting
|
|
* alg_ruimte_bruto_vloeropp)
|
|
/ 100,
|
|
2)
|
|
bezetting,
|
|
kh.tariefkh
|
|
tarief_kale_huur,
|
|
sk.tariefsk
|
|
tarief_servicekosten,
|
|
fmk.tarieffmk
|
|
tarief_fmkosten,
|
|
wk.tariefwk
|
|
werkplek_tarief,
|
|
aw.aantwp
|
|
aantal_werplekken,
|
|
hb.huisbaas
|
|
huisbaas,
|
|
ghb.gedelegeerdehuisbaas
|
|
Gedelegeerde_Huisbaas,
|
|
ROUND (
|
|
kh.tariefkh
|
|
* ( pra.prs_ruimteafdeling_bezetting
|
|
* alg_ruimte_bruto_vloeropp)
|
|
/ 100,
|
|
2)
|
|
totaal_kale_huur,
|
|
ROUND (
|
|
sk.tariefsk
|
|
* ( pra.prs_ruimteafdeling_bezetting
|
|
* alg_ruimte_bruto_vloeropp)
|
|
/ 100,
|
|
2)
|
|
totaal_servicekosten,
|
|
ROUND (
|
|
fmk.tarieffmk
|
|
* ( pra.prs_ruimteafdeling_bezetting
|
|
* alg_ruimte_bruto_vloeropp)
|
|
/ 100,
|
|
2)
|
|
totaal_fmkosten,
|
|
ROUND (aw.aantwp * wk.tariefwk, 2)
|
|
totaal_werkplek,
|
|
COALESCE (
|
|
ROUND (
|
|
kh.tariefkh
|
|
* ( pra.prs_ruimteafdeling_bezetting
|
|
* alg_ruimte_bruto_vloeropp)
|
|
/ 100,
|
|
2),
|
|
0)
|
|
+ COALESCE (
|
|
ROUND (
|
|
sk.tariefsk
|
|
* ( pra.prs_ruimteafdeling_bezetting
|
|
* alg_ruimte_bruto_vloeropp)
|
|
/ 100,
|
|
2),
|
|
0)
|
|
+ COALESCE (
|
|
ROUND (
|
|
fmk.tarieffmk
|
|
* ( pra.prs_ruimteafdeling_bezetting
|
|
* alg_ruimte_bruto_vloeropp)
|
|
/ 100,
|
|
2),
|
|
0)
|
|
+ COALESCE (ROUND (aw.aantwp * wk.tariefwk, 2), 0)
|
|
totaal
|
|
FROM alg_locatie l,
|
|
alg_gebouw g,
|
|
alg_verdieping v,
|
|
alg_ruimte r,
|
|
alg_srtruimte sr,
|
|
prs_v_aanwezigruimteafdeling pra,
|
|
prs_afdeling pa,
|
|
prs_kostenplaats pk,
|
|
(SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde huisbaas
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 1200) hb,
|
|
(SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde gedelegeerdehuisbaas
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 1240) ghb,
|
|
(SELECT alg_onrgoed_key,
|
|
fac.safe_to_number (alg_onrgoedkenmerk_waarde) aantwp
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 1040) aw,
|
|
(SELECT alg_onrgoed_key,
|
|
fac.safe_to_number (alg_onrgoedkenmerk_waarde) tariefkh
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 1041) kh,
|
|
(SELECT alg_onrgoed_key,
|
|
fac.safe_to_number (alg_onrgoedkenmerk_waarde) tariefsk
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 1042) sk,
|
|
(SELECT alg_onrgoed_key,
|
|
fac.safe_to_number (alg_onrgoedkenmerk_waarde) tarieffmk
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 1043) fmk,
|
|
(SELECT alg_onrgoed_key,
|
|
fac.safe_to_number (alg_onrgoedkenmerk_waarde) tariefwk
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 1044) wk,
|
|
(SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde bouwdeel
|
|
FROM alg_onrgoedkenmerk
|
|
WHERE alg_kenmerk_key = 1060) bd
|
|
WHERE g.alg_locatie_key = l.alg_locatie_key
|
|
AND g.alg_gebouw_key = v.alg_gebouw_key
|
|
AND r.alg_verdieping_key = v.alg_verdieping_key
|
|
AND sr.alg_srtruimte_key(+) = r.alg_srtruimte_key
|
|
AND alg_ruimte_verwijder IS NULL
|
|
AND pra.alg_ruimte_key(+) = r.alg_ruimte_key
|
|
AND pa.prs_afdeling_key(+) = pra.prs_afdeling_key
|
|
AND pk.prs_kostenplaats_key(+) = pa.prs_kostenplaats_key
|
|
AND hb.alg_onrgoed_key(+) = r.alg_ruimte_key
|
|
AND aw.alg_onrgoed_key(+) = r.alg_ruimte_key
|
|
AND kh.alg_onrgoed_key(+) = r.alg_ruimte_key
|
|
AND sk.alg_onrgoed_key(+) = r.alg_ruimte_key
|
|
AND fmk.alg_onrgoed_key(+) = r.alg_ruimte_key
|
|
AND wk.alg_onrgoed_key(+) = r.alg_ruimte_key
|
|
AND bd.alg_onrgoed_key(+) = r.alg_ruimte_key
|
|
AND ghb.alg_onrgoed_key(+) = r.alg_ruimte_key
|
|
;
|
|
|
|
-- HV FREEZE
|
|
CREATE OR REPLACE PROCEDURE aads_export_hv_freeze (p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2)
|
|
AS
|
|
v_kwartaal VARCHAR2 (10);
|
|
v_aantal NUMBER;
|
|
v_maand NUMBER;
|
|
v_maand2 NUMBER;
|
|
v_opmerking VARCHAR2 (100);
|
|
BEGIN
|
|
BEGIN
|
|
-- freeze wordt altijd weggeschreven onder het volgende kwartaal
|
|
v_kwartaal :=
|
|
TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy')
|
|
|| TRUNC( (TO_NUMBER (TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'mm'))
|
|
+ 2)
|
|
/ 3);
|
|
|
|
-- kijk of er al een freeze bestaat
|
|
SELECT COUNT ( * )
|
|
INTO v_aantal
|
|
FROM aads_hv_freeze
|
|
WHERE kwartaal = v_kwartaal;
|
|
|
|
-- freeze mag alleen in maart, juni, september en december gemaakt worden.
|
|
v_maand := TO_NUMBER (TO_CHAR (SYSDATE, 'mm'));
|
|
-- speciaal verzoek om de eerste week in het volgende kwartaal ook nog te mogen freezen.
|
|
v_maand2 := TO_NUMBER (TO_CHAR (SYSDATE - 7, 'mm'));
|
|
|
|
IF MOD (v_maand, 3) <> 0 AND MOD (v_maand2, 3) <> 0
|
|
THEN
|
|
fac.writelog (
|
|
p_applname,
|
|
'E',
|
|
'Foutmelding!: Freeze mag alleen in de maanden maart, juni, september en december gemaakt worden!',
|
|
'Neem contact op met uw consultant.');
|
|
ELSE
|
|
-- verwijder eerder gemaakte freeze resultaten.
|
|
IF v_aantal > 0
|
|
THEN
|
|
DELETE aads_hv_freeze
|
|
WHERE kwartaal = v_kwartaal;
|
|
|
|
v_opmerking := ' Vorige freeze is verwijderd.';
|
|
END IF;
|
|
|
|
INSERT INTO aads_hv_freeze (freeze_datum,
|
|
kwartaal,
|
|
locatie_code,
|
|
gebouw_code,
|
|
bouwdeel,
|
|
verdieping,
|
|
ruimtenummer,
|
|
ruimteomschrijving,
|
|
ruimtefunctie,
|
|
m2,
|
|
huurder_nummer,
|
|
afdelingsomschrijving,
|
|
fdc,
|
|
bezetting,
|
|
tarief_kale_huur,
|
|
tarief_servicekosten,
|
|
tarief_fmkosten,
|
|
werkplek_tarief,
|
|
aantal_werplekken,
|
|
huisbaas,
|
|
totaal_kale_huur,
|
|
totaal_servicekosten,
|
|
totaal_fmkosten,
|
|
totaal_werkplek,
|
|
totaal)
|
|
SELECT SYSDATE,
|
|
v_kwartaal,
|
|
fclt_f_locatie_code,
|
|
fclt_f_gebouw_code,
|
|
bouwdeel,
|
|
verdieping,
|
|
ruimtenummer,
|
|
ruimteomschrijving,
|
|
fclt_f_ruimtefunctie,
|
|
m2,
|
|
fclt_f_huurder_nummer,
|
|
afdelingsomschrijving,
|
|
fclt_f_fdc,
|
|
bezetting,
|
|
tarief_kale_huur,
|
|
tarief_servicekosten,
|
|
tarief_fmkosten,
|
|
werkplek_tarief,
|
|
aantal_werplekken,
|
|
huisbaas,
|
|
totaal_kale_huur,
|
|
totaal_servicekosten,
|
|
totaal_fmkosten,
|
|
totaal_werkplek,
|
|
totaal
|
|
FROM aads_v_rap_alg_huuradmin;
|
|
|
|
fac.writelog (
|
|
p_applname,
|
|
'E',
|
|
'Freeze voor kwartaal:'
|
|
|| v_kwartaal
|
|
|| ' op '
|
|
|| TO_CHAR (SYSDATE, 'dd-mm-yyyy')
|
|
|| ' is succesvol aangemaakt.'
|
|
|| v_opmerking,
|
|
'');
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.writelog (
|
|
p_applname,
|
|
'E',
|
|
'Foutmelding!:' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100),
|
|
'Neem contact op met uw consultant.');
|
|
END;
|
|
END;
|
|
/
|
|
|
|
-- Freeze rapportage over voorgaande freezes
|
|
CREATE OR REPLACE VIEW aads_v_rap_hv_freeze
|
|
(
|
|
fclt_f_kwartaal,
|
|
fclt_f_locatie_code,
|
|
fclt_f_gebouw_code,
|
|
bouwdeel,
|
|
verdieping,
|
|
ruimtenummer,
|
|
ruimteomschrijving,
|
|
fclt_f_ruimtefunctie,
|
|
m2,
|
|
fclt_f_huurder_nummer,
|
|
fclt_f_afdelingsomschrijving,
|
|
fclt_f_fdc,
|
|
bezetting,
|
|
tarief_kale_huur,
|
|
tarief_servicekosten,
|
|
tarief_fmkosten,
|
|
werkplek_tarief,
|
|
aantal_werplekken,
|
|
huisbaas,
|
|
totaal_kale_huur,
|
|
totaal_servicekosten,
|
|
totaal_fmkosten,
|
|
totaal_werkplek,
|
|
totaal
|
|
)
|
|
AS
|
|
SELECT kwartaal,
|
|
locatie_code,
|
|
gebouw_code,
|
|
bouwdeel,
|
|
verdieping,
|
|
ruimtenummer,
|
|
ruimteomschrijving,
|
|
ruimtefunctie,
|
|
m2,
|
|
huurder_nummer,
|
|
afdelingsomschrijving,
|
|
fdc,
|
|
bezetting,
|
|
TO_CHAR (tarief_kale_huur, '999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
|
TO_CHAR (tarief_servicekosten, '999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
|
TO_CHAR (tarief_fmkosten, '999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
|
TO_CHAR (werkplek_tarief, '999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
|
aantal_werplekken,
|
|
huisbaas,
|
|
TO_CHAR (totaal_kale_huur, '999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
|
TO_CHAR (totaal_servicekosten, '999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
|
TO_CHAR (totaal_fmkosten, '999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
|
TO_CHAR (totaal_werkplek, '999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
|
TO_CHAR (totaal, '999990D99999', 'NLS_NUMERIC_CHARACTERS = '',.''')
|
|
FROM aads_hv_freeze;
|
|
|
|
|
|
-- Freeze rapportage over voorgaande freezes naar DWH
|
|
CREATE OR REPLACE VIEW aads_v_dwh_hv_freeze
|
|
(
|
|
kwartaal,
|
|
locatie_code,
|
|
gebouw_code,
|
|
bouwdeel,
|
|
verdieping,
|
|
ruimtenummer,
|
|
ruimteomschrijving,
|
|
ruimtefunctie,
|
|
m2,
|
|
huurder_nummer,
|
|
afdelingsomschrijving,
|
|
fdc,
|
|
bezetting,
|
|
tarief_kale_huur,
|
|
tarief_servicekosten,
|
|
tarief_fmkosten,
|
|
werkplek_tarief,
|
|
aantal_werplekken,
|
|
huisbaas,
|
|
totaal_kale_huur,
|
|
totaal_servicekosten,
|
|
totaal_fmkosten,
|
|
totaal_werkplek,
|
|
totaal
|
|
)
|
|
AS
|
|
SELECT kwartaal,
|
|
locatie_code,
|
|
gebouw_code,
|
|
bouwdeel,
|
|
verdieping,
|
|
ruimtenummer,
|
|
ruimteomschrijving,
|
|
ruimtefunctie,
|
|
m2,
|
|
huurder_nummer,
|
|
afdelingsomschrijving,
|
|
fdc,
|
|
bezetting,
|
|
tarief_kale_huur,
|
|
tarief_servicekosten,
|
|
tarief_fmkosten,
|
|
werkplek_tarief,
|
|
aantal_werplekken,
|
|
huisbaas,
|
|
totaal_kale_huur,
|
|
totaal_servicekosten,
|
|
totaal_fmkosten,
|
|
totaal_werkplek,
|
|
totaal
|
|
FROM aads_hv_freeze;
|
|
|
|
-- en maak deze view beschikbaar voor het DWH
|
|
GRANT SELECT ON aads_v_dwh_hv_freeze TO aafm;
|
|
|
|
-- Thema's voor huisbaas en gedelegeerde huisbaas.
|
|
CREATE OR REPLACE VIEW aads_v_thema_huisbaas
|
|
(
|
|
alg_ruimte_key,
|
|
waarde
|
|
)
|
|
AS
|
|
SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde
|
|
FROM alg_onrgoedkenmerk ogk, alg_ruimte ar
|
|
WHERE alg_kenmerk_key = 1200
|
|
AND alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND ar.alg_ruimte_key = ogk.alg_onrgoed_key
|
|
AND ar.alg_ruimte_verwijder IS NULL;
|
|
|
|
CREATE OR REPLACE VIEW aads_v_thema_ged_huisbaas
|
|
(
|
|
alg_ruimte_key,
|
|
waarde
|
|
)
|
|
AS
|
|
SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde
|
|
FROM alg_onrgoedkenmerk ogk, alg_ruimte ar
|
|
WHERE alg_kenmerk_key = 1240
|
|
AND alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND ar.alg_ruimte_key = ogk.alg_onrgoed_key
|
|
AND ar.alg_ruimte_verwijder IS NULL;
|
|
|
|
CREATE OR REPLACE VIEW aads_v_thema_bouwdeel
|
|
(
|
|
alg_ruimte_key,
|
|
waarde,
|
|
waarde_key -- Deze heb je nodig als je er een sleepfunctie van wilt maken, vullen we nu default met 1, maar als ze dit willen gebruken dan moet kenmerk_key 1060 een listbox worden
|
|
)
|
|
AS
|
|
SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde, 1
|
|
FROM alg_onrgoedkenmerk ogk, alg_ruimte ar
|
|
WHERE alg_kenmerk_key = 1060
|
|
AND alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND ar.alg_ruimte_key = ogk.alg_onrgoed_key
|
|
AND ar.alg_ruimte_verwijder IS NULL;
|
|
|
|
-- SLEEPFUNCTIE -- Actie/trigger bij sleur+pleur van thema Bouwdeel
|
|
CREATE OR REPLACE TRIGGER aads_t_thema_bouwdeel_i_iu
|
|
INSTEAD OF INSERT OR UPDATE
|
|
ON aads_v_thema_bouwdeel
|
|
|
|
BEGIN
|
|
|
|
DELETE FROM alg_onrgoedkenmerk ok
|
|
WHERE ok.alg_onrgoed_key = :new.alg_ruimte_key
|
|
AND ok.alg_kenmerk_key = 1060
|
|
AND ok.alg_onrgoed_niveau='R';
|
|
|
|
INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key, alg_onrgoed_niveau, alg_kenmerk_key, alg_onrgoedkenmerk_waarde)
|
|
VALUES (:new.alg_ruimte_key, 'R', 1060, to_char(:new.waarde));
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN NULL;
|
|
|
|
END;
|
|
/
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile
|