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

COMMIT;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#42307
ALTER TABLE res_activiteit
  ADD res_activiteit_cvab_mode
      NUMBER(1)
      CONSTRAINT res_c_res_activiteit_cvab_mode CHECK(res_activiteit_cvab_mode IN (0,1,2,3));

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#41463
UPDATE fac_menuitems
   SET fac_menuitems_url = 'appl/mgt/prs_kostenplaats.asp'
 WHERE fac_menuitems_label = 'lcl_menu_fin_kostenplaatsen';

/////////////////////////////////////////////////////////////////////////////////////////// VGLD#41598
ALTER TABLE fin_factuur
  ADD fin_factuur_flag
      NUMBER(1);

/////////////////////////////////////////////////////////////////////////////////////////// FSN#40537
ALTER TABLE fac_usrrap_cols
 DROP CONSTRAINT fac_c_usrrap_cols_visible;
ALTER TABLE fac_usrrap_cols
  ADD CONSTRAINT fac_c_usrrap_cols_visible CHECK (fac_usrrap_cols_visible IN ('V', 'I', 'H', 'S')) ENABLE NOVALIDATE;

-- /////////////////////////////////////////////////////////////////////////////////////// FSN#46947
UPDATE fac_functie
   SET fac_functie_groep = 2
     , fac_functie_min_level=0
     , fac_functie_discipline=0
 WHERE fac_functie_code = 'WEB_BGTMGT';

/////////////////////////////////////////////////////////////////////////////////////////// FSN#39055
UPDATE fac_menuitems
   SET fac_menuitems_url = fac_menuitems_url || '&autosearch=1'
 WHERE fac_menuitems_label = 'lcl_menu_bgt_disciplines_1';

ALTER TABLE bgt_budgetmutatie
  ADD bgt_budgetmutatie_reserve
      NUMBER(1)
      DEFAULT 0
      NOT NULL;

UPDATE bgt_budgetmutatie
   SET bgt_budgetmutatie_reserve = 1
 WHERE bgt_budgetmutatie_omschrijving = 'AO Automatische overboeking';

UPDATE fac_setting
   SET fac_setting_pvalue = 'true'
 WHERE fac_setting_name = 'bgt_extra_report_param'
   AND EXISTS (SELECT 1
                 FROM fac_setting
                WHERE fac_setting_name = 'fac_reserved_string1'
                  AND fac_setting_pvalue = 'versienummer'
              );

UPDATE fac_setting
   SET fac_setting_pvalue = NULL
 WHERE fac_setting_name = 'fac_reserved_string1'
   AND fac_setting_pvalue = 'versienummer';

/////////////////////////////////////////////////////////////////////////////////////////// UWVA#39063
ALTER TABLE mld_stdmelding  -- Einddatum opdracht leeglaten (0=Nee(Default) | 1=Ja)
  ADD mld_stdmelding_enddate_empty
      NUMBER(1)
      DEFAULT 0
      CONSTRAINT mld_c_stdmelding_enddate_empty CHECK (mld_stdmelding_enddate_empty IN (0,1))
      CONSTRAINT mld_c_stdmelding_enddate_empt2 CHECK (mld_stdmelding_enddate_empty IS NOT NULL);

/////////////////////////////////////////////////////////////////////////////////////////// KFSG#49267
ALTER TABLE ins_deel ADD res_rsv_deel_key
      NUMBER(10)
      CONSTRAINT ins_r_res_rsv_deel_key REFERENCES res_rsv_deel (res_rsv_deel_key);

/////////////////////////////////////////////////////////////////////////////////////////// FSN#49567
UPDATE fac_menu
   SET fac_menu_portal = NULL
 WHERE fac_menu_altgroep IN (5, 6)
   AND fac_menu_portal IS NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FSN#43129
ALTER TABLE mld_melding
    ADD mld_melding_actiecode
        NUMBER(1)
        DEFAULT 1
        NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// PLAT#41497
DEF_FAC_SRTNOT('INSSUP', 0, 'lcl_noti_INSSUP', 'ins/ins_srtdeel.asp?srtdeel_key=', '0', 'srtdeel', 10);

ALTER TABLE fac_audit
 DROP CONSTRAINT fac_k_fac_audit_actie;
ALTER TABLE fac_audit
  ADD CONSTRAINT fac_k_fac_audit_actie CHECK (fac_audit_actie IN ('C', 'D', 'I', 'U'));

UPDATE fac_srtnotificatie
   SET fac_srtnotificatie_url = 'mgt/ins_srtcontrole.asp?id='
 WHERE fac_srtnotificatie_code = 'CTRSUP';

/////////////////////////////////////////////////////////////////////////////////////////// FSN#51441
UPDATE prs_perslid
   SET fac_profiel_key = NULL
 WHERE prs_perslid_verwijder IS NOT NULL
   AND fac_profiel_key IS NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FSN#41432
#define DEF_FAC_FUNCTIE3(c, m, l, d, g) UPDATE fac_functie SET fac_functie_groep = g WHERE fac_functie_code = c
DEF_FAC_FUNCTIE3('WEB_BESBAC', 'BES', 13, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_BESGO2', 'BES', 11, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_BESGO3', 'BES', 11, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_BESGO4', 'BES', 11, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_BESGO5', 'BES', 11, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_BEZBAC', 'BEZ', 13, 0,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_FACFAC', 'FAC',  0, 0, NULL);  //    2
DEF_FAC_FUNCTIE3('WEB_FACMGT', 'FAC',  0, 0, NULL);  //    2
DEF_FAC_FUNCTIE3('WEB_FACMSU', 'FAC',  0, 0, NULL);  //    2
DEF_FAC_FUNCTIE3('WEB_FACTAB', 'FAC',  0, 0, NULL);  //    2
DEF_FAC_FUNCTIE3('WEB_FINGOE', 'FIN',  0, 0,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_HLPADM', 'FAC',  0, 0, NULL);  //    2
DEF_FAC_FUNCTIE3('WEB_IMPORT', 'FAC',  0, 0, NULL);  //    2
DEF_FAC_FUNCTIE3('WEB_KPIRAP', 'KPI',  0, 0,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_LCLSYS', 'FAC',  0, 0, NULL);  //    2
DEF_FAC_FUNCTIE3('WEB_MGTRAP', 'FAC',  3, 0,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_MLDBAC', 'MLD', 13, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_MLDBO3', 'MLD', 15, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_ORDFIN', 'FIN',  0, 0, NULL);  //    1
DEF_FAC_FUNCTIE3('WEB_ORDGO2', 'MLD', 11, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_ORDGO3', 'MLD', 11, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_ORDGO4', 'MLD', 11, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_ORDGO5', 'MLD', 11, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_ORDGOE', 'MLD', 11, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_ORDUSE', 'MLD', 15, 1,    1);  //    0
DEF_FAC_FUNCTIE3('WEB_PERMON', 'FAC',  0, 0, NULL);  //    2
DEF_FAC_FUNCTIE3('WEB_RESAFR', 'RES',  0, 0, NULL);  //    1
DEF_FAC_FUNCTIE3('WEB_RESBAC', 'RES', 13, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_UURBOF', 'MLD',  3, 1,    0);  //    1
DEF_FAC_FUNCTIE3('WEB_VERFAC', 'FIN',  0, 0,    0);  //    1
#undef DEF_FAC_FUNCTIE3
-- Overrulede user-functie omschrijvingen veiligstellen
INSERT INTO fac_locale_xsl (fac_locale_xsl_label,
                            fac_locale_xsl_module,
                            fac_locale_xsl_lang,
                            fac_locale_xsl_tekst,
                            fac_locale_xsl_cust)
    SELECT 'lcl_WEB_USER' || SUBSTR (fac_functie_code, 9, 2) || '_info',
           'ASP',
           fac_version_lang,
           'Zelfdefinieerbare autorisatiefunctie ' || SUBSTR (fac_functie_code, 9, 2),
           fac_functie_info
      FROM fac_functie, fac_version
     WHERE fac_functie_code LIKE 'WEB_USER%'
           AND fac_functie_info <> 'Zelfdefinieerbare autorisatiefunctie ' || SUBSTR (fac_functie_code, 9, 2);

INSERT INTO fac_locale_xsl (fac_locale_xsl_label,
                            fac_locale_xsl_module,
                            fac_locale_xsl_lang,
                            fac_locale_xsl_tekst,
                            fac_locale_xsl_cust)
    SELECT 'lcl_WEB_USER' || SUBSTR (fac_functie_code, 9, 2),
           'ASP',
           fac_version_lang,
           'Overig ' || SUBSTR (fac_functie_code, 9, 2),
           fac_functie_omschrijving
      FROM fac_functie, fac_version
     WHERE fac_functie_code LIKE 'WEB_USER%'
           AND fac_functie_omschrijving <> 'Overig ' || SUBSTR (fac_functie_code, 9, 2);

UPDATE fac_functie
   SET fac_functie_omschrijving = 'lcl_WEB_USER' || SUBSTR (fac_functie_code, 9, 2),
       fac_functie_info = 'lcl_WEB_USER' || SUBSTR (fac_functie_code, 9, 2) || '_info'
 WHERE fac_functie_code like 'WEB_USER%';

/////////////////////////////////////////////////////////////////////////////////////////// PLAT#41688
ALTER TABLE ins_tab_discipline MODIFY ins_discipline_omschrijving VARCHAR2(60);
ALTER TABLE fac_imp_mld MODIFY ins_discipline_omschrijving VARCHAR2(60);
ALTER TABLE fac_imp_ins MODIFY ins_discipline_omschrijving VARCHAR2(60);
ALTER TABLE fac_imp_ins MODIFY res_discipline_omschrijving VARCHAR2(60);
ALTER TABLE fac_imp_inspectie MODIFY ins_discipline_omschrijving VARCHAR2(60);
ALTER TABLE fac_imp_onrgoed2 MODIFY res_discipline_omschrijving VARCHAR2(60);

ALTER TABLE ins_deel ADD ins_deel_mjb_score1 NUMBER(6,2);
ALTER TABLE ins_deel ADD ins_deel_mjb_score2 NUMBER(6,2);

/////////////////////////////////////////////////////////////////////////////////////////// PLAT#52094
ALTER TABLE ins_srtdeel ADD ins_srtdeel_mjb_grensscore1 NUMBER(6,2);
ALTER TABLE alg_locatie ADD alg_locatie_mjb_score1 NUMBER(6,2);
ALTER TABLE alg_gebouw ADD alg_gebouw_mjb_score1 NUMBER(6,2);

/////////////////////////////////////////////////////////////////////////////////////////// FSN#51336
UPDATE fac_notificatie_job
   SET fac_notificatie_job_flags = 0
 WHERE LOWER(fac_notificatie_job_view) = 'fac_v_noti_facorderqueuefails';

/////////////////////////////////////////////////////////////////////////////////////////// FSN#51518
CREATE_TABLE(mld_stdmelding_srtinst, 0)
(
    mld_stdmelding_srtinst_key
        NUMBER(10)
        CONSTRAINT mld_k_stdmelding_srtinst_key PRIMARY KEY,
    mld_stdmelding_key
        NUMBER(10)
        CONSTRAINT mld_r_mld_stdmelding_key8 REFERENCES mld_stdmelding(mld_stdmelding_key) ON DELETE CASCADE
        NOT_NULL(mld_stdmelding_key, mld_c_stdmelding_key1),
    ins_srtinstallatie_key     -- optional reference to objecttype (level defined by _niveau)
        NUMBER(10),
    ins_srtinstallatie_niveau    -- level of _srtinst_key
        VARCHAR2(1)
        CONSTRAINT mld_c_mld_srtinst_niveau CHECK (ins_srtinstallatie_niveau IN ('D','G','S')),
    mld_stdmelding_srtinst_aanmaak
        DATE
        DEFAULT SYSDATE,
    CONSTRAINT mld_u_mld_stdmelding_srtinst UNIQUE(mld_stdmelding_key, ins_srtinstallatie_niveau, ins_srtinstallatie_key)
);


CREATE SEQUENCE mld_s_mld_stdm_srtinst_key MINVALUE 1;
CREATE_TRIGGER(mld_t_mld_stdm_srtinst_B_IU)
BEFORE INSERT OR UPDATE ON mld_stdmelding_srtinst
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(mld_stdmelding_srtinst_key, mld_s_mld_stdm_srtinst_key);
END;
/

// CONVERT from mld_stdmelding
INSERT INTO mld_stdmelding_srtinst (mld_stdmelding_key, ins_srtinstallatie_key, ins_srtinstallatie_niveau)
SELECT mld_stdmelding_key, ins_srtinst_key, ins_srtinst_niveau
  FROM mld_stdmelding
 WHERE ins_srtinst_niveau IS NOT NULL
   AND mld_stdmelding_verwijder IS NULL;

/////////////////////////////////////////////////////////////////////////////////////////// MNNL#41309
UPDATE fac_menuitems
   SET fac_menuitems_url = 'appl/mgt/mld_stdmelding.asp'
 WHERE fac_menuitems_label = 'lcl_menu_mld_meldingen';

/////////////////////////////////////////////////////////////////////////////////////////// VGLD#51622
ALTER TABLE bes_bestelling
    ADD bes_bestelling_fiatbedrag
   NUMBER(11,2);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#51790
UPDATE fac_setting SET fac_setting_pvalue = REPLACE(fac_setting_pvalue, 'menuitemhovercolor', 'menuitemhoverbackgroundcolor')
 WHERE fac_setting_name = 'csstemplate';

/////////////////////////////////////////////////////////////////////////////////////////// DJIN#48507
ALTER TABLE mld_stdmelding
  ADD mld_stdmelding_autoorderamount
      NUMBER(12,2);

UPDATE mld_stdmelding
   SET mld_stdmelding_autoorderamount = 0
 WHERE mld_stdmelding_autoorder = 1;

/////////////////////////////////////////////////////////////////////////////////////////// DJIN#41676
ALTER TABLE bes_bestelopdr ADD bes_bestelopdr_flag NUMBER(1);

/////////////////////////////////////////////////////////////////////////////////////////// DJIN#41674
ALTER TABLE bes_disc_params      /* bestelcatalogusinstellingen {0=Niet van toepassing, 1=Aanmaken en koppelen (Nog niet ondersteund), 2=Koppelen} */
  ADD bes_disc_params_ins_mode
      NUMBER(1)
      DEFAULT 0
      NOT NULL;

ALTER TABLE bes_srtdeel          /* objectrelatie */
  ADD ins_srtdeel_key
      NUMBER(10)
      CONSTRAINT ins_r_ins_srtdeel_key4 REFERENCES ins_srtdeel(ins_srtdeel_key);

ALTER TABLE ins_deel
  ADD bes_bestelopdr_key
      NUMBER(10)
      CONSTRAINT bes_r_bes_bestelopdr_key3 REFERENCES bes_bestelopdr(bes_bestelopdr_key);

/////////////////////////////////////////////////////////////////////////////////////////// DJIN#41675
ALTER TABLE bes_disc_params
  ADD bes_disc_params_fe_confirm    /* Besteller bevestigt ontvangst {0=Nee (default), 1=Ja} */
      NUMBER(1)
      DEFAULT 0
      NOT NULL;

DEF_STATUS('bestelopdr', 9, 'lcl_bes_ord_ontvangen');

DEF_FAC_SRTNOT('BESOT2', 0, 'lcl_noti_BESOT2', 'bes/bes_bestelling.asp?bes_key=', '0', 'bestelling', 10);

/////////////////////////////////////////////////////////////////////////////////////////// FSN#47307
ALTER TABLE bes_disc_params /* 0=ouderwets artikelselector, 1=vrij artikelen, 2=bestellijst */
  ADD bes_disc_params_bestelmode
      NUMBER(1)
      DEFAULT 0
      NOT NULL;

UPDATE bes_disc_params
  SET bes_disc_params_bestelmode = bes_disc_params_freeartikel;

ALTER TABLE bes_disc_params /* 0=alleen bij kiezen artikel, 1=ook in bestellijst */
  ADD bes_disc_params_fotomode
      NUMBER(1)
      DEFAULT 0
      NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// MARX#51994
ALTER TABLE fac_api
  ADD fac_api_stylesheet_out
      VARCHAR2 (64);

/////////////////////////////////////////////////////////////////////////////////////////// FSN#52010
UPDATE aut_idp
   SET aut_idp_ipfilter = '87.249.108.135,87.249.108.136,80.250.128.5,80.250.128.6,31.161.17.4' --  Enschede/Enschede/Mainz/Mainz/Emmen
 WHERE aut_idp_ipfilter = '87.249.108.135,87.249.108.136';

/////////////////////////////////////////////////////////////////////////////////////////// MNNL#45087
ALTER TABLE mld_stdmelding
  ADD mld_stdmelding_prsafdobj
      NUMBER(1)
      DEFAULT 0
      NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FSN#52120
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE mld_melding
   SET mld_melding_kto_type = NULL
 WHERE mld_melding_kto_type IS NOT NULL
   AND mld_melding_kto_key IS NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FSN#52125
ALTER TABLE prs_perslid
    ADD prs_perslid_loglevel
        NUMBER(1)
        DEFAULT 0
        NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// PCHW#41702
ALTER TABLE res_activiteit
    ADD res_activiteit_posttime
        NUMBER(5,2)
        DEFAULT 0
        NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// PCHW#41702
UPDATE mld_stdmelding
    SET mld_stdmelding_planbaar = 0
  WHERE mld_stdmelding_planbaar IS NULL;

ALTER TABLE mld_stdmelding
    MODIFY mld_stdmelding_planbaar DEFAULT 0 NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// AADS#45847
DEF_FAC_SRTNOT('MLDNW3', 2, 'lcl_noti_MLDNW3', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 300);

ALTER TABLE mld_disc_params
    ADD (mld_disc_params_emailnw1 VARCHAR (200),
         mld_disc_params_emailnw2 VARCHAR (200),
         mld_disc_params_emailnw3 VARCHAR (200),
         mld_disc_params_emailnw4 VARCHAR (200),
         mld_disc_params_smsnw1 VARCHAR (15),
         mld_disc_params_smsnw2 VARCHAR (15),
         mld_disc_params_smsnw3 VARCHAR (15),
         mld_disc_params_smsnw4 VARCHAR (15));

/////////////////////////////////////////////////////////////////////////////////////////// AADS#45847
ALTER TABLE fac_usrrap
    MODIFY fac_usrrap_info
        VARCHAR2(1000);

/////////////////////////////////////////////////////////////////////////////////////////// IVET#39761
UPDATE ins_srtcontrole
   SET ins_srtcontrole_bits = POWER(2, ins_srtcontrole_bits - 1)
 WHERE ins_srtcontrole_eenheid = 4
   AND ins_srtcontrole_mode = 0;

/////////////////////////////////////////////////////////////////////////////////////////// TWYN#52191
ALTER TABLE bgt_budgetmutatie
  ADD ( bgt_budgetmutatie_volgnr NUMBER(3)
      , bgt_budgetmutatie_code   VARCHAR2(2)
      );

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

/////////////////////////////////////////////////////////////////////////////////////////// CLEANUP

/////////////////////////////////////////////////////////////////////////////////////////// DJIN#36213
DROP TABLE fac_idp PURGE;
DROP SEQUENCE fac_s_fac_idp_key;

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

#include "epilogue.inc"
