CSUN#30375 -- E-mail import ABN AMRO

svn path=/Customer/trunk/; revision=22644
This commit is contained in:
Arthur Egberink
2014-09-24 12:50:15 +00:00
parent 55835acf17
commit d452269ade

View File

@@ -319,33 +319,55 @@ END;
/
CREATE OR REPLACE FUNCTION csun_get_html_valuepair (
p_text IN VARCHAR2,
p_start IN VARCHAR2,
p_eind IN VARCHAR2)
CREATE OR REPLACE FUNCTION csun_get_html_valuepair (p_text IN VARCHAR2,
p_start IN VARCHAR2,
p_eind IN VARCHAR2)
RETURN VARCHAR2
AS
v_pos NUMBER;
v_pos_begin NUMBER;
v_pos_eind NUMBER;
BEGIN
RETURN p_start || ': '
|| SUBSTR (
p_text,
INSTR (
p_text,
CHR (10) || CHR (13) || p_start || CHR (10) || CHR (13))
+ LENGTH (p_start)
+ 4,
INSTR (
p_text,
CHR (10) || CHR (13) || p_eind || CHR (10) || CHR (13))
- (INSTR (
p_text,
CHR (10) || CHR (13) || p_start || CHR (10) || CHR (13))
+ LENGTH (p_start)
+ 4));
-- controleer of de begintag aanwezig is. Zo nee, dan hebben we niets te tonen.
v_pos := INSTR (p_text, p_start);
--dbms_output.put_line('v_pos start:' || v_pos);
IF v_pos = 0
THEN
RETURN NULL;
END IF;
v_pos_begin :=
INSTR (p_text, CHR (10) || CHR (13) || p_start || CHR (10) || CHR (13))
+ LENGTH (p_start)
+ 4;
--dbms_output.put_line('v_pos_begin:' || v_pos_begin);
-- controleer of de eindtag aanwezig is. Zo nee, dan gaan we opzoek naar de volgende.
v_pos := INSTR (p_text, p_eind);
--dbms_output.put_line('v_pos eind:' || v_pos);
IF v_pos = 0
THEN
v_pos_eind :=
INSTR (p_text,
CHR (10) || CHR (13),
v_pos_begin,
1);
ELSE
v_pos_eind :=
INSTR (p_text,
CHR (10) || CHR (13) || p_eind || CHR (10) || CHR (13));
END IF;
-- dbms_output.put_line('v_pos_eind:' || v_pos_eind);
RETURN p_start
|| ': '
|| SUBSTR (p_text, v_pos_begin, v_pos_eind - v_pos_begin);
END;
/
CREATE OR REPLACE PROCEDURE csun_processemail (pfrom IN VARCHAR2,
pto IN VARCHAR2,
psubject IN VARCHAR2,
@@ -402,76 +424,98 @@ BEGIN
THEN
errormsg := '(0x145)';
-- bij abnamro gaan we de html body nog even opschonen
IF sender = 23
THEN
-- pas de omschrijving van de melding aan. Verwijder onnodige html ballast.
v_pos := INSTR (pbody, '--> Werkbon');
IF v_pos > 0
BEGIN
-- bij abnamro gaan we de html body nog even opschonen
IF sender = 23
THEN
v_body :=
csun_get_html_valuepair (pbody,
'Planonnr.',
'Omschrijving')
|| CHR (10)
|| csun_get_html_valuepair (pbody,
'Omschrijving',
'Toelichting')
|| CHR (10)
|| csun_get_html_valuepair (pbody,
'Toelichting',
'Apparaatnummer')
|| CHR (10)
|| csun_get_html_valuepair (pbody,
'Apparaatnummer',
'Locatie')
|| CHR (10)
|| csun_get_html_valuepair (pbody, 'Gebouw', 'Adres')
|| CHR (10)
|| csun_get_html_valuepair (
pbody,
'Adres',
'Postcode ' || CHR (38) || 'amp; plaats')
|| CHR (10)
|| csun_get_html_valuepair (
pbody,
'Postcode ' || CHR (38) || 'amp; plaats',
'Ruimte')
|| CHR (10)
|| csun_get_html_valuepair (pbody, 'Ruimte', 'Melder')
|| CHR (10)
|| REPLACE (
csun_get_html_valuepair (pbody,
'Melder',
'Contactgegevens'),
'Melder' || CHR (10) || CHR (13))
|| CHR (10)
|| REPLACE (
csun_get_html_valuepair (pbody,
'Contactgegevens',
'Telefoonnummer extern'),
CHR (10) || CHR (13))
|| CHR (10)
|| REPLACE (
csun_get_html_valuepair (pbody,
'Telefoonnummer extern',
'E-mail'),
CHR (10) || CHR (13))
|| CHR (10)
|| csun_get_html_valuepair (pbody, 'E-mail', 'Melddatum')
|| CHR (10)
|| csun_get_html_valuepair (pbody, 'Melddatum', 'Urgentie')
|| CHR (10)
|| csun_get_html_valuepair (
pbody,
'Urgentie',
'ABN AMRO Bank N.V.Facility Desk020 - 6288060facility.desk@nl.abnamro.com')
|| CHR (10)
|| 'Origineel voor testdoeleinden:' || CHR(10)
|| pbody;
-- pas de omschrijving van de melding aan. Verwijder onnodige html ballast.
v_pos := INSTR (pbody, '--> Werkbon');
IF v_pos > 0
THEN
v_body :=
csun_get_html_valuepair (pbody,
'Planonnr.',
'Omschrijving')
|| CHR (10)
|| csun_get_html_valuepair (pbody,
'Omschrijving',
'Toelichting')
|| CHR (10)
|| csun_get_html_valuepair (pbody,
'Toelichting',
'Apparaatnummer')
|| CHR (10)
|| csun_get_html_valuepair (pbody,
'Apparaatnummer',
'Locatie')
|| CHR (10)
|| csun_get_html_valuepair (pbody, 'Gebouw', 'Adres')
|| CHR (10)
|| csun_get_html_valuepair (
pbody,
'Adres',
'Postcode ' || CHR (38) || 'amp; plaats')
|| CHR (10)
|| csun_get_html_valuepair (
pbody,
'Postcode ' || CHR (38) || 'amp; plaats',
'Ruimte')
|| CHR (10)
|| csun_get_html_valuepair (pbody, 'Ruimte', 'Melder')
|| CHR (10)
|| REPLACE (
csun_get_html_valuepair (pbody,
'Melder',
'Contactgegevens'),
'Melder' || CHR (10) || CHR (13))
|| CHR (10)
|| REPLACE (
csun_get_html_valuepair (pbody,
'Contactgegevens',
'Telefoonnummer extern'),
CHR (10) || CHR (13))
|| CHR (10)
|| REPLACE (
csun_get_html_valuepair (pbody,
'Telefoonnummer extern',
'E-mail'),
CHR (10) || CHR (13))
|| CHR (10)
|| csun_get_html_valuepair (pbody,
'E-mail',
'Melddatum')
|| CHR (10)
|| csun_get_html_valuepair (pbody,
'Melddatum',
'Urgentie')
|| CHR (10)
|| csun_get_html_valuepair (
pbody,
'Urgentie',
'ABN AMRO Bank N.V.Facility Desk020 - 6288060facility.desk@nl.abnamro.com');
-- || CHR (10)
-- || 'Origineel voor testdoeleinden:' || CHR(10)
-- || pbody;
END IF;
END IF;
END IF;
EXCEPTION
WHEN OTHERS
THEN
fac.writelog (
'PROCESSEMAIL',
'W',
'Mail kon niet geformateerd worden afzender:'
|| pfrom
|| '['
|| errormsg
|| ']',
'OTHERS (error '
|| SQLCODE
|| '/'
|| SUBSTR (SQLERRM, 1, 100)
|| ')');
END;
-- append (as a note?) to an existing melding if #key is found in the subject
-- Alternatief was: scannen van fac_srtnotificatie_oms maar dat voelt ook niet echt lekker