IVET#73753 Sleepbaar thema/Bugfix(es) trigger

svn path=/Customer/trunk/; revision=56984
This commit is contained in:
Maarten van der Heide
2022-08-24 08:06:56 +00:00
parent f348046839
commit 7b89fb2abe

View File

@@ -2,28 +2,31 @@
-- $Id$
--
-- Script containing customer specific sql statements for the FACILITOR database
DEFINE thisfile = 'HPJI.SQL'
DEFINE dbuser = '^HPJI'
DEFINE custid = 'HPJI'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile ('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
WHENEVER SQLERROR CONTINUE;
---------------------------------------
PROMPT &fcltcusttxt
---------------------------------------
SET DEFINE OFF
------ payload begin ------
CREATE OR REPLACE PACKAGE HPJI
AS
-- PACKAGES voor de HPJI specifieke ondersteuning
TYPE t_cursor IS REF CURSOR;
PROCEDURE hpji_noti_per_controle;
PROCEDURE rap_it_inventaris_jaar (user_key IN NUMBER,
@@ -107,7 +110,7 @@ AS
'Error ' || oracle_err_num || '/' || oracle_err_mes,
v_errorhint);
END hpji_noti_per_controle;
PROCEDURE rap_it_inventaris_jaar (user_key IN NUMBER,
p_datum_van IN VARCHAR2, -- Let wel: formaat '24-06-1965'
p_datum_tot IN VARCHAR2,
@@ -591,33 +594,36 @@ AS
CREATE OR REPLACE TRIGGER hpji_t_thema_vloerafw_i_iu
INSTEAD OF INSERT OR UPDATE
ON hpji_v_thema_vloerafw
INSTEAD OF INSERT OR UPDATE
ON hpji_v_thema_vloerafw
BEGIN
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
THEN
DELETE FROM alg_onrgoedkenmerk
WHERE alg_onrgoed_key = :new.alg_ruimte_key
AND alg_onrgoedkenmerk_waarde <> :new.waarde_key;
END IF;
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
THEN
DELETE FROM alg_onrgoedkenmerk
WHERE alg_onrgoed_key = :new.alg_ruimte_key
AND alg_onrgoed_niveau = 'R'
AND alg_kenmerk_key = 1020
AND (alg_onrgoedkenmerk_waarde IS NULL -- IVET#73753/73776: Zou nooit NULL mogen zijn, maar was dat ergens wel!?
OR fac.safe_to_number (alg_onrgoedkenmerk_waarde) <> :new.waarde_key);
END IF;
BEGIN
IF :new.waarde_key <> -1
THEN
INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key,
alg_onrgoed_niveau,
alg_kenmerk_key,
alg_onrgoedkenmerk_waarde)
VALUES (:new.alg_ruimte_key,
'R',
1020,
:new.waarde_key);
END IF;
EXCEPTION
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
THEN
NULL;
END;
BEGIN
IF :new.waarde_key <> -1
THEN
INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key,
alg_onrgoed_niveau,
alg_kenmerk_key,
alg_onrgoedkenmerk_waarde)
VALUES (:new.alg_ruimte_key,
'R',
1020,
:new.waarde_key);
END IF;
EXCEPTION
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
THEN
NULL;
END;
END;
/
@@ -2183,7 +2189,7 @@ END hpji_update_prs;
CREATE OR REPLACE PROCEDURE hpji_post_update_perslid (p_import_key IN NUMBER)
AS
--- #72210 alle persleden moeten in de autorisatiegroep Basis Elker (1) als ze daar nog niet in zitten
--- Alle medewerkers moeten het Default profiel krijgen
--- Alle medewerkers moeten het Default profiel krijgen
CURSOR c_auth_default IS
SELECT DISTINCT prs_perslid_key
FROM fac_imp_perslid
@@ -2191,8 +2197,8 @@ AS
AND prs_perslid_key IS NOT NULL
AND prs_perslid_key NOT IN (SELECT prs_perslid_key
FROM fac_gebruikersgroep
WHERE fac_groep_key = 1);
WHERE fac_groep_key = 1);
--- #72210 alle persleden het Default profiel krijgen als ze dat nog niet hebben
CURSOR c_fin_default IS
SELECT DISTINCT prs_perslid_key
@@ -2214,10 +2220,10 @@ BEGIN
FOR rec IN c_fin_default
LOOP
BEGIN
BEGIN
UPDATE prs_perslid p
SET p.fac_profiel_key = 1
WHERE p.prs_perslid_key = rec.prs_perslid_key;
WHERE p.prs_perslid_key = rec.prs_perslid_key;
END;
END LOOP;
@@ -2813,13 +2819,18 @@ EXCEPTION
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('DAILY', 'E', 'Proces afgebroken!', v_errormsg);
END hpji_monthly;
/
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 0); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile
PROMPT Logfile of this upgrade is: &fcltlogfile