193 lines
7.9 KiB
SQL
193 lines
7.9 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Customer specific once-script FMHN#88583_CAT.sql.
|
|
DEFINE thisfile = 'FMHN#88583_CAT_TEST.sql'
|
|
DEFINE dbuser = '^FMHN_TEST'
|
|
|
|
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 ------
|
|
|
|
-- FMHN#88583: Migratie van bezoekersregistratie, reserveringen en catering voor nieuw pand Zurichtoren;
|
|
-- Hoofdbewoner is ACM.
|
|
|
|
DECLARE
|
|
c_fielddelimitor VARCHAR2 (1) := ';';
|
|
v_newline VARCHAR2 (1000); -- Input line
|
|
v_errormsg VARCHAR2 (1000);
|
|
v_errorhint VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanduiding VARCHAR2 (500);
|
|
v_reservering_key NUMBER;
|
|
v_res_rsv_ruimte_key NUMBER;
|
|
v_res_rsv_artikel_key NUMBER;
|
|
v_ruimte_opstel_key NUMBER;
|
|
v_soort VARCHAR2 (200);
|
|
|
|
CURSOR catres IS
|
|
SELECT csv.fac_import_key,
|
|
csv.fac_imp_csv_col03
|
|
AS ResnrTD,
|
|
(SELECT MAX (rrr.res_reservering_key)
|
|
FROM res_rsv_ruimte rrr, res_kenmerkwaarde rkm
|
|
WHERE rrr.res_rsv_ruimte_key = rkm.res_rsv_ruimte_key
|
|
AND rkm.res_kenmerk_key = 23 --kenmerk referentie
|
|
AND LOWER (rkm.res_kenmerkreservering_waarde) =
|
|
LOWER (csv.fac_imp_csv_col03)
|
|
AND rkm.res_kenmerkwaarde_verwijder IS NULL)
|
|
AS reserveringsnr_fac,
|
|
(SELECT MAX (rrr.res_rsv_ruimte_key)
|
|
FROM res_rsv_ruimte rrr, res_kenmerkwaarde rkm
|
|
WHERE rrr.res_rsv_ruimte_key = rkm.res_rsv_ruimte_key
|
|
AND rkm.res_kenmerk_key = 23 --kenmerk referentie
|
|
AND LOWER (rkm.res_kenmerkreservering_waarde) =
|
|
LOWER (csv.fac_imp_csv_col03)
|
|
AND rkm.res_kenmerkwaarde_verwijder IS NULL)
|
|
AS res_rsv_ruimte_key,
|
|
DECODE (
|
|
(SELECT MAX (rrr.res_rsv_ruimte_key)
|
|
FROM res_rsv_ruimte rrr, res_kenmerkwaarde rkm
|
|
WHERE rrr.res_rsv_ruimte_key =
|
|
rkm.res_rsv_ruimte_key
|
|
AND rkm.res_kenmerk_key = 23 --kenmerk referentie
|
|
AND LOWER (rkm.res_kenmerkreservering_waarde) =
|
|
LOWER (csv.fac_imp_csv_col03)
|
|
AND rkm.res_kenmerkwaarde_verwijder IS NULL),
|
|
NULL, NULL,
|
|
(DECODE (fac.safe_to_number (csv.fac_imp_csv_col22),
|
|
NULL, 'Opstelling',
|
|
'Catering')))
|
|
AS soort,
|
|
csv.fac_imp_csv_col01
|
|
AS omschrijving,
|
|
csv.fac_imp_csv_col02
|
|
AS omschrijving2,
|
|
fac.safe_to_number (csv.fac_imp_csv_col22)
|
|
artikel_key,
|
|
k.res_kenmerk_key
|
|
AS kenmerk_toelichting,
|
|
art.res_artikel_omschrijving,
|
|
fac.safe_to_number (csv.fac_imp_csv_col19)
|
|
aantal,
|
|
fac.safe_to_date (csv.fac_imp_csv_col11, 'YYYY-MM-DD HH24:MI')
|
|
van,
|
|
SUBSTR (csv.fac_imp_csv_col20, 1, 4000)
|
|
aantekeningen,
|
|
SUBSTR (csv.fac_imp_csv_col21, 1, 4000)
|
|
aantekeningen2
|
|
FROM fac_imp_csv csv
|
|
LEFT JOIN res_artikel art
|
|
ON fac.safe_to_number (csv.fac_imp_csv_col22) =
|
|
art.res_artikel_key
|
|
INNER JOIN res_kenmerk k
|
|
ON k.res_discipline_key = art.res_discipline_key
|
|
WHERE k.res_srtkenmerk_key = 1 -- Kenmerksoort Toelichting
|
|
AND k.res_kenmerk_verwijder IS NULL
|
|
AND LOWER (csv.fac_imp_csv_col03) <> 'reserveringsnummer'
|
|
-- AND csv.fac_imp_csv_col03 IN ('H2505 1497', 'H2402 1893')
|
|
ORDER BY csv.fac_imp_csv_key;
|
|
BEGIN
|
|
FOR rec IN catres
|
|
LOOP
|
|
v_soort := rec.soort;
|
|
|
|
IF v_soort = 'Catering'
|
|
THEN
|
|
BEGIN
|
|
v_aanduiding :=
|
|
rec.ResnrTD || '-' || rec.reserveringsnr_fac || '/1';
|
|
|
|
v_errormsg := 'Fout toevoegen rsv_artikel';
|
|
|
|
|
|
|
|
INSERT INTO res_rsv_artikel (res_artikel_key,
|
|
res_rsv_artikel_aantal,
|
|
res_rsv_artikel_levering,
|
|
res_status_bo_key,
|
|
res_rsv_ruimte_key)
|
|
VALUES (rec.artikel_key,
|
|
rec.aantal,
|
|
rec.van,
|
|
2,
|
|
rec.res_rsv_ruimte_key)
|
|
RETURNING res_rsv_artikel_key
|
|
INTO v_res_rsv_artikel_key;
|
|
|
|
INSERT INTO res_kenmerkartikel (res_rsv_artikel_key,
|
|
res_kenmerk_key,
|
|
res_kenmerkartikel_waarde)
|
|
VALUES (v_res_rsv_artikel_key,
|
|
rec.kenmerk_toelichting, -- Kenmerk toelichting bij artikel
|
|
SUBSTR ((rec.aantekeningen), 1, 100));
|
|
|
|
FAC.trackaction (
|
|
'#RESUPD',
|
|
rec.res_rsv_ruimte_key,
|
|
3,
|
|
SYSDATE,
|
|
'Reservering '
|
|
|| rec.reserveringsnr_fac
|
|
|| '/1 gewijzigd'
|
|
|| CHR (13)
|
|
|| 'Artikel '
|
|
|| rec.res_artikel_omschrijving
|
|
|| ' toegevoegd');
|
|
END;
|
|
END IF;
|
|
|
|
IF v_soort = 'Opstelling'
|
|
THEN
|
|
BEGIN
|
|
v_aanduiding :=
|
|
rec.ResnrTD || '-' || rec.reserveringsnr_fac || '/1';
|
|
|
|
v_errormsg := 'Fout toevoegen informatie opstelling';
|
|
|
|
INSERT INTO res_kenmerkwaarde (res_rsv_ruimte_key,
|
|
res_kenmerk_key,
|
|
res_kenmerkreservering_waarde)
|
|
VALUES (
|
|
rec.res_rsv_ruimte_key,
|
|
68, -- Kenmerk toelichting bij activiteit Vergadering
|
|
SUBSTR (
|
|
( rec.omschrijving2
|
|
|| CHR (13)
|
|
|| CHR (10)
|
|
|| rec.aantekeningen
|
|
|| CHR (13)
|
|
|| CHR (10)
|
|
|| rec.aantekeningen2),
|
|
1,
|
|
100));
|
|
END;
|
|
END IF;
|
|
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
|