Files
Customer/onces/FMHN/FMHN#IMP_FAQ_FCC_PROD.sql
2021-09-09 09:15:49 +00:00

154 lines
5.3 KiB
SQL

/* Formatted on 3-5-2021 15:37:17 (QP5 v5.136.908.31019) */
--
-- $Id$
--
-- Customer specific once-script FMHN#IMP_FAQ_FCC_PROD.SQL.
DEFINE thisfile = 'FMHN#IMP_FAQ_FCC_PROD.SQL'
DEFINE dbuser = '^FMHN'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile ('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
-- Om kennisbank items in te lezen met kenmerken, worden deze via fac_imp_ins ingelezen.
DECLARE
v_key NUMBER;
CURSOR c
IS
SELECT TRIM (i.ins_kenmerkwaarde1) AS vraag,
TRIM (i.ins_kenmerkwaarde2) AS antwoord,
TRIM (i.ins_kenmerkwaarde3) AS zoekwoorden,
TRIM (i.ins_kenmerkwaarde4) AS locatie,
(SELECT (alg_locatie_key)
FROM alg_locatie
WHERE UPPER (alg_locatie_code) = UPPER (i.ins_kenmerkwaarde4)
AND alg_locatie_verwijder IS NULL)
AS locatie_key,
(SELECT alg_locatie_key
FROM alg_algfaq
WHERE (SELECT MAX (fac_faq_key)
FROM fac_faq
WHERE UPPER (TRIM (fac_faq_question)) =
UPPER (TRIM (i.ins_kenmerkwaarde1))) =
fac_faq_key
AND (SELECT (alg_locatie_key)
FROM alg_locatie
WHERE UPPER (alg_locatie_code) =
UPPER (i.ins_kenmerkwaarde4)
AND alg_locatie_verwijder IS NULL) =
alg_locatie_key)
AS locatie_scope_key,
TRIM (i.ins_kenmerkwaarde5) AS categorie,
(SELECT fac_usrdata_key AS categorie_key
FROM fac_usrdata
WHERE UPPER (fac_usrdata_omschr) =
UPPER (i.ins_kenmerkwaarde5)
AND fac_usrtab_key = 82) --Eigen tabel Faq_Categorie
AS categorie_key,
(SELECT MAX (fac_faq_key)
FROM fac_faq
WHERE UPPER (TRIM (fac_faq_question)) =
UPPER (TRIM (i.ins_kenmerkwaarde1))
AND UPPER (TRIM (fac_faq_answer)) =
UPPER (TRIM (i.ins_kenmerkwaarde2)))
AS bestaand
FROM fac_imp_ins i;
BEGIN
-- Om kennisbank items in te lezen met kenmerken, worden deze via fac_imp_ins ingelezen.
-- *** PRE-CONDITIE ***
-- Alleen inlezen (niet verwerken!) van bestand via 'FIP: 6-Aanvullen objecten'!
-- Verwijder FAC_IMPORT-entry voor vandaag/zojuist door _FACILITOR ingelezen
-- bestand (om verwerken te voorkomen).
DELETE FROM fac_import
WHERE fac_import_app_key = 11 -- FIP: INS
AND fac_import_datum_gelezen IS NOT NULL
AND fac_import_datum_verwerkt IS NULL
AND prs_perslid_key = 3; -- _FACILITOR
COMMIT;
-- Toevoegen Kennisbank-items!
FOR rec IN c
LOOP
v_key := 0;
IF rec.bestaand IS NULL
THEN
INSERT INTO fac_faq (fac_faq_question,
fac_faq_answer,
fac_faq_hint,
fac_faq_datum,
fac_faq_level,
fac_faq_displaymode)
VALUES (rec.vraag,
rec.antwoord,
rec.zoekwoorden,
SYSDATE,
2, --Zichtbaar voor Professional
3)
RETURNING fac_faq_key
INTO v_key;
COMMIT;
--Kenmerk Type vullen
INSERT INTO faq_kenmerkwaarde (fac_faq_key,
faq_kenmerk_key,
faq_kenmerkwaarde_waarde)
VALUES (v_key, 1, --Kenmerk_key Type
382); --Type FCC medewerker (eigen tabel Type)
--Kenmerk categorie vullen
INSERT INTO faq_kenmerkwaarde (fac_faq_key,
faq_kenmerk_key,
faq_kenmerkwaarde_waarde)
VALUES (v_key, 3, --Kenmerk_key Categorie
rec.categorie_key);
--Ook locatie-scope toevoegen
INSERT INTO alg_algfaq (alg_locatie_key, fac_faq_key)
VALUES (rec.locatie_key, v_key);
ELSE
IF rec.locatie_scope_key IS NULL
THEN
--Ook locatie-scope toevoegen
INSERT INTO alg_algfaq (alg_locatie_key, fac_faq_key)
VALUES (fac.safe_to_number (rec.locatie_key),
fac.safe_to_number (rec.bestaand));
END IF;
END IF;
END LOOP;
END;
/
COMMIT;
------ 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