HOUT#25319 MF-mail naar melding
svn path=/Customer/trunk/; revision=16565
This commit is contained in:
161
Hout/hout.sql
161
Hout/hout.sql
@@ -3271,7 +3271,166 @@ AS
|
||||
AND o.mld_uitvoerende_keys = pf.prs_perslid_key) ou
|
||||
ON TO_CHAR (wk.dag, 'YYYY-IW') = ou.wk;
|
||||
|
||||
BEGIN fac.registercustversion('HOUT', 26); END;
|
||||
/* Formatted on 17-1-2013 17:04:16 (QP5 v5.115.810.9015) */
|
||||
CREATE OR REPLACE PROCEDURE HOUT_processemail (pfrom IN VARCHAR2,
|
||||
pto IN VARCHAR2,
|
||||
psubject IN VARCHAR2,
|
||||
pbody IN VARCHAR2,
|
||||
pextra IN VARCHAR2)
|
||||
AS
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
|
||||
v_perslid_key NUMBER (10);
|
||||
v_kostenplaats_key NUMBER (10);
|
||||
v_stdmelding_key NUMBER (10);
|
||||
v_stdmelding_uvt NUMBER (8, 5);
|
||||
v_deel_key NUMBER (10);
|
||||
v_onrgoed_keys NUMBER (10);
|
||||
v_locatie_key NUMBER (10);
|
||||
v_melding_key NUMBER (10);
|
||||
BEGIN
|
||||
CASE
|
||||
WHEN UPPER (pto) LIKE 'PRINTERS@%'
|
||||
THEN
|
||||
v_errormsg := 'Fout bij bepalen printer-melder';
|
||||
|
||||
-- Valideer bestaan van persoon met key=10081 (Externe partij/leverancier)?
|
||||
SELECT p.prs_perslid_key, a.prs_kostenplaats_key
|
||||
INTO v_perslid_key, v_kostenplaats_key
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a
|
||||
WHERE p.prs_perslid_key = 10081
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key;
|
||||
|
||||
v_errormsg := 'Fout bij bepalen printer-melding';
|
||||
|
||||
-- Valideer bestaan van stdmelding met key=2481 (MF Ricoh automatische melding)?
|
||||
SELECT sm.mld_stdmelding_key, sm.mld_stdmelding_uitvoertijd
|
||||
INTO v_stdmelding_key, v_stdmelding_uvt
|
||||
FROM mld_stdmelding sm
|
||||
WHERE sm.mld_stdmelding_key = 2481
|
||||
AND sm.mld_stdmelding_verwijder IS NULL;
|
||||
|
||||
v_errormsg :=
|
||||
'Fout bij bepalen printer-object: '
|
||||
|| SUBSTR (pfrom, 1, INSTR (pfrom, '@') - 1);
|
||||
|
||||
-- Valideer de sender in pfrom: kennen we deze als object in de groep met
|
||||
-- key=21 (Multifunctionals)?
|
||||
SELECT d.ins_deel_key, og.alg_onrgoed_keys, og.alg_locatie_key
|
||||
INTO v_deel_key, v_onrgoed_keys, v_locatie_key
|
||||
FROM ins_v_aanwezigdeel d,
|
||||
ins_v_aanwezigsrtdeel sd,
|
||||
ins_v_alg_onroerendgoed og
|
||||
WHERE UPPER (d.ins_deel_omschrijving) LIKE
|
||||
UPPER (SUBSTR (pfrom, 1, INSTR (pfrom, '@') - 1)) || '%'
|
||||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtgroep_key = 21
|
||||
AND d.ins_alg_ruimte_key = og.alg_onrgoed_keys;
|
||||
|
||||
-- suggested extensions:
|
||||
-- check for MLDUSE-write autorisations
|
||||
-- parse the subject to find the appropriate stdmelding, if uniquely possible
|
||||
-- append (as a note?) to an existing melding if #key is found in the subject
|
||||
v_errormsg := 'Fout bij toevoegen melding';
|
||||
|
||||
INSERT INTO mld_melding (mld_melding_module,
|
||||
mld_meldbron_key,
|
||||
mld_alg_locatie_key,
|
||||
mld_alg_onroerendgoed_keys,
|
||||
mld_melding_datum,
|
||||
mld_melding_omschrijving,
|
||||
mld_melding_status,
|
||||
mld_melding_uitvoertijd,
|
||||
mld_stdmelding_key,
|
||||
prs_perslid_key,
|
||||
prs_perslid_key_voor,
|
||||
prs_kostenplaats_key,
|
||||
mld_melding_spoed)
|
||||
VALUES ('MLD',
|
||||
4, -- email
|
||||
v_locatie_key,
|
||||
v_onrgoed_keys,
|
||||
SYSDATE,
|
||||
SUBSTR (psubject, 1, 4000),
|
||||
NULL,
|
||||
v_stdmelding_uvt,
|
||||
v_stdmelding_key,
|
||||
v_perslid_key,
|
||||
v_perslid_key,
|
||||
v_kostenplaats_key,
|
||||
3) -- prio normaal
|
||||
RETURNING mld_melding_key INTO v_melding_key;
|
||||
|
||||
v_errormsg := 'Fout bij toevoegen melding-object';
|
||||
|
||||
INSERT INTO mld_melding_object (mld_melding_key, ins_deel_key)
|
||||
VALUES (v_melding_key, v_deel_key);
|
||||
|
||||
mld.setmeldingstatus (v_melding_key, 2, v_perslid_key);
|
||||
ELSE
|
||||
INSERT INTO fac_result (
|
||||
fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde
|
||||
)
|
||||
VALUES (
|
||||
'hMailServer',
|
||||
'errormsg',
|
||||
'Onvanger ongeldig - Neem contact op met uw systeembeheerder '
|
||||
);
|
||||
END CASE;
|
||||
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 ('PROCESSEMAIL',
|
||||
'E',
|
||||
'HOUT_processemail afgebroken!',
|
||||
'[' || pfrom || '] ' || v_errormsg);
|
||||
|
||||
INSERT INTO fac_result (
|
||||
fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde
|
||||
)
|
||||
VALUES (
|
||||
'hMailServer',
|
||||
'errormsg',
|
||||
'Database fout - Neem contact op met uw systeembeheerder '
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
|
||||
/* Formatted on 14-1-2013 14:52:58 (QP5 v5.115.810.9015) */
|
||||
CREATE OR REPLACE VIEW hout_v_rap_mail_error
|
||||
(
|
||||
hide_f_offset,
|
||||
datum,
|
||||
hint,
|
||||
error
|
||||
)
|
||||
AS
|
||||
SELECT SYSDATE - imp_log_datum,
|
||||
imp_log_datum,
|
||||
imp_log_hint,
|
||||
imp_log_omschrijving
|
||||
FROM imp_log
|
||||
WHERE imp_log_applicatie = 'PROCESSEMAIL'
|
||||
AND imp_log_datum > SYSDATE - 30;
|
||||
|
||||
BEGIN fac.registercustversion('HOUT', 27); END;
|
||||
/
|
||||
BEGIN adm.systrackscript('$Workfile: hout.sql $', '$Revision$', 0); END;
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user