Files
Database/_UP/DB49to50.src
2025-02-19 09:50:42 +00:00

349 lines
16 KiB
Plaintext

/*
* Update script van FACILITOR schema
* $Revision$
* $Id$
*/
#include "prologue.inc"
COMMIT;
SET DEFINE OFF
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85890
RENAME fac_v_orderqueue to fac_v_orderqueue_OLD;
// Tijdelijke dummy die niets oplevert
CREATE OR REPLACE VIEW fac_v_orderqueue
AS
SELECT -1 prs_bedrijf_key,
-1 alg_locatie_key,
'dontcare' xmlnode,
-1 key,
-1 reference,
'' sender,
SYSDATE teverzenden_datum
FROM DUAL
WHERE 0 = 1;
CREATE TABLE prs_bedrijfadres_srtnoti
(
prs_bedrijfadres_srtnoti_key
NUMBER(10)
PRIMARY KEY,
prs_bedrijfadres_key
NUMBER(10)
CONSTRAINT prs_r_bedrijfadres_key2
REFERENCES prs_bedrijfadres(prs_bedrijfadres_key) ON DELETE CASCADE,
fac_srtnotificatie_key
NUMBER(10)
REFERENCES fac_srtnotificatie(fac_srtnotificatie_key) ON DELETE CASCADE,
prs_bedrijfadres_method -- optionele overrule method (anders GET/POST afhankelijk van of er een body is)
VARCHAR2(16),
prs_bedrijfadres_url -- optionele overrule endpoint
VARCHAR2(512),
prs_bedrijfadres_srtnoti_aanmaak
DATE
DEFAULT SYSDATE NOT NULL
);
CREATE SEQUENCE prs_s_prs_bedrijfadres_srtnoti_key MINVALUE 1;
ALTER TABLE fac_notificatie
ADD fac_notificatie_naam VARCHAR(80); // puur informatief voor logging/support, bijvoorbeeld opdrachtnummer
ALTER TABLE fac_notificatie
ADD fac_notificatie_failmessage VARCHAR(4000); // de laatste
ALTER TABLE fac_notificatie
ADD fac_notificatie_faildatum DATE; // de laatste
ALTER TABLE fac_notificatie
ADD fac_notificatie_realuser VARCHAR2(64);
ALTER TABLE prs_bedrijfadres
ADD ins_discipline_key NUMBER(10)
REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE; // Scherpere bedrijfadres bepaling, vooral reserveringen?
ALTER TABLE prs_bedrijfadres
ADD prs_bedrijfadres_omschrijving VARCHAR2(100);
ALTER TABLE prs_bedrijfadres
MODIFY prs_bedrijfadres_type VARCHAR2(3); // Ook ruimte voor BOG voor BestelOpdrachten Generiek
ALTER TABLE prs_bedrijf DROP CONSTRAINT prs_c_prs_bedrijf_intern; // mag ook 2 zijn
ALTER TABLE prs_contactpersoon
ADD prs_contactpersoon_systeem
NUMBER(1) DEFAULT 0 NOT NULL;
ALTER TABLE fac_version
ADD fac_version_tasker_date DATE;
CREATE_TABLE(fac_cust, 0)
(
fac_cust_key NUMBER(10)
CONSTRAINT fac_k_fac_cust_key PRIMARY KEY,
fac_cust_customerid VARCHAR(4) NOT NULL,
fac_cust_schema VARCHAR(30) DEFAULT '00' NOT NULL, // kopie fac_version_schema van de gebruiker
fac_cust_enabled NUMBER(1) DEFAULT 1 NOT NULL, // future use, disable during upgrades?
fac_cust_aanmaak DATE DEFAULT SYSDATE NOT NULL,
CONSTRAINT fac_u_fac_cust UNIQUE(fac_cust_customerid)
);
CREATE_TABLE(fac_task, 0)
(
fac_task_key NUMBER(10)
CONSTRAINT fac_k_fac_task_key PRIMARY KEY,
fac_cust_key NUMBER(10) REFERENCES fac_cust(fac_cust_key) ON DELETE CASCADE,
fac_task_code VARCHAR(32) NOT NULL,
fac_task_nextrun DATE,
fac_task_lastrun DATE,
fac_task_flags NUMBER(3) DEFAULT 1 NOT NULL, -- +1=enabled
fac_task_aanmaak DATE DEFAULT SYSDATE NOT NULL,
CONSTRAINT fac_u_fac_task UNIQUE(fac_cust_key, fac_task_code)
);
CREATE SEQUENCE fac_s_fac_cust_key MINVALUE 1;
CREATE SEQUENCE fac_s_fac_task_key MINVALUE 1;
DEF_FAC_SRTNOT('RESSND', 1, 'lcl_noti_RESSND', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 60);
DEF_MENUITEM(2, 'lcl_menu_prs_bedrijf_system' , '', 'FAC', 'appl/prs/prs_bedrijf_search.asp?intern=2', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_prs_bedrijf_system', 'lcl_menu_fac_eigen_tabellen', 1);
DEF_MENUITEM(2, 'lcl_menu_system_adresses' , '', 'FAC', 'appl/mgt/prs_bedrijfadres.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_system_adresses', 'lcl_menu_prs_bedrijf_system', 1);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80469
/////////////////////////////////////////////////////////////////////////////////////////// YAXX#84687
ALTER TABLE prs_bedrijf
ADD prs_bedrijf_mld_limiet NUMBER(8,2);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85970
CREATE_TABLE(mld_melding_tag,0) /* generiekere opzet voor mld_releases of mld_releasekalender */
(
mld_melding_tag_key
NUMBER(10)
CONSTRAINT mld_k_melding_tag_key PRIMARY KEY,
ins_srtdiscipline_key
NUMBER(10) NOT NULL
CONSTRAINT mld_r_ins_srtdiscipline_key4 REFERENCES ins_srtdiscipline(ins_srtdiscipline_key) ON DELETE CASCADE,
mld_melding_tag_naam
VARCHAR2(30)
NOT NULL,
mld_melding_tag_oms /* korte omschrijving */
VARCHAR2(1000),
mld_stdmeldinggroep_key /* optional reference to mld_stdmeldinggroep */
NUMBER(10)
CONSTRAINT mld_r_mld_stdmeldinggroep_key2 REFERENCES mld_stdmeldinggroep(mld_stdmeldinggroep_key),
mld_melding_tag_datum_van /* lijkt logisch, maar definieren waarom */
DATE,
mld_melding_tag_datum_tot /* de releasedatum */
DATE NOT NULL,
prs_perslid_key /* aanmaker of verantwoordelijke */
NUMBER(10)
CONSTRAINT mld_r_prs_perslid_key15 REFERENCES prs_perslid(prs_perslid_key),
mld_melding_tag_aanmaak
DATE DEFAULT SYSDATE NOT NULL,
mld_melding_tag_verwijder
DATE
);
CREATE UNIQUE INDEX mld_i_mld_melding_tag1 ON mld_melding_tag(ins_srtdiscipline_key, UPPER(mld_melding_tag_naam), mld_melding_tag_verwijder);
CREATE SEQUENCE mld_s_mld_melding_tag_key MINVALUE 1;
ALTER TABLE mld_stdmelding ADD
mld_stdmelding_taggable
NUMBER(1)
DEFAULT 0
NOT NULL;
ALTER TABLE mld_melding ADD
mld_melding_tag_key
NUMBER(10)
CONSTRAINT mld_r_mld_melding_tag REFERENCES mld_melding_tag(mld_melding_tag_key);
DEF_FAC_FUNCTIE3('WEB_MLDTAG', 'MLD', 3, 1, 1);
DEF_MENUITEM(1, 'lcl_menu_mld_melding_tag' , '', 'MLD', 'appl/mgt/mld_melding_tag.asp', 0, 0, 'WEB_MLDTAG', 'R', '1', '');
MENU_INS_AFTER('lcl_menu_mld_melding_tag', 'lcl_menu_mld_mi', 1);
/////////////////////////////////////////////////////////////////////////////////////////// VNOG#83559
ALTER TABLE fac_imp_ins
ADD (
ins_srtdeel_omschr_parent VARCHAR2 (100),
ins_deel_omschr_parent VARCHAR2 (60)
);
/////////////////////////////////////////////////////////////////////////////////////////// AAXX#83884
UPDATE mld_typeopdr_srtdiscipline mts
SET mts.ins_srtdiscipline_key =
(SELECT md.ins_srtdiscipline_key
FROM mld_discipline md
WHERE md.ins_discipline_key = mts.ins_discipline_key)
WHERE EXISTS
(SELECT 1
FROM mld_discipline md
WHERE md.ins_discipline_key = mts.ins_discipline_key);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#83805
DELETE FROM fac_menu
WHERE fac_menuitems_key IN (SELECT fac_menuitems_key
FROM fac_menuitems
WHERE fac_menuitems_label = 'lcl_menu_fac_aut_groep'
);
DELETE FROM fac_menuitems
WHERE fac_menuitems_label = 'lcl_menu_fac_aut_groep';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#86343
// Sinds HSLE#36898 (2016.3) al niet meer in gebruik.
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE prs_perslid
SET prs_perslid_options = NULL
WHERE prs_perslid_options IS NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
DEF_FAC_MESSAGE ('INS_M205', 'Parent object bestaat niet.','Parent object does noet exist.');
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#85815
ALTER TABLE mld_typeopdr
ADD mld_typeopdr_code VARCHAR2(60)
CONSTRAINT mld_u_mld_typeopdr_code UNIQUE;
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#86003
ALTER TABLE fac_imp_cnt
ADD ( mantel_nr_versie VARCHAR2(10)
, soortcontact VARCHAR2(1)
, kostensoort VARCHAR2(60)
, scope VARCHAR2(1)
);
ALTER TABLE fac_imp_cnt
MODIFY ( bedrijf_naam VARCHAR2(200)
, contact_naam VARCHAR2(200)
);
/////////////////////////////////////////////////////////////////////////////////////////// DHLD#86034
ALTER TABLE prs_perslid
MODIFY ( prs_perslid_oslogin VARCHAR2(256)
, prs_perslid_oslogin2 VARCHAR2(256)
);
ALTER TABLE fac_imp_perslid
MODIFY prs_perslid_oslogin VARCHAR2(256);
/////////////////////////////////////////////////////////////////////////////////////////// YASK#86818
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_A' , 'Nieuwe min.waarde van dit kenmerksoort voldoet niet aan alle afdelingen.' ,'New min.value of this property-type does not satisfy all departments.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_B' , 'Nieuwe min.waarde van dit kenmerksoort voldoet niet aan alle bedrijven.' ,'New min.value of this property-type does not satisfy all companies.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_C' , 'Nieuwe min.waarde van dit kenmerksoort voldoet niet aan alle contactpersonen.' ,'New min.value of this property-type does not satisfy all contact persons');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MIN_P' , 'Nieuwe min.waarde van dit kenmerksoort voldoet niet aan alle personen.' ,'New min.value of this property-type does not satisfy all persons.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_A' , 'Nieuwe max.waarde van dit kenmerksoort voldoet niet aan alle afdelingen.' ,'New max.value of this property-type does not satisfy all departments.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_B' , 'Nieuwe max.waarde van dit kenmerksoort voldoet niet aan alle bedrijven.' ,'New max.value of this property-type does not satisfy all companies.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_C' , 'Nieuwe max.waarde van dit kenmerksoort voldoet niet aan alle contactpersonen.' ,'New max.value of this property-type does not satisfy all contact persons.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_MAX_P' , 'Nieuwe max.waarde van dit kenmerksoort voldoet niet aan alle personen.' ,'New max.value of this property-type does not satisfy all persons.');
DEF_FAC_MESSAGE ('PRS_C_PRS_KENMERK_LENGTE', 'De lengte moet tussen 1 en 50 liggen.','Length must be between 1 and 50.');
/////////////////////////////////////////////////////////////////////////////////////////// VGLD#85984
ALTER TABLE cnt_contract
ADD cnt_contract_inactiveren /* Automatisch sluiten na einddatum (0=nee, 1=ja) */
NUMBER(1)
DEFAULT 0
CONSTRAINT cnt_r_cnt_contract_inactiveren CHECK(cnt_contract_inactiveren IN (0,1));
/////////////////////////////////////////////////////////////////////////////////////////// YAXX#86411
ALTER TABLE alg_kenmerk DROP CONSTRAINT alg_c_alg_kenmerk_niveau1;
ALTER TABLE alg_kenmerk ADD CONSTRAINT alg_c_alg_kenmerk_niveau1 CHECK(alg_kenmerk_niveau IS NOT NULL
AND alg_kenmerk_niveau IN ('R','V','G','T','L','D', 'E'));
DEF_MENUITEM(2, 'lcl_menu_alg_regiokenmerken' , '', 'ALG', 'appl/mgt/alg_kenmerk.asp?level=E', 0, 0, 'WEB_ALGMGT', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_alg_regiokenmerken', 'lcl_menu_alg_districtkenmerken', -10);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82174
-- Variatie op MENU_INS_AFTER(); nl. zonder fac_menuitems-record
INSERT INTO fac_menu (fac_menu_volgnr,
fac_menu_altlabel,
fac_menu_info,
fac_menu_alturl,
fac_menu_altgroep,
fac_menu_level,
fac_functie_key)
SELECT (SELECT fac_menu_volgnr + 5
FROM fac_menu
WHERE fac_menu_altlabel = 'lcl_menu_session'),
'lcl_menu_get_exchange',
'',
'appl/api/exchange/default.asp',
2,
2,
fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_FACTAB'
AND NOT EXISTS
(SELECT ''
FROM fac_menu
WHERE fac_menu_alturl = 'appl/api/exchange/default.asp');
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82423
ALTER TABLE alg_gebouw ADD alg_gebouw_virtueel NUMBER(1) DEFAULT(0) NOT NULL;
ALTER TABLE alg_verdieping ADD alg_verdieping_virtueel NUMBER(1) DEFAULT(0) NOT NULL;
ALTER TABLE alg_ruimte ADD alg_ruimte_virtueel NUMBER(1) DEFAULT(0) NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#82535
DEF_FAC_SRTNOT('ACTUPD', 0, 'lcl_noti_ACTUPD', 'fac/job.asp?job_key=', '0', 'activiteit', 60);
/////////////////////////////////////////////////////////////////////////////////////////// PCHX#85935
CREATE VIEW prs_v_rap_vervangers AS SELECT * FROM DUAL;
DEF_RAPPORT('PRS', 'WEB_PRSMAN', 0 , 'prs_v_rap_vervangers', 'Vervangers', 'Vervangers per persoon',
'Substitutes', 'Substitutes per person')
/////////////////////////////////////////////////////////////////////////////////////////// LOGC#86231
UPDATE fac_usrrap_cols c1
SET fac_usrrap_cols_sorting = 1
WHERE fac_usrrap_cols_column_name = 'hide_f_sort'
AND fac_usrrap_cols_visible IN ('H', 'I') -- Ik ben [H]idden of [I]nvisible (verborgen/onzichtbaar)
AND fac_usrrap_cols_sorting = 3 -- Sortering staat op automatisch
AND fac_usrrap_cols_volgnr = -- Ik ben de eerste kolom
( SELECT MIN (fac_usrrap_cols_volgnr)
FROM fac_usrrap_cols c2
WHERE c2.fac_usrrap_key = c1.fac_usrrap_key
GROUP BY fac_usrrap_key)
AND NOT EXISTS -- autosorting is van toepassing (alle kolommen staan op 'automatisch' sorteren)
(SELECT ''
FROM fac_usrrap_cols c3
WHERE c3.fac_usrrap_key = c1.fac_usrrap_key
AND fac_usrrap_cols_sorting <> 3);
/////////////////////////////////////////////////////////////////////////////////////////// NOVA#85923
ALTER TABLE mld_typeopdr
ADD mld_typeopdr_confirm_for_send
NUMBER(1)
DEFAULT 0;
/////////////////////////////////////////////////////////////////////////////////////////// CARG#85437
ALTER TABLE bes_disc_params
ADD bes_disc_params_autodeliverdays
NUMBER(4);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#86197
UPDATE fac_setting
SET fac_setting_pvalue =
REPLACE (
REPLACE (fac_setting_pvalue,
'fa-file-import',
'fa-file-upload'),
'fa-file-export',
'fa-file-download')
WHERE fac_setting_name = 'buttons_in_hamburger'
AND fac_setting_pvalue IS NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// MARX#87424
ALTER TABLE prs_bedrijf DROP CONSTRAINT prs_u_prs_bedrijf_naam_upper DROP INDEX;
ALTER TABLE prs_bedrijf ADD CONSTRAINT prs_u_prs_bedrijf_naam_upper UNIQUE(prs_bedrijf_naam_upper, prs_bedrijf_intern, prs_bedrijf_verwijder);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
REGISTERONCE('$Id$')
#define POST_RECREATE "DB49to50_post.src"
#include "epilogue.inc"