VEBE#35792: wagenparkbeheer
svn path=/Customer/trunk/; revision=28688
This commit is contained in:
849
VEBE/vebe.sql
849
VEBE/vebe.sql
@@ -196,6 +196,855 @@ BEGIN
|
||||
END vebe_update_perslid;
|
||||
/
|
||||
|
||||
-- View met 1 record voor de combinatie de leasecontractgegevens (ins_discipline_key = 21), de gebruiksovereenkomstgegevens (ins_discipline_key = 22) en de auto-gegevens.
|
||||
|
||||
CREATE OR REPLACE VIEW vebe_cnt_lease_en_gebruiks_ovk
|
||||
AS
|
||||
SELECT c1.cnt_contract_key extra_key,
|
||||
c1.cnt_contract_key cnt_lease_key,
|
||||
b.prs_bedrijf_key,
|
||||
c2.cnt_contract_key cnt_gebruik_key,
|
||||
p2.prs_perslid_key prs_berijder_key,
|
||||
d.ins_deel_key,
|
||||
c1.prs_perslid_key_eig prs_lease_perslid_key_eig,
|
||||
c1.cnt_contract_nummer_intern cnt_lease_nummer_intern,
|
||||
c1.cnt_contract_versie cnt_lease_versie,
|
||||
c1.cnt_contract_omschrijving cnt_lease_omschr,
|
||||
c1.cnt_contract_looptijd_van cnt_lease_looptijd_van,
|
||||
c1.cnt_contract_looptijd_tot cnt_lease_looptijd_tot,
|
||||
12*(to_char(c1.cnt_contract_looptijd_tot,'YYYY') - to_char(c1.cnt_contract_looptijd_van,'YYYY') - 1) + (12 - to_char(c1.cnt_contract_looptijd_van,'MM')) + (to_char(c1.cnt_contract_looptijd_tot,'MM')) cnt_lease_looptijd_mnd,
|
||||
ROUND(100 * LEAST(1,(SYSDATE - LEAST(c1.cnt_contract_looptijd_van, SYSDATE)) / (GREATEST(c1.cnt_contract_looptijd_tot - c1.cnt_contract_looptijd_van, 1)))) perc_lease_duur,
|
||||
ROUND((c1.cnt_contract_looptijd_tot - GREATEST(c1.cnt_contract_looptijd_van, LEAST(SYSDATE, c1.cnt_contract_looptijd_tot)))/7) lease_weken_tegaan,
|
||||
cnt.cnt_getrappeldatum (c1.cnt_contract_key) cnt_lease_rappeldatum,
|
||||
cnt.cnt_getopzegdatum (c1.cnt_contract_key) cnt_lease_opzegdatum,
|
||||
(SELECT lcl.x ('cnt_termijn_omschrijving', cnt_termijn_key, cnt_termijn_omschrijving)
|
||||
FROM cnt_termijn
|
||||
WHERE cnt_termijn_key = c1.cnt_contract_opzegtermijn)
|
||||
cnt_lease_opzegtermijn,
|
||||
(SELECT lcl.x ('cnt_termijn_omschrijving', cnt_termijn_key, cnt_termijn_omschrijving)
|
||||
FROM cnt_termijn
|
||||
WHERE cnt_termijn_key = c1.cnt_contract_rappeltermijn)
|
||||
cnt_lease_rappeltermijn,
|
||||
c1.cnt_contract_status cnt_lease_status,
|
||||
DECODE (cnt.cnt_contract_status (c1.cnt_contract_looptijd_van,
|
||||
cnt.cnt_getrappeldatum (c1.cnt_contract_key),
|
||||
cnt.cnt_getopzegdatum (c1.cnt_contract_key),
|
||||
c1.cnt_contract_looptijd_tot),
|
||||
0, lcl.l ('lcl_cnt_future'),
|
||||
1, lcl.l ('lcl_cnt_topical'),
|
||||
2, lcl.l ('lcl_cnt_warn'),
|
||||
3, lcl.l ('lcl_cnt_cancel'),
|
||||
4, lcl.l ('lcl_cnt_past'))
|
||||
lease_fase_actief,
|
||||
DECODE (
|
||||
c1.cnt_contract_status,
|
||||
0,
|
||||
DECODE (fac.getsetting ('cnt_contract_approval'),
|
||||
1, lcl.l ('lcl_cnt_active_approval'),
|
||||
lcl.l ('lcl_cnt_active')),
|
||||
1,
|
||||
lcl.l ('lcl_cnt_inactive'),
|
||||
2,
|
||||
lcl.l ('lcl_cnt_new'),
|
||||
3,
|
||||
lcl.l ('lcl_cnt_forapproval'))
|
||||
cnt_lease_status_txt,
|
||||
c1.cnt_contract_kosten cnt_lease_kosten,
|
||||
c1.cnt_contract_termijnkosten cnt_lease_termijnkosten,
|
||||
COALESCE (c1.ins_discipline_key, -1) lease_disc_key,
|
||||
c1.prs_afdeling_key_eig lease_eigenaar_key,
|
||||
(SELECT prs_afdeling_naam FROM prs_v_afdeling WHERE prs_afdeling_key = c1.prs_afdeling_key_eig) lease_eigenaar_afdeling_naam,
|
||||
b.prs_bedrijf_naam,
|
||||
c2.prs_perslid_key_eig prs_gebr_perslid_key_eig,
|
||||
c2.cnt_contract_nummer_intern cnt_gebruik_nummer_intern,
|
||||
c2.cnt_contract_versie cnt_gebruik_versie,
|
||||
c2.cnt_contract_omschrijving cnt_gebruik_omschr,
|
||||
c2.cnt_contract_looptijd_van cnt_gebruik_looptijd_van,
|
||||
c2.cnt_contract_looptijd_tot cnt_gebruik_looptijd_tot,
|
||||
ROUND(100 * LEAST(1,(SYSDATE - LEAST(c2.cnt_contract_looptijd_van, SYSDATE)) / (GREATEST(c2.cnt_contract_looptijd_tot - c2.cnt_contract_looptijd_van, 1)))) perc_gebruik_duur,
|
||||
ROUND((c2.cnt_contract_looptijd_tot - GREATEST(c2.cnt_contract_looptijd_van, LEAST(SYSDATE, c2.cnt_contract_looptijd_tot)))/7) gebruik_weken_tegaan,
|
||||
cnt.cnt_getrappeldatum (c2.cnt_contract_key) cnt_gebruik_rappeldatum,
|
||||
cnt.cnt_getopzegdatum (c2.cnt_contract_key) cnt_gebruik_opzegdatum,
|
||||
(SELECT lcl.x ('cnt_termijn_omschrijving', cnt_termijn_key, cnt_termijn_omschrijving)
|
||||
FROM cnt_termijn
|
||||
WHERE cnt_termijn_key = c2.cnt_contract_opzegtermijn)
|
||||
cnt_gebruik_opzegtermijn,
|
||||
(SELECT lcl.x ('cnt_termijn_omschrijving', cnt_termijn_key, cnt_termijn_omschrijving)
|
||||
FROM cnt_termijn
|
||||
WHERE cnt_termijn_key = c2.cnt_contract_rappeltermijn)
|
||||
cnt_gebruik_rappeltermijn,
|
||||
c2.cnt_contract_status cnt_gebruik_status,
|
||||
DECODE (cnt.cnt_contract_status (c2.cnt_contract_looptijd_van,
|
||||
cnt.cnt_getrappeldatum (c2.cnt_contract_key),
|
||||
cnt.cnt_getopzegdatum (c2.cnt_contract_key),
|
||||
c2.cnt_contract_looptijd_tot),
|
||||
0, lcl.l ('lcl_cnt_future'),
|
||||
1, lcl.l ('lcl_cnt_topical'),
|
||||
2, lcl.l ('lcl_cnt_warn'),
|
||||
3, lcl.l ('lcl_cnt_cancel'),
|
||||
4, lcl.l ('lcl_cnt_past'))
|
||||
gebruik_fase_actief,
|
||||
DECODE (
|
||||
c2.cnt_contract_status,
|
||||
0,
|
||||
DECODE (fac.getsetting ('cnt_contract_approval'),
|
||||
1, lcl.l ('lcl_cnt_active_approval'),
|
||||
lcl.l ('lcl_cnt_active')),
|
||||
1,
|
||||
lcl.l ('lcl_cnt_inactive'),
|
||||
2,
|
||||
lcl.l ('lcl_cnt_new'),
|
||||
3,
|
||||
lcl.l ('lcl_cnt_forapproval'))
|
||||
cnt_gebruik_status_txt,
|
||||
COALESCE (c2.ins_discipline_key, -1) gebruik_disc_key,
|
||||
c2.prs_afdeling_key_eig gebruik_eigenaar_key,
|
||||
(SELECT prs_afdeling_naam FROM prs_v_afdeling WHERE prs_afdeling_key = c2.prs_afdeling_key_eig) gebruik_eigenaar_afdeling_naam,
|
||||
p1.prs_perslid_naam_full prs_eigenaar_naam_full,
|
||||
p1.prs_perslid_naam_friendly prs_eigenaar_naam_friendly,
|
||||
p2.prs_perslid_naam_full prs_berijder_naam_full,
|
||||
p2.prs_perslid_naam_friendly prs_berijder_naam_friendly,
|
||||
d.ins_deel_omschrijving,
|
||||
d.ins_deel_opmerking
|
||||
FROM cnt_v_aanwezigcontract c1, prs_v_perslid_fullnames_all p1, prs_bedrijf b, cnt_contract_object co1,
|
||||
cnt_v_aanwezigcontract c2, prs_v_perslid_fullnames_all p2, cnt_contract_object co2 ,ins_deel d
|
||||
WHERE b.prs_bedrijf_key = c1.cnt_prs_bedrijf_key
|
||||
AND c1.ins_discipline_key = 21
|
||||
AND co1.cnt_contract_key = c1.cnt_contract_key
|
||||
AND co1.cnt_ins_deel_key = co2.cnt_ins_deel_key
|
||||
AND co2.cnt_contract_key = c2.cnt_contract_key
|
||||
AND c2.ins_discipline_key = 22
|
||||
AND COALESCE(c2.cnt_contract_versie, '0') = (select COALESCE(max (cnt_contract_versie),'0') from cnt_contract c3 where c3.cnt_contract_nummer_intern = c2.cnt_contract_nummer_intern)
|
||||
AND c1.prs_perslid_key_eig = p1.prs_perslid_key (+)
|
||||
AND c2.cnt_prs_perslid_key = p2.prs_perslid_key (+)
|
||||
AND d.ins_deel_key = co1.cnt_ins_deel_key;
|
||||
|
||||
|
||||
-- Basis UDR rapport...
|
||||
CREATE OR REPLACE VIEW vebe_rap_wagenpark
|
||||
(EXTRA_KEY,
|
||||
CNT_LEASE_KEY,
|
||||
PRS_BEDRIJF_KEY,
|
||||
CNT_GEBRUIK_KEY,
|
||||
PRS_BERIJDER_KEY,
|
||||
INS_DEEL_KEY,
|
||||
PRS_LEASE_PERSLID_KEY_EIG,
|
||||
CNT_LEASE_NUMMER_INTERN,
|
||||
CNT_LEASE_VERSIE,
|
||||
CNT_LEASE_OMSCHR,
|
||||
CNT_LEASE_LOOPTIJD_VAN,
|
||||
CNT_LEASE_LOOPTIJD_TOT,
|
||||
CNT_LEASE_LOOPTIJD_MND,
|
||||
PERC_LEASE_DUUR,
|
||||
LEASE_WEKEN_TEGAAN,
|
||||
CNT_LEASE_RAPPELDATUM,
|
||||
CNT_LEASE_OPZEGDATUM,
|
||||
CNT_LEASE_OPZEGTERMIJN,
|
||||
CNT_LEASE_RAPPELTERMIJN,
|
||||
CNT_LEASE_STATUS,
|
||||
LEASE_FASE_ACTIEF,
|
||||
CNT_LEASE_STATUS_TXT,
|
||||
CNT_LEASE_KOSTEN,
|
||||
CNT_LEASE_TERMIJNKOSTEN,
|
||||
LEASE_DISC_KEY,
|
||||
LEASE_EIGENAAR_KEY,
|
||||
LEASE_EIGENAAR_AFDELING_NAAM,
|
||||
PRS_BEDRIJF_NAAM,
|
||||
PRS_GEBR_PERSLID_KEY_EIG,
|
||||
CNT_GEBRUIK_NUMMER_INTERN,
|
||||
CNT_GEBRUIK_VERSIE,
|
||||
CNT_GEBRUIK_OMSCHR,
|
||||
CNT_GEBRUIK_LOOPTIJD_VAN,
|
||||
CNT_GEBRUIK_LOOPTIJD_TOT,
|
||||
PERC_GEBRUIK_DUUR,
|
||||
GEBRUIK_WEKEN_TEGAAN,
|
||||
CNT_GEBRUIK_RAPPELDATUM,
|
||||
CNT_GEBRUIK_OPZEGDATUM,
|
||||
CNT_GEBRUIK_OPZEGTERMIJN,
|
||||
CNT_GEBRUIK_RAPPELTERMIJN,
|
||||
CNT_GEBRUIK_STATUS,
|
||||
GEBRUIK_FASE_ACTIEF,
|
||||
CNT_GEBRUIK_STATUS_TXT,
|
||||
GEBRUIK_DISC_KEY,
|
||||
GEBRUIK_EIGENAAR_KEY,
|
||||
GEBRUIK_EIGENAAR_AFDELING_NAAM,
|
||||
PRS_EIGENAAR_NAAM_FULL,
|
||||
PRS_EIGENAAR_NAAM_FRIENDLY,
|
||||
PRS_BERIJDER_NAAM_FULL,
|
||||
PRS_BERIJDER_NAAM_FRIENDLY,
|
||||
INS_DEEL_OMSCHRIJVING,
|
||||
INS_DEEL_OPMERKING,
|
||||
INS_DEEL_BELETTERING,
|
||||
INS_DEEL_BRANDSTOF,
|
||||
INS_DEEL_LEASECATEGORIE,
|
||||
INS_DEEL_PERC_BIJTELLING,
|
||||
INS_DEEL_MERK,
|
||||
INS_DEEL_TYPE,
|
||||
INS_DEEL_FISCALE_WAARDE,
|
||||
INS_DEEL_KLEUR,
|
||||
CNT_LEASE_JAARKILOMETRAGE,
|
||||
CNT_GEBRUIK_VERKLARING,
|
||||
PRS_BERIJDER_INDIRECT)
|
||||
AS
|
||||
SELECT
|
||||
EXTRA_KEY,
|
||||
CNT_LEASE_KEY,
|
||||
PRS_BEDRIJF_KEY,
|
||||
CNT_GEBRUIK_KEY,
|
||||
PRS_BERIJDER_KEY,
|
||||
INS_DEEL_KEY,
|
||||
PRS_LEASE_PERSLID_KEY_EIG,
|
||||
CNT_LEASE_NUMMER_INTERN,
|
||||
CNT_LEASE_VERSIE,
|
||||
CNT_LEASE_OMSCHR,
|
||||
CNT_LEASE_LOOPTIJD_VAN,
|
||||
CNT_LEASE_LOOPTIJD_TOT,
|
||||
CNT_LEASE_LOOPTIJD_MND,
|
||||
PERC_LEASE_DUUR,
|
||||
LEASE_WEKEN_TEGAAN,
|
||||
CNT_LEASE_RAPPELDATUM,
|
||||
CNT_LEASE_OPZEGDATUM,
|
||||
CNT_LEASE_OPZEGTERMIJN,
|
||||
CNT_LEASE_RAPPELTERMIJN,
|
||||
CNT_LEASE_STATUS,
|
||||
LEASE_FASE_ACTIEF,
|
||||
CNT_LEASE_STATUS_TXT,
|
||||
CNT_LEASE_KOSTEN,
|
||||
CNT_LEASE_TERMIJNKOSTEN,
|
||||
LEASE_DISC_KEY,
|
||||
LEASE_EIGENAAR_KEY,
|
||||
LEASE_EIGENAAR_AFDELING_NAAM,
|
||||
PRS_BEDRIJF_NAAM,
|
||||
PRS_GEBR_PERSLID_KEY_EIG,
|
||||
CNT_GEBRUIK_NUMMER_INTERN,
|
||||
CNT_GEBRUIK_VERSIE,
|
||||
CNT_GEBRUIK_OMSCHR,
|
||||
CNT_GEBRUIK_LOOPTIJD_VAN,
|
||||
CNT_GEBRUIK_LOOPTIJD_TOT,
|
||||
PERC_GEBRUIK_DUUR,
|
||||
GEBRUIK_WEKEN_TEGAAN,
|
||||
CNT_GEBRUIK_RAPPELDATUM,
|
||||
CNT_GEBRUIK_OPZEGDATUM,
|
||||
CNT_GEBRUIK_OPZEGTERMIJN,
|
||||
CNT_GEBRUIK_RAPPELTERMIJN,
|
||||
CNT_GEBRUIK_STATUS,
|
||||
GEBRUIK_FASE_ACTIEF,
|
||||
CNT_GEBRUIK_STATUS_TXT,
|
||||
GEBRUIK_DISC_KEY,
|
||||
GEBRUIK_EIGENAAR_KEY,
|
||||
GEBRUIK_EIGENAAR_AFDELING_NAAM,
|
||||
PRS_EIGENAAR_NAAM_FULL,
|
||||
PRS_EIGENAAR_NAAM_FRIENDLY,
|
||||
PRS_BERIJDER_NAAM_FULL,
|
||||
PRS_BERIJDER_NAAM_FRIENDLY,
|
||||
INS_DEEL_OMSCHRIJVING,
|
||||
INS_DEEL_OPMERKING,
|
||||
(SELECT ud.fac_usrdata_code FROM fac_usrdata ud
|
||||
WHERE ud.fac_usrdata_key = (SELECT fac.safe_to_number(ins_kenmerkdeel_waarde) FROM ins_kenmerkdeel kd
|
||||
WHERE kd.ins_deel_key = lg.ins_deel_key AND kd.ins_kenmerk_key = 1 AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||||
AND ud.fac_usrtab_key = 1) belettering,
|
||||
(SELECT ud.fac_usrdata_code FROM fac_usrdata ud
|
||||
WHERE ud.fac_usrdata_key = (SELECT fac.safe_to_number(ins_kenmerkdeel_waarde) FROM ins_kenmerkdeel kd
|
||||
WHERE kd.ins_deel_key = lg.ins_deel_key AND kd.ins_kenmerk_key = 3 AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||||
AND ud.fac_usrtab_key = 24) brandstof,
|
||||
(SELECT ud.fac_usrdata_code FROM fac_usrdata ud
|
||||
WHERE ud.fac_usrdata_key = (SELECT fac.safe_to_number(ins_kenmerkdeel_waarde) FROM ins_kenmerkdeel kd
|
||||
WHERE kd.ins_deel_key = lg.ins_deel_key AND kd.ins_kenmerk_key = 6 AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||||
AND ud.fac_usrtab_key = 21) leasecategorie,
|
||||
(SELECT ud.fac_usrdata_code FROM fac_usrdata ud
|
||||
WHERE ud.fac_usrdata_key = (SELECT fac.safe_to_number(ins_kenmerkdeel_waarde) FROM ins_kenmerkdeel kd
|
||||
WHERE kd.ins_deel_key = lg.ins_deel_key AND kd.ins_kenmerk_key = 2 AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||||
AND ud.fac_usrtab_key = 22) perc_bijtelling,
|
||||
(SELECT ud.fac_usrdata_code FROM fac_usrdata ud
|
||||
WHERE ud.fac_usrdata_key = (SELECT fac.safe_to_number(ins_kenmerkdeel_waarde) FROM ins_kenmerkdeel kd
|
||||
WHERE kd.ins_deel_key = lg.ins_deel_key AND kd.ins_kenmerk_key = 7 AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||||
AND ud.fac_usrtab_key = 23) merk,
|
||||
(SELECT ud.fac_usrdata_code FROM fac_usrdata ud
|
||||
WHERE ud.fac_usrdata_key = (SELECT fac.safe_to_number(ins_kenmerkdeel_waarde) FROM ins_kenmerkdeel kd
|
||||
WHERE kd.ins_deel_key = lg.ins_deel_key AND kd.ins_kenmerk_key = 8 AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||||
AND ud.fac_usrtab_key = 26) ins_deel_type,
|
||||
(SELECT fac.safe_to_number(ins_kenmerkdeel_waarde) FROM ins_kenmerkdeel kd
|
||||
WHERE kd.ins_deel_key = lg.ins_deel_key AND kd.ins_kenmerk_key = 4 AND kd.ins_kenmerkdeel_verwijder IS NULL) fiscale_waarde,
|
||||
(SELECT ins_kenmerkdeel_waarde FROM ins_kenmerkdeel kd
|
||||
WHERE kd.ins_deel_key = lg.ins_deel_key AND kd.ins_kenmerk_key = 5 AND kd.ins_kenmerkdeel_verwijder IS NULL) kleur,
|
||||
(SELECT ud.fac_usrdata_code FROM fac_usrdata ud
|
||||
WHERE ud.fac_usrdata_key = (SELECT fac.safe_to_number(cnt_kenmerkcontract_waarde) FROM cnt_kenmerkcontract kc
|
||||
WHERE kc.cnt_contract_key = lg.cnt_lease_key AND kc.cnt_kenmerk_key = 21 AND kc.cnt_kenmerkcontract_verwijder IS NULL)
|
||||
AND ud.fac_usrtab_key = 25) jaarkilometrage,
|
||||
(SELECT ud.fac_usrdata_code FROM fac_usrdata ud
|
||||
WHERE ud.fac_usrdata_key = (SELECT fac.safe_to_number(cnt_kenmerkcontract_waarde) FROM cnt_kenmerkcontract kc
|
||||
WHERE kc.cnt_contract_key = lg.cnt_gebruik_key AND kc.cnt_kenmerk_key = 41 AND kc.cnt_kenmerkcontract_verwijder IS NULL)
|
||||
AND ud.fac_usrtab_key = 1) verklaring,
|
||||
(SELECT DECODE(fac.safe_to_number(prs_kenmerklink_waarde),0,'Direct','Indirect')
|
||||
FROM prs_kenmerklink kl
|
||||
WHERE kl.prs_link_key = lg.prs_berijder_key
|
||||
AND kl.prs_kenmerk_key = 1000 AND kl.prs_kenmerklink_verwijder IS NULL AND kl.prs_kenmerklink_niveau = 'P') in_direct
|
||||
FROM vebe_cnt_lease_en_gebruiks_ovk lg;
|
||||
|
||||
-- LEASECONTRACT NOTIFICATIES naar contractbeheerder, contracteigenaren, (nog) niet naar berijders.
|
||||
-- Elke dag de bij aflopende leaseonctracten notificaties de deur 'uitgooien', die NIET met de standaard noti-jobs gaan (omdat de export nog iets extra's doet, insert of zo).
|
||||
|
||||
-- 1. LEASEcontracten (soortcontract met disckey 21) die in rappel staat, en waarvan nog niet eerder een noti naar contracteigenaar is uitgegaan
|
||||
-- 2. Afgemelde GUNNINGSOpdracht (type opdracht met mld_typeopdr_key = 5) een noti met 2 links naar de melder (= AP/aanspreekpunt) van de bijbehorende melding zodat deze 2 acties kan uitvoeren:
|
||||
-- a) LINK 1: naar opdracht zodat de bijlage bij de opdracht kan downloaden/openen, printen en laten ondertekenen
|
||||
-- b) LINK 2: Nieuwe melding 'Stuur getekende leaseovk' zodat de getekende leaseovk kan worden geupload.
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vebe_export_noti_wagenpark (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2
|
||||
)
|
||||
IS
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
v_errorhint2 VARCHAR2 (1000);
|
||||
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);
|
||||
|
||||
v_fac_usrrap_key NUMBER(10);
|
||||
|
||||
-- Leasecontracten (met disckey 21) die in rappel staat, en waarvan nog niet eerder een noti naar contracteigenaar is uitgegaan
|
||||
CURSOR c_noti_leasecontract_1st_time
|
||||
IS
|
||||
SELECT c.prs_lease_perslid_key_eig,
|
||||
c.prs_eigenaar_naam_friendly,
|
||||
'Rapp<EFBFBD>l: Leaseovereenkomst ' || c.cnt_lease_nummer_intern
|
||||
|| DECODE (c.cnt_lease_versie,
|
||||
NULL, '',
|
||||
'.' || c.cnt_lease_versie)
|
||||
|| ' ('
|
||||
|| c.cnt_lease_omschr
|
||||
|| ' '
|
||||
|| c.prs_bedrijf_naam
|
||||
|| ')'
|
||||
|| ' loopt af op '
|
||||
|| TO_CHAR (c.cnt_lease_looptijd_tot, 'DD-MM-YYYY')
|
||||
|| '.' mail_subject,
|
||||
c.cnt_lease_key,
|
||||
c.cnt_lease_nummer_intern,
|
||||
c.cnt_lease_versie
|
||||
FROM vebe_cnt_lease_en_gebruiks_ovk c
|
||||
WHERE cnt_lease_status = 0
|
||||
AND (SYSDATE BETWEEN c.cnt_lease_rappeldatum
|
||||
AND c.cnt_lease_opzegdatum)
|
||||
AND c.cnt_lease_looptijd_tot >= to_date('01-10-2016','dd-mm-yyyy')
|
||||
AND NOT EXISTS
|
||||
(SELECT 'x'
|
||||
FROM fac_tracking t, fac_srtnotificatie sn
|
||||
WHERE c.cnt_lease_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_code = 'CUST02');
|
||||
|
||||
|
||||
CURSOR c_noti_krabbel_leaseovk
|
||||
IS
|
||||
SELECT m.prs_perslid_key prs_perslid_key_aanspreekpunt, p1.prs_perslid_naam_friendly prs_perslid_naam_aanspreekpunt, 'Verzoek ondertekenen van leaseovereenkomst voor ' || p2.prs_perslid_naam_friendly mail_subject, o.mld_opdr_key
|
||||
FROM mld_opdr o, fac_tracking t, fac_srtnotificatie sn, mld_melding m, prs_v_perslid_fullnames_all p1, prs_v_perslid_fullnames_all p2
|
||||
WHERE o.mld_typeopdr_key = 5
|
||||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||||
AND m.mld_melding_key = o.mld_melding_key
|
||||
AND p1.prs_perslid_key = m.prs_perslid_key
|
||||
AND p2.prs_perslid_key = m.prs_perslid_key_voor
|
||||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
|
||||
AND o.mld_statusopdr_key = 6
|
||||
AND sn.fac_srtnotificatie_key = (select fac_srtnotificatie_key from fac_srtnotificatie where fac_srtnotificatie_code = 'ORDAFM')
|
||||
AND NOT EXISTS
|
||||
(SELECT 'x'
|
||||
FROM fac_tracking t, fac_srtnotificatie sn
|
||||
WHERE o.mld_opdr_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_code = 'CUST03');
|
||||
|
||||
|
||||
BEGIN
|
||||
|
||||
-- Userrapportage key 81 waar de view vebe_cnt_lease_en_gebruiks_ovk met alle leasecontract info staat.
|
||||
v_fac_usrrap_key := 81;
|
||||
|
||||
|
||||
-- Alle leasecontracten in rappel die niet al eerder naar eigenaar zijn genotificeerd, dus alleen 1x, notificeren.
|
||||
FOR rc IN c_noti_leasecontract_1st_time
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
v_errorhint := rc.mail_subject;
|
||||
v_errormsg := '';
|
||||
-- Mailen van eenmalige notificatie naar de eigenaar/aanspreekpunt via CUST01 (rapport-node).
|
||||
-- fac.putnotificationsrtprio ( NULL, rc.prs_lease_perslid_key_eig, 'CUST01', v_fac_usrrap_key, rc.mail_subject, NULL, NULL, NULL, rc.cnt_lease_key, 2, NULL);
|
||||
fac.putnotificationsrtprio ( NULL, rc.prs_lease_perslid_key_eig, 'CUST01', v_fac_usrrap_key, rc.mail_subject, NULL, NULL, NULL, rc.cnt_lease_key, 2, NULL);
|
||||
v_tracking := 'Rappel mail naar aanspreekpunt ' || rc.prs_eigenaar_naam_friendly || ': Leaseovereenkomst ' || rc.cnt_lease_nummer_intern || ' loopt af';
|
||||
-- En we tracken via CUST02 (contract-node)
|
||||
fac.trackaction ('CUST02', rc.cnt_lease_key, NULL, NULL, v_tracking);
|
||||
COMMIT;
|
||||
|
||||
|
||||
|
||||
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 || ')';
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
FOR rc IN c_noti_krabbel_leaseovk
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
v_errorhint := rc.mail_subject;
|
||||
v_errormsg := '';
|
||||
-- Mailen van eenmalige notificatie naar de aanspreekpunt via CUST03 (opdracht-node).
|
||||
fac.putnotificationsrtprio ( NULL, rc.prs_perslid_key_aanspreekpunt, 'CUST03', rc.mld_opdr_key, rc.mail_subject, NULL, NULL, NULL, NULL, 2, NULL);
|
||||
-- En we tracken via CUST03 (opdracht-node)
|
||||
v_tracking := 'Mail naar aanspreekpunt ' || rc.prs_perslid_naam_aanspreekpunt || ': ' || rc.mail_subject;
|
||||
fac.trackaction ('#CUST03', rc.mld_opdr_key, NULL, NULL, v_tracking);
|
||||
|
||||
COMMIT;
|
||||
|
||||
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 || ')';
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (vebe_noti_wagenpark error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
COMMIT;
|
||||
|
||||
END vebe_export_noti_wagenpark;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW vebe_v_export_noti_wagenpark (
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT 'notificatie;key contract;contractnr;key aanspreekpunt;aanspreekpunt;mailsubject;contractomschrijving;leasemaatschappij;einddatum', 0
|
||||
FROM DUAL
|
||||
UNION ALL
|
||||
SELECT REPLACE(REPLACE('CUST01'
|
||||
|| ';'
|
||||
|| c.cnt_lease_key
|
||||
|| ';'
|
||||
|| cnt_lease_nummer_intern
|
||||
|| ';'
|
||||
|| c.prs_lease_perslid_key_eig
|
||||
|| ';'
|
||||
|| c.prs_eigenaar_naam_friendly
|
||||
|| ';'
|
||||
|| 'Rapp<EFBFBD>l: Leaseovereenkomst ' || c.cnt_lease_nummer_intern || ' loopt af'
|
||||
|| DECODE (c.cnt_lease_versie, NULL, '', '.' || c.cnt_lease_versie)
|
||||
|| ';'
|
||||
|| c.cnt_lease_omschr
|
||||
|| ';'
|
||||
|| c.prs_bedrijf_naam
|
||||
|| ';'
|
||||
|| TO_CHAR (c.cnt_lease_looptijd_tot, 'DD-MM-YYYY')
|
||||
,CHR (13), ''), CHR (10), '<ret>'), cnt_lease_key
|
||||
FROM vebe_cnt_lease_en_gebruiks_ovk c
|
||||
WHERE cnt_lease_status = 0
|
||||
AND (SYSDATE BETWEEN c.cnt_lease_rappeldatum
|
||||
AND c.cnt_lease_opzegdatum)
|
||||
AND c.cnt_lease_looptijd_tot >= to_date('01-10-2016','dd-mm-yyyy')
|
||||
AND NOT EXISTS
|
||||
(SELECT 'x'
|
||||
FROM fac_tracking t, fac_srtnotificatie sn
|
||||
WHERE c.cnt_lease_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_code = 'CUST02')
|
||||
UNION ALL
|
||||
SELECT 'notificatie; key opdracht;opdrachtnr;key aanspreekpunt;aanspreekpunt;mailsubject;opdrachtomschrijving;;', 10000
|
||||
FROM DUAL
|
||||
UNION ALL
|
||||
SELECT REPLACE(REPLACE( 'CUST03'
|
||||
|| ';'
|
||||
|| o.mld_opdr_key
|
||||
|| ';'
|
||||
|| m.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
||||
|| ';'
|
||||
|| m.prs_perslid_key
|
||||
|| ';'
|
||||
|| p1.prs_perslid_naam_friendly
|
||||
|| ';'
|
||||
|| 'Verzoek ondertekenen van leaseovereenkomst voor ' || p2.prs_perslid_naam_friendly
|
||||
|| ';'
|
||||
|| ''
|
||||
|| ';'
|
||||
|| ''
|
||||
,CHR (13), ''), CHR (10), '<ret>'), 10000 + m.mld_melding_key
|
||||
FROM mld_opdr o, fac_tracking t, fac_srtnotificatie sn, mld_melding m, prs_v_perslid_fullnames_all p1, prs_v_perslid_fullnames_all p2
|
||||
WHERE o.mld_typeopdr_key = 5
|
||||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||||
AND m.mld_melding_key = o.mld_melding_key
|
||||
AND p1.prs_perslid_key = m.prs_perslid_key
|
||||
AND p2.prs_perslid_key = m.prs_perslid_key_voor
|
||||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
|
||||
AND o.mld_statusopdr_key = 6
|
||||
AND sn.fac_srtnotificatie_key = (select fac_srtnotificatie_key from fac_srtnotificatie where fac_srtnotificatie_code = 'ORDAFM')
|
||||
AND NOT EXISTS
|
||||
(SELECT 'x'
|
||||
FROM fac_tracking t, fac_srtnotificatie sn
|
||||
WHERE o.mld_opdr_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_code = 'CUST03');
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vebe_processemail
|
||||
(pfrom IN VARCHAR2,
|
||||
pto IN VARCHAR2,
|
||||
psubject IN VARCHAR2,
|
||||
pbody IN VARCHAR2,
|
||||
psessionid IN VARCHAR2,
|
||||
puserkey IN NUMBER DEFAULT NULL)
|
||||
AS
|
||||
sender prs_perslid.prs_perslid_key%TYPE;
|
||||
kostenplaats prs_afdeling.prs_kostenplaats_key%TYPE;
|
||||
v_mldkey mld_melding.mld_melding_key%TYPE;
|
||||
defaultstdmelding fac_setting.fac_setting_default%TYPE;
|
||||
kkey mld_kenmerk.mld_kenmerk_key%TYPE;
|
||||
errormsg fac_result.fac_result_waarde%TYPE;
|
||||
v_mailadres_kenmerk_key mld_kenmerk.mld_kenmerk_key%TYPE;
|
||||
v_flexprop_mail VARCHAR2(1000);
|
||||
v_from VARCHAR2 (1000);
|
||||
|
||||
subject_regexp fac_setting.fac_setting_default%TYPE;
|
||||
v_behandelaar_key mld_melding.mld_melding_behandelaar_key%TYPE;
|
||||
v_mldnum VARCHAR2 (4000);
|
||||
v_srtdisc VARCHAR2 (4000);
|
||||
v_flag_on_fenote NUMBER (10);
|
||||
v_flag_on_bonote NUMBER (10);
|
||||
v_mld_meldbron_key NUMBER (10);
|
||||
|
||||
v_prs_perslid_sysuser_key NUMBER (10);
|
||||
v_mailadres_to_wagenpark VARCHAR2(100);
|
||||
|
||||
BEGIN
|
||||
v_prs_perslid_sysuser_key := 81;
|
||||
v_mailadres_to_wagenpark := 'XrTeMOZ@vebe.facilitor.nl';
|
||||
|
||||
-- We beschouwen dit als een nieuwe melding
|
||||
IF (UPPER(pto) = UPPER(v_mailadres_to_wagenpark))
|
||||
THEN
|
||||
-- Mailmelding (onder vakgroep 'Mailmelding') met mld_stdmelding_key 161, deze staat in de setting defaultmelding.
|
||||
defaultstdmelding := fac.getsetting ('defaultstdmelding');
|
||||
v_mld_meldbron_key := 4;
|
||||
END IF;
|
||||
|
||||
-- Selecteer de kostenplaats van prs_perslid_key = v_prs_perslid_sysuser_key (Dit is de system-user 'SYSTEM API Mail2Melding')
|
||||
SELECT prs_perslid_key, d.prs_kostenplaats_key
|
||||
INTO sender, kostenplaats
|
||||
FROM prs_perslid p, prs_afdeling d
|
||||
WHERE p.prs_afdeling_key = d.prs_afdeling_key
|
||||
AND prs_perslid_key = v_prs_perslid_sysuser_key;
|
||||
|
||||
|
||||
-- Bepaal kenmerk-key van kenmerksoort 'mailadres' (key 61) op vakgroeptype niveau van vakgroeptype-key 1 die niet verwijderd is
|
||||
SELECT MAX(mld_kenmerk_key)
|
||||
INTO v_mailadres_kenmerk_key
|
||||
FROM mld_kenmerk
|
||||
WHERE mld_srtkenmerk_key = 27
|
||||
AND mld_kenmerk_verwijder IS NULL
|
||||
AND mld_kenmerk_niveau = 'T'
|
||||
AND mld_stdmelding_key = 1;
|
||||
|
||||
|
||||
-- Check of de afzender pfrom een reply op een bestaande melding doet, in dat geval wordt dat in notities genoteerd.
|
||||
|
||||
-- Eerst uit het onderwerp het meldingnummer proberen te onderscheppen, uitgangspunt dat in het onderwerp 'MLD123' kan worden opgevist, waarbij het deel achter MLD minimaal uit 1 cijfer bestaat.
|
||||
subject_regexp := '[[:alpha:]]*MLD[[:digit:]]{1,}';
|
||||
v_mldnum :=
|
||||
REGEXP_SUBSTR (psubject,
|
||||
subject_regexp,
|
||||
1,
|
||||
1,
|
||||
'i'); -- M123, of M12345, of M12, of M1
|
||||
|
||||
v_srtdisc :=
|
||||
REGEXP_SUBSTR (v_mldnum,
|
||||
'[[:alpha:]]*',
|
||||
1,
|
||||
1,
|
||||
'i'); -- M
|
||||
v_mldkey := fac.safe_to_number (SUBSTR (v_mldnum, LENGTH (v_srtdisc) + 1)); -- 123, of 12345, of 12, of 1
|
||||
|
||||
|
||||
-- Uit onderwerp is de vermoedelijke juiste v_mldkey geparsed.
|
||||
-- Final check: is de afzender van de mail dezelfde als die van v_mldkey, deze afzender (mailadres) staat in flexprop (zie verderop hieronder in gedeelte bij insert melding).
|
||||
|
||||
SELECT MAX(SUBSTR(TRIM(km.mld_kenmerkmelding_waarde),1,50))
|
||||
INTO v_flexprop_mail
|
||||
FROM mld_kenmerkmelding km
|
||||
WHERE mld_melding_key = v_mldkey
|
||||
AND mld_kenmerk_key = v_mailadres_kenmerk_key
|
||||
AND mld_kenmerkmelding_verwijder IS NULL;
|
||||
|
||||
|
||||
v_from := SUBSTR(TRIM(pfrom),1,50);
|
||||
|
||||
IF v_flexprop_mail = v_from
|
||||
THEN
|
||||
-- Gotcha: van deze afzender is een eerdere melding geregistreerd, die we plakken de subject en body nu als notitie toe (als perslid system-user 'SYSTEM API Mail2Melding').
|
||||
|
||||
|
||||
INSERT INTO mld_melding_note (mld_melding_key,
|
||||
mld_melding_note_omschrijving,
|
||||
prs_perslid_key,
|
||||
mld_melding_note_flag)
|
||||
VALUES (v_mldkey,
|
||||
SUBSTR (
|
||||
psubject || CHR (13) || CHR (10)
|
||||
|| REPLACE (
|
||||
SUBSTR (pbody,
|
||||
1,
|
||||
4000 - (LENGTH (psubject) + 2)),
|
||||
CHR (13) || CHR (10) || CHR (13) || CHR (10),
|
||||
CHR (13) || CHR (10)),
|
||||
1,
|
||||
4000), -- verwijder onnodige witregels
|
||||
sender,
|
||||
0); -- 0 is NIET zichtbaar FE (want is system-user, zinloos).
|
||||
|
||||
-- Default tracking is even goed genoeg
|
||||
fac.trackaction ('MLDNOT',
|
||||
v_mldkey,
|
||||
sender,
|
||||
NULL,
|
||||
'#Notitie toegevoegd vanuit e-mail'); -- # voorkomt notificatie
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid, 'maillog', 'Als notitie toegevoegd aan melding ' || v_mldkey);
|
||||
|
||||
-- We gaan GEEN Vlaggetjes zetten zoals mld_edit_note.asp dat doet, VEBE werkt hier niet mee.
|
||||
--BEGIN
|
||||
-- v_flag_on_fenote := fac.getsetting('mld_flag_on_fenote');
|
||||
-- v_flag_on_bonote := fac.getsetting('mld_flag_on_bonote');
|
||||
--
|
||||
-- IF v_flag_on_bonote <> 0 AND v_flag_on_bonote IS NOT NULL
|
||||
-- THEN
|
||||
-- UPDATE mld_melding
|
||||
-- SET mld_melding_flag = v_flag_on_bonote
|
||||
-- WHERE mld_melding_key = v_mldkey
|
||||
-- AND ( (mld_melding_flag = v_flag_on_fenote)
|
||||
-- OR (mld_melding_flag = 0 OR mld_melding_flag IS NULL));
|
||||
--
|
||||
-- END IF;
|
||||
--EXCEPTION
|
||||
-- WHEN OTHERS
|
||||
-- THEN
|
||||
-- DBMS_OUTPUT.put_line( 'Niet gelukt om flag '
|
||||
-- || v_flag_on_bonote
|
||||
-- || ' te zetten.');
|
||||
--END;
|
||||
|
||||
-- Bepalen van de behandelaar van deze melding
|
||||
--BEGIN
|
||||
-- SELECT mld_melding_behandelaar_key
|
||||
-- INTO v_behandelaar_key
|
||||
-- FROM mld_melding m, prs_perslid p
|
||||
-- WHERE mld_melding_key = v_mldkey
|
||||
-- AND mld_melding_behandelaar_key = p.prs_perslid_key
|
||||
-- AND p.prs_perslid_email IS NOT NULL
|
||||
-- AND p.prs_perslid_verwijder IS NULL;
|
||||
--EXCEPTION
|
||||
-- WHEN OTHERS
|
||||
-- THEN
|
||||
-- v_behandelaar_key := NULL;
|
||||
--END;
|
||||
--
|
||||
--IF v_behandelaar_key IS NOT NULL
|
||||
--THEN
|
||||
-- -- Bestaande melding en behandelaar is bekend.
|
||||
--
|
||||
-- -- Notificatie naar behandelaar
|
||||
-- fac.putnotificationsrtprio (
|
||||
-- NULL,
|
||||
-- v_behandelaar_key,
|
||||
-- 'MLDNOB',
|
||||
-- v_mldkey,
|
||||
-- 'Melding ' || v_mldkey || ' is door de klant aangepast.',
|
||||
-- 2,
|
||||
-- NULL,
|
||||
-- NULL,
|
||||
-- NULL,
|
||||
-- 2,
|
||||
-- NULL);
|
||||
--END IF;
|
||||
ELSE
|
||||
|
||||
-- suggested extensions:
|
||||
-- check for MLDUSE-write autorisations
|
||||
-- parse the subject to find an appropriate stdmelding, if uniquely possible
|
||||
-- append (as a note?) to an existing melding if #key is found in the subject
|
||||
BEGIN
|
||||
INSERT INTO mld_melding (mld_melding_module,
|
||||
mld_meldbron_key,
|
||||
mld_melding_datum,
|
||||
mld_alg_locatie_key,
|
||||
mld_melding_omschrijving,
|
||||
mld_melding_status,
|
||||
mld_stdmelding_key,
|
||||
prs_perslid_key,
|
||||
prs_perslid_key_voor,
|
||||
prs_kostenplaats_key,
|
||||
mld_melding_spoed)
|
||||
VALUES ('MLD',
|
||||
v_mld_meldbron_key, -- email (4)
|
||||
SYSDATE,
|
||||
NULL, -- Geen locatie bekend
|
||||
SUBSTR (
|
||||
psubject || CHR (13)
|
||||
|| REPLACE (
|
||||
SUBSTR (pbody,
|
||||
1,
|
||||
4000 - (LENGTH (psubject) + 2)),
|
||||
CHR (13) || CHR (10) || CHR (13) || CHR (10),
|
||||
CHR (13) || CHR (10)),
|
||||
1,
|
||||
4000), -- verwijder onnodige witregels
|
||||
NULL,
|
||||
defaultstdmelding,
|
||||
sender,
|
||||
sender,
|
||||
kostenplaats,
|
||||
3)
|
||||
RETURNING mld_melding_key
|
||||
INTO v_mldkey;
|
||||
|
||||
-- Vullen van kenmerkwaarde "e-mail adres"
|
||||
IF v_from IS NOT NULL AND v_mailadres_kenmerk_key IS NOT NULL
|
||||
THEN
|
||||
-- v_from is gevuld, en kenmerk mailadres bestaat, zet v_from met maximaal 50 tekens als kenmerk bij de zojuist aangemaakte melding.
|
||||
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
|
||||
VALUES (v_mldkey, v_mailadres_kenmerk_key, v_from);
|
||||
END IF;
|
||||
|
||||
mld.setmeldingstatus (v_mldkey, 2, sender);
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid, 'maillog', 'Geregistreerd onder melding ' || v_mldkey);
|
||||
|
||||
END;
|
||||
END IF;
|
||||
|
||||
|
||||
-- find the lowest volgnummer of the flexfield of type folder.
|
||||
SELECT MIN (mld_kenmerk_key)
|
||||
INTO kkey
|
||||
FROM mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
mld_stdmelding std,
|
||||
ins_tab_discipline d
|
||||
WHERE mld_srtkenmerk_kenmerktype = 'M'
|
||||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||||
AND std.mld_stdmelding_key = defaultstdmelding
|
||||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND ( (k.mld_stdmelding_key = std.mld_stdmelding_key
|
||||
AND k.mld_kenmerk_niveau = 'S')
|
||||
OR (k.mld_stdmelding_key = d.ins_discipline_key
|
||||
AND k.mld_kenmerk_niveau = 'D')
|
||||
OR (k.mld_stdmelding_key = d.ins_srtdiscipline_key
|
||||
AND k.mld_kenmerk_niveau = 'T'))
|
||||
AND k.mld_kenmerk_verwijder IS NULL
|
||||
AND NOT EXISTS
|
||||
(SELECT mld_kenmerk_volgnummer
|
||||
FROM mld_kenmerk k1,
|
||||
mld_srtkenmerk sk1,
|
||||
mld_stdmelding std1,
|
||||
ins_tab_discipline d1
|
||||
WHERE sk1.mld_srtkenmerk_kenmerktype = 'M'
|
||||
AND sk1.mld_srtkenmerk_key =
|
||||
k1.mld_srtkenmerk_key
|
||||
AND std1.mld_stdmelding_key =
|
||||
defaultstdmelding
|
||||
AND std1.mld_ins_discipline_key =
|
||||
d1.ins_discipline_key
|
||||
AND ( (k1.mld_stdmelding_key =
|
||||
std1.mld_stdmelding_key
|
||||
AND k1.mld_kenmerk_niveau = 'S')
|
||||
OR (k1.mld_stdmelding_key =
|
||||
d1.ins_discipline_key
|
||||
AND k1.mld_kenmerk_niveau = 'D')
|
||||
OR (k1.mld_stdmelding_key =
|
||||
d1.ins_srtdiscipline_key
|
||||
AND k1.mld_kenmerk_niveau = 'T'))
|
||||
AND k1.mld_kenmerk_verwijder IS NULL
|
||||
AND k1.mld_kenmerk_volgnummer <
|
||||
k.mld_kenmerk_volgnummer);
|
||||
|
||||
IF kkey IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid,
|
||||
'kenmerkpath',
|
||||
'MLD\M' || to_char( TRUNC(v_mldkey/1000), 'FM0000') || '___\M' || v_mldkey || '\' || kkey || '\');
|
||||
END IF;
|
||||
|
||||
|
||||
IF errormsg IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid, 'errormsg', errormsg);
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
fac.writelog (
|
||||
'PROCESSEMAIL',
|
||||
'W',
|
||||
'Mail kon niet verwerkt worden afzender: '
|
||||
|| pfrom
|
||||
|| '['
|
||||
|| errormsg
|
||||
|| ']',
|
||||
'OTHERS (error '
|
||||
|| SQLCODE
|
||||
|| '/'
|
||||
|| SUBSTR (SQLERRM, 1, 100)
|
||||
|| ')');
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid,
|
||||
'errormsg',
|
||||
'Database fout - Neem contact op met uw systeembeheerder');
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
|
||||
BEGIN fac.registercustversion('vebe', 1); END;
|
||||
|
||||
Reference in New Issue
Block a user