CSUN#40729 -- Automatisering Facilitor koppelingen (ABN AMRO e.v.a.)
svn path=/Customer/trunk/; revision=36029
This commit is contained in:
@@ -676,6 +676,10 @@ AS
|
||||
OR v_client = 241 -- Arcadis
|
||||
OR v_client = 801 -- PostNL Pakket
|
||||
OR v_client = 344 -- ABN Amro
|
||||
OR v_client = 381 -- Mayfield
|
||||
OR v_client = 301 -- Humanitas
|
||||
OR v_client = 382 -- KPN Retail
|
||||
OR v_client = 321 -- Tennet
|
||||
THEN
|
||||
SELECT alg_locatie_key
|
||||
INTO v_locatie_key
|
||||
@@ -697,6 +701,7 @@ AS
|
||||
AND aogkc.alg_kenmerk_key = 1000; -- Client
|
||||
ELSIF v_client = 621 -- DB Schenker
|
||||
OR v_client = 641 -- Alliance
|
||||
OR v_client = 841 -- KPN (Yask)
|
||||
THEN
|
||||
SELECT alg_locatie_key
|
||||
INTO v_locatie_key
|
||||
@@ -828,10 +833,12 @@ AS
|
||||
v_flag_on_bonote NUMBER (10);
|
||||
v_from VARCHAR2 (4000);
|
||||
v_body VARCHAR2 (4000);
|
||||
m_body VARCHAR2 (4000);
|
||||
v_locatie_code VARCHAR2 (1000); -- om te voorkomen dat we foutmeldingen krijgen als de locatie niet bepaald kan worden.
|
||||
v_pos NUMBER;
|
||||
v_externnr VARCHAR2 (1000);
|
||||
v_omschrijving_ruimte VARCHAR2(1000);
|
||||
v_client NUMBER;
|
||||
BEGIN
|
||||
errormsg := '(0x143)';
|
||||
v_externnr := NULL;
|
||||
@@ -845,6 +852,7 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
v_body := pbody;
|
||||
m_body := pbody;
|
||||
|
||||
-- DBMS_OUTPUT.PUT_LINE('v_from: '||v_from);
|
||||
|
||||
@@ -862,6 +870,17 @@ BEGIN
|
||||
AND prs_link_key = p.prs_perslid_key
|
||||
AND UPPER (kl.prs_kenmerklink_waarde) = UPPER (v_from)));
|
||||
|
||||
BEGIN
|
||||
SELECT fac.safe_to_number (prs_kenmerklink_waarde)
|
||||
INTO v_client
|
||||
FROM prs_kenmerklink
|
||||
WHERE prs_kenmerk_key = 1080 AND prs_link_key = sender;
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_client := NULL;
|
||||
END;
|
||||
|
||||
|
||||
CASE
|
||||
WHEN UPPER (pto) LIKE 'SERVICEDESK@%' OR UPPER (pto) LIKE 'DJI@%'
|
||||
THEN
|
||||
@@ -887,6 +906,8 @@ BEGIN
|
||||
v_body := REPLACE(v_body, ',', ','); -- komma
|
||||
v_body := REPLACE(v_body, '-', '-'); -- min teken
|
||||
v_body := REPLACE(v_body, '.', '.'); -- punt
|
||||
v_body := REPLACE(v_body, '/', '/');
|
||||
v_body := REPLACE(v_body, ':', ':'); -- dubbele punt
|
||||
v_body := REPLACE(v_body, ' ' || CHR (10) || CHR (13), CHR (10) || CHR (13)); -- soms komt er ineens een een spatie achter de tag.
|
||||
-- gaat het om een normale werkbon, dan is v_pos > 0; anders gaat het om een klacht.
|
||||
v_pos := INSTR (v_body, '--> Werkbon');
|
||||
@@ -905,7 +926,7 @@ BEGIN
|
||||
v_externnr := csun_get_html_valuepair (v_body,
|
||||
'Aanvraagnr.',
|
||||
'Omschrijving aanvraag');
|
||||
v_body :=
|
||||
m_body :=
|
||||
csun_get_html_valuepair (v_body,
|
||||
'Naam',
|
||||
'Telefoonnr.')
|
||||
@@ -954,8 +975,63 @@ BEGIN
|
||||
|
||||
-- zoek de locatie
|
||||
v_locatie_code := csun_get_html_valuepair (v_body, 'Object', 'Postcode');
|
||||
v_locatie_code := SUBSTR(v_locatie_code, 8, INSTR(v_locatie_code, ' '));
|
||||
v_locatie_code := SUBSTR(v_locatie_code, 9, INSTR(v_locatie_code, ' ',1,2)-9);
|
||||
END IF;
|
||||
|
||||
-- Humanitas heeft de locatiecode in het onderwerp staan
|
||||
IF v_client = 301
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT lc.alg_onrgoedkenmerk_waarde
|
||||
INTO v_locatie_code
|
||||
FROM alg_onrgoedkenmerk lc,
|
||||
alg_onrgoedkenmerk cl
|
||||
WHERE lc.alg_onrgoed_key = cl.alg_onrgoed_key
|
||||
AND lc.alg_kenmerk_key = 1203 -- Klant locatiecode
|
||||
AND fac.safe_to_number (cl.alg_onrgoedkenmerk_waarde) = v_client
|
||||
AND cl.alg_kenmerk_key = 1000 -- Client
|
||||
AND psubject LIKE '%' || lc.alg_onrgoedkenmerk_waarde || '%';
|
||||
EXCEPTION WHEN OTHERS
|
||||
THEN
|
||||
v_locatie_code := NULL;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
-- Mayfield bericht bevat een regel als: Betreft locatie : Apeldoorn, Wapenrustlaan 11-31 (NLV03001)
|
||||
IF v_client = 381 -- Mayfield
|
||||
THEN
|
||||
-- eerst de regel vinden
|
||||
v_locatie_code := SUBSTR(v_body, INSTR(v_body, 'Betreft locatie'), -- start vd regel
|
||||
INSTR(v_body, CHR(13), -- op zoek naar het einde vd regel
|
||||
INSTR(v_body, 'Betreft locatie') -- waarbij we beginnen te zoeken aan het begin vd regel
|
||||
)-
|
||||
INSTR(v_body, 'Betreft locatie')); -- verminderd met het begin vd regel omdat we alleen het verschil mee moeten geven.
|
||||
-- nu de locatiecode
|
||||
v_locatie_code := SUBSTR(v_locatie_code, INSTR(v_locatie_code, '(')+1, INSTR(v_locatie_code, ')')-1 - (INSTR(v_locatie_code, '(')+1));
|
||||
END IF;
|
||||
|
||||
-- KPN Retail geeft de locatie aan op de regel: Filiaalnummer: 702
|
||||
IF v_client = 382 -- KPN Retail
|
||||
THEN
|
||||
-- eerst de regel vinden
|
||||
v_locatie_code := SUBSTR(v_body, INSTR(v_body, 'Filiaalnummer: ') + LENGTH ('Filiaalnummer: '), -- start vd regel
|
||||
INSTR(v_body, CHR(13), -- op zoek naar het einde vd regel
|
||||
INSTR(v_body, 'Filiaalnummer:') -- waarbij we beginnen te zoeken aan het begin vd regel
|
||||
)-
|
||||
(INSTR(v_body, 'Filiaalnummer: ') + LENGTH ('Filiaalnummer: '))); -- verminderd met het begin vd regel omdat we alleen het verschil mee moeten geven.
|
||||
|
||||
END IF;
|
||||
|
||||
-- Tennet
|
||||
-- Afleveradres: TenneT TSO B.V.
|
||||
-- Frankeneng 116
|
||||
-- 6716 AA EDE
|
||||
IF v_client = 321 -- Tennet
|
||||
THEN
|
||||
v_pos := INSTR(v_body, 'Afleveradres: TenneT TSO B.V.'); -- We zoeken de postcode onder het afleveradres
|
||||
v_pos := INSTR(v_body, CHR(10), v_pos, 2); -- Vervolgens zoeken we de tweede line feed vanaf het afleveradres
|
||||
v_locatie_code := UPPER(SUBSTR(v_body, v_pos +1, 7));
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -1142,6 +1218,7 @@ BEGIN
|
||||
mld_melding_status,
|
||||
mld_melding_t_uitvoertijd,
|
||||
mld_stdmelding_key,
|
||||
mld_alg_locatie_key,
|
||||
mld_melding_externnr,
|
||||
prs_perslid_key,
|
||||
prs_perslid_key_voor,
|
||||
@@ -1153,7 +1230,7 @@ BEGIN
|
||||
SUBSTR (
|
||||
psubject || CHR (13)
|
||||
|| REPLACE (
|
||||
SUBSTR (v_body,
|
||||
SUBSTR (m_body,
|
||||
1,
|
||||
4000 - (LENGTH (psubject) + 1)),
|
||||
CHR (13)
|
||||
@@ -1166,6 +1243,7 @@ BEGIN
|
||||
NULL,
|
||||
MLD_T_UITVOERTIJD (2, 'D'),
|
||||
stdmelding,
|
||||
28581, -- Locatie onbekend.
|
||||
SUBSTR(v_externnr,1,30),
|
||||
sender,
|
||||
sender,
|
||||
@@ -1263,7 +1341,7 @@ BEGIN
|
||||
|
||||
IF v_locatie_code IS NOT NULL
|
||||
THEN
|
||||
csun_set_kenmerk('MLD',181, mldkey, v_locatie_code, 0); -- locatie_code klant kenmerk
|
||||
csun_set_kenmerk('MLD',281, mldkey, v_locatie_code, 0); -- locatie_code klant kenmerk
|
||||
CSUN.mld_after_insert (mldkey);
|
||||
END IF;
|
||||
-- Log het binnenkomende bericht als dat nodig is.
|
||||
@@ -1759,8 +1837,7 @@ BEGIN
|
||||
p_kenmerk_waarde);
|
||||
END IF;
|
||||
END IF;
|
||||
WHEN 'S'
|
||||
THEN
|
||||
ELSE
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM mld_kenmerkmelding
|
||||
|
||||
Reference in New Issue
Block a user