Files
Customer/onces/FMHN/FMHN#88583_CAT_TEST.sql
Sander Schepers f07e025527 FMHN#88583 Aansluiting Zurichtoren op Facilitor
svn path=/Customer/; revision=69182
2025-05-28 12:34:53 +00:00

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