1 Commits
DB47 ... DB44

Author SHA1 Message Date
Maykel Geerdink
5a5a74cf67 FCLT#77467: MJOB: Verbetering in rapportage view ctr_v_monthly_recurring_task.
svn path=/Database/branches/DB44/; revision=60274
2023-05-03 05:39:42 +00:00
91 changed files with 4107 additions and 10119 deletions

View File

@@ -12,52 +12,5 @@ BEGIN
END;
/
//
// Deze triggers zijn om access buiten de applicatie om te tracken,
// bijvoorbeeld met SQLPlus of Toad maar dat kan van alles zijn
// Ten behoeve van extra auditing. Standaard doen we dat niet, omdat
// - het vereist niet-default privileges voor het SCHEMA (of niet?)
// - we weten niet altijd hoe we de webserver zelf uit kunnen sluiten
// Als we meer weten kunnen we deze misschien wel standaard aanzetten
//
/*
CREATE_TRIGGER(fclt_t_schema_session_on)
AFTER
LOGON
ON SCHEMA
WHEN ( SYS_CONTEXT ('USERENV', 'OS_USER') <> 'IUSR'
AND SYS_CONTEXT ('USERENV', 'OS_USER') NOT LIKE 'OracleService%')
BEGIN
INSERT INTO adm_tracking (adm_tracking_name)
SELECT 'Login using '
|| SYS_CONTEXT ('USERENV', 'MODULE')
|| ' from '
|| SYS_CONTEXT ('USERENV', 'HOST')
FROM DUAL;
END;
/
CREATE_TRIGGER(fclt_t_schema_session_off)
BEFORE
LOGOFF
ON SCHEMA
WHEN ( SYS_CONTEXT ('USERENV', 'OS_USER') <> 'IUSR'
AND SYS_CONTEXT ('USERENV', 'OS_USER') NOT LIKE 'OracleService%')
BEGIN
INSERT INTO adm_tracking (adm_tracking_name)
SELECT 'Logoff using '
|| SYS_CONTEXT ('USERENV', 'MODULE')
|| ' from '
|| SYS_CONTEXT ('USERENV', 'HOST')
FROM DUAL;
END;
/
-- Wel definieren en uitzetten is riskant, want een disabled trigger lijkt fout
ALTER TRIGGER fclt_t_schema_session_on DISABLE;
ALTER TRIGGER fclt_t_schema_session_off DISABLE;
*/
// De package is er nog niet bij de CREA dus uitgeschakeld
// REGISTERRUN('$Id$')

View File

@@ -17,11 +17,6 @@ create index alg_i_alg_verdieping1 on alg_verdieping(alg_gebouw_key);
create index alg_i_alg_ruimte1 on alg_ruimte(alg_verdieping_key);
create index alg_i_alg_ruimte2 on alg_ruimte(alg_srtruimte_key);
create index alg_i_alg_ruimte3 on alg_ruimte(alg_ruimte_key, alg_ruimte_nr);
create index alg_i_alg_kenmerk1 on alg_kenmerk(alg_kenmerk_code);
create index alg_i_alg_onroerendgoed_note1 on alg_onroerendgoed_note(alg_onroerendgoed_key, alg_onroerendgoed_typ);
// speciaal tbv ins_v_alg_overzicht:
CREATE INDEX alg_i_alg_ruimte4 on alg_ruimte(alg_verdieping_key,alg_ruimte_key, alg_ruimte_upper_nr, alg_ruimte_nr);

View File

@@ -3,22 +3,21 @@
* $Id$
*/
CREATE SEQUENCE alg_s_alg_import_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_regio_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_district_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_locatie_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_onroerendgoed_keys MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtgebouw_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtruimte_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtruimte_lg_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_import_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_regio_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_district_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_locatie_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_onroerendgoed_keys MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtgebouw_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtruimte_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtruimte_lg_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_objectdeel_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_systeemcluster_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_bouwdeel_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtterrein_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtverdieping_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_objectdeel_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_systeemcluster_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_bouwdeel_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtterrein_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_srtverdieping_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_kenmerk_key MINVALUE 1000;
CREATE SEQUENCE alg_s_alg_onrgoedkenmerk_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_algfaq_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_onroerendgoed_note_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_kenmerk_key MINVALUE 1000;
CREATE SEQUENCE alg_s_alg_onrgoedkenmerk_key MINVALUE 1;
CREATE SEQUENCE alg_s_alg_algfaq_key MINVALUE 1;

View File

@@ -101,7 +101,7 @@ CREATE_TABLE(alg_locatie,0)
alg_locatie_verantw
VARCHAR2(30),
alg_locatie_verantw_tel
VARCHAR2(20),
VARCHAR2(15),
alg_locatie_email /* might be used as sender */
VARCHAR2(200),
alg_locatie_x
@@ -118,8 +118,6 @@ CREATE_TABLE(alg_locatie,0)
VARCHAR2(256),
alg_locatie_externsyncdate
DATE,
alg_locatie_volgnr
NUMBER(3),
-- in MLD_TAB.SRC:
-- mld_dienstniveau_key
-- NUMBER(10)
@@ -156,28 +154,14 @@ CREATE_TABLE(alg_srtterreinsector,0)
alg_srtterreinsector_verwijder
DATE
DEFAULT NULL,
prs_verhuurbaar
NUMBER(1),
alg_srtterreinsector_code
VARCHAR2(10),
alg_srtterreinsec_t_uitvtijd /* pr3 */
CONSTRAINT alg_u_alg_srtterreinsec_upper UNIQUE(alg_srtterreinsector_upper, alg_srtterreinsector_verwijder),
prs_verhuurbaar NUMBER(1),
alg_srtterreinsector_code VARCHAR2(10),
alg_srtterreinsec_t_uitvtijd
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtterrein_t_uitvt CHECK(alg_srtterreinsec_t_uitvtijd.tijdsduur >= 0),
alg_srtterreinsec_t_uitv_pr1
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtterrein_t_uitv1 CHECK(alg_srtterreinsec_t_uitv_pr1.tijdsduur >= 0),
alg_srtterreinsec_t_uitv_pr2
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtterrein_t_uitv2 CHECK(alg_srtterreinsec_t_uitv_pr2.tijdsduur >= 0),
alg_srtterreinsec_t_uitv_pr4
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtterrein_t_uitv4 CHECK(alg_srtterreinsec_t_uitv_pr4.tijdsduur >= 0),
CONSTRAINT alg_u_alg_srtterreinsec_upper UNIQUE(alg_srtterreinsector_upper, alg_srtterreinsector_verwijder)
CONSTRAINT alg_c_alg_srtterrein_t_uitvt CHECK(alg_srtterreinsec_t_uitvtijd.tijdsduur >= 0)
);
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsec_t_uitvtijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsec_t_uitv_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsec_t_uitv_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsec_t_uitv_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
CREATE_TABLE(alg_terreinsector,0)
(
@@ -303,24 +287,12 @@ CREATE_TABLE(alg_srtgebouw,0)
NUMBER(2)
DEFAULT 4
NOT NULL,
alg_srtgebouw_t_uitvoertijd /* pr3 */
alg_srtgebouw_t_uitvoertijd
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtgebouw_t_uitvtijd CHECK(alg_srtgebouw_t_uitvoertijd.tijdsduur >= 0),
alg_srtgebouw_t_uitvoer_pr1
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtgebouw_t_uitv_pr1 CHECK(alg_srtgebouw_t_uitvoer_pr1.tijdsduur >= 0),
alg_srtgebouw_t_uitvoer_pr2
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtgebouw_t_uitv_pr2 CHECK(alg_srtgebouw_t_uitvoer_pr2.tijdsduur >= 0),
alg_srtgebouw_t_uitvoer_pr4
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtgebouw_t_uitv_pr4 CHECK(alg_srtgebouw_t_uitvoer_pr4.tijdsduur >= 0),
CONSTRAINT alg_u_alg_srtgebouw_upper UNIQUE(alg_srtgebouw_upper, alg_srtgebouw_verwijder)
);
ALTER TABLE alg_srtgebouw MODIFY alg_srtgebouw_t_uitvoertijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtgebouw MODIFY alg_srtgebouw_t_uitvoer_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtgebouw MODIFY alg_srtgebouw_t_uitvoer_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtgebouw MODIFY alg_srtgebouw_t_uitvoer_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
CREATE_TABLE(alg_gebouw,0)
(
@@ -345,10 +317,6 @@ CREATE_TABLE(alg_gebouw,0)
alg_gebouw_upper
VARCHAR2(30) /* 12 ware genoeg geweest */
NOT_NULL(alg_gebouw_upper, alg_c_alg_gebouw_upper),
alg_gebouw_adres
VARCHAR2(50),
alg_gebouw_postcode
VARCHAR2(12),
alg_gebouw_aanmaak
DATE
DEFAULT SYSDATE
@@ -470,8 +438,6 @@ CREATE_TABLE(alg_verdieping,0)
NOT_NULL(alg_verdieping_volgnr, alg_c_alg_verdieping_volgnr),
alg_verdieping_tekening /* references the drawingfile */
VARCHAR2(32),
alg_verdieping_dwgz
NUMBER(16,3),
alg_verdieping_bruto_vloeropp
NUMBER(12,2)
CONSTRAINT alg_c_alg_verdieping_vloeropp CHECK(alg_verdieping_bruto_vloeropp >= 0),
@@ -536,23 +502,11 @@ CREATE_TABLE(alg_srtruimte,0)
alg_srtruimte_t_uitvoertijd
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtruimt_t_uitvtijd CHECK(alg_srtruimte_t_uitvoertijd.tijdsduur >= 0),
alg_srtruimte_t_uitvoer_pr1
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtruimt_t_uitv_pr1 CHECK(alg_srtruimte_t_uitvoer_pr1.tijdsduur >= 0),
alg_srtruimte_t_uitvoer_pr2
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtruimt_t_uitv_pr2 CHECK(alg_srtruimte_t_uitvoer_pr2.tijdsduur >= 0),
alg_srtruimte_t_uitvoer_pr4
MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtruimt_t_uitv_pr4 CHECK(alg_srtruimte_t_uitvoer_pr4.tijdsduur >= 0),
CONSTRAINT alg_c_prs_werkplek_verhuurbaar CHECK(NOT(prs_bevat_werkplek = 1
AND prs_verhuurbaar IS NULL)),
CONSTRAINT alg_u_alg_srtruimte_upper UNIQUE(alg_srtruimte_upper, alg_srtruimte_verwijder)
);
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_t_uitvoertijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_t_uitvoer_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_t_uitvoer_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_t_uitvoer_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
CREATE_TABLE(alg_srtruimte_locatiegebouw,0)
(
@@ -712,8 +666,6 @@ CREATE_TABLE(alg_kenmerk,0)
VARCHAR2(50)
,alg_kenmerk_upper
VARCHAR2(50)
,alg_kenmerk_code
VARCHAR2(60)
,alg_kenmerk_hint
VARCHAR2(255)
,alg_kenmerk_default
@@ -782,26 +734,4 @@ CREATE_TABLE(alg_algfaq, 0)
CONSTRAINT alg_r_fac_faq_key1 REFERENCES fac_faq(fac_faq_key) ON DELETE CASCADE
);
CREATE_TABLE(alg_onroerendgoed_note, 0)
( alg_onroerendgoed_note_key
NUMBER (10)
CONSTRAINT alg_k_alg_onroerendgoed_note_key PRIMARY KEY
, alg_onroerendgoed_key
NUMBER (10)
CONSTRAINT alg_c_alg_onroerendgoed_key1 CHECK(alg_onroerendgoed_key IS NOT NULL)
, alg_onroerendgoed_typ
VARCHAR (1)
CONSTRAINT alg_c_alg_onroerendgoed_typ1 CHECK(alg_onroerendgoed_typ IS NOT NULL)
CONSTRAINT alg_c_alg_onroerendgoed_typ2 CHECK(alg_onroerendgoed_typ IN ('R','V','G','L'))
, alg_onroerendgoed_note_aanmaak
DATE
DEFAULT SYSDATE
--, prs_perslid_key
-- NUMBER (10)
-- CONSTRAINT alg_r_prs_perslid_key5 REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL
, alg_onroerendgoed_note_omschrijving
VARCHAR2 (4000 CHAR)
);
REGISTERONCE('$Id$')

View File

@@ -410,8 +410,7 @@ BEFORE INSERT OR UPDATE ON alg_kenmerk
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(alg_kenmerk_key, alg_s_alg_kenmerk_key);
UPDATE_UPPER(alg_kenmerk_omschrijving, alg_kenmerk_upper, alg_kenmerk);
UPDATE_UPPER(alg_kenmerk_code, alg_kenmerk_code, alg_kenmerk);
UPDATE_UPPER(alg_kenmerk_omschrijving, alg_kenmerk_upper,alg_kenmerk);
IF (:new.alg_kenmerk_verwijder IS NOT NULL AND :old.alg_kenmerk_verwijder IS NULL AND
:new.alg_kenmerk_systeem = 1)
THEN
@@ -685,12 +684,4 @@ BEGIN
END;
/
CREATE_TRIGGER(alg_t_alg_onroerendgoed_note_B_I)
BEFORE INSERT ON alg_onroerendgoed_note
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(alg_onroerendgoed_note_key, alg_s_alg_onroerendgoed_note_key);
END;
/
REGISTERRUN('$Id$')

View File

@@ -1269,179 +1269,6 @@ SELECT m.mld_alg_onroerendgoed_keys, 'ALG_OPENST_MELDING',
SELECT a.alg_onrgoed_keys, 'ALG_TOEK_AFSPRAAK', TO_CHAR (a.bez_afspraak_datum), a.bez_afspraak_key, a.alg_locatie_key
FROM bez_afspraak a
WHERE a.bez_afspraak_datum > SYSDATE;
/* ROOT VIEWS for User defined Reports (UDR) */
CREATE_VIEW(alg_v_udr_ruimte, 1)
AS
SELECT alg_l.alg_locatie_code
|| '-'
|| alg_g.alg_gebouw_code
|| '-'
|| alg_v.alg_verdieping_code
|| '-'
|| alg_r.alg_ruimte_nr
ruimte_aanduiding,
alg_d.alg_district_omschrijving
district,
alg_re.alg_regio_omschrijving
regio,
alg_l.alg_locatie_omschrijving
locatie,
COALESCE (alg_g.alg_gebouw_adres, alg_l.alg_locatie_adres)
adres,
COALESCE (alg_g.alg_gebouw_postcode, alg_l.alg_locatie_postcode)
postcode,
alg_l.alg_locatie_plaats
plaats,
alg_l.alg_locatie_mjb_score1
locatieconditiescore,
alg_g.alg_gebouw_naam
gebouw,
alg_g.alg_gebouw_omschrijving
gebouwomschrijving,
lcl.x ('alg_srtruimte_omschrijving',
alg_sg.alg_srtgebouw_key,
alg_srtgebouw_omschrijving)
gebouwsoort,
alg_g.alg_gebouw_groep,
alg_g.alg_gebouw_bruto_vloeropp
gebouwoppervlakte,
alg_g.alg_gebouw_omtrek
gebouwomtrek,
alg_g.alg_gebouw_mjb_score1
gebouwconditiescore,
(SELECT p.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all p
WHERE p.prs_perslid_key = alg_g.prs_perslid_key_verantw)
gebouwverantwoordelijke1,
(SELECT p.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all p
WHERE p.prs_perslid_key = alg_g.prs_perslid_key_verantw2)
gebouwverantwoordelijke2,
alg_v.alg_verdieping_code
verdieping,
alg_v.alg_verdieping_omschrijving
verdiepingomschrijving,
alg_v.alg_verdieping_volgnr
verdiepingvolgnr,
alg_r.alg_ruimte_nr
ruimte,
alg_r.alg_ruimte_omschrijving
ruimteomschrijving,
lcl.x ('alg_srtruimte_omschrijving',
alg_sr.alg_srtruimte_key,
alg_srtruimte_omschrijving)
ruimtesoort,
alg_sr.alg_srtruimte_code
ruimtesoortcode,
alg_sr.alg_srtruimte_prijs
ruimtesoortprijs1,
alg_sr.alg_srtruimte_prijs2
ruimtesoortprijs2,
alg_sr.alg_srtruimte_prijs3
ruimtesoortprijs3,
alg_sr.alg_srtruimte_prijs4
ruimtesoortprijs4,
alg_sr.alg_srtruimte_prijs5
ruimtesoortprijs5,
DECODE (alg_sr.prs_verhuurbaar, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no'))
ruimtesoortverhuurbaar,
DECODE (alg_sr.prs_bevat_werkplek, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no'))
ruimtesoortwerkplekken,
alg_r.alg_ruimte_vloer_omschrijving
vloer,
alg_r.alg_ruimte_omtrek
omtrek,
alg_r.alg_ruimte_inhoud
inhoud,
alg_r.alg_ruimte_bruto_vloeropp
oppervlakte1,
alg_ruimte_opp_alt1
oppervlakte2,
alg_ruimte_opp_alt2
oppervlakte3,
alg_r.alg_ruimte_opmerking
ruimteopmerking,
alg_r.alg_ruimte_key,
alg_v.alg_verdieping_key,
alg_g.alg_gebouw_key,
alg_l.alg_locatie_key,
alg_l.alg_district_key,
alg_re.alg_regio_key
FROM alg_locatie alg_l,
alg_gebouw alg_g,
alg_verdieping alg_v,
alg_ruimte alg_r,
alg_srtruimte alg_sr,
alg_srtgebouw alg_sg,
alg_district alg_d,
alg_regio alg_re
WHERE alg_r.alg_ruimte_verwijder IS NULL
AND alg_v.alg_verdieping_key = alg_r.alg_verdieping_key
AND alg_g.alg_gebouw_key = alg_v.alg_gebouw_key
AND alg_l.alg_locatie_key = alg_g.alg_locatie_key
AND alg_d.alg_district_key = alg_l.alg_district_key
AND alg_re.alg_regio_key = alg_d.alg_regio_key
AND alg_r.alg_srtruimte_key = alg_sr.alg_srtruimte_key(+)
AND alg_g.alg_srtgebouw_key = alg_sg.alg_srtgebouw_key(+);
CREATE_VIEW(alg_v_udr_terrein, 1)
AS
SELECT alg_l.alg_locatie_code || '-' || alg_t.alg_terreinsector_code
terrein_aanduiding,
alg_d.alg_district_omschrijving
district,
alg_re.alg_regio_omschrijving
regio,
alg_l.alg_locatie_omschrijving
locatie,
alg_l.alg_locatie_adres
adres,
alg_l.alg_locatie_postcode
postcode,
alg_l.alg_locatie_plaats
plaats,
alg_l.alg_locatie_mjb_score1
locatieconditiescore,
alg_t.alg_terreinsector_naam
terrein,
alg_t.alg_terreinsector_omschrijving
terreinomschrijving,
lcl.x ('alg_srtterreinsec_omschrijving',
alg_st.alg_srtterreinsector_key,
alg_srtterreinsec_omschrijving)
terreinsoort,
alg_st.alg_srtterreinsector_code
terreinsoortcode,
alg_st.alg_srtterreinsector_prijs
terreinsoortprijs1,
alg_st.alg_srtterreinsector_prijs2
terreinsoortprijs2,
alg_st.alg_srtterreinsector_prijs3
terreinsoortprijs3,
alg_st.alg_srtterreinsector_prijs4
terreinsoortprijs4,
alg_st.alg_srtterreinsector_prijs5
terreinsoortprijs5,
DECODE (alg_st.prs_verhuurbaar, 1, lcl.l ('lcl_yes'), lcl.l ('lcl_no'))
terreinsoortverhuurbaar,
alg_t.alg_terreinsector_omtrek
omtrek,
alg_t.alg_terreinsector_oppervlak
oppervlakte,
alg_t.alg_terreinsector_key,
alg_l.alg_locatie_key,
alg_l.alg_district_key,
alg_re.alg_regio_key
FROM alg_locatie alg_l,
alg_terreinsector alg_t,
alg_srtterreinsector alg_st,
alg_district alg_d,
alg_regio alg_re
WHERE alg_t.alg_terreinsector_verwijder IS NULL
AND alg_l.alg_locatie_key = alg_t.alg_locatie_key
AND alg_d.alg_district_key = alg_l.alg_district_key
AND alg_re.alg_regio_key = alg_d.alg_regio_key
AND alg_t.alg_srtterreinsector_key = alg_st.alg_srtterreinsector_key(+);
/
REGISTERRUN('$Id$')

View File

@@ -1,24 +0,0 @@
/*
* $Revision$
* $Id$
*/
_FAC_MODULE('AUT','lcl_module_AUT')
INSERT INTO aut_idp
(aut_idp_code, aut_idp_type, aut_idp_algorithm,
aut_idp_omschrijving, aut_idp_opmerking,
aut_idp_secret, aut_idp_audience, aut_idp_issuer, aut_idp_clockskew)
VALUES ('_INTERNAL', 4, 'HS256',
'Internal use', 'Internal use only. Do not modify',
DBMS_RANDOM.string('a', 32), 'internal.facilitor.nl', 'internal.facilitor.nl', 30
);
INSERT INTO aut_idp_map
(aut_idp_key, aut_idp_map_from, aut_idp_map_to, aut_idp_map_identify)
SELECT aut_idp_key, 'perslid_key', 99, 1
FROM aut_idp
WHERE aut_idp_code = '_INTERNAL';
REGISTERONCE('$Id$')

View File

@@ -43,13 +43,13 @@ create index prs_i_prs_afdeling_p_bdr_key on prs_afdeling (prs_bedrijf_key);
create unique index bes_i_bes_disc_params1 on bes_disc_params(bes_ins_discipline_key);
CREATE INDEX bes_i_bes_kenmerkbestell1 ON bes_kenmerkbestell(bes_bestelling_key);
CREATE INDEX bes_i_bes_kenmerkbesteli1 ON bes_kenmerkbesteli(bes_bestelling_item_key);
CREATE INDEX bes_i_bes_srtkenmerk1 ON bes_srtkenmerk(bes_srtkenmerk_code);
CREATE INDEX bes_i_bes_kenmerk1 ON bes_kenmerk(bes_kenmerk_code);
CREATE INDEX bes_i_bes_favoriet1 ON bes_favoriet(prs_perslid_key);
CREATE INDEX bes_i_bes_srtdeel_prijs1 ON bes_srtdeel_prijs (bes_srtdeel_key);
CREATE INDEX bes_i_bes_srtprod_prijs1 ON bes_srtprod_prijs (bes_srtprod_key);
REGISTERONCE('$Id$')

View File

@@ -14,13 +14,27 @@ AS
RETURN NUMBER;
FUNCTION getsrtdeelinkprijs (pbes_srtdeel_key IN NUMBER, pdate IN DATE)
RETURN NUMBER;
FUNCTION getsrtprodprijs (pbes_srtprod_key IN NUMBER, pdate IN DATE)
RETURN NUMBER;
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;
@@ -157,6 +171,42 @@ AS
RETURN bes.getsrtdeelprijsinfo (pbes_srtdeel_key, pdate, 2);
END;
FUNCTION getsrtprodprijs (pbes_srtprod_key IN NUMBER, pdate IN DATE)
RETURN NUMBER
AS
ldate DATE;
lprijs bes_srtprod_prijs.bes_srtprod_prijs_prijs%TYPE;
BEGIN
ldate := SYSDATE; -- default
IF pdate IS NOT NULL
THEN
ldate := pdate;
END IF;
BEGIN
SELECT sdp.bes_srtprod_prijs_prijs
INTO lprijs
FROM bes_srtprod_prijs sdp
WHERE COALESCE (sdp.bes_srtprod_prijs_vervaldatum, SYSDATE + 999) > ldate AND sdp.bes_srtprod_key = pbes_srtprod_key
AND NOT EXISTS
(SELECT ''
FROM bes_srtprod_prijs sdp1
WHERE COALESCE (sdp1.bes_srtprod_prijs_vervaldatum, SYSDATE + 999) > ldate
AND sdp1.bes_srtprod_key = pbes_srtprod_key
AND COALESCE(sdp1.bes_srtprod_prijs_vervaldatum, SYSDATE+999) < COALESCE (sdp.bes_srtprod_prijs_vervaldatum, SYSDATE + 999));
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN NULL;
END;
RETURN lprijs;
END;
FUNCTION calcartikelkortingsprijs (pbes_srtdeel_key IN NUMBER, pbestelaantal IN NUMBER)
RETURN NUMBER
AS
@@ -227,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
@@ -300,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
@@ -337,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
@@ -610,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
@@ -737,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
@@ -815,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

@@ -25,8 +25,12 @@ CREATE SEQUENCE bes_s_bes_favoriet_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_staffeltabel_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_staffel_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtprod_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_grootheid_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtdeel_prijs_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_srtprod_prijs_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_bedrijf_srtprod_key MINVALUE 1;
CREATE SEQUENCE bes_s_bes_bedrijf_bedrijf_key MINVALUE 1;
REGISTERONCE('$Id$')

View File

@@ -58,6 +58,59 @@ CREATE_TABLE(bes_grootheid,0)
);
-- Assortiment van producent/fabrikant (genormaliseerde producten)
CREATE_TABLE(bes_srtprod,0)
(
bes_srtprod_key
NUMBER(10)
CONSTRAINT bes_k_bes_srtprod_key PRIMARY KEY,
bes_srtgroep_key
NUMBER(10)
NOT_NULL(bes_srtgroep_key, bes_c_bes_srtgroep_key3) // echt?
CONSTRAINT bes_r_bes_srtgroep_key4 REFERENCES bes_srtgroep,
bes_srtprod_omschrijving
VARCHAR2(100)
NOT_NULL(bes_srtprod_omschrijving, bes_c_bes_srtprod_omschrijving),
bes_srtprod_opmerking
VARCHAR2(2000 CHAR),
bes_srtprod_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(bes_srtprod_aanmaak, bes_c_bes_srtprod_aanmaak),
bes_srtprod_verwijder
DATE
DEFAULT NULLDATUM,
bes_srtprod_volgnr
NUMBER(3),
bes_srtprod_btw
NUMBER(3),
bes_srtprod_eenheid
VARCHAR2(30),
bes_srtprod_nr
VARCHAR2(32),
/* MB: Optionele referentie naar producent/fabrikant */
prs_bedrijf_key
NUMBER(10)
CONSTRAINT bes_r_prs_bedrijf_key5 REFERENCES prs_bedrijf(prs_bedrijf_key),
/* MB: artikel wordt door producent gemaakt tot aan deze datum, mag leeg zijn (= geen maak-limiet) */
bes_srtprod_vervaldatum
DATE,
bes_srtprod_image
VARCHAR2(255),
bes_srtprod_veelvoud
NUMBER(6),
/* MB: Verwijzing naar eenheid van een grootheid (gram / milliliter / aantal) */
bes_grootheid_key
NUMBER(10) CONSTRAINT bes_r_bes_grootheid REFERENCES bes_grootheid(bes_grootheid_key) ON DELETE CASCADE,
/* MB Hier het getal aan gewicht, inhoud of aantal in te vullen : */
/* b.v. 1000 (en betekent in combi met bes_grootheid_key b.v. 1000 gram) */
bes_grootheid_getal
NUMBER(10),
bes_srtprod_margebedrag /* bedrag van de fee per 1 grootheid van dit product */
NUMBER(12,6),
bes_srtprod_margebedragpct /* percentage van de producentfee dat voor ons is, de rest is voor whoever */
NUMBER(3)
);
CREATE_TABLE(bes_srtdeel,0)
(
@@ -97,6 +150,9 @@ CREATE_TABLE(bes_srtdeel,0)
prs_bedrijf_key
NUMBER(10)
CONSTRAINT bes_r_prs_bedrijf_key3 REFERENCES prs_bedrijf(prs_bedrijf_key),
bes_srtprod_key
NUMBER(10)
CONSTRAINT bes_r_bes_srtprod_key2 REFERENCES bes_srtprod(bes_srtprod_key),
bes_srtdeel_vervaldatum
DATE,
bes_srtdeel_image
@@ -193,9 +249,9 @@ CREATE_TABLE(bes_bestelling, 0)
NUMBER(10)
CONSTRAINT bes_r_mld_adres_key_lev REFERENCES mld_adres(mld_adres_key),
bes_bestelling_levkosten
NUMBER(11,2),
NUMBER(8,2),
bes_bestelling_korting
NUMBER(11,2),
NUMBER(8,2),
fac_activiteit_key
NUMBER(10)
CONSTRAINT fac_r_fac_activiteit3 REFERENCES fac_activiteit(fac_activiteit_key) ON DELETE CASCADE,
@@ -244,9 +300,9 @@ CREATE_TABLE(bes_bestelopdr, 0)
bes_bestelopdr_leverdatum
DATE,
bes_bestelopdr_levkosten
NUMBER(11,2),
NUMBER(8,2),
bes_bestelopdr_korting
NUMBER(11,2),
NUMBER(8,2),
bes_bestelopdr_opmerking
VARCHAR2(320),
cnt_contract_key
@@ -295,11 +351,11 @@ CREATE_TABLE(bes_bestelopdr_item, 0)
bes_bestelopdr_item_opmerking
VARCHAR2(100),
bes_bestelopdr_item_prijs
NUMBER(15,6),
NUMBER(12,6),
bes_bestelopdr_item_inkprijs
NUMBER(14,5),
NUMBER(11,5),
bes_bestelopdr_item_brutoprijs
NUMBER(14,5),
NUMBER(11,5),
bes_bestelopdr_item_ontvangen
DATE,
bes_bestelopdr_item_status
@@ -360,11 +416,11 @@ CREATE_TABLE(bes_bestelling_item, 0)
NUMBER(15,3)
CONSTRAINT bes_c_bes_bestelling_i_aantal CHECK(bes_bestelling_item_aantal IS NOT NULL),
bes_bestelling_item_brutoprijs /* verkoopprijs ten tijde van bestelling */
NUMBER(14,5),
NUMBER(11,5),
bes_bestelling_item_prijs /* incl. kortingen */
NUMBER(15,6),
NUMBER(12,6),
bes_bestelling_item_inkprijs /* inkoopprijs ten tijde van bestelling */
NUMBER(15,6),
NUMBER(12,6),
bes_bestelopdr_item_key
NUMBER(10)
CONSTRAINT bes_r_bes_bestelopdr_i_key1 REFERENCES bes_bestelopdr_item(bes_bestelopdr_item_key),
@@ -409,10 +465,10 @@ CREATE_TABLE(bes_disc_params, 0)
DEFAULT 0
CONSTRAINT bes_c_disc_params_fiatflow CHECK(bes_disc_params_fiatflow IN (0,1)),
bes_disc_params_bestellimiet
NUMBER(11,2)
NUMBER(8,2)
DEFAULT 100000,
bes_disc_params_min_bedrag
NUMBER(11,2)
NUMBER(8,2)
DEFAULT 0,
bes_disc_params_auto_order
NUMBER(1)
@@ -548,8 +604,6 @@ CREATE_TABLE(bes_srtkenmerk, 0)
VARCHAR2(50)
, bes_srtkenmerk_upper
VARCHAR2(50)
, bes_srtkenmerk_code
VARCHAR2(60)
, bes_srtkenmerk_dimensie
VARCHAR2(10)
, bes_srtkenmerk_kenmerktype
@@ -605,8 +659,6 @@ CREATE_TABLE(bes_kenmerk, 0)
(bes_kenmerk_niveau is not null and (bes_kenmerk_niveau IN( 'D', 'G', 'S')))
, bes_kenmerk_omschrijving
VARCHAR2(50) /* optionele overrule van srtkenmerk_omschrijving */
, bes_kenmerk_code
VARCHAR2(60)
, bes_kenmerk_verplicht
NUMBER(1)
, bes_kenmerk_groep
@@ -729,9 +781,9 @@ CREATE_TABLE(bes_srtdeel_prijs,0)
NUMBER(10)
CONSTRAINT bes_r_bes_srtdeel_key1 REFERENCES bes_srtdeel(bes_srtdeel_key) ON DELETE CASCADE,
bes_srtdeel_prijs_prijs
NUMBER(14,5),
NUMBER(11,5),
bes_srtdeel_prijs_inkprijs
NUMBER(14,5),
NUMBER(11,5),
/* MB: Tot aan deze datum geldt deze prijs, daarna is deze prijs niet meer geldig (Farmers wilde dit ook). */
bes_srtdeel_prijs_vervaldatum
DATE,
@@ -740,7 +792,62 @@ CREATE_TABLE(bes_srtdeel_prijs,0)
NUMBER(1)
);
-- Prijsverloop van producten van fabriaknt
CREATE_TABLE(bes_srtprod_prijs,0)
(
bes_srtprod_prijs_key
NUMBER(10)
CONSTRAINT bes_k_bes_srtprod_prijs_key PRIMARY KEY,
bes_srtprod_key
NUMBER(10)
CONSTRAINT bes_r_bes_srtprod_key REFERENCES bes_srtprod(bes_srtprod_key),
bes_srtprod_prijs_prijs
NUMBER(11,5),
bes_srtprod_prijs_inkprijs
NUMBER(11,5),
/* MB: Tot aan deze datum geldt deze prijs, daarna is deze prijs niet meer geldig */
bes_srtprod_prijs_vervaldatum
DATE,
/* MB: Prioriteit/prijspakker instelling op producentartikelprijs-nivo, schaal van 1 (=lage prio) - 4 (=hoogste prio), mag leeg zijn (= 0: laagste prio) */
bes_srtprod_prijs_prio
NUMBER(1)
);
-- Een productsample voor een klant
CREATE_TABLE(bes_bedrijf_srtprod, 0)
(
bes_bedrijf_srtprod_key
NUMBER(10)
CONSTRAINT bes_k_bedrijf_srtprod_key PRIMARY KEY,
prs_bedrijf_key
NUMBER(10)
CONSTRAINT bes_r_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
bes_srtprod_key
NUMBER(10)
CONSTRAINT bes_r_srtprod_key1 REFERENCES bes_srtprod(bes_srtprod_key) ON DELETE CASCADE,
bes_bedrijf_srtprod_weging
NUMBER(12,2),
bes_bedrijf_srtprod_opmerking
VARCHAR2(320),
bes_bedrijf_srtprod_prijs
NUMBER(11,5)
);
/* MB: Voorkeursleveranciers ---------------------------------------------------------------------------*/
CREATE_TABLE(bes_bedrijf_bedrijf,0)
(
bes_bedrijf_bedrijf_key
NUMBER(10)
CONSTRAINT bes_k_bes_bedrijf_bedrijf_key PRIMARY KEY,
/* Klant: interne bedrijf */
prs_bedrijf_key_klant
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key),
/* Leverancier: externe bedrijf */
prs_bedrijf_key_lev
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_bedrijf_key2 REFERENCES prs_bedrijf(prs_bedrijf_key)
);
REGISTERONCE('$Id$')

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
@@ -243,8 +221,6 @@ CREATE_TRIGGER(bes_t_bes_srtkenmerk_b_iu)
BEGIN
UPDATE_PRIMARY_KEY(bes_srtkenmerk_key, bes_s_bes_srtkenmerk_key);
UPDATE_UPPER(bes_srtkenmerk_omschrijving, bes_srtkenmerk_upper,bes_srtkenmerk);
UPDATE_UPPER(bes_srtkenmerk_code, bes_srtkenmerk_code, bes_srtkenmerk);
UPDATE_AANMAAKDATUM(bes_srtkenmerk,bes_srtkenmerk_aanmaak);
IF (:new.bes_srtkenmerk_verwijder IS NOT NULL AND :old.bes_srtkenmerk_verwijder IS NULL AND
:new.bes_srtkenmerk_systeem = 1)
@@ -342,7 +318,6 @@ BEGIN
-- FSN#13902: we tolereren het achteraf verplicht maken
UPDATE_PRIMARY_KEY(bes_kenmerk_key, bes_s_bes_kenmerk_key);
UPDATE_AANMAAKDATUM(bes_kenmerk, bes_kenmerk_aanmaak);
UPDATE_UPPER(bes_kenmerk_code, bes_kenmerk_code, bes_kenmerk);
END;
/
@@ -600,6 +575,14 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_srtprod_B_IU)
BEFORE INSERT OR UPDATE ON bes_srtprod
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_srtprod_key, bes_s_bes_srtprod_key);
END;
/
CREATE_TRIGGER(bes_t_bes_grootheid_B_IU)
BEFORE INSERT OR UPDATE ON bes_grootheid
FOR EACH ROW
@@ -616,6 +599,30 @@ BEGIN
END;
/
CREATE_TRIGGER(bes_t_bes_srtprod_prijs_B_IU)
BEFORE INSERT OR UPDATE ON bes_srtprod_prijs
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_srtprod_prijs_key, bes_s_bes_srtprod_prijs_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bedrijf_srtprod_BIU)
BEFORE INSERT OR UPDATE ON bes_bedrijf_srtprod
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bedrijf_srtprod_key, bes_s_bes_bedrijf_srtprod_key);
END;
/
CREATE_TRIGGER(bes_t_bes_bedrijf_bedrijf_B_IU)
BEFORE INSERT OR UPDATE ON bes_bedrijf_bedrijf
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bes_bedrijf_bedrijf_key, bes_s_bes_bedrijf_bedrijf_key);
END;
/
REGISTERRUN('$Id$')
#endif // BES

View File

@@ -297,60 +297,6 @@ AS
WHERE bes_SG.bes_srtgroep_key = bes_SD.bes_srtgroep_key
AND bes_ID.ins_discipline_key = bes_SG.ins_discipline_key;
CREATE_VIEW(bes_v_rap_sync_catalogus, 0)
(
CATALOGUS_NAAM,
LEVERANCIER,
CAT_DATUM,
ARTIKELNR,
GROEP,
OMSCHRIJVING,
PRIJS,
EENHEID,
PICTURE,
ORDERAANTAL,
TAX,
DUEDATE,
INKOOPPRIJS,
MINIMUM,
STAFFELTABEL,
WIJZIGDAGEN,
ANNULEERDAGEN,
OPMERKING
)
AS
SELECT bd.ins_discipline_omschrijving,
b.prs_bedrijf_naam,
NULL,
sd.bes_srtdeel_nr,
sg.bes_srtgroep_omschrijving,
sd.bes_srtdeel_omschrijving,
REPLACE (TO_CHAR (bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL)), ',', '.'),
sd.bes_srtdeel_eenheid,
sd.bes_srtdeel_image,
TO_CHAR (sd.bes_srtdeel_veelvoud),
TO_CHAR (sd.bes_srtdeel_btw),
TO_CHAR (sd.bes_srtdeel_vervaldatum, 'yyyymmdd'),
REPLACE (TO_CHAR (bes.getsrtdeelinkprijs (sd.bes_srtdeel_key, NULL)), ',', '.'),
TO_CHAR (sd.bes_srtdeel_minimum),
bs.bes_staffeltabel_naam,
TO_CHAR (sd.bes_srtdeel_wijzigdagen),
TO_CHAR (sd.bes_srtdeel_annuleerdagen),
sd.bes_srtdeel_opmerking
FROM bes_discipline bd,
bes_srtgroep sg,
bes_srtdeel sd,
prs_bedrijf b,
bes_staffeltabel bs
WHERE bd.ins_discipline_module = 'BES'
AND bd.ins_discipline_verwijder IS NULL
AND bd.ins_discipline_key = sg.ins_discipline_key
AND sg.bes_srtgroep_verwijder IS NULL
AND sg.bes_srtgroep_key = sd.bes_srtgroep_key
AND sd.bes_srtdeel_verwijder IS NULL
AND sd.prs_bedrijf_key = b.prs_bedrijf_key
AND sd.bes_staffeltabel_key = bs.bes_staffeltabel_key;
REGISTERRUN('$Id$')
#endif // BES

View File

@@ -13,10 +13,6 @@ CREATE INDEX bez_i_bez_afspraak_bez7 ON bez_afspraak(alg_locatie_key);
CREATE INDEX bez_i_bez_afspraak_bez8 ON bez_afspraak(mld_opdr_key);
create index bez_i_bez_bezoeker_afsp on bez_bezoekers (bez_afspraak_key);
CREATE INDEX bez_i_bez_bezoekers1 ON bez_bezoekers(prs_perslid_key);
CREATE INDEX bez_i_bez_bezoekers2 ON bez_bezoekers(prs_contactpersoon_key);
CREATE INDEX bez_i_bez_kenmerk1 ON bez_kenmerk(bez_kenmerk_code);
REGISTERONCE('$Id$')

View File

@@ -76,7 +76,6 @@ CREATE OR REPLACE PACKAGE BODY bez AS
bez_afspraak_telefoonnr,
bez_afspraak_datum, bez_actie_key,
alg_locatie_key, res_rsv_ruimte_key,
mld_opdr_key,
alg_onrgoed_keys, bez_afspraak_ruimte,
bez_afspraak_opmerking, bez_afspraak_eind
)
@@ -90,7 +89,6 @@ CREATE OR REPLACE PACKAGE BODY bez AS
a.bez_actie_key,
a.alg_locatie_key,
prsvkey_to,
mld_opdr_key,
a.alg_onrgoed_keys,
a.bez_afspraak_ruimte,
a.bez_afspraak_opmerking,
@@ -388,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)
@@ -455,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

@@ -63,7 +63,7 @@ CREATE_TABLE(bez_afspraak,0)
bez_afspraak_gastheer
VARCHAR2(120),
bez_afspraak_telefoonnr
VARCHAR2(20),
VARCHAR2(15),
bez_afspraak_datum
DATE
DEFAULT NULL,
@@ -105,7 +105,7 @@ CREATE_TABLE(bez_bezoekers,0)
NUMBER(10)
REFERENCES bez_afspraak,
bez_afspraak_naam -- naam bezoeker
VARCHAR2(60),
VARCHAR2(30),
bez_afspraak_bedrijf -- naam bedrijf bezoeker
VARCHAR2(60),
prs_contactpersoon_key -- optioneel
@@ -165,8 +165,6 @@ CREATE_TABLE(bez_kenmerk,0)
VARCHAR2(50)
,bez_kenmerk_upper
VARCHAR2(50)
,bez_kenmerk_code
VARCHAR2(60)
,bez_kenmerk_hint
VARCHAR2(255)
,bez_kenmerk_default

View File

@@ -115,9 +115,7 @@ BEFORE INSERT OR UPDATE ON bez_kenmerk
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(bez_kenmerk_key, bez_s_bez_kenmerk_key);
UPDATE_UPPER(bez_kenmerk_omschrijving, bez_kenmerk_upper, bez_kenmerk);
UPDATE_UPPER(bez_kenmerk_code, bez_kenmerk_code, bez_kenmerk);
UPDATE_UPPER(bez_kenmerk_omschrijving, bez_kenmerk_upper,bez_kenmerk);
IF (:new.bez_kenmerk_verwijder IS NOT NULL AND :old.bez_kenmerk_verwijder IS NULL AND
:new.bez_kenmerk_systeem = 1)
THEN

View File

@@ -15,7 +15,7 @@ CREATE_TABLE(cad_tekening, 0)
NUMBER(10)
NOT_NULL(alg_locatie_key, cad_c_alg_locatie_key)
CONSTRAINT cad_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE,
alg_verdieping_key
alg_verdieping_key
NUMBER(10)
CONSTRAINT cad_r_alg_verdieping_key REFERENCES alg_verdieping(alg_verdieping_key) ON DELETE CASCADE,
cad_tekening_filenaam
@@ -94,7 +94,7 @@ CREATE_TABLE(cad_thema,0)
VARCHAR2(1000)
NOT_NULL(cad_thema_view, cad_c_cad_thema_view),
cad_thema_type
NUMBER(3)
VARCHAR2(3)
CONSTRAINT cad_c_cad_thema_type CHECK (cad_thema_type BETWEEN 1 AND 255),
fac_functie_key
NUMBER(10)

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,15 +5628,15 @@ 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 = '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 = '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, 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 = 'PRIORITEITSCORE'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, 1, 90, '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 = 'KOSTEN'), (SELECT ins_srtdiscipline_key FROM ins_srtdiscipline WHERE ins_srtdiscipline_omschrijving = 'NEN2767 - Conditiemeting'), NULL, 'T', 0, 1, 92, NULL FROM DUAL;
-- corresponding tables are created by the core

View File

@@ -878,7 +878,7 @@ AS
-- we only track real changes, one should trust that we are accurate
IF (loldscore1 IS NULL and lnewscore1 IS NOT NULL) OR (lnewscore1 <> loldscore1)
THEN
fac.trackaction ('#INSCN1',
fac.trackaction ('#INSUPD',
p_deel_key,
p_user_key,
NULL,
@@ -1246,7 +1246,7 @@ END;
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
-- PLAT#53170: Koppelen van soort gebrek (mld_stdmelding) aan elementen obv importsheet: IMPORTFUNCTIE srtdeel_mlddisc
-- om het aantal combinaties te beperken tot alleen relevante combi's van gebrek en objectsoort, groep of discipline
-- om het aantal combinaties te beperken tot alleen relevante combi's van gebrek en objectsoort
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE PROCEDURE cnd_import_srtdeel_mlddisc (
@@ -1271,11 +1271,6 @@ AS
v_ins_discipline_omschrijving VARCHAR2 (1000);
v_mld_discipline_omschrijving VARCHAR2 (1000);
v_lcl_ins_srtdeel_code VARCHAR2 (100);
v_lcl_ins_discipline_omschr VARCHAR2 (100);
v_lcl_ins_srtgroep_omschr VARCHAR2 (100);
v_lcl_mld_discipline_omschr VARCHAR2 (100);
CURSOR c1
IS
SELECT *
@@ -1334,8 +1329,6 @@ BEGIN
--
v_aanduiding :=
'['
|| rec1.fac_imp_file_index
|| ':'
|| v_ins_srtdeel_code
|| '-'
|| v_ins_discipline_omschrijving
@@ -1354,30 +1347,17 @@ BEGIN
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
IF (header_is_valid = 0)
THEN
IF UPPER (v_ins_srtdeel_code) = 'SUBRECEPT NUMMER'
THEN
v_lcl_ins_srtdeel_code := 'SUBRECEPT NUMMER';
v_lcl_ins_discipline_omschr := 'HOOFDRECEPT';
v_lcl_ins_srtgroep_omschr := 'GROEP';
v_lcl_mld_discipline_omschr := 'VAKGROEP';
ELSE
v_lcl_ins_srtdeel_code := 'OBJECTSOORTCODE';
v_lcl_ins_discipline_omschr := 'DISCIPLINEOMSCHRIJVING';
v_lcl_ins_srtgroep_omschr := 'GROEPSOORTOMSCHRIJVING';
v_lcl_mld_discipline_omschr := 'VAKGROEP';
END IF;
IF UPPER (v_ins_srtdeel_code) = v_lcl_ins_srtdeel_code
AND UPPER (v_ins_discipline_omschrijving) = v_lcl_ins_discipline_omschr
AND UPPER (v_ins_srtgroep_omschrijving) = v_lcl_ins_srtgroep_omschr
AND UPPER (v_mld_discipline_omschrijving) = v_lcl_mld_discipline_omschr
IF UPPER (v_ins_srtdeel_code) = 'SUBRECEPT NUMMER'
AND UPPER (v_ins_discipline_omschrijving) = 'HOOFDRECEPT'
AND UPPER (v_ins_srtgroep_omschrijving) = 'GROEP'
AND UPPER (v_mld_discipline_omschrijving) = 'VAKGROEP'
THEN
header_is_valid := 1;
END IF;
ELSE
v_count_tot := v_count_tot + 1;
v_errorhint := 'Ongeldig ' || v_lcl_ins_srtdeel_code;
v_errorhint := 'Ongeldig Subreceptnummer';
IF (v_ins_srtdeel_code IS NOT NULL)
THEN
@@ -1388,13 +1368,20 @@ BEGIN
fac.imp_writelog (
p_import_key,
'W',
v_aanduiding || v_lcl_ins_srtdeel_code || ' te lang',
v_aanduiding || 'Subreceptnummer te lang',
'Afgebroken tot [' || v_ins_srtdeel_code || ']');
END IF;
ELSE
fac.imp_writelog (
p_import_key,
'W',
v_aanduiding,
v_errorhint || ' - Regel wordt overgeslagen');
v_ongeldig := 1;
END IF;
--
v_errorhint := 'Ongeldig ' || v_lcl_ins_discipline_omschr;
v_errorhint := 'Ongeldig hoofdrecept';
IF (v_ins_discipline_omschrijving IS NOT NULL)
THEN
@@ -1405,15 +1392,22 @@ BEGIN
fac.imp_writelog (
p_import_key,
'W',
v_aanduiding || v_lcl_ins_discipline_omschr || ' te lang',
v_aanduiding || 'Hoofdrecept te lang',
'Afgebroken tot ['
|| v_ins_discipline_omschrijving
|| ']');
END IF;
ELSE
fac.imp_writelog (
p_import_key,
'W',
v_aanduiding,
v_errorhint || ' - Regel wordt overgeslagen');
v_ongeldig := 1;
END IF;
--
v_errorhint := 'Ongeldige ' || v_lcl_ins_srtgroep_omschr;
v_errorhint := 'Ongeldige groep';
IF (v_ins_srtgroep_omschrijving IS NOT NULL)
THEN
@@ -1424,15 +1418,22 @@ BEGIN
fac.imp_writelog (
p_import_key,
'W',
v_aanduiding || v_lcl_ins_srtgroep_omschr || ' te lang',
v_aanduiding || 'Groep te lang',
'Afgebroken tot ['
|| v_ins_srtgroep_omschrijving
|| ']');
END IF;
ELSE
fac.imp_writelog (
p_import_key,
'W',
v_aanduiding,
v_errorhint || ' - Regel wordt overgeslagen');
v_ongeldig := 1;
END IF;
--
v_errorhint := 'Ongeldige ' || v_lcl_mld_discipline_omschr;
v_errorhint := 'Ongeldige vakgroep';
IF (v_mld_discipline_omschrijving IS NOT NULL)
THEN
@@ -1443,7 +1444,7 @@ BEGIN
fac.imp_writelog (
p_import_key,
'W',
v_aanduiding || v_lcl_mld_discipline_omschr || ' te lang',
v_aanduiding || 'Vakgroep te lang',
'Afgebroken tot ['
|| v_mld_discipline_omschrijving
|| ']');
@@ -1551,9 +1552,8 @@ IS
oracle_err_mes VARCHAR2 (200);
v_count_tot NUMBER (10);
v_count_import NUMBER (10);
v_niveau VARCHAR2 (1);
v_ins_srtinstallatie_key NUMBER (10);
v_ins_srtdeel_key NUMBER (10);
v_mld_discipline_key NUMBER (10);
BEGIN
v_count_tot := 0;
@@ -1562,8 +1562,6 @@ BEGIN
FOR rec IN c1
LOOP
BEGIN
v_ins_srtinstallatie_key := NULL;
v_aanduiding :=
'['
|| rec.ins_srtdeel_code
@@ -1575,49 +1573,22 @@ BEGIN
|| rec.ins_srtgroep_omschrijving
|| '] ';
IF rec.ins_srtdeel_code IS NOT NULL
THEN
v_errorhint := 'MAX(sd.ins_srtdeel_key) levert NULL op';
v_niveau := 'S';
SELECT MAX (sd.ins_srtdeel_key)
INTO v_ins_srtinstallatie_key
FROM ins_srtdeel sd, ins_srtgroep g, ins_discipline d
WHERE sd.ins_srtgroep_key = g.ins_srtgroep_key
AND g.ins_discipline_key = d.ins_discipline_key
AND sd.ins_srtdeel_code_upper =
UPPER (rec.ins_srtdeel_code)
AND g.ins_srtgroep_upper =
UPPER (rec.ins_srtgroep_omschrijving)
AND UPPER(d.ins_discipline_omschrijving) =
UPPER(rec.ins_discipline_omschrijving)
AND d.ins_discipline_verwijder IS NULL
AND g.ins_srtgroep_verwijder IS NULL
AND sd.ins_srtdeel_verwijder IS NULL;
v_errorhint := 'MAX(sd.ins_srtdeel_key) levert NULL op';
ELSIF rec.ins_srtgroep_omschrijving IS NOT NULL
THEN
v_niveau := 'G';
v_errorhint := 'MAX(g.ins_srtgroep_key) levert NULL op';
SELECT MAX (g.ins_srtgroep_key)
INTO v_ins_srtinstallatie_key
FROM ins_srtgroep g, ins_discipline d
WHERE g.ins_discipline_key = d.ins_discipline_key
AND g.ins_srtgroep_upper =
UPPER (rec.ins_srtgroep_omschrijving)
AND UPPER (d.ins_discipline_omschrijving) =
UPPER (rec.ins_discipline_omschrijving)
AND d.ins_discipline_verwijder IS NULL
AND g.ins_srtgroep_verwijder IS NULL;
ELSE
v_niveau := 'D';
v_errorhint := 'MAX(d.ins_discipline_key) levert NULL op';
SELECT MAX (d.ins_discipline_key)
INTO v_ins_srtinstallatie_key
FROM ins_discipline d
WHERE UPPER (d.ins_discipline_omschrijving) =
UPPER (rec.ins_discipline_omschrijving)
AND d.ins_discipline_verwijder IS NULL;
END IF;
SELECT MAX (sd.ins_srtdeel_key)
INTO v_ins_srtdeel_key
FROM ins_srtdeel sd, ins_srtgroep g, ins_discipline d
WHERE sd.ins_srtgroep_key = g.ins_srtgroep_key
AND g.ins_discipline_key = d.ins_discipline_key
AND sd.ins_srtdeel_code_upper =
UPPER (rec.ins_srtdeel_code)
AND g.ins_srtgroep_upper =
UPPER (ins_srtgroep_omschrijving)
AND d.ins_discipline_omschrijving =
rec.ins_discipline_omschrijving
AND d.ins_discipline_verwijder IS NULL
AND g.ins_srtgroep_verwijder IS NULL
AND sd.ins_srtdeel_verwijder IS NULL;
v_errorhint := 'MAX(d.ins_discipline_key) levert NULL op';
@@ -1628,12 +1599,12 @@ BEGIN
rec.mld_discipline_omschrijving
AND d.ins_discipline_verwijder IS NULL;
IF v_ins_srtinstallatie_key IS NULL
IF v_ins_srtdeel_key IS NULL
THEN
fac.imp_writelog (
p_import_key,
'E',
v_aanduiding || ' - Identificatie niet gevonden',
v_aanduiding || ' - Subreceptnummer niet gevonden',
v_errorhint);
END IF;
@@ -1646,7 +1617,7 @@ BEGIN
v_errorhint);
END IF;
IF v_ins_srtinstallatie_key IS NOT NULL
IF v_ins_srtdeel_key IS NOT NULL
AND v_mld_discipline_key IS NOT NULL
THEN
v_errorhint := 'INSERT INTO mld_stdmelding_srtinst faalt...';
@@ -1655,7 +1626,7 @@ BEGIN
mld_stdmelding_key,
ins_srtinstallatie_key,
ins_srtinstallatie_niveau)
SELECT sm.mld_stdmelding_key, v_ins_srtinstallatie_key, v_niveau
SELECT sm.mld_stdmelding_key, v_ins_srtdeel_key, 'S'
FROM mld_stdmelding sm
WHERE sm.mld_ins_discipline_key =
v_mld_discipline_key
@@ -1666,9 +1637,9 @@ BEGIN
WHERE smsi.mld_stdmelding_key =
sm.mld_stdmelding_key
AND smsi.ins_srtinstallatie_key =
v_ins_srtinstallatie_key
v_ins_srtdeel_key
AND smsi.ins_srtinstallatie_niveau =
v_niveau);
'S');
END IF;
EXCEPTION
WHEN OTHERS
@@ -2889,9 +2860,9 @@ IS
v_waarde VARCHAR(4000);
v_srtkenmerk_type VARCHAR2 (1);
ccount NUMBER;
v_objectnaam fac_kenmerkdomein.fac_kenmerkdomein_objectnaam%TYPE;
v_kolomnaam fac_kenmerkdomein.fac_kenmerkdomein_kolomnaam%TYPE;
v_kolomtxt fac_kenmerkdomein.fac_kenmerkdomein_kolomtxt%TYPE;
v_objectnaam VARCHAR2 (30);
v_kolomnaam VARCHAR2 (30);
v_kolomtxt VARCHAR2 (30);
sql_stmt VARCHAR2 (1000);
v_kenmerkdeel_key NUMBER;
l_cursor_1 INTEGER;
@@ -3271,13 +3242,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

@@ -24,9 +24,6 @@ CREATE INDEX cnt_i_cnt_contract_object2 ON cnt_contract_object(cnt_ins_deel_key)
CREATE INDEX cnt_i_cnt_contract_note1 ON cnt_contract_note(cnt_contract_key);
CREATE UNIQUE INDEX cnt_i_cnt_factuurschema1 ON cnt_factuurschema(cnt_contract_key, cnt_factuurschema_boekmaand);
CREATE INDEX cnt_i_cnt_srtkenmerk1 ON cnt_srtkenmerk(cnt_srtkenmerk_code);
CREATE INDEX cnt_i_cnt_kenmerk1 ON cnt_kenmerk(cnt_kenmerk_code);
REGISTERONCE('$Id$')
#endif // CNT

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

@@ -293,8 +293,6 @@ CREATE_TABLE(cnt_srtkenmerk, 0)
VARCHAR2(50)
, cnt_srtkenmerk_upper
VARCHAR2(50)
, cnt_srtkenmerk_code
VARCHAR2(60)
, cnt_srtkenmerk_dimensie
VARCHAR2(10)
, cnt_srtkenmerk_kenmerktype
@@ -344,8 +342,6 @@ CREATE_TABLE(cnt_kenmerk, 0)
VARCHAR2(1)
, cnt_kenmerk_omschrijving
VARCHAR2(50) /* optionele overrule van srtkenmerk_omschrijving */
, cnt_kenmerk_code
VARCHAR2(60)
, cnt_kenmerk_verplicht
NUMBER(1)
, cnt_kenmerk_groep

View File

@@ -133,9 +133,7 @@ BEFORE INSERT OR UPDATE ON cnt_srtkenmerk
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(cnt_srtkenmerk_key, cnt_s_cnt_srtkenmerk_key);
UPDATE_UPPER(cnt_srtkenmerk_omschrijving, cnt_srtkenmerk_upper, cnt_srtkenmerk);
UPDATE_UPPER(cnt_srtkenmerk_code, cnt_srtkenmerk_code, cnt_srtkenmerk);
UPDATE_UPPER(cnt_srtkenmerk_omschrijving, cnt_srtkenmerk_upper,cnt_srtkenmerk);
UPDATE_AANMAAKDATUM(cnt_srtkenmerk, cnt_srtkenmerk_aanmaak);
IF (:new.cnt_srtkenmerk_verwijder IS NOT NULL AND :old.cnt_srtkenmerk_verwijder IS NULL AND
:new.cnt_srtkenmerk_systeem = 1)
@@ -215,7 +213,6 @@ BEGIN
-- FSN#13902: we tolereren het achteraf verplicht maken
UPDATE_PRIMARY_KEY(cnt_kenmerk_key, cnt_s_cnt_kenmerk_key);
UPDATE_AANMAAKDATUM(cnt_kenmerk, cnt_kenmerk_aanmaak);
UPDATE_UPPER(cnt_kenmerk_code, cnt_kenmerk_code, cnt_kenmerk);
END;
/

View File

@@ -445,9 +445,7 @@ CREATE_VIEW(cnt_v_udr_contract, 1)
contractpartij,
contractafdeling,
contracteigenaar,
contracteigenaar_key,
contractbeheerder,
contractbeheerder_key,
begindatum,
einddatum,
opzegdatum,
@@ -498,11 +496,9 @@ SELECT c.cnt_contract_nummer_intern,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all
WHERE prs_perslid_key = prs_perslid_key_eig),
prs_perslid_key_eig contracteigenaar_key,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all
WHERE prs_perslid_key = prs_perslid_key_beh),
prs_perslid_key_beh contractbeheerder_key,
c.cnt_contract_looptijd_van begindatum,
c.cnt_contract_looptijd_tot einddatum,
cnt.cnt_getopzegdatum (c.cnt_contract_key) cnt_opzegdatum,

View File

@@ -663,11 +663,11 @@ DECLARE ~\
imp_key NUMBER(10); ~\
BEGIN ~\
INSERT INTO fac_import_app (fac_import_app_code, ~\
fac_import_app_oms, ~\
fac_functie_key, ~\
fac_import_app_charset, ~\
fac_import_app_folder, ~\
fac_import_app_files) ~\
fac_import_app_oms, ~\
fac_functie_key, ~\
fac_import_app_charset, ~\
fac_import_app_folder, ~\
fac_import_app_files) ~\
VALUES (UPPER (code), ~\
oms_nl, ~\
(SELECT fac_functie_key ~\

View File

@@ -66,7 +66,6 @@ DEFINE_LOCALEITEM(lcl_ins_controle_plandate)
DEFINE_LOCALEITEM(lcl_ins_controle_soon)
DEFINE_LOCALEITEM(lcl_ins_controle_srt)
DEFINE_LOCALEITEM(lcl_ins_controle_srt_verplicht)
DEFINE_LOCALEITEM(lcl_ins_controle_ter_uitvoer)
DEFINE_LOCALEITEM(lcl_ins_controle_tweede)
DEFINE_LOCALEITEM(lcl_ins_controle_uurlijks)
DEFINE_LOCALEITEM(lcl_ins_controle_vierde)

View File

@@ -50,10 +50,8 @@ AS
comps(ins_deel_key,
ins_srtcontrole_key,
ins_deelsrtcontrole_datum,
ins_srtcontrole_mode,
ins_srtcontrole_eenheid,
ins_srtcontrole_periode,
ins_srtcontrole_bits,
volgendedatum,
discipline,
soort,
@@ -78,294 +76,176 @@ 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_mode,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
xcp.ins_srtcontrole_bits,
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 = 2
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_mode,
xcp.ins_srtcontrole_eenheid,
xcp.ins_srtcontrole_periode,
xcp.ins_srtcontrole_bits,
-- 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 = 2
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 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,
m.ins_srtcontrole_mode,
m.ins_srtcontrole_eenheid,
m.ins_srtcontrole_periode,
m.ins_srtcontrole_bits,
fac.nextcyclusdate(m.volgendedatum,
m.ins_srtcontrole_mode,
m.ins_srtcontrole_eenheid,
m.ins_srtcontrole_periode,
m.ins_srtcontrole_bits,
1,
0),
ADD_MONTHS(m.volgendedatum,
CASE
WHEN m.ins_srtcontrole_eenheid = 3 THEN m.ins_srtcontrole_periode
ELSE m.ins_srtcontrole_periode * 12
END),
m.discipline,
m.soort,
m.groep,
@@ -389,20 +269,18 @@ AS
m.vervaldatum,
NULL ins_deelsrtcontrole_key
FROM comps m
WHERE TRUNC(fac.nextcyclusdate(m.volgendedatum,
m.ins_srtcontrole_mode,
m.ins_srtcontrole_eenheid,
m.ins_srtcontrole_periode,
m.ins_srtcontrole_bits,
1,
0), 'YYYY') <=
TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY'))
WHERE ADD_MONTHS(m.volgendedatum,
CASE
WHEN m.ins_srtcontrole_eenheid = 3 THEN m.ins_srtcontrole_periode
ELSE m.ins_srtcontrole_periode * 12
END) <=
TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY')
)
SELECT *
FROM comps) ig
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,
@@ -436,9 +314,6 @@ AS
WHEN 2
THEN
lcl.L('lcl_ins_controle_gestart')
WHEN 3
THEN
lcl.L('lcl_ins_controle_ter_uitvoer')
WHEN 5
THEN
CASE

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

@@ -17,28 +17,6 @@ INSERT INTO fac_api (fac_api_name,
0,
NULL);
-- Toevoegen gebruiker om notificaties van MS Graph te verwerken
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,
'API-user tbv. Exchange-koppeling',
'_MSGRAPHNOTIFICATION',
DBMS_RANDOM.string ('a', 32),
36,
'System account for Exchange notifications.'
|| CHR (13)
|| 'Contact Facilitor for configuration.'
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR';
REGISTERONCE('$Id$')
#endif // EXC

View File

@@ -13,13 +13,12 @@ AS
RETURN NUMBER;
PROCEDURE set_ruimtes_clean(p_import_key IN NUMBER);
PROCEDURE importBezoekers(p_import_key IN NUMBER, p_appt_id IN VARCHAR2, p_recur_id IN VARCHAR2, p_rsv_ruimte_key IN NUMBER, date_interval_start IN DATE, date_interval_end IN DATE);
PROCEDURE import_exchange(p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90);
PROCEDURE update_exchange(p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90);
PROCEDURE import_exchange(p_import_key IN NUMBER);
PROCEDURE update_exchange(p_import_key IN NUMBER);
PROCEDURE import_exchfull(p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90);
PROCEDURE update_exchfull(p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90);
PROCEDURE import_exchfull(p_import_key IN NUMBER);
PROCEDURE update_exchfull(p_import_key IN NUMBER);
END exc;
/
@@ -46,6 +45,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 =
@@ -87,91 +87,6 @@ AS
RETURN NULL;
END;
PROCEDURE importBezoekers (p_import_key IN NUMBER, p_appt_id IN VARCHAR2, p_recur_id IN VARCHAR2, p_rsv_ruimte_key IN NUMBER, date_interval_start IN DATE, date_interval_end IN DATE)
IS
v_afspraak_key bez_afspraak.bez_afspraak_key%TYPE := -1;
CURSOR bezoekers IS
SELECT subject,
starttime,
endtime,
organizer,
att_name,
att_mail,
appt_id,
recur_id
FROM exc_import
WHERE starttime <= date_interval_end
AND endtime >= date_interval_start
AND appt_id || '|' || recur_id = p_appt_id || '|' || p_recur_id
AND gelukt IS NULL
AND NOT REGEXP_LIKE (att_mail, (SELECT COALESCE (fac_setting_pvalue, fac_setting_default)
FROM fac_setting
WHERE fac_setting_name = 'exchange_internal_email_regexp'));
BEGIN
FOR exc_bez IN bezoekers
LOOP
IF v_afspraak_key = -1
THEN
SELECT bez_s_bez_afspraak_key.NEXTVAL INTO v_afspraak_key FROM DUAL;
INSERT INTO bez_afspraak (bez_afspraak_key,
prs_perslid_key,
bez_afspraak_datum,
bez_actie_key,
bez_afspraak_ruimte,
bez_afspraak_opmerking,
bez_afspraak_eind,
alg_locatie_key,
alg_onrgoed_keys,
bez_afspraak_host_key,
bez_afspraak_contact_key,
res_rsv_ruimte_key)
SELECT v_afspraak_key,
rr.res_rsv_ruimte_contact_key,
rr.res_rsv_ruimte_van,
r.bez_actie_key,
SUBSTR (r.res_ruimte_nr, 1, 30),
SUBSTR ('Overgenomen uit Exchange', 1, 320),
rr.res_rsv_ruimte_tot,
g.alg_locatie_key,
MIN (rar.alg_ruimte_key),
rr.res_rsv_ruimte_host_key,
rr.res_rsv_ruimte_contact_key,
p_rsv_ruimte_key
FROM res_rsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte r,
res_alg_ruimte rar,
alg_v_aanwezigruimte ar,
alg_verdieping v,
alg_gebouw g
WHERE rr.res_rsv_ruimte_key = p_rsv_ruimte_key
AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key
AND r.res_ruimte_key = ro.res_ruimte_key
AND rar.res_ruimte_key = r.res_ruimte_key
AND rar.res_alg_ruimte_verwijder IS NULL
AND ar.alg_ruimte_key = rar.alg_ruimte_key
AND v.alg_verdieping_key = ar.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key
GROUP BY rr.res_rsv_ruimte_contact_key,
rr.res_rsv_ruimte_van,
r.bez_actie_key,
r.res_ruimte_nr,
rr.res_rsv_ruimte_tot,
g.alg_locatie_key,
rr.res_rsv_ruimte_host_key,
rr.res_rsv_ruimte_contact_key;
END IF;
INSERT INTO bez_bezoekers (bez_afspraak_key,
bez_afspraak_naam,
bez_bezoekers_email)
VALUES (v_afspraak_key,
SUBSTR (exc_bez.att_name, 1, 60),
exc_bez.att_mail);
END LOOP;
END;
-- Welbeschouwd kunnen door de Exchange-constraints ruimte reserveringen nooit overlappen
-- Als er in FACILITOR toch een overlap is ontstaan is dat eigenlijk een gebrek van
-- de synchronisatie procedure
@@ -255,7 +170,7 @@ AS
|| ')';
fac.imp_writelog (p_import_key,
'I',
'D',
v_errorhint,
'');
res.set_ruimte_dirty (prsv_ruimte_old.res_rsv_ruimte_key); -- deze houdt rekening met schoonmaaak
@@ -321,11 +236,12 @@ AS
-- 1 = succesvol verwerkt in vorige import --> importregel verwijderen
-- 2 = er is in een latere import een nieuwere status van dezelfde appointment ingelezen,
-- dus deze importregel is outdated --> regel verwijderen
PROCEDURE import_exchange (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
PROCEDURE import_exchange (p_import_key IN NUMBER)
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,10 +251,9 @@ 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;
date_interval_end DATE := TRUNC (SYSDATE) + p_days_to;
-- De importvelden:
v_room_id VARCHAR2 (200);
@@ -365,16 +280,14 @@ 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
WHERE i.fac_import_key = p_import_key
AND r.res_ruimte_verwijder IS NULL
AND r.res_ruimte_extern_id IS NOT NULL
AND UPPER (i.fac_import_filenaam) = UPPER ('SYNC_' || r.res_ruimte_extern_id); -- 'SYNC_' is de harde prefix zoals in /UTILS/Exchange/ms_graph.js gedefinieerd
AND UPPER (i.fac_import_filenaam) LIKE
'%' || UPPER (r.res_ruimte_extern_id) || '%';
fac.imp_writelog (p_import_key,
'S',
@@ -524,10 +437,7 @@ AS
-- Insert geformatteerde import record,
-- mits het een toekomstige appointment betreft
IF ( v_ongeldig = 0
AND ( v_modifier = 'D'
OR ( d_starttime <= date_interval_end
AND d_endtime >= date_interval_start)))
IF (v_ongeldig = 0 AND (v_modifier = 'D' OR d_starttime > SYSDATE))
THEN
BEGIN
v_errorhint := 'Fout bij toevoegen regel aan importtabel';
@@ -643,28 +553,23 @@ 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)
PROCEDURE update_exchange (p_import_key IN NUMBER)
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_debug BOOLEAN := FALSE;
v_ongeldig NUMBER (1);
v_debug BOOLEAN := TRUE;
sync_level fac_setting.fac_setting_pvalue%TYPE;
date_interval_start DATE := TRUNC (SYSDATE) - p_days_from;
date_interval_end DATE := TRUNC (SYSDATE) + p_days_to;
c_activiteit_key NUMBER (10);
v_reservering_key NUMBER (10);
@@ -675,11 +580,9 @@ 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
-- Eerst alle toekomstige reserveringen waar geen appointments meer bij zijn annuleren, zodat
-- ruimte ontstaat voor nieuwe/omgeboekte reserveringen.
-- Triggers voor het annuleren van een deelreservering:
-- - DELETE-modifier in synchro; appointment is verwijderd
@@ -689,6 +592,7 @@ AS
-- en nu met recurrence-ID (= occurence). Die single verwijderen, daarna de occurences toevoegen.
-- NB: checken of in deze synchro een appointment niet zowel toegevoegd/bijgewerkt als verwijderd is;
-- dan hoeven we 'm natuurlijk niet meer toe te voegen / bij te werken.
-- (TODO: weet niet of dat <20>berhaupt voorkomt met EWS)
-- TODO: notificeren
CURSOR c_del IS
SELECT 'Cancelled' reden, i.*, rr.*
@@ -718,8 +622,7 @@ AS
recur_id
FROM exc_import
WHERE modifier = 'U'
AND starttime <= date_interval_end
AND endtime >= date_interval_start
AND starttime > SYSDATE
AND gelukt IS NULL) i,
res_rsv_ruimte rr
WHERE rr.res_rsv_ruimte_externnr = i.appt_id || '|' || i.recur_id
@@ -745,8 +648,7 @@ AS
NULL recur_id
FROM exc_import
WHERE modifier = 'U'
AND starttime <= date_interval_end
AND endtime >= date_interval_start
AND starttime > SYSDATE
AND recur_id IS NOT NULL
AND gelukt IS NULL) i,
res_rsv_ruimte rr
@@ -862,11 +764,11 @@ AS
organizer,
modifier,
appt_id,
recur_id
recur_id,
COUNT (*) num_bez
FROM exc_import
WHERE modifier = 'U'
AND starttime <= date_interval_end
AND endtime >= date_interval_start
AND starttime > SYSDATE
AND gelukt IS NULL
AND NOT EXISTS
(SELECT 1
@@ -912,8 +814,7 @@ AS
COUNT (*) num_bez
FROM exc_import
WHERE modifier = 'C'
AND starttime <= date_interval_end
AND endtime >= date_interval_start
AND starttime > SYSDATE
AND gelukt IS NULL
AND NOT EXISTS
(SELECT 1
@@ -945,8 +846,7 @@ AS
COUNT (*) num_bez
FROM exc_import
WHERE modifier = 'U'
AND starttime <= date_interval_end
AND endtime >= date_interval_start
AND starttime > SYSDATE
AND gelukt IS NULL
AND NOT EXISTS
(SELECT 1
@@ -983,11 +883,10 @@ AS
FROM fac_setting
WHERE fac_setting_name = 'msgraph_sync_level';
-- We doen niets met boekingen die buiten het geconfigureerde interval vallen
-- We doen niets met boekingen in het verleden
UPDATE exc_import i
SET gelukt = 4
WHERE starttime > date_interval_end
OR endtime < date_interval_start;
WHERE endtime < SYSDATE;
-- En res_ruimtes als deelnemers, dat kan natuurlijk niet
UPDATE exc_import i
@@ -1019,8 +918,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
@@ -1045,7 +942,7 @@ AS
IF (v_debug)
THEN
fac.imp_writelog (p_import_key,
'I',
'D',
v_aanduiding,
'VERWIJDEREN ' || v_aanduiding);
END IF;
@@ -1071,7 +968,7 @@ AS
THEN
fac.imp_writelog (
p_import_key,
'I',
'D',
v_aanduiding,
rec_db.oms
|| ' kosteloos annuleerbaar tot '
@@ -1083,18 +980,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
@@ -1126,6 +1011,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,
@@ -1149,7 +1046,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
@@ -1176,8 +1073,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"?
@@ -1232,8 +1127,7 @@ AS
INTO v_count_all_needed
FROM exc_import i
WHERE i.modifier IN ('U', 'C')
AND i.starttime <= date_interval_end
AND i.endtime >= date_interval_end
AND i.starttime > SYSDATE
AND i.appt_id || '|' || i.recur_id || '|' =
rec.appt_id || '|' || rec.recur_id || '|';
@@ -1283,7 +1177,7 @@ AS
THEN
fac.imp_writelog (
p_import_key,
'I',
'D',
v_aanduiding,
v_count_all_booked
|| ' deelreservering(en) bij deze appointment ('
@@ -1305,7 +1199,7 @@ AS
THEN
fac.imp_writelog (
p_import_key,
'I',
'D',
v_aanduiding,
'Deze deelres. is op '
|| v_ruimte_extern_id
@@ -1327,7 +1221,7 @@ AS
THEN
fac.imp_writelog (
p_import_key,
'I',
'D',
v_aanduiding,
'Skip (boeking op deze ruimte met andere rsv_ruimte)');
END IF;
@@ -1345,7 +1239,7 @@ AS
THEN
fac.imp_writelog (
p_import_key,
'I',
'D',
v_aanduiding,
'Skip (deze boeking ''bewaren'')');
END IF;
@@ -1355,21 +1249,12 @@ 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
OR rec.res_rsv_ruimte_omschrijving !=
SUBSTR (rec.subject, 1, 60)
OR rec.res_rsv_ruimte_bezoekers != rec.num_bez
OR rec.res_rsv_ruimte_van != rec.starttime
OR rec.res_rsv_ruimte_tot != rec.endtime)
THEN
@@ -1393,7 +1278,8 @@ AS
res_rsv_ruimte_omschrijving =
SUBSTR (rec.subject, 1, 60),
res_rsv_ruimte_van = rec.starttime,
res_rsv_ruimte_tot = rec.endtime
res_rsv_ruimte_tot = rec.endtime,
res_rsv_ruimte_bezoekers = rec.num_bez
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
-- Opruimen en voorzieningen en bezoekers laten volgen
@@ -1413,7 +1299,7 @@ AS
THEN
fac.imp_writelog (
p_import_key,
'I',
'D',
v_aanduiding,
'RES: '
|| rec.res_reservering_key
@@ -1421,7 +1307,7 @@ AS
|| rec.res_rsv_ruimte_volgnr);
fac.imp_writelog (
p_import_key,
'I',
'D',
v_aanduiding,
'Room: '
|| v_ruimte_extern_id
@@ -1429,7 +1315,7 @@ AS
|| rec.res_ruimte_extern_id);
fac.imp_writelog (
p_import_key,
'I',
'D',
v_aanduiding,
'Desc: "'
|| rec.res_rsv_ruimte_omschrijving
@@ -1438,7 +1324,7 @@ AS
|| '"');
fac.imp_writelog (
p_import_key,
'I',
'D',
v_aanduiding,
'Start: '
|| TO_CHAR (rec.res_rsv_ruimte_van,
@@ -1447,13 +1333,21 @@ AS
|| TO_CHAR (rec.starttime, 'DD-MM-YYYY HH24:MI'));
fac.imp_writelog (
p_import_key,
'I',
'D',
v_aanduiding,
'Einde: '
|| TO_CHAR (rec.res_rsv_ruimte_tot,
'DD-MM-YYYY HH24:MI')
|| '-->'
|| TO_CHAR (rec.endtime, 'DD-MM-YYYY HH24:MI'));
fac.imp_writelog (
p_import_key,
'D',
v_aanduiding,
'Bezoekers: '
|| rec.res_rsv_ruimte_bezoekers
|| '-->'
|| rec.num_bez);
END IF;
fac.trackaction ('RESUPD',
@@ -1469,16 +1363,26 @@ AS
IF (v_debug)
THEN
fac.imp_writelog (p_import_key,
'I',
'D',
v_aanduiding,
'Geen verschil in basisgegevens');
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,
'I',
'D',
v_aanduiding,
'gelukt=1');
END IF;
@@ -1501,7 +1405,7 @@ AS
END;
END LOOP;
COMMIT; -- de UPDATE's
COMMIT;
-- Ten slotte nieuwe reserveringen toevoegen
FOR rec IN c_add
@@ -1513,29 +1417,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)
@@ -1552,7 +1444,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';
@@ -1675,7 +1567,7 @@ AS
THEN
DELETE FROM res_reservering WHERE res_reservering_key = v_reservering_key;
END IF;
-- Pas het 'gelukt' bitje aan zodat we hem later niet weer opnieuw proberen
-- Pas het 'gelukt' bitje aan zodat we hem later niet weer opnieuwe proberen
UPDATE exc_import
SET gelukt = 2
WHERE appt_id || '|' || recur_id =
@@ -1683,7 +1575,7 @@ AS
AND gelukt IS NULL;
fac.imp_writelog (p_import_key,
'I',
'W',
v_aanduiding,
'Deze exacte reservering is al bekend in Facilitor -> Geen boeking.');
CONTINUE;
@@ -1693,7 +1585,7 @@ AS
THEN
fac.imp_writelog (
p_import_key,
'I',
'D',
v_aanduiding,
'RESERVERING '
|| v_reservering_key
@@ -1704,9 +1596,6 @@ AS
|| ')');
END IF;
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
@@ -1718,7 +1607,7 @@ AS
IF (v_debug)
THEN
fac.imp_writelog (p_import_key,
'I',
'D',
v_aanduiding,
'gelukt=1');
END IF;
@@ -1743,7 +1632,7 @@ AS
v_rsv_ruimte_key,
NULL,
SYSDATE,
v_trackingnew);
NULL);
-- Is er iets dirty?
res.set_ruimte_dirty (v_rsv_ruimte_key);
@@ -1788,7 +1677,7 @@ AS
v_errorhint := '';
exc.set_ruimtes_clean (p_import_key);
END IF;
COMMIT; -- de INSERT's
COMMIT;
EXCEPTION
WHEN OTHERS
@@ -1809,19 +1698,17 @@ AS
COMMIT;
END update_exchange;
PROCEDURE import_exchfull (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
PROCEDURE import_exchfull (p_import_key IN NUMBER)
IS
BEGIN
import_exchange (p_import_key, p_days_from, p_days_to);
import_exchange (p_import_key);
END;
PROCEDURE update_exchfull (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
PROCEDURE update_exchfull (p_import_key IN NUMBER)
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
update_exchange (p_import_key); -- Eerst de gewone import
-- Nu alle reserveringen die niet zijn aangetroffen verwijderen
-- (Alleen voor ruimtes die in de importtabel voorkomen. Normaliter zijn dat alle ruimtes,
@@ -1844,12 +1731,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

@@ -72,10 +72,4 @@ CREATE INDEX fac_i_fac_bijlagen_refkey1 ON fac_bijlagen(fac_bijlagen_refkey);
CREATE INDEX fac_i_fac_note_group1 ON fac_note_group(fac_note_group_xmlnode, fac_note_group_volgnr);
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,167 +1657,162 @@ 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_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_CTRAFR', 'CTR', 0, 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_FACXNR', '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_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_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_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);
@@ -2004,8 +1999,6 @@ DEF_FAC_SRTNOT('MLDAP1', 3, 'lcl_noti_MLDAP1', 'mld/mld_opdr.asp?opdr_key=', '
DEF_FAC_SRTNOT('MLDINF', 2, 'lcl_noti_MLDINF', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
DEF_FAC_SRTNOT('MLDING', 0, 'lcl_noti_MLDING', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
DEF_FAC_SRTNOT('MLDNEW', 1, 'lcl_noti_MLDNEW', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 60);
DEF_FAC_SRTNOT('MLDCON', 0, 'lcl_noti_MLDCON', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 60);
DEF_FAC_SRTNOT('MLD2CO', 3, 'lcl_noti_MLD2CO', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
DEF_FAC_SRTNOT('MLDNW3', 2, 'lcl_noti_MLDNW3', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 300);
DEF_FAC_SRTNOT('MLDREJ', 9, 'lcl_noti_MLDREJ', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
DEF_FAC_SRTNOT('MLDUPD', 1, 'lcl_noti_MLDUPD', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 60);
@@ -2100,7 +2093,6 @@ DEF_FAC_SRTNOT('RESKTO', 3, 'lcl_noti_RESKTO', 'mld/mld_melding.asp?kto=1&res_ke
DEF_FAC_SRTNOT('RESCLN', 0, 'lcl_noti_RESCLN', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
DEF_FAC_SRTNOT('RESROK', 0, 'lcl_noti_RESROK', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
DEF_FAC_SRTNOT('RES2BO', 0, 'lcl_noti_RES2BO', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10); //GOUD#37603
DEF_FAC_SRTNOT('RESANO', 0, 'lcl_noti_RESANO', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
DEF_FAC_SRTNOT('INSNEW', 0, 'lcl_noti_INSNEW', 'ins/ins_deel.asp?ins_key=', '0', 'deel', 10);
DEF_FAC_SRTNOT('INSUPD', 0, 'lcl_noti_INSUPD', 'ins/ins_deel.asp?ins_key=', '0', 'deel', 60);
@@ -2109,14 +2101,11 @@ DEF_FAC_SRTNOT('INSOUT', 0, 'lcl_noti_INSOUT', 'ins/ins_deel.asp?ins_key=', '0',
DEF_FAC_SRTNOT('INSINN', 0, 'lcl_noti_INSINN', 'ins/ins_deel.asp?ins_key=', '0', 'deel', 10);
DEF_FAC_SRTNOT('INSIN2', 0, 'lcl_noti_INSIN2', 'ins/ins_deel.asp?ins_key=', '0', 'deel', 10);
DEF_FAC_SRTNOT('INSSUP', 0, 'lcl_noti_INSSUP', 'ins/ins_srtdeel.asp?srtdeel_key=', '0', 'srtdeel', 10);
-- INSCN* is for condition score tracking.
DEF_FAC_SRTNOT('INSCN1', 0, 'lcl_noti_INSCN1', 'ins/ins_deel.asp?ins_key=', '0', 'deel', 60);
-- INSC** is for Controle (inspections) tracking.
DEF_FAC_SRTNOT('INSCBE', 0, 'lcl_noti_INSCBE', 'ins/ins_inspect.asp?deelsrtcont_key=', '0', 'controle', 10);
DEF_FAC_SRTNOT('INSCAF', 0, 'lcl_noti_INSCAF', 'ins/ins_inspect.asp?deelsrtcont_key=', '0', 'controle', 10);
DEF_FAC_SRTNOT('INSCVE', 0, 'lcl_noti_INSCVE', 'ins/ins_inspect.asp?deelsrtcont_key=', '0', 'controle', 10);
DEF_FAC_SRTNOT('INSCUP', 0, 'lcl_noti_INSCUP', 'ins/ins_inspect.asp?deelsrtcont_key=', '0', 'controle', 10);
DEF_FAC_SRTNOT('INSCTU', 0, 'lcl_noti_INSCTU', 'ins/ins_inspect.asp?deelsrtcont_key=', '0', 'controle', 10);
-- CTRS** is for srtcontrole (Recurring tasks) tracking.
DEF_FAC_SRTNOT('CTRSUP', 0, 'lcl_noti_CTRSUP', 'mgt/ins_srtcontrole.asp?id=', '0', 'taak', 10);
@@ -2207,11 +2196,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;
/
@@ -2332,35 +2316,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 =
(SELECT prs_perslid_apikey
FROM prs_perslid
WHERE prs_perslid_oslogin = '_PUTORDERS')
WHERE fac_setting_pvalue IS NULL
AND fac_setting_name = 'puo_fclt_web_apikey';
INSERT INTO fac_groep
(fac_groep_omschrijving)
VALUES ('_Default');
@@ -2473,9 +2428,8 @@ DEF_IMPORT('WEB_PRSSYS', 'MLDAFMTXT', 'FIP: Afmeldteksten',
DEF_IMPORT('WEB_PRSSYS', 'BEDRIJFADRES', 'FIP: Aanvullen technische bedrijfadressen', 'FIP: Add company technical addresses')
DEF_IMPORT('WEB_LCLSYS', 'TRANSLATION', 'Import of FACILITOR translation file', 'Import of FACILITOR translation file')
DEF_IMPORT('WEB_PRSSYS', 'KPN', 'FIP: Aanmaken/bijwerken van kostenplaatsen', 'FIP: Create/Update cost centres')
DEF_IMPORT('WEB_PRSSYS', 'KOSTENSOORT', 'FIP: Aanmaken/bijwerken van kostensoorten', 'FIP: Create/Update cost categories')
DEF_IMPORT('WEB_FACTAB', 'GENERICCSV', 'FIP: Generieke CSV import', 'FIP: Generic CSV import')
DEF_IMPORT('WEB_FACFAC', 'GENERICCSV', 'FIP: Generieke CSV import', 'FIP: Generic CSV import')
INSERT INTO fac_typestaffel VALUES (1, 'Percentage');
INSERT INTO fac_typestaffel VALUES (2, 'Vast/Totaal-Fixed/Total');
@@ -2494,11 +2448,9 @@ DEF_RAPPORT('WEB_PRSSYS', 0, 'fac_v_exp_flex_mld', 'TRANSPORT: Flexkenme
'TRANSPORT: Flex properties Calls', 'Export of flex properties for MLD (per department (type)/report/order type)')
DEF_RAPPORT('WEB_PRSSYS', 0, 'fac_v_exp_flex_cnt', 'TRANSPORT: Flexkenmerken Contracten', 'Exporteren van flexkenmerken voor CNT (per contractsoort)',
'TRANSPORT: Flex properties Contracts', 'Export of flex properties for CNT (per contract type)')
DEF_RAPPORT('WEB_PRSSYS', 0, 'fac_v_exp_flex_fin', 'TRANSPORT: Flexkenmerken Facturen', 'Exporteren van flexkenmerken voor FIN',
'TRANSPORT: Flex properties Invoices', 'Export of flex properties for FIN')
DEF_RAPPORT('WEB_FACTAB', 0, 'fac_v_usage_statistics', 'Gebruik statistieken 90 dagen', 'Basisrapport voor gebruik statistieken',
DEF_RAPPORT('WEB_FACFAC', 0, 'fac_v_usage_statistics', 'Gebruik statistieken 90 dagen', 'Basisrapport voor gebruik statistieken',
'Use statistics for 90 days', 'Basic report for usage statistics')
DEF_RAPPORT('WEB_FACTAB', 0, 'fac_v_usage_statistics_all', 'Gebruik statistieken historisch', 'Historisch gebruik statistieken',
DEF_RAPPORT('WEB_FACFAC', 0, 'fac_v_usage_statistics_all', 'Gebruik statistieken historisch', 'Historisch gebruik statistieken',
'Use statistics historically', 'Historical usage statistics')
DEF_RAPPORT('WEB_PRSSYS', 0, 'fac_v_lcrap_fe_vs_key_data', 'Licentie bepaling', 'Achtergrond van de licentie bepaling',
'License provision', 'Background to the license provision')
@@ -2510,7 +2462,7 @@ DEF_RAPPORT('WEB_PRSSYS', 0, 'fac_v_exp_flex_ins', 'TRANSPORT: Flexkenme
COMMIT;
-- FSN#52431: Informatie in logfiles beperken
DEF_RAPPORT('WEB_FACMGT', 0, 'fac_v_rap_auditfail', 'BEHEER: Audit fail', 'Rapport audit fail',
DEF_RAPPORT('WEB_FACMGT', 0, 'fac_v_rap_auditfail', 'BEHEER: Audit fail', 'Report audit fail',
'ADMIN: Audit fail', 'Report audit fail')
DEF_RAPPORT_COL('BEHEER: Audit fail', 10, 'fac_auditfail_key', NULL, NULL, 'number', 'H', 'Key', 'Key')
DEF_RAPPORT_COL('BEHEER: Audit fail', 20, 'fac_auditfail_datum', 'R', ':mp', 'datetime', 'V', 'Date', 'Date')
@@ -2528,21 +2480,27 @@ DEF_RAPPORT('WEB_PRSSYS', 0, 'fac_v_rap_groeprechten2', 'BEHEER: Autorisa
DEF_RAPPORT('WEB_PRSSYS', 0, 'fac_v_rap_gebruikersgroepen1', 'TRANSPORT: Gebruikersgroepen', 'Export tbv import Inventarisatie Gebruikersgroepen',
'TRANSPORT: User groups', 'Export for import Inventory User groups')
--- KTO standaard rapporten
DEF_RAPPORT('WEB_MLDBAC', 0, 'mld_v_rap_kto_overview', 'KTO.1: Algemeen resultaten overzicht', 'Weergave van KTO resultaten met hulp van diverse selectiemogelijkheden',
'CSS.1: General results overview', 'Display of CSS results with the help of various selection options')
DEF_RAPPORT('WEB_MLDBAC', 0, 'mld_v_rap_kto_response_soort', 'KTO.2: KTO Response - algemeen', 'Response aantallen, -percentages en -tijden per jaar/maand',
'CSS.2: CSS Response - general', 'Response numbers, percentages and times per year/month')
DEF_RAPPORT('WEB_MLDBAC', 0, 'mld_v_rap_kto_responsedistrict', 'KTO.3: KTO Response - regio/district', 'Response aantallen, -percentages en -tijden per jaar/maand en regio/distict',
'CSS.3: CSS Response - region/district', 'Response numbers, percentages and times per year/month and region/distict')
DEF_RAPPORT('WEB_MLDBAC', 0, 'mld_v_rap_kto_response_locatie', 'KTO.4: KTO Response - locatie', 'Response aantallen, -percentages en -tijden per jaar/maand en locatie',
'CSS.4: CSS Response location', 'Response numbers, percentages and times per year/month and location')
DEF_RAPPORT('WEB_MLDBAC', 0, 'mld_v_rap_kto_response_disc', 'KTO.5: KTO Response - discipline', 'Response aantallen, -percentages en -tijden per jaar/maand en discipline',
'CSS.5: CSS Response - discipline', 'Response numbers, percentages and times per year/month and discipline')
--- INFOBOARD
DECLARE
rap_key NUMBER(10);
BEGIN
rap_key := fac_s_fac_usrrap_key.NEXTVAL;
-- Move usrrap existing #12 to another key
EXECUTE IMMEDIATE 'ALTER TABLE fac_usrrap_cols DISABLE CONSTRAINT fac_r_usrrap_cols_usrrap_key';
UPDATE fac_usrrap_cols
SET fac_usrrap_key = rap_key
WHERE fac_usrrap_key = 12;
--
UPDATE fac_usrrap
SET fac_usrrap_key = rap_key
WHERE fac_usrrap_key = 12;
EXECUTE IMMEDIATE 'ALTER TABLE fac_usrrap_cols ENABLE CONSTRAINT fac_r_usrrap_cols_usrrap_key';
-- and translation columns also.
UPDATE fac_locale
SET fac_locale_kolomkeyval = rap_key
@@ -2593,6 +2551,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',
@@ -2605,26 +2567,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, 'ins_v_udr_uitgifte', 'UDR: Object uitgifte historie', 'Basisrapport van uitlenen en innemen van objecten',
'UDR: Object issuance history', 'Basic report of lending and taking in objects')
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')
DEF_RAPPORT('WEB_UDRMAN', 32, 'alg_v_udr_ruimte', 'UDR: Vastgoed-ruimtes', 'Basisrapport voor vastgoedgegevens obv ruimtes',
'UDR: Real-estate rooms', 'Basic report for real estate based on rooms')
DEF_RAPPORT('WEB_UDRMAN', 32, 'alg_v_udr_terrein', 'UDR: Vastgoed-terreinen', 'Basisrapport voor vastgoedgegevens obv terreinen',
'UDR: Real-estate terrains', 'Basic report for real estate based on terrains')
// 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')
@@ -2632,13 +2584,6 @@ DEF_RAPPORT('WEB_UDRMAN', 32, 'fac_v_udr_faqkenmerk_cnd', 'UDR: Kennisbank
DEF_RAPPORT('WEB_CTRUSE', 5, 'ctr_v_monthly_recurring_tasks', 'Periodieke taken: Jaaroverzicht', 'Overzicht van de stand van zaken van afgelopen jaar t/m volgend jaar',
'Overview recurring tasks per year', 'Overview of the actual state from previous year until next year');
// Nog 2 Auditrapportages
DEF_RAPPORT('WEB_PRSSYS', 0, 'prs_v_rap_impersonations', 'BEHEER: Audit van impersonaties', 'Rapport van ''Inloggen als'' activiteiten',
'ADMIN: Audit of impersonations', 'Report of all ''Impersonate'' activities')
DEF_RAPPORT('WEB_FACFAC', 0, 'prs_v_rap_supportaccess', 'BEHEER: Audit van support-toegang','Rapport van alle toegang door Facilitor support',
'ADMIN: Audit of support access', 'Report of all access by Facilitor application management')
/* STANDAARD MENUOPTIES */
// De regel: vereis R-recht voor overzicht en W-recht voor mutatie
// NOTE: maximaal 30 characters
@@ -2777,9 +2722,6 @@ DEF_MENUKOP(1, 'lcl_beheer', 'fa-wrench');
DEF_MENUITEM(1, 'lcl_menu_ins_bo_man' , '', 'INS', 'appl/ins/ins_search.asp?urole=bo', 0, 0, 'WEB_INSMAN', 'R', '0', '');
DEF_MENUITEM(1, 'lcl_menu_ins_bo_use' , '', 'INS', 'appl/ins/ins_search.asp?urole=bo', 0, 0, 'WEB_INSUSE', 'R', '1', '');
DEF_MENUITEM(1, 'lcl_menu_ins_controle' , '', 'INS', 'appl/ins/ins_search.asp?urole=bo&inspect=1', 0, 0, 'WEB_CTRUSE', 'R', '0', '');
DEF_MENUITEM(1, 'lcl_mjb_console' , '', 'INS', 'appl/mjb/mjb_search.asp?mode=1', 0, 0, 'WEB_CTRUSE', 'R', '0', '');
DEF_MENUITEM(1, 'lcl_mjb_console2' , '', 'INS', 'appl/mjb/mjb_search.asp?mode=2', 0, 0, 'WEB_CTRBOF', 'R', '0', '');
DEF_MENUITEM(1, 'lcl_mjb_console3' , '', 'INS', 'appl/mjb/mjb_search.asp?mode=3', 0, 0, 'WEB_CTRBOF', 'R', '0', '');
DEF_MENUITEM(1, 'lcl_menu_prs_bedrijf' , '', 'PRS', 'appl/prs/prs_bedrijf_search.asp', 0, 0, 'WEB_RELMAN', 'R', '1', '');
DEF_MENUITEM(1, 'lcl_menu_prs_contactpers' , '', 'PRS', 'appl/prs/prs_contactpersoon_search.asp', 0, 0, 'WEB_RELUSE', 'R', '1', '');
DEF_MENUITEM(1, 'lcl_menu_cnt_bo' , '', 'CNT', 'appl/cnt/cnt_search.asp?urole=bo', 0, 0, 'WEB_CNTMAN', 'R', '1', '');
@@ -2839,23 +2781,24 @@ DEF_MENUITEM(2, 'lcl_menu_alg_gebouwfuncties' , '', 'ALG', 'appl/mgt/alg_srtge
DEF_MENUITEM(2, 'lcl_menu_alg_ruimtefuncties' , '', 'ALG', 'appl/mgt/alg_srtruimte.asp', 0, 0, 'WEB_ALGMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_ruimtetarieven' , '', 'ALG', 'appl/alg/alg_ruimtefunctie_search.asp', 0, 0, 'WEB_ALGMSU', 'R', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_terreinsoorten' , '', 'ALG', 'appl/mgt/alg_srtterreinsector.asp', 0, 0, 'WEB_ALGMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_districtkenmerken', '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=D', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_locatiekenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=L', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_terreinkenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=T', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_gebouwkenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=G', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_verdiepkenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=V', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_ruimtekenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=R', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_districtkenmerken', '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=D', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_locatiekenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=L', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_terreinkenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=T', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_gebouwkenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=G', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_verdiepkenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=V', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_ruimtekenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=R', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_kenmerkdomeinen' , '', 'ALG', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=ALG', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_alg_setting' , '', 'ALG', 'appl/fac/fac_setting_search.asp?module=ALG', 0, 0, 'WEB_PRSSYS', 'W', '0', '');
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', '');
DEF_MENUITEM(2, 'lcl_menu_prs_persoonskenmerken', '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=P', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_contactkenmerken' , '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=C', 0, 0, 'WEB_PRSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_bedrijfkenmerken' , '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=B', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_afdelingskenmerke', '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=A', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_persoonskenmerken', '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=P', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_contactkenmerken' , '', 'PRS', 'appl/mgt/prs_kenmerk.asp?level=C', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_kenmerkdomeinen' , '', 'PRS', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=PRS', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_setting' , '', 'PRS', 'appl/fac/fac_setting_search.asp?module=PRS', 0, 0, 'WEB_PRSSYS', 'W', '0', '');
@@ -2911,7 +2854,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', '');
@@ -2937,7 +2886,7 @@ DEF_MENUITEM(2, 'lcl_menu_fin_combinatievalidat', '', 'FIN', 'appl/mgt/prs_koste
DEF_MENUITEM(2, 'lcl_menu_fin_profielen' , '', 'FIN', 'appl/mgt/fac_profiel.asp', 0, 0, 'WEB_FINMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fin_profiel_limieten' , '', 'FIN', 'appl/mgt/fac_profielwaarde.asp', 0, 0, 'WEB_FINMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fin_btwtabellen' , '', 'FIN', 'appl/mgt/fin_btwtabel.asp', 0, 0, 'WEB_FINMSU', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fin_kenmerken' , '', 'FIN', 'appl/mgt/fin_kenmerk.asp', 0, 0, 'WEB_FINMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fin_kenmerken' , '', 'FIN', 'appl/mgt/fin_kenmerk.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fin_kenmerkdomeinen' , '', 'FIN', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=FIN', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fin_setting' , '', 'FIN', 'appl/fac/fac_setting_search.asp?module=FIN', 0, 0, 'WEB_PRSSYS', 'W', '0', '');
@@ -2954,7 +2903,7 @@ DEF_MENUITEM(2, 'lcl_menu_mrk_setting' , '', 'MRK', 'appl/fac/fac_setti
DEF_MENUKOP(2, 'lcl_facmgt_bez', 'fa-user-plus');
DEF_MENUITEM(2, 'lcl_menu_bez_actie_groep' , '', 'BEZ', 'appl/mgt/bez_actie_groep.asp', 0, 0, 'WEB_BEZMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bez_acties' , '', 'BEZ', 'appl/mgt/bez_actie.asp', 0, 0, 'WEB_BEZMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bez_kenmerken' , '', 'BEZ', 'appl/mgt/bez_kenmerk.asp', 0, 0, 'WEB_BEZMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bez_kenmerken' , '', 'BEZ', 'appl/mgt/bez_kenmerk.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bez_kenmerkdomeinen' , '', 'BEZ', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=BEZ', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_bez_setting' , '', 'BEZ', 'appl/fac/fac_setting_search.asp?module=BEZ', 0, 0, 'WEB_PRSSYS', 'W', '0', '');
@@ -2972,8 +2921,6 @@ DEF_MENUITEM(2, 'lcl_menu_fac_importfuncties' , '', 'FAC', 'appl/imp/imp_searc
DEF_MENUITEM(2, 'lcl_menu_fac_jobs' , '', 'FAC', 'appl/fac/job_search.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
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', '');
@@ -2984,24 +2931,24 @@ 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', '');
DEF_MENUITEM(2, 'lcl_menu_fac_note_group' , '', 'FAC', 'appl/mgt/fac_note_group.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUKOPV(2, 99000, 'lcl_facmgt_setup', 'fa-sliders-v-square'); // Facilitor-use only
DEF_MENUENTRY(2, 99010, 'lcl_menu_fac_exporteren' , '', 'FAC', 'appl/mgt/fac_export_app.asp', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99020, 'lcl_menu_fac_importeren' , '', 'FAC', 'appl/mgt/fac_import_app.asp?gen=1', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99010, 'lcl_menu_fac_exporteren' , '', 'FAC', 'appl/mgt/fac_export_app.asp', 0, 0, 'WEB_FACFAC');
DEF_MENUENTRY(2, 99020, 'lcl_menu_fac_importeren' , '', 'FAC', 'appl/mgt/fac_import_app.asp?gen=1', 0, 0, 'WEB_FACFAC');
DEF_MENUENTRY(2, 99020, 'lcl_menu_admtracking_search' , '', 'FAC', 'appl/fac/fac_admtracking_search.asp', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99030, 'lcl_menu_api_list' , '', 'FAC', 'appl/fac/fac_api_list.asp', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99030, 'lcl_menu_api_list' , '', 'FAC', 'appl/fac/fac_api_list.asp', 0, 0, 'WEB_FACFAC');
DEF_MENUENTRY(2, 99040, 'lcl_menu_locale_search' , '', 'FAC', 'appl/fac/fac_locale_search.asp', 0, 0, 'WEB_LCLSYS');
DEF_MENUENTRY(2, 99050, 'lcl_menu_session' , '', 'FAC', 'appl/fac/fac_session.asp', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99050, 'lcl_menu_mytracking' , '', 'FAC', 'appl/fac/fac_mytracking.asp', 0, 0, 'WEB_FACTAB');
@@ -3012,11 +2959,11 @@ DEF_MENUENTRY(2, 99090, 'lcl_menu_fac_email_setting' , '', 'FAC', 'appl/mgt/fa
DEF_MENUENTRY(2, 99100, 'lcl_menu_fac_custnotificaties' , '', 'FAC', 'appl/mgt/fac_srtnotificatie.asp?cust=1', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99110, 'lcl_menu_aut_idp' , '', 'FAC', 'appl/mgt/aut_idp.asp', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99110, 'lcl_menu_aut_client' , '', 'FAC', 'appl/mgt/aut_client.asp', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99115, 'lcl_menu_aut_sp' , '', 'FAC', 'appl/mgt/aut_sp.asp', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99120, 'lcl_menu_fac_anytable' , '', 'FAC', 'appl/mgt/user_tables.asp', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99130, 'lcl_menu_fac_anysql' , '', 'FAC', 'appl/mgt/mgt_genericsql.asp', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99115, 'lcl_menu_aut_sp' , '', 'FAC', 'appl/mgt/aut_sp.asp', 0, 0, 'WEB_FACFAC');
DEF_MENUENTRY(2, 99120, 'lcl_menu_fac_anytable' , '', 'FAC', 'appl/mgt/user_tables.asp', 0, 0, 'WEB_FACFAC');
DEF_MENUENTRY(2, 99130, 'lcl_menu_fac_anysql' , '', 'FAC', 'appl/mgt/mgt_genericsql.asp', 0, 0, 'WEB_FACFAC');
DEF_MENUENTRY(2, 99140, 'lcl_menu_prs_bedrijf_bedrijf' , '', 'FAC', 'appl/mgt/prs_bedrijf_bedrijf.asp', 0, 0, 'WEB_PRSSYS');
DEF_MENUENTRY(2, 99150, 'lcl_menu_fac_anyupload' , '', 'FAC', 'appl/shared/bijlagen.asp', 0, 0, 'WEB_FACTAB');
DEF_MENUENTRY(2, 99150, 'lcl_menu_fac_anyupload' , '', 'FAC', 'appl/shared/bijlagen.asp', 0, 0, 'WEB_FACFAC');
DEF_MENUENTRY(2, 99160, 'lcl_menu_fac_refresh_accept' , '', 'FAC', 'appl/fac/fac_refresh_accept.asp', 0, 0, 'WEB_FACRFR');
@@ -3025,7 +2972,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');

File diff suppressed because it is too large Load Diff

View File

@@ -1666,8 +1666,8 @@ FAC_LCL('hint.prs_kostenplaatsgrp.grouplimit', 'Geef hier een limie
FAC_LCL('hint.prs_kostenplaatsgrp.kpcount', '', '')
FAC_LCL('hint.prs_kostenplaatsgrp.limitperiod', 'Geef hier de periode aan voor wanneer de limiet geldt.', 'Indicate the limit period here.')
FAC_LCL('hint.prs_kostenplaatsgrp.name', 'De naam die de gebruiker te zien krijgt.', 'The name that is shown to the users.')
FAC_LCL('hint.prs_kostenplaatsgrp.kpgfinlimit1', 'Eerste limiet voor wanneer goedkeuring is vereist. Wanneer het veld niet is ingevuld, geldt instelling mld_opdr_kpg_fin_limit1.', 'First limit when validation is required. When the field is left empty, setting mld_opdr_kpg_fin_limit1 is applied.')
FAC_LCL('hint.prs_kostenplaatsgrp.kpgfinlimit2', 'Tweede limiet voor wanneer goedkeuring is vereist. Wanneer het veld niet is ingevuld, geldt instelling mld_opdr_kpg_fin_limit2.', 'Second limit when validation is required. When the field is left empty, setting mld_opdr_kpg_fin_limit2 is applied.')
FAC_LCL('hint.prs_kostenplaatsgrp.kpgfinlimit1', 'Eerste limiet voor wanneer goedkeuring is vereist.', 'First limit when validation is required.')
FAC_LCL('hint.prs_kostenplaatsgrp.kpgfinlimit2', 'Tweede limiet voor wanneer goedkeuring is vereist.', 'Second limit when validation is required.')
FAC_LCL('hint.prs_kostenplaatsgrp.person', 'Selecteer een persoon.', 'Select a person.')
FAC_LCL('hint.prs_kostenplaatsgrp.personfiat2', 'Selecteer een persoon.', 'Select a person.')
FAC_LCL('hint.prs_kostenplaatsgrp.personfiat3', 'Selecteer een persoon.', 'Select a person.')
@@ -1934,7 +1934,7 @@ FAC_LCL('hint.res_ruimte.fields', '', '')
FAC_LCL('hint.res_ruimte.filter', '', '')
FAC_LCL('hint.res_ruimte.fixedprice', 'Indien aangevinkt, geldt de prijs die hierboven is ingevuld als vaste prijs voor de ruimte, ongeacht de duur van de reservering.', 'If checked, the price above will be the fixed price regardless of the duration of the reservation.')
FAC_LCL('hint.res_ruimte.foreign', '', '')
FAC_LCL('hint.res_ruimte.catering', 'Standaard kunnen reserveerbare ruimten niet afzonderlijk worden gekozen bij het reserveren van losse voorzieningen/catering. De ruimte kan al geboekt worden in combinatie met de gewenste catering/voorziening. Door deze optie aan te vinken, wordt het toch mogelijk om de betreffende ruimte te selecteren bij het boeken van catering/voorzieningen (zonder ruimte). Let op: dit kan conflicten veroorzaken, omdat dan zowel de ruimte geboekt is en losse voorzieningen in de ruimte zijn gereserveerd.', 'By default, reservable spaces cannot be chosen separately when booking individual facilities/catering. The room can already be booked in combination with the desired catering/facilities. By ticking this option, it still becomes possible to select the relevant room when booking catering/facilities (without room). Please note: this may cause conflicts, as the room is then both booked and separate facilities are reserved in the room.')
FAC_LCL('hint.res_ruimte.catering', 'Geef aan of losse catering e.d. zijn toegestaan.', 'Indicate whether individual catering etc. are allowed.')
FAC_LCL('hint.res_ruimte.friendlyname', 'Een alternatieve naam voor de ruimte die gebruikt kan worden, bijv. op grote schermen. Standaard wordt deze naam nergens gebruikt.', 'An alternative name for the room. This name can be used on e.g. large screens. By default this name is not used anywhere.')
FAC_LCL('hint.res_ruimte.image', 'U kunt hier een foto selecteren die is ge<67>pload via het foldericoon boven aan de pagina. U kunt in een keer meerdere foto''s uploaden om ze vervolgens per ruimte in te stellen. Deze foto wordt dan weergegeven zodra een gebruiker de betreffende ruimte selecteert of met zijn muis over het planbord beweegt.', 'You can select a picture that has been uploaded by using the folder icon on the top of the page. You can upload multiple pictures at once and configure them per room after uploading. This picture is displayed after a user selects a room or if a user moves his/her mouse over the room plan board.')
FAC_LCL('hint.res_ruimte.infourl', 'Hier vult u eventueel een webadres in van een pagina met uitgebreide informatie over deze ruimte.', 'You can optionally configure an URL here. The URL will take users to an external page with comprehensive details regarding the room.')

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
@@ -60,7 +59,6 @@ CREATE OR REPLACE PACKAGE fac
FUNCTION safe_To_Integer( str IN VARCHAR2 ) RETURN NUMBER;
FUNCTION safe_To_Number( str IN VARCHAR2 ) RETURN NUMBER;
FUNCTION safe_To_Date ( pchar IN VARCHAR2, pfmt IN VARCHAR2 ) RETURN DATE;
FUNCTION safe_concat ( pchar1 IN VARCHAR2, pchar2 IN VARCHAR2, pmaxlen NUMBER DEFAULT 4000 ) RETURN VARCHAR2;
FUNCTION getweekdaynum (d IN DATE) RETURN NUMBER;
FUNCTION getdomeinwaarde (dkey IN NUMBER, waarde IN VARCHAR2, ignorewhenxmlnode IN NUMBER DEFAULT 0) RETURN VARCHAR2;
FUNCTION getscopeleveltext (plevel IN NUMBER, ptype IN VARCHAR) RETURN VARCHAR;
@@ -110,26 +108,19 @@ CREATE OR REPLACE PACKAGE fac
PROCEDURE imp_mld_delete_mld (p_import_key IN NUMBER, p_mode IN NUMBER);
PROCEDURE fac_perfmon_incr(limiet IN NUMBER, zwaarte IN NUMBER);
PROCEDURE putnotificationprio (pfrom NUMBER, pto NUMBER, pmessage VARCHAR2, pmode NUMBER,
poptemail VARCHAR2, poptmobile VARCHAR2, pprio NUMBER,
pattach VARCHAR2 DEFAULT NULL,
pbedrijfadreskey NUMBER DEFAULT NULL,
pqueue VARCHAR2 DEFAULT 'DEFAULT',
pgeturl VARCHAR2 DEFAULT NULL);
poptemail VARCHAR2, poptmobile VARCHAR2, pprio NUMBER, pattach VARCHAR2 DEFAULT NULL, pbedrijfadreskey NUMBER DEFAULT NULL, pqueue VARCHAR DEFAULT 'DEFAULT');
PROCEDURE putnotification (pfrom NUMBER, pto NUMBER, pmessage VARCHAR2, pmode NUMBER,
poptemail VARCHAR2, poptmobile VARCHAR2);
PROCEDURE putsystemnotification (pmessage VARCHAR2, pmode NUMBER);
PROCEDURE putnotificationsrtprio (pfrom NUMBER, pto NUMBER, pcode VARCHAR2, pref NUMBER,
poptmessage VARCHAR2, poptstatus NUMBER, poptemail VARCHAR2, poptmobile VARCHAR2, pxref NUMBER,
pprio NUMBER, psender VARCHAR2, pattach VARCHAR2 DEFAULT NULL,
pbedrijfadreskey NUMBER DEFAULT NULL, pqueue VARCHAR2 DEFAULT 'DEFAULT',
pgeturl VARCHAR2 DEFAULT NULL);
poptmessage VARCHAR2, poptstatus NUMBER, poptemail VARCHAR2, poptmobile VARCHAR2, pxref NUMBER,
pprio NUMBER, psender VARCHAR2, pattach VARCHAR2 DEFAULT NULL, pbedrijfadreskey NUMBER DEFAULT NULL, pqueue VARCHAR DEFAULT 'DEFAULT');
PROCEDURE clrnotifications (pcode VARCHAR2, pref NUMBER, pxref NUMBER DEFAULT NULL, puitz VARCHAR2 DEFAULT NULL, puitz2 VARCHAR2 DEFAULT NULL);
PROCEDURE clrnotifications (pcode VARCHAR2, pref NUMBER, psubject VARCHAR2, preceiver NUMBER, pextrakey NUMBER);
PROCEDURE clrnotifications_xmlnode (pxmlnode VARCHAR2, prefkey NUMBER);
PROCEDURE clrtracking_xmlnode (pxmlnode VARCHAR2, prefkey NUMBER);
FUNCTION hasColumn(ptableview VARCHAR2, pcolumname VARCHAR2, pdatatype VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
PROCEDURE putnotificationjobs (pqueue VARCHAR2 DEFAULT 'DEFAULT');
PROCEDURE putjobnotifications (pviewname VARCHAR2, pmode NUMBER, pflags NUMBER, pqueue VARCHAR2 DEFAULT 'DEFAULT');
PROCEDURE putjobnotifications (pviewname VARCHAR2, pmode NUMBER, pflags NUMBER, pqueue VARCHAR DEFAULT 'DEFAULT');
FUNCTION getEmail ( pkey IN NUMBER ) RETURN VARCHAR2;
FUNCTION getMobile ( pkey IN NUMBER ) RETURN VARCHAR2;
PROCEDURE fac_nightly;
@@ -141,9 +132,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);
@@ -151,7 +141,7 @@ CREATE OR REPLACE PACKAGE fac
PROCEDURE registerversion (pschema IN VARCHAR2, plang IN VARCHAR2);
PROCEDURE registercustversion (pcustid IN VARCHAR2, pcustnr IN NUMBER);
FUNCTION getdbversion RETURN VARCHAR2;
FUNCTION getDefaultBehandelteam(p_stdm IN NUMBER) RETURN NUMBER;
FUNCTION getDefaultBehandelgroep(p_stdm IN NUMBER) RETURN NUMBER;
PROCEDURE processemail (pfrom IN VARCHAR2, pto IN VARCHAR2, psubject IN VARCHAR2, pbody IN VARCHAR2, psessionid IN VARCHAR2);
FUNCTION isdatefeestdag(p_date IN DATE) RETURN BOOLEAN;
FUNCTION calcnextcyclusdate (p_date IN DATE, p_mode IN NUMBER, p_eenheid IN NUMBER, p_periode IN NUMBER, p_bits IN NUMBER) RETURN DATE;
@@ -166,9 +156,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;
/
@@ -337,18 +327,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHEN OTHERS THEN RETURN NULL;
END;
FUNCTION safe_concat(pchar1 IN VARCHAR2, pchar2 IN VARCHAR2, pmaxlen NUMBER DEFAULT 4000) RETURN VARCHAR2
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;
-- Levert het dow-nummer op (1-7), op een nls-onafhankelijke wijze
FUNCTION getweekdaynum (d IN DATE) RETURN NUMBER IS
BEGIN
@@ -727,7 +705,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
MINUS -- Igv. pMode=1 za+zo niet meetellen; deze worden sowieso geskipt!
SELECT * FROM mld_vrije_dagen
WHERE pMode = 1 AND fac.getweekdaynum (mld_vrije_dagen_datum) IN (1,7))
WHERE mld_vrije_dagen_datum BETWEEN LEAST(TRUNC (olddatumgereed + 1), TRUNC (newdatumgereed)) AND TRUNC (newdatumgereed);
WHERE mld_vrije_dagen_datum BETWEEN TRUNC (olddatumgereed + 1) AND newdatumgereed;
EXIT WHEN delta = 0;
END LOOP;
@@ -1106,7 +1084,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
v_column_prev fac_usrrap_cols.fac_usrrap_cols_column_name%TYPE;
v_newkey fac_usrrap_cols.fac_usrrap_cols_key%TYPE;
v_index NUMBER := 0;
v_is_param NUMBER;
BEGIN
BEGIN
@@ -1223,14 +1200,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
END IF;
END LOOP;
SELECT COUNT(*)
INTO v_is_param
FROM fac_usrrap_cols
WHERE fac_usrrap_cols_filter = 'P'
AND fac_usrrap_key = p_usrrap_key
AND UPPER(fac_usrrap_cols_column_name) = UPPER(c_new.column_name);
IF (v_found = False AND v_is_param = 0)
IF (v_found = False)
THEN
-- Caption:
v_column_caption := c_new.column_name;
@@ -1345,10 +1315,10 @@ CREATE OR REPLACE PACKAGE BODY fac AS
BEGIN
FOR rec1 IN c1
LOOP
dropddl := 'DROP TABLE T_' || SUBSTR (rec1.fac_usrrap_view_name, 1, 126)||' PURGE';
dropddl := 'DROP TABLE T_' || SUBSTR (rec1.fac_usrrap_view_name, 1, 28)||' PURGE';
createddl :=
'CREATE TABLE T_'
|| SUBSTR (rec1.fac_usrrap_view_name, 1, 126)
|| SUBSTR (rec1.fac_usrrap_view_name, 1, 28)
|| ' AS SELECT * FROM '
|| rec1.fac_usrrap_view_name;
@@ -2130,10 +2100,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
-- Bij een interne ontvanger wordt diens taal bijgezocht.
PROCEDURE putnotificationprio (pfrom NUMBER, pto NUMBER, pmessage VARCHAR2, pmode NUMBER,
poptemail VARCHAR2, poptmobile VARCHAR2, pprio NUMBER, pattach VARCHAR2 DEFAULT NULL,
pbedrijfadreskey NUMBER DEFAULT NULL, pqueue VARCHAR2 DEFAULT 'DEFAULT',
pgeturl VARCHAR2 DEFAULT NULL)
pbedrijfadreskey NUMBER DEFAULT NULL, pqueue VARCHAR DEFAULT 'DEFAULT')
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;
@@ -2189,12 +2158,12 @@ CREATE OR REPLACE PACKAGE BODY fac AS
(fac_srtnotificatie_key, fac_notificatie_status, prs_perslid_key_sender, prs_perslid_key_receiver,
fac_notificatie_receiver_email, fac_notificatie_receiver_phone, fac_notificatie_oms,
fac_notificatie_refkey, fac_notificatie_prioriteit, fac_notificatie_lang, fac_notificatie_systeemadres,
fac_notificatie_attachments, prs_bedrijfadres_key, fac_notificatie_queue,fac_notificatie_geturl
fac_notificatie_attachments, prs_bedrijfadres_key, fac_notificatie_queue
)
VALUES (NULL, lmode, pfrom, pto,
lemail, lphone, SUBSTR(pmessage, 1, 2048),
NULL, pprio, llang, lsysteem,
pattach, pbedrijfadreskey, pqueue, pgeturl
pattach, pbedrijfadreskey, pqueue
);
END IF;
END;
@@ -2245,8 +2214,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
psender VARCHAR2,
pattach VARCHAR2 DEFAULT NULL,
pbedrijfadreskey NUMBER DEFAULT NULL,
pqueue VARCHAR2 DEFAULT 'DEFAULT',
pgeturl VARCHAR2 DEFAULT NULL)
pqueue VARCHAR DEFAULT 'DEFAULT')
AS
soms fac_srtnotificatie.fac_srtnotificatie_oms%TYPE;
smode fac_srtnotificatie.fac_srtnotificatie_mode%TYPE;
@@ -2514,8 +2482,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
fac_notificatie_systeemadres,
fac_notificatie_attachments,
prs_bedrijfadres_key,
fac_notificatie_queue,
fac_notificatie_geturl)
fac_notificatie_queue)
VALUES (skey,
lmode,
pfrom,
@@ -2531,8 +2498,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
lsysteem,
pattach,
pbedrijfadreskey,
pqueue,
pgeturl);
pqueue);
END IF;
END;
@@ -2614,8 +2580,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
IS
SELECT fac_notificatie_job_key, fac_notificatie_job_view, fac_notificatie_job_oms,
fac_notificatie_job_interval, fac_notificatie_job_mode, fac_notificatie_job_nextrun,
fac_notificatie_job_flags, fac_notificatie_job_seconds,
fac_notificatie_job_geturl, prs_perslid_key, prs_perslid_key_receiver
fac_notificatie_job_flags, fac_notificatie_job_seconds
FROM fac_notificatie_job
WHERE (fac_notificatie_job_nextrun <= SYSDATE OR fac_notificatie_job_nextrun IS NULL) -- eerste keer
AND fac_notificatie_job_queue = pqueue;
@@ -2624,20 +2589,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
FOR rec1 IN c1
LOOP
-- Voer de job uit
IF (rec1.fac_notificatie_job_view IS NOT NULL)
THEN
putjobnotifications (rec1.fac_notificatie_job_view, rec1.fac_notificatie_job_mode, rec1.fac_notificatie_job_flags, pqueue);
ELSE -- moet fac_notificatie_job_geturl gevuld zijn
putnotificationprio (rec1.prs_perslid_key,
rec1.prs_perslid_key_receiver,
rec1.fac_notificatie_job_oms,
2, -- e-mail
NULL,
NULL,
2, -- prio normaal
pqueue => pqueue,
pgeturl => rec1.fac_notificatie_job_geturl);
END IF;
putjobnotifications (rec1.fac_notificatie_job_view, rec1.fac_notificatie_job_mode, rec1.fac_notificatie_job_flags, pqueue);
UPDATE fac_notificatie_job
SET fac_notificatie_job_lastrun = SYSDATE
@@ -2651,67 +2603,37 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHILE tnextrun <= SYSDATE
LOOP
IF rec1.fac_notificatie_job_interval IS NOT NULL AND rec1.fac_notificatie_job_interval > 0
THEN -- Notify-interval in hrs, DATE arithmetics are in days, so we will have to divide by 24 hrs a day
tnextrun := tnextrun + rec1.fac_notificatie_job_interval / 24;
ELSIF rec1.fac_notificatie_job_interval IS NOT NULL AND rec1.fac_notificatie_job_interval < 0
THEN -- Notify-interval in Months
tnextrun := ADD_MONTHS(tnextrun, -rec1.fac_notificatie_job_interval);
THEN
-- Notify-interval in hrs, DATE arithmetics are in days, so we will have to divide by 24 hrs a day
UPDATE fac_notificatie_job
SET fac_notificatie_job_nextrun =
COALESCE (fac_notificatie_job_nextrun, SYSDATE)
+ rec1.fac_notificatie_job_interval / 24
WHERE fac_notificatie_job_key = rec1.fac_notificatie_job_key;
ELSIF rec1.fac_notificatie_job_seconds IS NOT NULL AND rec1.fac_notificatie_job_seconds > 0
THEN -- Command-interval in seconds, DATE arithmetics are in days, so we will have to divide by 24*60*60 seconds a day
tnextrun := tnextrun + rec1.fac_notificatie_job_seconds / (24*60*60);
THEN
-- Command-interval in seconds, DATE arithmetics are in days, so we will have to divide by 24*60*60 seconds a day
UPDATE fac_notificatie_job
SET fac_notificatie_job_nextrun =
COALESCE (fac_notificatie_job_nextrun, SYSDATE)
+ rec1.fac_notificatie_job_seconds / (24*60*60)
WHERE fac_notificatie_job_key = rec1.fac_notificatie_job_key;
END IF;
SELECT fac_notificatie_job_nextrun
INTO tnextrun
FROM fac_notificatie_job
WHERE fac_notificatie_job_key = rec1.fac_notificatie_job_key;
END LOOP;
UPDATE fac_notificatie_job
SET fac_notificatie_job_nextrun = tnextrun
WHERE fac_notificatie_job_key = rec1.fac_notificatie_job_key;
END LOOP;
END;
FUNCTION hasColumn(ptableview VARCHAR2, pcolumname VARCHAR2, pdatatype VARCHAR2 DEFAULT NULL) RETURN VARCHAR2
AS
datatype VARCHAR2(128);
BEGIN
BEGIN
SELECT data_type INTO datatype
FROM user_tab_cols
WHERE table_name = UPPER(ptableview)
AND column_name = UPPER(pcolumname);
EXCEPTION
WHEN NO_DATA_FOUND
THEN RETURN NULL;
END;
IF pdatatype IS NOT NULL AND datatype <> UPPER(pdatatype)
THEN
RETURN NULL;
END IF;
RETURN datatype;
END;
FUNCTION add_jobview_column(psql VARCHAR2, ptableview VARCHAR2, pcolumname VARCHAR2, pdatatype VARCHAR2 DEFAULT NULL) RETURN VARCHAR2
AS
lsql VARCHAR2(4000);
BEGIN
lsql := psql;
IF lsql IS NOT NULL THEN
lsql := lsql || ', ';
END IF;
IF hasColumn(ptableview, pcolumname, pdatatype) IS NULL
THEN
RETURN lsql || 'NULL ' || pcolumname;
ELSE
RETURN lsql || 'jobview.' || pcolumname;
END IF;
END;
-- Voer nu job met pviewname uit, die kennelijk nu aan de beurt is
PROCEDURE putjobnotifications (pviewname VARCHAR2, pmode NUMBER, pflags NUMBER, pqueue VARCHAR2 DEFAULT 'DEFAULT')
PROCEDURE putjobnotifications (pviewname VARCHAR2, pmode NUMBER, pflags NUMBER, pqueue VARCHAR DEFAULT 'DEFAULT')
AS
TYPE noticursortype IS REF CURSOR;
messages noticursortype;
messages_fields VARCHAR2(4000);
messages_sql VARCHAR2(4000);
lsender fac_notificatie.prs_perslid_key_sender%TYPE;
lreceiver fac_notificatie.prs_perslid_key_receiver%TYPE;
ltext fac_notificatie.fac_notificatie_oms%TYPE;
@@ -2724,8 +2646,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
lxmobile fac_notificatie.fac_notificatie_receiver_phone%TYPE;
attachments fac_notificatie.fac_notificatie_attachments%TYPE;
lbedrijfadreskey fac_notificatie.prs_bedrijfadres_key%TYPE;
geturl fac_notificatie.fac_notificatie_geturl%TYPE;
getbody fac_notificatie.fac_notificatie_getbody%TYPE;
BEGIN
-- The flags are for compatibility mostly. Flags 2 and 4 cannot be combined (useless)
-- flags: 0=default, 1=view has xemail and xmobile, 2=use fac.notifytracking instead of fac.putnotification(srtprio)
@@ -2734,52 +2654,64 @@ CREATE OR REPLACE PACKAGE BODY fac AS
-- Kijk of de extra kolommen xemail en xmobile in de view zitten, dan gebruiken we die ook
-- Merk op: met deze implementatie zijn niet alle combi's ondersteund, we wegen 32 het zwaarst
messages_fields := add_jobview_column(messages_fields, pviewname, 'sender');
messages_fields := add_jobview_column(messages_fields, pviewname, 'receiver');
messages_fields := add_jobview_column(messages_fields, pviewname, 'text');
messages_fields := add_jobview_column(messages_fields, pviewname, 'code');
IF hasColumn(pviewname, 'fac_srtnotificatie_key') IS NOT NULL
IF BITAND(pflags, 32) = 32 /* met prs_bedrijfadres_key en *alle* andere velden */
THEN
messages_fields := messages_fields || ', jobview.fac_srtnotificatie_key'; -- meegegeven key gebruiken
ELSIF hasColumn(pviewname, 'code') IS NOT NULL
OPEN messages FOR
'SELECT sender, receiver, text, code, fac_srtnotificatie_key, key, xkey, xsender, xemail, xmobile, attachments, prs_bedrijfadres_key FROM '
|| pviewname;
ELSIF BITAND(pflags, 2) = 2 -- Alleen sender, text, code en xkey verplicht (met xkey zoals in fac_tracking zou komen)
THEN
messages_fields := messages_fields || ', fac_srtnotificatie.fac_srtnotificatie_key'; -- zelf code naar key vertaling proberen
ELSE
messages_fields := messages_fields || ', NULL fac_srtnotificatie_key';
OPEN messages FOR
'SELECT sender, NULL receiver, text, code, fac_srtnotificatie_key, NULL key, xkey, NULL xsender, NULL xemail, NULL xmobile, NULL attachments, NULL prs_bedrijfadres_key'
|| ' FROM fac_srtnotificatie, ' || pviewname
|| ' WHERE code = fac_srtnotificatie_code';
ELSIF BITAND(pflags, 13) = 13 /* 8+4+1 */
THEN
OPEN messages FOR
'SELECT sender, receiver, text, code, NULL fac_srtnotificatie_key, key, xkey, xsender, xemail, xmobile, attachments, NULL prs_bedrijfadres_key FROM '
|| pviewname;
ELSIF BITAND(pflags, 9) = 9 /* 8+1 */
THEN
OPEN messages FOR
'SELECT sender, receiver, text, code, NULL fac_srtnotificatie_key, key, xkey, xsender, xemail, xmobile, NULL attachments, NULL prs_bedrijfadres_key FROM '
|| pviewname;
ELSIF BITAND(pflags, 8) = 8
THEN
OPEN messages FOR
'SELECT sender, receiver, text, code, NULL fac_srtnotificatie_key, key, xkey, xsender, NULL xemail, NULL xmobile, NULL attachments, NULL prs_bedrijfadres_key FROM '
|| pviewname;
ELSIF BITAND(pflags, 5) = 5 /* 4+1 */
THEN
OPEN messages FOR
'SELECT sender, receiver, text, code, NULL fac_srtnotificatie_key, key, xkey, NULL xsender, xemail, xmobile, attachments, NULL prs_bedrijfadres_key FROM '
|| pviewname;
ELSIF BITAND(pflags, 4) = 4
THEN
OPEN messages FOR
'SELECT sender, receiver, text, code, NULL fac_srtnotificatie_key, key, xkey, NULL xsender, NULL xemail, NULL xmobile, attachments, NULL prs_bedrijfadres_key FROM '
|| pviewname;
ELSIF BITAND(pflags, 1) = 1
THEN
OPEN messages FOR
'SELECT sender, receiver, text, code, NULL fac_srtnotificatie_key, key, xkey, NULL xsender, xemail, xmobile, NULL attachments, NULL prs_bedrijfadres_key FROM '
|| pviewname;
ELSE -- BITAND(pflags, 1) = 0
OPEN messages FOR
'SELECT sender, receiver, text, code, NULL fac_srtnotificatie_key, key, xkey, NULL xsender, NULL xemail, NULL xmobile, NULL attachments, NULL prs_bedrijfadres_key FROM '
|| pviewname;
END IF;
messages_fields := add_jobview_column(messages_fields, pviewname, 'key');
messages_fields := add_jobview_column(messages_fields, pviewname, 'xkey');
messages_fields := add_jobview_column(messages_fields, pviewname, 'xsender');
messages_fields := add_jobview_column(messages_fields, pviewname, 'xemail');
messages_fields := add_jobview_column(messages_fields, pviewname, 'xmobile');
messages_fields := add_jobview_column(messages_fields, pviewname, 'attachments');
messages_fields := add_jobview_column(messages_fields, pviewname, 'prs_bedrijfadres_key');
messages_fields := add_jobview_column(messages_fields, pviewname, 'geturl');
messages_fields := add_jobview_column(messages_fields, pviewname, 'getbody');
messages_sql := 'SELECT ' || messages_fields
|| ' FROM ' || pviewname || ' jobview';
IF hasColumn(pviewname, 'fac_srtnotificatie_key') IS NULL AND hasColumn(pviewname, 'code') IS NOT NULL
THEN
messages_sql := messages_sql
|| ' , fac_srtnotificatie '
|| ' WHERE jobview.code = fac_srtnotificatie.fac_srtnotificatie_code(+)';
END IF;
DBMS_OUTPUT.put_line ('Job view sql: ' || messages_sql);
OPEN messages FOR messages_sql;
LOOP
FETCH messages
INTO lsender, lreceiver, ltext, lcode, lsrt_key, lrefkey,
lxkey, lxsender, lxemail, lxmobile,
attachments, lbedrijfadreskey, geturl, getbody;
INTO lsender, lreceiver, ltext, lcode, lsrt_key, lrefkey, lxkey, lxsender, lxemail, lxmobile, attachments, lbedrijfadreskey;
EXIT WHEN messages%NOTFOUND;
-- we willen weten als we teveel sturen
IF LENGTH(ltext) > 2048
IF BITAND(pflags, 32) = 32 AND LENGTH(ltext) > 2048
THEN
raise_application_error(-20001, 'Facilitor warning: Jobcommand text too long');
raise_application_error(-20001, 'Facilitor warning: Jobcommand too long');
END IF;
IF BITAND(pflags, 16) = 16 AND lcode IS NOT NULL AND lrefkey IS NOT NULL AND ltext IS NOT NULL
@@ -2803,10 +2735,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
lxemail,
lxmobile,
2,
pattach => attachments,
pbedrijfadreskey => lbedrijfadreskey,
pqueue => pqueue,
pgeturl => geturl);
attachments,
lbedrijfadreskey,
pqueue);
ELSE
putnotificationsrtprio (lsender,
lreceiver,
@@ -2819,10 +2750,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
lxkey,
2,
lxsender,
pattach => attachments,
pbedrijfadreskey => lbedrijfadreskey,
pqueue => pqueue,
pgeturl => geturl);
attachments,
lbedrijfadreskey,
pqueue);
END IF;
END LOOP;
@@ -2830,7 +2760,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('Facilitor notifier: Invalid notification job ' || pviewname ||' ('|| SQLERRM ||')');
putsystemnotification ('Facilitor notifier: Invalid notification job ' || pviewname ||' ('|| SQLERRM ||')' , 3);
END;
@@ -3037,9 +2966,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
UPDATE mld_melding
SET mld_melding_einddatum = leinddatum, mld_melding_einddatum_std = leinddatum
WHERE mld_melding_key = lkey_new;
-- Controleer of er automatisch een opdracht aangemaakt moet worden.
mld.mld_addautoorder(lkey_new);
WHEN 'opdracht'
THEN
SELECT MAX (mld_opdr_key), MAX (mld_melding_key)
@@ -3256,12 +3182,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);
-- verwijderen inactieve personen
prs.personen_inactief_schonen;
SELECT fac_version_cust || '_DAILY'
INTO cust_daily
FROM fac_version;
@@ -3282,8 +3202,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
@@ -3291,14 +3210,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;
@@ -3610,7 +3521,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
-- Returnt de geldende waarde voor setting pname, bepaald uit de settingstabel
FUNCTION getSetting (pname IN VARCHAR2 ) RETURN VARCHAR2
AS
lres fac_setting.fac_setting_default%TYPE;
lres fac_setting.fac_setting_default%TYPE;
BEGIN
SELECT COALESCE(fac_setting_pvalue, fac_setting_default)
INTO lres
@@ -3618,9 +3529,6 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHERE fac_setting_name = pname;
RETURN lres;
EXCEPTION
WHEN NO_DATA_FOUND
THEN raise_application_error(-20001, 'FACILITOR: Non existing setting: '||pname);
END;
-- add a trackrecord for action pcode, entity prefkey. pdatum may be NULL
@@ -3629,12 +3537,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;
@@ -3675,14 +3577,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
@@ -3724,8 +3624,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;
@@ -3746,13 +3645,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;
@@ -3764,7 +3663,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
@@ -3800,20 +3698,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'
@@ -3974,11 +3858,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
@@ -4123,10 +4002,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
@@ -4846,8 +4721,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
RETURN verstring;
END;
-- Haalt default Behandelteam op
FUNCTION getDefaultBehandelteam(p_stdm IN NUMBER)
-- Haalt default Behandelgroep op
FUNCTION getDefaultBehandelgroep(p_stdm IN NUMBER)
RETURN NUMBER
IS
stdm_default_disc mld_stdmelding.mld_stdmelding_default_disc%TYPE;
@@ -4880,7 +4755,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
errormsg fac_result.fac_result_waarde%TYPE;
BEGIN
-- Valideer de sender in pfrom: kennen we deze?
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
SELECT prs_perslid_key, d.prs_kostenplaats_key
INTO sender, kostenplaats
FROM prs_perslid p, prs_afdeling d
WHERE p.prs_afdeling_key = d.prs_afdeling_key
@@ -4890,7 +4765,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHEN UPPER (pto) LIKE 'SERVICEDESK@%'
THEN
defaultstdmelding := fac.getsetting ('defaultstdmelding');
stdm_default_disc := getDefaultBehandelteam(defaultstdmelding);
stdm_default_disc := getDefaultBehandelgroep(defaultstdmelding);
-- suggested extensions:
-- check for MLDUSE-write autorisations
@@ -5786,150 +5661,102 @@ CREATE OR REPLACE PACKAGE BODY fac AS
END IF;
END;
PROCEDURE fac_cleanup(delayhours NUMBER DEFAULT 24)
PROCEDURE fac_cleanup
AS
v_cleanup_date DATE;
CURSOR c_imp
IS
SELECT fac_import_app_key
FROM fac_import_app;
r_imp c_imp%ROWTYPE;
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_gui_counter WHERE fac_gui_counter_date < (SYSDATE - 100) AND prs_perslid_key IS NOT NULL;
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 opschonen.
DECLARE
v_count NUMBER;
BEGIN
v_count := 0;
FOR c_impapp IN (SELECT fac_import_app_key,
(SELECT MIN (fac_import_key)
FROM ( SELECT fac_import_key
FROM fac_import fi2
WHERE fi2.fac_import_app_key = f.fac_import_app_key
ORDER BY fac_import_key DESC)
WHERE ROWNUM <= 10) last10key,
(SELECT MAX(fac_import_key)
FROM fac_import fi2
WHERE fi2.fac_import_app_key = f.fac_import_app_key
AND fac_import_datum_gelezen <= TRUNC(SYSDATE - 1)) lastdaykey
FROM fac_import_app f)
LOOP
FOR c_imp IN (SELECT fac_import_key
FROM fac_import f
WHERE f.fac_import_app_key = c_impapp.fac_import_app_key
AND fac_import_key < c_impapp.lastdaykey -- altijd minstens een dag laten staan
AND fac_import_key < c_impapp.last10key) -- laatste 10 blijven altijd
LOOP
DELETE FROM fac_import
WHERE fac_import_key = c_imp.fac_import_key; -- cascadeert fac_imp_file en imp_log vanzelf mee
IF v_count >= 1000
THEN
COMMIT;
v_count := 0;
ELSE
v_count := v_count + 1;
END IF;
END LOOP;
END LOOP;
END;
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;

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;
/

File diff suppressed because it is too large Load Diff

View File

@@ -24,8 +24,7 @@
FUNCTION getflex (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER,
p_ref_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL,
p_optional IN NUMBER DEFAULT 0) RETURN VARCHAR2;
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
PROCEDURE setflex (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER,
p_ref_key IN NUMBER,
@@ -64,11 +63,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;
@@ -151,8 +153,7 @@
FUNCTION getflex (pmodule IN VARCHAR2,
p_kenmerk_key IN NUMBER,
p_ref_key IN NUMBER,
p_niveau IN VARCHAR2 DEFAULT NULL,
p_optional IN NUMBER DEFAULT 0) RETURN VARCHAR2
p_niveau IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2
IS
l_sql_kenm VARCHAR2 (4500);
l_waarde VARCHAR2 (4000);
@@ -167,11 +168,6 @@
l_kcolumnname_showexpr VARCHAR2 (30);
l_module VARCHAR2 (3);
BEGIN
IF p_optional = 1 AND p_ref_key IS NULL
THEN
return NULL;
END IF;
l_module := pmodule;
flx.gettableinf (l_module, l_kenmerk_tablename, l_kcolumnname_default, l_kenmval_tablename, l_kcolumnname_refkey, l_kcolumnname_niveau, l_kcolumnname_waarde, l_kcolumnname_kkey, l_kcolumnname_delete, l_kcolumnname_showexpr);
l_sql_kenm := 'SELECT ' || l_kcolumnname_waarde ||
@@ -508,7 +504,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 +540,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 +567,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 +691,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';
@@ -705,8 +704,7 @@
-20001,
'Error parsing flex-expression ' || pmodule || ' kenmerkkey:' || expr.fac_kenmwaarden_kenmerk_key
|| CHR(10) || SQLERRM
|| CHR(10) || l_sql_exprval
|| CHR(10) || 'Original: ' || l_expr);
|| CHR(10) || l_sql_exprval);
END;
--DBMS_SQL.describe_columns(l_cursor_exprval, l_colcnt, l_desctab);
IF expr.fac_kenmwaarden_kenmerktype = 'N'
@@ -715,6 +713,9 @@
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;
@@ -806,6 +807,10 @@
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;
@@ -847,16 +852,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
@@ -865,11 +865,21 @@
-20001,
'Error parsing flex-expression ' || pmodule || ' kenmerkkey:' || expr.fac_kenmwaarden_kenmerk_key
|| CHR(10) || SQLERRM
|| CHR(10) || l_sql_exprval
|| CHR(10) || 'Original: ' || l_expr);
|| 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,
@@ -926,15 +936,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

File diff suppressed because it is too large Load Diff

View File

@@ -77,13 +77,8 @@ 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')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'alg_ter_string' , 'string' , ' t.alg_terreinsector_code ||'' ''||t.alg_terreinsector_naam ' , 'Presentation of terrain while selecting')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'alg_ver_string' , 'string' , ' v.alg_verdieping_omschrijving ' , 'Presentation of floor while selecting')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'alg_rui_string' , 'string' , ' r.alg_ruimte_nr || NVL2(r.alg_ruimte_omschrijving, '' - ''|| r.alg_ruimte_omschrijving, '''')', 'Presentation of room while selecting')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'alg_loc_string' , 'string' , ' l.alg_locatie_omschrijving || '' ('' || l.alg_locatie_code || '')'' ', NULL)
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'asp_max_download' , 'number' , '-1' , 'Copy the IIS configuration setting AspBufferingLimit (future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'asp_max_upload' , 'number' , '-1' , 'Copy the IIS configuration setting AspMaxRequestEntityAllowed (future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'asp_timeout' , 'number' , '-1' , 'Copy the IIS configuration asp AspScriptTimeout setting (future use)')
@@ -129,10 +124,9 @@ 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('PRS', 0001, 'WEB_FACTAB', 'scim_default_bedrijf' , 'number' , '-1' , 'Default company (prs_bedrijf_key) for SCIM new organisation units')
DEFINE_SETTING('RES', 0001, 'WEB_FACFAC', 'res_remoteurl_refuse' , 'string' , '' , 'Regexp, do not jump to these remote url (future use)')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', '_optimizer_use_feedback' , 'string' , '' , '_optimizer_use_feedback (Future use)')
@@ -141,7 +135,6 @@ DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'flexFilesPath'
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'max_logfile_size' , 'number' , '4194304' , 'Start new logfile after it reaches this size')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'optimizer_features_enable' , 'string' , '' , 'optimizer_features_enable (Future use)')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'tempfilespath' , 'string' , NULL , 'Path for temp files (future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'style_image_path' , 'string' , NULL , 'path to folder storing styling template pictures')
DEFINE_SETTING('ALG', 0001, 'WEB_PRSSYS', 'alg_ruimtenr_aut_use' , 'number' , '0' , 'WEB_RUIUSE may change alg_ruimte_nr/omschrijving {0=WEB_RUIMAN required | 1=WEB_RUIUSE allowed too}')
DEFINE_SETTING('BES', 0001, 'WEB_FACTAB', 'bes_image_path' , 'string' , NULL , 'path to folder storing bes_srtdeel pictures')
@@ -170,6 +163,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):\/\/)' , '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)')
@@ -188,7 +182,6 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_accept_terms'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_emailtoken_auth_expire' , 'number' , '0' , 'Minutes e-mail login token is valid (default 0)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_logo_file' , 'string' , 'tmpl_logo.gif' , 'Customer logo file (Future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_msxml2domdocument' , 'number' , '0' , '0=FreeThreadedDOMDocument, 1=DOMDocument')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_tamper_check' , 'number' , '255' , 'Perform tampercheck on save')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_reserved_number1' , 'number' , '0' , 'reserved_number1 (reserved and unused)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_reserved_number2' , 'number' , '0' , 'reserved_number2 (reserved and unused)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_reserved_string1' , 'string' , '' , 'reserved_string1 (reserved and unused)')
@@ -212,7 +205,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"')
@@ -235,12 +227,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')
@@ -262,7 +254,6 @@ DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mld_ordermaterial_fac_usrtab_key'
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ordermaterial_frame' , 'number' , '0' , 'Show order materiallist in a separate frame {0=no (default} | 1=yes}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_ordermaterial_editable' , 'boolean' , 'true' , 'ordermaterials can be edited (true) or are always readonly/remotely managed (false)')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mld_reply_subject_regexp' , 'string' , '[[:alpha:]]*[[:digit:]]{3,}' , 'The regexp for recognizing reply melding numbers (future use)')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mldg_image_path' , 'string' , NULL , 'path to folder storing stdmeldinggroep symbols pictures')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mlds_image_path' , 'string' , NULL , 'path to folder storing stdmelding symbols pictures')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mldd_image_path' , 'string' , NULL , 'path to folder storing mld discipline pictures')
DEFINE_SETTING('MLD', 0001, 'WEB_FACTAB', 'mldsd_image_path' , 'string' , NULL , 'path to folder storing mld srtdiscipline pictures')
@@ -279,7 +270,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')
@@ -372,7 +363,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')
@@ -401,20 +392,18 @@ DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_contract_recent'
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_contract_requestor_required' , 'boolean' , 'false' , 'Set the contract requestor field as required (true) or optional (false)')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_enable_kostensoort' , 'number' , '1' , 'can contract kostensoort be changed?')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_factuur_totaalmarge' , 'number' , '0' , 'De toegestane marge op de totaal factuur (default 0)')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_inactivate_mode' , 'number' , '0' , 'inactivate contract with WEB_CNTMAN/WEB_CNTUSE read rights and WEB_CNTMSU rights (0) or with extra WEB_CNTMAN write rights (1) and WEB_CNTMAN may edit older, inactive contract versions (2)')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_inactivate_mode' , 'number' , '0' , 'inactivate contract with WEB_CNTMAN/WEB_CNTUSE read rights and WEB_CNTMSU rights (0) or with extra WEB_CNTMAN write rights (1)')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_internalnr_readonly' , 'number' , '0' , 'Het interne contractnummer wordt automatisch bepaalt en is niet wijzigbaar')
DEFINE_SETTING('CNT', 0001, 'WEB_PRSSYS', 'cnt_rappel_abonnement' , 'number' , '3' , 'Rappel termijn van een abonnement contract')
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.')
@@ -424,7 +413,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'currency_icon'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'currency_pref' , 'string' , 'EUR ' , 'Currency prefix')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'currency_suff' , 'string' , '' , 'Currency suffix')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'email_password' , 'number' , '0' , 'Show ''wachtwoord vergeten'' optie (1=voor mensen met wachtwoord, 2=voor iedereen)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'excel_mode' , 'number' , '2' , 'Save Excel as {0=html-table (deprecated)| 1=as CSV (not supported)| 2=native XLS}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'excel_mode' , 'number' , '0' , 'Save Excel as {0=html-table | 1=as CSV (not supported)| 2=native XLS (future use)}')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_api_limit' , 'number' , '100' , 'Default maximum number of records to return using the REST API')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_api_limit2' , 'number' , '5000' , 'Ultime maximum number of records to return using the REST API')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'fac_bes_deeplike_expire' , 'number' , '0' , 'Number of days bestelling deeplike bookmark is valid (default 0 is disabled) future use')
@@ -432,7 +421,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')
@@ -443,20 +432,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}')
@@ -469,11 +456,10 @@ 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)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'werklocatie_alg_scope' , 'number' , '-1' , 'Mijn werklocatie/standplaats moet liggen binnen mijn:' || CHR(10) || '-1: Alles is toegestaan (=default)' || CHR(10) || '0: Regio' || CHR(10) || '1: District' || CHR(10) || '2: Locatie' || CHR(10) || '3: Gebouw' || CHR(10) || '4: Verdieping' || CHR(10) || '5: Ruimte' || CHR(10) || '6: Ik mag alleen mijn eigen werkplekken kiezen')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_password' , 'number' , '0' , 'get the login password sent to your mobile')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_password_pda' , 'number' , '0' , 'get the login password sent your mobile when using a mobile')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mobile_position_required' , 'number' , '1' , 'A current position is required for geo-scoping (1) or not (0)')
@@ -490,7 +476,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')
@@ -517,12 +503,10 @@ DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'timepickercolumns'
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_colors1' , 'string' , '[''#003478'',''#6685ae'',''#e37b00'',''#0b94f9'',''#81ce58'',''#f3d736'',''#acaa65'',''#a222c4'',''#5b9bc3'',''#1c40eb'',''#037011'',''#d192e7'',''#f88625'',''#93b89f'',''#bf6b87'',''#a2b41a'',''#f76979'',''#f41181'',''#73eb59'',''#32d1d0'',''#a00bed'',''#66fe6b'',''#b94d5b'']' , 'Color used for single bar /line graphs (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_colors2' , '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 used for stacked bar /line graphs (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_default_json' , 'string' , '' , 'Default json options for report graphs (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_gauge_colors' , 'string' , '[''#CC6666'', ''#E7E658'', ''#66CC66'']' , 'Colors being used for gaugemeter charts (string!)')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'udr_graph_gauge_colors' , 'string' , '[''red'',''orange'',''green'']' , 'Colors being used for gaugemeter charts (string!)')
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.')
@@ -548,7 +532,7 @@ DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_attach_obj_cntpers'
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_auth_obj_lendout' , 'number' , '0' , 'Authorization scope for objects which are lent out for lending registration (INSFOF/fo) {0=owner(borrower) (default) | 1=basic place/owner}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_can_edit_own_objects' , 'number' , '0' , 'Owner can edit objects {0|1, default 0}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_element_description' , 'string' , '' , 'SQL voor de objectomschrijving achter de "heeft betrekking op" knop voor het selecteren van elementen')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_explode_objects' , 'number' , '1' , 'Explode the nummer of (new) object {0=no | 1=yes (default) | 2=choice: default no | choice: default yes}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_explode_objects' , 'number' , '1' , 'Explode the nummer of (new) object {0=no | 1=yes (default)}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_fg_remote_maps' , 'string' , '' , 'API Key. if not empty use Google Maps instead of FG if x,y coordinates of an object are available')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_flex_uitgifte_empty' , 'number' , '0' , 'Flexvelden die geen meetwaarden zijn leeg maken bij uitgifte {0=no (default) | 1=yes}')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'ins_inspect_service_depend' , 'number' , '0' , 'Company depends on the {0=servicecompanylocation {default} 1=contract scope 2=both}')
@@ -559,20 +543,19 @@ 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_freeze_year' , 'number' , EXTRACT(YEAR FROM SYSDATE) , 'Frozen (approved/activated) year of 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)')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_start_year' , 'number' , EXTRACT(YEAR FROM SYSDATE) , 'Start/First year of freezing of Preventive Maintenance (MJOB)')
DEFINE_SETTING('INS', 0001, 'WEB_PRSSYS', 'mjb_enable_moveup' , 'number' , '0' , 'Enable moveup of (MJOB) tasks {0=moveup disabled | 1=moveup enabled}')
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', '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', 'cnt_autolink_regexp' , 'string' , '' , 'Automatically turn CNT-references in texts into clickable links eg. (?:(?:contract [A-Z]*)|(?:[A-Z \,\n]+\#[A-Z]*))(\d+)')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'faq_autolink_regexp' , 'string' , '(?:(?:FAQ\s?)|(?:KB\s?)|(?:\s\#))(\d+)', 'Automatically turn FAQ-references in texts into clickable links eg. (?:(?:FAQ\s?)|(?:KB\s?)|(?:\s\#))(\d+) gives valid links for FAQ981, FAQ 981, KB981, KB 981 and #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}')
@@ -585,16 +568,15 @@ 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_bo_sort_descending' , 'number' , '0' , 'Sort ordering of mld_melding for BO (0 = most urgent first | 1 = last made 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')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_can_reopen_call' , 'number' , '0' , 'Calls can be reopened {0=no(default) | 1=yes }')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_clear_on_close' , 'number' , '0' , 'Clear when closing call (0=just close call | +1=reset attention, +2=reset Assigned to, +4=reset Back office groups, +8=reset Processor)')
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}')
@@ -658,15 +640,15 @@ 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.')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_pgb_fiattering' , 'number' , '0' , 'Voor een opdracht is het algemene fiatteringsproces noodzakelijk naast PGB/AGB fiatering? {0=no | 1=yes}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_photo_size' , 'string' , 'r512x512' , 'Resize uploads to this maximum MLD photo size. Ex: r200x150')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_plandate_in_list' , 'number' , '0' , '*Show Planned Date as a column in backoffice overview orders {0=no | 1=yes}')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_print_loc_address' , 'number' , '0' , 'Show location address details in backoffice overview calls {0=no | 1=on print | 2=address+postal code+building} | 3=address+postal code+city')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_processing_group_all' , 'number' , '1' , 'Een behandelteam mag gekozen worden uit dezelfde srtdiscipline {0} of uit alle srtdiscipline {1=default})')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_print_loc_address' , 'number' , '0' , 'Show location address details in backoffice overview calls {0=no | 1=on print | 2=address+building} | 3=address+city')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_processing_group_all' , 'number' , '1' , 'Een behandelgroep mag gekozen worden uit dezelfde srtdiscipline {0} of uit alle srtdiscipline {1=default})')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_reference_days' , 'number' , '100' , 'Het aantal dagen terug in de tijd van waaraf eigen referentie getoond dienen te worden')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_rejected_is_open' , 'number' , '0' , 'show rejected meldingen as Open FE/FO {1=Open | 0=Closed}.')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_restrict_mobile_to_me' , 'number' , '0' , 'For mobile, show calls within scope (0) or only list calls assigned to me (1) with scope')
@@ -687,9 +669,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')
@@ -715,7 +696,7 @@ DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_approvemethod'
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_bedrijf_leveranciernr_unique' , 'number' , '0' , 'leveranciernr or prs_bedrijf unique (1) or not unique (0)')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_collegas_used' , 'number' , '9' , 'Can FE users indicate collegues for replacement. Use value as autlevel scope: everything (-1) ... nothing (9=default)')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_default_kpn_empty' , 'number' , '0' , 'Costcentre always default empty {0=no | 1=yes}')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_dep_default_kpn' , 'number' , '5' , 'A user can make costs for his own department by default {0=no | 1=yes | 2=all departments of company | 4=personal}')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_dep_default_kpn' , 'number' , '1' , 'A user can make costs for his own department by default {0=no | 1=yes | 2=all departments of company}')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_dep_default_kpn_voor' , 'number' , '0' , 'Gebruik de kostenplaatsen van de prs_perslid_voor indien gezet samen met mld_allow_for_others/bes_allow_for_others')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_fof_show_belongings' , 'number' , '1' , '0=hide belongings, 1=show belongings')
DEFINE_SETTING('PRS', 0001, 'WEB_PRSSYS', 'prs_h' , 'float' , '0.25' , 'Employability time stepsize')
@@ -732,8 +713,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', 'res_release_equipment_on_close' , 'number' , '0' , 'Propose to release reserved equipment when closing a reservation prematurely {0=no | 1=yes}')
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}')
@@ -746,7 +725,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')
@@ -762,8 +741,7 @@ 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_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')
@@ -811,11 +789,64 @@ DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_pda_deel_times'
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_pda_room_times' , 'array' , '30,60,120' , 'Mobile proposed reservation times for rooms')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_adhoc_threshold' , 'number' , '10' , 'The amount of time (in minutes) before the end of a reservation before an adhoc reservation can be made')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'msgraph_sync_level' , 'number' , '0' , 'Level of synchronization (Sufficient rights required); { 0: No sync, +1: Facilitor reads from Exchange, +2: Facilitor writes only to Exchange rooms, +4: Facilitor writes to all Exchange users }')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'exchange_internal_email_regexp' , 'string' , '*' , 'Regular expression to match internal visitors by; internal visitors are not registered in Facilitor (All visitors are internal by default)')
DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'cil_ins_srt_groep_key' , 'number' , '-1' , 'INS_SRTDEEL_KEY of object type Cylinders')
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')
@@ -830,7 +861,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')
@@ -847,7 +878,7 @@ DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_forcenotiaddress' , 'string
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_forceorderaddress' , 'string' , '' , 'Force this order address for test purposes eg mailto://john@example.com')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_forceallowedgroep' , 'string' , '_TESTERS' , 'When mailto belongs to person in named authorisation group then dont force the mail address')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_fromaddress' , 'string' , '' , 'The fixed From address for Facilitor orders')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_logdestination' , 'number' , '1' , 'Where to log: 1=detailed file, 2=csv file, 3=both')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_logdestination' , 'number' , '1' , 'Where to log: 1=file, 2 = database, 3=both')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_loglevel' , 'number' , '1' , 'Level of logging (0-3) for troubleshooting purposes')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_mailbodycharset' , 'string' , 'unicode-1-1-utf-8' , 'Putorders e-mail charset')
DEFINE_SETTING('PUO', 0001, 'WEB_FACTAB', 'puo_notificationinmailbody' , 'boolean' , 'true' , 'false = as attachments, true = in body (deprecated)')
@@ -872,7 +903,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}')
@@ -945,6 +976,19 @@ INSERT INTO fac_setting (fac_setting_module,
FROM fac_setting);
COMMIT;
-- Bij elke klant anders, moet dus in pvalue
-- Alleen effectief bij de CREA
UPDATE fac_setting
SET fac_setting_pvalue =
(SELECT prs_perslid_apikey
FROM prs_perslid
WHERE prs_perslid_oslogin = '_PUTORDERS')
WHERE fac_setting_pvalue IS NULL
AND fac_setting_name = 'puo_fclt_web_apikey';
COMMIT;
TRUNCATE TABLE tmp_set;
DROP TABLE tmp_set PURGE;

View File

@@ -75,7 +75,7 @@ CREATE_TABLE(fac_selectie, 0)
fac_selectie_node
VARCHAR2(12),
fac_selectie_tabel
VARCHAR2(128),
VARCHAR2(30),
fac_selectie_key
NUMBER(10),
fac_selectie_datum
@@ -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)
@@ -272,7 +270,7 @@ CREATE_TABLE(fac_usrrap, 0)
fac_usrrap_omschrijving
VARCHAR2(60),
fac_usrrap_view_name
VARCHAR2(128)
VARCHAR2(32)
NOT_NULL(fac_usrrap_view_name, fac_c_fac_usrrap_view_name),
fac_usrrap_col_refresh
DATE,
@@ -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)
@@ -413,7 +412,7 @@ CREATE_TABLE(fac_usrgraph, 0)
fac_usrgraph_omschrijving
VARCHAR2(60),
fac_usrgraph_view_name
VARCHAR2(128)
VARCHAR2(32)
NOT_NULL(fac_usrgraph_view_name, fac_c_fac_usrgraph_view_name),
fac_usrgraph_aanmaak
DATE
@@ -446,7 +445,7 @@ CREATE_TABLE(fac_mgtrap, 0)
(
fac_mgtrap_key NUMBER(10),
fac_mgtrap_omschrijving VARCHAR2(60),
fac_mgtrap_view_name VARCHAR2(128),
fac_mgtrap_view_name VARCHAR2(32),
fac_mgtrap_aanmaak DATE,
fac_mgtrap_info VARCHAR2(100),
fac_functie_key NUMBER(10),
@@ -594,11 +593,7 @@ CREATE_TABLE(fac_srtnotificatie, 0)
DEFAULT 0
NOT_NULL(fac_srtnotificatie_gebouw, fac_c_fac_srtnotificatie_geb),
fac_srtnotificatie_srtkm_key
NUMBER(10),
fac_srtnotificatie_noticollegas
NUMBER(3)
DEFAULT 0
NOT NULL
NUMBER(10)
);
/*
@@ -644,10 +639,6 @@ CREATE_TABLE(fac_notificatie, 0)
VARCHAR2(30),
fac_notificatie_oms
VARCHAR2(2048),
fac_notificatie_geturl /* rapport mailen */
VARCHAR2(4000),
fac_notificatie_getbody
VARCHAR2(4000),
fac_notificatie_refkey
NUMBER(10),
fac_notificatie_extrakey
@@ -683,16 +674,6 @@ CREATE_TABLE(fac_notificatie_job, 0)
PRIMARY KEY,
fac_notificatie_job_view
VARCHAR2(1000),
fac_notificatie_job_geturl
VARCHAR2(4000),
fac_notificatie_job_getbody
VARCHAR2(4000),
// prs_perslid_key -- owner
// NUMBER(10)
// CONSTRAINT fac_r_prs_perslid_key5 REFERENCES prs_perslid(prs_perslid_key)
// prs_perslid_key_receiver
// NUMBER(10)
// REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE,
fac_notificatie_job_oms
VARCHAR2(60),
fac_notificatie_job_mode
@@ -1033,7 +1014,7 @@ CREATE_TABLE(fac_imp_onrgoed1, 0)
, alg_gebouw_naam VARCHAR2(60)
, alg_srtgebouw_omschrijving VARCHAR2(30)
, alg_locatie_verantw VARCHAR2(30)
, alg_locatie_verantw_tel VARCHAR2(20)
, alg_locatie_verantw_tel VARCHAR2(15)
, alg_locatie_adres VARCHAR2(50)
, alg_locatie_postcode VARCHAR2(12)
, alg_locatie_plaats VARCHAR2(30)
@@ -1042,16 +1023,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)
@@ -1113,11 +1094,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)
@@ -1146,19 +1127,6 @@ CREATE_TABLE(fac_imp_kpn, 0)
prs_kostenplaats_externnr VARCHAR2(256)
);
CREATE_TABLE(fac_imp_kostensoort, 0)
(
prs_kostensoort_oms VARCHAR2 (60),
prs_kostensoort_opmerking VARCHAR2 (255),
prs_kostensoort_refcode VARCHAR2 (60),
prs_kostensoort_doorbelasten NUMBER (1),
prs_kostensoort_btw NUMBER (1),
prs_kostenplaats_key NUMBER (10),
prs_kostensoortgrp_key NUMBER (10),
prs_kostensoort_eind DATE,
prs_kostensoort_altcode VARCHAR2 (60)
);
CREATE_TABLE(fac_imp_perslid, 0)
(
alg_locatie_code VARCHAR2(10)
@@ -1168,14 +1136,13 @@ CREATE_TABLE(fac_imp_perslid, 0)
,prs_werkplek_volgnr NUMBER (8)
,prs_werkplek_omschrijving VARCHAR2 (30)
,prs_afdeling_naam VARCHAR2 (15)
,prs_kostenplaats_nr VARCHAR2 (30)
,prs_perslid_naam VARCHAR2 (60)
,prs_perslid_tussenvoegsel VARCHAR2 (15)
,prs_perslid_voorletters VARCHAR2 (15)
,prs_perslid_voornaam VARCHAR2 (30)
,prs_perslid_titel VARCHAR2 (15)
,prs_perslid_telefoonnr VARCHAR2 (20)
,prs_perslid_mobiel VARCHAR2 (20)
,prs_perslid_telefoonnr VARCHAR2 (15)
,prs_perslid_mobiel VARCHAR2 (15)
,prs_perslid_email VARCHAR2 (200)
,prs_srtperslid_omschrijving VARCHAR2 (60)
,prs_perslid_nr VARCHAR2 (16)
@@ -1186,26 +1153,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 */
@@ -1274,11 +1241,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.
@@ -1294,7 +1261,7 @@ CREATE_TABLE(fac_imp_adres, 0)
adres_post_postcode VARCHAR2(12),
adres_post_plaats VARCHAR2(30),
adres_post_land VARCHAR2(30),
adres_telefoon VARCHAR2(20),
adres_telefoon VARCHAR2(15),
adres_fax VARCHAR2(15),
locatie_key NUMBER(10),
adres_factuuradres NUMBER(1),
@@ -1489,8 +1456,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)
@@ -1590,9 +1556,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
);
@@ -1641,7 +1606,7 @@ CREATE_TABLE(fac_locale, 0) /* Alle feitelijk vertaalde teksten */
fac_locale_key NUMBER (10) PRIMARY KEY,
fac_localeitems_key NUMBER (10) REFERENCES fac_localeitems(fac_localeitems_key) ON DELETE CASCADE,
fac_locale_dialect_key NUMBER(10),
fac_locale_kolomnaam VARCHAR2(128 CHAR),
fac_locale_kolomnaam VARCHAR2(30 CHAR),
fac_locale_kolomkeyval NUMBER(10),
fac_locale_lang VARCHAR2(3) NOT NULL,
fac_locale_tekst VARCHAR2(4000 CHAR),
@@ -1698,26 +1663,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
@@ -1758,7 +1723,6 @@ CREATE_TABLE(fac_imp_flex, 0)
fac_kenmerkdomein_kolomtxt VARCHAR2(255),
fac_usrtab_naam VARCHAR2(255),
srtkenmerk_omschrijving VARCHAR2(255),
srtkenmerk_code VARCHAR2(255),
srtkenmerk_kenmerktype VARCHAR2(255),
srtkenmerk_systeem VARCHAR2(255),
srtkenmerk_lengte VARCHAR2(255),
@@ -1778,7 +1742,6 @@ CREATE_TABLE(fac_imp_flex, 0)
kenmerk_regexp VARCHAR2(255),
kenmerk_show_expr VARCHAR2(4000),
kenmerk_omschr VARCHAR2(255),
kenmerk_code VARCHAR2(255),
kenmerk_verwijder VARCHAR2(255),
kenmerk_extra_1 VARCHAR2(255),
kenmerk_extra_2 VARCHAR2(255),
@@ -1797,8 +1760,7 @@ CREATE_TABLE(fac_imp_flex, 0)
ins_discipline VARCHAR2(255),
ins_srtgroep VARCHAR2(255),
ins_srtdeel VARCHAR2(255),
kenmerk_wissen NUMBER(1),
kenmerk_module VARCHAR2(3)
kenmerk_wissen NUMBER(1)
);
CREATE_TABLE (fac_kenmwaarden, 0)
@@ -1875,13 +1837,13 @@ CREATE_TABLE(fac_kenmerkdomein, 0)
VARCHAR2(2000)
NOT_NULL(fac_kenmerkdomein_objectnaam, fac_c_refsrtkenm_objnaam),
fac_kenmerkdomein_kolomnaam
VARCHAR2(128)
VARCHAR2(30)
NOT_NULL(fac_kenmerkdomein_kolomnaam, fac_c_refsrtkenm_kolnaam),
fac_kenmerkdomein_kolomtxt
VARCHAR2(128)
VARCHAR2(30)
NOT_NULL(fac_kenmerkdomein_kolomtxt, fac_c_refsrtkenm_kolomtxt),
fac_kenmerkdomein_kolomtxt2
VARCHAR2(128),
VARCHAR2(30),
fac_kenmerkdomein_verval
VARCHAR2(30),
fac_usrtab_key
@@ -2077,7 +2039,6 @@ CREATE_TABLE(fac_imp_usrdata, 0)
fac_usrtab_naam VARCHAR2(16),
fac_usrdata_code VARCHAR2(40),
fac_usrdata_omschr VARCHAR2(60),
fac_usrdata_omschr2 VARCHAR2(60),
fac_usrdata_volgnr NUMBER(3),
fac_usrdata_prijs NUMBER(15,7),
fac_usrdata_vervaldatum DATE,
@@ -2226,12 +2187,12 @@ CREATE_TABLE(fac_audit, 0)
NUMBER(10)
CONSTRAINT fac_k_fac_audit_key PRIMARY KEY,
fac_audit_tabelnaam
VARCHAR2(128)
VARCHAR2(30)
CONSTRAINT fac_k_fac_audit_tabelnaam CHECK(fac_audit_tabelnaam IS NOT NULL),
fac_audit_tabelkey
NUMBER(10),
fac_audit_veldnaam
VARCHAR2(128),
VARCHAR2(30),
fac_audit_actie
VARCHAR2(1)
CONSTRAINT fac_k_fac_audit_actie CHECK(fac_audit_actie IN ('C', 'D', 'I', 'U')),
@@ -2272,7 +2233,6 @@ CREATE_TABLE(faq_kenmerk,0)
faq_kenmerk_volgnr NUMBER(3) NOT NULL,
faq_kenmerk_omschrijving VARCHAR2(50),
faq_kenmerk_upper VARCHAR2(50),
faq_kenmerk_code VARCHAR2(60),
faq_kenmerk_hint VARCHAR2(255),
faq_kenmerk_default VARCHAR2(4000),
faq_kenmerk_show_expr VARCHAR2(4000),
@@ -2329,10 +2289,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 CASCADE
// 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)
// 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, fac_gui_counter_info)
);
CREATE_TABLE(fac_sequence, 0)
@@ -2349,7 +2309,7 @@ CREATE_TABLE(fac_bijlagen, 0)
(
fac_bijlagen_key NUMBER(10)
CONSTRAINT fac_k_fac_bijlagen_key PRIMARY KEY,
fac_bijlagen_module VARCHAR2(4)
fac_bijlagen_module VARCHAR2(3)
NOT NULL,
fac_bijlagen_refkey NUMBER(10) NOT NULL,
fac_bijlagen_kenmerk_key NUMBER(10) NOT NULL,

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;
/
@@ -929,9 +917,7 @@ BEFORE INSERT OR UPDATE ON faq_kenmerk
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(faq_kenmerk_key, faq_s_faq_kenmerk_key);
UPDATE_UPPER(faq_kenmerk_omschrijving, faq_kenmerk_upper, faq_kenmerk);
UPDATE_UPPER(faq_kenmerk_code, faq_kenmerk_code, faq_kenmerk);
UPDATE_UPPER(faq_kenmerk_omschrijving, faq_kenmerk_upper,faq_kenmerk);
IF (:new.faq_kenmerk_verwijder IS NOT NULL AND :old.faq_kenmerk_verwijder IS NULL AND
:new.faq_kenmerk_systeem = 1)
THEN

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));
@@ -721,9 +719,8 @@ AS
SELECT fac_notificatie_receiver_email, fac_notificatie_receiver_phone, fac_notificatie_oms, fac_notificatie_status,
fac_notificatie_key, fac_notificatie_refkey, fac_notificatie_datum, fac_srtnotificatie_code, fac_srtnotificatie_xmlnode,
fac_notificatie_extrakey, fac_notificatie_sender_email, fac_notificatie_lang, fac_notificatie_systeemadres,
fac_notificatie_attachments, fac_srtnotificatie_delay, fac_srtnotificatie_srtkm_key, fac_srtnotificatie_noticollegas,
prs_perslid_key_receiver, fac_notificatie_notbefore, fac_notificatie_failcount, prs_bedrijfadres_key,
prs_perslid_key_sender, fac_notificatie_geturl, fac_notificatie_getbody
fac_notificatie_attachments, fac_srtnotificatie_delay, fac_srtnotificatie_srtkm_key, prs_perslid_key_receiver,
fac_notificatie_notbefore, fac_notificatie_failcount, prs_bedrijfadres_key
FROM fac_notificatie n
LEFT OUTER JOIN fac_srtnotificatie sn ON n.fac_srtnotificatie_key = sn.fac_srtnotificatie_key;
@@ -1025,189 +1022,109 @@ 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,
naam,
usertype,
oslogin,
last_login,
a.key_user,
b.xd_user
FROM (SELECT p.prs_perslid_key,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = p.prs_perslid_key)
naam,
'user'
usertype,
COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2)
oslogin,
p.prs_perslid_login
last_login
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
COALESCE((SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all pf WHERE pf.prs_perslid_key = x.prs_perslid_key), '<SENSOR>') naam,
oslogin,
last_login,
a.key_user,
b.xd_user
FROM (SELECT p.prs_perslid_key,
COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) oslogin,
p.prs_perslid_login last_login
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 (login doet er sinds 20-7-2016 niet meer toe)!
(SELECT 1
FROM fac_v_webgebruiker
WHERE prs_perslid_key = p.prs_perslid_key)
UNION ALL
SELECT p.prs_perslid_key,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = p.prs_perslid_key)
naam,
'user'
usertype,
COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2)
oslogin,
NULL
last_login -- geen login (lees zonder rechten), dus telt als nooit recent ingelogd!
FROM prs_v_aanwezigperslid p
WHERE NOT EXISTS -- g<><67>n groep + rechten!
(SELECT 1
FROM fac_v_webgebruiker gg
WHERE gg.prs_perslid_key = p.prs_perslid_key)
AND ( fac.getsetting ('mld_allow_for_others') = 1
OR EXISTS
(SELECT 1
FROM bes_disc_params dp, bes_discipline bd
WHERE dp.bes_disc_params_for_others = 1
WHERE prs_perslid_key = p.prs_perslid_key)
UNION ALL -- FSN#24029: Soms ook personen zonder login meetellen!
SELECT p.prs_perslid_key,
COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) oslogin,
NULL last_login -- geen login (lees zonder rechten), dus telt als nooit recent ingelogd!
FROM prs_v_aanwezigperslid p
WHERE NOT EXISTS -- g<><67>n groep + rechten!
(SELECT 1
FROM fac_v_webgebruiker gg
WHERE gg.prs_perslid_key = p.prs_perslid_key)
AND (fac.getSetting ('mld_allow_for_others') = 1
OR EXISTS
(SELECT 1
FROM bes_disc_params dp, bes_discipline bd
WHERE dp.bes_disc_params_for_others = 1
AND bd.ins_discipline_key = dp.bes_ins_discipline_key
AND bd.ins_discipline_verwijder IS NULL))
UNION ALL -- FSN#27315: En ook eventuele "sensorusers" meetellen!
SELECT NULL prs_perslid_key,
sd.ins_srtdeel_omschrijving naam,
'sensorobject' usertype,
ins_deel_omschrijving oslogin,
ins_deel_statedate last_login -- recent actief dus tellen als recent
FROM ins_v_aanwezigdeel d, ins_srtdeel sd
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key AND NVL(sd.ins_srtdeel_sensortype,0) <> 0) x
LEFT JOIN -- 1=user heeft schrijfrechten op key-codes=notFE-codes
(SELECT DISTINCT prs_perslid_key, 1 key_user
FROM (SELECT g.prs_perslid_key, 1 key_user
FROM fac_v_webgebruiker g, fac_functie f
WHERE g.fac_functie_key = f.fac_functie_key
AND f.fac_functie_groep IN (1, 2)
AND g.fac_gebruiker_prs_level_write < 9
AND g.fac_gebruiker_alg_level_write < 9
UNION
SELECT p.prs_perslid_key, 1 key_user
FROM fac_groep fg, fac_gebruikersgroep fgg, prs_perslid p
WHERE fac_groep_collega = 1
AND fg.fac_groep_key = fgg.fac_groep_key
AND p.prs_perslid_key = fgg.prs_perslid_key
AND p.prs_perslid_verwijder IS NULL
AND fg.fac_groep_key IN ( SELECT fac_groep_key
FROM fac_gebruikersgroep
GROUP BY fac_groep_key
HAVING COUNT (prs_perslid_key) > 9))) a
ON x.prs_perslid_key = a.prs_perslid_key
LEFT JOIN -- FSN#30404: 1=user is cross-domain (xd) user
(SELECT p.prs_perslid_key, 1 xd_user
FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
AND p.prs_perslid_apikey IS NOT NULL
AND ab.prs_bedrijf_key =
fac.safe_to_number (fac.getsetting ('xd_primary_bedrijfkey'))) b
ON x.prs_perslid_key = b.prs_perslid_key;
UNION ALL -- FSN#27315: En ook eventuele "sensorusers" meetellen!
SELECT NULL prs_perslid_key,
ins_deel_omschrijving oslogin,
ins_deel_statedate last_login -- recent actief dus tellen als recent
FROM ins_v_aanwezigdeel d
WHERE ins_deel_statedate > SYSDATE - 30) x -- old count (in tegenspraak met contracttekst)!
LEFT JOIN -- 1=user heeft schrijfrechten op key-codes=notFE-codes
(SELECT DISTINCT prs_perslid_key, 1 key_user
FROM (SELECT g.prs_perslid_key, 1 key_user
FROM fac_v_webgebruiker g, fac_functie f
WHERE g.fac_functie_key = f.fac_functie_key
AND f.fac_functie_groep IN (1, 2)
AND g.fac_gebruiker_prs_level_write < 9
AND g.fac_gebruiker_alg_level_write < 9
UNION
SELECT p.prs_perslid_key, 1 key_user
FROM fac_groep fg,
fac_gebruikersgroep fgg,
prs_perslid p
WHERE fac_groep_collega = 1
AND fg.fac_groep_key = fgg.fac_groep_key
AND p.prs_perslid_key = fgg.prs_perslid_key
AND p.prs_perslid_verwijder IS NULL
AND fg.fac_groep_key IN ( SELECT fac_groep_key
FROM fac_gebruikersgroep
GROUP BY fac_groep_key
HAVING COUNT (prs_perslid_key) > 9))) a
ON x.prs_perslid_key = a.prs_perslid_key
LEFT JOIN -- FSN#30404: 1=user is cross-domain (xd) user
(SELECT p.prs_perslid_key, 1 xd_user
FROM prs_v_aanwezigperslid p, prs_v_afdeling_boom ab
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
AND p.prs_perslid_apikey IS NOT NULL
AND ab.prs_bedrijf_key = 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,
all_users,
fe_users,
key_users,
devices,
passive_users,
xdkey_users,
recent_login
tijdstip,
licensed_fe,
licensed_key,
all_users,
fe_users,
key_users,
xdfe_users,
xdkey_users,
recent_login
)
BEQUEATH DEFINER
AS
SELECT tijdstip,
all_users,
fe_users,
key_users,
NVL (system_users, 0),
NVL (passive_users, 0),
xdkey_users,
recent_login
FROM (SELECT SYSDATE
tijdstip,
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
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;
SELECT SYSDATE,
fac.getsetting ('licensed_fe_users'),
fac.getsetting ('licensed_key_users'),
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;
CREATE_VIEW (fac_v_lcrap_grp_stats, 0)
(
@@ -1278,6 +1195,22 @@ AS
FROM fac_gebruikersgroep
WHERE prs_perslid_key = p.prs_perslid_key);
CREATE_VIEW(fac_v_lcrap_saldo, 1)
(
tijdstip,
fe_saldo,
key_saldo,
fe_diff_pct,
key_diff_pct
)
AS
SELECT TO_CHAR (SYSDATE, 'dd-mm-yyyy hh24:mi:ss') tijdstip,
fac.getsetting ('licensed_fe_users') - fe_users fe_saldo,
fac.getsetting ('licensed_key_users') - key_users key_saldo,
DECODE(fac.getsetting ('licensed_fe_users'),0,100,100*(fac.getsetting ('licensed_fe_users') - fe_users)/fac.getsetting ('licensed_fe_users')),
DECODE(fac.getsetting ('licensed_key_users'),0,100,100*(fac.getsetting ('licensed_key_users') - fe_users)/fac.getsetting ('licensed_key_users'))
FROM fac_v_lcrap_fe_vs_key;
CREATE_VIEW (fac_v_usage_statistics, 0)
AS
SELECT SYSDATE
@@ -1827,12 +1760,9 @@ AS
SELECT fac_usrtab_naam fclt_f_tabelnaam,
fac_usrdata_code waarde_code,
fac_usrdata_omschr waarde_oms,
fac_usrdata_omschr2 waarde_oms2,
fac_usrdata_volgnr volgnr,
fac_usrdata_prijs prijs,
fac_usrdata_vervaldatum vervaldatum,
(SELECT fac_usrtab_naam FROM fac_usrtab WHERE fac_usrtab_key = ut.fac_usrtab_parentkey) waardetabel,
(SELECT fac_usrdata_code FROM fac_usrdata WHERE fac_usrdata_key = ud.fac_usrdata_parentkey) waardetabel_code
fac_usrdata_vervaldatum vervaldatum
FROM fac_usrdata ud, fac_usrtab ut
WHERE fac_usrdata_verwijder IS NULL
AND ud.fac_usrtab_key = ut.fac_usrtab_key;
@@ -1869,7 +1799,6 @@ AS
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
kms.res_srtkenmerk_code srtkenmerk_code,
kms.res_srtkenmerk_omschrijving srtkenmerk_omschrijving,
kms.res_srtkenmerk_kenmerktype srtkenmerk_kenmerktype,
kms.res_srtkenmerk_systeem srtkenmerk_systeem,
@@ -1889,7 +1818,6 @@ AS
km.res_kenmerk_hint kenmerk_hint,
km.res_kenmerk_regexp kenmerk_regexp,
km.res_kenmerk_show_expr kenmerk_show_expr,
km.res_kenmerk_code kenmerk_code,
km.res_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR(km.res_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
sa.res_srtactiviteit_omschrijving fclt_f_activiteitsoort,
@@ -1915,7 +1843,6 @@ AS
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
bes_srtkenmerk_code srtkenmerk_code,
bes_srtkenmerk_omschrijving srtkenmerk_omschrijving,
bes_srtkenmerk_kenmerktype srtkenmerk_kenmerktype,
bes_srtkenmerk_systeem srtkenmerk_systeem,
@@ -1935,7 +1862,6 @@ AS
bes_kenmerk_hint kenmerk_hint,
bes_kenmerk_regexp kenmerk_regexp,
bes_kenmerk_show_expr kenmerk_show_expr,
bes_kenmerk_code kenmerk_code,
bes_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR (bes_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
ins_discipline_omschrijving fclt_f_catalogus,
@@ -2010,7 +1936,6 @@ AS
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
mld_srtkenmerk_code srtkenmerk_code,
mld_srtkenmerk_omschrijving srtkenmerk_omschrijving,
mld_srtkenmerk_kenmerktype srtkenmerk_kenmerktype,
mld_srtkenmerk_systeem srtkenmerk_systeem,
@@ -2030,7 +1955,6 @@ AS
mld_kenmerk_hint kenmerk_hint,
mld_kenmerk_regexp kenmerk_regexp,
mld_kenmerk_show_expr kenmerk_show_expr,
mld_kenmerk_code kenmerk_code,
mld_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR (mld_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
ins_srtdiscipline_omschrijving fclt_f_vakgroeptype,
@@ -2038,6 +1962,7 @@ AS
mld_stdmelding_omschrijving fclt_f_melding,
mld_typeopdr_omschrijving fclt_f_opdrachttype,
mld_kenmerk_verplicht_status kenmerk_verplicht_status,
mld_kenmerk_code kenmerk_code,
mld_kenmerk_onderbreken kenmerk_onderbreken,
mld_kenmerk_obligation_fill kenmerk_obligation
FROM (SELECT kmd.*,
@@ -2163,7 +2088,6 @@ AS
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
kms.cnt_srtkenmerk_code srtkenmerk_code,
kms.cnt_srtkenmerk_omschrijving srtkenmerk_omschrijving,
kms.cnt_srtkenmerk_kenmerktype srtkenmerk_kenmerktype,
kms.cnt_srtkenmerk_systeem srtkenmerk_systeem,
@@ -2183,7 +2107,6 @@ AS
km.cnt_kenmerk_hint kenmerk_hint,
km.cnt_kenmerk_regexp kenmerk_regexp,
km.cnt_kenmerk_show_expr kenmerk_show_expr,
km.cnt_kenmerk_code kenmerk_code,
km.cnt_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR (km.cnt_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
cd.ins_discipline_omschrijving fclt_f_contractsoort
@@ -2209,7 +2132,6 @@ AS
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
ins_srtkenmerk_code srtkenmerk_code,
ins_srtkenmerk_omschrijving srtkenmerk_omschrijving,
ins_srtkenmerk_kenmerktype srtkenmerk_kenmerktype,
ins_srtkenmerk_systeem srtkenmerk_systeem,
@@ -2229,7 +2151,6 @@ AS
ins_kenmerk_hint kenmerk_hint,
ins_kenmerk_regexp kenmerk_regexp,
ins_kenmerk_show_expr kenmerk_show_expr,
ins_kenmerk_code kenmerk_code,
ins_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR (ins_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
ins_discipline_omschrijving fclt_f_discipline,
@@ -2328,46 +2249,8 @@ AS
AND fut.fac_usrtab_key(+) = kmd.fac_usrtab_key
AND sc.ctr_discipline_key = cdp.ctr_ins_discipline_key);
CREATE_VIEW(fac_v_exp_flex_fin, 0)
AS
SELECT fac_kenmerkdomein_omschrijving,
fac_kenmerkdomein_objectnaam,
fac_kenmerkdomein_kolomnaam,
fac_kenmerkdomein_kolomtxt,
fac_usrtab_naam,
NULL srtkenmerk_code,
NULL srtkenmerk_omschrijving,
km.fin_kenmerk_kenmerktype srtkenmerk_kenmerktype,
km.fin_kenmerk_systeem srtkenmerk_systeem,
km.fin_kenmerk_lengte srtkenmerk_lengte,
km.fin_kenmerk_dec srtkenmerk_dec,
km.fin_kenmerk_nmin srtkenmerk_nmin,
km.fin_kenmerk_nmax srtkenmerk_nmax,
km.fin_kenmerk_dimensie srtkenmerk_dimensie,
km.fin_kenmerk_type kenmerk_type,
NULL kenmerk_niveau,
km.fin_kenmerk_verplicht kenmerk_verplicht,
km.fin_kenmerk_groep kenmerk_groep,
km.fin_kenmerk_volgnr kenmerk_volgnummer,
km.fin_kenmerk_default kenmerk_default,
km.fin_kenmerk_toonbaar kenmerk_toonbaar,
km.fin_kenmerk_uniek kenmerk_uniek,
km.fin_kenmerk_hint kenmerk_hint,
km.fin_kenmerk_regexp kenmerk_regexp,
km.fin_kenmerk_show_expr kenmerk_show_expr,
km.fin_kenmerk_code kenmerk_code,
km.fin_kenmerk_omschrijving kenmerk_omschr,
TO_CHAR (km.fin_kenmerk_verwijder, 'YYYY-MM-DD HH24:MI:SS') kenmerk_verwijder,
NULL factuur
FROM fin_kenmerk km,
fac_kenmerkdomein kmd,
fac_usrtab fut
WHERE km.fac_kenmerkdomein_key = kmd.fac_kenmerkdomein_key(+)
AND kmd.fac_usrtab_key = fut.fac_usrtab_key(+)
AND km.fin_kenmerk_verwijder IS NULL
AND kmd.fac_kenmerkdomein_verwijder IS NULL;
-- Rapporten worden niet standaard aangemaakt bij gebruikers
-- Rapporten worden niet standaard aangemaakt bij gebruikerrs
CREATE_VIEW(fac_v_rap_lcl_lang, 0) AS
SELECT nl.fac_locale_xsl_label fclt_f_label,
nl.fac_locale_xsl_module module,

View File

@@ -1,467 +0,0 @@
/* FAC_VIEEXP.SRC
* $Revision$
* $Id$
*
* Views die niet in de andere *_VIE.SRC kunnen omdat deze views gebruiken die dan nog niet gedefinieerd zijn.
*/
-- import: FIP: Aanvullen technische bedrijfsadressen
-- importsheet: Inventarisatie Externe bedrijven, tabblad Technische adressen
-- importtabel: fac_imp_bedrijfadres
CREATE OR REPLACE VIEW fac_v_exp_bedrijfadres
AS
SELECT b.prs_bedrijf_naam Bedrijfsnaam
, b.prs_leverancier_nr Leveranciernummer
, a.prs_bedrijfadres_type Kanaal
, a.mld_typeopdr_key Opdrachttype
, a.prs_bedrijfadres_url Adres
, a.prs_bedrijfadres_ordermode Ordermode
, a.prs_bedrijfadres_certificate Certificaat
, a.prs_bedrijfadres_xsl Xsltemplate
, a.prs_bedrijfadres_ext Extensie
, a.prs_bedrijfadres_attachfile Vastebijlage
, a.prs_bedrijfadres_username Login
, a.prs_bedrijfadres_password Wachtwoord
, a.prs_bedrijfadres_sender Afzender
, a.prs_bedrijfadres_lockuser_key Vastegebruiker
, a.prs_bedrijfadres_lockexpire Expiredays
FROM prs_bedrijfadres a
, prs_v_aanwezigbedrijf b
WHERE a.prs_bedrijf_key = b.prs_bedrijf_key
;
-- import: FIP: Aanvullen contactpersonen
-- importsheet: Inventarisatie Externe bedrijven, tabblad Contactpersonen
-- importtabel: fac_v_exp_contactpersoon
CREATE OR REPLACE VIEW fac_v_exp_contactpersoon
AS
SELECT b.prs_bedrijf_naam Bedrijfsnaam
, b.prs_leverancier_nr Leveranciernummer
, NULL Persoonmatchcode
, NULL Persoonmatchwaarde
, c.prs_contactpersoon_naam ContactPersoonAchternaam
, c.prs_contactpersoon_tussenv Tussenvoegsel
, c.prs_contactpersoon_voorletters Voorletters
, c.prs_contactpersoon_voornaam Voornaam
, c.prs_contactpersoon_aanhef Titel
, c.prs_contactpersoon_titel Aanhef
, c.prs_contactpersoon_telefoon_1 Telefoonnummer
, c.prs_contactpersoon_telefoon_2 Mobiel
, c.prs_contactpersoon_email Email
, c.prs_contactpersoon_functie Functie
, c.prs_contactpersoon_opmerking Opmerking
, l.alg_locatie_code Locatiecode
FROM prs_contactpersoon c
, prs_v_aanwezigbedrijf b
, prs_contactpersoon_locatie p
, alg_v_aanweziglocatie l
WHERE c.prs_bedrijf_key = b.prs_bedrijf_key(+)
AND c.prs_contactpersoon_key = p.prs_contactpersoon_key(+)
AND p.alg_locatie_key = l.alg_locatie_key(+)
;
-- import: FIP: Aanvullen externe bedrijven
-- importsheet: Inventarisatie Externe bedrijven, tabblad Externe Bedrijven
-- importtabel: fac_imp_ext_bedrijf
CREATE OR REPLACE VIEW fac_v_exp_ext_bedrijf
AS
SELECT b.prs_bedrijf_naam Bedrijfsnaam
, b.prs_leverancier_nr Leveranciernummer
, b.prs_bedrijf_bezoek_adres Bezoek_adres
, b.prs_bedrijf_bezoek_postcode Bezoek_postcode
, b.prs_bedrijf_bezoek_plaats Bezoek_plaats
, b.prs_bedrijf_bezoek_land Bezoek_land
, b.prs_bedrijf_post_adres Post_adres
, b.prs_bedrijf_post_postcode Post_postcode
, b.prs_bedrijf_post_plaats Post_plaats
, b.prs_bedrijf_post_land Post_land
, b.prs_bedrijf_telefoon Bedrijf_telefoon
, b.prs_bedrijf_fax Bedrijf_fax
, b.prs_bedrijf_email Bedrijf_email
, b.prs_bedrijf_contact_persoon Contact_persoon
, b.prs_bedrijf_contact_telefoon Contact_telefoon
, b.prs_bedrijf_contact_fax Contact_fax
, NULL Bedrijf_xsl
, NULL Bedrijf_orderadres
, CASE WHEN b.prs_bedrijf_leverancier = 1 THEN 'J' ELSE '' END Leverancier
, CASE WHEN b.prs_bedrijf_uitvoerende = 1 THEN 'J' ELSE '' END Uitvoerende
, CASE WHEN b.prs_bedrijf_contract = 1 THEN 'J' ELSE '' END Contractant
, CASE WHEN b.prs_bedrijf_huurder = 1 THEN 'J' ELSE '' END Huurder
, CASE WHEN b.prs_bedrijf_ingids = 1 THEN 'J' ELSE '' END Tooningids
, b.prs_bedrijf_uurloon Uurloon
, b.prs_overeenkomst_nr Overeenkomstnummer
, b.prs_overeenkomst_datum Overeenkomstdatum
, b.prs_bedrijf_opmerking Opmerking
, d.prs_dienst_omschrijving Dienst
, CASE WHEN l.alg_locatie_key IS NULL
THEN (SELECT MAX(v.alg_locatie_code) FROM alg_v_gebouw_gegevens v WHERE v.alg_gebouw_key = l.alg_gebouw_key)
ELSE (SELECT MAX(v.alg_locatie_code) FROM alg_v_gebouw_gegevens v WHERE v.alg_locatie_key = l.alg_locatie_key)
END Locatiecode
, (SELECT alg_gebouw_code
FROM alg_v_gebouw_gegevens
WHERE alg_gebouw_key = l.alg_gebouw_key
) Gebouwcode
, r.prs_relatietype_omschrijving Relatietype
, NULL Overig1 -- kenmerk1
, NULL Overig2 -- kenmerk2
, NULL Overig3 -- kenmerk3
FROM prs_bedrijf b
, prs_relatietype r
, prs_bedrijfdienstlocatie l
, prs_dienst d
WHERE b.prs_relatietype_key = r.prs_relatietype_key(+)
AND b.prs_bedrijf_key = l.prs_bedrijf_key(+)
AND l.prs_dienst_key = d.prs_dienst_key
;
-- import: FIP: 9-Aanvullen van inspectiedefinities
-- importsheet: Inventarisatie Inspecties
-- importtabel: fac_imp_inspectie
CREATE OR REPLACE VIEW fac_v_exp_inspectie
AS
SELECT d.ins_discipline_omschrijving Disciplineomschrijving
, g.ins_srtgroep_omschrijving Groepsoortomschrijving
, s.ins_srtdeel_code Objectsoortcode
, c.ins_srtcontrole_omschrijving Controle_omschrijving
, c.ins_srtcontrole_info Controle_informatie
, c.ins_srtcontrole_periode Controle_periode
, c.ins_srtcontrole_eenheid Eenheid
, c.ins_srtcontrole_mode Controle_mode
, c.ins_srtcontrole_bits Bits
FROM ins_srtcontrole c
, ins_srtdeel s
, ins_srtgroep g
, ins_discipline d
WHERE c.ins_srtinstallatie_key = s.ins_srtdeel_key
AND s.ins_srtgroep_key = g.ins_srtgroep_key
AND g.ins_discipline_key = d.ins_discipline_key
;
-- import: FIP: 6-Aanvullen objecten
-- importsheet: Inventarisatie Objecten-56894
-- importtabel: fac_imp_ins
CREATE OR REPLACE VIEW fac_v_exp_ins
AS
SELECT DISTINCT d.ins_discipline_omschrijving Disciplineomschrijving
, k.prs_kostensoort_oms Disciplinekostensoort
, d.ins_srtgroep_omschrijving Groepsoortomschrijving
, sd.ins_srtdeel_code Objectsoortcode
, sd.ins_srtdeel_omschrijving Objectsoortomschrijving
, id.ins_deel_omschrijving Objectidentificatie
, id.ins_deel_opmerking Objectopmerking
, sd.ins_srtdeel_uitleenbaar Reserveerbaar
, sd.ins_srtdeel_eenheid Eenheid
, sd.ins_srtdeel_prijs Prijs
, l.alg_locatie_code Locatiecode
, d.alg_gebouw_code Gebouwcode
, d.alg_verdieping_code Bouwlaagvolgnummer
, d.alg_ruimte_nr Ruimtenummer
, DECODE(rd.res_deel_alg_level, -1,'', 0,'E', 1,'D', 2,'L', 3,'G', 4,'V', 5,'R') Reserveringscope
, DECODE(r.ins_discipline_min_level, 1,'O', 2,'V', 3,'R', 4,'P', 5,'W', '') Catalogustype
, r.ins_discipline_omschrijving Catalogusnaam
, c.prs_kostensoort_oms Cataloguskostensoort
, NULL Persoonmatchcode
, NULL Persoonmatchwaarde
, id.ins_deel_aanmaak Ingangsdatum
, id.ins_deel_vervaldatum Vervaldatum
, id.ins_deel_aantal Aantal
, id.ins_deel_externnr Externnr
, NULL Kenmerk1
, NULL Kenmerk2
, NULL Kenmerk3
, NULL Kenmerk4
, NULL Kenmerk5
, NULL Kenmerk6
, NULL Kenmerk7
, NULL Kenmerk8
, NULL Kenmerk9
, NULL Kenmerk10
, NULL Kenmerk11
, NULL Kenmerk12
, NULL Kenmerk13
, NULL Kenmerk14
, NULL Kenmerk15
, NULL Kenmerk16
, NULL Kenmerk17
, NULL Kenmerk18
, NULL Kenmerk19
, NULL Kenmerk20
FROM ins_v_deel_gegevens d
, ins_discipline i
, ins_srtdeel sd
, alg_locatie l
, alg_gebouw g
, ins_deel id
, prs_kostensoort k
, prs_kostensoort c
, res_deel rd
, res_discipline r
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
AND d.alg_locatie_key = l.alg_locatie_key
AND d.alg_gebouw_key = g.alg_gebouw_key
AND d.ins_deel_key = id.ins_deel_key
AND d.ins_discipline_key = i.ins_discipline_key
AND id.ins_deel_key = rd.res_ins_deel_key(+)
AND rd.res_discipline_key = r.ins_discipline_key(+)
AND i.prs_kostensoort_key = k.prs_kostensoort_key(+)
AND r.prs_kostensoort_key = c.prs_kostensoort_key(+)
AND id.ins_deel_verwijder IS NULL
;
-- import: FIP: 5-Aanvullen servicedesk
-- importsheet: Inventarisatie Meldingen
-- importtabel: fac_imp_mld
CREATE OR REPLACE VIEW fac_v_exp_mld
AS
SELECT s.ins_srtdiscipline_omschrijving Vakgroeptype
, s.ins_srtdiscipline_prefix Prefix
, s.ins_srtdiscipline_alg Plaatsgegevens
, s.ins_srtdiscipline_ins Objectgegevens
, s.ins_srtdiscipline_bes Bestelgegevens
, i.ins_discipline_omschrijving Vakgroep
, m.mld_stdmelding_omschrijving Standaardmelding
, g.mld_stdmeldinggroep_naam Groep
, k.prs_kostensoort_oms Kostensoort
, REPLACE(CASE WHEN m.mld_stdmelding_t_accepttijd.eenheid = 'U'
THEN m.mld_stdmelding_t_accepttijd.tijdsduur / 24
ELSE m.mld_stdmelding_t_accepttijd.tijdsduur
END, ',', '.') Acceptatietijd
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvoertijd.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvoertijd.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvoertijd.tijdsduur
END, ',', '.') Uitvoertijd
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr1.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr1.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr1.tijdsduur
END, ',', '.') Uitvoertijd_kritiek
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr2.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr2.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr2.tijdsduur
END, ',', '.') Uitvoertijd_hoog
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr4.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr4.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr4.tijdsduur
END, ',', '.') Uitvoertijd_laag
, p.mld_disc_params_directklaar Directklaar
, d.prs_dienst_omschrijving Dienst
, m.mld_stdmelding_notfrontend Not_frontend
, m.alg_onrgoed_niveau alg_niveau
, t.mld_typeopdr_omschrijving Opdrachttype
, m.mld_stdmelding_hint Hint
, m.mld_stdmelding_kopieerbaar Kopieerbaar
, m.mld_stdmelding_afmeldtext Tekst_bij_afmelden
, DECODE(m.mld_stdmelding_doublecheck, 0, 'N', 1, 'I', 2, 'A', 3, 'B', 'N') Dubbele_meldingen
, m.mld_stdmelding_slabewaken Sla_bewaken
, i.ins_discipline_image Disc_image
, m.mld_stdmelding_image Stdm_image
, m.mld_stdmelding_externnr Externnr
FROM mld_stdmelding m
, mld_typeopdr t
, mld_stdmeldinggroep g
, prs_kostensoort k
, prs_dienst d
, mld_discipline i
, mld_disc_params p
, ins_srtdiscipline s
WHERE m.mld_ins_discipline_key = i.ins_discipline_key
AND m.mld_ins_discipline_key = p.mld_ins_discipline_key
AND i.ins_srtdiscipline_key = s.ins_srtdiscipline_key
AND m.mld_typeopdr_key = t.mld_typeopdr_key(+)
AND m.mld_stdmeldinggroep_key = g.mld_stdmeldinggroep_key(+)
AND m.prs_kostensoort_key = k.prs_kostensoort_key(+)
AND m.prs_dienst_key = d.prs_dienst_key(+)
;
-- import: FIP: 1-Aanvullen districten t/m gebouwen
-- importsheet: Inventarisatie Vastgoed, tabblad Locaties
-- importtabel: fac_imp_onrgoed1
CREATE OR REPLACE VIEW fac_v_exp_onrgoed1
AS
SELECT r.alg_regio_omschrijving Regio,
d.alg_district_omschrijving District,
l.alg_locatie_code Locatiecode,
l.alg_locatie_omschrijving Locatieomschrijving,
g.alg_gebouw_code Gebouwcode,
g.alg_gebouw_omschrijving Gebouwomschrijving,
sg.alg_srtgebouw_omschrijving Gebouwfunctie,
l.alg_locatie_verantw Contactpersoon,
l.alg_locatie_verantw_tel Telefoonnummer,
l.alg_locatie_adres Bezoekadres,
l.alg_locatie_postcode Postcode,
l.alg_locatie_plaats Plaats,
l.alg_locatie_land Locatieland,
l.alg_locatie_post_adres Postadres,
l.alg_locatie_post_postcode postPostcode,
l.alg_locatie_post_plaats postPlaats,
l.alg_locatie_post_land Land,
NULL kenmerk1,
NULL kenmerk2,
NULL kenmerk3,
NULL kenmerk4,
NULL kenmerk5,
NULL kenmerk6,
NULL kenmerk7,
NULL kenmerk8,
NULL kenmerk9,
NULL kenmerk10
FROM alg_gebouw g,
alg_srtgebouw sg,
alg_locatie l,
alg_district d,
alg_regio r
WHERE g.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
AND d.alg_regio_key = r.alg_regio_key
AND g.alg_srtgebouw_key = sg.alg_srtgebouw_key
AND g.alg_gebouw_verwijder IS NULL
AND l.alg_locatie_verwijder IS NULL
AND ( l.alg_locatie_vervaldatum IS NULL
OR l.alg_locatie_vervaldatum > TRUNC (SYSDATE))
AND ( g.alg_gebouw_vervaldatum IS NULL
OR TRUNC (g.alg_gebouw_vervaldatum) > TRUNC (SYSDATE))
;
-- import: FIP: 2-Aanvullen bouwlagen en ruimten
-- importsheet: Inventarisatie Vastgoed, tabblad Ruimten
-- importtabel: fac_imp_onrgoed2
CREATE OR REPLACE VIEW fac_v_exp_onrgoed2
AS
SELECT l.alg_locatie_code Locatiecode
, g.alg_gebouw_code Gebouwcode
, v.alg_verdieping_volgnr Bouwlaagvolgnummer
, s.alg_srtruimte_omschrijving Ruimtefunctie
, r.alg_ruimte_nr Ruimtenummer
, r.alg_ruimte_omschrijving Ruimteomschrijving
, r.alg_ruimte_bruto_vloeropp Vloeroppervlak
, pa.prs_afdeling_naam Afdelingscode
, ra.prs_ruimteafdeling_bezetting Bezetting
, s.prs_verhuurbaar ReserveerbareRuimte
, rd.ins_discipline_omschrijving Categorie
, rp.res_disc_params_expire_dagen Expiredagen
, rr.res_ruimte_prijs Prijs
, ro.res_opstelling_omschrijving Opstelling
, rro.res_ruimte_opstel_bezoekers AantalBezoekers
, rr.res_ruimte_nr Naam
, rr.res_ruimte_omschrijving Omschrijving
, NULL Kenmerk1
, NULL Kenmerk2
, NULL Kenmerk3
, NULL Kenmerk4
, NULL Kenmerk5
FROM alg_locatie l
, alg_gebouw g
, alg_verdieping v
, alg_ruimte r
, alg_srtruimte s
, prs_ruimteafdeling ra
, prs_afdeling pa
, res_alg_ruimte rar
, res_ruimte rr
, res_discipline rd
, res_disc_params rp
, res_ruimte_opstelling rro
, res_opstelling ro
WHERE l.alg_locatie_key = g.alg_locatie_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_srtruimte_key = s.alg_srtruimte_key
AND r.alg_ruimte_key = ra.alg_ruimte_key(+)
AND ra.prs_afdeling_key = pa.prs_afdeling_key(+)
AND r.alg_ruimte_key = rar.alg_ruimte_key(+)
AND rar.res_ruimte_key = rr.res_ruimte_key(+)
AND rr.res_discipline_key = rd.ins_discipline_key(+)
AND rd.ins_discipline_key = rp.res_ins_discipline_key(+)
AND rr.res_ruimte_key = rro.res_ruimte_key(+)
AND rro.res_opstelling_key = ro.res_opstelling_key(+)
;
-- import: FIP: 3-Aanvullen organisatiestructuur
-- importsheet: Inventarisatie Organisatiestructuur
-- importtabel: fac_imp_organisatie
CREATE OR REPLACE VIEW fac_v_exp_organisatie
AS -- import: FIP: 3-Aanvullen organisatiestructuur
-- importsheet: ?
SELECT b.prs_bedrijf_naam Bedrijfsnaam
, ap.prs_afdeling_naam Afdelingscodeparent
, a.prs_afdeling_naam Afdelingscode
, a.prs_afdeling_omschrijving Afdelingsomschrijving
, k.prs_kostenplaats_nr Kostenplaats
, a.prs_afdeling_externid Externid
FROM prs_afdeling a
, prs_afdeling ap
, prs_kostenplaats k
, prs_bedrijf b
WHERE a.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
AND a.prs_bedrijf_key = b.prs_bedrijf_key(+)
AND a.prs_afdeling_parentkey = ap.prs_afdeling_key(+)
;
-- import: FIP: 4-Aanvullen personen
-- importsheet: Inventarisatie Personen, tabblad Personen
-- importtabel: fac_imp_perslid
CREATE OR REPLACE VIEW fac_v_exp_perslid
AS
SELECT l.alg_locatie_code Locatiecode
, o.alg_gebouw_code Gebouwcode
, o.alg_verdieping_code Bouwlaagvolgnummer
, o.alg_ruimte_nr Ruimtenummer
, w.prs_werkplek_volgnr Werkplekvolgnummer
, w.prs_werkplek_omschrijving Omschrijving
, a.prs_afdeling_naam Afdelingscode
, p.prs_perslid_naam PersoonAchternaam
, p.prs_perslid_tussenvoegsel Tussenvoegsel
, p.prs_perslid_voorletters Voorletters
, p.prs_perslid_voornaam Voornaam
, p.prs_perslid_titel TitelAanhef
, p.prs_perslid_telefoonnr Telefoonnummer
, p.prs_perslid_mobiel Mobiel
, p.prs_perslid_email Email
, s.prs_srtperslid_omschrijving Functie
, p.prs_perslid_nr Personeelsnummer
, p.prs_perslid_oslogin Loginnaam
, p.prs_perslid_wachtwoord_hash Password
, null NVT1
, null NVT2
, null NVT3
, null NVT4
, null NVT5
, null NVT6
, null NVT7
, null Kenmerk1
, null Kenmerk2
, null Kenmerk3
, null Kenmerk4
, null Kenmerk5
, null Kenmerk6
, null Kenmerk7
, null Kenmerk8
, null Kenmerk9
, null Kenmerk10
, null Kenmerk11
, null Kenmerk12
, null Kenmerk13
, null Kenmerk14
, null Kenmerk15
, null Kenmerk16
, null Kenmerk17
, null Kenmerk18
, null Kenmerk19
, null Kenmerk20
FROM prs_perslid p
, prs_srtperslid s
, prs_afdeling a
, alg_v_onroerendgoed_gegevens o
, alg_locatie l
, prs_perslidwerkplek b
, prs_werkplek w
WHERE p.prs_srtperslid_key = s.prs_srtperslid_key(+)
AND p.prs_afdeling_key = a.prs_afdeling_key(+)
AND p.alg_onroerendgoed_keys = o.alg_onroerendgoed_keys(+)
AND p.alg_onroerendgoed_type = o.alg_type(+)
AND o.alg_locatie_key = l.alg_locatie_key(+)
AND p.prs_perslid_key = b.prs_perslid_key(+)
AND b.prs_werkplek_key = w.prs_werkplek_key(+)
;
REGISTERRUN('$Id$')

View File

@@ -60,9 +60,9 @@ PROJEXE=z:\Project\FACILITOR\BUILD
##
## New style using schemanumbers
##
CURRENTVERSION=46
NEXTVERSION=47
FILEVERSION=
CURRENTVERSION=43
NEXTVERSION=44
FILEVERSION=e
NEXTCAREVERSION=37
NEXTROOT=DB$(NEXTVERSION)$(FILEVERSION)
CURRENTUPDATE=DB$(CURRENTVERSION)to$(NEXTVERSION)
@@ -129,7 +129,6 @@ $(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).SQL: \
$(MSRC)\aut\aut_seq.src \
$(MSRC)\aut\aut_tab.src \
$(MSRC)\aut\aut_tri.src \
$(MSRC)\aut\aut_ini.src \
$(MSRC)\bes\bes_ind.src \
$(MSRC)\bes\bes_ini.src \
$(MSRC)\bes\bes_pac.src \
@@ -183,7 +182,6 @@ $(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).SQL: \
$(MSRC)\exc\exc_tab.src \
$(MSRC)\exc\exc_seq.src \
$(MSRC)\exc\exc_pac.src \
$(MSRC)\exc\exc_ini.src \
$(MSRC)\fac\fac_ind.src \
$(MSRC)\fac\fac_ini.src \
$(MSRC)\fac\fac_lcl.src \
@@ -196,7 +194,6 @@ $(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).SQL: \
$(MSRC)\fac\fac_pacf.src \
$(MSRC)\fac\fac_pacl.src \
$(MSRC)\fac\fac_pacflex.src \
$(MSRC)\fac\fac_pacdel.src \
$(MSRC)\fac\fac_seq.src \
$(MSRC)\fac\fac_tab.src \
$(MSRC)\fac\fac_tri.src \
@@ -310,8 +307,6 @@ $(EXE)\$(NEXTROOT)\RECRE$(NEXTVERSION)$(FILEVERSION).SQL: \
$(MAK)\fclt.nmk \
$(MSRC)\fclt.src \
$(MSRC)\comsql.h \
$(MSRC)\fac\fac_lcl.src \
$(MSRC)\fac\fac_lclhints.src \
$(EXE)\$(NEXTROOT)\FCLT$(NEXTVERSION)$(FILEVERSION).sql
@IF NOT EXIST $(EXE)\$(NEXTROOT)\NUL mkdir $(EXE)\$(NEXTROOT)
$(PRECOMP) $(PRECOMP_OPTIONS) $(SRCRECREA).src>$(TEMP)\$(*B)_.sql

View File

@@ -22,7 +22,6 @@ spool &fcltlogfile
WHENEVER SQLERROR EXIT;
DECLARE
tekst VARCHAR2 (1000);
n_object NUMBER (10);
BEGIN
CASE ASCII('<27>')
WHEN 191 THEN tekst :='WE8ISO8859P1';
@@ -31,25 +30,14 @@ BEGIN
END CASE;
IF tekst <> 'WE8MSWIN1252' THEN
tekst := '=================================================================' || CHR(10)
|| 'Foute clientside NLS_LANG ['|| TO_CHAR(ASCII('<27>')) ||'] voor dit Facilitor script.' || CHR(10)
|| 'Foute clientside NLS_LANG ['|| TO_CHAR(ASCII('<27>')) ||'] voor deze Facilitor upgrade.' || CHR(10)
|| 'WE8MSWIN1252 is nodig, ik vermoed '|| tekst || CHR(10)
|| 'Geef bijvoorbeeld in Windows voordat SQL*Plus opstart:' || CHR(10)
|| 'SET NLS_LANG=.WE8MSWIN1252' || CHR(10)
|| 'Het script wordt nu afgebroken!' || CHR(10)
|| 'Het upgrade script wordt nu afgebroken!' || CHR(10)
|| '=================================================================' || CHR(10);
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';
IF (n_object > 0)
THEN
RAISE_APPLICATION_ERROR (-20000, 'OR' || 'A-' || 'Schema ' || USER || ' must be empty before creating database');
END IF;
IF USER = 'SYS' OR USER = 'SYSTEM' THEN
RAISE_APPLICATION_ERROR(-20000, 'Cannot create Facilitor database on user ' || USER);
END IF;
@@ -59,10 +47,10 @@ WHENEVER SQLERROR CONTINUE;
PROMPT [&fcltlogfile]
PROMPT
PROMPT Copyright 1996-2024 Aareon Nederland B.V. All rights reserved.
PROMPT Copyright 1996-2023 Aareon Nederland B.V. All rights reserved.
PROMPT
PROMPT This is the generated list-file of EVALCONCAT(FCLT,_DBV).sql which was used
PROMPT to create the Facilitor(r) EVALCONCAT(DB,_DBV) schema in Oracle
PROMPT to create the FACILITOR(r) EVALCONCAT(DB,_DBV) schema in Oracle
PROMPT
SELECT 'Current os_user: ' || SYS_CONTEXT( 'userenv', 'os_user' ) FROM DUAL;
PROMPT
@@ -167,7 +155,6 @@ SET ECHO ON
#include "msg\msg_ini.src"
#include "kpi\kpi_ini.src"
#include "ctr\ctr_ini.src"
#include "aut\aut_ini.src"
#include "exc\exc_ini.src"
COMMIT;
@@ -200,5 +187,5 @@ SELECT 'Schema FACILITOR@' || USER || ' is now ' || fac.getdbversion() FROM DUAL
PROMPT
PROMPT Your schema initialisation is ready. Please check the logfile for errors.
PROMPT If in doubt please contact: FACILITOR Helpdesk +31 53 4800 710
PROMPT Copyright (c) 1996-2024 Aareon Nederland B.V. All rights reserved.
PROMPT Copyright (c) 1996-2023 Aareon Nederland B.V. All rights reserved.
SPOOL OFF

View File

@@ -8,13 +8,10 @@ CREATE INDEX fin_i_fin_factuur1 ON fin_factuur(mld_opdr_key);
CREATE INDEX fin_i_fin_factuur2 ON fin_factuur(cnt_contract_key);
CREATE INDEX fin_i_fin_factuur3 ON fin_factuur(bes_bestelopdr_key);
CREATE INDEX fin_i_fin_factuur4 ON fin_factuur(fin_factuur_statuses_key, fin_factuur_verwijder);
CREATE INDEX fin_i_fin_factuur5 ON fin_factuur(prs_perslid_key_user);
CREATE INDEX fin_i_fin_factuur6 ON fin_factuur(prs_perslid_key_goedkeur);
CREATE INDEX fin_i_fin_factuurregel1 ON fin_factuurregel(fin_factuur_key);
CREATE INDEX fin_i_fin_factuurnote1 ON fin_factuur_note(fin_factuur_key);
CREATE INDEX fin_i_fin_verkoopfactuur1 ON fin_verkoopfactuur(fin_verkoopfactuur_refkey, fin_verkoopfactuur_xmlnode);
CREATE INDEX fin_i_fin_verkoopfactuur2 ON fin_verkoopfactuur(fin_verkoopfactuur_id);
CREATE INDEX fin_i_fin_kenmerk1 ON fin_kenmerk(fin_kenmerk_code);
REGISTERONCE('$Id$')

View File

@@ -119,8 +119,6 @@ CREATE_TABLE(fin_factuur,0)
CONSTRAINT fin_r_fin_factuur7 REFERENCES prs_kostensoort(prs_kostensoort_key)
, fin_factuur_opmerking
VARCHAR2(250)
, fin_factuur_opmerking_afw
VARCHAR2(4000)
, fin_factuur_statuses_key
NUMBER(10)
CONSTRAINT fin_c_fin_status1 CHECK(fin_factuur_statuses_key IN (1,2,3,5,6,7))
@@ -194,8 +192,6 @@ CREATE_TABLE(fin_kenmerk,0)
VARCHAR2(50)
,fin_kenmerk_upper
VARCHAR2(50)
,fin_kenmerk_code
VARCHAR2(60)
,fin_kenmerk_type -- Factuur of factuurRegel
VARCHAR2(1)
CONSTRAINT fin_c_fin_kenmerk_type CHECK (fin_kenmerk_type is not null and (fin_kenmerk_type IN( 'F', 'R')))

View File

@@ -296,9 +296,7 @@ BEFORE INSERT OR UPDATE ON fin_kenmerk
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fin_kenmerk_key, fin_s_fin_kenmerk_key);
UPDATE_UPPER(fin_kenmerk_omschrijving, fin_kenmerk_upper, fin_kenmerk);
UPDATE_UPPER(fin_kenmerk_code, fin_kenmerk_code, fin_kenmerk);
UPDATE_UPPER(fin_kenmerk_omschrijving, fin_kenmerk_upper,fin_kenmerk);
IF (:new.fin_kenmerk_verwijder IS NOT NULL AND :old.fin_kenmerk_verwijder IS NULL AND
:new.fin_kenmerk_systeem = 1)
THEN

View File

@@ -24,15 +24,11 @@ create index ins_i_ins_deel4 on ins_deel(ins_discipline_key);
create index ins_i_ins_deel5 on ins_deel(ins_alg_locatie_key);
create index ins_i_ins_deel6 on ins_deel(ins_alg_locatie_key, ins_srtdeel_key, ins_deel_upper);
CREATE INDEX ins_i_ins_deel7 ON ins_deel(ins_deel_parent_key);
CREATE INDEX ins_i_ins_deel8 ON ins_deel(prs_perslid_key_beh);
CREATE INDEX ins_i_ins_deel9 ON ins_deel(res_rsv_deel_key);
create index ins_i_ins_deel_note1 on ins_deel_note(ins_deel_key);
/* Indices voor INS_KENMERK-zaken */
CREATE INDEX ins_i_ins_srtkenmerk1 ON ins_kenmerk(ins_srtkenmerk_key);
CREATE INDEX ins_i_ins_srtkenmerk2 ON ins_srtkenmerk(ins_srtkenmerk_code);
CREATE INDEX ins_i_ins_kenmerk1 ON ins_kenmerk(ins_kenmerk_code);
CREATE INDEX ins_i_ins_srtinstallatie1 ON ins_kenmerk(ins_srtinstallatie_key);
CREATE INDEX ins_i_ins_kenmerk_deel1 ON ins_kenmerkdeel(ins_deel_key);
CREATE INDEX ins_i_ins_kenmerk_kenmerk1 ON ins_kenmerkdeel(ins_kenmerk_key);
@@ -48,9 +44,6 @@ CREATE UNIQUE INDEX ins_i_ins_deel_state_hist1 ON ins_deel_state_history(ins_dee
CREATE INDEX ins_i_ins_deelsrtcontrole1 ON ins_deelsrtcontrole(ins_deelsrtcontrole_status, ins_deel_key);
CREATE INDEX ins_i_ins_deel_uitgifte1 ON ins_deel_uitgifte(prs_perslid_key);
CREATE INDEX ins_i_ins_deel_uitgifte2 ON ins_deel_uitgifte(prs_contactpersoon_key);
REGISTERONCE('$Id$')
#endif // INS

View File

@@ -28,7 +28,6 @@ INSERT INTO fac_usrrap
DEF_STATUS('controle', 0, 'lcl_ins_controle_pending');
DEF_STATUS('controle', 2, 'lcl_ins_controle_gestart');
DEF_STATUS('controle', 3, 'lcl_ins_controle_ter_uitvoer');
DEF_STATUS('controle', 5, 'lcl_ins_controle_afgemeld');
DEF_STATUS('controle', 6, 'lcl_ins_controle_verwerkt');

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)
@@ -255,7 +184,7 @@ CREATE OR REPLACE PACKAGE BODY ins AS
SELECT ins_deel_omschrijving, ins_deel_opmerking, ins_srtdeel_omschrijving
INTO lins_deel_omschrijving, lins_deel_opmerking, lins_srtdeel_omschrijving
FROM ins_deel id, ins_srtdeel isd
WHERE id.ins_srtdeel_key = isd.ins_srtdeel_key
WHERE id.ins_srtdeel_key = isd.ins_srtdeel_key
AND ins_deel_key = pins_deel_key;
s := REPLACE (REPLACE (REPLACE (REPLACE (s, '##DESC##', lins_deel_omschrijving), '##KEY##', TO_CHAR (pins_deel_key)), '##REMARK##', lins_deel_opmerking), '##TYPE##', lins_srtdeel_omschrijving) ;
END IF;
@@ -393,23 +322,19 @@ CREATE OR REPLACE PACKAGE BODY ins AS
INTO currentstatus
FROM ins_deelsrtcontrole
WHERE ins_deelsrtcontrole_key = pdlsrtcontrkey;
CASE
WHEN pstatus = 0 -- Gepland
CASE pstatus
WHEN 0 -- Gepland
THEN
newstatus := pstatus;
WHEN pstatus = 2 -- In behandeling
WHEN 2 -- In behandeling
THEN
newstatus := pstatus;
eventcode := 'INSCBE';
WHEN pstatus = 3 AND currentstatus = 2 -- Ter uitvoering
THEN
newstatus := pstatus;
eventcode := 'INSCTU';
WHEN pstatus = 5 -- Afgemeld
WHEN 5 -- Afgemeld
THEN
newstatus := pstatus;
eventcode := 'INSCAF';
WHEN pstatus = 6 -- Verwerkt
WHEN 6 -- Verwerkt
THEN
newstatus := pstatus;
eventcode := 'INSCVE';
@@ -429,194 +354,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

@@ -32,9 +32,12 @@ CREATE SEQUENCE ins_s_srtcontroledl_xcp_key MINVALUE 1;
CREATE SEQUENCE ins_s_ins_kmdeelsrtcontr_key MINVALUE 1;
CREATE SEQUENCE ins_s_ins_srtdeel_srtdeel_key MINVALUE 1;
CREATE SEQUENCE ins_s_ins_disc_params_key START WITH 1 NOCACHE;
CREATE SEQUENCE ins_s_ins_deel_note_key MINVALUE 1;
CREATE SEQUENCE ins_s_ins_deel_uitgifte_key MINVALUE 1;
REGISTERONCE('$Id$')

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')
);
@@ -563,9 +556,6 @@ CREATE_TABLE(ins_srtcontrole, 0)
CONSTRAINT ins_c_srtcontrole_percentage CHECK(ins_srtcontrole_percentage BETWEEN 0 AND 100),
ins_srtcontrole_opmerking
VARCHAR2(320),
ins_srtcontrole_opmerking_text
NUMBER(1)
DEFAULT(0) NOT NULL,
ins_srtcontrole_eind // hier eindigt deze
DATE,
ins_srtcontrole_options /* bitwise: 1=(kan)inplannen, 2=(kan)starten, 4=(kan)afmelden, 8=(kan)voltooien */
@@ -701,8 +691,7 @@ CREATE_TABLE(ins_deelsrtcontrole, 0)
NOT NULL REFERENCES ins_deel ON DELETE CASCADE,
ins_srtcontrole_key
NUMBER(10)
NOT NULL
CONSTRAINT ins_r_ins_srtcontrole_key1 REFERENCES ins_srtcontrole(ins_srtcontrole_key),
NOT NULL REFERENCES ins_srtcontrole ON DELETE CASCADE,
ins_deelsrtcontrole_datum
DATE,
ins_deelsrtcontrole_datum_org
@@ -768,8 +757,6 @@ CREATE_TABLE(ins_srtkenmerk, 0)
ins_srtkenmerk_upper
VARCHAR2(50)
NOT_NULL(ins_srtkenmerk_upper, ins_c_ins_srtkenmerk_upper),
ins_srtkenmerk_code
VARCHAR2(60),
ins_srtkenmerk_dimensie
VARCHAR2(10),
ins_srtkenmerk_kenmerktype
@@ -824,8 +811,6 @@ CREATE_TABLE(ins_kenmerk, 0)
CONSTRAINT ins_c_ins_kenmerk_bewerk CHECK(ins_kenmerk_bewerkniveau IN ('D', 'S')),
ins_kenmerk_omschrijving
VARCHAR2(50), /* optionele overrule van srtkenmerk_omschrijving */
ins_kenmerk_code
VARCHAR2(60),
ins_kenmerk_verplicht
NUMBER(1),
ins_kenmerk_groep
@@ -1055,37 +1040,12 @@ CREATE_TABLE(ins_deel_note,0)
// Note: this column is defined in PRS_TAB.SRC
// prs_perslid_key
// NUMBER(10)
// REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL,
// REFERENCES prs_perslid (prs_perslid_key)
// ON DELETE SET NULL,
ins_deel_note_omschrijving
VARCHAR2(4000)
);
CREATE_TABLE(ins_deel_uitgifte, 0)
(
ins_deel_uitgifte_key
NUMBER(10)
PRIMARY KEY,
ins_deel_key
NUMBER (10)
NOT NULL
CONSTRAINT ins_r_ins_deel_key4 REFERENCES ins_deel(ins_deel_key) ON DELETE CASCADE,
ins_deel_uitgifte_begin
DATE,
ins_deel_uitgifte_eind_plan
DATE,
ins_deel_uitgifte_ingeleverd
DATE,
// Note: this column is defined in PRS_TAB.SRC
// prs_perslid_key
// NUMBER (10)
// CONSTRAINT ins_r_prs_perslid_key1 REFERENCES prs_perslid (prs_perslid_key) ON DELETE CASCADE,
// Note: this column is defined in PRS_TAB.SRC
// prs_contactpersoon_key
// NUMBER (10)
// CONSTRAINT ins_r_prs_contactpersoon_key REFERENCES prs_contactpersoon(prs_contactpersoon_key) ON DELETE CASCADE,
CONSTRAINT ins_u_ins_deel_ingeleverd UNIQUE (ins_deel_key, ins_deel_uitgifte_ingeleverd) -- Er mag geen dubbele uitgifte (ins_deel_ingeleverd IS NULL) zijn.
);
REGISTERONCE('$Id$')
#endif // INS

View File

@@ -337,261 +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 OR REPLACE TRIGGER ins_t_ins_deel_A_U
CREATE_TRIGGER(ins_t_ins_deel_A_U)
AFTER UPDATE ON ins_deel
FOR EACH ROW
DECLARE
lmelder_oslogin CONSTANT VARCHAR2 (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;
-- Uitlenen object: Uitgifte object toevoegen aan de uitgifte tabel.
IF (:old.ins_alg_ruimte_key_org IS NULL AND :new.ins_alg_ruimte_key_org IS NOT NULL)
AND (:old.ins_alg_ruimte_type_org IS NULL AND :new.ins_alg_ruimte_type_org IS NOT NULL)
AND (:new.ins_alg_ruimte_type = 'C' OR :new.ins_alg_ruimte_type = 'P')
THEN
BEGIN
INSERT INTO ins_deel_uitgifte (ins_deel_key
, ins_deel_uitgifte_begin
, ins_deel_uitgifte_eind_plan
, prs_perslid_key
, prs_contactpersoon_key)
VALUES (:new.ins_deel_key
, SYSDATE
, CASE
WHEN :new.res_rsv_deel_key IS NOT NULL
THEN (SELECT rrd.res_rsv_deel_tot
FROM res_rsv_deel rrd
WHERE res_rsv_deel_key = :new.res_rsv_deel_key)
ELSE NULL
END
, CASE
WHEN :new.ins_alg_ruimte_type = 'P'
THEN :new.ins_alg_ruimte_key
ELSE NULL
END
, CASE
WHEN :new.ins_alg_ruimte_type = 'C'
THEN :new.ins_alg_ruimte_key
ELSE NULL
END);
END;
END IF;
-- Innemen object: Inname object aanpassen in de uitgifte tabel.
IF (:old.ins_alg_ruimte_key_org IS NOT NULL AND :new.ins_alg_ruimte_key_org IS NULL)
AND (:old.ins_alg_ruimte_type_org IS NOT NULL AND :new.ins_alg_ruimte_type_org IS NULL)
AND (:old.ins_alg_ruimte_type = 'C' OR :old.ins_alg_ruimte_type = 'P')
THEN
BEGIN
UPDATE ins_deel_uitgifte
SET ins_deel_uitgifte_ingeleverd = SYSDATE
WHERE ins_deel_key = :new.ins_deel_key
AND ins_deel_uitgifte_ingeleverd IS NULL;
END;
END IF;
END;
END IF;
END;
/
@@ -793,8 +581,6 @@ FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_srtkenmerk_key, ins_s_ins_srtkenmerk_key);
UPDATE_UPPER(ins_srtkenmerk_omschrijving, ins_srtkenmerk_upper,ins_srtkenmerk);
UPDATE_UPPER(ins_srtkenmerk_code, ins_srtkenmerk_code, ins_srtkenmerk);
UPDATE_AANMAAKDATUM(ins_srtkenmerk, ins_srtkenmerk_aanmaak);
IF (:new.ins_srtkenmerk_verwijder IS NOT NULL AND :old.ins_srtkenmerk_verwijder IS NULL AND
:new.ins_srtkenmerk_systeem = 1)
@@ -869,7 +655,6 @@ BEGIN
-- FSN#13902: we tolereren het achteraf verplicht maken
UPDATE_PRIMARY_KEY(ins_kenmerk_key, ins_s_ins_kenmerk_key);
UPDATE_AANMAAKDATUM(ins_kenmerk, ins_kenmerk_aanmaak);
UPDATE_UPPER(ins_kenmerk_code, ins_kenmerk_code, ins_kenmerk);
END;
/
@@ -1123,7 +908,7 @@ END;
/
CREATE_TRIGGER(ins_srtdeel_srtdeel_B_IU)
BEFORE INSERT OR UPDATE ON ins_srtdeel_srtdeel
BEFORE INSERT OR UPDATE ON ins_srtdeel_srtdeel
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_srtdeel_srtdeel_key, ins_s_ins_srtdeel_srtdeel_key);
@@ -1131,7 +916,7 @@ END;
/
CREATE_TRIGGER(ins_t_scenario_B_IU)
BEFORE INSERT OR UPDATE ON ins_scenario
BEFORE INSERT OR UPDATE ON ins_scenario
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_scenario_key, ins_s_ins_scenario_key);
@@ -1149,7 +934,7 @@ END;
/
CREATE_TRIGGER(ins_t_srtcontrole_B_IU)
BEFORE INSERT OR UPDATE ON ins_srtcontrole
BEFORE INSERT OR UPDATE ON ins_srtcontrole
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_srtcontrole_key, ins_s_ins_srtcontrole_key);
@@ -1157,7 +942,7 @@ END;
/
CREATE_TRIGGER(ins_t_controlemode_B_IU)
BEFORE INSERT OR UPDATE ON ins_controlemode
BEFORE INSERT OR UPDATE ON ins_controlemode
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_controlemode_key, ins_s_ins_controlemode_key);
@@ -1165,7 +950,7 @@ END;
/
CREATE_TRIGGER(ins_t_srtcontroledl_xcp_B_IU)
BEFORE INSERT OR UPDATE ON ins_srtcontroledl_xcp
BEFORE INSERT OR UPDATE ON ins_srtcontroledl_xcp
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_srtcontroledl_xcp_key, ins_s_srtcontroledl_xcp_key);
@@ -1173,7 +958,7 @@ END;
/
CREATE_TRIGGER(ins_t_deelsrtcontrole_B_IU)
BEFORE INSERT OR UPDATE ON ins_deelsrtcontrole
BEFORE INSERT OR UPDATE ON ins_deelsrtcontrole
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_deelsrtcontrole_key, ins_s_ins_deelsrtcontrole_key);
@@ -1202,14 +987,6 @@ BEGIN
END;
/
CREATE_TRIGGER(ins_t_deel_uitgifte_B_I)
BEFORE INSERT ON ins_deel_uitgifte
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_deel_uitgifte_key, ins_s_ins_deel_uitgifte_key);
END;
/
REGISTERRUN('$Id$')
#endif

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
@@ -2383,19 +2401,20 @@ SELECT di.deel_key,
END
WHEN iscx.ins_srtcontrole_mode = 0 AND iscx.ins_srtcontrole_eenheid = 4
THEN
TRIM(CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 1) = 1 THEN INITCAP(lcl.l('lcl_maand_1')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 2) = 2 THEN INITCAP(lcl.l('lcl_maand_2')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 4) = 4 THEN INITCAP(lcl.l('lcl_maand_3')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 8) = 8 THEN INITCAP(lcl.l('lcl_maand_4')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 16) = 16 THEN INITCAP(lcl.l('lcl_maand_5')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 32) = 32 THEN INITCAP(lcl.l('lcl_maand_6')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 64) = 64 THEN INITCAP(lcl.l('lcl_maand_7')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 128) = 128 THEN INITCAP(lcl.l('lcl_maand_8')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 256) = 256 THEN INITCAP(lcl.l('lcl_maand_9')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 512) = 512 THEN INITCAP(lcl.l('lcl_maand_10')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 1024) = 1024 THEN INITCAP(lcl.l('lcl_maand_11')) || ' ' END ||
CASE WHEN BITAND(iscx.ins_srtcontrole_bits, 2048) = 2048 THEN INITCAP(lcl.l('lcl_maand_12')) || ' ' END
)
CASE
WHEN BITAND(iscx.ins_srtcontrole_bits, 12) = 12 THEN INITCAP(lcl.l('lcl_maand_12'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 11) = 11 THEN INITCAP(lcl.l('lcl_maand_11'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 10) = 10 THEN INITCAP(lcl.l('lcl_maand_10'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 9) = 9 THEN INITCAP(lcl.l('lcl_maand_9'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 8) = 8 THEN INITCAP(lcl.l('lcl_maand_8'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 7) = 7 THEN INITCAP(lcl.l('lcl_maand_7'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 6) = 6 THEN INITCAP(lcl.l('lcl_maand_6'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 5) = 5 THEN INITCAP(lcl.l('lcl_maand_5'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 4) = 4 THEN INITCAP(lcl.l('lcl_maand_4'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 3) = 3 THEN INITCAP(lcl.l('lcl_maand_3'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 2) = 2 THEN INITCAP(lcl.l('lcl_maand_2'))
WHEN BITAND(iscx.ins_srtcontrole_bits, 1) = 1 THEN INITCAP(lcl.l('lcl_maand_1'))
END
END ins_srtcontrole_bits,
iscx.ins_srtcontrole_kosten,
iscx.ins_srtcontrole_kosten2,
@@ -2449,101 +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;
-- Rapport over de uitgifte (uitlenen en innemen) van objecten.
CREATE_VIEW(ins_v_udr_uitgifte, 0)
AS
SELECT du.ins_deel_uitgifte_key uitgifte_key,
du.ins_deel_key deel_key,
dis.ins_discipline_omschrijving discipline,
sg.ins_srtgroep_omschrijving groep,
sd.ins_srtdeel_omschrijving objectsoort,
d.ins_deel_omschrijving object,
du.ins_deel_uitgifte_begin uitgifte,
du.ins_deel_uitgifte_ingeleverd inname,
du.ins_deel_uitgifte_eind_plan geplande_inname,
pf.prs_perslid_naam_friendly persoon,
DECODE(cp.prs_contactpersoon_voornaam, NULL, '', cp.prs_contactpersoon_voornaam || ' ')
|| DECODE(cp.prs_contactpersoon_tussenv, NULL, '', cp.prs_contactpersoon_tussenv || ' ')
|| cp.prs_contactpersoon_naam contactpersoon,
a.prs_afdeling_omschrijving afdeling_omschrijving,
a.prs_afdeling_naam afdeling_code,
b.prs_bedrijf_naam bedrijf_naam
FROM ins_deel_uitgifte du,
ins_deel d,
ins_srtdeel sd,
ins_srtgroep sg,
ins_discipline dis,
prs_perslid p,
prs_v_perslid_fullnames_all pf,
prs_v_afdeling a,
prs_bedrijf b,
prs_contactpersoon cp
WHERE du.ins_deel_key = d.ins_deel_key
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
AND d.ins_discipline_key = dis.ins_discipline_key
AND sg.ins_discipline_key = dis.ins_discipline_key
AND du.prs_perslid_key = p.prs_perslid_key(+)
AND p.prs_perslid_key = pf.prs_perslid_key(+)
AND p.prs_afdeling_key = a.prs_afdeling_key(+)
AND a.prs_bedrijf_key = b.prs_bedrijf_key(+)
AND du.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
ORDER BY du.ins_deel_key,
du.ins_deel_uitgifte_begin;
REGISTERRUN('$Id$')
#endif // INS

View File

@@ -25,7 +25,6 @@ CREATE INDEX mld_i_mld_melding21 ON mld_melding(mld_melding_externnr);
CREATE INDEX mld_i_mld_melding22 ON mld_melding(mld_alg_locatie_key);
CREATE INDEX mld_i_mld_melding23 ON mld_melding(mld_melding_mldgroup_key);
CREATE INDEX mld_i_mld_melding24 ON mld_melding(mld_ins_discipline_key,mld_melding_behandelaar2_key);
CREATE INDEX mld_i_mld_melding25 ON mld_melding(mld_melding_behandelaar2_key);
create index mld_i_mld_opdr1 on mld_opdr(mld_opdr_module);
create index mld_i_mld_opdr2 on mld_opdr(mld_melding_key);
@@ -49,8 +48,6 @@ create index mld_i_mld_typeopdr1 on mld_typeopdr(mld_typeopdr_module);
create index mld_i_mld_kenmerk1 on mld_kenmerk(mld_srtkenmerk_key);
create index mld_i_mld_kenmerk2 on mld_kenmerk(mld_stdmelding_key);
create index mld_i_mld_kenmerk3 on mld_kenmerk(mld_kenmerk_code);
create index mld_i_mld_srtkenmerk1 on mld_srtkenmerk(mld_srtkenmerk_code);
create index mld_i_mld_kenmerkmelding1 on mld_kenmerkmelding(mld_melding_key);
@@ -59,15 +56,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);
@@ -83,9 +74,6 @@ CREATE UNIQUE INDEX mld_i_mld_stdmeldingfaq1 ON mld_stdmeldingfaq(mld_stdmelding
CREATE INDEX mld_i_mld_stdmeldingfaq2 ON mld_stdmeldingfaq(ins_discipline_key, fac_faq_key);
CREATE UNIQUE INDEX mld_i_mld_disc_disc1 ON mld_discipline_discipline(mld_discipline_key1, mld_discipline_key2);
CREATE UNIQUE INDEX mld_i_mld_typeopdrfaq1 ON mld_typeopdrfaq(mld_typeopdr_key, fac_faq_key);
CREATE INDEX mld_i_mld_typeopdrfaq2 ON mld_typeopdrfaq(fac_faq_key);
REGISTERONCE('$Id$')
#endif // MLD

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

@@ -58,7 +58,6 @@ DEFINE_LOCALEITEM(lcl_mld_aanvragergegevens)
DEFINE_LOCALEITEM(lcl_mld_accept)
DEFINE_LOCALEITEM(lcl_mld_afgemeld)
DEFINE_LOCALEITEM(lcl_mld_afgewezen)
DEFINE_LOCALEITEM(lcl_mld_afrond)
DEFINE_LOCALEITEM(lcl_mld_appr_req)
DEFINE_LOCALEITEM(lcl_mld_behandelaar)
DEFINE_LOCALEITEM(lcl_mld_can_not_be_closed)
@@ -82,13 +81,10 @@ DEFINE_LOCALEITEM(lcl_mld_chk_fo_mldVer)
DEFINE_LOCALEITEM(lcl_mld_choose_na)
DEFINE_LOCALEITEM(lcl_mld_choose_srt)
DEFINE_LOCALEITEM(lcl_mld_complain)
DEFINE_LOCALEITEM(lcl_mld_complain_subject)
DEFINE_LOCALEITEM(lcl_mld_continuation)
DEFINE_LOCALEITEM(lcl_mld_continue_of)
DEFINE_LOCALEITEM(lcl_mld_continueblok)
DEFINE_LOCALEITEM(lcl_mld_date)
DEFINE_LOCALEITEM(lcl_mld_final_close)
DEFINE_LOCALEITEM(lcl_mld_finish_close)
DEFINE_LOCALEITEM(lcl_mld_flexblok)
DEFINE_LOCALEITEM(lcl_mld_frame_algemeen)
DEFINE_LOCALEITEM(lcl_mld_frame_algemeen_actie)
@@ -111,7 +107,6 @@ DEFINE_LOCALEITEM(lcl_mld_kenmerken)
DEFINE_LOCALEITEM(lcl_mld_kosten)
DEFINE_LOCALEITEM(lcl_mld_name)
DEFINE_LOCALEITEM(lcl_mld_call_for)
DEFINE_LOCALEITEM(lcl_mld_new)
DEFINE_LOCALEITEM(lcl_mld_not_solved)
DEFINE_LOCALEITEM(lcl_mld_note)
DEFINE_LOCALEITEM(lcl_mld_note_emptyset)
@@ -211,28 +206,6 @@ DEFINE_LOCALEITEM(lcl_mld_person_prefix)
DEFINE_LOCALEITEM(lcl_mld_vakgroep)
DEFINE_LOCALEITEM(lcl_mld_subject)
DEFINE_LOCALEITEM(lcl_mld_fe_newmelding_confirm)
DEFINE_LOCALEITEM(lcl_menu_mld_fe_3)
DEFINE_LOCALEITEM(frm_mldframe)
DEFINE_LOCALEITEM(frm_mldworkflowframe)
DEFINE_LOCALEITEM(frm_mldmldlistframe)
DEFINE_LOCALEITEM(frm_opdrlistframe)
DEFINE_LOCALEITEM(frm_mldbeslistframe)
DEFINE_LOCALEITEM(frm_resframe)
DEFINE_LOCALEITEM(lcl_mld_urgentie)
DEFINE_LOCALEITEM(lcl_mld_impact)
DEFINE_LOCALEITEM(lcl_mld_urgentie1)
DEFINE_LOCALEITEM(lcl_mld_urgentie2)
DEFINE_LOCALEITEM(lcl_mld_urgentie3)
DEFINE_LOCALEITEM(lcl_mld_impact1)
DEFINE_LOCALEITEM(lcl_mld_impact2)
DEFINE_LOCALEITEM(lcl_mld_impact3)
DEFINE_LOCALEITEM(lcl_mld_urgentie1_info)
DEFINE_LOCALEITEM(lcl_mld_urgentie2_info)
DEFINE_LOCALEITEM(lcl_mld_urgentie3_info)
DEFINE_LOCALEITEM(lcl_mld_impact1_info)
DEFINE_LOCALEITEM(lcl_mld_impact2_info)
DEFINE_LOCALEITEM(lcl_mld_impact3_info)
END_LOCALEITEMS()
START_LOCALEITEMS('MLD_TYPEOPDR_KEY')
@@ -365,6 +338,7 @@ DEFINE_LOCALEITEM(lcl_date_time)
DEFINE_LOCALEITEM(lcl_mld_changedby)
DEFINE_LOCALEITEM(lcl_mld_note)
DEFINE_LOCALEITEM(lcl_mld_note_new)
DEFINE_LOCALEITEM(lcl_menu_mld_fe_3)
END_LOCALEITEMS()
REGISTERONCE('$Id$')

File diff suppressed because it is too large Load Diff

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;
@@ -50,7 +49,6 @@ CREATE SEQUENCE mld_s_mld_stdmsrtruimte_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_stdmsrtgebouw_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_stdmsrtterrein_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_disc_disc_key MINVALUE 1;
CREATE SEQUENCE mld_s_mld_typeopdrfaq_key MINVALUE 1;
REGISTERONCE('$Id$')

View File

@@ -120,13 +120,13 @@ CREATE_TABLE(mld_disc_params, 0)
mld_disc_params_emailnw4
VARCHAR2(200),
mld_disc_params_smsnw1
VARCHAR2(20),
VARCHAR2(15),
mld_disc_params_smsnw2
VARCHAR2(20),
VARCHAR2(15),
mld_disc_params_smsnw3
VARCHAR2(20),
VARCHAR2(15),
mld_disc_params_smsnw4
VARCHAR2(20),
VARCHAR2(15),
mld_disc_params_pgb /* 0=Geen van beiden, 1=Alleen pgb, 2=Alleen agb, 3=Beiden, pgb en agb */
NUMBER(1),
mld_disc_params_srtgroep /* &1=Primaire vakgroep, &2=Behandelteam, &4=Primair heeft behandelteams (0, 4 en 6 zijn hiermee dus ongeldige/onlogische waarden) */
@@ -199,7 +199,7 @@ CREATE_TABLE(mld_standaardopdr,0)
mld_standaardopdr_uren
NUMBER(8,2),
mld_standaardopdr_materiaal
NUMBER(10,2),
NUMBER(9,2),
mld_standaardopdr_aanmaak
DATE
DEFAULT SYSDATE
@@ -414,7 +414,7 @@ CREATE_TABLE(mld_stdmelding,0)
NUMBER(2),
alg_onrgoed_niveau -- level of onrgoed of objects to display with new melding and/or required level
VARCHAR2(1)
CONSTRAINT mld_c_alg_onrgoed_niveau CHECK (alg_onrgoed_niveau IN ('L','G','V','R','H')),
CONSTRAINT mld_c_alg_onrgoed_niveau CHECK (alg_onrgoed_niveau IN ('L','G','V','R')),
alg_onrgoed_obj_niveau -- level of onrgoed which should be selected before chosing objects
VARCHAR2(1)
CONSTRAINT mld_c_alg_onrgoed_obj_niveau CHECK (alg_onrgoed_obj_niveau IN ('A','L','G','V','R')),
@@ -514,18 +514,10 @@ CREATE_TABLE(mld_stdmelding,0)
NUMBER(1)
DEFAULT 7
NOT_NULL(mld_stdmelding_notes, mld_c_mld_stdmelding_notes),
mld_stdmelding_conceptstatus // standaard conceptstatus, 0:geen concept, &1, &2, &4 see documentation
NUMBER(3)
DEFAULT 0
NOT NULL,
-- in CAD_TAB.SRC:
-- cad_thema_key
-- NUMBER(10)
-- CONSTRAINT mld_r_cad_thema_key1 REFERENCES cad_thema(cad_thema_key),
mld_stdmelding_priomatrix // bepaal meldingprioriteit (mld_melding_spoed) via urgentie x impact
NUMBER(1)
DEFAULT 0
NOT NULL,
CONSTRAINT mld_u_mld_stdmelding UNIQUE(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_verwijder)
);
@@ -539,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
@@ -593,43 +579,19 @@ CREATE_TABLE(mld_stdmsrtruimte, 0)
NUMBER(8,2),
mld_stdmsrtruimte_malusmax
NUMBER(8,2),
mld_stdmsrtruimte_t_accepttijd /* pr3 */
mld_stdmsrtruimte_t_accepttijd
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_acc CHECK(mld_stdmsrtruimte_t_accepttijd.tijdsduur >= 0),
mld_stdmsrtruimte_t_accept_pr1
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_acc1 CHECK(mld_stdmsrtruimte_t_accept_pr1.tijdsduur >= 0),
mld_stdmsrtruimte_t_accept_pr2
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_acc2 CHECK(mld_stdmsrtruimte_t_accept_pr2.tijdsduur >= 0),
mld_stdmsrtruimte_t_accept_pr4
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_acc4 CHECK(mld_stdmsrtruimte_t_accept_pr4.tijdsduur >= 0),
mld_stdmsrtruimte_t_uitvtijd /* pr3 */
mld_stdmsrtruimte_t_uitvtijd
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_uitv CHECK(mld_stdmsrtruimte_t_uitvtijd.tijdsduur >= 0),
mld_stdmsrtruimte_t_uitv_pr1
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_uit1 CHECK(mld_stdmsrtruimte_t_uitv_pr1.tijdsduur >= 0),
mld_stdmsrtruimte_t_uitv_pr2
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_uit2 CHECK(mld_stdmsrtruimte_t_uitv_pr2.tijdsduur >= 0),
mld_stdmsrtruimte_t_uitv_pr4
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_uit4 CHECK(mld_stdmsrtruimte_t_uitv_pr4.tijdsduur >= 0),
CONSTRAINT mld_u_mld_stdmsrtruimte UNIQUE(alg_srtruimte_key, mld_stdmelding_key),
mld_stdmsrtruimte_regime -- optioneel afwijkend afhandelingsregime (may be null)
NUMBER(2)
CONSTRAINT mld_c_stdmsrtruimte_regime CHECK (mld_stdmsrtruimte_regime IN (1,2,3)), -- 1=kantoortijden, 2=openingstijden, 3=24x7
CONSTRAINT mld_u_mld_stdmsrtruimte UNIQUE(alg_srtruimte_key, mld_stdmelding_key)
CONSTRAINT mld_c_stdmsrtruimte_regime CHECK (mld_stdmsrtruimte_regime IN (1,2,3)) -- 1=kantoortijden, 2=openingstijden, 3=24x7
);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_accepttijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_accept_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_accept_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_accept_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_uitvtijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_uitv_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_uitv_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_uitv_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
// Eventuele afwijkingen per srtgebouw van SLA tijden.
// Fungeert als COALESCE met alg_srtgebouw.
@@ -652,43 +614,19 @@ CREATE_TABLE(mld_stdmsrtgebouw, 0)
NUMBER(8,2),
mld_stdmsrtgebouw_malusmax
NUMBER(8,2),
mld_stdmsrtgebouw_t_accepttijd /* pr3 */
mld_stdmsrtgebouw_t_accepttijd
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_acc CHECK(mld_stdmsrtgebouw_t_accepttijd.tijdsduur >= 0),
mld_stdmsrtgebouw_t_accept_pr1
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_acc1 CHECK(mld_stdmsrtgebouw_t_accept_pr1.tijdsduur >= 0),
mld_stdmsrtgebouw_t_accept_pr2
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_acc2 CHECK(mld_stdmsrtgebouw_t_accept_pr2.tijdsduur >= 0),
mld_stdmsrtgebouw_t_accept_pr4
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_acc4 CHECK(mld_stdmsrtgebouw_t_accept_pr4.tijdsduur >= 0),
mld_stdmsrtgebouw_t_uitvtijd /* pr3 */
mld_stdmsrtgebouw_t_uitvtijd
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_uitv CHECK(mld_stdmsrtgebouw_t_uitvtijd.tijdsduur >= 0),
mld_stdmsrtgebouw_t_uitv_pr1
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_uitv1 CHECK(mld_stdmsrtgebouw_t_uitv_pr1.tijdsduur >= 0),
mld_stdmsrtgebouw_t_uitv_pr2
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_uitv2 CHECK(mld_stdmsrtgebouw_t_uitv_pr2.tijdsduur >= 0),
mld_stdmsrtgebouw_t_uitv_pr4
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_uitv4 CHECK(mld_stdmsrtgebouw_t_uitv_pr4.tijdsduur >= 0),
CONSTRAINT mld_u_mld_stdmsrtgebouw UNIQUE(alg_srtgebouw_key, mld_stdmelding_key),
mld_stdmsrtgebouw_regime -- optioneel afwijkend afhandelingsregime (may be null)
NUMBER(2)
CONSTRAINT mld_c_stdmsrtgebouw_regime CHECK (mld_stdmsrtgebouw_regime IN (1,2,3)), -- 1=kantoortijden, 2=openingstijden, 3=24x7
CONSTRAINT mld_u_mld_stdmsrtgebouw UNIQUE(alg_srtgebouw_key, mld_stdmelding_key)
CONSTRAINT mld_c_stdmsrtgebouw_regime CHECK (mld_stdmsrtgebouw_regime IN (1,2,3)) -- 1=kantoortijden, 2=openingstijden, 3=24x7
);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_accepttijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_accept_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_accept_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_accept_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_uitvtijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_uitv_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_uitv_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_uitv_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
-- Eventuele afwijkingen per srtterreinsector van SLA tijden.
-- Fungeert als COALESCE met alg_srtterreinsector.
@@ -711,43 +649,19 @@ CREATE_TABLE(mld_stdmsrtterrein, 0)
NUMBER(8,2),
mld_stdmsrtterrein_malusmax
NUMBER(8,2),
mld_stdmsrtterrein_t_acctijd /* pr3 */
mld_stdmsrtterrein_t_acctijd
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_acc CHECK(mld_stdmsrtterrein_t_acctijd.tijdsduur >= 0),
mld_stdmsrtterrein_t_acc_pr1
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ac1 CHECK(mld_stdmsrtterrein_t_acc_pr1.tijdsduur >= 0),
mld_stdmsrtterrein_t_acc_pr2
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ac2 CHECK(mld_stdmsrtterrein_t_acc_pr2.tijdsduur >= 0),
mld_stdmsrtterrein_t_acc_pr4
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ac4 CHECK(mld_stdmsrtterrein_t_acc_pr4.tijdsduur >= 0),
mld_stdmsrtterrein_t_uitvtijd /* pr3 */
mld_stdmsrtterrein_t_uitvtijd
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_uit CHECK(mld_stdmsrtterrein_t_uitvtijd.tijdsduur >= 0),
mld_stdmsrtterrein_t_uitv_pr1
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ui1 CHECK(mld_stdmsrtterrein_t_uitv_pr1.tijdsduur >= 0),
mld_stdmsrtterrein_t_uitv_pr2
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ui2 CHECK(mld_stdmsrtterrein_t_uitv_pr2.tijdsduur >= 0),
mld_stdmsrtterrein_t_uitv_pr4
MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ui4 CHECK(mld_stdmsrtterrein_t_uitv_pr4.tijdsduur >= 0),
CONSTRAINT mld_u_mld_stdmsrtterrein UNIQUE(alg_srtterreinsector_key, mld_stdmelding_key),
mld_stdmsrtterrein_regime -- optioneel afwijkend afhandelingsregime (may be null)
NUMBER(2)
CONSTRAINT mld_c_stdmsrtterrein_regime CHECK (mld_stdmsrtterrein_regime IN (1,2,3)), -- 1=kantoortijden, 2=openingstijden, 3=24x7
CONSTRAINT mld_u_mld_stdmsrtterrein UNIQUE(alg_srtterreinsector_key, mld_stdmelding_key)
CONSTRAINT mld_c_stdmsrtterrein_regime CHECK (mld_stdmsrtterrein_regime IN (1,2,3)) -- 1=kantoortijden, 2=openingstijden, 3=24x7
);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_acctijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_acc_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_acc_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_acc_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_uitvtijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_uitv_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_uitv_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_uitv_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
-- Kruistabel tussen KB(faq) en standaardmeldingen
CREATE_TABLE(mld_stdmeldingfaq, 0)
@@ -768,21 +682,6 @@ CREATE_TABLE(mld_stdmeldingfaq, 0)
CONSTRAINT mld_r_fac_faq_key1 REFERENCES fac_faq(fac_faq_key) ON DELETE CASCADE
);
-- Kruistabel tussen KB(faq) en opdrachttypen.
CREATE_TABLE(mld_typeopdrfaq, 0)
(
mld_typeopdrfaq_key
NUMBER(10)
CONSTRAINT mld_k_typeopdrfaq_key PRIMARY KEY,
mld_typeopdr_key
NUMBER(10)
CONSTRAINT mld_r_mld_typeopdr_key4 REFERENCES mld_typeopdr(mld_typeopdr_key) ON DELETE CASCADE,
fac_faq_key
NUMBER(10)
NOT_NULL(fac_faq_key, mld_c_fac_faq_key2)
CONSTRAINT mld_r_fac_faq_key2 REFERENCES fac_faq(fac_faq_key) ON DELETE CASCADE
);
CREATE_TABLE(mld_discipline_discipline, 0) -- Kruistabel voor ins_tab_discipline
(
mld_discipline_discipline_key
@@ -829,13 +728,13 @@ CREATE_TABLE(mld_adres, 0)
mld_adres_contactpersoon
VARCHAR2(30),
mld_adres_contactpers_telefoon
VARCHAR2(20),
VARCHAR2(15),
mld_adres_contactpers_email
VARCHAR2(200),
mld_adres_contactpers_bureau
VARCHAR2(20),
mld_adres_telefoon
VARCHAR2(20),
VARCHAR2(15),
mld_adres_email
VARCHAR2(200),
alg_locatie_key
@@ -1047,12 +946,8 @@ CREATE_TABLE(mld_melding,0)
mld_adres_key
NUMBER(10)
CONSTRAINT mld_r_mld_adres_key1 REFERENCES mld_adres(mld_adres_key),
mld_melding_spoed /* prioriteit: 1 = kritiek, 2=hoog, 3=normaal, 4=laag, 5=hold(?), matcht mld_stdmelding_uitvoertijd_prX */
mld_melding_spoed /* urgentie: 1 = kritiek, 2=hoog, 3=normaal, 4=laag, 5=hold(?), matcht mld_stdmelding_uitvoertijd_prX */
NUMBER(1),
mld_melding_impact /* optionele onderbouwing van de prioriteit dimensie 1 */
NUMBER(2),
mld_melding_urgentie /* optionele onderbouwing van de prioriteit dimensie 2 */
NUMBER(2),
fac_activiteit_key
NUMBER(10)
CONSTRAINT fac_r_fac_activiteit1 REFERENCES fac_activiteit(fac_activiteit_key) ON DELETE CASCADE,
@@ -1104,7 +999,7 @@ CREATE_TABLE(mld_melding,0)
mld_melding_email_ext
VARCHAR2(100),
mld_melding_tel_ext
VARCHAR2(20),
VARCHAR2(15),
mld_melding_dwgx
NUMBER(16,3),
mld_melding_dwgy
@@ -1116,11 +1011,7 @@ CREATE_TABLE(mld_melding,0)
mld_melding_y
NUMBER(16,6),
mld_melding_z
NUMBER(16,6),
mld_melding_conceptstatus // instemmingstatus, 0:geen concept=ingestemd, &1, &2, &4 see documentation
NUMBER(3)
DEFAULT 0
NOT NULL
NUMBER(16,6)
);
ALTER TABLE mld_melding MODIFY mld_melding_t_uitvoertijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
@@ -1188,7 +1079,7 @@ CREATE_TABLE(mld_opdr,0)
DEFAULT 0
CONSTRAINT mld_c_mld_opdr_uren CHECK(mld_opdr_uren >= 0),
mld_opdr_materiaal
NUMBER(10,2)
NUMBER(8,2)
DEFAULT 0,
mld_opdr_kosten /* excl BTW */
NUMBER(12,2)
@@ -1318,10 +1209,7 @@ CREATE_TABLE(mld_melding_object, 0)
NOT_NULL(mld_melding_object_aanmaak, mld_c_mld_object_aanmaak),
mld_melding_object_verwijder
DATE
DEFAULT NULLDATUM,
ins_deelsrtcontrole_key
NUMBER(10)
CONSTRAINT mld_r_ins_deelsrtcontrole_key REFERENCES ins_deelsrtcontrole(ins_deelsrtcontrole_key)
DEFAULT NULLDATUM
);
@@ -1360,6 +1248,7 @@ CREATE_TABLE(mld_srtkenmerk, 0)
DEFAULT NULLDATUM
, mld_srtkenmerk_code
VARCHAR2(60)
CONSTRAINT mld_u_mld_srtkenmerk_code UNIQUE
, CONSTRAINT mld_c_mld_srtkenmerk_omschr CHECK(mld_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT mld_srtkenmerk_omschrijving CHECK(mld_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT mld_u_mld_srtkenmerk_upper UNIQUE(mld_srtkenmerk_upper, mld_srtkenmerk_verwijder)
@@ -1386,8 +1275,6 @@ CREATE_TABLE(mld_kenmerk, 0)
VARCHAR2(1)
, mld_kenmerk_omschrijving
VARCHAR2(50) /* optionele overrule van srtkenmerk_omschrijving */
, mld_kenmerk_code
VARCHAR2(60)
, mld_kenmerk_verplicht
NUMBER(1)
, mld_kenmerk_groep
@@ -1427,6 +1314,9 @@ CREATE_TABLE(mld_kenmerk, 0)
NUMBER(1)
DEFAULT 0
NOT NULL
, mld_kenmerk_code
VARCHAR2(60)
CONSTRAINT mld_u_mld_kenmerk_code UNIQUE
, mld_kenmerk_wissen
NUMBER(1)
DEFAULT 0
@@ -1550,8 +1440,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)
@@ -1564,8 +1453,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
@@ -1694,22 +1582,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

@@ -171,14 +171,6 @@ BEGIN
WHERE alg_onroerendgoed_keys = :NEW.mld_alg_onroerendgoed_keys;
END IF;
IF :old.mld_melding_conceptstatus IS NULL
THEN
SELECT mld_stdmelding_conceptstatus
INTO :new.mld_melding_conceptstatus
FROM mld_stdmelding
WHERE mld_stdmelding_key = :new.mld_stdmelding_key;
END IF;
-- Remember/update the default SLA-data if new or possibly changed
IF :new.mld_melding_acceptdatum_std IS NULL
OR UPDATING ('mld_melding_datum')
@@ -291,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;
/
@@ -401,7 +386,7 @@ FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_srtkenmerk_key, mld_s_mld_srtkenmerk_key);
UPDATE_UPPER(mld_srtkenmerk_omschrijving, mld_srtkenmerk_upper,mld_srtkenmerk);
UPDATE_UPPER(mld_srtkenmerk_code, mld_srtkenmerk_code, mld_srtkenmerk);
UPDATE_UPPER(mld_srtkenmerk_code, mld_srtkenmerk_code,mld_srtkenmerk);
UPDATE_AANMAAKDATUM(mld_srtkenmerk, mld_srtkenmerk_aanmaak);
IF (:new.mld_srtkenmerk_verwijder IS NOT NULL AND :old.mld_srtkenmerk_verwijder IS NULL AND
BITAND(:new.mld_srtkenmerk_systeem, 1) = 1)
@@ -477,7 +462,7 @@ FOR EACH ROW
BEGIN
-- FSN#13902: we tolereren het achteraf verplicht maken
UPDATE_PRIMARY_KEY(mld_kenmerk_key, mld_s_mld_kenmerk_key);
UPDATE_UPPER(mld_kenmerk_code, mld_kenmerk_code, mld_kenmerk);
UPDATE_UPPER(mld_kenmerk_code,mld_kenmerk_code,mld_kenmerk);
UPDATE_AANMAAKDATUM(mld_kenmerk, mld_kenmerk_aanmaak);
END;
/
@@ -869,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
@@ -909,14 +886,6 @@ BEGIN
END;
/
CREATE_TRIGGER(mld_t_mld_typeopdrfaq_B_I)
BEFORE INSERT ON mld_typeopdrfaq
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_typeopdrfaq_key, mld_s_mld_typeopdrfaq_key);
END;
/
CREATE_TRIGGER(mld_t_mld_stdmsrtruimte_B_IU)
BEFORE INSERT OR UPDATE ON mld_stdmsrtruimte
FOR EACH ROW

View File

@@ -260,9 +260,7 @@ AS
'R', 'ruimte',
'V', 'verdieping',
'G', 'gebouw',
'L', 'locatie',
'H', 'niet tonen',
'' , 'niet verplicht')
'L', 'locatie')
verplicht_niveau,
DECODE (mld_stdmelding_prseigen, 1, 'ja', 'nee')
alleen_ruimtes_eigen_org,
@@ -368,6 +366,458 @@ AS
WHERE t.mld_stdmelding_key IS NULL
AND t.mld_ins_discipline_key = md.ins_discipline_key(+);
---- KTO views + rapportages
CREATE_VIEW(mld_v_kto_vragen, 0)
(
vraag1,
vraag2,
vraag3,
vraag4,
vraag5
)
AS SELECT
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag1')
) vraag1,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag2')
) vraag2,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag3')
) vraag3,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag4')
) vraag4,
(SELECT mld_kenmerk_default
FROM mld_kenmerk
WHERE mld_kenmerk_key = fac.getSetting('kto_mld_vraag5')
) vraag5
FROM dual;
CREATE_VIEW(mld_v_kto_antwoorden, 0)
(
mld_melding_key,
cijfer1,
cijfer2,
cijfer3,
cijfer4,
cijfer5,
opm1,
opm2,
opm3,
opm4,
opm5
)
AS
SELECT
kto.mld_melding_key,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer1')
) cijfer1,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer2')
) cijfer2,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer3')
) cijfer3,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer4')
) cijfer4,
(SELECT fac.safe_to_number(mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_cijfer5')
) cijfer5,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht1')
) toelicht1,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht2')
) toelicht2,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht3')
) toelicht3,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht4')
) toelicht4,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = kto.mld_melding_key AND km.mld_kenmerk_key = fac.getSetting('kto_mld_toelicht5')
) toelicht5
FROM mld_melding kto
WHERE kto.mld_melding_kto_type IS NOT NULL
AND kto.mld_melding_kto_key IS NOT NULL;
CREATE_VIEW(mld_v_kto_geg, 0)
(
KTO_KEY,
KTO_TYPE,
KTO_REFKEY,
KTO_UITNODIGING_DATUM,
KTO_INVUL_DATUM,
KTO_RESPONSE_TIJD,
INS_SRTDISCIPLINE_KEY,
RES_ACTIVITEIT_KEY,
INS_DISCIPLINE_KEY,
MLD_STDMELDING_KEY,
INS_SRTDISCIPLINE_OMSCHRIJVING,
RES_ACTIVITEIT_OMSCHRIJVING,
MLD_VAKGROEP_OMSCHRIJVING,
RES_RUIMTECATEGORIE,
BES_CATALOGUS,
MLD_STDMELDING_OMSCHRIJVING,
ALG_REGIO_OMSCHRIJVING,
ALG_DISTRICT_OMSCHRIJVING,
ALG_LOCATIE_CODE,
ALG_LOCATIE_OMSCHRIJVING,
CIJFER1,
CIJFER2,
CIJFER3,
CIJFER4,
CIJFER5,
OPM1,
OPM2,
OPM3,
OPM4,
OPM5
)
AS
-- Alle meldingen (alias m) waarvan KTO-uitnodiging is verstuurd met eventuele bijbehorende kto-melding (alias kto)
-- Let op: 2e kolom staat hard 'BMR', en niet overnemen van kto.mld_melding_kto_type, omdat je dat zonder KTO-melding al wilt weten
SELECT kto.mld_melding_key kto_key,
'M',
kto.mld_melding_kto_key,
m.mld_melding_kto_verstuurd,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) kto_invul_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) - m.mld_melding_kto_verstuurd kto_response_tijd,
sd.ins_srtdiscipline_key,
NULL res_activiteit_key,
d.ins_discipline_key,
s.mld_stdmelding_key,
sd.ins_srtdiscipline_omschrijving,
NULL res_activiteit_omschrijving,
d.ins_discipline_omschrijving mld_vakgroep_omschrijving,
NULL res_ruimtecategorie,
NULL bes_catalogus,
s.mld_stdmelding_omschrijving,
r.alg_regio_omschrijving,
di.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
kto_a.cijfer1,
kto_a.cijfer2,
kto_a.cijfer3,
kto_a.cijfer4,
kto_a.cijfer5,
kto_a.opm1,
kto_a.opm2,
kto_a.opm3,
kto_a.opm4,
kto_a.opm5
FROM mld_melding kto, mld_melding m, ins_tab_discipline d, mld_stdmelding s, ins_srtdiscipline sd,
alg_locatie l, alg_district di, alg_regio r,
mld_v_kto_antwoorden kto_a
WHERE m.mld_melding_kto_verstuurd IS NOT NULL
AND m.mld_melding_key = kto.mld_melding_kto_key(+)
AND kto.mld_melding_key = kto_a.mld_melding_key (+)
AND COALESCE(KTO.MLD_MELDING_KTO_TYPE,'M') = 'M'
AND s.mld_stdmelding_key = m.mld_stdmelding_key
AND d.ins_discipline_key = s.mld_ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_alg_locatie_key = l.alg_locatie_key (+)
AND l.alg_district_key = di.alg_district_key (+)
AND di.alg_regio_key = r.alg_regio_key (+)
UNION ALL
SELECT kto.mld_melding_key kto_key,
'R',
kto.mld_melding_kto_key,
rrr.res_rsv_ruimte_kto_verstuurd kto_uitnodiging_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) kto_invul_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) - rrr.res_rsv_ruimte_kto_verstuurd kto_response_tijd,
NULL ins_srtdiscipline_key,
a.res_activiteit_key,
d.ins_discipline_key,
rrr.res_rsv_ruimte_key,
NULL ins_srtdiscipline_omschrijving,
a.res_activiteit_omschrijving,
NULL mld_vakgroep_omschrijving,
d.ins_discipline_omschrijving res_ruimtecategorie,
NULL bes_catalogus,
NULL mld_stdmelding_omschrijving,
rg.alg_regio_omschrijving,
di.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
kto_a.cijfer1,
kto_a.cijfer2,
kto_a.cijfer3,
kto_a.cijfer4,
kto_a.cijfer5,
kto_a.opm1,
kto_a.opm2,
kto_a.opm3,
kto_a.opm4,
kto_a.opm5
FROM mld_melding kto, res_rsv_ruimte rrr, res_ruimte_opstelling ro, res_ruimte rr, ins_tab_discipline d, res_activiteit a,
alg_ruimte r, alg_verdieping v, alg_gebouw g, alg_locatie l, alg_district di, alg_regio rg,
mld_v_kto_antwoorden kto_a
WHERE rrr.res_rsv_ruimte_kto_verstuurd IS NOT NULL
AND a.res_activiteit_key = rrr.res_activiteit_key
AND rrr.res_rsv_ruimte_key = kto.mld_melding_kto_key(+)
AND kto.mld_melding_key = kto_a.mld_melding_key (+)
AND COALESCE(KTO.MLD_MELDING_KTO_TYPE,'R') = 'R'
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rr.res_ruimte_key
AND rr.res_discipline_key = d.ins_discipline_key
AND r.alg_ruimte_key = (SELECT MIN(rar.alg_ruimte_key) FROM res_alg_ruimte rar WHERE rar.res_ruimte_key = rr.res_ruimte_key)
AND v.alg_verdieping_key = r.alg_verdieping_key
AND g.alg_gebouw_key = v.alg_gebouw_key
AND l.alg_locatie_key = g.alg_locatie_key
AND di.alg_district_key = l.alg_district_key
AND rg.alg_regio_key = di.alg_regio_key
UNION ALL
SELECT kto.mld_melding_key kto_key,
'B',
kto.mld_melding_kto_key,
b.bes_bestelling_kto_verstuurd kto_uitnodiging_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) kto_invul_datum,
fac.gettrackingdate('MLDNEW',kto.mld_melding_key) - b.bes_bestelling_kto_verstuurd kto_response_tijd,
NULL ins_srtdiscipline_key,
NULL res_activiteit_key,
d.ins_discipline_key,
b.bes_bestelling_key,
NULL ins_srtdiscipline_omschrijving,
NULL res_activiteit_omschrijving,
NULL mld_vakgroep_omschrijving,
NULL res_ruimtecategorie,
d.ins_discipline_omschrijving bes_catalogus,
NULL mld_stdmelding_omschrijving,
r.alg_regio_omschrijving,
di.alg_district_omschrijving,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
kto_a.cijfer1,
kto_a.cijfer2,
kto_a.cijfer3,
kto_a.cijfer4,
kto_a.cijfer5,
kto_a.opm1,
kto_a.opm2,
kto_a.opm3,
kto_a.opm4,
kto_a.opm5
FROM mld_melding kto, bes_bestelling b, bes_bestelling_item bi, bes_srtdeel sd, bes_srtgroep sg, bes_discipline d,
mld_adres ad, alg_locatie l, alg_district di, alg_regio r,
mld_v_kto_antwoorden kto_a
WHERE b.bes_bestelling_kto_verstuurd IS NOT NULL
AND b.bes_bestelling_key = kto.mld_melding_kto_key(+)
AND kto.mld_melding_key = kto_a.mld_melding_key (+)
AND COALESCE(KTO.MLD_MELDING_KTO_TYPE,'B') = 'B'
AND b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = d.ins_discipline_key
AND b.mld_adres_key_lev = ad.mld_adres_key
AND ad.alg_locatie_key = l.alg_locatie_key (+)
AND l.alg_district_key = di.alg_district_key (+)
AND di.alg_regio_key = r.alg_regio_key (+);
-----
-- KTO-Rapport 1: Algemeen overview/overzicht van ingevulde KTO's
CREATE_VIEW(mld_v_rap_kto_overview, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_kwartaal,
fclt_f_maand,
fclt_f_regio,
fclt_f_district,
fclt_f_locatie,
fclt_f_vakgroeptype,
fclt_f_activiteit,
fclt_f_vakgroep,
fclt_f_ruimtecategorie,
fclt_f_bestelcatalogus,
melding,
fclt_f_beoordeling,
cijfer1,
opm1,
cijfer2,
opm2,
cijfer3,
opm3,
cijfer4,
opm4,
cijfer5,
opm5,
hide_f_kto_key,
hide_f_kto_refkey
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_invul_datum,'yyyy'),
'Q' || to_char(kto_invul_datum,'q'),
to_char(kto_invul_datum,'mm'),
alg_regio_omschrijving,
alg_district_omschrijving,
alg_locatie_code || '-' || alg_locatie_omschrijving,
ins_srtdiscipline_omschrijving,
res_activiteit_omschrijving,
mld_vakgroep_omschrijving,
res_ruimtecategorie,
bes_catalogus,
mld_stdmelding_omschrijving,
CASE
WHEN COALESCE(cijfer1,10)<5.5 OR
COALESCE(cijfer2,10)<5.5 OR
COALESCE(cijfer3,10)<5.5 OR
COALESCE(cijfer4,10)<5.5 OR
COALESCE(cijfer5,10)<5.5 THEN 'Onvoldoende'
ELSE 'Voldoende'
END,
cijfer1,
opm1,
cijfer2,
opm2,
cijfer3,
opm3,
cijfer4,
opm4,
cijfer5,
opm5,
kto_key,
kto_refkey
FROM mld_v_kto_geg
WHERE kto_key IS NOT NULL;
-- KTO-Rapport 2: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR)+jaar+maand
CREATE_VIEW(mld_v_rap_kto_response_soort, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm');
-- KTO-Rapport 3: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR) +jaar+maand+regio+district
CREATE_VIEW(mld_v_rap_kto_responsedistrict, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
fclt_f_regio,
fclt_f_district,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving,
alg_district_omschrijving,
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving, alg_district_omschrijving;
-- KTO-Rapport 4: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR) +jaar+maand+regio+district+locatie
CREATE_VIEW(mld_v_rap_kto_response_locatie, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
fclt_f_regio,
fclt_f_district,
fclt_f_locatie,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving,
alg_district_omschrijving,
alg_locatie_code || '-' || alg_locatie_omschrijving,
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm'),
alg_regio_omschrijving, alg_district_omschrijving, alg_locatie_code || '-' || alg_locatie_omschrijving;
-- KTO-Rapport 5: KTO Response: aantal KTO-uitnodigingen vs. KTO-ingediend + responsedagen,
-- gegroepeerd op ktosoort(BMR) +jaar+maand+discipline (disc=vakgroep of catalogus of ruimtecategorie)
CREATE_VIEW(mld_v_rap_kto_response_disc, 0)
(
fclt_f_kto,
fclt_f_jaar,
fclt_f_maand,
fclt_f_categorie,
aantal_uitnodigingen,
aantal_ontvangen,
percentage,
gemiddelde_response_in_dagen
)
AS
SELECT
decode(kto_type,'B','Bestellingen','M','Meldingen','R','Reserveringen'),
to_char(kto_uitnodiging_datum,'yyyy'),
to_char(kto_uitnodiging_datum,'mm'),
COALESCE(mld_vakgroep_omschrijving, res_ruimtecategorie, bes_catalogus),
COUNT(*),
COUNT(kto_key),
100* COUNT(kto_key)/DECODE(COUNT(*),0,1,COUNT(*)),
AVG(round(kto_response_tijd-0.5))
FROM mld_v_kto_geg
GROUP BY kto_type, to_char(kto_uitnodiging_datum,'yyyy'), to_char(kto_uitnodiging_datum,'mm'),
COALESCE(mld_vakgroep_omschrijving, res_ruimtecategorie, bes_catalogus);
-- Defines the personal todo-list for user fclt_3d_user_key,
-- gathering all the variants that an order can be assigned
-- To be used as base for a report. First version
@@ -800,8 +1250,6 @@ CREATE_VIEW(mld_v_udr_melding, 1)
bedrijf_key,
invoerder,
meldbron,
accepteerder,
afmelder,
soortmelding,
fclt_3d_discipline_key,
productgroep,
@@ -885,8 +1333,6 @@ AS
prs_bedrijf_key,
invoerder,
meldbron,
accepteerder,
afmelder,
soortmelding,
stdm_ins_discipline_key,
productgroep,
@@ -905,8 +1351,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,
@@ -927,41 +1373,54 @@ AS
mld_melding_satisfaction_op,
mld_melding_flag,
mld_melding_actiecode,
DECODE ( x.sla_accpt.eenheid
, 'D', acceptdatum - COALESCE (accepted, afgemeld, SYSDATE)
, NULL
) accept_sla_dagen,
CAST ( DECODE ( x.sla_accpt.eenheid
, 'U', (acceptdatum - COALESCE (accepted, afgemeld, SYSDATE)) * 24
, NULL
) AS NUMBER(7,2)
) accept_sla_uren,
DECODE ( x.t_doorlooptijd.eenheid
, 'D', mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0)
, NULL
) uitvoering_sla_dagen,
CAST ( DECODE ( x.t_doorlooptijd.eenheid
, 'U', ( (mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijturen, 0)
, NULL
) AS NUMBER(7,2)
) uitvoering_sla_uren,
DECODE ( x.t_doorlooptijd.eenheid
, 'D', einddatum - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0)
, NULL
) afspraak_sla_dagen,
CAST ( DECODE ( x.t_doorlooptijd.eenheid
, 'U', ( (einddatum - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijtdgn, 0)
, NULL
) AS NUMBER(7,2)
) afspraak_sla_uren,
DECODE (x.t_doorlooptijd.eenheid, 'D', acceptdatum - COALESCE (accepted, afgemeld), NULL)
accept_sla_dagen,
CAST (
DECODE (x.t_doorlooptijd.eenheid,
'U', (acceptdatum - COALESCE (accepted, afgemeld)) * 24,
NULL)
AS NUMBER(7,2)
)
accept_sla_uren,
DECODE (
x.t_doorlooptijd.eenheid,
'D',
mld.geteinddatum (mld_melding_key)
- COALESCE (afgemeld, SYSDATE)
+ COALESCE (sla_respijtdgn, 0),
NULL)
uitvoering_sla_dagen,
CAST (
DECODE (
x.t_doorlooptijd.eenheid,
'U',
( (mld.geteinddatum (mld_melding_key) - COALESCE (afgemeld, SYSDATE)) * 24)
+ COALESCE (sla_respijturen, 0),
NULL)
AS NUMBER(7,2)
)
uitvoering_sla_uren,
DECODE (x.t_doorlooptijd.eenheid,
'D', einddatum - COALESCE (afgemeld, SYSDATE) + COALESCE (sla_respijtdgn, 0),
NULL)
afspraak_sla_dagen,
CAST (
DECODE (
x.t_doorlooptijd.eenheid,
'U',
( (einddatum - COALESCE (afgemeld, SYSDATE)) * 24) + COALESCE (sla_respijtdgn, 0),
NULL)
AS NUMBER(7,2)
)
afspraak_sla_uren,
CASE
WHEN acceptdatum IS NULL
OR -- Dan is er geen acceptatietijd gedefinieerd en dus altijd op tijd.
DECODE (x.sla_accpt.eenheid,
'D', acceptdatum - COALESCE (accepted, afgemeld, SYSDATE),
DECODE (x.t_doorlooptijd.eenheid,
'D', acceptdatum - COALESCE (accepted, afgemeld),
0)
+ DECODE (x.sla_accpt.eenheid,
'U', (acceptdatum - COALESCE (accepted, afgemeld, SYSDATE)) * 24,
+ DECODE (x.t_doorlooptijd.eenheid,
'U', (acceptdatum - COALESCE (accepted, afgemeld)) * 24,
0) >= 0
THEN
lcl.l ('lcl_yes')
@@ -1071,14 +1530,6 @@ AS
WHERE mb.mld_meldbron_key = m.mld_meldbron_key)
meldbron,
m.mld_meldbron_key,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = fac.gettrackinguserkey('MLDACP', m.mld_melding_key))
accepteerder,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = fac.gettrackinguserkey('MLDAFM', m.mld_melding_key))
afmelder,
sd.ins_srtdiscipline_key ins_srtdiscipline_key,
sd.ins_srtdiscipline_omschrijving soortmelding,
md.ins_discipline_key stdm_ins_discipline_key,
@@ -1136,11 +1587,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)
@@ -1257,10 +1711,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,
@@ -1328,10 +1779,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,
@@ -1418,7 +1866,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,
@@ -1434,26 +1882,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,
@@ -1630,7 +2059,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.*,
@@ -1682,7 +2110,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

@@ -256,7 +256,7 @@ CREATE_TABLE(prj_selectie, 0)
NUMBER(10)
CONSTRAINT prj_r_prs_perslid_key2 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE,
prj_selectie_tabelnaam
VARCHAR2(128)
VARCHAR2(32)
CONSTRAINT prj_c_prj_selectie_tabelnaam1 CHECK(prj_selectie_tabelnaam IN ('PRJ_WERKPLEK', 'PRJ_PERSLIDWERKPLEK', 'PRJ_DEEL', 'PRS_PERSLID', 'PRS_AFDELING'))
NOT_NULL(prj_selectie_tabelnaam, prj_c_prj_selectie_tabelnm2),
prj_selectie_tabelkey

View File

@@ -10,7 +10,7 @@ CREATE INDEX prs_i_prs_afdeling2 ON prs_afdeling(prs_kostenplaats_key);
CREATE INDEX prs_i_prs_afdeling3 ON prs_afdeling(prs_afdeling_externid);
CREATE INDEX prs_i_prs_bedrijfadres1 ON prs_bedrijfadres(prs_bedrijf_key);
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres2 ON prs_bedrijfadres(prs_bedrijf_key, prs_bedrijfadres_type, mld_typeopdr_key, alg_locatie_key, alg_district_key, prs_bedrijf_key2, prs_bedrijfadres_startdatum);
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres2 ON prs_bedrijfadres(prs_bedrijf_key, prs_bedrijfadres_type, mld_typeopdr_key, alg_locatie_key, alg_district_key);
CREATE INDEX prs_i_prs_perslid1 ON prs_perslid(prs_srtperslid_key);
CREATE INDEX prs_i_prs_perslid2 ON prs_perslid(prs_afdeling_key);
@@ -30,14 +30,14 @@ CREATE INDEX prs_i_prs_perslidwerkplek1 ON prs_perslidwerkplek(prs_perslid_key);
CREATE INDEX prs_i_prs_perslidwerkplek2 ON prs_perslidwerkplek(prs_werkplek_key);
CREATE INDEX prs_i_prs_kostenplaats2 ON prs_kostenplaats(prs_perslid_key);
CREATE UNIQUE INDEX prs_i_prs_kostensoort1 ON prs_kostensoort(prs_kostensoortgrp_key, prs_kostensoort_upper, prs_kostensoort_verwijder);
CREATE UNIQUE INDEX prs_i_prs_kostensoort1 ON prs_kostensoort(prs_kostensoortgrp_key, prs_kostensoort_upper);
CREATE UNIQUE INDEX prs_i_prs_kostencombinatie1 ON prs_kostencombinatie (prs_kostenplaatsgrp_key, prs_kostensoort_key);
CREATE INDEX prs_i_prs_perslidkostenplaats1 ON prs_perslidkostenplaats(prs_perslid_key, prs_kostenplaats_key);
CREATE UNIQUE INDEX prs_i_prs_collega1 ON prs_collega(prs_perslid_key, prs_perslid_key_alt);
CREATE UNIQUE INDEX prs_i_prs_ruimteafdeling1 ON prs_ruimteafdeling(alg_ruimte_key, prs_afdeling_key, prs_ruimteafdeling_ingangsdatum, prs_ruimteafdeling_verwijder);
CREATE UNIQUE INDEX prs_i_prs_ruimteafdeling1 ON prs_ruimteafdeling(alg_ruimte_key, prs_afdeling_key, prs_ruimteafdeling_verwijder);
CREATE UNIQUE INDEX prs_i_prs_perslid_inzetbaar1 ON prs_perslid_inzetbaar(prs_perslid_key, prs_perslid_inzetbaar_dag);
@@ -45,8 +45,6 @@ CREATE UNIQUE INDEX prs_i_prs_kostenplaatsdisc1 ON prs_kostenplaatsdisc (prs_kos
CREATE UNIQUE INDEX prs_i_prs_perslid_tabs1 on prs_perslid_tabs(prs_perslid_key, prs_perslid_tabs_code);
CREATE INDEX prs_i_prs_kenmerk1 ON prs_kenmerk(prs_kenmerk_code);
REGISTERONCE('$Id$')
#endif // PRS

View File

@@ -109,7 +109,6 @@ AS
PROCEDURE delete_perslid (p_import_key IN NUMBER, p_perslid_key IN NUMBER);
FUNCTION combinatievalidatie (p_kp_key IN NUMBER, p_ksrt_key IN NUMBER, p_disc_key IN NUMBER) RETURN BOOLEAN;
PROCEDURE personen_inactief_schonen;
END prs;
/
@@ -471,8 +470,6 @@ AS
-- Levert de volgende fiatteur in de rij op. Indien geen volgende fiatteur gevonden kan worden wordt -1 teruggegeven.
-- Er wordt hier niet gecontroleerd of de opdracht gefiatteerd dient te worden. Dat dien je voor de aanroep te bepalen.
-- LET OP: Als de eerste fiatteur is verwijderd dan wordt bij het herfiatteren van een meldingen geen fiatteur meer gevonden.
-- Dan moet de functie prs.getfiatteur worden gebruikt (BLCC#80088).
FUNCTION nextfiatteur (pkey IN NUMBER,
pmodule IN VARCHAR2,
pexcludekey IN NUMBER DEFAULT -1)
@@ -515,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')))
@@ -846,7 +846,7 @@ AS
-- v_prs_perslid_wachtwoord 23
-- v_prs_perslid_titel 24
-- v_prs_perslid_apikey 25
-- v_prs_kostenplaats_nr 26
-- v_dummy 26
-- v_prs_kenmerk1 27
-- v_prs_kenmerk2 28
-- v_prs_kenmerk3 29
@@ -896,7 +896,6 @@ AS
v_prs_werkplek_volgnr VARCHAR2 (256);
v_prs_werkplek_omschrijving VARCHAR2 (256);
v_prs_afdeling_naam VARCHAR2 (256);
v_prs_kostenplaats_nr VARCHAR2 (256);
v_prs_perslid_naam VARCHAR2 (256);
v_prs_perslid_tussenvoegsel VARCHAR2 (256);
v_prs_perslid_voornaam VARCHAR2 (256);
@@ -915,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);
@@ -1237,11 +1236,6 @@ AS
v_fielddelimitor,
v_colnr (25),
v_prs_perslid_apikey);
v_errorhint := 'Inlezen prs_perslid_kostenplaats kolom:' || v_colnr (26);
fac.imp_getfield_nr (v_newline,
v_fielddelimitor,
v_colnr (26),
v_prs_kostenplaats_nr);
v_errorhint := 'Inlezen prs_kenmerk1 kolom:' || v_colnr (27);
fac.imp_getfield_nr (v_newline,
v_fielddelimitor,
@@ -1489,22 +1483,6 @@ AS
END IF;
END IF;
--
v_errorhint := 'Ongeldige kostenplaats';
v_prs_kostenplaats_nr := TRIM (v_prs_kostenplaats_nr);
IF LENGTH (v_prs_kostenplaats_nr) > 30
THEN
v_prs_kostenplaats_nr := SUBSTR (v_prs_kostenplaats_nr, 1, 30);
fac.imp_writelog (
p_import_key,
'W',
v_aanduiding || 'kostenplaatsnummer is te lang',
'Aanduiding wordt afgebroken tot ['
|| v_prs_kostenplaats_nr
|| ']');
END IF;
--
v_errorhint := 'Ongeldige naam persoon';
v_prs_perslid_naam := TRIM (v_prs_perslid_naam);
@@ -1676,10 +1654,10 @@ AS
v_errorhint := 'Ongeldige telefoonnr. persoon';
v_prs_perslid_telefoonnr := TRIM (v_prs_perslid_telefoonnr);
IF LENGTH (v_prs_perslid_telefoonnr) > 20
IF LENGTH (v_prs_perslid_telefoonnr) > 15
THEN
v_prs_perslid_telefoonnr :=
SUBSTR (v_prs_perslid_telefoonnr, 1, 20);
SUBSTR (v_prs_perslid_telefoonnr, 1, 15);
fac.imp_writelog (
p_import_key,
'W',
@@ -1693,9 +1671,9 @@ AS
v_errorhint := 'Ongeldige mobielnr. persoon';
v_prs_perslid_mobiel := TRIM (v_prs_perslid_mobiel);
IF LENGTH (v_prs_perslid_mobiel) > 20
IF LENGTH (v_prs_perslid_mobiel) > 15
THEN
v_prs_perslid_mobiel := SUBSTR (v_prs_perslid_mobiel, 1, 20);
v_prs_perslid_mobiel := SUBSTR (v_prs_perslid_mobiel, 1, 15);
fac.imp_writelog (
p_import_key,
'W',
@@ -1800,7 +1778,6 @@ AS
prs_werkplek_volgnr,
prs_werkplek_omschrijving,
prs_afdeling_naam,
prs_kostenplaats_nr,
prs_perslid_naam,
prs_perslid_tussenvoegsel,
prs_perslid_voornaam,
@@ -1848,7 +1825,6 @@ AS
v_prs_werkplek_volgnr,
v_prs_werkplek_omschrijving,
v_prs_afdeling_naam,
v_prs_kostenplaats_nr,
v_prs_perslid_naam,
v_prs_perslid_tussenvoegsel,
v_prs_perslid_voornaam,
@@ -1867,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);
@@ -1962,7 +1938,6 @@ AS
--
v_perslid_key NUMBER (10);
v_afdeling_key NUMBER (10);
v_kostenplaats_key NUMBER (10);
v_srtperslid_key NUMBER (10);
v_prs_perslid_naam VARCHAR2(200);
v_prs_perslid_tussenvoegsel VARCHAR2(200);
@@ -2253,21 +2228,6 @@ AS
AND a.prs_afdeling_verwijder IS NULL
AND a.prs_afdeling_key = b.prs_afdeling_key;
IF (recPersLid.prs_kostenplaats_nr IS NOT NULL)
THEN
v_errorhint :=
'Kostenplaats niet gevonden ['
|| recPersLid.prs_kostenplaats_nr
|| ']';
SELECT k.prs_kostenplaats_key
INTO v_kostenplaats_key
FROM prs_v_aanwezigkostenplaats k
WHERE UPPER(prs_kostenplaats_nr) = UPPER(recPerslid.prs_kostenplaats_nr);
ELSE
v_kostenplaats_key := NULL;
END IF;
v_space := '';
-- kijk hoe we met partnernamen moeten omgaan:
IF recPersLid.prs_perslid_naamgebruik_code = 0
@@ -2341,7 +2301,6 @@ AS
INSERT INTO prs_perslid (prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
prs_kostenplaats_key,
prs_perslid_naam,
prs_perslid_voorletters,
prs_perslid_tussenvoegsel,
@@ -2358,7 +2317,6 @@ AS
VALUES ('PRS',
v_srtperslid_key,
v_afdeling_key,
v_kostenplaats_key,
v_prs_perslid_naam,
recPersLid.prs_perslid_voorletters,
v_prs_perslid_tussenvoegsel,
@@ -2385,7 +2343,6 @@ AS
SET prs_srtperslid_key = v_srtperslid_key,
prs_afdeling_key = v_afdeling_key,
prs_perslid_naam = v_prs_perslid_naam,
prs_perslid_inactief = NULL, -- altijd potentieel reanimeren bij import, naam zal ook geen INACTIEF: prefix meer bevatten
prs_perslid_voorletters = recPersLid.prs_perslid_voorletters,
prs_perslid_tussenvoegsel = v_prs_perslid_tussenvoegsel,
prs_perslid_voornaam = recPersLid.prs_perslid_voornaam,
@@ -2662,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
@@ -2806,78 +2762,6 @@ AS
RETURN l_combination_OK;
END;
PROCEDURE personen_inactief_schonen
AS
CURSOR c1
IS
SELECT '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || pf.prs_perslid_naam_full || '] ' aanduiding
, p.prs_perslid_key
, COUNT (vp.prs_perslid_key) aant
FROM prs_v_aanwezigperslid p
, prs_v_verplichting_keys vp
, prs_v_perslid_fullnames pf
WHERE p.prs_perslid_key = vp.prs_perslid_key(+) -- Actuele verplichtingen?
AND p.prs_perslid_key = pf.prs_perslid_key
AND COALESCE (p.prs_perslid_inactief, SYSDATE) < TRUNC (SYSDATE)
-- AND p.prs_perslid_externid IS NOT NULL -- SCIM-populatie!
GROUP BY '[' || TO_CHAR (p.prs_perslid_key) || '|' || p.prs_perslid_email || '|' || pf.prs_perslid_naam_full || '] '
, p.prs_perslid_key
ORDER BY 2;
v_errormsg VARCHAR2(1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2(200);
v_count_del NUMBER(10);
v_schedular_user NUMBER(10) := NULL;
BEGIN
v_count_del := 0;
FOR rec IN c1
LOOP
BEGIN
IF rec.aant = 0
THEN
v_errormsg := 'Fout schonen collega';
DELETE
FROM prs_collega
WHERE prs_perslid_key = rec.prs_perslid_key
OR prs_perslid_key_alt = rec.prs_perslid_key;
v_errormsg := 'Fout schonen perslid';
UPDATE prs_perslid
SET prs_perslid_verwijder = SYSDATE
WHERE prs_perslid_key = rec.prs_perslid_key;
fac.trackaction ('PRSDEL', rec.prs_perslid_key, v_schedular_user, NULL, NULL);
v_count_del := v_count_del + 1;
IF MOD (v_count_del, 1000) = 0
THEN
COMMIT;
END IF;
ELSE
fac.writelog ('PRS_PERSLID_SCHONEN', 'I', rec.aanduiding || '/#Verplichtingen: ' || TO_CHAR (rec.aant), 'Persoon niet geschoond');
END IF;
EXCEPTION
WHEN OTHERS
THEN -- Kennelijk heeft persoon toch nog ernstige verplichtingen!
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('PRS_PERSLID_SCHONEN', 'W', rec.aanduiding || v_errormsg, 'Fout schonen persoon');
END;
END LOOP;
fac.writelog ('PRS_PERSLID_SCHONEN', 'S', 'Personen/#geschoond: ' || TO_CHAR (v_count_del), '');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('PRS_PERSLID_SCHONEN', 'E', v_errormsg, '');
COMMIT;
END;
END prs;
/

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

@@ -221,26 +221,22 @@ CREATE_TABLE(prs_bedrijf_bedrijf,0)
VARCHAR2(60)
);
/* Kruistabel met elektronische adressen van een bedrijf, toegepast door PutOrders
* voor Bestellingen, Contracten en Opdrachten enz, zie prs_bedrijfadres_type.
* Bij Opdrachten kan er per opdrachttype een ander adres zijn, het record met mld_typeopdr_key NULL
* is de fallback voor de niet benoemde opdrachttypes.
* prs_bedrijf_key2 is optioneel het bedrijf van de opdrachtGEVER, in (pseudo-)multicompany omgevingen
/* Kruistabel met elektronische adressen van een bedrijf, toegepast door
* PutOrders voor Bestellingen, Contracten en Opdrachten. Bij Opdrachten kan
* er per opdrachttype een ander adres zijn, het record met mld_typeopdr_key NULL
* is de fallback voor de niet benoemde opdrachttypes
*/
CREATE_TABLE(prs_bedrijfadres, 0) (
prs_bedrijfadres_key
NUMBER(10)
CONSTRAINT prs_k_prs_bedrijfadres_key PRIMARY KEY,
prs_bedrijf_key -- opdrachtnemer
prs_bedrijf_key
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_key6 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
prs_bedrijf_key2 -- optioneel specifiek voor deze opdrachtgever
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_key8 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
alg_district_key -- optioneel specifiek voor dit district
alg_district_key
NUMBER(10)
CONSTRAINT prs_r_alg_district_key REFERENCES alg_district(alg_district_key) ON DELETE CASCADE,
alg_locatie_key -- optioneel specifiek voor deze locatie
alg_locatie_key
NUMBER(10)
CONSTRAINT prs_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE,
prs_bedrijfadres_type /* O=Order, B=Bestelling, V=Voorraadinfo, C=Contract, N=Notificatie, I=IOT */
@@ -287,11 +283,11 @@ CREATE_TABLE(prs_bedrijfadres, 0) (
NUMBER(3)
DEFAULT 0
NOT NULL,
prs_bedrijfadres_oa_token_url -- oAuth parameter
prs_bedrijfadres_oa_token_url
VARCHAR2(512),
prs_bedrijfadres_oa_scope -- oAuth parameter
prs_bedrijfadres_oa_scope
VARCHAR2(512),
prs_bedrijfadres_oa_resource -- oAuth parameter
prs_bedrijfadres_oa_resource
VARCHAR2(512),
-- prs_bedrijfadres_lockuser_key
-- NUMBER(10)
@@ -313,11 +309,7 @@ CREATE_TABLE(prs_bedrijfadres, 0) (
prs_bedrijfadres_loglevel
NUMBER(1)
DEFAULT 0
NOT NULL,
prs_bedrijfadres_startdatum
DATE
DEFAULT SYSDATE
NOT NULL
NOT NULL
);
CREATE_TABLE(prs_kostenplaatsgrp,0) (
@@ -481,9 +473,6 @@ CREATE_TABLE(prs_afdeling,0)
prs_afdeling_verwijder
DATE
DEFAULT NULLDATUM,
-- prs_perslid_key_verantw -- afdelingsverantwoordelijke (irt o.a. meldingen-instemming)
-- NUMBER(10)
-- CONSTRAINT prs_r_prs_perslid_key22 REFERENCES prs_perslid(prs_perslid_key),
CONSTRAINT prs_u_prs_afdeling_upper UNIQUE(prs_afdeling_upper, prs_afdeling_parentkey, prs_bedrijf_key, prs_afdeling_verwijder),
CONSTRAINT prs_c_prs_afdeling_parent
CHECK ((prs_afdeling_parentkey IS NULL AND prs_bedrijf_key IS NOT NULL)
@@ -663,9 +652,9 @@ CREATE_TABLE(prs_perslid,0)
NUMBER(6,2)
CONSTRAINT prs_c_prs_perslid_uurloon CHECK(NVL(prs_perslid_uurloon, 0) >= 0),
prs_perslid_telefoonnr
VARCHAR2(20),
VARCHAR2(15),
prs_perslid_mobiel
VARCHAR2(20),
VARCHAR2(15),
prs_perslid_email
VARCHAR2(200),
prs_perslid_ingids /* is zichtbaar in telefoongids */
@@ -716,8 +705,8 @@ CREATE_TABLE(prs_perslid,0)
VARCHAR2(256),
prs_perslid_externsyncdate
DATE,
prs_perslid_externoslogin -- SCIM only, not uppercased or length-limited
VARCHAR2(256),
prs_perslid_externoslogin -- SCIM only, not uppercased
VARCHAR2(30),
prs_perslid_terms_datum
DATE,
prs_perslid_terms_version /* filename of accepted terms of condition */
@@ -732,12 +721,6 @@ CREATE_TABLE(prs_perslid,0)
NUMBER(1)
DEFAULT 0
NOT NULL,
prs_perslid_key_verantw -- fallback als elke structuur faalt (irt o.a. meldingen-instemming)
NUMBER(10)
CONSTRAINT prs_r_prs_perslid_key23 REFERENCES prs_perslid(prs_perslid_key),
prs_kostenplaats_key -- optioneel een (default) persoonlijke kostenplaats
NUMBER(10)
CONSTRAINT prs_r_prs_kostenplaats_key5 REFERENCES prs_kostenplaats(prs_kostenplaats_key),
CONSTRAINT prs_c_prs_perslid_datums CHECK(prs_perslid_einddatum >= prs_perslid_ingangsdatum)
);
@@ -755,14 +738,6 @@ ALTER TABLE fac_perfmon_sample ADD (
CONSTRAINT fac_r_prs_perslid_key1 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
);
ALTER TABLE fac_notificatie_job ADD (
prs_perslid_key NUMBER(10) -- owner
CONSTRAINT fac_r_prs_perslid_key12
REFERENCES prs_perslid(prs_perslid_key),
prs_perslid_key_receiver NUMBER(10)
REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
);
ALTER TABLE fac_notificatie ADD(
prs_perslid_key_sender
NUMBER(10)
@@ -836,14 +811,8 @@ ALTER TABLE fac_usrrap ADD (
ALTER TABLE fac_gui_counter ADD (
prs_perslid_key
NUMBER(10)
CONSTRAINT fac_r_guicnt_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
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
@@ -864,13 +833,6 @@ ALTER TABLE alg_terreinsector ADD
CONSTRAINT alg_r_prs_perslid_key4 REFERENCES prs_perslid(prs_perslid_key)
);
ALTER TABLE alg_onroerendgoed_note ADD
(
prs_perslid_key
NUMBER (10)
CONSTRAINT alg_r_prs_perslid_key5 REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL
);
ALTER TABLE prs_bedrijfadres
ADD prs_bedrijfadres_lockuser_key
NUMBER(10)
@@ -889,12 +851,6 @@ ALTER TABLE prs_kostenplaats ADD
NUMBER(10)
CONSTRAINT prs_r_prs_perslid_key9 REFERENCES prs_perslid(prs_perslid_key)
);
ALTER TABLE prs_afdeling ADD
(
prs_perslid_key_verantw
NUMBER(10)
CONSTRAINT prs_r_prs_perslid_key22 REFERENCES prs_perslid(prs_perslid_key)
);
ALTER TABLE fac_import ADD
(
@@ -1049,20 +1005,13 @@ CREATE_TABLE(prs_ruimteafdeling,0)
DEFAULT 100
CONSTRAINT prs_c_prs_riumteafd_bezetting2 CHECK
(prs_ruimteafdeling_bezetting is not null AND prs_ruimteafdeling_bezetting BETWEEN 0 AND 100),
prs_ruimteafdeling_ingangsdatum
DATE
DEFAULT SYSDATE
NOT NULL,
prs_ruimteafdeling_einddatum
DATE,
prs_ruimteafdeling_aanmaak
DATE
DEFAULT SYSDATE,
prs_ruimteafdeling_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT prs_u_ruimteafdeling UNIQUE(prs_afdeling_key, alg_ruimte_key, prs_ruimteafdeling_ingangsdatum, prs_ruimteafdeling_verwijder),
CONSTRAINT prs_c_ruimteafdeling_van_tot CHECK(prs_ruimteafdeling_einddatum IS NULL OR (prs_ruimteafdeling_einddatum IS NOT NULL AND prs_ruimteafdeling_einddatum > prs_ruimteafdeling_ingangsdatum))
CONSTRAINT prs_u_ruimteafdeling UNIQUE(prs_afdeling_key, alg_ruimte_key, prs_ruimteafdeling_verwijder)
);
@@ -1114,8 +1063,6 @@ CREATE_TABLE(prs_kenmerk,0)
VARCHAR2(50)
,prs_kenmerk_upper
VARCHAR2(50)
,prs_kenmerk_code
VARCHAR2(60)
,prs_kenmerk_hint
VARCHAR2(255)
,prs_kenmerk_default
@@ -1243,16 +1190,6 @@ prs_contactpersoon_verwijder
DATE
);
ALTER TABLE ins_deel_uitgifte ADD
(
prs_perslid_key
NUMBER(10)
CONSTRAINT ins_r_prs_perslid_key1 REFERENCES prs_perslid (prs_perslid_key) ON DELETE CASCADE,
prs_contactpersoon_key
NUMBER (10)
CONSTRAINT ins_r_prs_contactpersoon_key REFERENCES prs_contactpersoon(prs_contactpersoon_key) ON DELETE CASCADE
);
CREATE_TABLE(prs_contactpersoon_locatie, 0)
(
prs_contactpersoon_locatie_key
@@ -1314,10 +1251,6 @@ prs_bedrijf_voor_key
prs_bdl_t_uitvoertijd
MLD_T_UITVOERTIJD
CONSTRAINT prs_c_prs_bdl_t_uitvoertijd CHECK(prs_bdl_t_uitvoertijd.tijdsduur >= 0), /* of null */
mld_autoorder
NUMBER(1)
DEFAULT 1
NOT NULL,
CONSTRAINT prs_u_prs_bedrijfdienstloc_key UNIQUE (prs_bedrijf_key, prs_perslid_key, prs_dienst_key, alg_locatie_key, alg_gebouw_key,prs_bedrijf_voor_key),
CONSTRAINT prs_c_prs_bedrijfdienstloc CHECK (alg_locatie_key IS NULL OR alg_gebouw_key IS NULL),
CONSTRAINT prs_c_prs_bdlbp1 CHECK ((prs_bedrijf_key IS NOT NULL AND prs_perslid_key IS NULL) OR (prs_bedrijf_key IS NULL AND prs_perslid_key IS NOT NULL))
@@ -1379,11 +1312,7 @@ CREATE_TABLE(prs_kostensoort,0) (
prs_kostensoort_aanmaak
DATE DEFAULT SYSDATE,
prs_kostensoort_altcode
VARCHAR2(60),
prs_kostensoort_eind
DATE,
prs_kostensoort_verwijder
DATE
VARCHAR2(60)
-- fin_btwtabelwaarde_key
-- NUMBER(10)
-- CONSTRAINT prs_r_fin_btwtabelwaarde_key REFERENCES fin_btwtabelwaarde (fin_btwtabelwaarde_key)
@@ -1410,6 +1339,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
@@ -1470,7 +1411,7 @@ CREATE_TABLE(prs_perslid_cols, 0)
NUMBER(10)
NOT NULL,
prs_perslid_cols_column_name
VARCHAR2(128) NOT NULL,
VARCHAR2(32) NOT NULL,
prs_perslid_cols_visible /* V;Visible; I;Invisible */
VARCHAR2(1)
DEFAULT 'V'

View File

@@ -262,19 +262,18 @@ BEGIN
END IF;
END IF;
IF (NVL(:new.prs_perslid_wachtwoord_hash, 'X') <> NVL(:old.prs_perslid_wachtwoord_hash, 'X'))
OR ( fac.getsetting ('login_use_email') = 0
AND ( :new.prs_perslid_oslogin IS NULL AND :old.prs_perslid_oslogin IS NOT NULL
OR :new.prs_perslid_oslogin2 IS NULL AND :old.prs_perslid_oslogin2 IS NOT NULL
)
)
OR ( fac.getsetting ('login_use_email') = 1
AND :new.prs_perslid_email IS NULL
AND :old.prs_perslid_email IS NOT NULL
)
OR ( :new.prs_perslid_inactief IS NOT NULL
AND :old.prs_perslid_inactief IS NULL
)
IF fac.getsetting ('login_use_email') = 0
AND ( :new.prs_perslid_oslogin IS NULL AND :old.prs_perslid_oslogin IS NOT NULL
OR :new.prs_perslid_oslogin2 IS NULL AND :old.prs_perslid_oslogin2 IS NOT NULL
OR NVL(:new.prs_perslid_wachtwoord_hash, 'X') <> NVL(:old.prs_perslid_wachtwoord_hash, 'X')
)
OR ( fac.getsetting ('login_use_email') = 1
AND :new.prs_perslid_email IS NULL
AND :old.prs_perslid_email IS NOT NULL
)
OR ( :new.prs_perslid_inactief IS NOT NULL
AND :old.prs_perslid_inactief IS NULL
)
THEN -- Merk op: anno 5.3.2 wordt een persoon die *nu* is ingelogd hier niet
-- automatisch door uitgelogd
:new.prs_perslid_credentials_datum := SYSDATE;
@@ -467,8 +466,6 @@ FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_kenmerk_key, prs_s_prs_kenmerk_key);
UPDATE_UPPER(prs_kenmerk_omschrijving, prs_kenmerk_upper,prs_kenmerk);
UPDATE_UPPER(prs_kenmerk_code, prs_kenmerk_code, prs_kenmerk);
IF (:new.prs_kenmerk_verwijder IS NOT NULL AND :old.prs_kenmerk_verwijder IS NULL AND
:new.prs_kenmerk_systeem = 1)
THEN
@@ -889,6 +886,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

@@ -575,7 +575,6 @@ CREATE_VIEW(prs_v_afdeling, 0)
prs_afdeling_aanmaak,
prs_afdeling_verwijder,
prs_bedrijf_key,
prs_perslid_key_verantw,
niveau ) AS
SELECT a.prs_afdeling_key,
a.prs_afdeling_parentkey,
@@ -593,7 +592,6 @@ CREATE_VIEW(prs_v_afdeling, 0)
a.prs_afdeling_aanmaak,
a.prs_afdeling_verwijder,
b.prs_bedrijf_key,
a.prs_perslid_key_verantw,
b.niveau
FROM prs_afdeling a, prs_v_afdeling_fullnames b
WHERE a.prs_afdeling_key=b.prs_afdeling_key;
@@ -1106,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',
@@ -1120,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',
@@ -1136,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',
@@ -1152,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',
@@ -1166,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',
@@ -1182,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',
@@ -1484,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
@@ -1674,11 +1669,7 @@ CREATE_VIEW(prs_v_udr_bedrijf, 0)
regio,
coordx,
coordy,
fclt_3d_locatie_key,
bedrijf_uitvoertijd_dagen,
bedrijf_uitvoertijd_uren,
scope_uitvoertijd_dagen,
scope_uitvoertijd_uren
fclt_3d_locatie_key
)
AS
SELECT b.prs_bedrijf_key key,
@@ -1719,11 +1710,7 @@ AS
lcl.l ('lcl_all') regio,
bdl.alg_locatie_key fclt_3d_locatie_key,
prs_bedrijf_x,
prs_bedrijf_y,
DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'D', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_dagen,
DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'U', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_uren,
DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'D', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_dagen,
DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'U', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_uren
prs_bedrijf_y
FROM prs_bedrijf b,
prs_bedrijfdienstlocatie bdl,
prs_dienst d,
@@ -1773,11 +1760,7 @@ AS
ar.alg_regio_omschrijving regio,
bdl.alg_locatie_key fclt_3d_locatie_key,
prs_bedrijf_x,
prs_bedrijf_y,
DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'D', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_dagen,
DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'U', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_uren,
DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'D', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_dagen,
DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'U', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_uren
prs_bedrijf_y
FROM prs_bedrijf b,
prs_bedrijfdienstlocatie bdl,
prs_dienst d,
@@ -1833,11 +1816,7 @@ AS
lcl.l ('lcl_all') regio,
NULL fclt_3d_locatie_key,
prs_bedrijf_x,
prs_bedrijf_y,
DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'D', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_dagen,
DECODE (b.prs_bedrijf_t_uitvoertijd.eenheid, 'U', b.prs_bedrijf_t_uitvoertijd.tijdsduur, NULL) bedrijf_uitvoertijd_uren,
DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'D', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_dagen,
DECODE (bdl.prs_bdl_t_uitvoertijd.eenheid, 'U', bdl.prs_bdl_t_uitvoertijd.tijdsduur, NULL) scope_uitvoertijd_uren
prs_bedrijf_y
FROM prs_bedrijf b,
prs_bedrijfdienstlocatie bdl,
prs_dienst d,
@@ -1849,36 +1828,5 @@ AS
AND bdl.alg_gebouw_key IS NULL
AND bdl.alg_locatie_key IS NULL;
-- For auditreporting on Support-logins and impersonations
-- Gebaseerd op lcl_impersonatelog_start / lcl_impersonatelog_end
CREATE_VIEW(prs_v_rap_impersonations, 0)
AS
SELECT t1.fac_tracking_key,
t1.fac_tracking_datum datum,
--t1.prs_perslid_key fclt_3d_perslid_key,
pf1.prs_perslid_naam_friendly naam,
t1.fac_tracking_oms omschrijving
FROM fac_tracking t1, prs_v_perslid_fullnames_all pf1
WHERE t1.fac_tracking_refkey = pf1.prs_perslid_key
AND t1.fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'PRSLOG')
AND t1.fac_tracking_oms LIKE '->%';
-- Gebaseerd op lcl_logged_on / lcl_logged_off
CREATE_VIEW(prs_v_rap_supportaccess, 0)
AS
SELECT t1.fac_tracking_key,
t1.fac_tracking_datum datum,
--t1.prs_perslid_key fclt_3d_perslid_key,
pf1.prs_perslid_naam_friendly naam,
t1.fac_tracking_oms omschrijving
FROM fac_tracking t1, prs_v_perslid_fullnames_all pf1
WHERE t1.fac_tracking_refkey = pf1.prs_perslid_key
AND t1.fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'PRSLOG')
AND t1.fac_tracking_oms LIKE '_LOGO%'; /* >LOGON en <LOGOFF */
REGISTERRUN('$Id$')
#endif // PRS

View File

@@ -57,17 +57,10 @@ create index res_i_res_rsv_ruimte4 on res_rsv_ruimte(res_ruimte_opstel_key);
create index res_i_res_rsv_ruimte5 on res_rsv_ruimte(res_activiteit_key);
create index res_i_res_rsv_ruimte6 on res_rsv_ruimte(res_rsv_ruimte_van);
CREATE INDEX res_i_res_reservering1 ON res_reservering(mld_melding_key);
CREATE UNIQUE INDEX res_i_res_disc_params1 ON res_disc_params(res_ins_discipline_key);
CREATE UNIQUE INDEX res_i_res_activiteitdisc1 ON res_activiteitdiscipline(res_discipline_key, res_activiteit_key);
CREATE UNIQUE INDEX res_i_res_ruimte_sync ON res_ruimte_sync(res_ruimte_key);
CREATE INDEX res_i_res_srtkenmerk1 ON res_srtkenmerk(res_srtkenmerk_code);
CREATE INDEX res_i_res_kenmerk2 ON res_kenmerk(res_kenmerk_code);
REGISTERONCE('$Id$')
#endif // RES

View File

@@ -6,11 +6,7 @@
*/
CREATE OR REPLACE PACKAGE res AS
FUNCTION res_copy_res (pres_key IN NUMBER,
newdate IN DATE,
puserkey NUMBER,
pmetbez NUMBER DEFAULT 0,
newreskey NUMBER DEFAULT NULL) RETURN NUMBER;
FUNCTION res_copy_res (pres_key IN NUMBER, newdate IN DATE, puserkey NUMBER, pmetbez NUMBER DEFAULT 0) RETURN NUMBER;
FUNCTION res_copy_deelres (prsv_ruimte_key IN NUMBER,
newdate IN DATE,
puserkey NUMBER,
@@ -47,26 +43,17 @@ END res;
CREATE OR REPLACE PACKAGE BODY res
AS
FUNCTION res_copy_res (pres_key IN NUMBER,
newdate IN DATE,
puserkey NUMBER,
pmetbez NUMBER DEFAULT 0,
newreskey NUMBER DEFAULT NULL) RETURN NUMBER
FUNCTION res_copy_res (pres_key IN NUMBER, newdate IN DATE, puserkey NUMBER, pmetbez NUMBER DEFAULT 0) RETURN NUMBER
AS
nextkey res_reservering.res_reservering_key%TYPE;
rsv_key res_rsv_ruimte.res_rsv_ruimte_key%TYPE;
newvolgnr res_rsv_ruimte.res_rsv_ruimte_volgnr%TYPE;
BEGIN
IF newreskey IS NOT NULL
THEN
nextkey := newreskey;
ELSE
SELECT res_s_res_reservering_key.NEXTVAL INTO nextkey FROM DUAL;
INSERT INTO res_reservering (res_reservering_key, res_reservering_ispool)
SELECT nextkey, res_reservering_ispool
FROM res_reservering
WHERE res_reservering_key = pres_key;
END IF;
SELECT res_s_res_reservering_key.NEXTVAL INTO nextkey FROM DUAL;
INSERT INTO res_reservering (res_reservering_key, res_reservering_ispool)
SELECT nextkey, res_reservering_ispool
FROM res_reservering
WHERE res_reservering_key = pres_key;
newvolgnr := 1;
FOR prsv_ruimte
@@ -142,8 +129,7 @@ AS
res_rsv_ruimte_contact_key,
res_rsv_ruimte_bezoekers,
res_rsv_ruimte_cvab_mode,
res_rsv_ruimte_telefoon,
res_rsv_ruimte_extern_meeting
res_rsv_ruimte_telefoon
)
SELECT nextkey,
COALESCE(newreskey, res_reservering_key),
@@ -164,8 +150,7 @@ AS
res_rsv_ruimte_contact_key,
res_rsv_ruimte_bezoekers,
res_rsv_ruimte_cvab_mode,
res_rsv_ruimte_telefoon,
res_rsv_ruimte_extern_meeting
res_rsv_ruimte_telefoon
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_key = prsv_ruimte_key;
-- Now make the copy have the same childeren as the original
@@ -378,7 +363,7 @@ AS
-- Kopieer de artikelen van referentie ruimte
BEGIN
-- behoud de oorspronkelijke artikeltijd indien deze binnen de deelreserveringstijd valt
INSERT INTO res_rsv_artikel (res_artikel_key, res_rsv_artikel_aantal, res_rsv_ruimte_key, res_rsv_artikel_prijs, res_rsv_artikel_levering, res_rsv_artikel_afhalen, res_rsv_artikel_omschrijving
INSERT INTO res_rsv_artikel (res_artikel_key, res_rsv_artikel_aantal, res_rsv_ruimte_key, res_rsv_artikel_prijs, res_rsv_artikel_levering, res_rsv_artikel_afhalen
)
SELECT ra.res_artikel_key,
ra.res_rsv_artikel_aantal,
@@ -386,22 +371,20 @@ AS
ra.res_rsv_artikel_prijs,
TRUNC (rsv_to.res_rsv_ruimte_van)
+ (ra.res_rsv_artikel_levering - TRUNC (ra.res_rsv_artikel_levering)),
ra.res_rsv_artikel_afhalen,
ra.res_rsv_artikel_omschrijving
ra.res_rsv_artikel_afhalen
FROM res_rsv_artikel ra
WHERE TRUNC (rsv_to.res_rsv_ruimte_van)
+ (ra.res_rsv_artikel_levering - TRUNC (ra.res_rsv_artikel_levering)) BETWEEN new_ruimte_van
AND new_ruimte_tot
AND ra.res_rsv_ruimte_key = prsv_ruimte_key_from;
-- of reset de oorspronkelijke artikeltijd naar begin van deelreservering indien deze buiten de deelreserveringstijd valt
INSERT INTO res_rsv_artikel (res_artikel_key, res_rsv_artikel_aantal, res_rsv_ruimte_key, res_rsv_artikel_prijs, res_rsv_artikel_levering, res_rsv_artikel_omschrijving
INSERT INTO res_rsv_artikel (res_artikel_key, res_rsv_artikel_aantal, res_rsv_ruimte_key, res_rsv_artikel_prijs, res_rsv_artikel_levering
)
SELECT ra.res_artikel_key,
ra.res_rsv_artikel_aantal,
prsv_ruimte_key_to,
ra.res_rsv_artikel_prijs,
new_ruimte_van,
ra.res_rsv_artikel_omschrijving
new_ruimte_van
FROM res_rsv_artikel ra
WHERE NOT TRUNC (rsv_to.res_rsv_ruimte_van)
+ (ra.res_rsv_artikel_levering - TRUNC (ra.res_rsv_artikel_levering)) BETWEEN new_ruimte_van AND new_ruimte_tot
@@ -2322,7 +2305,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
@@ -2337,10 +2320,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
@@ -2433,9 +2412,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
@@ -2467,7 +2444,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

@@ -15,7 +15,6 @@ CREATE_TABLE (res_disc_params,0)
res_disc_params_noti_dagen NUMBER(2), /* aantal dagen voor/achteraf voor reminder */
res_disc_params_expire_dagen NUMBER(3) DEFAULT 1 NOT NULL, /* aantal (hele) dagen vooraf waarna niet meer mag worden gewijzigd */
res_disc_params_expire_tijd NUMBER(5,2), /* grenstijdstip van de dag voor die freeze (bv 16.5) */
res_disc_params_expire_wkdag NUMBER(1), /* grensweekdag (getweekdaynum, 1-7) voor die freeze (zodat je bv donderdag 17.00 kunt configureren) */
res_disc_params_cancel_dagen NUMBER(3) DEFAULT 1 NOT NULL, /* aantal (hele) dagen vooraf waarna niet meer kostenloos mag worden gennuleerd/verwijderd */
res_disc_params_remoteurl VARCHAR2(512), /* URL van remote (FACILITOR-) service voor vergaderzalen van andere accounts */
res_disc_params_maxduur NUMBER(5,2) DEFAULT 0,
@@ -250,7 +249,7 @@ CREATE_TABLE(res_deel, 0)
CONSTRAINT res_c_res_deel_prijs_vast1 CHECK(res_deel_prijs_vast IN (0,1))
, res_deel_opmerking
VARCHAR2(2000)
, res_deel_bulkreserveerbaar NUMBER(1) DEFAULT(0) NOT NULL
, res_deel_bulkreserveerbaar NUMBER(1) DEFAULT(NULL)
CONSTRAINT res_c_res_deel_bulkrsveerbaar CHECK(res_deel_bulkreserveerbaar IN (0,1))
, res_discipline_key
NUMBER(10)
@@ -354,9 +353,6 @@ CREATE_TABLE(res_artikel, 0)
VARCHAR2(256)
, res_artikel_externsyncdate
DATE
, res_artikel_vrije_omschrijving
NUMBER(1)
DEFAULT(0) NOT NULL
);
CREATE_TABLE(res_arrangement,0)
@@ -751,8 +747,6 @@ CREATE_TABLE(res_rsv_artikel, 0)
VARCHAR2(256)
, res_rsv_artikel_externsyncdate
DATE
, res_rsv_artikel_omschrijving
VARCHAR2(40)
);
@@ -778,8 +772,6 @@ CREATE_TABLE(res_srtkenmerk, 0)
VARCHAR2(50)
, res_srtkenmerk_upper
VARCHAR2(50)
, res_srtkenmerk_code
VARCHAR2(60)
, res_srtkenmerk_kenmerktype
VARCHAR2(1)
, res_srtkenmerk_systeem
@@ -835,8 +827,6 @@ CREATE_TABLE(res_kenmerk, 0)
DEFAULT 'A'
, res_kenmerk_omschrijving
VARCHAR2(50) /* optionele overrule van srtkenmerk_omschrijving */
, res_kenmerk_code
VARCHAR2(60)
, res_kenmerk_toonbaar
NUMBER(1)
, res_kenmerk_inlijst

View File

@@ -303,11 +303,9 @@ FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(res_srtkenmerk_key, res_s_res_srtkenmerk_key);
UPDATE_UPPER(res_srtkenmerk_omschrijving, res_srtkenmerk_upper,res_srtkenmerk);
UPDATE_UPPER(res_srtkenmerk_code, res_srtkenmerk_code, res_srtkenmerk);
UPDATE_AANMAAKDATUM(res_srtkenmerk, res_srtkenmerk_aanmaak);
IF (:new.res_srtkenmerk_verwijder IS NOT NULL AND :old.res_srtkenmerk_verwijder IS NULL AND
BITAND(:new.res_srtkenmerk_systeem, 1) = 1)
:new.res_srtkenmerk_systeem = 1)
THEN
raise_application_error(-20000, 'RES_C_RES_SRTKENMERK_SYSTEEM');
END IF;
@@ -407,22 +405,12 @@ CREATE_TRIGGER(res_t_res_rsv_ruimte_B_IU)
BEFORE INSERT OR UPDATE ON res_rsv_ruimte
FOR EACH ROW
BEGIN
-- Niet waterdicht, meestal adequaat
IF NOT UPDATING('res_rsv_ruimte_satisfaction')
THEN
IF :old.res_status_bo_key=6 THEN raise_application_error(-20001, 'Reserveringsgegevens '||:new.res_rsv_ruimte_key||'/'||:new.res_rsv_ruimte_volgnr||' zijn verwerkt; wijzigen is niet meer toegestaan.'); END IF;
END IF;
IF :old.res_status_bo_key=6 THEN raise_application_error(-20001, 'Reserveringsgegevens '||:new.res_rsv_ruimte_key||'/'||:new.res_rsv_ruimte_volgnr||' zijn verwerkt; wijzigen is niet meer toegestaan.'); END IF;
BEGIN IF :new.res_rsv_ruimte_verwijder IS NOT NULL OR (:new.res_rsv_ruimte_verwijder IS NULL AND :old.res_rsv_ruimte_verwijder IS NOT NULL) THEN UPDATE res_rsv_artikel SET res_rsv_artikel_verwijder = :new.res_rsv_ruimte_verwijder WHERE res_rsv_artikel.res_rsv_ruimte_key = :new.res_rsv_ruimte_key AND res_rsv_artikel.res_rsv_artikel_verwijder IS NULL; END IF; END;
BEGIN IF :new.res_rsv_ruimte_verwijder IS NOT NULL OR (:new.res_rsv_ruimte_verwijder IS NULL AND :old.res_rsv_ruimte_verwijder IS NOT NULL) THEN UPDATE res_rsv_deel SET res_rsv_deel_verwijder = :new.res_rsv_ruimte_verwijder WHERE res_rsv_deel.res_rsv_ruimte_key = :new.res_rsv_ruimte_key AND res_rsv_deel.res_rsv_deel_verwijder IS NULL; END IF; END;
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;
/
@@ -433,7 +421,6 @@ BEGIN
-- FSN#13902: we tolereren het achteraf verplicht maken
UPDATE_PRIMARY_KEY(res_kenmerk_key, res_s_res_kenmerk_key);
UPDATE_AANMAAKDATUM(res_kenmerk, res_kenmerk_aanmaak);
UPDATE_UPPER(res_kenmerk_code, res_kenmerk_code, res_kenmerk);
END;
/

View File

@@ -906,7 +906,6 @@ CREATE_VIEW(res_v_udr_reserveringincl, 1)
invoerdatum,
datum,
gastheer,
zichtbare_gastheer,
contact,
gastheer_email,
contact_email,
@@ -951,7 +950,6 @@ CREATE_VIEW(res_v_udr_reserveringincl, 1)
srtactiviteit_key,
activiteitsoort,
opmerking,
bezorgmode,
voorziening_discipline_key,
voorziening_type,
voorziening_catalogus,
@@ -973,11 +971,6 @@ AS
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_host_key),
DECODE (p.prs_perslid_visibility,
1, (SELECT prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_host_key),
a.prs_afdeling_omschrijving) zichtbare_gastheer,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = rrr.res_rsv_ruimte_contact_key),
@@ -1145,7 +1138,6 @@ AS
rsa.res_srtactiviteit_key,
rsa.res_srtactiviteit_omschrijving,
rrr.res_rsv_ruimte_opmerking,
DECODE(rrr.res_rsv_ruimte_cvab_mode, 0, lcl.l('lcl_res_afhalen'), 1, lcl.l('lcl_res_bezorgen'), ''),
voorz.ins_discipline_key,
voorz.vtype,
voorz.catalogus,

View File

@@ -1,564 +0,0 @@
/*
* Update script van FACILITOR schema
* $Revision$
* $Id$
*/
#include "prologue.inc"
COMMIT;
SET DEFINE OFF
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#70553
UPDATE fac_setting
SET fac_setting_pvalue =
(SELECT prs_perslid_apikey
FROM prs_perslid
WHERE prs_perslid_oslogin = '_PUTORDERS')
WHERE fac_setting_pvalue IS NULL
AND fac_setting_name = 'puo_fclt_web_apikey';
/////////////////////////////////////////////////////////////////////////////////////////// AAGB#75630
BEGIN
adm.tryalter ('TABLE mld_kenmerk DROP CONSTRAINT mld_u_mld_kenmerk_code DROP INDEX');
adm.tryalter ('TABLE mld_srtkenmerk DROP CONSTRAINT mld_u_mld_srtkenmerk_code DROP INDEX');
END;
/
ALTER TABLE alg_kenmerk ADD alg_kenmerk_code VARCHAR2(60);
ALTER TABLE bes_kenmerk ADD bes_kenmerk_code VARCHAR2(60);
ALTER TABLE bez_kenmerk ADD bez_kenmerk_code VARCHAR2(60);
ALTER TABLE cnt_kenmerk ADD cnt_kenmerk_code VARCHAR2(60);
ALTER TABLE faq_kenmerk ADD faq_kenmerk_code VARCHAR2(60);
ALTER TABLE fin_kenmerk ADD fin_kenmerk_code VARCHAR2(60);
ALTER TABLE ins_kenmerk ADD ins_kenmerk_code VARCHAR2(60);
ALTER TABLE prs_kenmerk ADD prs_kenmerk_code VARCHAR2(60);
ALTER TABLE res_kenmerk ADD res_kenmerk_code VARCHAR2(60);
ALTER TABLE bes_srtkenmerk ADD bes_srtkenmerk_code VARCHAR2(60);
ALTER TABLE cnt_srtkenmerk ADD cnt_srtkenmerk_code VARCHAR2(60);
ALTER TABLE ins_srtkenmerk ADD ins_srtkenmerk_code VARCHAR2(60);
ALTER TABLE res_srtkenmerk ADD res_srtkenmerk_code VARCHAR2(60);
ALTER TABLE fac_imp_flex ADD (srtkenmerk_code VARCHAR2(255), kenmerk_code VARCHAR2(255));
CREATE INDEX bes_i_bes_srtkenmerk1 ON bes_srtkenmerk(bes_srtkenmerk_code);
CREATE INDEX cnt_i_cnt_srtkenmerk1 ON cnt_srtkenmerk(cnt_srtkenmerk_code);
CREATE INDEX ins_i_ins_srtkenmerk2 ON ins_srtkenmerk(ins_srtkenmerk_code);
CREATE INDEX mld_i_mld_srtkenmerk1 on mld_srtkenmerk(mld_srtkenmerk_code);
CREATE INDEX res_i_res_srtkenmerk1 ON res_srtkenmerk(res_srtkenmerk_code);
CREATE INDEX alg_i_alg_kenmerk1 ON alg_kenmerk(alg_kenmerk_code);
CREATE INDEX bes_i_bes_kenmerk1 ON bes_kenmerk(bes_kenmerk_code);
CREATE INDEX bez_i_bez_kenmerk1 ON bez_kenmerk(bez_kenmerk_code);
CREATE INDEX cnt_i_cnt_kenmerk1 ON cnt_kenmerk(cnt_kenmerk_code);
CREATE INDEX faq_i_faq_kenmerk1 ON faq_kenmerk(faq_kenmerk_code);
CREATE INDEX fin_i_fin_kenmerk1 ON fin_kenmerk(fin_kenmerk_code);
CREATE INDEX ins_i_ins_kenmerk1 ON ins_kenmerk(ins_kenmerk_code);
CREATE INDEX mld_i_mld_kenmerk3 ON mld_kenmerk(mld_kenmerk_code);
CREATE INDEX prs_i_prs_kenmerk1 ON prs_kenmerk(prs_kenmerk_code);
CREATE INDEX res_i_res_kenmerk2 ON res_kenmerk(res_kenmerk_code);
-- Kolommen voor kenmerken transport leeg maken om de code velden op de juiste plaats te krijgen.
DELETE FROM fac_usrrap_cols
WHERE fac_usrrap_key IN
(SELECT fac_usrrap_key
FROM fac_usrrap
WHERE UPPER(fac_usrrap_view_name) LIKE 'FAC_V_EXP_FLEX%'
);
/////////////////////////////////////////////////////////////////////////////////////////// NYBU#74881
INSERT INTO fac_setting (fac_setting_module
, fac_setting_flags
, fac_functie_key
, fac_setting_name
, fac_setting_type
, fac_setting_default
, fac_setting_pvalue
, fac_setting_description
)
SELECT fac_setting_module
, fac_setting_flags
, fac_functie_key
, 'res_forselect_options'
, fac_setting_type
, fac_setting_default
, fac_setting_pvalue
, 'for selecting rooms: 0=default, +1=no plantable image, +2=tooltip on room/object, +4=room description popup only'
FROM fac_setting
WHERE fac_setting_name = 'res_planbord_options';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#76751
CREATE UNIQUE INDEX res_i_res_ruimte_sync ON res_ruimte_sync(res_ruimte_key);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#67535
UPDATE fac_import_app
SET fac_functie_key = (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_FACTAB')
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'
, 'GENERICCSV'
)
AND i.fac_functie_key = f.fac_functie_key
AND f.fac_functie_code = 'WEB_FACFAC'
);
UPDATE fac_usrrap
SET fac_functie_key = (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_FACTAB')
WHERE fac_usrrap_key IN
( SELECT r.fac_usrrap_key
FROM fac_usrrap r
, fac_functie f
WHERE r.fac_usrrap_view_name IN ( 'fac_v_usage_statistics'
, 'fac_v_usage_statistics_all'
)
AND r.fac_functie_key = f.fac_functie_key
AND f.fac_functie_code = 'WEB_FACFAC'
);
UPDATE fac_menuitems
SET fac_functie_key = (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_FACTAB')
WHERE fac_menuitems_key IN
( SELECT m.fac_menuitems_key
FROM fac_menuitems m
, fac_functie f
WHERE m.fac_menuitems_label IN ( 'lcl_menu_fac_exporteren'
, 'lcl_menu_fac_importeren'
, 'lcl_menu_api_list'
, 'lcl_menu_aut_sp'
, 'lcl_menu_fac_anytable'
, 'lcl_menu_fac_anysql'
, 'lcl_menu_fac_anyupload'
)
AND m.fac_functie_key = f.fac_functie_key
AND f.fac_functie_code = 'WEB_FACFAC'
);
UPDATE fac_menu
SET fac_functie_key = (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_FACTAB')
WHERE fac_menu_key IN
( SELECT m.fac_menu_key
FROM fac_menu m
, fac_functie f
WHERE m.fac_menu_altlabel IN ( 'lcl_menu_fac_exporteren'
, 'lcl_menu_fac_importeren'
, 'lcl_menu_api_list'
, 'lcl_menu_aut_sp'
, 'lcl_menu_fac_anytable'
, 'lcl_menu_fac_anysql'
, 'lcl_menu_fac_anyupload'
)
AND m.fac_functie_key = f.fac_functie_key
AND f.fac_functie_code = 'WEB_FACFAC'
);
// nieuwe functie ten behoeve van BLCC#75816
DEF_FAC_FUNCTIE3('WEB_FINMGT', 'FIN', 0, 0, 2);
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
INSERT INTO fac_groeprechten
( fac_groep_key, fac_functie_key, ins_discipline_key
, fac_gebruiker_prs_level_read, fac_gebruiker_alg_level_read
, fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_write
)
SELECT *
FROM (SELECT fac_groep_key
, (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_'||m.module||'MGT') fin_functie_key
, ins_discipline_key
, fac_gebruiker_prs_level_read
, fac_gebruiker_alg_level_read
, fac_gebruiker_prs_level_write
, fac_gebruiker_alg_level_write
FROM fac_groeprechten r
, (SELECT 'ALG' module FROM DUAL UNION SELECT 'BEZ' FROM DUAL UNION SELECT 'FIN' FROM DUAL UNION SELECT 'PRS' FROM DUAL) m
WHERE fac_functie_key = (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_PRSSYS')
) i
WHERE (i.fac_groep_key, i.fin_functie_key, i.ins_discipline_key) NOT IN
(SELECT c.fac_groep_key, c.fac_functie_key, c.ins_discipline_key
FROM fac_groeprechten c
);
UPDATE fac_menuitems
SET fac_functie_key = (SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_'||fac_menuitems_module||'MGT')
WHERE fac_menuitems_key IN
( SELECT m.fac_menuitems_key
FROM fac_menuitems m
, fac_functie f
WHERE m.fac_menuitems_label IN ( 'lcl_menu_alg_districtkenmerken'
, 'lcl_menu_alg_locatiekenmerken'
, 'lcl_menu_alg_terreinkenmerken'
, 'lcl_menu_alg_gebouwkenmerken'
, 'lcl_menu_alg_verdiepkenmerken'
, 'lcl_menu_alg_ruimtekenmerken'
, 'lcl_menu_prs_bedrijfkenmerken'
, 'lcl_menu_prs_afdelingskenmerke'
, 'lcl_menu_prs_persoonskenmerken'
, 'lcl_menu_prs_contactkenmerken'
, 'lcl_menu_fin_kenmerken'
, 'lcl_menu_bez_kenmerken'
)
AND m.fac_functie_key = f.fac_functie_key
);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#77322
ALTER TABLE cad_thema ADD tmp_type NUMBER(3);
UPDATE cad_thema SET tmp_type = TO_NUMBER(cad_thema_type);
UPDATE cad_thema SET cad_thema_type = null;
ALTER TABLE cad_thema DROP CONSTRAINT cad_c_cad_thema_type;
ALTER TABLE cad_thema MODIFY cad_thema_type NUMBER(3);
ALTER TABLE cad_thema ADD CONSTRAINT cad_c_cad_thema_type CHECK (cad_thema_type between 1 and 255);
UPDATE cad_thema SET cad_thema_type = tmp_type;
ALTER TABLE cad_thema DROP COLUMN tmp_type;
/////////////////////////////////////////////////////////////////////////////////////////// NORA#77301
UPDATE fac_localeitems
SET fac_localeitems_dialect_id = 'MLD_SRTDISCIPLINE_KEY'
WHERE fac_localeitems_dialect_id = 'MLD_TYPEOPDR_KEY'
AND fac_localeitems_lcl = 'lcl_menu_mld_fe_3';
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#75947
ALTER TABLE fac_imp_flex ADD kenmerk_module VARCHAR2(3);
CREATE OR REPLACE VIEW fac_v_exp_flex_fin AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_PRSSYS', 0, 'fac_v_exp_flex_fin', 'TRANSPORT: Flexkenmerken Facturen', 'Exporteren van flexkenmerken voor FIN',
'TRANSPORT: Flex properties Invoices', 'Export of flex properties for FIN');
/////////////////////////////////////////////////////////////////////////////////////////// KFHT#75454
ALTER TABLE alg_gebouw ADD alg_gebouw_adres VARCHAR2(50);
ALTER TABLE alg_gebouw ADD alg_gebouw_postcode VARCHAR2(12);
/////////////////////////////////////////////////////////////////////////////////////////// SVRZ#62191
ALTER TABLE fac_notificatie ADD (
fac_notificatie_geturl VARCHAR2(4000),
fac_notificatie_getbody VARCHAR2(4000)
);
ALTER TABLE fac_notificatie_job ADD (
fac_notificatie_job_geturl VARCHAR2(4000),
fac_notificatie_job_getbody VARCHAR2(4000),
prs_perslid_key NUMBER(10) -- owner
CONSTRAINT fac_r_prs_perslid_key12
REFERENCES prs_perslid(prs_perslid_key),
prs_perslid_key_receiver NUMBER(10)
REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
);
#include "../AUT/AUT_INI.SRC"
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#75365
BEGIN
adm.trydrop ('INDEX res_i_res_rsv_res_reservering1');
END;
/
CREATE INDEX res_i_res_reservering1 ON res_reservering(mld_melding_key);
CREATE INDEX bez_i_bez_bezoekers1 ON bez_bezoekers(prs_perslid_key);
CREATE INDEX bez_i_bez_bezoekers2 ON bez_bezoekers(prs_contactpersoon_key);
CREATE INDEX fac_i_fac_gui_counter1 ON fac_gui_counter(prs_perslid_key);
CREATE INDEX fin_i_fin_factuur5 ON fin_factuur(prs_perslid_key_user);
CREATE INDEX fin_i_fin_factuur6 ON fin_factuur(prs_perslid_key_goedkeur);
CREATE INDEX ins_i_ins_deel8 ON ins_deel(prs_perslid_key_beh);
CREATE INDEX ins_i_ins_deel9 ON ins_deel(res_rsv_deel_key);
CREATE INDEX mld_i_mld_melding25 ON mld_melding(mld_melding_behandelaar2_key);
/////////////////////////////////////////////////////////////////////////////////////////// PNBR#75964
ALTER TABLE mld_stdmelding DROP CONSTRAINT mld_c_alg_onrgoed_niveau;
ALTER TABLE mld_stdmelding ADD CONSTRAINT mld_c_alg_onrgoed_niveau CHECK (alg_onrgoed_niveau IN ('L','G','V','R','H'));
/////////////////////////////////////////////////////////////////////////////////////////// RWSN#76922
DEF_FAC_SRTNOT('INSCN1', 0, 'lcl_noti_INSCN1', 'ins/ins_deel.asp?ins_key=', '0', 'deel', 60);
UPDATE fac_tracking
SET fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'INSCN1')
WHERE fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'INSUPD')
AND fac_tracking_oms LIKE lcl.l('lcl_ins_deel_mjb_score1') || ': %';
/////////////////////////////////////////////////////////////////////////////////////////// PROR#75644
ALTER TABLE alg_srtgebouw ADD alg_srtgebouw_t_uitvoer_pr1 MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtgebouw_t_uitv_pr1 CHECK(alg_srtgebouw_t_uitvoer_pr1.tijdsduur >= 0);
ALTER TABLE alg_srtgebouw ADD alg_srtgebouw_t_uitvoer_pr2 MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtgebouw_t_uitv_pr2 CHECK(alg_srtgebouw_t_uitvoer_pr2.tijdsduur >= 0);
ALTER TABLE alg_srtgebouw ADD alg_srtgebouw_t_uitvoer_pr4 MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtgebouw_t_uitv_pr4 CHECK(alg_srtgebouw_t_uitvoer_pr4.tijdsduur >= 0);
ALTER TABLE alg_srtgebouw MODIFY alg_srtgebouw_t_uitvoer_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtgebouw MODIFY alg_srtgebouw_t_uitvoer_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtgebouw MODIFY alg_srtgebouw_t_uitvoer_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtruimte ADD alg_srtruimte_t_uitvoer_pr1 MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtruimt_t_uitv_pr1 CHECK(alg_srtruimte_t_uitvoer_pr1.tijdsduur >= 0);
ALTER TABLE alg_srtruimte ADD alg_srtruimte_t_uitvoer_pr2 MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtruimt_t_uitv_pr2 CHECK(alg_srtruimte_t_uitvoer_pr2.tijdsduur >= 0);
ALTER TABLE alg_srtruimte ADD alg_srtruimte_t_uitvoer_pr4 MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtruimt_t_uitv_pr4 CHECK(alg_srtruimte_t_uitvoer_pr4.tijdsduur >= 0);
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_t_uitvoer_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_t_uitvoer_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_t_uitvoer_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtterreinsector ADD alg_srtterreinsec_t_uitv_pr1 MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtterrein_t_uitv1 CHECK(alg_srtterreinsec_t_uitv_pr1.tijdsduur >= 0);
ALTER TABLE alg_srtterreinsector ADD alg_srtterreinsec_t_uitv_pr2 MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtterrein_t_uitv2 CHECK(alg_srtterreinsec_t_uitv_pr2.tijdsduur >= 0);
ALTER TABLE alg_srtterreinsector ADD alg_srtterreinsec_t_uitv_pr4 MLD_T_UITVOERTIJD
CONSTRAINT alg_c_alg_srtterrein_t_uitv4 CHECK(alg_srtterreinsec_t_uitv_pr4.tijdsduur >= 0);
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsec_t_uitv_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsec_t_uitv_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsec_t_uitv_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte ADD mld_stdmsrtruimte_t_accept_pr1 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_acc1 CHECK(mld_stdmsrtruimte_t_accept_pr1.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtruimte ADD mld_stdmsrtruimte_t_accept_pr2 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_acc2 CHECK(mld_stdmsrtruimte_t_accept_pr2.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtruimte ADD mld_stdmsrtruimte_t_accept_pr4 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_acc4 CHECK(mld_stdmsrtruimte_t_accept_pr4.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtruimte ADD mld_stdmsrtruimte_t_uitv_pr1 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_uit1 CHECK(mld_stdmsrtruimte_t_uitv_pr1.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtruimte ADD mld_stdmsrtruimte_t_uitv_pr2 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_uit2 CHECK(mld_stdmsrtruimte_t_uitv_pr2.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtruimte ADD mld_stdmsrtruimte_t_uitv_pr4 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtruimte_t_uit4 CHECK(mld_stdmsrtruimte_t_uitv_pr4.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_accept_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_accept_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_accept_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_uitv_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_uitv_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtruimte MODIFY mld_stdmsrtruimte_t_uitv_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw ADD mld_stdmsrtgebouw_t_accept_pr1 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_acc1 CHECK(mld_stdmsrtgebouw_t_accept_pr1.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtgebouw ADD mld_stdmsrtgebouw_t_accept_pr2 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_acc2 CHECK(mld_stdmsrtgebouw_t_accept_pr2.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtgebouw ADD mld_stdmsrtgebouw_t_accept_pr4 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_acc4 CHECK(mld_stdmsrtgebouw_t_accept_pr4.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtgebouw ADD mld_stdmsrtgebouw_t_uitv_pr1 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_uitv1 CHECK(mld_stdmsrtgebouw_t_uitv_pr1.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtgebouw ADD mld_stdmsrtgebouw_t_uitv_pr2 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_uitv2 CHECK(mld_stdmsrtgebouw_t_uitv_pr2.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtgebouw ADD mld_stdmsrtgebouw_t_uitv_pr4 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtgebouw_t_uitv4 CHECK(mld_stdmsrtgebouw_t_uitv_pr4.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_accept_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_accept_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_accept_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_uitv_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_uitv_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtgebouw MODIFY mld_stdmsrtgebouw_t_uitv_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein ADD mld_stdmsrtterrein_t_acc_pr1 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ac1 CHECK(mld_stdmsrtterrein_t_acc_pr1.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtterrein ADD mld_stdmsrtterrein_t_acc_pr2 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ac2 CHECK(mld_stdmsrtterrein_t_acc_pr2.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtterrein ADD mld_stdmsrtterrein_t_acc_pr4 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ac4 CHECK(mld_stdmsrtterrein_t_acc_pr4.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtterrein ADD mld_stdmsrtterrein_t_uitv_pr1 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ui1 CHECK(mld_stdmsrtterrein_t_uitv_pr1.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtterrein ADD mld_stdmsrtterrein_t_uitv_pr2 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ui2 CHECK(mld_stdmsrtterrein_t_uitv_pr2.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtterrein ADD mld_stdmsrtterrein_t_uitv_pr4 MLD_T_UITVOERTIJD
CONSTRAINT mld_c_mld_stdmsrtterrein_t_ui4 CHECK(mld_stdmsrtterrein_t_uitv_pr4.tijdsduur >= 0);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_acc_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_acc_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_acc_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_uitv_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_uitv_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
ALTER TABLE mld_stdmsrtterrein MODIFY mld_stdmsrtterrein_t_uitv_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
/////////////////////////////////////////////////////////////////////////////////////////// FMHN#74401
ALTER TABLE bez_bezoekers MODIFY bez_afspraak_naam VARCHAR2(60);
/////////////////////////////////////////////////////////////////////////////////////////// BLST#77421
ALTER TABLE alg_locatie MODIFY alg_locatie_verantw_tel VARCHAR2(20);
ALTER TABLE bez_afspraak MODIFY bez_afspraak_telefoonnr VARCHAR2(20);
ALTER TABLE fac_imp_adres MODIFY adres_telefoon VARCHAR2(20);
ALTER TABLE fac_imp_onrgoed1 MODIFY alg_locatie_verantw_tel VARCHAR2(20);
ALTER TABLE fac_imp_perslid MODIFY prs_perslid_telefoonnr VARCHAR2(20);
ALTER TABLE fac_imp_perslid MODIFY prs_perslid_mobiel VARCHAR2(20);
ALTER TABLE mld_adres MODIFY mld_adres_contactpers_telefoon VARCHAR2(20);
ALTER TABLE mld_adres MODIFY mld_adres_telefoon VARCHAR2(20);
ALTER TABLE mld_disc_params MODIFY mld_disc_params_smsnw1 VARCHAR2(20);
ALTER TABLE mld_disc_params MODIFY mld_disc_params_smsnw2 VARCHAR2(20);
ALTER TABLE mld_disc_params MODIFY mld_disc_params_smsnw3 VARCHAR2(20);
ALTER TABLE mld_disc_params MODIFY mld_disc_params_smsnw4 VARCHAR2(20);
ALTER TABLE mld_melding MODIFY mld_melding_tel_ext VARCHAR2(20);
ALTER TABLE prs_perslid MODIFY prs_perslid_telefoonnr VARCHAR2(20);
ALTER TABLE prs_perslid MODIFY prs_perslid_mobiel VARCHAR2(20);
/////////////////////////////////////////////////////////////////////////////////////////// PZEE#77071
ALTER TABLE res_disc_params ADD res_disc_params_expire_wkdag NUMBER(1);
/////////////////////////////////////////////////////////////////////////////////////////// YKPN#77618
CREATE_TABLE(mld_typeopdrfaq, 0)
(
mld_typeopdrfaq_key
NUMBER(10)
CONSTRAINT mld_k_typeopdrfaq_key PRIMARY KEY,
mld_typeopdr_key
NUMBER(10)
CONSTRAINT mld_r_mld_typeopdr_key4 REFERENCES mld_typeopdr(mld_typeopdr_key) ON DELETE CASCADE,
fac_faq_key
NUMBER(10)
NOT_NULL(fac_faq_key, mld_c_fac_faq_key2)
CONSTRAINT mld_r_fac_faq_key2 REFERENCES fac_faq(fac_faq_key) ON DELETE CASCADE
);
CREATE UNIQUE INDEX mld_i_mld_typeopdrfaq1 ON mld_typeopdrfaq(mld_typeopdr_key, fac_faq_key);
CREATE INDEX mld_i_mld_typeopdrfaq2 ON mld_typeopdrfaq(fac_faq_key);
CREATE SEQUENCE mld_s_mld_typeopdrfaq_key MINVALUE 1;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#60010
DEF_MENUITEM(2, 'lcl_menu_gdprstats' , '', 'FAC', 'appl/prs/prs_gdpr_stats.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_gdprstats', 'lcl_menu_about', -5);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#77900
ALTER TABLE mld_melding_object ADD ins_deelsrtcontrole_key NUMBER(10)
CONSTRAINT mld_r_ins_deelsrtcontrole_key REFERENCES ins_deelsrtcontrole(ins_deelsrtcontrole_key);
DEF_FAC_FUNCTIE3('WEB_CTRFOF', 'CTR', 3, 1, 1);
DEF_FAC_FUNCTIE3('WEB_CTRBOF', 'CTR', 3, 1, 1);
DEF_STATUS('controle', 3, 'lcl_ins_controle_ter_uitvoer');
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet
ALTER PACKAGE fac COMPILE BODY;
-- Conversie CTRUSE rechten. CTRUSE wordt opgesplitst in CTRUSE, CTRFOF en CTRBOF.
-- CTRFOF en CTRBOF moeten dezelfde rechten hebben als CTRUSE.
INSERT INTO fac_groeprechten(fac_groep_key,
ins_discipline_key,
fac_functie_key,
fac_gebruiker_prs_level_read,
fac_gebruiker_alg_level_read,
fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_write)
(SELECT gr.fac_groep_key,
gr.ins_discipline_key,
(SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_CTRFOF'),
fac_gebruiker_prs_level_read,
fac_gebruiker_alg_level_read,
fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_write
FROM fac_groeprechten gr,
fac_functie ff
WHERE ff.fac_functie_key = gr.fac_functie_key
AND ff.fac_functie_code = 'WEB_CTRUSE');
INSERT INTO fac_groeprechten(fac_groep_key,
ins_discipline_key,
fac_functie_key,
fac_gebruiker_prs_level_read,
fac_gebruiker_alg_level_read,
fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_write)
(SELECT gr.fac_groep_key,
gr.ins_discipline_key,
(SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_CTRBOF'),
fac_gebruiker_prs_level_read,
fac_gebruiker_alg_level_read,
fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_write
FROM fac_groeprechten gr,
fac_functie ff
WHERE ff.fac_functie_key = gr.fac_functie_key
AND ff.fac_functie_code = 'WEB_CTRUSE');
DEF_FAC_SRTNOT('INSCTU', 0, 'lcl_noti_INSCTU', 'ins/ins_inspect.asp?deelsrtcont_key=', '0', 'controle', 10);
DEF_MENUITEM(1, 'lcl_mjb_console' , '', 'INS', 'appl/mjb/mjb_search.asp?mode=1', 0, 0, 'WEB_CTRUSE', 'R', '0', '');
DEF_MENUITEM(1, 'lcl_mjb_console2' , '', 'INS', 'appl/mjb/mjb_search.asp?mode=2', 0, 0, 'WEB_CTRBOF', 'R', '0', '');
DEF_MENUITEM(1, 'lcl_mjb_console3' , '', 'INS', 'appl/mjb/mjb_search.asp?mode=3', 0, 0, 'WEB_CTRBOF', 'R', '0', '');
-- Alle kto taken bij een melding overzetten naar de mld_melding_object tabel.
BEGIN
DECLARE
CURSOR c_kto IS
SELECT m.mld_melding_key,
mo.mld_melding_key mld_melding_key_mo,
idsc.ins_deelsrtcontrole_key,
idsc.ins_deel_key,
idsc.ins_deelsrtcontrole_status,
mo.mld_melding_object_key
FROM mld_melding m,
mld_melding_object mo,
ins_deelsrtcontrole idsc
WHERE m.mld_melding_key = mo.mld_melding_key(+)
AND m.mld_melding_kto_key = idsc.ins_deelsrtcontrole_key
AND idsc.ins_deel_key = mo.ins_deel_key(+)
AND m.mld_melding_kto_type LIKE 'T';
BEGIN
FOR kto IN c_kto
LOOP
IF (kto.mld_melding_key_mo IS NULL)
THEN
INSERT INTO mld_melding_object (mld_melding_key,
ins_deel_key,
ins_deelsrtcontrole_key)
VALUES (kto.mld_melding_key,
kto.ins_deel_key,
kto.ins_deelsrtcontrole_key);
ELSE
UPDATE mld_melding_object
SET ins_deelsrtcontrole_key = kto.ins_deelsrtcontrole_key
WHERE mld_melding_object_key = kto.mld_melding_object_key;
END IF;
-- Er is een melding bij de taak. Dan moet de status ook naar Ter uitvoering(3).
IF (kto.ins_deelsrtcontrole_status = 2)
THEN
UPDATE ins_deelsrtcontrole
SET ins_deelsrtcontrole_status = 3
WHERE ins_deelsrtcontrole_key = kto.ins_deelsrtcontrole_key;
END IF;
-- De kto waarden bij de melding laten we nog even gevuld maar gebruiken we niet meer.
END LOOP;
END;
END;
/
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#77060
ALTER TABLE fac_selectie MODIFY fac_selectie_tabel VARCHAR2(128);
ALTER TABLE fac_usrrap MODIFY fac_usrrap_view_name VARCHAR2(128);
ALTER TABLE fac_usrgraph MODIFY fac_usrgraph_view_name VARCHAR2(128);
ALTER TABLE fac_mgtrap MODIFY fac_mgtrap_view_name VARCHAR2(128);
ALTER TABLE fac_locale MODIFY fac_locale_kolomnaam VARCHAR2(128);
ALTER TABLE fac_kenmerkdomein MODIFY fac_kenmerkdomein_kolomnaam VARCHAR2(128);
ALTER TABLE fac_kenmerkdomein MODIFY fac_kenmerkdomein_kolomtxt VARCHAR2(128);
ALTER TABLE fac_kenmerkdomein MODIFY fac_kenmerkdomein_kolomtxt2 VARCHAR2(128);
ALTER TABLE fac_audit MODIFY fac_audit_tabelnaam VARCHAR2(128);
ALTER TABLE fac_audit MODIFY fac_audit_veldnaam VARCHAR2(128);
ALTER TABLE prj_selectie MODIFY prj_selectie_tabelnaam VARCHAR2(128);
ALTER TABLE prs_perslid_cols MODIFY prs_perslid_cols_column_name VARCHAR2(128);
/////////////////////////////////////////////////////////////////////////////////////////// AAES#77904
ALTER TABLE mld_opdr MODIFY mld_opdr_materiaal NUMBER(10,2);
ALTER TABLE mld_standaardopdr MODIFY mld_standaardopdr_materiaal NUMBER(10,2);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#76998
CREATE OR REPLACE VIEW prs_v_rap_impersonations AS SELECT * FROM DUAL;
CREATE OR REPLACE VIEW prs_v_rap_supportaccess AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_PRSSYS', 0, 'prs_v_rap_impersonations', 'BEHEER: Audit van impersonaties', 'Rapport van ''Inloggen als'' activiteiten',
'ADMIN: Audit of impersonations', 'Report of all ''Impersonate'' activities')
DEF_RAPPORT('WEB_FACFAC', 0, 'prs_v_rap_supportaccess', 'BEHEER: Audit van support-toegang','Rapport van alle toegang door Facilitor support',
'ADMIN: Audit of support access', 'Report of all access by Facilitor application management')
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#75020
ALTER TABLE fac_bijlagen MODIFY fac_bijlagen_module VARCHAR2(4);
/////////////////////////////////////////////////////////////////////////////////////////// ZLMV#78601
ALTER TABLE prs_perslid MODIFY prs_perslid_externoslogin VARCHAR2(256);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
REGISTERONCE('$Id$')
#include "epilogue.inc"

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

@@ -1,461 +0,0 @@
/*
* Update script van FACILITOR schema
* $Revision$
* $Id$
*/
#include "prologue.inc"
COMMIT;
SET DEFINE OFF
/////////////////////////////////////////////////////////////////////////////////////////// MARX#79087
ALTER TABLE fac_imp_usrdata ADD fac_usrdata_omschr2 VARCHAR2(60);
/////////////////////////////////////////////////////////////////////////////////////////// RWSN#79922
CREATE_TABLE(alg_onroerendgoed_note, 0)
( alg_onroerendgoed_note_key
NUMBER (10)
CONSTRAINT alg_k_alg_onroerendgoed_note_key PRIMARY KEY
, alg_onroerendgoed_key
NUMBER (10)
CONSTRAINT alg_c_alg_onroerendgoed_key1 CHECK(alg_onroerendgoed_key IS NOT NULL)
, alg_onroerendgoed_typ
VARCHAR (1)
CONSTRAINT alg_c_alg_onroerendgoed_typ1 CHECK(alg_onroerendgoed_typ IS NOT NULL)
CONSTRAINT alg_c_alg_onroerendgoed_typ2 CHECK(alg_onroerendgoed_typ IN ('R','V','G','L'))
, alg_onroerendgoed_note_aanmaak
DATE
DEFAULT SYSDATE
, prs_perslid_key
NUMBER (10)
CONSTRAINT alg_r_prs_perslid_key5 REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL
, alg_onroerendgoed_note_omschrijving
VARCHAR2 (4000 CHAR)
);
CREATE SEQUENCE alg_s_alg_onroerendgoed_note_key MINVALUE 1;
CREATE INDEX alg_i_alg_onroerendgoed_note1 ON alg_onroerendgoed_note(alg_onroerendgoed_key, alg_onroerendgoed_typ);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80650
UPDATE res_deel
SET res_deel_bulkreserveerbaar = 0
WHERE res_deel_bulkreserveerbaar IS NULL;
ALTER TABLE res_deel MODIFY res_deel_bulkreserveerbaar DEFAULT 0 NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80204
BEGIN
adm.trydrop ('INDEX bes_i_bes_srtprod_prijs1');
adm.tryalter('TABLE bes_srtdeel DROP COLUMN bes_srtprod_key');
adm.trydrop ('TRIGGER bes_t_bes_srtprod_B_IU');
adm.trydrop ('TRIGGER bes_t_bes_srtprod_prijs_B_IU');
adm.trydrop ('TRIGGER bes_t_bes_bedrijf_srtprod_BIU');
adm.trydrop ('TRIGGER bes_t_bes_bedrijf_bedrijf_B_IU');
adm.trydrop ('SEQUENCE bes_s_bes_srtprod_key');
adm.trydrop ('SEQUENCE bes_s_bes_srtprod_prijs_key');
adm.trydrop ('SEQUENCE bes_s_bes_bedrijf_srtprod_key');
adm.trydrop ('SEQUENCE bes_s_bes_bedrijf_bedrijf_key');
adm.trydrop ('TABLE bes_srtprod_prijs');
adm.trydrop ('TABLE bes_bedrijf_srtprod');
adm.trydrop ('TABLE bes_bedrijf_bedrijf');
adm.trydrop ('TABLE bes_srtprod');
END;
/
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#77297
ALTER TABLE fin_factuur ADD fin_factuur_opmerking_afw VARCHAR2(4000);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80316
DROP VIEW mld_v_kto_vragen;
DROP VIEW mld_v_kto_antwoorden;
DROP VIEW mld_v_kto_geg;
DROP VIEW mld_v_rap_kto_overview;
DROP VIEW mld_v_rap_kto_response_soort;
DROP VIEW mld_v_rap_kto_responsedistrict;
DROP VIEW mld_v_rap_kto_response_locatie;
DROP VIEW mld_v_rap_kto_response_disc;
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_overview';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_response_soort';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_responsedistrict';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_response_locatie';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_response_disc';
/////////////////////////////////////////////////////////////////////////////////////////// EIND#80433
ALTER TABLE mld_stdmelding ADD mld_stdmelding_conceptstatus
NUMBER(3)
DEFAULT 0
NOT NULL;
ALTER TABLE mld_melding ADD mld_melding_conceptstatus
NUMBER(3)
DEFAULT 0
NOT NULL;
ALTER TABLE prs_afdeling ADD prs_perslid_key_verantw
NUMBER(10)
CONSTRAINT prs_r_prs_perslid_key22 REFERENCES prs_perslid(prs_perslid_key);
ALTER TABLE prs_perslid ADD prs_perslid_key_verantw
NUMBER(10)
CONSTRAINT prs_r_prs_perslid_key23 REFERENCES prs_perslid(prs_perslid_key);
// TODO nagaan of er nog extra indexen bij moeten (aanvullend op reference)
// vermoedelijk op mld_melding_conceptstatus
DEF_FAC_SRTNOT('MLDCON', 0, 'lcl_noti_MLDCON', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 60);
DEF_FAC_SRTNOT('MLD2CO', 3, 'lcl_noti_MLD2CO', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
/////////////////////////////////////////////////////////////////////////////////////////// PCHD#80318
ALTER TABLE prs_kostensoort ADD prs_kostensoort_eind DATE;
ALTER TABLE prs_kostensoort ADD prs_kostensoort_verwijder DATE;
BEGIN
adm.trydrop ('INDEX prs_i_prs_kostensoort1');
END;
/
CREATE UNIQUE INDEX prs_i_prs_kostensoort1
ON prs_kostensoort(prs_kostensoortgrp_key, prs_kostensoort_upper, prs_kostensoort_verwijder);
/////////////////////////////////////////////////////////////////////////////////////////// PNBR#80210
ALTER TABLE alg_locatie ADD alg_locatie_volgnr NUMBER(3);
/////////////////////////////////////////////////////////////////////////////////////////// PZEE#75396
ALTER TABLE mld_stdmelding ADD mld_stdmelding_priomatrix NUMBER(1) DEFAULT 0 NOT NULL;
ALTER TABLE mld_melding ADD mld_melding_impact NUMBER(2);
ALTER TABLE mld_melding ADD mld_melding_urgentie NUMBER(2);
/////////////////////////////////////////////////////////////////////////////////////////// BAMG#81378
ALTER TABLE prs_perslid ADD prs_kostenplaats_key
NUMBER(10)
CONSTRAINT prs_r_prs_kostenplaats_key5 REFERENCES prs_kostenplaats(prs_kostenplaats_key);
ALTER TABLE fac_imp_perslid ADD prs_kostenplaats_nr VARCHAR2(30);
/////////////////////////////////////////////////////////////////////////////////////////// YASK#81268
CREATE_TABLE(fac_imp_kostensoort, 0)
(
prs_kostensoort_oms VARCHAR2 (60),
prs_kostensoort_opmerking VARCHAR2 (255),
prs_kostensoort_refcode VARCHAR2 (60),
prs_kostensoort_doorbelasten NUMBER (1),
prs_kostensoort_btw NUMBER (1),
prs_kostenplaats_key NUMBER (10),
prs_kostensoortgrp_key NUMBER (10),
prs_kostensoort_eind DATE,
prs_kostensoort_altcode VARCHAR2 (60)
);
/////////////////////////////////////////////////////////////////////////////////////////// BLCC#79261
ALTER TABLE fac_srtnotificatie ADD fac_srtnotificatie_noticollegas
NUMBER(3) DEFAULT 0 NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// RWSN#80123
CREATE VIEW alg_v_udr_ruimte AS SELECT * FROM DUAL;
CREATE VIEW alg_v_udr_terrein AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_UDRMAN', 32, 'alg_v_udr_ruimte', 'UDR: Vastgoed-ruimtes', 'Basisrapport voor vastgoedgegevens obv ruimtes',
'UDR: Real-estate rooms', 'Basic report for real estate based on rooms')
DEF_RAPPORT('WEB_UDRMAN', 32, 'alg_v_udr_terrein', 'UDR: Vastgoed-terreinen', 'Basisrapport voor vastgoedgegevens obv terreinen',
'UDR: Real-estate terrains', 'Basic report for real estate based on terrains')
/////////////////////////////////////////////////////////////////////////////////////////// MARX#80449
ALTER TABLE prs_bedrijfadres ADD prs_bedrijf_key2
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_key8 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE;
/////////////////////////////////////////////////////////////////////////////////////////// MARX#80879
ALTER TABLE prs_bedrijfadres ADD prs_bedrijfadres_startdatum
DATE DEFAULT SYSDATE NOT NULL;
DROP INDEX prs_i_prs_bedrijfadres2;
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres2 ON prs_bedrijfadres(prs_bedrijf_key, prs_bedrijfadres_type, mld_typeopdr_key, alg_locatie_key, alg_district_key, prs_bedrijf_key2, prs_bedrijfadres_startdatum);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79219
-- Deze gaan niet meer vanzelf goedkomen, alle nieuwe ##PENDING## wel
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_externnr2 = '##PENDING_OLD##'
WHERE res_rsv_ruimte_externnr2 = '##PENDING##';
-- Zo kan de procedure ze ook terugvinden
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_externnr = res_rsv_ruimte_externnr || '|'
WHERE res_rsv_ruimte_externnr LIKE '##iCalUId##%'
AND res_rsv_ruimte_verwijder IS NULL;
/////////////////////////////////////////////////////////////////////////////////////////// VGLD#81656
ALTER TABLE bes_bestelling
MODIFY (bes_bestelling_levkosten NUMBER (11, 2),
bes_bestelling_korting NUMBER (11, 2));
ALTER TABLE bes_bestelopdr
MODIFY (bes_bestelopdr_levkosten NUMBER (11, 2),
bes_bestelopdr_korting NUMBER (11, 2));
ALTER TABLE bes_disc_params
MODIFY (bes_disc_params_bestellimiet NUMBER (11, 2),
bes_disc_params_min_bedrag NUMBER (11, 2));
ALTER TABLE bes_bestelopdr_item
MODIFY (bes_bestelopdr_item_inkprijs NUMBER (14, 5),
bes_bestelopdr_item_brutoprijs NUMBER (14, 5),
bes_bestelopdr_item_prijs NUMBER (15, 6));
ALTER TABLE bes_bestelling_item
MODIFY (bes_bestelling_item_brutoprijs NUMBER (14, 5),
bes_bestelling_item_prijs NUMBER (15, 6),
bes_bestelling_item_inkprijs NUMBER (15, 6));
ALTER TABLE bes_srtdeel_prijs
MODIFY (bes_srtdeel_prijs_prijs NUMBER (14, 5),
bes_srtdeel_prijs_inkprijs NUMBER (14, 5));
/////////////////////////////////////////////////////////////////////////////////////////// YAXX#80483
ALTER TABLE prs_bedrijfdienstlocatie
ADD mld_autoorder NUMBER(1) DEFAULT(1) NOT NULL;
UPDATE prs_bedrijfdienstlocatie
SET mld_autoorder = 1
WHERE prs_bedrijfdienstlocatie_key IN
(SELECT d.prs_bedrijfdienstlocatie_key
FROM prs_bedrijfdienstlocatie d
, prs_bedrijfadres a
WHERE d.prs_bedrijf_key = a.prs_bedrijf_key
AND a.prs_bedrijfadres_type = 'O'
AND ( d.alg_locatie_key is not null
OR d.alg_gebouw_key is not null
)
);
/////////////////////////////////////////////////////////////////////////////////////////// KMMO#81625
-- Alle kto_type "T" referenties bij een melding kunnen leeg gemaakt worden. Deze lopen sinds FCLT#77900 via de mld_melding_object tabel.
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE mld_melding
SET mld_melding_kto_type = NULL,
mld_melding_kto_key = NULL
WHERE mld_melding_key IN (SELECT m.mld_melding_key
FROM mld_melding m,
mld_melding_object mo,
ins_deelsrtcontrole idsc
WHERE m.mld_melding_key = mo.mld_melding_key(+)
AND m.mld_melding_kto_key = idsc.ins_deelsrtcontrole_key
AND idsc.ins_deel_key = mo.ins_deel_key(+)
AND m.mld_melding_kto_type = 'T');
/////////////////////////////////////////////////////////////////////////////////////////// FMHN#81593
CREATE_TABLE(ins_deel_uitgifte, 0)
(
ins_deel_uitgifte_key
NUMBER(10)
PRIMARY KEY,
ins_deel_key
NUMBER (10)
NOT NULL
CONSTRAINT ins_r_ins_deel_key4 REFERENCES ins_deel(ins_deel_key) ON DELETE CASCADE,
ins_deel_uitgifte_begin
DATE,
ins_deel_uitgifte_eind_plan
DATE,
ins_deel_uitgifte_ingeleverd
DATE,
prs_perslid_key
NUMBER (10)
CONSTRAINT ins_r_prs_perslid_key1 REFERENCES prs_perslid (prs_perslid_key) ON DELETE CASCADE,
prs_contactpersoon_key
NUMBER (10)
CONSTRAINT ins_r_prs_contactpersoon_key REFERENCES prs_contactpersoon(prs_contactpersoon_key) ON DELETE CASCADE,
CONSTRAINT ins_u_ins_deel_ingeleverd UNIQUE (ins_deel_key, ins_deel_uitgifte_ingeleverd) -- Er mag geen dubbele uitgifte (ins_deel_ingeleverd IS NULL) zijn.
);
CREATE SEQUENCE ins_s_ins_deel_uitgifte_key MINVALUE 1;
CREATE INDEX ins_i_ins_deel_uitgifte1 ON ins_deel_uitgifte(prs_perslid_key);
CREATE INDEX ins_i_ins_deel_uitgifte2 ON ins_deel_uitgifte(prs_contactpersoon_key);
-- Nieuwe trigger hier ook toegevoegd, want deze is nodig voor de insert die er na komt.
CREATE OR REPLACE TRIGGER ins_t_deel_uitgifte_B_I
BEFORE INSERT ON ins_deel_uitgifte
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_deel_uitgifte_key, ins_s_ins_deel_uitgifte_key);
END;
/
-- Uitgegeven objecten in de tabel ins_deel_uitgifte zetten.
INSERT INTO ins_deel_uitgifte(ins_deel_key,
ins_deel_uitgifte_begin,
ins_deel_uitgifte_eind_plan,
prs_perslid_key,
prs_contactpersoon_key)
SELECT d.ins_deel_key,
COALESCE(rrd.res_rsv_deel_van,
(SELECT MAX(tr.fac_tracking_datum)
FROM fac_tracking tr,
fac_srtnotificatie sn
WHERE tr.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'INSOUT'
AND tr.fac_tracking_refkey = d.ins_deel_key
AND sn.fac_srtnotificatie_xmlnode = 'deel')),
COALESCE(rrd.res_rsv_deel_tot, NULL),
CASE WHEN d.ins_alg_ruimte_type = 'P' THEN d.ins_alg_ruimte_key ELSE NULL END,
CASE WHEN d.ins_alg_ruimte_type = 'C' THEN d.ins_alg_ruimte_key ELSE NULL END
FROM ins_deel d,
res_rsv_deel rrd
WHERE d.res_rsv_deel_key = rrd.res_rsv_deel_key(+)
AND d.ins_alg_ruimte_key_org IS NOT NULL
AND d.ins_alg_ruimte_type IN ('C', 'P');
CREATE VIEW ins_v_udr_uitgifte AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_uitgifte', 'UDR: Object uitgifte historie', 'Basisrapport van uitlenen en innemen van objecten',
'UDR: Object issuance history', 'Basic report of lending and taking in objects');
/////////////////////////////////////////////////////////////////////////////////////////// YASK#80908
ALTER TABLE res_artikel ADD res_artikel_vrije_omschrijving NUMBER(1) DEFAULT(0) NOT NULL;
ALTER TABLE res_rsv_artikel ADD res_rsv_artikel_omschrijving VARCHAR2(40);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#81827
BEGIN
adm.tryalter ('TABLE fac_gui_counter DROP CONSTRAINT fac_r_guicnt_perslid_key');
END;
/
ALTER TABLE fac_gui_counter ADD CONSTRAINT fac_r_guicnt_perslid_key FOREIGN KEY (prs_perslid_key) REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE;
DELETE FROM fac_gui_counter
WHERE prs_perslid_key IS NULL
AND TRUNC(fac_gui_counter_date) <> fac_gui_counter_date;
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#81217
ALTER TABLE ins_srtcontrole ADD ins_srtcontrole_opmerking_text NUMBER(1) DEFAULT(0) NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FMHN#81512
ALTER TABLE alg_verdieping
ADD alg_verdieping_dwgz NUMBER (16, 3);
/////////////////////////////////////////////////////////////////////////////////////////// FMHN#79962
DEF_FAC_SRTNOT('RESANO', 0, 'lcl_noti_RESANO', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#81568
DECLARE
tmpcname VARCHAR2 (32);
sqlstmt VARCHAR2 (128);
BEGIN
SELECT constraint_name
INTO tmpcname
FROM user_constraints
WHERE table_name = 'INS_DEELSRTCONTROLE'
AND delete_rule = 'CASCADE'
AND r_constraint_name LIKE 'SYS%';
sqlstmt := 'ALTER TABLE INS_DEELSRTCONTROLE DROP CONSTRAINT ' || tmpcname;
EXECUTE IMMEDIATE sqlstmt;
END;
/
ALTER TABLE ins_deelsrtcontrole
ADD CONSTRAINT ins_r_ins_srtcontrole_key1 FOREIGN KEY (ins_srtcontrole_key)
REFERENCES ins_srtcontrole (ins_srtcontrole_key);
/////////////////////////////////////////////////////////////////////////////////////////// KW1C#82049
ALTER TABLE prs_ruimteafdeling ADD prs_ruimteafdeling_ingangsdatum
DATE DEFAULT SYSDATE NOT NULL;
ALTER TABLE prs_ruimteafdeling ADD prs_ruimteafdeling_einddatum
DATE;
ALTER TABLE prs_ruimteafdeling DROP CONSTRAINT prs_u_ruimteafdeling DROP INDEX;
ALTER TABLE prs_ruimteafdeling ADD CONSTRAINT prs_u_ruimteafdeling UNIQUE(prs_afdeling_key, alg_ruimte_key, prs_ruimteafdeling_ingangsdatum, prs_ruimteafdeling_verwijder);
ALTER TABLE prs_ruimteafdeling ADD CONSTRAINT prs_c_ruimteafdeling_van_tot CHECK(prs_ruimteafdeling_einddatum IS NULL OR (prs_ruimteafdeling_einddatum IS NOT NULL AND prs_ruimteafdeling_einddatum > prs_ruimteafdeling_ingangsdatum));
DROP INDEX prs_i_prs_ruimteafdeling1;
CREATE UNIQUE INDEX prs_i_prs_ruimteafdeling1 ON prs_ruimteafdeling(alg_ruimte_key, prs_afdeling_key, prs_ruimteafdeling_ingangsdatum, prs_ruimteafdeling_verwijder);
UPDATE prs_ruimteafdeling SET prs_ruimteafdeling_ingangsdatum = prs_ruimteafdeling_aanmaak;
UPDATE prs_ruimteafdeling SET prs_ruimteafdeling_einddatum = prs_ruimteafdeling_verwijder WHERE prs_ruimteafdeling_verwijder IS NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80728
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
MERGE INTO prs_perslid p1
USING (SELECT prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
'System account for Exchange notifications.'
|| CHR (13)
|| 'Contact Facilitor for configuration.' prs_perslid_opmerking
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR') p2
ON (p1.prs_perslid_oslogin = '_MSGRAPHNOTIFICATION')
WHEN MATCHED
THEN
UPDATE SET
p1.prs_perslid_module =
COALESCE (p1.prs_perslid_module, p2.prs_perslid_module),
p1.prs_srtperslid_key =
COALESCE (p1.prs_srtperslid_key, p2.prs_srtperslid_key),
p1.prs_afdeling_key =
COALESCE (p1.prs_afdeling_key, p2.prs_afdeling_key),
p1.prs_perslid_flags = 36,
p1.prs_perslid_opmerking =
COALESCE (p1.prs_perslid_opmerking, p2.prs_perslid_opmerking)
WHERE (p1.prs_perslid_oslogin = '_MSGRAPHNOTIFICATION')
WHEN NOT MATCHED
THEN
INSERT (prs_perslid_module,
prs_srtperslid_key,
prs_afdeling_key,
prs_perslid_naam,
prs_perslid_oslogin,
prs_perslid_apikey,
prs_perslid_flags,
prs_perslid_opmerking)
VALUES (p2.prs_perslid_module,
p2.prs_srtperslid_key,
p2.prs_afdeling_key,
'API-user tbv. Exchange-koppeling',
'_MSGRAPHNOTIFICATION',
DBMS_RANDOM.string ('a', 32),
36,
p2.prs_perslid_opmerking);
/////////////////////////////////////////////////////////////////////////////////////////// YASK#81166
DEF_FAC_FUNCTIE3('WEB_FACXNR', 'FAC', 0, 0, NULL);
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#80127
DEF_FAC_FUNCTIE3('WEB_CTRAFR', 'CTR', 0, 1, 1);
-- Iedereen met CTRUSE [op niet-MJOB-disciplines] autorisatie moet ook de nieuwe CTRAFR-autorisatie krijgen om het gedrag compatible te houden.
INSERT INTO fac_groeprechten(fac_groep_key,
ins_discipline_key,
fac_functie_key,
fac_gebruiker_prs_level_read,
fac_gebruiker_alg_level_read,
fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_write)
(SELECT gr.fac_groep_key,
gr.ins_discipline_key,
(SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_CTRAFR'),
fac_gebruiker_prs_level_write, -- Alleen een ja/nee autorisatie: read hetzelfde als de write level.
fac_gebruiker_alg_level_write, -- Alleen een ja/nee autorisatie: read hetzelfde als de write level.
fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_write
FROM fac_groeprechten gr,
fac_functie ff,
ctr_disc_params cdp
WHERE ff.fac_functie_key = gr.fac_functie_key
AND ff.fac_functie_code = 'WEB_CTRUSE'
AND gr.ins_discipline_key = cdp.ctr_ins_discipline_key
AND cdp.ctr_disc_params_ismjob = 0);
/////////////////////////////////////////////////////////////////////////////////////////// YASK#81268
DEF_IMPORT('WEB_PRSSYS', 'KOSTENSOORT', 'FIP: Aanmaken/bijwerken van kostensoorten', 'FIP: Create/Update cost categories')
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82295
DROP VIEW fac_v_lcrap_saldo;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
REGISTERONCE('$Id$')
#include "epilogue.inc"

View File

@@ -9,17 +9,6 @@ COMMIT;
-- Bij een DROP TABLE wordt nogal eens de PURGE vergeten
PURGE RECYCLEBIN;
-- Gedropte systeem UDRs
DELETE
FROM fac_locale
WHERE fac_locale_kolomnaam LIKE 'FAC_USRRAP_%'
AND fac_locale_kolomkeyval NOT IN (SELECT fac_usrrap_key FROM fac_usrrap);
DELETE
FROM fac_locale
WHERE fac_locale_kolomnaam LIKE 'FAC_IMPORT_APP_%'
AND fac_locale_kolomkeyval NOT IN (SELECT fac_import_app_key FROM fac_import_app);
-- Schema-naam uit MLD_T_UITVOERTIJD verwijderen.
--
-- data_default is van het datatype LONG. Daarop kan geen string-bewerking als INSTR(), SUBSTR() en REPLACE() worden gedaan.
@@ -88,22 +77,25 @@ select 'Upgrade has completed in ' || ROUND(( dbms_utility.get_time - :update_st
SET ECHO OFF
SET HEADING OFF
SET LINESIZE 132
PROMPT List of all too long objectnames (max 30)
SELECT 'OR'||'A-'||'DB'||_DBV_STRING||' Name too long: ' || TABLE_NAME || '.' ||COLUMN_NAME|| ' ' || DATA_TYPE
FROM USER_TAB_COLUMNS
WHERE LENGTH(column_name) > 30;
// 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;
SELECT 'OR'||'A-'||'DB'||_DBV_STRING||' Name too long: CONSTRAINT ' || constraint_name
FROM user_constraints
WHERE LENGTH (constraint_name) > 30;
SELECT 'OR'||'A-'||'DB'||_DBV_STRING||' Name too long: ' || object_type || ' ' || object_name
FROM user_objects
WHERE LENGTH (object_name) > 30;
/* In packages */
SELECT 'OR'||'A-'||'DB'||_DBV_STRING||' Name too long: ' || object_name || '.' || procedure_name
FROM user_procedures
WHERE LENGTH (procedure_name) > 30;
// Soms nog niet goed
BEGIN
DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE);
DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE);

View File

@@ -98,7 +98,7 @@ PROMPT [&fcltlogfile]
PROMPT
PROMPT ************************************************************************
PROMPT UPGRADE of Facilitor schema to version EVALCONCAT(DB, _DBV) $Revision$
PROMPT Copyright (c) 1996-2024 Aareon Nederland B.V. All rights reserved.
PROMPT Copyright (c) 1996-2023 Aareon Nederland B.V. All rights reserved.
PROMPT
SELECT 'The current version of Facilitor@' || USER || ' is: ' || fac.getdbversion()
FROM DUAL;

View File

@@ -24,7 +24,6 @@
#include "kpi\kpi_vie.src"
#include "ctr\ctr_vie.src"
#include "cnd\cnd_vie.src"
#include "fac\fac_vieexp.src"
// Recreation all packages
#include "adm\adm_pac.src"

View File

@@ -1,5 +1,5 @@
:: Achteraan d:\Backup\BackupAppl.bat op Jos's PC staat deze gescheduled
SET DBVER=44a
SET DBVER=44
SET DBPRV=43
SET DBPRVPATH=z:\Archief\FACILITOR\2022.3\DB43b\FCLT43b.sql
@testworkCOMMON.bat trunk %*

View File

@@ -1,5 +0,0 @@
:: Achteraan d:\Backup\BackupAppl.bat op Jos's PC staat deze gescheduled
SET DBVER=45
SET DBPRV=44
SET DBPRVPATH=z:\Archief\FACILITOR\2023.1\DB44c\FCLT44c.sql
@testworkCOMMON.bat trunk %*