Files
Database/_UP/DB19to20.src
Jos Groot Lipman 6b1355e1d4 FSN#27706 $Workfile overal vervangen door $Id
svn path=/Database/trunk/; revision=19579
2013-10-23 08:28:21 +00:00

190 lines
9.9 KiB
Plaintext

/* DB19TO20.SRC
* Update script van FACILITOR schema
* $Revision$
* $Id$
*/
#include "prologue.inc"
COMMIT;
// Voor de nieuwe adm.systrackscriptId
#include "adm\adm_pac.src"
////////////////////////////////////////////////////////////////////////////////////////// FSN#27550
-- Volgnummers zijn in DB19 al NOT NULL gemaakt
-- Deze gaat (@uwva) nog niet zomaar; waar komen die dubbelen vandaan? Omdat er geen constraint was.
-- JGL: In UWVA-prod 2 dubbele blanko's verwijderd. Artikel was al 4 jaar vervallen
-- In AAEN -prod bes_kenmerk met key 321 tot 328 verwijderd.
SELECT bes_srtkenmerk_key,
bes_srtinstallatie_key,
bes_kenmerk_type,
bes_kenmerk_niveau,
bes_kenmerk_volgnummer,
bes_kenmerk_verwijder,
COUNT ( * ),
MIN (bes_kenmerk_key),
MAX (bes_kenmerk_key)
FROM bes_kenmerk
GROUP BY bes_srtkenmerk_key,
bes_srtinstallatie_key,
bes_kenmerk_type,
bes_kenmerk_niveau,
bes_kenmerk_volgnummer,
bes_kenmerk_verwijder
HAVING COUNT ( * ) > 1;
-- Dit helpt al: bestaande kenmerken bij verwijderde kenmerksoorten verwijderen; verder kijken wat proefconversies doen.
UPDATE bes_kenmerk b
SET bes_kenmerk_verwijder =
(SELECT bes_srtkenmerk_verwijder + bes_kenmerk_key
FROM bes_srtkenmerk
WHERE bes_srtkenmerk_key = b.bes_srtkenmerk_key)
WHERE bes_srtkenmerk_key IN (SELECT bes_srtkenmerk_key
FROM bes_srtkenmerk
WHERE bes_srtkenmerk_verwijder IS NOT NULL)
AND bes_kenmerk_verwijder IS NULL;
-- TODO: Wordt dit hem?
ALTER TABLE bes_kenmerk ADD CONSTRAINT bes_u_bes_kenmerk UNIQUE(bes_srtkenmerk_key, bes_srtinstallatie_key, bes_kenmerk_type, bes_kenmerk_niveau, bes_kenmerk_volgnummer, bes_kenmerk_verwijder);
ALTER TABLE cnt_kenmerk DROP CONSTRAINT cnt_u_cnt_kenmerk DROP INDEX;
ALTER TABLE cnt_kenmerk ADD CONSTRAINT cnt_u_cnt_kenmerk UNIQUE(cnt_srtkenmerk_key, cnt_srtcontract_key, cnt_kenmerk_niveau, cnt_kenmerk_volgnummer, cnt_kenmerk_verwijder);
ALTER TABLE ins_kenmerk DROP CONSTRAINT ins_u_ins_kenmerk DROP INDEX;
ALTER TABLE ins_kenmerk ADD CONSTRAINT ins_u_ins_kenmerk UNIQUE(ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_verwijder);
ALTER TABLE mld_kenmerk DROP CONSTRAINT mld_u_mld_kenmerk DROP INDEX;
ALTER TABLE mld_kenmerk ADD CONSTRAINT mld_u_mld_kenmerk UNIQUE(mld_srtkenmerk_key, mld_stdmelding_key, mld_typeopdr_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verwijder);
ALTER TABLE res_kenmerk DROP CONSTRAINT res_c_res_kenmerk_unique DROP INDEX;
ALTER TABLE res_kenmerk ADD CONSTRAINT res_u_res_kenmerk_unique UNIQUE(res_activiteit_key, res_srtkenmerk_key, res_kenmerk_volgnummer, res_kenmerk_verwijder);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#22666
ALTER TABLE ins_srtdiscipline ADD CONSTRAINT ins_c_ins_srtdiscipline_kk CHECK(ins_srtdiscipline_kostenklant IN (0,1,2));
ALTER TABLE ins_srtdiscipline MODIFY ins_srtdiscipline_kostenklant DEFAULT (0);
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#27656
DEF_FAC_FUNCTIE2('WEB_CNTGO1', 'Backoffice:Contracten-goedk1', 'CNT', 0, 1, 0, 'Om contracten boven de eerste limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_CNTGO2', 'Backoffice:Contracten-goedk2', 'CNT', 0, 1, 0, 'Om contracten boven de tweede limiet goed te kunnen keuren');
DEF_FAC_FUNCTIE2('WEB_CNTGO3', 'Backoffice:Contracten-goedk3', 'CNT', 0, 1, 0, 'Om contracten boven de derde limiet goed te kunnen keuren');
DEF_FAC_SRTNOT('CNTCPT', 1, 'Concept contract ##KEY## (##LEV##/##OMSCH##) is ingediend', 'cnt/cnt_contract.asp?cnt_key=', '0', 'contract');
DEF_FAC_SRTNOT('CNTAPP', 1, 'Uw goedkeuring wordt verzocht voor contract ##KEY## (##LEV##/##OMSCH##)', 'cnt/cnt_contract.asp?cnt_key=', '0', 'contract');
DEF_FAC_SRTNOT('CNTFIT', 1, 'Contract ##KEY## (##LEV##/##OMSCH##) is goedgekeurd', 'cnt/cnt_contract.asp?cnt_key=', '0', 'contract');
DEF_FAC_SRTNOT('CNTREJ', 9, 'Contract ##KEY## (##LEV##/##OMSCH##) is afgewezen', 'cnt/cnt_contract.asp?cnt_key=', '0', 'contract');
DEF_FAC_SRTNOT('CNTCLO', 1, 'Contract ##KEY## (##LEV##/##OMSCH##) is gesloten', 'cnt/cnt_contract.asp?cnt_key=', '0', 'contract');
DEF_FAC_SRTNOT('CNTSNT', 0, 'Contract ##KEY## is verzonden', 'cnt/cnt_contract.asp?cnt_key=', '0', 'contract');
DEF_FAC_SRTNOT('CNTSNX', 0, 'Contract ##KEY## is niet verzonden', 'cnt/cnt_contract.asp?cnt_key=', '0', 'contract');
ALTER TABLE cnt_contract ADD cnt_contract_approved NUMBER(11,2);
ALTER TABLE cnt_contract ADD cnt_contract_teverzenden NUMBER(1);
ALTER TABLE cnt_contract MODIFY (cnt_contract_status DEFAULT NULL);
ALTER TABLE cnt_contract DROP CONSTRAINT cnt_r_cnt_contract_status;
ALTER TABLE cnt_contract ADD CONSTRAINT cnt_r_cnt_contract_status CHECK(cnt_contract_status IN (0,1,2,3));
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;
/////////////////////////////////////////////////////////////////////////////////////////// PCHD#
ALTER TABLE fin_kenmerk ADD fin_kenmerk_type VARCHAR2(1)
CONSTRAINT fin_c_fin_kenmerk_type CHECK (fin_kenmerk_type is not null and (fin_kenmerk_type IN( 'F', 'R')));
UPDATE fin_kenmerk SET fin_kenmerk_type='F' WHERE fin_kenmerk_type IS NULL;
CREATE_TABLE(fin_kenmerkfactregel,0)
(fin_kenmerkfactregel_key
NUMBER(10)
CONSTRAINT fin_k_kenmerkfactregel_key PRIMARY KEY
,fin_factuurregel_key
NUMBER(10)
CONSTRAINT fin_r_fin_factuurregel_key REFERENCES fin_factuurregel(fin_factuurregel_key)
,fin_kenmerk_key
NUMBER(10)
CONSTRAINT fin_r_fin_kenmerk_key2 REFERENCES fin_kenmerk(fin_kenmerk_key)
,fin_kenmerkfactregel_waarde
VARCHAR2(4000)
,fin_kenmerkfactregel_aanmaak
DATE
DEFAULT SYSDATE
NOT_NULL(fin_kenmerkfactregel_aanmaak, fin_c_kenmerkfactregel_aanm)
,fin_kenmerkfactregel_verwijder
DATE
DEFAULT NULLDATUM,
CONSTRAINT fin_u_kenmerkfactregel_key UNIQUE(fin_factuurregel_key, fin_kenmerk_key, fin_kenmerkfactregel_verwijder)
);
/////////////////////////////////////////////////////////////////////////////////////////// FSN#27787
INSERT INTO fac_usrrap (fac_usrrap_omschrijving, fac_usrrap_view_name,fac_usrrap_info, fac_functie_key)
SELECT 'BEHEER: Autorisatiegroeprechten','FAC_V_RAP_GROEPRECHTEN2','Welke groepen hebben welke rechten?', fac_functie_key
FROM fac_functie WHERE fac_functie_code='WEB_PRSSYS'
AND NOT EXISTS (SELECT '' FROM fac_usrrap WHERE UPPER(fac_usrrap_view_name)='FAC_V_RAP_GROEPRECHTEN2');
/////////////////////////////////////////////////////////////////////////////////////////// FSN#27478
CREATE_TABLE(prs_bedrijfadres, 0) (
prs_bedrijfadres_key
NUMBER(10)
CONSTRAINT prs_k_prs_bedrijfadres_key PRIMARY KEY,
prs_bedrijf_key
NUMBER(10)
CONSTRAINT prs_r_prs_bedrijf_key6 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
prs_bedrijfadres_type
VARCHAR2(1)
CONSTRAINT prs_c_prs_bedrijfadrestype CHECK (prs_bedrijfadres_type IN ('O','B','C')),
mld_typeopdr_key
NUMBER(10) CONSTRAINT prs_r_mld_typeopdr_key REFERENCES mld_typeopdr(mld_typeopdr_key) ON DELETE CASCADE,
prs_bedrijfadres_url
VARCHAR2(512),
prs_bedrijfadres_ordermode
NUMBER(3) DEFAULT 0,
prs_bedrijfadres_certificate
VARCHAR2(255),
prs_bedrijfadres_xsl
VARCHAR2(256),
prs_bedrijfadres_ext
VARCHAR2(10)
);
CREATE SEQUENCE prs_s_prs_bedrijfadres_key MINVALUE 1;
CREATE_TRIGGER(prs_t_prs_bedrijfadres_B_I)
BEFORE INSERT ON prs_bedrijfadres
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_bedrijfadres_key, prs_s_prs_bedrijfadres_key);
END;
/
INSERT INTO prs_bedrijfadres (prs_bedrijf_key, prs_bedrijfadres_type, prs_bedrijfadres_url, prs_bedrijfadres_ordermode, prs_bedrijfadres_certificate, prs_bedrijfadres_xsl)
SELECT prs_bedrijf_key, 'O', prs_bedrijf_mldorder_adres, prs_bedrijf_order_mode, prs_bedrijf_order_certificate, prs_bedrijf_XSL
FROM prs_bedrijf
WHERE prs_bedrijf_mldorder_adres IS NOT NULL;
INSERT INTO prs_bedrijfadres (prs_bedrijf_key, prs_bedrijfadres_type, prs_bedrijfadres_url, prs_bedrijfadres_ordermode, prs_bedrijfadres_certificate, prs_bedrijfadres_xsl)
SELECT prs_bedrijf_key, 'B', prs_bedrijf_order_adres, prs_bedrijf_order_mode, prs_bedrijf_order_certificate, prs_bedrijf_XSL
FROM prs_bedrijf
WHERE prs_bedrijf_order_adres IS NOT NULL;
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////// GENERAL
/////////////////////////////////////////////////////////////////////////////////////////// CLEANUP
DROP VIEW prs_v_lopendezaken;
ALTER TABLE prs_bedrijf DROP COLUMN prs_bedrijf_offerte_adres;
ALTER TABLE prs_bedrijf DROP COLUMN prs_bedrijf_contract_adres;
--ALTER TABLE prs_bedrijf DROP COLUMN prs_bedrijf_mldorder_adres;
--ALTER TABLE prs_bedrijf DROP COLUMN prs_bedrijf_order_adres;
--ALTER TABLE prs_bedrijf DROP COLUMN prs_bedrijf_order_mode;
--ALTER TABLE prs_bedrijf DROP COLUMN prs_bedrijf_order_certificate;
--ALTER TABLE prs_bedrijf DROP COLUMN prs_bedrijf_XSL;
///////////////////////////////////////////////////////////////////////////////////////////
REGISTERONCE('$Id$')
#include "epilogue.inc"