Eerst maar de grens opgehoogd, zodat de nieuwe accounts morgen wel zijn ingelezen. svn path=/Customer/trunk/; revision=70319
1810 lines
70 KiB
SQL
1810 lines
70 KiB
SQL
-- 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) := 50;
|
|
v_count_prs_actual NUMBER (10);
|
|
v_count_prs_import NUMBER (10); -- Matching actual persons!
|
|
|
|
CURSOR cdelprs
|
|
IS
|
|
SELECT p.prs_perslid_key, p.prs_perslid_nr, p.prs_perslid_naam,
|
|
p.prs_perslid_voornaam
|
|
FROM prs_v_aanwezigperslid p
|
|
WHERE p.prs_perslid_nr IS NOT NULL
|
|
AND NOT EXISTS (
|
|
SELECT 1
|
|
FROM fac_imp_perslid ip
|
|
WHERE ip.prs_perslid_nr = p.prs_perslid_nr);
|
|
|
|
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
|
|
|
|
-- Accounts met personeelsnummer die niet meer in het importbestand staan kunnen worden geinactiveerd
|
|
v_errorhint := 'Inactiveren personen';
|
|
FOR rec IN cdelprs
|
|
LOOP
|
|
v_errorhint :=
|
|
'[Inactiveren account '
|
|
|| TO_CHAR (rec.prs_perslid_key)
|
|
|| '|'
|
|
|| rec.prs_perslid_nr
|
|
|| '] ';
|
|
|
|
UPDATE prs_perslid
|
|
SET prs_perslid_inactief = SYSDATE
|
|
WHERE prs_perslid_key = rec.prs_perslid_key;
|
|
END LOOP;
|
|
|
|
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)
|
|
|| '%] <br> '
|
|
|| '- #personen importbestand = ['
|
|
|| TO_CHAR (v_count_prs_import)
|
|
|| '] <br> '
|
|
|| '- #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>','<fin_factuurregel>')
|
|
|| '<fin_factuur_key>' || fin_factuur_key || '</fin_factuur_key>'
|
|
|| '<fin_factuur_nr>' || xml.char_to_html(fin_factuur_nr) || '</fin_factuur_nr>'
|
|
|| '<fin_factuur_bestand>' || xml.char_to_html(fin_factuur_bestand) || '</fin_factuur_bestand>'
|
|
|| '<fin_factuur_debiteur_nr>' || xml.char_to_html(fin_factuur_debiteur_nr) || '</fin_factuur_debiteur_nr>'
|
|
|| '<bes_mld_cnt_opdracht_id>' || xml.char_to_html(bes_mld_cnt_opdracht_id) || '</bes_mld_cnt_opdracht_id>'
|
|
|| '<fin_factuur_datum>' || datum || '</fin_factuur_datum>'
|
|
|| '<fin_factuur_boekmaand>' || fin_factuur_boekmaand || '</fin_factuur_boekmaand>'
|
|
|| '<prs_kostensoort_refcode>' || xml.char_to_html(grootboekrekening) || '</prs_kostensoort_refcode>'
|
|
|| '<prs_betaal_referentie>' || xml.char_to_html(betaalreferentie) || '</prs_betaal_referentie>'
|
|
|| '<prs_leverancier_nr>' || xml.char_to_html(crediteur_nr) || '</prs_leverancier_nr>'
|
|
|| '<prs_bedrijf_naam>' || xml.char_to_html(crediteur_naam) || '</prs_bedrijf_naam>'
|
|
|| '<fin_factuur_totaal_exbtw>' || fin_factuur_totaal_exbtw || '</fin_factuur_totaal_exbtw>'
|
|
|| '<fin_factuur_totaal_incbtw>' || fin_factuur_totaal_incbtw || '</fin_factuur_totaal_incbtw>'
|
|
|| '<fin_factuurregel_omschrijving>' || xml.char_to_html(fin_factuurregel_omschrijving) || '</fin_factuurregel_omschrijving>'
|
|
|| '<fin_factuurregel_totaal>' || fin_factuurregel_totaal || '</fin_factuurregel_totaal>'
|
|
|| '<fin_factuurregel_btw_perc>' || btw_percentage || '</fin_factuurregel_btw_perc>'
|
|
|| '<fin_factuurregel_btw_perc_code>' || xml.char_to_html(btw_code) || '</fin_factuurregel_btw_perc_code>'
|
|
|| '<fin_factuurregel_btw_bedrag>' || btw_bedrag || '</fin_factuurregel_btw_bedrag>'
|
|
|| '<prs_kostenplaats_nr>' || xml.char_to_html(prs_kostenplaats_nr) || '</prs_kostenplaats_nr>'
|
|
|| DECODE(regelnummer, 0, '', DECODE(aant_factuur_regels - regelnummer,0,'</fin_factuurregel></fin_factuur>','</fin_factuurregel>'))
|
|
,
|
|
(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 '<xml>',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 '</xml>',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), '<ret>'), 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,
|
|
soort,
|
|
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,
|
|
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,
|
|
OBJECT_OPMERKING,
|
|
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_opmerking,
|
|
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
|
|
AND UPPER(b.fac_bookmark_naam )= 'QRC OBJECTGEGEVENS';
|
|
|
|
------ 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 |