187 lines
8.7 KiB
SQL
187 lines
8.7 KiB
SQL
|
|
--
|
|
-- $Id$
|
|
--
|
|
-- Script containing customer specific sql statements for the FACILITOR database
|
|
-- Voor dbuser invullen: - indien script voor 1 klant is: 'AADS' (de klantcode, zoals vermeld in fac_version_cust)
|
|
-- - script is voor meerdere klanten: 'AAXX' (de groepcode, zoals vermeld in fac_version_group)
|
|
-- - script is voor meerdere klanten met naam volgens een bepaald patroon: '^AA|^ASMS|^GULU|^NMMS|^RABO|^ZKHM'
|
|
-- Ook als het script gedraaid wordt voor de verkeerde cust wordt er een logfile gemaakt.
|
|
-- (dit in tegenstelling tot sample_xxxx.sql)
|
|
|
|
DEFINE thisfile = 'BLST#70816.SQL'
|
|
DEFINE dbuser = 'BLST'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
|
SPOOL &fcltlogfile
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
---------------------------------------
|
|
PROMPT &fcltcusttxt
|
|
---------------------------------------
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE blst_select_nds_export_new (
|
|
p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2)
|
|
AS
|
|
CURSOR SEL (p_days NUMBER)
|
|
IS
|
|
SELECT DISTINCT res.res_rsv_ruimte_key res_ruimte_key,
|
|
res.res_reservering_key reserveringnr,
|
|
res.res_rsv_ruimte_volgnr volgnr,
|
|
gb.alg_locatie_omschrijving locatie,
|
|
geb.alg_gebouw_code code,
|
|
geb.alg_gebouw_omschrijving gebouw,
|
|
gb.alg_verdieping_omschrijving verdieping,
|
|
gb.alg_ruimte_nr ruimtenr,
|
|
gb.alg_ruimte_omschrijving ruimteomsch,
|
|
res.res_rsv_ruimte_omschrijving titel,
|
|
res.res_rsv_ruimte_van datum_start,
|
|
res.res_rsv_ruimte_tot datum_tot,
|
|
ros.res_opstelling_omschrijving opstelling,
|
|
res.res_rsv_ruimte_opmerking opmerking,
|
|
prsh.prs_perslid_naam_friendly HOST,
|
|
prsc.prs_perslid_naam_friendly aanvrager,
|
|
rac.res_activiteit_omschrijving activiteit
|
|
FROM res_rsv_ruimte res,
|
|
res_ruimte_opstelling ro,
|
|
res_opstelling ros,
|
|
res_ruimte rm,
|
|
res_alg_ruimte rar,
|
|
alg_v_ruimte_gegevens_all gb,
|
|
alg_v_gebouw_gegevens geb,
|
|
alg_onrgoedkenmerk ken,
|
|
prs_v_perslid_fullnames prsh,
|
|
prs_v_perslid_fullnames prsc,
|
|
res_activiteit rac,
|
|
res_srtactiviteit rsa
|
|
WHERE res.res_status_bo_key = 2
|
|
AND res.res_status_fo_key = 2
|
|
AND rac.res_activiteit_key = res.res_activiteit_key
|
|
AND rsa.res_srtactiviteit_key = rsa.res_srtactiviteit_key
|
|
AND rsa.res_srtactiviteit_soort = 0
|
|
AND TRUNC (res.res_rsv_ruimte_van) < TRUNC (SYSDATE + p_days)
|
|
AND TRUNC (res.res_rsv_ruimte_van) >= TRUNC (SYSDATE)
|
|
AND prsh.prs_perslid_key = res.res_rsv_ruimte_host_key
|
|
AND prsc.prs_perslid_key = res.res_rsv_ruimte_contact_key
|
|
AND ro.res_ruimte_opstel_key = res.res_ruimte_opstel_key
|
|
AND ros.res_opstelling_key = ro.res_opstelling_key
|
|
AND rm.res_ruimte_key = ro.res_ruimte_key
|
|
AND rar.res_ruimte_key = rm.res_ruimte_key
|
|
AND rar.alg_ruimte_key = gb.alg_ruimte_key
|
|
AND ken.alg_onrgoed_key = gb.alg_gebouw_key
|
|
AND geb.alg_gebouw_key = gb.alg_gebouw_key
|
|
AND ken.alg_kenmerk_key = 1081
|
|
AND ken.alg_onrgoedkenmerk_waarde = 1
|
|
AND res.res_rsv_ruimte_verwijder IS NULL
|
|
AND res.res_rsv_ruimte_dirtlevel=0;
|
|
|
|
v_bestand VARCHAR2 (50);
|
|
v_base VARCHAR2 (10);
|
|
v_guid VARCHAR2 (40);
|
|
v_daysC VARCHAR2 (5);
|
|
v_days NUMBER := 7;
|
|
v_counter NUMBER;
|
|
BEGIN
|
|
v_base := 'NDS_NEW';
|
|
v_bestand := v_base || '-';
|
|
v_guid := blst.getguid ();
|
|
v_counter := 0;
|
|
|
|
DELETE FROM fac_rapport -- Opschonen oude NDS exports
|
|
WHERE fac_rapport_node LIKE 'NDS_NEW%';
|
|
COMMIT;
|
|
|
|
SELECT ud.fac_usrdata_code
|
|
INTO v_daysC
|
|
FROM fac_usrtab ut, FAC_USRDATA ud
|
|
WHERE UPPER (ut.fac_usrtab_naam) = 'BLST_SETTINGS'
|
|
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
|
AND UPPER (ud.fac_usrdata_omschr) = 'NDS_EXPORT_DAYS';
|
|
|
|
v_days := fac.safe_to_number (v_daysC);
|
|
|
|
blst.add_xml_row(v_bestand,
|
|
'<?xml version="1.0" encoding="utf-8"?>');
|
|
blst.add_xml_row(v_bestand,'<soapenv:Envelope xmlns:ser="http://asycuda.tatisint.com/services" xmlns:bsb="urn:belastingdienst-nl:bsb" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">');
|
|
blst.add_xml_row(v_bestand,'<soapenv:Header>');
|
|
blst.add_xml_row(v_bestand,'<wsa:To>urn:belastingdienst.nl/facilitairedienst/dis</wsa:To>');
|
|
blst.add_xml_row(v_bestand,'<wsa:From>');
|
|
blst.add_xml_row(v_bestand,'<wsa:Address>urn:belastingdienst.nl/bedrijfsvoering/sbd</wsa:Address>');
|
|
blst.add_xml_row(v_bestand,'</wsa:From>');
|
|
blst.add_xml_row(v_bestand,'<wsa:Action>http://servicespecifications.belastingdienst.nl/facilitairedienst/dis/vergaderlocaties</wsa:Action>');
|
|
blst.add_xml_row(v_bestand,'<wsa:MessageID>uuid:'||v_guid||'</wsa:MessageID>');
|
|
|
|
blst.add_xml_row(v_bestand,'<bsb:ErrorDestination>urn:belastingdienst-nl:facilitor-error</bsb:ErrorDestination>');
|
|
blst.add_xml_row(v_bestand,'</soapenv:Header>');
|
|
blst.add_xml_row(v_bestand,'<soapenv:Body>');
|
|
blst.add_xml_row(v_bestand,'<ns0:XI015_MT_Reservering xmlns:ns0="http://belastingdienst.nl/xi/bis">');
|
|
blst.add_xml_element (v_bestand, 'Submitter', 'Facilitor');
|
|
FOR rec IN SEL (v_days)
|
|
LOOP
|
|
blst.add_xml_row (v_bestand, '<Reservering>');
|
|
blst.add_xml_element (v_bestand,
|
|
'Reserveringnummer',
|
|
rec.reserveringNr || '/' || rec.volgNr);
|
|
blst.add_xml_element (v_bestand, 'Locatie', rec.locatie);
|
|
blst.add_xml_row(v_bestand,'<Gebouw code="'||rec.code||'">'||rec.gebouw||'</Gebouw>');
|
|
blst.add_xml_element (v_bestand, 'Verdieping', rec.verdieping);
|
|
blst.add_xml_element (v_bestand, 'RuimteNr', rec.ruimteNr);
|
|
blst.add_xml_element (v_bestand,
|
|
'RuimteOmschrijving',
|
|
rec.ruimteOmsch);
|
|
blst.add_xml_element (v_bestand, 'Opstelling', rec.opstelling);
|
|
blst.add_xml_element (v_bestand, 'Activiteit', rec.activiteit);
|
|
blst.add_xml_element (v_bestand,
|
|
'Datum',
|
|
TO_CHAR (rec.datum_start, 'YYYY/MM/DD'));
|
|
blst.add_xml_element (v_bestand,
|
|
'Starttijd',
|
|
TO_CHAR (rec.datum_start, 'HH24:MI'));
|
|
blst.add_xml_element (v_bestand,
|
|
'Eindtijd',
|
|
TO_CHAR (rec.datum_tot, 'HH24:MI'));
|
|
blst.add_xml_element (v_bestand, 'Titel', rec.titel);
|
|
blst.add_xml_element (v_bestand, 'Opmerking', rec.opmerking);
|
|
blst.add_xml_element (v_bestand, 'Aanvrager', rec.aanvrager);
|
|
blst.add_xml_element (v_bestand, 'Gastheer', rec.HOST);
|
|
blst.add_xml_row (v_bestand, '</Reservering>');
|
|
v_counter := v_counter + 1;
|
|
END LOOP;
|
|
|
|
blst.add_xml_row (v_bestand, '</ns0:XI015_MT_Reservering>');
|
|
blst.add_xml_row (v_bestand, '</soapenv:Body>');
|
|
blst.add_xml_row (v_bestand, '</soapenv:Envelope>');
|
|
|
|
IF v_counter = 0
|
|
THEN
|
|
-- no data to be exported
|
|
DELETE FROM fac_rapport -- Opschonen NDS exports
|
|
WHERE fac_rapport_node LIKE 'NDS_NEW%';
|
|
COMMIT;
|
|
END IF;
|
|
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
|