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

COMMIT;
SET DEFINE OFF

/////////////////////////////////////////////////////////////////////////////////////////// MARX#79087
ALTER TABLE fac_imp_usrdata ADD fac_usrdata_omschr2 VARCHAR2(60);

/////////////////////////////////////////////////////////////////////////////////////////// RWSN#79922
CREATE_TABLE(alg_onroerendgoed_note, 0)
(   alg_onroerendgoed_note_key
        NUMBER (10)
        CONSTRAINT alg_k_alg_onroerendgoed_note_key PRIMARY KEY
,   alg_onroerendgoed_key
        NUMBER (10)
        CONSTRAINT alg_c_alg_onroerendgoed_key1 CHECK(alg_onroerendgoed_key IS NOT NULL)
,   alg_onroerendgoed_typ
        VARCHAR (1)
        CONSTRAINT alg_c_alg_onroerendgoed_typ1 CHECK(alg_onroerendgoed_typ IS NOT NULL)
        CONSTRAINT alg_c_alg_onroerendgoed_typ2 CHECK(alg_onroerendgoed_typ IN ('R','V','G','L'))
,   alg_onroerendgoed_note_aanmaak
        DATE
        DEFAULT SYSDATE
,   prs_perslid_key
        NUMBER (10)
        CONSTRAINT alg_r_prs_perslid_key5 REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL
,   alg_onroerendgoed_note_omschrijving
        VARCHAR2 (4000 CHAR)
);

CREATE SEQUENCE alg_s_alg_onroerendgoed_note_key MINVALUE 1;
CREATE INDEX alg_i_alg_onroerendgoed_note1 ON alg_onroerendgoed_note(alg_onroerendgoed_key, alg_onroerendgoed_typ);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80650
UPDATE res_deel
   SET res_deel_bulkreserveerbaar = 0
 WHERE res_deel_bulkreserveerbaar IS NULL;

ALTER TABLE res_deel MODIFY res_deel_bulkreserveerbaar DEFAULT 0 NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80204
BEGIN
    adm.trydrop ('INDEX bes_i_bes_srtprod_prijs1');
    adm.tryalter('TABLE bes_srtdeel DROP COLUMN bes_srtprod_key');

    adm.trydrop ('TRIGGER bes_t_bes_srtprod_B_IU');
    adm.trydrop ('TRIGGER bes_t_bes_srtprod_prijs_B_IU');
    adm.trydrop ('TRIGGER bes_t_bes_bedrijf_srtprod_BIU');
    adm.trydrop ('TRIGGER bes_t_bes_bedrijf_bedrijf_B_IU');

    adm.trydrop ('SEQUENCE bes_s_bes_srtprod_key');
    adm.trydrop ('SEQUENCE bes_s_bes_srtprod_prijs_key');
    adm.trydrop ('SEQUENCE bes_s_bes_bedrijf_srtprod_key');
    adm.trydrop ('SEQUENCE bes_s_bes_bedrijf_bedrijf_key');

    adm.trydrop ('TABLE bes_srtprod_prijs');
    adm.trydrop ('TABLE bes_bedrijf_srtprod');
    adm.trydrop ('TABLE bes_bedrijf_bedrijf');
    adm.trydrop ('TABLE bes_srtprod');
END;
/

/////////////////////////////////////////////////////////////////////////////////////////// AAIT#77297
ALTER TABLE fin_factuur ADD fin_factuur_opmerking_afw VARCHAR2(4000);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80316
DROP VIEW mld_v_kto_vragen;
DROP VIEW mld_v_kto_antwoorden;
DROP VIEW mld_v_kto_geg;
DROP VIEW mld_v_rap_kto_overview;
DROP VIEW mld_v_rap_kto_response_soort;
DROP VIEW mld_v_rap_kto_responsedistrict;
DROP VIEW mld_v_rap_kto_response_locatie;
DROP VIEW mld_v_rap_kto_response_disc;
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_overview';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_response_soort';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_responsedistrict';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_response_locatie';
DELETE FROM fac_usrrap WHERE LOWER(fac_usrrap_view_name)='mld_v_rap_kto_response_disc';

/////////////////////////////////////////////////////////////////////////////////////////// EIND#80433

ALTER TABLE mld_stdmelding ADD mld_stdmelding_conceptstatus
  NUMBER(3)
  DEFAULT 0
  NOT NULL;

ALTER TABLE mld_melding ADD mld_melding_conceptstatus
  NUMBER(3)
  DEFAULT 0
  NOT NULL;

ALTER TABLE prs_afdeling ADD prs_perslid_key_verantw
  NUMBER(10)
  CONSTRAINT prs_r_prs_perslid_key22 REFERENCES prs_perslid(prs_perslid_key);

ALTER TABLE prs_perslid ADD prs_perslid_key_verantw
  NUMBER(10)
  CONSTRAINT prs_r_prs_perslid_key23 REFERENCES prs_perslid(prs_perslid_key);
// TODO nagaan of er nog extra indexen bij moeten (aanvullend op reference)
// vermoedelijk op mld_melding_conceptstatus

DEF_FAC_SRTNOT('MLDCON', 0, 'lcl_noti_MLDCON', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 60);
DEF_FAC_SRTNOT('MLD2CO', 3, 'lcl_noti_MLD2CO', 'mld/mld_melding.asp?mld_key=', '0', 'melding', 10);

/////////////////////////////////////////////////////////////////////////////////////////// PCHD#80318
ALTER TABLE prs_kostensoort ADD prs_kostensoort_eind DATE;
ALTER TABLE prs_kostensoort ADD prs_kostensoort_verwijder DATE;

BEGIN
    adm.trydrop ('INDEX prs_i_prs_kostensoort1');
END;
/
CREATE UNIQUE INDEX prs_i_prs_kostensoort1
    ON prs_kostensoort(prs_kostensoortgrp_key, prs_kostensoort_upper, prs_kostensoort_verwijder);

/////////////////////////////////////////////////////////////////////////////////////////// PNBR#80210
ALTER TABLE alg_locatie ADD alg_locatie_volgnr NUMBER(3);

/////////////////////////////////////////////////////////////////////////////////////////// PZEE#75396
ALTER TABLE mld_stdmelding ADD mld_stdmelding_priomatrix NUMBER(1) DEFAULT 0 NOT NULL;
ALTER TABLE mld_melding ADD mld_melding_impact NUMBER(2);
ALTER TABLE mld_melding ADD mld_melding_urgentie NUMBER(2);

/////////////////////////////////////////////////////////////////////////////////////////// BAMG#81378
ALTER TABLE prs_perslid ADD prs_kostenplaats_key
  NUMBER(10)
  CONSTRAINT prs_r_prs_kostenplaats_key5 REFERENCES prs_kostenplaats(prs_kostenplaats_key);
ALTER TABLE fac_imp_perslid ADD prs_kostenplaats_nr VARCHAR2(30);

/////////////////////////////////////////////////////////////////////////////////////////// YASK#81268

CREATE_TABLE(fac_imp_kostensoort, 0)
(
   prs_kostensoort_oms              VARCHAR2 (60),
   prs_kostensoort_opmerking        VARCHAR2 (255),
   prs_kostensoort_refcode          VARCHAR2 (60),
   prs_kostensoort_doorbelasten     NUMBER (1),
   prs_kostensoort_btw              NUMBER (1),
   prs_kostenplaats_key             NUMBER (10),
   prs_kostensoortgrp_key           NUMBER (10),
   prs_kostensoort_eind             DATE,
   prs_kostensoort_altcode          VARCHAR2 (60)
);

/////////////////////////////////////////////////////////////////////////////////////////// BLCC#79261
ALTER TABLE fac_srtnotificatie ADD fac_srtnotificatie_noticollegas
  NUMBER(3) DEFAULT 0 NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// RWSN#80123
CREATE VIEW alg_v_udr_ruimte AS SELECT * FROM DUAL;
CREATE VIEW alg_v_udr_terrein AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_UDRMAN', 32, 'alg_v_udr_ruimte',              'UDR: Vastgoed-ruimtes',            'Basisrapport voor vastgoedgegevens obv ruimtes',
                                                               'UDR: Real-estate rooms',           'Basic report for real estate based on rooms')
DEF_RAPPORT('WEB_UDRMAN', 32, 'alg_v_udr_terrein',             'UDR: Vastgoed-terreinen',          'Basisrapport voor vastgoedgegevens obv terreinen',
                                                               'UDR: Real-estate terrains',        'Basic report for real estate based on terrains')

/////////////////////////////////////////////////////////////////////////////////////////// MARX#80449
ALTER TABLE prs_bedrijfadres ADD prs_bedrijf_key2
  NUMBER(10)
  CONSTRAINT prs_r_prs_bedrijf_key8 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE;

/////////////////////////////////////////////////////////////////////////////////////////// MARX#80879
ALTER TABLE prs_bedrijfadres ADD prs_bedrijfadres_startdatum
  DATE DEFAULT SYSDATE NOT NULL;
DROP INDEX prs_i_prs_bedrijfadres2;
CREATE UNIQUE INDEX prs_i_prs_bedrijfadres2 ON prs_bedrijfadres(prs_bedrijf_key, prs_bedrijfadres_type, mld_typeopdr_key, alg_locatie_key, alg_district_key, prs_bedrijf_key2, prs_bedrijfadres_startdatum);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#79219
-- Deze gaan niet meer vanzelf goedkomen, alle nieuwe ##PENDING## wel
UPDATE res_rsv_ruimte
   SET res_rsv_ruimte_externnr2 = '##PENDING_OLD##'
 WHERE res_rsv_ruimte_externnr2 = '##PENDING##';

-- Zo kan de procedure ze ook terugvinden
UPDATE res_rsv_ruimte
   SET res_rsv_ruimte_externnr = res_rsv_ruimte_externnr || '|'
 WHERE res_rsv_ruimte_externnr LIKE '##iCalUId##%'
   AND res_rsv_ruimte_verwijder IS NULL;

/////////////////////////////////////////////////////////////////////////////////////////// VGLD#81656
ALTER TABLE bes_bestelling
    MODIFY (bes_bestelling_levkosten NUMBER (11, 2),
            bes_bestelling_korting NUMBER (11, 2));

ALTER TABLE bes_bestelopdr
    MODIFY (bes_bestelopdr_levkosten NUMBER (11, 2),
            bes_bestelopdr_korting NUMBER (11, 2));

ALTER TABLE bes_disc_params
    MODIFY (bes_disc_params_bestellimiet NUMBER (11, 2),
            bes_disc_params_min_bedrag NUMBER (11, 2));

ALTER TABLE bes_bestelopdr_item
    MODIFY (bes_bestelopdr_item_inkprijs NUMBER (14, 5),
            bes_bestelopdr_item_brutoprijs NUMBER (14, 5),
            bes_bestelopdr_item_prijs NUMBER (15, 6));

ALTER TABLE bes_bestelling_item
    MODIFY (bes_bestelling_item_brutoprijs NUMBER (14, 5),
            bes_bestelling_item_prijs NUMBER (15, 6),
            bes_bestelling_item_inkprijs NUMBER (15, 6));

ALTER TABLE bes_srtdeel_prijs
    MODIFY (bes_srtdeel_prijs_prijs NUMBER (14, 5),
            bes_srtdeel_prijs_inkprijs NUMBER (14, 5));

/////////////////////////////////////////////////////////////////////////////////////////// YAXX#80483
ALTER TABLE prs_bedrijfdienstlocatie
        ADD mld_autoorder NUMBER(1) DEFAULT(1) NOT NULL;

UPDATE prs_bedrijfdienstlocatie
   SET mld_autoorder = 1
 WHERE prs_bedrijfdienstlocatie_key IN
       (SELECT d.prs_bedrijfdienstlocatie_key
          FROM prs_bedrijfdienstlocatie d
             , prs_bedrijfadres a
         WHERE d.prs_bedrijf_key = a.prs_bedrijf_key
           AND a.prs_bedrijfadres_type = 'O'
           AND (  d.alg_locatie_key is not null
               OR d.alg_gebouw_key  is not null
               )
);

/////////////////////////////////////////////////////////////////////////////////////////// KMMO#81625
-- Alle kto_type "T" referenties bij een melding kunnen leeg gemaakt worden. Deze lopen sinds FCLT#77900 via de mld_melding_object tabel.
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,
       mld_melding_kto_key = NULL
 WHERE mld_melding_key IN (SELECT m.mld_melding_key
                             FROM mld_melding m,
                                  mld_melding_object mo,
                                  ins_deelsrtcontrole idsc
                            WHERE m.mld_melding_key = mo.mld_melding_key(+)
                              AND m.mld_melding_kto_key = idsc.ins_deelsrtcontrole_key
                              AND idsc.ins_deel_key = mo.ins_deel_key(+)
                              AND m.mld_melding_kto_type = 'T');

/////////////////////////////////////////////////////////////////////////////////////////// FMHN#81593
CREATE_TABLE(ins_deel_uitgifte, 0)
(
    ins_deel_uitgifte_key
        NUMBER(10)
        PRIMARY KEY,
    ins_deel_key
        NUMBER (10)
        NOT NULL
        CONSTRAINT ins_r_ins_deel_key4 REFERENCES ins_deel(ins_deel_key) ON DELETE CASCADE,
    ins_deel_uitgifte_begin
        DATE,
    ins_deel_uitgifte_eind_plan
        DATE,
    ins_deel_uitgifte_ingeleverd
        DATE,
    prs_perslid_key
        NUMBER (10)
        CONSTRAINT ins_r_prs_perslid_key1 REFERENCES prs_perslid (prs_perslid_key) ON DELETE CASCADE,
    prs_contactpersoon_key
        NUMBER (10)
        CONSTRAINT ins_r_prs_contactpersoon_key REFERENCES prs_contactpersoon(prs_contactpersoon_key) ON DELETE CASCADE,
    CONSTRAINT ins_u_ins_deel_ingeleverd UNIQUE (ins_deel_key, ins_deel_uitgifte_ingeleverd)  -- Er mag geen dubbele uitgifte (ins_deel_ingeleverd IS NULL) zijn.
);

CREATE SEQUENCE ins_s_ins_deel_uitgifte_key MINVALUE 1;
CREATE INDEX ins_i_ins_deel_uitgifte1 ON ins_deel_uitgifte(prs_perslid_key);
CREATE INDEX ins_i_ins_deel_uitgifte2 ON ins_deel_uitgifte(prs_contactpersoon_key);

-- Nieuwe trigger hier ook toegevoegd, want deze is nodig voor de insert die er na komt.
CREATE OR REPLACE TRIGGER ins_t_deel_uitgifte_B_I
BEFORE INSERT ON ins_deel_uitgifte
FOR EACH ROW
BEGIN
  UPDATE_PRIMARY_KEY(ins_deel_uitgifte_key, ins_s_ins_deel_uitgifte_key);
END;
/

-- Uitgegeven objecten in de tabel ins_deel_uitgifte zetten.
INSERT INTO ins_deel_uitgifte(ins_deel_key,
                              ins_deel_uitgifte_begin,
                              ins_deel_uitgifte_eind_plan,
                              prs_perslid_key,
                              prs_contactpersoon_key)
    SELECT d.ins_deel_key,
           COALESCE(rrd.res_rsv_deel_van,
                    (SELECT MAX(tr.fac_tracking_datum)
                       FROM fac_tracking tr,
                            fac_srtnotificatie sn
                      WHERE tr.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
                        AND sn.fac_srtnotificatie_code = 'INSOUT'
                        AND tr.fac_tracking_refkey = d.ins_deel_key
                        AND sn.fac_srtnotificatie_xmlnode = 'deel')),
           COALESCE(rrd.res_rsv_deel_tot, NULL),
           CASE WHEN d.ins_alg_ruimte_type = 'P' THEN d.ins_alg_ruimte_key ELSE NULL END,
           CASE WHEN d.ins_alg_ruimte_type = 'C' THEN d.ins_alg_ruimte_key ELSE NULL END
      FROM ins_deel d,
           res_rsv_deel rrd
     WHERE d.res_rsv_deel_key = rrd.res_rsv_deel_key(+)
       AND d.ins_alg_ruimte_key_org IS NOT NULL
       AND d.ins_alg_ruimte_type IN ('C', 'P');

CREATE VIEW ins_v_udr_uitgifte AS SELECT * FROM DUAL;
DEF_RAPPORT('WEB_UDRMAN', 32, 'ins_v_udr_uitgifte',            'UDR: Object uitgifte historie',    'Basisrapport van uitlenen en innemen van objecten',
                                                               'UDR: Object issuance history',     'Basic report of lending and taking in objects');

/////////////////////////////////////////////////////////////////////////////////////////// YASK#80908
ALTER TABLE res_artikel ADD res_artikel_vrije_omschrijving NUMBER(1) DEFAULT(0) NOT NULL;
ALTER TABLE res_rsv_artikel ADD res_rsv_artikel_omschrijving VARCHAR2(40);

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#81827
BEGIN
    adm.tryalter ('TABLE fac_gui_counter DROP CONSTRAINT fac_r_guicnt_perslid_key');
END;
/
ALTER TABLE fac_gui_counter ADD CONSTRAINT fac_r_guicnt_perslid_key FOREIGN KEY (prs_perslid_key) REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE;

DELETE FROM fac_gui_counter
 WHERE prs_perslid_key IS NULL
   AND TRUNC(fac_gui_counter_date) <> fac_gui_counter_date;

/////////////////////////////////////////////////////////////////////////////////////////// BAUS#81217
ALTER TABLE ins_srtcontrole ADD ins_srtcontrole_opmerking_text NUMBER(1) DEFAULT(0) NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FMHN#81512
ALTER TABLE alg_verdieping
    ADD alg_verdieping_dwgz NUMBER (16, 3);

/////////////////////////////////////////////////////////////////////////////////////////// FMHN#79962
DEF_FAC_SRTNOT('RESANO', 0, 'lcl_noti_RESANO', 'res/res_reservering.asp?rsv_ruimte_key=', '0', 'reservering',  10);

/////////////////////////////////////////////////////////////////////////////////////////// BAUS#81568
DECLARE
    tmpcname   VARCHAR2 (32);
    sqlstmt    VARCHAR2 (128);
BEGIN
    SELECT constraint_name
      INTO tmpcname
      FROM user_constraints
     WHERE     table_name = 'INS_DEELSRTCONTROLE'
           AND delete_rule = 'CASCADE'
           AND r_constraint_name LIKE 'SYS%';

    sqlstmt := 'ALTER TABLE INS_DEELSRTCONTROLE DROP CONSTRAINT ' || tmpcname;

    EXECUTE IMMEDIATE sqlstmt;
END;
/

ALTER TABLE ins_deelsrtcontrole
    ADD CONSTRAINT ins_r_ins_srtcontrole_key1 FOREIGN KEY (ins_srtcontrole_key)
        REFERENCES ins_srtcontrole (ins_srtcontrole_key);

/////////////////////////////////////////////////////////////////////////////////////////// KW1C#82049
ALTER TABLE prs_ruimteafdeling ADD prs_ruimteafdeling_ingangsdatum
        DATE DEFAULT SYSDATE NOT NULL;
ALTER TABLE prs_ruimteafdeling ADD prs_ruimteafdeling_einddatum
        DATE;
ALTER TABLE prs_ruimteafdeling DROP CONSTRAINT prs_u_ruimteafdeling DROP INDEX;
ALTER TABLE prs_ruimteafdeling ADD CONSTRAINT prs_u_ruimteafdeling UNIQUE(prs_afdeling_key, alg_ruimte_key, prs_ruimteafdeling_ingangsdatum, prs_ruimteafdeling_verwijder);
ALTER TABLE prs_ruimteafdeling ADD CONSTRAINT prs_c_ruimteafdeling_van_tot CHECK(prs_ruimteafdeling_einddatum IS NULL OR (prs_ruimteafdeling_einddatum IS NOT NULL AND prs_ruimteafdeling_einddatum > prs_ruimteafdeling_ingangsdatum));
DROP INDEX prs_i_prs_ruimteafdeling1;
CREATE UNIQUE INDEX prs_i_prs_ruimteafdeling1 ON prs_ruimteafdeling(alg_ruimte_key, prs_afdeling_key, prs_ruimteafdeling_ingangsdatum, prs_ruimteafdeling_verwijder);


UPDATE prs_ruimteafdeling SET prs_ruimteafdeling_ingangsdatum = prs_ruimteafdeling_aanmaak;
UPDATE prs_ruimteafdeling SET prs_ruimteafdeling_einddatum = prs_ruimteafdeling_verwijder WHERE prs_ruimteafdeling_verwijder IS NOT NULL;

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80728
ALTER PACKAGE fac COMPILE; // anders (nog) invalid en lukt het volgende niet niet
ALTER PACKAGE fac COMPILE BODY;
MERGE INTO prs_perslid p1
     USING (SELECT prs_perslid_module,
                   prs_srtperslid_key,
                   prs_afdeling_key,
                      'System account for Exchange notifications.'
                   || CHR (13)
                   || 'Contact Facilitor for configuration.'    prs_perslid_opmerking
              FROM prs_perslid
             WHERE prs_perslid_oslogin = '_FACILITOR') p2
        ON (p1.prs_perslid_oslogin = '_MSGRAPHNOTIFICATION')
WHEN MATCHED
THEN
    UPDATE SET
        p1.prs_perslid_module =
            COALESCE (p1.prs_perslid_module, p2.prs_perslid_module),
        p1.prs_srtperslid_key =
            COALESCE (p1.prs_srtperslid_key, p2.prs_srtperslid_key),
        p1.prs_afdeling_key =
            COALESCE (p1.prs_afdeling_key, p2.prs_afdeling_key),
        p1.prs_perslid_flags = 36,
        p1.prs_perslid_opmerking =
            COALESCE (p1.prs_perslid_opmerking, p2.prs_perslid_opmerking)
     WHERE (p1.prs_perslid_oslogin = '_MSGRAPHNOTIFICATION')
WHEN NOT MATCHED
THEN
    INSERT     (prs_perslid_module,
                prs_srtperslid_key,
                prs_afdeling_key,
                prs_perslid_naam,
                prs_perslid_oslogin,
                prs_perslid_apikey,
                prs_perslid_flags,
                prs_perslid_opmerking)
        VALUES (p2.prs_perslid_module,
                p2.prs_srtperslid_key,
                p2.prs_afdeling_key,
                'API-user tbv. Exchange-koppeling',
                '_MSGRAPHNOTIFICATION',
                DBMS_RANDOM.string ('a', 32),
                36,
                p2.prs_perslid_opmerking);

/////////////////////////////////////////////////////////////////////////////////////////// YASK#81166
DEF_FAC_FUNCTIE3('WEB_FACXNR', 'FAC',  0, 0, NULL);

/////////////////////////////////////////////////////////////////////////////////////////// BAUS#80127
DEF_FAC_FUNCTIE3('WEB_CTRAFR', 'CTR',  0, 1,    1);

-- Iedereen met CTRUSE [op niet-MJOB-disciplines] autorisatie moet ook de nieuwe CTRAFR-autorisatie krijgen om het gedrag compatible te houden.
INSERT INTO fac_groeprechten(fac_groep_key,
                             ins_discipline_key,
                             fac_functie_key,
                             fac_gebruiker_prs_level_read,
                             fac_gebruiker_alg_level_read,
                             fac_gebruiker_prs_level_write,
                             fac_gebruiker_alg_level_write)
    (SELECT gr.fac_groep_key,
       gr.ins_discipline_key,
       (SELECT fac_functie_key
          FROM fac_functie
         WHERE fac_functie_code = 'WEB_CTRAFR'),
       fac_gebruiker_prs_level_write,            -- Alleen een ja/nee autorisatie: read hetzelfde als de write level.
       fac_gebruiker_alg_level_write,            -- Alleen een ja/nee autorisatie: read hetzelfde als de write level.
       fac_gebruiker_prs_level_write,
       fac_gebruiker_alg_level_write
  FROM fac_groeprechten gr,
       fac_functie ff,
       ctr_disc_params cdp
 WHERE ff.fac_functie_key = gr.fac_functie_key
   AND ff.fac_functie_code = 'WEB_CTRUSE'
   AND gr.ins_discipline_key = cdp.ctr_ins_discipline_key
   AND cdp.ctr_disc_params_ismjob = 0);

/////////////////////////////////////////////////////////////////////////////////////////// YASK#81268
DEF_IMPORT('WEB_PRSSYS', 'KOSTENSOORT',         'FIP: Aanmaken/bijwerken van kostensoorten',               'FIP: Create/Update cost categories')

/////////////////////////////////////////////////////////////////////////////////////////// FCLT#82295
DROP VIEW fac_v_lcrap_saldo;

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

REGISTERONCE('$Id$')

#include "epilogue.inc"
