diff --git a/SUTF/sutf - bu tbv rob.sql b/SUTF/sutf - bu tbv rob.sql
new file mode 100644
index 000000000..d0d86c84f
--- /dev/null
+++ b/SUTF/sutf - bu tbv rob.sql
@@ -0,0 +1,1776 @@
+-- Script containing customer specific configuration sql statements for Sutfene
+-- $Revision$
+-- $Id$
+
+
+DEFINE thisfile = 'SUTF.SQL'
+DEFINE dbuser = '^SUTF'
+DEFINE custid = 'SUTF'
+
+
+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 VIEW sutf_v_import_log
+AS
+ SELECT imp_log_status fclt_f_status,
+ imp_log_omschrijving omschrijving,
+ imp_log_hint opmerking
+ FROM imp_log
+ WHERE imp_log_applicatie = 'PRS';
+
+
+CREATE OR REPLACE PROCEDURE sutf_import_prs (p_import_key IN NUMBER)
+AS
+ v_seq_of_columns VARCHAR(255);
+BEGIN
+
+ prs.import_perslid (
+ p_import_key,
+ '1;2;0;0;0;0;3;4;5;7;'
+ || '6;0;0;0;0;8;0;9;0;11;'
+ || '10;12;0;0;0;0;13;0;0;0;'
+ || '0;0;0;0;0;0;0;0;0;0;'
+ || '0;0;0;0;0;0',
+ 'Locatiecode;Gebouwcode;Afdelingscode;PersoonAchternaam;Tussenvoegsel;Voorletters;Voornaam;Telefoonnummer;Email;Functie;Personeelsnummer;Loginnaam;Password');
+END sutf_import_prs;
+/
+
+CREATE OR REPLACE PROCEDURE sutf_update_prs (p_import_key IN NUMBER)
+IS
+ oracle_err_num NUMBER;
+ oracle_err_mes VARCHAR2 (200);
+ v_errormsg VARCHAR2 (400);
+ v_errorhint VARCHAR2 (400);
+
+ c_max_delta_percentage NUMBER (10) := 20;
+ v_count_prs_actual NUMBER (10);
+ v_count_prs_import NUMBER (10); -- Matching actual persons!
+BEGIN
+ SELECT DECODE (COUNT (*), 0, 1, COUNT (*))
+ INTO v_count_prs_actual
+ FROM prs_perslid
+ WHERE prs_perslid_verwijder IS NULL AND prs_perslid_nr IS NOT NULL;
+
+ SELECT DECODE (COUNT (*), 0, 1, COUNT (*))
+ INTO v_count_prs_import
+ FROM prs_perslid p, fac_imp_perslid ip
+ WHERE p.prs_perslid_nr IS NOT NULL
+ AND p.prs_perslid_verwijder IS NULL
+ AND p.prs_perslid_nr = ip.prs_perslid_nr;
+
+ IF ((TRUNC ((v_count_prs_import / v_count_prs_actual) * 100) >=
+ (100 - c_max_delta_percentage)))
+ THEN
+ -- Geldig importbestand wat betreft aantal personen
+ v_errorhint := 'Toevoegen personen';
+ prs.update_perslid (p_import_key, 'NR', NULL);
+ ELSE
+ fac.imp_writelog (
+ p_import_key,
+ 'E',
+ 'Verschil tussen het actuele aantal en het te importeren aantal personen te groot; zie specificatie!',
+ '- max. verschilpercentage = ['
+ || TO_CHAR (c_max_delta_percentage)
+ || '%]
'
+ || '- #personen importbestand = ['
+ || TO_CHAR (v_count_prs_import)
+ || ']
'
+ || '- #personen Facilitor = ['
+ || TO_CHAR (v_count_prs_actual)
+ || ']');
+ COMMIT;
+ END IF;
+EXCEPTION
+ WHEN OTHERS
+ THEN
+ oracle_err_num := SQLCODE;
+ oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
+ v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
+ fac.imp_writelog (p_import_key,
+ 'E',
+ v_errormsg,
+ v_errorhint);
+END sutf_update_prs;
+/
+
+CREATE OR REPLACE VIEW SUTF_V_PERSAFD_FULLNAMES
+(
+ PRS_PERSLID_KEY,
+ PRS_PERSLID_NAAM_FULL
+)
+AS
+ SELECT prs_perslid_key,
+ prs_perslid_naam
+ || DECODE (p.prs_perslid_voorletters,
+ NULL, '',
+ ', ' || p.prs_perslid_voorletters)
+ || DECODE (p.prs_perslid_tussenvoegsel,
+ NULL, '',
+ ' ' || p.prs_perslid_tussenvoegsel)
+ || DECODE (p.prs_perslid_voornaam,
+ NULL, '',
+ ' (' || p.prs_perslid_voornaam || ')')
+ || ' ['
+ || a.prs_afdeling_omschrijving
+ || ']'
+ prs_perslid_naam_full
+ FROM prs_v_aanwezigperslid p, prs_afdeling a
+ WHERE a.prs_afdeling_key = p.prs_afdeling_key;
+
+-- SUTF#22335 view tbv selector bij personen. Bevat de afdelingstelefoon uit objecten.
+CREATE OR REPLACE VIEW sutf_v_afdelingtelefoon
+(
+ins_deel_key,
+afdelingtelefoon
+)
+AS
+SELECT obj.ins_deel_key, ins_kenmerkdeel_waarde
+ FROM ins_deel obj, ins_srtdeel srt, ins_kenmerkdeel k
+ WHERE ins_deel_verwijder IS NULL
+ AND obj.ins_srtdeel_key = srt.ins_srtdeel_key
+ AND srt.ins_srtgroep_key = 21
+ AND ins_alg_ruimte_type = 'A'
+ and k.ins_deel_key = obj.ins_deel_key
+ and ins_kenmerk_key = 81;
+
+
+
+-- Procedure om alle geexporteerde facturen naar status verwerkt te zetten.
+CREATE OR REPLACE PROCEDURE sutf_export_afdelingstelefoon (
+ p_applname IN VARCHAR2,
+ p_applrun IN VARCHAR2,
+ p_filedir IN VARCHAR2,
+ p_filename IN VARCHAR2
+)
+AS
+ v_prs_kenmerklink_key NUMBER (10);
+
+ -- In cursor c_afdtel_bij_persoon alle telefoon-objecten (telefoonnummers) van de afdelingen
+ -- aan de medewerkers van de afdeling gekoppeld...
+ -- Dus kenmerk van object van afdeling aan persoon van afdeling koppelen
+ CURSOR c_afdtel_bij_persoon
+ IS
+ SELECT prs_perslid_key, ins_deel_key
+ FROM prs_perslid p,
+ prs_kenmerklink kl,
+ (SELECT obj.ins_deel_key, ins_alg_ruimte_key
+ FROM ins_deel obj, ins_srtdeel srt, ins_kenmerkdeel k
+ WHERE ins_deel_verwijder IS NULL
+ AND obj.ins_srtdeel_key = srt.ins_srtdeel_key
+ AND k.ins_deel_key = obj.ins_deel_key
+ AND srt.ins_srtgroep_key = 21
+ AND ins_alg_ruimte_type = 'A'
+ AND ins_kenmerk_key = 81) kenmerk
+ WHERE prs_perslid_verwijder IS NULL
+ AND kenmerk.ins_alg_ruimte_key = p.prs_afdeling_key
+ AND prs_link_key(+) = prs_perslid_key
+ ORDER BY prs_perslid_key,ins_deel_key;
+
+
+BEGIN
+
+ FOR rec IN c_afdtel_bij_persoon
+ LOOP
+ BEGIN
+
+ -- prs_kenmerk-key = 1000: afdelingstelefoonnummer bij persoon (refkenmerk naar view sutf_v_afdelingtelefoon)
+ SELECT prs_kenmerklink_key
+ INTO v_prs_kenmerklink_key
+ FROM prs_kenmerklink kl
+ WHERE kl.prs_link_key = rec.prs_perslid_key
+ AND kl.prs_kenmerklink_niveau = 'P'
+ AND kl.prs_kenmerk_key = 1000
+ AND kl.prs_kenmerklink_verwijder IS NULL;
+
+ -- Bij de persoon is al een afdelingstelefoonnummer geregisteerd, nu nog updaten (doen we onvoorwaardelijk), want persoon kan:
+ -- van afdeling zijn verhuisd, of afdeling kan ander telefoonobject hebben gekregen, ...
+ UPDATE prs_kenmerklink
+ SET prs_kenmerklink_waarde = rec.ins_deel_key
+ WHERE prs_kenmerklink_key = v_prs_kenmerklink_key;
+
+ COMMIT;
+
+ EXCEPTION
+ WHEN OTHERS
+ THEN
+ -- Record afdelingstelefoon-kenmerk bij persoon bestaat nog niet, dus toevoegen (insert)
+ -- prs_kenmerk-key = 1000: afdelingstelefoonnummer bij persoon
+ INSERT INTO prs_kenmerklink (prs_link_key, prs_kenmerk_key, prs_kenmerklink_waarde, prs_kenmerklink_niveau)
+ VALUES(rec.prs_perslid_key, 1000, rec.ins_deel_key, 'P');
+ COMMIT;
+ END;
+ END LOOP;
+
+ -- Hieronder alle personen die een telefoon-objecten (telefoonnummers) van de afdelingen
+ -- heeft gekoppeld, maar waarvan de afdeling geen telefoonobject (meer) heeft
+ -- Dus de andere kant op, want die moeten verwijderd worden.
+ DELETE FROM prs_kenmerklink
+ WHERE prs_kenmerklink_key IN
+ (SELECT KL.PRS_KENMERKLINK_KEY
+ FROM prs_kenmerklink kl, prs_perslid p
+ WHERE kl.prs_kenmerklink_niveau = 'P'
+ AND kl.prs_kenmerk_key = 1000
+ AND kl.prs_kenmerklink_verwijder IS NULL
+ AND KL.PRS_LINK_KEY = p.prs_perslid_key
+ AND NOT EXISTS (SELECT obj.ins_deel_key, ins_alg_ruimte_key
+ FROM ins_deel obj, ins_srtdeel srt, ins_kenmerkdeel k
+ WHERE ins_deel_verwijder IS NULL
+ AND obj.ins_srtdeel_key = srt.ins_srtdeel_key
+ AND k.ins_deel_key = obj.ins_deel_key
+ AND srt.ins_srtgroep_key = 21
+ AND ins_alg_ruimte_type = 'A'
+ AND ins_kenmerk_key = 81
+ AND ins_alg_ruimte_key = p.prs_afdeling_key )) ;
+
+END;
+/
+
+
+------
+------ FACTUURIMPORT / KOPPELING XTRACTOR
+------
+
+CREATE OR REPLACE PROCEDURE sutf_import_factuur (p_import_key IN NUMBER)
+AS
+ v_seq_of_columns VARCHAR(50);
+BEGIN
+
+--In de XSL: factuurnr(1);factuurdatum(2);opdrachtnr(3);omschrijving(4);bedrag(5);btwperc(6);btwbedrag(7);document(8);debiteurnr(9);opmerking(10);btw_verlegd(11);betaalkenmerk(12)
+--hulp voor pos : '1;2;3;4;5;6;7;8;9;0;1;2;3;14;15;16;7;8;9;0'
+ v_seq_of_columns := '0;1;2;3;0;0;4;0;5;7;6;8;9;10;11;12;0;0;0;0';
+ fac_import_factuur_body(p_import_key, v_seq_of_columns);
+END;
+/
+
+CREATE OR REPLACE PROCEDURE sutf_post_processing_factuur (p_import_key IN NUMBER)
+AS
+ -- Key van het kenmerk 'betaalreferentie' bij de factuur
+ c_kenmerk_key NUMBER(10) := 21;
+
+ CURSOR cfactuur_kenmerk
+ IS
+ SELECT DISTINCT fin_factuur_key, kenmerk1, factuurnr, fac_imp_file_index
+ FROM fac_imp_factuur
+ WHERE fin_factuur_key IS NOT NULL
+ AND kenmerk1 IS NOT NULL;
+BEGIN
+
+ -- De betaalreferentie wordt in kenmerk 1 van fac_imp_factuur gezet, dus alle fac_imp_factuur langsgaan en verwerken
+
+ FOR rc IN cfactuur_kenmerk
+ LOOP
+ BEGIN
+ INSERT INTO fin_kenmerkfactuur (fin_factuur_key, fin_kenmerk_key, fin_kenmerkfactuur_waarde)
+ VALUES (rc.fin_factuur_key, c_kenmerk_key, rc.kenmerk1);
+ EXCEPTION
+ WHEN OTHERS
+ THEN
+ fac.imp_writelog (p_import_key,
+ 'W',
+ 'Van factuur met key ' || rc.fin_factuur_key || ' is de betaalreferentie niet bewaard (regel ' || rc.fac_imp_file_index || ')',
+ 'Factuurnr:' || rc.factuurnr || ' / Betalingskenmerk: ' || rc.kenmerk1
+ );
+ END;
+ END LOOP;
+END;
+/
+
+CREATE OR REPLACE PROCEDURE sutf_update_factuur (p_import_key IN NUMBER)
+AS
+BEGIN
+ -- Standaard FCLT verwerk import facturen
+ fac_update_factuur (p_import_key);
+ -- CUST: post processing voor verwerking van kenmerk 'Betalingskenmerk'
+ sutf_post_processing_factuur (p_import_key);
+END;
+/
+
+
+
+
+------
+------ FACTUURIMPORT / E-INVOICING (Pilot met OD: SUTF#26879)
+------
+
+CREATE OR REPLACE PROCEDURE sutf_import_e_invoice (p_import_key IN NUMBER)
+AS
+ v_seq_of_columns VARCHAR(50);
+BEGIN
+
+--In de XSL: factuurnr(1);factuurdatum(2);opdrachtnr(3);omschrijving(4);bedrag(5);btwperc(6);btwbedrag(7);document(8);debiteurnr(9);opmerking(10);btw_verlegd(11);betaalkenmerk(12)
+--hulp voor pos : '1;2;3;4;5;6;7;8;9;0;1;2;3;14;15;16;7;8;9;0'
+ v_seq_of_columns := '0;1;2;3;0;0;4;0;5;7;6;8;9;10;11;12;0;0;0;0';
+ fac_import_factuur_body(p_import_key, v_seq_of_columns);
+END;
+/
+
+
+CREATE OR REPLACE PROCEDURE sutf_update_e_invoice (p_import_key IN NUMBER)
+AS
+BEGIN
+ -- Standaard FCLT verwerk import facturen
+ fac_update_factuur (p_import_key);
+ -- CUST: post processing voor verwerking van kenmerk 'Betalingskenmerk'
+ sutf_post_processing_factuur (p_import_key);
+END;
+/
+
+
+------
+------ FACTUUREXPORT / KOPPELING EXACT
+------
+
+-- View waarin bij de factuur met fin_factuur_key het bijbehorende factuurbestand (PDF) geldt.
+CREATE OR REPLACE VIEW sutf_v_factuur_bestand (fin_factuur_key, fin_factuur_bestand)
+AS
+SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde
+FROM fin_kenmerkfactuur kf
+WHERE kf.fin_kenmerkfactuur_verwijder IS NULL
+AND fin_kenmerk_key = 1;
+
+-- View waarin bij de factuur met fin_factuur_key het bijbehorende betaalreferentie of betaalkenmerk geldt.
+CREATE OR REPLACE VIEW sutf_v_factuur_betaalref (fin_factuur_key, fin_factuur_betaalref)
+AS
+SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde
+FROM fin_kenmerkfactuur kf
+WHERE kf.fin_kenmerkfactuur_verwijder IS NULL
+AND fin_kenmerk_key = 21;
+
+
+
+-- view tbv export naar exact
+CREATE OR REPLACE VIEW sutf_v_factuur_mldcnt_gegevens (
+ fin_factuur_key,
+ opdracht_id,
+ fin_factuur_datum,
+ fin_factuur_boekmaand,
+ fin_factuur_nr,
+ fin_factuur_bestand,
+ prs_bedrijf_key,
+ fin_factuurregel_totaal,
+ fin_factuurregel_btw,
+ fin_factuurregel_btw_perc,
+ fin_btwtabelwaarde_btwcode,
+ fin_factuurregel_nr,
+ fin_factuurregel_omschrijving,
+ fin_factuur_debiteur_nr,
+ fin_factuur_betaalref,
+ project_nummer,
+ prs_kostensoort_refcode,
+ prs_kostenplaats_nr,
+ bes_opdr_key,
+ mld_opdr_key,
+ cnt_contract_key,
+ fin_factuur_statuses_key
+ )
+AS
+ SELECT DISTINCT f.fin_factuur_key,
+ COALESCE (TO_CHAR (cnt_contract_nummer),
+ (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)
+ )
+ opdracht_id,
+ f.fin_factuur_datum,
+ f.fin_factuur_boekmaand,
+ f.fin_factuur_nr,
+ fb.fin_factuur_bestand,
+ COALESCE (b_c.prs_bedrijf_key, b_o.prs_bedrijf_key) prs_bedrijf_key,
+ fr.fin_factuurregel_totaal,
+ fr.fin_factuurregel_btw,
+ btw.fin_btwtabelwaarde_perc,
+ btw.fin_btwtabelwaarde_code,
+ fr.fin_factuurregel_nr,
+ fr.fin_factuurregel_omschrijving,
+ f.fin_factuur_debiteur_nr,
+ fbr.fin_factuur_betaalref,
+ NULL projectnummer,
+ COALESCE(ks_regel.prs_kostensoort_refcode,ks.prs_kostensoort_refcode),
+ COALESCE (kp_c.prs_kostenplaats_nr, kp_o.prs_kostenplaats_nr) prs_kostenplaats_nr,
+ NULL bes_opdr_key,
+ o.mld_opdr_key,
+ c.cnt_contract_key,
+ f.fin_factuur_statuses_key
+ FROM fin_factuur f,
+ sutf_v_factuur_bestand fb,
+ sutf_v_factuur_betaalref fbr,
+ fin_factuurregel fr,
+ fin_btwtabelwaarde btw,
+ mld_opdr o,
+ mld_typeopdr ot,
+ cnt_contract c,
+ prs_bedrijf b_o,
+ prs_bedrijf b_c,
+ prs_kostensoort ks,
+ prs_kostensoort ks_regel,
+ prs_kostenplaats kp_c,
+ prs_kostenplaats kp_o
+ WHERE f.fin_factuur_key = fr.fin_factuur_key
+ AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
+ AND f.fin_factuur_key = fb.fin_factuur_key(+)
+ AND f.fin_factuur_key = fbr.fin_factuur_key(+)
+ AND f.bes_bestelopdr_key is null
+ AND f.mld_opdr_key = o.mld_opdr_key(+)
+ AND o.prs_kostenplaats_key = kp_o.prs_kostenplaats_key (+)
+ AND o.mld_typeopdr_key = ot.mld_typeopdr_key(+)
+ AND f.cnt_contract_key = c.cnt_contract_key(+)
+ AND o.mld_uitvoerende_keys = b_o.prs_bedrijf_key(+)
+ AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+)
+ AND c.prs_kostenplaats_key = kp_c.prs_kostenplaats_key (+)
+ AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
+ AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+);
+
+
+CREATE OR REPLACE VIEW sutf_v_factuur_bes_gegevens (
+ fin_factuur_key,
+ opdracht_id,
+ fin_factuur_datum,
+ fin_factuur_boekmaand,
+ fin_factuur_nr,
+ fin_factuur_bestand,
+ prs_bedrijf_key,
+ fin_factuurregel_totaal,
+ fin_factuurregel_btw,
+ fin_factuurregel_btw_perc,
+ fin_btwtabelwaarde_btwcode,
+ fin_factuurregel_nr,
+ fin_factuurregel_omschrijving,
+ fin_factuur_debiteur_nr,
+ fin_factuur_betaalref,
+ project_nummer,
+ prs_kostensoort_refcode,
+ prs_kostenplaats_nr,
+ bes_opdr_key,
+ mld_opdr_key,
+ cnt_contract_key,
+ fin_factuur_statuses_key
+ )
+AS
+ SELECT DISTINCT f.fin_factuur_key,
+ TO_CHAR (bo.bes_bestelopdr_id) opdracht_id,
+ f.fin_factuur_datum,
+ f.fin_factuur_boekmaand,
+ f.fin_factuur_nr,
+ fb.fin_factuur_bestand,
+ b.prs_bedrijf_key,
+ fr.fin_factuurregel_totaal,
+ fr.fin_factuurregel_btw,
+ btw.fin_btwtabelwaarde_perc,
+ btw.fin_btwtabelwaarde_code,
+ fr.fin_factuurregel_nr,
+ fr.fin_factuurregel_omschrijving,
+ f.fin_factuur_debiteur_nr,
+ fbr.fin_factuur_betaalref,
+ NULL projectnummer,
+ COALESCE(ks_regel.prs_kostensoort_refcode,ks.prs_kostensoort_refcode),
+ kp.prs_kostenplaats_nr,
+ bo.bes_bestelopdr_key bes_opdr_key,
+ NULL mld_opdr_key,
+ NULL cnt_contract_key,
+ f.fin_factuur_statuses_key
+ FROM bes_bestelopdr bo,
+ prs_bedrijf b,
+ bes_bestelling bes,
+ bes_bestelopdr_item boi,
+ bes_bestelling_item bi,
+ fin_factuur f,
+ sutf_v_factuur_bestand fb,
+ sutf_v_factuur_betaalref fbr,
+ fin_factuurregel fr,
+ fin_btwtabelwaarde btw,
+ prs_kostensoort ks,
+ prs_kostensoort ks_regel,
+ prs_kostenplaats kp
+ WHERE b.prs_bedrijf_key = bo.prs_bedrijf_key
+ AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
+ AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
+ AND bes.bes_bestelling_key = bi.bes_bestelling_key
+ AND kp.prs_kostenplaats_key = bes.prs_kostenplaats_key
+ AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
+ AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+)
+ AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
+ AND f.fin_factuur_key = fr.fin_factuur_key
+ AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
+ AND f.fin_factuur_key = fb.fin_factuur_key(+)
+ AND f.fin_factuur_key = fbr.fin_factuur_key(+);
+
+
+CREATE OR REPLACE VIEW sutf_v_factuur_geg
+AS
+SELECT * from sutf_v_factuur_mldcnt_gegevens
+UNION
+SELECT * from sutf_v_factuur_bes_gegevens;
+
+
+CREATE OR REPLACE VIEW sutf_v_factuur_geg_akkoord
+AS
+SELECT * from sutf_v_factuur_mldcnt_gegevens
+WHERE fin_factuur_statuses_key = 6
+UNION
+SELECT * from sutf_v_factuur_bes_gegevens
+WHERE fin_factuur_statuses_key = 6;
+
+
+
+-- De OUDE ascii-rapportage van het exportbestand die voor Exact zou worden gegenereerd.
+CREATE OR REPLACE VIEW sutf_v_rap_exact
+(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, field40)
+AS
+ SELECT 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, '!'
+ FROM (SELECT 0 regelnummer,
+ 'I' dagb_type,
+ '42' dagbknr,
+ '' periode,
+ '' bkjcode,
+ TO_CHAR (fin_factuur_key) bkstnr,
+ opdracht_id 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,
+ COALESCE(fin_factuur_betaalref, 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
+ FROM (SELECT fin_factuur_key,
+ opdracht_id,
+ fin_factuur_datum,
+ fin_factuur_nr,
+ prs_bedrijf_key,
+ fin_factuur_debiteur_nr,
+ fin_factuur_betaalref,
+ SUM (fin_factuurregel_totaal + fin_factuurregel_btw)
+ bedrag
+ FROM sutf_v_factuur_geg_akkoord
+ GROUP BY fin_factuur_key,
+ opdracht_id,
+ fin_factuur_datum,
+ fin_factuur_nr,
+ prs_bedrijf_key,
+ fin_factuur_debiteur_nr,
+ fin_factuur_betaalref) fg
+ UNION ALL
+ SELECT fin_factuurregel_nr regelnummer,
+ 'I' dagb_type,
+ '42' dagbknr,
+ '' periode,
+ '' bkjcode,
+ TO_CHAR (fin_factuur_key) boekstuknummer,
+ COALESCE(fin_factuur_betaalref, fin_factuur_nr || '/' || fin_factuur_debiteur_nr) 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_btwcode btw_code,
+ REPLACE (TO_CHAR (fin_factuurregel_btw), ',', '.') btw_bdr,
+ '' weeknummer,
+ '' empty24,
+ '' empty25,
+ '' empty26,
+ prs_kostenplaats_nr kstplcode,
+ '' kstdrcode,
+ '' empty29,
+ '' empty30,
+ '' empty31,
+ '' transsubtype,
+ '' empty33,
+ '' empty34,
+ '' emtpy35,
+ '' empty36,
+ '' empty37,
+ '' empty38,
+ project_nummer projectnr,
+ '!' empty40
+ FROM sutf_v_factuur_geg_akkoord fg);
+
+
+
+
+
+
+-- Alle waarden (zijn evt meer records) uit eigen tabel '$SYSTEM' waarvan de waarde_code met een
+-- zekere prefix begint (volgens de systeem-setting PREFIX_FCLT_FACTUUR_XML_HEADER), komen in de header vd xml terecht.
+CREATE OR REPLACE VIEW sutf_v_fclt_factuur_header (
+ result,
+ result_order
+ )
+AS
+SELECT '<' || fac_usrdata_code || '>' || fac_usrdata_omschr || '' || fac_usrdata_code || '>', 1
+FROM fac_usrdata
+WHERE fac_usrtab_key = 101
+AND fac_usrdata_verwijder is null;
+
+CREATE OR REPLACE VIEW sutf_v_fclt_factuur_body (
+ result,
+ result_order
+ )
+AS
+ SELECT DECODE(regelnummer,0,'','')
+ || '' || fin_factuur_key || ''
+ || '' || xml.char_to_html(fin_factuur_nr) || ''
+ || '' || xml.char_to_html(fin_factuur_bestand) || ''
+ || '' || xml.char_to_html(fin_factuur_debiteur_nr) || ''
+ || '' || xml.char_to_html(bes_mld_cnt_opdracht_id) || ''
+ || '' || datum || ''
+ || '' || fin_factuur_boekmaand || ''
+ || '' || xml.char_to_html(grootboekrekening) || ''
+ || '' || xml.char_to_html(betaalreferentie) || ''
+ || '' || xml.char_to_html(crediteur_nr) || ''
+ || '' || xml.char_to_html(crediteur_naam) || ''
+ || '' || fin_factuur_totaal_exbtw || ''
+ || '' || fin_factuur_totaal_incbtw || ''
+ || '' || xml.char_to_html(fin_factuurregel_omschrijving) || ''
+ || '' || fin_factuurregel_totaal || ''
+ || '' || btw_percentage || ''
+ || '' || xml.char_to_html(btw_code) || ''
+ || '' || btw_bedrag || ''
+ || '' || xml.char_to_html(prs_kostenplaats_nr) || ''
+ || DECODE(regelnummer, 0, '', DECODE(aant_factuur_regels - regelnummer,0,'',''))
+ ,
+ (10000000 + fin_factuur_key) * 100 + regelnummer
+ FROM (SELECT 0 regelnummer,
+ aant_factuur_regels,
+ fin_factuur_key,
+ fin_factuur_nr,
+ fin_factuur_bestand,
+ fin_factuur_debiteur_nr,
+ opdracht_id bes_mld_cnt_opdracht_id,
+ TO_CHAR (fin_factuur_datum, 'ddmmyyyy') datum,
+ fin_factuur_boekmaand,
+ '' grootboekrekening,
+ betaalreferentie,
+ (SELECT prs_leverancier_nr
+ FROM prs_bedrijf b
+ WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) crediteur_nr,
+ (SELECT prs_bedrijf_naam
+ FROM prs_bedrijf b
+ WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) crediteur_naam,
+ REPLACE (TO_CHAR (ROUND(bedrag_exbtw,2)), ',', '.') fin_factuur_totaal_exbtw,
+ REPLACE (TO_CHAR (ROUND(bedrag_incbtw,2)), ',', '.') fin_factuur_totaal_incbtw,
+ '' fin_factuurregel_omschrijving,
+ '' fin_factuurregel_totaal,
+ '' btw_percentage,
+ '' btw_code,
+ '' btw_bedrag,
+ '' prs_kostenplaats_nr
+ FROM (SELECT fin_factuur_key,
+ opdracht_id,
+ fin_factuur_datum,
+ fin_factuur_boekmaand,
+ fin_factuur_nr,
+ fin_factuur_bestand,
+ prs_bedrijf_key,
+ fin_factuur_debiteur_nr,
+ COALESCE(fin_factuur_betaalref, fin_factuur_nr || '/' || fin_factuur_debiteur_nr) betaalreferentie,
+ COUNT(fin_factuur_key) AS aant_factuur_regels,
+ SUM (fin_factuurregel_totaal) bedrag_exbtw,
+ SUM (fin_factuurregel_totaal + fin_factuurregel_btw) bedrag_incbtw
+ FROM sutf_v_factuur_geg_akkoord
+ GROUP BY fin_factuur_key,
+ opdracht_id,
+ fin_factuur_datum,
+ fin_factuur_boekmaand,
+ fin_factuur_nr,
+ fin_factuur_bestand,
+ prs_bedrijf_key,
+ fin_factuur_debiteur_nr,
+ fin_factuur_betaalref) fg
+ UNION ALL
+ SELECT fin_factuurregel_nr regelnummer,
+ (SELECT COUNT(fin_factuur_key)
+ FROM sutf_v_factuur_geg_akkoord fc
+ WHERE fc.fin_factuur_key = fg.fin_factuur_key
+ GROUP BY fin_factuur_key,
+ opdracht_id,
+ fin_factuur_datum,
+ fin_factuur_nr,
+ prs_bedrijf_key,
+ fin_factuur_debiteur_nr) AS aant_factuur_regels,
+ fin_factuur_key,
+ fin_factuur_nr,
+ '' fin_factuur_bestand,
+ fin_factuur_debiteur_nr,
+ '' bes_mld_cnt_opdracht_id,
+ TO_CHAR (fin_factuur_datum, 'ddmmyyyy') datum,
+ fin_factuur_boekmaand,
+ prs_kostensoort_refcode grootboekrekening,
+ COALESCE(fin_factuur_betaalref, fin_factuur_nr || '/' || fin_factuur_debiteur_nr) betaalreferentie,
+ (SELECT prs_leverancier_nr
+ FROM prs_bedrijf b
+ WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) crediteur_nr,
+ (SELECT prs_bedrijf_naam
+ FROM prs_bedrijf b
+ WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) crediteur_naam,
+ '' fin_factuur_totaal_exbtw,
+ '' fin_factuur_totaal_incbtw,
+ fin_factuurregel_omschrijving,
+ REPLACE (TO_CHAR (ROUND(fin_factuurregel_totaal,2)), ',', '.') fin_factuurregel_totaal,
+ TO_CHAR(fin_factuurregel_btw_perc) btw_percentage,
+ fin_btwtabelwaarde_btwcode btw_code,
+ REPLACE (TO_CHAR (ROUND(fin_factuurregel_btw,2)), ',', '.') btw_bedrag,
+ prs_kostenplaats_nr
+ FROM sutf_v_factuur_geg_akkoord fg
+ ORDER BY fin_factuur_key, regelnummer);
+
+--Vieuws voor looplijst reserveringen Mobiel
+CREATE OR REPLACE VIEW sutf_v_rap_res_looplijst
+AS
+ SELECT DISTINCT
+ TO_CHAR (rr.res_rsv_ruimte_van, 'yyyy-mm-dd')
+ || rg.alg_gebouw_upper
+ || TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi')
+ hide_f_srt,
+ rr.res_reservering_key || '/' || rr.res_rsv_ruimte_volgnr nr,
+ rg.alg_gebouw_omschrijving fclt_f_gebouw,
+ rr.res_rsv_ruimte_van datum,
+ TO_CHAR (rr.res_rsv_ruimte_van, 'hh24:mi') begintijd,
+ TO_CHAR (rr.res_rsv_ruimte_tot, 'hh24:mi') eindtijd,
+ r.res_ruimte_nr fclt_f_ruimte,
+ o.res_opstelling_omschrijving opstelling,
+ rr.res_rsv_ruimte_bezoekers aantal,
+ rr.res_rsv_ruimte_omschrijving omschrijving,
+ mld.aant Meldingen,
+ voorzieningen,
+ CASE
+ WHEN LENGTH (catering) > 75
+ THEN
+ SUBSTR (catering, 1, 75) || ' ...'
+ ELSE
+ catering
+ END
+ catering,
+ rr.res_rsv_ruimte_key
+ FROM res_rsv_ruimte rr,
+ res_ruimte_opstelling ro,
+ res_opstelling o,
+ res_ruimte r,
+ res_alg_ruimte ar,
+ alg_v_ruimte_gegevens rg,
+ ( SELECT res_rsv_ruimte_key,
+ 'Ja (' || COUNT (res_rsv_ruimte_key) || ')' aant
+ FROM mld_melding
+ WHERE res_rsv_ruimte_key IS NOT NULL
+ GROUP BY res_rsv_ruimte_key) mld,
+ ( SELECT res_rsv_ruimte_key,
+ LISTAGG (voorziening, CHR (13) || CHR (10))
+ WITHIN GROUP (ORDER BY voorziening)
+ AS Voorzieningen
+ FROM (SELECT res_rsv_ruimte_key,
+ res_deel_omschrijving voorziening
+ FROM res_deel rd, res_rsv_deel rrd
+ WHERE RES_RSV_DEEL_verwijder IS NULL
+ AND rd.res_deel_key = rrd.res_deel_key
+ AND res_rsv_ruimte_key IS NOT NULL)
+ GROUP BY res_rsv_ruimte_key) voorz,
+ ( SELECT res_rsv_ruimte_key,
+ LISTAGG (artikel, ', ') WITHIN GROUP (ORDER BY artikel)
+ AS catering
+ FROM (SELECT res_rsv_ruimte_key,
+ res_rsv_artikel_aantal
+ || '*'
+ || res_artikel_omschrijving
+ artikel
+ FROM res_artikel ra, res_rsv_artikel rra
+ WHERE RES_RSV_artikel_verwijder IS NULL
+ AND ra.res_artikel_key = rra.res_artikel_key
+ AND res_rsv_ruimte_key IS NOT NULL)
+ GROUP BY res_rsv_ruimte_key) cat
+ WHERE rr.res_rsv_ruimte_verwijder IS NULL
+ AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key
+ AND o.res_opstelling_key = ro.res_opstelling_key
+ AND r.res_ruimte_key = ro.res_ruimte_key
+ AND ar.res_ruimte_key = r.res_ruimte_key
+ AND ar.res_alg_ruimte_verwijder IS NULL
+ AND rg.alg_ruimte_key = ar.alg_ruimte_key
+ AND mld.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key
+ AND voorz.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key
+ AND cat.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key;
+
+
+CREATE OR REPLACE VIEW sutf_v_rap_mob_looplijst
+AS
+ SELECT *
+ FROM sutf_v_rap_res_looplijst
+ WHERE TRUNC (datum) = TRUNC (SYSDATE);
+
+
+
+CREATE OR REPLACE VIEW sutf_v_export_fclt_factuur (
+ result,
+ result_order
+ )
+AS
+SELECT '',0 FROM DUAL
+UNION
+SELECT result, result_order FROM sutf_v_fclt_factuur_header
+UNION
+SELECT result, result_order FROM sutf_v_fclt_factuur_body
+UNION
+SELECT '',99999999999999999999 FROM DUAL;
+
+
+
+CREATE OR REPLACE PROCEDURE sutf_export_fclt_factuur (
+ p_applname IN VARCHAR2,
+ p_applrun IN VARCHAR2,
+ p_filedir IN VARCHAR2,
+ p_filename IN VARCHAR2
+)
+AS
+
+ -- In cursor cfactuur alle facturen die worden geexporteerd...
+ CURSOR cfactuur
+ IS
+ SELECT fin_factuur_key
+ FROM sutf_v_factuur_geg_akkoord
+ GROUP BY fin_factuur_key;
+
+BEGIN
+ -- DE EXPORT IS OP BASIS VAN EEN VIEW GEREALISEERD, WAARNA NU ALS LAATSTE STAP NOG WAT ADMINISTRATIE VOLGT...
+ FOR cfact IN cfactuur
+ LOOP
+ -- Zowel de factuur in tracking zetten als de status op verwerkt (=7) zetten
+ fin.setfactuurstatus (cfact.fin_factuur_key, 7, NULL);
+ END LOOP;
+END;
+/
+
+
+
+CREATE OR REPLACE VIEW sutf_v_export_undo_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
+ || ';'
+ || bes_opdr_key
+ || ';'
+ || mld_opdr_key
+ || ';'
+ || cnt_contract_key
+ ,CHR (13), ''), CHR (10), ''), f.fin_factuur_key
+ FROM sutf_v_factuur_geg f, fac_tracking t, fac_srtnotificatie sn
+ WHERE sn.fac_srtnotificatie_code ='FINVER'
+ AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
+ AND t.fac_tracking_datum >= (SELECT MAX(t1.fac_tracking_datum) - (1 / (24*60))
+ FROM fac_tracking t1
+ WHERE t1.fac_srtnotificatie_key = t.fac_srtnotificatie_key)
+ AND f.fin_factuur_key = t.fac_tracking_refkey
+ AND f.fin_factuur_statuses_key = 7;
+
+
+
+CREATE OR REPLACE PROCEDURE sutf_select_undo_exact (
+ p_applname IN VARCHAR2,
+ p_applrun IN VARCHAR2
+)
+AS
+ v_errormsg VARCHAR (200);
+BEGIN
+ v_errormsg := 'Geen akties';
+
+END;
+/
+
+-- Procedure om alle geexporteerde facturen naar status verwerkt te zetten.
+CREATE OR REPLACE PROCEDURE sutf_export_undo_exact (
+ p_applname IN VARCHAR2,
+ p_applrun IN VARCHAR2,
+ p_filedir IN VARCHAR2,
+ p_filename IN VARCHAR2
+)
+AS
+ CURSOR cfactuur
+ IS
+ SELECT DISTINCT f.fin_factuur_key
+ FROM fac_tracking t, fac_srtnotificatie sn, fin_factuur f
+ WHERE sn.fac_srtnotificatie_code ='FINVER'
+ AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
+ AND t.fac_tracking_datum >= (SELECT MAX(t1.fac_tracking_datum) - (1 / (24*60))
+ FROM fac_tracking t1
+ WHERE t1.fac_srtnotificatie_key = t.fac_srtnotificatie_key)
+ AND f.fin_factuur_key = t.fac_tracking_refkey
+ AND fin_factuur_statuses_key = 7;
+
+ v_errormsg VARCHAR (200);
+ oracle_err_num NUMBER;
+ oracle_err_mes VARCHAR2 (200);
+BEGIN
+ v_errormsg := 'Geen akties';
+
+ FOR cfact IN cfactuur
+ LOOP
+ -- Eerst de factuur in tracking zetten...
+ -- Omdat van 7 naar 6 niet mag/geoorloofd is, lukt het niet via
+ -- de reguliere functie fin.setfactuurstatus (cfact.fin_factuur_key, 6, NULL);
+
+ -- Dan maar zelf en custom-made:
+ fac.trackaction ('FINFOK', cfact.fin_factuur_key, NULL, NULL, 'Factuur uit archief teruggezet');
+ UPDATE fin_factuur
+ SET fin_factuur_statuses_key = 6
+ WHERE fin_factuur_key = cfact.fin_factuur_key;
+
+ END LOOP;
+END;
+/
+
+CREATE OR REPLACE PROCEDURE sutf_monthly
+AS
+ -- ins_srtdiscipline_key = 1 -> Automatisering
+ CURSOR c_mld_2_arch
+ IS
+ SELECT mld_melding_key
+ FROM mld_melding
+ WHERE mld_melding_status = 5
+ AND sysdate-30 >=
+ (SELECT fac_tracking_datum from fac_tracking
+ WHERE fac_tracking_refkey = mld_melding_key
+ AND fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'MLDAFM')
+ )
+ AND mld_stdmelding_key IN
+ (SELECT mld_stdmelding_key FROM mld_stdmelding WHERE mld_ins_discipline_key IN
+ (SELECT ins_discipline_key FROM mld_discipline WHERE ins_srtdiscipline_key = 1)
+ );
+
+
+ v_errormsg VARCHAR2 (1000);
+ oracle_err_num NUMBER;
+ oracle_err_mes VARCHAR2 (200);
+ v_count_tot NUMBER (10);
+ v_count_error NUMBER (10);
+ v_count NUMBER (10);
+ v_tracking VARCHAR2 (1000);
+
+
+BEGIN
+ FOR cmld IN c_mld_2_arch
+ LOOP
+ BEGIN
+
+ -- Eerst proberen om melding op archief te zetten, indien gelukt DAN PAS in tracking
+ -- Het zou kunnen dat constraint de update tegenhoudt (openstaande opdrachten), in dat geval komt die in exception-tak (en wordt terecht niet getrackt).
+ -- Wel gaan we daartoe eerst de opdrachten op archief (7=verwerkt) zetten, die de status afgemeld hebben (= 6).
+
+ UPDATE mld_opdr
+ SET mld_statusopdr_key = 7
+ WHERE mld_statusopdr_key=6
+ AND mld_melding_key = cmld.mld_melding_key;
+
+ UPDATE mld_melding
+ SET mld_melding_status = 6
+ WHERE mld_melding_key = cmld.mld_melding_key;
+
+ -- Nu de melding in tracking zetten...dat ie gearchiveerd is
+
+ fac.trackaction ('MLDVER', cmld.mld_melding_key, NULL, NULL, 'Melding in archief gezet (door systeem)');
+
+ EXCEPTION
+ WHEN OTHERS
+ THEN
+ v_count_error := v_count_error + 1;
+ oracle_err_num := SQLCODE;
+ oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
+ v_errormsg :=
+ 'OTHERS (error '
+ || oracle_err_num
+ || '/'
+ || oracle_err_mes
+ || ')';
+ END;
+ COMMIT;
+ END LOOP;
+
+END sutf_monthly;
+/
+
+-- SUTF#29030
+-- Notificatiejob om te laat ingeleverde uitgeleende objecten naar de backoffice (=key 8621) te sturen
+-- Terugbreng datum (=key 601) wordt bij het uitgeleende obejct geregistreerd
+CREATE OR REPLACE VIEW SUTF_V_NOTI_INS_LATE
+(
+ CODE,
+ SENDER,
+ RECEIVER,
+ TEXT,
+ KEY,
+ XKEY
+)
+AS
+ SELECT 'INSMAI',
+ NULL,
+ 8621,
+ 'Uitleentijd verstreken van: ' || ins_deel_omschrijving,
+ d.ins_deel_key,
+ NULL
+ FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_deel d
+ WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
+ AND k.ins_srtkenmerk_key = 601
+ AND kd.ins_deel_key = d.ins_deel_key
+ AND ins_kenmerkdeel_verwijder IS NULL
+ AND d.ins_deel_verwijder IS NULL
+ AND ins_kenmerkdeel_waarde = TO_CHAR (SYSDATE - 1, 'DD-MM-YYYY')
+ AND ins_alg_ruimte_key_org IS NOT NULL;
+
+CREATE OR REPLACE PACKAGE SUTF
+AS
+ PROCEDURE mail_supportdesk (pfrom IN VARCHAR2,
+ pto IN VARCHAR2,
+ psubject IN VARCHAR2,
+ pbody IN VARCHAR2,
+ psessionid IN VARCHAR2,
+ pemailkey IN NUMBER);
+
+ PROCEDURE mail_idu (pfrom IN VARCHAR2,
+ pto IN VARCHAR2,
+ psubject IN VARCHAR2,
+ pbody IN VARCHAR2,
+ psessionid IN VARCHAR2,
+ pemailkey IN NUMBER);
+END;
+/
+
+CREATE OR REPLACE PACKAGE BODY SUTF
+AS
+ PROCEDURE mail_supportdesk (pfrom IN VARCHAR2,
+ pto IN VARCHAR2,
+ psubject IN VARCHAR2,
+ pbody IN VARCHAR2,
+ psessionid IN VARCHAR2,
+ pemailkey IN NUMBER)
+ AS
+ v_sender prs_perslid.prs_perslid_key%TYPE;
+ v_from VARCHAR2 (4000);
+ v_body VARCHAR2 (4000);
+ v_count NUMBER;
+
+ v_onderwerp mld_melding.mld_melding_onderwerp%TYPE;
+ v_omschrijving mld_melding.mld_melding_omschrijving%TYPE;
+ v_melding_key mld_melding.mld_melding_key%TYPE;
+ v_stdmelding_key mld_stdmelding.mld_stdmelding_key%TYPE;
+ v_uitvoertijd mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE;
+ v_melding_status mld_melding.mld_melding_status%TYPE;
+ v_volgnr NUMBER;
+ v_locatie_key alg_locatie.alg_locatie_key%TYPE;
+ v_kkey mld_kenmerk.mld_kenmerk_key%TYPE;
+ v_mailorigin mld_kenmerk.mld_kenmerk_key%TYPE;
+
+ v_errorhint VARCHAR2 (1000);
+ v_errormsg fac_result.fac_result_waarde%TYPE;
+ oracle_err_num NUMBER;
+ oracle_err_mes VARCHAR2 (200);
+ BEGIN
+ -- Verwijder de Bounce Address Tag Validation
+ IF pfrom LIKE 'prvs=%'
+ THEN
+ v_from := SUBSTR (pfrom, INSTR (pfrom, '=', -1) + 1);
+ ELSE
+ v_from := pfrom;
+ END IF;
+
+ v_stdmelding_key :=
+ fac.safe_to_number (fac.getsetting ('defaultstdmelding'));
+ --PROD
+ v_locatie_key := 261; --Locatie nvt
+ v_sender := 4; --4 = Facilitor
+ v_kkey := 1121; --Kenmerk_key bijlagen email
+ v_mailorigin := 1101; --Kenmerk_key originele mail-bijlage
+
+ --ACCEPT:
+ -- v_locatie_key := 241; --Locatie nvt
+ -- v_sender := 4; --4 = Facilitor
+ -- v_kkey := 1145; --Kenmerk_key bijlagen email
+ -- v_mailorigin := 1146; --Kenmerk_key originele mail-bijlage
+
+ -- filter nu de essentiele velden uit de mailbody
+ -- vervang cr door lf
+ v_body := pbody;
+ v_body := REPLACE (v_body, CHR (13), CHR (10));
+ -- verwijder dubbele lf's
+ v_body := REPLACE (v_body, CHR (10) || CHR (10), CHR (10));
+ v_omschrijving := substr(v_body, 1, 4000);
+ v_onderwerp := substr(psubject, 1, 80);
+ --
+ v_errorhint := 'Bepaal volgnummer';
+
+ SELECT COALESCE (MAX (fac_rapport_volgnr), 0)
+ INTO v_volgnr
+ FROM fac_rapport
+ WHERE fac_rapport_node = 'SUPPORTDESK';
+
+ v_errorhint := 'Bewaar mail ' || v_volgnr;
+ v_errormsg := '(0x110)';
+
+ INSERT INTO fac_rapport (fac_rapport_node,
+ fac_rapport_volgnr,
+ fac_rapport_regel)
+ VALUES (
+ 'SUPPORTDESK',
+ v_volgnr + 1,
+ pfrom
+ || CHR (10)
+ || psubject
+ || CHR (10)
+ || SUBSTR(v_omschrijving,1,1500));
+
+ -- nu gaan we de uitvoertijd bepalen
+ v_errorhint := 'Bepaal uitvoertijd ' || v_volgnr;
+ v_errormsg := '(0x120)';
+
+ SELECT mld_stdmelding_t_uitvoertijd
+ INTO v_uitvoertijd
+ FROM mld_stdmelding
+ WHERE mld_stdmelding_key = v_stdmelding_key;
+
+ -- nu gaan we de melding aanmaken
+ v_errorhint := 'Melding aanmaken ' || v_volgnr;
+ v_errormsg := 'Melding kan niet aangemaakt worden (0x150)';
+
+ INSERT INTO mld_melding (mld_melding_module,
+ mld_meldbron_key,
+ mld_melding_datum,
+ mld_melding_onderwerp,
+ mld_melding_omschrijving,
+ mld_melding_status,
+ mld_melding_t_uitvoertijd,
+ mld_stdmelding_key,
+ prs_perslid_key,
+ prs_perslid_key_voor,
+ prs_kostenplaats_key,
+ mld_melding_spoed,
+ mld_alg_locatie_key,
+ mld_alg_onroerendgoed_keys)
+ VALUES ('MLD',
+ 6, -- system
+ SYSDATE,
+ v_onderwerp,
+ v_omschrijving,
+ NULL,
+ v_uitvoertijd,
+ v_stdmelding_key,
+ v_sender,
+ v_sender,
+ NULL,
+ 3,
+ v_locatie_key,
+ NULL)
+ RETURNING mld_melding_key
+ INTO v_melding_key;
+
+ v_errormsg := '(0x180)';
+ mld.setmeldingstatus (v_melding_key, 2, v_sender);
+
+ INSERT INTO fac_result (fac_result_sessionid,
+ fac_result_naam,
+ fac_result_waarde)
+ VALUES (psessionid,
+ 'maillog',
+ 'Geregistreerd onder melding ' || v_melding_key);
+
+
+
+ IF v_melding_key = NULL
+ THEN
+ -- foutafhandeling
+ v_errorhint := 'Geen melding key ' || v_volgnr;
+ v_errormsg := 'Melding kan niet aangemaakt worden (0x910)';
+ fac.writelog ('MAIL_SUPPORTDESK',
+ 'E',
+ v_errormsg,
+ SUBSTR (pbody, 1, 1000));
+
+ INSERT INTO fac_result (fac_result_sessionid,
+ fac_result_naam,
+ fac_result_waarde)
+ VALUES (
+ psessionid,
+ 'errormsg',
+ 'Fout bij verwerken mail Supportdesk '
+ || psubject);
+ ELSE
+ -- nu gaan we de bijlagen toevoegen
+ v_errorhint := 'Bijlagen toevoegen ' || v_volgnr;
+ v_errormsg := 'Bijlagen toevoegen lukt niet (0x210)';
+
+ IF v_kkey IS NOT NULL
+ THEN
+ v_errormsg := '(0x230)';
+
+ INSERT INTO fac_result (fac_result_sessionid,
+ fac_result_naam,
+ fac_result_waarde)
+ VALUES (
+ psessionid,
+ 'kenmerkpath',
+ 'MLD\M'
+ || TO_CHAR (TRUNC (v_melding_key / 1000),
+ 'FM0000')
+ || '___\M'
+ || v_melding_key
+ || '\'
+ || v_kkey
+ || '\');
+ END IF;
+
+ -- originele email wordt opgeslagen bij de melding
+ INSERT INTO fac_result (fac_result_sessionid,
+ fac_result_naam,
+ fac_result_waarde)
+ VALUES (
+ psessionid,
+ 'kenmerkorgmailpath',
+ 'MLD\M'
+ || TO_CHAR (TRUNC (v_melding_key / 1000),
+ 'FM0000')
+ || '___\M'
+ || v_melding_key
+ || '\'
+ || v_mailorigin
+ || '\');
+ END IF;
+ 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.writelog ('MAIL_SUPPORTDESK',
+ 'E',
+ v_errormsg,
+ v_errorhint);
+
+ INSERT INTO fac_result (fac_result_sessionid,
+ fac_result_naam,
+ fac_result_waarde)
+ VALUES (
+ psessionid,
+ 'errormsg',
+ 'Fout bij verwerken mail Supportdesk: '
+ || psubject);
+ END;
+
+ PROCEDURE mail_idu (pfrom IN VARCHAR2,
+ pto IN VARCHAR2,
+ psubject IN VARCHAR2,
+ pbody IN VARCHAR2,
+ psessionid IN VARCHAR2,
+ pemailkey IN NUMBER)
+ AS
+ v_sender prs_perslid.prs_perslid_key%TYPE;
+ v_from VARCHAR2 (4000);
+ v_body VARCHAR2 (4000);
+ v_count NUMBER;
+
+ v_onderwerp mld_melding.mld_melding_onderwerp%TYPE;
+ v_omschrijving mld_melding.mld_melding_omschrijving%TYPE;
+ v_melding_key mld_melding.mld_melding_key%TYPE;
+ v_stdmelding_key mld_stdmelding.mld_stdmelding_key%TYPE;
+ v_uitvoertijd mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE;
+ v_melding_status mld_melding.mld_melding_status%TYPE;
+ v_volgnr NUMBER;
+ v_locatie_key alg_locatie.alg_locatie_key%TYPE;
+ v_kkey mld_kenmerk.mld_kenmerk_key%TYPE;
+ v_mailorigin mld_kenmerk.mld_kenmerk_key%TYPE;
+ v_perslid_key prs_perslid.prs_perslid_key%TYPE;
+ v_mutatie VARCHAR2 (1000);
+
+ v_errorhint VARCHAR2 (1000);
+ v_errormsg fac_result.fac_result_waarde%TYPE;
+ oracle_err_num NUMBER;
+ oracle_err_mes VARCHAR2 (200);
+ BEGIN
+ -- Verwijder de Bounce Address Tag Validation
+ IF pfrom LIKE 'prvs=%'
+ THEN
+ v_from := SUBSTR (pfrom, INSTR (pfrom, '=', -1) + 1);
+ ELSE
+ v_from := pfrom;
+ END IF;
+
+
+ -- PROD
+ v_stdmelding_key := 1723; -- Startmelding IDU
+ v_locatie_key := 261; --Locatie nvt
+ v_sender := 4; --4 = Facilitor
+ v_kkey := 1121; --Kenmerk_key bijlagen email
+ v_mailorigin := 1101; --Kenmerk_key originele mail-bijlage
+
+ -- ACCEPT:
+ -- v_stdmelding_key := 1658; -- Startmelding IDU
+ -- v_locatie_key := 241; --Locatie nvt
+ -- v_sender := 4; --4 = Facilitor
+ -- v_kkey := 1145; --Kenmerk_key bijlagen email
+ -- v_mailorigin := 1146; --Kenmerk_key originele mail-bijlage
+
+ -- filter nu de essentiele velden uit de mailbody
+ -- vervang cr door lf
+ v_body := pbody;
+ v_body := REPLACE (v_body, CHR (13), CHR (10));
+ -- verwijder dubbele lf's
+ v_body := REPLACE (v_body, CHR (10) || CHR (10), CHR (10));
+ v_omschrijving := substr(v_body, 1, 4000);
+ v_onderwerp := substr(psubject, 1, 80);
+ --
+ v_errorhint := 'Bepaal volgnummer';
+
+ SELECT COALESCE (MAX (fac_rapport_volgnr), 0)
+ INTO v_volgnr
+ FROM fac_rapport
+ WHERE fac_rapport_node = 'IDU';
+
+ v_errorhint := 'Bewaar mail ' || v_volgnr;
+ v_errormsg := '(0x110)';
+
+ INSERT INTO fac_rapport (fac_rapport_node,
+ fac_rapport_volgnr,
+ fac_rapport_regel)
+ VALUES (
+ 'IDU',
+ v_volgnr + 1,
+ pfrom
+ || CHR (10)
+ || psubject
+ || CHR (10)
+ || SUBSTR(v_omschrijving,1,1500));
+
+ -- nu gaan we de uitvoertijd bepalen
+ v_errorhint := 'Bepaal uitvoertijd ' || v_volgnr;
+ v_errormsg := '(0x120)';
+
+ SELECT mld_stdmelding_t_uitvoertijd
+ INTO v_uitvoertijd
+ FROM mld_stdmelding
+ WHERE mld_stdmelding_key = v_stdmelding_key;
+
+ -- nu gaan we de melding aanmaken
+ v_errorhint := 'Melding aanmaken ' || v_volgnr;
+ v_errormsg := 'Melding kan niet aangemaakt worden (0x150)';
+
+ INSERT INTO mld_melding (mld_melding_module,
+ mld_meldbron_key,
+ mld_melding_datum,
+ mld_melding_onderwerp,
+ mld_melding_omschrijving,
+ mld_melding_status,
+ mld_melding_t_uitvoertijd,
+ mld_stdmelding_key,
+ prs_perslid_key,
+ prs_perslid_key_voor,
+ prs_kostenplaats_key,
+ mld_melding_spoed,
+ mld_alg_locatie_key,
+ mld_alg_onroerendgoed_keys)
+ VALUES ('MLD',
+ 6, -- system
+ SYSDATE,
+ v_onderwerp,
+ v_omschrijving,
+ NULL,
+ v_uitvoertijd,
+ v_stdmelding_key,
+ v_sender,
+ v_sender,
+ NULL,
+ 3,
+ v_locatie_key,
+ NULL)
+ RETURNING mld_melding_key
+ INTO v_melding_key;
+
+ v_errormsg := '(0x180)';
+ mld.setmeldingstatus (v_melding_key, 2, v_sender);
+
+ INSERT INTO fac_result (fac_result_sessionid,
+ fac_result_naam,
+ fac_result_waarde)
+ VALUES (psessionid,
+ 'maillog',
+ 'Geregistreerd onder melding ' || v_melding_key);
+
+ v_errormsg := '(0x190)';
+ -- Indien het een melding is die start is van een workflow, dan moet ook de eerstvolgende stap(pen) aangemaakt worden.
+ mld.mld_nextworkflowstep (v_melding_key, -1);
+
+ -- nu gaan we mutatietype bepalen aanzetten
+ v_errorhint := 'Mutatietype bepalen ' || v_volgnr;
+ v_errormsg := 'Mutatietype kan niet bepaald worden (0x220)';
+
+ CASE
+-- WHEN UPPER (psubject) LIKE '%MELDING NIEUW%'
+-- THEN
+-- v_mutatie := NULL;
+ WHEN UPPER (psubject) LIKE '%MELDING UIT%'
+ THEN
+ v_mutatie := '3269';
+ WHEN UPPER (psubject) LIKE '%MELDING HER%'
+ THEN
+ v_mutatie := '3268';
+ ELSE
+ v_mutatie := '3281'; -- Dit is de verzamelbak 'Overig / nader te bepalen'.
+ END CASE;
+
+ INSERT INTO mld_kenmerkmelding (mld_melding_key,
+ mld_kenmerk_key,
+ mld_kenmerkmelding_waarde)
+ VALUES (v_melding_key, 1143, v_mutatie); --ACCEPT = 1161
+
+ IF v_melding_key = NULL
+ THEN
+ -- foutafhandeling
+ v_errorhint := 'Geen melding key ' || v_volgnr;
+ v_errormsg := 'Melding kan niet aangemaakt worden (0x910)';
+ fac.writelog ('MAIL_IDU',
+ 'E',
+ v_errormsg,
+ SUBSTR (pbody, 1, 1000));
+
+ INSERT INTO fac_result (fac_result_sessionid,
+ fac_result_naam,
+ fac_result_waarde)
+ VALUES (psessionid,
+ 'errormsg',
+ 'Fout bij verwerken mail IDU ' || psubject);
+ ELSE
+ -- nu gaan we de bijlagen toevoegen
+ v_errorhint := 'Bijlagen toevoegen ' || v_volgnr;
+ v_errormsg := 'Bijlagen toevoegen lukt niet (0x210)';
+
+ IF v_kkey IS NOT NULL
+ THEN
+ v_errormsg := '(0x230)';
+
+ INSERT INTO fac_result (fac_result_sessionid,
+ fac_result_naam,
+ fac_result_waarde)
+ VALUES (
+ psessionid,
+ 'kenmerkpath',
+ 'MLD\M'
+ || TO_CHAR (TRUNC (v_melding_key / 1000),
+ 'FM0000')
+ || '___\M'
+ || v_melding_key
+ || '\'
+ || v_kkey
+ || '\');
+ END IF;
+
+ -- originele email wordt opgeslagen bij de melding
+ INSERT INTO fac_result (fac_result_sessionid,
+ fac_result_naam,
+ fac_result_waarde)
+ VALUES (
+ psessionid,
+ 'kenmerkorgmailpath',
+ 'MLD\M'
+ || TO_CHAR (TRUNC (v_melding_key / 1000),
+ 'FM0000')
+ || '___\M'
+ || v_melding_key
+ || '\'
+ || v_mailorigin
+ || '\');
+ END IF;
+ 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.writelog ('MAIL_SUPPORTDESK',
+ 'E',
+ v_errormsg,
+ v_errorhint);
+
+ INSERT INTO fac_result (fac_result_sessionid,
+ fac_result_naam,
+ fac_result_waarde)
+ VALUES (psessionid,
+ 'errormsg',
+ 'Fout bij verwerken mail IDU: ' || psubject);
+ END;
+END;
+/
+
+CREATE OR REPLACE VIEW sutf_rap_cal_mldbehandelaar
+AS
+ SELECT m.mld_melding_behandelaar2_key
+ user_key,
+ m.mld_melding_key
+ || ' '
+ || COALESCE (m.mld_melding_onderwerp,
+ disc.ins_discipline_omschrijving || ' - ' || sm.mld_stdmelding_omschrijving)
+ title,
+ TRUNC (COALESCE (mld_melding_actiedatum, mld_melding_datum))
+ van,
+ TRUNC (mld_melding_einddatum)
+ tot,
+ m.mld_melding_key
+ item_key,
+ '#008000'
+ color,
+ '#FFFFFF'
+ textcolor,
+ '?u=melding'
+ || CHR (38)
+ || 'internal=1'
+ || CHR (38)
+ || 'k='
+ || m.mld_melding_key
+ url
+ FROM mld_melding m, prs_v_perslid_fullnames_all p, mld_stdmelding sm, ins_tab_discipline disc
+ WHERE m.mld_melding_behandelaar2_key = p.prs_perslid_key
+ AND m.mld_stdmelding_key = sm.mld_stdmelding_key
+ and sm.mld_ins_discipline_key = disc.ins_discipline_key
+ AND m.mld_melding_status IN (2,
+ 3,
+ 4,
+ 7);
+
+CREATE OR REPLACE VIEW sutf_v_gekoppelde_objecten
+AS
+ SELECT c.deel_key,
+ c.discipline,
+ c.soort,
+ c.groep,
+ c.soortcode,
+ c.omschrijving,
+ c.plaatseigenaar,
+ c.plaatseigenaartype,
+ c.plaatsaanduiding,
+ c.eigenaar,
+ c.eigenaar_key,
+ c.opmerking,
+ c.regio,
+ c.district,
+ c.locatie_code,
+ c.locatie_omschrijving,
+ c.locatie_plaats,
+ c.gebouwcode,
+ c.gebouw,
+ c.gebouwomschrijving,
+ c.terreinsectorcode,
+ c.terreinsector,
+ c.verdiepingcode,
+ c.ruimtenr,
+ c.werkplekvolgnr,
+ c.werkplek,
+ c.uitleenbaar,
+ c.uitgeleend,
+ c.res_opmerking,
+ c.beheerder,
+ c.vervaldatum,
+ c.actief,
+ c.aantal,
+ c.state,
+ c.statedate,
+ c.fclt_3d_discipline_key,
+ c.fclt_3d_afdeling_key,
+ c.fclt_3d_locatie_key,
+ p.discipline AS gekoppeld_aan_discipline,
+ p.soort AS gekoppeld_aan_soort,
+ p.groep AS gekoppeld_aan_groep,
+ p.soortcode AS gekoppeld_aan_soortcode,
+ p.omschrijving AS gekoppeld_aan_omschrijving,
+ p.eigenaar AS gekoppeld_aan_eigenaar,
+ p.opmerking AS gekoppeld_aan_opmerking
+ FROM ins_v_udr_deel c, ins_deelkoppeling k, ins_v_udr_deel p
+ WHERE c.deel_key = k.ins_deelkoppeling_van_key (+)
+ AND k.ins_deelkoppeling_naar_key = p.deel_key (+);
+
+CREATE OR REPLACE VIEW sutf_v_rap_rt_mi
+AS
+ ( SELECT locatie,
+ taaksoort,
+ discipline,
+ groep,
+ CASE
+ WHEN MIN (volgendedatum) > SYSDATE + 30 THEN 'Groen'
+ WHEN MIN (volgendedatum) > SYSDATE THEN 'Geel'
+ ELSE 'Rood'
+ END kleur
+ FROM ctr_v_monthly_recurring_tasks xx
+ WHERE succesvol <> 1
+ GROUP BY locatie,
+ taaksoort,
+ discipline,
+ groep);
+
+CREATE OR REPLACE VIEW SUTF.SUTF_V_INS_QRC
+(
+ HIDE_F_SORT,
+ FCLT_F_BOOKMARK,
+ FCLT_3D_DISCIPLINE_KEY,
+ FCLT_3D_LOCATIE_KEY,
+ FCLT_F_LOCATIE,
+ FCLT_F_GEBOUW,
+ PLAATS,
+ FCLT_F_OBJECTSOORT,
+ FCLT_F_IDENTIFICATIE,
+ INS_DEEL_KEY,
+ SOORTRUIMTE,
+ INS_SRTDEEL_CODE,
+ INS_SRTDEEL_KEY,
+ INS_ALG_RUIMTE_TYPE,
+ ALG_GEBOUW_CODE,
+ ALG_VERDIEPING_CODE,
+ ALG_DISTRICT_KEY,
+ INS_ALG_RUIMTE_KEY,
+ HIDE_F_BOOKMARK_ID
+)
+
+AS
+ SELECT i.ins_deel_omschrijving hide_f_sort,
+ b.fac_bookmark_naam fclt_f_bookmark,
+ i.ins_discipline_key fclt_3d_discipline_key,
+ l.alg_locatie_key fclt_3d_locatie_key,
+ l.alg_locatie_omschrijving fclt_f_locatie,
+ o.alg_gebouw_omschrijving fclt_f_gebouw,
+ o.alg_plaatsaanduiding plaats,
+ s.ins_srtdeel_omschrijving fclt_f_objectsoort,
+ i.ins_deel_omschrijving fclt_f_identificatie,
+ i.ins_deel_key,
+ (SELECT r.alg_ruimte_omschrijving
+ FROM alg_ruimte r
+ WHERE r.alg_ruimte_key = i.ins_alg_ruimte_key) soortruimte,
+ s.ins_srtdeel_code,
+ s.ins_srtdeel_key,
+ i.ins_alg_ruimte_type,
+ o.alg_gebouw_code,
+ o.alg_verdieping_code,
+ l.alg_district_key,
+ i.ins_alg_ruimte_key,
+ b.fac_bookmark_id hide_f_bookmark_id
+ FROM ins_deel i,
+ ins_v_alg_overzicht o,
+ ins_srtdeel s,
+ alg_locatie l,
+ alg_district di,
+ fac_bookmark b
+ WHERE b.fac_bookmark_path IN
+ ('appl/pda/ins_deel.asp', 'appl/ins/ins_deel.asp')
+ AND ins_deel_verwijder IS NULL
+ AND COALESCE (i.ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE
+ AND i.ins_deel_module = 'INS'
+ AND i.ins_deel_parent_key IS NULL
+ AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
+ AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
+ AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
+ AND o.alg_locatie_key = i.ins_alg_locatie_key
+ AND i.ins_alg_locatie_key = l.alg_locatie_key
+ AND l.alg_district_key = di.alg_district_key
+ AND s.ins_srtdeel_key = i.ins_srtdeel_key;
+------ 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
\ No newline at end of file
diff --git a/SUTF/sutf.sql b/SUTF/sutf.sql
index 6723c8558..146b9ffaa 100644
--- a/SUTF/sutf.sql
+++ b/SUTF/sutf.sql
@@ -1701,6 +1701,71 @@ AS
groep,
soort);
+CREATE OR REPLACE VIEW SUTF_V_INS_QRC
+(
+ HIDE_F_SORT,
+ FCLT_F_BOOKMARK,
+ FCLT_3D_DISCIPLINE_KEY,
+ FCLT_3D_LOCATIE_KEY,
+ FCLT_F_LOCATIE,
+ FCLT_F_GEBOUW,
+ PLAATS,
+ FCLT_F_OBJECTSOORT,
+ FCLT_F_IDENTIFICATIE,
+ INS_DEEL_KEY,
+ SOORTRUIMTE,
+ INS_SRTDEEL_CODE,
+ INS_SRTDEEL_KEY,
+ INS_ALG_RUIMTE_TYPE,
+ ALG_GEBOUW_CODE,
+ ALG_VERDIEPING_CODE,
+ ALG_DISTRICT_KEY,
+ INS_ALG_RUIMTE_KEY,
+ HIDE_F_BOOKMARK_ID
+)
+
+AS
+ SELECT i.ins_deel_omschrijving hide_f_sort,
+ b.fac_bookmark_naam fclt_f_bookmark,
+ i.ins_discipline_key fclt_3d_discipline_key,
+ l.alg_locatie_key fclt_3d_locatie_key,
+ l.alg_locatie_omschrijving fclt_f_locatie,
+ o.alg_gebouw_omschrijving fclt_f_gebouw,
+ o.alg_plaatsaanduiding plaats,
+ s.ins_srtdeel_omschrijving fclt_f_objectsoort,
+ i.ins_deel_omschrijving fclt_f_identificatie,
+ i.ins_deel_key,
+ (SELECT r.alg_ruimte_omschrijving
+ FROM alg_ruimte r
+ WHERE r.alg_ruimte_key = i.ins_alg_ruimte_key) soortruimte,
+ s.ins_srtdeel_code,
+ s.ins_srtdeel_key,
+ i.ins_alg_ruimte_type,
+ o.alg_gebouw_code,
+ o.alg_verdieping_code,
+ l.alg_district_key,
+ i.ins_alg_ruimte_key,
+ b.fac_bookmark_id hide_f_bookmark_id
+ FROM ins_deel i,
+ ins_v_alg_overzicht o,
+ ins_srtdeel s,
+ alg_locatie l,
+ alg_district di,
+ fac_bookmark b
+ WHERE b.fac_bookmark_path IN
+ ('appl/pda/ins_deel.asp', 'appl/ins/ins_deel.asp')
+ AND ins_deel_verwijder IS NULL
+ AND COALESCE (i.ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE
+ AND i.ins_deel_module = 'INS'
+ AND i.ins_deel_parent_key IS NULL
+ AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
+ AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
+ AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
+ AND o.alg_locatie_key = i.ins_alg_locatie_key
+ AND i.ins_alg_locatie_key = l.alg_locatie_key
+ AND l.alg_district_key = di.alg_district_key
+ AND s.ins_srtdeel_key = i.ins_srtdeel_key;
+
------ payload end ------
SET DEFINE OFF