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

COMMIT;


/////////////////////////////////////////////////////////////////////////////////////////// FCLT#58677
ALTER TABLE fac_activiteit
  ADD (fac_activiteit_eenheid  -- 1=dagelijks, 2=wekelijk, 3=maandelijk, 4=jaarlijks, null=eenmalig. Niet beschikbaar: uurlijks(0)
         NUMBER(1)
         DEFAULT(1)
         CONSTRAINT fac_c_fac_activiteit_eenheid CHECK (fac_activiteit_eenheid IN (1,2,3,4) OR fac_activiteit_eenheid IS NULL),
       fac_activiteit_bits  -- Details eenheid (mag best null zijn).
         NUMBER(4),
       fac_activiteit_periode
         NUMBER(6)
      );

UPDATE fac_activiteit
   SET fac_activiteit_eenheid = CASE
                                WHEN fac_activiteit_aantal = 1
                                THEN NULL
                                ELSE 1                              -- Dagelijks (is al default).
                                END,
       fac_activiteit_bits = 0,
       fac_activiteit_periode = CASE
                                WHEN fac_activiteit_aantal = 1 OR fac_activiteit_interval IS NULL
                                THEN NULL
                                WHEN fac_activiteit_interval/24 <= 1
                                THEN 1
                                ELSE ROUND(fac_activiteit_interval/24)
                                END;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#58944
ALTER TABLE mld_opdr
  ADD (mld_opdr_teverzenden_datum
        DATE
        DEFAULT NULL);

/////////////////////////////////////////////////////////////////////////////////////////// SUTF#59250
DELETE FROM fac_message WHERE fac_message_code = 'RES_M960';

/////////////////////////////////////////////////////////////////////////////////////////// HSLE#58355
ALTER TABLE fac_menu ADD fac_menu_message
      VARCHAR2(1024);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57152
ALTER TABLE fac_menu ADD fac_menu_color VARCHAR2 (60 CHAR);
ALTER TABLE mld_stdmelding ADD mld_stdmelding_color VARCHAR2 (60 CHAR);
ALTER TABLE ins_srtdiscipline ADD ins_srtdiscipline_color VARCHAR2 (60 CHAR);
ALTER TABLE ins_tab_discipline ADD ins_discipline_color VARCHAR2 (60 CHAR);


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

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#59418
// De autorisatie "WEB_FINUSE" hernoemen naar "WEB_EXTFIN".
// Dit is in plaats van: DEF_FAC_FUNCTIE3('WEB_EXTFIN', 'FIN', 11, 0,    1);  //    1
UPDATE fac_functie
   SET fac_functie_min_level = 11,
       fac_functie_code = 'WEB_EXTFIN',
       fac_functie_omschrijving = 'lcl_WEB_EXTFIN',
       fac_functie_info = 'lcl_WEB_EXTFIN_info'
 WHERE fac_functie_code = 'WEB_FINUSE';
DEF_FAC_FUNCTIE3('WEB_EXTORD', 'MLD', 11, 1,    1);  //    1
DEF_FAC_FUNCTIE3('WEB_EXTREL', 'PRS', 11, 0,    1);  //    1

DEF_MENUITEM(1, 'lcl_menu_mld_bo_afm_opdr_ext'  , '', 'MLD', 'appl/mld/opdr_search.asp?urole=b2', 0, 0, 'WEB_EXTORD', 'R', '1', '');
MENU_INS_AFTER('lcl_menu_mld_bo_afm_opdr_ext', 'lcl_menu_mld_bo_afmeldenopdra', 2);
DEF_MENUITEM(3, 'lcl_mobile_opdrachten_ext'     , '', 'MLD', 'appl/pda/orders_list.asp', 0, 0, 'WEB_EXTORD', 'R', '1',            'fa-briefcase');
MENU_INS_AFTER('lcl_mobile_opdrachten_ext', 'lcl_mobile_opdrachten1', 2);

// WEB_FINUSE is vervangen door WEBEXTFIN voor menuitem DEF_MENUITEM(1, 'lcl_menu_fin_fe'               , '', 'FIN', 'appl/fin/fin_factuur.asp?urole=fe', 0, 0, 'WEB_EXTFIN', 'W', '1', '');  /* fe = leverancier */
UPDATE fac_menuitems
   SET fac_functie_key = (SELECT fac_functie_key
                            FROM fac_functie
                           WHERE UPPER (fac_functie_code) = 'WEB_EXTFIN')
 WHERE fac_menuitems_label = 'lcl_menu_fin_fe';
// WEB_FINUSE is vervangen door WEBEXTFIN voor menuitem DEF_MENUITEM(1, 'lcl_menu_fin_fe_overz'         , '', 'FIN', 'appl/fin/fin_search.asp', 0, 0, 'WEB_EXTFIN', 'R', '1', '');            /* fe = leverancier */
UPDATE fac_menuitems
   SET fac_functie_key = (SELECT fac_functie_key
                            FROM fac_functie
                           WHERE UPPER (fac_functie_code) = 'WEB_EXTFIN')
 WHERE fac_menuitems_label = 'lcl_menu_fin_fe_overz';


DECLARE
    lnew_groep                NUMBER (1);
    lfirst_prs                NUMBER (1);
    lfac_groep_key            fac_groep.fac_groep_key%TYPE;
    lnew_fac_groep_key        fac_groep.fac_groep_key%TYPE;
    lins_discipline_key       fac_groeprechten.ins_discipline_key%TYPE;
    lprs_perslid_key          prs_perslid.prs_perslid_key%TYPE;
    -- Interne personen die geen contactpersoon van een extern bedrijf zijn maar die wel 'WEB_ORDBO2' rechten hebben (Interne uitvoerders).
    CURSOR c_pers_intern_rechten IS
        -- Welke personen zijn geen contactpersoon van een extern bedrijf maar hebben wel 'WEB_ORDBO2' rechten (Interne uitvoerders).
        -- Deze moeten naar de nieuwe fac_groep worden gekopieerd.
        -- Welke fac_groeprechten zijn het die geen contactpersoon zijn van een extern bedrijf maar wel 'WEB_ORDBO2' rechten hebben.
        -- Voor elke groep kunnen verschillende disciplines zijn ingesteld.
        SELECT DISTINCT excl.fac_groeprechten_key,
               excl.ins_discipline_key,
               excl.fac_groep_key,
               excl.fac_functie_key,
               excl.fac_gebruiker_alg_level_read,
               excl.fac_gebruiker_alg_level_write,
               excl.fac_gebruiker_prs_level_read,
               excl.fac_gebruiker_prs_level_write,
               excl.prs_perslid_key,
               excl.fac_groep_omschrijving
          FROM (SELECT DISTINCT fgg.fac_groep_key,
                                fg.fac_groep_omschrijving,
                                f.fac_functie_key,
                                f.fac_functie_code,
                                fgr.fac_groeprechten_key,
                                fgr.ins_discipline_key,
                                fgr.fac_gebruiker_alg_level_read,
                                fgr.fac_gebruiker_alg_level_write,
                                fgr.fac_gebruiker_prs_level_read,
                                fgr.fac_gebruiker_prs_level_write,
                                fgg.prs_perslid_key
                  FROM fac_gebruikersgroep fgg,
                       fac_groep fg,
                       fac_groeprechten fgr,
                       fac_functie f
                 WHERE fg.fac_groep_key = fgg.fac_groep_key
                   AND fgr.fac_groep_key = fg.fac_groep_key
                   AND fgr.fac_functie_key = f.fac_functie_key
                   AND UPPER(fac_functie_code) = 'WEB_ORDBO2'
                   AND EXISTS
                           (SELECT 1
                              FROM prs_contactpersoon cp
                             WHERE cp.prs_perslid_key = fgg.prs_perslid_key)) inc,
               (SELECT DISTINCT fgg.fac_groep_key,
                                fg.fac_groep_omschrijving,
                                f.fac_functie_key,
                                f.fac_functie_code,
                                fgr.fac_groeprechten_key,
                                fgr.ins_discipline_key,
                                fgr.fac_gebruiker_alg_level_read,
                                fgr.fac_gebruiker_alg_level_write,
                                fgr.fac_gebruiker_prs_level_read,
                                fgr.fac_gebruiker_prs_level_write,
                                fgg.prs_perslid_key
                  FROM fac_gebruikersgroep fgg,
                       fac_groep fg,
                       fac_groeprechten fgr,
                       fac_functie f
                 WHERE fg.fac_groep_key = fgg.fac_groep_key
                   AND fgr.fac_groep_key = fg.fac_groep_key
                   AND fgr.fac_functie_key = f.fac_functie_key
                   AND UPPER(fac_functie_code) = 'WEB_ORDBO2'
                   AND NOT EXISTS
                           (SELECT 1
                              FROM prs_contactpersoon cp
                             WHERE fgg.prs_perslid_key = cp.prs_perslid_key)) excl
         WHERE inc.fac_groep_key = excl.fac_groep_key
        ORDER BY excl.fac_groep_key,
                 excl.prs_perslid_key,
                 excl.ins_discipline_key,
                 excl.fac_groeprechten_key;
BEGIN
    lfac_groep_key := 0;
    lprs_perslid_key := 0;
    lins_discipline_key := 0;
    lfirst_prs := 0;
    -- Eerst interne uitvoerders die GEEN contactpersoon zijn van een extern bedrijf in een nieuwe groep gooien.
    -- Anders hebben ze straks te weinig rechten.
    FOR f_pers_intern_rechten IN c_pers_intern_rechten
    LOOP
        lnew_groep := 0;
        IF lfac_groep_key != f_pers_intern_rechten.fac_groep_key
        THEN
            -- Nieuwe groep aanmaken (omschrijving + BO2)
            INSERT INTO fac_groep (fac_groep_omschrijving,
                                   fac_groep_opmerking)
                           VALUES (TRIM(SUBSTR(f_pers_intern_rechten.fac_groep_omschrijving, 1, 23)) || ' ORDBO2',
                                   'Interne personen die geen contactpersoon van een extern bedrijf zijn maar die wel WEB_ORDBO2 rechten hebben (Interne uitvoerders).')
            RETURNING fac_groep_key INTO lnew_fac_groep_key;
            lfac_groep_key := f_pers_intern_rechten.fac_groep_key;
            lnew_groep := 1;
        END IF;

        IF lnew_groep = 1 OR lprs_perslid_key != f_pers_intern_rechten.prs_perslid_key
        THEN
            -- Personen aan de gebruikersgroep toevoegen.
            INSERT INTO fac_gebruikersgroep (fac_groep_key,
                                             prs_perslid_key)
                                     VALUES (lnew_fac_groep_key,
                                             f_pers_intern_rechten.prs_perslid_key);
            lprs_perslid_key := f_pers_intern_rechten.prs_perslid_key;
            IF lnew_groep = 1
            THEN
                lfirst_prs := 1;
            ELSE
                lfirst_prs := 0;
            END IF;
        END IF;

        -- Voor de tweede prs_perslid niet opnieuw alle disciplines toevoegen anders krijg je ze dubbel erin.
        IF lfirst_prs = 1 AND (lnew_groep = 1 OR lins_discipline_key != f_pers_intern_rechten.ins_discipline_key)
        THEN
            -- Groepsrechten toevoegen.
            INSERT INTO fac_groeprechten (fac_groep_key,
                                          fac_functie_key,
                                          ins_discipline_key,
                                          fac_gebruiker_alg_level_read,
                                          fac_gebruiker_alg_level_write,
                                          fac_gebruiker_prs_level_read,
                                          fac_gebruiker_prs_level_write)
                                  VALUES (lnew_fac_groep_key,
                                          f_pers_intern_rechten.fac_functie_key,
                                          f_pers_intern_rechten.ins_discipline_key,
                                          f_pers_intern_rechten.fac_gebruiker_alg_level_read,
                                          f_pers_intern_rechten.fac_gebruiker_alg_level_write,
                                          f_pers_intern_rechten.fac_gebruiker_prs_level_read,
                                          f_pers_intern_rechten.fac_gebruiker_prs_level_write);
            lins_discipline_key := f_pers_intern_rechten.ins_discipline_key;
        END IF;

    END LOOP;

    -- Omgooien groepen van 'WEB_ORDBO2' naar 'WEB_EXTORD'
    -- De EXIST (contactpersoon) zorgt ervoor dat de net aangemaakte groep met de rechten NIET van 'WEB_ORDBO2' naar 'WEB_EXTORD' worden omgegooid.
    -- In de nieuwe groep zitten namelijk alleen interne uitvoerders die GEEN contactpersoon zijn van een extern bedrijf.
    UPDATE fac_groeprechten
       SET fac_functie_key =
               (SELECT fac_functie_key
                  FROM fac_functie
                 WHERE fac_functie_code LIKE 'WEB_EXTORD')
     WHERE fac_functie_key = (SELECT fac_functie_key
                                FROM fac_functie
                               WHERE fac_functie_code LIKE 'WEB_ORDBO2')
       AND fac_groep_key IN (SELECT DISTINCT fgg.fac_groep_key
                               FROM fac_gebruikersgroep fgg,
                                    fac_groep fg,
                                    fac_groeprechten fgr,
                                    fac_functie f
                              WHERE fg.fac_groep_key = fgg.fac_groep_key
                                AND fgr.fac_groep_key = fg.fac_groep_key
                                AND fgr.fac_functie_key = f.fac_functie_key
                                AND UPPER(fac_functie_code) = 'WEB_ORDBO2'
                                AND EXISTS
                                        (SELECT 1
                                           FROM prs_contactpersoon cp
                                          WHERE cp.prs_perslid_key = fgg.prs_perslid_key));
END;
/


/////////////////////////////////////////////////////////////////////////////////////////// FCLT#59433
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE prs_perslid
   SET prs_perslid_flags = prs_perslid_flags + 32
 WHERE prs_perslid_oslogin IN ('_FACILITOR','_HMAIL','_PUTORDERS');

DELETE FROM fac_message
  WHERE fac_message_code BETWEEN 'PRS_M183' AND 'PRS_M199';

INSERT INTO fac_message VALUES ('PRS_M183', 'Login van deze gebruiker kan niet gewijzigd worden');

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#57667
ALTER TABLE bes_kenmerk ADD bes_kenmerk_omschrijving VARCHAR2(50);
ALTER TABLE cnt_kenmerk ADD cnt_kenmerk_omschrijving VARCHAR2(50);
ALTER TABLE ins_kenmerk ADD ins_kenmerk_omschrijving VARCHAR2(50);
ALTER TABLE mld_kenmerk ADD mld_kenmerk_omschrijving VARCHAR2(50);
ALTER TABLE res_kenmerk ADD res_kenmerk_omschrijving VARCHAR2(50);

ALTER TABLE bes_kenmerk DROP CONSTRAINT bes_u_bes_kenmerk DROP INDEX;
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_omschrijving, bes_kenmerk_groep, 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_omschrijving, cnt_kenmerk_groep, 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_omschrijving, ins_kenmerk_groep, 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_omschrijving, mld_kenmerk_groep, mld_kenmerk_verwijder);

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_omschrijving, res_kenmerk_groep, res_kenmerk_verwijder);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#59896
ALTER TABLE alg_locatie ADD alg_locatie_image VARCHAR2(255);
ALTER TABLE alg_gebouw ADD alg_gebouw_image VARCHAR2(255);
ALTER TABLE alg_terreinsector ADD alg_terreinsector_image VARCHAR2(255);
ALTER TABLE ins_deel ADD ins_deel_image VARCHAR2(255);
ALTER TABLE ins_srtdiscipline ADD ins_srtdiscipline_image VARCHAR2(255);
ALTER TABLE ins_tab_discipline ADD ins_discipline_image VARCHAR2(255);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#59840
ALTER TABLE mld_opdr MODIFY mld_opdr_opmerking_fiat VARCHAR2(4000);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#61237
DELETE FROM fac_usrrap
 WHERE LOWER(fac_usrrap_view_name) = 'fac_v_lcrap_key_stats';

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#36763
CREATE OR REPLACE PROCEDURE add_import_translation(imp_code VARCHAR2, oms_en VARCHAR2)
AS
    imp_key NUMBER(10);
BEGIN
    dbms_output.put_line('Translate: ' || imp_code);
    BEGIN
        SELECT fac_import_app_key
          INTO imp_key
          FROM fac_import_app
         WHERE UPPER(fac_import_app_code) = UPPER(imp_code)
           AND ins_discipline_key IS NULL
           AND fac_import_app_prefix IS NULL;

        INSERT INTO fac_locale (fac_locale_lang, fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst)
        VALUES ('EN', imp_key, 'FAC_IMPORT_APP_OMS', oms_en);
    EXCEPTION
        WHEN NO_DATA_FOUND THEN dbms_output.put_line('-->Not found');
        WHEN OTHERS THEN dbms_output.put_line(sqlerrm);
        -- Sla maar over bij too_many_rows of no_data_found.
    END;
END;
/
BEGIN
    add_import_translation('ONRGOED1',            'FIP: 1-Add districts up to buildings');
    add_import_translation('ONRGOED1_DEL',        'FIP: 1-Replace from districts');
    add_import_translation('ONRGOED2',            'FIP: 2-Add floors and rooms');
    add_import_translation('ONRGOED2_DEL',        'FIP: 2-Replace from floors');
    add_import_translation('ORGANISATIE',         'FIP: 3-Add organization structure');
    add_import_translation('ORGANISATIE_DEL',     'FIP: 3-Replace from organization structure');
    add_import_translation('PERSLID',             'FIP: 4-Add persons');
    add_import_translation('PERSLID_DEL',         'FIP: 4-Replace from persons');
    add_import_translation('MLD',                 'FIP: 5-Add service desk');
    add_import_translation('MLD_DEL',             'FIP: 5-Replace service desk');
    add_import_translation('INS',                 'FIP: 6-Add objects');
    add_import_translation('FAC_GROEP',           'FIP: 6-Add user groups');
    add_import_translation('FAC_GROEP_DEL',       'FIP: 7b-Replace user groups');
    add_import_translation('FAC_VAKGROEP_DEL',    'FIP: 7c-Replace diciplines of all user groups');
    add_import_translation('FAC_GEBRUIKERSGROEP', 'FIP: 8-Assign user groups');
    add_import_translation('INSPECTIE',           'FIP: 9-Add inspection definitions');
    add_import_translation('RES_ARTIKEL_SYNC',    'Reservation: Download consumables');
    add_import_translation('EXT_BEDRIJF',         'FIP: Add external companies');
    add_import_translation('FACTUUR',             'Standard import of invoice file from supplier(s)');
    add_import_translation('CATALOGUS',           'Replacement(!) purchase order catalogs (generic)');
    add_import_translation('MENU',                'TRANSPORT: Menu structure');
    add_import_translation('FLEX',                'TRANSPORT: Flex properties');
    add_import_translation('USRDATA',             'FIP: Own tables');
    add_import_translation('SLE',                 'FIP: Keys');
    add_import_translation('FAQ',                 'FIP: Knowledge base');
    add_import_translation('CNT',                 'FIP: Contracts');
    add_import_translation('MLDAFMTXT',           'FIP: Standard texts');
    add_import_translation('BEDRIJFADRES',        'FIP: Add company technical addresses');
    add_import_translation('TRANSLATION',         'Import of FACILITOR translation file');
    add_import_translation('KPN',                 'FIP: Create/Update cost centres');
END;
/
DROP PROCEDURE add_import_translation;

// In fac_ini.src staan tegenwoordig de viewnamen in lowercase. Doe dat hier ook
// Pas echter op met XSL-styled rapportages: daar wordt soms in de XSL naar de viewnaam (in uppercase) verwezen
// Die rapportages dus niet aanpassen
UPDATE fac_usrrap
   SET fac_usrrap_view_name = LOWER(fac_usrrap_view_name),
       fac_usrrap_omschrijving = TRIM(fac_usrrap_omschrijving)
 WHERE BITAND(fac_usrrap_functie, 1) = 0;
UPDATE fac_usrrap
    SET fac_usrrap_info = 'Exporteren van flexkenmerken voor RES (per activiteit)'
  WHERE fac_usrrap_info = 'Exporteren van flexkenmerken voor RES (per activiteit';

CREATE OR REPLACE PROCEDURE add_usrrap_translation(oms_nl VARCHAR2, oms_en VARCHAR2, info_en VARCHAR2)
AS
    rap_key   NUMBER(10);
    viewname  fac_usrrap.fac_usrrap_view_name%TYPE;
BEGIN
    BEGIN
        SELECT fac_usrrap_key
             , fac_usrrap_view_name
          INTO rap_key
             , viewname
          FROM fac_usrrap
         WHERE TRIM(fac_usrrap_omschrijving) = oms_nl;

        INSERT INTO fac_locale ( fac_locale_lang, fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst)
        VALUES ('EN', rap_key, 'FAC_USRRAP_OMSCHRIJVING', oms_en);
        INSERT INTO fac_locale ( fac_locale_lang, fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst)
        VALUES ('EN', rap_key, 'FAC_USRRAP_INFO', info_en);
    EXCEPTION
        WHEN NO_DATA_FOUND    THEN dbms_output.put_line('Rapport ['||oms_nl||'] niet gevonden.');
        WHEN DUP_VAL_ON_INDEX THEN dbms_output.put_line('Er bestaat al een engelse vertaling voor deze kolom in view ['||viewname||'].');
        WHEN OTHERS           THEN dbms_output.put_line('View: ['||viewname||'] '||sqlerrm);
    END;
END;
/

BEGIN
    add_usrrap_translation('TRANSPORT: Eigen tabellen',              'TRANSPORT: Own tables',                     'Export of your own table(s)');
    add_usrrap_translation('TRANSPORT: Menustructuur',               'TRANSPORT: Menu structure',                 'Export the entire menu structure');
    add_usrrap_translation('TRANSPORT: Flexkenmerken Reserveringen', 'TRANSPORT: Flex properties Reservations',   'Export of flex properties for RES (per activity)');
    add_usrrap_translation('TRANSPORT: Flexkenmerken Bestellingen',  'TRANSPORT: Flex properties Purchase order', 'Export of flex properties for BES (per catalog/group/article)');
    add_usrrap_translation('TRANSPORT: Flexkenmerken Meldingen',     'TRANSPORT: Flex properties Calls',          'Export of flex properties for MLD (per department (type)/report/order type)');
    add_usrrap_translation('TRANSPORT: Flexkenmerken Contracten',    'TRANSPORT: Flex properties Contracts',      'Export of flex properties for CNT (per contract type)');
    add_usrrap_translation('Gebruik statistieken 90 dagen',          'Use statistics for 90 days',                'Basic report for usage statistics');
    add_usrrap_translation('Gebruik statistieken historisch',        'Use statistics historically',               'Historical usage statistics');
    add_usrrap_translation('Licentie bepaling',                      'License provision',                         'Background to the license provision');
    add_usrrap_translation('TRANSPORT: Flexkenmerken Objecten',      'TRANSPORT: Flex properties Objects',        'Export of flex properties for INS (per discipline/group/object type or task type)');
    add_usrrap_translation('BEHEER: Audit fail',                     'ADMIN: Audit fail',                         'Report audit fail');
    add_usrrap_translation('BEHEER: Personen in groepen',            'ADMIN: People in groups',                   'Who is in which groups. DO NOT USE WITHOUT FILTERS!');
    add_usrrap_translation('BEHEER: Rechten van groepen',            'ADMIN: Rights of groups',                   'What rights does a group and the like have. DO NOT USE WITHOUT FILTERS!');
    add_usrrap_translation('BEHEER: Autorisatiegroeprechten',        'ADMIN: Authorization group rights',         'Which groups have which rights?');
    add_usrrap_translation('TRANSPORT: Gebruikersgroepen',           'TRANSPORT: User groups',                    'Export for import Inventory User groups');
    add_usrrap_translation('KTO.1: Algemeen resultaten overzicht',   'CSS.1: General results overview',           'Display of CSS results with the help of various selection options');
    add_usrrap_translation('KTO.2: KTO Response - algemeen',         'CSS.2: CSS Response - general',             'Response numbers, percentages and times per year/month');
    add_usrrap_translation('KTO.3: KTO Response - regio/district',   'CSS.3: CSS Response - region/district',     'Response numbers, percentages and times per year/month and region/distict');
    add_usrrap_translation('KTO.4: KTO Response - locatie',          'CSS.4: CSS Response location',              'Response numbers, percentages and times per year/month and location');
    add_usrrap_translation('KTO.5: KTO Response - discipline',       'CSS.5: CSS Response - discipline',          'Response numbers, percentages and times per year/month and discipline');
    add_usrrap_translation('INFOBORD: Actuele reserveringen',        'INFOBOARD: Actual reservations',            'Reservation overview for information screens');
    add_usrrap_translation('Vertalingen',                            'Translations',                              'Basic report for translations export');
    add_usrrap_translation('UDR: Bestellingen',                      'UDR: Purchase order',                       'Basic report for purchase order reports');
    add_usrrap_translation('UDR: Bezoekers',                         'UDR: Visitors',                             'Basic report for visitor reports');
    add_usrrap_translation('UDR: Contracten',                        'UDR: Contracts',                            'Basic report for contract reports');
    add_usrrap_translation('UDR: Facturen',                          'UDR: Invoices',                             'Basic report for invoice reports');
    add_usrrap_translation('UDR: Objecten',                          'UDR: Objects',                              'Basic report for object reports');
    add_usrrap_translation('UDR: Meldingen',                         'UDR: Calls',                                'Basic report for call reports');
    add_usrrap_translation('UDR: Opdrachten',                        'UDR: Orders',                               'Basic report for order reports');
    add_usrrap_translation('UDR: Meldingen/opdrachten',              'UDR: Calls/Orders',                         'Basic report for call+order reports');
    add_usrrap_translation('UDR: Meldingen plus',                    'UDR: Calls plus',                           'Basic report for call+property reports');
    add_usrrap_translation('UDR: Opdrachten plus',                   'UDR: Order plus',                           'Basic report for order+property reports');
    add_usrrap_translation('UDR: Opdrachten-materialen',             'UDR: Order materials',                      'Basic report for order+material reports');
    add_usrrap_translation('UDR: Reserveringen',                     'UDR: Reservations',                         'Basic report for reservation reports');
    add_usrrap_translation('UDR: Reserveringen-voorzieningen',       'UDR: Reservation facilities',               'Basic report for reservation reports incl. facilities');
    add_usrrap_translation('UDR: Bedrijven',                         'UDR: Companies',                            'Basic report for company reports');
    add_usrrap_translation('UDR: Kostenoverzicht',                   'UDR: Cost overview',                        'Basic report for cost reports');
    add_usrrap_translation('UDR: Objectmeldingen',                   'UDR: Object calls',                         'Basic report for objects with call details');
    add_usrrap_translation('UDR: Objecten plus',                     'UDR: Objects plus',                         'Basic report for object+property reports');
    add_usrrap_translation('UDR: Object inspecties',                 'UDR: Object inspections',                   'Basic report for object inspection reports');
    add_usrrap_translation('UDR: Object soort controles',            'UDR: Object type tasks',                    'Basic report for object type task reports');
    add_usrrap_translation('UDR: Bezoekers bij reserveringen',       'UDR: Visitors with reservations',           'Basic report for visitors with reservation details');
    add_usrrap_translation('UDR: Kennisbank',                        'UDR: Knowledge base',                       'Basic report for knowledge base reports');
    add_usrrap_translation('UDR: Kennisbank plus',                   'UDR: Knowledge base plus',                  'Basic report for knowledge base+property reports');
END;
/
DROP PROCEDURE add_usrrap_translation;

/////////////////////////////////////////////////////////////////////////////////////////// NOUR#59219
ALTER TABLE prs_kostenplaats DROP CONSTRAINT prs_r_prs_kostenplaatsgrp_key;

ALTER TABLE prs_kostenplaats
    MODIFY prs_kostenplaatsgrp_key CONSTRAINT prs_r_prs_kostenplaatsgrp_key
    REFERENCES prs_kostenplaatsgrp (prs_kostenplaatsgrp_key) ON DELETE SET NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#59970
DECLARE
    -- Alle bijlagen die meer dan 1 keer in de tabel voorkomen.
    CURSOR c_dubbel IS
        SELECT fac_bijlagen_module,
               fac_bijlagen_refkey,
               fac_bijlagen_disk_directory,
               fac_bijlagen_filename,
               MAX (fac_bijlagen_key) laatste
          FROM fac_bijlagen
         GROUP BY fac_bijlagen_module,
                  fac_bijlagen_refkey,
                  fac_bijlagen_disk_directory,
                  fac_bijlagen_filename
         HAVING COUNT (*) > 1;
BEGIN
    FOR f_dubbel IN c_dubbel
    LOOP
        -- Verwijder de dubbele bijlagen maar laat alleen de meest recente staan.
        DELETE
          FROM fac_bijlagen
         WHERE fac_bijlagen_module = f_dubbel.fac_bijlagen_module
           AND fac_bijlagen_refkey = f_dubbel.fac_bijlagen_refkey
           AND fac_bijlagen_disk_directory = f_dubbel.fac_bijlagen_disk_directory
           AND fac_bijlagen_filename = f_dubbel.fac_bijlagen_filename
           AND fac_bijlagen_key < f_dubbel.laatste;
    END LOOP;
END;
/

/////////////////////////////////////////////////////////////////////////////////////////// HSLE#59635
ALTER TABLE mld_afmeldtekst MODIFY mld_afmeldtekst_omschrijving VARCHAR2(4000);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#60190
ALTER TABLE fac_notificatie_job ADD fac_notificatie_job_lastrun DATE;

/////////////////////////////////////////////////////////////////////////////////////////// UWVA#60055
DEF_FAC_SRTNOT('BEZUN2', 0, 'lcl_noti_BEZUN2', 'bez/bez_afspraak.asp?bez_key=', '0', 'bezoeker', 0);

/////////////////////////////////////////////////////////////////////////////////////////// MNNL#59178
ALTER TABLE mld_stdmelding ADD mld_stdmelding_planbaarfe NUMBER(1) DEFAULT 0 NOT NULL;
// conversie:
UPDATE mld_stdmelding
   SET mld_stdmelding_planbaar = 0
     , mld_stdmelding_planbaarfe = 1
 WHERE mld_stdmelding_planbaar = 1;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#60342
ALTER TABLE CNT_KENMERK DROP COLUMN cnt_kenmerk_locatiekolom;
ALTER TABLE MLD_KENMERK DROP COLUMN mld_kenmerk_locatiekolom;

ALTER TABLE fac_imp_flex
  ADD ( kenmerk_show_expr VARCHAR2(4000)
      , kenmerk_omschr    VARCHAR2(255)
      , kenmerk_extra_1   VARCHAR2(255)
      , kenmerk_extra_2   VARCHAR2(255)
      , kenmerk_extra_3   VARCHAR2(255)
      , kenmerk_extra_4   VARCHAR2(255)
      );

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#60015
#define CREATETABLEIFNOTEXISTS(tname, tsql) \
DECLARE \
    alreadyexists   NUMBER; \
    vsql VARCHAR2(4000); \
BEGIN \
    SELECT COUNT (*) \
      INTO alreadyexists \
      FROM all_objects \
     WHERE object_type = 'TABLE' AND object_name = UPPER (tname); \
    IF alreadyexists = 0 \
    THEN \
        vsql := 'CREATE TABLE '||tname||' '|| tsql; \
        EXECUTE IMMEDIATE vsql; \
    END IF; \
END;

CREATETABLEIFNOTEXISTS('cnd_imp_nen2767_results',
  '(fac_import_key NUMBER (10), alg_gebouw_code VARCHAR2 (12), ins_deel_omschrijving VARCHAR2 (60), mld_melding_datum VARCHAR2 (20), mld_melding_omschrijving VARCHAR2 (2000), prs_perslid_email VARCHAR2 (200), gebrekcode VARCHAR2 (20), ernst VARCHAR2 (50), omvang VARCHAR2 (50), intensiteit VARCHAR2 (50), aspect1 VARCHAR2 (20), aspect2 VARCHAR2 (20), aspect3 VARCHAR2 (20), aspect4 VARCHAR2 (20), aspect5 VARCHAR2 (20), aspect6 VARCHAR2 (20), aspect7 VARCHAR2 (20), foto VARCHAR2 (50), condscore NUMBER (6, 2), prioscore NUMBER (6, 2), kosten NUMBER (10, 2), plandatum DATE)')
/

//CREATE_TABLE(cnd_imp_nen2767_results,0)
//(
//    fac_import_key              NUMBER (10),
//    alg_gebouw_code             VARCHAR2 (12),
//    ins_deel_omschrijving       VARCHAR2 (60),
//    mld_melding_datum           VARCHAR2 (20),
//    mld_melding_omschrijving    VARCHAR2 (2000),
//    prs_perslid_email           VARCHAR2 (200),
//    gebrekcode                  VARCHAR2 (20),
//    ernst                       VARCHAR2 (50),
//    omvang                      VARCHAR2 (50),
//    intensiteit                 VARCHAR2 (50),
//    aspect1                     VARCHAR2 (20),
//    aspect2                     VARCHAR2 (20),
//    aspect3                     VARCHAR2 (20),
//    aspect4                     VARCHAR2 (20),
//    aspect5                     VARCHAR2 (20),
//    aspect6                     VARCHAR2 (20),
//    aspect7                     VARCHAR2 (20),
//    foto                        VARCHAR2 (50),
//    condscore                   NUMBER (6, 2),
//    prioscore                   NUMBER (6, 2),
//    kosten                      NUMBER (10, 2),
//    plandatum                   DATE
//);

CREATETABLEIFNOTEXISTS('cnd_imp_srtdeel_mlddiscipline',
 '(fac_import_key NUMBER (10), ins_srtdeel_code VARCHAR2 (10), ins_srtgroep_omschrijving VARCHAR2 (60), ins_discipline_omschrijving VARCHAR2 (60), mld_discipline_omschrijving VARCHAR2 (60))')
/

//CREATE_TABLE(cnd_imp_srtdeel_mlddiscipline,0)
//(
//    fac_import_key                 NUMBER (10),
//    ins_srtdeel_code               VARCHAR2 (10),
//    ins_srtgroep_omschrijving      VARCHAR2 (60),
//    ins_discipline_omschrijving    VARCHAR2 (60),
//    mld_discipline_omschrijving    VARCHAR2 (60)
//);

// Clean-up previous Plato stuff (if any)
DELETE FROM fac_usrtab
      WHERE fac_usrtab_object = 'USR_$PLATONEN2727';

// These have moved to CND
UPDATE fac_import_app
   SET fac_import_app_prefix = 'CND'
 WHERE fac_import_app_code = 'NEN2767_RESULTS' AND fac_import_app_prefix = 'PLAT';

UPDATE fac_import_app
   SET fac_import_app_prefix = 'CND'
 WHERE fac_import_app_code = 'SRTDEEL_MLDDISC' AND fac_import_app_prefix = 'PLAT';

CREATE OR REPLACE VIEW cnd_v_rap_conditiemetingen AS SELECT * FROM DUAL;
UPDATE fac_usrrap
   SET fac_usrrap_view_name = 'cnd_v_rap_conditiemetingen'
 WHERE fac_usrrap_view_name = 'plat_v_rap_conditiemetingen';

BEGIN
 adm.trydrop ('PROCEDURE plat_export_nen2767_aggr_score');
 adm.trydrop ('PROCEDURE plat_export_nen2767_cond_score');
 adm.trydrop ('PROCEDURE plat_import_srtdeel_mlddisc');
 adm.trydrop ('PROCEDURE plat_update_srtdeel_mlddisc');
 adm.trydrop ('PROCEDURE plat_import_nen2767_results');
 adm.trydrop ('PROCEDURE plat_update_nen2767_results');

 adm.trydrop ('PROCEDURE cnd_export_max_cond_score');
 adm.trydrop ('PROCEDURE cnd_export_nen2767_cond_score');
 adm.trydrop ('FUNCTION cnd_nen2767_meth12_cond_score');
 adm.trydrop ('FUNCTION cnd_nen2767_prio_score');
 adm.trydrop ('FUNCTION cnd_nen2767_prio_score_mld');
 adm.trydrop ('VIEW cnd_v_nen2767_prioriteit');
 adm.trydrop ('VIEW cnd_v_nen2767_prio_srtgebrek');
 adm.trydrop ('VIEW plat_v_rap_conditiemetingen');
END;
/

/////////////////////////////////////////////////////////////////////////////////////////// MARX#60634
ALTER TABLE prs_bedrijf MODIFY prs_bedrijf_opmerking VARCHAR2(1000);
ALTER TABLE prs_bedrijf MODIFY prs_bedrijf_opmerking2 VARCHAR2(1000);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#60471
// persoons- (en afdelings-)gebonden objecten
UPDATE mld_stdmelding
   SET mld_stdmelding_prsafdobj = 3
 WHERE mld_stdmelding_prsafdobj = 1;
// geen persoonsgebonden objecten
UPDATE mld_stdmelding
   SET mld_stdmelding_prsafdobj = 1
 WHERE mld_stdmelding_prsafdobj = 0;
// geen afdelingsgebonden objecten, dus dan persoonsgebonden objecten.
UPDATE mld_stdmelding
   SET mld_stdmelding_prsafdobj = 0
     , alg_org_obj_niveau = -1
 WHERE alg_org_obj_niveau = 9;

ALTER TABLE mld_stdmelding MODIFY alg_org_obj_niveau DEFAULT -1;
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));

/////////////////////////////////////////////////////////////////////////////////////////// YKPN#60362
ALTER TABLE mld_stdmelding
ADD
(
    cad_thema_key
        NUMBER(10)
        CONSTRAINT mld_r_cad_thema_key1 REFERENCES cad_thema(cad_thema_key)
);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#40050
ALTER TABLE cnt_disc_params
    ADD cnt_disc_params_verkoopcontr NUMBER (1) DEFAULT 0 NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#60405
ALTER TABLE res_disc_params ADD res_disc_params_threshold
      NUMBER(11,2)
      DEFAULT 9999999
      NOT NULL;

ALTER TABLE res_rsv_ruimte ADD res_rsv_ruimte_cat_appr    /* Catalogus artikelen dienen gefiatteerd te worden 0=Nee, 1=Ja */
      NUMBER(1)
      DEFAULT 0
      NOT NULL
      CONSTRAINT res_c_res_rsv_ruimte_cat_appr CHECK(res_rsv_ruimte_cat_appr IN (0,1));

ALTER TABLE res_rsv_artikel ADD res_rsv_artikel_approved    /* 0=Niet gefiatteerd, 1=Goedgekeurd, 2=Afgewezen */
      NUMBER(1)
      DEFAULT 1
      NOT NULL
      CONSTRAINT res_c_res_rsv_artikel_approved CHECK(res_rsv_artikel_approved IN (0,1,2));

DEF_FAC_SRTNOT('RESFIA', 3, 'lcl_noti_RESFIA', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
DEF_FAC_SRTNOT('RESFOK', 0, 'lcl_noti_RESFOK', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);
DEF_FAC_SRTNOT('RESFNO', 0, 'lcl_noti_RESFNO', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering', 10);

/////////////////////////////////////////////////////////////////////////////////////////// YKPN#59724
ALTER TABLE mld_typeopdr DROP CONSTRAINT ins_c_mld_typeopdr_totaal;
ALTER TABLE mld_typeopdr ADD CONSTRAINT ins_c_mld_typeopdr_totaal CHECK(mld_typeopdr_totaal IN (0, 1, 2));

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#60944
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_U_ALG_VERDIEPING_CODE'',      ''Verdiepingcode bestaat al voor dit gebouw'')');
   tmp_insert('fac_message VALUES (''BES_C_BES_BESTELLING_ITEM'',      ''Incorrect aantal bestel items'')');
   tmp_insert('fac_message VALUES (''BES_C_BES_SRTGROEP_KEY3'',        ''Het artikelgroep moet ingevuld worden'')');
   tmp_insert('fac_message VALUES (''BES_U_BES_KENMERK'',              ''Dit kenmerk bestaat al'')');
   tmp_insert('fac_message VALUES (''bes_m240'',                       ''Voor dit kenmerk moet een waarde worden ingevoerd'')');
   tmp_insert('fac_message VALUES (''bes_m242'',                       ''Voor dit kenmerk wordt een numerieke waarde verwacht'')');
   tmp_insert('fac_message VALUES (''CNT_C_CNT_SRTKENMERK_DEC'',       ''De waarde van het veld ''''Decimal'''' moet tussen 0 en de maximale lengte liggen'')');
   tmp_insert('fac_message VALUES (''CNT_I_CNT_FACTUURSCHEMA1'',       ''De combinatie verdeelperiode en contract is niet uniek'')');
   tmp_insert('fac_message VALUES (''FAC_I_FAC_LOCALE_XREF1'',         ''Referentie van label in asp-programma is niet uniek'')');
   tmp_insert('fac_message VALUES (''FAC_U_FAC_EXPORT_APP_CODE'',      ''Code exportfunctie moet uniek zijn'')');
   tmp_insert('fac_message VALUES (''FAC_U_FAC_GROEP_UPPER'',          ''Naam van autorisatiegroep moet uniek zijn'')');
   tmp_insert('fac_message VALUES (''FAC_U_FAC_GUI_COUNTER'',          ''De combinatie scherm, groep en dag is niet uniek'')');
   tmp_insert('fac_message VALUES (''FAC_U_FAC_KENMERKDOMEIN_UPPER'',  ''De combinatie module en kenmerkdomein is niet uniek'')');
   tmp_insert('fac_message VALUES (''FIN_R_FIN_FACTUUR8'',             ''Contractscope kan niet worden verwijderd omdat er facturen op geregistreerd zijn'')');
   tmp_insert('fac_message VALUES (''INS_U_INS_SRTDISC_OMSCHR'',       ''De combinatie module en vakgroep is niet uniek'')');
   tmp_insert('fac_message VALUES (''MLD_C_MLD_KENMERK_NIVEAU1'',      ''Het niveau van het kenmerk moet ingevuld zijn.'')');
   tmp_insert('fac_message VALUES (''MLD_C_MLD_TYPEOPDR_KEY1'',        ''Ongeldige verwijzing naar opdrachttype'')');
   tmp_insert('fac_message VALUES (''MLD_U_AFMELDTEKST_NAAM'',         ''Naam van afmeldtekst moet uniek zijn'')');
   tmp_insert('fac_message VALUES (''MLD_U_MLD_KENMERK'',              ''Dit kenmerk bestaat al'')');
   tmp_insert('fac_message VALUES (''MLD_U_MLD_KENMERKOPDR'',          ''Kenmerk bij opdracht moet uniek zijn'')');
   tmp_insert('fac_message VALUES (''MLD_U_MLD_STDMELDING_SRTINST'',   ''De combinatie standaardmelding, discipline en niveau is niet uniek'')');
   tmp_insert('fac_message VALUES (''RES_C_ALG_ONRGOED_KEY'',          ''De combinatie discipline en onroerendgoed object is niet uniek'')');
   tmp_insert('fac_message VALUES (''RES_C_ALG_RUIMTE_OR_OPSTEL'',     ''Opstelling of ruimte moet ingevuld zijn'')');
   tmp_insert('fac_message VALUES (''RES_C_RES_RSV_RUIMTE_VAN_TOT'',   ''Opstelling alleen invullen als begin en einddtijd verschillen'')');
   tmp_insert('fac_message VALUES (''RES_I_RES_DEEL3'',                ''De combinatie discipline en reserveerbaar deel is niet uniek'')');
   tmp_insert('fac_message VALUES (''RES_U_RES_KENMERK'',              ''Dit kenmerk bestaat al'')');
   tmp_insert('fac_message VALUES (''PRS_C_PRS_DIENST_OMSCHR'',        ''Naam van dienst is niet uniek'')');
   tmp_insert('fac_message VALUES (''PRS_I_PRS_BEDRIJFADRES2'',        ''Combinatie bedrijf, district, locatie, opdrachttype, adrestype is niet uniek'')');
   tmp_insert('fac_message VALUES (''PRS_U_PRS_BEDRIJFDIENSTLOC_KEY'', ''De combinatie bedrijf, dienst, locatie en gebouw is niet uniek'')');
END;
/
DROP PROCEDURE tmp_insert;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#59435
ALTER TABLE mld_disc_params
  ADD mld_disc_params_primairbeh
      NUMBER(1) DEFAULT(1) NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// XXXX#nnnnn
ALTER TABLE cnd_imp_nen2767_results
ADD (
    flex1                       VARCHAR2 (255),
    flex2                       VARCHAR2 (255),
    flex3                       VARCHAR2 (255),
    flex4                       VARCHAR2 (255),
    flex5                       VARCHAR2 (255),
    flex6                       VARCHAR2 (255),
    flex7                       VARCHAR2 (255),
    flex8                       VARCHAR2 (255),
    flex9                       VARCHAR2 (255),
    flex10                      VARCHAR2 (255)
);

/////////////////////////////////////////////////////////////////////////////////////////// PCHA#61127
UPDATE mld_kenmerk
   SET mld_kenmerk_niveau = 'A'
 WHERE mld_kenmerk_niveau = 'T'
   AND mld_stdmelding_key IS NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#61108
UPDATE aut_idp
   SET aut_idp_ipfilter = '80.250.128.5,80.250.128.6,31.161.17.4,80.250.129.2'
 WHERE aut_idp_code = 'FACILITORSUPPORT';

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#59583
DROP INDEX res_i_res_arrangement_art1;
CREATE UNIQUE INDEX res_i_res_arrangement_art1 ON res_arrangement_artikel(res_arrangement_key, res_artikel_key);

/////////////////////////////////////////////////////////////////////////////////////////// WOXX#59873
ALTER TABLE alg_gebouw ADD alg_gebouw_groep VARCHAR2(60);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#60353
INSERT INTO fac_setting (fac_setting_module,
                         fac_setting_name,
                         fac_setting_description,
                         fac_setting_pvalue)
     VALUES('PUO',
           'puo_app2enabled',
           '....wordt door epilogue/recreate goed gezet....',
            (SELECT fac_setting_pvalue
                  FROM fac_setting
                 WHERE     fac_setting_name = 'mobile_enabled'));

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#59840
ALTER TABLE mld_opdr MODIFY mld_opdr_externnr VARCHAR2(1000);
ALTER TABLE mld_melding MODIFY mld_melding_externnr VARCHAR2(1000);

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

REGISTERONCE('$Id$')

#include "epilogue.inc"
