4 Commits

Author SHA1 Message Date
Erik Groener
718fa2dd7a BLCC#78896 Contractkenmerken toevoegen aan de wizard
svn path=/Database/branches/DB45/; revision=61017
2023-07-03 07:57:29 +00:00
Jos Groot Lipman
dcd0b59397 PROR#77391 Heropenen meldingen alvast lcl_mld_reopen_done definiëren.
svn path=/Database/branches/DB45/; revision=60995
2023-06-29 15:45:31 +00:00
Jos Groot Lipman
24ac823530 PROR#78861 mld.getSLAparams onderkent prioriteiten niet goed.
svn path=/Database/branches/DB45/; revision=60994
2023-06-29 15:34:10 +00:00
Jos Groot Lipman
5c1bc7be7a Branch DB45
svn path=/Database/branches/DB45/; revision=60993
2023-06-29 15:01:53 +00:00
48 changed files with 1934 additions and 3947 deletions

View File

@@ -20,9 +20,21 @@ AS
FUNCTION calcartikelkortingsprijs (pbes_srtdeel_key IN NUMBER, pbestelaantal IN NUMBER)
RETURN NUMBER;
PROCEDURE calcopdrachtbedragkorting (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER,
pkortingsbedrag OUT NUMBER, pkorting OUT NUMBER);
FUNCTION calcopdrachtkorting (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER)
RETURN NUMBER;
FUNCTION calcopdrachtkortingbedrag (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER)
RETURN NUMBER;
FUNCTION calcbesartikelkortingsprijs (pbes_bestelling_item_key IN NUMBER, ppunchout IN NUMBER)
RETURN NUMBER;
FUNCTION calcbesopdrachtkorting (pbes_bestelopdr_key IN NUMBER, pautoupdate IN NUMBER)
RETURN NUMBER;
FUNCTION calcbesopdrachtkosten (pbes_bestelopdr_key IN NUMBER, pautoupdate IN NUMBER)
RETURN NUMBER;
@@ -265,6 +277,70 @@ AS
RETURN lkortingsprijs;
END;
PROCEDURE calcopdrachtbedragkorting (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER,
pkortingsbedrag OUT NUMBER, pkorting OUT NUMBER)
AS
lkorting prs_staffel.prs_staffel_korting%TYPE; -- percentage
lkortingsbedrag NUMBER;
BEGIN
-- De staffeltabel bevat intervallen waarvan de bovengrens is opgenomen
-- bijvoorbeeld
-- 10 -> 1%
-- 20 -> 2%
-- 50 -> 5%
-- Dan is 30 (euro) tussen 20 en 50 en geldt 5% korting
-- Je moet dus het laagste hogere record vinden. Voor de bovengrens (hooogste staffel) is de grenswaarde NULL
-- ATTENTIE: Nu wordt de laagste *korting* gekozen indien je in de hoogste staffel zit, terwijl je
-- de laagste grenswaarde moet pakken. Levert nu de verkeerde waarde op in het rare geval dat
-- de korting *lager* wordt als je in de hoogste staffel komt, bijvoorbeeld
-- bij tot10000 artikelen 30% korting, en boven10000 25%. Aanname om technische redenen, maar mocht
-- er een verrassend probleem optreden, is dit alvast de tip.
SELECT COALESCE(MIN(prs_staffel_korting), 0)
INTO lkorting
FROM prs_staffel s1
WHERE (prs_staffel_grenswaarde > pbrutoopdrachtbedrag OR s1.prs_staffel_grenswaarde IS NULL) --s2.prs_staffel_grenswaarde IS NULL)
AND NOT EXISTS
(SELECT 'X'
FROM prs_staffel s2
WHERE s1.prs_bedrijf_key = s2.prs_bedrijf_key
AND s2.prs_staffel_grenswaarde < s1.prs_staffel_grenswaarde
AND (s2.prs_staffel_grenswaarde > pbrutoopdrachtbedrag OR s2.prs_staffel_grenswaarde IS NULL))
AND prs_bedrijf_key = pprs_bedrijf_key
AND pbrutoopdrachtbedrag > 0;
lkortingsbedrag := (lkorting / 100) * pbrutoopdrachtbedrag;
-- RETURN lkortingsbedrag;
pkortingsbedrag := lkortingsbedrag;
pkorting := lkorting;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
-- RETURN 0;
pkortingsbedrag := 0;
pkorting := 0;
END;
FUNCTION calcopdrachtkorting (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER)
RETURN NUMBER
AS
lkorting prs_staffel.prs_staffel_korting%TYPE; -- percentage
lkortingsbedrag NUMBER;
BEGIN
BES.calcopdrachtbedragkorting(pprs_bedrijf_key, pbrutoopdrachtbedrag, lkortingsbedrag, lkorting);
RETURN lkorting;
END;
FUNCTION calcopdrachtkortingbedrag (pprs_bedrijf_key IN NUMBER, pbrutoopdrachtbedrag IN NUMBER)
RETURN NUMBER
AS
lkorting prs_staffel.prs_staffel_korting%TYPE; -- percentage
lkortingsbedrag NUMBER;
BEGIN
BES.calcopdrachtbedragkorting(pprs_bedrijf_key, pbrutoopdrachtbedrag, lkortingsbedrag, lkorting);
RETURN lkortingsbedrag;
END;
FUNCTION calcbesartikelkortingsprijs (pbes_bestelling_item_key IN NUMBER, ppunchout IN NUMBER)
RETURN NUMBER
AS
@@ -338,7 +414,7 @@ AS
AND bi.bes_bestelling_item_key = pbes_bestelling_item_key;
END IF;
-- Vindt staffelrecord;
-- Vindt staffelrecord; zie(!) opmerkingen bij prs_staffel in bes.calcopdrachtkorting.
BEGIN
SELECT COALESCE(MIN(bes_staffel_korting), 0)
INTO lstaffelkorting
@@ -375,6 +451,62 @@ AS
RETURN lkortingsprijs;
END;
FUNCTION calcbesopdrachtkorting (pbes_bestelopdr_key IN NUMBER, pautoupdate IN NUMBER)
RETURN NUMBER
AS
lbrutoopdrachtbedrag NUMBER;
lkorting prs_staffel.prs_staffel_korting%TYPE; -- percentage
lstaffelkortingbedrag NUMBER;
lkortingsbedrag NUMBER;
BEGIN
---- som van de bes_bestelopdr_item_prijs > bedrijf.staffel -> kortingspercentage * (sum aantal * bes_bestelopdr_item_prijs) = bes_bestelopdr_korting
-- merk op: deze staffel is op prijs (niet op aantallen)
SELECT COALESCE(SUM (bes_bestelopdr_item_prijs * bes_bestelopdr_item_aantal), 0)
INTO lbrutoopdrachtbedrag
FROM bes_bestelopdr_item
WHERE bes_bestelopdr_key = pbes_bestelopdr_key;
-- De staffeltabel bevat intervallen waarvan de bovengrens is opgenomen
-- bijvoorbeeld
-- 10 -> 1%
-- 20 -> 2%
-- 50 -> 5%
-- Dan is 30 (euro) tussen 20 en 50 en geldt 5% korting
-- Je moet dus het laagste hogere record vinden. Voor de bovengrens (hooogste staffel) is de grenswaarde NULL
-- ATTENTIE: Nu wordt de laagste *korting* gekozen indien je in de hoogste staffel zit, terwijl je
-- de laagste grenswaarde moet pakken. Levert nu de verkeerde waarde op in het rare geval dat
-- de korting *lager* wordt als je in de hoogste staffel komt, bijvoorbeeld
-- bij tot10000 artikelen 30% korting, en boven10000 25%. Aanname om technische redenen, maar mocht
-- er een verrassend probleem optreden, is dit alvast de tip.
SELECT COALESCE(MIN(prs_staffel_korting), 0)
INTO lkorting
FROM prs_staffel s1
WHERE (prs_staffel_grenswaarde > lbrutoopdrachtbedrag OR s1.prs_staffel_grenswaarde IS NULL)
AND NOT EXISTS
(SELECT 'X'
FROM prs_staffel s2
WHERE s1.prs_bedrijf_key = s2.prs_bedrijf_key
AND s2.prs_staffel_grenswaarde < s1.prs_staffel_grenswaarde
AND (s2.prs_staffel_grenswaarde > lbrutoopdrachtbedrag OR s2.prs_staffel_grenswaarde IS NULL))
AND prs_bedrijf_key = (SELECT prs_bedrijf_key
FROM bes_bestelopdr
WHERE bes_bestelopdr_key = pbes_bestelopdr_key);
lkortingsbedrag := (lkorting / 100) * lbrutoopdrachtbedrag;
IF pautoupdate > 0
THEN
UPDATE bes_bestelopdr
SET bes_bestelopdr_korting = lkortingsbedrag
WHERE bes_bestelopdr_key = pbes_bestelopdr_key;
END IF;
RETURN lkortingsbedrag;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN 0;
END;
FUNCTION calcbesopdrachtkosten (pbes_bestelopdr_key IN NUMBER, pautoupdate IN NUMBER)
RETURN NUMBER
@@ -648,6 +780,7 @@ AS
l_item_brutoprijs bes_bestelopdr_item.bes_bestelopdr_item_brutoprijs%TYPE;
l_item_prijs bes_bestelopdr_item.bes_bestelopdr_item_prijs%TYPE;
l_item_inkprijs bes_bestelopdr_item.bes_bestelopdr_item_inkprijs%TYPE;
besopdrachtkorting NUMBER (8, 2);
besopdrachtkosten NUMBER (8, 2);
bedrijfvolgnr NUMBER (3);
CURSOR tebestellen
@@ -775,9 +908,11 @@ AS
'');
-- Bepaal opdrachtkorting en opdrachtkosten en sla deze op
-- Met parameter 1 geven we aan dat de berekende waarde automaisch ook word opgeslagen
besopdrachtkorting := bes.calcbesopdrachtkorting(lbord_key, 1);
besopdrachtkosten := bes.calcbesopdrachtkosten(lbord_key, 1);
UPDATE bes_bestelopdr
SET bes_bestelopdr_levkosten = besopdrachtkosten
, bes_bestelopdr_korting = besopdrachtkorting
WHERE bes_bestelopdr_key = lbord_key;
END IF;
-- Op naar de volgende
@@ -853,9 +988,11 @@ AS
'');
-- Bepaal opdrachtkorting en opdrachtkosten en sla deze op
-- Met parameter 1 geven we aan dat de berekende waarde automaisch ook word opgeslagen
besopdrachtkorting := bes.calcbesopdrachtkorting(lbord_key, 1);
besopdrachtkosten := bes.calcbesopdrachtkosten(lbord_key, 1);
UPDATE bes_bestelopdr
SET bes_bestelopdr_levkosten = besopdrachtkosten
, bes_bestelopdr_korting = besopdrachtkorting
WHERE bes_bestelopdr_key = lbord_key;
END IF;
END;

View File

@@ -33,20 +33,13 @@ BEGIN
* Dit is vervallen. Elke trigger bemoeit zich alleen met zichzelf, en er zijn
* een tweetal functies bes.updatebestellingstatus en bes.updatebestelopdrstatus
* die desgevraagd tellen wat de stand is en daarop zonodig de parent aanpassen
* Daarvan wordt dan ook tracking bijgehouden.
* Daarvan wordt dan ook tracjking bijgehouden.
*/
CREATE_TRIGGER(bes_t_bes_bestelling_B_I)
BEFORE INSERT ON bes_bestelling
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bestelling_key,bes_s_bes_bestelling_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bestelling_B_IU)
BEFORE INSERT OR UPDATE ON bes_bestelling
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bestelling_key,bes_s_bes_bestelling_key);
IF :old.bes_bestelling_status IS NULL
THEN
-- weet niet of dit (nog)nodig is, om de status op 2 te zetten
@@ -59,13 +52,6 @@ BEGIN
THEN
fac.clrnotifications ('BESAP1', :new.bes_bestelling_key);
END IF;
-- Beoordeling van de bestelling
IF (:new.bes_bestelling_satisfaction IS NOT NULL
AND (:old.bes_bestelling_satisfaction IS NULL OR :old.bes_bestelling_satisfaction <> :new.bes_bestelling_satisfaction))
THEN
fac.trackaction('BESLIK', :old.bes_bestelling_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.bes_bestelling_satisfaction));
END IF;
END;
/
@@ -79,8 +65,8 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_bestelling_item_B_I)
BEFORE INSERT
CREATE_TRIGGER(bes_t_bes_bestelling_item_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestelling_item
FOR EACH ROW
BEGIN
@@ -88,20 +74,12 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_bestelopdr_B_I)
BEFORE INSERT
ON bes_bestelopdr
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bestelopdr_key,bes_s_bes_bestelopdr_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bestelopdr_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestelopdr
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bestelopdr_key,bes_s_bes_bestelopdr_key);
IF :OLD.bes_bestelopdr_datum IS NULL
THEN
:NEW.bes_bestelopdr_datum := SYSDATE;
@@ -116,8 +94,8 @@ END;
/
CREATE_TRIGGER(bes_t_bes_bestelopdr_item_B_I)
BEFORE INSERT
CREATE_TRIGGER(bes_t_bes_bestelopdr_item_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestelopdr_item
FOR EACH ROW
BEGIN
@@ -125,8 +103,8 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_bestellevr_B_I)
BEFORE INSERT
CREATE_TRIGGER(bes_t_bes_bestellevr_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestellevr
FOR EACH ROW
BEGIN
@@ -134,8 +112,8 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_bestellevr_item_B_I)
BEFORE INSERT
CREATE_TRIGGER(bes_t_bes_bestellevr_item_B_IU)
BEFORE INSERT OR UPDATE
ON bes_bestellevr_item
FOR EACH ROW
BEGIN

View File

@@ -386,7 +386,6 @@ CREATE OR REPLACE PACKAGE BODY bez AS
AND BITAND(d.res_deel_beschikbaar_bits, POWER(2, (fac.getweekdaynum(TRUNC(lbegin)) - 1))) =
POWER(2, (fac.getweekdaynum(TRUNC (lbegin)) - 1))
AND (d.res_deel_vervaldatum IS NULL OR d.res_deel_vervaldatum > lbegin)
AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > lbegin)
AND (l.alg_locatie_vervaldatum IS NULL OR l.alg_locatie_vervaldatum > TRUNC(lbegin))
AND (t.alg_terreinsector_vervaldatum IS NULL OR t.alg_terreinsector_vervaldatum > TRUNC(lbegin))
ORDER BY id.ins_deel_upper)
@@ -453,7 +452,6 @@ CREATE OR REPLACE PACKAGE BODY bez AS
AND BITAND(d.res_deel_beschikbaar_bits, POWER(2, (fac.getweekdaynum(TRUNC(lbegin)) - 1))) =
POWER(2, (fac.getweekdaynum(TRUNC(lbegin)) - 1))
AND (d.res_deel_vervaldatum IS NULL OR d.res_deel_vervaldatum > lbegin)
AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > lbegin)
AND (l.alg_locatie_vervaldatum IS NULL OR l.alg_locatie_vervaldatum > TRUNC(lbegin))
AND (t.alg_terreinsector_vervaldatum IS NULL OR t.alg_terreinsector_vervaldatum > TRUNC(lbegin))
ORDER BY id.ins_deel_upper)

View File

@@ -130,7 +130,7 @@ UPDATE fac_setting
FROM ins_srtdiscipline
WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting')
WHERE fac_setting_name = 'cnd_gebreken_srtdisc_key' AND fac_setting_pvalue IS NULL;
-- Vakgroepen
INSERT INTO ins_tab_discipline (ins_discipline_module, ins_discipline_code, ins_discipline_omschrijving, ins_srtdiscipline_key) SELECT 'MLD', 'B1', 'B1 - Casco, constructies en funderingen', ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting';
@@ -5628,13 +5628,13 @@ INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_def
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'CONDITIE'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, NULL, 05, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'CONDITIESCORE'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, 1, 35, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'PRIORITEIT'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, NULL, 50, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT1'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 55, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT2'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 60, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT3'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 65, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT4'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 70, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT5'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 75, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT6'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 80, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT7'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT ud.fac_usrdata_key FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_naam = 'Aspectenmatrix' AND fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 85, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT1'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 55, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT2'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 60, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT3'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 65, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT4'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 70, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT5'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 75, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT6'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 80, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'ASPECT7'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), (SELECT fac_usrdata_key FROM fac_usrdata WHERE fac_usrdata_omschr = 'NVT'), 'T', 1, NULL, 85, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'FOTO'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, NULL, 40, 'r1000x1000' FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'PRIORITEITSCORE'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, 1, 90, NULL FROM DUAL;
INSERT INTO mld_kenmerk (mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_default, mld_kenmerk_niveau, mld_kenmerk_verplicht, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_regexp) SELECT (SELECT mld_srtkenmerk_key FROM mld_srtkenmerk WHERE mld_srtkenmerk_code = 'KOSTEN'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, 1, 92, NULL FROM DUAL;

View File

@@ -3271,13 +3271,10 @@ BEGIN
insert_mldkenmerk (v_mld_melding_key, rec.flex9);
insert_mldkenmerk (v_mld_melding_key, rec.flex10);
v_errorhint := 'Meldingen direct accepteren en conditie berekenen ';
v_errorhint := 'Meldingen direct accepteren ';
IF fac.getsetting('cnd_autoaccept') = 1
THEN
mld.setmeldingstatus(v_mld_melding_key, 4, v_prs_perslid_key, 0);
-- berekening per gebrek is in principe te vaak,
-- dat mag per deel, maar dit is nu eenmaal de loop
cnd.process_mjb_score_effects (v_mld_melding_key);
END IF;
v_count_import := v_count_import + 1;

View File

@@ -235,16 +235,15 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER)
IS
begin1 DATE;
eind1 DATE;
versie1 cnt_contract.cnt_contract_versie%TYPE;
newkey NUMBER;
nummer1 cnt_contract.cnt_contract_nummer_intern%TYPE;
amount1 cnt_contract.cnt_contract_kosten%TYPE;
srtcontract_type cnt_disc_params.cnt_srtcontract_type%TYPE;
new_status cnt_contract.cnt_contract_status%TYPE;
tracking VARCHAR2 (4000);
splitsen BOOLEAN := TRUE;
begin1 DATE;
eind1 DATE;
versie1 cnt_contract.cnt_contract_versie%TYPE;
newkey NUMBER;
nummer1 cnt_contract.cnt_contract_nummer_intern%TYPE;
amount1 cnt_contract.cnt_contract_kosten%TYPE;
srtcontract_type cnt_disc_params.cnt_srtcontract_type%TYPE;
new_status cnt_contract.cnt_contract_status%TYPE;
tracking VARCHAR2 (4000);
BEGIN
-- Splits het contract met p_key in twee delen: het oude dat eindigt op p_datum - 1,
-- en een nieuwe kopie die begint op die p_datum
@@ -262,40 +261,26 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
COALESCE (c.cnt_contract_versie, '0'),
cnt_contract_nummer_intern,
cnt_contract_kosten,
cdp.cnt_srtcontract_type,
c.cnt_contract_status
INTO begin1, eind1, versie1, nummer1, amount1, srtcontract_type, new_status
cdp.cnt_srtcontract_type
INTO begin1, eind1, versie1, nummer1, amount1, srtcontract_type
FROM cnt_contract c,
cnt_disc_params cdp
WHERE c.ins_discipline_key = cdp.cnt_ins_discipline_key
AND c.cnt_contract_key = p_key;
AND c.cnt_contract_key = p_key
AND c.cnt_contract_looptijd_van < p_datum
AND c.cnt_contract_looptijd_tot > p_datum;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN;
END;
IF (begin1 < p_datum AND eind1 > p_datum)
IF (fac.getsetting('cnt_contract_approval') = 1 AND srtcontract_type != 6)
THEN
-- Splitsen van contract.
begin1 := p_datum;
eind1 := eind1;
IF (fac.getsetting('cnt_contract_approval') = 1 AND srtcontract_type != 6)
THEN
new_status := 2; -- altijd op nieuw
ELSE
new_status := 0; -- direct actief
END IF;
ELSIF (eind1 < p_datum)
THEN
-- Verlengen van contract
begin1 := eind1 + 1;
eind1 := p_datum;
splitsen := FALSE;
new_status := 2; -- altijd op nieuw
ELSE
RETURN;
new_status := 0; -- direct actief
END IF;
-- de datum is een zinvolle splitsdatum, alles in orde
INSERT INTO cnt_contract (cnt_contract_nummer, cnt_contract_omschrijving, cnt_contract_looptijd_tot, cnt_contract_kosten,
cnt_contract_uurloon, cnt_prs_bedrijf_key, cnt_prs_afdeling_key, cnt_prs_perslid_key,
@@ -308,7 +293,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
)
SELECT cnt_contract_nummer,
cnt_contract_omschrijving,
eind1,
cnt_contract_looptijd_tot,
amount1 - COALESCE(p_amount, 0),
cnt_contract_uurloon,
cnt_prs_bedrijf_key,
@@ -325,7 +310,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
prs_perslid_key_beh,
prs_afdeling_key_eig,
new_status,
begin1,
p_datum,
prs_kostenplaats_key,
cnt_contract_termijnkosten,
prs_kostensoort_key,
@@ -347,19 +332,11 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
AND cnt_contract_versie = TO_CHAR (versie1 + 1)
AND cnt_contract_verwijder IS NULL;
--- Een versieloos oud contract krijgt expliciet versie 0
--- Looptijd_tot en kosten moteen alleen bij splitsen worden aangepast.
IF splitsen
THEN
UPDATE cnt_contract
SET cnt_contract_looptijd_tot = p_datum - 1,
cnt_contract_versie = versie1,
cnt_contract_kosten = COALESCE(p_amount, cnt_contract_kosten)
WHERE cnt_contract_key = p_key;
ELSE
UPDATE cnt_contract
SET cnt_contract_versie = versie1
WHERE cnt_contract_key = p_key;
END IF;
UPDATE cnt_contract
SET cnt_contract_looptijd_tot = p_datum - 1,
cnt_contract_versie = versie1,
cnt_contract_kosten = COALESCE(p_amount, cnt_contract_kosten)
WHERE cnt_contract_key = p_key;
tracking := lcl.l('lcl_cnt_is_cntupd') || CHR(10) || lcl.l('lcl_cnt_enddate') || ': ' || TO_CHAR(eind1, 'dd-mm-yyyy') || lcl.l('lcl_trackto') || TO_CHAR((p_datum - 1), 'dd-mm-yyyy');
IF (p_amount IS NOT NULL AND p_amount <> amount1)

View File

@@ -76,276 +76,169 @@ AS
vervaldatum,
ins_deelsrtcontrole_key)
AS
(SELECT *
FROM (
-- 1a) Dit deel bepaald de laatste inspectie (geplande(0), gestarte(2), afgemeld(5) of verwerkt(6)),
-- inclusief de allereerste inspectie die nog niet gereed gemeld is.
SELECT di.deel_key ins_deel_key,
xcp.ins_srtcontrole_key,
di.ins_deelsrtcontrole_datum,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
COALESCE(di.ins_deelsrtcontrole_plandatum,
( -- 1a) Eerste deel bepaald de laatste inspectie (geplande(0), gestarte(2), afgemeld(5) of verwerkt(6)).
SELECT di.deel_key ins_deel_key,
xcp.ins_srtcontrole_key,
di.ins_deelsrtcontrole_datum,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
COALESCE(di.ins_deelsrtcontrole_plandatum,
CASE
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
AND di.ins_deelsrtcontrole_datum_org IS NULL
THEN -- Gestart(2) en de allereerste inspectie (ins_deelsrtcontrole_datum_org is NULL).
-- Periodieke taken:
-- De startdatum is MAX(startdatum, aanmaakdatum/registratiedatum) en heeft altijd een waarde (ins_deel_aanmaak is altijd gevuld).
-- Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
-- Er geldt dan het volgende:
-- Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
-- Voor Vervanging(2) of Certificering(3):
-- a) Als de startdatum het verst ligt: Eerste inspectie tonen op de startdatum.
-- b) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
-- De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest,
-- zijn de startdatum en registratiedatum niet meer van belang.
CASE
-- Er geldt dat (ctr_ismjob = 0), dus de eerste when is toch niet geldig.
--WHEN di.ctr_ismjob = 1
--THEN
-- ins_deelsrtcontrole_freezedate
WHEN xcp.ctr_controle_type = 1
THEN -- Controle(1).
CASE
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
AND di.ins_deelsrtcontrole_datum_org IS NULL
THEN -- Gestart(2) en de allereerste inspectie (ins_deelsrtcontrole_datum_org is NULL).
-- Periodieke taken:
-- De startdatum is MAX(startdatum, aanmaakdatum/registratiedatum) en heeft altijd een waarde (ins_deel_aanmaak is altijd gevuld).
-- Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
-- Er geldt dan het volgende:
-- Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
-- Voor Vervanging(2) of Certificering(3):
-- a) Als de startdatum het verst ligt: Eerste inspectie tonen op de startdatum.
-- b) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
-- De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest,
-- zijn de startdatum en registratiedatum niet meer van belang.
CASE
-- Er geldt dat (ctr_ismjob = 0), dus de eerste when is toch niet geldig.
--WHEN di.ctr_ismjob = 1
--THEN
-- ins_deelsrtcontrole_freezedate
WHEN xcp.ctr_controle_type = 1
THEN -- Controle(1).
CASE
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
xcp.ins_deel_aanmaak
END
ELSE -- Vervanging(2), Certificering(3).
CASE
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
fac.nextcyclusdate(
-- er is nog geen inspectie geweest, dus de laatste inspectie is null
COALESCE(
NULL,
GREATEST(
COALESCE(xcp.ins_srtcontroledl_xcp_startdat,
xcp.ins_deel_aanmaak),
COALESCE(xcp.ins_deel_aanmaak,
xcp.ins_srtcontroledl_xcp_startdat))),
xcp.ins_srtcontrole_mode,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
xcp.ins_srtcontrole_bits,
1, -- steps. De eerste inspectie is nog niet geweest dus 1 periode verder dan startdatum/aanmaakdatum.
0) -- Er geldt dat (ctr_ismjob = 0)
END
END
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
AND di.ins_deelsrtcontrole_datum_org IS NOT NULL
THEN -- Gestart(2) en niet de allereerste inspectie.
di.ins_deelsrtcontrole_datum_org
ELSE -- Status is Gereed gemeld(5) of Voltooid(6).
CASE xcp.ins_srtcontrole_mode
WHEN 0
THEN -- Moment mode: ga uit van de originele berekende inspectiedatum.
di.ins_deelsrtcontrole_datum_org
ELSE -- Interval mode: ga uit van de werkelijke inspectiedatum.
di.ins_deelsrtcontrole_datum
END
END) volgendedatum,
discipline,
soort,
groep,
soortcode,
omschrijving,
opmerking,
locatie_omschrijving,
gebouw,
ruimtenr,
aantal,
srtcontrole_omschrijving,
ctr_discipline_omschrijving taaksoort,
ins_deelsrtcontrole_datum_org,
controlemode_omschrijving,
ins_deelsrtcontrole_opmerking,
perslid,
ins_deelsrtcontrole_plandatum,
di.ins_deelsrtcontrole_status,
COALESCE(
(SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT di2.ins_controlemode_key
FROM ins_deelsrtcontrole di2
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)),
-1) ins_controlemode_success,
CASE di.ins_deelsrtcontrole_status
WHEN 0
THEN
lcl.L('lcl_ins_controle_pending')
WHEN 2
THEN
lcl.L('lcl_ins_controle_gestart')
WHEN 3
THEN
lcl.L('lcl_ins_controle_ter_uitvoer')
WHEN 5
THEN
CASE
WHEN ((SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT di2.ins_controlemode_key
FROM ins_deelsrtcontrole di2
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
1)
THEN
lcl.L('lcl_ins_controlemode_approved')
ELSE
lcl.L('lcl_ins_controlemode_deprecated')
END
WHEN 6
THEN
CASE
WHEN ((SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT ins_controlemode_key
FROM ins_deelsrtcontrole
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
1)
THEN
lcl.L('lcl_ins_controlemode_approved')
ELSE
lcl.L('lcl_ins_controlemode_deprecated')
END
END deelsrtcontrole_status,
xcp.ins_srtcontrole_eind vervaldatum,
di.ins_deelsrtcontrole_key
FROM ins_v_udr_deelinspect di,
ins_v_defined_inspect_xcp xcp,
ctr_disc_params dp
WHERE di.ins_srtcontrole_key = xcp.ins_srtcontrole_key
AND di.deel_key = xcp.ins_deel_key
AND xcp.ctr_discipline_key = dp.ctr_ins_discipline_key
AND dp.ctr_disc_params_ismjob = 0
AND xcp.ins_srtcontrole_eenheid > 2
AND xcp.ins_scenario_key = 1
AND xcp.ins_srtcontrole_periode > 0
AND di.ins_deelsrtcontrole_key = (SELECT MAX(ins_deelsrtcontrole_key)
FROM ins_deelsrtcontrole id2
WHERE id2.ins_deel_key = di.deel_key
AND id2.ins_srtcontrole_key = di.ins_srtcontrole_key
AND id2.ins_scenario_key = 1)
UNION ALL
-- 1b) Dit deel bepaald de allereerste inspectie van een taak die nog niet ingepland of gestart is. Er is dus nog geen ins_deelsrtcontrole record van
SELECT d.deel_key ins_deel_key,
xcp.ins_srtcontrole_key,
NULL,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
-- Gestart(2) en de allereerste inspectie (ins_deelsrtcontrole_datum_org is NULL).
-- Periodieke taken:
-- De startdatum is MAX(startdatum, aanmaakdatum/registratiedatum) en heeft altijd een waarde (ins_deel_aanmaak is altijd gevuld).
-- Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
-- Er geldt dan het volgende:
-- Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
-- Voor Vervanging(2) of Certificering(3):
-- a) Als de startdatum het verst ligt: Eerste inspectie tonen op de startdatum.
-- b) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
-- De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest,
-- zijn de startdatum en registratiedatum niet meer van belang.
CASE
-- Er geldt dat (ctr_ismjob = 0), dus de eerste when is toch niet geldig.
--WHEN xcp.ctr_ismjob = 1
--THEN
-- xcp.ins_deelsrtcontrole_freezedate
WHEN xcp.ctr_controle_type = 1
THEN -- Controle(1).
CASE
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
xcp.ins_deel_aanmaak
END
ELSE -- Vervanging(2), Certificering(3).
CASE
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
fac.nextcyclusdate(
-- er is nog geen inspectie geweest, dus de laatste inspectie is null
COALESCE(
NULL,
GREATEST(
COALESCE(xcp.ins_srtcontroledl_xcp_startdat,
xcp.ins_deel_aanmaak),
COALESCE(xcp.ins_deel_aanmaak,
xcp.ins_srtcontroledl_xcp_startdat))),
xcp.ins_srtcontrole_mode,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
xcp.ins_srtcontrole_bits,
1, -- steps. De eerste inspectie is nog niet geweest dus 1 periode verder dan startdatum/aanmaakdatum.
0) -- Er geldt dat (ctr_ismjob = 0)
END
END
volgendedatum,
d.discipline,
d.soort,
d.groep,
d.soortcode,
d.omschrijving,
d.opmerking,
d.locatie_omschrijving,
d.gebouw,
d.ruimtenr,
d.aantal,
(SELECT isc.ins_srtcontrole_omschrijving
FROM ins_srtcontrole isc
WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key) srtcontrole_omschrijving,
(SELECT cd.ins_discipline_omschrijving
FROM ctr_discipline cd,
ins_srtcontrole isc
WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key
AND isc.ctr_discipline_key = cd.ins_discipline_key) taaksoort,
ins_deelsrtcontrole_datum_org,
NULL controlemode_omschrijving,
ins_deelsrtcontrole_opmerking,
NULL perslid,
ins_deelsrtcontrole_plandatum,
-1 ins_deelsrtcontrole_status,
-1 ins_controlemode_success,
lcl.L('lcl_ins_controlemode_notplaned') deelsrtcontrole_status,
xcp.ins_srtcontrole_eind vervaldatum,
NULL ins_deelsrtcontrole_key
FROM ins_v_udr_deel d,
ins_deelsrtcontrole idsc,
ins_v_defined_inspect_xcp xcp,
ctr_disc_params dp
WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)
AND xcp.ins_deel_key = idsc.ins_deel_key(+)
AND xcp.ins_scenario_key = idsc.ins_scenario_key(+)
AND xcp.ins_deel_key = d.deel_key
AND xcp.ctr_discipline_key = dp.ctr_ins_discipline_key
AND dp.ctr_disc_params_ismjob = 0
AND xcp.ins_srtcontrole_eenheid > 2
AND xcp.ins_scenario_key = 1
AND idsc.ins_deel_key IS NULL
AND idsc.ins_srtcontrole_key IS NULL
AND xcp.ins_srtcontrole_periode > 0
AND (idsc.ins_deelsrtcontrole_key IS NULL
OR idsc.ins_deelsrtcontrole_key =
(SELECT MAX(ins_deelsrtcontrole_key)
FROM ins_deelsrtcontrole id2
WHERE id2.ins_deel_key = d.deel_key
AND id2.ins_srtcontrole_key = xcp.ins_srtcontrole_key
AND id2.ins_scenario_key = 1)))
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
xcp.ins_deel_aanmaak
END
ELSE -- Vervanging(2), Certificering(3).
CASE
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
THEN
xcp.ins_srtcontroledl_xcp_startdat
ELSE
fac.nextcyclusdate(
-- er is nog geen inspectie geweest, dus de laatste inspectie is null
COALESCE(
NULL,
GREATEST(
COALESCE(xcp.ins_srtcontroledl_xcp_startdat,
xcp.ins_deel_aanmaak),
COALESCE(xcp.ins_deel_aanmaak,
xcp.ins_srtcontroledl_xcp_startdat))),
xcp.ins_srtcontrole_mode,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
xcp.ins_srtcontrole_bits,
1, -- steps. De eerste inspectie is nog niet geweest dus 1 periode verder dan startdatum/aanmaakdatum.
0) -- Er geldt dat (ctr_ismjob = 0)
END
END
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
AND di.ins_deelsrtcontrole_datum_org IS NOT NULL
THEN -- Gestart(2) en niet de allereerste inspectie.
di.ins_deelsrtcontrole_datum_org
ELSE -- Status is Gereed gemeld(5) of Voltooid(6).
CASE xcp.ins_srtcontrole_mode
WHEN 0
THEN -- Moment mode: ga uit van de originele berekende inspectiedatum.
di.ins_deelsrtcontrole_datum_org
ELSE -- Interval mode: ga uit van de werkelijke inspectiedatum.
di.ins_deelsrtcontrole_datum
END
END) volgendedatum,
discipline,
soort,
groep,
soortcode,
omschrijving,
opmerking,
locatie_omschrijving,
gebouw,
ruimtenr,
aantal,
srtcontrole_omschrijving,
ctr_discipline_omschrijving taaksoort,
ins_deelsrtcontrole_datum_org,
controlemode_omschrijving,
ins_deelsrtcontrole_opmerking,
perslid,
ins_deelsrtcontrole_plandatum,
di.ins_deelsrtcontrole_status,
COALESCE(
(SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT di2.ins_controlemode_key
FROM ins_deelsrtcontrole di2
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)),
-1) ins_controlemode_success,
CASE di.ins_deelsrtcontrole_status
WHEN 0
THEN
lcl.L('lcl_ins_controle_pending')
WHEN 2
THEN
lcl.L('lcl_ins_controle_gestart')
WHEN 3
THEN
lcl.L('lcl_ins_controle_ter_uitvoer')
WHEN 5
THEN
CASE
WHEN ((SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT di2.ins_controlemode_key
FROM ins_deelsrtcontrole di2
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
1)
THEN
lcl.L('lcl_ins_controlemode_approved')
ELSE
lcl.L('lcl_ins_controlemode_deprecated')
END
WHEN 6
THEN
CASE
WHEN ((SELECT icm.ins_controlemode_success
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key =
(SELECT ins_controlemode_key
FROM ins_deelsrtcontrole
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
1)
THEN
lcl.L('lcl_ins_controlemode_approved')
ELSE
lcl.L('lcl_ins_controlemode_deprecated')
END
END deelsrtcontrole_status,
xcp.ins_srtcontrole_eind vervaldatum,
di.ins_deelsrtcontrole_key
FROM ins_v_udr_deelinspect di,
ins_v_defined_inspect_xcp xcp,
ctr_disc_params dp
WHERE di.ins_srtcontrole_key = xcp.ins_srtcontrole_key
AND di.deel_key = xcp.ins_deel_key
AND xcp.ctr_discipline_key = dp.ctr_ins_discipline_key
AND dp.ctr_disc_params_ismjob = 0
AND xcp.ins_srtcontrole_eenheid > 2
AND xcp.ins_scenario_key = 1
AND xcp.ins_srtcontrole_periode > 0
AND di.ins_deelsrtcontrole_key = (SELECT MAX(ins_deelsrtcontrole_key)
FROM ins_deelsrtcontrole id2
WHERE id2.ins_deel_key = di.deel_key
AND id2.ins_srtcontrole_key = di.ins_srtcontrole_key
AND id2.ins_scenario_key = 1)
AND COALESCE(di.ins_deelsrtcontrole_datum,
di.ins_deelsrtcontrole_plandatum,
di.ins_deelsrtcontrole_datum_org)
IS NOT NULL
UNION ALL
-- 1c) Dit deel bepaalt/berekent de toekomstige inspecties van dit jaar en volgend jaar.
-- 1b) Tweede deel bepaalt/berekent de toekomstige inspecties van dit jaar en volgend jaar.
SELECT m.ins_deel_key,
m.ins_srtcontrole_key,
NULL ins_deelsrtcontrole_datum,
@@ -391,7 +284,6 @@ AS
WHERE (ig.vervaldatum IS NULL
OR ig.vervaldatum > ig.volgendedatum)
AND ig.volgendedatum BETWEEN TRUNC(ADD_MONTHS(SYSDATE, -12), 'YYYY') AND TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY')
AND TRUNC(ig.volgendedatum, 'YYYY') < TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY') -- 1 januari in het jaar dat 2 jaar verder ligt niet meetellen.
UNION ALL
-- 2) Inspecties die vorig jaar en dit jaar zijn uitgevoerd, uitgezonderd de laatste.
SELECT di.discipline,

View File

@@ -6,9 +6,6 @@
CREATE INDEX exc_i_exc_import1 ON exc_import(fac_import_key);
CREATE INDEX exc_i_exc_import2
ON exc_import (APPT_ID || '|' || RECUR_ID, SEQ_NR, FAC_IMPORT_KEY);
REGISTERONCE('$Id$')
#endif // EXC

View File

@@ -46,6 +46,7 @@ AS
WHERE res_ruimte_opstel_verwijder IS NULL) ro2
WHERE UPPER(r.res_ruimte_extern_id) = UPPER(p_room_id)
AND r.res_ruimte_verwijder IS NULL
AND COALESCE (r.res_ruimte_vervaldatum, SYSDATE + 1) > SYSDATE
AND ro1.res_ruimte_key(+) = r.res_ruimte_key
AND ro2.res_ruimte_key = r.res_ruimte_key
AND ro2.res_ruimte_opstel_key =
@@ -324,8 +325,9 @@ AS
PROCEDURE import_exchange (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
IS
c_fielddelimitor VARCHAR2 (1) := ';';
c_max_errors NUMBER := 100;
v_newline VARCHAR2 (1000); -- Input line
v_aanduiding VARCHAR2 (600);
v_aanduiding VARCHAR2 (200);
v_errorhint VARCHAR2 (1000);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
@@ -335,6 +337,7 @@ AS
v_count_tot NUMBER (10);
v_count_error NUMBER (10);
v_count_import NUMBER (10);
v_count NUMBER;
v_import_filenaam fac_import.fac_import_filenaam%TYPE;
v_ruimte_id res_ruimte.res_ruimte_extern_id%TYPE;
date_interval_start DATE := TRUNC (SYSDATE) - p_days_from;
@@ -365,9 +368,6 @@ AS
-- AKZA#36457: de ID van de ruimte is niet meer uit de inhoud van de XML te halen.
-- Dan maar de bestandsnaam gebruiken (refkey is niet handig, want dan moeten we voor
-- elke room de import draaien).
v_errorhint := 'Fout bij het (eenduidig) bepalen van de reserveerbare ruimte die we moeten updaten';
SELECT r.res_ruimte_extern_id, i.fac_import_filenaam
INTO v_ruimte_id, v_import_filenaam
FROM res_ruimte r, fac_import i
@@ -644,24 +644,21 @@ AS
COMMIT;
END import_exchange;
-- Merk op dat er veel meer dan gewoonlijk COMMIT's tussendoor staan
-- Dat is allemaal om zo veel mogelijk deadlocks te voorkomen
-- Pas ook op met de volgorde van statements (binnen een transactie)
-- Voorkom altijd UPDATE exc_import, dan UPDATE res_rsv_ruimte en dan weer UPDATE exc_import
-- De laatste UPDATE exc_import moet voor de UPDATE res_rsv_ruimte
PROCEDURE update_exchange (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
IS
v_aanduiding VARCHAR2 (600);
v_aanduiding VARCHAR2 (200);
v_errorhint VARCHAR2 (1000);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count_tot NUMBER (10);
v_count_error NUMBER (10);
v_count NUMBER (10);
v_ruimte_extern_id res_ruimte.res_ruimte_extern_id%TYPE;
v_count_wanted NUMBER (10);
v_count_all_booked NUMBER (10);
v_count_all_needed NUMBER (10);
v_ongeldig NUMBER (1);
v_debug BOOLEAN := FALSE;
sync_level fac_setting.fac_setting_pvalue%TYPE;
date_interval_start DATE := TRUNC (SYSDATE) - p_days_from;
@@ -676,8 +673,6 @@ AS
v_kostenplaats_key NUMBER (10);
v_status_fo_key NUMBER (10);
v_discipline_key NUMBER (10);
v_organizer VARCHAR2(200);
v_trackingnew VARCHAR2(1000);
-- ANNULEREN
-- Eerst alle reserveringen waar geen appointments meer bij zijn annuleren, zodat
@@ -1020,8 +1015,6 @@ AS
FROM res_rsv_ruimte
WHERE INSTR(res_rsv_ruimte_externnr, i.appt_id || '|') = 1);
COMMIT; -- Cleanup
FOR rec IN c_del
LOOP
BEGIN
@@ -1084,18 +1077,6 @@ AS
v_errorhint := 'Deelreservering verwijderen';
-- Succesvol afgerond; zet vlag.
-- AKZA#35459: vlag niet zetten voor een single die recurring is geworden;
-- die recurrence moeten we straks in de add-cursor nog toevoegen.
IF NOT (rec.reden = 'Made recurring')
THEN
UPDATE exc_import
SET gelukt = 1
WHERE appt_id || '|' || recur_id =
rec.appt_id || '|' || rec.recur_id
AND gelukt IS NULL;
END IF;
UPDATE res_rsv_ruimte
SET res_status_fo_key = v_status_fo_key,
res_rsv_ruimte_verwijder = SYSDATE
@@ -1127,6 +1108,18 @@ AS
WHERE res_reservering_key =
rec.res_reservering_key);
-- Succesvol afgerond; zet vlag.
-- AKZA#35459: vlag niet zetten voor een single die recurring is geworden;
-- die recurrence moeten we straks in de add-cursor nog toevoegen.
IF NOT (rec.reden = 'Made recurring')
THEN
UPDATE exc_import
SET gelukt = 1
WHERE appt_id || '|' || recur_id =
rec.appt_id || '|' || rec.recur_id
AND gelukt IS NULL;
END IF;
fac.imp_writelog (p_import_key,
'I',
v_aanduiding,
@@ -1150,7 +1143,7 @@ AS
END;
END LOOP;
COMMIT; -- de DELETE's
COMMIT;
-- Omdat we entries die gefaald zijn 'bewaren', kan het zijn dat we voor <20><>n appointment
-- meerdere updates - of zelfs een delete - hebben. Dan zijn we alleen ge<67>nteresseerd in de
@@ -1177,8 +1170,6 @@ AS
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_externnr = i.appt_id || '|' || i.recur_id);
COMMIT; -- Cleanup
-- Dan bestaande bijwerken, anders kan het gebeuren dat we op basis van een UPDATE
-- eerst een rsv_ruimte aanmaken en 'm daarna meteen proberen bij te werken.
-- TODO: is dat nog steeds zo met "gelukt = 1"?
@@ -1356,16 +1347,6 @@ AS
END IF;
END IF;
-- Succesvol afgerond; zet vlag.
-- All<6C><6C>n voor nu beschouwde ruimte! (appointments kunnen op meerdere ruimtes zijn)
-- TODO: komen we hier ook als er iets mis ging met de bezoekers?
UPDATE exc_import
SET gelukt = 1
WHERE appt_id || '|' || recur_id =
rec.appt_id || '|' || rec.recur_id
AND room_id = rec.room_id
AND gelukt IS NULL;
-- We hebben niet geskipt, dus willen we deze rsv_ruimte bijwerken
-- Basisgegevens reservering gewijzigd?
IF ( v_ruimte_extern_id != rec.res_ruimte_extern_id
@@ -1476,6 +1457,16 @@ AS
END IF;
END IF;
-- Succesvol afgerond; zet vlag.
-- All<6C><6C>n voor nu beschouwde ruimte! (appointments kunnen op meerdere ruimtes zijn)
-- TODO: komen we hier ook als er iets mis ging met de bezoekers?
UPDATE exc_import
SET gelukt = 1
WHERE appt_id || '|' || recur_id =
rec.appt_id || '|' || rec.recur_id
AND room_id = rec.room_id
AND gelukt IS NULL;
IF (v_debug)
THEN
fac.imp_writelog (p_import_key,
@@ -1502,7 +1493,7 @@ AS
END;
END LOOP;
COMMIT; -- de UPDATE's
COMMIT;
-- Ten slotte nieuwe reserveringen toevoegen
FOR rec IN c_add
@@ -1514,29 +1505,17 @@ AS
v_reservering_key := NULL;
v_rsv_ruimte_volgnr := 1;
v_rsv_ruimte_key := NULL;
v_trackingnew := NULL;
v_errorhint :=
'Host '
|| rec.organizer
|| ' onbekend, of meer personen met dit e-mailadres! Geen boeking.';
IF (rec.organizer LIKE '##%@%##') -- _MSGRAPH_FALLBACK_UNKNOWN
THEN
SELECT prs_perslid_email
INTO v_organizer
FROM prs_v_aanwezigperslid
WHERE prs_perslid_oslogin = '_MSGRAPH_FALLBACK_UNKNOWN';
v_trackingnew := REPLACE(lcl.l('lcl_res_is_resnew_exchange'), '{0}', SUBSTR(rec.organizer, 3, LENGTH(rec.organizer) - 4));
ELSE
v_organizer := rec.organizer;
END IF;
-- Kennen we deze persoon eigenlijk wel?
SELECT COUNT (*)
INTO v_count
FROM prs_v_aanwezigperslid p
WHERE UPPER (p.prs_perslid_email) = UPPER (v_organizer);
WHERE UPPER (p.prs_perslid_email) = UPPER (rec.organizer);
-- Niet bekend, of niet eenduidig --> jammer dan.
IF (v_count != 1)
@@ -1553,7 +1532,7 @@ AS
INTO v_perslid_key, v_kostenplaats_key
FROM prs_v_aanwezigperslid p, prs_v_aanwezigafdeling a
WHERE UPPER (p.prs_perslid_email) =
UPPER (v_organizer)
UPPER (rec.organizer)
AND a.prs_afdeling_key = p.prs_afdeling_key;
v_errorhint := 'Opstelling ophalen';
@@ -1581,14 +1560,6 @@ AS
-- AND res_rsv_ruimte_externnr NOT LIKE '%|'||rec.recur_id||'|%'
AND res_rsv_ruimte_verwijder IS NULL;
-- Succesvol afgerond; zet vlag.
-- TODO: komen we hier ook als er iets mis ging met de bezoekers?
UPDATE exc_import
SET gelukt = 1
WHERE appt_id || '|' || recur_id =
rec.appt_id || '|' || rec.recur_id
AND gelukt IS NULL;
-- Er bestaan al deelreserveringen voor andere occurences van deze recurring appointment
-- Deelreservering binnen de bijbehorende res_reservering aanmaken
IF (v_count > 0)
@@ -1716,6 +1687,14 @@ AS
v_errorhint := 'Toevoegen bezoekers';
exc.importBezoekers(p_import_key, rec.appt_id, rec.recur_id, v_rsv_ruimte_key, date_interval_start, date_interval_end);
-- Succesvol afgerond; zet vlag.
-- TODO: komen we hier ook als er iets mis ging met de bezoekers?
UPDATE exc_import
SET gelukt = 1
WHERE appt_id || '|' || recur_id =
rec.appt_id || '|' || rec.recur_id
AND gelukt IS NULL;
IF (v_debug)
THEN
fac.imp_writelog (p_import_key,
@@ -1744,7 +1723,7 @@ AS
v_rsv_ruimte_key,
NULL,
SYSDATE,
v_trackingnew);
NULL);
-- Is er iets dirty?
res.set_ruimte_dirty (v_rsv_ruimte_key);
@@ -1789,7 +1768,7 @@ AS
v_errorhint := '';
exc.set_ruimtes_clean (p_import_key);
END IF;
COMMIT; -- de INSERT's
COMMIT;
EXCEPTION
WHEN OTHERS
@@ -1819,8 +1798,6 @@ AS
PROCEDURE update_exchfull (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
IS
v_errorhint VARCHAR2 (1000);
date_interval_start DATE := TRUNC (SYSDATE) - p_days_from;
date_interval_end DATE := TRUNC (SYSDATE) + p_days_to;
BEGIN
update_exchange (p_import_key, p_days_from, p_days_to); -- Eerst de gewone import
@@ -1845,12 +1822,14 @@ AS
AND ( (SELECT BITAND ( COALESCE (fac_setting_pvalue, fac_setting_default), 6)
FROM fac_setting
WHERE fac_setting_name = 'msgraph_sync_level') = 4
OR ( rr.res_rsv_ruimte_externnr IS NOT NULL -- Sluit Facilitor initiated reserveringen uit bij S(msgraph_sync_level) &2
OR ( rr.res_rsv_ruimte_externnr IS NOT NULL
AND rr.res_rsv_ruimte_externnr2 IS NULL
AND rr.res_rsv_ruimte_externsyncdate IS NULL))
AND rr.res_rsv_ruimte_externsyncdate IS NOT NULL))
AND rr.res_rsv_ruimte_verwijder IS NULL
AND rr.res_rsv_ruimte_tot >= date_interval_start
AND rr.res_rsv_ruimte_van <= date_interval_end
AND rr.res_rsv_ruimte_van >=
(SELECT MIN (starttime) FROM this_import)
AND rr.res_rsv_ruimte_van <=
(SELECT MAX (starttime) FROM this_import)
AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key
AND r.res_ruimte_key = ro.res_ruimte_key
AND r.res_ruimte_extern_id IN (SELECT DISTINCT room_id

View File

@@ -5,8 +5,8 @@
* $Id$
*/
CREATE_TRIGGER(exc_t_exc_import_B_I)
BEFORE INSERT ON exc_import
CREATE_TRIGGER(exc_t_exc_import_B_IU)
BEFORE INSERT OR UPDATE ON exc_import
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(exc_import_key, exc_s_import_key);

View File

@@ -76,6 +76,4 @@ CREATE INDEX faq_i_faq_kenmerk1 ON faq_kenmerk(faq_kenmerk_code);
CREATE INDEX fac_i_fac_gui_counter1 ON fac_gui_counter(prs_perslid_key);
CREATE UNIQUE INDEX fac_i_fac_usrrap_cols1 ON fac_usrrap_cols(fac_usrrap_key, UPPER(fac_usrrap_cols_column_name));
REGISTERONCE('$Id$')

View File

@@ -1657,165 +1657,165 @@ END;
// Alles als een enorme BEGIN/END is over het netwerk immens sneller
BEGIN
DEF_FAC_FUNCTIE3('WEB_ALGMAN', 'ALG', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_ALGMGT', 'ALG', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_ALGMSU', 'ALG', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_ALGUSE', 'ALG', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_APIDOC', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_BESBAC', 'BES', 13, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESBOF', 'BES', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_BESBOR', 'BES', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_BESFIN', 'FIN', 5, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESFOF', 'BES', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_BESGO2', 'BES', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESGO3', 'BES', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESGO4', 'BES', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESGO5', 'BES', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BESMGT', 'BES', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_BESMSU', 'BES', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_BESUSE', 'BES', 15, 1, 0);
DEF_FAC_FUNCTIE3('WEB_BEZBAC', 'BEZ', 13, 0, 0);
DEF_FAC_FUNCTIE3('WEB_BEZBOF', 'BEZ', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_BEZFOF', 'BEZ', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_BEZMGT', 'BEZ', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_BEZMSU', 'BEZ', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_BEZPAF', 'BEZ', 7, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_BEZPRK', 'BEZ', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_BEZUSE', 'BEZ', 15, 0, 0);
DEF_FAC_FUNCTIE3('WEB_BGTMAN', 'BGT', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_BGTMGT', 'BGT', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_BGTORD', 'BGT', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_BGTUSE', 'BGT', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CADALG', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADBOF', 'CAD', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_CADCNT', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADFOF', 'CAD', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_CADMGT', 'CAD', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_CADMLD', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADMSU', 'CAD', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_CADOBJ', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADPRS', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADSCH', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADSLE', 'CAD', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_CADUSE', 'CAD', 11, 0, 0);
DEF_FAC_FUNCTIE3('WEB_ALGMAN', 'ALG', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ALGMGT', 'ALG', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_ALGMSU', 'ALG', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_ALGUSE', 'ALG', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_APIDOC', 'FAC', 0, 0, NULL); // NULL
DEF_FAC_FUNCTIE3('WEB_BESBAC', 'BES', 13, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BESBOF', 'BES', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BESBOR', 'BES', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BESFIN', 'BES', 5, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_BESFOF', 'BES', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BESGO2', 'BES', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BESGO3', 'BES', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BESGO4', 'BES', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BESGO5', 'BES', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BESMGT', 'BES', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_BESMSU', 'BES', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_BESUSE', 'BES', 15, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_BEZBAC', 'BEZ', 13, 0, 0); // 1
DEF_FAC_FUNCTIE3('WEB_BEZBOF', 'BEZ', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BEZFOF', 'BEZ', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BEZMGT', 'BEZ', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_BEZMSU', 'BEZ', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_BEZPAF', 'BEZ', 7, 0, NULL); // NULL
DEF_FAC_FUNCTIE3('WEB_BEZPRK', 'BEZ', 0, 0, NULL); // NULL
DEF_FAC_FUNCTIE3('WEB_BEZUSE', 'BEZ', 15, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_BGTMAN', 'BGT', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BGTMGT', 'BGT', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_BGTORD', 'BGT', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_BGTUSE', 'BGT', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CADALG', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADBOF', 'CAD', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CADCNT', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADFOF', 'CAD', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CADMGT', 'CAD', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_CADMLD', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADMSU', 'CAD', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_CADOBJ', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADPRS', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADSCH', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADSLE', 'CAD', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CADUSE', 'CAD', 11, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CHTOPR', 'CHT', 0, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CHTREQ', 'CHT', 0, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTFIN', 'FIN', 5, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTGO1', 'CNT', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTGO2', 'CNT', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTGO3', 'CNT', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTGO4', 'CNT', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTGO5', 'CNT', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_CNTMAN', 'CNT', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CNTMGT', 'CNT', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_CNTMSU', 'CNT', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_CNTUSE', 'CNT', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CNTFIN', 'CNT', 5, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTGO1', 'CNT', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTGO2', 'CNT', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTGO3', 'CNT', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTGO4', 'CNT', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTGO5', 'CNT', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_CNTMAN', 'CNT', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CNTMGT', 'CNT', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_CNTMSU', 'CNT', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_CNTUSE', 'CNT', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CTRFOF', 'CTR', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CTRBOF', 'CTR', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CTRMGT', 'CTR', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_CTRUSE', 'CTR', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CTRSEN', 'CTR', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_EXTFIN', 'FIN', 11, 0, 0);
DEF_FAC_FUNCTIE3('WEB_EXTORD', 'MLD', 11, 1, 1);
DEF_FAC_FUNCTIE3('WEB_EXTREL', 'PRS', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_FACFAC', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FACQRC', 'FAC', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_FACMAN', 'PRS', 7, 0, 1);
DEF_FAC_FUNCTIE3('WEB_FACMGT', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FACMSU', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FACTAB', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FACHML', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FACRFR', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_FAQBOF', 'FAQ', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_FAQFOF', 'FAQ', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_FAQMGT', 'FAQ', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_FAQMSU', 'FAQ', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_FAQUSE', 'FAQ', 1, 1, 0);
DEF_FAC_FUNCTIE3('WEB_FINBOF', 'FIN', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_FINFOF', 'FIN', 3, 0, 1);
DEF_FAC_FUNCTIE3('WEB_FINGOE', 'FIN', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_FINMGT', 'FIN', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_FINMSU', 'FIN', 3, 0, 2);
DEF_FAC_FUNCTIE3('WEB_HLPADM', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_IMPORT', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_INSFOF', 'INS', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_INSMAN', 'INS', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_INSMGT', 'INS', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_INSMSU', 'INS', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_INSPRJ', 'INS', 11, 1, 1);
DEF_FAC_FUNCTIE3('WEB_INSUSE', 'INS', 11, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CTRMGT', 'CTR', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_CTRUSE', 'CTR', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_CTRSEN', 'CTR', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_EXTFIN', 'FIN', 11, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_EXTORD', 'MLD', 11, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_EXTREL', 'PRS', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FACFAC', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_FACQRC', 'FAC', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_FACMAN', 'PRS', 7, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FACMGT', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_FACMSU', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_FACTAB', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_FACHML', 'FAC', 0, 0, NULL); //
DEF_FAC_FUNCTIE3('WEB_FACRFR', 'FAC', 0, 0, NULL); //
DEF_FAC_FUNCTIE3('WEB_FAQBOF', 'FAQ', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FAQFOF', 'FAQ', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FAQMGT', 'FAQ', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_FAQMSU', 'FAQ', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_FAQUSE', 'FAQ', 1, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_FINBOF', 'FIN', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FINFOF', 'FIN', 3, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_FINGOE', 'FIN', 0, 0, 0); // 1
DEF_FAC_FUNCTIE3('WEB_FINMGT', 'FIN', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_FINMSU', 'FIN', 3, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_HLPADM', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_IMPORT', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_INSFOF', 'INS', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_INSMAN', 'INS', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_INSMGT', 'INS', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_INSMSU', 'INS', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_INSPRJ', 'INS', 11, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_INSUSE', 'INS', 11, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_INSMIN', 'INS', 0, 1, 0);
DEF_FAC_FUNCTIE3('WEB_KPIRAP', 'KPI', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_LAYOUT', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_LCLSYS', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_MLDAFR', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_MLDBAC', 'MLD', 13, 1, 0);
DEF_FAC_FUNCTIE3('WEB_MLDBO2', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_MLDBO3', 'MLD', 15, 1, 0);
DEF_FAC_FUNCTIE3('WEB_MLDBOF', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_MLDFIN', 'FIN', 5, 1, 0);
DEF_FAC_FUNCTIE3('WEB_MLDFOF', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_MLDMGT', 'MLD', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_MLDMSU', 'MLD', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_MLDORD', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_MLDUSE', 'MLD', 15, 1, 0);
DEF_FAC_FUNCTIE3('WEB_MLDMSA', 'MLD', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_MRKBOF', 'MRK', 0, 0, 1);
DEF_FAC_FUNCTIE3('WEB_MRKMGT', 'MRK', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_MRKMSU', 'MRK', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_MRKUSE', 'MRK', 3, 0, 0);
DEF_FAC_FUNCTIE3('WEB_MSGUSE', 'MSG', 3, 0, 0); // nog geen disciplines
//DEF_FAC_FUNCTIE3('WEB_MSGFOF', 'MSG', 11, 0, 1); // future use
DEF_FAC_FUNCTIE3('WEB_MSGBOF', 'MSG', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_ORDAFR', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_ORDBO2', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_ORDBOF', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_ORDFIN', 'FIN', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_ORDGO2', 'MLD', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDGO3', 'MLD', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDGO4', 'MLD', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDGO5', 'MLD', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDGOE', 'MLD', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDOAP', 'MLD', 0, 1, 0);
DEF_FAC_FUNCTIE3('WEB_ORDSUP', 'FIN', 0, 0, 1);
DEF_FAC_FUNCTIE3('WEB_ORDUSE', 'MLD', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_PERMON', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_PHONEB', 'PRS', 13, 0, 0);
DEF_FAC_FUNCTIE3('WEB_PHSRCH', 'PRS', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_PRJBOF', 'PRJ', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_PRJMAN', 'PRJ', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_PROFIL', 'PRS', 3, 0, 0);
DEF_FAC_FUNCTIE3('WEB_PRSBOF', 'PRS', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_PRSFOF', 'PRS', 0, 0, 1);
DEF_FAC_FUNCTIE3('WEB_PRSMAN', 'PRS', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_PRSMGT', 'PRS', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_PRSMSU', 'PRS', 3, 0, 2);
DEF_FAC_FUNCTIE3('WEB_PRSOBJ', 'PRS', 3, 0, 0);
DEF_FAC_FUNCTIE3('WEB_PRSSYS', 'FAC', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_PRSUSE', 'PRS', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_RELMAN', 'PRS', 3, 0, 1);
DEF_FAC_FUNCTIE3('WEB_RELUSE', 'PRS', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_RESAFR', 'RES', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_RESBAC', 'RES', 13, 1, 0);
DEF_FAC_FUNCTIE3('WEB_RESBOF', 'RES', 11, 1, 1);
DEF_FAC_FUNCTIE3('WEB_RESFOF', 'RES', 15, 1, 1);
DEF_FAC_FUNCTIE3('WEB_RESMGT', 'RES', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_RESMSU', 'RES', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_RESNOS', 'RES', 11, 1, 0);
DEF_FAC_FUNCTIE3('WEB_RESUSE', 'RES', 15, 1, 0);
DEF_FAC_FUNCTIE3('WEB_RUIMAN', 'ALG', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_RUIUSE', 'ALG', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_SLEBOF', 'SLE', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_SLEFOF', 'SLE', 15, 0, 1);
DEF_FAC_FUNCTIE3('WEB_TERMAN', 'ALG', 11, 0, 1);
DEF_FAC_FUNCTIE3('WEB_UDRMAN', 'UDR', 0, 0, 2);
DEF_FAC_FUNCTIE3('WEB_USRRAP', 'FAC', 0, 0, NULL);
DEF_FAC_FUNCTIE3('WEB_UURBOF', 'MLD', 3, 1, 0);
DEF_FAC_FUNCTIE3('WEB_UURFOF', 'MLD', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_UURUSE', 'MLD', 3, 0, 0);
DEF_FAC_FUNCTIE3('WEB_VERFAC', 'FIN', 0, 0, 0);
DEF_FAC_FUNCTIE3('WEB_KPIRAP', 'KPI', 0, 0, 0); // 1
DEF_FAC_FUNCTIE3('WEB_LAYOUT', 'FAC', 0, 0, NULL); // NULL
DEF_FAC_FUNCTIE3('WEB_LCLSYS', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_MLDAFR', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MLDBAC', 'MLD', 13, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_MLDBO2', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MLDBO3', 'MLD', 15, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_MLDBOF', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MLDFIN', 'MLD', 5, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_MLDFOF', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MLDMGT', 'MLD', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_MLDMSU', 'MLD', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_MLDORD', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MLDUSE', 'MLD', 15, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_MLDMSA', 'MLD', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_MRKBOF', 'MRK', 0, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_MRKMGT', 'MRK', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_MRKMSU', 'MRK', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_MRKUSE', 'MRK', 3, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_MSGBOF', 'MSG', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ORDAFR', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ORDBO2', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ORDBOF', 'MLD', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ORDFIN', 'FIN', 0, 0, NULL); // 1
DEF_FAC_FUNCTIE3('WEB_ORDGO2', 'MLD', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_ORDGO3', 'MLD', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_ORDGO4', 'MLD', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_ORDGO5', 'MLD', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_ORDGOE', 'MLD', 11, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_ORDOAP', 'MLD', 0, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_ORDSUP', 'FIN', 0, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_ORDUSE', 'MLD', 15, 1, 1); // 0
DEF_FAC_FUNCTIE3('WEB_PERMON', 'FAC', 0, 0, NULL); // 2
DEF_FAC_FUNCTIE3('WEB_PHONEB', 'PRS', 13, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_PHSRCH', 'PRS', 0, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_PRDMSU', 'BES', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_PRJBOF', 'PRJ', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_PRJMAN', 'PRJ', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_PROFIL', 'PRS', 3, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_PRSBOF', 'PRS', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_PRSFOF', 'PRS', 0, 0, 1); // 1??
DEF_FAC_FUNCTIE3('WEB_PRSMAN', 'PRS', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_PRSMGT', 'PRS', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_PRSMSU', 'PRS', 3, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_PRSOBJ', 'PRS', 3, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_PRSSYS', 'FAC', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_PRSUSE', 'PRS', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RELMAN', 'PRS', 3, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RELUSE', 'PRS', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RESAFR', 'RES', 0, 0, NULL); // 1
DEF_FAC_FUNCTIE3('WEB_RESBAC', 'RES', 13, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_RESBOF', 'RES', 11, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RESFOF', 'RES', 15, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RESMGT', 'RES', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_RESMSU', 'RES', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_RESNOS', 'RES', 11, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_RESUSE', 'RES', 15, 1, 0); // 0
DEF_FAC_FUNCTIE3('WEB_RUIMAN', 'ALG', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_RUIUSE', 'ALG', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_SLEBOF', 'SLE', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_SLEFOF', 'SLE', 15, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_TERMAN', 'ALG', 11, 0, 1); // 1
DEF_FAC_FUNCTIE3('WEB_UDRMAN', 'UDR', 0, 0, 2); // 2
DEF_FAC_FUNCTIE3('WEB_USRRAP', 'FAC', 0, 0, NULL); // NULL
DEF_FAC_FUNCTIE3('WEB_UURBOF', 'MLD', 3, 1, 0); // 1
DEF_FAC_FUNCTIE3('WEB_UURFOF', 'MLD', 3, 1, 1); // 1
DEF_FAC_FUNCTIE3('WEB_UURUSE', 'MLD', 3, 0, 0); // 0
DEF_FAC_FUNCTIE3('WEB_VERFAC', 'FIN', 0, 0, 0); // 1
DEF_FAC_FUNCTIE3('WEB_WGTUSE', 'WGT', 3, 0, 0);
DEF_FAC_FUNCTIE3('WEB_WGTMAN', 'WGT', 3, 0, 1);
/* User definable functions */
DEF_FAC_FUNCTIE3x('WEB_USER','01', 'FAC', 15, 0, NULL);
DEF_FAC_FUNCTIE3x('WEB_USER','02', 'FAC', 15, 0, NULL);
@@ -2202,11 +2202,6 @@ DEF_FAC_SRTNOT('PRSTRK', 0, '', 'prs/prs_perslid.asp?prs_key=', 0, 'p
DEF_FAC_SRTNOT('RESTRK', 0, '', 'res/res_reservering.asp?rsv_ruimte_key=', 0, 'reservering', 10);
DEF_FAC_SRTNOT('WEBTRK', 0, '', '', 0, 'intranet', 10);
// Notificatiesoorten tbv rating-tracking
DEF_FAC_SRTNOT('BESLIK', 0, 'lcl_noti_BESLIK', 'bes/bes_bestelling.asp?bes_key=', 0, 'bestelling', 10);
DEF_FAC_SRTNOT('MLDLIK', 0, 'lcl_noti_MLDLIK', 'mld/mld_melding.asp?mld_key=', 0, 'melding', 10);
DEF_FAC_SRTNOT('RESLIK', 0, 'lcl_noti_RESLIK', 'res/res_reservering.asp?rsv_ruimte_key=', 0, 'reservering', 10);
END;
/
@@ -2327,26 +2322,6 @@ INSERT INTO prs_perslid (prs_perslid_module,
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR';
-- Toevoegen gebruiker om automatische Sensor-vervolgacties uit te voeren
INSERT INTO prs_perslid (prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
prs_perslid_naam,
prs_perslid_oslogin,
prs_perslid_apikey,
prs_perslid_flags,
prs_perslid_opmerking)
SELECT prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
'Sensor',
'_SENSOR',
DBMS_RANDOM.string ('a', 32),
36,
'System account for sensor-triggered-events.'||CHR(13)||'For Facilitor internal use'
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR';
-- Bij elke klant anders, moet dus in pvalue
UPDATE fac_setting
SET fac_setting_pvalue =
@@ -2434,19 +2409,19 @@ SELECT fac_groep_key, fac_functie_key, -1,-1,-1,-1
/* definieer de FIP-importfuncties */
DEF_IMPORT('WEB_PRSSYS', 'ONRGOED1', 'FIP: 1-Aanvullen districten t/m gebouwen', 'FIP: 1-Add districts up to buildings')
DEF_IMPORT('WEB_FACFAC', 'ONRGOED1_DEL', 'FIP: 1-Vervangen vanaf districten', 'FIP: 1-Replace from districts')
DEF_IMPORT('WEB_FACTAB', 'ONRGOED1_DEL', 'FIP: 1-Vervangen vanaf districten', 'FIP: 1-Replace from districts')
DEF_IMPORT('WEB_PRSSYS', 'ONRGOED2', 'FIP: 2-Aanvullen bouwlagen en ruimten', 'FIP: 2-Add floors and rooms')
DEF_IMPORT('WEB_FACFAC', 'ONRGOED2_DEL', 'FIP: 2-Vervangen vanaf bouwlagen', 'FIP: 2-Replace from floors')
DEF_IMPORT('WEB_FACTAB', 'ONRGOED2_DEL', 'FIP: 2-Vervangen vanaf bouwlagen', 'FIP: 2-Replace from floors')
DEF_IMPORT('WEB_PRSSYS', 'ORGANISATIE', 'FIP: 3-Aanvullen organisatiestructuur', 'FIP: 3-Add organization structure')
DEF_IMPORT('WEB_FACFAC', 'ORGANISATIE_DEL', 'FIP: 3-Vervangen vanaf organisatiestructuur', 'FIP: 3-Replace from organization structure')
DEF_IMPORT('WEB_FACTAB', 'ORGANISATIE_DEL', 'FIP: 3-Vervangen vanaf organisatiestructuur', 'FIP: 3-Replace from organization structure')
DEF_IMPORT('WEB_PRSSYS', 'PERSLID', 'FIP: 4-Aanvullen personen', 'FIP: 4-Add persons')
DEF_IMPORT('WEB_FACFAC', 'PERSLID_DEL', 'FIP: 4-Vervangen vanaf personen', 'FIP: 4-Replace from persons')
DEF_IMPORT('WEB_FACTAB', 'PERSLID_DEL', 'FIP: 4-Vervangen vanaf personen', 'FIP: 4-Replace from persons')
DEF_IMPORT('WEB_PRSSYS', 'MLD', 'FIP: 5-Aanvullen servicedesk', 'FIP: 5-Add service desk')
DEF_IMPORT('WEB_FACFAC', 'MLD_DEL', 'FIP: 5-Vervangen servicedesk', 'FIP: 5-Replace service desk')
DEF_IMPORT('WEB_FACTAB', 'MLD_DEL', 'FIP: 5-Vervangen servicedesk', 'FIP: 5-Replace service desk')
DEF_IMPORT('WEB_PRSSYS', 'INS', 'FIP: 6-Aanvullen objecten', 'FIP: 6-Add objects')
DEF_IMPORT('WEB_PRSSYS', 'FAC_GROEP', 'FIP: 7-Aanvullen gebruikersgroepen', 'FIP: 6-Add user groups')
DEF_IMPORT('WEB_FACFAC', 'FAC_GROEP_DEL', 'FIP: 7b-Vervangen gebruikersgroepen', 'FIP: 7b-Replace user groups')
DEF_IMPORT('WEB_FACFAC', 'FAC_VAKGROEP_DEL', 'FIP: 7c-Vervangen vakgroepen van alle gebruikersgroepen', 'FIP: 7c-Replace diciplines of all user groups')
DEF_IMPORT('WEB_FACTAB', 'FAC_GROEP_DEL', 'FIP: 7b-Vervangen gebruikersgroepen', 'FIP: 7b-Replace user groups')
DEF_IMPORT('WEB_FACTAB', 'FAC_VAKGROEP_DEL', 'FIP: 7c-Vervangen vakgroepen van alle gebruikersgroepen', 'FIP: 7c-Replace diciplines of all user groups')
DEF_IMPORT('WEB_PRSSYS', 'FAC_GEBRUIKERSGROEP', 'FIP: 8-Toewijzen gebruikersgroepen', 'FIP: 8-Assign user groups')
DEF_IMPORT('WEB_PRSSYS', 'INSPECTIE', 'FIP: 9-Aanvullen van inspectiedefinities', 'FIP: 9-Add inspection definitions')
DEF_IMPORT('WEB_RESMSU', 'RES_ARTIKEL_SYNC', 'Reservering: Inlezen verbruiksartikelen', 'Reservation: Download consumables')
@@ -2599,6 +2574,10 @@ DEF_RAPPORT('WEB_UDRMAN', 32, 'mld_v_udr_opdracht', 'UDR: Opdrachten'
'UDR: Orders', 'Basic report for order reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'mld_v_udr_meldingopdracht', 'UDR: Meldingen/opdrachten', 'Basisrapport voor melding+opdrachtrapportages',
'UDR: Calls/Orders', 'Basic report for call+order reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'mld_v_udr_meldingkenmerk_cnd', 'UDR: Meldingen plus', 'Basisrapport voor melding+kenmerk rapportages',
'UDR: Calls plus', 'Basic report for call+property reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'mld_v_udr_opdrachtkenmerk_cnd', 'UDR: Opdrachten plus', 'Basisrapport voor opdracht+kenmerk rapportages',
'UDR: Order plus', 'Basic report for order+property reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'mld_v_udr_opdrachtmateriaal', 'UDR: Opdrachten-materialen', 'Basisrapport voor opdracht+materiaal rapportages',
'UDR: Order materials', 'Basic report for order+material reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'res_v_udr_reservering', 'UDR: Reserveringen', 'Basisrapport voor reserveringsrapportages',
@@ -2611,19 +2590,16 @@ DEF_RAPPORT('WEB_UDRMAN', 32, 'fin_v_udr_kostenoverzicht', 'UDR: Kostenoverz
'UDR: Cost overview', 'Basic report for cost reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_deelmelding', 'UDR: Objectmeldingen', 'Basisrapport voor objecten met hun meldinggegevens',
'UDR: Object calls', 'Basic report for objects with call details')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_deelkenmerk_cnd', 'UDR: Objecten plus', 'Basisrapport voor object+kenmerk rapportages',
'UDR: Objects plus', 'Basic report for object+property reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_deelinspect', 'UDR: Object inspecties', 'Basisrapport voor object inspectie rapportages',
'UDR: Object inspections', 'Basic report for object inspection reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_deelsrtcontrole', 'UDR: Object soort controles', 'Basisrapport voor object soort controle rapportages',
'UDR: Object type tasks', 'Basic report for object type task reports')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_sensorhistorie', 'UDR: Sensor recente historie', 'Basisrapport voor recente meetwaarden van sensoren',
'UDR: Sensors recent history', 'Basic report for recent values of sensors')
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_sensorhistogram', 'UDR: Sensor gearchiveerde historie','Basisrapport voor historische gecomprimeerde meetwaarden van status-sensoren',
'UDR: Sensors archived history', 'Basic report for historic compressed values of state-sensors')
DEF_RAPPORT('WEB_UDRMAN', 32, 'bez_v_udr_reserveringbezoeker', 'UDR: Bezoekers bij reserveringen', 'Basisrapport voor bezoekers met reserveringsgegevens',
'UDR: Visitors with reservations', 'Basic report for visitors with reservation details')
DEF_RAPPORT('WEB_UDRMAN', 32, 'fac_v_udr_faq', 'UDR: Kennisbank', 'Basisrapport voor kennisbank rapportages',
'UDR: Knowledge base', 'Basic report for knowledge base reports')
// to be deprecated
DEF_RAPPORT('WEB_UDRMAN', 32, 'fac_v_udr_faqkenmerk_cnd', 'UDR: Kennisbank plus', 'Basisrapport voor kennisbankgegevens+kenmerk rapportages',
'UDR: Knowledge base plus', 'Basic report for knowledge base+property reports')
@@ -2850,6 +2826,7 @@ DEF_MENUITEM(2, 'lcl_menu_alg_setting' , '', 'ALG', 'appl/fac/fac_setti
DEF_MENUKOP(2, 'lcl_facmgt_prs', 'fa-users');
DEF_MENUITEM(2, 'lcl_menu_prs_functies' , '', 'PRS', 'appl/mgt/prs_srtperslid.asp', 0, 0, 'WEB_PRSMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_diensten' , '', 'PRS', 'appl/mgt/prs_dienst.asp', 0, 0, 'WEB_PRSMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_staffels' , '', 'PRS', 'appl/mgt/prs_staffel.asp', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_relatietypes' , '', 'PRS', 'appl/mgt/prs_relatietype.asp', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_bedrijfkenmerken' , '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=B', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_afdelingskenmerke', '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=A', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
@@ -2910,7 +2887,13 @@ DEF_MENUKOP(2, 'lcl_facmgt_bes', 'fa-cart-plus');
DEF_MENUITEM(2, 'lcl_menu_bes_catalogi' , '', 'BES', 'appl/mgt/bes_discipline.asp', 0, 0, 'WEB_BESMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_groepen' , '', 'BES', 'appl/mgt/bes_srtgroep.asp', 0, 0, 'WEB_BESMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_items' , '', 'BES', 'appl/mgt/bes_srtdeel.asp', 0, 0, 'WEB_BESMSU', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_prodcatalogi' , '', 'BES', 'appl/mgt/bes_disciplineprod.asp', 0, 0, 'WEB_PRDMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_prodgroepen' , '', 'BES', 'appl/mgt/bes_srtprodgroep.asp', 0, 0, 'WEB_PRDMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_proditems' , '', 'BES', 'appl/bes/bes_srtprod_search.asp', 0, 0, 'WEB_PRDMSU', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_prodmonitor' , '', 'BES', 'appl/bes/bes_assmon_search.asp', 0, 0, 'WEB_PRDMSU', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_bedrijfprod' , '', 'BES', 'appl/bes/bes_bedrijfproduct_search.asp', 0, 0, 'WEB_PRDMSU', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_staffeltabel' , '', 'BES', 'appl/mgt/bes_staffeltabel.asp', 0, 0, 'WEB_BESMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_grootheden' , '', 'BES', 'appl/mgt/bes_grootheid.asp', 0, 0, 'WEB_PRDMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_kenmerken' , '', 'BES', 'appl/mgt/bes_kenmerkbestel.asp', 0, 0, 'WEB_BESMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_itemkenmerken' , '', 'BES', 'appl/mgt/bes_kenmerk.asp', 0, 0, 'WEB_BESMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bes_kenmerksoorten' , '', 'BES', 'appl/mgt/bes_srtkenmerk.asp', 0, 0, 'WEB_BESMGT', 'W', '1', '');
@@ -2972,7 +2955,6 @@ DEF_MENUITEM(2, 'lcl_menu_fac_jobs' , '', 'FAC', 'appl/fac/job_searc
DEF_MENUITEM(2, 'lcl_menu_fac_vrije_dagen' , '', 'FAC', 'appl/mgt/mld_vrije_dagen.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_eigen_tabellen' , '', 'FAC', 'appl/mgt/fac_usrtab.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_gdprstats' , '', 'FAC', 'appl/prs/prs_gdpr_stats.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fmstats' , '', 'FAC', 'appl/alg/alg_fm_stats.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_about' , '', 'FAC', 'appl/fac/about.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_msg_overzicht' , '', 'MSG', 'appl/msg/fac_nieuws_search.asp', 0, 0, 'WEB_MSGBOF', 'R', '1', '');
@@ -2983,14 +2965,14 @@ DEF_MENUITEM(2, 'lcl_menu_cht_chatkanalen' , '', 'CHT', 'appl/mgt/cht_disci
DEF_MENUITEM(2, 'lcl_menu_fac_menustructuur' , '', 'FAC', 'appl/fac/fac_menu_search.asp?urole=bo', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_menustructuur_m' , '', 'FAC', 'appl/fac/fac_menu_search.asp?urole=bo&mobile=1', 0, 0, 'WEB_PRSSYS', 'W', '0', '');
DEF_MENUITEM(2, 'lcl_menu_fac_bookmarks' , '', 'FAC', 'appl/fac/fac_bookmark_list.asp', 0, 0, 'WEB_HLPADM', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_bookmarks' , '', 'FAC', 'appl/fac/fac_bookmark_list.asp', 0, 0, 'WEB_HLPADM', 'R', '0', '');
DEF_MENUITEM(2, 'lcl_menu_fac_vertalingen' , '', 'FAC', 'appl/fac/fac_locale_search_std.asp', 0, 0, 'WEB_LCLSYS', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_anonymize' , '', 'FAC', 'appl/fac/fac_anonymize_search.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_kpi_definitie' , '', 'FAC', 'appl/mgt/kpi_definitie.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_setting' , '', 'FAC', 'appl/fac/fac_setting_search.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_xsledit' , '', 'FAC', 'appl/fac/fac_edit_xsl.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_styling' , '', 'FAC', 'appl/fac/fac_edit_template.asp', 0, 0, 'WEB_LAYOUT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_styling' , '', 'FAC', 'appl/fac/fac_edit_template.asp', 0, 0, 'WEB_LAYOUT', 'W', '0', '');
DEF_MENUITEM(2, 'lcl_menu_fac_widgets' , '', 'FAC', 'appl/mgt/fac_widget.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_wgt_pages' , '', 'WGT', 'appl/mgt/fac_widget_page.asp', 0, 0, 'WEB_PRSSYS', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_layout' , '', 'FAC', 'appl/mgt/fac_layout.asp', 0, 0, 'WEB_FACTAB', 'W', '1', '');
@@ -3024,7 +3006,6 @@ DEF_MENUENTRY(2, 99160, 'lcl_menu_fac_refresh_accept' , '', 'FAC', 'appl/fac/fa
DEF_MENUITEM(3, 'lcl_mobile_search' , '', 'FAC', 'appl/pda/productsearch.asp', 0, 0, 'WEB_MLDUSE', 'R', '0', 'fa-search');
DEF_MENUITEM(3, 'lcl_mobile_news' , '', 'FAC', 'appl/pda/portalnews.asp', 0, 0, 'WEB_MLDUSE', 'R', '0', 'fa-newspaper');
DEF_MENUITEM(3, 'lcl_mobile_lopendezaken' , '', 'FAC', 'appl/pda/fac_list.asp', 0, 0, 'WEB_MLDUSE', 'R', '1', 'fa-list-ul');
DEF_MENUITEM(3, 'lcl_mobile_msg' , '', 'MSG', 'appl/pda/berichten.asp', 0, 0, 'WEB_MSGUSE', 'R', '1', 'fa-circle-y');
DEF_MENUITEM(3, 'lcl_mobile_fiattering' , '', 'FAC', 'appl/pda/fiat_list.asp', 0, 0, 'WEB_MLDUSE', 'R', '1', 'fa-check-square');
DEF_MENUITEM(3, 'lcl_mobile_mld_menu' , '', 'MLD', 'appl/pda/melding_menu.asp', 0, 0, 'WEB_MLDUSE', 'W', '0', 'fa-play');
DEF_MENUITEM(3, 'lcl_mobile_doemelding' , '', 'MLD', 'appl/pda/melding.asp', 0, 0, 'WEB_MLDUSE', 'W', '1', 'fa-exclamation-circle');

View File

@@ -380,10 +380,6 @@ FAC_LCL('lcl_maand_9', 'September', 'September')
FAC_LCL('lcl_maand_10', 'Oktober', 'October')
FAC_LCL('lcl_maand_11', 'November', 'November')
FAC_LCL('lcl_maand_12', 'December', 'December')
FAC_LCL('lcl_greet_morning', 'Goedemorgen', 'Good morning')
FAC_LCL('lcl_greet_afternoon', 'Goedemiddag', 'Good afternoon')
FAC_LCL('lcl_greet_evening', 'Goedenavond', 'Good evening')
FAC_LCL('lcl_greet_night', 'Goedenacht', 'Good night')
FAC_LCL('lcl_valutasign', '<27>', '<27>')
FAC_LCL('lcl_dep_name_level1', 'Business Unit', 'Business Unit')
FAC_LCL('lcl_dep_name_level2', 'Afdeling', 'Department')
@@ -440,20 +436,20 @@ FAC_LCL('lcl_otp_lastuse', 'OTP code laatst gebruikt', 'OTP Code last used')
FAC_LCL('lcl_login_needs_otpsecret', 'OTP code is niet geconfigureerd', 'OTP Code is not configured')
FAC_LCL('lcl_otp_authenticatie', 'Authenticator', 'Authenticator')
FAC_LCL('lcl_otp_authenticatie_activate', 'Inschakelen', 'Activate')
FAC_LCL('lcl_otp_auth_header', '<ol><li>Installeer een Authenticator app op uw telefoon</li>'
|| ' <li>Open de Authenticator app</li>'
|| ' <li>Kies voor toevoegen van een account en dan "Scan QR-code"</li>'
|| ' <li>Scan de onderstaande QR-code'
FAC_LCL('lcl_otp_auth_header', '<ol><li>Installeer de Google Authenticator op uw telefoon</li>'
|| ' <li>Open de Google Authenticator app</li>'
|| ' <li>Tap menu, tap dan "Setup an account", tap dan "Scan a barcode"</li>'
|| ' <li>Uw telefoon is nu in "scanning" mode.<br>Terwijl U in deze mode bent, scan onderstaande barcode'
|| ' <br>Als U handmatig de geheime sleutel wilt toevoegen gebruik dan {0}</li>'
|| '</ol>',
'<ol><li>Install an Authenticator app on your phone</li>'
|| ' <li>Open the Authenticator app</li>'
|| ' <li>Tap "Add an account", then tap "Scan a QR-code"</li>'
|| ' <li>Your phone will now be in "scanning" mode.<br>When you are in this mode, scan the QR-code below</li>'
'<ol><li>Install the Google Authenticator on your phone</li>'
|| ' <li>Open the Google Authenticator app</li>'
|| ' <li>Tap menu, then tap "Setup an account", then tap "Scan a barcode"</li>'
|| ' <li>Your phone will now be in "scanning" mode.<br>When you are in this mode, scan the barcode below</li>'
|| ' <li>If you want to enter the secret key manually use {0}</li>'
|| '</ol>')
FAC_LCL('lcl_otp_auth_footer', 'Nadat U de code heeft gescand vult U hieronder de 6 cijferige code in:',
'Once you have scanned the code, enter the 6-digit code below:')
'Once you have scanned the barcode, enter the 6-digit code below:')
FAC_LCL('lcl_otp_auth_verification', 'Verificatie code', 'Verification code')
FAC_LCL('lcl_confidential', 'Vertrouwelijk', 'Confidential')
FAC_LCL('lcl_confidential_mask', '***', '***')
@@ -507,16 +503,13 @@ FAC_LCL('lcl_invalid_pwd_too_common', 'Wachtwoord lijkt te veel op: {0}', 'Passw
FAC_LCL('lcl_invalid_pwd_normalized_short', 'Wachtwoord moet ten minste 4 letters bevatten', 'Password must contain at least 4 letters')
FAC_LCL('lcl_invalid_pwd_charsets', 'Wachtwoord moet uit drie van deze vier sets karakters hebben: kleine letters, hoofdletters, cijfers en speciale tekens', 'Password must have characters out of at least three of these sets: lowercase, uppercase, numbers and speciale characters')
FAC_LCL('lcl_prs_login_lockout', 'Te veel inlogpogingen voor {0}.' || CHR(10) || 'Wacht tot {1} om het opnieuw te proberen.', 'To many failed login attempts for {0}.' || CHR(10) || 'Please wait until {1} before trying again.')
FAC_LCL('lcl_prs_login_lockout', 'Te veel inlogpogingen voor {0}.' || CHR(13) || 'Wacht tot {1} om het opnieuw te proberen.', 'To many failed login attempts for {0}.\nPlease wait until {1} before trying again.')
FAC_LCL('lcl_click_here_pw_change', 'Klik op deze link om uw wachtwoord te wijzigen', 'Click this link to change your Password')
FAC_LCL('lcl_about', 'Licentieinformatie', 'License information')
FAC_LCL('lcl_fac_usage_frame', 'Gebruik', 'Usage')
FAC_LCL('lcl_key_users', 'Key-users', 'Key users')
FAC_LCL('lcl_fe_users', 'Frontend-users', 'Frontend users')
FAC_LCL('lcl_sys_users', 'Apparaat-users', 'Device users')
FAC_LCL('lcl_passive_users', 'Passieve users', 'Passive users')
FAC_LCL('lcl_api_users', 'API-users', 'API-users')
FAC_LCL('lcl_admin_users', 'Beheer-users', 'Admin users')
FAC_LCL('lcl_usrs_licensed', 'Aantal in licentie', 'Number licensed')
FAC_LCL('lcl_usrs_actual', 'Aantal in gebruik', 'Number in use')
@@ -817,7 +810,7 @@ FAC_LCL('lcl_mld_is_mldafr', 'Afmelding is definitief gemaakt', 'Closing is fina
FAC_LCL('lcl_mld_is_mldver', 'Administratief verwerkt', 'Accounted (processed)')
FAC_LCL('lcl_mld_is_mldrej', 'Melding is afgewezen', 'Call is rejected')
FAC_LCL('lcl_mld_is_mldbwd', 'In behandeling bij de frontoffice', 'Assigned to front office')
FAC_LCL('lcl_mld_is_mldnot', 'Notitie is genotificeerd', 'Note has been notified')
FAC_LCL('lcl_mld_is_mldnot', 'Notitie is toegevoegd', 'Note has been added')
FAC_LCL('lcl_mld_is_mlda2b', 'Actie is bij backoffice gezet', 'Action assigned to back office')
FAC_LCL('lcl_mld_is_mlda2m', 'Actie is bij aanvrager gezet', 'Action assigned to issuer')
FAC_LCL('lcl_mld_note_detail', 'Detailniveau', 'Detail level')
@@ -966,8 +959,8 @@ FAC_LCL('lcl_mld_showrespijt', 'Meldingen met respijt tonen', 'Show calls with g
FAC_LCL('lcl_mld_showindult', 'Meldingen met indult tonen', 'Show calls with extension of discount')
FAC_LCL('lcl_mld_opdr_later_klaar', 'Opdracht is later klaar dan volgens de SLA', 'Order is finished after the SLA date')
FAC_LCL('lcl_mld_klaar_na_sla', 'De melding is later afgerond dan volgens de SLA', 'The call was completed after the SLA date')
FAC_LCL('lcl_mld_opdr_afr_na_mld', 'De einddatum van deze opdracht ligt na de einddatum van de melding', 'The end date of this order is later than the end date of the call')
FAC_LCL('lcl_mld_shiftdate', 'De einddatum van deze opdracht ligt nu na de einddatum van de melding ({0}).<br>Moeten we de einddatum van de melding voor je aanpassen?', 'The end date of the order is past the end date of the call ({0}).<br>Should we update the call end date for you?')
FAC_LCL('lcl_mld_opdr_afr_na_mld', 'Einddatum van de opdracht is na de einddatum van de melding', 'End date of the order is after the end date of the call')
FAC_LCL('lcl_mld_shiftdate', 'Einddatum van de opdracht ligt nu na de einddatum van de melding ({0}).<br>Einddatum melding met de einddatum opdracht verschuiven?', 'End date of the order is past the end date of the call ({0}).<br>Update call end date to the order end date?')
FAC_LCL('lcl_mld_shift', 'Verschuiven', 'Shift')
FAC_LCL('lcl_mld_indult', 'Uitsluiten voor SLA', 'Exclude from SLA')
FAC_LCL('lcl_mld_afrond', 'Afronden', 'Complete')
@@ -978,7 +971,6 @@ FAC_LCL('lcl_mld_verwerk_hint', 'Sluit de melding helemaal en definitief af', 'F
FAC_LCL('lcl_mld_reopen', 'Heropenen', 'Reopen')
FAC_LCL('lcl_mld_reopen_hint', 'Heropen deze melding.', 'Reopen this call.')
FAC_LCL('lcl_mld_reopen_done', 'Melding is heropend.', 'Call has been reopened.')
FAC_LCL('lcl_mld_reopen_failed', 'Heropenen is niet gelukt', 'Reopen failed')
FAC_LCL('lcl_mld_close_standalone', 'Dank voor uw melding, u kunt dit scherm nu sluiten', 'Thank you for your call, you can now close this screen')
FAC_LCL('lcl_mld_object_filled_in', 'Er is automatisch een object ingevuld', 'An object has been automatically selected')
FAC_LCL('lcl_mld_overrule_stdmelding', 'Afwijking per melding', 'Overrule per call')
@@ -1076,7 +1068,6 @@ FAC_LCL('lcl_ord_is_ordook', 'Offerte geaccepteerd', 'Offer accepted')
FAC_LCL('lcl_ord_is_ordono', 'Offerte afgewezen', 'Offer rejected')
FAC_LCL('lcl_ord_is_orda2b', 'Actie is bij backoffice gezet', 'Action assigned to back office')
FAC_LCL('lcl_ord_is_orda2u', 'Actie is bij uitvoerder gezet', 'Action assigned to contractor')
FAC_LCL('lcl_ord_is_ordnob', 'Notitie is genotificeerd', 'Note has been notified')
FAC_LCL('lcl_ord_is_updatedbysoap', 'Opdracht is gewijzigd door extern systeem', 'Order has been updated by an external system')
FAC_LCL('lcl_ord_is_upd_material', 'Opdrachtregel {0} is aangepast.', 'Order line {0} is adjusted.')
FAC_LCL('lcl_ord_notification_sent_to', 'Notificatie ''{0}'' verstuurd aan {1}', 'Notification ''{0}'' sent to {1}')
@@ -1102,12 +1093,6 @@ FAC_LCL('lcl_ins_object_management', 'Objectenbeheer', 'Objects management')
FAC_LCL('lcl_ins_group', 'Groepering', 'Grouping')
FAC_LCL('lcl_ins_aantal_objecten', 'Aantal objecten', 'Number of objects')
FAC_LCL('lcl_ins_code', 'Code', 'Code')
FAC_LCL('lcl_ins_laatste_uitgifte', 'Laatste uitgifte', 'Recent Issuance')
FAC_LCL('lcl_ins_laatste_inname', 'Laatste inname', 'Recent intake')
FAC_LCL('lcl_ins_laatste_actie', 'Laatste uitgifte/inname', 'Recent issuance/intake')
FAC_LCL('lcl_ins_action_from', 'Actie periode van', 'Action period from')
FAC_LCL('lcl_ins_action_to', 'Actie periode t/m', 'Action period till')
FAC_LCL('lcl_ins_actie', 'Actie', 'Action')
FAC_LCL('lcl_ins_is_insnew', 'Object geregistreerd', 'Object registered')
FAC_LCL('lcl_ins_is_insupd', 'Object gewijzigd', 'Object updated')
FAC_LCL('lcl_ins_is_insdel', 'Object verwijderd', 'Object deleted')
@@ -1316,13 +1301,9 @@ FAC_LCL('lcl_acadlabelpos4', 'Rechts buiten', 'Outside right')
FAC_LCL('lcl_acadlabelpos5', 'Onderkant buiten', 'Outside bottom')
FAC_LCL('lcl_ins_srtartikelnr', 'Artikelnummer', 'Item number')
FAC_LCL('lcl_ins_srtdeel_count', 'Aantal', 'Number')
FAC_LCL('lcl_ins_srtdeel_options', 'Opties', 'Options')
FAC_LCL('lcl_ins_image', 'Afbeelding', 'Image')
FAC_LCL('lcl_ins_dimensie', 'Dimensie', 'Dimension')
FAC_LCL('lcl_ins_sensorinfo', 'Sensor details', 'Sensor details')
FAC_LCL('lcl_ins_sensortype', 'Type sensor', 'Sensor type')
FAC_LCL('lcl_ins_srtdeel_statethreshold', 'Grenswaarde voor melding', 'Threshold for alert')
FAC_LCL('lcl_ins_srtdeel_statethresholdmld', 'Melding boven grenswaarde', 'Issue when exceeding threshold')
FAC_LCL('lcl_ins_sensortype0', 'Geen sensor', 'Not a sensor')
FAC_LCL('lcl_ins_sensortype1', 'Status-sensor', 'Discrete values sensor')
FAC_LCL('lcl_ins_sensortype2', 'Meetwaarde-sensor', 'Continuous values sensor')
@@ -1337,17 +1318,11 @@ FAC_LCL('lcl_obj_sort', 'Objectsoort', 'Object type')
FAC_LCL('lcl_obj_sort_add', 'Objectsoort toegevoegd', 'Object type added')
FAC_LCL('lcl_obj_is_inssuptrack', 'Objectsoort {0} is gewijzigd', 'Object type {0} is updated')
FAC_LCL('lcl_ins_is_insupdtrack', 'Object {0} is gewijzigd', 'Object {0} is updated')
FAC_LCL('lcl_obj_srtdeel_changed_err', 'Objectsoort is niet gewijzigd', 'Object type is not updated')
FAC_LCL('lcl_ins_nosrtdeel_selected', 'Kies objectsoort', 'Select object type')
FAC_LCL('lcl_ins_kenmerken', 'Objectkenmerken', 'Object properties')
FAC_LCL('lcl_ins_objects', 'Objecten', 'Objects')
FAC_LCL('lcl_deel_state', 'Waarde', 'Value')
FAC_LCL('lcl_deel_statedir', 'Mutatie', 'Change')
FAC_LCL('lcl_deel_state', 'Status', 'Status')
FAC_LCL('lcl_deel_statedate', 'Datum', 'Date')
FAC_LCL('lcl_deel_statediff', 'Verschil', 'Difference')
FAC_LCL('lcl_deel_stateinterval', 'Tijdsduur', 'Duration')
FAC_LCL('lcl_deel_stateintervalsec', 'Tijdsduur (sec)', 'Duration (sec)')
FAC_LCL('lcl_state_details', 'Geschiedenis', 'History')
FAC_LCL('lcl_ins_history_add_value', 'Toevoegen waarde', 'Add value')
FAC_LCL('lcl_ins_meta_data', 'Administratieve gegevens', 'Administrative details')
FAC_LCL('lcl_ins_mode', 'Koppelen aan objecten', 'Linkt ot objects')
@@ -1371,7 +1346,6 @@ FAC_LCL('lcl_mjb_status_mjob', 'Taakfilter', 'Task filter')
FAC_LCL('lcl_mjb_overruled_xcp', 'Aangepast', 'Overruled')
FAC_LCL('lcl_mjb_moved', 'Verschoven', 'Moved')
FAC_LCL('lcl_mjb_started', 'Geaccordeerd', 'Approved')
FAC_LCL('lcl_mjb_started_in_execution', 'Geaccordeerd + Ter uitvoering', 'Approved + In execution')
FAC_LCL('lcl_mjb_notstarted', 'Niet geaccordeerd', 'Unapproved')
FAC_LCL('lcl_mjb_year', 'Jaar', 'Year')
FAC_LCL('lcl_mjb_years', 'Jaar(tal)', 'Year')
@@ -1485,9 +1459,6 @@ FAC_LCL('lcl_order_description', 'Opdracht', 'Order')
FAC_LCL('lcl_orders_title', 'Opdrachtenbeheer', 'Order management')
FAC_LCL('lcl_contract', 'Contract', 'Contract')
FAC_LCL('lcl_edit', 'Details', 'Details')
FAC_LCL('lcl_schedule', 'Plannen', 'Schedule')
FAC_LCL('lcl_schedule_start', 'Plannen begin', 'Schedule start')
FAC_LCL('lcl_schedule_end', 'Plannen eind', 'Schedule end')
FAC_LCL('lcl_reject', 'Afwijzen', 'Reject')
FAC_LCL('lcl_forward', 'Doorsturen', 'Forward')
FAC_LCL('lcl_forwarded', 'De melding is doorgestuurd.', 'The call has been forwarded')
@@ -1663,8 +1634,6 @@ FAC_LCL('lcl_more_info', 'Klik hier voor meer info', 'Click here for more info')
FAC_LCL('lcl_res_extern_prefix', 'Extern: ', 'External: ')
FAC_LCL('lcl_res_extern_close', 'U mag dit scherm nu via het kruisje in de tab sluiten', 'You may now close this tab')
FAC_LCL('lcl_res_is_resnew', 'Reservering is geregistreerd', 'Reservation is registered')
FAC_LCL('lcl_res_is_resnew_exchange', 'Reservering is geregistreerd door [{0}]', 'Reservation is registered by [{0}]')
FAC_LCL('lcl_res_is_resnew_nr', 'Uw reservering is geregistreerd onder nummer {0}', 'Your reservation is registered under number {0}')
FAC_LCL('lcl_res_is_resopt', 'Reservering is in optie genomen', 'Reservation status is optional')
FAC_LCL('lcl_res_is_resbev', 'Reservering is bevestigd', 'Reservation is confirmed')
FAC_LCL('lcl_res_is_resblk', 'Reservering is geblokkeerd', 'Reservation is blocked')
@@ -1740,11 +1709,7 @@ FAC_LCL('lcl_res_fe_no_dirty', 'Deze ruimte of voorziening is niet beschikbaar.
FAC_LCL('lcl_res_fe_no_dirty_date', 'Deze ruimte of voorziening is niet beschikbaar op {0}. Kies een andere ruimte of een ander tijdstip!', 'The selected room, catering or equipment is not available at {}. Please select a different room or time!')
FAC_LCL('lcl_res_mid_block', 'Reservering valt (deels) binnen middagblokkade', 'Reservation is (partly) in midday blockade')
FAC_LCL('lcl_res_room_expired', 'Deze ruimte is vervallen per {0}. Kies een andere ruimte of een ander tijdstip!', 'The selected room is expired per {0}. Please select a different room or time!')
FAC_LCL('lcl_res_room_notavailable', 'Deze ruimte is beschikbaar per {0}. Kies een andere ruimte of een ander tijdstip!', 'The selected room is available per {0}. Please select a different room or time!')
FAC_LCL('lcl_res_room_min_duration', 'Deze ruimte moet voor minimaal {0} uur gereserveerd worden.', '@')
FAC_LCL('lcl_res_room_datecheck', 'Startdatum moet voor vervaldatum liggen', 'Start date must be before expiration date')
FAC_LCL('lcl_res_room_hasres', 'De reserveerbare ruimte is niet aangepast.' || CHR(10) || 'Er bestaan reserveringen voor de startdatum of na de vervaldatum van de reserveerbare ruimte.'
, 'The reservable room has not been updated.' || CHR(10) || 'There are reservations before the start date or after de expiration date of the reservable room')
FAC_LCL('lcl_res_changeover_nofit', 'De ruimte reservering past niet ivm de omsteltijd. Toch doorgaan?', 'The reservation won''t fit because of the changeover time. Continue anyway?')
FAC_LCL('lcl_res_setup_time_warning', 'Let op: voor verschillende opstellingen kan een extra omsteltijd van {0}u van toepassing zijn.', 'Attention: different setup configurations can add up to {0}h changeover time')
FAC_LCL('lcl_res_status_dirty', 'ONGELDIG', 'INVALID')
@@ -2012,12 +1977,6 @@ FAC_LCL('lcl_msg_nieuws_aanmaak', 'Datum aangemaakt', 'Date created')
FAC_LCL('lcl_msg_alg_omschr', 'Omschrijving', 'Description')
FAC_LCL('lcl_msg_search', 'Berichten', 'Messages')
FAC_LCL('lcl_message', 'Bericht', 'Message')
FAC_LCL('lcl_msg_new', 'Nieuw bericht', 'New message')
FAC_LCL('lcl_msg_no_messages', 'Geen berichten', 'No messages')
FAC_LCL('lcl_msg_reply', 'Antwoord', 'Reply')
FAC_LCL('lcl_msg_replies', 'Antwoorden', 'Replies')
FAC_LCL('lcl_msg_del_concept', 'Concept verwijderen?', 'Delete concept?')
FAC_LCL('lcl_msg_del_confirm', 'Hele bericht verwijderen?', 'Delete entire message?')
FAC_LCL('lcl_msg_onportal', 'Bericht geplaatst op de portal', 'Message is posted on the portal')
FAC_LCL('lcl_msg_changed', 'Bericht gewijzigd op de portal', 'Message changes have been submitted')
FAC_LCL('lcl_msg_preview', 'Voorbeeld', 'Preview')
@@ -2026,11 +1985,6 @@ FAC_LCL('lcl_msg_nieuws_portal', 'Portal', 'Portal')
FAC_LCL('lcl_msg_nieuws_blogpagina', 'Nieuwspagina', 'Newspage')
FAC_LCL('lcl_msg_nieuws_beide', 'Portal en nieuwspagina', 'Portal and newspage')
FAC_LCL('lcl_msg_nieuws_sticky', 'Sticky', 'Sticky')
FAC_LCL('lcl_msg_community', 'Facilitor community', 'Facilitor community')
FAC_LCL('lcl_mobile_msg', 'Berichten', 'Posts')
FAC_LCL('lcl_msg_community_title', 'Facilitor community', 'Facilitor community')
FAC_LCL('lcl_msg_firstpost', 'Wees de eerste die een bericht plaatst in {0}', 'Be the first to post in {0}')
FAC_LCL('lcl_msg_firstreply', 'Wees de eerste die reageert', 'Be the first to react')
FAC_LCL('fac_nieuws_groep', 'Categorie', 'Category')
FAC_LCL('fac_nieuws_groep_m', 'Bericht categorie<69>n', 'Message categories')
FAC_LCL('fac_nieuws_groep_desc', 'Beschrijving', 'Description')
@@ -2091,8 +2045,6 @@ FAC_LCL('lcl_start_date_from', 'Begindatum van', 'Start date from')
FAC_LCL('lcl_start_date_to', 'Begindatum t/m', 'Start date till')
FAC_LCL('lcl_end_date_from', 'Einddatum van', 'End date from')
FAC_LCL('lcl_end_date_to', 'Einddatum t/m', 'End date till')
FAC_LCL('lcl_plan_date_from', 'Geplande aanvang van', 'Planned date from')
FAC_LCL('lcl_plan_date_to', 'Geplande aanvang t/m', 'Planned date till')
FAC_LCL('lcl_period', 'Herhaling', 'Recurrence period')
FAC_LCL('lcl_period_from', 'Periode van', 'Period from')
FAC_LCL('lcl_period_to', 'Periode t/m', 'Period till')
@@ -2857,7 +2809,6 @@ FAC_LCL('lcl_update', 'Aanpassen', 'Update')
FAC_LCL('lcl_updated', 'Gewijzigd', 'Updated')
FAC_LCL('lcl_donot_update', 'Niet aanpassen', 'Do not update')
FAC_LCL('lcl_open_reservations', 'Open', 'Open')
FAC_LCL('lcl_finished_reservations', 'Afgemeld', 'Finished')
FAC_LCL('lcl_closed_reservations', 'Verwerkt', 'Closed')
FAC_LCL('lcl_prs_persons', 'Personen', 'Persons')
FAC_LCL('lcl_prs_pers', 'pers.', 'pers.')
@@ -2873,8 +2824,6 @@ FAC_LCL('lcl_prs_frame_facilities', 'Lopende zaken', 'Current affairs')
FAC_LCL('lcl_prs_frame_substitutes', 'Vervangers', 'Substitutes')
FAC_LCL('lcl_prs_finblock', 'Kostengegevens', 'Costs details')
FAC_LCL('lcl_prs_substitutesblock', 'Vervangers', 'Substitutes')
FAC_LCL('lcl_prs_substitutes_toomany', 'Te veel vervangers gedefinieerd({0}). Alle vervangers worden genegeerd.', 'Too many substitutes defined({0}). All substitutes are ignored.')
FAC_LCL('lcl_prs_replaceblock', 'Ik vervang', 'I replace')
FAC_LCL('lcl_prs_mldblock', 'Wijzigen', 'Changes')
FAC_LCL('lcl_prs_mld_wijzig', 'Geef wijzigingen door', 'Report changes')
FAC_LCL('lcl_prs_locbld_select', 'Definieer de plaats-scope', 'Define the location-scope')
@@ -3047,7 +2996,6 @@ FAC_LCL('lcl_subobjects_incl', 'Ook onderdelen', 'Components also')
FAC_LCL('lcl_expobjects_incl', 'Ook vervallen objecten', 'Expired objects also')
FAC_LCL('lcl_inactiveobjects_incl', 'Ook inactieve objecten', 'Also inactive objects')
FAC_LCL('lcl_photos_incl', 'Toon afbeeldingen', 'Show pictures')
FAC_LCL('lcl_sensors_only', 'Alleen sensoren', 'Only sensors')
FAC_LCL('lcl_obj_lent_out_to', 'Object uitgegeven aan', 'Object lent out to')
FAC_LCL('lcl_obj_is_lent_out', 'Dit object is momenteel uitgegeven', 'This object is currently lent out')
FAC_LCL('lcl_obj_value_to_low', 'De nieuwe waarde moet groter zijn dan de vorige waarde', 'The new value should be greater than the last value')
@@ -3156,7 +3104,6 @@ FAC_LCL('lcl_cnt_forapproval', 'Ter goedkeuring', 'For approval')
FAC_LCL('lcl_cnt_active', 'Actief', 'Active')
FAC_LCL('lcl_cnt_active_approval', 'Definitief', 'Definitive')
FAC_LCL('lcl_cnt_inactive', 'Gesloten', 'Closed')
FAC_LCL('lcl_fin_alloldversions', 'Ook oudere versies', 'Also older versions')
FAC_LCL('lcl_cnt_contract', 'Contract', 'Contract')
FAC_LCL('lcl_cnt_approved_upto', 'Goedgekeurd tot <20> {0}', 'Approved up to <20> {0}')
FAC_LCL('lcl_cnt_fase_actief', 'Fase', 'Phase')
@@ -3177,7 +3124,6 @@ FAC_LCL('lcl_cnt_export', 'Exporteer', 'Export')
FAC_LCL('lcl_cnt_verwijder', 'Verwijder', 'Delete')
FAC_LCL('lcl_cnt_report', 'Rapport', 'Report')
FAC_LCL('lcl_cnt_einddatum_old_cnt', 'Einddatum oude contract', 'End date old contract')
FAC_LCL('lcl_cnt_einddatum_new_cnt', 'Einddatum verlengd contract', 'End date extended contract')
FAC_LCL('lcl_cnt_aanvrager', 'Aanvrager', 'Requestor')
FAC_LCL('lcl_cnt_status', 'Status', 'Status')
FAC_LCL('lcl_cnt_child_contracts', 'Onderliggende contracten', 'Underlying contracts')
@@ -3210,8 +3156,8 @@ FAC_LCL('lcl_prs_address_opdrachtadres', 'Opdrachtadres', 'Order address')
FAC_LCL('lcl_prs_address_afleveradres', 'Afleveradres', 'Delivery address')
FAC_LCL('lcl_empty_rstable', 'Geen gegevens', 'No data found')
FAC_LCL('lcl_prs_bedrijf_m', 'Meerdere bedrijven', 'Multiple companies')
FAC_LCL('lcl_prs_bedrijf_nawblock', 'Adresgegevens', 'Address details')
FAC_LCL('lcl_prs_bedrijf_contactblock', 'Contactgegevens', 'Contact details')
FAC_LCL('lcl_prs_bedrijf_nawblock', 'Algemene gegevens', 'General details')
FAC_LCL('lcl_prs_bedrijf_contactblock', 'Contactpersoon', 'Contact person')
FAC_LCL('lcl_prs_bedrijf_relatieblock', 'Relatiegegevens', 'Relation details')
FAC_LCL('lcl_prs_bedrijf_flexblock', 'Aanvullende gegevens', 'Additional details')
FAC_LCL('lcl_prs_bedrijf_techblock', 'Technische gegevens', 'Technical details')
@@ -3237,8 +3183,8 @@ FAC_LCL('lcl_prs_companies_leverancier_m', 'Leveranciers', 'Supplier')
FAC_LCL('lcl_prs_companies_uitvoerende_m', 'Uitvoerenden', 'Contractors(work orders)')
FAC_LCL('lcl_prs_companies_contract_m', 'Contractanten', 'Contractors(contracts)')
FAC_LCL('lcl_prs_companies_huurder_m', 'Huurders', 'Tenants')
FAC_LCL('lcl_prs_companies_ingids', 'Zichtbaar in gids', 'Shown in phonebook')
FAC_LCL('lcl_prs_companies_notype', 'Zonder relatie', 'Without relation')
FAC_LCL('lcl_prs_companies_ingids', 'Toon in gids', 'Show in phonebook')
FAC_LCL('lcl_prs_companies_notype', 'Ook bedrijven zonder relatie', 'Show companies without relation')
FAC_LCL('lcl_prs_companies_error_handler', 'XSL foutafhandeling', 'XSL error handling')
FAC_LCL('lcl_prs_companies_contact_title', 'Contactpersonen', 'Contacts')
FAC_LCL('lcl_prs_companies_contact_naam', 'Achternaam', 'Last name')
@@ -3807,7 +3753,6 @@ FAC_LCL('lcl_faclike_statisf2', 'Matig', 'Moderate')
FAC_LCL('lcl_faclike_statisf3', 'Ik verwacht niet anders', 'As expected')
FAC_LCL('lcl_faclike_statisf4', 'Goed', 'Good')
FAC_LCL('lcl_faclike_statisf5', 'Perfect!', 'Perfect!')
FAC_LCL('lcl_faclike_changed', 'Beoordeling aangepast naar niveau {0}.', 'Rating adjusted to level {0}.')
FAC_LCL('lcl_fac_help_improve', 'Bedankt voor uw mening!', 'Thank you for your opinion!')
FAC_LCL('lcl_fac_like', 'Geef uw mening!', 'We want your opinion!')
FAC_LCL('lcl_fac_like_block', 'Wat is uw oordeel?', 'What do you think?')
@@ -3825,14 +3770,14 @@ FAC_LCL('lcl_fac_refresh_exeschedule', '{0} staat al klaar om uitgevoerd te word
FAC_LCL('lcl_fac_refresh_dumpfile', 'Dumpfile', 'Dumpfile')
FAC_LCL('lcl_fac_refresh_notify', 'Notificatie naar', 'Notification to')
FAC_LCL('lcl_fac_refresh_messagelbl', 'Let op', 'Warning')
FAC_LCL('lcl_fac_refresh_message', 'Je staat op het punt je TEST-omgeving te vervangen door de data van de productieomgeving van {0}.' || CHR(10)
|| 'DIT IS ECHT ONOMKEERBAAR!' || CHR(10) || CHR(10)
|| 'Klik ''Start vervangen'' om het vervangen te starten.' || CHR(10)
|| 'Het vervangen zal even duren, we sturen een e-mail als de vervanging klaar is.' || CHR(10)
, 'Warning' || CHR(10)
|| 'You are about to replace your TEST-environment with data from the production environment of {0}.' || CHR(10)
|| 'THIS IS REALLY IRREVERSIBLE!' || CHR(10) || CHR(10)
|| 'Click ''Schedule'' to schedule the replacement.' || CHR(10)
FAC_LCL('lcl_fac_refresh_message', 'Je staat op het punt je TEST-omgeving te vervangen door de data van de productieomgeving van {0}.' || CHR(13)
|| 'DIT IS ECHT ONOMKEERBAAR!' || CHR(13) || CHR(13)
|| 'Klik ''Start vervangen'' om het vervangen te starten.' || CHR(13)
|| 'Het vervangen zal even duren, we sturen een e-mail als de vervanging klaar is.' || CHR(13)
, 'Warning' || CHR(13)
|| 'You are about to replace your TEST-environment with data from the production environment of {0}.' || CHR(13)
|| 'THIS IS REALLY IRREVERSIBLE!' || CHR(13) || CHR(13)
|| 'Click ''Schedule'' to schedule the replacement.' || CHR(13)
|| 'This will take some time. We will send you an e-mail when the replacement is ready.')
FAC_LCL('lcl_fac_font_awesome_icons', 'Font Awesome {0} iconen', 'Font Awesome {0} icons')
FAC_LCL('lcl_fac_choose_fa_icon', 'Kies een icoon', 'Pick an icon')
@@ -4043,8 +3988,7 @@ FAC_LCL('lcl_qrc_auth_mail_confirmed', 'U bent nu aangemeld bij Facilitor. Klik
FAC_LCL('lcl_bookmarkthis_hint', '<br>TIP: Voeg Facilitor toe aan je beginscherm.<br>Om een snelkoppeling te maken druk je op de volgende pagina op juiste knop in je browser en kies je voor Voeg toe aan beginscherm.', '<br>TIP: Add Facilitor to your start screen by pressing the appropriate button of your browser on the next page.')
FAC_LCL('lcl_body_portal', 'Mijn overzicht', 'My overview')
FAC_LCL('lcl_myfacilities_date', 'Start', 'Start')
FAC_LCL('lcl_myfacilities_enddate', 'Verwacht/gereed', 'Expected/Done')
FAC_LCL('lcl_myfacilities_date', 'Verwacht/gereed', 'Expected/Done')
FAC_LCL('lcl_myfacilities_time', 'Tijdstip', 'Time')
FAC_LCL('lcl_fac_extra1', 'Markering', 'Mark')
FAC_LCL('lcl_status_at', 'Status/bij', 'Status/by')
@@ -4321,6 +4265,7 @@ FAC_LCL('lcl_menu_alg_setting', 'Instellingen', 'Settings')
FAC_LCL('lcl_facmgt_prs', 'Organisatiebeheer', 'Organisation management')
FAC_LCL('lcl_menu_prs_functies', 'Functies', 'Functions')
FAC_LCL('lcl_menu_prs_diensten', 'Diensten', 'Services')
FAC_LCL('lcl_menu_prs_staffels', 'Staffels', 'Pace lists')
FAC_LCL('lcl_menu_prs_relatietypes', 'Relatietypes', 'Relation types')
FAC_LCL('lcl_menu_prs_bedrijfkenmerken', 'Kenmerken van Bedrijf', 'Company Properties')
FAC_LCL('lcl_menu_prs_afdelingskenmerke', 'Kenmerken van Afdeling', 'Department Properties')
@@ -4447,8 +4392,7 @@ FAC_LCL('lcl_menu_fac_vertalingen', 'Vertalingen', 'Translations')
FAC_LCL('lcl_menu_fac_setting', 'Instellingen', 'Settings')
FAC_LCL('lcl_menu_fac_xsledit', 'Formulierbewerker', 'Form editor')
FAC_LCL('lcl_menu_fac_styling', 'Styling', 'Styling')
FAC_LCL('lcl_menu_gdprstats', 'Persoonsinformatie', 'Personal data overview')
FAC_LCL('lcl_menu_fmstats', 'Bezitinformatie', 'Assets overview')
FAC_LCL('lcl_menu_gdprstats', 'Persoonsinformatie', 'Personal information')
FAC_LCL('lcl_menu_about', 'Licentieinformatie', 'License information')
FAC_LCL('lcl_facmgt_setup', 'Setup', 'Setup')
FAC_LCL('lcl_menu_fac_widgets', 'Widgets', 'Widgets')
@@ -4532,8 +4476,6 @@ FAC_LCL('lcl_mobile_setlocation', 'Huidige locatie', 'Current location')
FAC_LCL('lcl_mobile_setbuilding', 'Huidig gebouw', 'Current building')
FAC_LCL('lcl_mobile_verdiepingen', 'Verdiepingen', 'Floors')
FAC_LCL('lcl_mobile_messages', 'Mijn berichten', 'My messages')
FAC_LCL('lcl_mobile_no_messages', 'Geen berichten', 'No messages')
FAC_LCL('lcl_mobile_message_deleted', 'Bericht verwijderd', 'Messages deleted')
FAC_LCL('lcl_mobile_rapporten', 'Rapportages', 'Reports')
FAC_LCL('lcl_mobile_notes', 'Notities', 'Notes')
@@ -4604,10 +4546,6 @@ FAC_LCL('lcl_alg_verantw', 'Verantwoordelijke 1', 'Responsible 1')
FAC_LCL('lcl_alg_verantw2', 'Verantwoordelijke 2', 'Responsible 2')
FAC_LCL('lcl_alg_bld_verantw', 'Gebouwverantwoordelijke', 'Building manager')
FAC_LCL('lcl_alg_ter_verantw', 'Terreinbeheerder', 'Terrain manager')
FAC_LCL('lcl_alg_fmstats', 'Statistieken bezitgerelateerde gegevens', 'Statistiscs asset-related data')
FAC_LCL('lcl_alg_fmstats_nrloc', 'Aantal locaties', 'Total locations')
FAC_LCL('lcl_alg_fmstats_assets', 'Bezittingen', 'Assets')
FAC_LCL('lcl_alg_fmstats_sensors', 'Sensoren', 'Sensors')
FAC_LCL('lcl_bld_ter_verantw', 'Gebouw-/terreinverantwoordelijke', 'Building/Terrain manager')
FAC_LCL('lcl_bez_eerste', 'Eerste', 'First')
FAC_LCL('lcl_bez_tweede', 'Tweede', 'Second')
@@ -4674,6 +4612,7 @@ FAC_LCL('lcl_bes_RFO_regApprov', 'De bestelaanvraag wordt ter fiattering aangebo
FAC_LCL('lcl_bes_date_future', 'Afleverdatum moet in de toekomst liggen', 'Delivery date must be a future date')
FAC_LCL('lcl_bes_date_farfuture', 'Deze bestelling is te ver in de toekomst', 'This purchase order is too far in the future')
FAC_LCL('lcl_bes_date_holiday', 'De aangegeven dag is geen werkdag! Doorgaan?', 'The chosen day is not a working day! Continue?')
FAC_LCL('lcl_bes_staffel_company', 'Staffels van leverancier', 'Supplier pace list')
FAC_LCL('lcl_bes_staffel_group', 'Groep staffel', 'Group pace list')
FAC_LCL('lcl_bes_staffel_individual', 'Individuele staffel', 'Individual pace list')
FAC_LCL('lcl_bes_st_discount_gp', 'Korting groepsstaffel', 'Group pace list discount')
@@ -4748,15 +4687,8 @@ FAC_LCL('lcl_cnt_new_order', 'Afroepopdracht', 'Order')
FAC_LCL('lcl_cnt_object', 'Object', 'Object')
FAC_LCL('lcl_cnt_contract_split_warning1', 'Het contract is niet gesplitst omdat de splitsdatum buiten de looptijd van het contract valt.', 'Splitting of the contract is unsuccessful, splitting date should be within the running time of the contract.')
FAC_LCL('lcl_cnt_contract_split_warning', 'De contracten zijn niet gesplitst omdat de splitsdatum buiten de looptijd van de contracten valt.', 'Splitting of the contracts is unsuccessful, splitting date should be within the running time of the contracts.')
FAC_LCL('lcl_cnt_contract_split_success1', 'Contract is per {0} gesplitst.' || CHR(10) || 'Hiervoor is de nieuwe versie {1} aangemaakt.', 'Contract successfully split on {0}.' || CHR(10) || 'The new version {1} has been created for this.')
FAC_LCL('lcl_cnt_contract_split_success', '{0} contracten zijn per {1} gesplitst.' || CHR(10) || 'Hiervoor zijn nieuwe versies aangemaakt.', '{0} contracts are successfully split on {1}.' || CHR(10) || 'New versions have been created for this.')
FAC_LCL('lcl_cnt_contract_huidig', 'Huidig contract', 'Current contract')
FAC_LCL('lcl_cnt_contract_huidig_split', 'Splitsen', 'Split')
FAC_LCL('lcl_cnt_contract_huidig_verleng', 'Verlengen', 'Extend')
FAC_LCL('lcl_cnt_contract_verleng_warning1', 'Het contract is niet verlengd omdat de einddatum niet na de looptijd van het huidig contract ligt', 'The contract has not been renewed because the end date is not after the term of the current contract')
FAC_LCL('lcl_cnt_contract_verleng_warning', 'De contracten zijn niet verlengd omdat de einddatum niet na de looptijd van de huidig contracten ligt', 'The contracts have not been extended because the end date is not after the term of the current contracts')
FAC_LCL('lcl_cnt_contract_verleng_success1', 'Het contract is verlengd tot {0}.' || CHR(10) || 'Hiervoor is de nieuwe versie {1} aangemaakt.' ,'The contract has been extended until {0}.' || CHR(10) || 'The new version {1} has been created for this.')
FAC_LCL('lcl_cnt_contract_verleng_success', '{0} contracten zijn tot {1} verlengd.' || CHR(10) || 'Hiervoor zijn nieuwe versies aangemaakt.', '{0} contracts have been extended until {1}.' || CHR(10) || 'New versions have been created for this.')
FAC_LCL('lcl_cnt_contract_split_success1', 'Contract is per {0} gesplitst.', 'Contract successfully split on {0}.')
FAC_LCL('lcl_cnt_contract_split_success', '{0} contracten zijn per {1} gesplitst.', '{0} contracts are successfully split on {1}.')
FAC_LCL('lcl_cnt_complain', 'Melding', 'Call')
FAC_LCL('lcl_cnt_unknown', 'Onbekend', 'Unknown')
FAC_LCL('lcl_cnt_exceed_cnt_kosten', 'Het bedrag moet positief zijn en mag het maximaal contractbedrag van het oude contract niet overschrijden', 'The amount must be positive and may not exceed the contract amount of the old contract')
@@ -4883,7 +4815,6 @@ FAC_LCL('lcl_ins_multi_edit_tasks', 'Multi wijzigen taken', 'Multi edit tasks')
FAC_LCL('lcl_ins_multi_move', 'Multi verplaatsen', 'Multi move')
FAC_LCL('lcl_ins_multi_controle', 'Registreer meerdere controles', 'Register multiple inspections')
FAC_LCL('lcl_ins_multi_reserve', 'Multi reserveerbaar', 'Multi reserveable')
FAC_LCL('lcl_ins_multi_srtdeel', 'Multi objectsoort', 'Multi object type')
FAC_LCL('lcl_ins_docontrole', 'Registreer controle', 'Register inspection')
FAC_LCL('lcl_ins_no_same_srtcontrole', 'Geselecteerde taaksoorten zijn niet gelijk', 'Selected task types are not the same')
FAC_LCL('lcl_ins_lend_out', 'Uitlenen', 'Lend out')
@@ -4951,9 +4882,6 @@ FAC_LCL('lcl_mld_opdr_regvalidate', 'De opdracht wordt ter goedkeuring aangebode
FAC_LCL('lcl_mld_opdr_offerte_accept', 'Accepteren offerte ', 'Accept offer ')
FAC_LCL('lcl_mld_opdr_close', 'Opdracht(en) afmelden', 'Close order(s)')
FAC_LCL('lcl_mld_opdr_cancel', 'Opdracht annuleren', 'Cancel order')
FAC_LCL('lcl_mld_opdr_edit_plandate', 'Geplande aanvang wijzigen', 'Edit planned date')
FAC_LCL('lcl_mld_opdr_edit_plandate2', 'Einddatum wijzigen', 'Edit end date')
FAC_LCL('lcl_mld_opdr_no_date_change', 'U heeft geen andere datum gekozen', 'You have not chosen a different date')
FAC_LCL('lcl_mld_opdr_finish_1', 'Wilt u opdracht ', 'Do you want to close order ')
FAC_LCL('lcl_mld_opdr_finish_2', ' qua kosten gereedmelden?', ' financially?')
FAC_LCL('lcl_mld_opdr_cancelled_1', 'Opdracht ', 'Order ')
@@ -5194,11 +5122,6 @@ FAC_LCL('lcl_mld_req_materials', 'Ontbrekende verplichte materialen bij de opdra
FAC_LCL('lcl_mld_starter', 'Ingevoerd door', 'Entered by')
FAC_LCL('lcl_mld_wf_generated_by', 'Gegenereerd door melding ','Generated by call ')
FAC_LCL('lcl_mld_activity_generated_by', 'Automatisch gegenereerd door activiteit ','Automatically generated by activity ')
FAC_LCL('lcl_mld_state_generated_onderwerp', 'Automatische waarschuwing ','Automatically generated warning')
FAC_LCL('lcl_mld_state_generated_omschrijving', 'Sensor registreert {0} en overschrijdt de ingestelde limiet van {1}.','Sensor value {0} exceeds the set limit op {1}')
FAC_LCL('lcl_ins_sensorstate_caused_mld', 'Overschrijding limietwaarde {1}, melding {0} aangemaakt.','Issue {0} generated due to exceeding threshold {1}.')
FAC_LCL('lcl_ins_sensorstate_already_mld', 'Overschrijding limietwaarde {1}, maar melding {0} werd al gegenereerd.','Exceeding threshold {1}, however issue {0} already exists.')
FAC_LCL('lcl_ins_sensoralertstate', 'Status','State')
FAC_LCL('lcl_mld_action_from', 'Actie periode van', 'Action period from')
FAC_LCL('lcl_mld_action_to', 'Actie periode t/m', 'Action period till')
FAC_LCL('lcl_mld_invalid_reference', 'Ongeldige melding voor referentie', 'Invalid call for reference')
@@ -5289,7 +5212,7 @@ FAC_LCL('lcl_res_error_date', 'Deze activiteit kan niet op deze datum gereservee
FAC_LCL('lcl_res_date_room_closed', 'Gekozen periode valt buiten de openingstijden.'||CHR(10)||'Kies een andere ruimte of een ander tijdstip.', 'The selected period exceeds opening times.'||CHR(10)||'Please select a different room or different time frame.')
FAC_LCL('lcl_res_date_room_blocked', 'Ruimte is niet beschikbaar van {0} tot {1}', 'Room is not available from {0} until {1}')
FAC_LCL('lcl_res_too_many_visitors', 'De ruimte is eigenlijk te klein voor het aantal mensen. Doorgaan?', 'Number of attendees exceeds the room capacity. Do you want to continue?')
FAC_LCL('lcl_res_below_min_visitors', 'De ruimte is eigenlijk te groot voor het aantal mensen, als je doorgaat wordt deze reservering als Optie geboekt. Doorgaan?', 'Number of attendees underruns the room capacity. If you continue this reservation will be registered as Option. Do you want to continue?')
FAC_LCL('lcl_res_below_min_visitors', 'De ruimte is eigenlijk te groot voor het aantal mensen. Doorgaan?', 'Number of attendees underruns the room capacity. Do you want to continue?')
FAC_LCL('lcl_res_no_visitors', 'Het aantal personen mag niet 0 zijn.', 'The number of attendees cannot be 0.')
FAC_LCL('lcl_res_no_CV_yet', 'Let op: er zijn (nog) geen voorzieningen gereserveerd.', 'Please note: no facilities have been reserved (yet).')
FAC_LCL('lcl_res_bad_period', 'De reservering kan niet korter dan de minimum tijd zijn.', 'The reservation cannot be shorter than the minimum duration.')
@@ -5399,7 +5322,7 @@ FAC_LCL('lcl_shared_more', 'Meer', 'More')
FAC_LCL('lcl_shared_other', 'Anders', 'Other')
FAC_LCL('lcl_shared_less', 'Minder', 'Less')
FAC_LCL('lcl_shared_loading', 'Laden...', 'Loading...')
FAC_LCL('lcl_shared_popupblocked', 'Kan window {0} niet openen' || CHR(10) || 'Pop-up geblokkeerd door browser?', 'Could not open window {0}' || CHR(10) || 'Pop-up window blocked by browser?')
FAC_LCL('lcl_shared_popupblocked', 'Kan window {0} niet openen\nPop-up geblokkeerd door browser?', 'Could not open window {0}\nPop-up window blocked by browser?')
FAC_LCL('lcl_shared_doaction1', 'Wilt u de actie ''{0}'' op deze regel uitvoeren?', 'Would you like to execute ''{0}'' on the selected row?')
FAC_LCL('lcl_shared_doaction', 'Wilt u de actie ''{0}'' op deze {1} regels uitvoeren?', 'Would you like to execute ''{0}'' on the {1} selected rows?')
FAC_LCL('lcl_shared_alle', 'Alle', 'All')
@@ -5411,7 +5334,6 @@ FAC_LCL('lcl_shared_othertabactive', 'Sla eerst de wijzigingen op (of annuleer z
FAC_LCL('lcl_shared_use_caller_werkplek', 'Werkplekgegevens van de beller invullen?', 'Enter workplace details of the caller?')
FAC_LCL('lcl_shared_no_auth', 'Op grond van de u toegekende rechten heeft u hiervoor geen bevoegdheid.'||CHR(10)||CHR(10)||'Als u van mening bent dat dat niet terecht is kunt u het beste contact opnemen met uw Facilitor contactpersoon.', 'You are not authorised for this function'||CHR(10)||CHR(10)||'Please contact your Facilitor contact if you think you should be able to access to this function.')
FAC_LCL('lcl_shared_no_action', 'Deze actie kan niet worden uitgevoerd, bijvoorbeeld omdat de actie al eerder werd uitgevoerd of omdat u niet voldoende rechten heeft.', 'The action you specified cannot be performed (any longer).'||CHR(10)||'This usually is because the action has already been executed.'||CHR(10)||'Sometimes this is because you do not have sufficient authorisation.')
FAC_LCL('lcl_shared_old_freeze', 'Deze actie kan niet worden uitgevoerd, omdat er in {0} nog een onafgeronde taak is.', 'The action you specified cannot be performed, because there is still an unfinished task in {0}.')
FAC_LCL('lcl_shared_needed_info', 'Benodigde gegevens', 'Required details')
FAC_LCL('lcl_shared_send_email', 'Stuur via e-mail', 'Send via e-mail')
FAC_LCL('lcl_shared_order', 'Opdracht', 'Order')
@@ -5468,7 +5390,6 @@ FAC_LCL('lcl_suggestemptytxtTBH', '<Geen actieve behandelaar>','<Empty value>')
FAC_LCL('lcl_mld_no_handler', 'Alleen zonder behandelaar','Only without handler')
FAC_LCL('lcl_mld_no_team', 'Geen behandelteam', 'No processing team')
FAC_LCL('lcl_mld_no_alg_loc', 'Geen locatie', 'No location')
FAC_LCL('lcl_mld_no_bld_ter', 'Geen gebouw/terrein', 'No building/terrain')
FAC_LCL('lcl_mld_without_team', 'zonder behandelteam', 'without processing team')
FAC_LCL('lcl_mld_without_alg_loc', 'zonder locatie', 'without location')
FAC_LCL('lcl_suggestemptydesc', 'Zoek op lege waarde','Search for empty value')
@@ -5533,8 +5454,6 @@ FAC_LCL('lcl_xsledit_frame', 'Formulierbewerker', 'Form editor')
FAC_LCL('lcl_xsledit_bon', 'Formulier', 'Form')
FAC_LCL('lcl_xsledit_selectnode', 'Kies een node', 'Select a node')
FAC_LCL('lcl_xsledit_key', 'Nummer', 'Number')
FAC_LCL('lcl_xsledit_xkey', 'Extra key', 'Extra key')
FAC_LCL('lcl_xsledit_output', 'Uitvoer', 'Output')
FAC_LCL('lcl_xsledit_nosrtnoti', 'Algemeen', 'General')
FAC_LCL('lcl_xsledit_nomode', 'Standaard', 'Standard')
FAC_LCL('lcl_xsledit_xmlmode', 'Ongestijlde XML', 'Unstyled XML')
@@ -5635,7 +5554,7 @@ FAC_LCL('lcl_usrrap_stylingLOV', '0;Tabel/Grafiek (standaard);16;Mobiel;1;Via st
,'0;Table/Graph (standard);16;Mobile;1;Styled;2;Procedure;3;Procedure+styled;8;Via tabelizer;32;UDR Template')
FAC_LCL('lcl_usrrap_property_wizard', 'Wizard kenmerkkolom toevoegen', 'Add property column wizard')
FAC_LCL('lcl_usrrap_property_module', 'Kenmerkmodule', 'Property module')
FAC_LCL('lcl_usrrap_property_moduleLOV', 'BES;Bestellingen;CNT;Contracten;INS;Objecten;MLD;Meldingen;OPD;Opdrachten;RES;Reserveringen', 'BES;Purchase orders;CNT;Contracts;INS;Objects;MLD;Calls;OPD;Orders;RES;Reservations')
FAC_LCL('lcl_usrrap_property_moduleLOV', 'BES;Bestellingen;CNT;COntracten;INS;Objecten;MLD;Meldingen;OPD;Opdrachten;RES;Reserveringen', 'BES;Purchase orders;CNT;Contracts;INS;Objects;MLD;Calls;OPD;Orders;RES;Reservations')
FAC_LCL('lcl_usrrap_connect_key', 'Koppelen aan', 'Connect with')
FAC_LCL('lcl_fac_usrrap_functie1', 'Opmaak', 'Layout')
@@ -6051,8 +5970,7 @@ FAC_LCL('lcl_schedule_format', 'Formaat', 'Format')
FAC_LCL('lcl_schedule_format_standard', 'Standaard', 'Standard')
FAC_LCL('lcl_schedule_format_excel', 'Excel', 'Excel')
FAC_LCL('lcl_schedule_format_csv', 'CSV', 'CSV')
FAC_LCL('lcl_schedule_is_planned', 'Versturen is ingepland', 'Sending has been scheduled')
FAC_LCL('lcl_schedule_plan_created', 'Rapport ''{0}'' is ingepland', 'Report ''{0}'' has been scheduled')
FAC_LCL('lcl_schedule_is_planned', 'Versturen is ingepland', 'Sending has been scheduled.')
FAC_LCL('fac_srtnotificatie', 'Notificatie', 'Notification')
FAC_LCL('fac_srtnotificatie_m', 'Notificaties', 'Notifications')
@@ -6196,6 +6114,7 @@ FAC_LCL('lcl_text_style_hint_header3', 'Heading niveau 3 toevoegen', 'Inse
FAC_LCL('lcl_text_style_hint_url', 'Voeg een link in (beginnend met https)', 'Insert a link (starting with https)')
FAC_LCL('lcl_text_style_hint_code', 'Geformatteerde tekst', 'Preformatted text')
FAC_LCL('lcl_text_style_hint_table', 'Voeg een tabel in', 'Insert a table')
FAC_LCL('lcl_text_style_hint_image', 'Voeg de url van een plaatje in', 'Insert an image by url')
FAC_LCL('lcl_text_style_hint_attach', 'Upload een plaatje en voeg deze in', 'Upload and insert an image')
FAC_LCL('lcl_text_style_toggle', 'Laat opmaak knoppen zien', 'Show text styling buttons')
@@ -6617,10 +6536,6 @@ FAC_LCL('mld_dienstniveau_opmerking', 'Toelichting', 'Explanation')
FAC_LCL('mld_dienstpakket', 'Dienstpakket', 'Service package')
FAC_LCL('mld_dienstpakket_m', 'Dienstpakketten', 'Service packages')
FAC_LCL('mld_stdmelding_srtruimte', 'Ruimtefunctie', 'Room function')
FAC_LCL('mld_stdmelding_srtruimte_m', 'Ruimtefuncties', 'Room functions')
FAC_LCL('mld_srtruimte_omschr', 'Ruimtefunctie', 'Room function')
FAC_LCL('mld_kosten', 'Kosten', 'Costs')
FAC_LCL('mld_kosten_m', 'Onkosten', 'Expenses')
FAC_LCL('mld_kosten_code', 'Code', 'Code')
@@ -6742,6 +6657,11 @@ FAC_LCL('prs_dienst_omschrijving', 'Dienst', 'Service')
FAC_LCL('prs_dienst_hint', 'Hint', 'Hint')
FAC_LCL('prs_dienst_key', 'Dienst', 'Service')
FAC_LCL('prs_staffel', 'Staffel', 'Pace list')
FAC_LCL('prs_staffel_m', 'Staffels', 'Pace lists')
FAC_LCL('prs_staffel_grenswaarde', 'Grenswaarde tot', 'Limit value till')
FAC_LCL('prs_staffel_korting', 'Kortingspercentage', 'Discount percentage')
FAC_LCL('prs_kenmerk', 'Persoonskenmerk', 'Person property')
FAC_LCL('prs_kenmerk_m', 'Details persoonskenmerk', 'Person property details')
FAC_LCL('prs_srtperslid_key', 'Functie', 'Function')
@@ -6918,26 +6838,22 @@ FAC_LCL('res_activiteitdiscipline', 'Activiteit bij catalogus', 'Activity')
FAC_LCL('res_activiteitdiscipline_m', 'Activiteit x catalogus', 'Activity x catalogues')
FAC_LCL('res_catalogus_preposttime', 'Tussentijd in uren (ruimten en objecten)', 'Interim time in hours (rooms and objects)')
FAC_LCL('res_catalogus_notify', 'Aanvrager notificeren', 'Notify caller')
FAC_LCL('res_catalogus_kosten', 'Percentage doorbelasten (ruimten)', 'Charge percentage (rooms)')
FAC_LCL('res_catalogus_noti_dagen', 'Herinnering (dagen)', 'Reminder (days)')
FAC_LCL('res_catalogus_expire_dagen', 'Wijzigingshorizon (dagen)', 'Edit limit (days)')
FAC_LCL('res_catalogus_expire_weekdag', 'Grens wijzigingshorizon (dag)', 'Edit limit (day of week)')
FAC_LCL('res_catalogus_expire_weekdagLOV',
'1;Zondag;2;Maandag;3;Dinsdag;4;Woensdag;5;Donderdag;6;Vrijdag;7;Zaterdag',
'1;Sunday;2;Monday;3;Tuesday;4;Wednesday;5;Thursday;6;Friday;7;Saturday')
FAC_LCL('res_catalogus_expire_tijd', 'Grens wijzigingshorizon (tijd)', 'Edit limit (time of day)')
FAC_LCL('res_catalogus_cancel_dagen', 'Annuleringshorizon (dagen)', 'Cancel horizon (days)')
FAC_LCL('res_catalogus_remoteurl', 'Externe partnerlocatie', 'External partner location')
FAC_LCL('res_catalogus_maxduur', 'Maximale tijdsduur', 'Maximum length of time')
FAC_LCL('res_catalogus_min_duur', 'Duur t.b.v. catering', 'Minimum time for availability catering')
FAC_LCL('res_catalogus_min_participants', 'Aantal deelnemers t.b.v. catering', 'Minimum participants for availability catering')
FAC_LCL('res_catalogus_bedrijf', 'Leverancier', 'Supplier')
FAC_LCL('res_catalogus_threshold', 'Fiattering vereist vanaf', 'Approval required above')
FAC_LCL('res_disc_params_intervals', 'Vaste reserveringsintervallen (JSON*)', 'Fixed reservation intervals (JSON)')
FAC_LCL('res_disc_params_limiet', 'Reserveringshorizon', 'Max. days ahead')
FAC_LCL('res_disc_params_limiet_fe', 'Reserveringshorizon frontend', 'Max. days ahead for FE')
FAC_LCL('res_catalogus_preposttime', 'Tussentijd in uren (ruimten en objecten)', 'Interim time in hours (rooms and objects)')
FAC_LCL('res_catalogus_notify', 'Aanvrager notificeren', 'Notify caller')
FAC_LCL('res_catalogus_kosten', 'Percentage doorbelasten (ruimten)', 'Charge percentage (rooms)')
FAC_LCL('res_catalogus_noti_dagen', 'Herinnering (dagen)', 'Reminder (days)')
FAC_LCL('res_catalogus_expire_dagen', 'Wijzigingshorizon (dagen)', 'Edit limit (days)')
FAC_LCL('res_catalogus_expire_tijd', 'Grens wijzigingshorizon', 'Edit limit (time of day)')
FAC_LCL('res_catalogus_cancel_dagen', 'Annuleringshorizon (dagen)', 'Cancel horizon (days)')
FAC_LCL('res_catalogus_remoteurl', 'Externe partnerlocatie', 'External partner location')
FAC_LCL('res_catalogus_maxduur', 'Maximale tijdsduur', 'Maximum length of time')
FAC_LCL('res_catalogus_min_duur', 'Duur t.b.v. catering', 'Minimum time for availability catering')
FAC_LCL('res_catalogus_min_participants','Aantal deelnemers t.b.v. catering', 'Minimum participants for availability catering')
FAC_LCL('res_catalogus_bedrijf', 'Leverancier', 'Supplier')
FAC_LCL('res_catalogus_threshold', 'Fiattering vereist vanaf', 'Approval required above')
FAC_LCL('res_disc_params_intervals', 'Vaste reserveringsintervallen (JSON*)', 'Fixed reservation intervals (JSON)')
FAC_LCL('res_disc_params_limiet', 'Reserveringshorizon', 'Max. days ahead')
FAC_LCL('res_disc_params_limiet_fe', 'Reserveringshorizon frontend', 'Max. days ahead for FE')
FAC_LCL('res_v_aanwezigruimte', 'Reserveerbare ruimte', 'Reservable room')
FAC_LCL('res_v_aanwezigruimte_m', 'Reserveerbare ruimten', 'Reservable rooms')
@@ -6979,7 +6895,6 @@ FAC_LCL('res_status_fo_keyLOV',
'1;Optie;2;Definitief',
'1;Option;2;Definitive')
FAC_LCL('res_ruimte_friendlyname', 'Alternatieve naam', 'Other name')
FAC_LCL('res_ruimte_startdatum', 'Startdatum', 'Start date')
FAC_LCL('res_ruimte_vervaldatum', 'Vervaldatum', 'Expiration date')
FAC_LCL('res_ruimte_extern_id', 'Extern ID', 'External ID')
FAC_LCL('res_ruimte_sync', 'Synchroniseer', 'Synchronize')
@@ -6998,7 +6913,7 @@ FAC_LCL('res_alg_ruimte_m', 'Fysieke Ruimten', 'Real estate rooms')
FAC_LCL('res_srtartikel_onrgoed', 'Verbruiksartikel-scope', 'Catering scope')
FAC_LCL('res_srtartikel_onrgoed_m', 'Verbruiksartikelen-scope', 'Catering scope')
FAC_LCL('res_srtartikel_plaats', 'Onroerendgoed', 'Real estate')
FAC_LCL('res_discipline_bonotify', 'Backoffice last-minute notificeren (RES2BO)', 'Notify back office last-minute (RES2BO)')
FAC_LCL('res_discipline_bonotify', 'Backoffice notificeren (RES2BO)', 'Notify back office (RES2BO)')
FAC_LCL('ins_controlemode', 'Taakafhandeling', 'Method')
FAC_LCL('ins_default_controlemode', 'Standaard taakafhandeling', 'Default method')
@@ -7057,8 +6972,6 @@ FAC_LCL('ins_srtgroep', 'Groep', 'Group')
FAC_LCL('ins_srtgroep_m', 'Groepen', 'Groups')
FAC_LCL('ins_srtgroep_omschrijving', 'Omschrijving', 'Description')
FAC_LCL('ins_srtgroep_catalogus', 'Discipline', 'Discipline')
FAC_LCL('ins_srtdeel', 'Objectsoort', 'Object type')
FAC_LCL('ins_srtdeel_m', 'Objectsoorten', 'Object types')
FAC_LCL('ins_kenmerk', 'Objectkenmerk', 'Object property')
FAC_LCL('ins_kenmerk_m', 'Objectkenmerken', 'Object properties')
@@ -7102,8 +7015,6 @@ FAC_LCL('fac_email_setting_attachext', 'Toegestane extensies', 'Allowed extensi
FAC_LCL('fac_email_setting_reqattachext', 'Verplichte extensie', 'Required extension')
FAC_LCL('fac_email_setting_opmerking', 'Opmerking', 'Remark')
FAC_LCL('fac_email_setting_volgnr', 'Volgnr', 'Sequence number')
FAC_LCL('fac_email_setting_perslid_key','Authenticatie als', 'Authentication as')
FAC_LCL('fac_functie_code', 'Code', 'Code')
FAC_LCL('fac_functie_show_all', 'Toon alles', 'Show all')
@@ -7287,7 +7198,7 @@ COMMIT;
FAC_LCL('lcl_autfai_forgotten', 'Wachtwoord vergeten: gebruiker niet gevonden of had geen wachtwoord: {0}', 'Forgotten password request: user not found or did not have a password: {0}')
FAC_LCL('lcl_autfai_toomany', 'Meer ({0}) dan {1} inlogpogingen voor {2}', 'Number of login attempts ({0}) for {2} is over {1}.')
FAC_LCL('lcl_autfai_loginnotfound', 'Claim ''{0}'' niet gevonden als ''{1}'': {2}', 'Claimed {0} not found as {1}: {2}')
FAC_LCL('lcl_autfai_ipchange', 'Onverwachte ip-wisseling van {0} naar {1} voor {2}' || CHR(10) || '{3}', 'Unexpected ip-change from {0} to {1} for {2}' || CHR(10) || '{3}')
FAC_LCL('lcl_autfai_ipchange', 'Onverwachte ip-wisseling van {0} naar {1} voor {2}\n{3}', 'Unexpected ip-change from {0} to {1}\n{2}')
FAC_LCL('lcl_autfai_loginfailed', 'Inloggen ''{0}'' mislukt: {1}', 'Login by ''{0}'' failed: {1}')
FAC_LCL('lcl_prsupd_createduser', 'Gebruiker ''{0} {1}'' aangemaakt met key {2} voor idp ''{3}''', 'Created user ''{0} {1}'' with key {2} for idp ''{3}''')
@@ -7662,11 +7573,6 @@ FAC_LCL('lcl_noti_RAPMAI', 'Rapport ##KEY##', 'Report ##KEY##')
FAC_LCL('lcl_noti_CNTMAI', 'Contract ##KEY##', 'Contract ##KEY##')
FAC_LCL('lcl_noti_FINMAI', 'Factuur ##KEY##', 'Invoice ##KEY##')
// Rating tracking
FAC_LCL('lcl_noti_BESLIK', 'Bestelling beoordeeld', 'Purchase order rated')
FAC_LCL('lcl_noti_MLDLIK', 'Melding beoordeeld', 'Call rated')
FAC_LCL('lcl_noti_RESLIK', 'Reservering beoordeeld', 'Reservation rated')
// Modules
FAC_LCL('lcl_module_API', 'API: API meta data', 'API: API meta data')
FAC_LCL('lcl_module_AUT', 'Authenticatie', 'Authentication')
@@ -7718,6 +7624,7 @@ FAC_LCL('lcl_WEB_BESGO5', 'Backoffice:Bestellingen-goedk5', 'Back office:Purchas
FAC_LCL('lcl_WEB_BESMGT', 'Modulebeheer:Bestellingen', 'Module management:Purchase orders')
FAC_LCL('lcl_WEB_BESMSU', 'Supergebruiker:Artikelbeheer', 'Super user:Article management')
FAC_LCL('lcl_WEB_BESUSE', 'FrontEnd:Bestellingen', 'Front end:Purchase order requests')
FAC_LCL('lcl_WEB_PRDMSU', 'Supergebruiker:Productbeheer', 'Super user: Product management')
FAC_LCL('lcl_WEB_BEZBAC', 'Info:Bezoekers', 'Info:Visitors')
FAC_LCL('lcl_WEB_BEZBOF', 'Backoffice:Bezoekers', 'Back office:Visitors')
FAC_LCL('lcl_WEB_BEZFOF', 'Frontoffice:Bezoekers', 'Front office:Visitors')
@@ -7823,9 +7730,7 @@ FAC_LCL('lcl_WEB_MRKBOF', 'Backoffice:Prikbord', 'Back office:Bulletin board')
FAC_LCL('lcl_WEB_MRKMGT', 'Modulebeheer:Prikbord', 'Module management:Bulletin board')
FAC_LCL('lcl_WEB_MRKMSU', 'Supergebruiker:Prikbord', 'Super user:Bulletin board')
FAC_LCL('lcl_WEB_MRKUSE', 'FrontEnd:Prikbord', 'Front end:Bulletin board')
FAC_LCL('lcl_WEB_MSGUSE', 'Frontend:Berichten', 'Front end:Messages')
FAC_LCL('lcl_WEB_MSGFOF', 'Frontoffice:Berichten', 'Front office:Messages')
FAC_LCL('lcl_WEB_MSGBOF', 'Backoffice:Berichten', 'Back office:Messages')
FAC_LCL('lcl_WEB_MSGBOF', 'Info:Berichten', 'Info:Messages')
FAC_LCL('lcl_WEB_PRJBOF', 'Backoffice:Verhuizingen', 'Back office:Relocations')
FAC_LCL('lcl_WEB_PRJMAN', 'Projecten:Doorvoeren', 'Projects:Processing')
FAC_LCL('lcl_PRS_MODAAN', 'Aanmelden nieuwe medewerkers', 'Register new employees')
@@ -8081,6 +7986,7 @@ FAC_LCL('lcl_WEB_BESGO5_info', 'Om bestelaanvragen boven de vijfde limiet goed t
FAC_LCL('lcl_WEB_BESMGT_info', 'Modulebeheer', 'Module management')
FAC_LCL('lcl_WEB_BESMSU_info', 'Supergebruiker', 'Super user')
FAC_LCL('lcl_WEB_BESUSE_info', 'Om zelf bestellingen te kunnen doen', 'Register purchase order requests as Front End')
FAC_LCL('lcl_WEB_PRDMSU_info', 'Supergebruiker', 'Super user')
FAC_LCL('lcl_WEB_BEZBAC_info', 'Om management info m.b.t. bezoekers te kunnen raadplegen', 'Access visitor management info')
FAC_LCL('lcl_WEB_BEZBOF_info', 'Om ontvangst van verwachte bezoekers te kunnen registreren (bezoekersbalie)', 'Register visitor check in')
FAC_LCL('lcl_WEB_BEZFOF_info', 'Om bezoekafspraken te kunnen registreren als front office', 'Register visistor appointment as Front office')
@@ -8186,7 +8092,6 @@ FAC_LCL('lcl_WEB_MRKBOF_info', 'Om berichten op het prikbord te beheren.', 'Mana
FAC_LCL('lcl_WEB_MRKMGT_info', 'Modulebeheer', 'Module management')
FAC_LCL('lcl_WEB_MRKMSU_info', 'Supergebruiker', 'Super user')
FAC_LCL('lcl_WEB_MRKUSE_info', 'Om berichten op het prikbord te lezen/plaatsen', 'Create bulletin board messages')
FAC_LCL('lcl_WEB_MSGUSE_info', 'Om berichten te posten.', 'To post messages')
FAC_LCL('lcl_WEB_MSGBOF_info', 'Om berichten te verzenden naar (groepen) personen die bekend zijn in Facilitor.', 'To create and send messages in messenger')
FAC_LCL('lcl_WEB_PRJBOF_info', 'Om verhuisscenarios te kunnen maken.', 'Create relocation scenarios')
FAC_LCL('lcl_WEB_PRJMAN_info', 'Om verhuisscenarios te kunnen doorvoeren.', 'Process relocation scenarios')

View File

@@ -35,7 +35,6 @@
#include "fac_pacl.src"
#include "fac_pacflex.src"
#include "fac_pacano.src"
#include "fac_pacdel.src"
CREATE OR REPLACE PACKAGE fac
AUTHID CURRENT_USER -- zodat CREATE TABLE lukt
@@ -141,9 +140,8 @@ CREATE OR REPLACE PACKAGE fac
PROCEDURE marknotiassent(pnotikey NUMBER, presult NUMBER, presulttext VARCHAR2, pperslid_key NUMBER DEFAULT NULL);
FUNCTION getSetting (pname IN VARCHAR2 ) RETURN VARCHAR2;
PROCEDURE trackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2);
PROCEDURE trackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2, new_fac_tracking_key OUT NUMBER);
PROCEDURE backtrackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE);
PROCEDURE notifytracking(psrtnotificatiekey NUMBER, pperslid_key NUMBER, ptracking_oms VARCHAR2, prefkey NUMBER, ptrackingkey NUMBER DEFAULT NULL);
PROCEDURE notifytracking(psrtnotificatiekey NUMBER, pperslid_key NUMBER, ptracking_oms VARCHAR2, prefkey NUMBER);
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);
@@ -166,9 +164,9 @@ CREATE OR REPLACE PACKAGE fac
FUNCTION exceeds_profiel (p_bestelbedrag IN NUMBER, p_prs_key IN NUMBER, p_disc_key IN NUMBER) RETURN BOOLEAN;
FUNCTION exceeds_pgb (p_opdrachtbedrag IN NUMBER, p_prs_key IN NUMBER, p_disc_key IN NUMBER, disc_params_pgb IN NUMBER) RETURN BOOLEAN;
FUNCTION exceeds_agb (p_opdrachtbedrag IN NUMBER, p_kp_key IN NUMBER, p_disc_key IN NUMBER, disc_params_pgb IN NUMBER) RETURN BOOLEAN;
PROCEDURE fac_cleanup(delayhours NUMBER DEFAULT 24);
FUNCTION getnoteoftracking(p_tracking_key IN NUMBER) RETURN VARCHAR2;
FUNCTION getnoteofnotification(p_notificatie_key IN NUMBER) RETURN VARCHAR2;
PROCEDURE fac_cleanup;
FUNCTION getnotedesc_track(p_tracking_key IN NUMBER) RETURN VARCHAR2;
FUNCTION getnotedesc_noti(p_notificatie_key IN NUMBER) RETURN VARCHAR2;
END fac;
/
@@ -341,10 +339,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
IS
v_result VARCHAR2 (4000);
BEGIN
IF pchar1 IS NULL
THEN
RETURN SUBSTR(pchar2, 1, pmaxlen);
END IF;
v_result := pchar1 || SUBSTR (pchar2, 1, pmaxlen - LENGTH (pchar1));
RETURN SUBSTR(v_result, 1, pmaxlen);
END;
@@ -2133,7 +2127,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
pbedrijfadreskey NUMBER DEFAULT NULL, pqueue VARCHAR2 DEFAULT 'DEFAULT',
pgeturl VARCHAR2 DEFAULT NULL)
AS
lemail fac_notificatie.fac_notificatie_receiver_email%TYPE;
lemail prs_perslid.prs_perslid_email%TYPE;
lphone prs_perslid.prs_perslid_mobiel%TYPE;
llang prs_perslid.prs_perslid_lang%TYPE;
lsysteem prs_perslid.prs_perslid_systeemadres%TYPE;
@@ -3256,10 +3250,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
cust_daily VARCHAR2(20);
has_cust_daily NUMBER(1);
BEGIN
-- Comprimeert of verwijdert de sensorwaarden ouder dan ins_state_history dagen
ins.compress_states(1);
SELECT fac_version_cust || '_DAILY'
INTO cust_daily
FROM fac_version;
@@ -3280,7 +3270,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
putsystemnotification ('Facilitor notifier: Invalid daily job ' || cust_daily ||' ('|| SQLERRM ||')' , 3);
END;
END IF;
fac.fac_cleanup(0); -- 0 = onvoorwaardelijk
fac.fac_cleanup;
END;
PROCEDURE fac_weekly
@@ -3288,14 +3278,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
cust_weekly VARCHAR2(20);
has_cust_weekly NUMBER(1);
BEGIN
-- Check wekelijks of er nog meer van vroeger kan worden weggegooid
-- en doe dat dan. Logging in imp_log onder naam $PURGE$.
-- By design gaan we vanaf februari over naar een nieuw jaar,
-- dus de eerste run van februari zal intensief zijn (FCLT#79311)
-- Dan is het fijn dat het op zondag gebeurt.
del.fac_purge(1);
SELECT fac_version_cust || '_WEEKLY'
INTO cust_weekly
FROM fac_version;
@@ -3623,12 +3605,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
-- Dat doen we door pcode te prefixen met #. Deze wordt dan stiekem voor aan poms geplakt
-- (want anders kunnen we niet inserten) en de trigger op fac_tracking doet dan de rest.
PROCEDURE trackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2)
AS
new_fac_tracking_key fac_tracking.fac_tracking_key%TYPE; -- dummy
BEGIN
fac.trackaction (pcode, prefkey, puserkey, pdatum, poms, new_fac_tracking_key);
END;
PROCEDURE trackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2, new_fac_tracking_key OUT NUMBER)
AS
tkey fac_srtnotificatie.fac_srtnotificatie_key%TYPE;
loms fac_tracking.fac_tracking_oms%TYPE;
@@ -3669,14 +3645,12 @@ CREATE OR REPLACE PACKAGE BODY fac AS
INSERT INTO fac_tracking (fac_tracking_refkey, prs_perslid_key, fac_srtnotificatie_key, fac_tracking_oms
)
VALUES (prefkey, puserkey, tkey, loms
)
RETURNING fac_tracking_key INTO new_fac_tracking_key;
);
ELSE
INSERT INTO fac_tracking (fac_tracking_refkey, prs_perslid_key, fac_srtnotificatie_key, fac_tracking_datum, fac_tracking_oms
)
VALUES (prefkey, puserkey, tkey, pdatum, loms
)
RETURNING fac_tracking_key INTO new_fac_tracking_key;
);
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
@@ -3718,8 +3692,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
PROCEDURE notifytracking (psrtnotificatiekey NUMBER,
pperslid_key NUMBER,
ptracking_oms VARCHAR2,
prefkey NUMBER,
ptrackingkey NUMBER DEFAULT NULL)
prefkey NUMBER)
AS
lxmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
lcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
@@ -3740,13 +3713,13 @@ CREATE OR REPLACE PACKAGE BODY fac AS
lworkflowstep_key mld_melding.mld_workflowstep_key%TYPE;
lstart_key mld_melding.mld_melding_start_key%TYPE;
luitvtype mld_v_uitvoerende.TYPE%TYPE;
lemail fac_notificatie.fac_notificatie_receiver_email%TYPE;
lemail prs_bedrijf.prs_bedrijf_email%TYPE;
lemail3 alg_gebouw.alg_gebouw_email%TYPE;
lphone prs_bedrijf.prs_bedrijf_telefoon2%TYPE;
lreskey res_rsv_ruimte.res_reservering_key%TYPE;
lres_ruimte_opstel_key res_rsv_ruimte.res_ruimte_opstel_key%TYPE;
lrefkey NUMBER (10);
lxrefkey res_rsv_ruimte.res_rsv_ruimte_key%TYPE; -- also fac_tracking_key
lxrefkey res_rsv_ruimte.res_rsv_ruimte_key%TYPE;
lalg_ruimte_key res_rsv_ruimte.alg_ruimte_key%TYPE;
lalglocatiekey alg_locatie.alg_locatie_key%TYPE;
lalgonrgoedkey mld_melding.mld_alg_onroerendgoed_keys%TYPE;
@@ -3758,7 +3731,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
lins_deel_ley ins_deel.ins_deel_key%TYPE;
lpoolnotified NUMBER;
lspoed mld_melding.mld_melding_spoed%TYPE;
BEGIN
-- Het gaat om een notificatie bij een entiteit prefkey,
-- waarvan het type alleen nog moet worden bepaald via
@@ -3794,20 +3766,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_key = psrtnotificatiekey;
-- als we zeker weten dat het nergens naartoe gestuurd gaat worden
-- (fac_srtnotificatie_mode = 0) hoeven we ook niet meer te bepalen
-- welk bericht we niet naar niemand gaan sturen..
-- Voorkomt ook mutating-errors als het niet hoeft.
-- Althans, dat dacht ik, maar los van deze notificatie kunnen er ook
-- afgeleide notificaties gestuurd worden (naar de BO en zo)
-- dus zo simpel is het niet. Daarom maar specifiek uitsluiten.
--
-- Deze leiden intrinsiek niet tot notificaties
IF (lcode = 'BESLIK' OR lcode = 'MLDLIK' OR lcode='RESLIK')
THEN
RETURN;
END IF;
-- Bepaal de ontvanger enzo van dit bericht
CASE
WHEN lxmlnode = 'melding'
@@ -3968,11 +3926,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHERE aog.alg_gebouw_key = g.alg_gebouw_key
AND aog.alg_onroerendgoed_keys = lalgonrgoedkey;
END IF;
-- voor meldingen (en opdrachten) hebben we een toepassing voor de extrakey in de queue, nl. de verwijzing
-- naar de trackingtabel, dat is specifieker dan we terug kunnen bepalen. De notitie daarbij kan nl. van belang zijn
lxrefkey := ptrackingkey;
WHEN lxmlnode = 'opdracht'
THEN
IF ptracking_oms IS NULL
@@ -4117,10 +4070,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHERE aog.alg_gebouw_key = g.alg_gebouw_key
AND aog.alg_onroerendgoed_keys = lalgonrgoedkey;
END IF;
-- voor opdrachten (en meldingen) hebben we een toepassing voor de extrakey in de queue, nl. de verwijzing
-- naar de trackingtabel, dat is specifieker dan we terug kunnen bepalen. De notitie daarbij kan nl. van belang zijn
lxrefkey := ptrackingkey;
WHEN lxmlnode = 'reservering' OR lxmlnode = 'xreservering'
THEN
IF ptracking_oms IS NULL
@@ -5780,137 +5729,104 @@ CREATE OR REPLACE PACKAGE BODY fac AS
END IF;
END;
PROCEDURE fac_cleanup(delayhours NUMBER DEFAULT 24)
PROCEDURE fac_cleanup
AS
CURSOR c_imp
IS
SELECT fac_import_app_key
FROM fac_import_app;
r_imp c_imp%ROWTYPE;
v_cleanup_date DATE;
BEGIN
SELECT fac_version_cleanup_date
INTO v_cleanup_date
FROM fac_version;
DELETE FROM fac_session WHERE fac_session_expire < SYSDATE - 2;
DELETE FROM aut_client_perslid WHERE aut_client_perslid_login < SYSDATE - 60;
DELETE FROM fac_bookmark WHERE fac_bookmark_expire < SYSDATE - 2;
DELETE FROM web_user_messages WHERE web_user_mess_action_datum < SYSDATE - 60;
DELETE FROM fac_notificatie WHERE fac_notificatie_status=0
AND fac_notificatie_systeemadres IS NULL;
DELETE fac_result WHERE fac_result_aanmaak < SYSDATE - 7;
IF v_cleanup_date IS NULL OR SYSDATE > (v_cleanup_date + delayhours / 24)
THEN
BEGIN
DELETE FROM fac_session WHERE fac_session_expire < SYSDATE - 2;
DELETE FROM aut_client_perslid WHERE aut_client_perslid_login < SYSDATE - 60;
DELETE FROM fac_bookmark WHERE fac_bookmark_expire < SYSDATE - 2;
DELETE FROM web_user_messages WHERE web_user_mess_action_datum < SYSDATE - 60;
DELETE FROM fac_notificatie WHERE fac_notificatie_status=0
AND fac_notificatie_systeemadres IS NULL;
DELETE fac_result WHERE fac_result_aanmaak < SYSDATE - 7;
DELETE fac_rapport WHERE fac_rapport_datum < SYSDATE - 90;
DELETE fac_audit WHERE fac_audit_datum < SYSDATE - 3 * 365;
DELETE fac_auditfail WHERE fac_auditfail_datum < SYSDATE - 3 * 365;
DELETE fac_gui_counter WHERE fac_gui_counter_date < SYSDATE - 3 * 365;
DELETE fac_import WHERE fac_import_datum_gelezen < SYSDATE - 90;
DELETE imp_log WHERE fac_import_key IS NULL AND imp_log_datum < SYSDATE - 90;
DELETE fac_kenmwaarden WHERE fac_kenmwaarden_aanmaak < SYSDATE - 7;
DELETE fac_rapport WHERE fac_rapport_datum < SYSDATE - 90;
DELETE fac_audit WHERE fac_audit_datum < SYSDATE - 3 * 365;
DELETE fac_auditfail WHERE fac_auditfail_datum < SYSDATE - 3 * 365;
DELETE fac_gui_counter WHERE fac_gui_counter_date < SYSDATE - 3 * 365;
DELETE fac_import WHERE fac_import_datum_gelezen < SYSDATE - 90;
DELETE imp_log WHERE fac_import_key IS NULL AND imp_log_datum < SYSDATE - 90;
DELETE fac_kenmwaarden WHERE fac_kenmwaarden_aanmaak < SYSDATE - 7;
DELETE fac_gebruikersgroep WHERE fac_gebruikersgroep_vervaldatum < TRUNC(SYSDATE);
COMMIT;
COMMIT;
-- Wissen oude (gisteren) popups van Putorders.
UPDATE fac_notificatie n
SET n.fac_notificatie_status = BITAND(n.fac_notificatie_status, 255 - 8)
WHERE BITAND (n.fac_notificatie_status, 8) = 8
AND TRUNC (n.fac_notificatie_datum) < TRUNC (SYSDATE);
-- Wissen oude (gisteren) popups van Putorders.
UPDATE fac_notificatie n
SET n.fac_notificatie_status = BITAND(n.fac_notificatie_status, 255 - 8)
WHERE BITAND (n.fac_notificatie_status, 8) = 8
AND TRUNC (n.fac_notificatie_datum) < TRUNC (SYSDATE);
-- Import logging opschonen.
FOR r_imp IN c_imp
LOOP
DELETE FROM imp_log
WHERE imp_log_status <> 'S'
AND fac_import_key IN
(SELECT fac_import_key
FROM fac_import
WHERE fac_import_app_key = r_imp.fac_import_app_key
AND fac_import_datum_gelezen <= SYSDATE - 1/24) -- afblijven van zeer recente imports
AND fac_import_key <
(SELECT MAX(fac_import_key)
FROM fac_import
WHERE fac_import_app_key = r_imp.fac_import_app_key
AND fac_import_datum_gelezen <= SYSDATE - 1/24);
END LOOP;
UPDATE fac_version
SET fac_version_cleanup_date = SYSDATE;
END;
END IF;
-- Import logging opschonen.
FOR r_imp IN c_imp
LOOP
DELETE FROM imp_log
WHERE imp_log_status <> 'S'
AND fac_import_key IN
(SELECT fac_import_key
FROM fac_import
WHERE fac_import_app_key = r_imp.fac_import_app_key
AND fac_import_datum_gelezen <= SYSDATE - 1/24) -- afblijven van zeer recente imports
AND fac_import_key <
(SELECT MAX(fac_import_key)
FROM fac_import
WHERE fac_import_app_key = r_imp.fac_import_app_key
AND fac_import_datum_gelezen <= SYSDATE - 1/24);
END LOOP;
END;
FUNCTION getnoteoftracking (p_tracking_key IN NUMBER)
FUNCTION getnotedesc_track(p_tracking_key IN NUMBER)
RETURN VARCHAR2
IS
l_srtnotificatie_xmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
l_note_oms mld_opdr_note.mld_opdr_note_omschrijving%TYPE;
v_mld_opdr_note_oms mld_opdr_note.mld_opdr_note_omschrijving%TYPE;
BEGIN
IF (p_tracking_key IS NOT NULL)
THEN
BEGIN
-- determine the node of this tracking
SELECT st.fac_srtnotificatie_xmlnode
INTO l_srtnotificatie_xmlnode
FROM fac_tracking t, fac_srtnotificatie st
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND t.fac_tracking_key = p_tracking_key;
IF l_srtnotificatie_xmlnode = 'opdracht'
THEN
SELECT mld_opdr_note_omschrijving
INTO l_note_oms
FROM mld_opdr_note n
WHERE n.fac_tracking_key = p_tracking_key;
ELSIF l_srtnotificatie_xmlnode = 'melding'
THEN
SELECT mld_melding_note_omschrijving
INTO l_note_oms
FROM mld_melding_note n
WHERE n.fac_tracking_key = p_tracking_key;
END IF;
RETURN l_note_oms;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN NULL;
END;
BEGIN
SELECT mon.mld_opdr_note_omschrijving
INTO v_mld_opdr_note_oms
FROM mld_opdr_note mon,
fac_tracking ft
WHERE mon.mld_opdr_key = ft.fac_tracking_refkey
AND ft.fac_tracking_key = p_tracking_key
AND mon.mld_opdr_note_aanmaak BETWEEN ft.fac_tracking_datum - 2/(24*60*60) AND ft.fac_tracking_datum + 2/(24*60*60);
RETURN v_mld_opdr_note_oms;
EXCEPTION
WHEN NO_DATA_FOUND
THEN RETURN NULL;
END;
ELSE
RETURN NULL;
RETURN NULL;
END IF;
END;
FUNCTION getnoteofnotification (p_notificatie_key IN NUMBER)
FUNCTION getnotedesc_noti(p_notificatie_key IN NUMBER)
RETURN VARCHAR2
IS
l_extratracking_key fac_notificatie.fac_notificatie_extrakey%TYPE;
v_mld_opdr_note_oms mld_opdr_note.mld_opdr_note_omschrijving%TYPE;
BEGIN
IF (p_notificatie_key IS NOT NULL)
THEN
BEGIN
-- determine the tracking of this notification
-- which is optional and can be found in extrakey
SELECT fac_notificatie_extrakey
INTO l_extratracking_key
FROM fac_notificatie q
WHERE q.fac_notificatie_key = p_notificatie_key;
RETURN getnoteoftracking (l_extratracking_key);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN NULL;
END;
BEGIN
SELECT mon.mld_opdr_note_omschrijving
INTO v_mld_opdr_note_oms
FROM mld_opdr_note mon,
fac_notificatie fn
WHERE mon.mld_opdr_key = fn.fac_notificatie_refkey
AND fn.fac_notificatie_key = p_notificatie_key
AND mon.mld_opdr_note_aanmaak BETWEEN fn.fac_notificatie_datum - 2/(24*60*60) AND fn.fac_notificatie_datum + 2/(24*60*60);
RETURN v_mld_opdr_note_oms;
EXCEPTION
WHEN NO_DATA_FOUND
THEN RETURN NULL;
END;
ELSE
RETURN NULL;
RETURN NULL;
END IF;
END;
END;
END fac;
/

File diff suppressed because it is too large Load Diff

View File

@@ -1,674 +0,0 @@
/* $Revision$
* $Id$
*/
/* Purge (definitief echt verijderen) van data >7 jaar zoals met UWVA#61083
* gerealiseerd voor UWV en met MNNL#78302 voor MN.
* Proces heeft te maken met het irrelevant raken van data en een wettelijke
* bewaarplicht (voor bv belastingdienst) en daarmee impliciet een opruimvrijheid
* na die periode, naast emotionele en praktische voordelen, zoals kleinere backupfiles
* minder data bij datalekken en de mogelijkheid om nog meer op te ruimen.
*
* Gebruik: BEGIN del.fac_purge(1); END;
*
* Kan en mag herhaaldelijk worden aangeroepen en verwijdert wat verstreken is
* en geen latere afhankelijkheden heeft. Er is een lichte volgorde-afhankelijkheid
* (de gekozen volgorde is bewust) wat automatisch door herhaling wordt gecompenseerd.
*
* Praktisch bezien zou een jaarlijkse aanroep best volstaan, maar met een dagelijkse
* aanroep blijf je zeer strikt binnen het regime en blijft de (performance) impact
* zeer bescheiden.
* Er zijn wettelijke termijnen van 7 jaren (84 maanden), maar zoals iedere constante
* in de core kan die te overrulen worden met setting datapurge_period (years).
*
* -- TODO: Misschien ook nog schonen vastgoed, personen, objecten en nog meer?
* -- TODO: Periodieke bestelaanvragen/opdrachten niet beschouwen?
*/
/* NOTE: since views and package are tighly related, the views are contained here instead of FAC_VIE.SRC */
CREATE_VIEW(fac_v_2purge_bes,0)
(
jaar,
bes_bestelling_key
)
AS
WITH b
AS (SELECT bes_bestelling_key,
bes_bestelling_datum,
bes_bestelling_retourvan_key,
COALESCE (
fac.gettrackingdate ('BESREJ', bes_bestelling_key),
fac.gettrackingdate ('BESOTV', bes_bestelling_key))
gesloten
FROM bes_bestelling
WHERE bes_bestelling_status IN (1, 6, 7, 8, 9) -- Gesloten bestelling
AND bes_bestelling_datum < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))
SELECT TO_CHAR (b.bes_bestelling_datum, 'yyyy') jaar, bes_bestelling_key
FROM b
WHERE bes_bestelling_retourvan_key IS NULL -- Alleen bron-bestelling (dus zonder de retouren)
AND NOT EXISTS -- Geen later gewijzigde child-bestelopdrachten!
(SELECT 1
FROM fac_tracking t, fac_srtnotificatie sn, bes_bestelopdr_item boi, bes_bestelling_item bbi
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'bestelopdracht'
AND t.fac_tracking_refkey = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND bbi.bes_bestelling_key = b.bes_bestelling_key)
AND NOT EXISTS -- Geen lopende facturen op child-bestelopdrachten!
(SELECT 1
FROM fin_factuur f, bes_bestelopdr_item boi, bes_bestelling_item bbi
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
AND f.bes_bestelopdr_key = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
AND bbi.bes_bestelling_key = b.bes_bestelling_key);
CREATE_VIEW(fac_v_2purge_bez,0)
(
jaar,
bez_afspraak_key,
bezoekers
)
AS
WITH a
AS ( SELECT a.bez_afspraak_key,
a.bez_afspraak_datum,
COUNT (*) bezoekers
FROM bez_afspraak a, bez_bezoekers b
WHERE a.bez_afspraak_datum < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND a.bez_afspraak_key = b.bez_afspraak_key
GROUP BY a.bez_afspraak_key, a.bez_afspraak_datum)
SELECT TO_CHAR (a.bez_afspraak_datum, 'yyyy') jaar, bez_afspraak_key, bezoekers
FROM a;
CREATE_VIEW(fac_v_2purge_res,0)
(
jaar,
verwijderd,
res_rsv_ruimte_key
)
AS
WITH r
AS (SELECT res_rsv_ruimte_key,
res_reservering_key,
res_rsv_ruimte_volgnr,
res_rsv_ruimte_tot,
res_rsv_ruimte_verwijder
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))
SELECT TO_CHAR (res_rsv_ruimte_tot, 'yyyy') jaar, DECODE (res_rsv_ruimte_verwijder, NULL, 'J', 'N') verwijderd, res_rsv_ruimte_key
FROM r
WHERE NOT EXISTS -- Geen latere child-reserveringen!
(SELECT 1
FROM res_rsv_ruimte cr -- Child-reserveringen!
WHERE cr.res_rsv_ruimte_tot > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND cr.res_reservering_key = r.res_reservering_key);
-- TODO: Periodieke meldingen/opdrachten niet beschouwen? => Bij MN niet gebruikt!
CREATE_VIEW(fac_v_2purge_mld,0)
(
jaar,
datum,
mld_melding_key
)
AS
WITH m
AS (SELECT mld_melding_key,
mld_melding_datum,
mld_melding_start_key,
mld_melding_parentkey,
COALESCE (
fac.gettrackingdate ('MLDREJ', mld_melding_key),
fac.gettrackingdate ('MLDAFM', mld_melding_key), -- Soms niet Afgemeld?
fac.gettrackingdate ('MLDVER', mld_melding_key))
gesloten
FROM mld_melding
WHERE mld_melding_status IN (1, 5, 6) -- Gesloten
AND mld_melding_datum < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))
SELECT TO_CHAR (m.mld_melding_datum, 'yyyy') jaar, m.mld_melding_datum datum, mld_melding_key
FROM m
WHERE m.gesloten < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND (m.mld_melding_start_key IS NULL OR m.mld_melding_key = m.mld_melding_start_key) -- Alleen bron-melding
AND m.mld_melding_parentkey IS NULL -- Alleen bron-melding
AND NOT EXISTS -- Geen later gewijzigde child-opdrachten!
(SELECT 1
FROM fac_tracking t, fac_srtnotificatie sn, mld_opdr o
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
AND sn.fac_srtnotificatie_code <> 'ORDANO'
AND t.fac_tracking_refkey = o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key)
AND EXISTS -- Eventuele start-melding ook > 7 jaar gesloten!
(SELECT 1
FROM m sm -- Start-meldingen!
WHERE sm.mld_melding_key = COALESCE (m.mld_melding_start_key, m.mld_melding_key))
AND EXISTS -- Eventuele parent-melding ook > 7 jaar gesloten!
(SELECT 1
FROM m pm -- Parent-meldingen!
WHERE pm.mld_melding_key = COALESCE (m.mld_melding_parentkey, m.mld_melding_key))
AND NOT EXISTS -- Eventuele vervolg-melding ook > 7 jaar gesloten!
(SELECT 1
FROM mld_melding vm, -- Vervolg-meldingen!
fac_tracking t,
fac_srtnotificatie sn
WHERE vm.mld_melding_start_key = m.mld_melding_key
AND vm.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'melding'
AND (vm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))) -- Geraakt < 7 jaar geleden
AND NOT EXISTS -- Eventuele child-melding ook > 7 jaar gesloten!
(SELECT 1
FROM mld_melding cm, -- Child-meldingen!
fac_tracking t,
fac_srtnotificatie sn
WHERE cm.mld_melding_parentkey = m.mld_melding_key
AND cm.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_xmlnode = 'melding'
AND (cm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))) -- Geraakt < 7 jaar geleden
AND NOT EXISTS -- Geen lopende facturen op child-opdrachten!
(SELECT 1
FROM fin_factuur f, mld_opdr o
WHERE f.fin_factuur_verwijder IS NULL
AND f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
AND f.mld_opdr_key = o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key);
CREATE_VIEW(fac_v_2purge_cnt,0)
(
ins_discipline_key,
contractsoort,
cnt_contract_key,
contractnr,
cnt_contract_omschrijving,
cnt_contract_looptijd_tot,
cnt_contract_status
)
AS
SELECT DISTINCT
c.ins_discipline_key,
cd.ins_discipline_omschrijving,
c.cnt_contract_key,
c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)
contractnr,
c.cnt_contract_omschrijving,
c.cnt_contract_looptijd_tot,
c.cnt_contract_status
FROM cnt_contract c, cnt_discipline cd
WHERE c.cnt_contract_looptijd_tot < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)) -- Verlopen > 7 jaar geleden
AND c.ins_discipline_key = cd.ins_discipline_key
AND NOT EXISTS -- Geen dossier-contract onder dezelfde mantel <= 7 jaar geleden
(SELECT 1
FROM cnt_contract dc
WHERE dc.cnt_contract_verwijder IS NULL
AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
AND dc.cnt_contract_mantel_key = c.cnt_contract_key)
AND NOT EXISTS -- Geen lopende facturen op contract!
(SELECT 1
FROM fin_factuur
WHERE fin_factuur_verwijder IS NULL
AND fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
AND cnt_contract_key = c.cnt_contract_key);
/* candidate rootview for a fac_v_rap_2purge_all report */
CREATE_VIEW(fac_v_2purge_all,0)
(
module,
jaar,
aantal,
subaantal
)
AS
SELECT 'BES', jaar, COUNT (*) aantal, NULL subaantal
FROM fac_v_2purge_bes
GROUP BY 'BES', jaar
UNION ALL
SELECT 'BEZ', jaar, COUNT (*) aantal, SUM (bezoekers) subaantal
FROM fac_v_2purge_bez
GROUP BY 'BEZ', jaar
UNION ALL
SELECT 'RES', jaar, COUNT (*) aantal, NULL subaantal
FROM fac_v_2purge_res
GROUP BY 'RES', jaar
UNION ALL
SELECT 'MLD', jaar, COUNT (*) aantal, NULL subaantal
FROM fac_v_2purge_mld
GROUP BY 'MLD', jaar
UNION ALL
SELECT 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy') jaar, COUNT ( * ) aantal, NULL subaantal
FROM fac_v_2purge_cnt
GROUP BY 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy');
/* THE PACKAGE (that does the job using the views above) */
CREATE OR REPLACE PACKAGE del
AS
-- If you are verysure, call this procedure with parameter 1
-- If you need extended logging, add 2 (so use 3)
PROCEDURE fac_purge (iamverysure IN NUMBER DEFAULT 0);
END del;
/
CREATE OR REPLACE PACKAGE BODY del
AS
PROCEDURE fac_purge(iamverysure IN NUMBER DEFAULT 0)
AS
-- BES per jaar
CURSOR cbes (p_jaar VARCHAR2)
IS
SELECT bes_bestelling_key
FROM fac_v_2purge_bes
WHERE jaar <= p_jaar
ORDER BY 1;
-- BEZ per jaar (samen met RES)
CURSOR cbez (p_jaar VARCHAR2)
IS
SELECT bez_afspraak_key
FROM fac_v_2purge_bez
WHERE jaar <= p_jaar
ORDER BY 1;
-- RES per jaar (samen met BEZ)
CURSOR cres (p_jaar VARCHAR2)
IS
SELECT res_rsv_ruimte_key
FROM fac_v_2purge_res
WHERE jaar <= p_jaar
ORDER BY 1;
-- MLD per jaar (of maand)
CURSOR cmld (p_datum DATE)
IS
SELECT mld_melding_key
FROM fac_v_2purge_mld
WHERE TRUNC (datum) <= p_datum
ORDER BY 1;
-- CNT allemaal tegelijk, hoeft niet per jaar
CURSOR ccnt
IS
SELECT ins_discipline_key, cnt_contract_key
FROM fac_v_2purge_cnt
ORDER BY 1, 2;
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER (10);
v_jaar1 VARCHAR2 (4);
v_jaar2 VARCHAR2 (4);
v_datum DATE;
v_purgeblock_start DATE; -- voor logging-timing
v_purgeblock_end DATE; -- voor logging-timing
v_genesisdatum DATE; -- de nieuwe datum van het begin der aarde, alles voor deze datum mag weg.
BEGIN
-- Early Exit
IF fac.getsetting ('datapurge_period') = 99
THEN
fac.writelog ('$PURGE$','S','No purge of data, purge is disabled', 'Configuration of datapurge_period 99 (default) means disabled');
RETURN;
END IF;
-- Bepalen we obv vandaag en de setting datapurge_period (in jaren, default 99)
-- We vinden januari een uitloopmaand, vandaar de -1. Als iemand anders dat zwaarwegend anders gaat vinden
-- dan moet dat een datapurge_gracemonths worden. Dezelfde berekening zit ook in alle views hierboven
-- > Dit is dus 1 januari van het jaar dat bewaard moet blijven <
-- (niet onlogisch om deze datum als parameter aan de purge mee te kunnen geven?)
v_genesisdatum := TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12));
DBMS_OUTPUT.put_line('About to (re)purge anything before '||TO_CHAR(v_genesisdatum,'DD-MM-YYYY'));
IF BITAND(iamverysure,1) = 1
THEN
fac.writelog ('$PURGE$','I','Purge anything before '||TO_CHAR(v_genesisdatum,'DD-MM-YYYY'), '');
ELSE
fac.writelog ('$PURGE$','I','Purge SIMULATION OF anything before '||TO_CHAR(v_genesisdatum,'DD-MM-YYYY'), '');
END IF;
SELECT COALESCE(SUM (aantal),0) INTO v_count FROM fac_v_2purge_all;
fac.writelog ('$PURGE$','S','There is a grand total of '||TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.''')||' items to possibly purge.', '');
DBMS_OUTPUT.put_line('There is a grand total of '||TO_CHAR(v_count)||' items to purge.');
IF v_count = 0
THEN
DBMS_OUTPUT.put_line('So nothing to purge, bye.');
fac.writelog ('$PURGE$','S','So nothing to purge, done.', '');
RETURN;
END IF;
DBMS_OUTPUT.put_line('Starting bestellingen');
-- Telkens een jaartje schonen totdat achterstand ingelopen
v_count := 0;
v_purgeblock_start := SYSDATE;
SELECT MIN (jaar), MAX (jaar)
INTO v_jaar1, v_jaar2
FROM fac_v_2purge_bes
WHERE jaar > '1990';
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
FOR r IN cbes (v_jaar2)
LOOP
BEGIN
v_errormsg := 'Error purging bestelling: ' || TO_CHAR (r.bes_bestelling_key);
IF BITAND(iamverysure,1) = 1
THEN
bes.remove (r.bes_bestelling_key);
END IF;
IF BITAND(iamverysure,2) = 2
THEN
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.bes_bestelling_key)||'.', '');
END IF;
v_count := v_count + 1;
-- Elke 1000 BES een COMMIT
IF MOD (v_count, 1000) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', v_errormsg, 'BES-loop');
END;
END LOOP;
v_purgeblock_end := SYSDATE;
IF v_jaar1 = v_jaar2
THEN
fac.writelog (
'$PURGE$',
'S',
'Step 1/5 #Bestellingen purged (year=' || v_jaar2 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog (
'$PURGE$',
'S',
'Step 1/5 #Bestellingen purged (years='
|| v_jaar1
|| '-'
|| v_jaar2
|| '): '
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
END IF;
DBMS_OUTPUT.put_line('Bestellingen done.');
COMMIT;
DBMS_OUTPUT.put_line('Starting bezoekers');
v_count := 0;
v_purgeblock_start := SYSDATE;
SELECT MIN (jaar), MAX (jaar)
INTO v_jaar1, v_jaar2
FROM fac_v_2purge_bez
WHERE jaar > '1990';
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
FOR r IN cbez (v_jaar2)
LOOP
BEGIN
v_errormsg := 'Error purging afspraak: ' || TO_CHAR (r.bez_afspraak_key);
IF BITAND(iamverysure,1) = 1
THEN
bez.remove (r.bez_afspraak_key);
END IF;
IF BITAND(iamverysure,2) = 2
THEN
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.bez_afspraak_key)||'.', '');
END IF;
v_count := v_count + 1;
-- Elke 1000 BEZ een COMMIT
IF MOD (v_count, 1000) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', v_errormsg, 'BEZ-loop');
END;
END LOOP;
v_purgeblock_end := SYSDATE;
IF v_jaar1 = v_jaar2
THEN
fac.writelog (
'$PURGE$',
'S',
'Step 2/5 #Afspraken purged (year=' || v_jaar2 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog (
'$PURGE$',
'S',
'Step 2/5 #Afspraken purged (years='
|| v_jaar1
|| '-'
|| v_jaar2
|| '): '
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
END IF;
COMMIT;
DBMS_OUTPUT.put_line('Bezoekers done.');
DBMS_OUTPUT.put_line('Starting reserveringen');
v_count := 0;
v_purgeblock_start := SYSDATE;
-- jaren kennelijk als BEZ
FOR r IN cres (v_jaar2)
LOOP
BEGIN
v_errormsg := 'Error purging reservering: ' || TO_CHAR (r.res_rsv_ruimte_key);
IF BITAND(iamverysure,1) = 1
THEN
res.remove (r.res_rsv_ruimte_key);
END IF;
IF BITAND(iamverysure,2) = 2
THEN
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.res_rsv_ruimte_key)||'.', '');
END IF;
v_count := v_count + 1;
-- Elke 1000 RES een COMMIT
IF MOD (v_count, 1000) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', v_errormsg, 'RES-loop');
END;
END LOOP;
v_purgeblock_end := SYSDATE;
IF v_jaar1 = v_jaar2
THEN
fac.writelog (
'$PURGE$',
'S',
'Step 3/5 #Reserveringen purged (year=' || v_jaar1 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog (
'$PURGE$',
'S',
'Step 3/5 #Reserveringen purged (years='
|| v_jaar1
|| '-'
|| v_jaar2
|| '): '
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
END IF;
DBMS_OUTPUT.put_line('Reserveringen done.');
COMMIT;
DBMS_OUTPUT.put_line('Starting meldingen');
v_count := 0;
v_purgeblock_start := SYSDATE;
SELECT MIN (jaar), MAX (jaar)
INTO v_jaar1, v_jaar2
FROM fac_v_2purge_mld
WHERE jaar > '1990';
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
v_errormsg := 'Fout bepalen oudste datum';
v_datum := fac.safe_to_date ('31-12-' || v_jaar2, 'dd-mm-yyyy');
FOR r IN cmld (v_datum)
LOOP
BEGIN
v_errormsg := 'Error purging melding: ' || TO_CHAR (r.mld_melding_key);
IF BITAND(iamverysure,1) = 1
THEN
mld.remove (r.mld_melding_key);
END IF;
IF BITAND(iamverysure,2) = 2
THEN
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.mld_melding_key)||'.', '');
END IF;
v_count := v_count + 1;
-- Elke 1000 MLD een COMMIT
IF MOD (v_count, 1000) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', v_errormsg, 'MLD-loop');
END;
END LOOP;
v_purgeblock_end := SYSDATE;
--fac.writelog ('$PURGE$', 'S', '#Meldingen purged (maand=' || TO_CHAR (v_datum - 1, 'yyyy-mm') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
--fac.writelog ('$PURGE$', 'S', '#Meldingen purged (year=' || TO_CHAR (v_datum - 1, 'yyyy') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
IF v_jaar1 = v_jaar2
THEN
fac.writelog (
'$PURGE$',
'S',
'Step 4/5 #Meldingen purged (year=' || v_jaar1 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog (
'$PURGE$',
'S',
'Step 4/5 #Meldingen purged (years='
|| v_jaar1
|| '-'
|| v_jaar2
|| '): '
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
END IF;
COMMIT;
DBMS_OUTPUT.put_line('Meldingen done.');
DBMS_OUTPUT.put_line('Starting contracten');
v_count := 0;
v_purgeblock_start := SYSDATE;
--v_errormsg := 'Fout bepalen oudste datum';
--SELECT MIN (cnt_contract_looptijd_tot)
-- INTO v_datum
-- FROM fac_v_2purge_cnt
-- WHERE cnt_contract_looptijd_tot > TO_DATE ( '01-01-1999', 'dd-mm-yyyy');
--v_datum := TRUNC (ADD_MONTHS (v_datum, 12), 'yyyy');
SELECT TO_CHAR(MIN (cnt_contract_looptijd_tot), 'YYYY'), TO_CHAR (MAX (cnt_contract_looptijd_tot), 'YYYY')
INTO v_jaar1, v_jaar2
FROM fac_v_2purge_cnt;
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
-- Alle te schonen contracten(-dossiers) in 1x
FOR r IN ccnt
LOOP
BEGIN
v_errormsg := 'Error purging contract: ' || TO_CHAR (r.cnt_contract_key);
IF BITAND(iamverysure,1) = 1
THEN
cnt.remove (r.cnt_contract_key);
END IF;
IF BITAND(iamverysure,2) = 2
THEN
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.cnt_contract_key)||'.', '');
END IF;
v_count := v_count + 1;
-- Elke 1000 CNT een COMMIT!
IF MOD (v_count, 1000) = 0
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', v_errormsg, 'CNT-loop');
END;
END LOOP;
v_purgeblock_end := SYSDATE;
--fac.writelog ('$PURGE$', 'S', '#Contracten purged (year=' || TO_CHAR (v_datum - 1, 'yyyy') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
IF v_jaar1 = v_jaar2
THEN
fac.writelog (
'$PURGE$',
'S',
'Step 5/5 #Contracten purged (year=' || v_jaar1 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
ELSE
fac.writelog (
'$PURGE$',
'S',
'Step 5/5 #Contracten purged (years='
|| v_jaar1
|| '-'
|| v_jaar2
|| '): '
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
END IF;
COMMIT;
DBMS_OUTPUT.put_line('Contracten done.');
-- Na afloop checken of nog restjes zijn
SELECT COALESCE(SUM (aantal),0) INTO v_count FROM fac_v_2purge_all;
fac.writelog ('$PURGE$','I','There is a grand total of '||TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.''')||' items left to purge.', '');
EXCEPTION
WHEN OTHERS
THEN
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
fac.writelog ('$PURGE$','E', 'Purge aborted!', v_errormsg);
COMMIT;
END;
END del;
/

View File

@@ -60,11 +60,6 @@ BEGIN
rec_count := rec_count + 1;
FOR f IN 1 .. a_fields.COUNT
LOOP
a_fields (f) := NULL;
END LOOP;
FOR f IN 1 .. 100
LOOP
IF (rec_count = 1) -- eerste (header) regel bepaalt het aantal kolommen
@@ -1873,16 +1868,16 @@ AS
v_locatie_post_postcode VARCHAR2 (255); -- 12
v_locatie_post_plaats VARCHAR2 (255); -- 30
v_locatie_post_land VARCHAR2 (255); -- 30
v_alg_kenmerkwaarde1 VARCHAR2 (4000);
v_alg_kenmerkwaarde2 VARCHAR2 (4000);
v_alg_kenmerkwaarde3 VARCHAR2 (4000);
v_alg_kenmerkwaarde4 VARCHAR2 (4000);
v_alg_kenmerkwaarde5 VARCHAR2 (4000);
v_alg_kenmerkwaarde6 VARCHAR2 (4000);
v_alg_kenmerkwaarde7 VARCHAR2 (4000);
v_alg_kenmerkwaarde8 VARCHAR2 (4000);
v_alg_kenmerkwaarde9 VARCHAR2 (4000);
v_alg_kenmerkwaarde10 VARCHAR2 (4000);
v_alg_kenmerkwaarde1 VARCHAR2 (255);
v_alg_kenmerkwaarde2 VARCHAR2 (255);
v_alg_kenmerkwaarde3 VARCHAR2 (255);
v_alg_kenmerkwaarde4 VARCHAR2 (255);
v_alg_kenmerkwaarde5 VARCHAR2 (255);
v_alg_kenmerkwaarde6 VARCHAR2 (255);
v_alg_kenmerkwaarde7 VARCHAR2 (255);
v_alg_kenmerkwaarde8 VARCHAR2 (255);
v_alg_kenmerkwaarde9 VARCHAR2 (255);
v_alg_kenmerkwaarde10 VARCHAR2 (255);
CURSOR c1
IS
@@ -2658,7 +2653,7 @@ IS
v_kenmerk_niveau alg_kenmerk.alg_kenmerk_niveau%TYPE;
v_kenmerk_type alg_kenmerk.alg_kenmerk_kenmerktype%TYPE;
ccount NUMBER;
v_waarde VARCHAR2 (4000);
v_waarde VARCHAR2 (255);
v_objectnaam fac_kenmerkdomein.fac_kenmerkdomein_objectnaam%TYPE;
v_kolomnaam fac_kenmerkdomein.fac_kenmerkdomein_kolomnaam%TYPE;
v_kolomtxt fac_kenmerkdomein.fac_kenmerkdomein_kolomtxt%TYPE;
@@ -3343,11 +3338,11 @@ AS
v_res_ruimte_opstel_bez_n NUMBER (5, 0); -- 5,0
v_res_ruimte_nr VARCHAR2 (255); -- 40
v_res_ruimte_omschrijving VARCHAR2 (4000); -- 255
v_alg_kenmerkwaarde1 VARCHAR2 (4000);
v_alg_kenmerkwaarde2 VARCHAR2 (4000);
v_alg_kenmerkwaarde3 VARCHAR2 (4000);
v_alg_kenmerkwaarde4 VARCHAR2 (4000);
v_alg_kenmerkwaarde5 VARCHAR2 (4000);
v_alg_kenmerkwaarde1 VARCHAR2 (255);
v_alg_kenmerkwaarde2 VARCHAR2 (255);
v_alg_kenmerkwaarde3 VARCHAR2 (255);
v_alg_kenmerkwaarde4 VARCHAR2 (255);
v_alg_kenmerkwaarde5 VARCHAR2 (255);
CURSOR c1
IS
@@ -3732,31 +3727,31 @@ BEGIN
NULL, v_alg_kenmerkwaarde1,
TO_CHAR (v_alg_kenmerk_key1)
|| '='
|| SUBSTR (v_alg_kenmerkwaarde1, 1, 3980)
|| SUBSTR (v_alg_kenmerkwaarde1, 1, 200)
),
DECODE (v_alg_kenmerk_key2,
NULL, v_alg_kenmerkwaarde2,
TO_CHAR (v_alg_kenmerk_key2)
|| '='
|| SUBSTR (v_alg_kenmerkwaarde2, 1, 3980)
|| SUBSTR (v_alg_kenmerkwaarde2, 1, 200)
),
DECODE (v_alg_kenmerk_key3,
NULL, v_alg_kenmerkwaarde3,
TO_CHAR (v_alg_kenmerk_key3)
|| '='
|| SUBSTR (v_alg_kenmerkwaarde3, 1, 3980)
|| SUBSTR (v_alg_kenmerkwaarde3, 1, 200)
),
DECODE (v_alg_kenmerk_key4,
NULL, v_alg_kenmerkwaarde4,
TO_CHAR (v_alg_kenmerk_key4)
|| '='
|| SUBSTR (v_alg_kenmerkwaarde4, 1, 3980)
|| SUBSTR (v_alg_kenmerkwaarde4, 1, 200)
),
DECODE (v_alg_kenmerk_key5,
NULL, v_alg_kenmerkwaarde5,
TO_CHAR (v_alg_kenmerk_key5)
|| '='
|| SUBSTR (v_alg_kenmerkwaarde5, 1, 3980)
|| SUBSTR (v_alg_kenmerkwaarde5, 1, 200)
)
);
END IF;
@@ -3941,7 +3936,7 @@ CREATE OR REPLACE PROCEDURE fac_update_onrgoed2 (
AS
v_kenmerk_type alg_kenmerk.alg_kenmerk_kenmerktype%TYPE;
ccount NUMBER;
v_waarde VARCHAR2 (4000);
v_waarde VARCHAR2 (255);
v_objectnaam fac_kenmerkdomein.fac_kenmerkdomein_objectnaam%TYPE;
v_kolomnaam fac_kenmerkdomein.fac_kenmerkdomein_kolomnaam%TYPE;
v_kolomtxt fac_kenmerkdomein.fac_kenmerkdomein_kolomtxt%TYPE;
@@ -7539,7 +7534,6 @@ IS
INTO ccount
FROM mld_stdmelding
WHERE mld_ins_discipline_key = discipline_key
AND mld_stdmelding_verwijder IS NULL
AND TRIM (UPPER (mld_stdmelding_omschrijving)) =
TRIM (UPPER (rec.mld_stdmelding_omschrijving));
@@ -8633,7 +8627,7 @@ BEGIN
v_ins_deel_aantal := REPLACE (v_ins_deel_aantal, ',', '.');
v_ins_deel_aantal_n := NULL;
IF v_ins_deel_aantal IS NOT NULL
IF (v_ins_deel_aantal IS NOT NULL AND fac.getSetting('ins_explode_objects') = 0)
THEN
IF (fac.safe_to_number (v_ins_deel_aantal) IS NULL)
THEN
@@ -10072,11 +10066,11 @@ IS
v_cil_ruimte_nr VARCHAR2 (255); -- C10
v_aant_sleutels_in_set VARCHAR2 (255); -- N3
v_aant_sleutels_in_set_n NUMBER (3); -- N3
v_ins_kenmerkwaarde1 VARCHAR2 (4000);
v_ins_kenmerkwaarde2 VARCHAR2 (4000);
v_ins_kenmerkwaarde3 VARCHAR2 (4000);
v_ins_kenmerkwaarde4 VARCHAR2 (4000);
v_ins_kenmerkwaarde5 VARCHAR2 (4000);
v_ins_kenmerkwaarde1 VARCHAR2 (255);
v_ins_kenmerkwaarde2 VARCHAR2 (255);
v_ins_kenmerkwaarde3 VARCHAR2 (255);
v_ins_kenmerkwaarde4 VARCHAR2 (255);
v_ins_kenmerkwaarde5 VARCHAR2 (255);
-- Overige velden:
CURSOR c1
@@ -10753,7 +10747,9 @@ AS
-- "uitgeleend" aan dezelfde ruimte (ruimte kan >1 deuren hebben).
v_errormsg := 'Fout bij bepalen default ID (cilinder)';
SELECT INS.nextdescription (rec.ins_srtdeel_code, NULL)
SELECT INS.GET_DESCRIPTION ('LPN_INS_DEEL',
NULL,
UPPER (rec.ins_srtdeel_code))
INTO v_deel_oms
FROM ins_srtdeel
WHERE ins_srtdeel_key = v_srtdeel_key;
@@ -10957,7 +10953,10 @@ AS
BEGIN
v_errormsg := 'Fout bij bepalen default ID (sleutel)';
SELECT INS.nextdescription (rec.ins_srtdeel_code, NULL)
SELECT INS.GET_DESCRIPTION (
'LPN_INS_DEEL',
NULL,
UPPER (rec.ins_srtdeel_code))
INTO v_deel_oms
FROM ins_srtdeel
WHERE ins_srtdeel_key = v_srtdeel_key;
@@ -14831,27 +14830,27 @@ AS
v_omschrijving VARCHAR2 (4000);
v_opmerking VARCHAR2 (250);
v_btw_verlegd VARCHAR2 (255);
v_kenmerk1 VARCHAR2 (4000);
v_kenmerk2 VARCHAR2 (4000);
v_kenmerk3 VARCHAR2 (4000);
v_kenmerk4 VARCHAR2 (4000);
v_kenmerk5 VARCHAR2 (4000);
v_kenmerk6 VARCHAR2 (4000);
v_kenmerk7 VARCHAR2 (4000);
v_kenmerk8 VARCHAR2 (4000);
v_kenmerk9 VARCHAR2 (4000);
v_kenmerk10 VARCHAR2 (4000);
v_kenmerk11 VARCHAR2 (4000);
v_kenmerk12 VARCHAR2 (4000);
v_kenmerk13 VARCHAR2 (4000);
v_kenmerk14 VARCHAR2 (4000);
v_kenmerk15 VARCHAR2 (4000);
v_kenmerk16 VARCHAR2 (4000);
v_kenmerk17 VARCHAR2 (4000);
v_kenmerk18 VARCHAR2 (4000);
v_kenmerk19 VARCHAR2 (4000);
v_kenmerk20 VARCHAR2 (4000);
v_boekmaand VARCHAR2 (4000);
v_kenmerk1 VARCHAR2 (255);
v_kenmerk2 VARCHAR2 (255);
v_kenmerk3 VARCHAR2 (255);
v_kenmerk4 VARCHAR2 (255);
v_kenmerk5 VARCHAR2 (255);
v_kenmerk6 VARCHAR2 (255);
v_kenmerk7 VARCHAR2 (255);
v_kenmerk8 VARCHAR2 (255);
v_kenmerk9 VARCHAR2 (255);
v_kenmerk10 VARCHAR2 (255);
v_kenmerk11 VARCHAR2 (255);
v_kenmerk12 VARCHAR2 (255);
v_kenmerk13 VARCHAR2 (255);
v_kenmerk14 VARCHAR2 (255);
v_kenmerk15 VARCHAR2 (255);
v_kenmerk16 VARCHAR2 (255);
v_kenmerk17 VARCHAR2 (255);
v_kenmerk18 VARCHAR2 (255);
v_kenmerk19 VARCHAR2 (255);
v_kenmerk20 VARCHAR2 (255);
v_boekmaand VARCHAR2 (255);
v_artikelcode VARCHAR2(255);
v_factuurregelaantal NUMBER(8,2);
v_eenheid VARCHAR2(30);
@@ -15139,26 +15138,26 @@ BEGIN
SUBSTR (v_omschrijving, 1, 250),
SUBSTR (v_opmerking, 1, 250),
SUBSTR (v_btw_verlegd, 1, 3),
SUBSTR (v_kenmerk1, 1, 4000),
SUBSTR (v_kenmerk2, 1, 4000),
SUBSTR (v_kenmerk3, 1, 4000),
SUBSTR (v_kenmerk4, 1, 4000),
SUBSTR (v_kenmerk5, 1, 4000),
SUBSTR (v_kenmerk6, 1, 4000),
SUBSTR (v_kenmerk7, 1, 4000),
SUBSTR (v_kenmerk8, 1, 4000),
SUBSTR (v_kenmerk9, 1, 4000),
SUBSTR (v_kenmerk10, 1, 4000),
SUBSTR (v_kenmerk11, 1, 4000),
SUBSTR (v_kenmerk12, 1, 4000),
SUBSTR (v_kenmerk13, 1, 4000),
SUBSTR (v_kenmerk14, 1, 4000),
SUBSTR (v_kenmerk15, 1, 4000),
SUBSTR (v_kenmerk16, 1, 4000),
SUBSTR (v_kenmerk17, 1, 4000),
SUBSTR (v_kenmerk18, 1, 4000),
SUBSTR (v_kenmerk19, 1, 4000),
SUBSTR (v_kenmerk20, 1, 4000),
SUBSTR (v_kenmerk1, 1, 255),
SUBSTR (v_kenmerk2, 1, 255),
SUBSTR (v_kenmerk3, 1, 255),
SUBSTR (v_kenmerk4, 1, 255),
SUBSTR (v_kenmerk5, 1, 255),
SUBSTR (v_kenmerk6, 1, 255),
SUBSTR (v_kenmerk7, 1, 255),
SUBSTR (v_kenmerk8, 1, 255),
SUBSTR (v_kenmerk9, 1, 255),
SUBSTR (v_kenmerk10, 1, 255),
SUBSTR (v_kenmerk11, 1, 255),
SUBSTR (v_kenmerk12, 1, 255),
SUBSTR (v_kenmerk13, 1, 255),
SUBSTR (v_kenmerk14, 1, 255),
SUBSTR (v_kenmerk15, 1, 255),
SUBSTR (v_kenmerk16, 1, 255),
SUBSTR (v_kenmerk17, 1, 255),
SUBSTR (v_kenmerk18, 1, 255),
SUBSTR (v_kenmerk19, 1, 255),
SUBSTR (v_kenmerk20, 1, 255),
SUBSTR (v_boekmaand, 1, 7),
SUBSTR (v_artikelcode, 1, 30),
v_factuurregelaantal,

View File

@@ -64,11 +64,14 @@
p_disk_directory IN VARCHAR2,
p_filename IN VARCHAR2);
FUNCTION getflexexprtype (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2;
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
FUNCTION getflexexpression (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2;
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
FUNCTION getflexshowexpr (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2;
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
FUNCTION getdomeinwaarde (dkey IN NUMBER,
waarde IN VARCHAR2,
ignorewhenxmlnode IN NUMBER DEFAULT 0) RETURN VARCHAR2;
@@ -508,7 +511,8 @@
END;
FUNCTION getflexexprtype (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2
IS
l_module VARCHAR2 (3);
l_sql_expr VARCHAR2 (4500);
@@ -543,7 +547,8 @@
END;
FUNCTION getflexexpression (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2
IS
l_module VARCHAR2 (3);
l_sql_expr VARCHAR2 (4500);
@@ -569,7 +574,8 @@
END;
FUNCTION getflexshowexpr (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
p_kenmerk_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2
IS
l_module VARCHAR2 (3);
l_sql_expr VARCHAR2 (4500);
@@ -692,8 +698,8 @@
LOOP
l_cursor_exprval := DBMS_SQL.open_cursor;
-- Expressie opvragen.
l_exprtype := flx.getflexexprtype(pmodule, expr.fac_kenmwaarden_kenmerk_key);
l_expr := flx.getflexexpression(pmodule, expr.fac_kenmwaarden_kenmerk_key);
l_exprtype := flx.getflexexprtype(pmodule, expr.fac_kenmwaarden_kenmerk_key, expr.fac_kenmwaarden_niveau);
l_expr := flx.getflexexpression(pmodule, expr.fac_kenmwaarden_kenmerk_key, expr.fac_kenmwaarden_niveau);
IF l_exprtype IS NOT NULL AND l_expr IS NOT NULL
THEN
l_sql_exprval := 'SELECT ' || '(' || l_expr || ')' || ' FROM DUAL';
@@ -853,16 +859,11 @@
-- hierboven zijn ##EXPR## berekende kenmerken verwerkt
-- Nu nog eventuele ##SHOW## om voorwaardelijk zichtbaar te maken
l_expr := flx.getflexshowexpr(pmodule, expr.fac_kenmwaarden_kenmerk_key);
-- (JGL: kan dat eigenlijk niet samengenomen worden? Ik zie veel herhaling)
l_expr := flx.getflexshowexpr(pmodule, expr.fac_kenmwaarden_kenmerk_key, expr.fac_kenmwaarden_niveau);
IF l_expr IS NOT NULL
THEN
DBMS_OUTPUT.PUT_LINE('Berekenen show-expressie voor kenmerk ' || expr.fac_kenmwaarden_kenmerk_key);
l_sql_exprval := 'SELECT CASE'
|| ' WHEN NVL (TO_CHAR(' || l_expr || '), ''0'') = ''0'''
|| ' THEN 0' -- als l_expr NULL, 0 of '0' oplevert
|| ' ELSE 1' -- alle andere waarden
|| ' END showexpr'
|| ' FROM DUAL';
l_sql_exprval := 'SELECT ' || '(' || l_expr || ')' || ' FROM DUAL';
BEGIN
DBMS_SQL.parse (l_cursor_exprval, l_sql_exprval, DBMS_SQL.native);
EXCEPTION
@@ -874,7 +875,18 @@
|| CHR(10) || l_sql_exprval);
END;
--DBMS_SQL.describe_columns(l_cursor_exprval, l_colcnt, l_desctab);
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_num); -- onze expressie is altijd numeriek
IF expr.fac_kenmwaarden_kenmerktype = 'N'
THEN
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_num);
ELSIF expr.fac_kenmwaarden_kenmerktype = 'V'
THEN
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_num);
ELSIF expr.fac_kenmwaarden_kenmerktype = 'D'
THEN
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_date);
ELSE
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval, 4000);
END IF;
l_cntbind := REGEXP_COUNT (l_sql_exprval,
l_rflex,
1,
@@ -931,15 +943,69 @@
|| CHR(10) || SQLERRM
|| CHR(10) || l_sql_exprval);
END;
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_num);
UPDATE fac_kenmwaarden
SET fac_kenmwaarden_exprwaarde = TO_CHAR(l_exprval_num) -- '0' of '1'
WHERE fac_kenmwaarden_module = pmodule
AND fac_kenmwaarden_refkey = prefkey
AND fac_kenmwaarden_kenmerk_key = expr.fac_kenmwaarden_kenmerk_key
AND prs_perslid_key = puserkey
AND fac_kenmwaarden_isexpr = 1;
IF expr.fac_kenmwaarden_kenmerktype = 'N'
THEN
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_num);
l_exprval := TO_CHAR(l_exprval_num);
IF (l_exprval IS NOT NULL AND expr.fac_kenmwaarden_kenmerkdec > 0)
THEN
-- Voeg gewenst aantal decimalen toe
-- en een voorloop nul als het begint met een punt.
IF (INSTR(l_exprval,'.') = 0)
THEN
l_exprval := l_exprval || '.';
ELSIF (INSTR(l_exprval,'.') = 1)
THEN
l_exprval := '0' || l_exprval;
END IF;
l_exprval := l_exprval || RPAD('0', expr.fac_kenmwaarden_kenmerkdec, '0');
l_exprval := SUBSTR(l_exprval, 1, INSTR(l_exprval, '.') + expr.fac_kenmwaarden_kenmerkdec);
END IF;
ELSIF expr.fac_kenmwaarden_kenmerktype = 'V'
THEN
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_num);
l_exprval := TO_CHAR(l_exprval_num);
ELSIF expr.fac_kenmwaarden_kenmerktype = 'D'
THEN
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_date);
l_exprval := TO_CHAR(l_exprval_date, 'DD-MM-YYYY');
ELSE
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval);
END IF;
IF l_kcolumnname_niveau IS NOT NULL
THEN
IF psavetodb = 1 AND l_exprval IS NOT NULL AND l_exprval <> '0'
THEN
-- Waarde opslaan in de database
flx.setflex (l_module, expr.fac_kenmwaarden_kenmerk_key, prefkey, expr.fac_kenmwaarden_niveau, expr.fac_kenmwaarden_waarde);
END IF;
-- Waarde van de expressie flexkenmerk in de tijdelijke kenmerk waarden tabel (fac_kenmwaarden) vullen met de nieuwe waarde.
-- Expressie flexkenmerken die afhankelijke zijn van andere expressie flexkenmerken worden dan ook goed berekend.
UPDATE fac_kenmwaarden
SET fac_kenmwaarden_exprwaarde = l_exprval
WHERE fac_kenmwaarden_module = pmodule
AND fac_kenmwaarden_refkey = prefkey
AND fac_kenmwaarden_kenmerk_key = expr.fac_kenmwaarden_kenmerk_key
AND fac_kenmwaarden_niveau = expr.fac_kenmwaarden_niveau
AND prs_perslid_key = puserkey
AND fac_kenmwaarden_isexpr = 1;
ELSE
IF psavetodb = 1 AND l_exprval IS NOT NULL AND l_exprval <> '0'
THEN
-- Waarde opslaan in de database
flx.setflex (l_module, expr.fac_kenmwaarden_kenmerk_key, prefkey, expr.fac_kenmwaarden_waarde);
END IF;
-- Waarde van de expressie flexkenmerk in de tijdelijke kenmerk waarden tabel (fac_kenmwaarden) vullen met de nieuwe waarde.
-- Expressie flexkenmerken die afhankelijke zijn van andere expressie flexkenmerken worden dan ook goed berekend.
UPDATE fac_kenmwaarden
SET fac_kenmwaarden_exprwaarde = l_exprval
WHERE fac_kenmwaarden_module = pmodule
AND fac_kenmwaarden_refkey = prefkey
AND fac_kenmwaarden_kenmerk_key = expr.fac_kenmwaarden_kenmerk_key
AND prs_perslid_key = puserkey
AND fac_kenmwaarden_niveau IS NULL
AND fac_kenmwaarden_isexpr = 1;
END IF;
END IF;
DBMS_SQL.close_cursor(l_cursor_exprval);
END LOOP;

View File

@@ -196,31 +196,26 @@ AS
-- Oracle variant van de ASP-L functie
-- Geef pautolcl=1 mee als je niet zeker weet of het een lcl is
-- Geeft de lcl zelf retour als deze niet gedefinieerd is (beter dan nodatafound)
FUNCTION l (pnaam IN VARCHAR2, pautolcl IN NUMBER DEFAULT 0)
RETURN VARCHAR2
FUNCTION L (pnaam IN VARCHAR2, pautolcl IN NUMBER DEFAULT 0)
RETURN VARCHAR2
AS
retval fac_locale_xsl.fac_locale_xsl_tekst%TYPE;
retval fac_locale_xsl.fac_locale_xsl_tekst%TYPE;
BEGIN
-- Voor lcl_noti_* maar verder generiek
IF pautolcl = 1 AND pnaam NOT LIKE 'lcl_%'
THEN
RETURN pnaam;
END IF;
BEGIN
SELECT COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst)
INTO retval
FROM fac_locale_xsl
WHERE fac_locale_xsl_lang = lcl.getuserlanguage ()
AND fac_locale_xsl_label = pnaam
AND fac_locale_xsl_module = 'ASP';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
retval := pnaam;
END;
RETURN retval;
-- Voor lcl_noti_* maar verder generiek
IF pautolcl = 1 AND pnaam NOT LIKE 'lcl_%' THEN
RETURN pnaam;
END IF;
SELECT COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst)
INTO retval
FROM fac_locale_xsl
WHERE fac_locale_xsl_lang = lcl.getuserlanguage ()
AND fac_locale_xsl_label = pnaam
AND fac_locale_xsl_module = 'ASP';
RETURN retval;
END;
PROCEDURE fallback_languages
AS
BEGIN

View File

@@ -1048,80 +1048,45 @@ AS
END IF;
END;
PROCEDURE create_fac_tracking_node (pxmlnodename IN VARCHAR2,
p_refkey IN NUMBER,
p_tracking_key IN NUMBER DEFAULT NULL)
PROCEDURE create_fac_tracking_node (pxmlnodename IN VARCHAR2,
p_refkey IN NUMBER)
AS
l_tracking_datum fac_tracking.fac_tracking_datum%TYPE;
l_tracking_oms fac_tracking.fac_tracking_oms%TYPE;
l_perslid_key fac_tracking.prs_perslid_key%TYPE;
l_srtnotificatie_code fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
CURSOR c1
IS
SELECT t.fac_tracking_datum,
t.fac_tracking_oms,
t.prs_perslid_key,
st.fac_srtnotificatie_code
FROM fac_tracking t, fac_srtnotificatie st
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND st.fac_srtnotificatie_xmlnode = pxmlnodename
AND t.fac_tracking_refkey = p_refkey
ORDER BY fac_tracking_datum;
CURSOR c1
IS
SELECT t.fac_tracking_datum,
t.fac_tracking_oms,
t.prs_perslid_key,
st.fac_srtnotificatie_code
FROM fac_tracking t, fac_srtnotificatie st
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND st.fac_srtnotificatie_xmlnode = pxmlnodename
AND t.fac_tracking_refkey = p_refkey
ORDER BY fac_tracking_datum;
BEGIN
-- Two modes: specific tracking_key given (1 record) or node/refkey given (cursor)
-- Could be defined by overloading create_fac_tracking_node function, chose not to
IF p_tracking_key IS NOT NULL
THEN
-- intentionally left out here: createopentag ('tracking');
SELECT t.fac_tracking_datum,
t.fac_tracking_oms,
t.prs_perslid_key,
st.fac_srtnotificatie_code
INTO l_tracking_datum,
l_tracking_oms,
l_perslid_key,
l_srtnotificatie_code
FROM fac_tracking t, fac_srtnotificatie st
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND t.fac_tracking_key = p_tracking_key
ORDER BY fac_tracking_datum;
createopentagattributes ('track',
'code',
l_srtnotificatie_code,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL);
mydatetochar ('datum', l_tracking_datum);
create_prs_perslid_node (l_perslid_key, 'user', TRUE);
createxmltagvalue ('code', l_srtnotificatie_code);
createxmltagvalue ('omschrijving', l_tracking_oms);
createclosetag ('track');
-- intentionally left out here: createclosetag ('tracking');
ELSIF p_refkey IS NOT NULL
THEN
createopentag ('tracking');
FOR rec1 IN c1
LOOP
createopentagattributes ('track',
'code',
rec1.fac_srtnotificatie_code,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL);
mydatetochar ('datum', rec1.fac_tracking_datum);
create_prs_perslid_node (rec1.prs_perslid_key, 'user', TRUE);
createxmltagvalue ('code', rec1.fac_srtnotificatie_code);
createxmltagvalue ('omschrijving', rec1.fac_tracking_oms);
createclosetag ('track');
END LOOP;
createclosetag ('tracking');
END IF;
IF p_refkey IS NOT NULL
THEN
createopentag ('tracking');
FOR rec1 IN c1
LOOP
createopentagattributes ('track',
'code',
rec1.fac_srtnotificatie_code,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL);
mydatetochar ('datum', rec1.fac_tracking_datum);
create_prs_perslid_node (rec1.prs_perslid_key, 'user', TRUE);
createxmltagvalue ('code', rec1.fac_srtnotificatie_code);
createxmltagvalue ('omschrijving', rec1.fac_tracking_oms);
createclosetag ('track');
END LOOP;
createclosetag ('tracking');
END IF;
END;
PROCEDURE create_fac_activiteit_node (p_key IN NUMBER)
@@ -4467,8 +4432,7 @@ AS
mld_melding_note_omschrijving,
mld_melding_note_flag,
mld_melding_note_wijzigdatum,
fac_note_group_key,
fac_tracking_key
fac_note_group_key
FROM mld_melding_note
WHERE mld_melding_key = p_key
ORDER BY mld_melding_note_key;
@@ -4489,7 +4453,6 @@ AS
rec1.mld_melding_note_omschrijving);
create_prs_perslid_node (rec1.prs_perslid_key, 'noteur', TRUE);
create_fac_note_group_node(rec1.fac_note_group_key);
create_fac_tracking_node (NULL, NULL, rec1.fac_tracking_key);
createclosetag ('note');
END LOOP;
@@ -4594,8 +4557,7 @@ AS
mld_opdr_note_flag,
mld_opdr_note_omschrijving,
mld_opdr_note_wijzigdatum,
fac_note_group_key,
fac_tracking_key
fac_note_group_key
FROM mld_opdr_note
WHERE mld_opdr_key = p_key
ORDER BY mld_opdr_note_key;
@@ -4615,7 +4577,6 @@ AS
rec1.mld_opdr_note_omschrijving);
create_prs_perslid_node (rec1.prs_perslid_key, 'noteur', TRUE);
create_fac_note_group_node(rec1.fac_note_group_key);
create_fac_tracking_node (NULL, NULL, rec1.fac_tracking_key);
createclosetag ('note');
END LOOP;
createclosetag ('notes');
@@ -7104,8 +7065,6 @@ AS
v_sensortype ins_srtdeel.ins_srtdeel_sensortype%TYPE;
v_acad_dwgx ins_srtdeel.ins_srtdeel_acadsymbol_dwgx%TYPE;
v_acad_dwgy ins_srtdeel.ins_srtdeel_acadsymbol_dwgy%TYPE;
v_statethreshold ins_srtdeel.ins_srtdeel_statethreshold%TYPE;
BEGIN
IF p_concise
THEN
@@ -7159,8 +7118,7 @@ AS
ins_srtdeel_externsyncdate,
ins_srtdeel_sensortype,
ins_srtdeel_acadsymbol_dwgx,
ins_srtdeel_acadsymbol_dwgy,
ins_srtdeel_statethreshold
ins_srtdeel_acadsymbol_dwgy
INTO v_groep_key,
v_omschrijving,
v_code,
@@ -7181,8 +7139,7 @@ AS
v_externsyncdate,
v_sensortype,
v_acad_dwgx,
v_acad_dwgy,
v_statethreshold
v_acad_dwgy
FROM ins_srtdeel
WHERE ins_srtdeel_key = p_key;
@@ -7209,7 +7166,6 @@ AS
createxmltagvalue ('externnr', v_externnr);
mydatetochar ('externsyncdate', v_externsyncdate);
createxmltagvalue ('sensortype', v_sensortype);
createxmltagvalue ('statethreshold', v_statethreshold);
createxmltagvalue ('dwgx', v_acad_dwgx);
createxmltagvalue ('dwgy', v_acad_dwgy);
-- He, kenmerken ook bij concise? Ja!

View File

@@ -77,7 +77,6 @@ DEFINE_SETTING('CAD', 0001, 'WEB_FACTAB', 'fg_syncruimteview'
DEFINE_SETTING('CAD', 0001, 'WEB_FACTAB', 'fg_syncterreinview' , 'string' , 'cad_v_sync_alg_terrein' , NULL)
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_move_origin' , 'number' , '0' , 'Move all dwf to logical (0,0) to prevent overflow')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_minmergedistance' , 'number' , '-1' , 'Distance (mm) allowed when merging ARC''s into contours')
DEFINE_SETTING('CAD', 0001, 'WEB_FACTAB', 'fg_slnkdwf_flags' , 'number' , '0' , 'Flags for SLNKDWF')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'MaxDownloadSize' , 'number' , '-1' , 'Should match IIS Metabase AspBufferingLimit for download warning (Future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'alg_loc_string' , 'string' , ' l.alg_locatie_omschrijving || '' ('' || l.alg_locatie_code || '')'' ' , 'Presentation of location while selecting')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'alg_geb_string' , 'string' , ' g.alg_gebouw_code ||'' ''||g.alg_gebouw_naam ' , 'Presentation of building while selecting')
@@ -129,7 +128,7 @@ DEFINE_SETTING('PHB', 0001, 'WEB_FACFAC', 'phone_usrrap_key'
DEFINE_SETTING('PHB', 0001, 'WEB_FACFAC', 'prs_plaats_key' , 'number' , '-1' , 'PRS_KENMERK_KEY of property location, if -1, the workplace is used for the location')
DEFINE_SETTING('PRJ', 0001, 'WEB_FACTAB', 'fg_prj_syncruimteview' , 'string' , 'cad_v_sync_prj_ruimte' , NULL)
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_contactpers_string' , 'string' , 'cp.prs_contactpersoon_naam || NVL2(cp.prs_contactpersoon_voorletters, '', '' || cp.prs_contactpersoon_voorletters, '''')|| NVL2(cp.prs_contactpersoon_tussenv, '' '' || cp.prs_contactpersoon_tussenv, '''')|| NVL2(cp.prs_contactpersoon_voornaam, '' ('' || cp.prs_contactpersoon_voornaam || '')'', '''')', NULL)
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_dep_string' , 'string' , 'd.prs_afdeling_naam' , 'Define how to identify a department {d.prs_afdeling_naam[1-6], d.prs_afdeling_omschrijving}')
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_dep_string' , 'string' , 'd.prs_afdeling_naam' , NULL)
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_kpn_string' , 'string' , ' NVL2(k.prs_kostenplaats_nr, prs_kostenplaats_nr || '' ''|| lcl.x(''prs_kostenplaats_omschrijving'', k.prs_kostenplaats_key, k.prs_kostenplaats_omschrijving), '''')', NULL)
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_pers_string' , 'string' , ' p.prs_perslid_naam|| NVL2( p.prs_perslid_voorletters, '', '' || p.prs_perslid_voorletters, '''')|| NVL2( p.prs_perslid_tussenvoegsel, '' '' || p.prs_perslid_tussenvoegsel, '''')|| NVL2( p.prs_perslid_voornaam, '' ('' || p.prs_perslid_voornaam || '')'', '''')', NULL)
DEFINE_SETTING('RES', 0001, 'WEB_FACFAC', 'res_remoteurl_refuse' , 'string' , '' , 'Regexp, do not jump to these remote url (future use)')
@@ -169,6 +168,7 @@ DEFINE_SETTING('CNT', 0001, 'WEB_FACTAB', 'cntd_image_path'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'NotifyMessageInterval' , 'number' , '0' , 'time (seconds) between NotifyMessage.asp [=Check for popups] refreshes. 0=disable')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'PerformInterval' , 'number' , '0' , 'time (seconds) between shared/performancetester.asp refreshes 0=disable')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'allow_framed_facilitor' , 'boolean' , 'false' , 'Is it allowed to use Facilitor in an (i)frame?')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'allowedImgRegex' , 'string' , '^((http|https):\/\/)' , '[DEPRECATED] Allowed url-regex in between [img][/img]-tags')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'allowedLinkRegex' , 'string' , '^((ftp|http|https):\/\/|(mailto|tel):)' , 'Allowed link-regex in between [link][/link]-tags')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'auto_https' , 'number' , '3' , '0=not https, 1=http redirects to https, (3=also all cookies ;Secure)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_html_strictness' , 'number' , '0' , '0=allow html in message, res-room description, flex-labels, 1=do not allow (strict, more secure)')
@@ -210,7 +210,6 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'kto_srtdiscipline_key'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'logcenter_url' , 'string' , 'https://logcentre.facilitor.nl/?SSO=CUSTOMER', 'Logcenter url')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'menu_image_path' , 'string' , NULL , 'relative! path to folder storing menu pictures and files')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'mobile_imageportal' , 'boolean' , 'true' , 'Use the fancy mobile icon portal (true) or text portal (false)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_favorite_menu_items' , 'number' , '3' , 'This is how many of the favorite menuitems are shown on the mobile portal')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_password_exp' , 'number' , '15' , 'time to enter the login code received on the mobile in minutes.')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'os_logon' , 'boolean' , 'false' , 'enable NT domain logon {true | false}')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'os_logon_exclude' , 'array' , '' , 'Disable NT domain logon, for example "HTTP_VIA,HTTP_REVERSE_VIA,HTTP_X_BLUECOAT_VIA"')
@@ -233,12 +232,12 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'self_register_email_whitelist'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'self_register_expire' , 'number' , '60' , 'Minutes to respond to confirmation e-mail ( default 60 )')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'self_register_groep_keys' , 'array' , '' , 'Custom fac_groep options for the self_registerscreen, 1 option: auto pick that one, 2+ gives a dropdown menu')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'self_register_srtperslid_key' , 'number' , '-1' , 'Default srtperslid key')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'sys_ip_lockmode' , 'number' , '0' , 'Automatic logoff on ip-change (0 disable)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'sys_ip_lockmode' , 'number' , '1' , 'Automatic logoff on ip-change (0 disable)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'sys_ip_restrict' , 'string' , '' , 'Regexp ip-restriction')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'use_capacity_planning' , 'number' , '0' , 'De inzetbaarheid van personen en uitvoerbaarheid bij opdrachten kan worden aangegeven (0=nee {default}, 1=ja)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'view_dwf_with_slnkdwf' , 'boolean' , 'false' , 'View DWF document files using SLNKDWF')
DEFINE_SETTING('WGT', 0001, 'WEB_FACTAB', 'wgt_enabled' , 'number' , '1' , 'DEPRECATED Is the widget module available {0 | 1}, now part of UDR')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'widgetportal' , 'number' , '0' , 'Key of widgetpage to use as startpage (key) or the standard page (0)')
DEFINE_SETTING('WGT', 0001, 'WEB_FACTAB', 'wgt_enabled' , 'number' , '0' , 'Is the widget module available {0 | 1} licensed separately')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'widgetportal' , 'number' , '0' , 'Use a widgetpage with this key as startpage (key) or the standard page (0)')
DEFINE_SETTING('FAQ', 0001, 'WEB_FACTAB', 'faq_enabled' , 'number' , '0' , 'Is kennisbank available {0 | 1} licensed separately')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_defaultboekmaand' , 'number' , '1' , 'How to determine default "boekmaand" for entered invoice with an order: 1=sysdate, 2=orderdate, 3=enddate')
DEFINE_SETTING('FIN', 0001, 'WEB_PRSSYS', 'fin_defaultboekmaand_cnt' , 'number' , '1' , 'How to determine default "boekmaand" for entered invoice with a contract: 1=sysdate, 2=invoicedate')
@@ -277,7 +276,7 @@ DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_collegas_groep'
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_dep_all' , 'boolean' , 'false' , 'allow attaching persons on all department level { true | false }')
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_max_dep_level' , 'number' , '2' , 'number of levels between prs_bedijf and prs_perslid (max = 5)')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_mgt_edit_login' , 'boolean' , 'false' , 'WEB_FACMGT may change login')
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_werkplek_implicit' , 'number' , '1' , 'Are workplaces treated as separate entitities (0) or implicitly/invisible used in person-room relations(1)')
DEFINE_SETTING('PRS', 0001, 'WEB_FACTAB', 'prs_werkplek_implicit' , 'number' , '0' , 'Are workplaces treated as separate entitities (0) or implicitly/invisible used in person-room relations(1)')
DEFINE_SETTING('RES', 0001, 'WEB_FACTAB', 'res_image_path' , 'string' , NULL , 'path to folder storing res_ruimte pictures')
DEFINE_SETTING('RES', 0001, 'WEB_FACTAB', 'resd_image_path' , 'string' , NULL , 'path to folder storing res discipline pictures')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'max_report_zip_uncompressed' , 'number' , '250' , 'Maximum uncompressed size (MB) for zipping attachments by UDR report')
@@ -370,7 +369,7 @@ DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_hilitesymbolfillcolor'
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_ininslabelSize' , 'number' , '250' , 'Default labelsize for objects inside (mm)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_inlabelsize' , 'number' , '800' , 'Default labelsize for rooms inside (mm)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_inwplabelsize' , 'number' , '400' , 'Default labelsize for worplaces inside (mm)')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_ins_symbols' , 'boolean' , 'true' , 'Show objects as symbols on floorplans')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_ins_symbols' , 'boolean' , 'false' , 'Use objects as symbols on floorplans')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_labelposition' , 'number' , '1' , 'Labelposition of roomlabels 1=original, 2=center, 3=topleft')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_labellayers' , 'string' , '{CONT!.}|{CONT\|.*}' , 'Regexp for contourlabellayernames default areas')
DEFINE_SETTING('CAD', 0001, 'WEB_PRSSYS', 'fg_labellayers_alt1' , 'string' , '' , 'Regexp for contourlabellayernames alternative areas 1')
@@ -405,14 +404,12 @@ DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_rappel_abonnement'
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_scopeverdeling' , 'number' , '0' , '0|1, cost distribution by scope weights 0=relative weight, 1=absolute amount')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_with_mld' , 'number' , '0' , 'Contract kan meldingen hebben {0=Nee (default) | 1=Ja}')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum CNT photo size. Ex: r200x150')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cntuse_can_edit_datum' , 'boolean' , 'false' , 'Can cntuse edit contract date(s) or not')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cntuse_can_edit_datum' , 'boolean' , 'false' , 'can cntuse edit datum')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_grace_period' , 'number' , '30' , 'Show contract this number of days after end of contract')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'ProxyServerIPAddress' , 'string' , NULL , 'For webserver to reach outside world')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'interface_toggles' , 'number' , '1' , 'To keep track of the interface that is being used')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'ReplyAddress' , 'string' , '' , 'ReplyTo Address when e-mailing manually')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'anonymize_period' , 'number' , '365' , 'Period before data will be [GDPR] anonymized (days)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'anonymize_mode' , 'number' , '13' , 'Data that will be [GDPR] anonymized (0=nothing, 1=tracking,2=notes,4=flexproperties,8=descriptions)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'datapurge_period' , 'number' , '99' , 'Period (years) to keep dynamic data stored in database. Older data wil be permanently purged')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'anonymize_period' , 'number' , '365' , 'Period before data wil be [GDPR] anonymized (days)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'aut_login_strip_domain' , 'number' , '1' , 'Strip AD domain from login name { 0=no, 1=yes (default) } (Future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'auth_edit_advanced' , 'boolean' , 'false' , 'Start autorisation popup dialog in advanced mode')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'buttons_in_hamburger' , 'array' , 'fa-print,fa-envelope,fa-table,fa-fclt-refresh,fa-columns,fa-share-square', 'Hide these frameheader buttons behind a hamburger.')
@@ -430,7 +427,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_favicon_folder'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_hide_fields' , 'string' , '' , 'Hide fields in the interface (future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_firstlogin_expire' , 'number' , '14' , 'Remove firstlogin_url automatically after nn days')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_firstlogin_url' , 'string' , 'appl/fac/welcome.asp' , 'Url to show upon first login of user')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_gui_counter_menu_daily' , 'number' , '1' , 'Compress menu usage count {0=don''t, 1=per user per day(favorites), 2=per day}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_gui_counter_menu_daily' , 'boolean' , 'true' , 'Compress menu usage count to anonymous daily or personal count')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_like_bad' , 'number' , '2' , 'Rating for bad service')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_like_excellent' , 'number' , '10' , 'Rating for excellent service')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_like_good' , 'number' , '8' , 'Rating for good service')
@@ -441,20 +438,18 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_mld_deeplike_expire'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_phone_protocol' , 'string' , 'callto' , 'Desktop protocol to use for phone links')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_res_deeplike_expire' , 'number' , '0' , 'Number of days reservation deeplike bookmark is valid (default 0 is disabled) future use')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_usrrap_keepfilter' , 'number' , '1' , 'User reports remember filters globally. 1=Remember 0=Do not remember')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilities_flike_past' , 'number' , '7' , 'Number of days in the past to show my facilities for rating')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture' , 'number' , '365' , 'Number of days in the future to show my facilities (Lopende Zaken)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_mld' , 'number' , '31' , 'DEPRECATED Number of days in the future to show my facilities for calls')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_bes' , 'number' , '31' , 'DEPRECATED Number of days in the future to show my facilities for orders')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_bez' , 'number' , '31' , 'DEPRECATED Number of days in the future to show my facilities for visitors')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_res' , 'number' , '31' , 'DEPRECATED Number of days in the future to show my facilities for reservations')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_bez' , 'number' , '2' , 'Number of days in the past to show my facilities for visitors')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_bes' , 'number' , '2' , 'Number of days in the past to show my facilities for orders')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_ins' , 'number' , '2' , 'Number of days in the past to show my facilities for lent objects')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_mld' , 'number' , '2' , 'Number of days in the past to show my facilities for calls')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_res' , 'number' , '2' , 'Number of days in the past to show my facilities for reservations')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilities_flike_past' , 'number' , '7' , 'Number of days in the past to show (my) facilities for rating')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_mld' , 'number' , '31' , 'Number of days in the future to show (my) facilities for calls')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_bes' , 'number' , '31' , 'Number of days in the future to show (my) facilities for orders')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_bez' , 'number' , '31' , 'Number of days in the future to show (my) facilities for visitors')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiesfuture_res' , 'number' , '31' , 'Number of days in the future to show (my) facilities for reservations')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_bez' , 'number' , '2' , 'Number of days in the past to show (my) facilities for visitors')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_bes' , 'number' , '2' , 'Number of days in the past to show (my) facilities for orders')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_mld' , 'number' , '10' , 'Number of days in the past to show (my) facilities for calls')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'facilitiespast_res' , 'number' , '2' , 'Number of days in the past to show (my) facilities for reservations')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'favorites_on_portal_menu' , 'number' , '1' , 'Display pinned favorites on the -desktop- portal menu { 0=no, 1=yes (default) } ')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flexExtensionFilter' , 'string' , NULL , 'All files can be uploaded. "PDF DOC TIFF XLS" would filter')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flexFilesOrdering' , 'number' , '0' , 'Ordering for list of flexfiledates {0=ascending | 1=descending}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flexFilesOrdering' , 'number' , '0' , 'Ordering for list of flexfilenames {0=ascending | 1=descending}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'helppage_url' , 'string' , 'https://help.facilitor.nl/fac_wrapper.php', 'Helppage')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'iconcolumns' , 'number' , '6' , 'number of columns in an iconmenu page.')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'inline_actions_hamburger' , 'number' , '0' , 'Use a hamburger-icon to view the inline actions {0=No | 1=Yes, onClick | 2=Yes, onMouseOver}')
@@ -467,7 +462,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'max_tracking_length'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_collapse_threshold' , 'number' , '5' , 'Max number menugroups in a tab before we will collapse')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum MENU photo size. Ex: r200x150')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_start_open' , 'boolean' , 'true' , 'Menu is open by default')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_tab_toggles_portalmenu' , 'number' , '0' , 'Also activate corresponding portal_menu in body (1) or not (0)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_tab_toggles_portalmenu' , 'number' , '1' , 'Also activate corresponding portal_menu in body (1) or not (0)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'menu_use_menuicons' , 'number' , '1' , 'Use the images of the portalmenu in the regular menu as well (1) or do not (0)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_alg_filterlevel' , 'string' , '' , 'Level to use for mobile filtering: A(Alles), D(District), L(ocatie), G(ebouw) of V(erdieping)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_alg_level' , 'string' , 'G' , 'Level to use for mobile scoping: L(ocatie), G(ebouw) of V(erdieping)')
@@ -487,7 +482,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'prodsearch_rank'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'progress_notification_for' , 'boolean' , 'false' , 'Send progress notification to [false=prs_perslid_key | true=prs_perslid_key_voor]')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'prs_bulk_mail_max' , 'number' , '0' , 'Maximum number of persons to be mailed')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'prs_einddatum_login_grace' , 'number' , '-1' , 'Disallow login after prs_einddatum. (-1=disabled, >=0 disallow after einddatum+nnn days')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'prs_password_expiration' , 'number' , '-1' , 'Password expire days {-1 = does not expire}, existing password will not expire autmatically after adjusting this')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'prs_password_expiration' , 'number' , '-1' , 'Password expire days {-1 = does not expire}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'prs_password_fail_limit' , 'number' , '999' , 'Lockout after many password failures (Future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'prs_password_validation' , 'string' , '.{8,}' , 'At least 8 characters')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'prs_password_validation_mode' , 'number' , '255' , 'Password validation +1=+prs_password_validation regexp, +2=wordlist, +4=charsets')
@@ -518,8 +513,6 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_gauge_colors'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_pie_colors' , 'string' , '[''#003478'',''#6685ae'',''#e37b00'',''#0b94f9'',''#81ce58'',''#f3d736'',''#acaa65'',''#a222c4'',''#5b9bc3'',''#1c40eb'',''#037011'',''#d192e7'',''#f88625'',''#93b89f'',''#bf6b87'',''#a2b41a'',''#f76979'',''#f41181'',''#73eb59'',''#32d1d0'',''#a00bed'',''#66fe6b'',''#b94d5b'']' , 'Colors being used for pie charts (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'use_wildcard_with_suggests' , 'number' , '2' , 'Use wildcards for all sugest fields (0=no wildcard, 1=text*, 2=*text*)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'usrrap_refreshrate' , 'number' , '60' , 'time between auto refresh of selected usrraps (seconds)')
DEFINE_SETTING('MSG', 0001, 'WEB_PRSSYS', 'msg_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum MSG photo size. Ex: r200x150')
DEFINE_SETTING('MSG', 0001, 'WEB_PRSSYS', 'msg_max_history' , 'number' , '30' , 'Show messages no longer than msg_max_history days ago')
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_kennisbank_popup' , 'number' , '3' , 'Show kennisbank popup {0=no | 01=1=FE | 10=2=FO | 11=3=FE+FO}')
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_max_results' , 'number' , '25' , 'Limit the FAQ results to this number')
DEFINE_SETTING('FAQ', 0001, 'WEB_PRSSYS', 'faq_max_results_mld' , 'number' , '0' , 'Initial number of faq items when editing an issue. 0 = show all.')
@@ -556,9 +549,8 @@ DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_xcp_active_cost'
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_srtdeelsuggest_info' , 'number' , '1' , 'Show parent info of Object type in Suggest: 1=group, 2=discipline, 3=both')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_state_history' , 'number' , '30' , 'Number of days to keep ins_deel_state_history records')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_deel_flags' , 'number' , '0' , 'Number of flags that can be defined on objects. Max 10')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_nr_separator' , 'string' , '' , 'Separator between prefix and number for ranges of objectcodes that are numbered automatically')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_freeze_year' , 'number' , '2023' , 'Frozen (approved/activated) year of Preventive Maintenance (MJOB)')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_inflation' , 'float' , '0' , 'Default annual inflation rate (%) for Preventive Maintenance (MJOB)')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_inflation' , 'float' , '1' , 'Default annual inflation rate (%) for Preventive Maintenance (MJOB)')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_operation_external' , 'number' , '0' , 'Operational handling of Preventive Maintenance (MJOB) tasks {0=internal | 1=external}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_show_years' , 'number' , '5' , 'Default number of years to be shown in the Preventive Maintenance (MJOB) console')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_start_year' , 'number' , '2023' , 'Start/First year of freezing of Preventive Maintenance (MJOB)')
@@ -566,10 +558,10 @@ DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_enable_moveup'
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_approvedmelding_description' , 'number' , '1' , 'Subject for MJOB generated ticket {1=object type (default), 2=task description, 3=task description (object type). }')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_total_add_pct1' , 'float' , '0' , 'Fixed percentage of column total to add #1 (0=None, <percentage>=percentage')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_total_add_pct2' , 'float' , '0' , 'Fixed percentage of column total to add #2 (0=None, <percentage>=percentage')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'cnt_autolink_regexp' , 'string' , '(?:((?:contract)\s+)([\w-/]*))', 'Automatically turn CNT-references in texts into clickable links eg. (?:((?:contract)\s+)([\w-/]*))')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'cnt_autolink_regexp' , 'string' , '(?:((?:contract\s?)|(?:C\s?))(\d+))|((?:contract#\s?|(?:C#\s?))(([a-z]|[0-9])+))', 'Automatically turn CNT-references in texts into clickable links eg. (?:((?:contract\s?)|(?:C\s?))(\d+))|((?:contract#\s?|(?:C#\s?))(([a-z]|[0-9])+))')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'faq_autolink_regexp' , 'string' , '(?:(?:FAQ\s?)|(?:\WKB\s?))(\d+)', 'Automatically turn FAQ-references in texts into clickable links eg. (?:(?:FAQ\s?)|(?:KB\s?))(\d+) gives valid links for FAQ981, FAQ 981, KB981 and KB 981')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'fac_flags_visible_for_fe' , 'number' , '1' , 'An FE-user may see the flag-status of calls, reservations etc {0=No | 1=Yes(default)}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_accept_confirm' , 'boolean' , 'true' , 'bij accepteren melding direct afhandelingsveld in kunnen vullen')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_accept_confirm' , 'boolean' , 'false' , 'bij accepteren melding direct afhandelingsveld invullen')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'pda_melding_quick_note' , 'number' , '1' , 'Snelle notitie mogelijkheid bij het aanpassen van een melding binnen de mobile omgeving (0=geen quicknote mogelijk | 1=wel een quicknote mogelijk)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'pda_order_quick_note' , 'number' , '1' , 'Snelle notitie mogelijkheid bij het aanpassen van een opdracht binnen de mobile omgeving (0=geen quicknote mogelijk | 1=wel een quicknote mogelijk)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_add_mldopmerk_on_opdrclose' , 'number' , '0' , 'Automatically copy remark from order to call when supplier close last order {1=Yes | 0=No}')
@@ -582,7 +574,7 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_allow_for_others'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_allow_parentmelding' , 'number' , '0' , 'Allow attaching a call to another manually (0=not | 1=allow without orders | 2=allow with closed orders')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_archive_by_gui' , 'boolean' , 'false' , 'Can a call be archived by a button (true) or just by export (false)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ask_for_orders' , 'boolean' , 'true' , 'ask for immediate order input after call entry { true | false }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_autolink_regexp' , 'string' , '(?:(?:melding [A-Z]*)|(?:[A-Z \,]+\#[A-Z]*))(\d+)', 'Automatically turn MLD-references in texts into clickable links eg. (?:(?:melding [A-Z]*)|(?:[A-Z\,\n]+\#[A-Z]*))(\d+)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_autolink_regexp' , 'string' , '(?:(?:melding [A-Z]*)|(?:[A-Z \,\n]+\#[A-Z]*))(\d+)', 'Automatically turn MLD-references in texts into clickable links eg. (?:(?:melding [A-Z]*)|(?:[A-Z \,\n]+\#[A-Z]*))(\d+)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_behandelteam_canclose' , 'number' , '1' , 'Close authorization depending on (0=discipline | 1=discipline en treatment team (default))')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_bo_sort_descending' , 'number' , '0' , 'Sort ordering of mld_melding for BO (0 = most urgent first | 1 = last made first | 2 = most recent activity first)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_can_change_prio_and_place_while_issued', 'boolean' , 'false' , 'Allow to change [prio] and [place] while issue is issued')
@@ -591,7 +583,7 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_clear_on_close'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_close_noti_default_off' , 'number' , '0' , 'Checkbox [melder notificeren] at cancel is default off (0=no interference, 1=default off)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_close_opdr_default' , 'number' , '0' , 'De checkbox met de vraag of de open opdrachten ook afgemeld moeten worden is standaard niet(0=default) of wel(1) aangevinkt')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_close_ctr_default' , 'number' , '0' , 'De checkbox met de vraag of de open inspecties ook afgemeld moeten worden is standaard niet(0=default) of wel(1) aangevinkt')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_continue_edit_issuer' , 'boolean' , 'false' , '[DEPRECATED] Edit the issuer false= (default) of a continued complain')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_continue_edit_issuer' , 'boolean' , 'false' , 'Edit the issuer false= (default) of a continued complain')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_copy_objects_in_workflow' , 'number' , '0' , 'Copy object-references to the next step in workflow (0=do not copy | 1=copy)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_disable_continuation' , 'boolean' , 'false' , 'Disable creating continuation calls { false | true }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_edit_layout' , 'number' , '0' , '[DEPRECATED] Layout of mld edit screen {0=stdmelding first (default)| 1=place first}')
@@ -655,7 +647,7 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_change_type'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_flexsummary' , 'number' , '1' , 'User summary of melding-flexprop in initial order description {0=no | 1=yes | 2=by property}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_show_kostenplaats' , 'number' , '1' , 'show kostenplaats field for orders {0=don''t show | 1=editable | 2=show}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_show_ordernr' , 'number' , '0' , 'show ordernr field for orders {0=don''t show(&use mld_melding_ordernr) | 1=show}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_order_autoprint' , 'number' , '3' , 'When to autoprint orders {0=print new order for extern and intern | 1=print with any save | 2=print new order for extern | 3=never print}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_order_autoprint' , 'number' , '1' , 'When to autoprint orders {0=print only at insert for extern and intern | 1=print with any save | 2=print only at insert for extern | 3=never print}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_orderlist_columns_compact' , 'number' , '34052' , 'Bitwise coding of columns to show (when relevant) in compact orders list')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_orderlist_columns_full' , 'number' , '49470' , 'Bitwise coding of columns to show (when relevant) in full orders list')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_performer_can_change_flags' , 'boolean' , 'false' , 'Executor can change the flags of his orders.')
@@ -684,9 +676,8 @@ DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_uren_more'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_uren_omschrijving' , 'number' , '1' , 'Description to show with hour registration {1=melder | 2=vakgroep/stdmelding | 3=opdrachtomschrijving | 4=opdrachttype-melder}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_uren_weeks_back' , 'number' , '8' , 'Show this number of weeks in the overview, ending at the selected date')
DEFINE_SETTING('MLD', 0000, 'WEB_PRSSYS', 'mld_use_department' , 'number' , '0' , 'MLD also registers a department. You can see MLD of your department scope and below (0=don''t use | 1=use)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_use_order_approval' , 'number' , '0' , 'Approval mechanism is used for mld orders (0=disabled | 1=enabled)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_use_order_approval' , 'number' , '1' , 'Approval mechanism is used for mld orders (0=disabled | 1=enabled)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_use_plandate2' , 'number' , '0' , '*Allow use of planned end date {0=no | 1=only show in list | 2=yes, but don''t show in list | 3=yes and show in list}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ord_edit_plandates' , 'number' , '1' , 'Edit plandates { 1=in order (default), 2=with buttons, 3=both }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_workflow_set_defaults' , 'number' , '0' , 'Set defaults for flexkenmerken if they weren''t set by the predecessor (0=do not set | 1=set defaults)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_workflowstep_in_xml' , 'number' , '0' , 'Include all data of all other workflowsteps in XML for prints of a call from a workflow (0=no | 1=yes)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'nightly_mld2bo_emailaddress' , 'string' , '' , 'Notification email address outside office hours')
@@ -729,7 +720,6 @@ DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'pda_prefer_current_werkplek'
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_use_mld_wijzigkey' , 'number' , '-1' , 'enduser can create this ''melding'' to request change in information')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_wpprefix_objectid' , 'number' , '0' , 'Workplace description as prefix in front of object id (at calls and contractscope) {0=no | 1=yes}')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_lookhistory_days' , 'number' , '29' , 'Days to look back to sort DESC on reservations per room. 0= no sort on historic reservations.')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_is_closed_after_days' , 'number' , '0' , 'Days after which a reservation is considered closed')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'fac_xml_max_factuur' , 'number' , '500' , 'Maximum number of lines for invoice in sales-invoice node')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_247organisation' , 'number' , '0' , '24/7 organisation (1= weekends are working days 0= weekends are holidays)')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_allow_for_others' , 'number' , '1' , 'Can I make reservations for others ? {0=no | 1=yes}')
@@ -742,7 +732,7 @@ DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_block'
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_bo_show_host' , 'number' , '1' , 'Show host column in res bo list (0=no show | 1=show)')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_bo_show_kpn' , 'number' , '1' , 'Show account number column in res bo list (0=no show | 1=show)')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_bo_show_telnr' , 'number' , '1' , 'Show telephonenumber column in res bo list (0=no show | 1=show)')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_bo_status_key' , 'number' , '5' , 'DEPRECATED Status of reservations to be considered as Closed')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_bo_status_key' , 'number' , '5' , 'Status of reservations to be considered as Closed')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_cat_reject_stdmld' , 'number' , -1 , 'Standard call key when rejecting catering')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_cat_t1' , 'float' , '-1' , 'Catering day start (hour), -1 is take res_t1')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_cat_t2' , 'float' , '-1' , 'Catering day end (hour), -1 is take res_t2')
@@ -758,8 +748,8 @@ DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_delete_charge_perc'
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_descript_required' , 'boolean' , 'false' , 'require description field for reservation')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_dur' , 'float' , '2' , 'initial reserving duration (hours)')
DEFINE_SETTING('RES', 0001, 'WEB_FACFAC', 'res_plantable_version' , 'number' , '2' , '2=use modern planning board for reservations (required css-grid support), 1=classic planboard')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_planbord_options' , 'number' , '0' , '0=default:show image and text; no tooltips, +1=no plantable image, +2=tooltip on mouse-over, +4=room description on mouse-over, +8=no text in plantable')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_forselect_options' , 'number' , '0' , 'for selecting rooms: 0=default:show image and text; no tooltips, +1=no plantable image, +2=tooltip on mouse-over, +4=room description on mouse-over, +8=no text in plantable')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_planbord_options' , 'number' , '0' , '0=default, +1=no plantable image, +2=tooltip on room/object, +4=room description popup only')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_forselect_options' , 'number' , '0' , 'for selecting rooms: 0=default, +1=no plantable image, +2=tooltip on room/object, +4=room description popup only')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_plantable_condensed_from' , 'number' , '3' , 'Number of days where plantable switches to condensed mode')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_fe_allow_dirty' , 'number' , '1' , '0=fe kan niets opslaan wat iets dirty zou maken, 1=het mag wel')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_fe_discs_only_in_res' , 'number' , '-1' , 'List of disciplines that can only be reserved in RES_ROOMS')
@@ -812,6 +802,60 @@ DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'cil_ins_srt_groep_key'
DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'sle_cil_koppelen' , 'number' , '1' , 'Sleutels en cilinders zijn door bo handmatig te koppelen {0=nee, 1=ja(default)}')
DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'sle_ins_srt_groep_key' , 'number' , '-1' , 'INS_SRTDEEL_KEY of object type Keys')
//Niemand gebruikt/heeft deze module, deze zijn dus nogal veel en onnodig geworden
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_vraag1','number', '-1','Kenmerk-key Vraag1 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_vraag2','number', '-1','Kenmerk-key Vraag2 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_vraag3','number', '-1','Kenmerk-key Vraag3 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_vraag4','number', '-1','Kenmerk-key Vraag4 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_vraag5','number', '-1','Kenmerk-key Vraag5 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_cijfer1','number', '-1','Kenmerk-key Cijfer1 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_cijfer2','number', '-1','Kenmerk-key Cijfer2 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_cijfer3','number', '-1','Kenmerk-key Cijfer3 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_cijfer4','number', '-1','Kenmerk-key Cijfer4 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_cijfer5','number', '-1','Kenmerk-key Cijfer5 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_toelicht1','number', '-1','Kenmerk-key Toelichting1 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_toelicht2','number', '-1','Kenmerk-key Toelichting2 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_toelicht3','number', '-1','Kenmerk-key Toelichting3 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_toelicht4','number', '-1','Kenmerk-key Toelichting4 bij KTO van een melding')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_mld_toelicht5','number', '-1','Kenmerk-key Toelichting5 bij KTO van een melding')
//
//---- Fac_Settings voor KTO-RES -- For Future Use
//
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_vraag1','number', '-1','Kenmerk-key Vraag1 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_vraag2','number', '-1','Kenmerk-key Vraag2 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_vraag3','number', '-1','Kenmerk-key Vraag3 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_vraag4','number', '-1','Kenmerk-key Vraag4 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_vraag5','number', '-1','Kenmerk-key Vraag5 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_cijfer1','number', '-1','Kenmerk-key Cijfer1 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_cijfer2','number', '-1','Kenmerk-key Cijfer2 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_cijfer3','number', '-1','Kenmerk-key Cijfer3 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_cijfer4','number', '-1','Kenmerk-key Cijfer4 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_cijfer5','number', '-1','Kenmerk-key Cijfer5 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_toelicht1','number', '-1','Kenmerk-key Toelichting1 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_toelicht2','number', '-1','Kenmerk-key Toelichting2 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_toelicht3','number', '-1','Kenmerk-key Toelichting3 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_toelicht4','number', '-1','Kenmerk-key Toelichting4 bij KTO van een reservering')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_res_toelicht5','number', '-1','Kenmerk-key Toelichting5 bij KTO van een reservering')
//
//---- Fac_Settings voor KTO-BES -- For Future Use
//
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_vraag1','number', '-1','Kenmerk-key Vraag1 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_vraag2','number', '-1','Kenmerk-key Vraag2 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_vraag3','number', '-1','Kenmerk-key Vraag3 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_vraag4','number', '-1','Kenmerk-key Vraag4 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_vraag5','number', '-1','Kenmerk-key Vraag5 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_cijfer1','number', '-1','Kenmerk-key Cijfer1 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_cijfer2','number', '-1','Kenmerk-key Cijfer2 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_cijfer3','number', '-1','Kenmerk-key Cijfer3 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_cijfer4','number', '-1','Kenmerk-key Cijfer4 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_cijfer5','number', '-1','Kenmerk-key Cijfer5 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_toelicht1','number', '-1','Kenmerk-key Toelichting1 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_toelicht2','number', '-1','Kenmerk-key Toelichting2 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_toelicht3','number', '-1','Kenmerk-key Toelichting3 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_toelicht4','number', '-1','Kenmerk-key Toelichting4 bij KTO van een bestelling')
//DEFINE_SETTING('KTO', 0001, 'WEB_FACTAB', 'kto_bes_toelicht5','number', '-1','Kenmerk-key Toelichting5 bij KTO van een bestelling')
---- Fac_Settings voor PutOrders --
DEFINE_SETTING('PUO', 0000, 'WEB_FACTAB', 'puo_pwd' , 'string' , '' , 'SMS provider user password')
@@ -826,7 +870,7 @@ DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_bcc' , 'string
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_cc' , 'string' , '' , 'Copy email address for ORDERS only')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_connectionflag' , 'number' , '0' , 'INTERNET_FLAG_PASSIVE = 0x8000000, else = 0')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_custorders' , 'boolean' , 'false' , 'true = use customer orderqueue')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_emergencymailaddress' , 'string' , '' , 'E-mail address for system notifications')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_emergencymailaddress' , 'string' , '' , 'Fallback e-mail address if database cannot be reached')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_failalert_threshold' , 'number' , '240' , 'Minimum minutes after first failed send-attempts before an alert is sent to the (PRSSYS) application manager(s)')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_faildelayincrement' , 'number' , '10' , 'Delay retry of failed orders up to failures*10 minutes')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_faildelaymax' , 'number' , '120' , 'Maximum delay of failed orders in minutes')
@@ -868,7 +912,7 @@ DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_smtpserverport' , 'number
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_smtpusessl' , 'boolean' , 'false' , 'Use SSL when sending to port')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_system2systemxsl' , 'string' , 'xsl/system2system.xsl' , 'Stylesheet to be applied for system 2 system notifications')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_useproxy' , 'boolean' , 'false' , 'true = Use Proxy Server (recognizes TIS FTP gateway only), false = don''t use Proxy')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_usesenderasreplyto' , 'boolean' , 'true' , 'If true mail-From is always forced to puo_fromaddress and mail-Reply will be the sender')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_usesenderasreplyto' , 'boolean' , 'false' , 'If true mail-From is always forced to puo_fromaddress and mail-Reply will be the sender')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_file' , 'string' , 'Opdracht in bestand klaargezet' , 'Friendly text for file tracking')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_ftp' , 'string' , 'Opdracht per ftp gestuurd naar {0}' , 'Friendly text for ftp tracking, also port {1} folder {2}')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_sftp' , 'string' , 'Opdracht per sftp gestuurd naar {0}' , 'Friendly text for sftp tracking, also port {1} folder {2}')

View File

@@ -153,9 +153,7 @@ CREATE_TABLE(fac_gebruikersgroep, 0)
// CONSTRAINT fac_c_prs_perslid_key CHECK(prs_perslid_key IS NOT NULL),
fac_gebruikersgroep_aanmaak
DATE
DEFAULT SYSDATE,
fac_gebruikersgroep_vervaldatum
DATE
DEFAULT SYSDATE
);
CREATE_TABLE(fac_groeprechten, 0)
@@ -373,7 +371,7 @@ CREATE_TABLE(fac_usrrap_cols, 0)
fac_usrrap_cols_volgnr
NUMBER(10),
fac_usrrap_cols_column_name
VARCHAR2(128)
VARCHAR2(32)
NOT_NULL(fac_usrrap_cols_column_name, fac_c_usrrap_cols_column_name),
fac_usrrap_cols_expression
VARCHAR2(4000),
@@ -402,7 +400,8 @@ CREATE_TABLE(fac_usrrap_cols, 0)
NUMBER(1)
DEFAULT 3
NOT NULL
CONSTRAINT fac_c_usrrap_cols_sorting CHECK (fac_usrrap_cols_sorting IN (0,1,2,3))
CONSTRAINT fac_c_usrrap_cols_sorting CHECK (fac_usrrap_cols_sorting IN (0,1,2,3)),
CONSTRAINT fac_u_fac_usrrap_cols1 UNIQUE(fac_usrrap_key, fac_usrrap_cols_column_name)
);
CREATE_TABLE(fac_usrgraph, 0)
@@ -1038,16 +1037,16 @@ CREATE_TABLE(fac_imp_onrgoed1, 0)
, alg_locatie_post_postcode VARCHAR2(12)
, alg_locatie_post_plaats VARCHAR2(30)
, alg_locatie_post_land VARCHAR2(30)
, alg_kenmerkwaarde1 VARCHAR2(4000)
, alg_kenmerkwaarde2 VARCHAR2(4000)
, alg_kenmerkwaarde3 VARCHAR2(4000)
, alg_kenmerkwaarde4 VARCHAR2(4000)
, alg_kenmerkwaarde5 VARCHAR2(4000)
, alg_kenmerkwaarde6 VARCHAR2(4000)
, alg_kenmerkwaarde7 VARCHAR2(4000)
, alg_kenmerkwaarde8 VARCHAR2(4000)
, alg_kenmerkwaarde9 VARCHAR2(4000)
, alg_kenmerkwaarde10 VARCHAR2(4000)
, alg_kenmerkwaarde1 VARCHAR2(255)
, alg_kenmerkwaarde2 VARCHAR2(255)
, alg_kenmerkwaarde3 VARCHAR2(255)
, alg_kenmerkwaarde4 VARCHAR2(255)
, alg_kenmerkwaarde5 VARCHAR2(255)
, alg_kenmerkwaarde6 VARCHAR2(255)
, alg_kenmerkwaarde7 VARCHAR2(255)
, alg_kenmerkwaarde8 VARCHAR2(255)
, alg_kenmerkwaarde9 VARCHAR2(255)
, alg_kenmerkwaarde10 VARCHAR2(255)
);
CREATE_TABLE(fac_imp_mld, 0)
@@ -1109,11 +1108,11 @@ CREATE_TABLE(fac_imp_onrgoed2, 0)
, res_ruimte_omschrijving VARCHAR2(255)
, prs_afdeling_naam VARCHAR2(60 CHAR) -- 15 zou genoeg zijn, wat speelruimte
, prs_ruimteafdeling_bezetting NUMBER(8,5)
, alg_kenmerkwaarde1 VARCHAR2(4000)
, alg_kenmerkwaarde2 VARCHAR2(4000)
, alg_kenmerkwaarde3 VARCHAR2(4000)
, alg_kenmerkwaarde4 VARCHAR2(4000)
, alg_kenmerkwaarde5 VARCHAR2(4000)
, alg_kenmerkwaarde1 VARCHAR2(255)
, alg_kenmerkwaarde2 VARCHAR2(255)
, alg_kenmerkwaarde3 VARCHAR2(255)
, alg_kenmerkwaarde4 VARCHAR2(255)
, alg_kenmerkwaarde5 VARCHAR2(255)
);
CREATE_TABLE(fac_imp_organisatie, 0)
@@ -1168,26 +1167,26 @@ CREATE_TABLE(fac_imp_perslid, 0)
,prs_perslid_naamgebruik_code NUMBER(1) DEFAULT 0
,prs_perslid_geslacht NUMBER(1)
,prs_perslid_dienstverband NUMBER(3)
,prs_kenmerk1 VARCHAR2(4000)
,prs_kenmerk2 VARCHAR2(4000)
,prs_kenmerk3 VARCHAR2(4000)
,prs_kenmerk4 VARCHAR2(4000)
,prs_kenmerk5 VARCHAR2(4000)
,prs_kenmerk6 VARCHAR2(4000)
,prs_kenmerk7 VARCHAR2(4000)
,prs_kenmerk8 VARCHAR2(4000)
,prs_kenmerk9 VARCHAR2(4000)
,prs_kenmerk10 VARCHAR2(4000)
,prs_kenmerk11 VARCHAR2(4000)
,prs_kenmerk12 VARCHAR2(4000)
,prs_kenmerk13 VARCHAR2(4000)
,prs_kenmerk14 VARCHAR2(4000)
,prs_kenmerk15 VARCHAR2(4000)
,prs_kenmerk16 VARCHAR2(4000)
,prs_kenmerk17 VARCHAR2(4000)
,prs_kenmerk18 VARCHAR2(4000)
,prs_kenmerk19 VARCHAR2(4000)
,prs_kenmerk20 VARCHAR2(4000)
,prs_kenmerk1 VARCHAR2(255)
,prs_kenmerk2 VARCHAR2(255)
,prs_kenmerk3 VARCHAR2(255)
,prs_kenmerk4 VARCHAR2(255)
,prs_kenmerk5 VARCHAR2(255)
,prs_kenmerk6 VARCHAR2(255)
,prs_kenmerk7 VARCHAR2(255)
,prs_kenmerk8 VARCHAR2(255)
,prs_kenmerk9 VARCHAR2(255)
,prs_kenmerk10 VARCHAR2(255)
,prs_kenmerk11 VARCHAR2(255)
,prs_kenmerk12 VARCHAR2(255)
,prs_kenmerk13 VARCHAR2(255)
,prs_kenmerk14 VARCHAR2(255)
,prs_kenmerk15 VARCHAR2(255)
,prs_kenmerk16 VARCHAR2(255)
,prs_kenmerk17 VARCHAR2(255)
,prs_kenmerk18 VARCHAR2(255)
,prs_kenmerk19 VARCHAR2(255)
,prs_kenmerk20 VARCHAR2(255)
,fac_import_key NUMBER(10) /* for internal processing */
,fac_imp_file_index NUMBER(10) /* for internal processing */
,prs_perslid_key NUMBER(10) /* for internal processing */
@@ -1256,11 +1255,11 @@ CREATE_TABLE(fac_imp_sle, 0)
,cil_verdieping_code VARCHAR2 (10)
,cil_ruimte_nr VARCHAR2 (10)
,aant_sleutels_in_set NUMBER (3)
,ins_kenmerkwaarde1 VARCHAR2(4000)
,ins_kenmerkwaarde2 VARCHAR2(4000)
,ins_kenmerkwaarde3 VARCHAR2(4000)
,ins_kenmerkwaarde4 VARCHAR2(4000)
,ins_kenmerkwaarde5 VARCHAR2(4000)
,ins_kenmerkwaarde1 VARCHAR2(255)
,ins_kenmerkwaarde2 VARCHAR2(255)
,ins_kenmerkwaarde3 VARCHAR2(255)
,ins_kenmerkwaarde4 VARCHAR2(255)
,ins_kenmerkwaarde5 VARCHAR2(255)
);
-- Deze tabel is al gedefinieerd, zonder dat er al standaard procedures voor zijn.
@@ -1471,8 +1470,7 @@ CREATE_TABLE (fac_version, 0) (
DATE,
fac_version_putorders_date DATE,
fac_version_scheduler_date DATE,
fac_version_notify_date DATE,
fac_version_cleanup_date DATE
fac_version_notify_date DATE
);
CREATE_TABLE(fac_typestaffel, 0)
@@ -1572,9 +1570,8 @@ CREATE_TABLE(fac_nieuws, 0)
fac_nieuws_aanmaak DATE DEFAULT SYSDATE,
fac_nieuws_lang VARCHAR2(3),
fac_groep_key NUMBER(10) REFERENCES fac_groep(fac_groep_key), /* voor welke autorisatiegroep */
fac_nieuws_show NUMBER(3) DEFAULT 3 NOT NULL, /* &1=portal, &2=blogpagina, &4=community */
fac_nieuws_groep_key NUMBER(10) REFERENCES fac_nieuws_groep(fac_nieuws_groep_key),
fac_nieuws_parentkey NUMBER(10) REFERENCES fac_nieuws(fac_nieuws_key) ON DELETE CASCADE
fac_nieuws_show NUMBER(3) DEFAULT 3 NOT NULL, /* &1=portal, &2=blogpagina */
fac_nieuws_groep_key NUMBER(10)REFERENCES fac_nieuws_groep(fac_nieuws_groep_key)
// Note: this column is defined in PRS_TAB.SRC
// prs_perslid_key NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL
);
@@ -1680,26 +1677,26 @@ CREATE_TABLE(fac_imp_factuur, 0) /* Standaard tabel voor de factuur-import */
omschrijving VARCHAR2 (250), -- regelomschrijving
opmerking VARCHAR2(250),
btw_verlegd VARCHAR2(3),
kenmerk1 VARCHAR2(4000),
kenmerk2 VARCHAR2(4000),
kenmerk3 VARCHAR2(4000),
kenmerk4 VARCHAR2(4000),
kenmerk5 VARCHAR2(4000),
kenmerk6 VARCHAR2(4000),
kenmerk7 VARCHAR2(4000),
kenmerk8 VARCHAR2(4000),
kenmerk9 VARCHAR2(4000),
kenmerk10 VARCHAR2(4000),
kenmerk11 VARCHAR2(4000),
kenmerk12 VARCHAR2(4000),
kenmerk13 VARCHAR2(4000),
kenmerk14 VARCHAR2(4000),
kenmerk15 VARCHAR2(4000),
kenmerk16 VARCHAR2(4000),
kenmerk17 VARCHAR2(4000),
kenmerk18 VARCHAR2(4000),
kenmerk19 VARCHAR2(4000),
kenmerk20 VARCHAR2(4000),
kenmerk1 VARCHAR2(255),
kenmerk2 VARCHAR2(255),
kenmerk3 VARCHAR2(255),
kenmerk4 VARCHAR2(255),
kenmerk5 VARCHAR2(255),
kenmerk6 VARCHAR2(255),
kenmerk7 VARCHAR2(255),
kenmerk8 VARCHAR2(255),
kenmerk9 VARCHAR2(255),
kenmerk10 VARCHAR2(255),
kenmerk11 VARCHAR2(255),
kenmerk12 VARCHAR2(255),
kenmerk13 VARCHAR2(255),
kenmerk14 VARCHAR2(255),
kenmerk15 VARCHAR2(255),
kenmerk16 VARCHAR2(255),
kenmerk17 VARCHAR2(255),
kenmerk18 VARCHAR2(255),
kenmerk19 VARCHAR2(255),
kenmerk20 VARCHAR2(255),
fac_import_key NUMBER(10) CONSTRAINT fac_r_fac_imp_factuur1 REFERENCES fac_import(fac_import_key) ON DELETE CASCADE,
fac_imp_file_index NUMBER(10),
fin_factuur_key NUMBER(10), -- geen importkolom, temp
@@ -2310,10 +2307,10 @@ CREATE_TABLE(fac_gui_counter, 0)
fac_gui_counter_refkey NUMBER (10),
fac_gui_counter_count NUMBER (12),
fac_gui_counter_info VARCHAR2 (1000),
fac_gui_counter_date DATE DEFAULT SYSDATE
fac_gui_counter_date DATE DEFAULT SYSDATE,
// Note: this column is defined in PRS_TAB.SRC
// prs_perslid_key NUMBER (10) CONSTRAINT fac_r_guicnt_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL
// CONSTRAINT fac_u_fac_gui_counter UNIQUE(fac_gui_counter_group, fac_gui_counter_date, fac_gui_counter_refkey, prs_perslid_key, fac_gui_counter_info)
CONSTRAINT fac_u_fac_gui_counter UNIQUE(fac_gui_counter_group, fac_gui_counter_date, fac_gui_counter_refkey, fac_gui_counter_info)
);
CREATE_TABLE(fac_sequence, 0)

View File

@@ -342,7 +342,6 @@ CREATE_TRIGGER(fac_t_fac_notificatie_B_I)
DECLARE
loms web_user_messages.web_user_mess_dsc%TYPE;
lxmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
lparamkey web_user_messages.web_user_mess_action_params%TYPE;
BEGIN
-- Kopieer direct naar statusinformatie op de portal indien van toepassing
-- Daarbij worden alle oude berichten (eerst) verwijderd
@@ -356,10 +355,6 @@ BEGIN
IF INSTR (loms, chr(10)) > 0 THEN
loms := SUBSTR (loms, 1, INSTR (loms, chr(10)) -1);
END IF;
-- meestal is dit de doorklik-key
lparamkey := COALESCE (:new.fac_notificatie_extrakey, :new.fac_notificatie_refkey);
-- Verwijder oudere (achterhaalde) portalberichten over hetzelfde
IF :NEW.fac_srtnotificatie_key IS NOT NULL
THEN
@@ -368,28 +363,21 @@ BEGIN
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_key = :NEW.fac_srtnotificatie_key;
-- de optionele tracking-key is geen goede doorklik-key voor melding/opdracht
IF lxmlnode IN ('melding', 'opdracht')
THEN
lparamkey := :new.fac_notificatie_refkey;
END IF;
DELETE FROM web_user_messages
WHERE fac_srtnotificatie_key IN
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_xmlnode = lxmlnode)
AND prs_perslid_key_receiver = :NEW.prs_perslid_key_receiver
AND web_user_mess_action_params = lparamkey;
AND web_user_mess_action_params = COALESCE (:NEW.fac_notificatie_extrakey, :NEW.fac_notificatie_refkey);
END IF;
-- En voeg de nieuwe toe. Let op: als een extrakey bekend is, wordt die als parameter gebruikt, anders gewoon refkey
INSERT INTO web_user_messages
(prs_perslid_key_sender, prs_perslid_key_receiver, web_user_mess_dsc, web_user_mess_action_status,
web_user_mess_action_params, fac_srtnotificatie_key, web_user_mess_prioriteit
)
VALUES (:NEW.prs_perslid_key_sender, :NEW.prs_perslid_key_receiver, loms, 1,
lparamkey, :NEW.fac_srtnotificatie_key,
COALESCE (:NEW.fac_notificatie_extrakey, :NEW.fac_notificatie_refkey), :NEW.fac_srtnotificatie_key,
:NEW.fac_notificatie_prioriteit
);
@@ -582,7 +570,7 @@ BEGIN
-- Moet ik nou nog iets doen om NULL te maken als dit alleen de # was?
-- En nu dus niet notificeren
ELSE
fac.notifytracking(:new.fac_srtnotificatie_key, :new.prs_perslid_key, :new.fac_tracking_oms, :new.fac_tracking_refkey, :new.fac_tracking_key);
fac.notifytracking(:new.fac_srtnotificatie_key, :new.prs_perslid_key, :new.fac_tracking_oms, :new.fac_tracking_refkey);
END IF;
END;
/

View File

@@ -53,10 +53,10 @@ AS
'CTR', lcl.l ('ctr_discipline') || ' ',
'FAQ', lcl.l ('faq_discipline') || ' ',
'INS', lcl.l ('ins_discipline') || ' ',
'MLD', lcl.l ('mld_discipline') || ' '
'MLD', lcl.l ('mld_discipline')
|| (CASE
WHEN ins_srtdiscipline_prefix IS NOT NULL
THEN ins_srtdiscipline_prefix || '-'
WHEN ins_srtdiscipline_prefix IS NULL THEN ''
ELSE ' ' || ins_srtdiscipline_prefix || '-'
END),
'RES', lcl.l ('res_discipline') || ' ',
ins_discipline_module || ' ')
@@ -136,10 +136,10 @@ SELECT -- GROEPEN MET DISCIPLINES
'CTR', lcl.l ('ctr_discipline') || ' ',
'FAQ', lcl.l ('faq_discipline') || ' ',
'INS', lcl.l ('ins_discipline') || ' ',
'MLD', lcl.l ('mld_discipline') || ' '
'MLD', lcl.l ('mld_discipline')
|| (CASE
WHEN ins_srtdiscipline_prefix IS NOT NULL
THEN ins_srtdiscipline_prefix || '-'
WHEN ins_srtdiscipline_prefix IS NULL THEN ''
ELSE ' ' || ins_srtdiscipline_prefix || '-'
END),
'RES', lcl.l ('res_discipline') || ' ',
ins_discipline_module || ' ')
@@ -438,8 +438,7 @@ AS
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
AND cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0 /* actief */
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
AND cnt.getnieuwsteversiekey(c.cnt_contract_key) = c.cnt_contract_key;
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
/*
* contract notificatie die ook naar collega's gestuurd wordt.
@@ -474,8 +473,7 @@ AS
AND c.prs_perslid_key_beh = p.prs_perslid_key
AND cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0 /* actief */
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
AND cnt.getnieuwsteversiekey(c.cnt_contract_key) = c.cnt_contract_key;
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
@@ -1025,29 +1023,17 @@ SELECT l.fac_locale_kolomnaam,
WHERE l.fac_locale_kolomkeyval = x.ins_srtdiscipline_key
AND l.fac_locale_kolomnaam = 'INS_SRTDISCIPLINE_OMSCHRIJVING';
-- Basisview voor logging-rapportages van niet-imports
CREATE_VIEW(fac_v_rap_imp_log, 0)
AS
SELECT imp_log_applicatie,
imp_log_datum,
imp_log_status,
DECODE (imp_log_status, 'F', 'Fatal', 'E', 'Error', 'W', 'Warning', 'I', 'Informative', 'S', 'Summary', imp_log_status) niveau,
imp_log_omschrijving,
imp_log_hint opmerking
FROM imp_log
WHERE fac_import_key IS NULL;
-- en daarop gebaseerd standaard al eentje voor putorders (die bestond al)
CREATE_VIEW(fac_v_rap_putorderslog, 0)
AS
SELECT imp_log_datum hide_f_imp_log_datum,
TO_CHAR (imp_log_datum, 'YYYYMMDD') fclt_f_datum,
TO_CHAR (imp_log_datum, 'HH24:MI:SS') tijdstip,
niveau fclt_f_niveau,
DECODE (imp_log_status, 'F', 'Fatal', 'E', 'Error', 'W', 'Warning', 'I', 'Informative', '-') fclt_f_niveau,
imp_log_omschrijving fclt_f_omschrijving
FROM fac_v_rap_imp_log
FROM imp_log
WHERE imp_log_applicatie = '$PutOrders$' AND imp_log_datum > SYSDATE - 10;
CREATE_VIEW (fac_v_lcrap_fe_vs_key_data, 0)
AS
SELECT x.prs_perslid_key,
@@ -1071,7 +1057,7 @@ AS
FROM prs_v_aanwezigperslid p
WHERE ( prs_perslid_oslogin IS NULL
OR prs_perslid_oslogin NOT IN ('_FACILITOR', '_PUTORDERS', '_HMAIL'))
AND EXISTS -- op basis van groep + rechten
AND EXISTS -- op basis van groep + rechten
(SELECT 1
FROM fac_v_webgebruiker
WHERE prs_perslid_key = p.prs_perslid_key)
@@ -1136,31 +1122,8 @@ AS
fac.safe_to_number (fac.getsetting ('xd_primary_bedrijfkey'))) b
ON x.prs_perslid_key = b.prs_perslid_key;
-- Dit gaan we hanteren om API-users te tellen (zijn dan geen normale keyusers meer)
CREATE_VIEW (fac_v_lcrap_apiusers, 0)
AS
SELECT apiuser, apinaam, LISTAGG (module, ', ') modules
FROM ( SELECT prs_perslid_oslogin apiuser, prs_perslid_naam apinaam, fac_functie_module module
FROM ( SELECT gg.prs_perslid_key, g.fac_functie_key, g.ins_discipline_key
FROM fac_groeprechten g, fac_gebruikersgroep gg, fac_groep fg
WHERE g.fac_groep_key = gg.fac_groep_key
AND gg.fac_groep_key = fg.fac_groep_key
AND fac_groep_upper <> '_DEFAULT'
GROUP BY gg.prs_perslid_key, g.fac_functie_key, g.ins_discipline_key) w,
fac_functie f,
prs_perslid p
WHERE w.fac_functie_key = f.fac_functie_key
AND p.prs_perslid_key = w.prs_perslid_key
AND prs_perslid_apikey IS NOT NULL
AND BITAND (prs_perslid_flags, 36) = 0 --AND prs_perslid_oslogin NOT IN ('_HMAIL', '_PUTORDERS', 'SENSORS')
AND prs_perslid_verwijder IS NULL
GROUP BY prs_perslid_oslogin, prs_perslid_naam, fac_functie_module)
GROUP BY apiuser, apinaam
ORDER BY 1;
-- totaliseer data uit bovenstaande view tot in principe 1 samenvattingsregel
-- (voor crossdomain (xd) fe-users bestaat geen definitie)
-- personen zonder rechten worden als passive_user toegevoegd
CREATE_VIEW (fac_v_lcrap_fe_vs_key, 0)
(
tijdstip,
@@ -1170,7 +1133,7 @@ CREATE_VIEW (fac_v_lcrap_fe_vs_key, 0)
fe_users,
key_users,
devices,
passive_users,
--xdfe_users,
xdkey_users,
recent_login
)
@@ -1183,38 +1146,24 @@ AS
fe_users,
key_users,
NVL (system_users, 0),
NVL (passive_users, 0),
--xdfe_users,
xdkey_users,
recent_login
FROM (SELECT SYSDATE
tijdstip,
fac.getsetting ('licensed_fe_users')
licensed_fe,
fac.getsetting ('licensed_key_users')
licensed_key,
COUNT (*)
all_users,
COUNT (*) - SUM (DECODE (x.key_user, NULL, DECODE (x.xd_user, NULL, 0, 1), 1))
fe_users,
SUM (DECODE (x.key_user, NULL, 0, DECODE (x.xd_user, NULL, 1, 0)))
key_users,
SUM (DECODE (x.key_user, NULL, 0, DECODE (x.xd_user, NULL, 0, 1)))
xdkey_users,
SUM (CASE WHEN x.last_login > SYSDATE - 100 THEN 1 ELSE 0 END)
recent_login
fac.getsetting ('licensed_fe_users') licensed_fe,
fac.getsetting ('licensed_key_users') licensed_key,
COUNT (*) all_users,
COUNT (*) - SUM (DECODE (x.key_user, NULL, DECODE (x.xd_user, NULL, 0, 1), 1)) fe_users,
SUM (DECODE (x.key_user, NULL, 0, DECODE (x.xd_user, NULL, 1, 0))) key_users,
--SUM (DECODE (x.key_user, NULL, DECODE (x.xd_user, NULL, 0, 1), 0)) xdfe_users,
SUM (DECODE (x.key_user, NULL, 0, DECODE (x.xd_user, NULL, 0, 1))) xdkey_users,
SUM (CASE WHEN x.last_login > SYSDATE - 100 THEN 1 ELSE 0 END) recent_login
FROM fac_v_lcrap_fe_vs_key_data x
WHERE x.usertype = 'user') a
LEFT JOIN (SELECT COUNT (*) system_users
FROM fac_v_lcrap_fe_vs_key_data xx
WHERE xx.usertype <> 'user')
ON 1 = 1
LEFT JOIN (SELECT COUNT (*) passive_users
FROM prs_v_aanwezigperslid p
WHERE prs_perslid_inactief IS NULL
AND NOT EXISTS
(SELECT ''
FROM fac_gebruikersgroep
WHERE prs_perslid_key = p.prs_perslid_key))
ON 1 = 1;
CREATE_VIEW (fac_v_lcrap_grp_stats, 0)

View File

@@ -40,11 +40,7 @@ BEGIN
RAISE_APPLICATION_ERROR(-20000, 'OR'||'A-' || CHR(10) || tekst);
END IF;
-- Negeer MLD_T_UITVOERTIJD die we nogal eens 'precreated' hebben
SELECT COUNT (*)
INTO n_object
FROM USER_OBJECTS
WHERE object_type <> 'TYPE';
SELECT COUNT (*) INTO n_object FROM USER_OBJECTS;
IF (n_object > 0)
THEN
RAISE_APPLICATION_ERROR (-20000, 'OR' || 'A-' || 'Schema ' || USER || ' must be empty before creating database');

View File

@@ -8,7 +8,6 @@ START_LOCALEITEMS('INS_DISCIPLINE_KEY')
DEFINE_LOCALEITEM(lcl_bld_terra)
DEFINE_LOCALEITEM(lcl_deel_state)
DEFINE_LOCALEITEM(lcl_discipline)
DEFINE_LOCALEITEM(lcl_select_discipline)
DEFINE_LOCALEITEM(lcl_estate_locatie_man_descr)
DEFINE_LOCALEITEM(lcl_fg_gotofgheader)
DEFINE_LOCALEITEM(lcl_floor)
@@ -30,14 +29,12 @@ DEFINE_LOCALEITEM(lcl_obj_bind_r)
DEFINE_LOCALEITEM(lcl_obj_geoxcoord)
DEFINE_LOCALEITEM(lcl_obj_geoycoord)
DEFINE_LOCALEITEM(lcl_obj_group)
DEFINE_LOCALEITEM(lcl_select_srtgroep)
DEFINE_LOCALEITEM(lcl_obj_identification)
DEFINE_LOCALEITEM(lcl_obj_owner)
DEFINE_LOCALEITEM(lcl_obj_photo)
DEFINE_LOCALEITEM(lcl_obj_position)
DEFINE_LOCALEITEM(lcl_obj_reserveerbaar)
DEFINE_LOCALEITEM(lcl_obj_sort)
DEFINE_LOCALEITEM(lcl_select_srtdeel)
DEFINE_LOCALEITEM(lcl_obj_uitleensrtdeel)
DEFINE_LOCALEITEM(lcl_owner_info)
DEFINE_LOCALEITEM(lcl_prs_address_bezoek_adres)

View File

@@ -6,19 +6,13 @@
CREATE OR REPLACE PACKAGE ins AS
FUNCTION delete_deelkoppeling( DeelKey IN NUMBER ) RETURN BOOLEAN;
FUNCTION get_description(pentityname IN VARCHAR2, pparentkey IN NUMBER, pprefix IN VARCHAR2) RETURN VARCHAR2;
FUNCTION nextdescription(pprefix IN VARCHAR2, pparentkey IN NUMBER, pseparator IN VARCHAR2 DEFAULT 'default') RETURN VARCHAR2;
PROCEDURE copyInsKenmerken(pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER);
PROCEDURE altersrtdeel(pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER);
FUNCTION get_description(LPNName IN VARCHAR2, CondKey IN NUMBER, Prefix IN VARCHAR2) RETURN VARCHAR2;
FUNCTION sprintf (ps IN varchar2, pins_deel_key IN number) RETURN varchar2;
FUNCTION contrsprintf (ps IN varchar2, pins_deelsrtcontr_key IN NUMBER) RETURN varchar2;
FUNCTION nextcyclusdate (p_insdeel IN NUMBER, p_srtcontrole IN NUMBER, p_scenario IN NUMBER, p_steps IN NUMBER DEFAULT 0) RETURN DATE;
FUNCTION nextcyclusdatesteps (p_insdeel IN NUMBER, p_srtcontrole IN NUMBER, p_steps IN NUMBER DEFAULT 1) RETURN NUMBER;
PROCEDURE setinspectstatus (pdlsrtcontrkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER);
FUNCTION state_compare (str1 IN VARCHAR, str2 IN VARCHAR) RETURN NUMBER;
FUNCTION state_diff (str1 IN VARCHAR, str2 IN VARCHAR) RETURN NUMBER;
FUNCTION state_thresholdcompare (pdeel_key IN NUMBER, pdays NUMBER DEFAULT NULL) RETURN NUMBER;
PROCEDURE compress_states (pdodelete IN NUMBER DEFAULT 1);
PROCEDURE ins_daily(today IN DATE DEFAULT SYSDATE);
END ins;
/
@@ -36,205 +30,140 @@ CREATE OR REPLACE PACKAGE BODY ins AS
WHEN OTHERS THEN RETURN FALSE;
END;
-- For backwards compatibility only (used in some CUST procedures) DEPRECATED!
FUNCTION get_description( pentityname IN VARCHAR2
, pparentkey IN NUMBER
, pprefix IN VARCHAR2) RETURN VARCHAR2 IS
-- Was: FAC_F_FAC_GET_DESCRIPTION
FUNCTION get_description(LPNName IN VARCHAR2
,CondKey IN NUMBER
,Prefix IN VARCHAR2) RETURN VARCHAR2 IS
NextVolgNr VARCHAR2(30);
DeelUpper ins_deel.ins_deel_omschrijving%TYPE;
ReturnString VARCHAR2(30);
BEGIN
IF pentityname = 'LPN_INS_DEEL'
-- From 4.40 on, CondKey is dummy for ins_deel (object): uniqueness is assumed over the entire database
-- From DB23 on, object uniqueness is forced by prefix only, last parameter PrefixKey was dropped
IF LPNName = 'LPN_INS_DEEL'
THEN
RETURN ins.nextdescription(pprefix, NULL, '');
END IF;
IF pentityname = 'LPN_INS_ONDERDEEL'
THEN
RETURN ins.nextdescription(pprefix, pparentkey, '');
END IF;
RETURN 'unsupported use of ins.get_description';
END;
-- Determine max+1 volgnr for an object (deel or onderdeel) op basis van het format prefix+volgnummer
-- De laagste is 001 maar vervolgens wordt het gevonde aantal cijfers aangehouden, dus prefix0001+1 = prefix0002
-- Zo nodig wordt er een cijfer bij gedaan. De prefix wordt case-insensitive beschouwd.
-- Alleen actuele objecten worden beschouwd, dus dit is in zekere zin een beetje tijdsafhankelijk
FUNCTION nextdescription( pprefix IN VARCHAR2
, pparentkey IN NUMBER
, pseparator IN VARCHAR2 DEFAULT 'default') RETURN VARCHAR2 IS
nextvolgnr VARCHAR2(30); -- overdreven
returnstring ins_deel.ins_deel_omschrijving%TYPE;
lprefix VARCHAR2(30); -- overdreven, inclusief evt separator
lseparator VARCHAR(30); -- ook overdreven
BEGIN
IF pseparator = 'default'
THEN
lseparator := fac.getsetting('ins_nr_separator');
ELSE
lseparator := pseparator;
END IF;
lprefix := pprefix||lseparator;
-- uniqueness is assumed over the entire database
IF pparentkey IS NULL
THEN
SELECT COALESCE(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(lprefix)),'0'),'001')
INTO nextvolgnr
SELECT NVL(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(Prefix)),'0'),'001')
INTO NextVolgNr
FROM ins_deel
WHERE ins_deel_upper LIKE UPPER(lprefix)||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))) IS NOT NULL
AND LTRIM(SUBSTR (ins_deel_upper, LENGTH (lprefix) + 1), '0') = TO_CHAR(fac.safe_to_integer ((SUBSTR (ins_deel_upper, LENGTH (lprefix) + 1))))
WHERE ins_deel_upper LIKE Prefix||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))) IS NOT NULL
AND LTRIM(SUBSTR (ins_deel_upper, LENGTH (Prefix) + 1), '0') = TO_CHAR(fac.safe_to_integer ((SUBSTR (ins_deel_upper, LENGTH (Prefix) + 1))))
AND ins_deel_parent_key IS NULL
AND ins_deel_verwijder IS NULL;
ELSIF pparentkey IS NOT NULL
ELSIF LPNName = 'LPN_INS_ONDERDEEL'
THEN
SELECT COALESCE(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(lprefix)),'0'),'001')
INTO nextvolgnr
FROM ins_deel
WHERE ins_deel_upper LIKE UPPER(lprefix)||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(lprefix)+1,LENGTH(ins_deel_upper)-LENGTH(lprefix))) IS NOT NULL
AND ins_deel_parent_key = pparentkey
SELECT NVL(LPAD( TO_CHAR(MAX(TO_NUMBER(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))))+1) , MAX(LENGTH(ins_deel_upper)-LENGTH(Prefix)),'0'),'001')
INTO NextVolgNr
FROM INS_DEEL
WHERE ins_deel_upper LIKE Prefix||'%'
AND fac.safe_to_integer(SUBSTR(ins_deel_upper, LENGTH(Prefix)+1,LENGTH(ins_deel_upper)-LENGTH(Prefix))) IS NOT NULL
AND ins_deel_parent_key = CondKey
AND ins_deel_verwijder IS NULL;
END IF;
-- bij overflow moet er een digit bij komen: 999+1=1000 en bovenstaande levert dan 100
IF LOG (10, TO_NUMBER(nextvolgnr)) = ROUND (LOG (10, TO_NUMBER(nextvolgnr)), 0) AND LENGTH(nextvolgnr) >= LOG (10, TO_NUMBER(nextvolgnr))
ELSIF LPNName = 'LPN_ALG_TERREINSECTOR'
THEN
nextvolgnr := nextvolgnr||'0';
END IF;
returnstring := pprefix||lseparator||nextvolgnr;
RETURN returnstring;
END;
PROCEDURE copyInsKenmerken(pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER)
AS
CURSOR c_kenmerkdeel (pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER)
IS
SELECT kd1.ins_kenmerkdeel_key, k2.ins_kenmerk_key
FROM ins_kenmerk k1,
ins_kenmerk k2,
ins_kenmerkdeel kd1,
ins_srtdeel sd2,
ins_srtgroep sg2,
ins_srtkenmerk sk
WHERE k1.ins_srtkenmerk_key = k2.ins_srtkenmerk_key
AND k1.ins_kenmerk_key <> k2.ins_kenmerk_key
AND sk.ins_srtkenmerk_key = k1.ins_srtkenmerk_key
AND COALESCE (k1.ins_kenmerk_omschrijving,
sk.ins_srtkenmerk_omschrijving) =
COALESCE (k2.ins_kenmerk_omschrijving,
sk.ins_srtkenmerk_omschrijving)
AND sd2.ins_srtgroep_key = sg2.ins_srtgroep_key
AND k1.ins_kenmerk_niveau = k2.ins_kenmerk_niveau
AND k1.ins_kenmerk_niveau <> 'C'
AND kd1.ins_kenmerk_key = k1.ins_kenmerk_key
AND k2.ins_srtinstallatie_key =
(CASE
WHEN k2.ins_kenmerk_niveau = 'D' THEN sg2.ins_discipline_key
WHEN k2.ins_kenmerk_niveau = 'G' THEN sg2.ins_srtgroep_key
WHEN k2.ins_kenmerk_niveau = 'S' THEN sd2.ins_srtdeel_key
END)
AND kd1.ins_deel_key = pdeel_key
AND sd2.ins_srtdeel_key = ptosrtdeel_key;
CURSOR c_facbijlagen (pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER)
IS
SELECT fb1.fac_bijlagen_key, k2.ins_kenmerk_key
FROM ins_kenmerk k1,
ins_kenmerk k2,
fac_bijlagen fb1,
ins_srtdeel sd2,
ins_srtgroep sg2,
ins_srtkenmerk sk
WHERE k1.ins_srtkenmerk_key = k2.ins_srtkenmerk_key
AND k1.ins_kenmerk_key <> k2.ins_kenmerk_key
AND sk.ins_srtkenmerk_key = k1.ins_srtkenmerk_key
AND COALESCE (k1.ins_kenmerk_omschrijving,
sk.ins_srtkenmerk_omschrijving) =
COALESCE (k2.ins_kenmerk_omschrijving,
sk.ins_srtkenmerk_omschrijving)
AND sd2.ins_srtgroep_key = sg2.ins_srtgroep_key
AND k1.ins_kenmerk_niveau = k2.ins_kenmerk_niveau
AND k1.ins_kenmerk_niveau <> 'C'
AND fb1.fac_bijlagen_kenmerk_key = k1.ins_kenmerk_key
AND k2.ins_srtinstallatie_key =
(CASE
WHEN k2.ins_kenmerk_niveau = 'D' THEN sg2.ins_discipline_key
WHEN k2.ins_kenmerk_niveau = 'G' THEN sg2.ins_srtgroep_key
WHEN k2.ins_kenmerk_niveau = 'S' THEN sd2.ins_srtdeel_key
END)
AND fb1.fac_bijlagen_refkey = pdeel_key
AND sd2.ins_srtdeel_key = ptosrtdeel_key;
BEGIN
FOR kd_upd IN c_kenmerkdeel (pdeel_key, ptosrtdeel_key)
FOR i IN 3..10
LOOP
UPDATE ins_kenmerkdeel
SET ins_kenmerk_key = kd_upd.ins_kenmerk_key
WHERE ins_kenmerkdeel_key = kd_upd.ins_kenmerkdeel_key;
END LOOP;
FOR fb_upd IN c_facbijlagen (pdeel_key, ptosrtdeel_key)
LOOP
UPDATE fac_bijlagen
SET fac_bijlagen_kenmerk_key = fb_upd.ins_kenmerk_key
WHERE fac_bijlagen_key = fb_upd.fac_bijlagen_key;
END LOOP;
END;
-- omkatten van het objectsoort van een object. Controleert wat technische voorwaarden qua binding
-- maar kijkt niet naar bv autorisaties. Trackt alleen als er ook echt iets verandert
PROCEDURE altersrtdeel(pdeel_key IN NUMBER, ptosrtdeel_key IN NUMBER)
AS
fromsrtdeel_key ins_deel.ins_srtdeel_key%TYPE;
fromsrtdeelomschrijving ins_srtdeel.ins_srtdeel_omschrijving%TYPE;
frombinding ins_deel.ins_alg_ruimte_type%TYPE;
frombindingval NUMBER;
tobinding ins_srtdeel.ins_srtdeel_binding%TYPE;
tosrtdeelomschrijving ins_srtdeel.ins_srtdeel_omschrijving%TYPE;
BEGIN
SELECT d.ins_srtdeel_key,
d.ins_alg_ruimte_type,
lcl.x ('ins_srtdeel_omschrijving', sd.ins_srtdeel_key, sd.ins_srtdeel_omschrijving)
INTO fromsrtdeel_key, frombinding, fromsrtdeelomschrijving
FROM ins_deel d, ins_srtdeel sd
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key AND ins_deel_key = pdeel_key;
-- frombinding is one of A(8),P(16),R(1),T(4),W(2)
SELECT DECODE (frombinding, 'R', 1, 'W', 2, 'T', 4, 'A', 8, 'P', 16, 32)
INTO frombindingval
FROM DUAL;
BEGIN
SELECT ins_srtdeel_binding,
lcl.x ('ins_srtdeel_omschrijving', ins_srtdeel_key, ins_srtdeel_omschrijving)
INTO tobinding, tosrtdeelomschrijving
FROM ins_srtdeel
WHERE ins_srtdeel_key = ptosrtdeel_key
AND BITAND (ins_srtdeel_binding, frombindingval) = frombindingval;
IF fromsrtdeel_key <> ptosrtdeel_key
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_terreinsector_code,LENGTH(alg_terreinsector_code)-(i-1),LENGTH(alg_terreinsector_code)))+1)), '***')
INTO NextVolgNr
FROM alg_v_aanwezigterreinsector
WHERE LTRIM(SUBSTR(alg_terreinsector_code, LENGTH(alg_terreinsector_code)-(i-1), LENGTH(alg_terreinsector_code))) BETWEEN '0' AND LPAD('9',i,'9')
AND alg_locatie_key = CondKey
AND LENGTH(alg_terreinsector_code) <= i;
IF NextVolgNr = '***'
THEN
IF i = 3
THEN
UPDATE ins_deel
SET ins_srtdeel_key = ptosrtdeel_key
WHERE ins_deel_key = pdeel_key;
-- de redundante ins_deel.ins_discipline_key wordt door de trigger bijgewerkt
copyInsKenmerken(pdeel_key, ptosrtdeel_key);
-- het is nu mogelijk dat er kenmerken (ins_kenmerkdeel) zijn die qua definitie niet horen
-- tot de kenmerken van de nieuwe soort. Ik vind dat niet erg.
-- de tracking zou discipline/srtgroep/srtdeel -> discipline/srtgroep/srtdeel kunnen zijn
-- voor de volledigheid, maar daar mag iemand om gaan vragen, zo essentieel is dat niet
fac.trackaction (
'INSUPD',
pdeel_key,
TO_NUMBER (SYS_CONTEXT ('USERENV', 'CLIENT_IDENTIFIER')),
NULL,
fromsrtdeelomschrijving || lcl.l ('lcl_trackto') || tosrtdeelomschrijving);
NextVolgNr := '001';
ELSE
NextVolgNr := POWER(10, (i-1));
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
EXIT;
ELSE
IF LENGTH(NextVolgNr) <= i
THEN
DBMS_OUTPUT.put_line ('Cannot alter srtdeel: bindings do not match');
NextVolgNr:= LPAD(NextVolgNr,i,'0');
EXIT;
END IF;
END IF;
END LOOP;
ELSIF LPNName = 'LPN_ALG_GEBOUW'
THEN
FOR i IN 3..10
LOOP
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_gebouw_code, LENGTH(alg_gebouw_code)-(i-1), LENGTH(alg_gebouw_code)))+1)), '***')
INTO NextVolgNr
FROM alg_v_aanweziggebouw
WHERE LTRIM(SUBSTR(alg_gebouw_code, LENGTH(alg_gebouw_code)-(i-1), LENGTH(alg_gebouw_code))) BETWEEN '0' AND LPAD('9',i,'9')
AND alg_locatie_key = CondKey
AND LENGTH(alg_gebouw_code) <= i;
IF NextVolgNr = '***'
THEN
IF i = 3
THEN
NextVolgNr := '001';
ELSE
NextVolgNr := POWER(10, (i-1));
END IF;
EXIT;
ELSE
IF LENGTH(NextVolgNr) <= i
THEN
NextVolgNr:= LPAD(NextVolgNr,i,'0');
EXIT;
END IF;
END IF;
END LOOP;
ELSIF LPNName = 'LPN_ALG_RUIMTE'
THEN
FOR i IN 3..10
LOOP
SELECT NVL(TO_CHAR(MAX(TO_NUMBER(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1), LENGTH(alg_ruimte_nr)))+1)), '***')
INTO NextVolgNr
FROM alg_v_aanwezigruimte
WHERE LTRIM(SUBSTR(alg_ruimte_nr, LENGTH(alg_ruimte_nr)-(i-1), LENGTH(alg_ruimte_nr))) BETWEEN '0' AND LPAD('9',i,'9')
AND alg_verdieping_key = CondKey
AND LENGTH(alg_ruimte_nr) <= i;
IF NextVolgNr = '***'
THEN
IF i = 3
THEN
NextVolgNr := '001';
ELSE
NextVolgNr := POWER(10, (i-1));
END IF;
EXIT;
ELSE
IF LENGTH(NextVolgNr) <= i
THEN
NextVolgNr:= LPAD(NextVolgNr,i,'0');
EXIT;
END IF;
END IF;
END LOOP;
ELSIF LPNName = 'LPN_PRS_WERKPLEK'
THEN
BEGIN
SELECT TO_CHAR(NVL(MAX(prs_werkplek_volgnr),0) +1)
INTO NextVolgNr
FROM prs_werkplek
WHERE prs_alg_ruimte_key = CondKey;
EXCEPTION
WHEN NO_DATA_FOUND
THEN NextVolgNr := '1';
END;
/* Omschrijving */
BEGIN
SELECT alg_ruimte_nr ||' - '|| NextVolgNr
INTO NextVolgNr
FROM alg_ruimte
WHERE alg_ruimte_key = CondKey;
EXCEPTION
WHEN OTHERS
THEN NULL;
END;
END IF;
ReturnString := Prefix||NextVolgNr;
RETURN ReturnString;
END;
FUNCTION sprintf (ps IN varchar2, pins_deel_key IN number)
@@ -429,194 +358,142 @@ CREATE OR REPLACE PACKAGE BODY ins AS
END IF;
END;
-- Return the numeric difference between the values of str1 and str2 (first minus second)
-- Rerturn NULL if undecided for whatever reason
FUNCTION state_diff (str1 IN VARCHAR, str2 IN VARCHAR)
RETURN NUMBER
PROCEDURE ins_daily(today IN DATE DEFAULT SYSDATE)
AS
nrval1 NUMBER (12, 5);
nrval2 NUMBER (12, 5);
retval NUMBER;
BEGIN
nrval1 := fac.safe_to_number (REPLACE (str1, ',', '.'));
nrval2 := fac.safe_to_number (REPLACE (str2, ',', '.'));
IF nrval1 IS NOT NULL AND nrval2 IS NOT NULL
THEN
retval := (nrval1 - nrval2);
END IF;
RETURN retval;
END;
-- The return value from state_compare is 0 if the two strings are equal,
-- less than 0 if str1 compares less than str2 , and greater than 0
-- if str1 compares greater than str2 (within the first maxlen characters).
FUNCTION state_compare (str1 IN VARCHAR, str2 IN VARCHAR)
RETURN NUMBER
AS
BEGIN
RETURN SIGN (state_diff (str1, str2));
END;
-- Return >0 if the current state of a sensorvalue exceeds the threshold
-- Return NULL if undecided for whatever reason (no value, no threshold, no sensor
-- If pdays is given, the sensorstate must be set within the last pdays days
-- This provides the option of neglecting an irrelevant too old value
FUNCTION state_thresholdcompare (pdeel_key IN NUMBER, pdays NUMBER DEFAULT NULL)
RETURN NUMBER
AS
lstate ins_deel.ins_deel_state%TYPE;
lstatethreshold ins_srtdeel.ins_srtdeel_statethreshold%TYPE;
retval NUMBER;
BEGIN
IF pdeel_key IS NOT NULL
THEN
BEGIN
IF pdays IS NULL
THEN
SELECT ins_deel_state, ins_srtdeel_statethreshold
INTO lstate, lstatethreshold
FROM ins_deel d, ins_srtdeel sd
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
AND ins_deel_verwijder IS NULL
AND d.ins_deel_key = pdeel_key;
ELSE
SELECT ins_deel_state, ins_srtdeel_statethreshold
INTO lstate, lstatethreshold
FROM ins_deel d, ins_srtdeel sd
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
AND ins_deel_verwijder IS NULL
AND ins_deel_statedate > SYSDATE - pdays
AND d.ins_deel_key = pdeel_key;
END IF;
retval := state_compare (lstate, lstatethreshold);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
retval := NULL; -- dat wassieal maar dan is het maar duidelijk
END;
END IF;
RETURN retval;
END;
-- Archiveer de meetwaarde van discrete sensoren ouder danins_state_history dagen
-- naar een dag-histogram zodat je er nog wel daggemiddelden van hebt maar
-- niet meer de granulaire ballast.
-- parameter pdontdelete is alleen voor testers
PROCEDURE compress_states (pdodelete IN NUMBER DEFAULT 1)
AS
CURSOR c_days (eerste_dag IN DATE, laatste_dag IN DATE)
CURSOR c_days(eerste_dag IN DATE, laatste_dag IN DATE)
IS
SELECT DISTINCT TRUNC (h.ins_deel_statedate) uitvoer_dag
FROM ins_deel_state_history h
, ins_deel d
, ins_srtdeel s
WHERE h.ins_deel_key = d.ins_deel_key
AND d.ins_srtdeel_key = s.ins_srtdeel_key
AND BITAND (s.ins_srtdeel_sensortype, 1) = 1
AND h.ins_deel_statedate BETWEEN eerste_dag AND (laatste_dag + 1)
ORDER BY 1;
SELECT DISTINCT TRUNC(h.ins_deel_statedate) uitvoer_dag
FROM ins_deel_state_history h
, ins_deel d
, ins_srtdeel s
WHERE h.ins_deel_key = d.ins_deel_key
AND d.ins_srtdeel_key = s.ins_srtdeel_key
AND BITAND(s.ins_srtdeel_sensortype, 1) = 1
AND h.ins_deel_statedate BETWEEN eerste_dag AND (laatste_dag + 1)
ORDER BY 1;
keep_days NUMBER (3);
CURSOR c_sensors(dag IN DATE)
IS
SELECT DISTINCT h.ins_deel_key
FROM ins_deel_state_history h
, ins_deel d
, ins_srtdeel s
WHERE h.ins_deel_key = d.ins_deel_key
AND d.ins_srtdeel_key = s.ins_srtdeel_key
AND BITAND(s.ins_srtdeel_sensortype, 1) = 1
AND h.ins_deel_statedate BETWEEN (dag) AND (dag + 1);
-- Haal de statuswijzigingen van een dag op.
-- De laatste status loopt tot middernacht.
-- Ook de status van middernacht tot de eerste statuswijziging deze dag moet worden opgehaald.
-- Deze kan meerdere dagen voor deze dag voor het laatst gezet zijn!
CURSOR c_states ( deel_key IN NUMBER
, dag IN DATE)
IS
SELECT x.status
, SUM(x.eindtijd - x.starttijd) totaaltijd
FROM (
( SELECT a.ins_deel_state status
, dag starttijd
, min(c.ins_deel_statedate) eindtijd
, a.ins_deel_key
FROM ins_deel_state_history a
, ins_deel_state_history c
WHERE a.ins_deel_key = c.ins_deel_key
AND c.ins_deel_statedate BETWEEN dag AND dag+1
AND a.ins_deel_statedate = (SELECT MAX(b.ins_deel_statedate)
FROM ins_deel_state_history b
WHERE b.ins_deel_key = a.ins_deel_key
AND b.ins_deel_statedate < dag
)
GROUP BY a.ins_deel_key
, a.ins_deel_state
)
UNION
( SELECT a.ins_deel_state status
, a.ins_deel_statedate starttijd
, least(MIN(b.ins_deel_statedate), dag+1) eindtijd
, a.ins_deel_key
FROM ins_deel_state_history a
, ins_deel_state_history b
WHERE a.ins_deel_key = deel_key
AND a.ins_deel_statedate BETWEEN dag AND dag+1
AND a.ins_deel_key = b.ins_deel_key
AND a.ins_deel_state <> b.ins_deel_state
AND a.ins_deel_statedate < b.ins_deel_statedate
GROUP BY a.ins_deel_statedate
, a.ins_deel_state
, a.ins_deel_key
)
) x
WHERE x.ins_deel_key = deel_key
GROUP BY x.status;
keep_days NUMBER(3);
first_day_available DATE;
last_day_compressed DATE;
start_day_compress DATE;
end_day_compress DATE;
BEGIN
-- Tot hoeveel dagen terug houden we de ruwe data?
keep_days := TO_NUMBER (fac.getsetting ('ins_state_history'));
-- Setting aantal dagen history ophalen.
SELECT COALESCE(fac_setting_default, fac_setting_pvalue)
INTO keep_days
FROM fac_setting
WHERE fac_setting_name = 'ins_state_history';
-- dbms_output.put_line('today: '||to_char(today,'dd-mm-yyyy'));
-- Vandaag comprimeren mag niet want je weet niet of je alle meetwaarden al hebt.
end_day_compress := TRUNC (SYSDATE) - keep_days;
IF (end_day_compress = TRUNC (SYSDATE))
end_day_compress := TRUNC(today);
IF (end_day_compress = TRUNC(sysdate))
THEN
end_day_compress := end_day_compress - 1;
end_day_compress := end_day_compress -1;
END IF;
-- Voor welke dagen moet ins_deel_state_history gecomprimeerd worden?
-- (voor het geval compress_states een aantal dagen niet heeft gewerkt.)
SELECT TRUNC (COALESCE (MIN (ins_deel_statedate), end_day_compress))
-- (voor het geval ins_daily een aantal dagen niet heeft gewerkt.)
SELECT TRUNC(COALESCE(MIN(ins_deel_statedate), end_day_compress))
INTO first_day_available
FROM ins_deel_state_history;
-- dbms_output.put_line('first_day_available: ' ||to_char(first_day_available,'dd-mm-yyyy'));
SELECT COALESCE (TRUNC (MAX (ins_deel_statedate)), first_day_available)
SELECT COALESCE(TRUNC(MAX(ins_deel_statedate)), first_day_available)
INTO last_day_compressed
FROM ins_deel_state_history_all;
-- dbms_output.put_line('last_day_compressed: ' ||to_char(last_day_compressed,'dd-mm-yyyy'));
SELECT GREATEST (first_day_available, (last_day_compressed + 1))
SELECT GREATEST(first_day_available, (last_day_compressed + 1))
INTO start_day_compress
FROM DUAL;
-- dbms_output.put_line('Compress from '||to_char(start_day_compress,'dd-mm-yyyy')||' to '||to_char(end_day_compress,'dd-mm-yyyy'));
--DBMS_OUTPUT.put_line ('Compress from '|| TO_CHAR (start_day_compress, 'dd-mm-yyyy')||' to '|| TO_CHAR (end_day_compress, 'dd-mm-yyyy'));
FOR r_day IN c_days (start_day_compress, end_day_compress)
FOR r_day IN c_days(start_day_compress, end_day_compress)
LOOP
--DBMS_OUTPUT.put_line ('Compress ' || TO_CHAR (r_day.uitvoer_dag, 'dd-mm-yyyy'));
--
-- Haal de statuswijzigingen per dag. De laatste status loopt tot middernacht.
-- Ook de status van middernacht tot de eerste statuswijziging deze dag moet worden opgehaald.
-- Deze kan meerdere dagen voor deze dag voor het laatst gezet zijn!
INSERT INTO ins_deel_state_history_all (ins_deel_key,
ins_deel_statedate,
ins_deel_state,
ins_deel_statetime)
SELECT x.ins_deel_key,
r_day.uitvoer_dag,
x.status,
ROUND (SUM (x.eindtijd - x.starttijd), 3) totaaltijd
FROM (( SELECT a.ins_deel_state status,
r_day.uitvoer_dag starttijd,
MIN (c.ins_deel_statedate) eindtijd,
a.ins_deel_key
FROM ins_deel_state_history a, ins_deel_state_history c
WHERE a.ins_deel_key = c.ins_deel_key
AND c.ins_deel_statedate BETWEEN r_day.uitvoer_dag
AND r_day.uitvoer_dag + 1
AND a.ins_deel_statedate =
(SELECT MAX (b.ins_deel_statedate)
FROM ins_deel_state_history b
WHERE b.ins_deel_key = a.ins_deel_key
AND b.ins_deel_statedate < r_day.uitvoer_dag)
GROUP BY a.ins_deel_key, a.ins_deel_state)
UNION
( SELECT a.ins_deel_state status,
a.ins_deel_statedate starttijd,
LEAST (MIN (b.ins_deel_statedate), r_day.uitvoer_dag + 1) eindtijd,
a.ins_deel_key
FROM ins_deel_state_history a, ins_deel_state_history b
WHERE a.ins_deel_statedate BETWEEN r_day.uitvoer_dag
AND r_day.uitvoer_dag + 1
AND a.ins_deel_key = b.ins_deel_key
AND a.ins_deel_state <> b.ins_deel_state
AND a.ins_deel_statedate < b.ins_deel_statedate
GROUP BY a.ins_deel_statedate, a.ins_deel_state, a.ins_deel_key)) x
GROUP BY x.ins_deel_key, x.status
ORDER BY 1, 2;
-- dbms_output.put_line('Compress '||to_char(r_day.uitvoer_dag,'dd-mm-yyyy'));
FOR r_sensor IN c_sensors(r_day.uitvoer_dag)
LOOP
-- dbms_output.put_line('sensor: '||r_sensor.ins_deel_key);
FOR r_state IN c_states(r_sensor.ins_deel_key, r_day.uitvoer_dag)
LOOP
-- dbms_output.put_line('- '||to_char(r_sensor.ins_deel_key)||' '||r_state.status||' '||to_char(r_state.totaaltijd));
INSERT INTO ins_deel_state_history_all
( ins_deel_key
, ins_deel_statedate
, ins_deel_state
, ins_deel_statetime
) VALUES
( r_sensor.ins_deel_key
, r_day.uitvoer_dag
, r_state.status
, r_state.totaaltijd
);
END LOOP;
END LOOP;
COMMIT;
END LOOP;
IF pdodelete = 1
THEN
-- Verwijder alle records uit ins_deel_state_history ouder dan keep_days dagen.
-- dat is van de discrete sensoren die zojuist gearchiveer zijn,
-- maar dus ook de van de meetwaardesensoren, die willen we niet behouden
-- besloten we vooralsnog. Mocht er data van niet-sensoren staan (illegaal)
-- dan gooien we die niet weg.
DELETE FROM ins_deel_state_history
WHERE ins_deel_statedate <= TRUNC (SYSDATE - keep_days)
AND ins_deel_key IN
(SELECT ins_deel_key
FROM ins_deel d, ins_srtdeel s
WHERE d.ins_srtdeel_key = s.ins_srtdeel_key AND s.ins_srtdeel_sensortype <> 0);
END IF;
--
-- Verwijder alle records uit ins_deel_state_history ouder dan x dagen.
DELETE FROM ins_deel_state_history
WHERE TRUNC(ins_deel_statedate) <= TRUNC(SYSDATE - keep_days);
END;
END ins;

View File

@@ -310,13 +310,6 @@ CREATE_TABLE(ins_srtdeel,0)
NUMBER(3)
DEFAULT 0
NOT NULL,
ins_srtdeel_statethreshold /* drempelwaarde waarboven een melding type mld_stdmelding_key aangemaakt moet worden */
VARCHAR2(128),
/* in mld_tab.src:
mld_stdmelding_key
NUMBER(10)
CONSTRAINT mld_r_mld_stdmelding_key12 REFERENCES mld_stdmelding
*/
CONSTRAINT ins_c_ins_srtdeel_binding CHECK ((ins_srtdeel_module ='INS' AND ins_srtdeel_binding > 0) OR ins_srtdeel_module <> 'INS')
);

View File

@@ -337,216 +337,49 @@ BEGIN
END;
/
-- vul de sensorwaarde datumtijd (alleen) als die met een mutatie van de waarde niet werd meegegeven
CREATE_TRIGGER(ins_t_ins_deel_b_u)
BEFORE UPDATE
ON ins_deel
FOR EACH ROW
BEGIN
IF UPDATING ('ins_deel_state') AND NOT UPDATING ('ins_deel_statedate')
THEN
:new.ins_deel_statedate := SYSDATE;
END IF;
END;
/
CREATE_TRIGGER(ins_t_ins_deel_A_U)
AFTER UPDATE
ON ins_deel
FOR EACH ROW
AFTER UPDATE ON ins_deel
FOR EACH ROW
DECLARE
lmelder_oslogin CONSTANT VARCHAR (10) := '_SENSOR';
new_date DATE;
prev_state ins_deel_state_history.ins_deel_state%TYPE;
lstate_history_key ins_deel_state_history.ins_deel_state_history_key%TYPE;
ins_srtdeel_statethreshold ins_srtdeel.ins_srtdeel_statethreshold%TYPE;
ldubbelcheck_key mld_melding.mld_melding_key%TYPE;
lstdmelding_key ins_srtdeel.mld_stdmelding_key%TYPE;
ldiscipline_key mld_stdmelding.mld_ins_discipline_key%TYPE;
lstatethreshold ins_srtdeel.ins_srtdeel_statethreshold%TYPE;
lmelding_key mld_melding.mld_melding_key%TYPE;
lmelder_key mld_melding.prs_perslid_key%TYPE;
new_date DATE;
prev_state ins_deel_state_history.ins_deel_state%TYPE;
BEGIN
-- archiving chances in state_history
IF (:old.ins_deel_state IS NULL AND :new.ins_deel_state IS NOT NULL)
OR (:new.ins_deel_state <> :old.ins_deel_state)
THEN
BEGIN
new_date := COALESCE (:new.ins_deel_statedate, SYSDATE); -- voorkom dat de update *net* een seconde later kan zijn
IF (:old.ins_deel_state IS NULL AND :new.ins_deel_state IS NOT NULL)
OR (:new.ins_deel_state <> :old.ins_deel_state)
THEN
BEGIN
new_date := COALESCE (:new.ins_deel_statedate, SYSDATE); -- voorkom dat de update *net* een seconde later kan zijn
INSERT INTO ins_deel_state_history (ins_deel_key, ins_deel_state, ins_deel_statedate)
VALUES (:new.ins_deel_key, :new.ins_deel_state, COALESCE(:new.ins_deel_statedate, new_date));
EXCEPTION
WHEN DUP_VAL_ON_INDEX
THEN
BEGIN
SELECT ins_deel_state
INTO prev_state
FROM ins_deel_state_history
WHERE ins_deel_state_history_key =
(SELECT MAX (ins_deel_state_history_key)
FROM ins_deel_state_history
WHERE ins_deel_key = :new.ins_deel_key
AND ins_deel_statedate < new_date);
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
END;
INSERT INTO ins_deel_state_history (ins_deel_key, ins_deel_state, ins_deel_statedate)
VALUES (:new.ins_deel_key,
:new.ins_deel_state,
COALESCE (:new.ins_deel_statedate, new_date))
RETURNING ins_deel_state_history_key
INTO lstate_history_key;
EXCEPTION
WHEN DUP_VAL_ON_INDEX
IF (prev_state = :new.ins_deel_state)
THEN
BEGIN
SELECT ins_deel_state
INTO prev_state
FROM ins_deel_state_history
WHERE ins_deel_state_history_key =
(SELECT MAX (ins_deel_state_history_key)
FROM ins_deel_state_history
WHERE ins_deel_key = :new.ins_deel_key
AND ins_deel_statedate < new_date);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
END;
IF (prev_state = :new.ins_deel_state)
THEN
DELETE ins_deel_state_history
WHERE ins_deel_key = :new.ins_deel_key AND ins_deel_statedate = new_date;
ELSE -- kan alleen bij tri-stste statussen gebeuren
UPDATE ins_deel_state_history
SET ins_deel_state = :new.ins_deel_state
WHERE ins_deel_key = :new.ins_deel_key AND ins_deel_statedate = new_date;
END IF;
END;
END IF;
-- potentially trigger dependent actions
IF (:old.ins_deel_state IS NULL AND :new.ins_deel_state IS NOT NULL)
OR (:new.ins_deel_state <> :old.ins_deel_state)
THEN
BEGIN
SELECT ins_srtdeel_statethreshold, mld_stdmelding_key
INTO lstatethreshold, lstdmelding_key
FROM ins_srtdeel
WHERE ins_srtdeel_key = :new.ins_srtdeel_key;
IF lstatethreshold IS NOT NULL
AND lstdmelding_key IS NOT NULL
AND ins.state_compare (:new.ins_deel_state, lstatethreshold) > 0
AND ins.state_compare (:old.ins_deel_state, lstatethreshold) <= 0
THEN
-- Eerst controleren of er niet al een "heel recente" melding bestaat
-- waarmee deze zou kunnen gaan overlappen. We hebben geen behoefte aan veel meer
-- meldingen over hetzelfde, wellicht zou het iets over de urgentie zeggen..
--
BEGIN
SELECT prs_perslid_key
INTO lmelder_key
FROM prs_perslid
WHERE prs_perslid_oslogin = lmelder_oslogin AND prs_perslid_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.putsystemnotification ('Invalid configuration: missing _SENSOR user',
1);
END;
IF lmelder_key IS NOT NULL
THEN
-- Ik denk dat het voorlopig voldoende is om te checken dat *wij* hier niet al eerder
-- een automatische melding hebben gegenereerd. Handmatige parallelle meldingen
-- beschouwen we niet. We willen primair voorkomen dat er in een paar minuten tientallen
-- meldingen ontstaan omdat de waarde rond de limiet flippert. Een daalmarge zou
-- een ander mechanisme hiertegen kunnen zijn, maar dit is intrinsieker.
-- Ik zoek de goedkoopst mogelijk check, ik weet hier al zeker dat we (weer)
-- de limiet overschrijden. We nemen de tijd niet in beschouwing, omdat voor de ene
-- toepassing 1 minuut recent is, en voor een andere misschien een maand.
BEGIN
SELECT m.mld_melding_key
INTO ldubbelcheck_key
FROM mld_melding m, mld_melding_object mo
WHERE m.mld_melding_key = mo.mld_melding_key
AND mo.ins_deel_key = :new.ins_deel_key
AND m.mld_stdmelding_key = lstdmelding_key
AND m.prs_perslid_key = lmelder_key
AND m.mld_melding_status IN (2,
0,
4,
7); -- lopend
IF ldubbelcheck_key IS NOT NULL -- puur voor de leesbaarheid, als er geen is gaan we nl in de exception verder
THEN
-- track this. This seems like an appropriate place.
UPDATE ins_deel_state_history
SET ins_deel_state_history_opmerk =
REPLACE (
REPLACE (lcl.l ('lcl_ins_sensorstate_already_mld'),
'{0}',
lmelding_key),
'{1}',
lstatethreshold)
WHERE ins_deel_state_history_key = lstate_history_key;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
BEGIN
-- dit zou de trigger van mld_melding wel mogen doen..
SELECT msm.mld_ins_discipline_key
INTO ldiscipline_key
FROM mld_stdmelding msm
WHERE msm.mld_stdmelding_key = lstdmelding_key;
INSERT INTO mld_melding (mld_melding_module,
mld_meldbron_key,
mld_alg_locatie_key,
mld_alg_onroerendgoed_keys,
mld_melding_datum,
mld_melding_onderwerp,
mld_melding_omschrijving,
mld_stdmelding_key,
mld_melding_status,
mld_kosten_klant,
prs_perslid_key,
mld_melding_spoed,
mld_ins_discipline_key)
VALUES (
'MLD',
11, -- sensor
:new.ins_alg_locatie_key,
:new.ins_alg_ruimte_key,
SYSDATE,
lcl.l ('lcl_mld_state_generated_onderwerp'),
REPLACE (
REPLACE (
lcl.l (
'lcl_mld_state_generated_omschrijving'),
'{0}',
:new.ins_deel_state),
'{1}',
lstatethreshold),
lstdmelding_key,
2, -- of afh mld_directklaar
NULL,
lmelder_key, --TODO!!!!!!! prs_perslid_key,
3,
ldiscipline_key)
RETURNING mld_melding_key
INTO lmelding_key;
--en het sensorobject erbij registreren
INSERT INTO mld_melding_object (ins_deel_key, mld_melding_key)
VALUES (:new.ins_deel_key, lmelding_key);
-- track this. This seems like an appropriate place.
UPDATE ins_deel_state_history
SET ins_deel_state_history_opmerk =
REPLACE (
REPLACE (lcl.l ('lcl_ins_sensorstate_caused_mld'),
'{0}',
lmelding_key),
'{1}',
lstatethreshold)
WHERE ins_deel_state_history_key = lstate_history_key;
-- If defined kick off the workflow
mld.mld_nextworkflowstep (lmelding_key, -1);
END;
END;
END IF;
DELETE ins_deel_state_history
WHERE ins_deel_key = :new.ins_deel_key
AND ins_deel_statedate = new_date;
ELSE -- kan alleen bij tri-stste statussen gebeuren
UPDATE ins_deel_state_history
SET ins_deel_state = :new.ins_deel_state
WHERE ins_deel_key = :new.ins_deel_key
AND ins_deel_statedate = new_date;
END IF;
END;
END IF;
END;
END IF;
END;
/

View File

@@ -301,6 +301,24 @@ AS
NULL
FROM prs_v_perslid_fullnames_all;
--
-- dummy definitie van prs_v_afdeling_perslid
-- omdat deze in de ins_v_deel.. views gebruikt wordt
-- maar prs-views pas later worden aangemaakt.
--
CREATE_VIEW (prs_v_afdeling_perslid,0)
( prs_roerendgoed_key
, prs_roerendgoed_type
, prs_afdeling_key
, prs_afdeling_omschrijving
, prs_afdeling_upper
, prs_perslid_key
, prs_perslid_volnaam
, prs_perslid_upper
)
AS SELECT to_number(null),null,to_number(null),null,null,to_number(null),null,null
FROM DUAL;
CREATE_VIEW(ins_v_deel_gegevens,0)
( ins_discipline_key
, ins_discipline_omschrijving
@@ -2450,59 +2468,5 @@ SELECT di.deel_key,
ins_v_defined_inspect_xcp iscx
WHERE di.deel_key = iscx.ins_deel_key;
// Rapport over de gecomprimeerde/historische sensordata van status-sensoren
CREATE_VIEW(ins_v_udr_sensorhistogram, 0)
AS
SELECT h.ins_deel_key deel_key,
h.ins_deel_statedate datum,
og.alg_plaatsaanduiding plaats,
d.ins_deel_omschrijving sensor,
og.alg_gebouw_code gebouwcode,
og.alg_gebouw_naam gebouwnaam,
og.alg_verdieping_code verdiepingcode,
og.alg_ruimte_nr ruimtenr,
og.prs_werkplek_volgnr werkplekvolgnr,
og.prs_werkplek_omschrijving werkplek,
og.alg_terreinsector_code terreinsectorcode,
og.alg_terreinsector_naam terreinsector,
h.ins_deel_state status,
ROUND (h.ins_deel_statetime, 2) ratio,
og.alg_locatie_key fclt_3d_locatie_key,
d.ins_discipline_key fclt_3d_discipline_key
FROM ins_deel_state_history_all h, ins_deel d, ins_v_alg_overzicht og
WHERE og.alg_onroerendgoed_keys = d.ins_alg_ruimte_key
AND og.alg_onroerendgoed_type = d.ins_alg_ruimte_type
AND d.ins_deel_key = h.ins_deel_key;
// Rapport over de ongecomprimeerde recentere sensordata van sensoren
CREATE_VIEW(ins_v_udr_sensorhistorie, 0)
AS
SELECT h.ins_deel_key deel_key,
h.ins_deel_statedate datum,
og.alg_plaatsaanduiding plaats,
d.ins_deel_omschrijving sensor,
sd.ins_srtdeel_omschrijving soort,
og.alg_gebouw_code gebouwcode,
og.alg_gebouw_naam gebouwnaam,
og.alg_verdieping_code verdiepingcode,
og.alg_ruimte_nr ruimtenr,
og.prs_werkplek_volgnr werkplekvolgnr,
og.prs_werkplek_omschrijving werkplek,
og.alg_terreinsector_code terreinsectorcode,
og.alg_terreinsector_naam terreinsector,
h.ins_deel_state status,
fac.safe_to_number (REPLACE (h.ins_deel_state, ',', '.')) status_numeriek,
h.ins_deel_state_history_opmerk opmerking,
og.alg_locatie_key fclt_3d_locatie_key,
d.ins_discipline_key fclt_3d_discipline_key
FROM ins_deel_state_history h,
ins_deel d,
ins_v_alg_overzicht og,
ins_srtdeel sd
WHERE og.alg_onroerendgoed_keys = d.ins_alg_ruimte_key
AND og.alg_onroerendgoed_type = d.ins_alg_ruimte_type
AND sd.ins_srtdeel_key = d.ins_srtdeel_key
AND d.ins_deel_key = h.ins_deel_key;
REGISTERRUN('$Id$')
#endif // INS

View File

@@ -59,15 +59,9 @@ create index mld_i_mld_kenmerkopdr1 on mld_kenmerkopdr(mld_opdr_key);
CREATE UNIQUE INDEX mld_i_mld_disc_params1 ON mld_disc_params(mld_ins_discipline_key);
CREATE INDEX mld_i_mld_melding_note1 ON mld_melding_note(mld_melding_key);
CREATE INDEX mld_i_mld_melding_note2 ON mld_melding_note(fac_tracking_key);
CREATE INDEX mld_i_mld_melding_note3 ON mld_melding_note(mld_melding_note_parent_key);
CREATE INDEX mld_i_mld_melding_note4 ON mld_melding_note(prs_perslid_key);
CREATE INDEX mld_i_mld_melding_object1 ON mld_melding_object(mld_melding_key);
CREATE INDEX mld_i_mld_melding_object2 ON mld_melding_object(ins_deel_key, mld_melding_key);
CREATE INDEX mld_i_mld_opdr_note1 ON mld_opdr_note(mld_opdr_key);
CREATE INDEX mld_i_mld_opdr_note2 ON mld_opdr_note(fac_tracking_key);
CREATE INDEX mld_i_mld_opdr_note3 ON mld_opdr_note(mld_opdr_note_parent_key);
CREATE INDEX mld_i_mld_opdr_note4 ON mld_opdr_note(prs_perslid_key);
CREATE UNIQUE INDEX mld_i_mld_opdruren_kosten1 ON mld_opdruren_kosten(mld_opdr_uren_key, mld_kosten_key);
CREATE UNIQUE INDEX mld_i_mld_opdr_uren1 ON mld_opdr_uren(mld_opdr_uren_datum, mld_opdr_key, mld_impropdr_key, prs_perslid_key);

View File

@@ -32,7 +32,6 @@ INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (7,
INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (8, 'Chat');
INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (9, 'Social media');
INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (10, 'Inspectie');
INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (11, 'Sensor');
DEF_STATUS('melding', 0, 'lcl_mld_pending');
DEF_STATUS('melding', 1, 'lcl_mld_afgewezen');

View File

@@ -15,7 +15,7 @@ CREATE OR REPLACE PACKAGE mld AS
FUNCTION getmeldinguser (pmeldingkey IN number) RETURN NUMBER;
PROCEDURE setmeldingstatus (pmeldingkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER, pnotificeren IN NUMBER DEFAULT 1);
FUNCTION getopdrachtstatusdate (popdrkey IN number, pstatus IN number) RETURN date;
PROCEDURE setopdrachtstatus (popdrachtkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER, popdr_note_key IN NUMBER DEFAULT NULL);
PROCEDURE setopdrachtstatus (popdrachtkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER);
PROCEDURE notifybackoffice (pmeldingkey IN NUMBER, pcode IN VARCHAR2, pdisc_level IN NUMBER DEFAULT 1);
PROCEDURE notifyprio (pmeldingkey IN NUMBER, prio IN NUMBER, pperslid_key IN NUMBER, pdisc_level IN NUMBER DEFAULT 1);
PROCEDURE notifyopdrgoedkeurders (popdrkey IN NUMBER);
@@ -274,6 +274,21 @@ CREATE OR REPLACE PACKAGE BODY mld AS
THEN
newstatus := pstatus;
eventcode := 'MLDACP';
ELSIF currentstatus = 5
THEN
newstatus := pstatus;
-- Geen nieuwe tracking bij heropenen.
eventcode := NULL;
-- De MLDAFM trackingen veranderen in een MLDUPD tracking. De tekst (fac_srtnotificatie_oms) blijft hetzelfde.
UPDATE fac_tracking
SET fac_srtnotificatie_key = ((SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie tr
WHERE fac_srtnotificatie_code = 'MLDUPD')),
fac_tracking_oms = lcl.l('lcl_mld_is_mldafm')
WHERE fac_tracking_refkey = pmeldingkey
AND fac_srtnotificatie_key = ((SELECT sn.fac_srtnotificatie_key
FROM fac_srtnotificatie sn
WHERE sn.fac_srtnotificatie_code = 'MLDAFM'));
ELSIF currentstatus = 7
THEN
newstatus := pstatus;
@@ -421,7 +436,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
-- gezet, waarbij zonodig (indien verandering) een trackrecord wordt gemaakt
-- Als de status niet wijzigt, wordt ook geen trackrecord gemaakt
-- ZIE schema StateDiagramOpdrachten.vsd
PROCEDURE setopdrachtstatus (popdrachtkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER, popdr_note_key IN NUMBER DEFAULT NULL)
PROCEDURE setopdrachtstatus (popdrachtkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER)
AS
currentstatus mld_opdr.mld_statusopdr_key%TYPE;
newstatus mld_opdr.mld_statusopdr_key%TYPE;
@@ -429,7 +444,6 @@ CREATE OR REPLACE PACKAGE BODY mld AS
typeopdr_key mld_typeopdr.mld_typeopdr_key%TYPE;
typeopdr_isofferte mld_typeopdr.mld_typeopdr_isofferte%TYPE;
statusopdr_key_refiat mld_opdr.mld_statusopdr_key_refiat%TYPE;
new_fac_tracking_key fac_tracking.fac_tracking_key%TYPE;
BEGIN
SELECT mld_statusopdr_key, mld_typeopdr_key, mld_statusopdr_key_refiat
INTO currentstatus, typeopdr_key, statusopdr_key_refiat
@@ -555,13 +569,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
IF statusopdr_key_refiat IS NULL OR
newstatus = 3 OR newstatus = 4 OR newstatus = 10
THEN
fac.trackaction (eventcode, popdrachtkey, puserkey, NULL, NULL, new_fac_tracking_key);
IF popdr_note_key IS NOT NULL
THEN
UPDATE mld_opdr_note
SET fac_tracking_key = new_fac_tracking_key
WHERE mld_opdr_note_key = popdr_note_key;
END IF;
fac.trackaction (eventcode, popdrachtkey, puserkey, NULL, NULL);
END IF;
END IF;
END;
@@ -2239,9 +2247,8 @@ CREATE OR REPLACE PACKAGE BODY mld AS
THEN
RETURN TRUE;
END IF;
-- ook standaardondersteuning voor p.alg_gebouw_key, p.alg_verdieping_key, p.alg_ruimte_key en p.alg_terreinsector_key in de conditie
l_sql := 'select 1 from mld_melding, alg_v_onroerendgoed p where mld_melding.mld_alg_onroerendgoed_keys = p.alg_onroerendgoed_keys(+) AND mld_melding_key = :mld_key AND (' || p_where ||')';
l_sql := 'select 1 from mld_melding where mld_melding_key = :mld_key AND ' || p_where;
DBMS_OUTPUT.put_line (l_sql);
DBMS_SQL.parse (l_cursor, l_sql, DBMS_SQL.native);
DBMS_SQL.bind_variable (l_cursor, ':mld_key', p_mld_key);
@@ -2870,58 +2877,32 @@ CREATE OR REPLACE PACKAGE BODY mld AS
END mld_nextworkflowstep;
-- Bereken van de melding het object met de laagste uitvoertijd.
-- Levert NULL als er geen objecten zijn
FUNCTION getlowestobjectuitvoer (p_melding_key IN NUMBER)
RETURN NUMBER
AS
lnrins NUMBER;
v_ins_key_min_uitvoertijd NUMBER;
v_ins_key_min_uitvoertijd NUMBER;
BEGIN
-- even kijken of er uberhaupt wel objecten zijn
-- zonder de ins_deel tabel te raadplegen
-- dat leidde nl tot een muating-error bij het verwerken van
-- sensoroverschreiding, en het kan in veel gevallen directer
SELECT COUNT (*)
INTO lnrins
FROM mld_melding_object m
WHERE mld_melding_key = p_melding_key;
SELECT MAX (d.ins_deel_key) ins_deel_key
INTO v_ins_key_min_uitvoertijd
FROM ins_deel d,
mld_melding_object m
WHERE m.mld_melding_key = p_melding_key
AND d.ins_deel_key = m.ins_deel_key
AND (CASE
WHEN d.ins_deel_t_uitvoertijd.eenheid = 'U'
THEN d.ins_deel_t_uitvoertijd.tijdsduur / 24
ELSE d.ins_deel_t_uitvoertijd.tijdsduur
END) = (SELECT MIN (CASE
WHEN d1.ins_deel_t_uitvoertijd.eenheid = 'U'
THEN d1.ins_deel_t_uitvoertijd.tijdsduur / 24
ELSE d1.ins_deel_t_uitvoertijd.tijdsduur
END)
FROM ins_deel d1,
mld_melding_object m1
WHERE m1.mld_melding_key = p_melding_key
AND d1.ins_deel_key = m1.ins_deel_key);
IF lnrins = 0
THEN
v_ins_key_min_uitvoertijd := NULL;
ELSIF lnrins = 1
THEN
SELECT ins_deel_key
INTO v_ins_key_min_uitvoertijd
FROM mld_melding_object m
WHERE mld_melding_key = p_melding_key;
ELSE
SELECT MAX (d.ins_deel_key) ins_deel_key
INTO v_ins_key_min_uitvoertijd
FROM ins_deel d, mld_melding_object m
WHERE m.mld_melding_key = p_melding_key
AND d.ins_deel_key = m.ins_deel_key
AND (CASE
WHEN d.ins_deel_t_uitvoertijd.eenheid = 'U'
THEN
d.ins_deel_t_uitvoertijd.tijdsduur / 24
ELSE
d.ins_deel_t_uitvoertijd.tijdsduur
END) =
(SELECT MIN (
CASE
WHEN d1.ins_deel_t_uitvoertijd.eenheid = 'U'
THEN
d1.ins_deel_t_uitvoertijd.tijdsduur / 24
ELSE
d1.ins_deel_t_uitvoertijd.tijdsduur
END)
FROM ins_deel d1, mld_melding_object m1
WHERE m1.mld_melding_key = p_melding_key
AND d1.ins_deel_key = m1.ins_deel_key);
END IF;
RETURN v_ins_key_min_uitvoertijd;
RETURN v_ins_key_min_uitvoertijd;
END;
-- Dit is de tijd waarop afgerekend gaat worden. Respijt wordt er afgetrokken

View File

@@ -41,7 +41,6 @@ CREATE SEQUENCE mld_s_mld_opdruren_dagk_key MINVALUE 1;
CREATE SEQUENCE mld_s_dienstniveau_key MINVALUE 1;
CREATE SEQUENCE mld_s_dienstpakket_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_stdm_srtruimte_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_opdr_uitvoeren_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_opdr_materiaal_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_afmeldtekst_key MINVALUE 1;

View File

@@ -531,12 +531,6 @@ ALTER TABLE mld_stdmelding MODIFY mld_stdmelding_t_uitvoertijd NOT_NULL(mld_stdm
ALTER TABLE mld_stdmelding MODIFY mld_stdmelding_t_uitvtijd_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmelding MODIFY mld_stdmelding_t_uitvtijd_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmelding MODIFY mld_stdmelding_t_uitvtijd_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE ins_srtdeel ADD
(
mld_stdmelding_key
NUMBER(10) REFERENCES mld_stdmelding(mld_stdmelding_key)
);
ALTER TABLE ins_srtcontrole ADD
(
mld_stdmelding_key
@@ -1534,8 +1528,7 @@ CREATE_TABLE(mld_melding_note, 0)
fac_note_group_key NUMBER (10) REFERENCES fac_note_group(fac_note_group_key) ON DELETE SET NULL,
mld_melding_note_omschrijving VARCHAR2 (4000 CHAR),
mld_melding_note_flag NUMBER (2) DEFAULT 0, // &1=FE, &2= unused (Altijd zichtbaar voor FOBO), +4=UITV (redefined DB41)
mld_melding_note_parent_key NUMBER (10) DEFAULT NULL REFERENCES mld_melding_note (mld_melding_note_key) ON DELETE CASCADE,
fac_tracking_key NUMBER (10) REFERENCES fac_tracking (fac_tracking_key) ON DELETE SET NULL /* optionally related to a specific event */
mld_melding_note_parent_key NUMBER (10) DEFAULT NULL REFERENCES mld_melding_note (mld_melding_note_key) ON DELETE CASCADE
);
CREATE_TABLE(mld_opdr_note, 0)
@@ -1548,8 +1541,7 @@ CREATE_TABLE(mld_opdr_note, 0)
fac_note_group_key NUMBER (10) REFERENCES fac_note_group(fac_note_group_key) ON DELETE SET NULL,
mld_opdr_note_omschrijving VARCHAR2 (4000 CHAR),
mld_opdr_note_flag NUMBER (2) DEFAULT 4, // &1=FE, &2= unused (Altijd zichtbaar voor FOBO), +4=UITV
mld_opdr_note_parent_key NUMBER (10) DEFAULT NULL REFERENCES mld_opdr_note (mld_opdr_note_key) ON DELETE CASCADE,
fac_tracking_key NUMBER (10) REFERENCES fac_tracking (fac_tracking_key) ON DELETE SET NULL /* optionally related to a specific event */
mld_opdr_note_parent_key NUMBER (10) DEFAULT NULL REFERENCES mld_opdr_note (mld_opdr_note_key) ON DELETE CASCADE
);
-- Improductieve opdrachten, alternatief van mld_opdr om uren op te registreren
@@ -1678,22 +1670,6 @@ CREATE_TABLE(mld_dienstpakket, 0)
NUMBER(10) REFERENCES mld_stdmelding(mld_stdmelding_key)
);
CREATE_TABLE(mld_stdmelding_srtruimte, 0)
(
mld_stdmelding_srtruimte_key
NUMBER(10)
PRIMARY KEY,
mld_stdmelding_key
NUMBER(10)
NOT_NULL(mld_stdmelding_key, mld_c_mld_stdmelding_key3)
CONSTRAINT mld_r_mld_stdmelding_key11 REFERENCES mld_stdmelding(mld_stdmelding_key) ON DELETE CASCADE,
alg_srtruimte_key
NUMBER(10)
NOT_NULL(alg_srtruimte_key, ins_c_ins_srtruimte_key)
CONSTRAINT mld_r_ins_srtruimte_key REFERENCES alg_srtruimte(alg_srtruimte_key) ON DELETE CASCADE,
CONSTRAINT mld_u_mld_stdmelding_srtruimte UNIQUE(mld_stdmelding_key, alg_srtruimte_key)
);
CREATE_TABLE(mld_opdr_uitvoeren, 0)
(
mld_opdr_uitvoeren_key

View File

@@ -283,13 +283,6 @@ BEGIN
END IF;
END;
END IF;
-- Beoordeling van de melding
IF (:new.mld_melding_satisfaction IS NOT NULL
AND (:old.mld_melding_satisfaction IS NULL OR :old.mld_melding_satisfaction <> :new.mld_melding_satisfaction))
THEN
fac.trackaction('MLDLIK', :old.mld_melding_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.mld_melding_satisfaction));
END IF;
END;
/
@@ -861,14 +854,6 @@ BEGIN
END;
/
CREATE_TRIGGER(mld_t_mld_stdm_srtruimte_B_I)
BEFORE INSERT ON mld_stdmelding_srtruimte
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_stdmelding_srtruimte_key, mld_s_mld_stdm_srtruimte_key);
END;
/
CREATE_TRIGGER(mld_t_mld_opdr_uitvoeren_B_IU)
BEFORE INSERT OR UPDATE ON mld_opdr_uitvoeren
FOR EACH ROW

View File

@@ -1353,8 +1353,8 @@ AS
sla_werkuren,
sla_respijtdgn,
sla_respijturen,
DECODE(x.sla_accpt.eenheid, 'D', x.sla_accpt.tijdsduur, NULL) sla_accptdgn,
DECODE(x.sla_accpt.eenheid, 'U', x.sla_accpt.tijdsduur, NULL) sla_accpturen,
sla_accptdgn,
sla_accpturen,
plan_uitvoertijd_sla,
datum,
einddatum,
@@ -1375,13 +1375,13 @@ AS
mld_melding_satisfaction_op,
mld_melding_flag,
mld_melding_actiecode,
DECODE (x.sla_accpt.eenheid, 'D', acceptdatum - COALESCE (accepted, afgemeld), NULL)
DECODE (x.t_doorlooptijd.eenheid, 'D', acceptdatum - COALESCE (accepted, afgemeld), NULL)
accept_sla_dagen,
CAST (
DECODE (x.sla_accpt.eenheid,
DECODE (x.t_doorlooptijd.eenheid,
'U', (acceptdatum - COALESCE (accepted, afgemeld)) * 24,
NULL)
AS NUMBER(7,2)
AS NUMBER(7,2)
)
accept_sla_uren,
DECODE (
@@ -1402,13 +1402,13 @@ AS
AS NUMBER(7,2)
)
uitvoering_sla_uren,
DECODE (x.sla_accpt.eenheid,
DECODE (x.t_doorlooptijd.eenheid,
'D', einddatum - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0),
NULL)
afspraak_sla_dagen,
CAST (
DECODE (
x.sla_accpt.eenheid,
x.t_doorlooptijd.eenheid,
'U',
( (einddatum - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijtdgn, 0),
NULL)
@@ -1589,11 +1589,14 @@ AS
'U', m.mld_melding_t_respijt.tijdsduur,
NULL)
sla_respijturen,
CASE WHEN m.mld_melding_spoed = 3 THEN s.mld_stdmelding_t_accepttijd
WHEN m.mld_melding_spoed = 1 then s.mld_stdmelding_t_accept_pr1
WHEN m.mld_melding_spoed = 1 then s.mld_stdmelding_t_accept_pr2
WHEN m.mld_melding_spoed = 1 then s.mld_stdmelding_t_accept_pr4
END sla_accpt,
DECODE (m.mld_melding_t_accepttijd.eenheid,
'D', m.mld_melding_t_accepttijd.tijdsduur,
NULL)
sla_accptdgn,
DECODE (m.mld_melding_t_accepttijd.eenheid,
'U', m.mld_melding_t_accepttijd.tijdsduur,
NULL)
sla_accpturen,
m.mld_melding_datum datum,
CASE WHEN s.mld_stdmelding_planbaar = 2
THEN TO_DATE(NULL)
@@ -1710,10 +1713,7 @@ CREATE_VIEW(mld_v_udr_opdracht, 1)
opdracht_parent_volgnummer,
opdracht_verstrektdatum,
opdracht_lev_doorloopdagen,
opdracht_lev_doorloopuren,
opdracht_gefactureerd_excl,
opdracht_gefactureerd_btw,
opdracht_gefactureerd_incl
opdracht_lev_doorloopuren
)
AS
SELECT mld_opdr_key,
@@ -1781,10 +1781,7 @@ AS
, NULL
, NULL
, 'U'
).tijdsduur opdracht_lev_doorloopuren,
gefactureerd_excl,
gefactureerd_btw,
gefactureerd_incl
).tijdsduur opdracht_lev_doorloopuren
FROM (SELECT alg_regio_omschrijving,
alg_district_omschrijving,
alg_locatie_code locatie,
@@ -1871,7 +1868,7 @@ AS
c.cnt_contract_versie opdracht_contract_versie,
o.mld_opdr_contactpersoon opdracht_contactpersoon,
o.mld_opdr_uren opdracht_uren,
COALESCE(o.mld_opdr_kosten, 0) - COALESCE(o.mld_opdr_materiaal, 0) - (COALESCE(o.mld_opdr_uren, 0) * COALESCE(o.mld_opdr_uurloon, 0))
o.mld_opdr_kosten - o.mld_opdr_materiaal - (o.mld_opdr_uren * o.mld_opdr_uurloon)
opdracht_correctie,
o.mld_opdr_materiaal opdracht_materiaal,
o.mld_opdr_uurloon opdracht_uurtarief,
@@ -1887,26 +1884,7 @@ AS
2, stdm.mld_stdmelding_t_uitvtijd_pr2.eenheid,
3, stdm.mld_stdmelding_t_uitvoertijd.eenheid,
stdm.mld_stdmelding_t_uitvtijd_pr4.eenheid
) eenheid,
COALESCE((SELECT SUM(f.fin_factuur_totaal)
FROM fin_factuur f
WHERE f.mld_opdr_key = o.mld_opdr_key
AND f.fin_factuur_statuses_key <> 1
AND f.fin_factuur_verwijder IS NULL
), 0) gefactureerd_excl,
COALESCE((SELECT SUM(f.fin_factuur_totaal_btw)
FROM fin_factuur f
WHERE f.mld_opdr_key = o.mld_opdr_key
AND f.fin_factuur_statuses_key <> 1
AND f.fin_factuur_verwijder IS NULL
), 0) gefactureerd_btw,
COALESCE((SELECT SUM(f.fin_factuur_totaal + f.fin_factuur_totaal_btw)
FROM fin_factuur f
WHERE f.mld_opdr_key = o.mld_opdr_key
AND f.fin_factuur_statuses_key <> 1
AND f.fin_factuur_verwijder IS NULL
), 0) gefactureerd_incl
) eenheid
FROM alg_locatie l,
alg_district d,
alg_regio r,
@@ -2083,7 +2061,6 @@ SELECT
// UDR met kenmerken (1 record per kenmerk met waarde in kolom c, n of d afhankelijk van type
// Geen kenmerk, geen record.
// Obsolete geraakt sinds FCLT#56801, bestaat alleen nog een tijdje om compatibel te blijven
CREATE_VIEW(mld_v_udr_meldingkenmerk_cnd, 1)
AS
SELECT m.*,
@@ -2135,7 +2112,7 @@ AS
AND km.mld_kenmerk_key = k.mld_kenmerk_key(+)
AND k.mld_srtkenmerk_key = skm.mld_srtkenmerk_key(+);
// Obsolete geraakt sinds FCLT#56801, bestaat alleen nog een tijdje om compatibel te blijven
CREATE_VIEW(mld_v_udr_opdrachtkenmerk_cnd, 1)
AS
SELECT o.*,

View File

@@ -117,10 +117,9 @@ AS
AND ins_srtdeel_key = srtdeelkey
AND ins_deel_verwijder IS NULL;
-- Gevonden, dus niet uniek. Probeer het met een sterretje ervoor, passen ze dat later maar zelf aan
SELECT ins.nextdescription(ins_srtdeel_code, parent_key)
INTO omschrijving
FROM ins_srtdeel
WHERE ins_srtdeel_key = srtdeelkey;
SELECT ins.get_description('LPN_INS_DEEL',parent_key , ins_srtdeel_code_upper)
INTO omschrijving
FROM ins_srtdeel WHERE ins_srtdeel_key=srtdeelkey;
EXCEPTION
WHEN NO_DATA_FOUND
THEN

View File

@@ -512,10 +512,13 @@ AS
WHEN 'BES'
THEN
SELECT CASE
WHEN bes_bestelling_fiat_user IS NULL
-- I.v.m. herfiattering hier niet meer met de 'BESFIT' tracking gecontroleerd of de kp verantvoordelijke al gefiatteerd heeft,
-- maar hier kijken naar het gefiatteerde bedrag die is opgeslagen in het veld bes_bestelling.bes_bestelling_fiat_user.
-- Bij herfiattering wordt dit veld leeg gemaakt zodat de bestelling weer als een nieuwe bestelling moet worden gefiatteerd (AAIT#79538).
WHEN NOT EXISTS
(SELECT prs_perslid_key
FROM fac_tracking t,
fac_srtnotificatie st
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND st.fac_srtnotificatie_code = 'BESFIT'
AND fac_tracking_refkey = b.bes_bestelling_key)
THEN
prs.getfiatteur(b.prs_kostenplaats_key, pexcludekey, binfo.totaal, binfo.ins_discipline_key, COALESCE(bes_bestelling_fiatbedrag, -1))
WHEN bes_bestelling_fiatbedrag >= COALESCE(kpg.prs_kostenplaatsgrp_fin_limit2, fac.safe_To_Number(fac.getsetting ('mld_opdr_kpg_fin_limit2')))
@@ -911,26 +914,26 @@ AS
v_prs_perslid_oslogin VARCHAR2 (256);
v_prs_perslid_wachtwoord VARCHAR2 (256);
v_prs_perslid_apikey VARCHAR2 (256);
v_prs_kenmerk1 VARCHAR2 (4000);
v_prs_kenmerk2 VARCHAR2 (4000);
v_prs_kenmerk3 VARCHAR2 (4000);
v_prs_kenmerk4 VARCHAR2 (4000);
v_prs_kenmerk5 VARCHAR2 (4000);
v_prs_kenmerk6 VARCHAR2 (4000);
v_prs_kenmerk7 VARCHAR2 (4000);
v_prs_kenmerk8 VARCHAR2 (4000);
v_prs_kenmerk9 VARCHAR2 (4000);
v_prs_kenmerk10 VARCHAR2 (4000);
v_prs_kenmerk11 VARCHAR2 (4000);
v_prs_kenmerk12 VARCHAR2 (4000);
v_prs_kenmerk13 VARCHAR2 (4000);
v_prs_kenmerk14 VARCHAR2 (4000);
v_prs_kenmerk15 VARCHAR2 (4000);
v_prs_kenmerk16 VARCHAR2 (4000);
v_prs_kenmerk17 VARCHAR2 (4000);
v_prs_kenmerk18 VARCHAR2 (4000);
v_prs_kenmerk19 VARCHAR2 (4000);
v_prs_kenmerk20 VARCHAR2 (4000);
v_prs_kenmerk1 VARCHAR2 (256);
v_prs_kenmerk2 VARCHAR2 (256);
v_prs_kenmerk3 VARCHAR2 (256);
v_prs_kenmerk4 VARCHAR2 (256);
v_prs_kenmerk5 VARCHAR2 (256);
v_prs_kenmerk6 VARCHAR2 (256);
v_prs_kenmerk7 VARCHAR2 (256);
v_prs_kenmerk8 VARCHAR2 (256);
v_prs_kenmerk9 VARCHAR2 (256);
v_prs_kenmerk10 VARCHAR2 (256);
v_prs_kenmerk11 VARCHAR2 (256);
v_prs_kenmerk12 VARCHAR2 (256);
v_prs_kenmerk13 VARCHAR2 (256);
v_prs_kenmerk14 VARCHAR2 (256);
v_prs_kenmerk15 VARCHAR2 (256);
v_prs_kenmerk16 VARCHAR2 (256);
v_prs_kenmerk17 VARCHAR2 (256);
v_prs_kenmerk18 VARCHAR2 (256);
v_prs_kenmerk19 VARCHAR2 (256);
v_prs_kenmerk20 VARCHAR2 (256);
v_prs_kenmerk_key1 VARCHAR2 (255);
v_prs_kenmerk_key2 VARCHAR2 (255);
v_prs_kenmerk_key3 VARCHAR2 (255);
@@ -1840,26 +1843,26 @@ AS
v_prs_perslid_wachtwoord,
v_prs_perslid_titel,
v_prs_perslid_apikey,
DECODE(v_prs_kenmerk_key1, NULL, v_prs_kenmerk1, TO_CHAR(v_prs_kenmerk_key1) || '=' || SUBSTR(v_prs_kenmerk1, 1, 3980)),
DECODE(v_prs_kenmerk_key2, NULL, v_prs_kenmerk2, TO_CHAR(v_prs_kenmerk_key2) || '=' || SUBSTR(v_prs_kenmerk2, 1, 3980)),
DECODE(v_prs_kenmerk_key3, NULL, v_prs_kenmerk3, TO_CHAR(v_prs_kenmerk_key3) || '=' || SUBSTR(v_prs_kenmerk3, 1, 3980)),
DECODE(v_prs_kenmerk_key4, NULL, v_prs_kenmerk4, TO_CHAR(v_prs_kenmerk_key4) || '=' || SUBSTR(v_prs_kenmerk4, 1, 3980)),
DECODE(v_prs_kenmerk_key5, NULL, v_prs_kenmerk5, TO_CHAR(v_prs_kenmerk_key5) || '=' || SUBSTR(v_prs_kenmerk5, 1, 3980)),
DECODE(v_prs_kenmerk_key6, NULL, v_prs_kenmerk6, TO_CHAR(v_prs_kenmerk_key6) || '=' || SUBSTR(v_prs_kenmerk6, 1, 3980)),
DECODE(v_prs_kenmerk_key7, NULL, v_prs_kenmerk7, TO_CHAR(v_prs_kenmerk_key7) || '=' || SUBSTR(v_prs_kenmerk7, 1, 3980)),
DECODE(v_prs_kenmerk_key8, NULL, v_prs_kenmerk8, TO_CHAR(v_prs_kenmerk_key8) || '=' || SUBSTR(v_prs_kenmerk8, 1, 3980)),
DECODE(v_prs_kenmerk_key9, NULL, v_prs_kenmerk9, TO_CHAR(v_prs_kenmerk_key9) || '=' || SUBSTR(v_prs_kenmerk9, 1, 3980)),
DECODE(v_prs_kenmerk_key10, NULL, v_prs_kenmerk10, TO_CHAR(v_prs_kenmerk_key10) || '=' || SUBSTR(v_prs_kenmerk10, 1, 3980)),
DECODE(v_prs_kenmerk_key11, NULL, v_prs_kenmerk11, TO_CHAR(v_prs_kenmerk_key11) || '=' || SUBSTR(v_prs_kenmerk11, 1, 3980)),
DECODE(v_prs_kenmerk_key12, NULL, v_prs_kenmerk12, TO_CHAR(v_prs_kenmerk_key12) || '=' || SUBSTR(v_prs_kenmerk12, 1, 3980)),
DECODE(v_prs_kenmerk_key13, NULL, v_prs_kenmerk13, TO_CHAR(v_prs_kenmerk_key13) || '=' || SUBSTR(v_prs_kenmerk13, 1, 3980)),
DECODE(v_prs_kenmerk_key14, NULL, v_prs_kenmerk14, TO_CHAR(v_prs_kenmerk_key14) || '=' || SUBSTR(v_prs_kenmerk14, 1, 3980)),
DECODE(v_prs_kenmerk_key15, NULL, v_prs_kenmerk15, TO_CHAR(v_prs_kenmerk_key15) || '=' || SUBSTR(v_prs_kenmerk15, 1, 3980)),
DECODE(v_prs_kenmerk_key16, NULL, v_prs_kenmerk16, TO_CHAR(v_prs_kenmerk_key16) || '=' || SUBSTR(v_prs_kenmerk16, 1, 3980)),
DECODE(v_prs_kenmerk_key17, NULL, v_prs_kenmerk17, TO_CHAR(v_prs_kenmerk_key17) || '=' || SUBSTR(v_prs_kenmerk17, 1, 3980)),
DECODE(v_prs_kenmerk_key18, NULL, v_prs_kenmerk18, TO_CHAR(v_prs_kenmerk_key18) || '=' || SUBSTR(v_prs_kenmerk18, 1, 3980)),
DECODE(v_prs_kenmerk_key19, NULL, v_prs_kenmerk19, TO_CHAR(v_prs_kenmerk_key19) || '=' || SUBSTR(v_prs_kenmerk19, 1, 3980)),
DECODE(v_prs_kenmerk_key20, NULL, v_prs_kenmerk20, TO_CHAR(v_prs_kenmerk_key20) || '=' || SUBSTR(v_prs_kenmerk20, 1, 3980)),
DECODE(v_prs_kenmerk_key1, NULL, v_prs_kenmerk1, TO_CHAR(v_prs_kenmerk_key1) || '=' || SUBSTR(v_prs_kenmerk1, 1, 200)),
DECODE(v_prs_kenmerk_key2, NULL, v_prs_kenmerk2, TO_CHAR(v_prs_kenmerk_key2) || '=' || SUBSTR(v_prs_kenmerk2, 1, 200)),
DECODE(v_prs_kenmerk_key3, NULL, v_prs_kenmerk3, TO_CHAR(v_prs_kenmerk_key3) || '=' || SUBSTR(v_prs_kenmerk3, 1, 200)),
DECODE(v_prs_kenmerk_key4, NULL, v_prs_kenmerk4, TO_CHAR(v_prs_kenmerk_key4) || '=' || SUBSTR(v_prs_kenmerk4, 1, 200)),
DECODE(v_prs_kenmerk_key5, NULL, v_prs_kenmerk5, TO_CHAR(v_prs_kenmerk_key5) || '=' || SUBSTR(v_prs_kenmerk5, 1, 200)),
DECODE(v_prs_kenmerk_key6, NULL, v_prs_kenmerk6, TO_CHAR(v_prs_kenmerk_key6) || '=' || SUBSTR(v_prs_kenmerk6, 1, 200)),
DECODE(v_prs_kenmerk_key7, NULL, v_prs_kenmerk7, TO_CHAR(v_prs_kenmerk_key7) || '=' || SUBSTR(v_prs_kenmerk7, 1, 200)),
DECODE(v_prs_kenmerk_key8, NULL, v_prs_kenmerk8, TO_CHAR(v_prs_kenmerk_key8) || '=' || SUBSTR(v_prs_kenmerk8, 1, 200)),
DECODE(v_prs_kenmerk_key9, NULL, v_prs_kenmerk9, TO_CHAR(v_prs_kenmerk_key9) || '=' || SUBSTR(v_prs_kenmerk9, 1, 200)),
DECODE(v_prs_kenmerk_key10, NULL, v_prs_kenmerk10, TO_CHAR(v_prs_kenmerk_key10) || '=' || SUBSTR(v_prs_kenmerk10, 1, 200)),
DECODE(v_prs_kenmerk_key11, NULL, v_prs_kenmerk11, TO_CHAR(v_prs_kenmerk_key11) || '=' || SUBSTR(v_prs_kenmerk11, 1, 200)),
DECODE(v_prs_kenmerk_key12, NULL, v_prs_kenmerk12, TO_CHAR(v_prs_kenmerk_key12) || '=' || SUBSTR(v_prs_kenmerk12, 1, 200)),
DECODE(v_prs_kenmerk_key13, NULL, v_prs_kenmerk13, TO_CHAR(v_prs_kenmerk_key13) || '=' || SUBSTR(v_prs_kenmerk13, 1, 200)),
DECODE(v_prs_kenmerk_key14, NULL, v_prs_kenmerk14, TO_CHAR(v_prs_kenmerk_key14) || '=' || SUBSTR(v_prs_kenmerk14, 1, 200)),
DECODE(v_prs_kenmerk_key15, NULL, v_prs_kenmerk15, TO_CHAR(v_prs_kenmerk_key15) || '=' || SUBSTR(v_prs_kenmerk15, 1, 200)),
DECODE(v_prs_kenmerk_key16, NULL, v_prs_kenmerk16, TO_CHAR(v_prs_kenmerk_key16) || '=' || SUBSTR(v_prs_kenmerk16, 1, 200)),
DECODE(v_prs_kenmerk_key17, NULL, v_prs_kenmerk17, TO_CHAR(v_prs_kenmerk_key17) || '=' || SUBSTR(v_prs_kenmerk17, 1, 200)),
DECODE(v_prs_kenmerk_key18, NULL, v_prs_kenmerk18, TO_CHAR(v_prs_kenmerk_key18) || '=' || SUBSTR(v_prs_kenmerk18, 1, 200)),
DECODE(v_prs_kenmerk_key19, NULL, v_prs_kenmerk19, TO_CHAR(v_prs_kenmerk_key19) || '=' || SUBSTR(v_prs_kenmerk19, 1, 200)),
DECODE(v_prs_kenmerk_key20, NULL, v_prs_kenmerk20, TO_CHAR(v_prs_kenmerk_key20) || '=' || SUBSTR(v_prs_kenmerk20, 1, 200)),
rec1.fac_import_key,
rec1.fac_imp_file_index);
@@ -2616,7 +2619,6 @@ AS
UPDATE prs_perslid
SET prs_perslid_naam =
SUBSTR ('INACTIEF:' || prs_perslid_naam, 1, 60),
prs_perslid_inactief = SYSDATE,
prs_perslid_oslogin = NULL,
prs_perslid_oslogin2 = NULL
WHERE prs_perslid_key = p_perslid_key

View File

@@ -30,6 +30,7 @@ CREATE SEQUENCE prs_s_prs_kostencombinatie_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_kostensoortgrp_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_collega_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_staffel_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_perslid_inzet_key MINVALUE 1;
CREATE SEQUENCE prs_s_prs_relatietype_key MINVALUE 10;

View File

@@ -821,12 +821,6 @@ ALTER TABLE fac_gui_counter ADD (
NUMBER(10)
CONSTRAINT fac_r_guicnt_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL
);
ALTER TABLE fac_gui_counter
ADD CONSTRAINT fac_u_fac_gui_counter UNIQUE (fac_gui_counter_group,
fac_gui_counter_date,
fac_gui_counter_refkey,
prs_perslid_key,
fac_gui_counter_info);
ALTER TABLE alg_gebouw ADD (
prs_perslid_key_verantw
@@ -1355,6 +1349,18 @@ CREATE_TABLE(prs_kostencombinatie,0) (
DEFAULT SYSDATE
);
CREATE_TABLE(prs_staffel, 0)
(
prs_staffel_key
NUMBER (10) PRIMARY KEY,
prs_bedrijf_key
NUMBER (10) NOT NULL REFERENCES prs_bedrijf (prs_bedrijf_key) ON DELETE CASCADE,
prs_staffel_grenswaarde
NUMBER (12),
prs_staffel_korting
NUMBER (12, 6) NOT NULL
);
CREATE_TABLE(prs_perslid_inzetbaar, 0)
(
prs_perslid_inzetbaar_key

View File

@@ -888,6 +888,14 @@ BEGIN
END;
/
CREATE_TRIGGER(prs_t_prs_staffel_B_IU)
BEFORE INSERT OR UPDATE ON prs_staffel
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_staffel_key, prs_s_prs_staffel_key);
END;
/
CREATE_TRIGGER(prs_t_prs_perslid_inzet_B_IU)
BEFORE INSERT OR UPDATE ON prs_perslid_inzetbaar
FOR EACH ROW

View File

@@ -1104,7 +1104,7 @@ AS
WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND res_rsv_ruimte_tot > SYSDATE-14 -- na 14 dagen niet meer klagen
UNION ALL
SELECT rr.res_rsv_ruimte_host_key,
'PRS_OPENST_RES_V',
@@ -1118,7 +1118,7 @@ AS
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_host_key,
'PRS_OPENST_RES_C',
@@ -1134,7 +1134,7 @@ AS
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key,
'PRS_OPENST_RES_RC',
@@ -1150,7 +1150,7 @@ AS
WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key,
'PRS_OPENST_RES_VC',
@@ -1164,7 +1164,7 @@ AS
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key,
'PRS_OPENST_RES_CC',
@@ -1180,7 +1180,8 @@ AS
WHERE rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting('res_is_closed_after_days')
AND rr.alg_ruimte_key IS NOT NULL
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT a.bez_afspraak_host_key,
'PRS_AFSPRAAK_H',
@@ -1482,50 +1483,46 @@ AS
FROM ins_v_aanwezigdeel d
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.res_ruimte_opstel_key IS NOT NULL
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_deel rd, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.alg_ruimte_key IS NOT NULL
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_artikel ra, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.alg_ruimte_key IS NOT NULL
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.res_ruimte_opstel_key IS NOT NULL
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14 -- na 14 dagen niet meer klagen
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_deel rd, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_host_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_artikel ra, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_ruimte rr, res_ruimte_opstelling ro
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND rr.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_deel rd, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.alg_ruimte_key IS NOT NULL
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
UNION ALL
SELECT rr.res_rsv_ruimte_contact_key, r.res_reservering_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_artikel ra, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE - fac.getSetting ('res_is_closed_after_days')
AND rr.alg_ruimte_key IS NOT NULL
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
AND res_rsv_ruimte_tot > SYSDATE-14
AND rr.alg_ruimte_key IS NOT NULL
UNION ALL
SELECT a.bez_afspraak_host_key, a.bez_afspraak_key
FROM bez_afspraak a

View File

@@ -2320,7 +2320,7 @@ AS
SELECT rg.alg_locatie_key -- RES_RUIMTE
, rg.res_discipline_key
, p.prs_afdeling_key
, MIN(ra.alg_ruimte_key) alg_ruimte_key
, ra.alg_ruimte_key
, rr.res_reservering_key
FROM res_v_res_ruimte_gegevens rg
, res_alg_ruimte ra
@@ -2335,10 +2335,6 @@ AS
AND ptype IS NULL
AND rr.res_status_bo_key = 2
AND rr.res_rsv_ruimte_key = prsvkey
GROUP BY rg.alg_locatie_key
, rg.res_discipline_key
, p.prs_afdeling_key
, rr.res_reservering_key
UNION
SELECT g.alg_locatie_key -- RES_DEEL
, d.res_discipline_key
@@ -2431,9 +2427,7 @@ AS
FROM fac_v_my_rooms
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = fac_gebruiker_alg_level_write
)
)
)
)))
AND fac_functie_code = lfunctiecode
)
LOOP
@@ -2465,7 +2459,7 @@ AS
IF lnrreceivers = 0 THEN
lreceivers := lreceivers1;
ELSE
lreceivers := SUBSTR(lreceivers||', '||lreceivers1, 1, 2048);
lreceivers := lreceivers||', '||lreceivers1;
END IF;
lnrreceivers := lnrreceivers+1;
END LOOP;

View File

@@ -413,12 +413,6 @@ BEGIN
BEGIN IF :new.res_rsv_ruimte_verwijder IS NOT NULL THEN DELETE FROM bez_afspraak WHERE bez_afspraak.res_rsv_ruimte_key = :new.res_rsv_ruimte_key; END IF; END;
BEGIN IF :new.res_rsv_ruimte_host_key <> :old.res_rsv_ruimte_host_key THEN UPDATE bez_afspraak set bez_afspraak_host_key = :new.res_rsv_ruimte_host_key WHERE res_rsv_ruimte_key = :new.res_rsv_ruimte_key AND bez_afspraak_host_key IS NOT NULL; END IF; END;
BEGIN IF :new.res_rsv_ruimte_contact_key <> :old.res_rsv_ruimte_contact_key THEN UPDATE bez_afspraak set bez_afspraak_contact_key= :new.res_rsv_ruimte_contact_key WHERE res_rsv_ruimte_key =:new.res_rsv_ruimte_key; END IF; END;
-- Beoordeling van de reservering
IF (:new.res_rsv_ruimte_satisfaction IS NOT NULL
AND (:old.res_rsv_ruimte_satisfaction IS NULL OR :old.res_rsv_ruimte_satisfaction <> :new.res_rsv_ruimte_satisfaction))
THEN
fac.trackaction('RESLIK', :old.res_rsv_ruimte_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.res_rsv_ruimte_satisfaction));
END IF;
END;
/

View File

@@ -1,374 +0,0 @@
/*
* Update script van FACILITOR schema
* $Revision$
* $Id$
*/
#include "prologue.inc"
COMMIT;
SET DEFINE OFF
/////////////////////////////////////////////////////////////////////////////////////////// YKPN#79783
// Deze als eerste, want op de oorspronkelijke plek was de nodige fac-package al invalid
// en zo kunnen we een geforceerde compile vermijden
INSERT INTO prs_perslid (prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
prs_perslid_naam,
prs_perslid_oslogin,
prs_perslid_apikey,
prs_perslid_flags,
prs_perslid_opmerking)
SELECT prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
'Sensor',
'_SENSOR',
DBMS_RANDOM.string ('a', 32),
36,
'System account for sensor-triggered-events.'||CHR(13)||'For Facilitor internal use'
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR'
AND NOT EXISTS (SELECT 1 FROM prs_perslid WHERE prs_perslid_oslogin = '_SENSOR');
/////////////////////////////////////////////////////////////////////////////////////////// PZEE#79764
// Deze idem, ook vooraan
UPDATE prs_perslid
SET prs_perslid_inactief = SYSDATE
WHERE prs_perslid_naam LIKE 'INACTIEF:%' AND prs_perslid_inactief IS NULL;
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#77483
ALTER TABLE fac_gebruikersgroep ADD fac_gebruikersgroep_vervaldatum DATE;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79092
ALTER TABLE fac_usrrap_cols MODIFY fac_usrrap_cols_column_name VARCHAR2(128);
/////////////////////////////////////////////////////////////////////////////////////////// PCHW#79057
ALTER TABLE fac_usrrap_cols DROP CONSTRAINT fac_u_fac_usrrap_cols1 DROP INDEX;
UPDATE fac_usrrap_cols
SET fac_usrrap_cols_column_name =
fac_usrrap_cols_column_name
|| '_DUPLICATE_COLUMN_NAME_'
|| fac_usrrap_cols_key
WHERE fac_usrrap_cols_key IN
(SELECT fac_usrrap_cols_key
FROM fac_usrrap_cols
WHERE ROWID NOT IN
( SELECT MIN (ROWID)
FROM fac_usrrap_cols
GROUP BY fac_usrrap_key,
UPPER (fac_usrrap_cols_column_name)));
CREATE UNIQUE INDEX fac_i_fac_usrrap_cols1 ON fac_usrrap_cols(fac_usrrap_key, UPPER(fac_usrrap_cols_column_name));
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#78649
ALTER TABLE fac_version ADD fac_version_cleanup_date DATE;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79033
UPDATE fac_import_app
SET fac_functie_key = (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_FACFAC')
WHERE fac_import_app_key IN
( SELECT i.fac_import_app_key
FROM fac_import_app i
, fac_functie f
WHERE i.fac_import_app_code IN ( 'ONRGOED1_DEL'
, 'ONRGOED2_DEL'
, 'ORGANISATIE_DEL'
, 'PERSLID_DEL'
, 'MLD_DEL'
, 'FAC_GROEP_DEL'
, 'FAC_VAKGROEP_DEL'
)
AND i.fac_functie_key = f.fac_functie_key
AND f.fac_functie_code = 'WEB_FACTAB'
);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#77754
ALTER TABLE fac_imp_onrgoed1 MODIFY
( alg_kenmerkwaarde1 VARCHAR2(4000)
, alg_kenmerkwaarde2 VARCHAR2(4000)
, alg_kenmerkwaarde3 VARCHAR2(4000)
, alg_kenmerkwaarde4 VARCHAR2(4000)
, alg_kenmerkwaarde5 VARCHAR2(4000)
, alg_kenmerkwaarde6 VARCHAR2(4000)
, alg_kenmerkwaarde7 VARCHAR2(4000)
, alg_kenmerkwaarde8 VARCHAR2(4000)
, alg_kenmerkwaarde9 VARCHAR2(4000)
, alg_kenmerkwaarde10 VARCHAR2(4000)
);
ALTER TABLE fac_imp_onrgoed2 MODIFY
( alg_kenmerkwaarde1 VARCHAR2(4000)
, alg_kenmerkwaarde2 VARCHAR2(4000)
, alg_kenmerkwaarde3 VARCHAR2(4000)
, alg_kenmerkwaarde4 VARCHAR2(4000)
, alg_kenmerkwaarde5 VARCHAR2(4000)
);
ALTER TABLE fac_imp_perslid MODIFY
( prs_kenmerk1 VARCHAR2(4000)
, prs_kenmerk2 VARCHAR2(4000)
, prs_kenmerk3 VARCHAR2(4000)
, prs_kenmerk4 VARCHAR2(4000)
, prs_kenmerk5 VARCHAR2(4000)
, prs_kenmerk6 VARCHAR2(4000)
, prs_kenmerk7 VARCHAR2(4000)
, prs_kenmerk8 VARCHAR2(4000)
, prs_kenmerk9 VARCHAR2(4000)
, prs_kenmerk10 VARCHAR2(4000)
, prs_kenmerk11 VARCHAR2(4000)
, prs_kenmerk12 VARCHAR2(4000)
, prs_kenmerk13 VARCHAR2(4000)
, prs_kenmerk14 VARCHAR2(4000)
, prs_kenmerk15 VARCHAR2(4000)
, prs_kenmerk16 VARCHAR2(4000)
, prs_kenmerk17 VARCHAR2(4000)
, prs_kenmerk18 VARCHAR2(4000)
, prs_kenmerk19 VARCHAR2(4000)
, prs_kenmerk20 VARCHAR2(4000)
);
ALTER TABLE fac_imp_sle MODIFY
( ins_kenmerkwaarde1 VARCHAR2(4000)
, ins_kenmerkwaarde2 VARCHAR2(4000)
, ins_kenmerkwaarde3 VARCHAR2(4000)
, ins_kenmerkwaarde4 VARCHAR2(4000)
, ins_kenmerkwaarde5 VARCHAR2(4000)
);
ALTER TABLE fac_imp_factuur MODIFY
( kenmerk1 VARCHAR2(4000)
, kenmerk2 VARCHAR2(4000)
, kenmerk3 VARCHAR2(4000)
, kenmerk4 VARCHAR2(4000)
, kenmerk5 VARCHAR2(4000)
, kenmerk6 VARCHAR2(4000)
, kenmerk7 VARCHAR2(4000)
, kenmerk8 VARCHAR2(4000)
, kenmerk9 VARCHAR2(4000)
, kenmerk10 VARCHAR2(4000)
, kenmerk11 VARCHAR2(4000)
, kenmerk12 VARCHAR2(4000)
, kenmerk13 VARCHAR2(4000)
, kenmerk14 VARCHAR2(4000)
, kenmerk15 VARCHAR2(4000)
, kenmerk16 VARCHAR2(4000)
, kenmerk17 VARCHAR2(4000)
, kenmerk18 VARCHAR2(4000)
, kenmerk19 VARCHAR2(4000)
, kenmerk20 VARCHAR2(4000)
);
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#78892
ALTER TABLE fac_nieuws ADD fac_nieuws_parentkey NUMBER(10) REFERENCES fac_nieuws(fac_nieuws_key) ON DELETE CASCADE;
DEF_FAC_FUNCTIE3('WEB_MSGUSE', 'MSG', 3, 0, 0);
/////////////////////////////////////////////////////////////////////////////////////////// PROR#75652
CREATE_TABLE(mld_stdmelding_srtruimte, 0)
(
mld_stdmelding_srtruimte_key
NUMBER(10)
PRIMARY KEY,
mld_stdmelding_key
NUMBER(10)
NOT_NULL(mld_stdmelding_key, mld_c_mld_stdmelding_key3)
CONSTRAINT mld_r_mld_stdmelding_key11 REFERENCES mld_stdmelding(mld_stdmelding_key) ON DELETE CASCADE,
alg_srtruimte_key
NUMBER(10)
NOT_NULL(alg_srtruimte_key, ins_c_ins_srtruimte_key)
CONSTRAINT mld_r_ins_srtruimte_key REFERENCES alg_srtruimte(alg_srtruimte_key) ON DELETE CASCADE,
CONSTRAINT mld_u_mld_stdmelding_srtruimte UNIQUE(mld_stdmelding_key, alg_srtruimte_key)
);
CREATE SEQUENCE mld_s_mld_stdm_srtruimte_key MINVALUE 1;
/////////////////////////////////////////////////////////////////////////////////////////// MARX#79430
UPDATE fac_functie
SET fac_functie_module = 'FIN'
WHERE fac_functie_code IN ('WEB_MLDFIN', 'WEB_BESFIN', 'WEB_CNTFIN');
/////////////////////////////////////////////////////////////////////////////////////////// MARX#78859
ALTER TABLE mld_melding_note ADD fac_tracking_key NUMBER (10) REFERENCES fac_tracking (fac_tracking_key) ON DELETE SET NULL;
ALTER TABLE mld_opdr_note ADD fac_tracking_key NUMBER (10) REFERENCES fac_tracking (fac_tracking_key) ON DELETE SET NULL;
CREATE INDEX mld_i_mld_melding_note2 ON mld_melding_note(fac_tracking_key);
CREATE INDEX mld_i_mld_opdr_note2 ON mld_opdr_note(fac_tracking_key);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79830
DELETE FROM fac_usrrap WHERE LOWER (fac_usrrap_view_name) = 'mld_v_udr_meldingkenmerk_cnd' AND fac_usrrap_functie = 32;
DELETE FROM fac_usrrap WHERE LOWER (fac_usrrap_view_name) = 'mld_v_udr_opdrachtkenmerk_cnd' AND fac_usrrap_functie = 32;
DELETE FROM fac_usrrap WHERE LOWER (fac_usrrap_view_name) = 'ins_v_udr_deelkenmerk_cnd' AND fac_usrrap_functie = 32;
DELETE FROM fac_locale WHERE fac_locale_tekst = 'UDR: Calls plus';
DELETE FROM fac_locale WHERE fac_locale_tekst = 'Basic report for call+property reports';
DELETE FROM fac_locale WHERE fac_locale_tekst = 'UDR: Order plus';
DELETE FROM fac_locale WHERE fac_locale_tekst = 'Basic report for order+property reports';
DELETE FROM fac_locale WHERE fac_locale_tekst = 'UDR: Objects plus';
DELETE FROM fac_locale WHERE fac_locale_tekst = 'Basic report for object+property reports';
/////////////////////////////////////////////////////////////////////////////////////////// SGGR#79416
CREATE VIEW ins_v_udr_sensorhistorie AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_sensorhistorie', 'UDR: Sensor recente historie', 'Basisrapport voor recente meetwaarden van sensoren',
'UDR: Sensors recent history', 'Basic report for recent values of sensors');
CREATE VIEW ins_v_udr_sensorhistogram AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_sensorhistogram', 'UDR: Sensor gearchiveerde historie','Basisrapport voor historische gecomprimeerde meetwaarden van status-sensoren',
'UDR: Sensors archived history', 'Basic report for historic compressed values of state-sensors');
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79851
UPDATE fac_setting
SET fac_setting_pvalue = CASE WHEN fac_setting_pvalue = 'false' THEN 0 ELSE 2 END
WHERE fac_setting_pvalue IS NOT NULL AND fac_setting_name = 'fac_gui_counter_menu_daily';
ALTER TABLE fac_gui_counter
DROP CONSTRAINT fac_u_fac_gui_counter DROP INDEX;
ALTER TABLE fac_gui_counter
ADD CONSTRAINT fac_u_fac_gui_counter UNIQUE (fac_gui_counter_group,
fac_gui_counter_date,
fac_gui_counter_refkey,
prs_perslid_key,
fac_gui_counter_info);
/////////////////////////////////////////////////////////////////////////////////////////// YKPN#79783
ALTER TABLE ins_srtdeel ADD ins_srtdeel_statethreshold VARCHAR2(128);
ALTER TABLE ins_srtdeel ADD mld_stdmelding_key NUMBER(10) REFERENCES mld_stdmelding(mld_stdmelding_key);
INSERT INTO mld_meldbron(mld_meldbron_key, mld_meldbron_omschrijving) VALUES (11, 'Sensor');
// bijbehorende aanmaak van sensor-perslid is bovenin al gedaan.
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#78162
DEF_FAC_SRTNOT('BESLIK', 0, 'lcl_noti_BESLIK', 'bes/bes_bestelling.asp?bes_key=', 0, 'bestelling', 10);
DEF_FAC_SRTNOT('MLDLIK', 0, 'lcl_noti_MLDLIK', 'mld/mld_melding.asp?mld_key=', 0, 'melding', 10);
DEF_FAC_SRTNOT('RESLIK', 0, 'lcl_noti_RESLIK', 'res/res_reservering.asp?rsv_ruimte_key=', 0, 'reservering', 10);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79939
DEF_MENUITEM(2, 'lcl_menu_fmstats' , '', 'FAC', 'appl/alg/alg_fm_stats.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_fmstats', 'lcl_menu_gdprstats', 1);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79462
DROP TRIGGER exc_t_exc_import_B_IU;
/////////////////////////////////////////////////////////////////////////////////////////// INLO#79906
UPDATE fac_setting
SET fac_setting_pvalue = 10
WHERE fac_setting_pvalue = 2
AND fac_setting_name IN ('res_planbord_options','res_forselect_options');
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#72820
BEGIN
adm.trydrop ('TRIGGER prs_t_prs_staffel_B_IU');
adm.trydrop ('SEQUENCE prs_s_prs_staffel_key');
adm.trydrop ('TABLE prs_staffel');
END;
/
DELETE FROM fac_menuitems WHERE fac_menuitems_label = 'lcl_menu_prs_staffels';
DELETE FROM fac_menu WHERE fac_menu_alturl like 'appl/mgt/prs_staffel.asp%';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80161
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE fac_setting
SET fac_setting_pvalue = NULL
WHERE fac_setting_pvalue is not null
AND fac.safe_to_number(fac_setting_pvalue) > 10
AND fac_setting_name ='facilitiespast_mld';
UPDATE fac_setting
SET fac_setting_pvalue = (SELECT MAX(fac.safe_to_number(fac_setting_pvalue))
FROM fac_setting
WHERE fac_setting_name IN ('facilitiesfuture_mld','facilitiesfuture_bes','facilitiesfuture_bez','facilitiesfuture_res'))
WHERE fac_setting_pvalue is not null
AND fac_setting_name ='facilitiesfuture';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#76740
#define PRESERVESETTINGVAL(setting, newdefault) \
UPDATE fac_setting \
SET fac_setting_default = newdefault, fac_setting_pvalue = fac_setting_default \
WHERE fac_setting_name = setting AND fac_setting_pvalue IS NULL; ~\
UPDATE fac_setting \
SET fac_setting_default = newdefault, fac_setting_pvalue = NULL \
WHERE fac_setting_pvalue = newdefault \
AND fac_setting_name = setting \
AND fac_setting_default <> newdefault;
PRESERVESETTINGVAL('fg_ins_symbols', 'true')
PRESERVESETTINGVAL('menu_tab_toggles_portalmenu', '0')
PRESERVESETTINGVAL('mjb_inflation', '0')
PRESERVESETTINGVAL('mld_accept_confirm', 'true')
PRESERVESETTINGVAL('mld_order_autoprint', '3')
PRESERVESETTINGVAL('mld_use_order_approval', '0')
PRESERVESETTINGVAL('prs_werkplek_implicit', '1')
PRESERVESETTINGVAL('puo_usesenderasreplyto', 'true')
PRESERVESETTINGVAL('sys_ip_lockmode', '0')
PRESERVESETTINGVAL('wgt_enabled', '1')
#define DROP_MENUITEM(label, uriwc) \
DELETE FROM fac_menuitems WHERE fac_menuitems_label = label; ~\
DELETE FROM fac_menu WHERE fac_menu_alturl like uriwc;
DROP_MENUITEM('lcl_menu_bes_prodgroepen' , 'appl/mgt/bes_srtprodgroep.asp%')
DROP_MENUITEM('lcl_menu_bes_proditems' , 'appl/bes/bes_srtprod_search.asp%')
DROP_MENUITEM('lcl_menu_bes_prodcatalogi' , 'appl/mgt/bes_disciplineprod.asp%')
DROP_MENUITEM('lcl_menu_bes_prodmonitor' , 'appl/bes/bes_assmon_search.asp%')
DROP_MENUITEM('lcl_menu_bes_bedrijfprod' , 'appl/bes/bes_bedrijfproduct_search.asp%')
DROP_MENUITEM('lcl_menu_bes_grootheden' , 'appl/mgt/bes_grootheid.asp%')
// opvegen, onderstaand statement verwijdert bovenstaande ook, maar voor de zekerheid anders kan de functie niet weg.
DELETE FROM fac_menuitems
WHERE fac_functie_key = (SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRDMSU');
DELETE FROM fac_functie WHERE fac_functie_code = 'WEB_PRDMSU';
/////////////////////////////////////////////////////////////////////////////////////////// PROR#79462
BEGIN
adm.trydrop ('index jgl');
END;
/
CREATE INDEX exc_i_exc_import2
ON exc_import (APPT_ID || '|' || RECUR_ID, SEQ_NR, FAC_IMPORT_KEY);
/////////////////////////////////////////////////////////////////////////////////////////// BAMG#80325
DROP TRIGGER bes_t_bes_bestelling_item_B_IU;
DROP TRIGGER bes_t_bes_bestelopdr_item_B_IU;
DROP TRIGGER bes_t_bes_bestellevr_B_IU;
DROP TRIGGER bes_t_bes_bestellevr_item_B_IU;
/////////////////////////////////////////////////////////////////////////////////////////// EIND#80371
BEGIN
adm.trydrop ('index jgl');
END;
/
CREATE INDEX mld_i_mld_melding_note3 ON mld_melding_note(mld_melding_note_parent_key);
CREATE INDEX mld_i_mld_melding_note4 ON mld_melding_note(prs_perslid_key);
CREATE INDEX mld_i_mld_opdr_note3 ON mld_opdr_note(mld_opdr_note_parent_key);
CREATE INDEX mld_i_mld_opdr_note4 ON mld_opdr_note(prs_perslid_key);
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#78892
DEF_MENUITEM(3, 'lcl_mobile_msg' , '', 'MSG', 'appl/pda/berichten.asp', 0, 0, 'WEB_MSGUSE', 'R', '1', 'fa-circle-y');
-- Op deze nieuwe LCL kunnen we wel veilig 1 menuitem matchen
INSERT INTO fac_menu (fac_menuitems_key,
fac_menu_volgnr,
fac_menu_altlabel,
fac_menu_alturl,
fac_menu_altgroep,
fac_menu_image,
fac_menu_level,
fac_menu_info)
SELECT fac_menuitems_key,
fac_menuitems_key * 100,
fac_menuitems_label,
fac_menuitems_url,
fac_menuitems_groep,
fac_menuitems_image,
CASE
WHEN fac_menuitems_groep IN (0, 1, 2) THEN 2
WHEN fac_menuitems_groep IN (3, 7) THEN 1
ELSE 0
END fac_menu_level,
fac_menuitems_oms
FROM fac_menuitems i
WHERE fac_menuitems_label = 'lcl_mobile_msg';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
REGISTERONCE('$Id$')
#include "epilogue.inc"

View File

@@ -1,88 +0,0 @@
--
-- $Id$
--
-- Aanpassingen om DB46c (prod) naar de DB46d te brengen
-- Merk op dat de recreate er nog bij komt die de DB-version bijwerkt
--
-- MOET OOK ZIJN/WORDEN OPGENOMEN IN DB45TO46d.src !!!
DEFINE thisfile = 'DB46cto46d.sql'
DEFINE dbuser = '*'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
-- /////////////////////////////////////////////////////////////////////////////////////////// AAIT#78892
INSERT INTO fac_menuitems (fac_menuitems_groep,
fac_menuitems_label,
fac_menuitems_oms,
fac_menuitems_module,
fac_menuitems_url,
fac_menuitems_srtdisc,
fac_menuitems_disc,
fac_functie_key,
fac_menuitems_rw,
fac_menuitems_default,
fac_menuitems_image)
SELECT 3,
'lcl_mobile_msg',
'',
'MSG',
'appl/pda/berichten.asp',
0,
0,
fac_functie_key,
'R',
'1',
'fa-circle-y'
FROM fac_functie
WHERE fac_functie_code = 'WEB_MSGUSE';
-- Op deze nieuwe LCL kunnen we wel veilig 1 menuitem matchen
INSERT INTO fac_menu (fac_menuitems_key,
fac_menu_volgnr,
fac_menu_altlabel,
fac_menu_alturl,
fac_menu_altgroep,
fac_menu_image,
fac_menu_level,
fac_menu_info)
SELECT fac_menuitems_key,
fac_menuitems_key * 100,
fac_menuitems_label,
fac_menuitems_url,
fac_menuitems_groep,
fac_menuitems_image,
CASE
WHEN fac_menuitems_groep IN (0, 1, 2) THEN 2
WHEN fac_menuitems_groep IN (3, 7) THEN 1
ELSE 0
END fac_menu_level,
fac_menuitems_oms
FROM fac_menuitems i
WHERE fac_menuitems_label = 'lcl_mobile_msg';
------ 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

View File

@@ -78,21 +78,7 @@ SET ECHO OFF
SET HEADING OFF
SET LINESIZE 132
// Soms nog niet goed.
// Heel agressief compileren omdat zelfs de dubbele COMPILE_SCHEMA straks niet altijd genoeg is.
ALTER PACKAGE fac COMPILE BODY;
ALTER PACKAGE alg COMPILE BODY;
ALTER PACKAGE mld COMPILE BODY;
ALTER PACKAGE prs COMPILE BODY;
ALTER PACKAGE ins COMPILE BODY;
ALTER PACKAGE res COMPILE BODY;
ALTER PACKAGE bes COMPILE BODY;
ALTER PACKAGE bez COMPILE BODY;
ALTER PACKAGE cnd COMPILE BODY;
ALTER PACKAGE cnt COMPILE BODY;
ALTER PACKAGE fin COMPILE BODY;
ALTER PACKAGE ano COMPILE BODY;
ALTER PACKAGE xml COMPILE BODY;
// Soms nog niet goed
BEGIN
DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE);
DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE);