FCLT#86661 Savepoint global tsk_master_schema voor scheduling

svn path=/Database/trunk/; revision=67371
This commit is contained in:
Jos Groot Lipman
2024-12-12 08:14:32 +00:00
parent 6d79eab4c1
commit a2dd7d97b7
10 changed files with 285 additions and 22 deletions

View File

@@ -2250,7 +2250,9 @@ AS
OR EXISTS
(SELECT 1
FROM prs_bedrijfadres ba
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_type = 'BOG')))
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
AND ba.prs_bedrijfadres_startdatum <= SYSDATE
AND ba.prs_bedrijfadres_type = 'BOG')))
LOOP
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
pbedrijfadres_type => bedrijfrec.bedrijfadres_type,

View File

@@ -716,7 +716,9 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
OR EXISTS
(SELECT 1
FROM prs_bedrijfadres ba
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key AND ba.prs_bedrijfadres_type = 'CG')))
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
AND ba.prs_bedrijfadres_startdatum <= SYSDATE
AND ba.prs_bedrijfadres_type = 'CG')))
LOOP
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
pbedrijfadres_type => bedrijfrec.bedrijfadres_type,

View File

@@ -36,6 +36,7 @@
#include "fac_pacflex.src"
#include "fac_pacano.src"
#include "fac_pacdel.src"
#include "fac_pactsk.src"
CREATE OR REPLACE PACKAGE fac
AUTHID CURRENT_USER -- zodat CREATE TABLE lukt
@@ -61,6 +62,7 @@ CREATE OR REPLACE PACKAGE fac
FUNCTION safe_To_Number( str IN VARCHAR2 ) RETURN NUMBER;
FUNCTION safe_To_Date ( pchar IN VARCHAR2, pfmt IN VARCHAR2 ) RETURN DATE;
FUNCTION safe_concat ( pchar1 IN VARCHAR2, pchar2 IN VARCHAR2, pmaxlen NUMBER DEFAULT 4000 ) RETURN VARCHAR2;
FUNCTION safe_least ( p1 IN DATE, p2 IN DATE ) RETURN DATE;
FUNCTION getweekdaynum (d IN DATE) RETURN NUMBER;
FUNCTION getdomeinwaarde (dkey IN NUMBER, waarde IN VARCHAR2, ignorewhenxmlnode IN NUMBER DEFAULT 0) RETURN VARCHAR2;
FUNCTION getscopeleveltext (plevel IN NUMBER, ptype IN VARCHAR) RETURN VARCHAR;
@@ -115,8 +117,6 @@ CREATE OR REPLACE PACKAGE fac
pbedrijfadreskey NUMBER DEFAULT NULL,
pqueue VARCHAR2 DEFAULT 'DEFAULT',
pgeturl VARCHAR2 DEFAULT NULL);
PROCEDURE putnotification (pfrom NUMBER, pto NUMBER, pmessage VARCHAR2, pmode NUMBER,
poptemail VARCHAR2, poptmobile VARCHAR2);
PROCEDURE putsystemnotification (pmessage VARCHAR2, pmode NUMBER);
PROCEDURE putnotificationsrtprio (pfrom NUMBER, pto NUMBER, pcode VARCHAR2, pref NUMBER,
poptmessage VARCHAR2, poptstatus NUMBER, poptemail VARCHAR2, poptmobile VARCHAR2, pxref NUMBER,
@@ -159,8 +159,7 @@ CREATE OR REPLACE PACKAGE fac
psender VARCHAR2 DEFAULT NULL,
plocatie_key NUMBER DEFAULT NULL,
pdiscipline_key NUMBER DEFAULT NULL,
ptypeopdr_key NUMBER DEFAULT NULL,
teverzenden_datum DATE DEFAULT SYSDATE);
ptypeopdr_key NUMBER DEFAULT NULL);
FUNCTION gettrackingdate (peventcode IN VARCHAR2, pkey IN number) RETURN date;
FUNCTION gettrackinguserkey (peventcode IN VARCHAR2, pkey IN number) RETURN number;
PROCEDURE initsession (flcode IN VARCHAR2);
@@ -366,6 +365,19 @@ CREATE OR REPLACE PACKAGE BODY fac AS
RETURN SUBSTR(v_result, 1, pmaxlen);
END;
-- Lever de andere waarde op als er een parameter NULL is
FUNCTION safe_least ( p1 IN DATE, p2 IN DATE ) RETURN DATE
IS
BEGIN
IF p1 IS NULL THEN
RETURN p2;
ELSIF p2 IS NULL THEN
RETURN p1;
ELSE
RETURN LEAST(p1, p2);
END IF;
END;
-- Levert het dow-nummer op (1-7), op een nls-onafhankelijke wijze
FUNCTION getweekdaynum (d IN DATE) RETURN NUMBER IS
BEGIN
@@ -2229,14 +2241,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
END IF;
END;
/* for code compatibility only */
PROCEDURE putnotification (pfrom NUMBER, pto NUMBER, pmessage VARCHAR2, pmode NUMBER,
poptemail VARCHAR2, poptmobile VARCHAR2)
AS
BEGIN
putnotificationprio (pfrom, pto, pmessage, pmode, poptemail, poptmobile, 2);
END;
-- Zet een bericht in de queue ter verspreiding aan de applicatiebeheerders
PROCEDURE putsystemnotification (pmessage VARCHAR2, pmode NUMBER)
AS
@@ -2249,7 +2253,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
BEGIN
FOR rec1 IN c1
LOOP
putnotification (NULL, rec1.prs_perslid_key, pmessage, pmode, NULL, NULL);
putnotificationprio (NULL, rec1.prs_perslid_key, pmessage, pmode, NULL, NULL, 2);
END LOOP;
END;
@@ -2742,6 +2746,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
AS
BEGIN
-- Ruim alle totaal verwerkte notificaties op.
-- Putorders heeft de meeste al wel gedaan maar iets als portal only komt niet per se langs putorders
DELETE FROM fac_notificatie
WHERE fac_notificatie_status IN (0, 16)
AND fac_notificatie_systeemadres IS NULL
@@ -4839,13 +4844,13 @@ CREATE OR REPLACE PACKAGE BODY fac AS
psender VARCHAR2 DEFAULT NULL,
plocatie_key NUMBER DEFAULT NULL,
pdiscipline_key NUMBER DEFAULT NULL,
ptypeopdr_key NUMBER DEFAULT NULL,
teverzenden_datum DATE DEFAULT SYSDATE)
ptypeopdr_key NUMBER DEFAULT NULL)
AS
l_bdradr_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE;
l_basrt_key prs_bedrijfadres_srtnoti.prs_bedrijfadres_srtnoti_key%TYPE;
l_srtnoti_code fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
l_srtnoti_key fac_srtnotificatie.fac_srtnotificatie_key%TYPE;
l_srtnoti_delay fac_srtnotificatie.fac_srtnotificatie_delay%TYPE;
nn_noti NUMBER (10);
BEGIN
-- Merk op: per bedrijf notificeren we hooguit <20><>n enkel technisch adres
@@ -4890,8 +4895,14 @@ CREATE OR REPLACE PACKAGE BODY fac AS
DBMS_OUTPUT.Put_line ('Gevonden technisch adres key ' || l_bdradr_key);
-- Nu de srtnotifictie zoeken
SELECT basrt.prs_bedrijfadres_srtnoti_key, srtnoti.fac_srtnotificatie_code, srtnoti.fac_srtnotificatie_key
INTO l_basrt_key, l_srtnoti_code, l_srtnoti_key
SELECT basrt.prs_bedrijfadres_srtnoti_key,
srtnoti.fac_srtnotificatie_code,
srtnoti.fac_srtnotificatie_delay,
srtnoti.fac_srtnotificatie_key
INTO l_basrt_key,
l_srtnoti_code,
l_srtnoti_delay,
l_srtnoti_key
FROM prs_bedrijfadres_srtnoti basrt, fac_srtnotificatie srtnoti, fac_tracking ft
WHERE basrt.prs_bedrijfadres_key(+) = l_bdradr_key
AND basrt.fac_srtnotificatie_key(+) = srtnoti.fac_srtnotificatie_key
@@ -4931,7 +4942,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
psender,
0,
l_bdradr_key,
teverzenden_datum);
SYSDATE); -- nooit delay, we ontdubbelen toch niet? + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0));
END;
-- Levert de (nieuwste) datum op van een getrackt event op key

145
FAC/FAC_PACTSK.SRC Normal file
View File

@@ -0,0 +1,145 @@
/* $Revision$
* $Id$
*/
/* FAC_PACTSK
*
* Contains all functions for tasker.
*
*/
CREATE OR REPLACE PACKAGE tsk
AS
PROCEDURE registercust (p_customerid VARCHAR2 DEFAULT NULL,
p_schema VARCHAR2 DEFAULT NULL);
PROCEDURE registertask (p_taskcode VARCHAR2,
p_customerid VARCHAR2 DEFAULT NULL);
PROCEDURE starttask (p_taskcode VARCHAR2,
p_nextrun DATE DEFAULT SYSDATE,
p_customerid VARCHAR2 DEFAULT NULL);
END tsk;
/
CREATE OR REPLACE PACKAGE BODY tsk
AS
PROCEDURE registercust (p_customerid VARCHAR2 DEFAULT NULL,
p_schema VARCHAR2 DEFAULT NULL)
AS
tsk_master_schema VARCHAR(32);
custid fac_version.fac_version_cust%TYPE;
selfid fac_version.fac_version_cust%TYPE;
selfschema fac_version.fac_version_schema%TYPE;
tsksql VARCHAR2 (4000);
cursor_name INTEGER;
rows_processed INTEGER;
BEGIN
SELECT fac_version_cust,
fac_version_schema
INTO selfid,
selfschema
FROM fac_version;
custid := COALESCE(p_customerid, selfid);
tsk_master_schema := fac.getsetting ('tsk_master_schema');
IF tsk_master_schema IS NULL OR tsk_master_schema = USER
THEN -- zelf oplossen
BEGIN
INSERT INTO fac_cust(fac_cust_customerid, fac_cust_schema)
VALUES(custid, COALESCE(p_schema, selfschema));
EXCEPTION
WHEN DUP_VAL_ON_INDEX
THEN
NULL;
END;
-- Schema bijwerken
UPDATE fac_cust
SET fac_cust_schema = COALESCE(p_schema, selfschema)
WHERE fac_cust_customerid = custid;
ELSE -- Remote register
tsksql := 'BEGIN ' || tsk_master_schema || '.tsk.registercust(:custid, :schema); END;';
cursor_name := DBMS_SQL.open_cursor;
DBMS_SQL.PARSE (cursor_name, tsksql, DBMS_SQL.NATIVE);
DBMS_SQL.BIND_VARIABLE (cursor_name, ':custid', selfid);
DBMS_SQL.BIND_VARIABLE (cursor_name, ':schema', selfschema);
rows_processed := DBMS_SQL.EXECUTE (cursor_name);
DBMS_SQL.CLOSE_CURSOR (cursor_name);
END IF;
END;
PROCEDURE registertask (p_taskcode VARCHAR2,
p_customerid VARCHAR2 DEFAULT NULL)
AS
tsk_master_schema VARCHAR(32);
selfid fac_version.fac_version_cust%TYPE;
tsksql VARCHAR2 (4000);
cursor_name INTEGER;
rows_processed INTEGER;
BEGIN
SELECT fac_version_cust INTO selfid FROM fac_version;
tsk_master_schema := fac.getsetting ('tsk_master_schema');
IF tsk_master_schema IS NULL OR tsk_master_schema = USER
THEN -- zelf oplossen
BEGIN
INSERT INTO fac_task(fac_cust_key, fac_task_code)
SELECT fac_cust_key, p_taskcode
FROM fac_cust
WHERE fac_cust_customerid = COALESCE(p_customerid, selfid);
EXCEPTION
WHEN DUP_VAL_ON_INDEX
THEN
NULL;
END;
ELSE -- start remote tasker
tsksql := 'BEGIN ' || tsk_master_schema || '.tsk.registertask(:taskcode, :custid); END;';
cursor_name := DBMS_SQL.open_cursor;
DBMS_SQL.PARSE (cursor_name, tsksql, DBMS_SQL.NATIVE);
DBMS_SQL.BIND_VARIABLE (cursor_name, ':custid', selfid);
DBMS_SQL.BIND_VARIABLE (cursor_name, ':taskcode', p_taskcode);
rows_processed := DBMS_SQL.EXECUTE (cursor_name);
DBMS_SQL.CLOSE_CURSOR (cursor_name);
END IF;
END;
-- veronderstelt dat taak al correct is geregistreerd
PROCEDURE starttask (p_taskcode VARCHAR2,
p_nextrun DATE DEFAULT SYSDATE,
p_customerid VARCHAR2 DEFAULT NULL)
AS
tsk_master_schema VARCHAR(32);
selfid fac_version.fac_version_cust%TYPE;
tsksql VARCHAR2 (4000);
cursor_name INTEGER;
rows_processed INTEGER;
BEGIN
SELECT fac_version_cust INTO selfid FROM fac_version;
tsk_master_schema := fac.getsetting ('tsk_master_schema');
IF tsk_master_schema IS NULL OR tsk_master_schema = USER
THEN -- zelf oplossen
UPDATE fac_task
SET fac_task_nextrun = fac.safe_LEAST (p_nextrun, fac_task_nextrun)
WHERE fac_task_code = p_taskcode
AND fac_cust_key = (SELECT fac_cust_key
FROM fac_cust
WHERE fac_cust_customerid = COALESCE(p_customerid, selfid));
ELSE -- start remote tasker
tsksql := 'BEGIN ' || tsk_master_schema || '.tsk.starttask(:taskcode, :nextrun, :custid); END;';
cursor_name := DBMS_SQL.open_cursor;
DBMS_SQL.PARSE (cursor_name, tsksql, DBMS_SQL.NATIVE);
DBMS_SQL.BIND_VARIABLE (cursor_name, ':custid', selfid);
DBMS_SQL.BIND_VARIABLE (cursor_name, ':taskcode', p_taskcode);
DBMS_SQL.BIND_VARIABLE (cursor_name, ':nextrun', p_nextrun);
rows_processed := DBMS_SQL.EXECUTE (cursor_name);
DBMS_SQL.CLOSE_CURSOR (cursor_name);
END IF;
END;
END tsk;
/
-- tsk_master_schema needs:
-- GRANT EXECUTE ON tsk TO PUBLIC
REGISTERRUN('$Id$')

View File

@@ -55,6 +55,8 @@ CREATE SEQUENCE fac_s_fac_session_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_sequence_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_bijlagen_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_layout_key MINVALUE 100;
CREATE SEQUENCE fac_s_fac_cust_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_task_key MINVALUE 1;
-- CREATE SEQUENCE fac_s_fac_queue_key MINVALUE 1;
-- Some free to use sequence to generate unique and sequential numbers

View File

@@ -63,6 +63,8 @@ DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'sys_ip_restrict_internal'
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_imagecharts_account_id' , 'string' , '' , 'Image-charts account_id (future use)')
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_imagecharts_secret_key' , 'string' , '' , 'Image-charts secret_key (future use)')
DEFINE_SETTING('PUO', 0000, 'WEB_FACTAB', 'tsk_master_schema' , 'string' , '' , 'Task master schema name (not necessarily customerId)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_api2_compatibility' , 'number' , '0' , '0=latest and greatest, bit 1=backwards compatible')
DEFINE_SETTING('ALG', 0001, 'WEB_FACFAC', 'alg_ruimte_comm_opp_key' , 'number' , '-1' , 'Key to be used for commercial ruimte oppervlakte')
@@ -354,7 +356,7 @@ DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_show_alg_level'
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t1' , 'float' , '8' , 'visitors day start (hour)')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t1_fo' , 'float' , '-1' , 'visitors day start (hour) frontoffice')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t1_std' , 'float' , '8' , 'standard visiting begin time of visitors (hour)')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t2' , 'float' , '18' , 'visitors day end (hour)')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t2' , 'float' , '18' , 'visitors day end (hour, max. 23.99)')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t2_fo' , 'float' , '-1' , 'visitors day end (hour) frontoffice')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_t2_std' , 'float' , '18' , 'standard visiting end time of visitors (hour)')
DEFINE_SETTING('BEZ', 0001, 'WEB_PRSSYS', 'vis_user_history' , 'number' , '7' , 'number of days in the past the FE can see his vistors')

View File

@@ -1526,7 +1526,8 @@ CREATE_TABLE (fac_version, 0) (
fac_version_putorders_date DATE,
fac_version_scheduler_date DATE,
fac_version_notify_date DATE,
fac_version_cleanup_date DATE
fac_version_cleanup_date DATE,
fac_version_tasker_date DATE
);
CREATE_TABLE(fac_typestaffel, 0)
@@ -2431,4 +2432,27 @@ CREATE_TABLE(fac_layout, 0)
DEFAULT SYSDATE
);
CREATE_TABLE(fac_cust, 0)
(
fac_cust_key NUMBER(10)
CONSTRAINT fac_k_fac_cust_key PRIMARY KEY,
fac_cust_customerid VARCHAR(4) NOT NULL,
fac_cust_schema VARCHAR(30) DEFAULT '00' NOT NULL, // kopie fac_version_schema van de gebruiker
fac_cust_enabled NUMBER(1) DEFAULT 1 NOT NULL, // future use, disable during upgrades?
fac_cust_aanmaak DATE DEFAULT SYSDATE NOT NULL,
CONSTRAINT fac_u_fac_cust UNIQUE(fac_cust_customerid)
);
CREATE_TABLE(fac_task, 0)
(
fac_task_key NUMBER(10)
CONSTRAINT fac_k_fac_task_key PRIMARY KEY,
fac_cust_key NUMBER(10) REFERENCES fac_cust(fac_cust_key) ON DELETE CASCADE,
fac_task_code VARCHAR(32) NOT NULL,
fac_task_nextrun DATE,
fac_task_lastrun DATE,
CONSTRAINT fac_u_fac_task UNIQUE(fac_cust_key, fac_task_code)
);
REGISTERONCE('$Id$')

View File

@@ -394,6 +394,13 @@ BEGIN
-- Always clear the notify_to_statinfo bit, even when no :new.prs_perslid_key_receiver
:NEW.fac_notificatie_status := BITAND (:NEW.fac_notificatie_status, 255 - 1);
:NEW.fac_notificatie_queue:=UPPER(:NEW.fac_notificatie_queue);
IF BITAND(:NEW.fac_notificatie_status, 255 - 64) > 0 -- Alleen custom-queue negeren we
OR :NEW.prs_bedrijfadres_key IS NOT NULL
OR :NEW.fac_notificatie_systeemadres IS NOT NULL
THEN
tsk.starttask(p_taskcode => 'PUTORDERS', p_nextrun => :NEW.fac_notificatie_notbefore);
END IF;
END;
/
@@ -1063,6 +1070,38 @@ BEGIN
END;
/
CREATE_TRIGGER(fac_t_fac_cust_B_I)
BEFORE INSERT ON fac_cust
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fac_cust_key, fac_s_fac_cust_key);
END;
/
CREATE_TRIGGER(fac_t_fac_cust_B_IU)
BEFORE INSERT OR UPDATE ON fac_cust
FOR EACH ROW
BEGIN
:new.fac_cust_customerid := UPPER(:new.fac_cust_customerid);
END;
/
CREATE_TRIGGER(fac_t_fac_task_B_I)
BEFORE INSERT ON fac_task
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fac_task_key, fac_s_fac_task_key);
END;
/
CREATE_TRIGGER(fac_t_fac_task_B_IU)
BEFORE INSERT OR UPDATE ON fac_task
FOR EACH ROW
BEGIN
:new.fac_task_code := UPPER(:new.fac_task_code);
END;
/
-- CREATE_TRIGGER(fac_t_fac_queue_B_I)
-- BEFORE INSERT ON fac_queue
-- FOR EACH ROW

View File

@@ -193,6 +193,7 @@ $(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).SQL: \
$(MSRC)\fac\fac_pacl.src \
$(MSRC)\fac\fac_pacflex.src \
$(MSRC)\fac\fac_pacdel.src \
$(MSRC)\fac\fac_pactsk.src \
$(MSRC)\fac\fac_seq.src \
$(MSRC)\fac\fac_tab.src \
$(MSRC)\fac\fac_tri.src \

View File

@@ -53,6 +53,9 @@ ALTER TABLE fac_notificatie
ALTER TABLE fac_notificatie
ADD fac_notificatie_failmessage VARCHAR(4000); // de laatste
ALTER TABLE fac_notificatie
ADD fac_notificatie_faildatum DATE; // de laatste
ALTER TABLE prs_bedrijfadres
ADD ins_discipline_key NUMBER(10)
REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE; // Scherpere bedrijfadres bepaling, vooral reserveringen?
@@ -60,6 +63,34 @@ ALTER TABLE prs_bedrijfadres
ALTER TABLE prs_bedrijfadres
MODIFY prs_bedrijfadres_type VARCHAR2(3); // Ook ruimte voor BOG voor BestelOpdrachten Generiek
ALTER TABLE fac_version
ADD fac_version_tasker_date DATE;
CREATE_TABLE(fac_cust, 0)
(
fac_cust_key NUMBER(10)
CONSTRAINT fac_k_fac_cust_key PRIMARY KEY,
fac_cust_customerid VARCHAR(4) NOT NULL,
fac_cust_schema VARCHAR(30) DEFAULT '00' NOT NULL, // kopie fac_version_schema van de gebruiker
fac_cust_enabled NUMBER(1) DEFAULT 1 NOT NULL, // future use, disable during upgrades?
fac_cust_aanmaak DATE DEFAULT SYSDATE NOT NULL,
CONSTRAINT fac_u_fac_cust UNIQUE(fac_cust_customerid)
);
CREATE_TABLE(fac_task, 0)
(
fac_task_key NUMBER(10)
CONSTRAINT fac_k_fac_task_key PRIMARY KEY,
fac_cust_key NUMBER(10) REFERENCES fac_cust(fac_cust_key) ON DELETE CASCADE,
fac_task_code VARCHAR(32) NOT NULL,
fac_task_nextrun DATE,
fac_task_lastrun DATE,
CONSTRAINT fac_u_fac_task UNIQUE(fac_cust_key, fac_task_code)
);
CREATE SEQUENCE fac_s_fac_cust_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_task_key MINVALUE 1;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80469
@@ -143,6 +174,10 @@ DELETE FROM fac_menuitems
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#86343
// Sinds HSLE#36898 (2016.3) al niet meer in gebruik.
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE prs_perslid
SET prs_perslid_options = NULL
WHERE prs_perslid_options IS NOT NULL;