Files
Database/_UP/DB18to19.src
Jos Groot Lipman b777b12dc2 Merge DB19a patches nog
svn path=/Database/trunk/; revision=19706
2013-11-05 08:10:50 +00:00

561 lines
30 KiB
Plaintext

/* DB18TO19.SRC
* Update script van Facilitor schema
* $Revision$
* $Id$
*/
#include "prologue.inc"
COMMIT;
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26583
ALTER TABLE alg_ruimte ADD alg_ruimte_beginuur NUMBER(5,2);
ALTER TABLE alg_ruimte ADD alg_ruimte_einduur NUMBER(5,2);
ALTER TABLE alg_ruimte ADD alg_ruimte_werkdagen NUMBER(1) -- DEFAULT NULL op gebouw terugvallen
CONSTRAINT alg_c_alg_ruimte_werk CHECK(alg_ruimte_werkdagen IN(0,1));
-- Alter without errors, using new function
#include "adm\adm_pac.src"
BEGIN
adm.tryalter('TABLE alg_gebouw DROP CONSTRAINT alg_c_alg_gebouw_week');
adm.tryalter('TABLE alg_gebouw DROP CONSTRAINT alg_c_alg_gebouw_werk');
END;
/
ALTER TABLE alg_gebouw ADD CONSTRAINT alg_c_alg_gebouw_werk CHECK(alg_gebouw_werkdagen IN (0,1));
UPDATE alg_gebouw SET alg_gebouw_werkdagen = 0 WHERE alg_gebouw_werkdagen IS NULL;
ALTER TABLE alg_gebouw ADD NOT_NULL(alg_gebouw_werkdagen, alg_c_gebouw_werkdagen);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26586
DEF_FAC_FUNCTIE2('WEB_MLDAFR', 'Backoffice:meldingen-afronden', 'MLD', 15, 1,1,'Om afgemelde meldingen financieel te kunnen afronden (SLA overschrijdingen)');
DEF_FAC_SRTNOT('MLDAFR', 0, 'Uw melding ##KEY## (##DISC##/##STDMLD##) is definitief gereed gemeld', 'mld/mld_melding.asp?mld_key=', '0', 'melding');
ALTER TABLE mld_melding ADD mld_melding_respijt NUMBER(8,5) DEFAULT 0;
ALTER TABLE mld_melding ADD mld_melding_indult NUMBER(1) DEFAULT 0
CONSTRAINT mld_c_mld_melding_indult1 CHECK(mld_melding_indult IN (0, 1))
NOT_NULL(mld_melding_indult, mld_c_mld_melding_indult2);
ALTER TABLE mld_melding ADD mld_melding_afgerond NUMBER(1) DEFAULT 0
CONSTRAINT mld_c_mld_melding_afgerond1 CHECK(mld_melding_afgerond IN (0, 1))
NOT_NULL(mld_melding_afgerond, mld_c_mld_melding_afgerond2);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26577
ALTER TABLE mld_stdmelding ADD mld_stdmelding_slabewaken NUMBER(1) DEFAULT 1 NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// PNBR#26541
ALTER TABLE mld_stdmelding ADD alg_onrgoed_obj_niveau
VARCHAR2(1)
CONSTRAINT mld_c_alg_onrgoed_obj_niveau CHECK (alg_onrgoed_obj_niveau IN ('L','G','V','R'));
UPDATE mld_stdmelding
SET alg_onrgoed_obj_niveau = alg_onrgoed_niveau;
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26578
CREATE_TABLE(mld_afmeldtekst, 0)
(
mld_afmeldtekst_key
NUMBER(10)
CONSTRAINT mld_k_afmeldtekst_key PRIMARY KEY,
mld_afmeldtekst_naam
VARCHAR2(60)
NOT_NULL(mld_afmeldtekst_naam, mld_c_afmeldtekst_naam),
mld_afmeldtekst_omschrijving
VARCHAR2(1000)
NOT_NULL(mld_afmeldtekst_omschrijving, mld_c_mld_afmeldtekst_omschr),
mld_stdmelding_key
NUMBER(10)
CONSTRAINT mld_r_mld_stdmelding_key3 REFERENCES mld_stdmelding(mld_stdmelding_key),
CONSTRAINT mld_u_afmeldtekst_naam UNIQUE (mld_afmeldtekst_naam)
);
CREATE SEQUENCE mld_s_mld_afmeldtekst_key MINVALUE 1;
DEF_MENUITEM(2, 'lcl_menu_mld_afmeldteksten' , '', 'MLD', 'appl/facmgtVB/mld_afmeldtekstgrid.asp', 0, 0, 'WEB_MLDMGT', 'W', '1');
MENU_INS_AFTER('lcl_menu_mld_afmeldteksten', 'lcl_menu_mld_dienst_niveaus', 2);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26580
ALTER TABLE mld_stdmelding ADD mld_stdmelding_kanverwijzen NUMBER(4) DEFAULT 0;
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26722
UPDATE fac_srtnotificatie
SET fac_srtnotificatie_xmlnode = 'bezoeker',
fac_srtnotificatie_url = 'bez/bez_afspraak.asp?bez_key='
WHERE fac_srtnotificatie_code IN ('BEZBAD', 'BEZDON', 'BEZDO2', 'BEZOUT', 'BEZOU2');
-- Gooi bezoekerstracking weg als de bezoekers inmiddels ook weg zijn, required voor de volgende stappen
-- This really may take some time!
DELETE FROM fac_tracking
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code IN ('BEZBAD', 'BEZDON', 'BEZDO2', 'BEZOUT', 'BEZOU2'))
AND NOT EXISTS (SELECT '' FROM bez_bezoekers WHERE bez_afspraak_key = fac_tracking_refkey);
-- This again will take some time!
UPDATE fac_notificatie
SET fac_notificatie_refkey = (SELECT MIN(bez_bezoekers_key) FROM bez_bezoekers WHERE bez_afspraak_key = fac_notificatie_refkey)
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code IN ('BEZBAD', 'BEZDON', 'BEZDO2', 'BEZOUT', 'BEZOU2'));
-- Alle bezoekersgerelateerde portalberichten omcatten van afspraak naar (een) bezoeker
-- Omdat in de epiloog straks heel veel wordt gewist, willen we die zinloze tijd besparen
-- en gooien we dat hier alvast leeg.
DELETE FROM fac_session WHERE fac_session_expire < SYSDATE - 2;
DELETE FROM web_user_messages WHERE web_user_mess_action_datum < SYSDATE - 60;
COMMIT;
UPDATE web_user_messages
SET web_user_mess_action_params = (SELECT MIN(bez_bezoekers_key) FROM bez_bezoekers WHERE bez_afspraak_key = web_user_mess_action_params)
WHERE fac_srtnotificatie_key IN (SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code IN ('BEZBAD', 'BEZDON', 'BEZDO2', 'BEZOUT', 'BEZOU2'));
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26580
UPDATE fac_menuitems SET fac_menuitems_url = 'appl/mld/mld_stdmelding_search.asp'
WHERE fac_menuitems_url = 'appl/facmgtVB/mld_stdmeldinggrid.asp';
/////////////////////////////////////////////////////////////////////////////////////////// RWSN#26844
ALTER TABLE faq_kenmerkwaarde DROP CONSTRAINT faq_r_faq_key;
ALTER TABLE faq_kenmerkwaarde ADD CONSTRAINT faq_r_faq_key
FOREIGN KEY (fac_faq_key) REFERENCES fac_faq(fac_faq_key) ON DELETE CASCADE;
///////////////////////////////////////////////////////////////////////////////////////////
ALTER TABLE mld_melding ADD mld_melding_satisfaction NUMBER(2);
ALTER TABLE res_rsv_ruimte ADD res_rsv_ruimte_satisfaction NUMBER(2);
ALTER TABLE bes_bestelling ADD bes_bestelling_satisfaction NUMBER(2);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26809 (1)
ALTER TABLE ins_deel ADD ins_deel_state VARCHAR2(128);
ALTER TABLE ins_deel ADD ins_deel_statedate DATE;
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26359
ALTER TABLE res_deel ADD res_deel_omschrijving VARCHAR2(60);
UPDATE res_deel R
SET R.res_deel_omschrijving = (SELECT I.ins_deel_omschrijving
FROM ins_deel I
WHERE R.res_ins_deel_key = I.ins_deel_key);
ALTER TABLE res_deel ADD CONSTRAINT res_c_res_deel_omschrijving CHECK(res_deel_omschrijving IS NOT NULL);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#27063
CREATE UNIQUE INDEX res_i_res_deel3 ON res_deel (res_ins_deel_key, res_discipline_key, res_deel_verwijder);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26947
ALTER TABLE prs_perslidwerkplek DROP CONSTRAINT prs_r_prs_werkplek_key;
ALTER TABLE prs_perslidwerkplek ADD CONSTRAINT prs_r_prs_werkplek_key
FOREIGN KEY (prs_werkplek_key) REFERENCES prs_werkplek(prs_werkplek_key) ON DELETE CASCADE;
ALTER TABLE prj_werkplek DROP CONSTRAINT prj_r_prs_werkplek_key;
ALTER TABLE prj_werkplek ADD CONSTRAINT prj_r_prs_werkplek_key
FOREIGN KEY (prs_werkplek_key) REFERENCES prs_werkplek(prs_werkplek_key) ON DELETE CASCADE;
ALTER PACKAGE fac COMPILE; // anders (nog) invalid
ALTER PACKAGE fac COMPILE BODY;
DELETE FROM prs_werkplek pw
WHERE NOT EXISTS (SELECT ''
FROM prs_perslidwerkplek pwp
WHERE pwp.prs_werkplek_key = pw.prs_werkplek_key)
AND NOT EXISTS (SELECT ''
FROM prj_werkplek jp
WHERE jp.prs_werkplek_key = pw.prs_werkplek_key)
AND fac.getsetting ('prs_werkplek_implicit') = 1;
ALTER TABLE prs_perslidwerkplek DROP CONSTRAINT prs_u_perslidwerkplek DROP INDEX;
DELETE FROM prs_perslidwerkplek WHERE prs_perslidwerkplek_verwijder IS NOT NULL;
ALTER TABLE prs_perslidwerkplek ADD CONSTRAINT prs_u_perslidwerkplek
UNIQUE(prs_perslid_key, prs_werkplek_key);
DELETE FROM prj_werkplek WHERE prs_werkplek_key IN (SELECT prs_werkplek_key FROM prs_werkplek WHERE prs_werkplek_verwijder IS NOT NULL);
ALTER TABLE prs_werkplek DROP CONSTRAINT prs_u_prs_werkplek_volgnr DROP INDEX;
DELETE FROM prs_werkplek WHERE prs_werkplek_verwijder IS NOT NULL;
ALTER TABLE prs_werkplek ADD CONSTRAINT prs_u_prs_werkplek_volgnr UNIQUE(prs_alg_ruimte_key, prs_werkplek_volgnr);
INSERT INTO cad_label
(cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size, fac_functie_key)
SELECT 'Werkplekbezetting', 'cad_v_label_wp_bewoner', '9', 100, fac_functie_key
FROM fac_functie
where fac_functie_code = 'WEB_PRSUSE';
/////////////////////////////////////////////////////////////////////////////////////////// AAZC#26925
ALTER TABLE fac_imp_mld ADD mld_stdmelding_notfrontend VARCHAR2(1);
ALTER TABLE fac_imp_mld ADD alg_onrgoed_niveau VARCHAR2(1);
ALTER TABLE fac_imp_mld ADD mld_typeopdr_omschrijving VARCHAR2(30);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26427
UPDATE bes_srtkenmerk SET bes_srtkenmerk_lengte = 20 WHERE bes_srtkenmerk_lengte > 20 AND bes_srtkenmerk_kenmerktype = 'N';
UPDATE cnt_srtkenmerk SET cnt_srtkenmerk_lengte = 20 WHERE cnt_srtkenmerk_lengte > 20 AND cnt_srtkenmerk_kenmerktype = 'N';
UPDATE ins_srtkenmerk SET ins_srtkenmerk_lengte = 20 WHERE ins_srtkenmerk_lengte > 20 AND ins_srtkenmerk_kenmerktype = 'N';
UPDATE mld_srtkenmerk SET mld_srtkenmerk_lengte = 20 WHERE mld_srtkenmerk_lengte > 20 AND mld_srtkenmerk_kenmerktype = 'N';
UPDATE res_srtkenmerk SET res_srtkenmerk_lengte = 20 WHERE res_srtkenmerk_lengte > 20 AND res_srtkenmerk_kenmerktype = 'N';
UPDATE alg_kenmerk SET alg_kenmerk_lengte = 20 WHERE alg_kenmerk_lengte > 20 AND alg_kenmerk_kenmerktype = 'N';
UPDATE bez_kenmerk SET bez_kenmerk_lengte = 20 WHERE bez_kenmerk_lengte > 20 AND bez_kenmerk_kenmerktype = 'N';
UPDATE faq_kenmerk SET faq_kenmerk_lengte = 20 WHERE faq_kenmerk_lengte > 20 AND faq_kenmerk_kenmerktype = 'N';
UPDATE fin_kenmerk SET fin_kenmerk_lengte = 20 WHERE fin_kenmerk_lengte > 20 AND fin_kenmerk_kenmerktype = 'N';
UPDATE prs_kenmerk SET prs_kenmerk_lengte = 20 WHERE prs_kenmerk_lengte > 20 AND prs_kenmerk_kenmerktype = 'N';
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#26875
UPDATE mld_melding SET prs_perslid_key_voor = prs_perslid_key WHERE prs_perslid_key_voor <> prs_perslid_key AND fac.getSetting('mld_allow_for_others') <>1;
/////////////////////////////////////////////////////////////////////////////////////////// #25357
// Voor 5.2.1 werd fac_import_key nog niet altijd ingevuld bij IMP_LOG. Die mogen ondertussen
// wel een keer weg. De 100 dagen is gewoon extra safety (putorders misbruikt IMP_LOG)
DELETE
FROM imp_log
WHERE fac_import_key IS NULL AND imp_log_datum < SYSDATE - 100;
COMMIT;
// Het volgende opruimen is anders niet vooruit te branden bij ARAI
// Sowieso wel logisch
CREATE INDEX imp_i_log_importkey1 ON imp_log(fac_import_key);
CREATE INDEX fac_i_import_appkey1 ON fac_import(fac_import_app_key);
// Het volgende opruimen gebeurt sinds 5.3.2 automatisch achteraan imp/imp_shared.js
// De allereerste keer kan dit veel tijd vergen omdat achterstallige logging opgeruimd
// moet worden Dat doen we liever tijdens de upgrade om te voorkomen dat de gebruiker
// de eerste import na deze upgrade geconfronteerd wordt met timeouts.
DECLARE
week NUMBER (10);
minkeep fac_import.fac_import_key%TYPE;
BEGIN
FOR c IN ( SELECT fia.fac_import_app_key, fia.fac_import_app_code, COUNT ( * )
FROM fac_import_app fia, fac_import fi
WHERE fia.fac_import_app_key = fi.fac_import_app_key
GROUP BY fia.fac_import_app_key, fia.fac_import_app_code
HAVING COUNT ( * ) > 100) -- Alleen de echt grote doen we hier.
LOOP
DBMS_OUTPUT.put_line ('Import: ' || c.fac_import_app_code);
SELECT MIN (fac_import_key)
INTO minkeep
FROM ( SELECT fac_import_key
FROM fac_import fi2
WHERE fi2.fac_import_app_key = c.fac_import_app_key
ORDER BY fac_import_key DESC)
WHERE ROWNUM <= 10;
-- Per week om de transactie klein te houden
FOR week IN REVERSE 0 .. 100
LOOP
DBMS_OUTPUT.put_line (TO_CHAR(SYSDATE, 'HH24:MI:SS') || ' Week: ' || TO_CHAR (week));
DELETE fac_import fi1
WHERE fi1.fac_import_app_key = c.fac_import_app_key
AND fac_import_datum_verwerkt < SYSDATE - 7 - week * 7
AND fac_import_key < minkeep;
COMMIT;
END LOOP;
END LOOP;
END;
/
/////////////////////////////////////////////////////////////////////////////////////////// FSN#27044
ALTER TABLE fac_imp_onrgoed1 ADD alg_kenmerkwaarde1 VARCHAR2 (255);
ALTER TABLE fac_imp_onrgoed1 ADD alg_kenmerkwaarde2 VARCHAR2 (255);
ALTER TABLE fac_imp_onrgoed1 ADD alg_kenmerkwaarde3 VARCHAR2 (255);
ALTER TABLE fac_imp_onrgoed1 ADD alg_kenmerkwaarde4 VARCHAR2 (255);
ALTER TABLE fac_imp_onrgoed1 ADD alg_kenmerkwaarde5 VARCHAR2 (255);
ALTER TABLE fac_imp_onrgoed1 ADD alg_kenmerkwaarde6 VARCHAR2 (255);
ALTER TABLE fac_imp_onrgoed1 ADD alg_kenmerkwaarde7 VARCHAR2 (255);
ALTER TABLE fac_imp_onrgoed1 ADD alg_kenmerkwaarde8 VARCHAR2 (255);
ALTER TABLE fac_imp_onrgoed1 ADD alg_kenmerkwaarde9 VARCHAR2 (255);
ALTER TABLE fac_imp_onrgoed1 ADD alg_kenmerkwaarde10 VARCHAR2 (255);
///////////////////////////////////////////////////////////////////////////////////////////
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_omschrijving VARCHAR2(50);
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_upper VARCHAR2(50);
ALTER TABLE fac_imp_onrgoed2 MODIFY alg_srtruimte_omschrijving VARCHAR2(50);
/////////////////////////////////////////////////////////////////////////////////////////// AALB#27395
ALTER TABLE fac_imp_cnt DROP COLUMN flex1;
ALTER TABLE fac_imp_cnt DROP COLUMN flex2;
ALTER TABLE fac_imp_cnt DROP COLUMN flex3;
ALTER TABLE fac_imp_cnt DROP COLUMN flex4;
ALTER TABLE fac_imp_cnt DROP COLUMN flex5;
ALTER TABLE fac_imp_cnt ADD versie VARCHAR2(10);
ALTER TABLE fac_imp_cnt ADD dienst VARCHAR2(60);
ALTER TABLE fac_imp_cnt ADD flex1 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex2 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex3 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex4 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex5 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex6 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex7 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex8 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex9 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex10 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex11 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex12 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex13 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex14 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex15 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex16 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex17 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex18 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex19 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex20 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex21 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex22 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex23 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex24 VARCHAR2(255);
ALTER TABLE fac_imp_cnt ADD flex25 VARCHAR2(255);
CREATE VIEW fac_v_exp_flex_cnt AS SELECT 'dummy' XX FROM DUAL;
INSERT INTO fac_usrrap
(fac_usrrap_omschrijving, fac_usrrap_view_name,
fac_usrrap_in_huidige_locatie,
fac_usrrap_template, fac_usrrap_macro,
fac_usrrap_vraagbegindatum, fac_usrrap_vraageinddatum,
fac_usrrap_functie,
fac_usrrap_info,
fac_functie_key, fac_usrrap_autorefresh
)
VALUES ('TRANSPORT: Flexkenmerken Contracten', 'fac_v_exp_flex_cnt',
NULL,
NULL, NULL,
0, 0,
0,
'Exporteren van flexkenmerken voor CNT (per contractsoort)',
(SELECT fac_functie_key FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS'),
0
);
/////////////////////////////////////////////////////////////////////////////////////////// AALB#27395
ALTER TABLE fac_imp_flex ADD cnt_discipline VARCHAR2(255);
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#26310
ALTER TABLE fac_imp_res_artikel_sync ADD res_artikel_minimum NUMBER(3);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26584
ALTER TABLE mld_stdmelding ADD mld_stdmelding_afhankelijk NUMBER(1) DEFAULT 0
CONSTRAINT mld_c_stdmelding_afhankelijk CHECK (mld_stdmelding_afhankelijk IN (0,1));
ALTER TABLE alg_srtruimte ADD alg_srtruimte_uitvoertijd NUMBER(8,5)
CONSTRAINT alg_c_alg_srtruimt_uitvoertijd CHECK(alg_srtruimte_uitvoertijd >= 0);
/////////////////////////////////////////////////////////////////////////////////////////// PNBR#26815
CREATE_TABLE(mld_stdmeldingfaq, 0)
(
mld_stdmeldingfaq_key
NUMBER(10)
CONSTRAINT mld_k_stdmeldingfaq_key PRIMARY KEY,
ins_discipline_key
NUMBER(10)
NOT_NULL(ins_discipline_key, mld_c_ins_discipline_key3)
CONSTRAINT mld_r_mld_discipline_key1 REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE,
mld_stdmelding_key
NUMBER(10)
CONSTRAINT mld_r_mld_stdmelding_key4 REFERENCES mld_stdmelding(mld_stdmelding_key) ON DELETE CASCADE,
fac_faq_key
NUMBER(10)
NOT_NULL(fac_faq_key, mld_c_fac_faq_key)
CONSTRAINT mld_r_fac_faq_key1 REFERENCES fac_faq(fac_faq_key) ON DELETE CASCADE
);
CREATE UNIQUE INDEX mld_i_mld_stdmeldingfaq1 ON mld_stdmeldingfaq(mld_stdmelding_key, ins_discipline_key, fac_faq_key);
CREATE INDEX mld_i_mld_stdmeldingfaq2 ON mld_stdmeldingfaq(ins_discipline_key, fac_faq_key);
CREATE SEQUENCE mld_s_mld_stdmeldingfaq_key MINVALUE 1;
CREATE_TRIGGER(mld_t_mld_stdmeldingfaq_B_IU)
BEFORE INSERT OR UPDATE ON mld_stdmeldingfaq
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_stdmeldingfaq_key, mld_s_mld_stdmeldingfaq_key);
END;
/
INSERT INTO mld_stdmeldingfaq(fac_faq_key, mld_stdmelding_key, ins_discipline_key)
SELECT fac_faq_key, mld_stdmelding_key, ins_discipline_key
FROM fac_faq
WHERE ins_discipline_key IS NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// AAES#26763
ALTER TABLE fac_session ADD fac_session_ip VARCHAR(64);
ALTER TABLE fac_session ADD fac_session_useragent VARCHAR(256);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#27092
ALTER TABLE fac_session ADD fac_session_sessionid_hash VARCHAR(128); // future use, ruimte voor salt
ALTER TABLE prs_perslid MODIFY prs_perslid_wachtwoord_hash VARCHAR(128);
-- Op dit moment bestaat prs.md5hex nog wel en fac.makehash nog niet.
UPDATE fac_session
SET fac_session_sessionid_hash = prs.md5hex(fac_session_sessionid)
WHERE fac_session_sessionid IS NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#23329
DEF_FAC_SRTNOT('BES2UP', 0, 'Bestelopdracht ##KEY## is gewijzigd', '', '0', 'bestelopdr');
/////////////////////////////////////////////////////////////////////////////////////////// VGLD#27145
ALTER TABLE ins_srtdiscipline DROP CONSTRAINT ins_u_ins_srtdisc_omschr DROP INDEX;
ALTER TABLE ins_srtdiscipline ADD CONSTRAINT ins_u_ins_srtdisc_omschr
UNIQUE (ins_srtdiscipline_omschrijving,
ins_srtdiscipline_verwijder,
ins_srtdiscipline_module);
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#27019
ALTER TABLE fac_imp_ext_bedrijf ADD prs_bedrijf_xsl VARCHAR2(256);
ALTER TABLE fac_imp_ext_bedrijf ADD prs_bedrijf_order_adres VARCHAR2(256);
/////////////////////////////////////////////////////////////////////////////////////////// PNBR#26265
ALTER TABLE fac_faq MODIFY (fac_faq_datum DEFAULT NULL);
/////////////////////////////////////////////////////////////////////////////////////////// NMMS#27223
ALTER TABLE ins_deel
ADD ins_deel_uitvoertijd
NUMBER(8,5)
CONSTRAINT ins_c_ins_deel_uitvoertijd CHECK(ins_deel_uitvoertijd >= 0);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26502
-- Volgnummers zijn vlgs de GUI verplicht, dat gaan we nu forceren maar mogelijk is het nog niet zo.
UPDATE bes_kenmerk SET bes_kenmerk_volgnummer = 1 WHERE bes_kenmerk_volgnummer IS NULL;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 1 WHERE cnt_kenmerk_volgnummer IS NULL;
UPDATE ins_kenmerk SET ins_kenmerk_volgnummer = 1 WHERE ins_kenmerk_volgnummer IS NULL;
UPDATE mld_kenmerk SET mld_kenmerk_volgnummer = 1 WHERE mld_kenmerk_volgnummer IS NULL;
UPDATE res_kenmerk SET res_kenmerk_volgnummer = 1 WHERE res_kenmerk_volgnummer IS NULL;
UPDATE alg_kenmerk SET alg_kenmerk_volgnr = 1 WHERE alg_kenmerk_volgnr IS NULL;
UPDATE bez_kenmerk SET bez_kenmerk_volgnr = 1 WHERE bez_kenmerk_volgnr IS NULL;
UPDATE faq_kenmerk SET faq_kenmerk_volgnr = 1 WHERE faq_kenmerk_volgnr IS NULL;
UPDATE fin_kenmerk SET fin_kenmerk_volgnr = 1 WHERE fin_kenmerk_volgnr IS NULL;
UPDATE prs_kenmerk SET prs_kenmerk_volgnr = 1 WHERE prs_kenmerk_volgnr IS NULL;
-- Tsja, we deden dit altijd nog met een constraint naam. Wel of niet doen? Volgens mij is dit wel genoeg zo.
ALTER TABLE alg_kenmerk MODIFY (alg_kenmerk_volgnr NOT NULL);
ALTER TABLE bez_kenmerk MODIFY (bez_kenmerk_volgnr NOT NULL);
ALTER TABLE faq_kenmerk MODIFY (faq_kenmerk_volgnr NOT NULL);
ALTER TABLE fin_kenmerk MODIFY (fin_kenmerk_volgnr NOT NULL);
ALTER TABLE prs_kenmerk MODIFY (prs_kenmerk_volgnr NOT NULL);
ALTER TABLE cnt_kenmerk MODIFY (cnt_kenmerk_volgnummer NOT NULL);
ALTER TABLE ins_kenmerk MODIFY (ins_kenmerk_volgnummer NOT NULL);
ALTER TABLE mld_kenmerk MODIFY (mld_kenmerk_volgnummer NOT NULL);
ALTER TABLE res_kenmerk MODIFY (res_kenmerk_volgnummer NOT NULL);
--Uniek maken met volgnummer doorgeschoven naar DB20
/////////////////////////////////////////////////////////////////////////////////////////// FSN#27238
ALTER TABLE mld_melding ADD mld_melding_locked_user_key NUMBER(10);
ALTER TABLE mld_melding ADD mld_melding_locked_date DATE;
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26576
ALTER TABLE prs_bedrijf ADD prs_bedrijf_uitvoertijd NUMBER(8,5)
CONSTRAINT prs_c_prs_bedrijf_uitvoertijd CHECK(prs_bedrijf_uitvoertijd >= 0);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#26809 (2)
ALTER TABLE res_rsv_ruimte ADD res_rsv_ruimte_tot_actual DATE;
/////////////////////////////////////////////////////////////////////////////////////////// CSUN#27276
ALTER TABLE alg_locatie MODIFY alg_locatie_omschrijving VARCHAR2(60);
ALTER TABLE alg_locatie MODIFY alg_locatie_upper VARCHAR2(60);
ALTER TABLE fac_imp_onrgoed1 MODIFY alg_locatie_omschrijving VARCHAR2(60);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#25603
ALTER TABLE fac_import_app ADD fac_import_app_action
VARCHAR(320) DEFAULT 'ORACLE' NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// FSN#
-- maak usrrap aan met vaste key 12 als default reserveringsrapport
CREATE OR REPLACE VIEW res_v_rap_infobordframe AS SELECT 'temporary' a FROM DUAL;
-- Move existing #12 to another key
UPDATE fac_usrrap
SET fac_usrrap_key = fac_s_fac_usrrap_key.NEXTVAL
WHERE fac_usrrap_key = 12;
INSERT INTO fac_usrrap (fac_usrrap_key, fac_usrrap_omschrijving, fac_usrrap_view_name,fac_usrrap_info, fac_functie_key)
SELECT 12, 'INFOBORD: Actuele reserveringen','res_v_rap_infobordframe','Reserveringsoverzicht tbv informatieschermen', fac_functie_key
FROM fac_functie WHERE fac_functie_code='WEB_RESFOF';
-- kleurthema cad_v_thema_srtruimtesensor met vaste key 12 als default reserveringsbezettingsthema
INSERT INTO cad_thema
( cad_thema_key, cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key )
SELECT 12, 'Actuele bezetting', 1, 'cad_v_thema_srtruimtesensor', '1', fac_functie_key
from fac_functie
where fac_functie_code = 'WEB_RESFOF';
-- labelthema cad_v_label_bezetbareruimtes met vaste key 12 als default reserveringslabelthema
INSERT INTO cad_label
( cad_label_key, cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size, fac_functie_key )
SELECT 12, 'Flexibele ruimtes', 'cad_v_label_bezetbareruimtes', '1', -500, fac_functie_key
from fac_functie
where fac_functie_code = 'WEB_RESFOF';
/////////////////////////////////////////////////////////////////////////////////////////// PCHD#27234
ALTER TABLE prs_bedrijf ADD prs_bedrijf_offerte_adres VARCHAR2(256);
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#26798
ALTER TABLE prs_bedrijf ADD prs_bedrijf_contract_adres VARCHAR2(256);
/////////////////////////////////////////////////////////////////////////////////////////// UWVA#26975
UPDATE bes_srtdeel
SET bes_srtdeel_vervaldatum = NULL
WHERE bes_srtdeel_vervaldatum = bes_srtdeel_aanmaak
AND bes_srtdeel_verwijder IS NOT NULL;
/////////////////////////////////////////////////////////////////////////////////////////// QA
BEGIN
adm.tryalter('INDEX fac_fac_tracking_refkey1 RENAME TO fac_i_tracking_refkey1');
adm.tryalter('INDEX fac_i_fac_tracking_refkey1 RENAME TO fac_i_tracking_refkey1');
adm.tryalter('INDEX fac_fac_tracking_refkey2 RENAME TO fac_i_tracking_perslidkey1');
END;
/
-- These appear to exist on some older instances
BEGIN
adm.trydrop('TABLE ond_srtonderhoud PURGE');
adm.trydrop('TABLE fip_afdeling PURGE');
adm.trydrop('TABLE fip_afdeling_0 PURGE');
adm.trydrop('TABLE fip_afdeling_1 PURGE');
adm.trydrop('TABLE fip_afdeling_2 PURGE');
adm.trydrop('TABLE fip_afdeling_3 PURGE');
adm.trydrop('TABLE fip_afdeling_4 PURGE');
adm.trydrop('TABLE fip_artikel PURGE');
adm.trydrop('TABLE fip_artikel_scope PURGE');
adm.trydrop('TABLE fip_bedrijf PURGE');
adm.trydrop('TABLE fip_error PURGE');
adm.trydrop('TABLE fip_gebouw PURGE');
adm.trydrop('TABLE fip_imp_melding PURGE');
adm.trydrop('TABLE fip_info PURGE');
adm.trydrop('TABLE fip_locatie PURGE');
adm.trydrop('TABLE fip_perslid PURGE');
adm.trydrop('TABLE fip_ruimte PURGE');
adm.trydrop('TABLE fip_srtmelding PURGE');
adm.trydrop('TABLE fip_voorziening PURGE');
adm.trydrop('VIEW fip_errmes');
adm.trydrop('SEQUENCE fip_s_fip_fip_afdeling_key');
adm.trydrop('SEQUENCE fip_s_fip_fip_artikel_key');
adm.trydrop('SEQUENCE fip_s_fip_fip_art_scope_key');
adm.trydrop('SEQUENCE fip_s_fip_fip_bedrijf_key');
adm.trydrop('SEQUENCE fip_s_fip_fip_error_key');
adm.trydrop('SEQUENCE fip_s_fip_fip_gebouw_key');
adm.trydrop('SEQUENCE fip_s_fip_fip_info_key');
adm.trydrop('SEQUENCE fip_s_fip_fip_locatie_key');
adm.trydrop('SEQUENCE fip_s_fip_fip_perslid_key');
adm.trydrop('SEQUENCE fip_s_fip_fip_ruimte_key');
adm.trydrop('SEQUENCE fip_s_fip_fip_srtmelding_key');
adm.trydrop('SEQUENCE fip_s_fip_fip_voorziening_key');
adm.trydrop('SEQUENCE web_s_helpsys_key');
adm.trydrop('index res_i_res_rsv_deel5');
END;
/
-- UPDATE for UWVA#17812 to.5.0.6 was not uptodate, backpatch
ALTER TABLE fin_factuur MODIFY fin_factuur_totaal_btw NUMBER (10,4);
ALTER TABLE fin_factuurregel MODIFY fin_factuurregel_btw NUMBER(10,4);
/////////////////////////////////////////////////////////////////////////////////////////// GENERAL
/////////////////////////////////////////////////////////////////////////////////////////// CLEANUP
ALTER TABLE fac_faq DROP COLUMN ins_discipline_key;
ALTER TABLE fac_faq DROP COLUMN mld_stdmelding_key;
ALTER TABLE mld_stdmelding DROP CONSTRAINT mld_c_stdmelding_urenofdagen;
ALTER TABLE mld_stdmelding DROP COLUMN mld_stdmelding_streeftijd;
ALTER TABLE fac_imp_mld DROP COLUMN mld_stdmelding_streeftijd;
ALTER TABLE prs_perslidwerkplek DROP COLUMN prs_perslidwerkplek_verwijder;
ALTER TABLE prs_werkplek DROP COLUMN prs_werkplek_verwijder;
// FSN#26999
DROP VIEW prs_v_aanwezigperslidafdeling;
DROP VIEW prs_v_perslidafdeling_gegevens;
DROP VIEW prs_v_aanwezigperslideenheid;
DROP VIEW prs_v_perslideenheid_gegevens;
DROP VIEW prs_v_verplichting_all;
DROP TABLE prs_perslidafdeling PURGE;
DROP TABLE prs_perslideenheid PURGE;
DROP SEQUENCE prs_s_prs_perslidafdeling_key;
DROP SEQUENCE prs_s_prs_perslideenheid_key;
DROP VIEW prs_v_aanwezigperslidwerkplek;
DROP VIEW prs_v_aanwezigwerkplek;
DROP VIEW all_v_aanwezigwerkplek;
///////////////////////////////////////////////////////////////////////////////////////////
REGISTERONCE('$Workfile: DB18to19.src $','$Revision$')
#include "epilogue.inc"