Files
Database/_UP/DB7to8.src
2012-05-06 12:54:48 +00:00

374 lines
17 KiB
Plaintext

/* DB7TO8.SRC
* Update script van Facilitor schema DB7 naar DB8
* $Revision$
* $Id$
*/
#include "prologue.inc"
////////////////////////////////////////////////////////////////////////////////////////// FSN#18850
START_LOCALEITEMS('MLD_SRTDISCIPLINE_KEY')
DEFINE_LOCALEITEM(lcl_search_diff_fields)
DEFINE_LOCALEITEM(lcl_select_uitvoerende)
DEFINE_LOCALEITEM(lcl_select_vakgroep)
DEFINE_LOCALEITEM(lcl_select_stdmelding)
DEFINE_LOCALEITEM(lcl_mld_is_mldnew)
DEFINE_LOCALEITEM(lcl_mld_is_mldupd)
DEFINE_LOCALEITEM(lcl_mld_is_mldafm)
DEFINE_LOCALEITEM(lcl_mld_is_mldrej)
DEFINE_LOCALEITEM(lcl_mld_statusfilters)
DEFINE_LOCALEITEM(lcl_doaction_hint)
DEFINE_LOCALEITEM(LCL.mld.select_noloc_selected)
DEFINE_LOCALEITEM(LCL.mld.opdr_closed_3)
DEFINE_LOCALEITEM(LCL.mld.vakgroep)
DEFINE_LOCALEITEM(LCL.mld.person_prefix)
DEFINE_LOCALEITEM(LCL.mld.select_nostdmld_selected)
DEFINE_LOCALEITEM(LCL.mld.mldstatus)
END_LOCALEITEMS()
/
/////////////////////////////////////////////////////////////////////////////////////////// FSN#18742
ALTER TABLE ins_srtdeel ADD ins_srtdeel_voorraadmin NUMBER(6);
ALTER TABLE ins_srtdeel ADD ins_srtdeel_voorraadmax NUMBER(6);
ALTER TABLE bes_disc_params
ADD bes_ins_discipline_key_inkoop NUMBER(10)
CONSTRAINT bes_r_ins_discipine_key2 REFERENCES ins_tab_discipline(ins_discipline_key);
DEF_MENUITEM(1, 'lcl_menu_bes_bo_voorraad' , '', 'BES', 'appl/bes/bes_voorraad_search.asp?urole=bo', 0, 0, 'WEB_BESBOF', 'R', '0');
/////////////////////////////////////////////////////////////////////////////////////////// PZHO#18868
ALTER TABLE bes_disc_params ADD bes_disc_params_pgb NUMBER(1);
/////////////////////////////////////////////////////////////////////////////////////////// AABT#18483
CREATE_TABLE(fin_btwtabel, 0)
(
fin_btwtabel_key
NUMBER(10)
CONSTRAINT fin_k_btwtabel_key PRIMARY KEY,
fin_btwtabel_omschrijving
VARCHAR(30)
NOT_NULL(fin_btwtabel_omschrijving, fin_c_btwtabel_omschr),
fin_btwtabel_default
NUMBER(1),
fin_btwtabel_aanmaak
DATE
DEFAULT SYSDATE,
fin_btwtabel_verwijder
DATE
DEFAULT NULLDATUM
);
CREATE_TABLE(fin_btwtabelwaarde, 0)
(
fin_btwtabelwaarde_key
NUMBER(10)
CONSTRAINT fin_k_btwtabelwaarde_key PRIMARY KEY,
fin_btwtabel_key
NUMBER(10)
CONSTRAINT fin_r_btwtabel_key1 REFERENCES fin_btwtabel(fin_btwtabel_key) ON DELETE CASCADE
NOT_NULL(fin_btwtabel_key, fin_c_btwtabel_key1),
fin_btwtabelwaarde_code
VARCHAR(10)
NOT_NULL(fin_btwtabelwaarde_code, fin_c_btwtabelwaarde_code),
fin_btwtabelwaarde_oms
VARCHAR(30),
fin_btwtabelwaarde_perc
NUMBER(5,3)
NOT_NULL(fin_btwtabelwaarde_perc, fin_c_btwtabelwaarde_perc),
fin_btwtabelwaarde_verlegd
NUMBER(1),
fin_btwtabelwaarde_van -- yet unused
DATE,
fin_btwtabelwaarde_tot -- yet unused
DATE,
fin_btwtabelwaarde_aanmaak
DATE
DEFAULT SYSDATE,
fin_btwtabelwaarde_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT fin_u_fin_btwtabelwaarde UNIQUE(fin_btwtabel_key, fin_btwtabelwaarde_code, fin_btwtabelwaarde_verwijder)
);
ALTER TABLE prs_bedrijf
ADD fin_btwtabel_key NUMBER(10)
CONSTRAINT prs_r_fin_btwtabel_key1 REFERENCES fin_btwtabel(fin_btwtabel_key);
ALTER TABLE fin_factuurregel
ADD fin_btwtabelwaarde_key NUMBER(10)
CONSTRAINT fin_r_btwtabelwaarde_key1 REFERENCES fin_btwtabelwaarde(fin_btwtabelwaarde_key);
CREATE SEQUENCE fin_s_fin_btwtabel_key MINVALUE 2;
CREATE SEQUENCE fin_s_fin_btwtabelwaarde_key MINVALUE 4;
-- triggers al nodig tbv inserts
CREATE_TRIGGER(fin_t_fin_btwtabel_b_iu)
BEFORE INSERT OR UPDATE ON fin_btwtabel
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fin_btwtabel_key, fin_s_fin_btwtabel_key);
END;
/
CREATE_TRIGGER(fin_t_fin_btwtabelwaarde_b_iu)
BEFORE INSERT OR UPDATE ON fin_btwtabelwaarde
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(fin_btwtabelwaarde_key, fin_s_fin_btwtabelwaarde_key);
END;
/
INSERT INTO fin_btwtabel (fin_btwtabel_key, fin_btwtabel_omschrijving, fin_btwtabel_default) VALUES (1, 'NL standaard', 1);
INSERT INTO fin_btwtabelwaarde (fin_btwtabelwaarde_key, fin_btwtabel_key, fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc) VALUES(1, 1, '0', 'Nul', 0);
INSERT INTO fin_btwtabelwaarde (fin_btwtabelwaarde_key, fin_btwtabel_key, fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc) VALUES(2, 1, 'L', 'Laag', 6);
INSERT INTO fin_btwtabelwaarde (fin_btwtabelwaarde_key, fin_btwtabel_key, fin_btwtabelwaarde_code, fin_btwtabelwaarde_oms, fin_btwtabelwaarde_perc) VALUES(3, 1, 'H', 'Hoog', 19);
UPDATE fin_factuurregel f
SET f.fin_btwtabelwaarde_key =
(SELECT CASE
WHEN COALESCE (fr.fin_factuurregel_totaal, 0) = 0
OR ( 100
* fr.fin_factuurregel_btw
/ fr.fin_factuurregel_totaal) <= 1
THEN 1 -- NL Nul 0%
WHEN ( 100
* fr.fin_factuurregel_btw
/ fr.fin_factuurregel_totaal) <= 10
THEN 2 -- NL Laag 6%
ELSE 3 -- NL Hoog 19%
END
FROM fin_factuurregel fr
WHERE fr.fin_factuurregel_key = f.fin_factuurregel_key)
WHERE fin_btwtabelwaarde_key IS NULL;
DEF_MENUITEM(2, 'lcl_menu_fin_btwtabellen' , '', 'FIN', 'appl/facmgtVB/fin_btwtabelgrid.asp', 0, 0, 'WEB_FINMSU', 'W', '1');
DEF_MENUITEM(2, 'lcl_menu_fin_btwtabelwaarden' , '', 'FIN', 'appl/facmgtVB/fin_btwtabelwaardegrid.asp', 0, 0, 'WEB_FINMSU', 'W', '1');
-- Default-opties, dus toevoegen. Na lcl_menu_fin_profiel_limieten
INSERT INTO fac_menu (fac_menuitems_key, fac_menu_volgnr
)
SELECT i.fac_menuitems_key, m.fac_menu_volgnr + 2
FROM fac_menuitems i, fac_menu m
WHERE i.fac_menuitems_key = (SELECT mmi.fac_menuitems_key
FROM fac_menuitems mmi
WHERE mmi.fac_menuitems_label = 'lcl_menu_fin_btwtabellen')
AND m.fac_menuitems_key =
(SELECT mm.fac_menuitems_key
FROM fac_menu mm, fac_menuitems mmi
WHERE mm.fac_menuitems_key = mmi.fac_menuitems_key
AND mmi.fac_menuitems_label = 'lcl_menu_fin_profiel_limieten');
INSERT INTO fac_menu (fac_menuitems_key, fac_menu_volgnr
)
SELECT i.fac_menuitems_key, m.fac_menu_volgnr + 4
FROM fac_menuitems i, fac_menu m
WHERE i.fac_menuitems_key = (SELECT mmi.fac_menuitems_key
FROM fac_menuitems mmi
WHERE mmi.fac_menuitems_label = 'lcl_menu_fin_btwtabelwaarden')
AND m.fac_menuitems_key =
(SELECT mm.fac_menuitems_key
FROM fac_menu mm, fac_menuitems mmi
WHERE mm.fac_menuitems_key = mmi.fac_menuitems_key
AND mmi.fac_menuitems_label = 'lcl_menu_fin_profiel_limieten');
/////////////////////////////////////////////////////////////////////////////////////////// FSN#18717
ALTER TABLE fac_imp_ins ADD prs_perslid_matchcode VARCHAR2(255);
ALTER TABLE fac_imp_ins ADD prs_perslid_matchwaarde VARCHAR2(255);
ALTER TABLE fac_imp_ins ADD ins_kenmerkwaarde1 VARCHAR2(255);
ALTER TABLE fac_imp_ins ADD ins_kenmerkwaarde2 VARCHAR2(255);
ALTER TABLE fac_imp_ins ADD ins_kenmerkwaarde3 VARCHAR2(255);
ALTER TABLE fac_imp_ins ADD ins_kenmerkwaarde4 VARCHAR2(255);
ALTER TABLE fac_imp_ins ADD ins_kenmerkwaarde5 VARCHAR2(255);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#18975
ALTER TABLE fac_imp_mld MODIFY mld_stdmelding_kostensoort VARCHAR2(60);
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#18996
ALTER TABLE prs_perslidwerkplek ADD prs_perslidwerkplek_volgnr NUMBER(2);
ALTER TABLE prs_perslid ADD prs_perslid_geslacht NUMBER(1);
ALTER TABLE prs_werkplek MODIFY prs_werkplek_volgnr NUMBER(4);
DEF_FAC_SRTNOT('PRSNEW', 0, 'Contract geregistreerd', 'prs/prs_perslid.asp?prs_key=' , '0', 'perslid');
DEF_FAC_SRTNOT('PRSUPD', 0, 'Contract gewijzigd', 'prs/prs_perslid.asp?prs_key=' , '0', 'perslid');
DEF_FAC_SRTNOT('PRSDEL', 0, 'Contract verwijderd', 'prs/prs_perslid.asp?prs_key=' , '0', 'perslid');
/////////////////////////////////////////////////////////////////////////////////////////// FSN#19006
CREATE_TABLE(fac_imp_factuur, 0)
(
ordernr VARCHAR2 (15),
leveranciernr VARCHAR2 (20),
factuurnr VARCHAR2 (30),
factuurdatum VARCHAR2 (10),
aantal VARCHAR2 (10),
kostprijs VARCHAR2 (15),
btw VARCHAR2 (2),
debiteurnr VARCHAR2 (30),
locatie VARCHAR2 (10),
afleverdatum VARCHAR2 (10),
btw_bedrag VARCHAR2 (15),
docid VARCHAR2 (255),
omschrijving VARCHAR2 (60)
);
CREATE INDEX fac_i_imp_factuur1 ON fac_imp_factuur (ordernr);
INSERT INTO fin_factuur_statuses (fin_factuur_statuses_key, fin_factuur_statuses_omschr) VALUES (3,'Ongeldige import');
ALTER TABLE fin_factuur DROP CONSTRAINT fin_c_fin_factuur2;
INSERT INTO fac_import_app
(fac_import_app_code, fac_import_app_oms,
fac_import_app_systeem, fac_functie_key
)
SELECT 'FACTUUR', 'Standaard import van facturenbestand van leverancier(s)', 1,
fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_FINFOF';
ALTER TABLE mld_disc_params
ADD mld_disc_params_factmatchmode NUMBER(1)
CONSTRAINT mld_c_disc_params1 CHECK(mld_disc_params_factmatchmode IN (2,3));
ALTER TABLE bes_disc_params
ADD bes_disc_params_factmatchmode NUMBER(1)
CONSTRAINT bes_c_disc_params1 CHECK(bes_disc_params_factmatchmode IN (2,3));
/////////////////////////////////////////////////////////////////////////////////////////// FSN#18558
ALTER TABLE mld_disc_params
ADD mld_disc_params_factuurgrens NUMBER(8);
ALTER TABLE bes_disc_params
ADD bes_disc_params_factuurgrens NUMBER(8);
ALTER TABLE cnt_disc_params
ADD cnt_disc_params_factuurgrens NUMBER(8);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#18558
DEF_FAC_FUNCTIE2('WEB_BEZPRK', 'Parkeerplaatsen', 'BEZ', 0, 0,'Om parkeerplaatsen bij bezoekers te kunnen inzien en boeken');
// Om compatibel te blijven krijgt de defaultgroep deze rechten
INSERT INTO fac_groeprechten
(fac_groep_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 (SELECT fac_groep_key
FROM fac_groep
WHERE fac_groep_upper = '_DEFAULT'), fac_functie_key, -1, -1, -1, -1
FROM fac_functie
WHERE fac_functie_code='WEB_BEZPRK';
/////////////////////////////////////////////////////////////////////////////////////////// FSN#18613
// Opschonen probleem flexkenmerken
// verwijder alle flexkenmerken die er volgens de definities helemaal niet hadden moeten zijn.
DELETE FROM mld_kenmerkmelding
WHERE (mld_melding_key, mld_kenmerk_key) IN
(SELECT v.mld_melding_key, mld_kenmerk_key
FROM mld_kenmerkmelding v
MINUS -- degene die er horen te zijn
SELECT v.mld_melding_key, v.mld_kenmerk_key
FROM mld_kenmerkmelding v,
mld_kenmerk vk,
mld_melding m,
mld_stdmelding s,
mld_discipline d
WHERE v.mld_melding_key = m.mld_melding_key
AND v.mld_kenmerk_key = vk.mld_kenmerk_key
AND s.mld_stdmelding_key = M.mld_stdmelding_key
AND s.mld_ins_discipline_key = d.ins_discipline_key
AND ( (vk.mld_stdmelding_key = s.mld_stdmelding_key
AND vk.mld_kenmerk_niveau = 'S')
OR (vk.mld_stdmelding_key =
s.mld_ins_discipline_key
AND vk.mld_kenmerk_niveau = 'D')
OR (vk.mld_stdmelding_key =
d.ins_srtdiscipline_key
AND vk.mld_kenmerk_niveau = 'T')));
/////////////////////////////////////////////////////////////////////////////////////////// FSN#19101
DEF_FAC_SRTNOT('RESDIR', 3, 'Let op: reservering ##KEY## (##DESC##) is ongeldig!', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering');
/////////////////////////////////////////////////////////////////////////////////////////// AADS#18286
CREATE_TABLE(alg_srtruimte_locatiegebouw,0)
(
alg_srtruimte_lg_key
NUMBER(10)
CONSTRAINT alg_k_alg_srtruimte_lg_key PRIMARY KEY,
alg_srtruimte_key
NUMBER(10)
CONSTRAINT alg_r_alg_srtruimte_key2 REFERENCES alg_srtruimte(alg_srtruimte_key) ON DELETE CASCADE
NOT_NULL(alg_srtruimte_key, alg_r_srtruimte_key1),
alg_locatie_key
NUMBER(10)
CONSTRAINT alg_r_locatie_key3 REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE,
alg_gebouw_key
NUMBER(10)
CONSTRAINT alg_r_alg_gebouw_key3 REFERENCES alg_gebouw(alg_gebouw_key) ON DELETE CASCADE,
alg_srtruimte_lg_prijs
NUMBER(11,5),
alg_srtruimte_lg_prijs2 /* extra kosten, bv servicekosten */
NUMBER(11,5),
alg_srtruimte_lg_prijs3 /* extra kosten, bv onderhoud */
NUMBER(11,5),
alg_srtruimte_lg_prijs4 /* extra kosten, bv energie */
NUMBER(11,5),
alg_srtruimte_lg_prijs5 /* extra kosten, bv belasting */
NUMBER(11,5),
CONSTRAINT alg_u_alg_srtruimte_lg UNIQUE(alg_srtruimte_key, alg_locatie_key, alg_gebouw_key),
CONSTRAINT alg_c_alg_srtruimte_lg CHECK (alg_locatie_key IS NULL OR alg_gebouw_key IS NULL)
);
CREATE SEQUENCE alg_s_alg_srtruimte_lg_key MINVALUE 1;
CREATE_TRIGGER(alg_t_alg_srtruimte_lg_B_IU)
BEFORE INSERT OR UPDATE ON alg_srtruimte_locatiegebouw
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(alg_srtruimte_lg_key, alg_s_alg_srtruimte_lg_key);
END;
/
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#19001
ALTER TABLE prs_perslid
ADD prs_perslid_ingids NUMBER(1) DEFAULT 1
CONSTRAINT prs_c_prs_perslid_ingids CHECK(prs_perslid_ingids IS NULL OR prs_perslid_ingids = 1 );
/////////////////////////////////////////////////////////////////////////////////////////// RWSN#18845
UPDATE fac_srtnotificatie SET fac_srtnotificatie_oms= REPLACE(fac_srtnotificatie_oms, '##KEY##', '##OPDRKEY##')
WHERE fac_srtnotificatie_xmlnode = 'opdracht';
/////////////////////////////////////////////////////////////////////////////////////////// FSN#19122
UPDATE fac_functie set fac_functie_min_level=3 WHERE fac_functie_code IN ('WEB_FINFOF', 'WEB_FINBOF');
UPDATE fac_groeprechten SET fac_gebruiker_alg_level_write = fac_gebruiker_prs_level_write,
fac_gebruiker_alg_level_read = fac_gebruiker_prs_level_read
WHERE fac_functie_key IN (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code IN ('WEB_FINFOF', 'WEB_FINBOF'));
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#19018
INSERT INTO fac_notificatie_job (fac_notificatie_job_view, fac_notificatie_job_oms, fac_notificatie_job_interval, fac_notificatie_job_mode)
VALUES ('fac_v_noti_finreminder', 'Fiatteringsverzoek voor facturen naar budgethouder', 24, 3);
DEF_FAC_SRTNOT('FININF', 0, 'Factuur goedkeuring vereist', 'fin/fin_search.asp', '1', 'factuur');
/////////////////////////////////////////////////////////////////////////////////////////// AADS#18286
DEF_MENUITEM(2, 'lcl_menu_alg_ruimtetarieven' , '', 'ALG', 'appl/alg/alg_ruimtefunctie_search.asp', 0, 0, 'WEB_ALGMSU', 'R', '1');
-- Default-optie, dus toevoegen. Na lcl_menu_alg_ruimtefuncties
INSERT INTO fac_menu (fac_menuitems_key, fac_menu_volgnr
)
SELECT i.fac_menuitems_key, m.fac_menu_volgnr + 5
FROM fac_menuitems i, fac_menu m
WHERE i.fac_menuitems_key = (SELECT mmi.fac_menuitems_key
FROM fac_menuitems mmi
WHERE mmi.fac_menuitems_label = 'lcl_menu_alg_ruimtetarieven')
AND m.fac_menuitems_key =
(SELECT mm.fac_menuitems_key
FROM fac_menu mm, fac_menuitems mmi
WHERE mm.fac_menuitems_key = mmi.fac_menuitems_key
AND mmi.fac_menuitems_label = 'lcl_menu_alg_ruimtefuncties');
COMMIT;
///////////////////////////////////////////////////////////////////////////////////////////
REGISTERONCE('$Workfile: DB7to8.src $','$Revision$')
#include "epilogue.inc"