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 OR EXISTS
(SELECT 1 (SELECT 1
FROM prs_bedrijfadres ba 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 LOOP
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key, fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
pbedrijfadres_type => bedrijfrec.bedrijfadres_type, pbedrijfadres_type => bedrijfrec.bedrijfadres_type,

View File

@@ -716,7 +716,9 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
OR EXISTS OR EXISTS
(SELECT 1 (SELECT 1
FROM prs_bedrijfadres ba 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 LOOP
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key, fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
pbedrijfadres_type => bedrijfrec.bedrijfadres_type, pbedrijfadres_type => bedrijfrec.bedrijfadres_type,

View File

@@ -36,6 +36,7 @@
#include "fac_pacflex.src" #include "fac_pacflex.src"
#include "fac_pacano.src" #include "fac_pacano.src"
#include "fac_pacdel.src" #include "fac_pacdel.src"
#include "fac_pactsk.src"
CREATE OR REPLACE PACKAGE fac CREATE OR REPLACE PACKAGE fac
AUTHID CURRENT_USER -- zodat CREATE TABLE lukt 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_Number( str IN VARCHAR2 ) RETURN NUMBER;
FUNCTION safe_To_Date ( pchar IN VARCHAR2, pfmt IN VARCHAR2 ) RETURN DATE; 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_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 getweekdaynum (d IN DATE) RETURN NUMBER;
FUNCTION getdomeinwaarde (dkey IN NUMBER, waarde IN VARCHAR2, ignorewhenxmlnode IN NUMBER DEFAULT 0) RETURN VARCHAR2; 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; FUNCTION getscopeleveltext (plevel IN NUMBER, ptype IN VARCHAR) RETURN VARCHAR;
@@ -115,8 +117,6 @@ CREATE OR REPLACE PACKAGE fac
pbedrijfadreskey NUMBER DEFAULT NULL, pbedrijfadreskey NUMBER DEFAULT NULL,
pqueue VARCHAR2 DEFAULT 'DEFAULT', pqueue VARCHAR2 DEFAULT 'DEFAULT',
pgeturl VARCHAR2 DEFAULT NULL); 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 putsystemnotification (pmessage VARCHAR2, pmode NUMBER);
PROCEDURE putnotificationsrtprio (pfrom NUMBER, pto NUMBER, pcode VARCHAR2, pref NUMBER, PROCEDURE putnotificationsrtprio (pfrom NUMBER, pto NUMBER, pcode VARCHAR2, pref NUMBER,
poptmessage VARCHAR2, poptstatus NUMBER, poptemail VARCHAR2, poptmobile VARCHAR2, pxref NUMBER, poptmessage VARCHAR2, poptstatus NUMBER, poptemail VARCHAR2, poptmobile VARCHAR2, pxref NUMBER,
@@ -159,8 +159,7 @@ CREATE OR REPLACE PACKAGE fac
psender VARCHAR2 DEFAULT NULL, psender VARCHAR2 DEFAULT NULL,
plocatie_key NUMBER DEFAULT NULL, plocatie_key NUMBER DEFAULT NULL,
pdiscipline_key NUMBER DEFAULT NULL, pdiscipline_key NUMBER DEFAULT NULL,
ptypeopdr_key NUMBER DEFAULT NULL, ptypeopdr_key NUMBER DEFAULT NULL);
teverzenden_datum DATE DEFAULT SYSDATE);
FUNCTION gettrackingdate (peventcode IN VARCHAR2, pkey IN number) RETURN date; FUNCTION gettrackingdate (peventcode IN VARCHAR2, pkey IN number) RETURN date;
FUNCTION gettrackinguserkey (peventcode IN VARCHAR2, pkey IN number) RETURN number; FUNCTION gettrackinguserkey (peventcode IN VARCHAR2, pkey IN number) RETURN number;
PROCEDURE initsession (flcode IN VARCHAR2); PROCEDURE initsession (flcode IN VARCHAR2);
@@ -366,6 +365,19 @@ CREATE OR REPLACE PACKAGE BODY fac AS
RETURN SUBSTR(v_result, 1, pmaxlen); RETURN SUBSTR(v_result, 1, pmaxlen);
END; 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 -- Levert het dow-nummer op (1-7), op een nls-onafhankelijke wijze
FUNCTION getweekdaynum (d IN DATE) RETURN NUMBER IS FUNCTION getweekdaynum (d IN DATE) RETURN NUMBER IS
BEGIN BEGIN
@@ -2229,14 +2241,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
END IF; END IF;
END; 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 -- Zet een bericht in de queue ter verspreiding aan de applicatiebeheerders
PROCEDURE putsystemnotification (pmessage VARCHAR2, pmode NUMBER) PROCEDURE putsystemnotification (pmessage VARCHAR2, pmode NUMBER)
AS AS
@@ -2249,7 +2253,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
BEGIN BEGIN
FOR rec1 IN c1 FOR rec1 IN c1
LOOP 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 LOOP;
END; END;
@@ -2742,6 +2746,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
AS AS
BEGIN BEGIN
-- Ruim alle totaal verwerkte notificaties op. -- 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 DELETE FROM fac_notificatie
WHERE fac_notificatie_status IN (0, 16) WHERE fac_notificatie_status IN (0, 16)
AND fac_notificatie_systeemadres IS NULL AND fac_notificatie_systeemadres IS NULL
@@ -4839,13 +4844,13 @@ CREATE OR REPLACE PACKAGE BODY fac AS
psender VARCHAR2 DEFAULT NULL, psender VARCHAR2 DEFAULT NULL,
plocatie_key NUMBER DEFAULT NULL, plocatie_key NUMBER DEFAULT NULL,
pdiscipline_key NUMBER DEFAULT NULL, pdiscipline_key NUMBER DEFAULT NULL,
ptypeopdr_key NUMBER DEFAULT NULL, ptypeopdr_key NUMBER DEFAULT NULL)
teverzenden_datum DATE DEFAULT SYSDATE)
AS AS
l_bdradr_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE; l_bdradr_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE;
l_basrt_key prs_bedrijfadres_srtnoti.prs_bedrijfadres_srtnoti_key%TYPE; l_basrt_key prs_bedrijfadres_srtnoti.prs_bedrijfadres_srtnoti_key%TYPE;
l_srtnoti_code fac_srtnotificatie.fac_srtnotificatie_code%TYPE; l_srtnoti_code fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
l_srtnoti_key fac_srtnotificatie.fac_srtnotificatie_key%TYPE; l_srtnoti_key fac_srtnotificatie.fac_srtnotificatie_key%TYPE;
l_srtnoti_delay fac_srtnotificatie.fac_srtnotificatie_delay%TYPE;
nn_noti NUMBER (10); nn_noti NUMBER (10);
BEGIN BEGIN
-- Merk op: per bedrijf notificeren we hooguit <20><>n enkel technisch adres -- 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); DBMS_OUTPUT.Put_line ('Gevonden technisch adres key ' || l_bdradr_key);
-- Nu de srtnotifictie zoeken -- Nu de srtnotifictie zoeken
SELECT basrt.prs_bedrijfadres_srtnoti_key, srtnoti.fac_srtnotificatie_code, srtnoti.fac_srtnotificatie_key SELECT basrt.prs_bedrijfadres_srtnoti_key,
INTO l_basrt_key, l_srtnoti_code, l_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 FROM prs_bedrijfadres_srtnoti basrt, fac_srtnotificatie srtnoti, fac_tracking ft
WHERE basrt.prs_bedrijfadres_key(+) = l_bdradr_key WHERE basrt.prs_bedrijfadres_key(+) = l_bdradr_key
AND basrt.fac_srtnotificatie_key(+) = srtnoti.fac_srtnotificatie_key AND basrt.fac_srtnotificatie_key(+) = srtnoti.fac_srtnotificatie_key
@@ -4931,7 +4942,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
psender, psender,
0, 0,
l_bdradr_key, l_bdradr_key,
teverzenden_datum); SYSDATE); -- nooit delay, we ontdubbelen toch niet? + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0));
END; END;
-- Levert de (nieuwste) datum op van een getrackt event op key -- 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_sequence_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_bijlagen_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_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; -- CREATE SEQUENCE fac_s_fac_queue_key MINVALUE 1;
-- Some free to use sequence to generate unique and sequential numbers -- 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_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('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('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') 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' , '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_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_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_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_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') 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_putorders_date DATE,
fac_version_scheduler_date DATE, fac_version_scheduler_date DATE,
fac_version_notify_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) CREATE_TABLE(fac_typestaffel, 0)
@@ -2431,4 +2432,27 @@ CREATE_TABLE(fac_layout, 0)
DEFAULT SYSDATE 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$') REGISTERONCE('$Id$')

View File

@@ -394,6 +394,13 @@ BEGIN
-- Always clear the notify_to_statinfo bit, even when no :new.prs_perslid_key_receiver -- 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_status := BITAND (:NEW.fac_notificatie_status, 255 - 1);
:NEW.fac_notificatie_queue:=UPPER(:NEW.fac_notificatie_queue); :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; END;
/ /
@@ -1063,6 +1070,38 @@ BEGIN
END; 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) -- CREATE_TRIGGER(fac_t_fac_queue_B_I)
-- BEFORE INSERT ON fac_queue -- BEFORE INSERT ON fac_queue
-- FOR EACH ROW -- FOR EACH ROW

View File

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

View File

@@ -53,6 +53,9 @@ ALTER TABLE fac_notificatie
ALTER TABLE fac_notificatie ALTER TABLE fac_notificatie
ADD fac_notificatie_failmessage VARCHAR(4000); // de laatste ADD fac_notificatie_failmessage VARCHAR(4000); // de laatste
ALTER TABLE fac_notificatie
ADD fac_notificatie_faildatum DATE; // de laatste
ALTER TABLE prs_bedrijfadres ALTER TABLE prs_bedrijfadres
ADD ins_discipline_key NUMBER(10) ADD ins_discipline_key NUMBER(10)
REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE; // Scherpere bedrijfadres bepaling, vooral reserveringen? 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 ALTER TABLE prs_bedrijfadres
MODIFY prs_bedrijfadres_type VARCHAR2(3); // Ook ruimte voor BOG voor BestelOpdrachten Generiek 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 /////////////////////////////////////////////////////////////////////////////////////////// FCLT#80469
@@ -143,6 +174,10 @@ DELETE FROM fac_menuitems
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#86343 /////////////////////////////////////////////////////////////////////////////////////////// FCLT#86343
// Sinds HSLE#36898 (2016.3) al niet meer in gebruik. // 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 UPDATE prs_perslid
SET prs_perslid_options = NULL SET prs_perslid_options = NULL
WHERE prs_perslid_options IS NOT NULL; WHERE prs_perslid_options IS NOT NULL;