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

COMMIT;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#56940
ALTER TABLE fac_email_setting
    ADD fac_email_setting_loglevel NUMBER(3)
     DEFAULT 0 NOT NULL;

ALTER TABLE fac_email_setting
    ADD prs_perslid_key_auth
        NUMBER(10)
        CONSTRAINT fac_r_prs_perslid_key10 REFERENCES prs_perslid(prs_perslid_key);

ALTER TABLE fac_email_setting
     ADD fac_email_setting_opmerking VARCHAR2 (320);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#xxxxx

ALTER TABLE mld_opdr
     ADD mld_opdr_externnr VARCHAR2(30);

ALTER TABLE mld_opdr
     ADD mld_opdr_externsyncdate DATE;

/////////////////////////////////////////////////////////////////////////////////////////// HSLE#56503
ALTER TABLE fac_kenmwaarden
     ADD fac_kenmwaarden_exprwaarde VARCHAR2 (4000);

/////////////////////////////////////////////////////////////////////////////////////////// STAM#56747
UPDATE fac_setting
   SET fac_setting_pvalue = DECODE(UPPER(fac_setting_pvalue), 'FALSE', '0', 'TRUE', '1', '')
 WHERE fac_setting_name = 'portalmenu_combine_single';

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#56366
ALTER TABLE fac_usrrap_cols
  ADD fac_usrrap_cols_sorting
      NUMBER(1)
      DEFAULT 3
      NOT NULL
      CONSTRAINT fac_c_usrrap_cols_sorting CHECK (fac_usrrap_cols_sorting IN (0,1,2,3));

/////////////////////////////////////////////////////////////////////////////////////////// HSLE#55820
ALTER TABLE res_ruimte
  ADD res_ruimte_cv
      NUMBER(1)
      DEFAULT 0
      NOT NULL
      CONSTRAINT res_c_res_ruimte_cv CHECK(res_ruimte_cv IN (0,1));

/////////////////////////////////////////////////////////////////////////////////////////// FSN#36801
ALTER TABLE ins_srtcontrole
  ADD ins_controlemode_key
      NUMBER(10)
      CONSTRAINT ins_c_ins_controlemode_key REFERENCES ins_controlemode(ins_controlemode_key);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57144
ALTER TABLE mld_kenmerk DROP CONSTRAINT mld_r_mld_srtkenmerk_keys;
ALTER TABLE mld_kenmerk DROP CONSTRAINT mld_c_mld_kenmerk_niveau2;
ALTER TABLE mld_kenmerk
  ADD CONSTRAINT mld_c_mld_kenmerk_niveau2 CHECK(mld_kenmerk_niveau IN ('T','D','S','O','A','P'));

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57372
DEF_STATUS('factuur', 5, 'lcl_fin_ter_goedgekeuring');

/////////////////////////////////////////////////////////////////////////////////////////// KFSG#50528
UPDATE fac_setting
   SET fac_setting_pvalue = 1
 WHERE     fac_setting_name = 'qrc_enable'
       AND fac_setting_pvalue IS NULL
       AND EXISTS
               (SELECT ''
                  FROM fac_setting
                 WHERE     fac_setting_name = 'mobile_enabled'
                       AND fac_setting_pvalue = 1);

/////////////////////////////////////////////////////////////////////////////////////////// HSLE#57223
ALTER PACKAGE fac COMPILE; // anders (nog) invalid
ALTER PACKAGE fac COMPILE BODY;  // nodig?
UPDATE mld_melding
  SET mld_melding_status = 2
WHERE mld_melding_status = 3;

ALTER TABLE mld_melding
 DROP CONSTRAINT mld_c_mld_status1;
ALTER TABLE mld_melding
 ADD CONSTRAINT mld_c_mld_status1 CHECK(mld_melding_status IN (0,1,2,4,5,6,7,99));

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57049
DELETE
  FROM fac_notificatie_job
 WHERE UPPER(fac_notificatie_job_view) = 'FAC_V_NOTI_LICENTIE';

DROP VIEW FAC_V_NOTI_LICENTIE;
DROP VIEW FAC_V_LCRAP_KEY_STATS;

/////////////////////////////////////////////////////////////////////////////////////////// TWYN#55745
ALTER TABLE fac_usrrap
  ADD fac_usrrap_parameters VARCHAR2(200);

/////////////////////////////////////////////////////////////////////////////////////////// FSN#34049
ALTER TABLE prs_bedrijfadres
    ADD prs_bedrijfadres_error_handler NUMBER (1) DEFAULT 0 NOT NULL;

UPDATE prs_bedrijfadres
   SET prs_bedrijfadres_error_handler = 1
 WHERE LOWER(prs_bedrijfadres_ext) IN ('cxml', 'xxml');

UPDATE prs_bedrijfadres
   SET prs_bedrijfadres_ext = 'xml'
 WHERE LOWER(prs_bedrijfadres_ext) = 'xxml';

/////////////////////////////////////////////////////////////////////////////////////////// FSN#57494
CREATE_TABLE(prs_perslid_tabs, 0)
(
    prs_perslid_tabs_key
        NUMBER(10)
        CONSTRAINT prs_k_prs_perslid_tabs_key PRIMARY KEY,
    prs_perslid_tabs_code
        VARCHAR2(32) NOT NULL,
    prs_perslid_tabs_aanmaak
        DATE DEFAULT SYSDATE,
    prs_perslid_key
        NUMBER(10)
        CONSTRAINT prs_r_prs_perslid_key20 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
);
CREATE SEQUENCE prs_s_prs_perslid_tabs_key MINVALUE 1;
CREATE UNIQUE INDEX prs_i_prs_perslid_tabs1 on prs_perslid_tabs(prs_perslid_key, prs_perslid_tabs_code);

CREATE_TABLE(prs_perslid_cols, 0)
(
    prs_perslid_cols_key
        NUMBER(10)
        CONSTRAINT fac_k_prs_perslid_cols_key PRIMARY KEY,
    prs_perslid_tabs_key
        NUMBER(10)
        CONSTRAINT fac_r_perslid_cols_tabs_key REFERENCES prs_perslid_tabs(prs_perslid_tabs_key)
        ON DELETE CASCADE,
    prs_perslid_cols_volgnr
        NUMBER(10) NOT NULL,
    prs_perslid_cols_column_name
        VARCHAR2(32) NOT NULL,
    prs_perslid_cols_visible /* V;Visible; I;Invisible */
        VARCHAR2(1)
        DEFAULT 'V'
        NOT NULL
        CONSTRAINT prs_c_perslid_cols_visible CHECK (prs_perslid_cols_visible IN ('V', 'I')),
    prs_perslid_cols_combine /* 0;False 1;True */
        NUMBER(1)
        DEFAULT 0
        NOT NULL
        CONSTRAINT prs_c_perslid_cols_combine CHECK (prs_perslid_cols_combine IN (0, 1)),
    CONSTRAINT prs_u_prs_perslid_cols1 UNIQUE(prs_perslid_tabs_key, prs_perslid_cols_column_name)
);
CREATE SEQUENCE prs_s_prs_perslid_cols_key MINVALUE 1;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57020
UPDATE ins_tab_discipline
   SET ins_discipline_kpnverplicht = 0
 WHERE ins_discipline_kpnverplicht IS NULL;

// VALIDATE gaf problemen, Melding 58853
ALTER TABLE ins_tab_discipline
    MODIFY ins_discipline_kpnverplicht NOT NULL ENABLE NOVALIDATE;

/////////////////////////////////////////////////////////////////////////////////////////// TWYN#57586
ALTER TABLE bgt_kostenrubriek
  ADD fin_btwtabelwaarde_key
      NUMBER(10)
      CONSTRAINT bgt_r_fin_btwtabelwaarde_key REFERENCES fin_btwtabelwaarde (fin_btwtabelwaarde_key);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57586
ALTER TABLE fac_version
  ADD fac_version_upgrading
      VARCHAR(64);

ALTER TABLE fac_version
  ADD fac_version_upgrading_date
      DATE;

/////////////////////////////////////////////////////////////////////////////////////////// PLAT#51673
CREATE OR REPLACE PROCEDURE tmp_insert (n IN VARCHAR2)
    AS
        stmt VARCHAR2 (1000);
    BEGIN
        stmt := 'INSERT INTO ' || n;

        EXECUTE IMMEDIATE stmt;
        DBMS_OUTPUT.put_line ('Successfully created: ' || n);
    EXCEPTION
        WHEN OTHERS
        THEN
            DBMS_OUTPUT.put_line ('message allready exists, not created: ' || n);
            NULL;
    END;
/

BEGIN
    tmp_insert('fac_message VALUES (''ALG_M999'',                     ''Kan onroerendgoed niet verwijderen. Er zijn nog objecten of lopende meldingen.'')');
    tmp_insert('fac_message VALUES (''FAC_I_FAC_GEBRUIKERSGROEP1'',   ''De combinatie gebruiker/groep is niet uniek.'')');
    tmp_insert('fac_message VALUES (''FAC_U_FAC_USRRAP'',             ''De rapportomschrijving moet uniek zijn'')');
    tmp_insert('fac_message VALUES (''FAC_C_MENU1'',                  ''De afwijkende URL of de menuoptie bij Standaardgegevens moet ingevuld zijn.'')');
    tmp_insert('fac_message VALUES (''BES_I_BES_SRTDEEL2'',           ''De combinatie artikelnummer, leverancier en groep is niet uniek.'')');
    tmp_insert('fac_message VALUES (''MLD_U_MLD_SRTKENMERK_UPPER'',   ''De omschrijving van kenmerksoort is niet uniek.'')');
    tmp_insert('fac_message VALUES (''MLD_U_MLD_STDMELDING'',         ''De vakgroep en omschrijving moeten uniek zijn.'')');
    tmp_insert('fac_message VALUES (''RES_M960'',                     ''U probeerde ruimte te reserveren met key='')');
    tmp_insert('fac_message VALUES (''RES_C_RES_RSV_RUIMTE_KORTING'', ''De korting moet gelijk of groter dan 0 zijn.'')');
    tmp_insert('fac_message VALUES (''RES_C_RES_RSV_ARTIKEL_AANTAL'', ''Het aantal artikelen is niet ingevuld.'')');
    tmp_insert('fac_message VALUES (''INS_U_INS_DEEL_UPPER2'',        ''Het veld ''''Identificatie'''' is niet uniek binnen de combinatie Locatie/Objectsoort.'')');
    tmp_insert('fac_message VALUES (''PRS_U_PRS_KOSTENPLAATS_UPPER'', ''De omschrijving kostenplaats is niet uniek binnen type.'')');
END;
/
DROP PROCEDURE tmp_insert;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57680
ALTER TABLE mld_melding
  ADD prs_afdeling_key NUMBER (10)
      CONSTRAINT mld_r_prs_afdeling_key
      REFERENCES prs_afdeling (prs_afdeling_key);

UPDATE fac_functie
   SET fac_functie_min_level = 15
 WHERE fac_functie_code = 'WEB_MLDUSE';

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57650
ALTER TABLE alg_kenmerk ADD alg_kenmerk_show_expr VARCHAR2(4000);
ALTER TABLE bes_kenmerk ADD bes_kenmerk_show_expr VARCHAR2(4000);
ALTER TABLE bez_kenmerk ADD bez_kenmerk_show_expr VARCHAR2(4000);
ALTER TABLE cnt_kenmerk ADD cnt_kenmerk_show_expr VARCHAR2(4000);
ALTER TABLE faq_kenmerk ADD faq_kenmerk_show_expr VARCHAR2(4000);
ALTER TABLE fin_kenmerk ADD fin_kenmerk_show_expr VARCHAR2(4000);
ALTER TABLE ins_kenmerk ADD ins_kenmerk_show_expr VARCHAR2(4000);
ALTER TABLE mld_kenmerk ADD mld_kenmerk_show_expr VARCHAR2(4000);
ALTER TABLE prs_kenmerk ADD prs_kenmerk_show_expr VARCHAR2(4000);
ALTER TABLE res_kenmerk ADD res_kenmerk_show_expr VARCHAR2(4000);
UPDATE alg_kenmerk SET alg_kenmerk_show_expr = alg_kenmerk_default, alg_kenmerk_default = '' WHERE alg_kenmerk_default LIKE '##SHOW##%';
UPDATE bes_kenmerk SET bes_kenmerk_show_expr = bes_kenmerk_default, bes_kenmerk_default = '' WHERE bes_kenmerk_default LIKE '##SHOW##%';
UPDATE bez_kenmerk SET bez_kenmerk_show_expr = bez_kenmerk_default, bez_kenmerk_default = '' WHERE bez_kenmerk_default LIKE '##SHOW##%';
UPDATE cnt_kenmerk SET cnt_kenmerk_show_expr = cnt_kenmerk_default, cnt_kenmerk_default = '' WHERE cnt_kenmerk_default LIKE '##SHOW##%';
UPDATE faq_kenmerk SET faq_kenmerk_show_expr = faq_kenmerk_default, faq_kenmerk_default = '' WHERE faq_kenmerk_default LIKE '##SHOW##%';
UPDATE fin_kenmerk SET fin_kenmerk_show_expr = fin_kenmerk_default, fin_kenmerk_default = '' WHERE fin_kenmerk_default LIKE '##SHOW##%';
UPDATE ins_kenmerk SET ins_kenmerk_show_expr = ins_kenmerk_default, ins_kenmerk_default = '' WHERE ins_kenmerk_default LIKE '##SHOW##%';
UPDATE mld_kenmerk SET mld_kenmerk_show_expr = mld_kenmerk_default, mld_kenmerk_default = '' WHERE mld_kenmerk_default LIKE '##SHOW##%';
UPDATE prs_kenmerk SET prs_kenmerk_show_expr = prs_kenmerk_default, prs_kenmerk_default = '' WHERE prs_kenmerk_default LIKE '##SHOW##%';
UPDATE res_kenmerk SET res_kenmerk_show_expr = res_kenmerk_default, res_kenmerk_default = '' WHERE res_kenmerk_default LIKE '##SHOW##%';

/////////////////////////////////////////////////////////////////////////////////////////// HPJI#57253
UPDATE prs_bedrijfadres SET prs_bedrijfadres_flexfiles = 0 WHERE prs_bedrijfadres_type = 'B';

/////////////////////////////////////////////////////////////////////////////////////////// FSN#58075
ALTER TABLE prs_bedrijfadres
    ADD prs_bedrijfadres_charset VARCHAR(32);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#58083
UPDATE fac_menuitems
   SET fac_menuitems_url = 'appl/mgt/alg_srtruimte.asp'
 WHERE fac_menuitems_label = 'lcl_menu_alg_ruimtefuncties';

/////////////////////////////////////////////////////////////////////////////////////////// FSN#57833
ALTER TABLE mld_typeopdr
  ADD mld_typeopdr_uren
      NUMBER(1)
      DEFAULT 1
      NOT NULL
      CONSTRAINT ins_c_mld_typeopdr_uren CHECK(mld_typeopdr_uren IN (0, 1, 2, 3, 4, 5));

ALTER TABLE mld_typeopdr
  ADD mld_typeopdr_materiaal
      NUMBER(1)
      DEFAULT 1
      NOT NULL
      CONSTRAINT ins_c_mld_typeopdr_materiaal CHECK(mld_typeopdr_materiaal IN (0, 1, 2));

ALTER TABLE mld_typeopdr
  ADD mld_typeopdr_totaal
      NUMBER(1)
      DEFAULT 1
      NOT NULL
      CONSTRAINT ins_c_mld_typeopdr_totaal CHECK(mld_typeopdr_totaal IN (0, 1));

ALTER TABLE mld_typeopdr
  ADD mld_typeopdr_factuur
      NUMBER(1)
      DEFAULT 3
      NOT NULL
      CONSTRAINT ins_c_mld_typeopdr_factuur CHECK(mld_typeopdr_factuur IN (0, 1, 2, 3, 4));

UPDATE mld_typeopdr
   SET mld_typeopdr_uren = 1,
       mld_typeopdr_materiaal = 1,
       mld_typeopdr_totaal = 1,
       mld_typeopdr_factuur = 3
 WHERE mld_typeopdr_matchtype = 0;

UPDATE mld_typeopdr
   SET mld_typeopdr_uren = 1,
       mld_typeopdr_materiaal = 1,
       mld_typeopdr_totaal = 1,
       mld_typeopdr_factuur = 1
 WHERE mld_typeopdr_matchtype = 1;

UPDATE mld_typeopdr
   SET mld_typeopdr_uren = 1,
       mld_typeopdr_materiaal = 1,
       mld_typeopdr_totaal = 1,
       mld_typeopdr_factuur = 3
 WHERE mld_typeopdr_matchtype = 2;

UPDATE mld_typeopdr
   SET mld_typeopdr_uren = 5,
       mld_typeopdr_materiaal = 0,
       mld_typeopdr_totaal = 0,
       mld_typeopdr_factuur = 0
 WHERE mld_typeopdr_matchtype = 3;

UPDATE mld_typeopdr
   SET mld_typeopdr_uren = 1,
       mld_typeopdr_materiaal = 0,
       mld_typeopdr_totaal = 0,
       mld_typeopdr_factuur = 0
 WHERE mld_typeopdr_matchtype = 4;

UPDATE mld_typeopdr
   SET mld_typeopdr_uren = 0,
       mld_typeopdr_materiaal = 2,
       mld_typeopdr_totaal = 0,
       mld_typeopdr_factuur = 3
 WHERE mld_typeopdr_matchtype = 5;

UPDATE mld_typeopdr
   SET mld_typeopdr_uren = 3,
       mld_typeopdr_materiaal = 1,
       mld_typeopdr_totaal = 1,
       mld_typeopdr_factuur = 0
 WHERE mld_typeopdr_matchtype = 6;

UPDATE mld_typeopdr
   SET mld_typeopdr_uren = 4,
       mld_typeopdr_materiaal = 1,
       mld_typeopdr_totaal = 1,
       mld_typeopdr_factuur = 0
 WHERE mld_typeopdr_matchtype = 7;

/////////////////////////////////////////////////////////////////////////////////////////// SVRZ#56758
BEGIN
  adm.tryalter('TABLE mld_stdmelding DROP CONSTRAINT mld_c_alg_onrgoed_objniveau');
  adm.tryalter('TABLE mld_stdmelding DROP CONSTRAINT mld_c_alg_onrgoed_obj_niveau');
END;
/

ALTER TABLE mld_stdmelding
 ADD CONSTRAINT mld_c_alg_onrgoed_obj_niveau CHECK (alg_onrgoed_obj_niveau IN ('A','L','G','V','R'));

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#55795
ALTER TABLE fac_locale_xsl MODIFY fac_locale_xsl_tekst VARCHAR2(4000);
ALTER TABLE fac_locale_xsl MODIFY fac_locale_xsl_cust VARCHAR2(4000);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#58238
ALTER TABLE ins_srtdiscipline
 DROP CONSTRAINT ins_c_ins_srtdiscipline_kk;

ALTER TABLE ins_srtdiscipline
  ADD CONSTRAINT ins_c_ins_srtdiscipline_kk CHECK(ins_srtdiscipline_kostenklant IN (0,1,2,4,5,6,8,9,10));

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57835
CREATE TABLE fac_bijlagen
(
    fac_bijlagen_key
        NUMBER(10)
        CONSTRAINT fac_k_fac_bijlagen_key PRIMARY KEY
,   fac_bijlagen_module
        VARCHAR2(3) NOT NULL
,    fac_bijlagen_refkey          NUMBER(10) NOT NULL
,    fac_bijlagen_kenmerk_key     NUMBER(10) NOT NULL
,   fac_bijlagen_disk_directory
        VARCHAR2(200) NOT NULL
,   fac_bijlagen_disk_filename
        VARCHAR2(200)
,   fac_bijlagen_filename
        VARCHAR2(200) NOT NULL
,   fac_bijlagen_description
        VARCHAR2(500)
,   fac_bijlagen_digest
        VARCHAR2(64)
,   fac_bijlagen_content_type
        VARCHAR2(50)
,   fac_bijlagen_file_size
        NUMBER(12) NOT NULL
,   fac_bijlagen_root_key
        NUMBER(10) NOT NULL
,   fac_bijlagen_aanmaak
        DATE DEFAULT SYSDATE
,   fac_bijlagen_verwijder
        DATE
,   CONSTRAINT fac_r_bijlagen_root_key
       FOREIGN KEY (fac_bijlagen_root_key) REFERENCES fac_bijlagen(fac_bijlagen_key)
);

CREATE SEQUENCE fac_s_fac_bijlagen_key MINVALUE 1;

CREATE INDEX fac_i_fac_bijlagen_root_key ON fac_bijlagen(fac_bijlagen_root_key);
CREATE INDEX fac_i_fac_bijlagen_refkey1 ON fac_bijlagen(fac_bijlagen_refkey);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#54611
INSERT INTO fac_usrrap (fac_usrrap_omschrijving, fac_usrrap_view_name,fac_usrrap_info, fac_functie_key)
 SELECT 'Gebruik statistieken 90 dagen','FAC_V_USAGE_STATISTICS','Basisrapport voor gebruik statistieken', fac_functie_key
   FROM fac_functie WHERE fac_functie_code='WEB_FACFAC'
    AND NOT EXISTS (SELECT '' FROM fac_usrrap WHERE UPPER(fac_usrrap_view_name)='FAC_V_USAGE_STATISTICS');

CREATE OR REPLACE VIEW fac_v_usage_statistics_all AS SELECT * FROM DUAL;
INSERT INTO fac_usrrap (fac_usrrap_omschrijving, fac_usrrap_view_name,fac_usrrap_info, fac_functie_key)
 SELECT 'Gebruik statistieken historisch','FAC_V_USAGE_STATISTICS_ALL','Historisch gebruik statistieken', fac_functie_key
   FROM fac_functie WHERE fac_functie_code='WEB_FACFAC'
    AND NOT EXISTS (SELECT '' FROM fac_usrrap WHERE UPPER(fac_usrrap_view_name)='FAC_V_USAGE_STATISTICS_ALL');

INSERT INTO fac_usrrap (fac_usrrap_omschrijving, fac_usrrap_view_name,fac_usrrap_info, fac_functie_key)
 SELECT 'Licentie bepaling','FAC_V_LCRAP_FE_VS_KEY_DATA','Achtergrond van de licentie bepaling', 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_LCRAP_FE_VS_KEY_DATA');

DEF_MENUITEM(2, 'lcl_menu_about', '', 'FAC', 'appl/fac/about.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_about', 'lcl_menu_fac_eigen_tabellen', 2);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57661
ALTER TABLE mld_workflowstep
    ADD mld_workflowstep_attachments NUMBER(3)
     DEFAULT 1 NOT NULL;
UPDATE mld_workflowstep
   SET mld_workflowstep_attachments = 2
 WHERE (SELECT fac_setting_pvalue FROM fac_setting WHERE fac_setting_name = 'fac_reserved_number1') = 1;
UPDATE fac_setting
   SET fac_setting_pvalue = NULL
 WHERE fac_setting_name = 'fac_reserved_number1';

/////////////////////////////////////////////////////////////////////////////////////////// BLCC#58290
ALTER TABLE cnt_disc_params
   ADD cnt_disc_params_fin NUMBER(1)
    DEFAULT 1 NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// VOLK#58421
ALTER TABLE bez_bezoekers ADD  bez_bezoekers_telefoon VARCHAR2(20);
ALTER TABLE bez_bezoekers ADD  bez_bezoekers_email VARCHAR2(200);
ALTER TABLE bez_bezoekers ADD  bez_bezoekers_kenteken VARCHAR2(10);
ALTER TABLE alg_gebouw ADD alg_gebouw_toon_telefoon NUMBER(3) DEFAULT(0) NOT NULL
      CONSTRAINT alg_c_alg_gebouw_toon_telf CHECK(alg_gebouw_toon_telefoon IN (0,1,2,3));   /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */
ALTER TABLE alg_gebouw ADD alg_gebouw_toon_email NUMBER(3) DEFAULT(0) NOT NULL
      CONSTRAINT alg_c_alg_gebouw_toon_mail CHECK(alg_gebouw_toon_email IN (0,1,2,3));      /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */
ALTER TABLE alg_gebouw ADD alg_gebouw_toon_kenteken NUMBER(3) DEFAULT(0) NOT NULL
      CONSTRAINT alg_c_alg_gebouw_toon_kent CHECK(alg_gebouw_toon_kenteken IN (0,1,2,3));   /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */
ALTER TABLE alg_terreinsector ADD alg_terreinsector_toon_telef NUMBER(3) DEFAULT(0) NOT NULL
      CONSTRAINT alg_c_alg_terreinsector_telf CHECK(alg_terreinsector_toon_telef IN (0,1,2,3));   /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */
ALTER TABLE alg_terreinsector ADD alg_terreinsector_toon_email NUMBER(3) DEFAULT(0) NOT NULL
      CONSTRAINT alg_c_alg_terreinsector_mail CHECK(alg_terreinsector_toon_email IN (0,1,2,3));   /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */
ALTER TABLE alg_terreinsector ADD alg_terreinsector_toon_kentk NUMBER(3) DEFAULT(0) NOT NULL
      CONSTRAINT alg_c_alg_terreinsector_kent CHECK(alg_terreinsector_toon_kentk IN (0,1,2,3));   /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */

/////////////////////////////////////////////////////////////////////////////////////////// AAXX#58183
ALTER TABLE fac_faq ADD fac_faq_wijzigdatum DATE;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#58547
ALTER TABLE prs_perslid
     ADD prs_perslid_opmerking VARCHAR2 (320);
UPDATE prs_perslid
  SET prs_perslid_opmerking = 'System account for Facilitor maintenance.'||CHR(13)||'For use by Facilitor support'
WHERE prs_perslid_oslogin = '_FACILITOR';
UPDATE prs_perslid
  SET prs_perslid_opmerking =  'System account for incoming email.'||CHR(13)||'For Facilitor internal use'
WHERE prs_perslid_oslogin = '_HMAIL';
UPDATE prs_perslid
  SET prs_perslid_opmerking =  'System account for outgoing email.'||CHR(13)||'For Facilitor internal use'
WHERE prs_perslid_oslogin = '_PUTORDERS';

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57059
ALTER TABLE prs_perslid ADD  prs_perslid_lcid NUMBER(4);

/////////////////////////////////////////////////////////////////////////////////////////// YKPN#58354
ALTER TABLE fac_imp_ins MODIFY prs_perslid_matchcode   VARCHAR2(4000);
ALTER TABLE fac_imp_ins MODIFY prs_perslid_matchwaarde VARCHAR2(4000);

DECLARE
    i NUMBER;
    s VARCHAR2(100);
BEGIN
    FOR i IN 1 .. 20
    LOOP
        s := 'ALTER TABLE fac_imp_ins MODIFY ins_kenmerkwaarde' || i || ' VARCHAR(4000)';
        EXECUTE IMMEDIATE (s);
    END LOOP;
END;
/

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#58249
CREATE TABLE res_ruimte_sync
(
    res_ruimte_key       NUMBER(10),
    res_ruimte_syncstate CLOB,
    res_ruimte_syncdate  DATE
);

INSERT INTO res_ruimte_sync
( SELECT res_ruimte_key
       , res_ruimte_syncstate
       , res_ruimte_syncdate
    FROM res_ruimte
   WHERE res_ruimte_syncstate IS NOT NULL
      OR res_ruimte_syncdate IS NOT NULL
);

ALTER TABLE res_ruimte DROP COLUMN res_ruimte_syncstate;
ALTER TABLE res_ruimte DROP COLUMN res_ruimte_syncdate;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#58588
DECLARE
    dbdate   DATE;
    dbupg    VARCHAR (100);
    dbver    VARCHAR (100);
    admusr   VARCHAR (100);
BEGIN
    -- Datum van de create
    SELECT adm_tracking_date, adm_tracking_osuser
      INTO dbdate, admusr
      FROM adm_tracking
     WHERE UPPER (adm_tracking_name) = 'FCLT.SRC';

    -- De oudste upgrade
    SELECT adm_tracking_name
      INTO dbupg
      FROM adm_tracking t_ext
     WHERE     adm_tracking_date = (SELECT MIN (adm_tracking_date)
                                     FROM adm_tracking t_in
                                    WHERE UPPER (adm_tracking_name) LIKE 'DB%TO%.SRC')
           AND UPPER (adm_tracking_name) LIKE 'DB%TO%.SRC';

    dbver := SUBSTR(dbupg, 1, INSTR(dbupg, 'to') - 1);
    INSERT INTO adm_tracking (adm_tracking_name, adm_tracking_revision, adm_tracking_date, adm_tracking_osuser)
         VALUES ('Database created', dbver, dbdate, admusr);
    DBMS_OUTPUT.PUT_LINE ('Database creation version ' || dbver ||
                          ' estimated at ' || to_char(dbdate, 'DD-MM-YYYY HH24:MI') ||
                          ' by ' || admusr);
EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
        DBMS_OUTPUT.PUT_LINE ('Old database, could not reliably determine creation date and version');
END;
/

/////////////////////////////////////////////////////////////////////////////////////////// MARX#38906
DEF_FAC_FUNCTIE3('WEB_BESFIN', 'BES',  5, 1,    0);  //    0
DEF_FAC_FUNCTIE3('WEB_CNTFIN', 'CNT',  5, 1,    0);  //    0
DEF_FAC_FUNCTIE3('WEB_MLDFIN', 'MLD',  5, 1,    0);  //    0

/////////////////////////////////////////////////////////////////////////////////////////// INLO#58631
ALTER TABLE cnt_disc_params ADD cnt_disc_params_leverancier
        NUMBER(1)
        DEFAULT 0
        NOT NULL;
ALTER TABLE cnt_disc_params ADD cnt_disc_params_uitvoerende
        NUMBER(1)
        DEFAULT 0
        NOT NULL;
ALTER TABLE cnt_disc_params ADD cnt_disc_params_huurder
        NUMBER(1)
        DEFAULT 0
        NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// RABO#58667
UPDATE ins_controlemode
   SET ins_controlemode_success = 0
 WHERE ins_controlemode_success IS NULL;

ALTER TABLE ins_controlemode
      MODIFY ins_controlemode_success NUMBER(1) DEFAULT 1 NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#58783
ALTER TABLE fac_version
    ADD fac_version_putorders_date DATE;
ALTER TABLE fac_version
    ADD fac_version_scheduler_date DATE;
ALTER TABLE fac_version
    ADD fac_version_notify_date DATE;

/////////////////////////////////////////////////////////////////////////////////////////// NYBU#57569
ALTER TABLE res_kenmerk
  ADD res_discipline_key
      NUMBER(10)
  CONSTRAINT  res_c_res_kenmerk_discipline REFERENCES ins_tab_discipline(ins_discipline_key);

ALTER TABLE res_kenmerk
 DROP CONSTRAINT res_c_res_kenmerk_niveau2;

ALTER TABLE res_kenmerk
  ADD CONSTRAINT res_c_res_kenmerk_niveau2 CHECK(res_kenmerk_niveau IN ('A', 'D', 'C')); /* Activiteit/Discipline/Catatering */

UPDATE res_kenmerk
   SET res_kenmerk_niveau = 'C'
 WHERE res_kenmerk_niveau = 'D';

ALTER TABLE res_kenmerk
 DROP CONSTRAINT res_u_res_kenmerk DROP INDEX;

ALTER TABLE res_kenmerk
  ADD CONSTRAINT res_u_res_kenmerk UNIQUE(res_activiteit_key, res_discipline_key, res_artikel_key, res_srtkenmerk_key, res_kenmerk_groep, res_kenmerk_verwijder);


/////////////////////////////////////////////////////////////////////////////////////////// FCLT#58793
UPDATE cnt_typecontract SET cnt_typecontract_omschrijving='lcl_cnt_typecontract1' WHERE cnt_typecontract_key=1;
UPDATE cnt_typecontract SET cnt_typecontract_omschrijving='lcl_cnt_typecontract3' WHERE cnt_typecontract_key=3;
UPDATE cnt_typecontract SET cnt_typecontract_omschrijving='lcl_cnt_typecontract4' WHERE cnt_typecontract_key=4;
UPDATE cnt_typecontract SET cnt_typecontract_omschrijving='lcl_cnt_typecontract5' WHERE cnt_typecontract_key=5;
UPDATE cnt_typecontract SET cnt_typecontract_omschrijving='lcl_cnt_typecontract6' WHERE cnt_typecontract_key=6;

/////////////////////////////////////////////////////////////////////////////////////////// STAM#58066
ALTER TABLE mld_stdmelding
 DROP CONSTRAINT mld_c_alg_org_objniveau;

ALTER TABLE mld_stdmelding
  ADD CONSTRAINT mld_c_alg_org_objniveau CHECK (alg_org_obj_niveau IN (-1,0,1,2,3,4,5,8,9));

UPDATE mld_stdmelding
   SET mld_stdmelding_prsafdobj = 1;

--/////////////////////////////////////////////////////////////////////////////////////////// FCLT#53579
DEF_MENUENTRY(2, 99160, 'lcl_menu_fac_refresh_accept'  , '', 'FAC', 'appl/fac/fac_refresh_accept.asp', 0, 0, 'WEB_FACFAC');

/////////////////////////////////////////////////////////////////////////////////////////// XXXX#nnnnn

///////////////////////////////////////////////////////////////////////////////////////////

REGISTERONCE('$Id$')

#include "epilogue.inc"
