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

COMMIT;
SET DEFINE OFF

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#89720
BEGIN
  adm.trydrop('INDEX prs_i_prs_bedrijfadres2');
END;
/
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres2 ON prs_bedrijfadres(prs_bedrijf_key, prs_bedrijfadres_type, mld_typeopdr_key, ins_discipline_key, alg_locatie_key, alg_district_key, prs_bedrijf_key2, prs_bedrijfadres_startdatum);
UPDATE fac_message
   SET fac_message_text = 'Combinatie bedrijf, discipline, locatie, opdrachttype, adrestype is niet uniek'
 WHERE fac_message_code = 'PRS_I_PRS_BEDRIJFADRES2';

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#90099
BEGIN
  adm.tryalter('TABLE prs_bedrijf DROP CONSTRAINT prs_c_prs_bedrijf_intern');
END;
/
UPDATE prs_bedrijf SET prs_bedrijf_intern = NULL WHERE prs_bedrijf_intern = 0;
ALTER TABLE prs_bedrijf
  ADD CONSTRAINT prs_c_prs_bedrijf_intern CHECK(prs_bedrijf_intern IS NULL OR prs_bedrijf_intern IN (1,2));

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#89903
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres_srtnoti1 ON prs_bedrijfadres_srtnoti(prs_bedrijfadres_key, fac_srtnotificatie_key);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#90097
UPDATE alg_gebouw
   SET mld_vrije_dagen_id = NULL
 WHERE mld_vrije_dagen_id = '-1';

/////////////////////////////////////////////////////////////////////////////////////////// MARX#90181
ALTER TABLE prs_perslid
  ADD prs_perslid_errorhandling -- 0=200 on API1 error, 1=400 on error
        NUMBER (10)
        DEFAULT 1
        NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#88579
DECLARE
    altersql   VARCHAR (4000);
BEGIN
    FOR curs IN (  SELECT c.*
                     FROM user_tab_columns c JOIN user_tables t ON t.table_name = c.table_name
                    WHERE char_used = 'B'
                 ORDER BY c.table_name, c.column_name)
    LOOP
        -- FAC_IMP_OPROGNOSE z’n kolom ELEMENT is een enigszins reserved woord lijkt. Daarom quotes
        altersql :=
            'alter table ' || curs.table_name || ' MODIFY "' || curs.column_name || '" VARCHAR (' || curs.data_length || ' CHAR)';
        DBMS_OUTPUT.PUT_LINE (altersql);

        EXECUTE IMMEDIATE altersql;
    END LOOP;
END;
/

DROP INDEX INS_I_INS_KENMERK_KENMERK2;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#90179
ALTER TABLE fac_groep MODIFY (fac_groep_omschrijving VARCHAR2(60), fac_groep_upper VARCHAR2(60));

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#89765
ALTER PACKAGE fac COMPILE; // anders (mogelijk nog) invalid en lukt het volgende niet
ALTER PACKAGE fac COMPILE BODY;

UPDATE mld_melding
   SET mld_melding_actiecode = mld_melding_actiecode - 128 -- bit 1, 2 en 256 toegestaan
 WHERE mld_melding_status = 5
   AND BITAND(mld_melding_actiecode, 128) = 128;

/////////////////////////////////////////////////////////////////////////////////////////// SGGR#81078
ALTER TABLE ins_srtdeel ADD ins_srtdeel_statestepsize NUMBER (6, 3);
ALTER TABLE ins_srtdeel ADD ins_srtdeel_stateanchor NUMBER (6, 3);

ALTER TABLE ins_deel_state_history ADD ins_deel_state_value NUMBER(16,6);

CREATE VIEW ins_v_udr_sensordata AS SELECT * FROM DUAL;
DEF_RAPPORT('BASIS', 'WEB_UDRMAN', 32, 'ins_v_udr_sensordata',   'UDR: Actuele Sensordata',          'Basisrapport voor actuele data van sensoren',
                                                                 'UDR: Actual Sensor data',          'Basic report current data from sensors')

/////////////////////////////////////////////////////////////////////////////////////////// PROR#89199
ALTER TABLE mld_stdmelding ADD mld_stdmelding_objects_allowed NUMBER(1) DEFAULT(2) NOT NULL;
ALTER TABLE fac_imp_mld ADD mld_stdmelding_objects_allowed NUMBER(1);

/////////////////////////////////////////////////////////////////////////////////////////// DLLG#90075
ALTER TABLE alg_locatie ADD alg_locatie_timezone VARCHAR2(40);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#88619
-- cascadeert vanzelf door naar fac_menu
DELETE FROM fac_menuitems
      WHERE fac_menuitems_label LIKE 'lcl_menu_____kenmerkdomeinen';

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

/////////////////////////////////////////////////////////////////////////////////////////// LOGC#90445
ALTER TABLE mld_melding_tag ADD mld_melding_tag_actief NUMBER(2) DEFAULT 1 NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79801
ALTER TABLE fac_imp_onrgoed1
  ADD ( alg_gebouw_adres VARCHAR2(50)
      , alg_gebouw_postcode VARCHAR2(12)
);

/////////////////////////////////////////////////////////////////////////////////////////// MARX#89543
DROP INDEX mld_i_mld_opdr_materiaal1 ;
CREATE INDEX mld_i_mld_opdr_materiaal1 ON mld_opdr_materiaal(mld_opdr_key);

/////////////////////////////////////////////////////////////////////////////////////////// UWVA#88793
ALTER TABLE res_srtartikel_onrgoed ADD res_srtartikel_og_ingangsdatum DATE;
ALTER TABLE res_srtartikel_onrgoed ADD res_srtartikel_og_vervaldatum DATE;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#84701
ALTER TABLE prs_bedrijfadres
        ADD prs_bedrijfadres_template VARCHAR(128)
        DEFAULT 'generic'
        NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#55847
ALTER TABLE fac_notificatie
        ADD fac_notificatie_email_cc VARCHAR(4000);
ALTER TABLE fac_notificatie
        ADD fac_notificatie_email_bcc VARCHAR(4000);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#87173
ALTER TABLE fac_imp_inspectie ADD ctr_discipline_omschrijving VARCHAR2(60);

/////////////////////////////////////////////////////////////////////////////////////////// MARX#90312
ALTER TABLE fac_email_setting
        ADD fac_email_setting_ai_prompt VARCHAR2(4000);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000

REGISTERONCE('$Id$')

#include "epilogue.inc"
