205 lines
7.7 KiB
SQL
205 lines
7.7 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Import tabel uitbreiden met btw tarief.
|
|
|
|
DEFINE thisfile = 'VENR#87896.SQL'
|
|
DEFINE dbuser = '^YASK'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
|
SPOOL &fcltlogfile
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
PROMPT &fcltcusterr
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
-- importtabel tbv import van catering.
|
|
DECLARE
|
|
CURSOR c IS
|
|
SELECT fac_imp_csv_col01
|
|
bez_afspraak_key,
|
|
(SELECT MAX (prs_perslid_key)
|
|
FROM prs_perslid
|
|
WHERE LOWER (prs_perslid_email) = LOWER (fac_imp_csv_col02) AND prs_perslid_verwijder IS NULL)
|
|
prs_perslid_key,
|
|
fac_imp_csv_col02
|
|
prs_perslid_email,
|
|
(SELECT prs_perslid_key
|
|
FROM prs_perslid
|
|
WHERE LOWER (prs_perslid_email) = LOWER (fac_imp_csv_col03) AND prs_perslid_verwijder IS NULL)
|
|
bez_afsrpaak_host_key,
|
|
fac_imp_csv_col03
|
|
bez_afspraak_host_email,
|
|
(SELECT MAX (prs_perslid_key)
|
|
FROM prs_perslid
|
|
WHERE LOWER (prs_perslid_email) = LOWER (fac_imp_csv_col04) AND prs_perslid_verwijder IS NULL)
|
|
bez_afspraak_contact_key,
|
|
fac_imp_csv_col04
|
|
bez_afspraak_contact_email,
|
|
fac_imp_csv_col05
|
|
bez_afspraak_gastheer,
|
|
fac_imp_csv_col06
|
|
bez_afspraak_telefoonnr,
|
|
TO_DATE (fac_imp_csv_col07, 'yyyy-mm-dd hh24:mi:ss')
|
|
bez_afspraak_datum,
|
|
TO_DATE (fac_imp_csv_col08, 'yyyy-mm-dd hh24:mi:ss')
|
|
bez_afspraak_eind,
|
|
(SELECT bez_actie_key
|
|
FROM bez_actie
|
|
WHERE bez_actie_omschrijving = fac_imp_csv_col09 AND bez_actie_verwijder IS NULL)
|
|
bez_actie_key,
|
|
fac_imp_csv_col09
|
|
bez_actie_omschrijving,
|
|
(SELECT alg_locatie_key
|
|
FROM alg_locatie
|
|
WHERE alg_locatie_code = 'DMU')
|
|
alg_locatie_key,
|
|
fac_imp_csv_col10
|
|
alg_gebouw_code,
|
|
fac_imp_csv_col11
|
|
alg_verdieping_code,
|
|
fac_imp_csv_col12
|
|
alg_ruimte_nr,
|
|
fac_imp_csv_col13
|
|
bez_afspraak_ruimte,
|
|
fac_imp_csv_col14
|
|
bez_afspraak_opmerking,
|
|
fac_imp_csv_col15
|
|
bez_afspraak_naam,
|
|
fac_imp_csv_col16
|
|
bez_afspraak_bedrijf
|
|
FROM fac_imp_csv
|
|
WHERE fac_imp_csv_index <> 1
|
|
ORDER BY fac_imp_csv_col01;
|
|
|
|
v_errormsg VARCHAR2 (1000);
|
|
v_errorhint VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (4000);
|
|
v_aanduiding VARCHAR2 (1000);
|
|
v_gebouw_key NUMBER;
|
|
v_verdieping_key NUMBER;
|
|
v_ruimte_key NUMBER;
|
|
v_onrgoed_key NUMBER;
|
|
v_afspraak_key NUMBER;
|
|
v_afspraak_key_prev NUMBER;
|
|
v_opmerking VARCHAR2(200);
|
|
BEGIN
|
|
v_afspraak_key_prev := -1;
|
|
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
v_opmerking := NULL;
|
|
v_aanduiding := rec.bez_afspraak_key || ' - ' || rec.bez_afspraak_naam;
|
|
|
|
IF v_afspraak_key_prev <> rec.bez_afspraak_key
|
|
THEN
|
|
-- opzoeken ruimte
|
|
v_errorhint := 'Check op gebouw: ' || rec.alg_gebouw_code;
|
|
|
|
SELECT alg_gebouw_key
|
|
INTO v_gebouw_key
|
|
FROM alg_gebouw
|
|
WHERE alg_gebouw_code = rec.alg_gebouw_code AND alg_locatie_key = rec.alg_locatie_key;
|
|
|
|
v_errorhint := 'Check op verdieping: ' || rec.alg_verdieping_code;
|
|
IF rec.alg_verdieping_code IS NOT NULL
|
|
THEN
|
|
SELECT alg_verdieping_key
|
|
INTO v_verdieping_key
|
|
FROM alg_verdieping
|
|
WHERE alg_gebouw_key = v_gebouw_key AND alg_verdieping_code = rec.alg_verdieping_code;
|
|
|
|
v_errorhint := 'Check op ruimte: ' || rec.alg_ruimte_nr;
|
|
IF rec.alg_ruimte_nr IS NOT NULL
|
|
THEN
|
|
BEGIN
|
|
SELECT alg_ruimte_key
|
|
INTO v_ruimte_key
|
|
FROM alg_ruimte
|
|
WHERE alg_verdieping_key = v_verdieping_key AND REPLACE(alg_ruimte_nr, ' ') = REPLACE(rec.alg_ruimte_nr, ' ');
|
|
|
|
|
|
EXCEPTION WHEN NO_DATA_FOUND
|
|
THEN
|
|
SELECT MAX(alg_ruimte_key)
|
|
INTO v_ruimte_key
|
|
FROM alg_ruimte
|
|
WHERE alg_verdieping_key = v_verdieping_key;
|
|
v_opmerking := 'Originele ruimte kon niet gevonden worden: ' || rec.alg_ruimte_nr;
|
|
END;
|
|
v_onrgoed_key := v_ruimte_key;
|
|
ELSE
|
|
v_onrgoed_key := v_verdieping_key;
|
|
END IF;
|
|
ELSE
|
|
v_onrgoed_key := v_gebouw_key;
|
|
END IF;
|
|
|
|
v_errorhint := 'Aanmaken afspraak: ' || rec.bez_afspraak_key;
|
|
INSERT INTO bez_afspraak (prs_perslid_key,
|
|
bez_afspraak_contact_key,
|
|
bez_afspraak_gastheer,
|
|
bez_afspraak_telefoonnr,
|
|
bez_afspraak_datum,
|
|
bez_actie_key,
|
|
alg_locatie_key,
|
|
alg_onrgoed_keys,
|
|
bez_afspraak_opmerking,
|
|
bez_afspraak_eind,
|
|
bez_afspraak_externnr)
|
|
VALUES (rec.prs_perslid_key,
|
|
rec.bez_afspraak_contact_key,
|
|
rec.bez_afspraak_gastheer,
|
|
rec.bez_afspraak_telefoonnr,
|
|
rec.bez_afspraak_datum,
|
|
rec.bez_actie_key,
|
|
rec.alg_locatie_key,
|
|
v_onrgoed_key,
|
|
DECODE(v_opmerking, NULL, rec.bez_afspraak_opmerking, v_opmerking || CHR(10) || CHR(10) || rec.bez_afspraak_opmerking),
|
|
rec.bez_afspraak_eind,
|
|
rec.bez_afspraak_key)
|
|
RETURNING bez_afspraak_key
|
|
INTO v_afspraak_key;
|
|
|
|
v_afspraak_key_prev := rec.bez_afspraak_key;
|
|
END IF;
|
|
|
|
INSERT INTO bez_bezoekers (bez_afspraak_key, bez_afspraak_naam, bez_afspraak_bedrijf)
|
|
VALUES (v_afspraak_key, rec.bez_afspraak_naam, rec.bez_afspraak_bedrijf);
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg := ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
|
fac.writelog ('MIGRATIE BEZOEKERS',
|
|
'E',
|
|
SUBSTR (v_errormsg, 1, 100),
|
|
SUBSTR (v_errorhint, 1, 100));
|
|
END;
|
|
END LOOP;
|
|
END;
|
|
/
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile
|