/* DB33to34.SRC
 * Update script van FACILITOR schema
 * $Revision$
 * $Id$
 */
#include "prologue.inc"

COMMIT;

/////////////////////////////////////////////////////////////////////////////////////////// TWYN#52191
DEF_MENUITEM(1, 'lcl_menu_bgt_budgetmutatie'    , '', 'BGT', 'appl/bgt/bgt_budgetmutatie.asp?smode=1',   0, 0, 'WEB_BGTUSE', 'W', '1', '');

/////////////////////////////////////////////////////////////////////////////////////////// HSLE#51310
ALTER TABLE fac_menu
  ADD fac_menu_advfilter
      VARCHAR2 (4000);

/////////////////////////////////////////////////////////////////////////////////////////// DJIN#41675
DEF_STATUS('bestelling', 9, 'lcl_bes_ontvangen');

DELETE FROM fac_code2label
      WHERE fac_code2label_domein LIKE 'bestelopdr'
        AND fac_code2label_code = 9
        AND fac_code2label_label LIKE 'lcl_bes_ord_ontvangen';

/////////////////////////////////////////////////////////////////////////////////////////// MNNL#40541
ALTER TABLE alg_kenmerk DROP CONSTRAINT alg_c_alg_kenmerk_type1;
ALTER TABLE alg_kenmerk ADD CONSTRAINT alg_c_alg_kenmerk_type1
      CHECK (alg_kenmerk_kenmerktype     IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B')) ENABLE NOVALIDATE;

ALTER TABLE bes_srtkenmerk DROP CONSTRAINT bes_c_bes_srtkenmerk_kenmtype;
ALTER TABLE bes_srtkenmerk ADD CONSTRAINT bes_c_bes_srtkenmerk_kenmtype
      CHECK (bes_srtkenmerk_kenmerktype  IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B')) ENABLE NOVALIDATE;

ALTER TABLE bez_kenmerk DROP CONSTRAINT bez_c_bez_kenmerk_type2;
ALTER TABLE bez_kenmerk ADD CONSTRAINT bez_c_bez_kenmerk_type2
      CHECK (bez_kenmerk_kenmerktype     IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B')) ENABLE NOVALIDATE;

ALTER TABLE cnt_srtkenmerk DROP CONSTRAINT cnt_c_cnt_srtkenmerk_kenmtype;
ALTER TABLE cnt_srtkenmerk ADD CONSTRAINT cnt_c_cnt_srtkenmerk_kenmtype
      CHECK (cnt_srtkenmerk_kenmerktype  IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B')) ENABLE NOVALIDATE;

ALTER TABLE fac_kenmwaarden DROP CONSTRAINT fac_c_fac_kenmwaarden_kenmtype;
ALTER TABLE fac_kenmwaarden ADD CONSTRAINT fac_c_fac_kenmwaarden_kenmtype
      CHECK (fac_kenmwaarden_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B')) ENABLE NOVALIDATE;

ALTER TABLE faq_kenmerk DROP CONSTRAINT faq_c_faq_kenmerk_type1;
ALTER TABLE faq_kenmerk ADD CONSTRAINT faq_c_faq_kenmerk_type1
      CHECK (faq_kenmerk_kenmerktype     IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B')) ENABLE NOVALIDATE;

ALTER TABLE fin_kenmerk DROP CONSTRAINT fin_c_fin_kenmerk_type1;
ALTER TABLE fin_kenmerk ADD CONSTRAINT fin_c_fin_kenmerk_type1
      CHECK (fin_kenmerk_kenmerktype     IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B')) ENABLE NOVALIDATE;

ALTER TABLE ins_srtkenmerk DROP CONSTRAINT ins_c_ins_srtkenmerk_kenmtype;
ALTER TABLE ins_srtkenmerk ADD CONSTRAINT ins_c_ins_srtkenmerk_kenmtype
      CHECK (ins_srtkenmerk_kenmerktype  IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B')) ENABLE NOVALIDATE;

ALTER TABLE mld_srtkenmerk DROP CONSTRAINT mld_c_mld_srtkenmerk_kenmtype;
ALTER TABLE mld_srtkenmerk ADD CONSTRAINT mld_c_mld_srtkenmerk_kenmtype
      CHECK (mld_srtkenmerk_kenmerktype  IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B')) ENABLE NOVALIDATE;

ALTER TABLE prs_kenmerk DROP CONSTRAINT prs_c_prs_kenmerk_type2;
ALTER TABLE prs_kenmerk ADD CONSTRAINT prs_c_prs_kenmerk_type2
      CHECK (prs_kenmerk_kenmerktype     IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B')) ENABLE NOVALIDATE;

ALTER TABLE res_srtkenmerk DROP CONSTRAINT res_c_res_srtkenmerk_kenmtype;
ALTER TABLE res_srtkenmerk ADD CONSTRAINT res_c_res_srtkenmerk_kenmtype
      CHECK (res_srtkenmerk_kenmerktype  IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B')) ENABLE NOVALIDATE;

/////////////////////////////////////////////////////////////////////////////////////////// FSN#36724
UPDATE res_disc_params
   SET res_disc_params_expire_dagen = 1
 WHERE res_disc_params_expire_dagen IS NULL;

UPDATE res_disc_params
   SET res_disc_params_cancel_dagen = 1
 WHERE res_disc_params_cancel_dagen IS NULL;

ALTER TABLE res_disc_params
MODIFY ( res_disc_params_expire_dagen DEFAULT 1 NOT NULL
       , res_disc_params_cancel_dagen DEFAULT 1 NOT NULL
       );

/////////////////////////////////////////////////////////////////////////////////////////// UWVA#51785
ALTER TABLE res_rsv_ruimte ADD CONSTRAINT res_c_alg_ruimte_or_opstel
      CHECK (res_ruimte_opstel_key IS NOT NULL OR alg_ruimte_key IS NOT NULL) ENABLE NOVALIDATE;

/////////////////////////////////////////////////////////////////////////////////////////// FSN#52431
CREATE SEQUENCE fac_s_fac_auditfail_key MINVALUE 1;

CREATE_TABLE(fac_auditfail, 0)
(
   fac_auditfail_key
       NUMBER(10)
       CONSTRAINT fac_k_fac_auditfail_key PRIMARY KEY,
   fac_auditfail_datum
       DATE
       DEFAULT SYSDATE
       NOT NULL,
   fac_auditfail_tekst
       VARCHAR2(2048 CHAR)
);


CREATE OR REPLACE VIEW fac_v_rap_auditfail AS SELECT * FROM fac_auditfail;
INSERT INTO fac_usrrap
( fac_usrrap_omschrijving, fac_usrrap_view_name, fac_usrrap_vraagbegindatum, fac_usrrap_vraageinddatum
, fac_usrrap_functie, fac_usrrap_info, fac_functie_key
)
SELECT 'BEHEER: Audit fail', 'fac_v_rap_auditfail', 0, 0, NULL, 'Report audit fail', fac_functie_key
  FROM fac_functie
 WHERE fac_functie_code = 'WEB_FACMGT';

INSERT INTO fac_usrrap_cols
( fac_usrrap_key, fac_usrrap_cols_volgnr, fac_usrrap_cols_column_name, fac_usrrap_cols_caption
, fac_usrrap_cols_filter, fac_usrrap_cols_filterdefault, fac_usrrap_cols_datatype, fac_usrrap_cols_visible
)
SELECT fac_usrrap_key, 10, 'fac_auditfail_key', 'Key', NULL, NULL, 'number', 'H'
  FROM fac_usrrap
 WHERE fac_usrrap_omschrijving = 'BEHEER: Audit fail';

INSERT INTO fac_usrrap_cols
( fac_usrrap_key, fac_usrrap_cols_volgnr, fac_usrrap_cols_column_name, fac_usrrap_cols_caption
, fac_usrrap_cols_filter, fac_usrrap_cols_filterdefault, fac_usrrap_cols_datatype, fac_usrrap_cols_visible
)
SELECT fac_usrrap_key, 20 , 'fac_auditfail_datum' , 'Date' , 'R' , ':mp' , 'date' , 'V'
  FROM fac_usrrap
 WHERE fac_usrrap_omschrijving = 'BEHEER: Audit fail';

INSERT INTO fac_usrrap_cols
( fac_usrrap_key, fac_usrrap_cols_volgnr, fac_usrrap_cols_column_name, fac_usrrap_cols_caption
, fac_usrrap_cols_filter, fac_usrrap_cols_filterdefault, fac_usrrap_cols_datatype, fac_usrrap_cols_visible
)
SELECT fac_usrrap_key, 30 , 'fac_auditfail_tekst' , 'Description' , 'L' , NULL , 'varchar' , 'V'
  FROM fac_usrrap
 WHERE fac_usrrap_omschrijving = 'BEHEER: Audit fail';

/////////////////////////////////////////////////////////////////////////////////////////// FSN#41181
ALTER TABLE fac_usrdata
MODIFY fac_usrdata_prijs NUMBER(15,7);

ALTER TABLE fac_imp_usrdata
MODIFY fac_usrdata_prijs NUMBER(15,7);

/////////////////////////////////////////////////////////////////////////////////////////// MARX#39053
DEF_FAC_SRTNOT('PRSUPB', 0, 'lcl_noti_PRSUPB', 'prs/prs_bedrijf.asp?bedrijf_key=',   '0', 'bedrijf',      10);
DEF_FAC_SRTNOT('PRSUPT', 0, 'lcl_noti_PRSUPT', 'prs/prs_bedrijfadres.asp?badr_key=', '0', 'bedrijfadres', 10);

/////////////////////////////////////////////////////////////////////////////////////////// BLCC#52924
ALTER TABLE cnt_contract
MODIFY cnt_contract_korting NUMBER(5,2);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#52938
ALTER TABLE ins_deel
DROP CONSTRAINT ins_r_res_rsv_deel_key;

ALTER TABLE ins_deel
ADD CONSTRAINT ins_r_res_rsv_deel_key
    FOREIGN KEY (res_rsv_deel_key)
    REFERENCES res_rsv_deel (res_rsv_deel_key)
    ON DELETE SET NULL;

/////////////////////////////////////////////////////////////////////////////////////////// MNNL#42727
ALTER TABLE mld_stdmelding
  ADD ins_srtinst_verplichtstatus
      NUMBER(2);

UPDATE mld_stdmelding
   SET ins_srtinst_verplichtstatus = CASE
                                     WHEN ins_srtinst_verplicht = 1
                                     THEN 2
                                     ELSE NULL
                                     END;

/////////////////////////////////////////////////////////////////////////////////////////// PNBR#52321
ALTER TABLE res_artikel
MODIFY res_artikel_omschrijving VARCHAR2(40);

ALTER TABLE fac_imp_res_artikel_sync
MODIFY res_artikel_omschrijving VARCHAR2(40);

/////////////////////////////////////////////////////////////////////////////////////////// DJIN#39657
ALTER TABLE mld_opdr
  ADD mld_opdr_laatstgezien
      DATE
      DEFAULT SYSDATE
      NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// PCHD#53196
DELETE FROM fac_menu
      WHERE fac_menu_altlabel IS NULL AND prs_perslid_key IS NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// HSLE#39706
DELETE FROM fac_message WHERE UPPER(fac_message_code) = 'INS_C_INS_SRTKENMERK_SYSTEEM';

ALTER TABLE ins_srtkenmerk DROP CONSTRAINT ins_c_ins_srtkenmerk_systeem;

UPDATE ins_srtkenmerk
   SET ins_srtkenmerk_systeem = 0
 WHERE ins_srtkenmerk_systeem IS NULL;

ALTER TABLE ins_srtkenmerk
     MODIFY ins_srtkenmerk_systeem DEFAULT 0 NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// DIAN#52892
ALTER TABLE bes_disc_params
  ADD bes_disc_params_hide_cost_fe
      NUMBER(1)
      DEFAULT 0
      NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// MARX#53152
ALTER TABLE mld_opdr
  ADD mld_opdr_plandatum2
      DATE;

/////////////////////////////////////////////////////////////////////////////////////////// MARX#53153
DEF_FAC_SRTNOT('ORDPLD', 0, 'lcl_noti_ORDPLD', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht', 60);
DEF_FAC_SRTNOT('ORDPL2', 0, 'lcl_noti_ORDPL2', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht', 60);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#51222
// Alle patches van DB33to33a
DEF_FAC_SRTNOT('BESANO', 0, 'lcl_noti_BESANO', 'bes/bes_bestelling.asp?bes_key=', '0', 'bestelling', 10);
DEF_FAC_SRTNOT('BES2AN', 0, 'lcl_noti_BES2AN', '', '0', 'bestelopdr', 10);
DEF_FAC_SRTNOT('BEZANO', 0, 'lcl_noti_BEZANO', 'bez/bez_afspraak.asp?bez_key=',   '0', 'afspraak', 10);
DEF_FAC_SRTNOT('MLDANO', 0, 'lcl_noti_MLDANO', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);
DEF_FAC_SRTNOT('ORDANO', 0, 'lcl_noti_ORDANO', 'mld/mld_opdr.asp?opdr_key=', '0', 'opdracht', 10);
DEF_FAC_SRTNOT('PRSANO', 0, 'lcl_noti_PRSANO', 'prs/prs_perslid.asp?prs_key='   , '0', 'perslid',      10);

DEF_MENUITEM(2, 'lcl_menu_fac_anonymize'        , '', 'FAC', 'appl/fac/fac_anonymize_search.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_fac_anonymize', 'lcl_menu_fac_vertalingen', 2);

ALTER TABLE bes_srtkenmerk
 DROP CONSTRAINT bes_c_bes_srtkenmerk_systeem;

UPDATE bes_srtkenmerk
   SET bes_srtkenmerk_systeem = 0
 WHERE bes_srtkenmerk_systeem IS NULL;

ALTER TABLE bes_srtkenmerk
      MODIFY bes_srtkenmerk_systeem
             NUMBER(1)
             DEFAULT 0
             NOT NULL;

ALTER TABLE mld_srtkenmerk
 DROP CONSTRAINT mld_c_mld_srtkenmerk_systeem;

ALTER TABLE mld_srtkenmerk
      MODIFY mld_srtkenmerk_systeem
             NUMBER(1)
             DEFAULT 0
             NOT NULL;

UPDATE prs_kenmerk
   SET prs_kenmerk_systeem = 0
 WHERE prs_kenmerk_systeem IS NULL;

ALTER TABLE prs_kenmerk
      MODIFY prs_kenmerk_systeem
             NUMBER(1)
             DEFAULT 0
             NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#52905
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE ctr_disc_params
   SET mld_stdmelding_key = CASE
                            WHEN fac.safe_to_number(fac.getsetting('mjb_default_stdmelding')) > 0
                            THEN fac.safe_to_number(fac.getsetting('mjb_default_stdmelding'))
                            ELSE NULL
                            END
 WHERE mld_stdmelding_key IS NULL;

/////////////////////////////////////////////////////////////////////////////////////////// MNNL#52151
ALTER TABLE mld_melding
    ADD mld_melding_mldgroup_key
    NUMBER(10) REFERENCES mld_melding(mld_melding_key);
CREATE INDEX mld_i_mld_melding23 ON mld_melding(mld_melding_mldgroup_key);

ALTER TABLE ins_srtdiscipline
    ADD ins_srtdiscipline_mldgroup
        NUMBER(3)
        DEFAULT 0
        NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FSN#38509
// Iedereen *moet* over naar JWT
UPDATE aut_idp
   SET aut_idp_code = aut_idp_code || '_DISABLED_2018.1'
 WHERE aut_idp_type = 3 -- GUID Deprecated
   AND LENGTH(aut_idp_code) = 1;

UPDATE fac_setting SET fac_setting_pvalue = NULL
 WHERE fac_setting_name = 'use_simple_sso'
   AND fac_setting_pvalue = '1';

/////////////////////////////////////////////////////////////////////////////////////////// HSLE#38450
ALTER TABLE mld_afmeldtekst
    MODIFY mld_afmeldtekst_usefor NUMBER(2);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#53559
ALTER TABLE bes_srtkenmerk
    MODIFY bes_srtkenmerk_systeem NUMBER(2);

ALTER TABLE cnt_srtkenmerk
    MODIFY cnt_srtkenmerk_systeem NUMBER(2);

ALTER TABLE ins_srtkenmerk
    MODIFY ins_srtkenmerk_systeem NUMBER(2);

ALTER TABLE mld_srtkenmerk
    MODIFY mld_srtkenmerk_systeem NUMBER(2);

ALTER TABLE res_srtkenmerk
    MODIFY res_srtkenmerk_systeem NUMBER(2);

ALTER TABLE alg_kenmerk
    MODIFY alg_kenmerk_systeem NUMBER(2);

ALTER TABLE bez_kenmerk
    MODIFY bez_kenmerk_systeem NUMBER(2);

ALTER TABLE faq_kenmerk
    MODIFY faq_kenmerk_systeem NUMBER(2);

ALTER TABLE fin_kenmerk
    MODIFY fin_kenmerk_systeem NUMBER(2);

ALTER TABLE prs_kenmerk
    MODIFY prs_kenmerk_systeem NUMBER(2);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#53724
ALTER TABLE res_srtkenmerk DROP CONSTRAINT res_c_res_srtkenmerk_systeem;

UPDATE res_srtkenmerk
   SET res_srtkenmerk_systeem = 0
 WHERE res_srtkenmerk_systeem IS NULL;

ALTER TABLE res_srtkenmerk
     MODIFY res_srtkenmerk_systeem DEFAULT 0 NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// XXXX#12345

///////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////// GENERAL

/////////////////////////////////////////////////////////////////////////////////////////// CLEANUP
/////////////////////////////////////////////////////////////////////////////////////////// FSN#51518
ALTER TABLE mld_stdmelding DROP COLUMN ins_srtinst_key;
ALTER TABLE mld_stdmelding DROP COLUMN ins_srtinst_niveau;

///////////////////////////////////////////////////////////////////////////////////////////
REGISTERONCE('$Id$')

#include "epilogue.inc"
