154 lines
5.3 KiB
SQL
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_ACCP.SQL.
|
|
DEFINE thisfile = 'FMHN#IMP_FAQ_FCC_ACCP.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 = 102) --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
|
|
522); --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 |