YAXX#90361 Verwijderen oude procedures
svn path=/Customer/trunk/; revision=70186
This commit is contained in:
598
VBGO/vbgo.sql
598
VBGO/vbgo.sql
@@ -22,122 +22,6 @@ SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
-- Koppeling om persoonsgegevens in te lezen vanuit Synergy van Yask (aangeleverde bestand dat
|
||||
-- in de VenR omgeving via de mail ontvangen is wordt gekopieerd naar de VBGO omgeving.
|
||||
CREATE OR REPLACE PROCEDURE vbgo_import_prs (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_seq_of_columns VARCHAR(255);
|
||||
BEGIN
|
||||
-- v_alg_locatie_code 1
|
||||
-- v_alg_gebouw_code 2
|
||||
-- v_alg_verdieping_volgnr 3
|
||||
-- v_alg_ruimte_nr 4
|
||||
-- v_prs_werkplek_volgnr 5
|
||||
-- v_prs_werkplek_omschrijving 6
|
||||
-- v_prs_afdeling_naam 7
|
||||
-- v_prs_perslid_naam 8
|
||||
-- v_prs_perslid_tussenvoegsel 9
|
||||
-- v_prs_perslid_voornaam 10
|
||||
-- v_prs_perslid_voorletters 11
|
||||
-- v_prs_perslid_partner_naam 12
|
||||
-- v_prs_perslid_partner_tussenv 13
|
||||
-- v_prs_naamgebruik_code 14 0 (default) perslid_naam en perslid_tussenvoegsel worden gebruikt
|
||||
-- 1 personen die de geboortenaam van de partner icm de eigen naam willen gebruiken
|
||||
-- 2 personen die de geboortenaam van de partner willen gebruiken
|
||||
-- 3 personen die de eigen naam icm de geboortenaam van de partner willen gebruiken
|
||||
-- v_prs_perslid_geslacht 15 Gebruik 'man', 'm' of 1 voor man en 'vrouw', 'v' of 0 voor vrouw case insensitive geen default
|
||||
-- v_prs_perslid_telefoonnr 16
|
||||
-- v_prs_perslid_mobiel 17
|
||||
-- v_prs_perslid_email 18
|
||||
-- v_prs_perslid_dienstverband 19
|
||||
-- v_prs_perslid_nr 20
|
||||
-- v_prs_srtperslid_omschrijving 21
|
||||
-- v_prs_perslid_oslogin 22
|
||||
-- v_prs_perslid_wachtwoord 23
|
||||
-- v_prs_perslid_titel 24
|
||||
-- v_prs_perslid_apikey 25
|
||||
-- v_dummy 26
|
||||
-- v_prs_kenmerk1 27
|
||||
-- v_prs_kenmerk2 28
|
||||
-- v_prs_kenmerk3 29
|
||||
-- v_prs_kenmerk4 30
|
||||
-- v_prs_kenmerk5 31
|
||||
-- v_prs_kenmerk6 32
|
||||
-- v_prs_kenmerk7 33
|
||||
-- v_prs_kenmerk8 34
|
||||
-- v_prs_kenmerk9 35
|
||||
-- v_prs_kenmerk10 36
|
||||
-- v_prs_kenmerk11 37
|
||||
-- v_prs_kenmerk12 38
|
||||
-- v_prs_kenmerk13 39
|
||||
-- v_prs_kenmerk14 40
|
||||
-- v_prs_kenmerk15 41
|
||||
-- v_prs_kenmerk16 42
|
||||
-- v_prs_kenmerk17 43
|
||||
-- v_prs_kenmerk18 44
|
||||
-- v_prs_kenmerk19 45
|
||||
-- v_prs_kenmerk20 46
|
||||
-- Voeg een lege regel toe anders wordt de eerste persoon geskipped.
|
||||
INSERT INTO fac_imp_file (fac_imp_file_line, fac_imp_file_index, fac_import_key)
|
||||
VALUES ('Header', 0, p_import_key);
|
||||
v_seq_of_columns := '0;0;0;0;0;0;9;4;3;2;0;0;0;0;0;10;11;8;0;1;5;8;0;0;0;0;6;7;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0';
|
||||
prs.import_perslid(p_import_key, v_seq_of_columns, '%');
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_perslid_oslogin = UPPER(prs_perslid_oslogin),
|
||||
prs_afdeling_naam = 'FS';
|
||||
|
||||
DELETE fac_imp_perslid
|
||||
WHERE prs_perslid_oslogin IS NULL;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vbgo_update_prs (p_import_key IN NUMBER)
|
||||
IS
|
||||
CURSOR c_del
|
||||
IS
|
||||
SELECT p.prs_perslid_key
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_perslid_verwijder IS NULL -- Persoon niet verwijderd
|
||||
AND p.prs_afdeling_key = 75 -- FS
|
||||
AND p.prs_perslid_nr IS NOT NULL
|
||||
AND SUBSTR (COALESCE (p.prs_perslid_oslogin, 'Que'), 1, 1) <> '_'
|
||||
AND COALESCE (p.prs_perslid_login, SYSDATE - 300) < SYSDATE - 60 -- Persoon 2 maanden niet ingelogd geweest
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM fac_imp_perslid i
|
||||
WHERE lower(i.prs_perslid_email) = lower(p.prs_perslid_email));
|
||||
|
||||
v_count NUMBER;
|
||||
BEGIN
|
||||
SELECT COUNT ( * ) INTO v_count FROM fac_imp_perslid;
|
||||
|
||||
prs.update_perslid (p_import_key, 'EMAIL', NULL);
|
||||
|
||||
INSERT INTO fac_gebruikersgroep gg (prs_perslid_key, fac_groep_key)
|
||||
SELECT p.prs_perslid_key, 487 -- YASK_Default_MLD_BES_RES
|
||||
FROM prs_perslid p
|
||||
WHERE prs_perslid_verwijder IS NULL
|
||||
AND prs_afdeling_key = 75 -- YASK
|
||||
AND NOT EXISTS (SELECT 1
|
||||
FROM fac_gebruikersgroep gg2
|
||||
WHERE gg2.fac_groep_key = 487
|
||||
AND p.prs_perslid_key = gg2.prs_perslid_key);
|
||||
|
||||
-- Oppassen dat we geen leeg bestand ontvangen hebben.
|
||||
IF v_count > 100
|
||||
THEN
|
||||
FOR rec IN c_del
|
||||
LOOP
|
||||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||||
END LOOP;
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
-- View voor reserveerbare (werkplek)OBJECTEN, het default thema met key 13
|
||||
-- Deze core-view wordt direct als kleur-objecten-thema gebruikt, maar kan ook als basis voor een alternatief via worden gebruikt
|
||||
@@ -239,488 +123,6 @@ AS
|
||||
AND rr.res_ruimte_key = rar.res_ruimte_key;
|
||||
|
||||
|
||||
-- Tijdelijke procedures om reserveringen uit Outlook in te lezen
|
||||
CREATE OR REPLACE PROCEDURE vbgo_import_res (p_import_key IN NUMBER)
|
||||
AS
|
||||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||||
v_newline VARCHAR2 (1000); -- Input line
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
|
||||
-- De importvelden:
|
||||
v_afdelingscode VARCHAR2 (100);
|
||||
v_afdelingsomschrijving VARCHAR2 (100);
|
||||
v_afdelingsparent VARCHAR2 (100);
|
||||
v_zaal VARCHAR2(1000);
|
||||
v_starttijd VARCHAR2(100);
|
||||
v_eindtijd VARCHAR2(100);
|
||||
v_onderwerp VARCHAR2(1000);
|
||||
v_organisator VARCHAR2(100);
|
||||
v_uitgenodigd VARCHAR2(1000);
|
||||
v_dummy VARCHAR2(1000);
|
||||
|
||||
v_perslid_key NUMBER;
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT *
|
||||
FROM fac_imp_file
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
BEGIN
|
||||
-- Eerst de importtabel leegmaken
|
||||
DELETE vbgo_imp_res;
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Fout FETCH te importeren rij';
|
||||
|
||||
v_newline := rec.fac_imp_file_line;
|
||||
v_errormsg := 'Fout opvragen te importeren rij';
|
||||
v_aanduiding := '';
|
||||
|
||||
-- Lees alle veldwaarden
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_zaal);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dummy);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_starttijd);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_eindtijd);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_onderwerp);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_organisator);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_uitgenodigd);
|
||||
|
||||
v_aanduiding := v_zaal || '|' || v_starttijd || '|' || v_eindtijd;
|
||||
|
||||
v_errormsg :=
|
||||
'Fout bij toevoegen te impoteren bedrijf/afdeling [' || v_aanduiding || ']';
|
||||
|
||||
BEGIN
|
||||
SELECT MAX(prs_perslid_key)
|
||||
INTO v_perslid_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_verwijder IS NULL
|
||||
AND UPPER(prs_perslid_email) = UPPER(v_organisator);
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_errormsg,
|
||||
'');
|
||||
END;
|
||||
|
||||
INSERT INTO vbgo_imp_res (zaal,
|
||||
starttijd,
|
||||
eindtijd,
|
||||
onderwerp,
|
||||
organisator,
|
||||
uitgenodigd)
|
||||
VALUES (v_zaal,
|
||||
v_starttijd,
|
||||
v_eindtijd,
|
||||
v_onderwerp,
|
||||
v_organisator,
|
||||
v_uitgenodigd);
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
'');
|
||||
END vbgo_import_res;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vbgo_update_res (p_import_key IN NUMBER)
|
||||
AS
|
||||
CURSOR c IS
|
||||
SELECT *
|
||||
FROM vbgo_imp_res
|
||||
WHERE TO_DATE (starttijd, 'dd-mm-yyyy hh24:mi') > SYSDATE
|
||||
AND starttijd NOT LIKE 'Starttijd';
|
||||
|
||||
v_ruimte_opstel_key NUMBER;
|
||||
v_perslid_key NUMBER;
|
||||
v_res_ruimte_key NUMBER;
|
||||
v_rsv_ruimte_key NUMBER;
|
||||
v_reservering_key NUMBER;
|
||||
v_opmerking VARCHAR2(200);
|
||||
|
||||
v_aanduiding VARCHAR2 (100);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
BEGIN
|
||||
BEGIN
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
v_opmerking := NULL;
|
||||
v_aanduiding := rec.zaal || '-' || rec.starttijd;
|
||||
v_errorhint := 'Opzoeken reserveerbare ruimte: ' || rec.zaal;
|
||||
|
||||
SELECT CASE SUBSTR (rec.zaal, 1, INSTR (rec.zaal, '@') - 1)
|
||||
WHEN 'ams.jordaan' THEN 21 --AMS Vergaderruimte 2 - De Jordaan ams.jordaan@vebego.mail.onmicrosoft.com
|
||||
WHEN 'AMS.Albert' THEN 41 --AMS Vergaderruimte 1 - Albert Cuyp AMS.Albert@vebego.mail.onmicrosoft.com
|
||||
WHEN 'ams.dam' THEN 42 --AMS Vergaderruimte 3 - De dam ams.dam@vebego.mail.onmicrosoft.com
|
||||
WHEN 'ams.vondelpark' THEN 61 --AMS Vergaderruimte 6 - Het vondelpark ams.vondelpark@vebego.mail.onmicrosoft.com
|
||||
WHEN 'ams.rembrandtplein' THEN 62 --AMS Vergaderruimte 5 - Rembrandtplein ams.rembrandtplein@vebego.mail.onmicrosoft.com
|
||||
WHEN 'ams.johan' THEN 63 --AMS Vergaderruimte 4 - Johan Cruijf Arena ams.johan@vebego.mail.onmicrosoft.com
|
||||
WHEN 'Vergaderruimte.1.Eindhoven' THEN 81 --EIND Vergaderruimte 1 - Eindhoven Vergaderruimte.1.Eindhoven@hago.nl
|
||||
WHEN 'Vergaderruimte.2.Eindhoven' THEN 101 --EIND Vergaderruimte 2 - Eindhoven Vergaderruimte.2.Eindhoven@hago.nl
|
||||
WHEN 'Vergaderruimte.3.Eindhoven' THEN 121 --EIND Vergaderruimte 3 - Eindhoven Vergaderruimte.3.Eindhoven@hago.nl
|
||||
WHEN 'ruimte1arn' THEN 141 --ARN Vergaderruimte 1 - Arnhem ruimte1arn@vebego.mail.onmicrosoft.com
|
||||
WHEN '19' THEN 142 --EIND Vergaderruimte 4 - Eindhoven
|
||||
WHEN 'ruimte2arn' THEN 143 --ARN Vergaderruimte 2 - Arnhem ruimte2arn@vebego.mail.onmicrosoft.com
|
||||
WHEN 'ruimte3arn' THEN 144 --ARN Vergaderruimte 3 - Arnhem ruimte3arn@vebego.mail.onmicrosoft.com
|
||||
WHEN '22' THEN 161 --EIND Combi ruimte 2&3 - Eindhoven
|
||||
WHEN '23' THEN 161 --EIND Combi ruimte 2&3 - Eindhoven
|
||||
WHEN 'Vergaderruimte1' THEN 181 --DB Vergaderruimte 1 - Den Bosch Vergaderruimte1@hagozorg.nl
|
||||
WHEN '25' THEN 201 --DB Vergaderruimte 3 - Den Bosch
|
||||
WHEN 'Vergaderruimte4' THEN 221 --DB Vergaderruimte 4 - Den Bosch Vergaderruimte4@hagozorg.nl
|
||||
WHEN 'Vergaderruimte5' THEN 222 --DB Vergaderruimte 5 - Den Bosch Vergaderruimte5@hagozorg.nl
|
||||
WHEN 'Vergaderkamer.Capelle.Hago.Zorg' THEN 223 --CAP Vergaderruimte ZW - Capelle Vergaderkamer.Capelle.Hago.Zorg@hagozorg.nl
|
||||
WHEN 'Vergaderruimte6' THEN 224 --DB Vergaderruimte 6 - Den Bosch Vergaderruimte6@hagozorg.nl
|
||||
WHEN 'Vergaderruimte1CAY' THEN 225 --CAP Vergaderruimte 1 - Capelle Vergaderruimte1CAY@hago.nl
|
||||
WHEN 'Vergaderruimte7' THEN 226 --DB Vergaderruimte 7 - Den Bosch Vergaderruimte7@hagozorg.nl
|
||||
WHEN 'Vergaderruimte2CAY' THEN 227 --CAP Vergaderruimte 2 - Capelle Vergaderruimte2CAY@hago.nl
|
||||
WHEN 'Vergaderruimte8' THEN 228 --DB Vergaderruimte 8 - Den Bosch Vergaderruimte8@hagozorg.nl
|
||||
WHEN '34' THEN 229 --CAP Spreekkamer - Capelle
|
||||
WHEN 'Vergaderkamer.heerlen1' THEN 241 --HRL/8 Vergaderruimte 1 - Heerlen Vergaderkamer.heerlen1@hagozorg.nl
|
||||
WHEN 'Vergaderkamer.heerlen2' THEN 242 --HRL/8 Vergaderruimte 2 - Heerlen Vergaderkamer.heerlen2@hagozorg.nl
|
||||
WHEN 'Vergaderkamer.heerlen3' THEN 243 --HRL/8 Vergaderruimte 3 - Heerlen Vergaderkamer.heerlen3@hagozorg.nl
|
||||
WHEN 'Vergaderkamer.heerlen4' THEN 244 --HRL/8 Vergaderruimte 4 - Heerlen Vergaderkamer.heerlen4@hagozorg.nl
|
||||
WHEN 'Vergaderkamer.heerlen5' THEN 245 --HRL/8 Vergaderruimte 5 - Heerlen Vergaderkamer.heerlen5@hagozorg.nl
|
||||
WHEN 'Vergaderkamer.heerlen.6' THEN 246 --HRL/8 Vergaderruimte 6 - Heerlen Vergaderkamer.heerlen.6@hagozorg.nl
|
||||
WHEN '41' THEN 247 --HRL/8 Vergaderruimte 7 - Heerlen
|
||||
WHEN '42' THEN 261 --HRL/8 Vergaderruimte 1 - Heerlen 8A
|
||||
WHEN '43' THEN 262 --HRL/8 Vergaderruimte 2 - Heerlen 8A
|
||||
WHEN '44' THEN 263 --HRL/8 Vergaderruimte 3 - Heerlen 8A
|
||||
WHEN '45' THEN 264 --HRL/8 Vergaderruimte 4 - Heerlen 8A
|
||||
WHEN '45' THEN 265 --HRL/8 Vergaderruimte 5 - Heerlen 8A
|
||||
WHEN '46' THEN 266 --HRL/8 Vergaderruimte 6 - Heerlen 8A
|
||||
ELSE -1
|
||||
END
|
||||
INTO v_res_ruimte_key
|
||||
FROM DUAL;
|
||||
|
||||
v_errorhint := 'Opzoeken opstelling: ' || rec.zaal;
|
||||
|
||||
SELECT res_ruimte_opstel_key
|
||||
INTO v_ruimte_opstel_key
|
||||
FROM res_ruimte_opstelling
|
||||
WHERE res_ruimte_opstel_verwijder IS NULL
|
||||
AND res_ruimte_key = v_res_ruimte_key;
|
||||
|
||||
BEGIN
|
||||
SELECT prs_perslid_key
|
||||
INTO v_perslid_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_verwijder IS NULL
|
||||
AND UPPER (prs_perslid_email) =
|
||||
UPPER (rec.organisator);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_perslid_key := 3; -- Facilitor
|
||||
v_opmerking := 'Contactpersoon: ' || rec.organisator;
|
||||
END;
|
||||
|
||||
INSERT INTO res_reservering (res_reservering_verwijder)
|
||||
VALUES (NULL)
|
||||
RETURNING res_reservering_key
|
||||
INTO v_reservering_key;
|
||||
|
||||
v_errormsg := 'Fout toevoegen rsv_ruimte.';
|
||||
|
||||
INSERT INTO res_rsv_ruimte (res_reservering_key,
|
||||
res_rsv_ruimte_volgnr,
|
||||
res_rsv_ruimte_opmerking,
|
||||
res_rsv_ruimte_omschrijving,
|
||||
prs_kostenplaats_key,
|
||||
res_rsv_ruimte_contact_key,
|
||||
res_rsv_ruimte_host_key,
|
||||
res_ruimte_opstel_key,
|
||||
res_activiteit_key,
|
||||
res_rsv_ruimte_van,
|
||||
res_rsv_ruimte_tot,
|
||||
res_rsv_ruimte_bezoekers,
|
||||
res_status_fo_key,
|
||||
res_status_bo_key)
|
||||
VALUES (v_reservering_key,
|
||||
1,
|
||||
v_opmerking,
|
||||
rec.onderwerp,
|
||||
NULL,
|
||||
v_perslid_key,
|
||||
v_perslid_key,
|
||||
v_ruimte_opstel_key,
|
||||
10, -- vergadering
|
||||
TO_DATE (rec.starttijd, 'DD-MM-YYYY:HH24:MI'),
|
||||
TO_DATE (rec.eindtijd, 'DD-MM-YYYY:HH24:MI'),
|
||||
NULL,
|
||||
2,
|
||||
2)
|
||||
RETURNING res_rsv_ruimte_key
|
||||
INTO v_rsv_ruimte_key;
|
||||
|
||||
FAC.trackaction ('RESNEW',
|
||||
v_rsv_ruimte_key,
|
||||
3,
|
||||
SYSDATE,
|
||||
'Aangemaakt door conversie uit Outook');
|
||||
|
||||
RES.set_ruimte_dirty (v_rsv_ruimte_key);
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
'Reservering is aangemaakt: ' || v_rsv_ruimte_key,
|
||||
v_aanduiding);
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
v_errorhint);
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
v_errorhint);
|
||||
END;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vbgo_import_mailomzetting (p_import_key IN NUMBER)
|
||||
AS
|
||||
|
||||
CURSOR f IS
|
||||
SELECT *
|
||||
FROM fac_imp_file
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
|
||||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
||||
v_header_is_valid NUMBER;
|
||||
v_count NUMBER;
|
||||
v_field VARCHAR2(100);
|
||||
v_index NUMBER (2);
|
||||
v_old_email_index NUMBER := NULL;
|
||||
v_new_email_index NUMBER := NULL;
|
||||
v_name_index NUMBER := NULL;
|
||||
v_old_email VARCHAR2(200);
|
||||
v_new_email VARCHAR2(200);
|
||||
v_name VARCHAR2(200);
|
||||
c_delim VARCHAR2(1) := ';';
|
||||
BEGIN
|
||||
v_header_is_valid := 0;
|
||||
|
||||
FOR rec IN f
|
||||
LOOP
|
||||
v_newline := rec.fac_imp_file_line;
|
||||
|
||||
IF v_header_is_valid = 0
|
||||
THEN
|
||||
IF rec.fac_imp_file_index = 1
|
||||
THEN
|
||||
v_index := 0;
|
||||
v_field := 'QueQeLeQue';
|
||||
WHILE v_field IS NOT NULL AND v_index < 30
|
||||
LOOP
|
||||
fac.imp_getfield (v_newline, c_delim, v_field);
|
||||
v_index := v_index + 1;
|
||||
CASE UPPER(v_field)
|
||||
WHEN 'CUSTOMER EMAIL' THEN v_old_email_index := v_index;
|
||||
WHEN 'NIEUWE UPN' THEN v_new_email_index := v_index;
|
||||
WHEN 'CUSTOMER NAME' THEN v_name_index := v_index;
|
||||
ELSE
|
||||
NULL;
|
||||
END CASE;
|
||||
END LOOP;
|
||||
END IF;
|
||||
|
||||
IF v_old_email_index IS NOT NULL
|
||||
AND v_new_email_index IS NOT NULL
|
||||
AND v_name_index IS NOT NULL
|
||||
THEN
|
||||
v_header_is_valid := 1;
|
||||
END IF;
|
||||
ELSIF v_newline NOT LIKE ';;;;;;;;%'
|
||||
THEN
|
||||
fac.imp_getfield_nr (v_newline, c_delim, v_old_email_index, v_old_email);
|
||||
fac.imp_getfield_nr (v_newline, c_delim, v_new_email_index, v_new_email);
|
||||
fac.imp_getfield_nr (v_newline, c_delim, v_name_index, v_name);
|
||||
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_verwijder IS NULL AND UPPER (prs_perslid_email) = UPPER (v_old_email);
|
||||
|
||||
IF v_count = 0
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'W', 'Persoon is niet gevonden: ' || v_name || ' <' || v_old_email || '>', '');
|
||||
END IF;
|
||||
|
||||
IF v_count > 1
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'E', 'Persoon is ' || v_count || ' keer gevonden: ' || v_name || ' <' || v_old_email || '>', '');
|
||||
END IF;
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'I', 'Persoon is gevonden: ' || v_name || ' <' || v_old_email || '>', '');
|
||||
END IF;
|
||||
END IF;
|
||||
END LOOP;
|
||||
|
||||
IF v_header_is_valid = 0
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'W', 'Geen geldige header aangetroffen', '');
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vbgo_update_mailomzetting (p_import_key IN NUMBER)
|
||||
AS
|
||||
CURSOR f IS
|
||||
SELECT *
|
||||
FROM fac_imp_file
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
|
||||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
||||
v_header_is_valid NUMBER;
|
||||
v_count NUMBER;
|
||||
v_field VARCHAR2(100);
|
||||
v_index NUMBER (2);
|
||||
v_old_email_index NUMBER := NULL;
|
||||
v_new_email_index NUMBER := NULL;
|
||||
v_name_index NUMBER := NULL;
|
||||
v_old_email VARCHAR2(200);
|
||||
v_new_email VARCHAR2(200);
|
||||
v_name VARCHAR2(200);
|
||||
c_delim VARCHAR2(1) := ';';
|
||||
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
v_prs_perslid_key NUMBER;
|
||||
BEGIN
|
||||
v_aanduiding := 'Initialisatie';
|
||||
v_header_is_valid := 0;
|
||||
|
||||
v_header_is_valid := 0;
|
||||
|
||||
FOR rec IN f
|
||||
LOOP
|
||||
BEGIN
|
||||
v_newline := rec.fac_imp_file_line;
|
||||
|
||||
IF v_header_is_valid = 0
|
||||
THEN
|
||||
IF rec.fac_imp_file_index = 1
|
||||
THEN
|
||||
v_index := 0;
|
||||
v_field := 'QueQeLeQue';
|
||||
WHILE v_field IS NOT NULL AND v_index < 30
|
||||
LOOP
|
||||
fac.imp_getfield (v_newline, c_delim, v_field);
|
||||
v_index := v_index + 1;
|
||||
CASE UPPER(v_field)
|
||||
WHEN 'CUSTOMER EMAIL' THEN v_old_email_index := v_index;
|
||||
WHEN 'NIEUWE UPN' THEN v_new_email_index := v_index;
|
||||
WHEN 'CUSTOMER NAME' THEN v_name_index := v_index;
|
||||
ELSE
|
||||
NULL;
|
||||
END CASE;
|
||||
END LOOP;
|
||||
END IF;
|
||||
|
||||
IF v_old_email_index IS NOT NULL
|
||||
AND v_new_email_index IS NOT NULL
|
||||
AND v_name_index IS NOT NULL
|
||||
THEN
|
||||
v_header_is_valid := 1;
|
||||
END IF;
|
||||
ELSIF v_newline NOT LIKE ';;;;;;;;%'
|
||||
THEN
|
||||
fac.imp_getfield_nr (v_newline, c_delim, v_old_email_index, v_old_email);
|
||||
fac.imp_getfield_nr (v_newline, c_delim, v_new_email_index, v_new_email);
|
||||
fac.imp_getfield_nr (v_newline, c_delim, v_name_index, v_name);
|
||||
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_verwijder IS NULL AND UPPER (prs_perslid_email) = UPPER (v_old_email);
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
SELECT prs_perslid_key
|
||||
INTO v_prs_perslid_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_verwijder IS NULL AND UPPER (prs_perslid_email) = UPPER (v_old_email);
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_email = v_new_email
|
||||
WHERE prs_perslid_key = v_prs_perslid_key;
|
||||
|
||||
BEGIN fac.trackaction('PRSUPD', v_prs_perslid_key, NULL, NULL, 'E-mail: ' || v_old_email || ' --> ' || v_new_email); END;
|
||||
fac.imp_writelog (p_import_key, 'I', 'Email is aangepast: ' || v_name || ' <' || v_old_email || '>', '');
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
EXCEPTION WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_aanduiding);
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
IF v_header_is_valid = 0
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'W', 'Geen geldige header aangetroffen', '');
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
-- View om een catalogus te exporteren die daarna weer ingelezen kan worden.
|
||||
-- Hopelijk komt hier met YAXX#78417 een generieke oplossing voor.
|
||||
CREATE OR REPLACE VIEW vbgo_v_rap_sync_catalogus
|
||||
|
||||
Reference in New Issue
Block a user