Files
Database/_UP/411TO412.SRC
Bert in het Veld 00218c7331 PRS_P.prs_perslid_init moest zijn PRS_P.prs_perslid_init_upper
svn path=/Database/trunk/; revision=7837
2001-07-11 12:07:56 +00:00

1196 lines
43 KiB
Plaintext

SET TERMOUT ON
SET FEEDBACK OFF
SET ECHO OFF
--
-- Update script van Facilitor versie 4.11 naar 4.12
--
/*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* Gebruik daar waar in de *.SQL-variant geen commentaar-tekst moet komen de
* C-style van uitcommentarieren. Daar waar WEL tekst in de uitvoer moet komen
* moet -- gebruikt worden.
*
*
*/
#include "modules.h"
#include "comsql.h"
#include "INS\inssql.h"
/*
* Test eerst of de vorige versie van module FAC zoals genoemd in tabel
* fac_module wel het te verwachten versienummer heeft
* als dat niet zo is dient de gebruiker het script ZELF af te breken middels
* control-c.
* Als dat wel zo is vervolgt het script en zal aan het einde van het script
* het interne versienummer en de datum worden bijgewerkt.
*/
#ifdef MASTER
SPOOL OFF
set heading off
clear screen
PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 04.11 naar 04.12
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.11 en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
PROMPT
PROMPT Indien de huidige versie NIET de verwachte versie is mag dit script
PROMPT niet worden gerund! In dit geval dient het script nu middels
PROMPT CONTROL-C te worden afgebroken.
PROMPT
PROMPT Indien de versies overeenkomen dient nu ENTER te worden gedrukt...
PROMPT
PROMPT ***********************************************************************
ACCEPT nix PROMPT ''
PROMPT
PROMPT De upgrade wordt vervolgd. Even geduld a.u.b...
PROMPT
SET TERMOUT OFF
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET LINESIZE 1000
SET SERVEROUTPUT ON;
SPOOL $411to412.SQL
PROMPT SPOOL $411to412.LST;
UPDMOD(FAC,411to412)
UPDMOD(ALG,411to412)
UPDMOD(PRS,411to412)
UPDMOD(INS,411to412)
UPDMOD(MLD,411to412)
UPDMOD(CAD,411to412)
UPDMOD(AKZ,411to412)
UPDMOD(PRJ,411to412)
UPDMOD(RES,411to412)
UPDMOD(SCH,411to412)
UPDMOD(SLE,411to412)
UPDMOD(WEB,411to412)
UPDATE_VERSION('04.12');
COMMIT;
PROMPT SPOOL OFF;
SPOOL OFF
START $411to412.SQL
#endif // MASTER
/* denk aan #ifdef constructies! */
/* PLAATS HIERONDER DE UPDATES */
#ifdef INS
CREATE_VIEW (ins_v_deel_acadsymbol, FAC_NORMAAL_PRIVILEGE)
( ins_deel_key, ins_srtdeel_acadsymbol )
AS SELECT ins_deel_key,
ins_srtdeel_acadsymbol
FROM ins_deel, ins_srtdeel
WHERE ins_deel.ins_srtdeel_key = ins_srtdeel.ins_srtdeel_key;
#endif // INS
#ifdef PRS
ALTER TABLE prs_bedrijf MODIFY (prs_leverancier_nr VARCHAR2(10));
CREATE_VIEW (FAC_V_WEBUSER, FAC_NORMAAL_PRIVILEGE) AS
SELECT PRS_PERSLID_KEY,
PRS_PERSLID_NAAM,
PRS_PERSLID_INIT_UPPER PRS_PERSLID_INITIALEN,
PRS_AFDELING_KEY
FROM PRS_V_AANWEZIGPERSLID P
WHERE P.PRS_PERSLID_INIT_UPPER IS NOT NULL;
create unique index prs_i_prs_perslid3 on prs_perslid(prs_perslid_init_upper);
CREATE_VIEW(prs_v_perslid_gegevens,PRS_NORMAAL_PRIVILEGE) AS
SELECT PRS_P.prs_perslid_key,
PRS_P.prs_perslid_naam,
PRS_P.prs_perslid_upper,
PRS_P.prs_perslid_voorletters,
PRS_P.prs_perslid_initialen,
PRS_P.prs_perslid_init_upper,
PRS_P.prs_perslid_nr,
PRS_P.prs_perslid_telefoonnr,
PRS_P.prs_afdeling_key,
PRS_A.prs_afdeling_naam,
PRS_A.prs_afdeling_upper
FROM prs_v_aanwezigperslid PRS_P, prs_v_aanwezigafdeling PRS_A
WHERE PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key (+);
#endif // PRS
#ifdef MLD
CREATE_TRIGGER(mld_t_mld_melding_B_IU)
BEFORE INSERT OR UPDATE ON mld_melding
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_melding_key, mld_s_mld_melding_key);
/* Vul het veld MLD_ALG_LOCATIE_KEY als de onroerendgoed_key wijzigd */
IF :old.mld_alg_onroerendgoed_keys IS NULL
OR :old.mld_alg_onroerendgoed_keys <> :new.mld_alg_onroerendgoed_keys
THEN
CHECK_REFERENCE_ONROERENDGOED(mld_alg_onroerendgoed_keys, 'alg_m090');
SELECT alg_locatie_key
INTO :new.mld_alg_locatie_key
FROM mld_v_onroerendgoed_locatie
WHERE alg_onroerendgoed_keys = :new.mld_alg_onroerendgoed_keys;
END IF;
IF :new.mld_melding_username IS NULL
THEN
SELECT USER
INTO :new.mld_melding_username
FROM DUAL;
END IF;
IF :new.prs_perslid_key IS NULL
THEN
raise_application_error(-20000, 'mld_m233');
END IF;
IF :new.prs_afdeling_key IS NULL
THEN
raise_application_error(-20000, 'mld_m234');
END IF;
IF :new.mld_melding_afgewezen IS NOT NULL
AND :new.mld_melding_geaccepteerd IS NOT NULL
THEN
raise_application_error(-20000, 'mld_m175');
END IF;
IF :new.mld_melding_geaccepteerd IS NOT NULL
AND :old.mld_melding_geaccepteerd IS NULL
AND :new.mld_melding_geaccepteerd_user IS NULL
THEN
SELECT USER
INTO :new.mld_melding_geaccepteerd_user
FROM DUAL;
END IF;
IF :new.mld_melding_verwerkt IS NOT NULL AND :old.mld_melding_verwerkt IS NULL THEN
-- De melding wordt nu verwerkt
IF :old.mld_melding_geaccepteerd IS NULL AND :old.mld_melding_afgemeld IS NULL THEN
raise_application_error(-20000, 'mld_m203');
ELSE
DECLARE
Dummy VARCHAR2(1);
BEGIN
SELECT 'X'
INTO Dummy
FROM mld_opdr MLD_O, mld_statusopdr MLD_SO
WHERE MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key
AND (MLD_SO.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
OR MLD_SO.mld_statusopdr_upper = 'MLD_AFGEMELD')
AND MLD_O.mld_melding_key = :new.mld_melding_key;
raise_application_error(-20000, 'mld_m192');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN raise_application_error(-20000, 'mld_m192');
END;
END IF;
ELSIF :new.mld_melding_afgemeld IS NOT NULL AND :old.mld_melding_afgemeld IS NULL THEN
-- De melding wordt nu afgemeld
IF :old.mld_melding_geaccepteerd IS NULL THEN
raise_application_error(-20000, 'mld_m202');
ELSIF :old.mld_melding_verwerkt IS NOT NULL THEN
raise_application_error(-20000, 'mld_m195');
END IF;
END IF;
IF :new.mld_melding_uitvoertijd2 IS NULL
THEN
:new.mld_melding_uitvoertijd2 := :new.mld_melding_uitvoertijd;
END IF;
-- Update melding status
IF :new.MLD_MELDING_AFGEWEZEN is not null THEN :new.MLD_MELDING_STATUS := 1;
ELSIF :new.MLD_MELDING_VERWERKT is not null THEN :new.MLD_MELDING_STATUS := 6;
ELSIF :new.MLD_MELDING_AFGEMELD is not null THEN :new.MLD_MELDING_STATUS := 5;
ELSIF :new.MLD_MELDING_GEACCEPTEERD is not null THEN :new.MLD_MELDING_STATUS := 4;
ELSIF :new.MLD_MELDING_INGEZIEN is not null THEN :new.MLD_MELDING_STATUS := 3;
ELSE :new.MLD_MELDING_STATUS := 2;
END IF;
END;
/
DEF_FAC_ENTITY ('MLD_MELDING_ORDERNR', 'Ordernr.', 'Ordernrs.', 'de','Orderno.');
CREATE_VIEW(mld_v_mld_opdrachtgeprint,MLD_NORMAAL_PRIVILEGE)
( MLD_OPDRACHT_KEY
, MLD_OPDRACHT_GEPRINT
, MLD_OPDRACHT_OMSCHRIJVING
, MLD_OPDR_BEDRIJFOPDR_VOLGNR
, MLD_OPDR_CONTACTPERSOON
, MLD_OPDR_UREN
, MLD_OPDR_UURLOON
, MLD_OPDR_KOSTEN
, MLD_OPDR_MATERIAAL
, MLD_OPDR_KOSTENPOST
, MLD_MELDING_KEY
, MLD_MELDING_USERNAME
, PRS_PERSLID_NR
, PRS_PERSLID_KEY
, MLD_MELDING_MELDER_NAAM -- Naam van persoon die de melding gedaan heeft.
, PRS_PERSLID_TELEFOONNR --
, PRS_PERSLID_GEBOUW_CODE --
, PRS_PERSLID_VERD_RUIMTE --
, PRS_AFDELING_NAAM -- Naam van de afdeling waartoe de persoon behoort die de melding heeft gedaan.
, ALG_LOCATIE_CODE
, ALG_GEBOUW_OMSCHRIJVING
, ALG_VERDIEPING_OMSCHRIJVING
, ALG_RUIMTE_OMSCHRIJVING
, ALG_TERREINVAK_OMSCHRIJVING
, MLD_STDMELDING_OMSCHRIJVING
, MLD_MELDING_OMSCHRIJVING
, MLD_MELDING_DATUM
, MLD_MELDING_UITVOERTIJD
, PRS_BEDRIJF_NAAM -- Naam van uitvoerende bedrijf of afdeling.
, PRS_BEDRIJF_POST_ADRES -- Postadres van uitvoerende bedrijf.
, PRS_BEDRIJF_POST_PLAATS -- Postcode en plaats van postadres uitvoerende bedrijf.
, PRS_BEDRIJF_CONTACTPERSOON -- Naam van contactpersoon van uitvoerende bedrijf of afdeling.
, PRS_BEDRIJF_TELEFOON -- Telefoonnr van contactpersoon van uitvoerende bedrijf of afdeling.
, PRS_OVEREENKOMST_NR )
AS SELECT MLD_O.mld_opdr_key
, MLD_O.mld_opdr_geprint
, MLD_O.mld_opdr_omschrijving
, MLD_O.mld_opdr_bedrijfopdr_volgnr
, MLD_O.mld_opdr_contactpersoon
, MLD_O.mld_opdr_uren
, MLD_O.mld_opdr_uurloon
, MLD_O.mld_opdr_kosten
, MLD_O.mld_opdr_materiaal
, ALG_K.alg_kostenpost_omschrijving
, MLD_M.mld_melding_key
, MLD_M.mld_melding_username
, MLD_P.prs_perslid_nr
, MLD_M.prs_perslid_key
, MLD_PG.prs_perslid_naam
, MLD_PG.prs_perslid_telefoonnr
, MLD_P.alg_gebouw_code
, TO_CHAR(MLD_P.alg_verdieping_volgnr)||'-'||MLD_P.alg_ruimte_nr
, PRS_A.prs_afdeling_omschrijving
, ALG_L.alg_locatie_code
, rtrim(ALG_G.alg_gebouw_code)||'-'||ALG_G.alg_gebouw_naam
, rtrim(TO_CHAR(ALG_G.alg_verdieping_volgnr))||'-'||ALG_G.alg_verdieping_omschrijving
, rtrim(ALG_G.alg_ruimte_nr)||'-'||ALG_G.alg_ruimte_omschrijving
, decode(alg_type,'T',rtrim(alg_terreinsector_code)||'-'||ALG_G.alg_onroerendgoed_omschrijving,'-')
, MLD_S.mld_stdmelding_omschrijving
, MLD_M.mld_melding_omschrijving
, MLD_M.mld_melding_datum
, MLD_M.mld_melding_uitvoertijd
, NVL(PRS_B.prs_bedrijf_naam,MLD_P.prs_afdeling_naam)
, PRS_B.prs_bedrijf_post_adres
, decode(PRS_B.prs_bedrijf_post_postcode,null,null,PRS_B.prs_bedrijf_post_postcode||' ')||PRS_B.prs_bedrijf_post_plaats
, NVL(PRS_B.prs_bedrijf_contact_persoon,MLD_P.prs_perslid_naam)
, NVL(PRS_B.prs_bedrijf_contact_telefoon,MLD_P.prs_perslid_telefoonnr)
, PRS_B.prs_overeenkomst_nr
FROM mld_opdr MLD_O
, mld_melding MLD_M
, mld_meldbron MLD_B
, ins_tab_discipline INS_D
, alg_locatie ALG_L
, mld_stdmelding MLD_S
, alg_v_onroerendgoed_gegevens ALG_G
, mld_v_mld_perslid_gegevens MLD_P
, mld_v_mld_perslid_gegevens MLD_PG
, prs_bedrijf PRS_B
, prs_afdeling PRS_A
, alg_kostenpost ALG_K
WHERE MLD_M.mld_ins_discipline_key = INS_D.ins_discipline_key
AND MLD_M.mld_alg_locatie_key = ALG_L.alg_locatie_key
AND MLD_M.mld_alg_onroerendgoed_keys = ALG_G.alg_onroerendgoed_keys
AND MLD_M.mld_stdmelding_key = MLD_S.mld_stdmelding_key
AND MLD_M.mld_meldbron_key = MLD_B.mld_meldbron_key
AND MLD_O.mld_melding_key = MLD_M.mld_melding_key
AND MLD_O.mld_uitvoerende_keys = PRS_B.prs_bedrijf_key (+)
AND MLD_O.mld_uitvoerende_keys = MLD_P.prs_perslid_key (+)
AND MLD_O.mld_alg_kostenpost_key = ALG_K.alg_kostenpost_key (+)
AND MLD_M.prs_afdeling_key = PRS_A.prs_afdeling_key (+)
AND MLD_M.prs_perslid_key = MLD_PG.prs_perslid_key (+);
CREATE_VIEW(mld_v_mld_meldingprint,MLD_NORMAAL_PRIVILEGE)
( MLD_MELDING_KEY
, MLD_MELDING_GEPRINT
, MLD_MELDING_USERNAME
, PRS_PERSLID_NR
, MLD_MELDING_MELDER_NAAM
, PRS_PERSLID_TELEFOONNR
, PRS_PERSLID_GEBOUW_CODE
, PRS_PERSLID_VERD_RUIMTE
, PRS_AFDELING_NAAM
, ALG_LOCATIE_CODE
, ALG_GEBOUW_OMSCHRIJVING
, ALG_VERDIEPING_OMSCHRIJVING
, ALG_RUIMTE_OMSCHRIJVING
, ALG_TERREINSECTOR_OMSCHRIJVING
, INS_DISCIPLINE_OMSCHRIJVING
, MLD_STDMELDING_OMSCHRIJVING
, MLD_MELDING_OMSCHRIJVING
, MLD_MELDING_ORDERNR
, MLD_MELDING_OPMERKING
, MLD_MELDING_DATUM
, MLD_MELDING_UITVOERTIJD
, MLD_MELDING_LEVERTIJD)
AS SELECT MLD_M.mld_melding_key
, MLD_M.mld_melding_geprint
, MLD_M.mld_melding_username
, MLD_PG.prs_perslid_nr
, NVL(MLD_M.mld_melding_melder_naam,MLD_PG.prs_perslid_naam)
, NVL(MLD_M.mld_melding_melder_telefoon,MLD_PG.prs_perslid_telefoonnr)
, MLD_PG.alg_gebouw_code
, TO_CHAR(MLD_PG.alg_verdieping_volgnr)||'-'||MLD_PG.alg_ruimte_nr
, NVL(PRS_A.prs_afdeling_naam,MLD_PG.prs_afdeling_naam)
, ALG_L.alg_locatie_code
, RTRIM(ALG_OG.alg_gebouw_code)||'-'||ALG_OG.alg_gebouw_naam
, RTRIM(TO_CHAR(ALG_OG.alg_verdieping_volgnr))||'-'||ALG_OG.alg_verdieping_omschrijving
, RTRIM(ALG_OG.alg_ruimte_nr)||'-'||ALG_OG.alg_ruimte_omschrijving
, DECODE(alg_type,'T',RTRIM(alg_terreinsector_code)||'-'||ALG_OG.alg_onroerendgoed_omschrijving,'-')
, INS_D.ins_discipline_omschrijving
, MLD_SM.mld_stdmelding_omschrijving
, MLD_M.mld_melding_omschrijving
, MLD_M.mld_melding_ordernr
, MLD_M.mld_melding_opmerking
, MLD_M.mld_melding_datum
, MLD_M.mld_melding_uitvoertijd
, 0
FROM MLD_MELDING MLD_M
, MLD_MELDBRON MLD_MB
, MLD_STDMELDING MLD_SM
, INS_TAB_DISCIPLINE INS_D
, ALG_LOCATIE ALG_L
, alg_v_onroerendgoed_gegevens ALG_OG
, mld_v_mld_perslid_gegevens MLD_PG
, PRS_AFDELING PRS_A
WHERE MLD_M.mld_ins_discipline_key = INS_D.ins_discipline_key
AND MLD_M.mld_alg_locatie_key = ALG_L.alg_locatie_key
AND MLD_M.mld_alg_onroerendgoed_keys = ALG_OG.alg_onroerendgoed_keys
AND MLD_M.mld_stdmelding_key = MLD_SM.mld_stdmelding_key
AND MLD_M.mld_meldbron_key = MLD_MB.mld_meldbron_key
AND MLD_M.prs_perslid_key = MLD_PG.prs_perslid_key (+)
AND PRS_A.prs_afdeling_key=MLD_M.prs_afdeling_key;
CREATE_TABLE(mld_statuses ,MLD_NORMAAL_PRIVILEGE)
(
mld_statuses_key
NUMBER(10)
CONSTRAINT mld_k_statuses_key PRIMARY KEY,
mld_statuses_omschrijving
VARCHAR2(30)
);
DELETE FROM mld_statuses;
insert into mld_statuses values ( 1, 'Verworpen' );
insert into mld_statuses values ( 2, 'Ingevoerd' );
insert into mld_statuses values ( 3, 'Ingezien' );
insert into mld_statuses values ( 4, 'Geaccepteerd' );
insert into mld_statuses values ( 5, 'Uitgevoerd' );
insert into mld_statuses values ( 6, 'Verwerkt' );
ALTER TABLE mld_melding
ADD (mld_melding_status
NUMBER(2)
CONSTRAINT mld_r_mld_statuses_key REFERENCES mld_statuses(mld_statuses_key)
);
CREATE_VIEW(mld_v_melding_status_gegevens,MLD_NORMAAL_PRIVILEGE) AS
SELECT M.mld_melding_key,
M.mld_melding_status,
S.mld_statuses_omschrijving,
DECODE(mld_melding_status,
1,mld_melding_afgewezen,
2,mld_melding_datum,
3,mld_melding_ingezien,
4,mld_melding_geaccepteerd,
5,mld_melding_afgemeld,
6,mld_melding_verwerkt,
NULL) mld_melding_lastdate,
M.mld_melding_datum,
'['||MD.ins_discipline_omschrijving||'/'||SM.mld_stdmelding_omschrijving||'] '||m.mld_melding_omschrijving mld_melding_omschrijving,
AF.prs_afdeling_key,AF.prs_afdeling_omschrijving,
P.prs_perslid_key,P.prs_perslid_naam,
M.mld_alg_onroerendgoed_keys,
L.alg_locatie_code||
DECODE(G.alg_gebouw_code,NULL,'',' - '||G.alg_gebouw_code)||
DECODE(G.alg_verdieping_volgnr,NULL,'',' - '||G.alg_verdieping_volgnr)||
DECODE(G.alg_ruimte_nr,NULL,'',' - '||G.alg_ruimte_nr)||
DECODE(G.alg_terreinsector_code,NULL,'',' - '||G.alg_terreinsector_code) alg_plaats_omschrijving,
M.mld_stdmelding_key,
AF.prs_afdeling_eenheid,
M.mld_alg_locatie_key,
M.mld_melding_melder_naam,
AF.prs_afdeling_kostenplaats,
M.mld_ins_discipline_key,
P.prs_perslid_upper,
AF.prs_afdeling_upper,
M.mld_melding_username
FROM mld_melding M,
mld_statuses S,
mld_discipline MD,
mld_stdmelding SM,
prs_afdeling AF,
prs_perslid P,
alg_v_allonrgoed_gegevens G,
alg_locatie L
WHERE M.mld_melding_status=S.mld_statuses_key
AND M.mld_ins_discipline_key=MD.ins_discipline_key
AND M.mld_stdmelding_key=SM.mld_stdmelding_key
AND M.prs_afdeling_key=AF.prs_afdeling_key (+)
AND M.prs_perslid_key=P.prs_perslid_key (+)
AND M.mld_alg_locatie_key=L.alg_locatie_key (+)
AND M.mld_alg_onroerendgoed_keys=G.alg_onroerendgoed_keys (+)
;
-- Refresh this new field
UPDATE mld_melding SET mld_melding_key=mld_melding_key;
drop index mld_i_mld_melding6;
create index mld_i_mld_melding6 on mld_melding(mld_ins_discipline_key,mld_melding_status,mld_melding_datum,prs_perslid_key,mld_stdmelding_key);
#endif // MLD
#ifdef RES
ALTER TABLE res_reservering ADD
(res_reservering_user_key
NUMBER(10)
CONSTRAINT res_r_res_reservering_user_key REFERENCES prs_perslid(prs_perslid_key),
res_reservering_omschrijving
VARCHAR2(30),
res_reservering_ordernr
VARCHAR2(12),
prs_afdeling_key
NUMBER(10)
CONSTRAINT res_r_prs_afdeling_key4 REFERENCES PRS_AFDELING (PRS_AFDELING_KEY),
res_reservering_telefoon
VARCHAR2(15)
);
-- Deze nieuwe kolommen ook in deze view opnemen
DEFINIEER_VIEW_AANWEZIG(res_reservering, res_reservering_verwijder,
res_v_aanwezigreservering,RES_NORMAAL_PRIVILEGE);
DEF_FAC_MESSAGE ('res_r_res_reservering_user' , 'Er zijn nog referenties van personen (invoerder) naar deze reservering.' ,'This reservation references persons as user.');
DEF_FAC_MESSAGE ('res_r_prs_afdeling_key4' , 'Er zijn nog referenties van afdelingen naar deze reservering.' ,'This reservation references a department.');
ALTER TABLE res_ruimte ADD
(res_ruimte_omschrijving
VARCHAR2(255)
);
ALTER TABLE res_artikel ADD
res_artikel_default
NUMBER(1);
ALTER TABLE res_artikel ADD
res_artikel_prijs_vast
NUMBER(1);
ALTER TABLE res_deel ADD
res_deel_prijs_vast
NUMBER(1);
-- Deze nieuwe kolommen ook in deze view opnemen
DEFINIEER_VIEW_AANWEZIG(res_artikel, res_artikel_verwijder,
res_v_aanwezigartikel,RES_NORMAAL_PRIVILEGE);
DEFINIEER_VIEW_AANWEZIG(res_deel, res_deel_verwijder,
res_v_aanwezigdeel, RES_NORMAAL_PRIVILEGE);
create index res_i_res_reservering3 on res_reservering(res_reservering_van);
CREATE OR REPLACE PACKAGE res AS
PROCEDURE Res_Maak_Opdracht(ReserveringKey IN NUMBER, OpstellingKey IN NUMBER);
FUNCTION Res_Check_ReserveringStatus(ReserveringKey IN NUMBER) RETURN BOOLEAN;
FUNCTION res_f_object_available(res_deel IN NUMBER, date_start IN DATE, date_end IN DATE) RETURN INTEGER;
FUNCTION res_f_validate_res_timechange (reserv_key IN NUMBER, date_start IN DATE, date_end IN DATE) RETURN INTEGER;
PRAGMA RESTRICT_REFERENCES (Res_Check_ReserveringStatus, WNDS, WNPS);
END res;
/
CREATE OR REPLACE PACKAGE BODY res AS
PROCEDURE Res_Maak_Opdracht(ReserveringKey IN NUMBER, OpstellingKey IN NUMBER) IS
CURSOR Opdr_bedrijf IS
SELECT DISTINCT(prs_bedrijf_key)
, prs_bedrijf_key
FROM res_v_aanwezigartikel
WHERE prs_bedrijf_key IS NOT NULL
AND res_artikel_key IN
(SELECT res_artikel_key
FROM res_v_aanwezigrsv_artikel
WHERE res_reservering_key = ReserveringKey);
CURSOR Opdr_afdeling IS
SELECT DISTINCT(prs_afdeling_key)
, prs_afdeling_key
FROM res_v_aanwezigartikel
WHERE prs_afdeling_key IS NOT NULL
AND res_artikel_key IN
(SELECT res_artikel_key
FROM res_v_aanwezigrsv_artikel
WHERE res_reservering_key = ReserveringKey);
CURSOR Opdr_discipline IS
SELECT DISTINCT(ins_discipline_key)
, ins_discipline_key
FROM ins_deel
WHERE ins_deel_key IN
(SELECT res_ins_deel_key
FROM res_v_aanwezigdeel
WHERE res_deel_key IN
(SELECT res_deel_key
FROM res_v_aanwezigrsv_deel
WHERE res_reservering_key = ReserveringKey));
OpdrachtStatus VARCHAR2(15);
OpdrachtKey NUMBER(10);
BEGIN
SELECT fac_entity_user_name
INTO OpdrachtStatus
FROM fac_entity_name
WHERE fac_entity_system_name = 'RES_OPDRACHT_NIEUW';
--
FOR BedrijfRec IN Opdr_Bedrijf
LOOP
BEGIN
INSERT INTO res_opdracht
( res_reservering_key
, res_opdracht_status
, prs_bedrijf_key)
VALUES(ReserveringKey
, OpdrachtStatus
, BedrijfRec.prs_bedrijf_key);
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN NULL;
END;
END LOOP;
--
FOR AfdelingRec IN Opdr_Afdeling
LOOP
BEGIN
INSERT INTO res_opdracht
( res_reservering_key
, res_opdracht_status
, prs_afdeling_key)
VALUES(ReserveringKey
, OpdrachtStatus
, AfdelingRec.prs_afdeling_key);
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN NULL;
END;
END LOOP;
--
FOR DisciplineRec IN Opdr_Discipline
LOOP
BEGIN
INSERT INTO res_opdracht
( res_reservering_key
, res_opdracht_status
, ins_discipline_key)
VALUES(ReserveringKey
, OpdrachtStatus
, DisciplineRec.ins_discipline_key);
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN NULL;
END;
END LOOP;
--
BEGIN
SELECT res_opdracht_key
INTO OpdrachtKey
FROM res_v_aanwezigopdracht
WHERE res_reservering_key = ReserveringKey
AND prs_bedrijf_key IS NULL
AND prs_afdeling_key IS NULL
AND ins_discipline_key IS NULL;
--
IF OpstellingKey IS NULL
THEN
UPDATE res_v_aanwezigopdracht RES_OPD
SET res_opdracht_verwijder = SYSDATE
WHERE res_opdracht_key = OpdrachtKey;
ELSE
--UPDATE res_v_aanwezigopdracht
--SET res_opdracht_status = OpdrachtStatus
--WHERE res_opdracht_key = OpdrachtKey;
NULL;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
IF OpstellingKey IS NOT NULL
THEN
INSERT INTO res_opdracht
( res_reservering_key
, res_opdracht_status)
VALUES(ReserveringKey
, OpdrachtStatus);
END IF;
END;
/* Als er nog opdrachten waarvan de artikelen/objecten niet meer in de kruistabellen
** staan, dan moeten deze ook uit de tabel res_opdracht verwijderd worden.
*/
UPDATE res_v_aanwezigopdracht RES_OPD
SET res_opdracht_verwijder = SYSDATE
WHERE res_reservering_key = ReserveringKey
AND prs_bedrijf_key IS NOT NULL
AND prs_bedrijf_key NOT IN
(SELECT prs_bedrijf_key
FROM res_v_aanwezigrsv_artikel R
, res_v_aanwezigartikel A
WHERE A.prs_bedrijf_key IS NOT NULL
AND A.res_artikel_key = R.res_artikel_key
AND R.res_reservering_key = ReserveringKey);
--
UPDATE res_v_aanwezigopdracht RES_OPD
SET res_opdracht_verwijder = SYSDATE
WHERE res_reservering_key = ReserveringKey
AND prs_afdeling_key IS NOT NULL
AND prs_afdeling_key NOT IN
(SELECT prs_afdeling_key
FROM res_v_aanwezigrsv_artikel R
, res_v_aanwezigartikel A
WHERE A.prs_afdeling_key IS NOT NULL
AND A.res_artikel_key = R.res_artikel_key
AND R.res_reservering_key = ReserveringKey);
--
UPDATE res_v_aanwezigopdracht RES_OPD
SET res_opdracht_verwijder = SYSDATE
WHERE res_reservering_key = ReserveringKey
AND ins_discipline_key IS NOT NULL
AND ins_discipline_key NOT IN
(SELECT I.ins_discipline_key
FROM res_v_aanwezigrsv_deel R
, res_v_aanwezigdeel A
, ins_v_aanwezigdeel I
WHERE A.res_deel_key = R.res_deel_key
AND A.res_ins_deel_key = I.ins_deel_key
AND R.res_reservering_key = ReserveringKey);
--
END RES_MAAK_OPDRACHT;
/* Onderstaande functie checkt of de status van OPTIE --> DEFINITIEF mag,
* m.a.w. of de reservering door kan gaan.
*/
FUNCTION Res_Check_ReserveringStatus (ReserveringKey IN NUMBER) RETURN BOOLEAN IS
RuimteGevonden NUMBER(1);
ObjectGevonden NUMBER(1);
StatusDefinitief VARCHAR2(80);
van DATE;
tot DATE;
RuimteKey NUMBER(10);
BEGIN
SELECT res_reservering_van
, res_reservering_tot
, res_ruimte_key
INTO van
, tot
, RuimteKey
FROM res_reservering
WHERE res_reservering_key = ReserveringKey;
--
SELECT fac_message_text
INTO StatusDefinitief
FROM fac_message
WHERE fac_message_code = 'RES_M002';
--
-- Is de ruimte van deze reservering binnen de reserveringsperiode
-- al definitief gereserveerd in een andere reservering?
-- NB. Dezelfde selectiecriteria worden ook gebruikt in RES011 en RES111
-- in de procedure Printen, voor het aanmaken van een conflicten-lijst.
--
BEGIN
SELECT 1
INTO RuimteGevonden
FROM res_reservering R
, res_alg_ruimte A
WHERE R.res_ruimte_key = A.res_ruimte_key
AND R.res_reservering_status = StatusDefinitief
AND NOT ( R.res_reservering_tot <= van
OR R.res_reservering_van >= tot)
AND R.res_reservering_key <> ReserveringKey
AND R.res_reservering_verwijder IS NULL
AND A.alg_ruimte_key IN (SELECT K.alg_ruimte_key
FROM res_alg_ruimte K
WHERE K.res_ruimte_key = RuimteKey);
EXCEPTION
WHEN NO_DATA_FOUND THEN RuimteGevonden := 0;
WHEN TOO_MANY_ROWS THEN RuimteGevonden := 2;
END;
--
-- Zijn de objecten die in de huidige reservering nodig zijn al bij een
-- andere reservering definitief vastgelegd binnen dezelfde periode?
-- NB. Dezelfde selectiecriteria worden ook gebruikt in RES011 en RES111
-- in de procedure Printen, voor het aanmaken van een conflicten-lijst.
--
BEGIN
SELECT 1
INTO ObjectGevonden
FROM res_rsv_deel D
WHERE res_rsv_deel_verwijder IS NULL
AND EXISTS (SELECT ''
FROM res_reservering R
WHERE NOT ( R.res_reservering_tot <= van
OR R.res_reservering_van >= tot)
AND R.res_reservering_verwijder IS NULL
AND R.res_reservering_key <> ReserveringKey
AND R.res_reservering_key = D.res_reservering_key
AND R.res_reservering_status = StatusDefinitief
)
AND EXISTS (SELECT ''
FROM res_rsv_deel R
WHERE R.res_reservering_key = ReserveringKey
AND R.res_deel_key = D.res_deel_key
AND R.res_rsv_deel_verwijder IS NULL);
EXCEPTION
WHEN NO_DATA_FOUND THEN ObjectGevonden := 0;
WHEN TOO_MANY_ROWS THEN ObjectGevonden := 2;
END;
--
IF (RuimteGevonden + ObjectGevonden) = 0
THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END Res_Check_ReserveringStatus;
FUNCTION res_f_object_available (res_deel IN NUMBER,
date_start IN DATE,
date_end IN DATE) RETURN INTEGER IS
temp NUMBER;
CURSOR query(rkey NUMBER, ds DATE, de DATE) IS
SELECT 1 FROM res_v_aanwezigreservering r
WHERE r.res_reservering_key IN (SELECT res_reservering_key
FROM res_v_aanwezigrsv_deel
WHERE res_deel_key = rkey)
AND NOT ((ds >= r.res_reservering_tot) OR (de <= r.res_reservering_van));
BEGIN
OPEN query(res_deel, date_start, date_end);
FETCH query INTO temp;
IF query%FOUND = TRUE THEN
RETURN 0;
END IF;
RETURN 1;
END;
FUNCTION res_f_validate_res_timechange (reserv_key IN NUMBER,
date_start IN DATE,
date_end IN DATE) RETURN INTEGER IS
CURSOR query(r_key NUMBER, ds DATE, de DATE) IS
SELECT rd.res_deel_key
FROM res_v_aanwezigrsv_deel rd, res_v_aanwezigreservering r
WHERE rd.res_reservering_key <> r_key
AND rd.res_reservering_key = r.res_reservering_key
AND rd.res_deel_key IN
(SELECT rv.res_deel_key
FROM res_v_aanwezigrsv_deel rv
where rv.res_reservering_key = r_key)
AND ((ds >= r.res_reservering_van AND ds < r.res_reservering_tot)
OR (de > r.res_reservering_van AND de <= r.res_reservering_tot));
temp NUMBER;
BEGIN
OPEN query(reserv_key, date_start, date_end);
FETCH query INTO temp;
IF (query%FOUND = TRUE) THEN
RETURN 0;
END IF;
RETURN 1;
END;
END res;
/
#endif // RES
#ifdef WEB
DEF_FAC_FUNCTIE('WEB_OBJMAN', 'Business:Objectbeheer', 'WEB', 1);
DEF_FAC_FUNCTIE('WEB_RESFOF', 'Frontoffice:Reserveringen', 'WEB', 2);
DEF_FAC_FUNCTIE('WEB_MLDFOF', 'Frontoffice:Meldingen', 'WEB', 2);
DEF_FAC_FUNCTIE('WEB_PRSBOF', 'Backoffice:Persoonsgegevens', 'WEB', 2);
DEF_FAC_ENTITY ('WEB_GEBRUIKER', 'WEB-gebruiker','WEB-gebruikers', 'de','WEB-user');
DEF_FAC_ENTITY ('WEB_GEBRUIKER_FUNCTIES', 'WEB-functies',NULL,NULL,'WEB-functions');
DROP VIEW FAC_V_FCLTWEBFUNCTIE_DISC;
CREATE_VIEW (FAC_V_WEBFUNCTIE_DISCIPLINE, FAC_NORMAAL_PRIVILEGE) AS
SELECT * FROM FAC_V_FUNCTIE_DISCIPLINE FD
WHERE (FD.fac_functie_discipline_type <>'F'
AND FD.fac_functie_discipline_key IN (SELECT ins_discipline_key
FROM all_v_aanwezigdiscipline)
AND FD.fac_functie_discipline_key IN (SELECT fac_functie_discipline_key
FROM FAC_GEBRUIKER G
WHERE G.fac_gebruiker_module=FD.fac_functie_discipline_module
AND G.fac_gebruiker_kolomkey=FD.fac_functie_discipline_key
AND G.fac_gebruiker_username='FCLTWEB'))
OR (FD.fac_functie_discipline_type ='F' AND FD.fac_functie_discipline_module='WEB');
CREATE_TABLE(web_user_mess_actions,WEB_NORMAAL_PRIVILEGE)
(
web_user_mess_actions_key
NUMBER(10)
CONSTRAINT web_mes_act_k_rl_key PRIMARY KEY,
web_user_mess_action_dsc
VARCHAR2(255)
CONSTRAINT web_c_web_mes_act_dsc NOT NULL
);
CREATE_TABLE(WEB_USER_MESS_TEXT,WEB_NORMAAL_PRIVILEGE)
(
web_user_mess_text_key
NUMBER(10)
CONSTRAINT web_mes_txt_k_rl_key PRIMARY KEY,
web_user_mess_text_code
VARCHAR2(6)
CONSTRAINT web_c_u_mes_txt_code UNIQUE,
web_user_mess_text_dsc VARCHAR2(255)
CONSTRAINT web_c_web_mes_txt_dsc NOT NULL,
web_user_mess_actions_key
NUMBER(10)
CONSTRAINT web_mess_txt_web_mess_act_key REFERENCES web_user_mess_actions(web_user_mess_actions_key)
);
CREATE_TABLE(web_user_messages, WEB_NORMAAL_PRIVILEGE)
(
web_user_message_key
NUMBER(10),
prs_perslid_key_sender
NUMBER(10)
CONSTRAINT web_mess_send_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key),
prs_perslid_key_receiver
NUMBER(10)
CONSTRAINT web_mess_rec_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key),
web_user_mess_actions_key
NUMBER(10)
CONSTRAINT web_mess_web_mess_action_key REFERENCES WEB_USER_MESS_ACTIONS(WEB_USER_MESS_ACTIONS_KEY),
web_user_mess_dsc
VARCHAR2(255)
CONSTRAINT web_c_web_mes_dsc NOT NULL,
web_user_mess_action_soort
CHAR(1),
web_user_mess_action_status
CHAR(1),
web_user_mess_action_params
VARCHAR2(255),
web_user_mess_action_datum
DATE
DEFAULT SYSDATE);
CREATE INDEX fac_i_web_user_messages1 ON web_user_messages( prs_perslid_key_receiver, web_user_mess_action_status );
CREATE INDEX fac_i_web_user_messages2 ON web_user_messages(web_user_mess_action_datum);
CREATE SEQUENCE web_s_web_message_text_key MINVALUE 1;
CREATE SEQUENCE web_s_web_message_key MINVALUE 1;
CREATE SEQUENCE web_s_web_message_action_key MINVALUE 3;
CREATE_TRIGGER(web_t_web_user_mess_act_key)
BEFORE INSERT OR UPDATE ON web_user_mess_actions
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(web_user_mess_actions_key,web_s_web_message_action_key);
END;
/
CREATE_TRIGGER(web_t_web_user_mess_text_key)
BEFORE INSERT OR UPDATE ON web_user_mess_text
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(web_user_mess_text_key, web_s_web_message_text_key);
END;
/
CREATE_TRIGGER(web_t_web_user_message_key)
BEFORE INSERT OR UPDATE ON web_user_messages
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(web_user_message_key, web_s_web_message_key);
END;
/
CREATE_TRIGGER(web_t_web_mes_on_changemld)
AFTER INSERT OR UPDATE ON MLD_MELDING
FOR EACH ROW
BEGIN
DECLARE mes VARCHAR2(255);
actkey NUMBER;
code VARCHAR2(6);
keepmes NUMBER;
BEGIN
IF :old.MLD_MELDING_AFGEWEZEN IS NULL and :new.MLD_MELDING_AFGEWEZEN is NOT NULL THEN
code := 'AFWMLD';
ELSIF :old.MLD_MELDING_GEACCEPTEERD IS NULL and :new.MLD_MELDING_GEACCEPTEERD is NOT NULL THEN
code := 'ACPMLD';
ELSIF :old.MLD_MELDING_AFGEMELD IS NULL and :new.MLD_MELDING_AFGEMELD is NOT NULL THEN
code := 'AFMMLD';
END IF;
BEGIN
SELECT web_user_mess_text_dsc, web_user_mess_actions_key
INTO mes, actkey
FROM web_user_mess_text
WHERE web_user_mess_text_code = code;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
END;
IF actkey IS NOT NULL THEN
INSERT INTO web_user_messages
(prs_perslid_key_sender,
prs_perslid_key_receiver,
web_user_mess_actions_key,
web_user_mess_dsc,
web_user_mess_action_status,
web_user_mess_action_params) VALUES
(NULL,
:new.PRS_PERSLID_KEY,
actkey,
mes,
1,
:new.MLD_MELDING_KEY);
END IF;
keepmes := 5;
DELETE FROM web_user_messages
WHERE web_user_mess_action_datum < (sysdate - KEEPMES);
END;
END;
/
CREATE OR REPLACE TRIGGER web_t_web_mes_on_changeres
AFTER UPDATE ON RES_RESERVERING
FOR EACH ROW
BEGIN
DECLARE mes VARCHAR2(255);
actkey NUMBER;
code VARCHAR2(6);
keepmes NUMBER;
BEGIN
code := null;
IF :old.RES_RESERVERING_STATUS = 'Optie' AND :new.RES_RESERVERING_STATUS = 'Definitief' THEN
code := 'BEVRES';
END IF;
IF code IS NOT NULL THEN
BEGIN
SELECT web_user_mess_text_dsc, web_user_mess_actions_key
INTO mes, actkey
FROM web_user_mess_text
WHERE web_user_mess_text_code = code;
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
END;
IF actkey IS NULL THEN
mes := 'RESERVATION UPDATED';
END IF;
INSERT INTO web_user_messages
(prs_perslid_key_sender,
prs_perslid_key_receiver,
web_user_mess_actions_key,
web_user_mess_dsc,
web_user_mess_action_status,
web_user_mess_action_params) VALUES
(NULL,
:new.RES_RESERVERING_USER_KEY,
actkey,
mes,
1,
:new.RES_RESERVERING_KEY);
END IF;
keepmes := 5;
DELETE FROM web_user_messages
WHERE web_user_mess_action_datum < (SYSDATE - keepmes);
END;
END;
/
CREATE OR REPLACE PACKAGE web AS
FUNCTION web_f_has_new_messages (perslidKey IN NUMBER) RETURN INTEGER;
PRAGMA RESTRICT_REFERENCES (web_f_has_new_messages, WNDS, WNPS);
END web;
/
CREATE OR REPLACE PACKAGE BODY web AS
FUNCTION web_f_has_new_messages (perslidKey IN NUMBER) RETURN INTEGER AS
temp NUMBER;
CURSOR query(persKey NUMBER) IS
SELECT m.web_user_message_key
FROM web_user_messages m
WHERE m.prs_perslid_key_receiver = persKey
AND m.web_user_mess_action_status = '1';
BEGIN
OPEN query(perslidKey);
FETCH query INTO temp;
IF query%FOUND = TRUE THEN
return 1;
END IF;
return 0;
END;
END;
/
INSERT INTO web_user_mess_actions (web_user_mess_actions_key,web_user_mess_action_dsc)
VALUES (1, 'complains/complains.asp?reado=&mld_key=');
INSERT INTO web_user_mess_actions (web_user_mess_actions_key,web_user_mess_action_dsc)
VALUES (2, 'reservation/eu_reservation.asp?reado=&res_key=');
/* message texts for predefined complain events */
INSERT INTO web_user_mess_text (web_user_mess_text_code,web_user_mess_text_dsc,web_user_mess_actions_key)
VALUES ('NEWMLD','Melding is geregistreerd',1);
INSERT INTO web_user_mess_text (web_user_mess_text_code,web_user_mess_text_dsc,web_user_mess_actions_key)
VALUES ('AFWMLD','Melding is afgewezen',1);
INSERT INTO web_user_mess_text (web_user_mess_text_code,web_user_mess_text_dsc,web_user_mess_actions_key)
VALUES ('INGMLD','Melding is ingezien',1);
INSERT INTO web_user_mess_text (web_user_mess_text_code,web_user_mess_text_dsc,web_user_mess_actions_key)
VALUES('ACPMLD','Melding is geaccepteerd',1);
INSERT INTO web_user_mess_text (web_user_mess_text_code,web_user_mess_text_dsc,web_user_mess_actions_key)
VALUES ('AFMMLD','Melding is gereed gemeld',1);
INSERT INTO web_user_mess_text (web_user_mess_text_code,web_user_mess_text_dsc,web_user_mess_actions_key)
VALUES ('VERMLD','Melding is verwerkt',1);
INSERT INTO web_user_mess_text (web_user_mess_text_code,web_user_mess_text_dsc,web_user_mess_actions_key)
VALUES('UPDMLD','Melding is gewijzigd',1);
INSERT INTO web_user_mess_text (web_user_mess_text_code,web_user_mess_text_dsc,web_user_mess_actions_key)
VALUES ('BEVRES','Reservering is bevestigd',2);
INSERT INTO web_user_mess_text (web_user_mess_text_code,web_user_mess_text_dsc,web_user_mess_actions_key)
VALUES ('UPDRES','Reservering is gewijzigd',2);
CREATE_VIEW (FAC_V_WEBFUNCTIE_DISCIPLINE, FAC_NORMAAL_PRIVILEGE) AS
SELECT * FROM FAC_V_FUNCTIE_DISCIPLINE FD
WHERE (FD.fac_functie_discipline_type <>'F'
AND FD.fac_functie_discipline_key IN (SELECT ins_discipline_key
FROM all_v_aanwezigdiscipline))
OR (FD.fac_functie_discipline_type ='F' AND FD.fac_functie_discipline_module='WEB');
#endif // WEB
#ifdef SCH
CREATE_VIEW(sch_v_programma, SCH_NORMAAL_PRIVILEGE)
(alg_locatie_key,
alg_locatie_code,
alg_locatie_omschrijving,
alg_locatie_adres,
alg_locatie_postcode,
alg_locatie_plaats,
alg_gebouw_key,
alg_gebouw_omschrijving,
alg_gebouw_upper,
alg_verdieping_key,
alg_verdieping_omschrijving,
alg_verdieping_volgnr,
alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_upper_nr,
alg_ruimte_omschrijving,
alg_ruimte_bruto_vloeropp,
alg_srtruimte_key,
sch_srtvloer_key,
sch_srtvloer_omschrijving,
sch_activiteit_key,
sch_activiteit_code,
sch_activiteit_volgnr,
sch_nivo_key,
sch_nivo_correctiefactor,
sch_frequentie_code) AS
SELECT ALG_L.alg_locatie_key,
ALG_L.alg_locatie_code,
ALG_L.alg_locatie_omschrijving,
ALG_L.alg_locatie_adres,
ALG_L.alg_locatie_postcode,
ALG_L.alg_locatie_plaats,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_omschrijving,
ALG_G.alg_gebouw_upper,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving,
ALG_V.alg_verdieping_volgnr,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_upper_nr,
ALG_R.alg_ruimte_omschrijving,
ALG_R.alg_ruimte_bruto_vloeropp,
ALG_R.alg_srtruimte_key,
SCH_SV.sch_srtvloer_key,
SCH_SV.sch_srtvloer_omschrijving,
SCH_A.sch_activiteit_key,
SCH_A.sch_activiteit_code,
SCH_A.sch_activiteit_volgnr,
SCH_NR.sch_nivo_key,
SCH_NR.sch_nivo_og_correctiefactor,
SCH_P_SCH_BepaalFrequentieCode(
ALG_R.alg_srtruimte_key,
SCH_SV.sch_srtvloer_key,
SCH_A.sch_activiteit_key,
SCH_NR.sch_nivo_key)
FROM alg_locatie ALG_L, alg_gebouw ALG_G,
alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R,
alg_onrgoedkenmerk ALG_OK,
sch_v_srtvloer SCH_SV, sch_activiteit SCH_A,
sch_v_nivo_ruimte SCH_NR
WHERE ALG_L.alg_locatie_key = ALG_G.alg_locatie_key
AND ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key
AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key
AND ALG_R.alg_ruimte_key = ALG_OK.alg_onrgoed_key (+)
AND ALG_OK.alg_onrgoedkenmerk_waarde = TO_CHAR(SCH_SV.sch_srtvloer_key (+))
AND ALG_R.alg_ruimte_key = SCH_NR.alg_ruimte_key;
#endif // SCH
#ifdef FAC
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor 4.12'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor 4.12'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
#endif // FAC