FMHN#63881 Uitbreiding views & levering NPQ
svn path=/Customer/trunk/; revision=53733
This commit is contained in:
454
FMHN/fmhn.sql
454
FMHN/fmhn.sql
@@ -5269,6 +5269,12 @@ AS
|
||||
PROCEDURE update_min2geb;
|
||||
PROCEDURE update_afd2geb;
|
||||
PROCEDURE delete_wps_nok;
|
||||
PROCEDURE insert_npq (p_rrr_key NUMBER,p_rra_key NUMBER, p_aantal NUMBER, p_lever_datum DATE, p_ra_key NUMBER);
|
||||
PROCEDURE delete_npq (p_rrr_key NUMBER,p_rra_key NUMBER);
|
||||
PROCEDURE add_xml_element (p_bestand VARCHAR2, p_tag VARCHAR2, p_value VARCHAR2);
|
||||
PROCEDURE add_xml_row (p_bestand VARCHAR2, p_regel VARCHAR2);
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -6555,6 +6561,63 @@ AS
|
||||
fac.writelog (c_applname, 'S', '#WPs verwijderd: ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_datum2 - v_datum1) * 24 * 60), 'FM990') || 'm');
|
||||
COMMIT;
|
||||
END;
|
||||
|
||||
|
||||
PROCEDURE insert_npq (p_rrr_key IN NUMBER,p_rra_key IN NUMBER, p_aantal IN NUMBER, p_lever_datum IN DATE, p_ra_key IN NUMBER)
|
||||
AS
|
||||
v_aantal NUMBER:=0;
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO v_aantal FROM fmhn_npq_export WHERE res_rsv_ruimte_key = p_rrr_key AND res_rsv_artikel_key = p_rra_key;
|
||||
IF v_aantal = 0
|
||||
THEN
|
||||
|
||||
INSERT INTO fmhn_npq_export(res_rsv_artikel_key,export_datum,res_rsv_ruimte_key,res_artikel_key,aantal,lever_datum)
|
||||
VALUES(p_rra_key,SYSDATE,p_rrr_key, p_ra_key, p_aantal, p_lever_datum);
|
||||
COMMIT;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
PROCEDURE delete_npq (p_rrr_key IN NUMBER,p_rra_key IN NUMBER)
|
||||
AS
|
||||
|
||||
BEGIN
|
||||
DELETE FROM fmhn_npq_export WHERE res_rsv_ruimte_key= p_rrr_key AND res_rsv_artikel_key = p_rra_key;
|
||||
COMMIT;
|
||||
END;
|
||||
|
||||
|
||||
PROCEDURE add_xml_row (p_bestand IN VARCHAR2, p_regel IN VARCHAR2)
|
||||
AS
|
||||
v_index NUMBER;
|
||||
BEGIN
|
||||
SELECT COALESCE (MAX (fac_rapport_volgnr), 0) + 1
|
||||
INTO v_index
|
||||
FROM fac_rapport
|
||||
WHERE fac_rapport_node = p_bestand;
|
||||
|
||||
INSERT INTO fac_rapport (fac_rapport_node,
|
||||
fac_rapport_volgnr,
|
||||
fac_rapport_regel)
|
||||
VALUES (p_bestand, v_index, p_regel);
|
||||
END;
|
||||
|
||||
PROCEDURE add_xml_element (p_bestand IN VARCHAR2,
|
||||
p_tag IN VARCHAR2,
|
||||
p_value IN VARCHAR2)
|
||||
AS
|
||||
BEGIN
|
||||
fmhn.add_xml_row (
|
||||
p_bestand,
|
||||
'<'
|
||||
|| p_tag
|
||||
|| '>'
|
||||
|| xml.char_to_html (p_value)
|
||||
|| '</'
|
||||
|| p_tag
|
||||
|| '>');
|
||||
END;
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -9938,50 +10001,55 @@ AS
|
||||
|
||||
|
||||
--FMHN#69317 Tijdelijke view tbv bezoekers met parkeerplaats
|
||||
CREATE OR REPLACE VIEW fmhn_v_udr_bezoekerspark
|
||||
CREATE OR REPLACE VIEW FMHN_V_UDR_BEZOEKERSPARK
|
||||
(
|
||||
key,
|
||||
afspraak_key,
|
||||
reservering_key,
|
||||
KEY,
|
||||
AFSPRAAK_KEY,
|
||||
RESERVERING_KEY,
|
||||
HOST,
|
||||
contact,
|
||||
invoerder,
|
||||
plaats_code,
|
||||
plaats_omschrijving,
|
||||
regio,
|
||||
district,
|
||||
locatie_code,
|
||||
locatie_naam,
|
||||
locatie_plaats,
|
||||
gebouw_code,
|
||||
gebouw_naam,
|
||||
verdieping_code,
|
||||
verdieping_naam,
|
||||
ruimte_code,
|
||||
ruimte_naam,
|
||||
afspraak_ruimte,
|
||||
afspraak_opmerking,
|
||||
bezoeker_naam,
|
||||
bezoeker_bedrijf,
|
||||
bezoek_van,
|
||||
weekdag_bezoek_van,
|
||||
bezoek_tot,
|
||||
actie,
|
||||
bezoeker_opmerking,
|
||||
bezoeker_binnen,
|
||||
bezoeker_buiten,
|
||||
pasnr,
|
||||
parkeerplaats,
|
||||
fclt_3d_locatie_key,
|
||||
selfservice
|
||||
CONTACT,
|
||||
INVOERDER,
|
||||
PLAATS_CODE,
|
||||
PLAATS_OMSCHRIJVING,
|
||||
REGIO,
|
||||
DISTRICT,
|
||||
LOCATIE_CODE,
|
||||
LOCATIE_NAAM,
|
||||
LOCATIE_PLAATS,
|
||||
GEBOUW_CODE,
|
||||
GEBOUW_NAAM,
|
||||
VERDIEPING_CODE,
|
||||
VERDIEPING_NAAM,
|
||||
RUIMTE_CODE,
|
||||
RUIMTE_NAAM,
|
||||
AFSPRAAK_RUIMTE,
|
||||
AFSPRAAK_OPMERKING,
|
||||
BEZOEKER_NAAM,
|
||||
BEZOEKER_BEDRIJF,
|
||||
BEZOEK_VAN,
|
||||
WEEKDAG_BEZOEK_VAN,
|
||||
BEZOEK_TOT,
|
||||
ACTIE,
|
||||
BEZOEKER_OPMERKING,
|
||||
BEZOEKER_BINNEN,
|
||||
BEZOEKER_BUITEN,
|
||||
PASNR,
|
||||
PARKEERPLAATS,
|
||||
FCLT_3D_LOCATIE_KEY,
|
||||
SELFSERVICE,
|
||||
TERREIN_OMSCHRIJVING,
|
||||
TERREIN_CODE
|
||||
)
|
||||
AS
|
||||
SELECT b.bez_bezoekers_key,
|
||||
a.bez_afspraak_key,
|
||||
a.res_rsv_ruimte_key,
|
||||
a.bez_afspraak_gastheer bez_afspraak_host,
|
||||
p2.prs_perslid_naam_full bez_afspraak_contact,
|
||||
p3.prs_perslid_naam_full bez_afspraak_invoerder,
|
||||
a.bez_afspraak_gastheer
|
||||
bez_afspraak_host,
|
||||
p2.prs_perslid_naam_full
|
||||
bez_afspraak_contact,
|
||||
p3.prs_perslid_naam_full
|
||||
bez_afspraak_invoerder,
|
||||
og.alg_onroerendgoed_code,
|
||||
og.alg_onroerendgoed_omschrijving,
|
||||
r.alg_regio_omschrijving,
|
||||
@@ -9997,13 +10065,17 @@ AS
|
||||
og.alg_ruimte_omschrijving,
|
||||
a.bez_afspraak_ruimte,
|
||||
a.bez_afspraak_opmerking,
|
||||
b.bez_afspraak_naam bezoeker_naam,
|
||||
b.bez_afspraak_bedrijf bezoeker_bedrijf,
|
||||
b.bez_afspraak_naam
|
||||
bezoeker_naam,
|
||||
b.bez_afspraak_bedrijf
|
||||
bezoeker_bedrijf,
|
||||
a.bez_afspraak_datum,
|
||||
TO_CHAR (a.bez_afspraak_datum, 'D') weekdag_bezoek_van,
|
||||
TO_CHAR (a.bez_afspraak_datum, 'D')
|
||||
weekdag_bezoek_van,
|
||||
a.bez_afspraak_eind,
|
||||
ba.bez_actie_omschrijving,
|
||||
b.bez_bezoekers_opmerking bezoeker_opmerking,
|
||||
b.bez_bezoekers_opmerking
|
||||
bezoeker_opmerking,
|
||||
b.bez_bezoekers_done,
|
||||
b.bez_bezoekers_out,
|
||||
b.bez_bezoekers_pasnr,
|
||||
@@ -10011,7 +10083,18 @@ AS
|
||||
a.alg_locatie_key,
|
||||
DECODE (p2.prs_perslid_naam_full,
|
||||
p3.prs_perslid_naam_full, lcl.l ('lcl_yes'),
|
||||
lcl.l ('lcl_no')) selfservice
|
||||
lcl.l ('lcl_no'))
|
||||
selfservice,
|
||||
(SELECT ts.alg_terreinsector_omschrijving
|
||||
FROM alg_terreinsector ts
|
||||
WHERE id.ins_alg_ruimte_type = 'T'
|
||||
AND ts.alg_terreinsector_key = id.ins_alg_ruimte_key)
|
||||
AS terrein_omschrijving,
|
||||
(SELECT ts.alg_terreinsector_code
|
||||
FROM alg_terreinsector ts
|
||||
WHERE id.ins_alg_ruimte_type = 'T'
|
||||
AND ts.alg_terreinsector_key = id.ins_alg_ruimte_key)
|
||||
AS terrein_code
|
||||
FROM bez_afspraak a,
|
||||
bez_bezoekers b,
|
||||
prs_v_perslid_fullnames_all p2,
|
||||
@@ -10022,7 +10105,8 @@ AS
|
||||
alg_regio r,
|
||||
bez_actie ba,
|
||||
res_rsv_deel rrd,
|
||||
res_deel rd
|
||||
res_deel rd,
|
||||
ins_deel id
|
||||
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
||||
AND p2.prs_perslid_key = a.bez_afspraak_contact_key
|
||||
AND p3.prs_perslid_key(+) = a.prs_perslid_key
|
||||
@@ -10035,6 +10119,7 @@ AS
|
||||
AND rrd.res_deel_key = rd.res_deel_key(+)
|
||||
AND rd.res_deel_omschrijving IS NOT NULL
|
||||
AND a.bez_afspraak_datum >= TO_DATE ('01-01-2010', 'DD-MM-YYYY')
|
||||
AND id.ins_deel_key = rd.res_ins_deel_key
|
||||
ORDER BY bez_bezoekers_key;
|
||||
|
||||
|
||||
@@ -10292,6 +10377,289 @@ END fmhn_import_mld;
|
||||
/
|
||||
*/
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW fmhn_v_select_reservering
|
||||
AS
|
||||
SELECT DISTINCT(rrr.res_rsv_ruimte_key),
|
||||
rrr.res_reservering_key,
|
||||
rrr.res_rsv_ruimte_volgnr,
|
||||
(SELECT MAX (fac_tracking_datum)
|
||||
FROM fac_tracking
|
||||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||||
AND fac_srtnotificatie_key = 108) last_upd,
|
||||
rrr.res_rsv_ruimte_externsyncdate last_export,
|
||||
rrr.res_rsv_ruimte_verwijder verw_datum,
|
||||
alg.alg_ruimte_nr,
|
||||
(SELECT prs_perslid_externid
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||||
rrr.RES_RSV_RUIMTE_VAN datum_van,
|
||||
rrr.RES_RSV_RUIMTE_TOT datum_tot,
|
||||
rrr.res_rsv_ruimte_omschrijving oms,
|
||||
rrr.res_rsv_ruimte_bezoekers aantal,
|
||||
alg.alg_locatie_code locatie_code
|
||||
FROM res_rsv_ruimte rrr,
|
||||
res_ruimte_opstelling rop,
|
||||
res_ruimte rer,
|
||||
res_alg_ruimte rarm,
|
||||
alg_v_ruimte_gegevens_all alg
|
||||
WHERE rrr.res_status_bo_key = 2
|
||||
--AND rrr.res_status_fo_key = 2
|
||||
--AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||||
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||||
AND alg.alg_locatie_key= 11; -- allen voor Rijnstraat 8 (key=18)
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE fmhn_select_objects(p_res_rsv_ruimte_key IN NUMBER,p_counter in NUMBER)
|
||||
AS
|
||||
CURSOR sel_art(v_res_rsv_ruimte_key NUMBER)
|
||||
IS
|
||||
SELECT res_rsv_ruimte_key, res_reservering_key, res_rsv_ruimte_volgnr, res_oms, last_upd, last_export, verw_datum, alg_ruimte_nr, besteller, datum_van, datum_tot,
|
||||
artikel_nr, art_omschrijving,aantal, rra_key, ra_key, locatie_code, lever_datum
|
||||
FROM fmhn_v_select_res_artikel
|
||||
WHERE res_rsv_ruimte_key = v_res_rsv_ruimte_key;
|
||||
|
||||
|
||||
CURSOR sel_del(v_res_rsv_ruimte_key NUMBER)
|
||||
IS
|
||||
SELECT ra.res_artikel_omschrijving art_omschrijving, fne.aantal aantal, rrr.RES_RSV_RUIMTE_VAN lever_datum, ra.res_artikel_opmerking artikel_nr, rra.res_rsv_artikel_key rra_key
|
||||
FROM fmhn_npq_export fne, res_rsv_ruimte rrr, res_artikel ra, res_rsv_artikel rra
|
||||
WHERE rrr.res_rsv_ruimte_key = v_res_rsv_ruimte_key
|
||||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||||
AND fne.res_artikel_key = ra.res_artikel_key
|
||||
AND fne.res_rsv_artikel_key NOT IN (select rra_key from fmhn_v_select_res_artikel WHERE res_rsv_ruimte_key = v_res_rsv_ruimte_key);
|
||||
|
||||
|
||||
v_base VARCHAR2 (10);
|
||||
v_bestand VARCHAR2(50);
|
||||
v_counter NUMBER;
|
||||
v_artcounter NUMBER;
|
||||
v_status VARCHAR2(20);
|
||||
BEGIN
|
||||
-- Nu gaan we kijken of er ook artikelen zijn die we moeten exporteren
|
||||
v_base := 'ITM_NEW';
|
||||
v_artcounter := 1;
|
||||
v_counter:=p_counter;
|
||||
v_status:='ND';
|
||||
FOR rec_art IN sel_art(p_res_rsv_ruimte_key)
|
||||
LOOP
|
||||
|
||||
|
||||
IF rec_art.last_export IS NULL
|
||||
THEN
|
||||
v_status:= 'Opened';
|
||||
ELSIF rec_art.last_export IS NOT NULL AND rec_art.last_upd>rec_art.last_export AND rec_art.verw_datum IS NULL THEN
|
||||
v_status := 'Opened';
|
||||
v_base := 'ITM_UPD';
|
||||
ELSIF rec_art.last_export IS NOT NULL AND rec_art.verw_datum IS NOT NULL and rec_art.verw_datum>rec_art.last_export THEN
|
||||
v_status :='Cancelled';
|
||||
v_base := 'ITM_DEL';
|
||||
END IF;
|
||||
-- DBMS_OUTPUT.PUT_LINE('Status -'||v_status||'-');
|
||||
|
||||
v_bestand := v_base || '-' || v_counter || '-';
|
||||
|
||||
IF v_status != 'ND'
|
||||
THEN
|
||||
|
||||
IF v_artcounter=1 THEN
|
||||
|
||||
fmhn.add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>');
|
||||
fmhn.add_xml_row (v_bestand, '<Facilitor>');
|
||||
-- Chewck inbouwen of het catering is of iets anders
|
||||
fmhn.add_xml_row (v_bestand, '<Reservering type="Catering">');
|
||||
fmhn.add_xml_element (v_bestand, 'Status', v_status);
|
||||
fmhn.add_xml_element (v_bestand, 'Key', rec_art.res_rsv_ruimte_key);
|
||||
fmhn.add_xml_element (v_bestand, 'ReserveringNr', rec_art.res_reservering_key||'/'||rec_art.res_rsv_ruimte_volgnr);
|
||||
fmhn.add_xml_element (v_bestand, 'RuimteNr', rec_art.alg_ruimte_nr);
|
||||
fmhn.add_xml_element (v_bestand, 'LocatieCode', rec_art.locatie_Code);
|
||||
fmhn.add_xml_element (v_bestand, 'DatumVan', TO_CHAR(rec_art.datum_van,'YYYY-MM-DD"T"hh24:mi:ss'));
|
||||
fmhn.add_xml_element (v_bestand, 'DatumTot', TO_CHAR(rec_art.datum_tot,'YYYY-MM-DD"T"hh24:mi:ss'));
|
||||
fmhn.add_xml_element (v_bestand, 'Omschrijving', rec_art.res_oms);
|
||||
--fmhn_add_xml_element (v_bestand, 'Aantal', rec.aantal);
|
||||
fmhn.add_xml_element (v_bestand, 'Besteller', rec_art.besteller);
|
||||
fmhn.add_xml_row (v_bestand, '<Items>');
|
||||
END IF;
|
||||
|
||||
fmhn.add_xml_row (v_bestand, '<Item>');
|
||||
fmhn.add_xml_element (v_bestand, 'ArtikelKey', rec_art.rra_key);
|
||||
fmhn.add_xml_element (v_bestand, 'Artikelnr', rec_art.artikel_nr);
|
||||
fmhn.add_xml_element (v_bestand, 'Status', v_status);
|
||||
fmhn.add_xml_element (v_bestand, 'Aantal', rec_art.aantal);
|
||||
fmhn.add_xml_element (v_bestand, 'Omschrijving', rec_art.art_omschrijving);
|
||||
fmhn.add_xml_element (v_bestand, 'LeverDatum', rec_art.lever_datum);
|
||||
|
||||
fmhn.add_xml_row (v_bestand, '</Item>');
|
||||
|
||||
|
||||
|
||||
v_artcounter:=v_artcounter+1;
|
||||
|
||||
-- insert artikel into fmhn_npq_export
|
||||
fmhn.insert_npq(rec_art.res_rsv_ruimte_key,rec_art.rra_key,rec_art.aantal,rec_art.lever_datum, rec_art.ra_key);
|
||||
|
||||
END IF;
|
||||
END LOOP;
|
||||
v_status := 'Cancelled';
|
||||
-- check of er artikelen zijn verwijderd
|
||||
FOR rec_art_del IN sel_del(p_res_rsv_ruimte_key)
|
||||
LOOP
|
||||
fmhn.add_xml_row (v_bestand, '<Item>');
|
||||
fmhn.add_xml_element (v_bestand, 'Artikelnr', rec_art_del.artikel_nr);
|
||||
fmhn.add_xml_element (v_bestand, 'Status', v_status);
|
||||
fmhn.add_xml_element (v_bestand, 'Aantal', rec_art_del.aantal);
|
||||
fmhn.add_xml_element (v_bestand, 'Omschrijving', rec_art_del.art_omschrijving);
|
||||
fmhn.add_xml_element (v_bestand, 'LeverDatum', rec_art_del.lever_datum);
|
||||
fmhn.add_xml_row (v_bestand, '</Item>');
|
||||
fmhn.delete_npq(p_res_rsv_ruimte_key, rec_art_del.rra_key);
|
||||
END LOOP;
|
||||
|
||||
|
||||
|
||||
|
||||
fmhn.add_xml_row (v_bestand, '</Items>');
|
||||
fmhn.add_xml_row (v_bestand, '</Reservering>');
|
||||
fmhn.add_xml_row (v_bestand, '</Facilitor>');
|
||||
|
||||
|
||||
UPDATE res_rsv_artikel SET res_rsv_artikel_externsyncdate=SYSDATE
|
||||
WHERE res_rsv_ruimte_key = p_res_rsv_ruimte_key;
|
||||
commit;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE VIEW fmhn_v_select_res_artikel
|
||||
AS
|
||||
SELECT rrr.res_rsv_ruimte_key,
|
||||
rrr.res_reservering_key,
|
||||
rrr.res_rsv_ruimte_volgnr,
|
||||
rrr.res_rsv_ruimte_van datum_van,
|
||||
rrr.res_rsv_ruimte_tot datum_tot,
|
||||
rrr.res_rsv_ruimte_omschrijving res_oms,
|
||||
rra.RES_RSV_ARTIKEL_EXTERNSYNCDATE last_export,
|
||||
(SELECT MAX (fac_tracking_datum)
|
||||
FROM fac_tracking
|
||||
WHERE fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||||
AND fac_srtnotificatie_key = 108) last_upd,
|
||||
rra.res_rsv_artikel_verwijder verw_datum,
|
||||
(SELECT prs_perslid_externid
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_key = rrr.res_rsv_ruimte_contact_key) besteller,
|
||||
alg.alg_locatie_code locatie_code,
|
||||
alg.alg_ruimte_nr,
|
||||
rra.res_rsv_artikel_aantal aantal,
|
||||
rra.res_rsv_artikel_key rra_key,
|
||||
ra.res_artikel_key ra_key,
|
||||
ra.res_artikel_opmerking artikel_nr,
|
||||
ra.res_artikel_omschrijving art_omschrijving,
|
||||
rra.res_rsv_artikel_levering lever_datum
|
||||
FROM res_rsv_artikel rra,
|
||||
res_rsv_ruimte rrr,
|
||||
res_artikel ra,
|
||||
res_ruimte_opstelling rop,
|
||||
res_ruimte rer,
|
||||
res_alg_ruimte rarm,
|
||||
alg_v_ruimte_gegevens_all alg
|
||||
WHERE rra.res_status_bo_key = 2
|
||||
-- AND rra.res_rsv_artikel_verwijder IS NULL
|
||||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||||
AND ra.res_artikel_key = rra.res_artikel_key
|
||||
-- AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||||
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
|
||||
AND rer.res_ruimte_key = rop.res_ruimte_key
|
||||
AND rarm.res_ruimte_key = rer.res_ruimte_key
|
||||
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
|
||||
AND alg.alg_locatie_key= 11 -- RS8 = 18
|
||||
ORDER BY rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE fmhn_select_reservering(
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2)
|
||||
AS
|
||||
CURSOR sel_res
|
||||
IS
|
||||
SELECT res_rsv_ruimte_key, res_reservering_key, res_rsv_ruimte_volgnr, last_upd, last_export, verw_datum, alg_ruimte_nr, besteller, datum_van, datum_tot, oms, aantal, locatie_code
|
||||
FROM fmhn_v_select_reservering;
|
||||
--WHERE last_export IS NULL;
|
||||
|
||||
|
||||
v_base VARCHAR2 (10);
|
||||
v_bestand VARCHAR2(50);
|
||||
v_counter NUMBER;
|
||||
v_status VARCHAR2(20);
|
||||
BEGIN
|
||||
v_base := 'RES_NEW';
|
||||
v_counter:=1;
|
||||
|
||||
DELETE FROM fac_rapport -- Opschonen oude Reserevering exports
|
||||
WHERE fac_rapport_node LIKE 'RES_NEW%' OR fac_rapport_node LIKE 'ITM_NEW%';
|
||||
FOR rec IN sel_res
|
||||
LOOP
|
||||
v_status := 'ND';
|
||||
-- Maar eerst gaan bepalen of we wat moeten doen voor dit record.
|
||||
IF rec.last_export IS NULL
|
||||
THEN
|
||||
v_status:= 'Opened';
|
||||
ELSIF rec.last_export IS NOT NULL AND rec.last_upd>rec.last_export AND rec.verw_datum IS NULL THEN
|
||||
v_status := 'Opened'; -- NPQ kent geen update status
|
||||
v_base := 'RES_UPD';
|
||||
ELSIF rec.last_export IS NOT NULL AND rec.verw_datum IS NOT NULL and rec.verw_datum>rec.last_export THEN
|
||||
v_status :='Cancelled';
|
||||
v_base := 'RES_DEL';
|
||||
END IF;
|
||||
|
||||
IF v_status != 'ND' -- we gaan allee XML maken als er ook een status is anders dan 'ND';
|
||||
THEN
|
||||
v_bestand := v_base || '-' || v_counter || '-';
|
||||
fmhn.add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>');
|
||||
fmhn.add_xml_row (v_bestand, '<Facilitor>');
|
||||
fmhn.add_xml_row (v_bestand, '<Reservering type="Zaalreservering">');
|
||||
fmhn.add_xml_element (v_bestand, 'Status', v_status);
|
||||
fmhn.add_xml_element (v_bestand, 'Key', rec.res_rsv_ruimte_key);
|
||||
fmhn.add_xml_element (v_bestand, 'ReserveringNr', rec.res_reservering_key||'/'||rec.res_rsv_ruimte_volgnr);
|
||||
fmhn.add_xml_element (v_bestand, 'RuimteNr', rec.alg_ruimte_nr);
|
||||
fmhn.add_xml_element (v_bestand, 'LocatieCode', rec.locatie_Code);
|
||||
fmhn.add_xml_element (v_bestand, 'DatumVan', TO_CHAR(rec.datum_van,'YYYY-MM-DD"T"hh24:mi:ss'));
|
||||
fmhn.add_xml_element (v_bestand, 'DatumTot', TO_CHAR(rec.datum_tot,'YYYY-MM-DD"T"hh24:mi:ss'));
|
||||
fmhn.add_xml_element (v_bestand, 'Omschrijving', rec.oms);
|
||||
fmhn.add_xml_element (v_bestand, 'Aantal', rec.aantal);
|
||||
fmhn.add_xml_element (v_bestand, 'Besteller', rec.besteller);
|
||||
|
||||
|
||||
|
||||
fmhn.add_xml_row (v_bestand, '</Reservering>');
|
||||
fmhn.add_xml_row (v_bestand, '</Facilitor>');
|
||||
v_counter:=v_counter+1;
|
||||
|
||||
UPDATE res_rsv_ruimte SET res_rsv_ruimte_externsyncdate=SYSDATE
|
||||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||||
fmhn_select_objects(rec.res_rsv_ruimte_key, v_counter); -- Kijken iof deze reserverig ook evt catering artikelen heeft
|
||||
END IF;
|
||||
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE VIEW fmhn_v_export_reservering (
|
||||
result,
|
||||
result_order,
|
||||
exp_res
|
||||
)
|
||||
AS
|
||||
SELECT fac_rapport_regel, fac_rapport_volgnr, fac_rapport_node
|
||||
FROM fac_rapport
|
||||
WHERE fac_rapport_node LIKE 'RES_%'
|
||||
UNION
|
||||
SELECT fac_rapport_regel, fac_rapport_volgnr, fac_rapport_node
|
||||
FROM fac_rapport
|
||||
WHERE fac_rapport_node LIKE 'ITM_%';
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user