CSUN#40729 -- Automatisering Facilitor koppelingen (KPMG e.v.a.)
svn path=/Customer/trunk/; revision=36068
This commit is contained in:
@@ -680,6 +680,9 @@ AS
|
||||
OR v_client = 301 -- Humanitas
|
||||
OR v_client = 382 -- KPN Retail
|
||||
OR v_client = 321 -- Tennet
|
||||
OR v_client = 602 -- KPMG Meijburg
|
||||
OR v_client = 601 -- KPMG
|
||||
OR v_client = 701 -- Sanquin
|
||||
THEN
|
||||
SELECT alg_locatie_key
|
||||
INTO v_locatie_key
|
||||
@@ -984,8 +987,8 @@ BEGIN
|
||||
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
|
||||
-- Humanitas / KPMG Meijburg heeft de locatiecode ergens in het onderwerp staan
|
||||
IF v_client = 301 OR v_client = 602
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT lc.alg_onrgoedkenmerk_waarde
|
||||
@@ -996,7 +999,7 @@ BEGIN
|
||||
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 || '%';
|
||||
AND UPPER(psubject) LIKE '%' || UPPER(lc.alg_onrgoedkenmerk_waarde) || '%';
|
||||
EXCEPTION WHEN OTHERS
|
||||
THEN
|
||||
v_locatie_code := NULL;
|
||||
@@ -1016,28 +1019,60 @@ BEGIN
|
||||
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.
|
||||
IF v_client = 601 -- KPMG
|
||||
THEN
|
||||
-- eerst de regel vinden
|
||||
v_locatie_code := SUBSTR(v_body, INSTR(v_body, 'Locatie: '), -- start vd regel
|
||||
INSTR(v_body, CHR(13), -- op zoek naar het einde vd regel
|
||||
INSTR(v_body, 'Locatie: ') -- waarbij we beginnen te zoeken aan het begin vd regel
|
||||
)-
|
||||
INSTR(v_body, 'Locatie: ')); -- verminderd met het begin vd regel omdat we alleen het verschil mee moeten geven.
|
||||
-- nu de locatiecode
|
||||
v_locatie_code := TRIM(SUBSTR(v_locatie_code, 9));
|
||||
END IF;
|
||||
|
||||
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;
|
||||
-- Bij Sanquin komt de locatie ergens achter de tekst Locatie: te staan
|
||||
IF v_client = 701 -- Sanquin
|
||||
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 UPPER(v_body) LIKE '%LOCATIE: ' || UPPER(lc.alg_onrgoedkenmerk_waarde) || '%';
|
||||
EXCEPTION WHEN OTHERS
|
||||
THEN
|
||||
v_locatie_code := NULL;
|
||||
END;
|
||||
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
|
||||
@@ -1350,11 +1385,11 @@ BEGIN
|
||||
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.
|
||||
-- IF sender = 23 THEN -- ABNAMRO
|
||||
-- insert into fac_rapport (fac_rapport_node, fac_rapport_volgnr, fac_rapport_regel, fac_rapport_soort)
|
||||
-- values ('MELDING', mldkey, SUBSTR(pbody, 1, 1900), 1);
|
||||
-- END IF;
|
||||
-- Log het binnenkomende bericht als dat nodig is.
|
||||
-- IF sender = 23 THEN -- ABNAMRO
|
||||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_volgnr, fac_rapport_regel, fac_rapport_soort)
|
||||
VALUES (SUBSTR('MELDING_' || v_client, 1, 12), mldkey, SUBSTR(pbody, 1, 1990), 1);
|
||||
-- END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
|
||||
Reference in New Issue
Block a user