732 lines
32 KiB
Plaintext
732 lines
32 KiB
Plaintext
/* DB10TO11.SRC
|
|
* Update script van Facilitor schema DB10 naar DB11
|
|
* $Revision$
|
|
* $Id$
|
|
*/
|
|
#include "prologue.inc"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////// RWSN#19201
|
|
DEF_FAC_FUNCTIE2('WEB_RESNOS', 'Backoffice:Reserv-noshow', 'RES', 11, 1,'Om no-show van reserveringen te kunnen registreren');
|
|
-- Compatibel blijven: iedereen met WEB_RESBOF ook dit nieuwe recht geven
|
|
INSERT INTO fac_groeprechten (fac_groep_key, fac_gebruiker_prs_level_write, fac_gebruiker_prs_level_read, fac_gebruiker_alg_level_write, fac_gebruiker_alg_level_read, fac_functie_key, ins_discipline_key
|
|
)
|
|
SELECT g.fac_groep_key,
|
|
-1, -1, -1, -1,
|
|
f.fac_functie_key,
|
|
g.ins_discipline_key
|
|
FROM fac_groeprechten g, fac_functie f
|
|
WHERE g.fac_functie_key = (SELECT fac_functie_key
|
|
FROM fac_functie
|
|
WHERE fac_functie_code = 'WEB_RESBOF')
|
|
AND f.fac_functie_code='WEB_RESNOS'
|
|
AND (g.fac_groep_key, f.fac_functie_key, g.ins_discipline_key) NOT IN
|
|
(SELECT fac_groep_key, fac_functie_key, ins_discipline_key FROM fac_groeprechten);
|
|
|
|
ALTER TABLE res_rsv_ruimte ADD res_rsv_ruimte_bezoekers_shown
|
|
NUMBER(5)
|
|
CONSTRAINT res_c_rsv_ruimte_bez_shown CHECK((res_rsv_ruimte_bezoekers_shown IS NULL) OR (res_rsv_ruimte_bezoekers_shown >= 0));
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////// FSN#19263
|
|
|
|
CREATE_TABLE(res_srtactiviteit, 0)
|
|
( res_srtactiviteit_key
|
|
NUMBER(10)
|
|
CONSTRAINT res_k_res_srtactiviteit_key PRIMARY KEY
|
|
, res_srtactiviteit_omschrijving
|
|
VARCHAR2(30)
|
|
CONSTRAINT res_c_res_activiteit_oms CHECK(res_srtactiviteit_omschrijving IS NOT NULL)
|
|
, res_srtactiviteit_opmerking
|
|
VARCHAR2(2000)
|
|
, res_srtactiviteit_prefix
|
|
VARCHAR2(3)
|
|
, res_srtactiviteit_kostenklant
|
|
NUMBER(1)
|
|
, res_srtactiviteit_kpnverplicht
|
|
NUMBER(1) DEFAULT(0)
|
|
CONSTRAINT res_c_srtactiviteit_kpn CHECK(res_srtactiviteit_kpnverplicht IN (0,1))
|
|
, res_srtactiviteit_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
, res_srtactiviteit_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM
|
|
, res_srtactiviteit_soort
|
|
NUMBER(1)
|
|
, CONSTRAINT res_u_res_activiteit_omsch UNIQUE(res_srtactiviteit_omschrijving, res_srtactiviteit_verwijder, res_srtactiviteit_soort)
|
|
);
|
|
|
|
CREATE SEQUENCE res_s_res_srtactiviteit_key MINVALUE 10;
|
|
|
|
INSERT INTO res_srtactiviteit (res_srtactiviteit_key, res_srtactiviteit_omschrijving, res_srtactiviteit_soort) VALUES (1, 'Ruimte', 0);
|
|
INSERT INTO res_srtactiviteit (res_srtactiviteit_key, res_srtactiviteit_omschrijving, res_srtactiviteit_soort) VALUES (2, 'Voorzieningen', 1);
|
|
|
|
ALTER TABLE res_activiteit ADD res_srtactiviteit_key NUMBER(10)
|
|
CONSTRAINT res_r_res_srtactiviteit_key REFERENCES res_srtactiviteit(res_srtactiviteit_key);
|
|
|
|
-- Alle activiteiten die voorkomen bij RES-ruimten krijgen type 1 (Ruimte)
|
|
UPDATE res_activiteit
|
|
SET res_srtactiviteit_key = 1
|
|
WHERE res_activiteit_key IN (SELECT DISTINCT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key AND rrr.alg_ruimte_key IS NULL);
|
|
|
|
-- Alle (overige) activiteiten die voorkomen bij ALG-ruimten krijgen type 2 (Voorzieningen)
|
|
UPDATE res_activiteit
|
|
SET res_srtactiviteit_key = 2
|
|
WHERE res_activiteit_key IN (SELECT DISTINCT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key AND rrr.alg_ruimte_key IS NOT NULL)
|
|
AND res_srtactiviteit_key IS NULL;
|
|
|
|
-- De activiteiten die in *beide hoedanigheden* voorkwamen zijn nu bij 1 ingedeeld.
|
|
-- Daarvoor moet er nu nog een 2-variant worden aangemaakt
|
|
INSERT INTO res_activiteit (res_activiteit_omschrijving, res_activiteit_duur, res_srtactiviteit_key, res_activiteit_verwijder)
|
|
SELECT res_activiteit_omschrijving, res_activiteit_duur, 2, res_activiteit_verwijder
|
|
FROM res_activiteit
|
|
WHERE res_activiteit_key IN
|
|
(SELECT DISTINCT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key AND rrr.alg_ruimte_key IS NULL)
|
|
AND res_activiteit_key IN
|
|
(SELECT DISTINCT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key AND rrr.alg_ruimte_key IS NOT NULL);
|
|
|
|
-- Alle CV-catalogus combinaties van dubbelen moeten nu ook voor de gekopieerde CV-versie gelden
|
|
INSERT INTO res_activiteitdiscipline (res_discipline_key, res_activiteit_key
|
|
)
|
|
SELECT d.res_discipline_key, a2.res_activiteit_key
|
|
FROM res_activiteitdiscipline d, ins_tab_discipline, res_activiteit a1, res_activiteit a2
|
|
WHERE d.res_discipline_key = ins_discipline_key
|
|
AND ins_discipline_min_level IN (1, 2)
|
|
AND a1.res_activiteit_omschrijving = a2.res_activiteit_omschrijving
|
|
AND COALESCE (a1.res_activiteit_duur, -1) = COALESCE (a2.res_activiteit_duur, -1)
|
|
AND COALESCE (a1.res_activiteit_verwijder, SYSDATE) = COALESCE (a2.res_activiteit_verwijder, SYSDATE)
|
|
AND a1.res_activiteit_key = d.res_activiteit_key
|
|
AND a1.res_srtactiviteit_key = 1
|
|
AND a2.res_srtactiviteit_key = 2
|
|
AND a2.res_activiteit_soort IS NULL
|
|
AND a1.res_activiteit_key IN
|
|
(SELECT DISTINCT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key AND rrr.alg_ruimte_key IS NULL)
|
|
AND a1.res_activiteit_key IN
|
|
(SELECT DISTINCT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key AND rrr.alg_ruimte_key IS NOT NULL);
|
|
|
|
-- Vervang voor die dubbelen de verwijzing van de 1 versie door de 2 versie.
|
|
-- Kopieer de res_kenmerken voor de nieuwe activiteiten
|
|
INSERT INTO res_kenmerk (res_srtkenmerk_key, res_activiteit_key, res_kenmerk_niveau, res_kenmerk_toonbaar, res_kenmerk_uniek, res_kenmerk_hint, res_kenmerk_verplicht, res_kenmerk_volgnummer, res_kenmerk_default, res_kenmerk_verwijder
|
|
)
|
|
SELECT k1.res_srtkenmerk_key,
|
|
r2.res_activiteit_key,
|
|
k1.res_kenmerk_niveau,
|
|
k1.res_kenmerk_toonbaar,
|
|
k1.res_kenmerk_uniek,
|
|
k1.res_kenmerk_hint,
|
|
k1.res_kenmerk_verplicht,
|
|
k1.res_kenmerk_volgnummer,
|
|
k1.res_kenmerk_default,
|
|
k1.res_kenmerk_verwijder
|
|
FROM res_activiteit r1, res_activiteit r2, res_kenmerk k1
|
|
WHERE r1.res_activiteit_omschrijving = r2.res_activiteit_omschrijving
|
|
AND COALESCE (r1.res_activiteit_duur, -1) = COALESCE (r2.res_activiteit_duur, -1)
|
|
AND COALESCE (r1.res_activiteit_verwijder, SYSDATE) = COALESCE (r2.res_activiteit_verwijder, SYSDATE)
|
|
AND r1.res_activiteit_key = k1.res_activiteit_key
|
|
AND r1.res_srtactiviteit_key = 1
|
|
AND r2.res_srtactiviteit_key = 2
|
|
AND r1.res_activiteit_key IN
|
|
(SELECT DISTINCT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key AND rrr.alg_ruimte_key IS NULL)
|
|
AND r1.res_activiteit_key IN
|
|
(SELECT DISTINCT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key AND rrr.alg_ruimte_key IS NOT NULL);
|
|
|
|
-- vervang de kenmerkwaarden (res_kenmerk_key1 -> res_kenmerk_key2)
|
|
UPDATE res_kenmerkwaarde kw
|
|
SET res_kenmerk_key =
|
|
(SELECT k2.res_kenmerk_key
|
|
FROM res_kenmerk k1, res_kenmerk k2
|
|
WHERE kw.res_kenmerk_key = k1.res_kenmerk_key
|
|
AND k1.res_kenmerk_key <> k2.res_kenmerk_key
|
|
AND k2.res_srtkenmerk_key = k1.res_srtkenmerk_key
|
|
AND COALESCE (k2.res_kenmerk_volgnummer, -1) = COALESCE (k1.res_kenmerk_volgnummer, -1)
|
|
AND COALESCE (k2.res_kenmerk_verwijder, SYSDATE) = COALESCE (k1.res_kenmerk_verwijder, SYSDATE))
|
|
WHERE kw.res_kenmerk_key IN
|
|
(SELECT k1.res_kenmerk_key
|
|
FROM res_kenmerk k1
|
|
WHERE k1.res_activiteit_key IN
|
|
(SELECT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key AND rrr.alg_ruimte_key IS NULL)
|
|
AND k1.res_activiteit_key IN
|
|
(SELECT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key
|
|
AND rrr.alg_ruimte_key IS NOT NULL));
|
|
|
|
-- TENSLOTTE
|
|
-- Vervang voor die dubbelen de verwijzing van de 1 versie door de 2 versie.
|
|
UPDATE res_rsv_ruimte rrr
|
|
SET res_activiteit_key =
|
|
(SELECT r2.res_activiteit_key
|
|
FROM res_activiteit r1, res_activiteit r2
|
|
WHERE r1.res_activiteit_omschrijving = r2.res_activiteit_omschrijving
|
|
AND COALESCE (r1.res_activiteit_duur, -1) = COALESCE (r2.res_activiteit_duur, -1)
|
|
AND COALESCE (r1.res_activiteit_verwijder, SYSDATE) =
|
|
COALESCE (r2.res_activiteit_verwijder, SYSDATE)
|
|
AND rrr.res_activiteit_key = r1.res_activiteit_key
|
|
AND r1.res_srtactiviteit_key = 1
|
|
AND r2.res_srtactiviteit_key = 2)
|
|
WHERE res_activiteit_key IN (SELECT DISTINCT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key AND rrr.alg_ruimte_key IS NULL)
|
|
AND res_activiteit_key IN
|
|
(SELECT DISTINCT rrr.res_activiteit_key
|
|
FROM res_rsv_ruimte rrr, res_activiteit ra
|
|
WHERE rrr.res_activiteit_key = ra.res_activiteit_key AND rrr.alg_ruimte_key IS NOT NULL)
|
|
AND alg_ruimte_key IS NOT NULL;
|
|
|
|
-- Kolom res_activiteit_soort kan nu weg: onderin
|
|
|
|
DEF_MENUITEM(2, 'lcl_menu_res_srtactiviteiten' , '', 'RES', 'appl/facmgtVB/res_srtactiviteitgrid.asp', 0, 0, 'WEB_RESMGT', 'W', '1');
|
|
|
|
-- Default-optie, dus toevoegen. VOOR lcl_menu_res_reserveerbare_rui
|
|
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_res_srtactiviteiten')
|
|
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_res_reserveerbare_rui');
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////// CONN#19238
|
|
/* welke inspecties, controles etc gelden er voor objecten van deze soorten */
|
|
CREATE_TABLE(ins_srtcontrole, 0)
|
|
(
|
|
ins_srtcontrole_key
|
|
NUMBER(10)
|
|
PRIMARY KEY,
|
|
ins_srtinstallatie_key
|
|
NUMBER(10),
|
|
ins_srtcontrole_niveau
|
|
VARCHAR2(1)
|
|
CONSTRAINT ins_c_srtcontrole_niveau1 CHECK
|
|
(ins_srtcontrole_niveau IS NOT NULL AND (ins_srtcontrole_niveau IN( 'D', 'G', 'S'))),
|
|
ins_srtcontrole_omschrijving
|
|
VARCHAR2(60)
|
|
NOT_NULL(ins_srtcontrole_omschrijving, ins_c_srtcontrole_omschrijving),
|
|
ins_srtcontrole_info
|
|
VARCHAR2(320),
|
|
ins_srtcontrole_periode /* in dagen */
|
|
NUMBER(4)
|
|
NOT_NULL(ins_srtcontrole_periode, ins_c_ins_srtcontrole_periode)
|
|
);
|
|
|
|
CREATE_TABLE(ins_controlemode, 0)
|
|
(
|
|
ins_controlemode_key
|
|
NUMBER(10)
|
|
PRIMARY KEY,
|
|
ins_controlemode_oms
|
|
VARCHAR(30 CHAR)
|
|
NOT_NULL(ins_controlemode_oms, ins_c_controlemode_oms),
|
|
ins_controlemode_opmerking
|
|
VARCHAR(2000 CHAR),
|
|
CONSTRAINT ins_u_ins_controlemode_oms UNIQUE (ins_controlemode_oms)
|
|
);
|
|
|
|
|
|
/* wanneer zijn de inspecties uitgevoerd */
|
|
CREATE_TABLE(ins_deelsrtcontrole, 0)
|
|
(
|
|
ins_deelsrtcontrole_key
|
|
NUMBER(10)
|
|
PRIMARY KEY,
|
|
ins_deel_key
|
|
NUMBER(10)
|
|
NOT NULL REFERENCES ins_deel ON DELETE CASCADE,
|
|
ins_srtcontrole_key
|
|
NUMBER(10)
|
|
NOT NULL REFERENCES ins_srtcontrole ON DELETE CASCADE,
|
|
ins_deelsrtcontrole_datum
|
|
DATE
|
|
NOT NULL,
|
|
ins_controlemode_key
|
|
NUMBER(10)
|
|
NOT NULL REFERENCES ins_controlemode ON DELETE SET NULL,
|
|
ins_deelsrtcontrole_opmerking
|
|
VARCHAR(2000 CHAR),
|
|
CONSTRAINT ins_u_ins_deelsrtcontrole UNIQUE (ins_deel_key, ins_srtcontrole_key, ins_deelsrtcontrole_datum)
|
|
);
|
|
|
|
CREATE SEQUENCE ins_s_ins_srtcontrole_key MINVALUE 10;
|
|
CREATE SEQUENCE ins_s_ins_controlemode_key MINVALUE 10;
|
|
CREATE SEQUENCE ins_s_ins_deelsrtcontrole_key MINVALUE 1;
|
|
/* triggers volgen vanzelf */
|
|
|
|
ALTER TABLE ins_deel ADD ins_deel_vervaldatum DATE;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// RWSN#19654
|
|
ALTER TABLE fac_usrdata
|
|
ADD fac_usrdata_vervaldatum DATE;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// AAEN#19784
|
|
ALTER TABLE bes_bestelling
|
|
ADD prs_perslid_key_voor NUMBER(10)
|
|
CONSTRAINT bes_r_prs_perslid_key1 REFERENCES prs_perslid(prs_perslid_key);
|
|
|
|
UPDATE bes_bestelling
|
|
SET prs_perslid_key_voor = prs_perslid_key
|
|
WHERE prs_perslid_key_voor IS NULL;
|
|
|
|
create index bes_i_bes_bestelling9 on bes_bestelling (prs_perslid_key_voor);
|
|
|
|
ALTER TABLE mld_melding
|
|
ADD prs_perslid_key_voor NUMBER(10)
|
|
CONSTRAINT mld_r_prs_perslid_key1 REFERENCES prs_perslid(prs_perslid_key);
|
|
|
|
UPDATE mld_melding
|
|
SET prs_perslid_key_voor = prs_perslid_key
|
|
WHERE prs_perslid_key_voor IS NULL;
|
|
|
|
create index mld_i_mld_melding14 on mld_melding (prs_perslid_key_voor);
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// FSN#19935
|
|
|
|
-- DIT IS OOK WEL HET MOMENT OM BALLAST WEG TE GOOIEN! NOG MEER DAN DIT?
|
|
-- Purge alle verwijderde nooit bestelde artikelen
|
|
DELETE FROM ins_srtdeel x
|
|
WHERE ins_srtdeel_verwijder IS NOT NULL
|
|
AND ins_srtdeel_module='BES'
|
|
AND NOT EXISTS (SELECT ''
|
|
FROM bes_bestelling_item i
|
|
WHERE i.ins_srtdeel_key = x.ins_srtdeel_key);
|
|
|
|
CREATE_TABLE(bes_srtgroep,0)
|
|
(
|
|
bes_srtgroep_key
|
|
NUMBER(10)
|
|
CONSTRAINT bes_k_bes_srtgroep_key PRIMARY KEY,
|
|
ins_discipline_key
|
|
NUMBER(10)
|
|
NOT_NULL(ins_discipline_key, bes_r_ins_discipline_key1)
|
|
CONSTRAINT bes_r_ins_discipline_key2 REFERENCES ins_tab_discipline,
|
|
bes_srtgroep_omschrijving
|
|
VARCHAR2(60)
|
|
NOT_NULL(bes_srtgroep_omschrijving, bes_c_bes_srtgroep_omschr),
|
|
bes_srtgroep_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
NOT_NULL(bes_srtgroep_aanmaak, bes_c_bes_srtgroep_aanmaak),
|
|
bes_srtgroep_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
CONSTRAINT bes_u_bes_srtgroep_oms UNIQUE(ins_discipline_key, bes_srtgroep_omschrijving, bes_srtgroep_verwijder)
|
|
);
|
|
|
|
CREATE_TABLE(bes_srtdeel,0)
|
|
(
|
|
bes_srtdeel_key
|
|
NUMBER(10)
|
|
CONSTRAINT bes_k_bes_srtdeel_key PRIMARY KEY,
|
|
bes_srtgroep_key
|
|
NUMBER(10)
|
|
NOT_NULL(bes_srtgroep_key, bes_r_bes_srtgroep_key1)
|
|
CONSTRAINT bes_r_bes_srtgroep_key2 REFERENCES bes_srtgroep,
|
|
bes_srtdeel_code
|
|
VARCHAR2(10)
|
|
NOT_NULL(bes_srtdeel_code, bes_c_bes_srtdeel_code),
|
|
bes_srtdeel_omschrijving
|
|
VARCHAR2(100)
|
|
NOT_NULL(bes_srtdeel_omschrijving, bes_c_bes_srtdeel_omschrijving),
|
|
bes_srtdeel_opmerking
|
|
VARCHAR(2000 CHAR),
|
|
bes_srtdeel_aanmaak
|
|
DATE
|
|
DEFAULT SYSDATE
|
|
NOT_NULL(bes_srtdeel_aanmaak, bes_c_bes_srtdeel_aanmaak),
|
|
bes_srtdeel_verwijder
|
|
DATE
|
|
DEFAULT NULLDATUM,
|
|
bes_srtdeel_volgnr
|
|
NUMBER(3),
|
|
bes_srtdeel_prijs
|
|
NUMBER(8,2),
|
|
bes_srtdeel_inkprijs
|
|
NUMBER(8,2),
|
|
bes_srtdeel_btw
|
|
NUMBER(3),
|
|
bes_srtdeel_eenheid
|
|
VARCHAR2(30),
|
|
bes_srtdeel_dimensie
|
|
NUMBER(1),
|
|
bes_srtdeel_preview /* BES: wel(1)/geen(0) preview tonen voor bestellen */
|
|
NUMBER(1)
|
|
DEFAULT 0,
|
|
bes_srtdeel_nr
|
|
VARCHAR2(32),
|
|
prs_bedrijf_key
|
|
NUMBER(10)
|
|
CONSTRAINT bes_r_prs_bedrijf_key3 REFERENCES prs_bedrijf(prs_bedrijf_key),
|
|
bes_srtdeel_vervaldatum
|
|
DATE,
|
|
bes_srtdeel_image
|
|
VARCHAR2(255),
|
|
bes_srtdeel_veelvoud
|
|
NUMBER(6),
|
|
bes_srtdeel_minimum
|
|
NUMBER(6),
|
|
bes_staffeltabel_key
|
|
NUMBER(10)
|
|
CONSTRAINT bes_r_staffeltabel2 REFERENCES bes_staffeltabel(bes_staffeltabel_key),
|
|
bes_srtdeel_prsflex /* kan wel(1) of geen (0)persoonsafhankelijke flexkenmerken bevatten */
|
|
NUMBER(1)
|
|
DEFAULT 0,
|
|
bes_srtdeel_voorraadmin
|
|
NUMBER(6),
|
|
bes_srtdeel_voorraadmax
|
|
NUMBER(6)
|
|
);
|
|
|
|
create index bes_i_bes_srtdeel1 on bes_srtdeel(bes_srtgroep_key);
|
|
CREATE INDEX bes_i_bes_srtdeel_prs_bdr_key on bes_srtdeel (prs_bedrijf_key);
|
|
|
|
INSERT INTO bes_srtgroep (bes_srtgroep_key, ins_discipline_key, bes_srtgroep_omschrijving, bes_srtgroep_aanmaak, bes_srtgroep_verwijder
|
|
)
|
|
SELECT ins_srtgroep_key,
|
|
ins_discipline_key,
|
|
ins_srtgroep_omschrijving,
|
|
ins_srtgroep_aanmaak,
|
|
ins_srtgroep_verwijder
|
|
FROM ins_srtgroep
|
|
WHERE ins_srtgroep_module = 'BES';
|
|
|
|
INSERT INTO bes_srtdeel (bes_srtdeel_key, bes_srtgroep_key, bes_srtdeel_code,
|
|
bes_srtdeel_omschrijving, bes_srtdeel_opmerking, bes_srtdeel_aanmaak,
|
|
bes_srtdeel_verwijder, bes_srtdeel_volgnr, bes_srtdeel_prijs, bes_srtdeel_inkprijs,
|
|
bes_srtdeel_btw, bes_srtdeel_eenheid, bes_srtdeel_dimensie, bes_srtdeel_preview,
|
|
bes_srtdeel_nr, prs_bedrijf_key, bes_srtdeel_vervaldatum, bes_srtdeel_image,
|
|
bes_srtdeel_veelvoud, bes_srtdeel_minimum, bes_staffeltabel_key, bes_srtdeel_prsflex,
|
|
bes_srtdeel_voorraadmin, bes_srtdeel_voorraadmax
|
|
)
|
|
SELECT ins_srtdeel_key,
|
|
ins_srtgroep_key,
|
|
ins_srtdeel_code,
|
|
ins_srtdeel_omschrijving,
|
|
ins_srtdeel_opmerking,
|
|
ins_srtdeel_aanmaak,
|
|
ins_srtdeel_verwijder,
|
|
ins_srtdeel_volgnr,
|
|
ins_srtdeel_prijs,
|
|
ins_srtdeel_inkprijs,
|
|
ins_srtdeel_btw,
|
|
ins_srtdeel_eenheid,
|
|
ins_srtdeel_dimensie,
|
|
ins_srtdeel_opmaat,
|
|
ins_srtdeel_nr,
|
|
prs_bedrijf_key,
|
|
ins_srtdeel_vervaldatum,
|
|
ins_srtdeel_image,
|
|
ins_srtdeel_veelvoud,
|
|
ins_srtdeel_minimum,
|
|
bes_staffeltabel_key,
|
|
ins_srtdeel_prsflex,
|
|
ins_srtdeel_voorraadmin,
|
|
ins_srtdeel_voorraadmax
|
|
FROM ins_srtdeel
|
|
WHERE ins_srtdeel_module = 'BES'
|
|
AND ins_srtgroep_key IN (SELECT bes_srtgroep_key FROM bes_srtgroep);
|
|
|
|
CREATE SEQUENCE bes_s_bes_srtgroep_key MINVALUE 1;
|
|
CREATE SEQUENCE bes_s_bes_srtdeel_key MINVALUE 1;
|
|
|
|
CREATE_TRIGGER(bes_t_bes_srtgroep_B_IU)
|
|
BEFORE INSERT OR UPDATE ON bes_srtgroep
|
|
FOR EACH ROW
|
|
BEGIN
|
|
UPDATE_PRIMARY_KEY(bes_srtgroep_key,bes_s_bes_srtgroep_key);
|
|
SET_VERWIJDER_CHILDREN(bes_srtdeel, bes_srtgroep_key, bes_srtgroep_verwijder,
|
|
bes_srtdeel_verwijder,bes_srtgroep);
|
|
END;
|
|
/
|
|
|
|
CREATE_TRIGGER(bes_t_bes_srtdeel_B_IU)
|
|
BEFORE INSERT OR UPDATE ON bes_srtdeel
|
|
FOR EACH ROW
|
|
BEGIN
|
|
UPDATE_PRIMARY_KEY(bes_srtdeel_key,bes_s_bes_srtdeel_key);
|
|
END;
|
|
/
|
|
-- Zet de sequences hoog genoeg voor Vanaf nu
|
|
DECLARE
|
|
maxval NUMBER (10);
|
|
seqval NUMBER;
|
|
BEGIN
|
|
SELECT MAX (bes_srtgroep_key) INTO maxval FROM bes_srtgroep;
|
|
SELECT bes_s_bes_srtgroep_key.NEXTVAL INTO seqval FROM DUAL;
|
|
WHILE seqval < maxval
|
|
LOOP
|
|
SELECT bes_s_bes_srtgroep_key.NEXTVAL INTO seqval FROM DUAL;
|
|
END LOOP;
|
|
END;
|
|
/
|
|
DECLARE
|
|
maxval NUMBER (10);
|
|
seqval NUMBER;
|
|
BEGIN
|
|
SELECT MAX (bes_srtdeel_key) INTO maxval FROM bes_srtdeel;
|
|
SELECT bes_s_bes_srtdeel_key.NEXTVAL INTO seqval FROM DUAL;
|
|
WHILE seqval < maxval
|
|
LOOP
|
|
SELECT bes_s_bes_srtdeel_key.NEXTVAL INTO seqval FROM DUAL;
|
|
END LOOP;
|
|
END;
|
|
/
|
|
-- Nu alle BES-verwijzingen omcatten
|
|
ALTER TABLE bes_bestelling_item
|
|
ADD bes_srtdeel_key NUMBER(10)
|
|
CONSTRAINT bes_c_bes_srtdeel_key1 CHECK(bes_srtdeel_key IS NOT NULL)
|
|
CONSTRAINT bes_r_bes_srtdeel_key REFERENCES bes_srtdeel(bes_srtdeel_key);
|
|
|
|
CREATE INDEX bes_i_bes_bestelling_item5 ON bes_bestelling_item(bes_srtdeel_key);
|
|
|
|
UPDATE bes_bestelling_item
|
|
SET bes_srtdeel_key=ins_srtdeel_key
|
|
WHERE bes_srtdeel_key IS NULL;
|
|
|
|
ALTER TABLE bes_favoriet
|
|
ADD bes_srtdeel_key NUMBER(10) REFERENCES bes_srtdeel(bes_srtdeel_key) ON DELETE CASCADE;
|
|
UPDATE bes_favoriet SET bes_srtdeel_key=ins_srtdeel_key;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// FSN#19910
|
|
-- TRIGGER DEFINITIE MOET HIER WORDEN OPGENOMEN, ANDERS HELPT DIT NIET
|
|
-- Uit: mld_tri.src;82
|
|
-- start fragment
|
|
CREATE_TRIGGER(mld_t_mld_melding_B_IU)
|
|
BEFORE INSERT OR UPDATE ON mld_melding
|
|
FOR EACH ROW
|
|
BEGIN
|
|
UPDATE_PRIMARY_KEY(mld_melding_key, mld_s_mld_melding_key);
|
|
IF :new.mld_alg_onroerendgoed_keys IS NOT NULL
|
|
AND (:old.mld_alg_onroerendgoed_keys IS NULL
|
|
OR :old.mld_alg_onroerendgoed_keys <> :new.mld_alg_onroerendgoed_keys)
|
|
THEN
|
|
CHECK_REFERENCE_ONROERENDGOED(mld_alg_onroerendgoed_keys, 'alg_m090'); /* wordt m.i. geimpliceerd door het volgende */
|
|
SELECT alg_locatie_key
|
|
INTO :NEW.mld_alg_locatie_key
|
|
FROM mld_v_onroerendgoed_locatie
|
|
WHERE alg_onroerendgoed_keys = :NEW.mld_alg_onroerendgoed_keys;
|
|
END IF;
|
|
IF :new.mld_melding_einddatum IS NULL THEN
|
|
:new.mld_melding_einddatum := fac.datumtijdplusuitvoertijd (:new.mld_melding_datum, :new.mld_melding_uitvoertijd, 'DAGEN');
|
|
END IF;
|
|
SELECT mld_ins_discipline_key
|
|
INTO :NEW.mld_ins_discipline_key
|
|
FROM mld_stdmelding
|
|
WHERE mld_stdmelding_key = :NEW.mld_stdmelding_key;
|
|
|
|
IF :new.prs_perslid_key IS NULL
|
|
THEN
|
|
APPLICATION_ERROR_GOTO(-20000, 'mld_m233');
|
|
END IF;
|
|
IF :new.mld_melding_status = 5 AND :old.mld_melding_status <> 5
|
|
THEN
|
|
:new.mld_melding_behandelaar_key := NULL;
|
|
END IF;
|
|
IF :new.mld_melding_status = 6 AND :old.mld_melding_status <> 6
|
|
THEN
|
|
IF :old.mld_melding_status <> 5
|
|
THEN
|
|
raise_application_error (-20000, 'mld_m203');
|
|
ELSE
|
|
DECLARE
|
|
dummy CHAR;
|
|
BEGIN
|
|
SELECT 'X'
|
|
INTO dummy
|
|
FROM mld_opdr
|
|
WHERE mld_statusopdr_key NOT IN (1, 2, 7)
|
|
AND mld_melding_key = :new.mld_melding_key;
|
|
|
|
raise_application_error (-20000, 'mld_m192');
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
NULL;
|
|
WHEN TOO_MANY_ROWS
|
|
THEN
|
|
raise_application_error (-20000, 'mld_m192');
|
|
END;
|
|
END IF;
|
|
END IF;
|
|
|
|
IF :new.mld_melding_status = 4 OR :new.mld_melding_status = 7
|
|
THEN
|
|
DECLARE
|
|
actieveopdrachten NUMBER;
|
|
BEGIN
|
|
SELECT COUNT(*)
|
|
INTO actieveopdrachten
|
|
FROM mld_opdr o
|
|
WHERE o.mld_melding_key = :new.mld_melding_key
|
|
AND mld_statusopdr_key NOT IN (1, 2, 6, 7, 9);
|
|
|
|
IF actieveopdrachten > 0
|
|
THEN
|
|
:new.mld_melding_status := 7;
|
|
ELSE
|
|
:new.mld_melding_status := 4;
|
|
END IF;
|
|
END;
|
|
END IF;
|
|
|
|
|
|
END;
|
|
/
|
|
-- eind fragment
|
|
DECLARE
|
|
CURSOR c1
|
|
IS
|
|
SELECT mld_melding_key
|
|
FROM mld_melding m
|
|
WHERE mld_melding_status = 4
|
|
AND EXISTS (SELECT mld_opdr_key
|
|
FROM mld_opdr o
|
|
WHERE o.mld_melding_key = m.mld_melding_key
|
|
AND o.mld_statusopdr_key NOT IN (1, 6, 7));
|
|
BEGIN
|
|
FOR rec1 IN c1
|
|
LOOP
|
|
mld.updatemeldingstatus (rec1.mld_melding_key, 0, NULL);
|
|
END LOOP;
|
|
END;
|
|
/
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#17993
|
|
ALTER TABLE mld_typeopdr DROP CONSTRAINT mld_c_mld_typeopdr_decentraal;
|
|
ALTER TABLE mld_typeopdr ADD CONSTRAINT mld_c_mld_typeopdr_decentraal CHECK(mld_typeopdr_decentraal IN (0,1,2));
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// WTCA#19646
|
|
INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, mld_statusopdr_upper, mld_statusopdr_module)
|
|
VALUES (9, 'Afgerond', 'MLD_AFGEROND', 'MLD');
|
|
|
|
DEF_FAC_FUNCTIE2('WEB_ORDAFR', 'Backoffice:Opdrachten-afronden', 'MLD', 15, 1,'Om afgemelde opdrachten financieel te kunnen afronden');
|
|
|
|
DEF_FAC_SRTNOT('ORDAFR', 0, 'Opdracht ##OPDRKEY## is kostentechnisch gereed gemeld', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht');
|
|
|
|
ALTER TABLE mld_typeopdr ADD mld_typeopdr_afmeldmarge NUMBER(2);
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// FSN#19946
|
|
ALTER TABLE prj_werkplek MODIFY prj_werkplek_volgnr NUMBER(4);
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// RWSN#19924
|
|
DEF_FAC_FUNCTIE2('WEB_CNTUSE', 'Backoffice:Contractgegevens','CNT', 15, 1,'Om een deel van contractgegevens te kunnen beheren');
|
|
|
|
-- Compatibel blijven: iedereen met WEB_CNTMAN ook dit nieuwe recht geven
|
|
INSERT INTO fac_groeprechten (fac_groep_key, fac_gebruiker_prs_level_write, fac_gebruiker_prs_level_read, fac_gebruiker_alg_level_write, fac_gebruiker_alg_level_read, fac_functie_key, ins_discipline_key
|
|
)
|
|
SELECT g.fac_groep_key,
|
|
-1, -1, -1, -1,
|
|
f.fac_functie_key,
|
|
g.ins_discipline_key
|
|
FROM fac_groeprechten g, fac_functie f
|
|
WHERE g.fac_functie_key = (SELECT fac_functie_key
|
|
FROM fac_functie
|
|
WHERE fac_functie_code = 'WEB_CNTMAN')
|
|
AND f.fac_functie_code='WEB_CNTUSE'
|
|
AND (g.fac_groep_key, f.fac_functie_key, g.ins_discipline_key) NOT IN
|
|
(SELECT fac_groep_key, fac_functie_key, ins_discipline_key FROM fac_groeprechten);
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// CONN#19238
|
|
|
|
DEF_MENUITEM(2, 'lcl_menu_ins_srtcontrole' , '', 'INS', 'appl/facmgtVB/ins_srtcontrolegrid.asp', 0, 0, 'WEB_INSMGT', 'W', '1');
|
|
DEF_MENUITEM(2, 'lcl_menu_ins_controlemode' , '', 'INS', 'appl/facmgtVB/ins_controlemodegrid.asp', 0, 0, 'WEB_INSMGT', 'W', '1');
|
|
-- Default-opties, dus toevoegen. Na lcl_menu_ins_kenmerkdomeinen
|
|
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_ins_srtcontrole')
|
|
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_ins_kenmerkdomeinen');
|
|
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_ins_controlemode')
|
|
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_ins_kenmerkdomeinen');
|
|
|
|
DEF_MENUITEM(1, 'lcl_menu_ins_controle' , '', 'INS', 'appl/ins/ins_search.asp?urole=bo&inspect=1', 0, 0, 'WEB_INSMAN', 'R', '0');
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// RWSN#15155
|
|
ALTER TABLE mld_stdmelding ADD mld_stdmelding_afmeldtext NUMBER(1) DEFAULT 1;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// AANS#16329
|
|
UPDATE fac_functie SET fac_functie_min_level=11 WHERE fac_functie_code='WEB_FINBOF';
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// AADS#18665
|
|
ALTER TABLE mld_typeopdr DROP CONSTRAINT mld_c_mld_typeopdr_match;
|
|
ALTER TABLE mld_typeopdr ADD CONSTRAINT mld_c_mld_typeopdr_match CHECK(mld_typeopdr_matchtype IN (0,1,2,3,4));
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// CONN#19141
|
|
ALTER TABLE mld_kenmerk DROP CONSTRAINT mld_r_mld_srtkenmerk_key3;
|
|
ALTER TABLE mld_kenmerk ADD CONSTRAINT mld_r_mld_srtkenmerk_key3 FOREIGN KEY(mld_typeopdr_key) REFERENCES mld_typeopdr(mld_typeopdr_key) ON DELETE CASCADE;
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
ALTER TABLE fac_menu ADD fac_menu_image VARCHAR2 (255 CHAR);
|
|
ALTER TABLE fac_menuitems ADD fac_menuitems_image VARCHAR2 (255 CHAR);
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#18720
|
|
UPDATE fac_functie SET fac_functie_module='FIN' WHERE fac_functie_code IN('WEB_ORDSUP', 'WEB_ORDFIN');
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#19909
|
|
CREATE_TABLE(fac_session, 0)
|
|
(
|
|
fac_session_sessionid VARCHAR(32), -- HEX-codering 32 byte random
|
|
fac_session_data VARCHAR(256), -- De oorspronkelijke URL
|
|
fac_session_expire DATE DEFAULT SYSDATE+(1/24),
|
|
fac_session_aanmaak DATE DEFAULT SYSDATE,
|
|
prs_perslid_key NUMBER(10)
|
|
CONSTRAINT fac_r_prs_perslid_key2 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
|
|
);
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
DROP TABLE res_srtdiscipline;
|
|
ALTER TABLE res_activiteit DROP COLUMN res_activiteit_soort CASCADE CONSTRAINTS;
|
|
ALTER TABLE bes_bestelling_item DROP COLUMN ins_srtdeel_key CASCADE CONSTRAINTS;
|
|
ALTER TABLE bes_favoriet DROP COLUMN ins_srtdeel_key CASCADE CONSTRAINTS;
|
|
|
|
DELETE FROM ins_srtdeel WHERE ins_srtdeel_module = 'BES';
|
|
DELETE FROM ins_srtgroep WHERE ins_srtgroep_module = 'BES';
|
|
|
|
DROP VIEW mld_v_melding_openopdr;
|
|
DROP VIEW mld_v_openopdr;
|
|
/////////////////////////////////////////////////////////////////////////////////////////// FSN#
|
|
create index res_i_res_rsv_ruimte13 on res_rsv_ruimte (res_rsv_ruimte_tot, res_rsv_ruimte_van);
|
|
|
|
COMMIT;
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
REGISTERONCE('$Workfile: DB10to11.src $','$Revision$')
|
|
#include "epilogue.inc"
|