diff --git a/ALG/.gitignore b/ALG/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/ALG/ALGSQL.H b/ALG/ALGSQL.H new file mode 100644 index 00000000..892c595c --- /dev/null +++ b/ALG/ALGSQL.H @@ -0,0 +1,61 @@ +/* SET_DWGUPTODATE: set de dwg_uptodate-velden op SYSDATE van de records die + * nog niet een waarde hebben. + * TRICKY: er wordt ipv. '=' 'IN' gebruikt, omdat reference_key meestal + * een SELECT-statement is en IN gelijk is aan = voor een keiharde waarde. + * + * History: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * 12-07-96 EH Een varariant van SET_VERWIJDER_CHILDREN toegevoegd t.b.v. + * ins_deel. + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 01-05-96 Created + */ +#define SET_DWGUPTODATE(table, primary_key, reference_key, dwg_uptodate) \ + BEGIN \ + UPDATE table \ + SET dwg_uptodate = SYSDATE \ + WHERE dwg_uptodate IS NULL \ + AND primary_key IN reference_key; \ + EXCEPTION \ + WHEN NO_DATA_FOUND \ + THEN NULL; \ + END + +#define SET_VERWIJDER_CHILDREN_DEEL(child_table, parent_key, parent_verwijder, \ + child_verwijder, child_key) \ + BEGIN \ + IF :new.parent_verwijder IS NOT NULL \ + THEN \ + UPDATE child_table \ + SET child_verwijder = SYSDATE \ + WHERE \ + child_table.child_key = :new.parent_key AND \ + child_verwijder IS NULL; \ + END IF; \ + END + diff --git a/ALG/ALG_IND.SRC b/ALG/ALG_IND.SRC new file mode 100644 index 00000000..e116b99a --- /dev/null +++ b/ALG/ALG_IND.SRC @@ -0,0 +1,65 @@ +#ifdef ALG // 13-03-96 AH +/* + * Revisie: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * 26-06-1998 BIV - LOG#1906 Indexen voor Alg_ruimte toegevoegd. + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * 07-10-96 AH Indexen voor Objectdeel, Systeemcluster, Bouwdeel enz. + * toegevoegd + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 22-01-96 AH Index ALG_I_ALG_TERREINSECTOR1 toegevoegd. + * 18-01-96 RW remake + */ + + +create index alg_i_alg_district1 on alg_district(alg_regio_key); + +create index alg_i_alg_locatie1 on alg_locatie(alg_district_key); + +CREATE INDEX alg_i_alg_terreinsector1 ON alg_terreinsector(alg_locatie_key); + +create index alg_i_alg_gebouw1 on alg_gebouw(alg_locatie_key); +create index alg_i_alg_gebouw2 on alg_gebouw(alg_srtgebouw_key); + +create index alg_i_alg_verdieping1 on alg_verdieping(alg_gebouw_key); + +create index alg_i_alg_ruimte1 on alg_ruimte(alg_verdieping_key); +create index alg_i_alg_ruimte2 on alg_ruimte(alg_srtruimte_key); +create index alg_i_alg_ruimte3 on alg_ruimte(alg_ruimte_key, alg_ruimte_nr); + +CREATE INDEX alg_i_alg_objectdeel1 ON alg_objectdeel(alg_locatie_key); +CREATE INDEX alg_i_alg_systeemcluster1 ON alg_systeemcluster(alg_objectdeel_key); +CREATE INDEX alg_i_alg_gebouw3 ON alg_gebouw(alg_systeemcluster_key); +CREATE INDEX alg_i_alg_terreinsector2 ON alg_terreinsector(alg_systeemcluster_key); +CREATE INDEX alg_i_alg_bouwdeel1 ON alg_bouwdeel(alg_gebouw_key); +CREATE INDEX alg_i_alg_verdieping2 ON alg_verdieping(alg_bouwdeel_key); + +#endif // ALG diff --git a/ALG/ALG_INI.SRC b/ALG/ALG_INI.SRC new file mode 100644 index 00000000..e2cfc1ad --- /dev/null +++ b/ALG/ALG_INI.SRC @@ -0,0 +1,153 @@ +#ifdef ALG // 13-03-96 AH + +/* + * ALG tables for Facilitor: installation time population + */ + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 20-05-98 KTH Gebruik macro om FAC_MODULE te vullen + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * 20-08-97 KTH LOG#1434: #ifdef IBG de Ruimtesoorten voordefinieren + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * 29-07-96 KTH De default data voor ALG_SRTGEBOUW verwijderd omdat dat + * toch overal verschilt. Liever in apart data-script. + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * 16-04-96 KTH #ifdef DATA om default vulling gezet + * --- 01.13 --- + * --- 01.12 --- + * 03-04-96 PF Initiele vulling toegevoegd + * 01-04-96 KTH 02.04 + * 19-03-96 KTH 02.03 + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 04-03-96 PF 02.02 + * 14-02-96 PF 02.01: unique constraints ipv triggers + * 05-02-96 KTH Spool toegevoegd + * 03-01-96 PF Gebruik sysdate + * 13-10-95 PF Creation + */ + +_FAC_MODULE('ALG','Onroerend goed') + +#ifdef DATA +#ifdef IBG +/* 20-08-97/KTH LOG#1434: Voor IBG de Ruimtesoorten voordefinieren */ +DELETE FROM alg_srtruimte; +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Accuruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Aircoruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Archiefruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Berging'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Berging rijwielen/bromfietsen'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Bibliotheek'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Brandslanghaspelkast'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Buffet'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('BZB-ruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('CV-ruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Computerruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Concierge'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Containerruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Couverteerruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte dames'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte heren'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Filterruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Gang'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Gang/portaal'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Garderobe'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Hal'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Hydrofoorruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Input'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Installatieruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Instructieruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kantine'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kantoorruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kast'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Ketelhuis'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Keuken'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte dames'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte heren'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kluis'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koekoek'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koelmachineruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koeltoren'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Laagspanningsruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Leidingen'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Lift'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Liftmachinekamer'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Lorrie'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Luchtbehandelingsruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Magazijn'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast elektra'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast gas'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast ptt'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Noodstroomaggregaat'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onbekend'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onderhoud'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onderzoekruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Operatorruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Opslagruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Output'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Patio'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Pauzeruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Portaal'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Portier'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Postkamer'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Printerruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Provisieruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Rekencentrum'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Reproruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Schacht'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Schakelruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Snijkamer'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Spoelkeuken'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Spreekkamer'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Tekenruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Technischeruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet dames'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet heren'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet invaliden'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Urinoir'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte dames'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte heren'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Traforuimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Trappenhuis'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Uitgifte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Ventilatorruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Vergaderruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Verkeersruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Vouwruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Wachtruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Werkkast'); +COMMIT; +#endif // IBG +#endif // DATA + +#endif // ALG diff --git a/ALG/ALG_SEQ.SRC b/ALG/ALG_SEQ.SRC new file mode 100644 index 00000000..60258c87 --- /dev/null +++ b/ALG/ALG_SEQ.SRC @@ -0,0 +1,61 @@ +#ifdef ALG // 13-03-96 AH +/* + * Revisie: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 20-05-98 BIV ALG_S_ALG_SRTVLOER_KEY toegevoegd + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * 29-11-96 AH ALG_S_ALG_SRTVERDIEPING_KEY toegevoegd + * 28-11-96 AH ALG_S_ALG_SRTTERREIN_KEY toegevoegd + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * 07-10-96 AH Nieuwe sequences voor Objectdeel, Systeemcluster, Bouwdeel + * toegevoegd + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 22-05-96 AH ALG_KOSTENPOST toegevoegd + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * + */ + +CREATE SEQUENCE alg_s_alg_import_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_regio_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_district_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_locatie_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_onroerendgoed_keys MINVALUE 1; +CREATE SEQUENCE alg_s_alg_srtgebouw_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_srtruimte_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_kostenpost_key MINVALUE 1; + +CREATE SEQUENCE alg_s_alg_objectdeel_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_systeemcluster_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_bouwdeel_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_srtterrein_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_srtverdieping_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_srtvloer_key MINVALUE 1; + + +#endif // ALG diff --git a/ALG/ALG_TAB.SRC b/ALG/ALG_TAB.SRC new file mode 100644 index 00000000..99e76f00 --- /dev/null +++ b/ALG/ALG_TAB.SRC @@ -0,0 +1,892 @@ +#ifdef ALG // 13-03-96 AH + +/* ALG\CREA_TAB + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 22-05-1998 KTH Foutieve komma achter ALTER TABLE bij ALG_RUIMTE_OMTREK verwijderd + * 11/05/1998 BIV Tabel ALG_SRTVLOER toegevoegd. + * --- 01.36 --- + * --- 01.35 --- + * 16/04/1998 AH Controle op vulling AKZ-velden nu in de schermen ALG114 en ALG119 + * 09/04/1998 AH Extra AKZ-velden in ALG_GEBOUW, ALG_TERREINSECTOR + * --- 01.34 --- + * 03/02/1998 AH ALG_VERDIEPING_IN_BEWERKING toegevoegd. + * 14/01/1998 AH Reference-controle op ALG_SRTRUIMTE in ALG_RUIMTE aangepast + * 13/11/1997 AH #1473, Constraintnamen toegevoegd + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * 29-07-97 AH LOG#1400, ALG_IMPORT_RUIMTENR nu 10 ipv 6 + * 28-07-97 AH IMPORT_SRTVLOER: In ALG_IMPORT-table moet ALG_IMPORT_VLOER-kolom toegevoegd + * worden + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * 16-04-97 AH 3 CREATE TABLE's gewijzigd in CREATE_TABLE() tbv CREA_BBS + * --- 01.26 --- + * --- 01.25 --- + * 31-01-97 AH DOOS_IMP: DOOS_-tabellen aangemaakt voor import. + * --- 01.24 --- + * 28-11-96 AH Voor uitbrieding op datamodel voor BEBIS extra velden in + * ALG-tabellen toegevoegd. + * ACADKEY's uitgebreid naar 10 chars + * --- 01.23 --- + * --- 01.22 --- + * 07-11-96 AH LOG#976: ALG_RUIMTE-velden toevoegd voor SCH-module + * --- 01.21 --- + * 07-10-96 AH ALG_OBJECTDEEL, ALG_SYSTEEMCLUSTER, ALG_BOUWDEEL toegevoegd + * ALG_REGIO, ALG_DISTRICT, ALG_LOCATIE, ALG_GEBOUW, + * ALG_TERREINSECTOR, ALG_VERDIEPING aangepast. + * --- 01.20 --- + * 18-09-96 KTH ALG_KOSTENPOST moet een NORMAAL_PRIVILEGE hebben omdat die + * wordt aangepast bij het verwerken van een opdracht + * --- 01.19 --- + * 18-07-96 RW ALG_TERREINSECTOR_CODE/NAAM toegevoegd + * 17-07-96 RW ALG_GEBOUW_CODE/NAAM toegevoegd. + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 22-05-96 AH ALG_KOSTENPOST toegevoegd. + * 15-05-96 EH Velden alg_locatie_verantw en alg_locatie_verantw_tel + * toegevoegd aan alg_locatie. + * 01-05-96 AH ..\COMSQL.H aangepast. + * 29-04-96 RW Privileges aangepast + * 22-04-96 AH Typeveld van ALG_VERDIEPING_KEY in ruimte aangemaakt, deze + * ontbrak. (#535) + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 01-04-96 KTH Gebuik CREATE_TABLE() + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 13-02-96 PF UNIQUE constraint toegevoegd ipv de triggers + * NB: hierdoor klein functionaliteitsverschil als + * LOCATIE_CODE_BINNEN_REGIO is vervallen: dit is nu + * 'LOCATIE_CODE_BINNEN_world'. locatie_code was al uniek; + * het onderscheid werd gemaakt op de omschrijving. + * Analoog: RUIMTE_NUMMER_BINNEN_GEBOUW: binnen verdieping + * is ContourA-eis, dus deze (uniek binnen verdieping) is + * gekozen. + * Ook optie DISTRICT_BINNEN_REGIO is vervallen. Dit is nu + * altijd zo. + * 19-01-96 AH ALG_TERREINSECTOR toegevoegd. + * 17-01-96 AH De UNIQUE uit alg_locatie bij alg_locatie_code gehaald. + * Deze UNIQUE moet alleen op aanwezige locaties komen, + * als trigger. + * 12-01-96 PF default datum veranderd + * 12-01-96 KTH alg_import toegevoegd + * 21-12-95 AH alg_ruimte_omschrijving mag NULL zijn. + * 28-11-95 PF alg_verdieping_tekening toegevoegd + * 30-11-95 KTH alg_locatie_tekening toegevoegd + * 01-12-95 KTH alg_gebouw_acadkey en alg_ruimte_acadkey toegevoegd + * 05-12-95 EH alle #bco verwijderd. + * + */ + +#include "comsql.h" + +CREATE_TABLE(alg_regio,NORMAAL_PRIVILEGE) +( + alg_regio_key + NUMBER(10) + CONSTRAINT alg_k_alg_regio_key PRIMARY KEY, + alg_regio_omschrijving + VARCHAR2(30) + NOT_NULL(alg_regio_omschrijving, alg_c_alg_regio_omschrijving), + alg_regio_upper + VARCHAR2(30) + NOT_NULL(alg_regio_upper, alg_c_alg_regio_upper), + alg_regio_aanmaak + DATE + DEFAULT SYSDATE + CONSTRAINT alg_c_alg_regio_aanmaak NOT NULL, + alg_regio_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT alg_u_alg_regio_upper UNIQUE(alg_regio_upper, alg_regio_verwijder) +); + +CREATE_TABLE(alg_district,NORMAAL_PRIVILEGE) +( + alg_district_key + NUMBER(10) + CONSTRAINT alg_k_alg_district_key PRIMARY KEY, + alg_regio_key + NUMBER(10) + CONSTRAINT alg_r_alg_regio_key REFERENCES alg_regio(alg_regio_key), + alg_district_omschrijving + VARCHAR2(30) + NOT_NULL(alg_district_omschrijving, alg_c_alg_district_omschr), + alg_district_upper + VARCHAR2(30) + NOT_NULL(alg_district_upper, alg_c_alg_district_upper), + alg_district_aanmaak + DATE + DEFAULT SYSDATE + CONSTRAINT alg_c_alg_district_aanmaak NOT NULL, + alg_district_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT alg_u_alg_district_upper UNIQUE(alg_regio_key, alg_district_upper,alg_district_verwijder) +); + +CREATE_TABLE(alg_locatie,NORMAAL_PRIVILEGE) +( + alg_locatie_key + NUMBER(10) + CONSTRAINT alg_k_alg_locatie_key PRIMARY KEY, + alg_district_key + NUMBER(10) + CONSTRAINT alg_r_alg_district_key REFERENCES alg_district(alg_district_key), + alg_locatie_code + VARCHAR2(5) + NOT_NULL(alg_locatie_code, alg_c_alg_locatie_code), + alg_locatie_omschrijving + VARCHAR2(30) + NOT_NULL(alg_locatie_omschrijving, alg_c_alg_locatie_omschrijving), + alg_locatie_upper + VARCHAR2(30) + NOT_NULL(alg_locatie_upper, alg_c_alg_locatie_upper), + alg_locatie_aanmaak + DATE + DEFAULT SYSDATE + CONSTRAINT alg_c_alg_locatie_aanmaak NOT NULL, + alg_locatie_verwijder + DATE + DEFAULT NULLDATUM, + alg_locatie_adres + VARCHAR2(35), + alg_locatie_postcode + VARCHAR2(12), + alg_locatie_plaats + VARCHAR2(30), + alg_locatie_land + VARCHAR2(30), + alg_locatie_post_adres + VARCHAR2(35), + alg_locatie_post_postcode + VARCHAR2(12), + alg_locatie_post_plaats + VARCHAR2(30), + alg_locatie_post_land + VARCHAR2(30), + alg_locatie_tekening /* references the drawingfile */ + VARCHAR2(32), + alg_locatie_verantw + VARCHAR2(30), + alg_locatie_verantw_tel + VARCHAR2(15), + CONSTRAINT alg_u_alg_locatie_code UNIQUE(alg_locatie_code, alg_locatie_verwijder), + CONSTRAINT alg_u_alg_locatie_upper UNIQUE(alg_district_key, alg_locatie_upper, alg_locatie_verwijder) +); + +CREATE_TABLE(alg_terreinsector,NORMAAL_PRIVILEGE) +( + alg_terreinsector_key + NUMBER(10) + CONSTRAINT alg_k_alg_terreinsector_key PRIMARY KEY, + alg_locatie_key + NUMBER(10) + NOT_NULL(alg_locatie_key, alg_r_alg_locatie_key1) + CONSTRAINT alg_r_alg_locatie_key2 REFERENCES alg_locatie(alg_locatie_key), + alg_terreinsector_omschrijving + VARCHAR2(30) + NOT_NULL(alg_terreinsector_omschrijving, alg_c_alg_terreinsector_omschr), + alg_terreinsector_code + VARCHAR2(10) + NOT_NULL(alg_terreinsector_code, alg_c_alg_terreinsector_code), + alg_terreinsector_naam + VARCHAR2(30) + NOT_NULL(alg_terreinsector_naam, alg_c_alg_terreinsector_naam), + alg_terreinsector_upper + VARCHAR2(30) + NOT_NULL(alg_terreinsector_upper, alg_c_alg_terreinsector_upper), + alg_terreinsector_aanmaak + DATE + DEFAULT SYSDATE + CONSTRAINT alg_c_alg_terreinsector_aanm NOT NULL, + alg_terreinsector_verwijder + DATE + DEFAULT NULLDATUM, +#ifdef AKZ + akz_internalordernr + VARCHAR2(6) +// NOT_NULL(akz_internalordernr, akz_c_terrein_internalordernr) + , + CONSTRAINT akz_u_terrein_internalordernr UNIQUE(akz_internalordernr, alg_terreinsector_verwijder), +#endif + CONSTRAINT alg_u_alg_terreinsector_upper UNIQUE(alg_locatie_key, alg_terreinsector_upper, alg_terreinsector_verwijder) +); + +CREATE_TABLE(alg_srtgebouw,BIBLIOTHEEK_PRIVILEGE) +( + alg_srtgebouw_key + NUMBER(10) + CONSTRAINT alg_k_alg_srtgebouw_key PRIMARY KEY, + alg_srtgebouw_omschrijving + VARCHAR2(30) + NOT_NULL(alg_srtgebouw_omschrijving, alg_c_alg_srtgebouw_omschr), + alg_srtgebouw_upper + VARCHAR2(30) + NOT_NULL(alg_srtgebouw_upper, alg_c_alg_srtgebouw_upper), + alg_srtgebouw_aanmaak + DATE + DEFAULT SYSDATE + CONSTRAINT alg_c_alg_srtgebouw_aanmaak NOT NULL, + alg_srtgebouw_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT alg_u_alg_srtgebouw_upper UNIQUE(alg_srtgebouw_upper, alg_srtgebouw_verwijder) +); + +CREATE_TABLE(alg_gebouw,NORMAAL_PRIVILEGE) +( + alg_gebouw_key + NUMBER(10) + CONSTRAINT alg_k_alg_gebouw_key PRIMARY KEY, + alg_locatie_key + NUMBER(10) + NOT_NULL(alg_locatie_key, alg_r_gebouw_loc_key1) + CONSTRAINT alg_r_gebouw_loc_key2 REFERENCES alg_locatie(alg_locatie_key), + alg_srtgebouw_key + NUMBER(10) + CONSTRAINT alg_r_alg_srtgebouw_key REFERENCES alg_srtgebouw(alg_srtgebouw_key), + alg_gebouw_acadkey + VARCHAR2(10), + alg_gebouw_naam + VARCHAR2(30) + NOT_NULL(alg_gebouw_naam, alg_c_alg_gebouw_naam), + alg_gebouw_code + VARCHAR2(10) + NOT_NULL(alg_gebouw_code, alg_c_alg_gebouw_code), + alg_gebouw_omschrijving + VARCHAR2(30) + NOT_NULL(alg_gebouw_omschrijving, alg_c_alg_gebouw_omschrijving), + alg_gebouw_upper + VARCHAR2(30) + NOT_NULL(alg_gebouw_upper, alg_c_alg_gebouw_upper), + alg_gebouw_aanmaak + DATE + DEFAULT SYSDATE + CONSTRAINT alg_c_alg_gebouw_aanmaak NOT NULL, + alg_gebouw_verwijder + DATE + DEFAULT NULLDATUM, + alg_gebouw_bruto_vloeropp + NUMBER(9,2) + CONSTRAINT alg_c_alg_gebouw_vloeropp CHECK(alg_gebouw_bruto_vloeropp >= 0), + alg_gebouw_inhoud + NUMBER(10), + CONSTRAINT alg_c_alg_gebouw_inhoud CHECK(alg_gebouw_inhoud >= 0), + alg_gebouw_opmerking + VARCHAR2(50), +#ifdef AKZ + akz_internalordernr + VARCHAR2(6) +// NOT_NULL(akz_internalordernr, akz_c_gebouw_internalordernr) + , + CONSTRAINT akz_u_gebouw_internalordernr UNIQUE(akz_internalordernr, alg_gebouw_verwijder), +#endif + CONSTRAINT alg_u_alg_gebouw_upper UNIQUE(alg_locatie_key, alg_gebouw_upper, alg_gebouw_verwijder) +); + +CREATE_TABLE(alg_verdieping,NORMAAL_PRIVILEGE) +( + alg_verdieping_key + NUMBER(10) + CONSTRAINT alg_k_alg_verdieping_key PRIMARY KEY, + alg_gebouw_key + NUMBER(10) + NOT_NULL(alg_gebouw_key, alg_r_alg_gebouw_key1) + CONSTRAINT alg_r_alg_gebouw_key2 REFERENCES alg_gebouw(alg_gebouw_key), + alg_verdieping_omschrijving + VARCHAR2(30) + NOT_NULL(alg_verdieping_omschrijving, alg_c_alg_verdieping_omschr), + alg_verdieping_upper + VARCHAR2(30) + NOT_NULL(alg_verdieping_upper, alg_c_alg_verdieping_upper), + alg_verdieping_aanmaak + DATE + DEFAULT SYSDATE + CONSTRAINT alg_c_alg_verdieping_aanmaak NOT NULL, + alg_verdieping_verwijder + DATE + DEFAULT NULLDATUM, + alg_verdieping_volgnr + NUMBER(3) + NOT_NULL(alg_verdieping_volgnr, alg_c_alg_verdieping_volgnr), + alg_verdieping_tekening /* references the drawingfile */ + VARCHAR2(32), + alg_verdieping_in_bewerking + NUMBER(1) + CONSTRAINT alg_c_alg_verdieping_in_bewerk CHECK(alg_verdieping_in_bewerking IS NULL + OR alg_verdieping_in_bewerking = 1), + CONSTRAINT alg_u_alg_verdieping_upper UNIQUE(alg_gebouw_key, alg_verdieping_upper, alg_verdieping_verwijder), + CONSTRAINT alg_u_alg_verdieping_volgnr UNIQUE(alg_gebouw_key, alg_verdieping_volgnr, alg_verdieping_verwijder) +); + +CREATE_TABLE(alg_srtruimte,BIBLIOTHEEK_PRIVILEGE) +( + alg_srtruimte_key + NUMBER(10) + CONSTRAINT alg_k_alg_srtruimte_key PRIMARY KEY, + alg_srtruimte_omschrijving + VARCHAR2(30) + NOT_NULL(alg_srtruimte_omschrijving, alg_c_alg_srtruimte_omschr), + alg_srtruimte_upper + VARCHAR2(30) + NOT_NULL(alg_srtruimte_upper, alg_c_alg_srtruimte_upper), + alg_srtruimte_aanmaak + DATE + DEFAULT SYSDATE + CONSTRAINT alg_c_alg_srtruimte_aanmaak NOT NULL, + alg_srtruimte_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT alg_u_alg_srtruimte_upper UNIQUE(alg_srtruimte_upper, alg_srtruimte_verwijder) +); + + +CREATE_TABLE(alg_srtvloer,BIBLIOTHEEK_PRIVILEGE) +( + alg_srtvloer_key + NUMBER(10) + CONSTRAINT alg_k_alg_srtvloer_key PRIMARY KEY, + alg_srtvloer_omschrijving + VARCHAR2(30) + NOT_NULL(alg_srtvloer_omschrijving, alg_c_alg_srtvloer_omschr), + alg_srtvloer_upper + VARCHAR2(30) + NOT_NULL(alg_srtvloer_upper, alg_c_alg_srtvloer_upper), + alg_srtvloer_aanmaak + DATE + DEFAULT SYSDATE, + alg_srtvloer_verwijder + DATE + DEFAULT NULL, + CONSTRAINT alg_u_alg_srtvloer_upper UNIQUE(alg_srtvloer_upper, alg_srtvloer_verwijder) +); + + + + +CREATE_TABLE(alg_ruimte,NORMAAL_PRIVILEGE) +( + alg_ruimte_key + NUMBER(10) + CONSTRAINT alg_k_alg_ruimte_key PRIMARY KEY, + alg_verdieping_key + NUMBER(10) + NOT_NULL(alg_verdieping_key, alg_r_alg_verdieping_key1) + CONSTRAINT alg_r_alg_verdieping_key2 REFERENCES alg_verdieping(alg_verdieping_key), + alg_srtruimte_key + NUMBER(10) + CONSTRAINT alg_r_alg_srtruimte_key REFERENCES alg_srtruimte(alg_srtruimte_key), + alg_ruimte_nr + VARCHAR2(10) + NOT_NULL(alg_ruimte_nr, alg_c_alg_ruimte_nr), + alg_ruimte_upper_nr /* references into the drawing */ + VARCHAR2(10) + NOT_NULL(alg_ruimte_upper_nr, alg_c_alg_ruimte_upper_nr), + alg_ruimte_acadkey + VARCHAR2(10), + alg_ruimte_omschrijving + VARCHAR2(30), + alg_ruimte_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(alg_ruimte_aanmaak, alg_c_alg_ruimte_aanmaak), + alg_ruimte_verwijder + DATE + DEFAULT NULLDATUM, + alg_ruimte_bruto_vloeropp + NUMBER(8,2) + CONSTRAINT alg_c_alg_ruimte_vloeropp CHECK(alg_ruimte_bruto_vloeropp >= 0), + alg_ruimte_inhoud + NUMBER(10) + CONSTRAINT alg_c_alg_ruimte_inhoud CHECK(alg_ruimte_inhoud >= 0), + alg_ruimte_opmerking + VARCHAR2(50), + alg_ruimte_vloer_omschrijving + VARCHAR2(15), + alg_ruimte_opp_gevelglas + NUMBER(8,2), + alg_ruimte_opp_separatieglas + NUMBER(8,2), + alg_ruimte_opp_gevelbekleding + NUMBER(8,2), + alg_srtvloer_key + NUMBER(10) + CONSTRAINT alg_r_alg_srtvloer_key REFERENCES alg_srtvloer(alg_srtvloer_key), + CONSTRAINT alg_u_alg_ruimte_upper_nr UNIQUE(alg_verdieping_key, alg_ruimte_upper_nr, alg_ruimte_verwijder) +); + +CREATE_TABLE(alg_import,BASIS_PRIVILEGE) +( + alg_import_key + NUMBER(10) + CONSTRAINT alg_k_alg_import_key PRIMARY KEY, + alg_import_ruimtenr + VARCHAR2(10) + NOT_NULL(alg_import_ruimtenr, alg_c_alg_import_ruimtenr), + alg_import_omschr + VARCHAR2(30), + alg_import_opp + VARCHAR2(10), + alg_import_vloer + VARCHAR2(30) +); + +/* ALG_KOSTENPOST heeft aanmaak- en verwijder-velden, omdat een kostenpost + * niet verwijderd kan worden door referencie naar MLD_OPDR of naar + * LEV_BESTELLING. + * + * 18-09-96/KTH + * NORMAAL_PRIVILEGE (ipv. BIBLIOTHEEK_PRIVILEGE) omdat bij het verwerken van + * een opdracht (waarvoor een NORMAAL_PRIVILEGE nodig is) de ALG_KOSTENPOST + * wordt geupdate + */ +CREATE_TABLE(alg_kostenpost,NORMAAL_PRIVILEGE) +( + alg_kostenpost_key + NUMBER(10) + CONSTRAINT alg_k_alg_kostenpost_key PRIMARY KEY, + alg_kostenpost_omschrijving + VARCHAR2(30), + alg_kostenpost_upper + VARCHAR2(30), + alg_kostenpost_budget + NUMBER(12,2) + NOT_NULL(alg_kostenpost_budget, alg_c_alg_kostenpost_budget1) + CONSTRAINT alg_c_alg_kostenpost_budget2 CHECK(alg_kostenpost_budget >= 0), + alg_kostenpost_besteed + NUMBER(12,2), + alg_kostenpost_datum /* Datum toekenning budget */ + DATE, + alg_kostenpost_jaar /* Jaar waarin het budget geldig is */ + NUMBER(4), + alg_kostenpost_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(alg_kostenpost_aanmaak, alg_c_alg_kostenpost_aanmaak), + alg_kostenpost_verwijder + DATE + DEFAULT NULLDATUM +); + +ALTER TABLE alg_regio +ADD +( + alg_regio_module + VARCHAR2(3), + alg_regio_land + VARCHAR2(15), + alg_regio_tekening + VARCHAR2(32) +); + +ALTER TABLE alg_regio +DROP UNIQUE(alg_regio_upper, alg_regio_verwijder); + +ALTER TABLE alg_regio +ADD CONSTRAINT alg_u_alg_regio_upper UNIQUE(alg_regio_upper, alg_regio_module, alg_regio_verwijder); + +ALTER TABLE alg_district +ADD +( + alg_district_module + VARCHAR2(3), + alg_district_code + VARCHAR2(1) +#ifdef BEB + NOT_NULL(alg_district_code, alg_c_alg_district_code) +#endif + , + alg_district_acadkey + VARCHAR2(10) +); + +ALTER TABLE alg_district +DROP UNIQUE(alg_regio_key, alg_district_upper,alg_district_verwijder); + +ALTER TABLE alg_district +ADD CONSTRAINT alg_u_alg_district_upper UNIQUE(alg_regio_key, alg_district_upper, alg_district_module, alg_district_verwijder); + +ALTER TABLE alg_locatie +ADD +( + alg_district_key_2 + NUMBER(10) + CONSTRAINT alg_r_alg_district_key_2 REFERENCES alg_district(alg_district_key), + alg_locatie_gemeente + VARCHAR2(30), + alg_locatie_provincie + VARCHAR2(15), + alg_locatie_oppervlak + NUMBER(10,2), + alg_locatie_omtrek + NUMBER(8,2) +); + +CREATE_TABLE(alg_objectdeel, NORMAAL_PRIVILEGE) +( + alg_objectdeel_key + NUMBER(10) + CONSTRAINT alg_k_alg_objectdeel_key PRIMARY KEY, + alg_locatie_key + NUMBER(10) + CONSTRAINT alg_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key), + alg_objectdeel_code + VARCHAR2(5) + NOT_NULL(alg_objectdeel_code, alg_c_alg_objectdeel_code), + alg_objectdeel_omschrijving + VARCHAR2(30) + NOT_NULL(alg_objectdeel_omschrijving, alg_c_alg_objectdeel_omschr), + alg_objectdeel_upper + VARCHAR2(30) + NOT_NULL(alg_objectdeel_upper, alg_c_alg_objectdeel_upper), + alg_objectdeel_acadkey + VARCHAR2(10), + alg_objectdeel_oppervlak + NUMBER(10,2), + alg_objectdeel_omtrek + NUMBER(8,2), + alg_objectdeel_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(alg_objectdeel_aanmaak, alg_c_alg_objectdeel_aanmaak), + alg_objectdeel_verwijder + DATE + DEFAULT NULL, + CONSTRAINT alg_u_alg_objectdeel_upper UNIQUE(alg_locatie_key, alg_objectdeel_upper, alg_objectdeel_verwijder) +); + +CREATE_TABLE(alg_systeemcluster, NORMAAL_PRIVILEGE) +( + alg_systeemcluster_key + NUMBER(10) + CONSTRAINT alg_k_alg_systeemcluster_key PRIMARY KEY, + alg_objectdeel_key + NUMBER(10) + CONSTRAINT alg_r_alg_objectdeel_key REFERENCES alg_objectdeel(alg_objectdeel_key), + alg_systeemcluster_code + VARCHAR2(5) + NOT_NULL(alg_systeemcluster_code, alg_c_alg_systeemcluster_code), + alg_systeemclust_omschrijving + VARCHAR2(30) + NOT_NULL(alg_systeemclust_omschrijving, alg_c_alg_systeemclust_omschr), + alg_systeemcluster_upper + VARCHAR2(30) + NOT_NULL(alg_systeemcluster_upper, alg_c_alg_systeemcluster_upper), + alg_systeemcluster_acadkey + VARCHAR2(10), + alg_systeemcluster_oppervlak + NUMBER(10,2), + alg_systeemcluster_omtrek + NUMBER(8,2), + alg_systeemcluster_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(alg_systeemcluster_aanmaak, alg_c_alg_systeemcluster_aanm), + alg_systeemcluster_verwijder + DATE + DEFAULT NULL, + CONSTRAINT alg_u_alg_systeemcluster_upper UNIQUE(alg_objectdeel_key, alg_systeemcluster_upper, alg_systeemcluster_verwijder) +); + +ALTER TABLE alg_gebouw +ADD +( + alg_systeemcluster_key + NUMBER(10) + CONSTRAINT alg_r_alg_systeemcluster_key REFERENCES alg_systeemcluster(alg_systeemcluster_key), + alg_gebouw_omtrek + NUMBER(8,2) +); + +CREATE_TABLE(alg_srtterrein,NORMAAL_PRIVILEGE) +( + alg_srtterrein_key + NUMBER(10) + CONSTRAINT alg_k_alg_srtterrein_key PRIMARY KEY, + alg_srtterrein_omschrijving + VARCHAR2(30) + NOT_NULL(alg_srtterrein_omschrijving, alg_c_alg_srtterrein_omschr), + alg_srtterrein_upper + VARCHAR2(30) + NOT_NULL(alg_srtterrein_upper, alg_c_alg_srtterrein_upper), + alg_srtterrein_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(alg_srtterrein_aanmaak, alg_c_alg_srtterrein_aanmaak), + alg_srtterrein_verwijder + DATE + DEFAULT NULL, + CONSTRAINT alg_u_alg_srtterrein_upper UNIQUE(alg_srtterrein_upper, alg_srtterrein_verwijder) +); + +ALTER TABLE alg_terreinsector +ADD +( + alg_systeemcluster_key + NUMBER(10) + CONSTRAINT alg_r_alg_terreins_systcl_key REFERENCES alg_systeemcluster(alg_systeemcluster_key), + alg_srtterrein_key + NUMBER(10) + CONSTRAINT alg_r_alg_srtterrein_key REFERENCES alg_srtterrein(alg_srtterrein_key), + alg_terreinsector_acadkey + VARCHAR2(10), + alg_terreinsector_oppervlak + NUMBER(10,2), + alg_terreinsector_omtrek + NUMBER(8,2), + alg_terreinsector_opmerking + VARCHAR2(50) +); + +CREATE_TABLE(alg_bouwdeel, NORMAAL_PRIVILEGE) +( + alg_bouwdeel_key + NUMBER(10) + CONSTRAINT alg_k_alg_bouwdeel_key PRIMARY KEY, + alg_gebouw_key + NUMBER(10) + CONSTRAINT alg_r_alg_gebouw_key REFERENCES alg_gebouw(alg_gebouw_key), + alg_bouwdeel_code + VARCHAR2(2) + NOT_NULL(alg_bouwdeel_code, alg_c_alg_bouwdeel_code), + alg_bouwdeel_omschrijving + VARCHAR2(30) + NOT_NULL(alg_bouwdeel_omschrijving, alg_c_alg_bouwdeel_omschr), + alg_bouwdeel_upper + VARCHAR2(30) + NOT_NULL(alg_bouwdeel_upper, alg_c_alg_bouwdeel_upper), + alg_bouwdeel_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(alg_bouwdeel_aanmaak, alg_c_alg_bouwdeel_aanmaak), + alg_bouwdeel_verwijder + DATE + DEFAULT NULL, + CONSTRAINT alg_u_alg_bouw_upper UNIQUE(alg_gebouw_key, alg_bouwdeel_upper, alg_bouwdeel_verwijder) +); + +CREATE_TABLE(alg_srtverdieping,NORMAAL_PRIVILEGE) +( + alg_srtverdieping_key + NUMBER(10) + CONSTRAINT alg_k_alg_srtverdieping_key PRIMARY KEY, + alg_srtverdieping_omschrijving + VARCHAR2(30) + NOT_NULL(alg_srtverdieping_omschrijving, alg_c_alg_srtverdieping_omschr), + alg_srtverdieping_upper + VARCHAR2(30) + NOT_NULL(alg_srtverdieping_upper, alg_c_alg_srtverdieping_upper), + alg_srtverdieping_volgnr + NUMBER(3) + NOT_NULL(alg_srtverdieping_volgnr, alg_c_alg_srtverdieping_volgnr), + alg_srtverdieping_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(alg_srtverdieping_aanmaak, alg_c_alg_srtverdieping_aanm), + alg_srtverdieping_verwijder + DATE + DEFAULT NULL, + CONSTRAINT alg_u_alg_srtverdieping_volgnr UNIQUE(alg_srtverdieping_volgnr, alg_srtverdieping_verwijder) +); + +ALTER TABLE alg_verdieping +ADD +( + alg_bouwdeel_key + NUMBER(10) + CONSTRAINT alg_r_alg_bouwdeel_key REFERENCES alg_bouwdeel(alg_bouwdeel_key), + alg_srtverdieping_key + NUMBER(10) + CONSTRAINT alg_r_alg_srtverdieping_key1 REFERENCES alg_srtverdieping(alg_srtverdieping_key) +#ifdef BEB + NOT_NULL(alg_srtverdieping_key, alg_r_alg_srtverdieping_key2) +#endif +); + +ALTER TABLE alg_ruimte +ADD +( + alg_ruimte_omtrek + NUMBER(8,2) +); + + +CREATE_TABLE(DOOS_alt_object_1, BASIS_PRIVILEGE) +( + CODE + VARCHAR2(10), + OMSCHRIJVING + VARCHAR2(108) +); + +CREATE_TABLE(DOOS_alt_object_2, BASIS_PRIVILEGE) +( + CODE + VARCHAR2(10), + OMSCHRIJVING + VARCHAR2(108) +); + +CREATE_TABLE(DOOS_alt_object_3, BASIS_PRIVILEGE) +( + CODE + VARCHAR2(10), + OMSCHRIJVING + VARCHAR2(108), + alg_srtgebouw_key + NUMBER(10) +); + +CREATE_TABLE(DOOS_adressen, BASIS_PRIVILEGE) +( + ADRESCODE + VARCHAR2(10), + NAAM + VARCHAR2(50), + ADRES + VARCHAR2(25), + POSTCODE + VARCHAR2(8), + PLAATS + VARCHAR2(20), + P_ADRES + VARCHAR2(25), + P_POSTCODE + VARCHAR2(8), + P_PLAATS + VARCHAR2(20) +); + +CREATE_TABLE(DOOS_inventarisatie, BASIS_PRIVILEGE) +( + OBJECT + VARCHAR2(12), + ONDERDEEL + VARCHAR2(8), + LOCATIE + VARCHAR2(6), + LOCATIE_NUMMER + VARCHAR2(5), + HOEVEELHEID + NUMBER(10), + EENHEID + VARCHAR2(2), + LOCATIE_verdieping + VARCHAR2(3), + LOCATIE_srtruimte + VARCHAR2(3), + alg_gebouw_key + NUMBER(10), + alg_verdieping_key + NUMBER(10), + alg_srtruimte_key + NUMBER(10) +); + +CREATE_TABLE(DOOS_locaties, BASIS_PRIVILEGE) +( + OBJECT + VARCHAR2(12), + CODE + VARCHAR2(6), + NIVEAU + NUMBER(1), + OMSCHRIJVING + VARCHAR2(108), + VORIGE_CODE + VARCHAR2(6), + LAATSTE_CODE + VARCHAR2(6), + alg_verdieping_key + NUMBER(10), + alg_srtruimte_key + NUMBER(10) +); + +CREATE_TABLE(DOOS_objecten, BASIS_PRIVILEGE) +( + CODE + VARCHAR2(12), + NIVEAU + NUMBER(1), + OMSCHRIJVING + VARCHAR2(108), + VORIGE_CODE + VARCHAR2(12), + LAATSTE_CODE + VARCHAR2(12), + AANTAL_2 + NUMBER, + ALT_OBJECT_3 + VARCHAR2(10), + alg_district_key + NUMBER(10), + alg_locatie_key + NUMBER(10), + alg_gebouw_key + NUMBER(10) +); + +CREATE INDEX DOOS_i_alt_object_3_1 ON DOOS_alt_object_3(CODE); +CREATE INDEX DOOS_i_alt_object_3_2 ON DOOS_alt_object_3(alg_srtgebouw_key); + +CREATE INDEX DOOS_i_adressen_1 ON DOOS_adressen(ADRESCODE); + +CREATE INDEX DOOS_i_inventarisatie_1 ON DOOS_inventarisatie(OBJECT); +CREATE INDEX DOOS_i_inventarisatie_2 ON DOOS_inventarisatie(LOCATIE); +CREATE INDEX DOOS_i_inventarisatie_3 ON DOOS_inventarisatie(alg_gebouw_key); +CREATE INDEX DOOS_i_inventarisatie_4 ON DOOS_inventarisatie(alg_verdieping_key); +CREATE INDEX DOOS_i_inventarisatie_5 ON DOOS_inventarisatie(alg_srtruimte_key); +CREATE INDEX DOOS_i_inventarisatie_6 ON DOOS_inventarisatie(LOCATIE_verdieping); +CREATE INDEX DOOS_i_inventarisatie_7 ON DOOS_inventarisatie(LOCATIE_srtruimte); + +CREATE INDEX DOOS_i_locaties_1 ON DOOS_locaties(CODE); +CREATE INDEX DOOS_i_locaties_2 ON DOOS_locaties(alg_verdieping_key); +CREATE INDEX DOOS_i_locaties_3 ON DOOS_locaties(alg_srtruimte_key); + +CREATE INDEX DOOS_i_objecten_1 ON DOOS_objecten(CODE); +CREATE INDEX DOOS_i_objecten_2 ON DOOS_objecten(NIVEAU); +CREATE INDEX DOOS_i_objecten_3 ON DOOS_objecten(alg_district_key); +CREATE INDEX DOOS_i_objecten_4 ON DOOS_objecten(alg_locatie_key); +CREATE INDEX DOOS_i_objecten_5 ON DOOS_objecten(alg_gebouw_key); +CREATE INDEX DOOS_i_objecten_6 ON DOOS_objecten(ALT_OBJECT_3); + +CREATE OR REPLACE FUNCTION DOOS_BepaalVerdiepingVolgnr( code IN VARCHAR2 ) RETURN NUMBER IS + Volgnr alg_verdieping.alg_verdieping_volgnr%TYPE; +BEGIN + VolgNr := NULL; + IF UPPER(SUBSTR(code, 2, 2)) = 'ZL' + THEN + VolgNr := 98; + ELSIF UPPER(SUBSTR(code, 2, 2)) = 'DB' + THEN + VolgNr := 99; + ELSIF UPPER(SUBSTR(code, 2, 1)) = 'K' + THEN + VolgNr := 0 - TO_NUMBER(SUBSTR(code, 3, 1)); + ELSE + VolgNr := TO_NUMBER(SUBSTR(code, 2, 2)); + END IF; + RETURN Volgnr; +END; +/ + +CREATE_VIEW(DOOS_v_VerdiepingVolgnr, BASIS_PRIVILEGE) + (CODE, + alg_verdieping_volgnr) AS + SELECT D_L.CODE, + DOOS_BepaalVerdiepingVolgnr(D_L.CODE) + FROM DOOS_Locaties D_L + WHERE D_L.VORIGE_CODE = '4'; + +#endif // ALG diff --git a/ALG/ALG_TRI.SRC b/ALG/ALG_TRI.SRC new file mode 100644 index 00000000..a91119d7 --- /dev/null +++ b/ALG/ALG_TRI.SRC @@ -0,0 +1,603 @@ +#ifdef ALG // 13-03-96 AH + +/* Triggers voor ALG-module + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 20-05-98 BIV ALG_T_ALG_SRTVLOER_B_IU toegevoegd + * --- 01.36 --- + * --- 01.35 --- + * 09/04/1998 AH Extra AKZ-velden in ALG_GEBOUW, ALG_TERREINSECTOR + * --- 01.34 --- + * 13/11/1997 AH #1473, Create trigger vervangen door CREATE_TRIGGER() + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * 10-07-97 AH #1367, Restricted verwijderen op Regio/District en Locatie. In triggers + * ALG_T_ALG_REGIO_B_IU, ALG_T_ALG_DISTRICT_B_IU en ALG_T_ALG_LOCATIE_B_IU + * 6/26/97 AH #1326, CASCADE-delete op SCH_NIVO_OG in Gebouw, Verdieping en Ruimte toegevoegd + * RESTRICTED-verwijderen op ALG_SRTRUIMTE -> SCH_WERKZAAMHEDEN. + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * 17-12-96 AH ALG_T_ALG_GEBOUW_B_IU, ALG_T_ALG_RUIMTE_B_IU + * aangepast MRA_ONRGOEDVOORSCHR-records worden bij wijzigen van + * ALG_SRT... niet meer verwijderd. + * --- 01.24 --- + * 29-11-96 AH ALG_T_ALG_SRTVERDIEPING_B_IU toegevoegd. Het volgnr van + * srtverdieping wordt bij wijzigen gekopieerd naar volgnr + * van de verdiepingen. + * ALG_T_ALG_VERDIEPING_B_IU aangepast. Als srtverdieping + * wijzigd, dan wordt het volgnr van de nieuwe srtverdieping + * gekopieerd in volgnr van verdieping + * 28-11-96 AH ALG_T_ALG_SRTTERREIN_B_IU toegevoegd + Alle code-velden worden + * UPPER in triggers + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * 21-10-96 AH LOG#842: + * Object restricted verwijder op Objectdeel + * Objectdeel cascade verwijder op Systeemcluster + * Systeemcluster restricted leegmaken bij verwijder op Gebouw/Terrein + * Gebouw restricted verwijder op bouwdeel + * Bouwdeel restricted leegmaken op verdieping + * 07-10-96 AH Triggers voor Objectdeel, Systeemcluster, Bouwdeel toegevoegd + * --- 01.20 --- + * --- 01.19 --- + * 18-07-96 RW alg_terreinsector.alg_terreinsector_omschrijving wordt auto- + * matisch gevuld met _code ||' - '|| _naam. + * alg_terreinsector_upper wordt UPPER(_code) + * 17-07-96 RW alg_gebouw.alg_gebouw_omschrijving wordt automatisch gevuld met + * alg_gebouw_code || '-' || alg_gebouw_naam. + * alg_gebouw.alg_gebouw_upper = UPPER(_code) + * 12-07-96 EH SET_VERWIJDER_CHILDREN toegevoegd voor alg_gebouw, alg_ruimte, + * alg_verdieping en alg_terreinsector. Deze verwijderd alle + * delen die bij het desbetreffende onrgoed-ding horen. + * 27-06-96 AH ALG_T_ALG_RUIMTE_B_IU aangepast. Als er artikelen in de + * ruimte geplaatst zijn dan mag de ruimte niet verwijderd worden. + * Verwijder ook de werkplekken/slaapplaatsen van de ruimte. + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 22-05-96 AH ALG_KOSTENPOST toegevoegd. + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 03-04-96 AH ALG_RUIMTE weggooien -> INV_DELEN ontkoppelen. + * 22-03-96 AH Nieuwe include COMSQL.H, zonder '..\' + * 14-03-96 AH Triggers ALG_T_ALG_RUIMTE_B_IU en ALG_T_ALG_SRTRUIMTE_KEY + * aangepast. Voor PRS mag + * ALG_SRTRUIMTE_KEY niet veranderd worden zonder werkplekken als + * er nog aanwezige werkplekken zijn. + * 13-03-96 AH NIEUWE OPZET SRC-files. + * + * 04-03-96 PF SET_VERWIJDER_CHILDREN toegevoegd voor district en regio + * 13-02-96 PF De volgende triggers verwijderd. Deze worden nu via de UNIQUE + * constraint op de tabellen gerealiseerd: + * alg_t_alg_regio_A_IU + * alg_t_alg_district_A_IU + * alg_t_alg_locatie_A_IU + * alg_t_alg_terreinsector_A_IU + * alg_t_alg_srtgebouw_A_IU + * alg_t_alg_gebouw_A_IU + * alg_t_alg_verdieping_A_IU + * alg_t_alg_srtruimte_A_IU + * alg_t_alg_ruimte_A_IU + * PF: functionaliteit gewijzigd!!! + * vwb de aanwezig-views! + * 30-01-96 AH Locatiecode/Aanwezig is uniek binnen het systeem, de omschrijving + * is uniek voor district of regio. + * 19-01-96 AH Triggers voor ALG_TERREINSECTOR toegevoegd. + * 17-01-96 AH ALG_T_ALG_LOCATIE_A_IU is veranderd. De LOCATIE_CODE wordt nu + * Door deze trigger getest ne niet via UNIQUE in tabel. + * Zie CREA_TAB.SRC + * + */ + +#include "comsql.h" +#include "ALG\algsql.h" + +CREATE_TRIGGER(alg_t_alg_import_B_IU) +BEFORE INSERT OR UPDATE ON alg_import +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_import_key, alg_s_alg_import_key); +END; +/ + +CREATE_TRIGGER(alg_t_alg_regio_B_IU) +BEFORE INSERT OR UPDATE ON alg_regio +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_regio_key, alg_s_alg_regio_key); + UPDATE_UPPER(alg_regio_omschrijving, alg_regio_upper); + // 10-07-97 AH #1367, Restricted verwijderen op district + //SET_VERWIJDER_CHILDREN(alg_district, alg_regio_key, alg_regio_verwijder, alg_district_verwijder); + CHECK_NOG_REFERENCES(alg_regio, alg_regio_verwijder, alg_v_aanwezigdistrict, + alg_regio_key, 'alg_m211'); +END; +/ + +CREATE_TRIGGER(alg_t_alg_district_B_IU) +BEFORE INSERT OR UPDATE ON alg_district +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_district_key, alg_s_alg_district_key); + UPDATE_UPPER(alg_district_code, alg_district_code); + UPDATE_UPPER(alg_district_omschrijving, alg_district_upper); + // 10-07-97 AH #1367, Restricted verwijderen op locatie + //SET_VERWIJDER_CHILDREN(alg_locatie, alg_district_key, alg_district_verwijder, alg_locatie_verwijder); + CHECK_NOG_REFERENCES(alg_district, alg_district_verwijder, alg_v_aanweziglocatie, + alg_district_key, 'alg_m212'); +END; +/ + +CREATE_TRIGGER(alg_t_alg_locatie_B_IU) +BEFORE INSERT OR UPDATE ON alg_locatie +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_locatie_key, alg_s_alg_locatie_key); + UPDATE_UPPER(alg_locatie_code, alg_locatie_code); + UPDATE_UPPER(alg_locatie_omschrijving, alg_locatie_upper); + // 10-07-97 AH #1367, Restricted verwijderen op Gebouw en Terreinsector + CHECK_NOG_REFERENCES(alg_locatie, alg_locatie_verwijder, alg_v_aanweziggebouw, + alg_locatie_key, 'alg_m213'); + CHECK_NOG_REFERENCES(alg_locatie, alg_locatie_verwijder, alg_v_aanwezigterreinsector, + alg_locatie_key, 'alg_m214'); + CHECK_NOG_REFERENCES(alg_locatie, alg_locatie_verwijder, alg_v_aanwezigobjectdeel, + alg_locatie_key, 'alg_m185'); +END; +/ + +CREATE_TRIGGER(alg_t_alg_terreinsector_B_IU) +BEFORE INSERT OR UPDATE ON alg_terreinsector +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_terreinsector_key, alg_s_alg_onroerendgoed_keys); + :new.alg_terreinsector_omschrijving := SUBSTRB(:new.alg_terreinsector_code ||' - '|| :new.alg_terreinsector_naam,1,30); + UPDATE_UPPER(alg_terreinsector_code,alg_terreinsector_upper); +#ifdef MRA + IF :new.alg_terreinsector_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_terreinsector_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_terreinsector_key; + END IF; +#endif // MRA +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_terreinsector_key, + alg_terreinsector_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +#ifdef AKZ + /* De uniciteit van AKZ_INTERNALORDERNR moet voor ALG_GEBOUW en ALG_TERREINSECTOR + * gelden. ALG_TERREINSECTOR wordt via UNIQUE-constraint geregeld, hier moet de uniciteit + * op ALG_GEBOUW gecontroleerd worden. + */ + IF :new.akz_internalordernr IS NOT NULL + AND (:old.akz_internalordernr IS NULL + OR :old.akz_internalordernr <> :new.akz_internalordernr) + THEN + DECLARE + Dummy CHAR; + BEGIN + SELECT 'X' + INTO Dummy + FROM alg_v_aanweziggebouw + WHERE akz_internalordernr = :new.akz_internalordernr; + APPLICATION_ERROR(-20000, 'AKZ_U_GEBOUW_TERREIN_ORDERNR'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'AKZ_U_GEBOUW_TERREIN_ORDERNR'); + END; + END IF; +#endif // AKZ +END; +/ + +CREATE_TRIGGER(alg_t_alg_srtgebouw_B_IU) +BEFORE INSERT OR UPDATE ON alg_srtgebouw +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_srtgebouw_key, alg_s_alg_srtgebouw_key); + UPDATE_UPPER(alg_srtgebouw_omschrijving, alg_srtgebouw_upper); + CHECK_NOG_REFERENCES(alg_srtgebouw, alg_srtgebouw_verwijder, + alg_v_aanweziggebouw, alg_srtgebouw_key, 'alg_m022'); +END; +/ + +CREATE_TRIGGER(alg_t_alg_gebouw_B_IU) +BEFORE INSERT OR UPDATE ON alg_gebouw +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_gebouw_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_gebouw_code, alg_gebouw_upper); + :new.alg_gebouw_omschrijving := SUBSTRB(:new.alg_gebouw_code ||' - '|| :new.alg_gebouw_naam,1,30); + CHECK_NOG_REFERENCES(alg_gebouw, alg_gebouw_verwijder, alg_v_aanwezigbouwdeel, + alg_gebouw_key, 'alg_m184'); + LAAT_VERDIEPING_VERVALLEN_VOOR_GEBOUW('alg_m54'); +#ifdef MRA + IF :new.alg_gebouw_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key; + END IF; +#if 0 // Verwijderen van MRA_ONRGOEDVOORSCHR-records gebeurt niet meer in trigger. + IF :new.alg_srtgebouw_key <> :old.alg_srtgebouw_key + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key AND + mra_voorschrift_key IN (SELECT mra_voorschrift_key + FROM mra_srtgebouwvoorschr + WHERE mra_srtgebouw_key = :old.alg_srtgebouw_key) + AND mra_onrgoedvoorschr_type = 'G'; + + END IF; +#endif +#endif // MRA +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_gebouw_key, + alg_gebouw_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +#ifdef SCH + IF :new.alg_gebouw_verwijder IS NOT NULL + THEN + BEGIN + DELETE FROM sch_nivo_og + WHERE sch_alg_og_key = :new.alg_gebouw_key; + END; + END IF; +#endif // SCH +#ifdef AKZ + /* De uniciteit van AKZ_INTERNALORDERNR moet voor ALG_GEBOUW en ALG_TERREINSECTOR + * gelden. ALG_GEBOUW wordt via UNIQUE-constraint geregeld, hier moet de uniciteit + * op ALG_TERREINSECTOR gecontroleerd worden. + */ + IF :new.akz_internalordernr IS NOT NULL + AND (:old.akz_internalordernr IS NULL + OR :old.akz_internalordernr <> :new.akz_internalordernr) + THEN + DECLARE + Dummy CHAR; + BEGIN + SELECT 'X' + INTO Dummy + FROM alg_v_aanwezigterreinsector + WHERE akz_internalordernr = :new.akz_internalordernr; + APPLICATION_ERROR(-20000, 'AKZ_U_GEBOUW_TERREIN_ORDERNR'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'AKZ_U_GEBOUW_TERREIN_ORDERNR'); + END; + END IF; +#endif // AKZ +END; +/ + +CREATE_TRIGGER(alg_t_alg_verdieping_B_IU) +BEFORE INSERT OR UPDATE ON alg_verdieping +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_verdieping_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_verdieping_omschrijving, alg_verdieping_upper); + LAAT_RUIMTE_VERVALLEN_VOOR_VERDIEPING('alg_m55'); +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_verdieping_key, + alg_verdieping_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS + /* Voor BEB: ALG_VERDIEPING_Volgnr = ALG_SRTVERDIEPING_VOLGNR */ + IF NOT :new.alg_srtverdieping_key IS NULL + THEN + SELECT alg_srtverdieping_volgnr + INTO :new.alg_verdieping_volgnr + FROM alg_srtverdieping + WHERE alg_srtverdieping_key = :new.alg_srtverdieping_key; + END IF; +#ifdef SCH + IF :new.alg_verdieping_verwijder IS NOT NULL + THEN + BEGIN + DELETE FROM sch_nivo_og + WHERE sch_alg_og_key = :new.alg_verdieping_key; + END; + END IF; +#endif // SCH +END; +/ + +CREATE_TRIGGER(alg_t_alg_srtruimte_B_IU) +BEFORE INSERT OR UPDATE ON alg_srtruimte +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_srtruimte_key, alg_s_alg_srtruimte_key); + UPDATE_UPPER(alg_srtruimte_omschrijving, alg_srtruimte_upper); + CHECK_NOG_REFERENCES(alg_srtruimte, alg_srtruimte_verwijder, + alg_v_aanwezigruimte, alg_srtruimte_key, 'alg_m041'); +#ifdef PRS + IF :old.alg_srtruimte_key IS NOT NULL + AND :old.prs_bevat_werkplek = 1 AND :new.prs_bevat_werkplek IS NULL + THEN + DECLARE + dummy NUMBER; + BEGIN + SELECT COUNT(PRS_W.prs_werkplek_key) + INTO dummy + FROM alg_v_aanwezigruimte ALG_R, prs_v_aanwezigwerkplek PRS_W + WHERE ALG_R.alg_srtruimte_key = :old.alg_srtruimte_key + AND PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key; + IF dummy > 0 + THEN + APPLICATION_ERROR(-20000, 'prs_m035'); + END IF; + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + END IF; +#endif +#ifdef SCH + DECLARE + dummy CHAR; + BEGIN + IF :new.alg_srtruimte_verwijder IS NOT NULLDATUM + THEN + SELECT 'x' INTO dummy + FROM sch_werkzaamheden + WHERE sch_werkzaamheden.sch_alg_srtruimte_key = :old.alg_srtruimte_key; + APPLICATION_ERROR(-20000,'sch_m028'); + END IF; + EXCEPTION + WHEN NO_DATA_FOUND THEN + NULL; + WHEN TOO_MANY_ROWS THEN + APPLICATION_ERROR(-20000,'sch_m028'); + END; +#endif // SCH +END; +/ + +CREATE_TRIGGER(alg_t_alg_ruimte_B_IU) +BEFORE INSERT OR UPDATE ON alg_ruimte +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_ruimte_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_ruimte_nr, alg_ruimte_upper_nr); +#ifdef MRA + /* Delete CASCADE op MRA_ONRGOEDVOORSCHR en MRA_ONRGOEDBESTEMMING + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key; + END IF; +#if 0 // MRA_ONRGOEDVOORSCHR-records worden niet meer verwijderd in de trigger. + IF :new.alg_srtruimte_key <> :old.alg_srtruimte_key + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key AND + mra_voorschrift_key IN (SELECT mra_voorschrift_key + FROM mra_srtruimtevoorschr + WHERE mra_srtruimte_key = :old.alg_srtruimte_key) + AND mra_onrgoedvoorschr_type = 'R'; + END IF; +#endif +#endif // MRA +#ifdef PRS + /* Als de soort ruimte veranderd wordt en er zijn werkplekken in de ruimte + * dan moet het veld PRS_BEVAT_WERKPLEKKEN de waarde 1 bevatten in de + * nieuwe soort ruimte. + */ + IF :old.alg_ruimte_key IS NOT NULL + AND :new.alg_ruimte_verwijder IS NULL + AND :old.alg_srtruimte_key <> :new.alg_srtruimte_key + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM alg_srtruimte ALG_SR_1, + alg_srtruimte ALG_SR_2, + all_v_aanwezigwerkplek PRS_W + WHERE ALG_SR_1.alg_srtruimte_key = :old.alg_srtruimte_key + AND ALG_SR_1.prs_bevat_werkplek = 1 + AND ALG_SR_2.alg_srtruimte_key = :new.alg_srtruimte_key + AND ALG_SR_2.prs_bevat_werkplek IS NULL + AND PRS_W.prs_alg_ruimte_key = :new.alg_ruimte_key; + APPLICATION_ERROR(-20000, 'prs_m034'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m034'); + END; + END IF; +#endif +#ifdef INV + /* Als er een INV-deel bestaat in de te verwijderen ruimte + * dan mag de ruimte niet verwijderd worden. + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM inv_v_aanwezigdeel + WHERE ins_alg_ruimte_key = :new.alg_ruimte_key + AND ins_alg_ruimte_type = 'R'; + APPLICATION_ERROR(-20000, 'prs_m055'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m055'); + END; + END IF; +#endif +#ifdef PRS + /* Als de ruimte verwijderd wordt, dan moeten ook de bijbehorende + * werkplekken/slaapplaatsen verwijderd worden. + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + UPDATE prs_werkplek + SET prs_werkplek_verwijder = SYSDATE + WHERE prs_alg_ruimte_key = :new.alg_ruimte_key + AND prs_werkplek_verwijder IS NULL; + END IF; +#endif +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_ruimte_key, + alg_ruimte_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +#ifdef SCH + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + BEGIN + DELETE FROM sch_nivo_og + WHERE sch_alg_og_key = :new.alg_ruimte_key; + END; + END IF; +#endif // SCH +END; +/ + +CREATE_TRIGGER(alg_t_alg_kostenpost_B_IU) +BEFORE INSERT OR UPDATE ON alg_kostenpost +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_kostenpost_key,alg_s_alg_kostenpost_key); + UPDATE_UPPER(alg_kostenpost_omschrijving,alg_kostenpost_upper); +#ifdef MLD + IF :new.alg_kostenpost_verwijder IS NOT NULL + THEN + DECLARE + dummy NUMBER; + BEGIN + SELECT COUNT(*) + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_alg_kostenpost_key = :old.alg_kostenpost_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven'; + IF dummy > 0 + THEN + APPLICATION_ERROR(-20000, 'mld_m152'); + END IF; + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + END IF; +#endif +#ifdef LEV + IF :new.alg_kostenpost_verwijder IS NOT NULL + THEN + DECLARE + dummy NUMBER; + BEGIN + SELECT COUNT(*) + INTO dummy + FROM lev_bestelling LEV_B + WHERE LEV_B.lev_alg_kostenpost_key = :old.alg_kostenpost_key; + IF dummy > 0 + THEN + APPLICATION_ERROR(-20000, 'lev_m049'); + END IF; + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + END IF; +#endif +END; +/ + + +CREATE_TRIGGER(alg_t_alg_objectdeel_B_IU) +BEFORE INSERT OR UPDATE ON alg_objectdeel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_objectdeel_key, alg_s_alg_objectdeel_key); + UPDATE_UPPER(alg_objectdeel_code, alg_objectdeel_code); + UPDATE_UPPER(alg_objectdeel_omschrijving, alg_objectdeel_upper); + SET_VERWIJDER_CHILDREN(alg_systeemcluster, alg_objectdeel_key, alg_objectdeel_verwijder, + alg_systeemcluster_verwijder); +END; +/ + +CREATE_TRIGGER(alg_t_alg_systeemcluster_B_IU) +BEFORE INSERT OR UPDATE ON alg_systeemcluster +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_systeemcluster_key, alg_s_alg_systeemcluster_key); + UPDATE_UPPER(alg_systeemcluster_code, alg_systeemcluster_code); + UPDATE_UPPER(alg_systeemclust_omschrijving, alg_systeemcluster_upper); + CHECK_NOG_REFERENCES(alg_systeemcluster, alg_systeemcluster_verwijder, + alg_v_aanweziggebouw, alg_systeemcluster_key, 'alg_m182'); +END; +/ + +CREATE_TRIGGER(alg_t_alg_bouwdeel_B_IU) +BEFORE INSERT OR UPDATE ON alg_bouwdeel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_bouwdeel_key, alg_s_alg_bouwdeel_key); + UPDATE_UPPER(alg_bouwdeel_code, alg_bouwdeel_code); + UPDATE_UPPER(alg_bouwdeel_omschrijving, alg_bouwdeel_upper); + CHECK_NOG_REFERENCES(alg_bouwdeel, alg_bouwdeel_verwijder, + alg_v_aanwezigverdieping, alg_bouwdeel_key, 'alg_m183'); +END; +/ + +CREATE_TRIGGER(alg_t_alg_srtterrein_B_IU) +BEFORE INSERT OR UPDATE ON alg_srtterrein +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_srtterrein_key, alg_s_alg_srtterrein_key); + UPDATE_UPPER(alg_srtterrein_omschrijving, alg_srtterrein_upper); + CHECK_NOG_REFERENCES(alg_srtterrein, alg_srtterrein_verwijder, + alg_v_aanwezigterreinsector, alg_srtterrein_key, 'alg_m196'); +END; +/ + +CREATE_TRIGGER(alg_t_alg_srtverdieping_B_IU) +BEFORE INSERT OR UPDATE ON alg_srtverdieping +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_srtverdieping_key, alg_s_alg_srtverdieping_key); + UPDATE_UPPER(alg_srtverdieping_omschrijving, alg_srtverdieping_upper); + CHECK_NOG_REFERENCES(alg_srtverdieping, alg_srtverdieping_verwijder, + alg_v_aanwezigverdieping, alg_srtverdieping_key, 'alg_m204'); +END; +/ + +CREATE_TRIGGER(alg_t_alg_srtvloer_B_IU) +BEFORE INSERT OR UPDATE ON alg_srtvloer +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_srtvloer_key, alg_s_alg_srtvloer_key); + UPDATE_UPPER(alg_srtvloer_omschrijving, alg_srtvloer_upper); + CHECK_NOG_REFERENCES(alg_srtvloer, alg_srtvloer_verwijder, alg_v_aanwezigruimte, + alg_srtvloer_key, 'alg_m220'); + +END; +/ + +#endif // ALG diff --git a/ALG/ALG_VIE.SRC b/ALG/ALG_VIE.SRC new file mode 100644 index 00000000..98c312c2 --- /dev/null +++ b/ALG/ALG_VIE.SRC @@ -0,0 +1,695 @@ +#ifdef ALG // 13-03-96 AH +/* + * Revisie: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * 30-06-1998 BIV LOG# 1904 - View ALG_V_RUIMTE_GEGEVENS aangepast. + * --- 01.37 --- + * 13/05/1998 BIV View ALG_V_AANWEZIGSRTVLOER. + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 11/03/1998 AH View ALG_V_ONROERENDGOED_GEGEVENS aangemaakt voor omschrijving, code, enz + * van de verschillende onroerendgoed-zaken. + * 10/03/1998 BIV #1513: ALG_V_RUIMTE_GEGEVENS uitgebreid met SCH_SRTVLOER_KEY (#ifdef SCH) + * 05/02/1998 AH ALG_V_VERDIEPING_GEGEVENS extra veld alg_verdieping_in_bewerking + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * 10-07-97 AH #1367, Aanwezig-views van ALG_GEBOUW, ALG_TERREINSECTOR, ALG_VERDIEPING en ALG_RUIMTE + * veranderd, deze hoeven niet meer te controleren of de locatie aanwezig is. + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * 29-11-96 AH ALG_V_AANWEZIGSRTVERDIEPING toegevoegd + * 28-11-96 AH ALG_V_AANWEZIGSRTTERREIN toegevoegd + * --- 01.23 --- + * 18-11-96 AH LOG#985: ALG_V_RUIMTE_GEGEVENS uitgebreidt voor HUI216-rapport + * 15-11-96 AH LOG#985: ALG_V_RUIMTE_GEGEVENS uitgebreidt voor HUI215-rapport + * --- 01.22 --- + * --- 01.21 --- + * 30-10-96 AH LOG#927: De view ALG_V_LOCATIE_GEGEVENS_2 voor ALG026 toond ook + * niet gekoppelde locaties. + * 08-10-96 AH ALG_V_LOCATIE_GEGEVENS_2 toegevoegd voor gebruikt van + * ALG_DISTRICT_KEY_2 + * 08-10-96 AH District-views uitgebreid met ALG_DISTRICT_MODULE + * 07-10-96 AH Aanwezigviews voor Objectdeel, Systeemcluster en Bouwdeel + * toegevoegd. + * --- 01.20 --- + * 17-09-96 AH ALG_V_ALLONROERENDGOED toegevoegd, maakt gebruik van de tabellen + * ipv. de aanwezigview. + * --- 01.19 --- + * 29-07-96 AH MLD_BEDRIJF -> PRS_BEDRIJF + * 18-07-96 RW alg_gebouw_naam bij alg_v_gebouw_gegevens toegevoegd + * --- 01.18 --- + * --- 01.17 --- + * 20-06-96 AH HUI_BEHEERDER in alg_v_ruimte_gegevens aangepast naar + * PRS_HUISMEESTER_KEY + * 06-06-96 AH View ALG_V_RUIMTE_GEGEVENS aangepast voor gebruik HUI-module + * en aangepast zonder overmatig gebruik van AANWEZIG-views. + * Ook de view ALG_V_DISTRICT_GEGEVENS, ALG_V_LOCATIE_GEGEVENS + * ALG_V_GEBOUW_GEGEVENS, ALG_V_VERDIEPING_GEGEVENS, ALG_V_ONROERENDGOED + * aangepast ivm gebruik AANWEZIG-views. + * --- 01.16 --- + * --- 01.15 --- + * 23-05-96 AH ALG_V_ALG_KOSTENPOST_GEGEVENS toegevoegd. Voor berekening + * Geraamd en Restant. + * 22-05-96 AH ALG_KOSTENPOST toegevoegd. + * 29-04-96 RW Privileges aangepast + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 01-04-96 Gebruik CREATE_VIEW() + * 22-03-96 AH Nieuwe include COMSQL.H, zonder '..\'. + * 21-03-96 AH ALG_TEREINSECTOR/GEBOUW/VERDIEPING/RUIMTE + * -AANWEZIG_VIEWS gewijzigd, + * Nieuwe syntax. + * 13-03-96 AH NIEUWE OPZET SRC-files. + * + * 01-03-96 EH Aanwezigview voor Terreinsector aangepast. + * 05-02-96 EH Aangepaste aanwezigviews gemaakt voor Gebouw, + * Ruimte en Verdieping. + * LET OP DE UITZONDERINGSPOSITIE VOOR GEBOUW/VERDIEPING/RUIMTE + * 19-01-96 AH De view voor ALG_TERREINSECTOR toegevoegd. + * 12-01-96 PF DEFINIEER_VIEW_AANWEZIG + * 09-01-96 KTH alg_v_gebouw_gegevens en alg_v_ruimte_gegevens staan nu ook + * NULL toe voor srtgebouw resp. srtruimte: '(+)' toegevoegd + * 30-11-95 KTH alg_v_locatie_gegevens en alg_v_gebouw_gegevens uitgebreid + * met alg_locatie_tekening, conform wijziging in CREA_TAB, en + * alg_v_verdieping_gegevens en alg_v_ruimte_gegevens uitgebreid + * met alg_verdieping_tekening, conform wijziging in CREA_TAB + * 01-12-95 KTH alg_v_gebouwgegevens uitgebreid met alg_gebouw_acadkey, en + * alg_v_ruimtegegevens uitgebreid met alg_ruimte_acadkey + */ +#include "comsql.h" + +DEFINIEER_VIEW_AANWEZIG(alg_regio, alg_regio_verwijder, + alg_v_aanwezigregio,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_district, alg_district_verwijder, + alg_v_aanwezigdistrict,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_locatie, alg_locatie_verwijder, + alg_v_aanweziglocatie,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_srtgebouw, alg_srtgebouw_verwijder, + alg_v_aanwezigsrtgebouw,BIBLIOTHEEK_PRIVILEGE); + +// 10-07-97 AH #1367, Geen controle op aanwezigheid Locatie +DEFINIEER_VIEW_AANWEZIG(alg_gebouw, alg_gebouw_verwijder, + alg_v_aanweziggebouw,NORMAAL_PRIVILEGE); +// AND +// alg_locatie_key IN (SELECT alg_locatie_key +// FROM alg_v_aanweziglocatie); + +// 10-07-97 AH #1367, Geen controle op aanwezigheid Gebouw +DEFINIEER_VIEW_AANWEZIG(alg_verdieping, alg_verdieping_verwijder, + alg_v_aanwezigverdieping,NORMAAL_PRIVILEGE); +// AND +// alg_gebouw_key IN (SELECT alg_gebouw_key +// FROM alg_v_aanweziggebouw); + +DEFINIEER_VIEW_AANWEZIG(alg_srtruimte, alg_srtruimte_verwijder, + alg_v_aanwezigsrtruimte,BIBLIOTHEEK_PRIVILEGE); + +// 10-07-97 AH #1367, Geen controle op aanwezigheid Verdieping +DEFINIEER_VIEW_AANWEZIG(alg_ruimte, alg_ruimte_verwijder, + alg_v_aanwezigruimte,NORMAAL_PRIVILEGE); +// AND +// alg_verdieping_key IN (SELECT alg_verdieping_key +// FROM alg_v_aanwezigverdieping); + +// 10-07-97 AH #1367, Geen controle op aanwezigheid Locatie +DEFINIEER_VIEW_AANWEZIG(alg_terreinsector, alg_terreinsector_verwijder, + alg_v_aanwezigterreinsector,NORMAAL_PRIVILEGE); +// AND +// alg_locatie_key IN (SELECT alg_locatie_key +// FROM alg_v_aanweziglocatie); + +DEFINIEER_VIEW_AANWEZIG(alg_kostenpost, + alg_kostenpost_verwijder, + alg_v_aanwezigkostenpost, + NORMAAL_PRIVILEGE); + +CREATE_VIEW(alg_v_district_gegevens,NORMAAL_PRIVILEGE) AS + SELECT ALG_R.alg_regio_key, ALG_R.alg_regio_omschrijving, + ALG_R.alg_regio_upper, ALG_D.alg_district_key, + ALG_D.alg_district_module, + ALG_D.alg_district_omschrijving, ALG_D.alg_district_upper + FROM alg_regio ALG_R, alg_v_aanwezigdistrict ALG_D + WHERE ALG_R.alg_regio_key = ALG_D.alg_regio_key; + +CREATE_VIEW(alg_v_locatie_gegevens,NORMAAL_PRIVILEGE) + (alg_regio_key, + alg_regio_omschrijving, + alg_regio_upper, + alg_district_key, + alg_district_omschrijving, + alg_district_upper, + alg_locatie_key, + alg_locatie_omschrijving, + alg_locatie_code, + alg_locatie_upper, + alg_locatie_tekening) AS + SELECT ALG_R.alg_regio_key, + ALG_R.alg_regio_omschrijving, + ALG_R.alg_regio_upper, + ALG_D.alg_district_key, + ALG_D.alg_district_omschrijving, + ALG_D.alg_district_upper, + ALG_L.alg_locatie_key, + ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code, + ALG_L.alg_locatie_upper, + ALG_L.alg_locatie_tekening + FROM alg_regio ALG_R, alg_district ALG_D, + alg_v_aanweziglocatie ALG_L + WHERE ALG_D.alg_district_key = ALG_L.alg_district_key AND + ALG_D.alg_district_module IS NULL AND + ALG_R.alg_regio_key = ALG_D.alg_regio_key; + +CREATE_VIEW(alg_v_locatie_gegevens_2,NORMAAL_PRIVILEGE) + (alg_regio_key_2, + alg_regio_omschrijving, + alg_regio_upper, + alg_district_key_2, + alg_district_omschrijving, + alg_district_upper, + alg_locatie_key, + alg_locatie_omschrijving, + alg_locatie_code, + alg_locatie_upper, + alg_locatie_tekening) AS + SELECT ALG_R.alg_regio_key, + ALG_R.alg_regio_omschrijving, + ALG_R.alg_regio_upper, + ALG_L.alg_district_key_2, + ALG_D.alg_district_omschrijving, + ALG_D.alg_district_upper, + ALG_L.alg_locatie_key, + ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code, + ALG_L.alg_locatie_upper, + ALG_L.alg_locatie_tekening + FROM alg_regio ALG_R, alg_district ALG_D, + alg_v_aanweziglocatie ALG_L + WHERE ALG_D.alg_district_key = ALG_L.alg_district_key_2 AND + ALG_D.alg_district_module IS NOT NULL AND + ALG_R.alg_regio_key = ALG_D.alg_regio_key + UNION + SELECT TO_NUMBER(NULL), + NULL, + NULL, + TO_NUMBER(NULL), + NULL, + NULL, + ALG_L.alg_locatie_key, + ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code, + ALG_L.alg_locatie_upper, + ALG_L.alg_locatie_tekening + FROM alg_v_aanweziglocatie ALG_L + WHERE ALG_L.alg_district_key_2 IS NULL; + +CREATE_VIEW(alg_v_gebouw_gegevens,NORMAAL_PRIVILEGE) AS + SELECT ALG_L.alg_locatie_key, ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code, ALG_L.alg_locatie_upper, + ALG_L.alg_locatie_tekening, + ALG_G.alg_gebouw_key, ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_code, ALG_G.alg_gebouw_naam, + ALG_G.alg_gebouw_acadkey, + ALG_G.alg_gebouw_upper, ALG_S.alg_srtgebouw_key, + ALG_S.alg_srtgebouw_omschrijving + FROM alg_locatie ALG_L, alg_v_aanweziggebouw ALG_G, + alg_v_aanwezigsrtgebouw ALG_S + WHERE ALG_L.alg_locatie_key = ALG_G.alg_locatie_key AND + ALG_G.alg_srtgebouw_key = ALG_S.alg_srtgebouw_key (+); + +CREATE_VIEW(alg_v_verdieping_gegevens,NORMAAL_PRIVILEGE) AS + SELECT ALG_L.alg_locatie_key, ALG_L.alg_district_key, + ALG_L.alg_locatie_omschrijving, ALG_L.alg_locatie_code, + ALG_L.alg_locatie_upper, ALG_G.alg_gebouw_key, + ALG_G.alg_srtgebouw_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_upper, + ALG_V.alg_verdieping_volgnr, ALG_V.alg_verdieping_tekening, + ALG_V.alg_verdieping_in_bewerking + FROM alg_locatie ALG_L, alg_gebouw ALG_G, + alg_v_aanwezigverdieping ALG_V + WHERE + ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key AND + ALG_L.alg_locatie_key = ALG_G.alg_locatie_key; + +CREATE_VIEW(alg_v_ruimte_gegevens,NORMAAL_PRIVILEGE) AS + SELECT ALG_L.alg_locatie_key, ALG_L.alg_district_key, + ALG_L.alg_locatie_omschrijving, ALG_L.alg_locatie_code, + ALG_L.alg_locatie_upper, + ALG_G.alg_gebouw_key, ALG_G.alg_srtgebouw_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_upper, + ALG_V.alg_verdieping_volgnr, + ALG_V.alg_verdieping_tekening, ALG_R.alg_ruimte_key, + ALG_S.alg_srtruimte_key, ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_acadkey, + ALG_R.alg_ruimte_omschrijving, ALG_R.alg_ruimte_upper_nr, + ALG_S.alg_srtruimte_omschrijving, + ALG_R.alg_ruimte_vloer_omschrijving, + ALG_R.alg_ruimte_bruto_vloeropp, + ALG_R.alg_ruimte_opp_gevelglas, + ALG_R.alg_ruimte_opp_separatieglas, + ALG_R.alg_ruimte_opp_gevelbekleding +#ifdef HUI + , ALG_R.prs_huismeester_key +#endif +#ifdef SCH + , ALG_R.sch_srtvloer_key +#endif +#ifdef AKZ + , ALG_R.alg_srtvloer_key +#endif + FROM alg_locatie ALG_L, alg_gebouw ALG_G, + alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R, + alg_v_aanwezigsrtruimte ALG_S + WHERE + ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key AND + ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key AND + ALG_L.alg_locatie_key = ALG_G.alg_locatie_key AND + ALG_R.alg_srtruimte_key = ALG_S.alg_srtruimte_key (+); + +/* + * View met alle sleutels van de gemeenschappelijke sequence + * alg_s_alg_onroerendgoed_keys, nl. alg_gebouw, alg_verdieping, alg_ruimte en + * alg_terreinsector. + */ + +CREATE_VIEW(alg_v_onroerendgoed,NORMAAL_PRIVILEGE) (alg_onroerendgoed_keys, + alg_ruimte_key, + alg_verdieping_key, + alg_gebouw_key, + alg_terreinsector_key, + alg_type) AS + SELECT ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_key, + ALG_R.alg_verdieping_key, + ALG_V.alg_gebouw_key, + to_number(NULL), + 'R' + FROM alg_v_aanwezigruimte ALG_R, alg_verdieping ALG_V + WHERE ALG_R.alg_verdieping_key = + ALG_V.alg_verdieping_key + UNION + SELECT ALG_V.alg_verdieping_key, + to_number(NULL), + ALG_V.alg_verdieping_key, + ALG_V.alg_gebouw_key, + to_number(NULL), + 'V' + FROM alg_v_aanwezigverdieping ALG_V + UNION + SELECT ALG_G.alg_gebouw_key, + to_number(NULL), + to_number(NULL), + ALG_G.alg_gebouw_key, + to_number(NULL), + 'G' + FROM alg_v_aanweziggebouw ALG_G + UNION + SELECT ALG_T.alg_terreinsector_key, + to_number(NULL), + to_number(NULL), + to_number(NULL), + ALG_T.alg_terreinsector_key, + 'T' + FROM alg_v_aanwezigterreinsector ALG_T; + +CREATE_VIEW(alg_v_allonroerendgoed,NORMAAL_PRIVILEGE) (alg_onroerendgoed_keys, + alg_ruimte_key, + alg_verdieping_key, + alg_gebouw_key, + alg_terreinsector_key, + alg_type) AS + SELECT ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_key, + ALG_R.alg_verdieping_key, + ALG_V.alg_gebouw_key, + to_number(NULL), + 'R' + FROM alg_ruimte ALG_R, alg_verdieping ALG_V + WHERE ALG_R.alg_verdieping_key = + ALG_V.alg_verdieping_key + UNION + SELECT ALG_V.alg_verdieping_key, + to_number(NULL), + ALG_V.alg_verdieping_key, + ALG_V.alg_gebouw_key, + to_number(NULL), + 'V' + FROM alg_verdieping ALG_V + UNION + SELECT ALG_G.alg_gebouw_key, + to_number(NULL), + to_number(NULL), + ALG_G.alg_gebouw_key, + to_number(NULL), + 'G' + FROM alg_gebouw ALG_G + UNION + SELECT ALG_T.alg_terreinsector_key, + to_number(NULL), + to_number(NULL), + to_number(NULL), + ALG_T.alg_terreinsector_key, + 'T' + FROM alg_terreinsector ALG_T; + +CREATE_VIEW(alg_v_onroerendgoed_gegevens,NORMAAL_PRIVILEGE) + (alg_onroerendgoed_keys, + alg_onroerendgoed_code, + alg_onroerendgoed_omschrijving, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_omschrijving, + alg_verdieping_key, + alg_verdieping_volgnr, + alg_verdieping_omschrijving, + alg_gebouw_key, + alg_gebouw_code, + alg_gebouw_naam, + alg_terreinsector_key, + alg_terreinsector_code, + alg_terreinsector_naam, + alg_type) AS + SELECT ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_omschrijving, + ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_omschrijving, + ALG_R.alg_verdieping_key, + ALG_V.alg_verdieping_volgnr, + ALG_V.alg_verdieping_omschrijving, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_code, + ALG_G.alg_gebouw_naam, + to_number(NULL), + NULL, + NULL, + 'R' + FROM alg_v_aanwezigruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G + WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key + AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key + UNION + SELECT ALG_V.alg_verdieping_key, + TO_CHAR(ALG_V.alg_verdieping_volgnr), + ALG_V.alg_verdieping_omschrijving, + to_number(NULL), + NULL, + NULL, + ALG_V.alg_verdieping_key, + ALG_V.alg_verdieping_volgnr, + ALG_V.alg_verdieping_omschrijving, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_code, + ALG_G.alg_gebouw_naam, + to_number(NULL), + NULL, + NULL, + 'V' + FROM alg_v_aanwezigverdieping ALG_V, alg_gebouw ALG_G + WHERE ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key + UNION + SELECT ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_code, + ALG_G.alg_gebouw_naam, + to_number(NULL), + NULL, + NULL, + to_number(NULL), + to_number(NULL), + NULL, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_code, + ALG_G.alg_gebouw_naam, + to_number(NULL), + NULL, + NULL, + 'G' + FROM alg_v_aanweziggebouw ALG_G + UNION + SELECT ALG_T.alg_terreinsector_key, + ALG_T.alg_terreinsector_code, + ALG_T.alg_terreinsector_naam, + to_number(NULL), + NULL, + NULL, + to_number(NULL), + to_number(NULL), + NULL, + to_number(NULL), + NULL, + NULL, + ALG_T.alg_terreinsector_key, + ALG_T.alg_terreinsector_code, + ALG_T.alg_terreinsector_naam, + 'T' + FROM alg_v_aanwezigterreinsector ALG_T; + +#ifdef MLD +/* View om de geraamde kosten te bepalen voor personeelsleden met + * openstaande opdrachten per kostenpost. + * Geraamde kosten zijn het uurloon en materiaalkosten van nog + * uitgegeven of afgemelde opdrachten. + */ +CREATE_VIEW(alg_v_mld_kostenpost_perslid, NORMAAL_PRIVILEGE) + (alg_kostenpost_key, + alg_kostenpost_geraamd) AS + SELECT MLD_O.mld_alg_kostenpost_key, + SUM(NVL(MLD_O.mld_opdr_uren,0)*NVL(PRS_P.prs_perslid_uurloon,0)) + + SUM(NVL(MLD_O.mld_opdr_materiaal,0)) + FROM mld_opdr MLD_O, mld_statusopdr MLD_S, + prs_perslid PRS_P + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + OR MLD_S.mld_statusopdr_omschrijving = 'Afgemeld') + AND MLD_O.mld_uitvoerende_keys = PRS_P.prs_perslid_key + GROUP BY MLD_O.mld_alg_kostenpost_key; + +/* View om de geraamde kosten te bepalen voor bedrijven met + * openstaande opdachten per kostenpost. + * Geraamde kosten zijn het uurloon en materiaalkosten van nog + * uitgegeven of afgemelde opdrachten. + */ +CREATE_VIEW(alg_v_mld_kostenpost_bedrijf, NORMAAL_PRIVILEGE) + (alg_kostenpost_key, + alg_kostenpost_geraamd) AS + SELECT MLD_O.mld_alg_kostenpost_key, + SUM(NVL(MLD_O.mld_opdr_uren,0)*NVL(PRS_B.prs_bedrijf_uurloon,0)) + + SUM(NVL(MLD_O.mld_opdr_materiaal,0)) + FROM mld_opdr MLD_O, mld_statusopdr MLD_S, + prs_bedrijf PRS_B + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + OR MLD_S.mld_statusopdr_omschrijving = 'Afgemeld') + AND MLD_O.mld_uitvoerende_keys = PRS_B.prs_bedrijf_key + GROUP BY MLD_O.mld_alg_kostenpost_key; + +/* View om de geraamde kosten te bepalen van openstaande opdrachten + * per kostenpost. + * Geraamde kosten zijn het uurloon en materiaalkosten van nog + * uitgegeven of afgemelde opdrachten. + */ +CREATE_VIEW(alg_v_mld_kostenpost_geraamd, NORMAAL_PRIVILEGE) + (alg_kostenpost_key, + alg_kostenpost_geraamd) AS + SELECT MLD_P.alg_kostenpost_key, + NVL(MLD_P.alg_kostenpost_geraamd, 0) + + NVL(MLD_B.alg_kostenpost_geraamd, 0) + FROM alg_v_mld_kostenpost_perslid MLD_P, + alg_v_mld_kostenpost_bedrijf MLD_B + WHERE MLD_P.alg_kostenpost_key = MLD_B.alg_kostenpost_key; +#endif + +#ifdef LEV +/* View om de geraamde kosten te bepalen van bestellingen + * per kostenpost. + * Geraamde kosten zijn de prijs van de nog niet + * werkelijk geleverde ins_srtdelen van de bestellingen. + */ +CREATE_VIEW(alg_v_lev_kostenpost_geraamd, NORMAAL_PRIVILEGE) + (alg_kostenpost_key, + alg_kostenpost_geraamd) AS + SELECT LEV_B.lev_alg_kostenpost_key, + SUM((NVL(LEV_BR.lev_bestelregel_aantal, 0) - + NVL(LEV_BR.lev_bestelregel_geleverd, 0)) * + NVL(INV_SD.inv_srtdeel_prijs, 0)) + FROM lev_bestelling LEV_B, lev_bestelregel LEV_BR, ins_srtdeel INV_SD + WHERE LEV_BR.lev_ins_srtdeel_key = INV_SD.ins_srtdeel_key + AND LEV_BR.lev_bestelregel_aantal > 0 + AND LEV_BR.lev_bestelling_key = LEV_B.lev_bestelling_key + AND LEV_B.lev_bestelstatus <> 'V' + GROUP BY LEV_B.lev_alg_kostenpost_key; +#endif + +/* View voor een overzicht van de aanwezige kostenposten + * incl. de geraamde en bestede bedragen. + */ +CREATE_VIEW(alg_v_alg_kostenpost_gegevens, NORMAAL_PRIVILEGE) + (alg_kostenpost_key, + alg_kostenpost_omschrijving, + alg_kostenpost_upper, + alg_kostenpost_budget, + alg_kostenpost_besteed, + alg_kostenpost_datum, + alg_kostenpost_jaar, + alg_kostenpost_geraamd) AS + SELECT ALG_K.alg_kostenpost_key, + ALG_K.alg_kostenpost_omschrijving, + ALG_K.alg_kostenpost_upper, + ALG_K.alg_kostenpost_budget, + NVL(ALG_K.alg_kostenpost_besteed, 0), + ALG_K.alg_kostenpost_datum, + ALG_K.alg_kostenpost_jaar, + SUM( +#ifdef MLD + NVL(MLD_K.alg_kostenpost_geraamd, 0) +#else + 0 +#endif + + +#ifdef LEV + NVL(LEV_K.alg_kostenpost_geraamd, 0) +#else + 0 +#endif + ) + FROM alg_v_aanwezigkostenpost ALG_K +#ifdef MLD + , alg_v_mld_kostenpost_geraamd MLD_K +#endif +#ifdef LEV + , alg_v_lev_kostenpost_geraamd LEV_K +#endif + WHERE ALG_K.alg_kostenpost_key IS NOT NULL +#ifdef MLD + AND MLD_K.alg_kostenpost_key (+) = ALG_K.alg_kostenpost_key +#endif +#ifdef LEV + AND LEV_K.alg_kostenpost_key (+) = ALG_K.alg_kostenpost_key +#endif + GROUP BY ALG_K.alg_kostenpost_key, + ALG_K.alg_kostenpost_omschrijving, + ALG_K.alg_kostenpost_upper, + ALG_K.alg_kostenpost_budget, + ALG_K.alg_kostenpost_besteed, + ALG_K.alg_kostenpost_datum, + ALG_K.alg_kostenpost_jaar; + +DEFINIEER_VIEW_AANWEZIG(alg_objectdeel, alg_objectdeel_verwijder, + alg_v_aanwezigobjectdeel,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_systeemcluster, alg_systeemcluster_verwijder, + alg_v_aanwezigsysteemcluster,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_bouwdeel, alg_bouwdeel_verwijder, + alg_v_aanwezigbouwdeel,NORMAAL_PRIVILEGE); + +CREATE_VIEW(alg_v_systeemcluster_gegevens, NORMAAL_PRIVILEGE) AS + SELECT ALG_O.alg_locatie_key, + ALG_O.alg_objectdeel_key, + ALG_O.alg_objectdeel_omschrijving, + ALG_O.alg_objectdeel_upper, + ALG_S.alg_systeemcluster_key, + ALG_S.alg_systeemclust_omschrijving, + ALG_S.alg_systeemcluster_upper + FROM alg_v_aanwezigsysteemcluster ALG_S, alg_objectdeel ALG_O + WHERE ALG_S.alg_objectdeel_key = ALG_O.alg_objectdeel_key; + +CREATE_VIEW(alg_v_systeemcluster_onrgoed, NORMAAL_PRIVILEGE) + (alg_locatie_key, + alg_objectdeel_key, + alg_objectdeel_omschrijving, + alg_objectdeel_upper, + alg_systeemcluster_key, + alg_systeemclust_omschrijving, + alg_systeemcluster_upper, + alg_onroerendgoed_keys, + alg_onroerendgoed_type, + alg_onroerendgoed_omschrijving, + alg_onroerendgoed_upper) AS + SELECT ALG_O.alg_locatie_key, + ALG_O.alg_objectdeel_key, + ALG_O.alg_objectdeel_omschrijving, + ALG_O.alg_objectdeel_upper, + ALG_S.alg_systeemcluster_key, + ALG_S.alg_systeemclust_omschrijving, + ALG_S.alg_systeemcluster_upper, + ALG_G.alg_gebouw_key, + 'G', + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper + FROM alg_v_aanwezigsysteemcluster ALG_S, alg_objectdeel ALG_O, + alg_v_aanweziggebouw ALG_G + WHERE ALG_S.alg_objectdeel_key = ALG_O.alg_objectdeel_key + AND ALG_G.alg_systeemcluster_key = ALG_S.alg_systeemcluster_key + UNION + SELECT ALG_O.alg_locatie_key, + ALG_O.alg_objectdeel_key, + ALG_O.alg_objectdeel_omschrijving, + ALG_O.alg_objectdeel_upper, + ALG_S.alg_systeemcluster_key, + ALG_S.alg_systeemclust_omschrijving, + ALG_S.alg_systeemcluster_upper, + ALG_T.alg_terreinsector_key, + 'T', + ALG_T.alg_terreinsector_omschrijving, + ALG_T.alg_terreinsector_upper + FROM alg_v_aanwezigsysteemcluster ALG_S, alg_objectdeel ALG_O, + alg_v_aanwezigterreinsector ALG_T + WHERE ALG_S.alg_objectdeel_key = ALG_O.alg_objectdeel_key + AND ALG_T.alg_systeemcluster_key = ALG_S.alg_systeemcluster_key; + +CREATE_VIEW(alg_v_bouwdeel_gegevens, NORMAAL_PRIVILEGE) AS + SELECT ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + ALG_B.alg_bouwdeel_key, + ALG_B.alg_bouwdeel_omschrijving, + ALG_B.alg_bouwdeel_upper + FROM alg_v_aanwezigbouwdeel ALG_B, alg_gebouw ALG_G + WHERE ALG_B.alg_gebouw_key = ALG_G.alg_gebouw_key; + +CREATE_VIEW(alg_v_bouwdeel_verdieping, NORMAAL_PRIVILEGE) +AS + SELECT ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + ALG_B.alg_bouwdeel_key, + ALG_B.alg_bouwdeel_omschrijving, + ALG_B.alg_bouwdeel_upper, + ALG_V.alg_verdieping_key, + ALG_V.alg_verdieping_omschrijving, + ALG_V.alg_verdieping_volgnr + FROM alg_v_aanwezigbouwdeel ALG_B, alg_gebouw ALG_G, + alg_v_aanwezigverdieping ALG_V + WHERE ALG_B.alg_gebouw_key = ALG_G.alg_gebouw_key + AND ALG_B.alg_bouwdeel_key = ALG_V.alg_bouwdeel_key; + +DEFINIEER_VIEW_AANWEZIG(alg_srtterrein, alg_srtterrein_verwijder, + alg_v_aanwezigsrtterrein,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_srtverdieping, alg_srtverdieping_verwijder, + alg_v_aanwezigsrtverdieping,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_srtvloer, alg_srtvloer_verwijder, + alg_v_aanwezigsrtvloer,NORMAAL_PRIVILEGE); + +#endif // ALG diff --git a/CAD/.gitignore b/CAD/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/CAD/CAD_IND.SRC b/CAD/CAD_IND.SRC new file mode 100644 index 00000000..0564f6a3 --- /dev/null +++ b/CAD/CAD_IND.SRC @@ -0,0 +1,17 @@ +#ifdef CAD // 22-05-1998 KTH + +/* + * REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 22-05-1998 KTH LOG#1821: Wijzigingen tbv tabel CAD_TEKENING geintroduceerd + */ + +CREATE INDEX cad_i_cad_tekening1 ON cad_tekening(ins_discipline_key); +CREATE INDEX cad_i_cad_tekening2 ON cad_tekening(alg_locatie_key); +CREATE INDEX cad_i_cad_tekening3 ON cad_tekening(alg_verdieping_key); + +#endif // CAD diff --git a/CAD/CAD_INI.SRC b/CAD/CAD_INI.SRC new file mode 100644 index 00000000..7a22162a --- /dev/null +++ b/CAD/CAD_INI.SRC @@ -0,0 +1,14 @@ +#ifdef CAD // 22-05-1998 KTH + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 22-05-1998 KTH Aangemaakt + */ + +_FAC_MODULE('CAD','AutoCAD Map koppeling') + +#endif // CAD diff --git a/CAD/CAD_PAC.SRC b/CAD/CAD_PAC.SRC new file mode 100644 index 00000000..3bdefa13 --- /dev/null +++ b/CAD/CAD_PAC.SRC @@ -0,0 +1,164 @@ +#ifdef CAD // 22-05-1998 KTH + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * 22-07-1998 KTH - diverse -- vervangen door slash-sterretje/sterretje-slash + * - diverse kleine aanpassingen + * 21-07-1998 BIV Procedure cad_p_ruimte_update_opp toegevoegd + * 21-07-1998 BIV Functie cad_f_ruimte_get_tekeningnaam() toegevoegd. + * 09-07-1998 PF Geen exception meer, en PRAGMA WNPS toegevoegd + * 08-07-1998 PF Functies gebruiken TABLE ins_deel ipv VIEW ins_v_aanwezigdeel, vanwege autorisatie. + * De functie wordt ook door andere users (FCLTCAD) gebruikt, en die ziet niets + * in de autorisatie views + * 07-07-1998 BIV Functies cad_f_deel_get_locatie_key, ..._get_verdieping_key, ..._get_discipline_key, + * ..._get_tekeningnaam toegevoegd. + * --- 01.38 --- + * --- 01.37 --- + * 22-05-1998 KTH Aangemaakt + */ + +CREATE OR REPLACE PACKAGE cad AS + FUNCTION cad_f_deel_get_locatie(key IN NUMBER) RETURN NUMBER; + FUNCTION cad_f_deel_get_verdieping(key IN NUMBER) RETURN NUMBER; + FUNCTION cad_f_deel_get_discipline(key IN NUMBER) RETURN NUMBER; + FUNCTION cad_f_deel_get_tekeningnaam(key IN NUMBER) RETURN VARCHAR2; + FUNCTION cad_f_ruimte_get_tekeningnaam(key IN NUMBER) RETURN VARCHAR2; + PROCEDURE cad_p_ruimte_update_opp(key IN NUMBER, VloerOpp IN NUMBER); + + /* garandeer dat de functies de database-state en package-state niet beinvloeden + * (anders kunnen ze niet zondermeer in een view worden gebruikt) + */ + PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_locatie, WNDS, WNPS); + PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_verdieping, WNDS, WNPS); + PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_discipline, WNDS, WNPS); + PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_tekeningnaam, WNDS, WNPS); + PRAGMA RESTRICT_REFERENCES (cad_f_ruimte_get_tekeningnaam, WNDS, WNPS); +END cad; +/ + +CREATE OR REPLACE PACKAGE BODY cad AS + + FUNCTION cad_f_deel_get_locatie(Key IN NUMBER) RETURN NUMBER IS + locatie_key NUMBER(10); + BEGIN + SELECT ins_alg_locatie_key + INTO locatie_key + FROM all_v_aanwezigdeel + /* FROM ins_deel -- de tabel i.o.m. PF view gebruiken */ + WHERE ins_deel_key = Key; + RETURN locatie_key; + EXCEPTION + WHEN NO_DATA_FOUND THEN + RETURN NULL; + END cad_f_deel_get_locatie; + + FUNCTION cad_f_deel_get_verdieping(Key IN NUMBER) RETURN NUMBER IS + verdieping_key NUMBER(10); + BEGIN + SELECT ALG_G.alg_verdieping_key + INTO verdieping_key + FROM alg_ruimte ALG_G, ins_deel INS_D /* de tabel! */ + WHERE INS_D.ins_deel_key = Key + AND INS_D.ins_alg_ruimte_key = ALG_G.alg_ruimte_key; + RETURN verdieping_key; + EXCEPTION + WHEN NO_DATA_FOUND THEN + RETURN NULL; + END cad_f_deel_get_verdieping; + + FUNCTION cad_f_deel_get_discipline(Key IN NUMBER) RETURN NUMBER IS + discipline_key NUMBER(10); + BEGIN + SELECT ins_discipline_key + INTO discipline_key + FROM all_v_aanwezigdeel + /* FROM ins_deel -- de tabel! */ + WHERE ins_deel_key = Key; + RETURN discipline_key; + EXCEPTION + WHEN NO_DATA_FOUND THEN + RETURN NULL; + END cad_f_deel_get_discipline; + + FUNCTION cad_f_deel_get_tekeningnaam(Key IN NUMBER) RETURN VARCHAR2 IS + tekeningnaam VARCHAR2(256); + locatie_key NUMBER(10); + verdieping_key NUMBER(10); + discipline_key NUMBER(10); + BEGIN + locatie_key := cad_f_deel_get_locatie(Key); + verdieping_key := cad_f_deel_get_verdieping(Key); + discipline_key := cad_f_deel_get_discipline(Key); + + IF (locatie_key IS NOT NULL AND + verdieping_key IS NOT NULL AND + discipline_key IS NOT NULL) THEN + BEGIN + SELECT cad_tekening_filenaam + INTO tekeningnaam + FROM cad_v_cad_tekening /* ja deze! */ + WHERE alg_locatie_key = locatie_key + AND alg_verdieping_key = verdieping_key + AND ins_discipline_key = discipline_key; + RETURN tekeningnaam; + EXCEPTION + WHEN NO_DATA_FOUND THEN + /* raise_application_error(-20000, 'ins_m166'); */ + RETURN NULL; + END; + ELSE + RETURN NULL; + END IF; + END cad_f_deel_get_tekeningnaam; + + FUNCTION cad_f_ruimte_get_tekeningnaam(Key IN NUMBER) RETURN VARCHAR2 IS + tekeningnaam VARCHAR2(256); + locatie_key NUMBER(10); + verdieping_key NUMBER(10); + BEGIN + SELECT alg_locatie_key, alg_verdieping_key + INTO locatie_key, verdieping_key + FROM alg_v_ruimte_gegevens + WHERE alg_ruimte_key = Key; + + IF (locatie_key IS NOT NULL AND + verdieping_key IS NOT NULL) THEN + BEGIN + SELECT cad_tekening_filenaam + INTO tekeningnaam + FROM cad_v_cad_tekening /* ja deze! */ + WHERE alg_locatie_key = locatie_key + AND alg_verdieping_key = verdieping_key + AND cad_tekening_type = 'C'; + RETURN tekeningnaam; + EXCEPTION + WHEN NO_DATA_FOUND THEN + /* raise_application_error(-20000, 'ins_m166'); */ + RETURN NULL; + END; + ELSE + RETURN NULL; + END IF; + END cad_f_ruimte_get_tekeningnaam; + + /* + * CAD_P_RUIMTE_UPDATE_OPP wordt aangeroepen vanuit AutoCAD + * en wijzigt de vloeroppervlakte van een opgegeven ruimte + * + * Merk op dat een eventuele EXCEPTION hier niet expliciet wordt afgevangen! + */ + PROCEDURE cad_p_ruimte_update_opp(Key IN NUMBER, VloerOpp IN NUMBER) IS + BEGIN + /* alleen indien het een logisch aanwezige ruimte betreft passen we de opp aan */ + UPDATE alg_v_aanwezigruimte + SET alg_ruimte_bruto_vloeropp = VloerOpp + WHERE alg_ruimte_key = Key; + COMMIT; + END cad_p_ruimte_update_opp; + +END cad; +/ + +#endif // CAD diff --git a/CAD/CAD_SEQ.SRC b/CAD/CAD_SEQ.SRC new file mode 100644 index 00000000..6ff6a3c7 --- /dev/null +++ b/CAD/CAD_SEQ.SRC @@ -0,0 +1,14 @@ +#ifdef CAD // 22-05-1998 KTH + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 22-05-1998 KTH LOG#1821: Wijzigingen tbv tabel CAD_TEKENING geintroduceerd + */ + +CREATE SEQUENCE cad_s_cad_tekening_key MINVALUE 1; + +#endif // CAD diff --git a/CAD/CAD_TAB.SRC b/CAD/CAD_TAB.SRC new file mode 100644 index 00000000..300feb2d --- /dev/null +++ b/CAD/CAD_TAB.SRC @@ -0,0 +1,45 @@ +#ifdef CAD // 22-05-1998 KTH + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * 30-06-1998 BIV LOG#1902: NOT NULL van CAD_TEKENING.INS_DISCIPLINE_KEY eraf + * --- 01.37 --- + * 22-05-1998 KTH LOG#1821: Wijzigingen tbv tabel CAD_TEKENING geintroduceerd + */ + +#include "comsql.h" + +CREATE_TABLE(cad_tekening, NORMAAL_PRIVILEGE) +( + cad_tekening_key + NUMBER(10) + CONSTRAINT cad_k_cad_tekening_key PRIMARY KEY, + ins_discipline_key /* als deze leeg is geeft betreft het de Contour-tekening */ + NUMBER(10) + --#1902 NOT_NULL(ins_discipline_key, cad_c_ins_discipline_key) + CONSTRAINT cad_r_ins_discipline_key REFERENCES ins_tab_discipline(ins_discipline_key), + alg_locatie_key + NUMBER(10) + NOT_NULL(alg_locatie_key, cad_c_alg_locatie_key) + CONSTRAINT cad_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key), + alg_verdieping_key /* is optioneel NULL */ + NUMBER(10) + CONSTRAINT cad_r_alg_verdieping_key REFERENCES alg_verdieping(alg_verdieping_key), + cad_tekening_filenaam /* excl. leading PATH (komt uit INI-file), incl. extension */ + VARCHAR2(256) + NOT_NULL(cad_tekening_filenaam, cad_c_cad_tekening_filenaam), + cad_tekening_type + VARCHAR2(3) + NOT_NULL (cad_tekening_type, cad_c_cad_tekening_type) + CONSTRAINT cad_c_cad_tekening_type2 CHECK(cad_tekening_type = 'P' OR cad_tekening_type = 'C' + OR cad_tekening_type = 'D'), + cad_tekening_geimporteerd /* geeft aan of de tekening al is geimporteerd: */ + DATE /* NULL indien niet, anders datum van importeren */ + DEFAULT NULLDATUM, + CONSTRAINT cad_u_cad_tekening UNIQUE(ins_discipline_key,alg_locatie_key,alg_verdieping_key) +); + +#endif // CAD diff --git a/CAD/CAD_TRI.SRC b/CAD/CAD_TRI.SRC new file mode 100644 index 00000000..b51b72ef --- /dev/null +++ b/CAD/CAD_TRI.SRC @@ -0,0 +1,22 @@ +#ifdef CAD // 22-05-1998 KTH + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 22-05-1998 KTH LOG#1821: Wijzigingen tbv tabel CAD_TEKENING geintroduceerd + */ + +#include "comsql.h" + +CREATE_TRIGGER(cad_t_cad_tekening_B_IU) +BEFORE INSERT OR UPDATE ON cad_tekening +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(cad_tekening_key, cad_s_cad_tekening_key); +END; +/ + +#endif // CAD diff --git a/CAD/CAD_VIE.SRC b/CAD/CAD_VIE.SRC new file mode 100644 index 00000000..a6b524c5 --- /dev/null +++ b/CAD/CAD_VIE.SRC @@ -0,0 +1,135 @@ +#ifdef CAD // 22-05-1998 KTH + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * 23-07-1998 KTH LOG#1938: cad_vie.src opgesplitst in cad_vie1.src en cad_vie2.src + * 21-07-1998 BIV View cad_v_alg_ruimte_tekening toegevoegd. + * 21-07-1998 BIV View cad_v_cad_tekening uitgebreidt met CAD_TEKENING_TYPE. + * 16-07-1998 BIV View toegevoegd voor Plattegrond-, Contour- en Disciplinetekeningen. + * 09-07-1998 KTH Dubbel stukje cad_v_ins_deel_tekening verwijderd + * 09-07-1998 PF View cad_v_ins_deel_tekening toegevoegd + * 08-07-1998 PF View cad_v_cad_tekening toegevoegd (voor raadplegen vanuit FCLTCAD) + * --- 01.38 --- + * 01-07-1998 KTH - CAD_V_ALG_GEBOUW toegevoegd (voor PF) + * - CAD_V_ALG_RUIMTE.ALG_VERDIEPING_KEY toegevoegd (voor PF) + * 29-06-1998 KTH LOG#1905: CAD_V_ALG_RUIMTE en CAD_V_INS_DEEL toegevoegd + * --- 01.37 --- + * 08-06-1998 BIV LOG#1824: CAD_V_CAD_TEKENING_GEGEVENS toegevoegd t.b.v. overzichtscherm CAD011. + * 22-05-1998 KTH LOG#1821: Wijzigingen tbv tabel CAD_TEKENING geintroduceerd + */ + +#include "comsql.h" + +CREATE_VIEW(cad_v_cad_aanwezigtekening, NORMAAL_PRIVILEGE) AS + SELECT * FROM cad_tekening C_T + WHERE C_T.ins_discipline_key IN (SELECT ins_discipline_key + FROM ins_discipline) + OR C_T.ins_discipline_key IS NULL; + +CREATE_VIEW(cad_v_cad_tekening_gegevens, NORMAAL_PRIVILEGE) + (cad_tekening_key, + alg_locatie_key, + alg_locatie_code, + alg_gebouw_key, + alg_gebouw_code, + alg_verdieping_key, + alg_verdieping_omschrijving, + ins_discipline_key, + ins_discipline_omschrijving) AS + SELECT C_T.cad_tekening_key, + C_T.alg_locatie_key, + ALG_L.alg_locatie_code, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_code, + C_T.alg_verdieping_key, + ALG_V.alg_verdieping_omschrijving, + C_T.ins_discipline_key, + INS_D.ins_discipline_omschrijving + FROM alg_locatie ALG_L, + alg_verdieping ALG_V, + alg_gebouw ALG_G, + ins_discipline INS_D, + cad_v_cad_aanwezigtekening C_T + WHERE C_T.alg_locatie_key = ALG_L.alg_locatie_key + AND C_T.alg_verdieping_key = ALG_V.alg_verdieping_key (+) + AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key (+) + AND C_T.ins_discipline_key = INS_D.ins_discipline_key (+); + +CREATE_VIEW(cad_v_plattegrond, CAD_PRIVILEGE) AS + SELECT * FROM cad_tekening + WHERE UPPER(cad_tekening_type) = 'P'; + +CREATE_VIEW(cad_v_contour, CAD_PRIVILEGE) AS + SELECT * FROM cad_tekening + WHERE UPPER(cad_tekening_type) = 'C'; + +CREATE_VIEW(cad_v_discipline, CAD_PRIVILEGE) AS + SELECT * FROM cad_tekening + WHERE UPPER(cad_tekening_type) = 'D'; + +/* 29-06-1998 KTH LOG#1905 + * Views die door de AutoCAD Map-user FCLTCAD worden geraadpleegd. + * Bij die user heet de SYNONYM ernaar toe wellicht anders. + */ + +CREATE_VIEW(cad_v_alg_gebouw, CAD_PRIVILEGE) + (alg_gebouw_key, + alg_gebouw_cadlabel, + alg_gebouw_code) AS + SELECT alg_gebouw_key, + alg_gebouw_code, + alg_gebouw_code + FROM alg_v_aanweziggebouw; + +CREATE_VIEW(cad_v_alg_ruimte, CAD_PRIVILEGE) + (alg_ruimte_key, + alg_ruimte_cadlabel, + alg_ruimte_nr, + alg_verdieping_key) AS + SELECT alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_nr, + alg_verdieping_key + FROM alg_v_aanwezigruimte; + +/* View met ALLE tekeningen, ongeacht de autorisatie; minimale kolommen, gebruikt in CAD_PAC.SRC */ +CREATE_VIEW(cad_v_cad_tekening, CAD_PRIVILEGE) AS + SELECT ins_discipline_key, + alg_locatie_key, + alg_verdieping_key, + cad_tekening_type, + cad_tekening_filenaam + FROM cad_tekening C_T; + +#ifdef INS +/* 29-06-1998 KTH LOG#1905 + * View CAD_V_INS_DEEL wordt door de AutoCAD Map-user FCLTCAD geraadpleegd. + * Bij die user heet de SYNONYM ernaar toe wellicht anders. + */ +#ifdef AKZ +/* voor AKZ wordt alleen het laatste stuk van de omschrijving gebruikt */ +CREATE_VIEW(cad_v_ins_deel, CAD_PRIVILEGE) + (ins_deel_key, + ins_deel_cadlabel, + ins_deel_upper) AS + SELECT ins_deel_key, + SUBSTR(ins_deel_upper, LENGTH(ins_deel_upper)-5), /* laatste 5 karakters */ + ins_deel_upper + FROM ins_deel + WHERE ins_deel_verwijder IS NULL; /* alleen de logisch aanwezige delen */ +#else +CREATE_VIEW(cad_v_ins_deel, CAD_PRIVILEGE) + (ins_deel_key, + ins_deel_cadlabel, + ins_deel_upper) AS + SELECT ins_deel_key, + ins_deel_upper, + ins_deel_upper + FROM ins_deel + WHERE D.ins_deel_verwijder IS NULL; /* alleen de logisch aanwezige delen */ +#endif // AKZ +#endif // INS + +#endif // CAD diff --git a/COMSQL.H b/COMSQL.H new file mode 100644 index 00000000..7f8038c8 --- /dev/null +++ b/COMSQL.H @@ -0,0 +1,489 @@ +#ifndef _COMSQL_H +#define _COMSQL_H + +/* + * Opmerkingen: + * - gebruik ~ waar een \n gewenst is (zie bv. CREATE_TABLE()) + * + * Functies aanwezig: + * + * _FAC_MODULE + * CREATE_TABLE() + * CREATE_VIEW() + * CREATE_TRIGGER() + * CREATE_VOLGNR() + * UPDATE_PRIMARY_KEY() + * UPDATE_VOLGNR() + * UPDATE_UPPER() + * DEFINIEER_VIEW_AANWEZIG() + * CHECK_UNIQUE_OMSCHRIJVING + * CHECK_UNIQUE_KEY_OMSCHRIJVING + * CHECK_UNIQUE_DEEL_KEY_OMSCHRIJVING + * LAAT_VERDIEPING_VERVALLEN_VOOR_GEBOUW() + * LAAT_RUIMTE_VERVALLEN_VOOR_VERDIEPING() + * CHECK_NOG_REFERENCES() + * CHECK_SRT_REFERENCE() + * CHECK_REFERENCE_INST() + * CHECK_REFERENCE_SRTINST() + * CHECK_REFERENCE_ONROERENDGOED() + * CHECK_REFERENCE_UITVOERENDE() + * CHECK_REFERENCE_DEFAULTUITV() + * UPDATE_WEEKINGAVE + * SET_VERWIJDER_CHILDREN + * SET_VERWIJDER_CHILDREN2 + * DELETE_CHILDREN + * DEF_FAC_ENTITY + * DEF_FAC_MESSAGE + * DEF_FAC_FORM() + * NOT_NULL() + * FAC_P_FAC_SAVE_RESTORE_UPDATE() + * + * History: + * + * --- 01.40 --- + * 28-08-98 KTH _FAC_MODULE komt op '01.40' + * --- 01.39 --- + * --- 01.38 --- + * 29-06-98 KTH LOG#1905: CAD_PRIVILEGE toegevoegd tbv AutoCAD Map (CAD_VIE.SRC) + * --- 01.37 --- + * 20-05-98 KTH Macro _FAC_MODULE gedefinieerd welke door xxx_INI.SRC kan worden gebruikt + * --- 01.36 --- + * --- 01.35 --- + * 17/04/1998 AH Aan het einde van FAC_P_FAC_SAVE_RESTORE_UPDATE() mogen de onthouden Keys verwijderd + * worden. + * 01/04/1998 AH #1540, FAC_P_FAC_SAVE_RESTORE_UPDATE() toegevoegd. + * --- 01.34 --- + * 17/02/1998 AH SET_VERWIJDER_CHILDREN2() toegevoegd. + * 29/01/1998 AH HIDDEN_PRIVILEGE toegevoegd voor INS_TAB_DISCIPLINE, er wordt geen SYNONYM aangemaakt + * in de afgeleide gebruikers. + * 12/11/1997 AH Macro NOT_NULL() toegevoegd, controleerd op NOT NULL van een column + * De melding kan niet via de column-contraint NOT NULL gegeven worden, maar wel + * via CHECK(.. IS NOT NULL) . + * CREATE_TRIGGER() toegevoegd + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * 19-09-96 AH UPDATE_UPPER() aangepast, kan gewoon toekenning worden + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * 12-06-96 KTH Macro DEF_FAC_FORM() toegevoegd + * 07-06-96 KTH Insert into fac_privilege moet UPPER gebruiken (2x) ivm. + * kunnen vergelijken van de grants in grants.sql. + * --- 01.16 --- + * --- 01.15 --- + * 17-05-96 PF CREATE VIEW vervangen door CREATE OR REPLACE VIEW in CREATE_VIEW + * 14-05-96 EH #define TRUE en FALSE verwijderd. + * 03-05-96 AH define UPDATE_VOLGNR() en CREATE_VOLGNR() toegevoegd. + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 01-04-96 KTH CREATE_TABLE en CREATE_VIEW toegevoegd voor roles en + * DEFINIEER_VIEW_AANWEZIG daarvoor aangepast + * 26-02-96 EH SET_VERWIJDER_CHILDREN aangepast. + * 16-02-96 PF NOT xx IS NULL vervangen door xx IS NOT NULL + * 16-02-96 PF SET_VERWIJDER_CHILDREN en DELETE_CHILDREN uit INSSQL.H + * toegevoegd + * 13-02-96 PF CHECK_SRT_REFERENCE aangepast (log 330); extra parameter + * 25-01-96 AH [#119] MLD_T_MLD_MELDING_B_IU houdt geen rekening met + * ALG_TERREINSECTOR. In CHECK_REFERENCE_ONROERENDGOED() + * 22-01-96 KTH [#280] NULLDATUM teruggezet naar NULL (en '= NULLDATUM' wordt + * 'IS NULLDATUM', '<> NULLDATUM' wordt 'IS NOT NULLDATUM') + * 12-01-96 PF LEEG DATUMVELD is niet NULL, maar 29-FEB-1604' + * 20-12-95 PF macros voor entitynames en messages toegevoegd + * 06-12-95 EH 'ins_m..' verwijderd; inhoudsopgave bijgewerkt. + * --ER STAAN NOG QUOOTJES IN TRIGGER CHECK_REF_ONR !!-- + * 04-12-95 AH Trigger CHECK_REFERENCE_UITVOERENDE houdt geen rekening met + * NULL waarde van key. + */ + +#define _FAC_MODULE(module,omschrijving) \ + INSERT INTO fac_module VALUES (module,'01.40',TO_CHAR(SYSDATE,'YYYYMMDD'),omschrijving); + + +#define APPLICATION_ERROR raise_application_error +/*#define NULLDATUM TO_DATE('29-FEB-1604','DD-MON-YYYY')*/ +#define NULLDATUM NULL + +/* + * In principe moeten alle tabellen en views aangemaakt worden met + * CREATE_TABLE() resp. CREATE_VIEW() om ook het toekennen van geschikte + * roles af te dwingen (uitzondering is table fac_privilege) + * + * (S)elect, (I)nsert, (D)elete, (U)pdate + * + * level small full archive + * ----- ----- ---- ------- + * 1 SIDU SIDU SIDU ; bv. tijdelijke tabellen + * 2 S SIDU SIDU ; normale tabellen + * 3 S S SIDU ; bibliotheek tabellen + * 4 - - - ; tabellen die niet mogen worden ingezien + */ +#define BASIS_PRIVILEGE 1 +#define NORMAAL_PRIVILEGE 2 +#define BIBLIOTHEEK_PRIVILEGE 3 +#define HIDDEN_PRIVILEGE 4 +/* voor de FCLT_CAD_ROLE (tbv AutoCAD Map user) */ +#define CAD_PRIVILEGE 5 + + +#define CREATE_TABLE(table_name, level) \ + INSERT INTO fac_privilege VALUES (UPPER(#@table_name), level);~CREATE TABLE table_name + +#define CREATE_VIEW(view_name, level) \ + INSERT INTO fac_privilege VALUES (UPPER(#@view_name), level);~CREATE OR REPLACE VIEW view_name + +#define CREATE_TRIGGER(trigger_name) \ + CREATE OR REPLACE TRIGGER trigger_name + +#define CREATE_VOLGNR(volgnr_srt, volgnr_periode) \ + INSERT INTO fac_volgnrs (fac_volgnr_srt, fac_volgnr_periode) \ + VALUES(volgnr_srt, volgnr_periode) + +#define UPDATE_PRIMARY_KEY(primary_key, sequence_primary_key) \ + IF :new.primary_key IS NULL \ + THEN SELECT sequence_primary_key.nextval INTO :new.primary_key \ + FROM DUAL; \ + END IF + +#define UPDATE_VOLGNR(key_veld, fac_volgnr_srt) \ + IF :new.key_veld IS NULL \ + THEN \ + :new.key_veld := FAC_P_FAC_VOLGNR.FAC_VOLGNR_NEXTVAL(fac_volgnr_srt); \ + END IF + +#define UPDATE_UPPER(omschrijving, upper_omschrijving) \ + :new.upper_omschrijving := UPPER(:new.omschrijving) + +#define DEFINIEER_VIEW_AANWEZIG(table, verwijder_veld, view_name, level) \ + CREATE_VIEW (view_name,level) AS \ + SELECT * \ + FROM table \ + WHERE table.verwijder_veld IS NULLDATUM + +#define CHECK_UNIQUE_OMSCHRIJVING(tabel, upper_omschrijving, \ + exc_msg_GEEN_OMSCHRIJVING, \ + exc_msg_BESTAANDE_OMSCHRIJVING) \ + DECLARE \ + dummy CHAR := 'N'; \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM tabel \ + GROUP BY upper_omschrijving \ + HAVING COUNT(*) > 1; \ + APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \ + EXCEPTION \ + WHEN NO_DATA_FOUND \ + THEN NULL; \ + \ + WHEN TOO_MANY_ROWS \ + THEN APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \ + END + +#define CHECK_UNIQUE_KEY_OMSCHRIJVING(tabel, key, upper_omschrijving, \ + exc_msg_GEEN_OMSCHRIJVING, \ + exc_msg_BESTAANDE_OMSCHRIJVING) \ + DECLARE \ + dummy CHAR := 'N'; \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM tabel \ + GROUP BY key, upper_omschrijving \ + HAVING COUNT(*) > 1; \ + APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \ + EXCEPTION \ + WHEN NO_DATA_FOUND \ + THEN NULL; \ + \ + WHEN TOO_MANY_ROWS \ + THEN APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \ + END + +#define CHECK_UNIQUE_DEEL_KEY_OMSCHRIJVING(tabel, up_key, naast_key, \ +upper_omschrijving, exc_msg_GEEN_OMSCHRIJVING, \ + exc_msg_BESTAANDE_OMSCHRIJVING) \ + DECLARE \ + dummy CHAR := 'N'; \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM tabel \ + GROUP BY up_key, naast_key, upper_omschrijving \ + HAVING COUNT(*) > 1; \ + APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \ + EXCEPTION \ + WHEN NO_DATA_FOUND \ + THEN NULL; \ + \ + WHEN TOO_MANY_ROWS \ + THEN APPLICATION_ERROR(-20001, exc_msg_BESTAANDE_OMSCHRIJVING); \ + END + +#define LAAT_VERDIEPING_VERVALLEN_VOOR_GEBOUW(exc_msg_VERDIEPING_IN_GEBRUIK) \ + BEGIN \ + IF :new.alg_gebouw_verwijder IS NOT NULL \ + THEN \ + UPDATE alg_verdieping \ + SET alg_verdieping_verwijder = SYSDATE \ + WHERE \ + alg_verdieping.alg_gebouw_key = :new.alg_gebouw_key; \ + END IF; \ + EXCEPTION \ + WHEN NO_DATA_FOUND \ + THEN APPLICATION_ERROR(-20000, exc_msg_VERDIEPING_IN_GEBRUIK); \ + \ + WHEN TOO_MANY_ROWS \ + THEN APPLICATION_ERROR(-20000, exc_msg_VERDIEPING_IN_GEBRUIK); \ + END + +#define LAAT_RUIMTE_VERVALLEN_VOOR_VERDIEPING(exc_msg_RUIMTE_IN_GEBRUIK) \ + BEGIN \ + IF :new.alg_verdieping_verwijder IS NOT NULL \ + THEN \ + UPDATE alg_ruimte \ + SET alg_ruimte_verwijder = SYSDATE \ + WHERE \ + alg_ruimte.alg_verdieping_key = :new.alg_verdieping_key; \ + END IF; \ + EXCEPTION \ + WHEN NO_DATA_FOUND \ + THEN APPLICATION_ERROR(-20000, exc_msg_RUIMTE_IN_GEBRUIK); \ + \ + WHEN TOO_MANY_ROWS \ + THEN APPLICATION_ERROR(-20000, exc_msg_RUIMTE_IN_GEBRUIK); \ + END + +#define CHECK_NOG_REFERENCES(tabel,tabel_verwijder_veld,reference_view, \ + key_veld,message) \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + IF :new.tabel_verwijder_veld IS NOT NULLDATUM \ + THEN \ + SELECT 'x' INTO dummy \ + FROM reference_view \ + WHERE reference_view.key_veld = :old.key_veld; \ + APPLICATION_ERROR(-20000,message); \ + END IF; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + NULL; \ + WHEN TOO_MANY_ROWS THEN \ + APPLICATION_ERROR(-20000,message); \ + END + +#define CHECK_SRT_REFERENCE(srtref_table, deelref_table, srtref_key, \ + deelref_key, srtdeelref_key, message, tabel_verwijder_veld) \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + IF :new.tabel_verwijder_veld IS NULL THEN \ + SELECT 'X' INTO dummy \ + FROM srtref_table, deelref_table \ + WHERE :new.srtref_key = srtref_table.srtref_key AND \ + :new.deelref_key = deelref_table.deelref_key AND \ + srtref_table.srtdeelref_key = deelref_table.srtdeelref_key; \ + END IF; \ + EXCEPTION \ + WHEN NO_DATA_FOUND OR TOO_MANY_ROWS THEN \ + APPLICATION_ERROR(-20000,message); \ + END + +#define CHECK_REFERENCE_INST(key_veld, message) \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM ins_v_aanwezigdeel \ + WHERE ins_deel_key = :new.key_veld; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM ins_v_aanwezigonderdeel \ + WHERE ins_onderdeel_key = :new.key_veld; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM ins_v_aanwezigelement \ + WHERE ins_element_key = :new.key_veld; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + APPLICATION_ERROR(-20000, message); \ + END; \ + END; \ + END + +#define CHECK_REFERENCE_SRTINST(key_veld, message) \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM ins_v_aanwezigsrtdeel \ + WHERE ins_srtdeel_key = :new.key_veld; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM ins_v_aanwezigsrtonderdeel \ + WHERE ins_srtonderdeel_key = :new.key_veld; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM ins_v_aanwezigsrtelement \ + WHERE ins_srtelement_key = :new.key_veld; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + APPLICATION_ERROR(-20000, message); \ + END; \ + END; \ + END + +#define CHECK_REFERENCE_ONROERENDGOED(key_veld, message) \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM alg_v_aanweziggebouw \ + WHERE alg_gebouw_key = :new.key_veld; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM alg_v_aanwezigverdieping \ + WHERE alg_verdieping_key = :new.key_veld; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM alg_v_aanwezigruimte \ + WHERE alg_ruimte_key = :new.key_veld; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM alg_v_aanwezigterreinsector \ + WHERE alg_terreinsector_key = :new.key_veld; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + APPLICATION_ERROR(-20000,message); \ + END; \ + END; \ + END; \ + END + +#define CHECK_REFERENCE_UITVOERENDE(key_veld, message) \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + IF :new.key_veld IS NOT NULL \ + THEN \ + SELECT 'X' INTO dummy \ + FROM mld_v_uitvoerende \ + WHERE key = :new.key_veld; \ + END IF; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + APPLICATION_ERROR(-20000, message); \ + END + +#define CHECK_REFERENCE_DEFAULTUITV(key_veld, message) \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + SELECT 'X' INTO dummy \ + FROM mld_v_defaultuitv \ + WHERE bco_defaultuitv_keys = :new.key_veld; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + APPLICATION_ERROR(-20000, message); \ + END + +#define UPDATE_WEEKINGAVE(weekingave_veld) \ + BEGIN \ + :new.weekingave_veld := to_number( \ + to_char(:new.mld_opdr_datumbegin, 'YYWW')); \ + END + + +#define SET_VERWIJDER_CHILDREN(child_table, parent_key, parent_verwijder, \ + child_verwijder) \ + BEGIN \ + IF :new.parent_verwijder IS NOT NULL \ + THEN \ + UPDATE child_table \ + SET child_verwijder = SYSDATE \ + WHERE \ + child_table.parent_key = :new.parent_key AND \ + child_verwijder IS NULL; \ + END IF; \ + END + +#define SET_VERWIJDER_CHILDREN2(child_table, parent_key, child_key, parent_verwijder, \ + child_verwijder) \ + BEGIN \ + IF :new.parent_verwijder IS NOT NULL \ + THEN \ + UPDATE child_table \ + SET child_verwijder = SYSDATE \ + WHERE \ + child_table.child_key = :new.parent_key AND \ + child_verwijder IS NULL; \ + END IF; \ + END + + +#define DELETE_CHILDREN(child_table, parent_key) \ + BEGIN \ + DELETE FROM child_table \ + WHERE child_table.parent_key = :new.parent_key; \ + END + + +#define DEF_FAC_ENTITY INSERT INTO fac_entity_name VALUES + +#define DEF_FAC_MESSAGE INSERT INTO fac_message VALUES + +#define DEF_FAC_FORM INSERT INTO fac_form VALUES + +// NOT_NULL(): Columnconstraint ipv. NOT NULL, De melding ORA-1400: mandatory (NOT NULL)... +// geeft de constraintnaam niet, zodat de meding niet vertaald kan worden. +// De CHECK() geeft het wel, dus wordt deze gebruikt. +#define NOT_NULL(column, constraint_name) CONSTRAINT constraint_name CHECK(column IS NOT NULL) + +/* Doorloop de onthouden PrimaryKeys via FAC_P_FAC_SAVE_RESTORE en roep voor elke key de functie Func + * aan. Deze doet de uiteindelijke actie. + * Func krijgt als argument de key (NUMBER) mee en moet een BOOLEAN teruggeven. + * Zie ook commentaar in FAC_PAC.SRC. + */ +#define FAC_P_FAC_SAVE_RESTORE_UPDATE(Func, TableName) \ +DECLARE \ + IndexNr NUMBER; \ + PrimaryKey NUMBER(10); \ + Dummy BOOLEAN; \ +BEGIN \ + IndexNr := 1; \ + PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey(TableName, IndexNr); \ + WHILE PrimaryKey IS NOT NULL \ + LOOP \ + Dummy := Func(PrimaryKey); \ + IndexNr := IndexNr + 1; \ + PrimaryKey := fac_p_fac_save_restore.GetPrimaryKey(TableName, IndexNr); \ + END LOOP; \ + Dummy := fac_p_fac_save_restore.ResetSelectie(TableName); \ +END + + +#endif // _COMSQL_H diff --git a/FAC/.gitignore b/FAC/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/FAC/FAC_IND.SRC b/FAC/FAC_IND.SRC new file mode 100644 index 00000000..3e9cbc19 --- /dev/null +++ b/FAC/FAC_IND.SRC @@ -0,0 +1,47 @@ +#ifdef FAC // 13-03-96 AH + +/* + * System indices for Facilitor + */ + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 03/02/1998 AH Kolomnamen in FAC_GEBRUIKER zijn aangepast. + * 28/01/1998 AH Indexen aangemaakt voor FAC_GEBRUIKER. + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 13-10-95 PF Creation + */ + +CREATE INDEX fac_i_fac_gebruiker1 ON fac_gebruiker(fac_gebruiker_username); +CREATE INDEX fac_i_fac_gebruiker2 ON fac_gebruiker(fac_gebruiker_module, fac_gebruiker_tabel, fac_gebruiker_kolom, fac_gebruiker_kolomkey, fac_gebruiker_soort); + +#endif // FAC diff --git a/FAC/FAC_INI.SRC b/FAC/FAC_INI.SRC new file mode 100644 index 00000000..b5bdecd6 --- /dev/null +++ b/FAC/FAC_INI.SRC @@ -0,0 +1,5054 @@ +#ifdef FAC // 13-03-96 AH + +/* + * System tables for Facilitor: installation time population + */ + +/* REVISIONS: + * + * 14-09-1998 KTH Lidwoorden en meervouden ingevuld voor AKZ-Entities + * --- 01.40 --- + * 12-08-1998 BIV Entities toegevoegd voor form BIS145. + * 12-08-1998 BIV Constraints toegevoegd voor tabel BIS_TRAJECT. + * 11-08-1998 BIV Melding BIS_M091 toegevoegd. + * 10-08-1998 BIV Constraints toegevoegd voor BIS_TEXTUUR EN BIS_TEXTUURGROOTE. + * 10-08-1998 BIV Schermteksten t.b.v. BIS144 toegevoegd. + * 06-08-1998 BIV BIS_M090 toegevoegd. + * --- 01.39 --- + * 30-07-1998 BIV BIS_M87 t/m BIS_M89 toegevoegd. + * 29-07-1998 BIV Entities toegevoegd t.b.v. BIS043. + * 27-07-1998 BIV Diverse constraint toegevoegd voor tabellen t.b.v. diverse BIS-tabellen. + * 20-07-1998 BIV Melding ALG_M226 toegevoegd. + * 15-07-1998 BIV Entities toegevoegd voor Radiobutton op CAD111 - Cad_tekening_type. + * 15-07-1998 BIV Constraints toegevoegd voor veld cad_tekening_type. + * 08-07-1998 BIV Melding CAD_M003 toegevoegd. + * 08-07-1998 BIV INS_M166 toegevoegd t.b.v. package CAD. + * 06-06-1998 BIV INS_M165 toegevoegd. + * 03-07-1998 BIV I.o.m. EN INS_PLAATS_GRAFISCH entity toegevoegd. + * --- 01.38 --- + * 01-07-1998 KTH LOG#1912: Autorisatie voor 'Aanvalsplan genereren' + * 01-07-1998 BIV LOG#1911 - Melding INS_M164 toegevoegd. + * 30-06-1998 KTH Melding ALG_M225 toegevoegd. + * 30-06-1998 BIV Melding ALG_M223 en ALG_M224 toegevoegd. + * --- 01.37 --- + * 09-06-1998 BIV LOG#1824: Melding CAD_M001 toegevoegd t.b.v. scherm CAD011. + * 08-06-1998 BIV LOG#1824: Fac_entity CAD_TEKENING_OMSCHR toegevoegd. + * 26-05-1998 BIV LOG#1817: Een menu-item Ruimte toegevoegd, omdat Regio en Ruimte allebei dezelfde shortcut + * - hadden, n.l. R. + * 22-05-1998 KTH LOG#1821: Wijzigingen tbv tabel CAD_TEKENING geintroduceerd + * 20-05-1998 KTH - Gebruik macro _FAC_MODULE + * - BIS_U_BIS_ANALYSEMETHODE_UPPER was dubbel gedefinieerd + * 20-05-1998 BIV LOG#1791 : Scherm tekst 'Document' toegevoegd t.b.v. AKZ116. + * 19-05-1998 BIV LOG#1729 : Menutekst 'Onderdeelsrt' verandert in Onderdeelsoort. + * 18-05-1998 BIV Constraint AKZ_C_AKS_SCHNIVO_KENGETAL toegevoegd (kengetal mag niet negatief zijn). + * 18-05-1998 BIV Tekst van ALG_M222 aangepast. "Schoonmaakosten" vervangen door "Schoonmaakkosten". + * 18-05-1998 BIV 2x constaint BIS_C_BIS_STOF_S_GRONDWATER gebruikt, dit mag natuurlijk slechts één keer, + * de andere constraint moet BIS_C_BIS_STOF_I_GRONDWATER zijn (de tekst was al wel goed). + * 15-05-1998 KTH - Records in FAC_FUNCTIE krijgen #ifdef-condities + * - LOG#983 FAC_M025 tbv FAC012 (About-scherm uitbreiden met Username) + * 14-05-1998 BIV Melding ALG_M221 toegevoegd tbv AKZ-schoonmaak functionaliteit + * 14-05-1998 KTH - LOG#1594: INS_M013 hergeformuleerd + * - LOG#1717: FAC_MESSAGE 'MENU_MLD_HERKTEKST' toegevoegd + * 13-05-1998 BIV Meldingen ALG_M220 en ALG_M221 toegevoegd. + * 12/05/1998 BIV Schermteksten t.b.v. AKZ016 toegevoegd. + * 11/05/1998 BIV Constraints toegevoegd voor AKZ_SCHNIVO. + * 05-05-1998 BIV Constraints toegevoegd voor BIS_STOFANALYSEMETHODE. + * --- 01.36 --- + * 03-05-98 KTH - MLD_M198 en MLD_M200 zijn OPTIONEEL meervoud en niet ALTIJD + * - MLD_M186 herschreven (was: 'Een melding met deze status heeft geen opdrachten') + * - PRS_BEDRIJF_OVEREENK_DATUM's tekst verkort + * 02-05-98 KTH LOG#1625: geexporteerd is geen Melding-status meer: uit FAC_ENTITY_USER + * en MLD_M183, MLD_M213 en MLD_214 verwijderd + * 23/04/1998 BIV Tekst van constraint ALG_U_ALG_GEBOUW_UPPER gewijzigd. + * --- 01.35 --- + * 23/04/1998 BIV Constraints toegevoegd voor BIS_ANALYSEMETHODE. + * 16/04/1998 AH Default in FAC_GEBRUIKER voor FAC_ROL (Beheer) toegevoegd. FAC_ROL 'DBA' uitgecommentarieerd. + * 15/04/1998 BIV Entity BIS_ANALYSEPAKKETSTOF en Message bis_m085 toegevoegd. + * 15/04/1998 AH Entity en Messages voor SAP-export toegevoegd. + * 14/04/1998 AH Message MLD_C_MLD_STDMELD_UITVOERTIJD en entity MLD_STDMELDING_UITVOERTIJD, .._DAGEN toegevoegd. + * MLD_STDMELDING_URGENTIE gewijzigd in 'Acceptatietijd'. MLD_OPDR_BEDRIJFOPDR_VOLGNR toegevoegd + * 09/04/1998 AH AKZ_ORDER is niet meer nodig. + * 09/04/1998 AH Extra AKZ-velden in ALG_GEBOUW, ALG_TERREINSECTOR + * 08/04/1998 AH Extra AKZ-velden in PRS_PERSLID, INS_DISCIPLINE. + * 08/04/1998 BIV T.b.v. BIS constraints toegevoegd. + * 02/04/1998 BIV #1566: PRS_M153 T/M PRS_M158 toegevoegd. + * 31/03/1998 BIV #1566: PRS_M150, PRS_M151 en PRS_M152 toegevoegd. + * 31/03/1998 AH #1557: MLD_MELDING_VELD en MLD_MELDING_VELD_WAARDE toegevoegd voor MLD033 + * 30/03/1998 AH #1563: Typfout in 'Werkpek' -> 'Werkplek' + * 30/03/1998 AH #1523 Extra melding FAC_M021 voor ORA-1031 Insufficient Privileges. + * 31-03-98 BIV #1566 : Schermteksten toegevoegd aan PRS211. + * 26-03-98 KTH FAC_M002 wordt voor module BIS 'Bodem Informatie Systeem 2.0' + * 19-03-98 KTH Menulabels toegevoegd voor BIS, Stofgroep en Stof + * 13-03-98 BIV #1524, contraints BIS_STOF EN BIS_STOFGROEP toegevoegd + * --- 01.34 --- + * 11-03-98 KTH - 'Facilitor' heet 'GMS' indien Module_Bestaat('AKZ') + * - 'Seki-Riesewijk' wordt 'Dijkoraad IT' + * 10/03/1998 AH Nieuwe meldingen voor MLD_TIMER-trigger. + * 10-03-98 KTH 'Bevestging' wordt 'Bevestiging' + * 09-03-1998 KTH #ifdef AKZ: kretologie voor Akzo geintroduceerd (Vakgroep, + * TV, AV) + * 02/03/1998 AH Nieuwe meldingen voor Afmelden en Verwerken meldingen toegevoegd, + * MLD_STATUSOPDR gewijzigd in 'Status'. + * 26/02/1998 AH Nieuwe entity voor MLD131 toegevoegd. + * 25/02/1998 AH Nieuwe meldingen en entities voor MLD_STDMELDING toegevoegd. + * 23/02/1998 AH MLD_VRIJE_DAGEN-entities en messages toegevoegd. + * 23/02/1998 AH AKZ_ORDER-entities en messages toegevoegd. + * 23/02/1998 AH SRTKENMERK_NMIN en SRTKENMERK_NMAX aangepast. + * 19/02/1998 AH Nieuwe #define AKZ gebruikt voor FAC_FUNCTIE(). + * 17/02/1998 AH Nieuwe entities en messages voor INS027 toegevoegd. + * 17/02/1998 AH Nieuwe meldingen voor INS_DEELKOPPELING-constraints toegevoegd. + * 16/02/1998 AH Nieuwe FAC_FUNCTIE 'Importeren sleutels' toegevoegd. + * 12/02/1998 AH Nieuwe FAC_FUNCTIE 'Importeren personen' toegevoegd. + * 11/02/1998 AH Nieuwe messages voor importeren personen toegevoegd. + * 03/02/1998 AH Message ALG_C_ALG_VERDIEPING_IN_BEWERK toegevoegd. Extra FAC_FUNCTIE + * '(De)blokkeren van bouwlagen' toegevoegd. + * 30/01/1998 AH Default vulling voor FAC_FUNCTIE en FAC_ROL toegevoegd. + * 28/01/1998 AH INS_M156 toegevoegd + * 14/01/1998 AH INS_KENMERK-entities en -messages toegevoegd. + * 06/01/1998 AH FCLT_INIFILE-entity toegevoegd. + * 20/11/1997 AH SLE-constraint-messages toegevoegd + * 20/11/1997 AH Extra constraint SCH_C_SCH_SRTRUIMTE_SRTVLOER toegevoegd + * 17/11/1997 AH #1473, Constraint-meldingen aangemaakt. FAC_M012 toegevoegd. + * --- 01.33 --- + * 28-08-97 AH ATT_CHAR, ATT_NUMBER en ATT_REFERENCE toegevoegd voor MAN. + * --- 01.32 --- + * --- 01.31 --- + * 23-07-97 AH #1411, sch_m027 aangepast + * 23-07-97 AH #1407, SCH_M035, M036, M037 aangepast + * 23-07-97 AH #1405: SCH_ACTIVITEIT_PPM, .._SHORT en SCH_ACTIVITEIT_PPR, .._SHORT toegevoegd + * Message SCH_PPM aangepast + * --- 01.30 --- + * 11-07-97 AH #1381, PRS_M108 toegevoegd,PRS_PERSLIDWERKPLEK_OPP, PRS_PERSLIDWERKPLEK_BEZETTING, + * PRS_PERSLIDWERKPLEK_NORM toegevoegd + * 10-07-97 AH #1377, PRS_M016 aangepast alleen voor PRR + * 10-07-97 AH #1367, ALG_M211 - ALG_M214 toegevoegd voor meldingen Restricted verwijderen + * van Regio, District en Locatie + * 10-7-97 AH #1364, UNIQUE-failure op RMC_ALG_REGIO, RMC_ALG_DISTRICT, BCO_MAATREGEL_SOORT, + * BCO_MAATREGEL_DEFECT, BCO_MAATREGEL_WERKOPDR, Missing expression op MLD_ADRES_GEBOUW_RUIMTE + * --- 01.29 --- + * 07-07-1997 AH #1339, LEV_M073 toegevoegd + * 08-07-1997 AH #1352, LEV_M072 toegevoegd + * 7/2/97 AH #1353: 'Overnachting' moet zijn 'Legering' + * 7/2/97 AH #1347: INV_M047 aangepast in 'Bruikleen inventeris' + * 6/26/97 AH #1326, Nieuwe messages SCH_M027-SCH_M041 voor SCH-funtionaliteit toegevoegd. + * 6/23/97 AH Voor RHY117+ PRS_RAPPORT_TYPE toegevoegd voor scherm PRS211 + * PRS_M107, PRS_RAPPORT_RUIMTE_OPP, PRS_RAPPORT_WERKPLEK_OPP, + * PRS_RAPPORT_BENUT_OPP, PRS_RAPPORT_PERCENTAGE_OPP + * --- 01.28 --- + * 06-05-97 KTH HUI_M039: 'moglijk' wordt 'mogelijk' + * 05-05-97 AH LEV_M026 aangepast. LEV_M + * 01-05-97 AH INV_SRTDEEL-meervoud aangepast. INV_M005 en INV_M006 aangepast, + * LEV_M065 aangepast. + * --- 01.27 --- + * 18-04-97 AH BEBIS: De entities voor buttons hebben een spatie aan het einde. Deze + * zijn verwijderd, alleen bij buttons voor EDIT-scherm. + * NEXT heeft nu extra '...' + * ALG_DISTRICT_CODE voor BEBIS Dienstkringcode, ALG_M120 ook. + * ALG_SYSTEEMCLUSTER is 'Het systeemcluster, ook in ALG_M170 en + * ALG_M173 aangepast. ALG_M204 aangepast. PRINT_VORIGE en + * PRINT_VOLGENDE toegevoegd + * INS_M138 toegevoegd. FAC_M005, FAC_M007 aangepast + * 16-04-97 AH BEBIS: ALG_SRTTERREIN is te groot ALG_SRTVERDIEPING aangepast + * --- 01.26 --- + * 09-04-97 AH #1234, Extra LEV-messages toegevoegd + * 08-04-97 AH #1229, LEV_BESTELLING_BTW en LEV_BESTELREGEL_TOTAAL toegevoegd + * 07-04-97 AH #1227: HUI_M062/063 toegevoegd + * 26-03-97 AH RABO: INS_M136+137 toegevoegd. + * 17-03-97 AH RABO: INS_M119/120 toegevoegd, INS_DEEL_OPHEFFEN, INS_DEEL_COUNT + * toegevoegd. INS_M121-135 toegevoegd. INS_IMPORT-entities teogevoegd + * en INS_DEEL-entities toegevoegd + * 10-03-97 AH RABO: INS_SRTDEEL_ACAD_TAGVALUE toegevoegd + * 06-03-97 AH RABO: ATT-messages toegevoegd. + * --- 01.25 --- + * 30-01-97 AH DOOS_IMP: Entities en messages toegevoegd + * 28-01-97 AH HELPFILE: Typefout in MRA_VOORSCHRIFT, MRA_M098, MANC_V_ARB, + * MRA_M033, MRA_M54 + * 27-01-97 AH #1179, MRA_M108 + 109 + 110 toegevoegd, + * MRA_VOORSCHRIFT + _OMSCHRIJVING + _AFK + _MODULE + _BUTTON + + * MRA_BESTEMMING + MRA_SUBBESTEMMING + MRA_M029 - 105 + * MRA_FORMULIER, MRA_M100, MRA_M101, MRA_M107 aangepast. + * 23-01-97 PF INV_M009/HUI toegevoegd + * 22-01-97 AH BESTELLING_OPEN/ALL/VOL toegevoegd voor LEV011/PrintButton + * HUI_RESERVERING toegevoegd en HUI_OVERNACHTING weer aangepast + * LEV_M067 + 68 toegevoegd + * 22-01-97 AH INV_DEEL_BEZIT had een ' te veel + * 22-01-97 AH IMPORT ARTIKEL: INV_M065 - 67 toegevoegd. + * 21-01-97 AH #1165, HUI_M026 en 027 aangepast, HUI_M057 - 061 toegevoegd + * 20-01-97 AH #1163, HUI_BEZETTING toegevoegd, HUI_OVERNACHTING aangepast + * HUI_M053 - 55 toegevoegd + * PRS_PERSLID_EENHEID -> 'Onderdeel' + * 20-01-97 AH LEV_M066 toegevoegd + * 17-01-97 AH #1117, INV_M061 en 064 toegevoegd + * 15-01-97 AH #1112, LEV_M063 - 65 toegevoegd + * 14-01-97 AH #1134, LEV_M060 - 062 toegevoegd + * 14-01-97 AH #1134, LEV_AFVOERLIJST... toegevoegd + * 10-01-97 AH #1124, INV_DEEL_VERHUIZEN, INV_M059, INV_M060 toegevoegd + * 10-01-97 AH #1127, LEV_TOEGEWEZEN, LEV_GELEVERD, LEV_M059 toegevoegd + * 09-01-97 AH #1122, FAC_Printer-entities en messages toegevoegd + * 08-01-97 AH #1124, INV_M055 - 58 toegevoegd + * 08-01-97 AH #1118, MLD_KOSTENPOST, ALG_M155, ALG_M156, LEV_M049, MLD_M152, + * MLD_M153 aangepast Kostenpost heet nu MZA voor LEV/HUI + * 08-01-97 AH #1116, INV_DETAIL toegevoegd + * 08-01-97 AH #1113, LEV_M055 - 58 toegevoegd. + * 08-01-97 AH LEV_M013/028 aangepast. + * 08-01-97 AH LEV_M054 toegevoegd + * 06-01-97 AH LEV_M053 toegevoegd + * 12-12-96 AH MRA_RAPPORT, MRA_FORMULIER, MRA_MANCOLIJST toegevoegd + * 10-12-96 AH MRA_BIBLIOTHEEK toegevoegd, MRA_M106, 107 toegevoegd + * 10-12-96 AH MRA_MANCO_TOELICHTING toegevoeged + * 09-12-96 AH MRA_SORTERING, MRA_M099 - MRA_M105 toegevoegd + * 05-12-96 AH INV_DEEL_BEZIT heet in HUI-mode 'Bruikleen'. HUI_M052 toegevoeg.d + * Voor HUI heet 'Artikelgroep': 'Artikeltype', 'Artikelsoort': + * 'Artikel'. (INV_DEEL) 'Artikel' : 'Inventaris'. + * --- 01.24 --- + * 04-12-96 AH PRS_M059 + BCO_M113 aangepast, MLD_M172 + PRS_M101 - PRS_M106 + * toegevoegd. + * 03-12-96 AH BCO_M147 toegevoegd en BCO_M116/118/120/122 aangepast + * 03-12-96 AH BCO_M136, BCP_M076 aangepast, BCO_M146 toegevoegd + * 02-12-96 AH MLD_M124, BCO_M126 en 127 aangepast, PRS_SRTBEDRIJF toegevoegd + * 28-11-96 AH ALG-entities en messages toegevoegd + include van FAC_HLP.H aangepast + * voor extra-velden in BEBIS + * 27-11-96 AH LOG#1073: MLD_BESTELOPDR_BCO_LETTER moet leeg + * 27-11-96 AH LOG#1081: BCP_M119-120 toegevoegd + * 26-11-96 AH LOG#1079: BCP_M110 - BCP_M118, BCO_M139 - 145 toegevoegd + * 25-11-96 AH LOG#1074: BCO_M138 toegevoegd + * 22-11-96 AH LOG#1073: MLD_ADRES entities en messages toegevoegd + * 20-11-96 AH LOG#1072: BCP_M109 toegevoegd + * 19-11-96 AH LOG#1057: BCO_M126 en 127 aangepast + * 19-11-96 AH LOG#1034: BCP_M108 toegevoegd + * --- 01.23 --- + * 18-11-96 AH HUI_M051 toegevoegd + * 18-11-96 AH LOG#1034: BCO_M136, BCO_M137 toegevoegd en BCO_M113/114 aangepast + * 18-11-96 AH LOG#1043: Messages voor BCO_COMMENTAAR aangepast + * 18-11-96 AH LOG#985: HUI_entities en messages toegevoegd + * 15-11-96 AH LOG#985: HUI-entities en messages toegevoegd + * 14-11-96 KTH LOG#1042: PRS_M100 en INV_M054 toegevoegd + * 14-11-96 AH LOG#1035: PRS_M092 aangepast, PRS_M097 - PRS_M099 toegevoegd + * 13-11-96 AH LOG#1035: PRS_M088 aangepast + * 13-11-96 AH LOG#1033: MLD_M55 aangepast. + * 13-11-96 AH LOG#1021: MLD_M163, BCP_M104, BCP_M105, BCP_M106, BCP_M107 toegevoegd + * 13-11-96 KTH ALG_M142 voorzien van tekst 'DEBUG:' ter verduidelijking + * 12-11-96 AH LOG#1019: PRS_M096 toegevoegd + * 12-11-96 AH LOG#999: BCP_M070 aangepast + * 12-11-96 AH LOG#1000: BCP_M069 aangepast + * 11-11-96 AH LOG#991: MLD_M135 aangepast + * 11-11-96 AH LOG#988: MLD_M162 toegevoegd + * --- 01.22 --- + * 08-11-96 AH INV_DEEL_GEBRUIK voor HUI-module heet 'Plaats' + * 08-11-96 AH LOG#972: ALG_M079, ALG_M082, ALGM_085, ALG_M159 aangepast en + * ALG_M195 toegevoegd + * 08-11-96 AH LOG#970: Inconsistente meldingen tov. Kopieren Deel (INS018) + * De meldingen zijn: ALG_M095, ALG_M151, MRA_M018, INS_M050, + * ALG_M096, INS_M091. + * Aangepaste meldingen: MRA_M018, INS_M050, INS_M091 + * 08-11-96 AH LOG#964: INS_M117 en 118 toegevoegd, INS_M061 aangepast + * 06-11-96 AH LOG#823: INV_M049 - 053 en ALG_M194 toegevoegd + * 05-11-96 AH LOG#979: BCP_M100 - 103 toegevoegd + * 05-11-96 AH LOG#979: BCO_M132 - 135 toegevoegd + * 04-11-96 AH LOG#970: INS_M115 en 116 toegevoegd + * 04-11-96 AH LOG#968: INS_M099 gekopieerd naar INS_M114 voor enkelvoud + * 04-11-96 AH LOG#957: INS_M113 toegevoegd. + * 01-11-96 AH LOG#831: LEV_POSTADRES toegevoegd + * --- 01.21 --- + * 31-10-96 AH LOG#Q952: ALG_M193 toegevoegd + * 31-10-96 AH LOG#944: PRS_M095 tegevoegd, PRS_M019 werd ook in PRS015.FMB + * bij verwijderen gebruikt + * 31-10-96 AH LOG#917: Laatste typ-foutjes uit BEB_MI.. gehaald. + * 30-10-96 AH LOG#933: ALG_M192 toegevoegd + * 30-10-96 AH LOG#942: PRS_M094 toegevoegd + * 30-10-96 AH LOG#944: PRS_M019 aangepast + * 30-10-96 AH LOG#940: BCO_M56 aangepast + * 30-10-96 AH LOG#938: BCO_M097 en BCO_M131 aangepast + * 29-10-96 AH LOG#923: BEV_M011 toegevoegd + * 29-10-96 AH LOG#924: INS_M111 - 112 toegevoegd. + * 29-10-96 AH LOG#920: ALG_M188 - 191 toegevoegd + * 29-10-96 AH LOG#919: INS_M110 en BEB_MI4 aangepast + * 29-10-96 AH LOG#918: INS_M107 aangepast + * BEV_PRINT_TOTAAL stond niet alleen op 1 regel. + * 29-10-96 AH LOG#917: 'Wlke' typ-fout in BEB_MI-messages. + * 29-10-96 AH LOG#916: Klantindeling voor BEB wordt NATCO-indeling + * 29-10-96 AH LOG#915: Terreinsector voor BEB is Terrein/Werk + * 28-10-96 AH LOG#913: PRS_M093 toegevoegd + * 28-10-96 AH LOG#914: PRS_M092 toegevoegd + * 25-10-96 AH LOG#906: PRS_M091 toegevoegd + * 25-10-96 AH NUMBER_VELDEN: Message ALG_M105 aangepast + * 25-10-96 AH LOG#900: ALG_M187 toegevoegd. + * 24-10-96 AH LOG#890: INS_M017 en INS_M018 verwijderd. + * 24-10-96 AH LOG#884: BCP_M046 aangepast. + * 24-10-96 AH LOG#877: BCP_M099 tegevoegd + * 23-10-96 AH LOG#858: BCO_M131 toegevoegd voor melding in BCO_T_BCO_MAATREGEL_B_IU + * 22-10-96 AH LOG#864: ALG_108 aangepast, Datum-format foutmelding krijgt + * argumenten mee. + * 22-10-96 AH LOG#853: BCO_M55 en BCO_M56 aangepast + * 22-10-96 AH LOG#867: BCO_M54 en BCO_M59 aangepast woordje correct tussengevoegd. + * 21-10-96 PF LOG#846 DGW&T termen ook voor Bebis, applicatienaam Bebis + * 21-10-96 AH LOG#845 message ALG_M186 en INS_DEEL_REALISATIE toegevoegd. + * 21-10-96 AH #842: ALG_M182 - 185 toegevoegd als trigger-messages. + * 18-10-96 AH #839: Alg-entities en messages toegevoegd: ALG_M162 -181 + * en RMC_M001 - 005 + * 18-10-96 AH #835, BEB-entities en -messages toegevoegd: INS_SRTDEEL_PRIJS, + * INS_SRTDEEL_EENHEID, BEV_PRINT_..., INS_M100 - 110, + * BEB-entities en BEB_MI-messagesen BEV_M008 - 010 + * 09-10-96 AH Regel met BEV_M001 aangepast, '\n' was verdwenen + * 04-10-96 AH BEV-entities en -messages toegevoegd + * 02-10-96 AH PRS_M089 en PRS_M090 toegevoegd + * --- 01.20 --- + * 20-09-96 AH BCO_M112, BCP_M096 aangepast, locatiegroep wordt ook gemeld. + * 19-09-96 AH BCO_M028, BCO_M027 aangepast + * 17-09-96 AH BCP_M047 angepast + * 17-09-96 AH MLD_M37 aangepast, BCO_M128 - 130, MLD_M160 - 161 toegevoegd + * 16-09-96 AH MLD_M43 aangepast:Deelsoort is niet ingevuld + * 16-09-96 AH PRS_M083 - PRS_M088 toegevoeg en PRS_M068 en PRS_M069 aangepast + * 16-09-96 AH BCO_M126, BCO_M127, PRS_PERSLID_STORING_UREN toegevoegd + * 10-09-96 AH INS_M099 toegevoegd + * 09-09-96 AH BCP_M054 aangepast: Installatiewaarde per gebouw/terreinsector + * 04-09-96 AH ALG_M030, ALG_M153, BCP_M043 aangepast. + * 04-09-96 AH entities voor FAC012 aangepast. + * 04-09-96 AH BCO_MAATREGEL-entities, BCO_WERKOPDR_JAAR, + * BCP_VERZAMEL-entities, INS_M097, + * BCO_CORRECTIE-entities, BCO_COMMENTAAR_SOURCE-entities, + * BCO- en BCP-messages toegevoegd. + * 29-08-96 KTH "Laaste record" wordt "Laatste record" + * 28-08-96 AH BCO_COMMENTAAR-entities en BCO_M111 toegevoegd + * 27-08-96 AH MLD_M081 aangepast maar 1 variant voor alle modules + * --- 01.19 --- + * 27-08-96 AH QUERY en LAST_RECORD toegevoegd. + * 27-08-96 KTH Voorkomens 'Verdieping' veranderd in 'Bouwlaag' (3x in INS) + * 27-08-96 KTH Onder ALG_M158 staat overbodige #endif // MRA + * 26-08-96 AH LEV_M052 toegevoegd. LEV_TOEWIJZING_GELEVERD, LEV_M035, + * LEV_M036 aangepast + * 23-08-96 AH BCO_M097 ambigously defined, De laatste is BCO_M110 geworden. + * 23-08-96 AH BCO_MAATREGEL-entities toegevoegd. + * 23-08-96 AH Message ALG_M158 aangepast, MRA-versie verwijderd. + * 20-08-96 AH PRS_BEDRIJF_UURLOON toegevoegd + * 19-08-96 AH BCP_M063 aangepast en MLD_BESTELOPDR_FONDSNR toegevoegd. + * PER_JAAR en PER_KWARTAAL toegevoegd. + * 14-08-96 AH BCO_M109, BCP_M068 - M071 en BCP-entities en PRS-entity + * MLD-messages toegevoegd. + * 08-08-96 RW prs_m080 aangemaakt + * 08-08-96 RW prs_m079 aangemaakt voor bestek bij discipline + * 07-08-96 RW prs_m078 aangemaakt voor bedrijf bij srtperslid + * 07-08-96 AH Entities MAN/VROUW en BEIDE toegevoegd. + * 07-08-96 AH BCO_M106 - BCO_M108 toegevoegd. + * 07-08-96 RW bco_m86 aangepast voor vrije dagen personeel + * 06-08-96 AH BCO_messages en -entities toegevoegd. BCO_WERKREGEL: 'Werkregel'. + * MLD_OPDR_AFMELDEN toegevoegd. + * 06-08-96 KTH - dubbele entities verwijderd + * - diverse meervouden toegevoegd + * 05-08-96 AH BCO_WERKREGEL_POSTNR: wordt nu 'Volgnr.' + * 01-08-96 AH PRS_BESTEK-entities en PRS_BESTEK-messages toegevoegd. + * 31-07-96 KTH Entity BCO_DEEL_DOCUMENTATIE toegevoegd tbv. INS115 + * 29-07-96 AH Message 'MSELECT' ALG_M159, ALG_M160 toegevoegd. + * 29-07-96 KTH - Updates van bco_ini.src opgenomen betreffende fac_message + * en fac_entity_name gebruik makende van #ifdef BCO + * - Updates van lev_ini.src opgenomen betreffende fac_message + * en fac_entity_name gebruik makende van #ifdef LEV + * - Updates van mra_ini.src opgenomen betreffende fac_message + * en fac_entity_name gebruik makende van #ifdef MRA + * - alg_m064 blijkt obsolete te zijn + * 29-07-96 RW prs_srtperslid_uurloon/bedrijf toegevoegd + * 26-07-96 RW Melding alg_m158 teogevoegd + * 23-07-96 AH INV_DEEL_BEZIT: 'Bezit' gewijzigd in 'Eigenaar' + * INV_DEEL_OVERDRAGEN toegevoegd. + * INV_M047: 'Bezit' gewijzigd in 'Eigenaar' + * INV_M048 aangepast en ALG_M157 toegevoegd. + * 23-07-96 AH HUI_M037 - HUI_M040 en HUI_SLAAPRUIMTE toegevoegd. + * 23-07-96 AH PRS_M045 - PRS_M047 de '.' weggehaald. + * PRS_M058, ALG_M155, ALG_M156 toegevoegd. + * 08-07-96 EH 5 messages t.b.v. INS (92-96) toegevoegd. + * 02-07-96 AH PRS_M055 - PRS_M057 toegevoegd. + * HUI_BESTEMD_VOOR-entity toegevoegd. + * LEV_M051 toegevoegd. + * LEV_MAGAZIJN toegevoegd. + * 28-06-96 AH HUI_M020 aangepast, nu 'Alleen actuele overnachtingen' + * HUI_M002 aangepast + * INV_M045 aangepast + * HUI_M036 toegevoegd. + * 27-06-96 AH PRS_M054 toegevoegd. + * --- 01.17 --- + * 26-06-96 PF HUI: biede>beide,Allen>Alleen + * 26-06-96 AH messages sch_m022-sch_m026 toegevoegd. + * 26-06-96 EH Messages sch_m001 en -2, -15, -16 gewijzigd,. + * 25-06-96 EH Entities ALG_VERDIEPING_OPP en ALG_GEBOUW_OPP toegevoegd. + * 25-06-96 KTH Entity ABOUT wordt 'Over' ipv. 'About' + * 21-06-96 AH HUI-message en entities toegevoegd. + * 21-06-96 EH Message prs_m053 toegevoegd. + * 19-06-96 EH Entity 'ALG_TERREINSECTOR_B', voor button, toegevoegd. + * 18-06-96 RW sch_m020 en sch_m021 toegevoegd + * 14-06-96 AH HUI-entities en HUI-messages toegevoegd. + * INV_DEEL_PLAATS toegevoegd. + * 14-06-96 RW SCH_WERKZ2 toegevoegd. + * 14-06-96 AH INV-messages aangepast INV_M016, INV_M024, INV_M028, INV_M030 + * 12-06-96 KTH Include fac_hlp.h voor de Help-mapping van alle forms + * 12-06-96 RW messages fac_m005, fac_m006 added, + * some user entities added for FAC002 + * 10-06-96 EH Fac_message SCH_NIVO2 toegevoegd. + * 10-06-96 KTH [#609] Module RAP inserten als RAP gedefinieerd is. + * 10-06-96 AH PRS_M052 toegevoegd. + * --- 01.16 --- + * 05-06-96 AH INV-entities en messages toegevoegd. + * 05-06-96 AH PRS-entities toegevoegd. + * 04-06-96 EH PRS-messages 019 en 029 aangepast. + * 03-06-96 AH '..\COMSQL.H' aangepast. + * 03-06-96 EH 3 PRS entities toegevoegd. + * 31-05-96 AH LEV-message toegevoegd. + * 31-05-96 AH INV_SRTDEEL: Artikel veranderd in Artikelsoort + * Vakgroep en Artikelgroep en Artikelsoort in messages + * en entities gewijzigd van Discipline, Groepsoorten Artikel/Deelsoort + * in Vakgroep Artikelgroep en Artikelsoort. + * INV_SRTDEEL, inv_m001, inv_m002, inv_m004, inv_m007, inv_m008 + * en inv_m012 + * 31-05-96 AH INV-entities en -messages toegevoegd + * --- 01.15 --- + * 28-05-96 EH Message prs_m032 gewijzigd. + * 28-05-96 EH Message prs_m051 toegevoegd. + * 28-05-96 EH Message prs_m050 toegevoegd. + * 28-05-96 EH Message prs_m027 gewijzigd. + * 28-05-96 EH fac_message prs_m049 toegevoegd. + * 28-05-96 EH fac_message prs_m048 toegevoegd. + * 28-05-96 EH prs_m028 gewijzigd. + * 28-05-96 EH prs_m031 gewijzigd. + * 24-05-96 AH Entities voor PRS_BEDRIJF toegevoegd. + * 24-05-96 EH Message prs_m027 gewijzigd. + * 23-05-96 AH Message LEV_M049 toegevoegd. + * 22-05-96 EH fac_entity 'PRS_PERSLIDWERKPLEK_BEZ' toegevoegd. + * 22-05-96 EH message prs_m033 gewijzigd. + * 21-05-96 EH Messages prs045..prs047 toegevoegd. + * 21-05-96 KTH BCP_M054..66 toegevoegd (RW) + * 20-05-96 AH 'LEV_TOEWIJZING' aangepast in 'Toewijzing' + * 20-05-96 AH LEV-messages 45, 46, 47 en 48 toegevoegd. + * 20-05-96 AH MLD_KOSTENPOST_DATUM en .._JAAR toegevoegd. + * 15-05-96 AH BCO_M096 toegevoegd. + * 15-05-96 AH INV-entities en messages toegevoegd. + * 15-05-96 EH Twee entities voor ALG toegevoegd. + * 15-05-96 KTH ATT entities en messages toegevoegd (EH) + * 14-05-96 AH PRS_PERSLID_REGISTRATIE_NR toegevoegd. + * 14-05-96 AH LEV-entities en messages toegevoegd. + * 14-05-96 AH INV_SRTDEEL_NR aangepast (Hoofdletters gebruiken). + * 14-05-96 KTH - inv_m034 toegevoegd + * - entity INV_SRTDEEL_NR toegevoegd (EH) + * 13-05-96 PF INV nomenclatuur gewijzigd + * 10-05-96 KTH fac_m004 toegevoegd + * 06-05-96 KTH - nieuw: prs_m044 (#524),MLD_OPDR_NR,YES,NO,alg_m152(AH), + * ins_m090-1 + * - gewijzigd: alg_m108, mld_m055, ins_m061, ins_m063 + * - diverse SCH wijzigingen (RW) + * 06-05-96 KTH bcp_m053 toegevoegd (RW) + * 03-05-96 EH ATT entities/messages toegevoegd (EH) + * 19-04-96 KTH SCH entities/messages toegevoegd (RW) + * --- 01.14 --- + * 16-04-96 KTH - diverse prs-entities veranderd (meervouden/lidwoorden) + * - diverse inv-entities veranderd (meervouden/lidwoorden) + * 16-04-96 EH - fac_entity MRA_COMMANDANT_DATUM gewijzigd. + * - fac_entity MRA_SRTDEELVERV gewijzigd. + * --- 01.13 --- + * --- 01.12 --- + * 03-04-96 KTH - prs_m043 toegevoegd (KTH) + * - ent. PRS_WERKRUIMTE toegevoegd (voor PRS014) (KTH) + * - alg_m151 toegevoegd (KTH) + * - inv_m020 tekst veranderd (KTH) + * 02-04-96 KTH - ins_m83..89 toegevoegd (AH) + * - inv-entities en msgs toegevoegd (AH) + * - ent PRS_RUIMTEGEBRUIK en prs_m015 vervangen (AH) + * - prs_m041..42 toegevoegd (AH) + * - alg_m150 toegevoegd (KTH) + * - MIL_VORS,ARB_VORS,mra_m097..98 toegevoegd + * 01-04-96 KTH - 02.04 + * - bcp_021_title verwijderd (RW) + * - entities 'BCP_STATUSOPDR*' toegevoegd (RW) + * - msg bcp_gvp toegevoegd (RW) + * - prs_m029 en prs_m033 veranderd (AH) + * - alg_m143 geupdate, alg_m148..9 toegevoegd (KTH) + * - MANC_V_MIL,MANC_V_ARB vervangen MANC_VOOR + * 27-03-96 PF - De keyvelden worden aan het eind UPPER gezet + * 19-03-96 KTH - 02.03 + * - 'groepssoort' wordt 'groepsoort' + * - alg_m014 'betsaat' wordt 'bestaat' + * - alg_m136..147 toegevoegd (AH/KTH) + * - entity PRS_WERKPLEK_OPP_M2 toegevoegd (AH) + * - prs_m034..040 toegevoegd + * - entity MLD_MELDBRON_NR toegevoegd + * - mld_m155.156 toegevoegd + * - bco_m89..95 toegevoegd + * 18-03-96 KTH BCP volledig vernieuwd (RW). + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 12-03-96 KTH - mld_m154 toegevoegd + * 11-03-96 PF - MLD: hoofdletters en standaardopdracht aan elkaar. + * 11-03-96 PF - MLD_BESTELOPDR_REFWERKNR toegevoegd (SON-only) + * 08-03-96 KTH - MLD-kostenpost entities/msgs toegevoegd + * - PRS entities/msgs geupdate voor 'grote PRS' + * 08-03-96 PF - Meldings -> melding. + * 04-03-96 EH - Omschrijving 'Rapporteren' gewijzigd. + * 01-03-96 PF - Verwijderen installatiesoorten: de ipv deze + * 01-03-96 PF - Soort is als mannelijk gekozen, dus de en deze + * 29-02-96 MVK - BCO_LOCATIEGROEP : 'Locatiegroep' -> 'Objectgroep' + * alg_m013 : '... locatie' -> '... object' + * bco_m20..21 : '... locatiegroep' -> '... objectgroep' + * bco_m040: idem + * bco_m64,65,67 : idem + * 28-02-96 KTH - bcp_m001..030 vervangen oude BCP-msgs + * - nieuwe BCP-entities toegevoegd + * 27-02-96 AH - MLD_OPDR_MATERIAAL2 toegevoegd, mld_m118 vervangen, + * - mld_m119 vervalt. + * 27-02-96 EH - Message mra_m096 toegevoegd. + * 26-02-96 KTH - entities MRA_BEST* veranderd naar MESSAGEs! + * - MLD_DATUM, MLD_TIJD toegevoegd + * - mld_m40,m43,m50,m130,m142,m143 veranderd + * - alg_m135,mld_144,mld_146..151 toegevoegd + * 23-02-96 KTH - mld_m130..132 en mld_m142..143 toegevoegd + * - diverse MLD entities toegevoegd/veranderd + * - mra_m095 toegevoegd + * - entities MRA_BEST* toegevoegd + * - bcp_000..008 toegevoegd (ZONDER 'M'!) + * - BCP-entities toegevoegd + * 22-02-96 PF - Ook bij MRA gebouwsoort ipv soort gebouw(/ruimte) + * 21-02-96 AH - Twee MLD en een MRA entities erbij, en mld_m133 tm m141 + * 21-02-96 MVK - Toevoegingen voor help-file + * 19-02-96 AH - sle_m23 en sle_m24 toegevoegd. + * 19-02-96 EH - Twee mra messages toegevoegd. + * 16-02-96 PF - Enkele tekstaanpassingen (o.a reeds -> al) + * 16-02-96 JVL - Meervouden en lidwoorden toegevoegd. + * 16-02-96 PF - SLE toegevoegd en alg_m134 + * 15-02-96 PF - Extra kolommen voor meervoud en lidwoord toegevoegd 02.01 + * 15-02-96 EH - Enige MRA_-teksten aangepast. + * 15-02-96 PF - MRA_VOORONDERZOEK is weer gewoon VOORONDERZOEK(#340) + * 14-02-96 KTH - bco_m47: 'istallatie' wordt 'installatie' + * 05-02-96 MVK - Naamgeving van een aantal MARS-entiteiten aangepast + * 05-02-96 KTH - mld_m058 veranderd (AH) + * - mld_m128..129 toegevoegd (AH) + * - Spool toegevoegd + * 01-02-96 KTH - diverse ALG_LOCATIE_* entities gewijzigd (AH) + * - alg_m022, alg_m025, alg_m026 en alg_m126 geupdate (AH) + * - MLD_MELDING_TYPE toegevoegd, MLD_OPDR_MATERIAAL veranderd (AH) + * - mld_m50, mld_m104 en mld_m114 geupdate (AH) + * - mld_m51 verwijderd + * - STDOPDR geupdate, STDOPDR2 toegevoemld_c_ins_discipline_keygd + * 01-02-96 KTH - mld_114: 'het persoon' veranderd in 'de persoon' + * 29-01-96 KTH - mld_127 toegevoegd (AH) + * 29-01-96 EH - ? (MRA dingen toegevoegd/veranderd?) + * 26-01-96 PF - mra_m090..94 toegevoegd en MRA-categorie entities + * 25-01-96 KTH - fac_message alg_m090 en alg_m127..133 toegevoegd + * - MLD_BESTEL* vervangen BCO_BESTEL* (AH) + * - mld_121..126 vervangen bco_m74..85 + * - MLD_BESTELOPDR_BCO_LETTER toegevoegd (AH) + * - andere mld_m118 + * 22-01-96 KTH - fac_message 'INSTMLD' toegevoegd + * - fac_entity ALG_TERREINSECTOR en + * ALG_TERREINSECTOR_OMSCHRIJVING toegevoegd, en + * MRA_TERREINSECTOR verwijderd (AH) + * - alg_m125..126 toegevoegd (AH) + * 19-01-96 KTH mld_m100-102 geupdate (AH) + * 18-01-96 KTH - 'Bouwlaagen' veranderd in 'Bouwlagen' (3x) + * - voor MLD_229 mld_m118..120 toegevoegd (AH) + * - MLD_OPDR_A,MLD_OPDR_CORRECTIE toegevoegd voor EDIT_217 (AH) + * - INS-entities toegevoegd voor EDIT_122 (AH) + * - entity ALG_GEBOUW_OMSCHRIJVING veranderd in 'Gebouwcode' + * - versie 02.00 ingevoerd (alle modules!) + * 17-01-96 AH (V|v)erdieping is veranderd in (B|b)ouwlaag. + * 17-01-96 KTH MLD_OORZAAK_OMSCHRIJVING was 'Omschrijging' ipv. + * 'Omschrijving' (LOG#260) + * 12-01-96 KTH Directory _NIEUW_ geleegd. Wijzigingen: + * - Diverse MRA entities en mra_m032..mra_036 toegevoegd (AH), + * (waar zijn de tussenliggende nummers?) + * - Diverse MRA entities en mra_m51..mra_57 toegevoegd (AH), + * - ALG-messages alg_m113..alg_124 toegevoegd, + * - fac_m002 toegevoegd [LOG#144], + * - MIL_1..5, MRA_1..5, ARB_1..5 toegevoegd (van AH) + * 04-01-96 PF MRA-messages mra_m019 ... mra_m031 toegevoegd. + * 03-01-96 PF Gebruik sysdate + * 03-01-96 AH mld_m117 toegevoegd. + * 03-01-96 EH MRA-messages voor mra_251 ... mra_266 toegevoegd. + * 03-01-96 EH MRA-entities voor mra_251 ... mra_266 toegevoegd. + * 02-01-96 EH ins_m024 toegevoegd. + * 22-12-95 PF mld_m116 toegevoegd. + * 22-12-95 PF Drie entities bij BCO_WERKOPR_* toegevoegd. + * 22-12-95 PF Entities BCO_OPDRBON_* toegevoegd + * 22-12-95 PF ‰ vervangen door e, query door selectie, DD-MM-YY door DD-MM-JJ + * alg_m111 gewijzigd + * 21-12-95 KTH Tekst van alg_m105 gewijzigd + * 20-12-95 PF fac_m001 toegevoegd + * 20-12-95 PF mld_m111-m115 toegevoegd; PRS-entities uitgebreid + * 20-12-95 PF BCO_INSTMELDING toegevoegd. + * 20-12-95 PF mld_m103-m110 toegevoegd, bco_m040 toegevoegd + * 20-12-95 KTH wijzigingen/aanvullingen tbv. PRS + * het volgende vervangt alle huidige PRS entries in + * FAC/INIT_TAB.SRC + * 20-12-95 EH Toegevoegd ins_m075, ins_m076. + * 20-12-95 AH Toegevoegd N_BESCHIK voor kop Niet beschikbare personeelsleden. + * 20-12-95 AH Toegevoegd DEF_INST voor kop Defect Soort installatie. + * 20-12-95 PF All messages of all modules added + * 20-12-95 PF All entity names of all modules added + * 13-10-95 PF Creation + */ + +#include "comsql.h" +#include "FAC\fac_hlp.h" + +#define DEF_FAC_ROL(c, o) INSERT INTO fac_rol (fac_rol_role, fac_rol_omschrijving) VALUES(c, o) +#define DEF_FAC_FUNCTIE(c, o) INSERT INTO fac_functie (fac_functie_code, fac_functie_omschrijving) VALUES(c, o) + +/* + * Register the FAC module + */ + +_FAC_MODULE('FAC','FACILITOR (R)') +#ifdef RAP +_FAC_MODULE('RAP','Rapport') +#endif // RAP + +DEF_FAC_ROL ('FCLT_SMALL_ROLE', 'Kijken'); +DEF_FAC_ROL ('FCLT_FULL_ROLE', 'Schrijven'); +DEF_FAC_ROL ('FCLT_ARCHIVE_ROLE', 'Beheer'); +//DEF_FAC_ROL ('DBA', 'DBA'); +INSERT INTO fac_gebruiker (fac_gebruiker_username, + fac_gebruiker_module, + fac_gebruiker_tabel, + fac_gebruiker_kolom, + fac_gebruiker_kolomkey) +SELECT USER, + 'FAC', + 'FAC_ROL', + 'FAC_ROL_KEY', + fac_rol_key +FROM fac_rol +WHERE fac_rol_role = 'FCLT_ARCHIVE_ROLE'; + +/* + * Hieronder worden alle ondersteunde autorisaties genoemd + * Merk op dat er omheen #ifdefs moeten staan! + */ +#ifdef ALG +DEF_FAC_FUNCTIE ('BLOK_VERD', '(De)blokkeren van bouwlagen'); +#endif // ALG +#ifdef AKZ +DEF_FAC_FUNCTIE ('AKZ_PRSIMP', 'Importeren personen'); +DEF_FAC_FUNCTIE ('AKZ_SLEIMP', 'Importeren sleutels'); +DEF_FAC_FUNCTIE ('AKZ_EXPSAP', 'Exporteren naar SAP'); +DEF_FAC_FUNCTIE ('AKZ_SCH' , 'Schoonmaak'); /* AKZ (GMS) heeft een eigen schoonmaakmodule */ +#endif // AKZ +#ifdef CAD +DEF_FAC_FUNCTIE ('AANVAL', 'Aanvalsplan genereren'); +#endif // CAD +#ifdef MLD +DEF_FAC_FUNCTIE ('MLD_INVOER', 'Meldingen invoeren'); +DEF_FAC_FUNCTIE ('MLD_AFWERK', 'Meldingen afwerken'); +#endif // MLD +#ifdef SCH +DEF_FAC_FUNCTIE ('SCH', 'Schoonmaak'); +#endif // SCH +#ifdef SLE +DEF_FAC_FUNCTIE ('SLE', 'Sleutelplan'); +#endif // SLE + +/* + * The ENTITY NAMES OF ALL MODULES + */ + +/* + * MENU_% zijn de menu-item teksten + * CHR(38) is een amperstand: deze gaat het te onderstrepen menu-item vooraf + * + * Let op: INCLUSIEF de ampersand moeten we voldoen aan de maximum + * lengte van de fac_entity! + */ +DEF_FAC_ENTITY ('MENU_BIS' ,CHR(38)||'Bodeminfo' , NULL, NULL); +DEF_FAC_ENTITY ('MENU_BIS_ANALYSE' ,CHR(38)||'Analysepakket' , NULL, NULL); +DEF_FAC_ENTITY ('MENU_BIS_BIJMENGING' ,CHR(38)||'Bijmenging' , NULL, NULL); +DEF_FAC_ENTITY ('MENU_BIS_BIJZONDERHEID','B'||CHR(38)||'ijzonderheid', NULL, NULL); +DEF_FAC_ENTITY ('MENU_BIS_EENHEID' ,CHR(38)||'Eenheid' , NULL, NULL); +DEF_FAC_ENTITY ('MENU_BIS_GEUR' ,CHR(38)||'Geur' , NULL, NULL); +DEF_FAC_ENTITY ('MENU_BIS_GEURGRADATIE' ,'Ge'||CHR(38)||'urgradatie' , NULL, NULL); +DEF_FAC_ENTITY ('MENU_BIS_KLEUR' ,CHR(38)||'Kleur' , NULL, NULL); +DEF_FAC_ENTITY ('MENU_BIS_KLEURGRADATIE','K'||CHR(38)||'leurgradatie', NULL, NULL); +DEF_FAC_ENTITY ('MENU_BIS_STOFGROEP' ,CHR(38)||'Stofgroep' , NULL, NULL); +DEF_FAC_ENTITY ('MENU_BIS_STOF' ,'S'||CHR(38)||'tof' , NULL, NULL); +DEF_FAC_ENTITY ('MENU_INS_ONDERDEELSRT' ,'O'||CHR(38)||'nderdeelsoort' , NULL, NULL); + +DEF_FAC_ENTITY ('MENU_ALG_RUIMTE' ,'R'||CHR(38)||'uimte' , NULL, NULL); + + +DEF_FAC_MESSAGE ('MENU_MLD_HERKTEKST' ,CHR(38)||'Herkenningstekst'); + +/* FAC */ +DEF_FAC_ENTITY ('FCLT_INIFILE', 'FCLT.INI',NULL, NULL); +DEF_FAC_ENTITY ('ADD', 'Toevoegen ',NULL, NULL); +DEF_FAC_ENTITY ('CHANGE', 'Wijzigen ',NULL, NULL); +DEF_FAC_ENTITY ('DELETE', 'Verwijderen ',NULL, NULL); +DEF_FAC_ENTITY ('EDIT', ' ',NULL, NULL); +DEF_FAC_ENTITY ('NO_SELECT', ' ',NULL, NULL); +DEF_FAC_ENTITY ('SELECT', 'Selecteer ',NULL, NULL); +DEF_FAC_ENTITY ('VIEW', 'Bekijken ',NULL, NULL); +DEF_FAC_MESSAGE('MSELECT', 'Wijzigen meerdere'); + +DEF_FAC_ENTITY ('YES', 'Ja', NULL, NULL); +DEF_FAC_ENTITY ('NO', 'Nee', NULL, NULL); + +/* voor fac012.fmb (het 'About...' scherm) */ +DEF_FAC_ENTITY('ABOUT','Over',NULL,NULL); +DEF_FAC_ENTITY('FAC_MODULE_NAAM','Module','Modules','de'); +DEF_FAC_ENTITY('FAC_MODULE_OPMERKING','Opmerking','Opmerkingen','de'); +DEF_FAC_ENTITY('FAC_MODULE_VERSIE','Versie','Versies','de'); +DEF_FAC_ENTITY('FAC_MODULE_DATUM','Datum','Data','de'); + +DEF_FAC_ENTITY('QUERY','Opfrissen', NULL, NULL); +DEF_FAC_ENTITY('LAST_RECORD','Laatste record', NULL, NULL); + + +/* MVK : Toevoegingen voor help-file */ +DEF_FAC_ENTITY ('CLOSE', 'Sluiten',NULL, NULL); +DEF_FAC_ENTITY ('SAVE', 'Bewaren',NULL, NULL); +DEF_FAC_ENTITY ('NEXT', 'Volgende...',NULL, NULL); +DEF_FAC_ENTITY ('CANCEL', 'Annuleren',NULL, NULL); +DEF_FAC_ENTITY ('PRINT', 'Printen',NULL, NULL); +DEF_FAC_ENTITY ('PRINT_VORIGE', '<<',NULL, NULL); +DEF_FAC_ENTITY ('PRINT_VOLGENDE', '>>',NULL, NULL); + + +DEF_FAC_ENTITY ('MAN', 'Man', 'Mannen', 'de'); +DEF_FAC_ENTITY ('VROUW', 'Vrouw', 'Vrouwen', 'de'); +DEF_FAC_ENTITY ('BEIDE', 'Beide', NULL, NULL); + +DEF_FAC_ENTITY ('FAC_PRINTER_DESTINATION', 'Uitvoer', NULL, NULL); +DEF_FAC_ENTITY ('FAC_PRINTER_SCHERM', 'Scherm', NULL, NULL); +DEF_FAC_ENTITY ('FAC_PRINTER_PRINTER', 'Printer', NULL, NULL); +DEF_FAC_ENTITY ('FAC_PRINTER_FILE', 'Bestand', NULL, NULL); +DEF_FAC_ENTITY ('FAC_PRINTER_FILENAME', 'Bestandsnaam', NULL, NULL); +DEF_FAC_ENTITY ('FAC_DIRECTORY', 'Directory', NULL, NULL); +DEF_FAC_ENTITY ('FAC_GEBRUIKER', 'Gebruiker', 'Gebruikers', 'de'); +DEF_FAC_ENTITY ('FAC_ROL', 'Rol', 'Rollen', 'de'); +DEF_FAC_ENTITY ('FAC_GEBRUIKER_PASSWORD', 'Wachtwoord', NULL, 'het'); +DEF_FAC_ENTITY ('FAC_CONFIRM_PASSWORD', 'Bevestiging', NULL, 'de'); +DEF_FAC_ENTITY ('FAC_FUNCTIE', 'Functie', NULL, 'de'); +DEF_FAC_ENTITY ('FAC_FUNCTIE_TOEGESTAAN', 'Toegestaan', NULL, NULL); + +DEF_FAC_ENTITY ('FAC_VALUTA_CODE', 'NLG', NULL, NULL); + +/* ALG */ +#if defined(BCO)||defined(BEB) +DEF_FAC_ENTITY ('ALG_DISTRICT','Dienstkring', 'Dienstkringen', 'de'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_ENTITY ('ALG_DISTRICT','Garnizoen', 'Garnizoenen', 'het'); +#else +DEF_FAC_ENTITY ('ALG_DISTRICT','District', 'Districten', 'het'); +#endif +DEF_FAC_ENTITY ('ALG_DISTRICT_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('ALG_GEBOUW','Gebouw', 'Gebouwen', 'het'); +DEF_FAC_ENTITY ('ALG_GEBOUW_BRUTO_VLOEROPP','Vloeroppervlak', 'Vloeropvlakken', 'het'); +DEF_FAC_ENTITY ('ALG_GEBOUW_INHOUD','Inhoud', 'Inhouden', 'de'); +DEF_FAC_ENTITY ('ALG_GEBOUW_OMSCHRIJVING', 'Gebouwcode', 'Gebouwcodes', 'de'); +DEF_FAC_ENTITY ('ALG_GEBOUW_OPMERKING','Opmerking', 'Opmerkingen', 'de'); +DEF_FAC_ENTITY ('ALG_GEBOUW_CODE','Gebouwcode', 'Gebouwcodes', 'de'); +DEF_FAC_ENTITY ('ALG_GEBOUW_NAAM','Gebouwnaam', 'Gebouwnamen', 'de'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_ENTITY ('ALG_LOCATIE','Object', 'Objecten', 'het'); +#else +DEF_FAC_ENTITY ('ALG_LOCATIE','Locatie', 'Locaties', 'de'); +#endif +DEF_FAC_ENTITY ('ALG_LOCATIE_ADRES','Adres', 'Adressen', 'het'); +DEF_FAC_ENTITY ('ALG_LOCATIE_CODE','Code', 'Codes', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_LAND','Land', 'Landen', 'het'); +DEF_FAC_ENTITY ('ALG_LOCATIE_POSTCODE','Postcode', 'Postcodes', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_POST_ADRES','Adres', 'Adressen', 'het'); +DEF_FAC_ENTITY ('ALG_LOCATIE_POST_LAND','Land', 'Landen', 'het'); +DEF_FAC_ENTITY ('ALG_LOCATIE_POST_PLAATS','Plaats', 'Plaatsen', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_POST_POSTCODE','Postcode', 'Postcodes', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_PLAATS','Plaats', 'Plaatsen', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_TEKENING','Tekeningnaam', 'Tekeningnamen', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_VERANTW','Contactpersoon', 'Contactpersonen', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_VERANTW_TEL','Telefoonnr', 'Telefoonnrs', 'het'); +#if defined(MRA) +DEF_FAC_ENTITY ('ALG_TERREINSECTOR', 'Systeemcluster', 'systeemclusters', 'het'); +#elif defined(BEB) +DEF_FAC_ENTITY ('ALG_TERREINSECTOR', 'Terrein/Werk', 'Terreinen/Werken', 'het'); +#else +DEF_FAC_ENTITY ('ALG_TERREINSECTOR', 'Terreinsector', 'Terreinsectoren', 'de'); +#endif // MRA +#if defined(MRA) +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_B', 'Syst. cluster', 'Syst. clusters', 'het'); +#elif defined(BEB) +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_B', 'Terrein/Werk', 'Terreinen/Werken', 'het'); +#else +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_B', 'Terreinsector', 'Terreinsectoren', 'de'); +#endif // MRA +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('ALG_ONROERENDGOED_GEBOUW' , 'G', NULL, NULL); +DEF_FAC_ENTITY ('ALG_ONROERENDGOED_RUIMTE' , 'R', NULL, NULL); +DEF_FAC_ENTITY ('ALG_ONROERENDGOED_VERDIEPING', 'V', NULL, NULL); +#if defined(BCO)||defined(BEB) +DEF_FAC_ENTITY ('ALG_REGIO','Directie', 'Directies', 'de'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_ENTITY ('ALG_REGIO','RMC', 'RMC''s', 'het'); +#else +DEF_FAC_ENTITY ('ALG_REGIO','Regio', 'Regio''s', 'de'); +#endif +DEF_FAC_ENTITY ('ALG_REGIO_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('ALG_RUIMTE','Ruimte', 'Ruimtes', 'de'); +DEF_FAC_ENTITY ('ALG_RUIMTE_BRUTO_VLOEROPP','Vloeroppervlak', 'Vloeroppervlakken', 'het'); +DEF_FAC_ENTITY ('ALG_RUIMTE_INHOUD','Inhoud', 'Inhouden', 'de'); +DEF_FAC_ENTITY ('ALG_RUIMTE_NR','Ruimtenummer', 'Ruimtenummers', 'het'); +DEF_FAC_ENTITY ('ALG_RUIMTE_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('ALG_RUIMTE_OPMERKING','Opmerking', 'Opmerkingen', 'de'); +DEF_FAC_ENTITY ('ALG_SRTGEBOUW','Gebouwsoort', 'Gebouwsoorten', 'de'); +DEF_FAC_ENTITY ('ALG_SRTGEBOUW_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('ALG_SRTRUIMTE','Ruimtesoort', 'Ruimtesoorten', 'de'); +DEF_FAC_ENTITY ('ALG_SRTRUIMTE_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +#if defined(MRA) +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_CODE','Systeemcode', 'Systeemcodes', 'de'); +#elif defined(BEB) +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_CODE','Terreincode', 'Terreincodes', 'de'); +#else +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_CODE','Terreincode', 'Terreincodes', 'de'); +#endif // MRA +#if defined(MRA) +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_NAAM','Systeemnaam', 'Systeemnamen', 'de'); +#elif defined(BEB) +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_NAAM','Terreinnaam', 'Terreinnamen', 'de'); +#else +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_NAAM','Terreinnaam', 'Terreinnamen', 'de'); +#endif // MRA + +DEF_FAC_ENTITY ('ALG_OBJECTDEEL', 'Objectdeel', 'Objectdelen', 'het'); +DEF_FAC_ENTITY ('ALG_OBJECTDEEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('ALG_SYSTEEMCLUSTER', 'Syst.cluster', 'Syst.clusters', 'het'); +DEF_FAC_ENTITY ('ALG_SYSTEEMCLUST_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('ALG_BOUWDEEL', 'Bouwdeel', 'Bouwdelen', 'het'); +DEF_FAC_ENTITY ('ALG_BOUWDEEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('RMC_ALG_REGIO', 'RMC', 'RMC''s', 'de'); +DEF_FAC_ENTITY ('RMC_ALG_DISTRICT', 'Garnizoen', 'Garnizoenen', 'het'); +DEF_FAC_ENTITY ('RMC_MENU_LABEL', 'NATCO-indeling', NULL, 'de'); +DEF_FAC_ENTITY ('RMC_ALG_DISTRICT_CODE', 'Garnizoencode', NULL, 'de'); + +DEF_FAC_ENTITY ('ALG_VERDIEPING','Bouwlaag', 'Bouwlagen', 'de'); +DEF_FAC_ENTITY ('ALG_VERDIEPING_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('ALG_VERDIEPING_TEKENING', 'Tekeningnaam', 'Tekeningnamen', 'de'); +DEF_FAC_ENTITY ('ALG_VERDIEPING_VOLGNR', 'Volgnummer', 'Volgnummers', 'het'); +DEF_FAC_ENTITY ('LOCATIE_BEZOEK', 'Bezoek', 'Bezoeken', 'het'); +DEF_FAC_ENTITY ('LOCATIE_POST', 'Post', NULL, NULL); +DEF_FAC_ENTITY ('ALG_VERDIEPING_OPP', 'Netto vloeropp.', NULL, NULL); +DEF_FAC_ENTITY ('ALG_VERDIEPING_IN_BEWERKING', 'In bewerking', NULL, NULL); +DEF_FAC_ENTITY ('ALG_VERDIEPING_DEBLOKKEREN', '(De)blokkeren', NULL, NULL); +DEF_FAC_ENTITY ('ALG_GEBOUW_OPP', 'Netto vloeropp.', NULL, NULL); +DEF_FAC_ENTITY ('ALG_BL_RUIMTE', 'Bl/Ruimte', NULL, NULL); +DEF_FAC_ENTITY ('ALG_RUIMTE_VLOER_OMSCHRIJVING', 'Vloerbedekking', NULL, NULL); +DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_GEVELGLAS', 'Gevelglas', NULL, NULL); +DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_EENHEID', '(m2)', NULL, NULL); +DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_SEPARATIEGLAS', 'Separatieglas', NULL, NULL); +DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_GEVELBEKLEDING', 'Gevelbekleding', NULL, NULL); +DEF_FAC_ENTITY ('ALG_RUIMTE_VLOEROPP_PER_WEEK', 'Per week', NULL, NULL); + +DEF_FAC_ENTITY ('ALG_REGIO_LAND', 'Land', 'Landen', 'het'); +DEF_FAC_ENTITY ('ALG_REGIO_TEKENING', 'Tekening', 'Tekeningen', 'de'); +#ifdef BEB +DEF_FAC_ENTITY ('ALG_DISTRICT_CODE', 'Dienstkringcode', NULL, 'de'); +#else +DEF_FAC_ENTITY ('ALG_DISTRICT_CODE', 'Districtcode', NULL, 'de'); +#endif +DEF_FAC_ENTITY ('ALG_DISTRICT_ACADKEY', 'Acadkey', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_GEMEENTE', 'Gemeente', 'Gemeentes', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_PROVINCIE', 'Provincie', 'Provincies', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_ACADKEY', 'Acadkey', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_OPPERVLAK', 'Oppervlakte', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_OBJECTDEEL_CODE', 'Objectdeelcode', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_OBJECTDEEL_ACADKEY', 'Acadkey', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_OBJECTDEEL_OPPERVLAK', 'Oppervlakte', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_OBJECTDEEL_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SYSTEEMCLUSTER_CODE', 'Code', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SYSTEEMCLUSTER_ACADKEY', 'Acadkey', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SYSTEEMCLUSTER_OPPERVLAK', 'Oppervlakte', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SYSTEEMCLUSTER_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_GEBOUW_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_ACADKEY', 'Acadkey', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_OPPERVLAK', 'Oppervlakte', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_OPMERKING', 'Opmerking', NULL, 'de'); +#if defined(BEB) +DEF_FAC_ENTITY ('ALG_SRTTERREIN', 'Terrein/Werksrt', 'Terrein/Werksoorten', 'de'); +#else +DEF_FAC_ENTITY ('ALG_SRTTERREIN', 'Terreinsoort', 'Terreinsoorten', 'de'); +#endif +DEF_FAC_ENTITY ('ALG_SRTTERREIN_OMSCHRIJVING', 'Omschrijving', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_BOUWDEEL_CODE', 'Bouwdeelcode', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_RUIMTE_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SRTVERDIEPING', 'Verdiepingsoort', 'Verdiepingsoorten', 'de'); +DEF_FAC_ENTITY ('ALG_SRTVERDIEPING_OMSCHRIJVING', 'Omschrijving', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SRTVERDIEPING_VOLGNR', 'Volgnummer', 'Volgnummers', 'het'); +DEF_FAC_ENTITY ('ALG_SRTVLOER','Vloersoort','Vloersoorten','de'); +DEF_FAC_ENTITY ('ALG_SRTVLOER_OMSCHRIJVING','Omschrijving','Omschrijvingen','de'); + +/* AKZ */ +DEF_FAC_ENTITY ('AKZ_COMPANYCODE' , 'Company code' , 'Company codes', 'de'); +DEF_FAC_ENTITY ('AKZ_KOSTENPLAATS' , 'Kostenplaats' , 'Kostenplaatsen', 'de'); +DEF_FAC_ENTITY ('AKZ_KOSTENSOORT' , 'Kostensoort' , 'Kostensoorten', 'de'); +DEF_FAC_ENTITY ('AKZ_INTERNALORDERNR', 'Ordernr.' , 'Ordernrs.', 'het'); +DEF_FAC_ENTITY ('AKZ_EXPORTBESTAND' , 'Exportbestand', 'Exportbestanden', 'het'); +DEF_FAC_ENTITY ('AKZ_NIVO' , 'Omschrijving' , 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('AKZ_NIVO_CODE' , 'Code' , 'Codes', 'de'); +DEF_FAC_ENTITY ('AKZ_NIVO_KENGETAL' , 'Kengetal' , 'Kengetallen', 'het'); +DEF_FAC_ENTITY ('AKZ_NIVO_DOCUMENT' , 'Document' , 'Documenten', 'het); + +/* BCO */ +DEF_FAC_ENTITY ('BCO_CORRECTIEF_ONDERHOUD', 'CORRECTIEF', NULL, NULL); +/* 31-07-96/KTH BCO_DEEL_DOCUMENTATIE tbv. INS115 */ +DEF_FAC_ENTITY ('BCO_DEEL_DOCUMENTATIE', 'Document', 'Documenten', 'het'); +DEF_FAC_ENTITY ('BCO_DEFECT', 'Defect', 'Defecten', 'het'); +DEF_FAC_ENTITY ('BCO_DEFECTSRTINST', 'Defect inst.', 'Defecten inst.', 'het'); +DEF_FAC_ENTITY ('BCO_DEFECT_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('BCO_INSTMELDING', 'Installaties', NULL, NULL); +DEF_FAC_ENTITY ('BCO_JAAR' , 'Jaar', 'Jaren', 'het'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_ENTITY ('BCO_LOCATIEGROEP', 'Objectgroep', 'Objectgroepen', 'de'); +#else +DEF_FAC_ENTITY ('BCO_LOCATIEGROEP', 'Locatiegroep', 'Locatiegroepen', 'de'); +#endif +DEF_FAC_ENTITY ('BCO_LOCATIEGROEP_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('BCO_MAATREGEL', 'Maatregel', 'Maatregelen', 'de'); +DEF_FAC_ENTITY ('BCO_MAATREGEL_AFK', 'Afkorting', 'Afkortingen', 'de'); +DEF_FAC_ENTITY ('BCO_MAATREGEL_MATERIAAL', 'Materiaal', 'Materialen', 'het'); +DEF_FAC_ENTITY ('BCO_MAATREGEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('BCO_MAATREGEL_UREN', 'Uren', NULL, NULL); +DEF_FAC_ENTITY ('BCO_NIETBESCHIK', 'Niet beschik', NULL, NULL); +DEF_FAC_ENTITY ('BCO_NIETBESCHIK_JAAR', 'Jaar', 'Jaren', 'het'); +DEF_FAC_ENTITY ('BCO_NIETBESCHIK_UREN', 'Uren', NULL, NULL); +DEF_FAC_ENTITY ('BCO_NIETBESCHIK_WEEK', 'Week', 'Weken', 'de'); +DEF_FAC_ENTITY ('BCO_NIETWERKBAAR', 'Niet werkbaar', NULL, NULL); +DEF_FAC_ENTITY ('BCO_NIETWERKBAAR_JAAR', 'Jaar', 'Jaren', 'het'); +DEF_FAC_ENTITY ('BCO_NIETWERKBAAR_WEEK', 'Week', 'Weken', 'de'); +DEF_FAC_ENTITY ('BCO_OPDRBON_ACTIE', 'Actie', 'Acties', 'de'); +DEF_FAC_ENTITY ('BCO_OPDRBON_HERSTELLEN', 'H = Herstellen', NULL, NULL); +DEF_FAC_ENTITY ('BCO_OPDRBON_SLOPEN', 'S = Slopen', NULL, NULL); +DEF_FAC_ENTITY ('BCO_OPDRBON_VERVANGEN', 'V = Vervangen', NULL, NULL); +DEF_FAC_ENTITY ('BCO_SRTBEDRIJF', 'Bedrijfsoort', 'Bedrijfsoorten', 'de'); +DEF_FAC_ENTITY ('BCO_SRTBEDRIJF_OMSCHRIJVING' , 'Bedrijfsoort', 'Bedrijfsoorten', 'de'); +DEF_FAC_ENTITY ('BCO_SRTUITV', 'Soort', 'Soorten', 'de'); +DEF_FAC_ENTITY ('BCO_STATUSOPDR_AFGEMELD', 'BCO_AFGEMELD', NULL, NULL); +DEF_FAC_ENTITY ('BCO_STATUSOPDR_INGEVOERD', 'BCO_INGEVOERD', NULL, NULL); +DEF_FAC_ENTITY ('BCO_STATUSOPDR_UITGEGEVEN', 'BCO_UITGEGEVEN', NULL, NULL); +DEF_FAC_ENTITY ('BCO_STATUSOPDR_VERWERKT', 'BCO_VERWERKT', NULL, NULL); +DEF_FAC_ENTITY ('BCO_STORING', 'Storing', 'Storingen', 'de'); +DEF_FAC_ENTITY ('BCO_UITVOERENDE', 'Uitvoerende', 'Uitvoerenden', 'de'); +DEF_FAC_ENTITY ('BCO_UREN' , 'Uren', NULL, NULL); +DEF_FAC_ENTITY ('BCO_VAN_JAAR' , 'van jaar', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WEEK' , 'Week', 'Weken', 'de'); +DEF_FAC_ENTITY ('BCO_WERKOPDR', 'Werkopdracht', 'Werkopdrachten', 'de'); +DEF_FAC_ENTITY ('BCO_WERKOPDR_AANNEMER', 'de aannemer', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WERKOPDR_BUREAU', 'het bureau FZA', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WERKOPDR_DATUM', 'Datum', 'Data', 'de'); +DEF_FAC_ENTITY ('BCO_WERKOPDR_OPZICHTER', 'de opzichter', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WERKREGEL', 'Werkregel', 'Werkregels', 'de'); +DEF_FAC_ENTITY ('BCO_WERKREGEL_ACTIE', 'Actie', 'Acties', 'de'); +DEF_FAC_ENTITY ('BCO_WERKREGEL_HERSTELLEN', 'Herstellen', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WERKREGEL_POSTNR', 'Volgnr.', 'Volgnummers', 'het'); +DEF_FAC_ENTITY ('BCO_WERKREGEL_SLOPEN', 'Slopen', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WERKREGEL_VERVANGEN', 'Vervangen', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WERKOPDR_OMSCHRIJVING', 'Werkopdrachtnr.', NULL, 'de'); +DEF_FAC_ENTITY ('BCO_WERKOPDR_WEEK', 'Week', 'Weken', 'de'); +DEF_FAC_ENTITY ('BCO_WERKOPDR_CORRECTIEF', 'Correctief', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WERKOPDR_PREVENTIEF', 'Preventief', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WERKOPDR_STORING', 'Storing', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WERKOPDR_SAMENSTELLEN', 'Samenstellen', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WERKREGEL_ORIGINEEL', 'Origineel', NULL, NULL); +DEF_FAC_ENTITY ('BCO_MAATREGEL_SOORT', 'Maatregelsoort', NULL, 'de'); +DEF_FAC_ENTITY ('BCO_MAATREGEL_DEFECT', 'Defect', 'Defecten', 'het'); +DEF_FAC_ENTITY ('BCO_MAATREGEL_WERKOPDR', 'Werkopdracht', 'Werkopdrachten', 'de'); +DEF_FAC_ENTITY ('BCO_WEEKPLANNING', 'Weekplanning', 'Weekplanningen', 'de'); +DEF_FAC_ENTITY ('BCO_WEEKPLANNING_CORRECTIEF', 'Correctief', NULL, NULL); +DEF_FAC_ENTITY ('BCO_WEEKPLANNING_PREVENTIEF', 'Preventief', NULL, NULL); +DEF_FAC_ENTITY ('BCO_COMMENTAAR_TYPE', 'Type', NULL, NULL); +DEF_FAC_ENTITY ('BCO_COMMENTAAR_TYPE_A', 'Level 0', NULL, NULL); +DEF_FAC_ENTITY ('BCO_COMMENTAAR_TYPE_B', 'Level 1', NULL, NULL); +DEF_FAC_ENTITY ('BCO_COMMENTAAR_TYPE_C', 'Level 2', NULL, NULL); +DEF_FAC_ENTITY ('BCO_COMMENTAAR_TYPE_D', 'Level 3', NULL, NULL); +DEF_FAC_ENTITY ('BCO_COMMENTAAR_TYPE_E', 'Level 4', NULL, NULL); +DEF_FAC_ENTITY ('BCO_COMMENTAAR_TEKST', 'Tekst', NULL, NULL); +DEF_FAC_ENTITY ('BCO_NIETBESCHIK_DATUM', 'Datum', 'Data', 'de'); +DEF_FAC_ENTITY ('BCO_WERKOPDR_JAAR', 'Jaar', 'Jaren', 'het'); +DEF_FAC_ENTITY ('BCO_CORRECTIE_DOORGAAN', 'Berekenen', NULL, NULL); +DEF_FAC_ENTITY ('BCO_CORRECTIE_SLUITEN', 'Sluiten', NULL, NULL); +DEF_FAC_ENTITY ('BCO_CORRECTIE_FOUTEN', 'Informatie', NULL, NULL); +DEF_FAC_ENTITY ('BCO_COMMENTAAR_SOURCE_CW', 'Correctief', NULL, NULL); +DEF_FAC_ENTITY ('BCO_COMMENTAAR_SOURCE_PW', 'Preventief', NULL, NULL); + +/* BCP */ +DEF_FAC_ENTITY ('bcp_frequentie','Frequentie', 'Frequenties','de'); +DEF_FAC_ENTITY ('bcp_frequentie_weken','Weken','Weken', 'de'); +DEF_FAC_ENTITY ('bcp_omschrijving','Omschrijving','Omschrijvingen','de'); +DEF_FAC_ENTITY ('bcp_aw','Aantal weken','Aantal weken','het'); +DEF_FAC_ENTITY ('bcp_urgentie','Urgentie','Urgenties','de'); +DEF_FAC_ENTITY ('bcp_urgentie_getal','Getal','Getallen','de'); +DEF_FAC_ENTITY ('bcp_uren','Uren','Uren','de'); +DEF_FAC_ENTITY ('bcp_mat','Materiaal','Materialen','de'); +DEF_FAC_ENTITY ('bcp_deelopdr','Deelopdracht','Deelopdrachten','de'); +DEF_FAC_ENTITY ('bcp_meetr','Meetrapport','Meetrapporten','het'); +DEF_FAC_ENTITY ('bcp_k1','Kolom 1','Kolom 1','de'); +DEF_FAC_ENTITY ('bcp_k2','Kolom 2','Kolom 2','de'); +DEF_FAC_ENTITY ('bcp_k3','Kolom 3','Kolom 3','de'); +DEF_FAC_ENTITY ('bcp_deelsoort','Deelsoort','Deelsoorten','de'); +DEF_FAC_ENTITY ('bcp_meting','Meting','Metingen','de'); +DEF_FAC_ENTITY ('bcp_eenheid','Eenheid','Eenheden','de'); +DEF_FAC_ENTITY ('bcp_meterstand','Meterstand','Meterstanden','de'); +DEF_FAC_ENTITY ('bcp_prevopdr_nummer','Nummer','Nummers','de'); +DEF_FAC_ENTITY ('bcp_prevopdr_jaar','Jaar','Jaren','de'); +DEF_FAC_ENTITY ('bcp_prevopdr_week','Week','Weken','de'); +DEF_FAC_ENTITY ('bcp_prevopdr_status','Status','Status','de'); +DEF_FAC_ENTITY ('bcp_discipline','Discipline','Disciplines','de'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_ENTITY ('bcp_locatie','Object','Objecten','het'); +#else +DEF_FAC_ENTITY ('bcp_locatie','Locatie','Locaties','de'); +#endif +DEF_FAC_ENTITY ('bcp_werkregel','Regel (prev.)','Regel','de'); +DEF_FAC_ENTITY ('bcp_jaar','Jaar','Jaren','de'); +DEF_FAC_ENTITY ('bcp_week','Week','Weken','de'); +DEF_FAC_ENTITY ('bcp_bedrijf','Bedrijf','Bedrijven','de'); +DEF_FAC_ENTITY ('bcp_perslid','Personeelslid','Personeelsleden','de'); +DEF_FAC_ENTITY ('bcp_wh','Werkzaamheden','Werkzaamheden','de'); +DEF_FAC_ENTITY ('bcp_dg','Datum gereed','Datum gereed','de'); +DEF_FAC_ENTITY ('bcp_totaal','Totaal','Totalen','het'); +DEF_FAC_ENTITY ('bcp_inst','Installatie','Installaties','de'); +DEF_FAC_ENTITY ('bcp_stand','Stand','Standen','de'); +DEF_FAC_ENTITY ('bcp_nummer','Nummer','Nummers','het'); +DEF_FAC_ENTITY ('bcp_status','Status',NULL,'de'); +DEF_FAC_ENTITY ('bcp_srtdeel','Deelsoort',NULL,NULL); +DEF_FAC_ENTITY ('bcp_deel','Deel',NULL,NULL); +DEF_FAC_ENTITY ('bcp_srtonderdeel','Onderdeelsoort',NULL,NULL); +DEF_FAC_ENTITY ('bcp_onderdeel','Onderdeel',NULL,NULL); +DEF_FAC_ENTITY ('bcp_srtelement','Elementsoort',NULL,NULL); +DEF_FAC_ENTITY ('bcp_element','Element',NULL,NULL); +DEF_FAC_ENTITY ('bcp_sector','Sector','Sectoren','de'); +DEF_FAC_ENTITY ('bcp_statusopdr_ingepland','bcp_ingepland','-','-'); +DEF_FAC_ENTITY ('bcp_statusopdr_uitgegeven','bcp_uitgegeven','-','-'); +DEF_FAC_ENTITY ('bcp_statusopdr_verwerkt','bcp_verwerkt','-','-'); +DEF_FAC_ENTITY ('bcp_statusopdr_afgemeld','bcp_afgemeld','-','-'); +DEF_FAC_ENTITY ('BCP_METERSTAND_DATUM', 'Datum', NULL, NULL); +DEF_FAC_ENTITY ('BCP_METERSTAND_STAND', 'Stand', NULL, NULL); +DEF_FAC_ENTITY ('BCP_VERZAMEL_WET', 'Wettelijk', NULL, NULL); +DEF_FAC_ENTITY ('BCP_VERZAMEL_NEN3140', 'NEN-3140', NULL, NULL); +DEF_FAC_ENTITY ('BCP_VERZAMEL_VOORJAAR', 'Voorjaar', NULL, NULL); +DEF_FAC_ENTITY ('BCP_VERZAMEL_NAJAAR', 'Najaar', NULL, NULL); +DEF_FAC_ENTITY ('BCP_VERZAMEL_ZOMER', 'Zomer', NULL, NULL); +DEF_FAC_ENTITY ('BCP_VERZAMEL_WINTER', 'Winter', NULL, NULL); + +/* DEM */ +DEF_FAC_ENTITY ('DEM_VOORSCHRIFT', 'Voorschrift', 'Voorschriften', 'het'); +DEF_FAC_ENTITY ('DEM_VOORSCHRIFT_AANGEKRUIST', 'Voldaan aan', NULL, NULL); + +/* INS */ +DEF_FAC_ENTITY ('INS_DEEL', 'Deel', 'Delen', 'het'); +DEF_FAC_ENTITY ('INS_DEEL_AANTAL', 'Aantal', 'Aantallen', 'het'); +DEF_FAC_ENTITY ('INS_DEEL_BOUWJAAR', 'Bouwjaar', 'Bouwjaren', 'het'); +DEF_FAC_ENTITY ('INS_DEEL_CAPACITEIT', 'Capaciteit', 'Capaciteiten', 'de'); +DEF_FAC_ENTITY ('INS_DEEL_FABRIKAAT', 'Fabrikaat', 'Fabrikaten', 'het'); +DEF_FAC_ENTITY ('INS_DEEL_LEVENSDUUR', 'Levensduur', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('INS_DEEL_OPMERKING', 'Opmerking', 'Opmerkingen', 'de'); +DEF_FAC_ENTITY ('INS_DEEL_PRIJS', 'Prijs', 'Prijzen', 'de'); +DEF_FAC_ENTITY ('INS_DEEL_SERIENR', 'Serienummer', 'Serienummers', 'het'); +DEF_FAC_ENTITY ('INS_DEEL_TYPE', 'Type', 'Typen', 'het'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_ENTITY ('INS_DISCIPLINE', 'Vakgroep', 'Vakgroepen', 'de'); +#else +DEF_FAC_ENTITY ('INS_DISCIPLINE', 'Discipline', 'Disciplines', 'de'); +#endif +DEF_FAC_ENTITY ('INS_ELEMENT', 'Element', 'Elementen', 'het'); +DEF_FAC_ENTITY ('INS_ELEMENT_AANTAL', 'Aantal', 'Aantallen', 'het'); +DEF_FAC_ENTITY ('INS_ELEMENT_BOUWJAAR', 'Bouwjaar', 'Bouwjaren', 'het'); +DEF_FAC_ENTITY ('INS_ELEMENT_CAPACITEIT', 'Capaciteit', 'Capaciteiten', 'de'); +DEF_FAC_ENTITY ('INS_ELEMENT_FABRIKAAT', 'Fabrikaat', 'Fabrikaten', 'het'); +DEF_FAC_ENTITY ('INS_ELEMENT_LEVENSDUUR', 'Levensduur', NULL, NULL); +DEF_FAC_ENTITY ('INS_ELEMENT_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('INS_ELEMENT_OPMERKING', 'Opmerking', 'Opmerkingen', 'de'); +DEF_FAC_ENTITY ('INS_ELEMENT_PRIJS', 'Prijs', 'Prijzen', 'de'); +DEF_FAC_ENTITY ('INS_ELEMENT_SERIENR', 'Serienummer', 'Serienummers', 'het'); +DEF_FAC_ENTITY ('INS_ELEMENT_TYPE', 'Type', 'Typen', 'het'); +DEF_FAC_ENTITY ('INS_INSTALLATIE' , 'Installatie', 'Installaties', 'de'); +DEF_FAC_ENTITY ('INS_KOPIE', 'Kopieer', NULL, NULL); +DEF_FAC_ENTITY ('INS_KOPIEREN', 'Kopieren', NULL, NULL); +DEF_FAC_ENTITY ('INS_ONDERDEEL', 'Onderdeel', 'Onderdelen', 'het'); +DEF_FAC_ENTITY ('INS_ONDERDEEL_AANTAL', 'Aantal', 'Aantallen', 'het'); +DEF_FAC_ENTITY ('INS_ONDERDEEL_BOUWJAAR', 'Bouwjaar', 'Bouwjaren', 'het'); +DEF_FAC_ENTITY ('INS_ONDERDEEL_CAPACITEIT', 'Capaciteit', 'Capaciteiten', 'de'); +DEF_FAC_ENTITY ('INS_ONDERDEEL_FABRIKAAT', 'Fabrikaat', 'Fabrikaten', 'het'); +DEF_FAC_ENTITY ('INS_ONDERDEEL_LEVENSDUUR', 'Levensduur', NULL, NULL); +DEF_FAC_ENTITY ('INS_ONDERDEEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('INS_ONDERDEEL_OPMERKING', 'Opmerking', 'Opmerkingen', 'de'); +DEF_FAC_ENTITY ('INS_ONDERDEEL_PRIJS', 'Prijs', 'Prijzen', 'de'); +DEF_FAC_ENTITY ('INS_ONDERDEEL_SERIENR', 'Serienummer', 'Serienummers', 'het'); +DEF_FAC_ENTITY ('INS_ONDERDEEL_TYPE', 'Type', 'Typen', 'het'); +DEF_FAC_ENTITY ('INS_RAPPORT', 'Rapporteer', NULL, NULL); +DEF_FAC_ENTITY ('INS_RAPPORTEREN', 'Selectie', 'Selecties', 'de'); +DEF_FAC_ENTITY ('INS_RAPPORT_ENTER', 'Samenstellen', NULL, NULL); +DEF_FAC_ENTITY ('INS_RAPPORT_STOPPEN', 'Stoppen', NULL, NULL); +DEF_FAC_ENTITY ('INS_SRTDEEL', 'Deelsoort', 'Deelsoorten', 'de'); +DEF_FAC_ENTITY ('INS_SRTDEEL_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('INS_SRTELEMENT', 'Elementsoort', 'Elementsoorten', 'de'); +DEF_FAC_ENTITY ('INS_SRTELEMENT_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('INS_SRTGROEP', 'Groepsoort', 'Groepsoorten', 'de'); +DEF_FAC_ENTITY ('INS_SRTGROEP_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('INS_SRTINST_DEEL' , 'D', NULL, NULL); +DEF_FAC_ENTITY ('INS_SRTINST_ELEMENT' , 'E', NULL, NULL); +DEF_FAC_ENTITY ('INS_SRTINST_ONDERDEEL', 'O', NULL, NULL); +DEF_FAC_ENTITY ('INS_SRTONDERDEEL','Onderdeelsrt', 'Onderdeelsoorten', 'de'); +/*past niet: DEF_FAC_ENTITY ('INS_SRTONDERDEEL','Onderdeelsoort', 'Onderdeelsoorten', 'de');*/ +DEF_FAC_ENTITY ('INS_SRTONDERDEEL_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('RUIMTEDEEL_OMSCHRIJVING', 'Ruimte -- Deel', 'Ruimte -- Delen', 'het'); +DEF_FAC_ENTITY ('INS_DISCIPLINE_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('INS_INSTALLATIESOORT', 'Soort', 'Soorten', 'de'); +DEF_FAC_ENTITY ('INS_SRTDEEL_PRIJS', 'Prijs', NULL, NULL); +DEF_FAC_ENTITY ('INS_SRTDEEL_EENHEID', 'Eenheid', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEEL_REALISATIE', 'Realisatie', NULL, NULL); +DEF_FAC_ENTITY ('INS_SRTDEEL_ACAD_TAGVALUE', 'Tagvalue', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEEL_OPHEFFEN', 'Opheffen', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEEL_COUNT', 'Aantal', NULL, NULL); +DEF_FAC_ENTITY ('INS_IMPORT_RECORD', 'Te importeren', NULL, NULL); +DEF_FAC_ENTITY ('INS_IMPORT_INVUL', 'Nieuw', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEEL_FCLT', 'Database', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEEL_ACAD', 'Tekening', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEEL_VERSCHIL', 'Verschil', NULL, NULL); +/* INS_KENMERK-entities */ +DEF_FAC_ENTITY ('INS_SRTKENMERK', 'Kenmerksoort', 'Kenmerksoorten', 'de'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_KENMERKTYPE', 'Type', 'Types', 'het'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_LENGTE', 'Lengte', 'Lengtes', 'de'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_DEC', 'Decimalen', NULL, 'de'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_NMIN', 'Min.', 'Minima', 'het'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_NMAX', 'Max.', 'Maxima', 'het'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_DIMENSIE', 'Eenheid', 'Eenheden', 'de'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_SYSTEEM', 'Systeemkenmerk', NULL, 'het'); +DEF_FAC_ENTITY ('INS_REFSRTKENMERK', 'Referentiesoort', 'Referetiesoorten', 'de'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_TYPE_C', 'Karakter','Karakters', 'de'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_TYPE_N','Numeriek',NULL, NULL); +DEF_FAC_ENTITY ('INS_SRTKENMERK_TYPE_D','Datum','Data', 'de'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_TYPE_R','Referentie','Referenties', 'de'); +DEF_FAC_ENTITY ('INS_SRTKENMERK_TYPE_X','Bestand','Bestanden', 'het'); +DEF_FAC_ENTITY ('INS_KENMERK', 'Kenmerk', 'Kenmerken', 'het'); +DEF_FAC_ENTITY ('INS_KENMERK_VOLGNUMMER', 'Volgnummer', 'Volgnummers', 'het'); +DEF_FAC_ENTITY ('INS_KENMERK_VERPLICHT', 'Verplicht', NULL, NULL); +DEF_FAC_ENTITY ('INS_KENMERK_TOONBAAR', 'Toonbaar', NULL, NULL); +DEF_FAC_ENTITY ('INS_KENMERKDEEL_WAARDE', 'Waarde', 'Waardes', 'de'); +/* Deelkoppeling-entities*/ +DEF_FAC_ENTITY ('INS_DEELKOPPELING_VORIGE', 'Vorig Deel', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEELKOPPELING_VOLGENDE', 'Volgend Deel', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEELKOPPELING_VAN', 'Van', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEELKOPPELING_NAAR', 'Naar', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEELKOPPELING_VAN_NAAR', 'Van-naar', NULL, NULL); +DEF_FAC_ENTITY ('INS_VORIGE_BUTTON', '<< Vorige', NULL, NULL); +DEF_FAC_ENTITY ('INS_VOLGENDE_BUTTON', 'Volgende >>', NULL, NULL); +/* Deel- en algemeen -plaats grafisch */ +#if defined(CAD) +DEF_FAC_ENTITY ('INS_PLAATS_GRAFISCH' , 'Grafisch', NULL, NULL); +DEF_FAC_ENTITY ('ALG_PLAATS_GRAFISCH' , 'Grafisch', NULL, NULL); + +DEF_FAC_ENTITY ('CAD_TYPE_KOP' , 'Soort tekening', NULL, NULL); +DEF_FAC_ENTITY ('CAD_TYPE_PLATTEGROND', 'Plattegrond', NULL, NULL); +DEF_FAC_ENTITY ('CAD_TYPE_CONTOUR' , 'Contour', NULL, NULL); +DEF_FAC_ENTITY ('CAD_TYPE_DISCIPLINE' , 'Discipline', NULL, NULL); +#endif +DEF_FAC_ENTITY ('BEV_VOORZIENINGEN', 'Voorzieningen', 'Voorzieningen', 'de'); +DEF_FAC_ENTITY ('BEV_LEGENDA_KOLOM_NR', 'Kolom', 'Kolommen', 'de'); +DEF_FAC_ENTITY ('BEV_INVENTARISATIE', 'Inventarisatie', NULL, NULL); +DEF_FAC_ENTITY ('BEV_DETAIL', 'Detail', NULL, NULL); +DEF_FAC_ENTITY ('BEV_INVULLEN', 'Invullen', NULL, NULL); +DEF_FAC_ENTITY ('BEV_DISCIPLINE', 'Discipline', 'Disciplines', 'de'); +DEF_FAC_ENTITY ('BEV_DISCIPLINE_OMSCHRIJVING', 'Omschrijving', NULL, 'de'); +DEF_FAC_ENTITY ('BEV_SRTGROEP', 'Groepsoort', 'Groepsoorten', 'de'); +DEF_FAC_ENTITY ('BEV_SRTGROEP_OMSCHRIJVING', 'Omschrijving', NULL, 'de'); +DEF_FAC_ENTITY ('BEV_SRTDEEL', 'Deelsoort', 'Deelsoorten', 'de'); +DEF_FAC_ENTITY ('BEV_SRTDEEL_OMSCHRIJVING', 'Omschrijving', NULL, 'de'); +DEF_FAC_ENTITY ('BEV_SRTDEEL_VOLGNR', 'Volgnr.', NULL, 'het'); +DEF_FAC_ENTITY ('BEV_PRINT_PAGINA', 'Pagina', 'Pagina''s', 'de'); +DEF_FAC_ENTITY ('BEV_PRINT_VERSIE', 'Versie', 'Versies', 'de'); +DEF_FAC_ENTITY ('BEV_PRINT_DATUM', 'Datum', 'Data', 'de'); +DEF_FAC_ENTITY ('BEV_PRINT_TOTAAL', 'TOTAAL', NULL, NULL); +DEF_FAC_ENTITY ('BEV_VULLING_VERSIE', 'REGIS 1.00', NULL, NULL); +DEF_FAC_ENTITY ('BEV_PRINT_KOSTEN', 'TOTAAL BEDRAG', NULL, NULL); +DEF_FAC_ENTITY ('BEV_PRINT_SOM_KOSTEN', 'SOM TOTAAL', NULL, NULL); +DEF_FAC_ENTITY ('BEV_PRINT_OPMERKING', 'Opmerking', NULL, NULL); +DEF_FAC_ENTITY ('BEB_CATEGORIE', 'Categorie', NULL, NULL); +DEF_FAC_ENTITY ('BEB_CATEGORIE_CODE', 'Code', NULL, NULL); +DEF_FAC_ENTITY ('BEB_ONRGOED_VERSIE', 'Versie', NULL, NULL); +DEF_FAC_ENTITY ('BEB_ONRGOED_MUTATIEDATUM', 'Datum', NULL, NULL); +DEF_FAC_ENTITY ('BEB_ONRGOED_UITSTELTIJD', 'Uitsteltijd', NULL, NULL); +DEF_FAC_ENTITY ('BEB_ONRGOED_OPMERKING', 'Opmerking', NULL, NULL); + + +/* MLD */ +DEF_FAC_ENTITY ('ARB', 'ARBO', NULL, NULL); +DEF_FAC_ENTITY ('BCO', 'BCO', NULL, NULL); +DEF_FAC_ENTITY ('MIL', 'Milieu', 'Milieus', 'het'); +DEF_FAC_ENTITY ('MLD', '', NULL, NULL); +DEF_FAC_ENTITY ('MRA', 'Storing', 'Storingen', 'de'); +DEF_FAC_ENTITY ('BCP', 'Preventief', NULL, NULL); +DEF_FAC_ENTITY ('MLD_ALLUITVOERENDE_BEDRIJF', 'B', NULL, NULL); +DEF_FAC_ENTITY ('MLD_ALLUITVOERENDE_PERSLID', 'P', NULL, NULL); +DEF_FAC_ENTITY ('MLD_ALLUITVOERENDE_SRTPERSLID', 'S', NULL, NULL); +DEF_FAC_ENTITY ('MLD_BEDRIJF', 'Bedrijf', 'Bedrijven', 'het'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_BEZOEK', 'Bezoek', 'Bezoeken', 'het'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_BEZOEK_ADRES', 'Adres', 'Adressen', 'het'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_BEZOEK_PLAATS', 'Plaats', 'Plaatsen', 'de'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_BEZOEK_POSTCODE', 'Postcode', 'Postcodes', 'de'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_CONTACT_FAX', 'Fax', 'Faxen', 'de'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_CONTACT_PERSOON', 'Contactpersoon', 'Contactpersonen', 'de'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_CONTACT_TELEFOON', 'Telefoon', 'Telefoons', 'de'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_FAX', 'Fax', 'Faxen', 'de'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_NAAM', 'Bedrijfsnaam', 'Bedrijfsnamen', 'de'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_OMSCHRIJVING', 'Bedrijf', 'Bedrijven', 'het'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_OPMERKING', 'Opmerking', 'Opmerkingen', 'de'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_POST', 'Post', NULL, NULL); +DEF_FAC_ENTITY ('MLD_BEDRIJF_POST_ADRES', 'Adres', 'Adressen', 'het'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_POST_PLAATS', 'Plaats', 'Plaatsen', 'de'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_POST_POSTCODE', 'Postcode', 'Postcodes', 'de'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_TELEFOON', 'Telefoon', 'Telefoons', 'de'); +DEF_FAC_ENTITY ('MLD_BEDRIJF_UURLOON', 'Uurloon', 'Uurlonen', 'het'); +#if defined(MRA) +DEF_FAC_ENTITY ('MLD_MELDBRON', 'Wijze melding', 'Wijzen melding', 'de'); +#else +DEF_FAC_ENTITY ('MLD_MELDBRON', 'Meldbron', 'Meldbronnen', 'de'); +#endif // MRA +DEF_FAC_ENTITY ('MLD_MELDBRON_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('MLD_MELDING', 'Melding', 'Meldingen', 'de'); +DEF_FAC_ENTITY ('MLD_MELDINGNR', 'Meldingnummer', 'Meldingnummers', 'het'); +DEF_FAC_ENTITY ('MLD_MELDING_DATUM', 'Datum', 'Data', 'de'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_ENTITY ('MLD_MELDING_DISCIPLINE', 'Vakgroep', 'Vakgroepen', 'de'); +#else +DEF_FAC_ENTITY ('MLD_MELDING_DISCIPLINE', 'Discipline', 'Disciplines', 'de'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_ENTITY ('MLD_MELDING_LOCATIE', 'Object', 'Objecten', 'het'); +#else +DEF_FAC_ENTITY ('MLD_MELDING_LOCATIE', 'Locatie', 'Locaties', 'de'); +#endif +DEF_FAC_ENTITY ('MLD_MELDING_NUMMER', 'Meldingnr.', NULL, NULL); +#if defined(MRA) +DEF_FAC_ENTITY ('MLD_MELDING_OMSCHRIJVING', 'Omschr. voorval', 'Omschr. voorvallen', 'de'); +#else +DEF_FAC_ENTITY ('MLD_MELDING_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +#endif // MRA +DEF_FAC_ENTITY ('MLD_MELDING_TYPE', 'Meldingtype', 'Meldingtypen', 'het'); +DEF_FAC_ENTITY ('MLD_OPDR_MATERIAAL', 'Materiaalkosten', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OORZAAK', 'Oorzaak', 'Oorzaken', 'de'); +DEF_FAC_ENTITY ('MLD_OORZAAK_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +#if defined(MRA) +DEF_FAC_ENTITY ('MLD_OPDR', 'Activiteit', 'activiteiten', 'de'); +#else +DEF_FAC_ENTITY ('MLD_OPDR', 'Opdracht', 'Opdrachten', 'de'); +#endif // MRA +DEF_FAC_ENTITY ('MLD_OPDR_AFK_URGENTIE', 'Urg.', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPDR_DATUMBEGIN' , 'Datum', 'Data', 'de'); +DEF_FAC_ENTITY ('MLD_OPDR_DATUMUITGEVOERD', 'Uitvoerdatum', 'Uitvoerdata', 'de'); +DEF_FAC_ENTITY ('MLD_OPDR_IN_DAGEN', ' (in dagen)', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPDR_IN_WEKEN', ' (in weken)', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPDR_KOSTEN', 'Totale kosten', NULL, NULL); +#if defined(MRA) +DEF_FAC_ENTITY ('MLD_OPDR_OMSCHRIJVING', 'Omschr. activ.', 'Omschr. activiteiten', 'de'); +#else +DEF_FAC_ENTITY ('MLD_OPDR_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +#endif // MRA +DEF_FAC_ENTITY ('MLD_OPDR_PLANNING', 'Planning', 'Planningen', 'de'); +DEF_FAC_ENTITY ('MLD_OPDR_UREN', 'Uren', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPDR_URGENTIE', 'Urgentie', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPDR_WERKZAAMHEDEN', 'Werkzaamheden', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPEN', 'Openstaande', NULL, NULL); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_ENTITY ('MLD_OPDR_AFMELDEN', 'TV verklaren', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPENOPDR_VERWERKEN', 'AV verklaren', NULL, NULL); +#else +DEF_FAC_ENTITY ('MLD_OPDR_AFMELDEN', 'Afmelden', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPENOPDR_VERWERKEN', 'Verwerken', NULL, NULL); +#endif +DEF_FAC_ENTITY ('MLD_OVZ_AANTAL' , 'Aantal', 'Aantallen', 'het'); +DEF_FAC_ENTITY ('MLD_OVZ_ANNULEREN','Annuleren', NULL, NULL); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_ENTITY ('MLD_OVZ_CHECK_OMSCHRIJVING','Alle Objecten', NULL, NULL); +#else +DEF_FAC_ENTITY ('MLD_OVZ_CHECK_OMSCHRIJVING','Alle Locaties', NULL, NULL); +#endif +DEF_FAC_ENTITY ('MLD_OVZ_DATUM' , 'Datum', 'Data', 'de'); +DEF_FAC_ENTITY ('MLD_OVZ_DOORGAAN','Doorgaan', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OVZ_GROEPERING','Groepering', 'Groeperingen', 'de'); +DEF_FAC_ENTITY ('MLD_OVZ_GROUP' , 'Groepering', 'Groeperingen', 'de'); +DEF_FAC_ENTITY ('MLD_OVZ_PERIODE_TOT' , 'Periode tot', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OVZ_PERIODE_VAN' , 'Periode van', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OVZ_SUBTOTAAL' , 'Subtotaal', 'Subtotalen', 'het'); +DEF_FAC_ENTITY ('MLD_OVZ_TOTAAL' , 'Totaal', 'Totalen', 'het'); +#if defined(MRA) +DEF_FAC_ENTITY ('MLD_STANDAARDOPDR', 'Std Activiteit', 'Std. Activiteiten', 'de'); +#else +DEF_FAC_ENTITY ('MLD_STANDAARDOPDR', 'Std Opdracht', 'Std Opdrachten', 'de'); +#endif // MRA +DEF_FAC_ENTITY ('MLD_STANDAARDOPDR_AFK', 'Afkorting', 'Afkortingen', 'de'); +DEF_FAC_ENTITY ('MLD_STANDAARDOPDR_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +#if defined(MRA) +DEF_FAC_ENTITY ('MLD_STATUSOPDR', 'Status activ.', 'Status Activiteiten', 'de'); +#else +DEF_FAC_ENTITY ('MLD_STATUSOPDR', 'Status', 'Statussen', 'de'); +#endif // MRA +DEF_FAC_ENTITY ('MLD_STATUSOPDR_AFGEMELD', 'MLD_AFGEMELD', NULL, NULL); +DEF_FAC_ENTITY ('MLD_STATUSOPDR_MODULE', 'Module', 'Modulen', 'de'); +DEF_FAC_ENTITY ('MLD_STATUSOPDR_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('MLD_STATUSOPDR_UITGEGEVEN', 'MLD_UITGEGEVEN', NULL, NULL); +DEF_FAC_ENTITY ('MLD_STATUSOPDR_VERWERKT', 'MLD_VERWERKT', NULL, NULL); +#if defined(MRA) +DEF_FAC_ENTITY ('MLD_TYPEOPDR', 'Type activiteit', 'typen activiteit', 'het'); +#else +DEF_FAC_ENTITY ('MLD_TYPEOPDR', 'Type opdracht', NULL, NULL); +#endif // MRA +DEF_FAC_ENTITY ('MLD_TYPEOPDRACHT', 'MLD_TYPEOPDR', NULL, NULL); +DEF_FAC_ENTITY ('MLD_TYPEOPDR_MODULE', 'Module', 'Modulen', 'de'); +DEF_FAC_ENTITY ('MLD_TYPEOPDR_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('MLD_TYPEOVERZICHT', 'Type overzicht', NULL, NULL); +DEF_FAC_ENTITY ('MLD_UITVOERENDE' , 'Uitvoerende', 'Uitvoerenden', 'de'); +DEF_FAC_ENTITY ('MLD_OPDR_A', 'a', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPDR_CORRECTIE', 'Correctie', 'Correcties', 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR', 'Bestelopdracht', 'Bestelopdrachten', 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_ADMIN', 'Admin-kosten', NULL, NULL); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_DATUM', 'Datum', 'Data', 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_KMVERGOED', 'Km vergoeding', 'Km vergoedingen', 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_LIMIET', 'Limiet', 'Limieten', 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_MONTBON', 'Monteursbon', 'Monteursbonnen', 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_OPLEVDATUM', 'Opleverdatum', 'Opleverdata', 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_PRIJS', 'Prijs', 'Prijzen', 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_RAMING', 'Raming', 'Ramingen', 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_REFNR', 'Referentienr.', NULL, NULL); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_REFWERKNR', 'Werknummer', NULL, NULL); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_REIS', 'Reiskosten', NULL, NULL); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_VERZEND', 'Verzendkosten', NULL, NULL); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_VOORRIJ', 'Voorrij kosten', NULL, NULL); +DEF_FAC_ENTITY ('MLD_BESTELREGEL', 'Bestelregel', 'Bestelregels', 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_BCO_LETTER', NULL, NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPDR_PRINTEN', 'Printen', NULL, NULL); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_ENTITY ('MLD_OPDR_VERWERKEN', 'AV verklaren', NULL, NULL); +#else +DEF_FAC_ENTITY ('MLD_OPDR_VERWERKEN', 'Verwerken', NULL, NULL); +#endif +DEF_FAC_ENTITY ('MLD_OPDR_TERMIJN', 'Termijn', 'Termijnen', 'de'); +DEF_FAC_ENTITY ('MLD_DATUM', 'Datum', 'Data', 'de'); +DEF_FAC_ENTITY ('MLD_TIJD', 'Tijd', 'Tijden', 'de'); +DEF_FAC_ENTITY ('MLD_OPDR_MATERIAAL2', 'Materiaal', 'Materialen', 'het'); +#if defined(LEV)||defined(HUI) +DEF_FAC_ENTITY ('MLD_KOSTENPOST', 'MZA', 'MZA''s', 'het'); +#else +DEF_FAC_ENTITY ('MLD_KOSTENPOST', 'Kostenpost', 'Kostenposten', 'de'); +#endif +DEF_FAC_ENTITY ('MLD_KOSTENPOST_OMSCHRIJVING', 'Omschrijving', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_KOSTENPOST_BUDGET', 'Budget', 'Budgetten', 'het'); +DEF_FAC_ENTITY ('MLD_KOSTENPOST_VERREKEND', 'Verrekend', NULL, NULL); +DEF_FAC_ENTITY ('MLD_KOSTENPOST_GERAAMD', 'Geraamd', NULL, NULL); +DEF_FAC_ENTITY ('MLD_KOSTENPOST_RESTANT', 'Resterend', NULL, NULL); +DEF_FAC_ENTITY ('MLD_KOSTENPOST_DATUM', 'Uitgiftedatum', 'Uitgiftedata', 'de'); +DEF_FAC_ENTITY ('MLD_KOSTENPOST_JAAR', 'Jaar', 'Jaren', 'het'); +DEF_FAC_ENTITY ('MLD_MELDBRON_NR', 'Nr', 'Nrs', 'het'); +DEF_FAC_ENTITY ('MLD_OPDR_NR', 'Opdrachtnr.', 'opdrachtnrs.', 'het'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_FONDSNR', 'Fondsnr.', NULL, 'het'); +DEF_FAC_ENTITY ('MLD_ADRES', 'Adres', 'Adressen', 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_NAAM', 'Naam', 'Namen', 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_BEZOEK', 'Bezoek', NULL, 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_BEZOEK_ADRES', 'Adres', 'Adressen', 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_GEBOUW_RUIMTE', 'Gebouw/Ruimte', NULL, 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_BEZOEK_POSTCODE', 'Postcode', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_BEZOEK_PLAATS', 'Plaats', 'Plaatsen', 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_BEZOEK_LAND', 'Land', 'Landen', 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_POST', 'Post', NULL, 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_POST_ADRES', 'Adres', 'Adressen', 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_POST_POSTCODE', 'Postcode', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_POST_PLAATS', 'Plaats', 'Plaatsen', 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_POST_LAND', 'Land', 'Landen', 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_CONTACTPERSOON', 'Contactpersoon', NULL, 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_CONTACTPERS_TELEFOON', 'Telefoon', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_CONTACTPERS_FAX', 'Fax', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_CONTACTPERS_BUREAU', 'Bureau', NULL, 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_TELEFOON', 'Telefoon', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_FAX', 'Fax', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_OPDRGEVER', 'Opdrachtgever', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_AANVRAGER', 'Aanvrager', NULL, 'de'); + +DEF_FAC_ENTITY ('MLD_VRIJE_DAGEN', 'Vrije dagen', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_VRIJE_DAGEN_DATUM', 'Datum', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_MELDING_MELDER_NAAM', 'Naam', 'Namen', 'de'); +DEF_FAC_ENTITY ('MLD_MELDING_INGEVOERD', 'Ingevoerd', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_INGEZIEN', 'Ingezien', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_AFGEWEZEN', 'Afgewezen', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_GEACCEPTEERD', 'Geaccepteerd', NULL, NULL); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_ENTITY ('MLD_MELDING_AFGEMELD', 'TV', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_VERWERKT', 'AV', NULL, NULL); +#else +DEF_FAC_ENTITY ('MLD_MELDING_AFGEMELD', 'Afgemeld', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_VERWERKT', 'Verwerkt', NULL, NULL); +#endif +/* 980502/KTH LOG#1625: geexporteerd is geen status meer */ +/* DEF_FAC_ENTITY ('MLD_MELDING_GEEXPORTEERD', 'Geexporteerd', NULL, NULL); */ +DEF_FAC_ENTITY ('MLD_MELDING_PLAATS', 'Plaats', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_STATUS', 'Status', NULL, NULL); +#ifdef AKZ +DEF_FAC_ENTITY ('MLD_STDMELDING', 'Herk. tekst', NULL, NULL); +#else +DEF_FAC_ENTITY ('MLD_STDMELDING', 'Std. melding', NULL, NULL); +#endif +DEF_FAC_ENTITY ('MLD_STDMELDING_OMSCHRIJVING', 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('MLD_STDMELDING_URGENTIE', 'Acceptatietijd', NULL, NULL); +DEF_FAC_ENTITY ('MLD_STDMELDING_UREN', '(uren)', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_DATUM_TIJD', 'Datum/Tijd', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_UITVOERTIJD', 'Uitvoertijd', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_DAGEN', '(dagen)', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_USERNAME', 'Gebruiker', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_OPMERKING', 'Opmerking', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_DATUM_GEREED', 'Datum gereed', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPDR_UITVOERENDE', 'Uitvoerende', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPDR_CONTACTPERSOON', 'Contactpersoon', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPDR_GEPRINT', 'Geprint', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_VELD', 'Veld', NULL, NULL); +DEF_FAC_ENTITY ('MLD_MELDING_VELD_WAARDE', 'Waarde', NULL, NULL); +DEF_FAC_ENTITY ('MLD_STDMELDING_UITVOERTIJD', 'Uitvoertijd', NULL, NULL); +DEF_FAC_ENTITY ('MLD_STDMELDING_DAGEN', '(dagen)', NULL, NULL); +DEF_FAC_ENTITY ('MLD_OPDR_BEDRIJFOPDR_VOLGNR', 'Volgnr.', NULL, NULL); + + +/* MRA */ +DEF_FAC_ENTITY ('MRA_DISCIPLINE_MILIEU', 'Milieu', 'Milieus', 'het'); +DEF_FAC_ENTITY ('MRA_GRAADVERV' , 'Vervuil. graad', 'Vervuil. graden', 'de'); +DEF_FAC_ENTITY ('MRA_MELDING_MELDER_EENHEID' , 'Eenheid melder', 'Eenheid melders', 'de'); +DEF_FAC_ENTITY ('MRA_MELDING_MELDER_RANG' , 'Rang/functie', 'Rang/functies', 'de'); +DEF_FAC_ENTITY ('MRA_MELDING_MELDER_VEROORZAKER', 'Eenheid veroorz', NULL, NULL); +DEF_FAC_ENTITY ('MRA_SRTDEELVERV' , 'Stof', 'Stoffen', NULL); +DEF_FAC_ENTITY ('MRA_SRTGROEPVERV' , 'Compartiment', 'Compartimenten', 'het'); +DEF_FAC_ENTITY ('MRA_ONRGOEDVOORSCHR_VOLDAAN' , 'In orde', NULL, NULL); +DEF_FAC_ENTITY ('MRA_VOORONDERZOEK' , 'Vooronderzoek', 'Vooronderzoeken', 'het'); +DEF_FAC_ENTITY ('MRA_MELDING_HOEVEELHEID', 'Hoeveelheid', 'Hoeveelheden', 'de'); +DEF_FAC_ENTITY ('MRA_MELDING_MELDER_NAAM', 'Melder naam', 'Melder namen', 'de'); +DEF_FAC_ENTITY ('MRA_MELDING_TIJD' , 'Tijd', 'Tijden', 'de'); +DEF_FAC_ENTITY ('MRA_ONDERZOEK', 'Onderzoek', 'Onderzoeken', 'het'); +DEF_FAC_ENTITY ('MRA_ONROERENDGOED_TERREIN', 'T', NULL, NULL); +DEF_FAC_ENTITY ('MRA_SANERING', 'Sanering', 'Saneringen', 'de'); +DEF_FAC_ENTITY ('MRA_TYPEOPDRACHT', 'MRA_typeopdr', NULL, NULL); +DEF_FAC_ENTITY ('MRA_GRDVERV_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('MRA_SRTGROEPVERV_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('MRA_SRTDEELVERV_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('MRA_SRTDEELGRDVERV_ONDER','Onder', NULL, NULL); +DEF_FAC_ENTITY ('MRA_SRTDEELGRDVERV_BOVEN','Boven', NULL, NULL); +DEF_FAC_ENTITY ('MRA_SRTDEELVERV_EENHEID','Eenheid', 'Eenheden', 'de'); +DEF_FAC_ENTITY ('MRA_EENHEID','Eenheid', 'Eenheden', 'de'); +DEF_FAC_ENTITY ('MRA_EENHEID_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('MRA_TERREINSECTOR_OMSCHRIJVING','Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('MRA_MANCO', 'Manco', 'Manco''s', 'de'); +DEF_FAC_ENTITY ('MRA_MANCO_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('MRA_VOORSCHRIFT', 'Checklist', 'Checklisten', 'het'); +DEF_FAC_ENTITY ('MRA_VOORSCHRIFT_OMSCHRIJVING', 'Toelichting', 'Toelichtingen', 'de'); +DEF_FAC_ENTITY ('MRA_VOORSCHRIFT_AFK', 'Checklistvraag', 'Checklistvragen', 'de'); +DEF_FAC_ENTITY ('MRA_TYPE', 'Type', 'Typen', 'het'); +DEF_FAC_ENTITY ('MRA_SOORT', 'Soort', 'Soorten', 'de'); +DEF_FAC_ENTITY ('MRA_HFDCATEGORIE', 'Hoofdcategorie', 'Hoofdcategorieen', 'de'); +DEF_FAC_ENTITY ('MRA_HFDCATEGORIE_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen','de'); +DEF_FAC_ENTITY ('MRA_CATEGORIE', 'Categorie', 'Categorieen', 'de'); +DEF_FAC_ENTITY ('MRA_CATEGORIE_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('MRA_VOORSCHRIFT_BUTTON', 'Checklist', NULL, NULL); +DEF_FAC_ENTITY ('MRA_DISCIPLINE_ARBO', 'Arbo', NULL, NULL); +DEF_FAC_ENTITY ('MRA_BESTEMMING', 'Proces', 'Processen', 'de'); +DEF_FAC_ENTITY ('MRA_SUB_BESTEMMING', 'Sub-proces', 'Sub-processen', 'de'); +DEF_FAC_ENTITY ('MRA_BESTEMMING_DETAILS', 'Details', NULL, NULL); +DEF_FAC_ENTITY ('MRA_BESTEMMING_HOGER', 'Hoger', NULL, NULL); +DEF_FAC_ENTITY ('MRA_BESTEMMING_ORDE', 'Niveau', 'Niveaus', 'het'); +DEF_FAC_ENTITY ('MRA_COMMANDANT_DATUM', 'Waarschuw.KazCo', NULL, NULL); +DEF_FAC_ENTITY ('MRA_SORTERING', 'Sortering', NULL, NULL); +DEF_FAC_ENTITY ('MRA_MANCO_TOELICHTING', 'Toelichting', NULL, 'de'); +DEF_FAC_ENTITY ('MRA_BIBLIOTHEEK', 'Bibliotheek', NULL, 'de'); +DEF_FAC_ENTITY ('MRA_RAPPORT', 'Rapport', NULL, 'het'); +DEF_FAC_ENTITY ('MRA_FORMULIER', 'Checklist', NULL, 'het'); +DEF_FAC_ENTITY ('MRA_MANCOLIJST', 'Mancolijst', NULL, 'de'); +DEF_FAC_ENTITY ('MRA_VOORSCHRIFT_MODULE', 'Type checklist', NULL, NULL); +DEF_FAC_ENTITY ('MRA_RAPPORT_SOORT', 'Soort rapport', NULL, NULL); + +/* PRS */ +DEF_FAC_ENTITY ('PRS_PERSLID', 'Persoon', 'personen', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_MAXCORR', 'Corr. uren', 'Corr. uren', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_MAXPREV', 'Prev. uren', 'Prev. uren', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_MAXTOTAAL', 'Totale uren', 'Totale uren', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_STORING_UREN', 'Storingsuren', NULL, 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_NAAM' , 'Naam', 'Namen', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_NR', 'Pers.nr', 'Pers.nrs', 'het'); +DEF_FAC_ENTITY ('PRS_PERSLID_STORING', 'Storing Ja/Nee', NULL, NULL); +DEF_FAC_ENTITY ('PRS_PERSLID_TITEL', 'Titel', 'Titels', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_UURLOON', 'Uurloon', 'Uurlonen', 'het'); +DEF_FAC_ENTITY ('PRS_PERSLID_VOORLETTERS', 'Voorletters', 'Voorletters', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_VOORNAAM', 'Voornaam', 'Voornamen', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_TELEFOONNR', 'Telefoon', 'Telefoons', 'de'); +#if defined(LEV) +DEF_FAC_ENTITY ('PRS_SRTPERSLID', 'Rang', 'Rangen', 'de'); +#else +DEF_FAC_ENTITY ('PRS_SRTPERSLID', 'Functie persoon', 'Functies v. persoon', 'de'); +#endif // LEV +DEF_FAC_ENTITY ('PRS_SRTPERSLID_OMSCHRIJVING' , 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('RAPPORT', 'Rapporteren', NULL, 'het'); +DEF_FAC_ENTITY ('PRS_AFDELING', 'Afdeling', 'Afdelingen', 'de'); +DEF_FAC_ENTITY ('PRS_AFDELING_NAAM', 'Naam', 'Namen', 'de'); +DEF_FAC_ENTITY ('PRS_RUIMTEGEBRUIK', 'Gebruik', NULL, 'het'); +DEF_FAC_ENTITY ('PRS_AFDELING_PERSLID', 'Persoon', 'Personen', 'de'); +DEF_FAC_ENTITY ('PRS_AFDELING_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('PRS_SRTPERSLID_OPP', 'Oppervlakte', 'Oppervlaktes', 'de'); +DEF_FAC_ENTITY ('PRS_SRTPERSLID_UURLOON', 'Uurloon', 'Uurlonen', 'het'); +DEF_FAC_ENTITY ('PRS_SRTPERSLID_BEDRIJF', 'Bedrijf', 'Bedrijven', 'het'); +DEF_FAC_ENTITY ('PRS_INVENTARIS', 'Inventaris', 'Inventaris', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_WERKPLEK', 'Werkplek', 'Werkplekken', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_DIENSTVERBAND', 'Dienstverband', 'Dienstverbanden', 'het'); +#if defined(LEV) +DEF_FAC_ENTITY ('PRS_PERSLID_FUNCOPP', 'Rang opp.', 'Rang opps.', 'de'); +#else +DEF_FAC_ENTITY ('PRS_PERSLID_FUNCOPP', 'Functie opp.', 'Functie opps.', 'de'); +#endif // LEV +DEF_FAC_ENTITY ('PRS_PERSLID_OPP', 'Werkelijke opp.', 'Werkelijke opp.', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_INGANGSDATUM', 'Ingangsdatum', 'Ingangsdata', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_EINDDATUM', 'Einddatum', 'Einddata', 'de'); +DEF_FAC_ENTITY ('PROCENT', '%', NULL, NULL); +DEF_FAC_ENTITY ('PRS_WERKPLEK', 'Werkplek', 'Werkplekken', 'de'); +DEF_FAC_ENTITY ('PRS_WERKPLEK_VOLGNR', 'Volgnummer', 'Volgnummers', 'het'); +DEF_FAC_ENTITY ('PRS_WERKPLEK_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('PRS_WERKPLEK_OPP', 'Oppervlakte', 'Oppervlaktes', 'de'); +DEF_FAC_ENTITY ('PRS_WERKPLEK_PERSLID', 'Persoon', 'Personen', 'de'); +DEF_FAC_ENTITY ('PRS_WERKPLEK_VARIABEL', 'Variabel', NULL, NULL); +DEF_FAC_ENTITY ('PRS_WERKPLEK_VAST', 'Vast', NULL, NULL); +DEF_FAC_ENTITY ('PRS_DETAIL', 'Detail', 'Details', 'het'); +DEF_FAC_ENTITY ('PRS_WERKPLEK_BESCHIKBAAR', 'Beschikbaar', NULL, NULL); +DEF_FAC_ENTITY ('PRS_WERKPLEK_OPP_M2', '(m2)', NULL, NULL); +DEF_FAC_ENTITY ('PRS_WERKRUIMTE', 'Werkruimte', 'Werkruimtes', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_REGISTRATIE_NR', 'Registratienr.', 'Registratienummers', 'het'); +DEF_FAC_ENTITY ('PRS_PERSLIDWERKPLEK_BEZ', 'Bezetting', NULL, NULL); +DEF_FAC_ENTITY ('PRS_BEDRIJF_LEVERANCIER_NR', 'Leveranciernr.', 'Leveranciernummers.', 'het'); +DEF_FAC_ENTITY ('PRS_BEDRIJF_OVEREENK_NR', 'Overeenkomstnr.', 'Overeenkomstnummers.', 'het'); +DEF_FAC_ENTITY ('PRS_BEDRIJF_OVEREENK_DATUM', 'Overeenk.dat.', NULL, 'de'); +DEF_FAC_ENTITY ('PRS_RAFRAP_PERC', 'Perc.', NULL, NULL); +DEF_FAC_ENTITY ('PRS_RAFRAP_OPP', 'Opp. (m2)', NULL, NULL); +DEF_FAC_ENTITY ('PRS_OGWRAP_BUTTON', 'Overzicht', NULL, NULL); +DEF_FAC_ENTITY ('PRS_PERSLID_ELCONR', 'Elconr.', 'Elconummers', 'het'); +#if defined(LEV) || defined(HUI) +DEF_FAC_ENTITY ('PRS_PERSLID_EENHEID', 'Onderdeel', 'Onderdelen', 'het'); +#else +DEF_FAC_ENTITY ('PRS_PERSLID_EENHEID', 'Eenheid', 'Eenheden', 'de'); +#endif //LEV || HUI +DEF_FAC_ENTITY ('PRS_PERSLID_RANG', 'Rang', 'Rangen', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_TEL', 'Tel.', 'tels.', 'het'); +DEF_FAC_ENTITY ('PRS_HUISMEESTER', 'Huismeester', 'Huismeesters', 'de'); +DEF_FAC_ENTITY ('PRS_BEDRIJF_UITVOERENDE', 'Uitvoerende', 'uitvoerenden', 'de'); +DEF_FAC_ENTITY ('PRS_BEDRIJF_LEVERANCIER', 'Leverancier', 'leveranciers', 'de'); +DEF_FAC_ENTITY ('PRS_BEDRIJF_CONTRACT', 'Contract', 'contracten', 'het'); +DEF_FAC_ENTITY ('PRS_BESTEK', 'Bestek', 'Bestekken', 'het'); +DEF_FAC_ENTITY ('PRS_BESTEK_NR', 'Besteknummer', 'Besteknummers', 'de'); +DEF_FAC_ENTITY ('PRS_BESTEK_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('PRS_BESTEK_MATERIAALPOST', 'Materiaalpost', 'Materiaalposten', 'de'); +DEF_FAC_ENTITY ('PRS_BESTEK_BEGINDATUM', 'Begindatum', 'begindata', 'de'); +DEF_FAC_ENTITY ('PRS_BESTEK_EINDDATUM', 'Einddatum', 'einddata', 'de'); +DEF_FAC_ENTITY ('PRS_BESTEK_FILENAME', 'Documentnaam', 'documentnamen', 'de'); +DEF_FAC_ENTITY ('PRS_BESTEK_MATERIAALBESTEED', 'Besteed', NULL, NULL); +DEF_FAC_ENTITY ('PRS_BESTEK_MATERIAALGERAAMD', 'Geraamd', NULL, NULL); +DEF_FAC_ENTITY ('PRS_BESTEK_MATERIAALRESTANT', 'Restant', NULL, NULL); +DEF_FAC_ENTITY ('PRS_DISCIPLINEBESTEK_UREN', 'Uren', NULL, NULL); +DEF_FAC_ENTITY ('PRS_DISCIPLINEBESTEK_UURPRIJS', 'Uurprijs', 'uurprijzen', 'de'); +DEF_FAC_ENTITY ('PRS_BESTEK_DOCUMENTATIE', 'Documentatie', NULL, NULL); +DEF_FAC_ENTITY ('PRS_BEDRIJF_UURLOON', 'Uurloon', 'Uurlonen', 'het'); +DEF_FAC_ENTITY ('PRS_SRTBEDRIJF', 'Bedrijfsoort', 'Bedrijfsoorten', 'het'); +DEF_FAC_ENTITY ('PRS_RAPPORT_TYPE', 'Type', 'Types', 'het'); +DEF_FAC_ENTITY ('PRS_RAPPORT_RUIMTE_OPP', 'Bruto Opp.', NULL, 'de'); +DEF_FAC_ENTITY ('PRS_RAPPORT_WERKPLEK_OPP', 'Werkplek Opp.', NULL, 'de'); +DEF_FAC_ENTITY ('PRS_RAPPORT_BENUT_OPP', 'Benut Opp.', NULL, 'de'); +DEF_FAC_ENTITY ('PRS_RAPPORT_PERCENTAGE_OPP', 'Percentage', NULL, 'het'); +DEF_FAC_ENTITY ('PRS_RAPPORT_VANAF', 'Benut Opp.vanaf', NULL, NULL); +DEF_FAC_ENTITY ('PRS_RAPPORT_TM', 't/m', NULL, NULL); +DEF_FAC_ENTITY ('PRS_PERSLIDWERKPLEK_OPP', 'Opp.(m2)', NULL, 'de'); +DEF_FAC_ENTITY ('PRS_PERSLIDWERKPLEK_BEZETTING', 'Bez.(%)', NULL, 'de'); +DEF_FAC_ENTITY ('PRS_PERSLIDWERKPLEK_NORM', 'Norm(%)', 'Normen(%)', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLIDWERKPLEK_BEZETVANAF', 'Bez. vanaf', NULL, NULL); +DEF_FAC_ENTITY ('PRS_PERSLIDWERKPLEK_NORMVANAF', 'Norm vanaf', NULL, NULL); + + +/* SLE */ +DEF_FAC_ENTITY ('SLE_SLOT', 'Cylinder', 'Cylinders', 'de'); +DEF_FAC_ENTITY ('SLE_SLOT_DEFAULT', 'Deur', 'Deuren', 'de'); +DEF_FAC_ENTITY ('SLE_SLOT_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('SLE_SLOT_SLEUTELS', 'Sleutels', NULL, NULL); +DEF_FAC_ENTITY ('SLE_SLOT_PERSOON', 'Toegang', NULL, NULL); +DEF_FAC_ENTITY ('SLE_SLEUTEL', 'Sleutel', 'Sleutels', 'de'); +DEF_FAC_ENTITY ('SLE_SLEUTEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('SLE_SLEUTEL_AANTAL', 'Aantal', 'Aantallen', 'het'); +DEF_FAC_ENTITY ('SLE_SLEUTEL_SLOT_BUTTON', 'Cylinders', NULL, NULL); +DEF_FAC_ENTITY ('SLE_SLEUTEL_PERSOON', 'Bezit', NULL, NULL); +DEF_FAC_ENTITY ('SLE_SLEUTEL_PERSLID_DEFAULT', 'beschikbaar', NULL, NULL); + +/* INV */ +DEF_FAC_ENTITY ('INV_DISCIPLINE', 'Vakgroep', 'Vakgroepen', 'de'); +DEF_FAC_ENTITY ('INV_DISCIPLINE_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +#ifdef HUI +DEF_FAC_ENTITY ('INV_SRTGROEP', 'Artikeltype', 'Artikeltypes', 'het'); +#else +DEF_FAC_ENTITY ('INV_SRTGROEP', 'Artikelgroep', 'Artikelgroepen', 'de'); +#endif +DEF_FAC_ENTITY ('INV_SRTGROEP_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +#ifdef HUI +DEF_FAC_ENTITY ('INV_SRTDEEL', 'Artikel', 'Artikelen', 'het'); +#else +DEF_FAC_ENTITY ('INV_SRTDEEL', 'Artikelsoort', 'Artikelsoorten', 'het'); +#endif +DEF_FAC_ENTITY ('INV_SRTDEEL_NR', 'Artikelnr.', 'Artikelnummers', 'het'); +DEF_FAC_ENTITY ('INV_SRTDEEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('INV_SRTDEEL_KOPPELING', 'Toewijzing', 'Toewijzingen', 'de'); +DEF_FAC_ENTITY ('INV_SRTDEEL_KOPPELING_RUIMTE', 'Ruimte', 'ruimtes', 'de'); +DEF_FAC_ENTITY ('INV_SRTDEEL_KOPPELING_WERKPLEK', 'Werkplek', 'werkplekken', 'de'); +DEF_FAC_ENTITY ('INV_SRTDEEL_ACADLAYER', 'Acadlayer', 'Acadlayers', 'de'); +DEF_FAC_ENTITY ('INV_SRTDEEL_ACADSYMBOL', 'Acadsymbool', 'Acadsymbolen', 'het'); +#ifdef HUI +DEF_FAC_ENTITY ('INV_DEEL', 'Inventaris', 'Inventarissen', 'de'); +#else +DEF_FAC_ENTITY ('INV_DEEL', 'Artikel', 'Artikelen', 'het'); +#endif +DEF_FAC_ENTITY ('INV_DEEL_SERIENR', 'Serienr.', 'serienrs.', 'het'); +#ifdef HUI +DEF_FAC_ENTITY ('INV_DEEL_GEBRUIK', 'Plaats', NULL, 'het'); +#else +DEF_FAC_ENTITY ('INV_DEEL_GEBRUIK', 'Gebruik', NULL, 'het'); +#endif +DEF_FAC_ENTITY ('INV_DEEL_OMSCHRIJVING', 'Omschrijving', 'omschrijvingen', 'de'); +DEF_FAC_ENTITY ('INV_DEEL_TYPE', 'Type', 'types', 'het'); +DEF_FAC_ENTITY ('INV_DEEL_FABRIKAAT', 'Fabrikaat', NULL, 'het'); +DEF_FAC_ENTITY ('INV_DEEL_BOUWJAAR', 'Bouwjaar', 'bouwjaren', 'het'); +DEF_FAC_ENTITY ('INV_DEEL_PRIJS', 'Prijs', 'prijzen', 'de'); +DEF_FAC_ENTITY ('INV_DEEL_AANTAL', 'Aantal', 'aantallen', 'het'); +DEF_FAC_ENTITY ('INV_DEEL_OPMERKING', 'Opmerking', 'opmerkingen', 'de'); +DEF_FAC_ENTITY ('INV_DEEL_ONTKOPPELEN', 'Vrijgeven', NULL, NULL); +DEF_FAC_ENTITY ('INV_DEEL_VERPLAATSEN', 'Verplaatsen', NULL, NULL); +DEF_FAC_ENTITY ('INV_SRTDEEL_PRIJS', 'Prijs', 'Prijzen', 'de'); +DEF_FAC_ENTITY ('INV_TOTAAL', 'Totaal', 'Totalen', 'het'); +DEF_FAC_ENTITY ('INV_VERHUIS_DATUM', 'Verhuisdatum', 'Verhuisdata', 'de'); +DEF_FAC_ENTITY ('INV_VERHUIS_VAN', 'Van', NULL, NULL); +DEF_FAC_ENTITY ('INV_VERHUIS_NAAR', 'Naar', NULL, NULL); +DEF_FAC_ENTITY ('INV_VERHUIS_BIJZONDERHEDEN', 'Bijzonderheden', NULL, 'de'); +#ifdef HUI +DEF_FAC_ENTITY ('INV_DEEL_BEZIT', 'Bruikleen', NULL, 'het'); +#else +DEF_FAC_ENTITY ('INV_DEEL_BEZIT', 'Eigenaar', 'Eigenaren', 'de'); +#endif +DEF_FAC_ENTITY ('INV_DEEL_PLAATS', 'Plaats', 'plaatsen', 'de'); +DEF_FAC_ENTITY ('INV_DEEL_OVERDRAGEN', 'Overdragen', NULL, NULL); +DEF_FAC_ENTITY ('INV_DETAIL', 'Wijzigen', NULL, NULL); +DEF_FAC_ENTITY ('INV_DEEL_VERHUIZEN', 'Verhuizen', NULL, NULL); + +/* SCH */ +DEF_FAC_ENTITY ('SCH_SM','S/M',NULL, NULL); +DEF_FAC_ENTITY ('SCH_ACTIVITEIT','Activiteit','Activiteiten','de'); +DEF_FAC_ENTITY ('SCH_ACTIVITEIT_CODE','Code','Codes','de'); +DEF_FAC_ENTITY ('SCH_CODE','Code','Codes','de'); +DEF_FAC_ENTITY ('SCH_CORR','Correctiefactor','correctiefactoren','de'); +DEF_FAC_ENTITY ('SCH_ACTIVITEIT_OMSCHRIJVING','Omschrijving','Omschrijvingen','de'); +DEF_FAC_ENTITY ('SCH_OMSCHRIJVING','Omschrijving','Omschrijvingen','de'); +DEF_FAC_ENTITY ('SCH_OVERZ','Overzicht','Overzichten','het'); +DEF_FAC_ENTITY ('SCH_WERKZ','Werkzaamheden','Werkzaamheden','de'); +DEF_FAC_ENTITY ('SCH_WERKZ2','Schoonmaak',NULL, NULL); +DEF_FAC_ENTITY ('SCH_KOSTEN','Kosten','kosten','de'); +DEF_FAC_ENTITY ('SCH_SR','Ruimtesoort','Ruimtesoorten','het'); +DEF_FAC_ENTITY ('SCH_RAP1','Overzicht','Overzichten','het'); +DEF_FAC_ENTITY ('SCH_RAP2','Overzicht','Overzichten','het'); +DEF_FAC_ENTITY ('SCH_FREQUENTIE','Frequentie','Frequenties','de'); +DEF_FAC_ENTITY ('SCH_FREQUENTIE_CODE','Code','Codes','de'); +DEF_FAC_ENTITY ('SCH_FREQUENTIE_OMSCHRIJVING','Omschrijving','Omschrijvingen','de'); +DEF_FAC_ENTITY ('SCH_SRTVLOER','Vloersoort','Vloersoorten','de'); +DEF_FAC_ENTITY ('SCH_SRTVLOER_OMSCHRIJVING','Omschrijving','Omschrijvingen','de'); +DEF_FAC_ENTITY ('SCH_ACTIVITEIT_VOLGNR','Volgnummer','Volgnummers','het'); +DEF_FAC_ENTITY ('SCH_NIVO_SHORT','Niveau','Niveaus','het'); +DEF_FAC_ENTITY ('SCH_ACTIVITEIT_PPM_SHORT','m2',NULL,NULL); +DEF_FAC_ENTITY ('SCH_ACTIVITEIT_PPR_SHORT','ruimte',NULL,NULL); +DEF_FAC_ENTITY ('SCH_ACTIVITEIT_PPM','per m2',NULL,NULL); +DEF_FAC_ENTITY ('SCH_ACTIVITEIT_PPR','per ruimte',NULL,NULL); + +#if 0 // Attribuut is vervangen door INS_KENMERK +/* ATT */ +DEF_FAC_ENTITY ('ATT_LABEL','Label', 'Labels', 'het'); +DEF_FAC_ENTITY ('ATT_TYPE','Type', 'Typen', 'het'); +DEF_FAC_ENTITY ('ATT_LENGTH','Lengte', 'Lengtes', 'de'); +DEF_FAC_ENTITY ('ATT_MIN','Min.', NULL, NULL); +DEF_FAC_ENTITY ('ATT_MAX','Max.', NULL, NULL); +DEF_FAC_ENTITY ('ATT_DEC','Dec.', NULL, NULL); +DEF_FAC_ENTITY ('ATT_UNIT','Eenheid', 'Eenheden', 'de'); +DEF_FAC_ENTITY ('ATT_REQUIRED','Verplicht', NULL, NULL); +DEF_FAC_ENTITY ('ATT_TOONBAAR','Toonbaar', NULL, NULL); +DEF_FAC_ENTITY ('ATT_WINDOW_TITLE','Attributen bij', NULL, NULL); +DEF_FAC_ENTITY ('ATT_ATTRIBUTE','Attribuut', 'Attributen', 'het'); +DEF_FAC_ENTITY ('ATT_VOLGORDE','Volgorde', 'volgordes', 'de'); +DEF_FAC_ENTITY ('ATT_TABLE','Tabelnaam','Tabelnamen', 'de'); +DEF_FAC_ENTITY ('ATT_COLUMN','Kolomnaam','Kolomnamen', 'de'); +DEF_FAC_ENTITY ('ATT_COLUMN_TXT','Kolomtekst','Kolomteksten', 'de'); +DEF_FAC_ENTITY ('ATT_CHAR','Karakter','Karakters', 'de'); +DEF_FAC_ENTITY ('ATT_NUMBER','Numeriek',NULL, NULL); +DEF_FAC_ENTITY ('ATT_REFERENCE','Referentie','Referenties', 'de'); +#endif // 0 + +/* LEV */ +DEF_FAC_ENTITY ('LEV_BESTELLING', 'Bestelling', 'Bestellingen', 'de'); +DEF_FAC_ENTITY ('LEV_AFVOEREN', 'Afvoeren', NULL, 'het'); +DEF_FAC_ENTITY ('LEV_AFVOERDATUM', 'Afvoerdatum', 'afvoerdata', 'de'); +DEF_FAC_ENTITY ('LEV_BESTELLING_NR', 'Bestelnr.', 'Bestelnummers', 'het'); +DEF_FAC_ENTITY ('LEV_BESTELDATUM', 'Besteldatum', 'Besteldata', 'de'); +DEF_FAC_ENTITY ('LEV_PERIODE_VAN', 'Periode van', NULL, NULL); +DEF_FAC_ENTITY ('LEV_PERIODE_TOT', 'tot', NULL, NULL); +DEF_FAC_ENTITY ('LEV_MLD_BEDRIJF', 'Leverancier', 'leveranciers', 'de'); +DEF_FAC_ENTITY ('LEV_LEVERDATUM', 'Leverdatum', 'leverdata', 'de'); +DEF_FAC_ENTITY ('LEV_MLD_KOSTENPOST', 'MZA-nummer', 'MZA-nummers', 'het'); +DEF_FAC_ENTITY ('LEV_BESTELSTATUS', 'Bestelstatus', 'bestelstatussen', 'de'); +DEF_FAC_ENTITY ('LEV_BESTELSTATUS_B', 'Besteld', NULL, NULL); +DEF_FAC_ENTITY ('LEV_BESTELSTATUS_V', 'Geleverd', NULL, NULL); +DEF_FAC_ENTITY ('LEV_BESTELSTATUS_D', 'Deels geleverd', NULL, NULL); +DEF_FAC_ENTITY ('LEV_PRS_PERSLID', 'Contactpersoon', 'contactpersonen', 'de'); +DEF_FAC_ENTITY ('LEV_BESTELLING_TOTAAL', 'Bestelbedrag', 'bestelbedragen', 'het'); +DEF_FAC_ENTITY ('LEV_BESTELLING_BTW', 'BTW-bedrag', 'BTW-bedragen', 'het'); +DEF_FAC_ENTITY ('LEV_BESTELREGEL', 'Regel', 'regels', 'de'); +DEF_FAC_ENTITY ('LEV_BESTELREGEL_AANTAL', 'Aantal', 'aantallen', 'de'); +DEF_FAC_ENTITY ('LEV_BESTELREGEL_TOTAAL', 'Bedrag', 'Bedragen', 'het'); +DEF_FAC_ENTITY ('LEV_CODE_KOLOM1', 'Code1', NULL, NULL); +DEF_FAC_ENTITY ('LEV_CODE_KOLOM2', 'Code2', NULL, NULL); +DEF_FAC_ENTITY ('LEV_CODE_KOLOM3', 'Code3', NULL, NULL); +DEF_FAC_ENTITY ('LEV_CODE_KOLOM4', 'Code4', NULL, NULL); +DEF_FAC_ENTITY ('LEV_AFVOERLIJST', 'Afvoerlijst', 'Afvoerlijsten', 'de'); +DEF_FAC_ENTITY ('LEV_LEVERADRES', 'Afleveradres', 'afleveradressen', 'het'); +DEF_FAC_ENTITY ('LEV_LEVERING', 'Levering', 'Leveringen', 'de'); +DEF_FAC_ENTITY ('LEV_LEVERING_NR', 'Leveringnr.', 'Leveringnummers', 'het'); +DEF_FAC_ENTITY ('LEV_LEVERING_DATUM', 'Leverdatum', 'Leverdata', 'de'); +DEF_FAC_ENTITY ('LEV_LEVERINGREGEL', 'Regel', 'Regels', 'de'); +DEF_FAC_ENTITY ('LEV_LEVERINGREGEL_AANTAL', 'Aantal', 'aantallen', 'het'); +DEF_FAC_ENTITY ('LEV_TOEWIJZEN', 'Toewijzen', NULL, NULL); +DEF_FAC_ENTITY ('LEV_TOEWIJZING_BESTELD', 'Besteld', NULL, NULL); +DEF_FAC_ENTITY ('LEV_TOEWIJZING_GELEVERD', 'Toegewezen', NULL, NULL); +DEF_FAC_ENTITY ('LEV_TOEWIJZING', 'Toewijzing', 'Toewijzingen', 'de'); +DEF_FAC_ENTITY ('LEV_BRUIKLEENBEWIJS', 'Bruikleenbewijs', 'Bruikleenbewijzen', 'het'); +DEF_FAC_ENTITY ('LEV_BRUIKLEEN_NAAM', 'Naam', 'Namen', 'de'); +DEF_FAC_ENTITY ('LEV_BRUIKLEEN_HANDTEKENING', 'Handtekening', 'Handtekeningen', 'de'); +DEF_FAC_ENTITY ('LEV_MAGAZIJN', 'Magazijn', 'Magazijnen', 'het'); +DEF_FAC_ENTITY ('LEV_POSTADRES', 'Factuuradres', NULL, NULL); +DEF_FAC_ENTITY ('LEV_TOEGEWEZEN', 'Toegewezen', NULL, NULL); +DEF_FAC_ENTITY ('LEV_GELEVERD', 'Geleverd', NULL, NULL); +DEF_FAC_ENTITY ('LEV_AFVOERLIJST_00', 'Bruikbaar', NULL, NULL); +DEF_FAC_ENTITY ('LEV_AFVOERLIJST_015', 'Onherstelbaar', NULL, NULL); +DEF_FAC_ENTITY ('LEV_AFVOERLIJST_02', 'Herstelbaar', NULL, NULL); +DEF_FAC_ENTITY ('LEV_AFVOERLIJST_B', 'Via bestelling', NULL, NULL); +DEF_FAC_ENTITY ('LEV_AFVOER_CATEGORIE', 'Afvoercategorie', NULL, NULL); +DEF_FAC_ENTITY ('BESTELLING_OPEN', 'Openstaand', NULL, NULL); +DEF_FAC_ENTITY ('BESTELLING_ALL', 'Alle', NULL, NULL); +DEF_FAC_ENTITY ('BESTELLING_VOL', 'Volledig', NULL, NULL); + + +/* HUI */ +DEF_FAC_ENTITY ('HUI_OVERNACHTING', 'Legering', 'Legeringen', 'de'); +DEF_FAC_ENTITY ('HUI_RESERVERING', 'Reservering', 'Reserveringen', 'de'); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_STATUS', 'Status', 'statussen', 'de'); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_STATUS_R', 'Gereserveerd', NULL, NULL); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_STATUS_B', 'Bezet', NULL, NULL); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_STATUS_V', 'Vertrokken', NULL, NULL); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_STAT_BESCHIK', 'Beschikbaar', NULL, NULL); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_DATUM', 'Datum', 'data', 'de'); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_RESERVEREN', 'Reserveren', NULL, NULL); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_AFMELDEN', 'Afmelden', NULL, NULL); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_AANMELDEN', 'Aanmelden', NULL, NULL); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_VERTREKKEN', 'Vertrekken', NULL, NULL); +DEF_FAC_ENTITY ('HUI_CATEGORIE', 'Categorie', 'Categorieen', 'de'); +DEF_FAC_ENTITY ('HUI_EENHEID', 'Eenheid', 'Eenheden', 'de'); +DEF_FAC_ENTITY ('HUI_GESLACHT', 'Geslacht', 'geslachten', 'het'); +DEF_FAC_ENTITY ('HUI_GESLACHT_MAN', 'Man', 'mannen', 'de'); +DEF_FAC_ENTITY ('HUI_GESLACHT_VROUW', 'Vrouw', 'vrouwen', 'de'); +DEF_FAC_ENTITY ('HUI_GESLACHT_BEIDE', 'Beide', NULL, NULL); +DEF_FAC_ENTITY ('HUI_HUISVESTING', 'Huisvesting', NULL, NULL); +DEF_FAC_ENTITY ('HUI_ROKEN', 'Roken', NULL, NULL); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_BEGINDATUM', 'Begindatum', 'begindata', 'de'); +DEF_FAC_ENTITY ('HUI_OVERNACHTING_EINDDATUM', 'Einddatum', 'einddata', 'de'); +DEF_FAC_ENTITY ('HUI_BRUIKLEEN', 'Bruikleen', NULL, NULL); +DEF_FAC_ENTITY ('HUI_RUIMTEBOEKING', 'Ruimteboeking', 'Ruimteboekingen', 'de'); +DEF_FAC_ENTITY ('HUI_CAPACITEIT', 'Capaciteit', 'Capaciteiten', 'de'); +DEF_FAC_ENTITY ('HUI_SLEUTEL_NR', 'Sleutelnr.', 'Sleutelnummers', 'de'); +DEF_FAC_ENTITY ('HUI_SLAAPPLAATS', 'Slaapplaats', 'Slaapplaatsen', 'de'); +DEF_FAC_ENTITY ('HUI_GESLACHT_M', 'Man', NULL, 'de'); +DEF_FAC_ENTITY ('HUI_GESLACHT_M_S', 'Mannen', NULL, 'de'); +DEF_FAC_ENTITY ('HUI_GESLACHT_V', 'Vrouw', NULL, 'de'); +DEF_FAC_ENTITY ('HUI_GESLACHT_V_S', 'Vrouwen', NULL, 'de'); +DEF_FAC_ENTITY ('HUI_OPSCHONEN', 'Opschonen', NULL, 'het'); +DEF_FAC_ENTITY ('HUI_BRUIKLEEN_CLUSTER', 'Cluster', 'clusters', 'het'); +DEF_FAC_ENTITY ('HUI_BRUIKLEEN_KAMER', 'Kamer', 'kamers', 'de'); +DEF_FAC_ENTITY ('HUI_RAPPORT_VRIJ', 'Vrij', NULL, NULL); +DEF_FAC_ENTITY ('HUI_RUIMTEBOEKING_BEGIN', 'Begin', NULL, NULL); +DEF_FAC_ENTITY ('HUI_RUIMTEBOEKING_EIND', 'Eind', NULL, NULL); +DEF_FAC_ENTITY ('HUI_RAPPORT_DATUM', 'Datum', NULL, NULL); +DEF_FAC_ENTITY ('HUI_RAPPORT_OP', ' op ', NULL, NULL); +DEF_FAC_ENTITY ('HUI_CATEGORIE_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('HUI_BESTEMD_VOOR', 'Bestemd voor', NULL, NULL); +DEF_FAC_ENTITY ('HUI_SLAAPRUIMTE', 'Slaapruimte', 'Slaapruimtes', 'de'); +DEF_FAC_ENTITY ('HUI_FREQUENTIE', 'Frequentie', 'Frequenties', 'de'); +DEF_FAC_ENTITY ('HUI_FREQUENTIE_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('HUI_FREQUENTIE_DAGEN', 'Dagen', NULL, 'de'); +DEF_FAC_ENTITY ('HUI_BEZETTING', 'Bezetting', NULL, NULL); + +DEF_FAC_ENTITY ('PER_KWARTAAL', 'Per kwartaal', NULL, NULL); +DEF_FAC_ENTITY ('PER_JAAR', 'Per jaar', NULL, NULL); + +#ifdef BIS +DEF_FAC_ENTITY ('BIS_STOFGROEP_HUMUS', 'Humus', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOFGROEP_LUTUM', 'Lutum', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOFGROEP_OG', 'Ondergrens (%)', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOFGROEP_BG', 'Bovengrens (%)', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOFGROEP', 'Stofgroep', 'Stofgroepen', 'de'); +DEF_FAC_ENTITY ('BIS_STOFGROEP_OMSCHRIJVING', 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOF', 'Stof', 'Stoffen', 'de'); +DEF_FAC_ENTITY ('BIS_STOF_GROND','Grond', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOF_GRONDWATER','Grondwater', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOF_STREEFWAARDE','Streefwaarde', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOF_INTERVENTIEWAARDE','Interventie', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOF_A', 'A', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOF_B', 'B', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOF_C', 'C', NULL, NULL); +DEF_FAC_ENTITY ('BIS_STOF_OPMERKING', 'Opmerking', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BIJMENGING' , 'Bijmenging', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BIJMENGING_CODE' , 'Code', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BIJMENGING_NAAM' , 'Naam', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BIJMENGING_OMSCHR' , 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BIJZONDERHEID' , 'Bijzonderheid', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BIJZONDERHEID_CODE', 'Code', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BIJZONDERHEID_OMSCHR', 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('BIS_EENHEID' , 'Eenheid', NULL, NULL); +DEF_FAC_ENTITY ('BIS_EENHEID_CODE' , 'Code', NULL, NULL); +DEF_FAC_ENTITY ('BIS_EENHEID_OMSCHR' , 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('BIS_GEUR' , 'Geur', NULL, NULL); +DEF_FAC_ENTITY ('BIS_GEUR_CODE' , 'Code', NULL, NULL); +DEF_FAC_ENTITY ('BIS_GEUR_OMSCHR' , 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('BIS_GEURGRADATIE' , 'geurgradatie', NULL, NULL); +DEF_FAC_ENTITY ('BIS_GEURGRADATIE_CODE' , 'Code', NULL, NULL); +DEF_FAC_ENTITY ('BIS_GEURGRADATIE_OMSCHR', 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('BIS_KLEUR' , 'Kleur', NULL, NULL); +DEF_FAC_ENTITY ('BIS_KLEUR_CODE' , 'Code', NULL, NULL); +DEF_FAC_ENTITY ('BIS_KLEUR_OMSCHR' , 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('BIS_KLEURGRADATIE' , 'Kleurgradatie', NULL, NULL); +DEF_FAC_ENTITY ('BIS_KLEURGRADATIE_CODE', 'Code', NULL, NULL); +DEF_FAC_ENTITY ('BIS_KLEURGRADATIE_OMSCHR', 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('BIS_ANALYSEPAKKET' , 'Analysepakket', NULL, NULL); +DEF_FAC_ENTITY ('BIS_ANALYSEPAKKET_CODE', 'Code', NULL, NULL); +DEF_FAC_ENTITY ('BIS_ANALYSEPAKKET_OMSCHR', 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('BIS_ANALYSEMETHODE', 'Analysemethode', NULL, NULL); +DEF_FAC_ENTITY ('BIS_ANALYSEMETHODE_DETECTIE', 'Detectiewaarde', NULL, NULL); +DEF_FAC_ENTITY ('BIS_CODE', 'Code', NULL, NULL); +DEF_FAC_ENTITY ('BIS_OMSCHRIJVING', 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('BIS_ANALYSEMETHODE_PRIO', 'Prioriteit', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BORINGTYPE' , 'Boringtype', NULL, NULL); +DEF_FAC_ENTITY ('BIS_SLEUTELGEGEVENS' , 'Sleutelgegevens', NULL, NULL); +DEF_FAC_ENTITY ('BIS_SUBLOCATIE' , 'Sublocatie', NULL, NULL); +DEF_FAC_ENTITY ('BIS_PROJECT' , 'Project', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BORING' , 'Boring', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BORNUMMER' , 'Nummer', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BOROPMERKING' , 'Opmerking', NULL, NULL); +DEF_FAC_ENTITY ('BIS_DATUM' , 'Datum', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BEGINDATUM' , 'Begin', NULL, NULL); +DEF_FAC_ENTITY ('BIS_EINDDATUM' , 'Eind', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BEGINDATE2' , 'Begindatum', NULL, NULL); +DEF_FAC_ENTITY ('BIS_EINDDATE2' , 'Einddatum', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BEGINDIEPTE' , 'Begin', NULL, NULL); +DEF_FAC_ENTITY ('BIS_EINDDIEPTE' , 'Eind', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BEGINDEEP' , 'Begindiepte', NULL, NULL); +DEF_FAC_ENTITY ('BIS_EINDDEEP' , 'Einddiepte', NULL, NULL); +DEF_FAC_ENTITY ('BIS_PH' , 'pH', NULL, NULL); +DEF_FAC_ENTITY ('BIS_EC' , 'EC', NULL, NULL); +DEF_FAC_ENTITY ('BIS_METERS_AFKORT' , '(m)', NULL, NULL); +DEF_FAC_ENTITY ('BIS_MAAIVELD' , '- MV', NULL, NULL); +DEF_FAC_ENTITY ('BIS_PBHOOGTE' , 'Hoogte', NULL, NULL); +DEF_FAC_ENTITY ('BIS_GRONDWATER' , 'Grondwaterstand', NULL, NULL); +DEF_FAC_ENTITY ('BIS_VOLGENDE' , 'Volgende', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BEMONSTERING' , 'bemonstering', NULL, NULL); +DEF_FAC_ENTITY ('BIS_TOVMAAIVELD' , 'meter t.o.v. MV', NULL, NULL); +DEF_FAC_ENTITY ('BIS_GETEKEND' , 'Getekend', NULL, NULL); +DEF_FAC_ENTITY ('BIS_VELD' , 'Veld', NULL, NULL); +DEF_FAC_ENTITY ('BIS_BODEMPROFIEL' , 'Bodemprofiel', NULL, NULL); +DEF_FAC_ENTITY ('BIS_SONDERING' , 'Sondering', NULL, NULL); +DEF_FAC_ENTITY ('BIS_TEXTUUR' , 'Textuur', NULL, NULL); +DEF_FAC_ENTITY ('BIS_TEXTUURGROOTTE' , 'Textuur Grootte', NULL, NULL); +DEF_FAC_ENTITY ('BIS_PLAATS_GRAFISCH' , 'Grafisch', NULL, NULL); +DEF_FAC_ENTITY ('BIS_GRAFIEK' , 'Grafiek...', NULL, NULL); + +#endif // BIS + +/* + * + * The MESSAGES OF ALL MODULES + * + */ + +/* FAC */ +DEF_FAC_MESSAGE ('fac_m001', 'Printvoorbeeld'); +#ifdef BCO +DEF_FAC_MESSAGE ('fac_m002', 'BCO 2.0'); +DEF_FAC_MESSAGE ('fac_m003', 'U heeft geen rechten om BCO te gebruiken.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('fac_m002', 'Bebis 2.0'); +DEF_FAC_MESSAGE ('fac_m003', 'U heeft geen rechten om Bebis te gebruiken.'); +#elif defined(MRA) +DEF_FAC_MESSAGE ('fac_m002', 'MARS 2.0'); +DEF_FAC_MESSAGE ('fac_m003', 'U heeft geen rechten om MARS te gebruiken.'); +#elif defined(LEV) +DEF_FAC_MESSAGE ('fac_m002', 'ServiceDesk 2.0'); +DEF_FAC_MESSAGE ('fac_m003', 'U heeft geen rechten om ServiceDesk te gebruiken.'); +#elif defined(BIS) +DEF_FAC_MESSAGE ('fac_m002', 'Bodem Informatie Systeem 2.0'); +DEF_FAC_MESSAGE ('fac_m003', 'U heeft geen rechten om BIS te gebruiken.'); +#elif defined(AKZ) +DEF_FAC_MESSAGE ('fac_m002', 'GMS 2.0'); +DEF_FAC_MESSAGE ('fac_m003', 'U heeft geen rechten om GMS te gebruiken.'); +#else +DEF_FAC_MESSAGE ('fac_m002', 'Facilitor 2.0'); +DEF_FAC_MESSAGE ('fac_m003', 'U heeft geen rechten om Facilitor te gebruiken.'); +#endif +DEF_FAC_MESSAGE ('fac_m004', 'Er is een probleem opgetreden bij het opstarten van '); +DEF_FAC_MESSAGE ('fac_m005', 'Copyright (c) 1996-1998, Dijkoraad IT bv'); +DEF_FAC_MESSAGE ('fac_m006', 'Geinstalleerde modules:'); +DEF_FAC_MESSAGE ('fac_m007', 'Uitvoer Rapportage'); +DEF_FAC_MESSAGE ('fac_m008', 'Bestandsnaam is niet ingevuld.'); +DEF_FAC_MESSAGE ('fac_m009', 'Bestandsnaam is ongeldig.'); +DEF_FAC_MESSAGE ('fac_m010', 'Directory is niet ingevuld.'); +DEF_FAC_MESSAGE ('fac_m011', 'Directory is ongeldig.'); +DEF_FAC_MESSAGE ('fac_m012', 'Er zijn geen velden ingevuld.'); +DEF_FAC_MESSAGE ('FAC_M013', 'Verwijderen gebruiker'); +DEF_FAC_MESSAGE ('FAC_M014', 'Verwijderen gebruiker %1%?'); +DEF_FAC_MESSAGE ('FAC_M015', 'De huidige gebruiker mag niet verwijderd worden.'); +DEF_FAC_MESSAGE ('FAC_M016', 'Dit scherm mag alleen gebruikt worden door een gebruiker met DBA-rechten'); +DEF_FAC_MESSAGE ('FAC_M017', 'De naam van de gebruiker is niet ingevuld.'); +DEF_FAC_MESSAGE ('FAC_M018', 'Het wachtwoord van de gebruiker is niet ingevuld.'); +DEF_FAC_MESSAGE ('FAC_M019', 'De bevestiging van het wachtwoord is niet correct.'); +DEF_FAC_MESSAGE ('FAC_M020', 'De rol van de gebruiker is niet ingevuld.'); +DEF_FAC_MESSAGE ('FAC_M021', 'U heeft niet genoeg rechten voor deze functie.'); +DEF_FAC_MESSAGE ('FAC_M022', 'De SQLPlus-setting in %1% is niet goed.'); +DEF_FAC_MESSAGE ('FAC_M023', 'De SQLScriptDir-setting in %1% is niet goed.'); +DEF_FAC_MESSAGE ('FAC_M024', 'De LogDir-setting in %1% is niet goed.'); +DEF_FAC_MESSAGE ('FAC_M025', 'Gebruiker ''%1%'''); + +/* ALG */ +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m001', 'Omschrijving voor de directie is niet ingevuld.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m001', 'Omschrijving voor het RMC is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('alg_m001', 'Omschrijving voor de regio is niet ingevuld.'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m002', 'Omschrijving voor de directie bestaat al.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m002', 'Omschrijving voor het RMC bestaat al.'); +#else +DEF_FAC_MESSAGE ('alg_m002', 'Omschrijving voor de regio bestaat al.'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m004', 'Directie is niet opgegeven voor de dienstkring.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m004', 'RMC is niet opgegeven voor het garnizoen.'); +#else +DEF_FAC_MESSAGE ('alg_m004', 'Regio is niet opgegeven voor het district.'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m005', 'Directie bestaat niet.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m005', 'RMC bestaat niet.'); +#else +DEF_FAC_MESSAGE ('alg_m005', 'Regio bestaat niet.'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m006', 'Omschrijving voor de dienstkring is niet ingevuld.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m006', 'Omschrijving voor het garnizoen is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('alg_m006', 'Omschrijving voor het district is niet ingevuld.'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m007', 'Omschrijving voor de dienstkring bestaat al.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m007', 'Omschrijving voor het garnizoen bestaat al.'); +#else +DEF_FAC_MESSAGE ('alg_m007', 'Omschrijving voor het district bestaat al.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m009', 'Verwijderen is niet toegestaan, er zijn nog objectgroepen.'); +#else +DEF_FAC_MESSAGE ('alg_m009', 'Verwijderen is niet toegestaan, er zijn nog locatiegroepen.'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m010', 'Dienstkring is niet opgegeven voor dit object.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m010', 'Garnizoen is niet opgegeven voor dit object.'); +#else +DEF_FAC_MESSAGE ('alg_m010', 'District is niet opgegeven voor deze locatie.'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m011', 'Dienstkring bestaat niet.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m011', 'Garnizoen bestaat niet.'); +#else +DEF_FAC_MESSAGE ('alg_m011', 'District bestaat niet.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m012', 'Omschrijving voor het object bestaat al.'); +#else +DEF_FAC_MESSAGE ('alg_m012', 'Omschrijving voor de locatie bestaat al.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m013', 'Objectgroep is niet opgegeven voor dit object.'); +#else +DEF_FAC_MESSAGE ('alg_m013', 'Locatiegroep is niet opgegeven voor deze locatie.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m014', 'Objectgroep bestaat niet.'); +#else +DEF_FAC_MESSAGE ('alg_m014', 'Locatiegroep bestaat niet.'); +#endif +DEF_FAC_MESSAGE ('alg_m015', 'Gebouw bestaat niet.'); +DEF_FAC_MESSAGE ('alg_m016', 'Bouwlaag bestaat niet.'); +DEF_FAC_MESSAGE ('alg_m017', 'Ruimte bestaat niet.'); +DEF_FAC_MESSAGE ('alg_m019', 'Verwijderen is niet toegestaan, er zijn nog terreinsoorten.'); +DEF_FAC_MESSAGE ('alg_m020', 'Omschrijving voor gebouwsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('alg_m021', 'Omschrijving voor gebouwsoort bestaat al.'); +DEF_FAC_MESSAGE ('alg_m022', 'Verwijderen is niet toegestaan, deze gebouwsoort komt nog voor.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m023', 'Object is niet opgegeven voor dit gebouw.'); +#else +DEF_FAC_MESSAGE ('alg_m023', 'Locatie is niet opgegeven voor dit gebouw.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m024', 'Object bestaat al.'); +#else +DEF_FAC_MESSAGE ('alg_m024', 'Locatie bestaat al.'); +#endif +DEF_FAC_MESSAGE ('alg_m025', 'Gebouwcode voor dit gebouw is niet ingevuld.'); +DEF_FAC_MESSAGE ('alg_m026', 'Gebouwcode voor dit gebouw bestaat al.'); +DEF_FAC_MESSAGE ('alg_m027', 'Gebouwsoort bestaat niet.'); +DEF_FAC_MESSAGE ('alg_m028', 'Bruto vloeroppervlakte moet een positieve waarde bevatten.'); +DEF_FAC_MESSAGE ('alg_m029', 'Inhoud van het gebouw moet een positieve waarde bevatten.'); +DEF_FAC_MESSAGE ('alg_m030', 'Sector onderhoudsinterval moet groter dan 0 zijn en kleiner dan 17.'); +DEF_FAC_MESSAGE ('alg_m032', 'Verwijderen is niet toegestaan.'); +DEF_FAC_MESSAGE ('alg_m033', 'Gebouw is niet opgegeven voor deze bouwlaag.'); +DEF_FAC_MESSAGE ('alg_m034', 'Omschrijving voor de bouwlaag is niet ingevuld.'); +DEF_FAC_MESSAGE ('alg_m035', 'Omschrijving voor de bouwlaag bestaat al.'); +DEF_FAC_MESSAGE ('alg_m036', 'Volgnummer voor de bouwlaag is niet ingevuld.'); +DEF_FAC_MESSAGE ('alg_m038', 'Verwijderen is niet toegestaan.'); +DEF_FAC_MESSAGE ('alg_m039', 'Omschrijving voor de ruimtesoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('alg_m040', 'Omschrijving voor de ruimtesoort bestaat al.'); +DEF_FAC_MESSAGE ('alg_m041', 'Verwijderen is niet toegestaan, deze ruimtesoort komt nog voor.'); +DEF_FAC_MESSAGE ('alg_m042', 'Bouwlaag is niet opgegeven voor deze ruimte.'); +DEF_FAC_MESSAGE ('alg_m043', 'Ruimtenummer is niet ingevuld.'); +DEF_FAC_MESSAGE ('alg_m044', 'Ruimtenummer bestaat al.'); +DEF_FAC_MESSAGE ('alg_m045', 'Ruimtesoort bestaat al.'); +DEF_FAC_MESSAGE ('alg_m046', 'Bruto vloeroppervlakte voor de ruimte moet een positieve waarde bevatten.'); +DEF_FAC_MESSAGE ('alg_m047', 'Inhoud van de ruimte moet een positieve waarde bevatten.'); +DEF_FAC_MESSAGE ('alg_m048', 'Verwijderen is niet toegestaan.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m049', 'Omschrijving voor het object is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('alg_m049', 'Omschrijving voor de locatie is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('alg_m050', 'Bruto vloeroppervlakte voor het gebouw is niet ingevuld.'); +DEF_FAC_MESSAGE ('alg_m051', 'Gebouw sector is niet ingevuld.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m052', 'Objectcode is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('alg_m052', 'Locatiecode is niet ingevuld.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m053', 'Objectcode bestaat al.'); +#else +DEF_FAC_MESSAGE ('alg_m053', 'Locatiecode bestaat al.'); +#endif +DEF_FAC_MESSAGE ('alg_m054', 'Bouwlaag kan niet worden verwijderd.'); +DEF_FAC_MESSAGE ('alg_m055', 'Ruimte kan niet worden verwijderd.'); +DEF_FAC_MESSAGE ('alg_m060', 'Er zijn geen records gevonden.'); +DEF_FAC_MESSAGE ('alg_m061', 'Er zijn gegevens veranderd, wilt u deze gegevens bewaren?'); +DEF_FAC_MESSAGE ('alg_m062', 'SYSTEM_WHERE mag niet in EDIT-mode gebruikt worden.'); +DEF_FAC_MESSAGE ('alg_m063', 'Wilt u de gegevens verwijderen.'); +/* 29-07-96/KTH alg_m064 is obsolete */ +/* DEF_FAC_MESSAGE ('alg_m064', 'alg_m064'); */ +DEF_FAC_MESSAGE ('alg_m065', 'Er zijn ook referenties die verwijderd worden.'); +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m066', 'Verwijderen Directie'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m066', 'Verwijderen RMC'); +#else +DEF_FAC_MESSAGE ('alg_m066', 'Verwijderen Regio'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m067', ' bevat dienstkringen. Doorgaan?'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m067', ' bevat garnizoenen. Doorgaan?'); +#else +DEF_FAC_MESSAGE ('alg_m067', ' bevat districten. Doorgaan?'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m068', 'Verwijderen Directie '); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m068', 'Verwijderen RMC '); +#else +DEF_FAC_MESSAGE ('alg_m068', 'Verwijderen Regio '); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m069', 'Verwijderen Dienstkring'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m069', 'Verwijderen Garnizoen'); +#else +DEF_FAC_MESSAGE ('alg_m069', 'Verwijderen District'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m070', ' bevat objecten. Doorgaan?'); +#else +DEF_FAC_MESSAGE ('alg_m070', ' bevat locaties. Doorgaan?'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('alg_m071', 'Verwijderen Dienstkring '); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m071', 'Verwijderen Garnizoen '); +#else +DEF_FAC_MESSAGE ('alg_m071', 'Verwijderen District '); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m072', 'Verwijderen Object'); +#else +DEF_FAC_MESSAGE ('alg_m072', 'Verwijderen Locatie'); +#endif +DEF_FAC_MESSAGE ('alg_m073', ' bevat gebouwen. Doorgaan?'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m074', 'Verwijderen Object '); +#else +DEF_FAC_MESSAGE ('alg_m074', 'Verwijderen Locatie '); +#endif +DEF_FAC_MESSAGE ('alg_m075', 'De waarden moeten uniek zijn.'); +DEF_FAC_MESSAGE ('alg_m076', 'Er zijn waarden niet ingevuld.'); +DEF_FAC_MESSAGE ('alg_m077', 'Verwijderen Gebouw'); +DEF_FAC_MESSAGE ('alg_m078', ' bevat bouwlagen. Doorgaan?'); +#ifdef INR +DEF_FAC_MESSAGE ('alg_m079', 'Verwijderen Gebouw %1%, inclusief delen'); +#else +DEF_FAC_MESSAGE ('alg_m079', 'Verwijderen Gebouw %1%'); +#endif +DEF_FAC_MESSAGE ('alg_m080', 'Verwijderen Bouwlaag'); +DEF_FAC_MESSAGE ('alg_m081', ' bevat ruimtes. Doorgaan?'); +#ifdef INR +DEF_FAC_MESSAGE ('alg_m082', 'Verwijderen Bouwlaag %1%, inclusief delen'); +#else +DEF_FAC_MESSAGE ('alg_m082', 'Verwijderen Bouwlaag %1%'); +#endif +DEF_FAC_MESSAGE ('alg_m083', 'Verwijderen Ruimte'); +DEF_FAC_MESSAGE ('alg_m084', ' bevat . Doorgaan?'); +#ifdef INR +DEF_FAC_MESSAGE ('alg_m085', 'Verwijderen Ruimte %1%, inclusief delen'); +#else +DEF_FAC_MESSAGE ('alg_m085', 'Verwijderen Ruimte %1%'); +#endif +DEF_FAC_MESSAGE ('alg_m086', 'Verwijderen Gebouwsoort '); +DEF_FAC_MESSAGE ('alg_m087', 'Verwijderen Ruimtesoort '); +DEF_FAC_MESSAGE ('alg_m088', 'Gebouwsoort voor dit gebouw is niet ingevuld.'); +DEF_FAC_MESSAGE ('alg_m089', 'Ruimtesoort voor deze ruimte is niet ingevuld.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('alg_m090', 'Het gebouw, de bouwlaag, de ruimte of het systeemcluster bestaat niet.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('alg_m090', 'Het gebouw, de bouwlaag, de ruimte of het terrein/werk bestaat niet.'); +#else +DEF_FAC_MESSAGE ('alg_m090', 'Het gebouw, de bouwlaag, de ruimte of de terreinsector bestaat niet.'); +#endif // MRA +DEF_FAC_MESSAGE ('alg_m091', 'Volgnummer voor deze bouwlaag is niet uniek.'); +DEF_FAC_MESSAGE ('alg_m092', 'Omschrijving voor de ruimte is niet ingevuld.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m093', 'Tekening voor dit object is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('alg_m093', 'Tekening voor deze locatie is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('alg_m094', 'Tekening voor deze bouwlaag is niet ingevuld.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('alg_m095', 'Object moet gekozen zijn.'); +#else +DEF_FAC_MESSAGE ('alg_m095', 'Locatie moet gekozen zijn.'); +#endif +DEF_FAC_MESSAGE ('alg_m096', 'Bouwlaag moet gekozen zijn.'); +DEF_FAC_MESSAGE ('alg_m097', 'Referentie naar de tekening is onbekend voor dit gebouw.'); +DEF_FAC_MESSAGE ('alg_m098', 'Referentie naar de tekening is onbekend voor deze ruimte.'); +DEF_FAC_MESSAGE ('alg_m099', 'Fout opgetreden tijdens communicatie met AutoCAD.'); +DEF_FAC_MESSAGE ('alg_m100', 'Fout opgetreden tijdens het opstarten van AutoCAD.'); +DEF_FAC_MESSAGE ('alg_m101', 'Fout opgetreden tijdens het lezen van file FCLT.INI.'); +DEF_FAC_MESSAGE ('alg_m102', 'File DDE_SRVR.DLL niet gevonden.'); +DEF_FAC_MESSAGE ('alg_m103', 'Referentie naar de database is onbekend voor het geselecteerde gebouw.'); +DEF_FAC_MESSAGE ('alg_m104', 'Referentie naar de database is onbekend voor de geselecteerde ruimte.'); +DEF_FAC_MESSAGE ('alg_m105', 'Waarde %1% voldoet niet aan formaat %2%.'); +DEF_FAC_MESSAGE ('alg_m106', 'Printer'); +DEF_FAC_MESSAGE ('alg_m107', 'Uitvoer naar scherm of printer?'); +DEF_FAC_MESSAGE ('alg_m108', 'Datum %1% moet van formaat %2% zijn.'); +DEF_FAC_MESSAGE ('alg_m109', 'Er zijn nog referenties naar deze gegevens, verwijderen gaat niet.'); +DEF_FAC_MESSAGE ('alg_m110', 'Er is een database controle die fout gaat.'); +DEF_FAC_MESSAGE ('alg_m111', 'Het rapport is geprint.'); +DEF_FAC_MESSAGE ('alg_m112', 'Er is een fout opgetreden tijdens het printen.'); +/* KTH 12-01-96 Er is een beperking van de lengtes voor alg_m113 t/m alg_m124 + * De volgende twee eisen gelden ivm. de maximaal te displayen + * message_text voor een alert: + * - lengte van alg_m114..alg_m119+alg_m122+alg_m124 plus + * 5x3 (voor de te displayen getallen achter de :-tekens) plus + * 7 keer een CHR(10) moet <= 200 zijn + * - lengte van alg_m114+alg_m119..alg_121+alg_m123..alg_m124 plus + * 3x3 (voor de te displayen getallen achter de :-tekens) plus + * 5 keer een CHR(10) moet <= 200 zijn + */ +DEF_FAC_MESSAGE ('alg_m113', 'Bevestiging import'); +DEF_FAC_MESSAGE ('alg_m114', 'Resultaat van import:'); +DEF_FAC_MESSAGE ('alg_m115', '- gebouwen verwijderd: '); +DEF_FAC_MESSAGE ('alg_m116', '- gebouwen geupdate: '); +DEF_FAC_MESSAGE ('alg_m117', '- gebouwen toegevoegd: '); +DEF_FAC_MESSAGE ('alg_m118', '- bouwlagen verwijderd: '); +DEF_FAC_MESSAGE ('alg_m119', '- ruimtes verwijderd: '); +DEF_FAC_MESSAGE ('alg_m120', '- ruimtes geupdate: '); +DEF_FAC_MESSAGE ('alg_m121', '- ruimtes toegevoegd: '); +DEF_FAC_MESSAGE ('alg_m122', '(dubbele gebouwen gevonden!)'); +DEF_FAC_MESSAGE ('alg_m123', '(dubbele ruimtes gevonden!)'); +DEF_FAC_MESSAGE ('alg_m124', 'Import doorvoeren?'); +#if defined(MRA) +DEF_FAC_MESSAGE ('alg_m125', 'Omschrijving voor het systeemcluster is niet ingevuld.' ); +#elif defined(BEB) +DEF_FAC_MESSAGE ('alg_m125', 'Omschrijving voor het terrein/werk is niet ingevuld.' ); +#else +DEF_FAC_MESSAGE ('alg_m125', 'Omschrijving voor de terreinsector is niet ingevuld.' ); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('alg_m126', 'Omschrijving voor het systeemcluster bestaat al.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('alg_m126', 'Omschrijving voor het terrein/werk bestaat al.'); +#else +DEF_FAC_MESSAGE ('alg_m126', 'Omschrijving voor de terreinsector bestaat al.'); +#endif // MRA +DEF_FAC_MESSAGE ('alg_m127', 'Directory '); +DEF_FAC_MESSAGE ('alg_m128', 'File '); +DEF_FAC_MESSAGE ('alg_m129', ' kan niet worden verwijderd.'); +DEF_FAC_MESSAGE ('alg_m130', ' kan niet worden aangemaakt.'); +DEF_FAC_MESSAGE ('alg_m131', ' kan niet worden hernoemd tot '); +DEF_FAC_MESSAGE ('alg_m132', ' kan niet worden gecopieerd naar '); +DEF_FAC_MESSAGE ('alg_m133', 'Import is geannuleerd.'); +DEF_FAC_MESSAGE ('alg_m134', 'Dit record is niet meer actueel.'); +DEF_FAC_MESSAGE ('alg_m135', 'Tijd moet van het formaat HH:MM zijn.'); +DEF_FAC_MESSAGE ('alg_m136', 'Deze soort ruimte kan geen werkplekken bevatten.'); +DEF_FAC_MESSAGE ('alg_m137', 'Bevat werkplekken Ja/Nee'); +DEF_FAC_MESSAGE ('alg_m138', 'Bij ruimtes van dit soort horen nog werkplekken.'); +DEF_FAC_MESSAGE ('alg_m139',' Inconsistente tekening'); +DEF_FAC_MESSAGE ('alg_m140', 'De tekening is niet consistent met de database.'); +DEF_FAC_MESSAGE ('alg_m141', 'Wilt u de tekening nu aanpassen?'); +DEF_FAC_MESSAGE ('alg_m142', 'DEBUG: Overzicht tekening'); /* geldt ook voor 143..7 */ +DEF_FAC_MESSAGE ('alg_m143', 'De volgende gegevens komen in de tekening:'); +DEF_FAC_MESSAGE ('alg_m144', '- inventaris bij ruimtes: '); +DEF_FAC_MESSAGE ('alg_m145', '- werkplekken: '); +DEF_FAC_MESSAGE ('alg_m146', '- inventaris bij werkplekken: '); +DEF_FAC_MESSAGE ('alg_m147', 'Tekening aanpassen?'); +DEF_FAC_MESSAGE ('alg_m148', 'Er komen geen gegevens in de tekening.'); +DEF_FAC_MESSAGE ('alg_m149', 'De tekening die geladen wordt is niet consistent met de database.'); +DEF_FAC_MESSAGE ('alg_m150', 'Ruimte moet gekozen zijn.'); +DEF_FAC_MESSAGE ('alg_m151', 'Gebouw moet gekozen zijn.'); +DEF_FAC_MESSAGE ('alg_m152', 'Interne fout in table volgnummer: Ontbrekende soort'); +#if defined(MRA) +DEF_FAC_MESSAGE ('alg_m153', 'Code van het systeemcluster is niet ingevuld'); +#else +DEF_FAC_MESSAGE ('alg_m153', 'Code is niet ingevuld'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('alg_m154', 'Naam van het systeemcluster is niet ingevuld'); +#else +DEF_FAC_MESSAGE ('alg_m154', 'Naam is niet ingevuld'); +#endif // MRA +#if defined(LEV)||defined(HUI) +DEF_FAC_MESSAGE ('ALG_M155', 'De omschrijving van het MZA is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M156', 'Het jaar van het MZA is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('ALG_M155', 'De omschrijving van de kostenpost is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M156', 'Het jaar van de kostenpost is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('ALG_M157', 'Doorgaan?'); +DEF_FAC_MESSAGE ('alg_M158', 'Sector is niet ingevuld.'); +#ifdef INR +DEF_FAC_MESSAGE ('ALG_M159', 'De geselecteerde ruimtes, inclusief delen verwijderen'); +#else +DEF_FAC_MESSAGE ('ALG_M159', 'De geselecteerde ruimtes verwijderen'); +#endif +DEF_FAC_MESSAGE ('ALG_M160', 'Er zijn geen ruimtes geselecteerd.'); +DEF_FAC_MESSAGE ('ALG_M161', 'Gebouwnaam is niet ingevuld.'); + +DEF_FAC_MESSAGE ('ALG_M162', 'Verwijderen objectdeel '); +DEF_FAC_MESSAGE ('ALG_M163', 'Verwijderen systeemcluster '); +#if defined(BEB) +DEF_FAC_MESSAGE ('ALG_M164', 'Gebouw/Terrein/Werk bij systeemcluster'); +#else +DEF_FAC_MESSAGE ('ALG_M164', 'Gebouw/Terreinsector bij systeemcluster'); +#endif +#if defined(BEB) +DEF_FAC_MESSAGE ('ALG_M165', 'Verwijderen gebouw/terrein/werk bij systeemcluster '); +#else +DEF_FAC_MESSAGE ('ALG_M165', 'Verwijderen gebouw/terreinsector bij systeemcluster '); +#endif +DEF_FAC_MESSAGE ('ALG_M166', 'Bouwlaag bij bouwdeel'); +DEF_FAC_MESSAGE ('ALG_M167', 'Verwijderen bouwlaag bij bouwdeel '); +DEF_FAC_MESSAGE ('ALG_M168', 'De omschrijving van het objectdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M169', 'Het objectdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M170', 'De omschrijving van het systeemcluster is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M171', 'Het gebouw is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M172', 'De omschrijving van het bouwdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M173', 'Het systeemcluster is niet ingevuld.'); +#if defined(BEB) +DEF_FAC_MESSAGE ('ALG_M174', 'Gebouw of terrein/werk is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M175', 'Gebouw en terrein/werk kunnen niet beide ingevuld worden.'); +#else +DEF_FAC_MESSAGE ('ALG_M174', 'Gebouw of terreinsector is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M175', 'Gebouw en terreinsector kunnen niet beide ingevuld worden.'); +#endif +DEF_FAC_MESSAGE ('ALG_M176', 'Bouwdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M177', 'Bouwlaag is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M178', 'Verwijderen bouwdeel '); +DEF_FAC_MESSAGE ('ALG_M179', 'De RMC is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M180', 'Object bij garnizoen'); +DEF_FAC_MESSAGE ('ALG_M181', 'Verwijderen object bij garnizoen '); +DEF_FAC_MESSAGE ('ALG_M182', 'Er zijn nog gebouw gekoppeld aan het systeemcluster.'); +DEF_FAC_MESSAGE ('ALG_M183', 'Er zijn nog bouwlagen gekoppeld aan het bouwdeel.'); +DEF_FAC_MESSAGE ('ALG_M184', 'Er zijn nog bouwdelen gekoppeld aan het gebouw.'); +DEF_FAC_MESSAGE ('ALG_M185', 'Er zijn nog objectdelen gekoppeld aan het object.'); +DEF_FAC_MESSAGE ('ALG_M186', 'Het veld moet van formaat MMJJJJ zijn.'); +DEF_FAC_MESSAGE ('ALG_M187', 'De waarde mag niet gewijzigd worden.'); +DEF_FAC_MESSAGE ('ALG_M188', 'Object %1% behoort nu tot garnizoen %2%. Doorgaan?'); +DEF_FAC_MESSAGE ('ALG_M189', 'Gebouw %1% behoort nu tot systeemcluster %2%. Doorgaan?'); +DEF_FAC_MESSAGE ('ALG_M190', 'Terrein/Werk %1% behoort nu tot systeemcluster %2%. Doorgaan?'); +DEF_FAC_MESSAGE ('ALG_M191', 'Bouwlaag %1% behoort nu tot bouwdeel %2%. Doorgaan?'); +DEF_FAC_MESSAGE ('ALG_M192', 'Het huidige record is gewijzigd door iemand anders'); +DEF_FAC_MESSAGE ('ALG_M193', 'Het garnizoen is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M194', 'Deze functie is niet toegestaan met meerdere geselecteerde records'); +#if defined(BEB) +DEF_FAC_MESSAGE ('ALG_M196', 'Er zijn nog terreinen/werken gekoppeld aan het terrein/werksoort.'); +#else +DEF_FAC_MESSAGE ('ALG_M196', 'Er zijn nog terreinsectoren gekoppeld aan het terreinsoort.'); +#endif +#if defined(BEB) +DEF_FAC_MESSAGE ('ALG_M197', 'De dienstkringcode is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('ALG_M197', 'De districtcode is niet ingevuld.'); +#endif +#if defined(BEB) +DEF_FAC_MESSAGE ('ALG_M198', 'Verwijderen Terrein/Werksoort'); +DEF_FAC_MESSAGE ('ALG_M199', 'Verwijderen Terrein/Werksoort %1%?'); +#else +DEF_FAC_MESSAGE ('ALG_M198', 'Verwijderen Terreinsoort'); +DEF_FAC_MESSAGE ('ALG_M199', 'Verwijderen Terreinsoort %1%?'); +#endif +DEF_FAC_MESSAGE ('ALG_M200', 'Objectcode is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M201', 'Systeemclustercode is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M202', 'Bouwdeelcode is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M203', 'Omschrijving is niet ingevuld.'); +#ifdef BEB +DEF_FAC_MESSAGE ('ALG_M204', 'Er zijn nog bouwlagen gekoppeld aan de verdiepingsoort.'); +#else +DEF_FAC_MESSAGE ('ALG_M204', 'Er zijn nog verdiepingen gekoppeld aan de verdiepingsoort.'); +#endif +DEF_FAC_MESSAGE ('ALG_M205', 'Omschrijving is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M206', 'Volgnummer is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M207', 'Verwijderen verdiepingsoort'); +DEF_FAC_MESSAGE ('ALG_M208', 'Verwijderen verdiepingsoort %1%?'); +DEF_FAC_MESSAGE ('ALG_M209', 'Verdiepingsoort is niet ingevuld.'); +#ifdef BEB +DEF_FAC_MESSAGE ('ALG_M210', 'Dienstkring is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('ALG_M210', 'District is niet ingevuld.'); +#endif +/* LOG#1367: ALG_M211..214 */ +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('ALG_M211', 'Er zijn nog dienstkringen gekoppeld aan de directie.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('ALG_M211', 'Er zijn nog garnizoenen gekoppeld aan het RMC.'); +#else +DEF_FAC_MESSAGE ('ALG_M211', 'Er zijn nog districten gekoppeld aan de regio.'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('ALG_M212', 'Er zijn nog objecten gekoppeld aan de dienstkring.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('ALG_M212', 'Er zijn nog objecten gekoppeld aan het garnizoen.'); +#else +DEF_FAC_MESSAGE ('ALG_M212', 'Er zijn nog locaties gekoppeld aan het district.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('ALG_M213', 'Er zijn nog gebouwen gekoppeld aan het object.'); +#else +DEF_FAC_MESSAGE ('ALG_M213', 'Er zijn nog gebouwen gekoppeld aan de locatie.'); +#endif +#if defined(MRA) +DEF_FAC_MESSAGE ('ALG_M214', 'Er zijn nog systeemclusters gekoppeld aan het object.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('ALG_M214', 'Er zijn nog terreinen/werken gekoppeld aan het object.'); +#else +DEF_FAC_MESSAGE ('ALG_M214', 'Er zijn nog terreinsectoren gekoppeld aan de locatie.'); +#endif +DEF_FAC_MESSAGE ('ALG_M215', 'Bouwlaag in bewerking'); +DEF_FAC_MESSAGE ('ALG_M216', 'Waarschuwing: bouwlaag %1% is in bewerking.'); +DEF_FAC_MESSAGE ('ALG_M217', 'Bouwlaag %1% is geblokkeerd. Blokkering opheffen?'); +DEF_FAC_MESSAGE ('ALG_M218', 'Bouwlaag %1% is niet geblokkeerd. Blokkering aanbrengen?'); +DEF_FAC_MESSAGE ('ALG_M219', 'Waarschuwing: een van de geselecteerde bouwlagen is in bewerking.'); +DEF_FAC_MESSAGE ('ALG_M220', 'Verwijderen niet toegestaan, er zijn nog ruimtes met deze vloersoort.'); +DEF_FAC_MESSAGE ('ALG_M221', 'Verwijderen vloersoort '); +DEF_FAC_MESSAGE ('ALG_M222', 'Schoonmaakkosten per gebouw'); +DEF_FAC_MESSAGE ('ALG_M223', 'De volgende tekening is niet gevonden : '); +#if defined(AKZ) +DEF_FAC_MESSAGE ('ALG_M224', 'De geselecteerde ruimtes bevinden zich niet op 1 bouwlaag.'); +#else +DEF_FAC_MESSAGE ('ALG_M224', 'De geselecteerde ruimtes bevinden zich niet op 1 verdieping.'); +#endif +DEF_FAC_MESSAGE ('ALG_M225', 'De gebouwen bevinden zich niet op 1 tekening.'); +DEF_FAC_MESSAGE ('ALG_M226', 'Dit programma-onderdeel ondersteunt niet de multi-select mogelijkheid.'); + +DEF_FAC_MESSAGE ('RMC_M001', 'Verwijderen RMC '); +DEF_FAC_MESSAGE ('RMC_M002', 'Verwijderen Garnizoen '); +DEF_FAC_MESSAGE ('RMC_M003', 'De omschrijving voor de RMC is niet ingevuld.'); +DEF_FAC_MESSAGE ('RMC_M004', 'De RMC is niet ingevuld.'); +DEF_FAC_MESSAGE ('RMC_M005', 'De omschrijving voor het garnizoen is niet ingevuld.'); +DEF_FAC_MESSAGE ('RMC_M006', 'De garnizoencode is niet ingevuld.'); + +/* AKZ */ +DEF_FAC_MESSAGE ('AKZ_M003', 'Kosten klant'); +DEF_FAC_MESSAGE ('AKZ_M004', 'Internal Ordernr.'); +DEF_FAC_MESSAGE ('AKZ_M005', 'Bewoners Ordernr.'); +DEF_FAC_MESSAGE ('AKZ_M006', 'Het exportbestand is niet ingevuld.'); +DEF_FAC_MESSAGE ('AKZ_M007', 'Het exportbestand %1% kan niet aangemaakt worden.'); +DEF_FAC_MESSAGE ('AKZ_M008', 'Exportbestand naar SAP'); +DEF_FAC_MESSAGE ('AKZ_M009', 'Export naar SAP is niet gelukt.'); +DEF_FAC_MESSAGE ('AKZ_M010', 'Export naar SAP is gereed.'); +DEF_FAC_MESSAGE ('AKZ_M011', 'Waarschuwing'); +DEF_FAC_MESSAGE ('AKZ_M012', 'De uitvoerende zal worden gewijzigd bij alle opdrachten van de melding'); +DEF_FAC_MESSAGE ('AKZ_M013', 'Verwijderen niet toegestaan, dit schoonmaakniveau is nog actief.'); +DEF_FAC_MESSAGE ('AKZ_SCHNIVO', 'Schoonmaakniveau'); + +/* BCO */ +DEF_FAC_MESSAGE ('DEF_INST', 'Defect bij soort installatie'); +DEF_FAC_MESSAGE ('N_BESCHIK','Niet beschikbare personeelsleden'); +DEF_FAC_MESSAGE ('INSTMLD', 'Installaties bij melding'); +DEF_FAC_MESSAGE ('bco_m027', 'De weekplanning is al aangemaakt. Opnieuw aanmaken?'); +DEF_FAC_MESSAGE ('bco_m028', 'Er is al een nieuwere weekplanning aangemaakt.'); +DEF_FAC_MESSAGE ('bco_m029', 'De week moet tussen 1 en 52 liggen.'); +DEF_FAC_MESSAGE ('bco_m030', 'Default uitvoerende is niet bij alle deelsoorten ingevuld.'); +DEF_FAC_MESSAGE ('bco_m031', ' heeft niet toegewezen opdrachten voor '); +DEF_FAC_MESSAGE ('bco_m032', ' uren.'); +DEF_FAC_MESSAGE ('bco_m033', 'Een fout is opgetreden, de weekplanning kan niet worden samengesteld.'); +DEF_FAC_MESSAGE ('bco_m034', 'Samenstellen correctieve weekplanning'); +DEF_FAC_MESSAGE ('bco_m035', 'Corrigeren correctieve weekplanning'); +DEF_FAC_MESSAGE ('bco_m036', 'De uren moeten het formaat 9.999,99 hebben.'); +DEF_FAC_MESSAGE ('bco_m037', 'Het jaartal moet positief zijn.'); +DEF_FAC_MESSAGE ('bco_m038', 'Het jaartal moet ingevuld worden.'); +DEF_FAC_MESSAGE ('bco_m039', 'De week moet ingevuld worden.'); +DEF_FAC_MESSAGE ('bco_m1', 'De omschrijving van het soort bedrijf is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m10', 'De omschrijving van de frequentie bestaat al.'); +DEF_FAC_MESSAGE ('bco_m11', 'De omschrijving van de urgentie is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m12', 'De omschrijving van de urgentie bestaat al.'); +DEF_FAC_MESSAGE ('bco_m13', 'De omschrijving van de verzamelopdracht is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m14', 'De omschrijving van de verzamelopdracht bestaat al.'); +DEF_FAC_MESSAGE ('bco_m15', 'Verwijderen is niet toegestaan, want het defect komt nog voor.'); +DEF_FAC_MESSAGE ('bco_m16', 'Verwijderen is niet toegestaan, want er zijn nog taken.'); +DEF_FAC_MESSAGE ('bco_m17', 'De omschrijving van de deelopdracht is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m18', 'De omschrijving van de deelopdracht bestaat al.'); +DEF_FAC_MESSAGE ('bco_m19', 'Verwijderen is niet toegestaan, want er zijn nog preventieve opdrachten.'); +DEF_FAC_MESSAGE ('bco_m2', 'De omschrijving van het soort bedrijf bestaat al.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m20', 'De omschrijving van de objectgroep is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('bco_m20', 'De omschrijving van de locatiegroep is niet ingevuld.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m21', 'De omschrijving van de objectgroep bestaat al.'); +#else +DEF_FAC_MESSAGE ('bco_m21', 'De omschrijving van de locatiegroep bestaat al.'); +#endif + +DEF_FAC_MESSAGE ('bco_m22', 'Verwijderen is niet toegestaan, want er zijn nog deelopdrachten.'); +DEF_FAC_MESSAGE ('bco_m23', 'De omschrijving van het meetrapport is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m24', 'De omschrijving van het meetrapport bestaat al.'); +DEF_FAC_MESSAGE ('bco_m25', 'De omschrijving van de meting is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m26', 'De omschrijving van de meting bestaat al.'); +DEF_FAC_MESSAGE ('bco_m27', 'Referentie naar default uitvoerende is er niet.'); +DEF_FAC_MESSAGE ('bco_m28', 'Referentie naar installatie is er niet.'); +DEF_FAC_MESSAGE ('bco_m3', 'De afkorting van de maatregel is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m30', 'Verwijderen Maatregel'); +DEF_FAC_MESSAGE ('bco_m31', ' wordt gebruikt in defecten. Doorgaan?'); +DEF_FAC_MESSAGE ('bco_m32', 'Verwijderen Maatregel '); +DEF_FAC_MESSAGE ('bco_m33', 'De omschrijving van de maatregel is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m34', 'De uren van de maatregel moet positieve waarden bevatten.'); +DEF_FAC_MESSAGE ('bco_m35', 'Het materiaal van de maatregel moet positieve waarden bevatten.'); +DEF_FAC_MESSAGE ('bco_m36', 'Verwijderen Defect'); +DEF_FAC_MESSAGE ('bco_m37', ' wordt gebruikt in defect bij installatiesoorten'); +DEF_FAC_MESSAGE ('bco_m38', 'Verwijderen Defect '); +DEF_FAC_MESSAGE ('bco_m39', 'Maatregel is niet ingevuld voor dit defect.'); +DEF_FAC_MESSAGE ('bco_m4', 'De afkorting van de maatregel bestaat al.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m040', 'Objectgroep is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('bco_m040', 'Locatiegroep is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('bco_m40', 'Verwijderen Defect bij soort installatie '); +DEF_FAC_MESSAGE ('bco_m41', 'Verwijderen Defect bij soort installatie '); +DEF_FAC_MESSAGE ('bco_m42', 'De deelsoort, onderdeelsoort of elementsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m43', 'Het defect is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m44', 'Verwijderen installatie bij melding'); +DEF_FAC_MESSAGE ('bco_m45', 'Verwijderen installatie bij meling '); +DEF_FAC_MESSAGE ('bco_m46', 'Er zijn al 8 installaties toegevoegd'); +DEF_FAC_MESSAGE ('bco_m47', 'Er is geen installatie ingevuld.'); +DEF_FAC_MESSAGE ('bco_m48', 'Verwijderen soort bedrijf'); +DEF_FAC_MESSAGE ('bco_m49', 'Verwijderen soort bedrijf '); +DEF_FAC_MESSAGE ('bco_m51', 'Verwijderen niet werkbare week'); +DEF_FAC_MESSAGE ('bco_m52', 'Verwijderen niet werkbare week '); +DEF_FAC_MESSAGE ('bco_m54', 'Het jaar of de week is niet correct ingevuld.'); +DEF_FAC_MESSAGE ('bco_m55', 'Verwijderen niet beschikbaar personeelslid'); +DEF_FAC_MESSAGE ('bco_m56', 'Verwijderen jaarweek %1% van persoon %2%?'); +DEF_FAC_MESSAGE ('bco_m58', 'Het personeelslid is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m59', 'Het jaar of de week is niet correct ingevuld.'); +DEF_FAC_MESSAGE ('bco_m60', 'Verwijderen werkopdracht'); +DEF_FAC_MESSAGE ('bco_m61', 'Verwijderen werkopdracht '); +DEF_FAC_MESSAGE ('bco_m63', 'Bedrijf of personeelslid is niet ingevuld.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m64', 'Verwijderen objectgroep'); +#else +DEF_FAC_MESSAGE ('bco_m64', 'Verwijderen locatiegroep'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m65', 'Verwijderen objectgroep '); +#else +DEF_FAC_MESSAGE ('bco_m65', 'Verwijderen locatiegroep '); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('bco_m67', 'De dienstkring voor de objectgroep is niet ingevuld.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m67', 'Het garnizoen voor de objectgroep is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('bco_m67', 'Het district voor de locatiegroep is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('bco_m68', 'Verwijderen Werkregel'); +DEF_FAC_MESSAGE ('bco_m69', 'Verwijderen Werkregel '); +DEF_FAC_MESSAGE ('bco_m7', 'De omschrijving van het defect is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m70', 'De werkopdracht is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m71', 'Het postnummer is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m72', 'De opdracht is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m73', 'De actie is niet herstellen, slopen of vervangen.'); +DEF_FAC_MESSAGE ('bco_m8', 'De omschrijving van het defect bestaat al.'); +DEF_FAC_MESSAGE ('bco_m86', 'De datum/het aantal uren is niet ingevuld.'); +DEF_FAC_MESSAGE ('bco_m87', 'Installaties op de bon.'); +DEF_FAC_MESSAGE ('bco_m88', 'Zet de installaties op de bon.'); +DEF_FAC_MESSAGE ('bco_m9', 'De omschrijving van de frequentie is niet ingevuld.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m89', 'Object bij objectgroep'); +#else +DEF_FAC_MESSAGE ('bco_m89', 'Locatie bij locatiegroep'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m90', 'De objectgroep is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('bco_m90', 'De locatiegroep is niet ingevuld.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m91', 'Het object is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('bco_m91', 'De locatie is niet ingevuld.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m92', 'Bij dit object is al een objectgroep ingevuld.'); +#else +DEF_FAC_MESSAGE ('bco_m92', 'Bij deze locatie is al een locatiegroep ingevuld.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m93', 'Verwijderen object bij objectgroep'); +#else +DEF_FAC_MESSAGE ('bco_m93', 'Verwijderen locatie bij locatiegroep'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m94', 'Verwijderen object '); +#else +DEF_FAC_MESSAGE ('bco_m94', 'Verwijderen locatie '); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('bco_m95', ' bij objectgroep '); +#else +DEF_FAC_MESSAGE ('bco_m95', ' bij locatiegroep '); +#endif +DEF_FAC_MESSAGE ('BCO_M096', 'De week moet tussen 1 en 53 zijn.'); +DEF_FAC_MESSAGE ('BCO_M097', 'De maatregel wordt nog gebruikt bij defecten.'); +DEF_FAC_MESSAGE ('BCO_M098', 'Verwijderen werkopdracht '); +DEF_FAC_MESSAGE ('BCO_M099', 'De werkopdracht mag niet verwijderd worden.'); +DEF_FAC_MESSAGE ('BCO_M100', 'De werkopdracht mag niet verwijderd worden.'); +#ifdef AKZ +DEF_FAC_MESSAGE ('BCO_M101', 'De opdracht kan niet TV verklaard worden.'); +DEF_FAC_MESSAGE ('BCO_M102', 'De opdracht kan niet AV verklaard worden.'); +#else +DEF_FAC_MESSAGE ('BCO_M101', 'De opdracht kan niet afgemeld worden.'); +DEF_FAC_MESSAGE ('BCO_M102', 'De opdracht kan niet verwerkt worden.'); +#endif +DEF_FAC_MESSAGE ('BCO_M103', 'Samenstellen van nieuwe werkopdrachten?'); +DEF_FAC_MESSAGE ('BCO_M104', ' werkopdracht(en) aangemaakt.'); +DEF_FAC_MESSAGE ('BCO_M105', 'Alle personeelsleden'); +DEF_FAC_MESSAGE ('BCO_M106', 'Overzicht werkzaamheden Personen/Bedrijven'); +DEF_FAC_MESSAGE ('BCO_M107', 'Uitvoerende persoon'); +DEF_FAC_MESSAGE ('BCO_M108', 'Uitvoerende bedrijf'); +DEF_FAC_MESSAGE ('BCO_M109', 'De maatregel mag niet verwijderd worden.'); +DEF_FAC_MESSAGE ('BCO_M110', 'Inclusief verwerkte werkopdrachten'); +DEF_FAC_MESSAGE ('BCO_M111', 'Commentaar bij weekplanning'); +#ifdef BCO +DEF_FAC_MESSAGE ('BCO_M112', 'Correctieve planning voor week %1% en objectgroep %2% wordt aangemaakt'); +#else +DEF_FAC_MESSAGE ('BCO_M112', 'Correctieve planning voor week %1% en locatiegroep %2% wordt aangemaakt'); +#endif +DEF_FAC_MESSAGE ('BCO_M113', 'Correctieve opdracht %1% is ingetrokken, deze is langer dan 2 weken uitgegeven.'); +DEF_FAC_MESSAGE ('BCO_M114', '%1% correctieve opdrachten ingetrokken, ze zijn langer dan 2 weken uitgegeven.'); +DEF_FAC_MESSAGE ('BCO_M115', 'Correctieve opdracht %1% is uitgegeven aan bedrijf %2%'); +DEF_FAC_MESSAGE ('BCO_M116', 'Aantal uitgegeven correctieve opdrachten aan bedrijven: %1%'); +DEF_FAC_MESSAGE ('BCO_M117', 'Correctieve opdracht %1% is uitgegeven aan bestek %2%'); +DEF_FAC_MESSAGE ('BCO_M118', 'Aantal uitgegeven correctieve opdrachten aan bestekken: %1%'); +DEF_FAC_MESSAGE ('BCO_M119', 'Correctieve opdracht %1% is uitgegeven aan functie %2%'); +DEF_FAC_MESSAGE ('BCO_M120', 'Aantal uitgegeven correctieve opdrachten aan functies bij bedrijven: %1%'); +DEF_FAC_MESSAGE ('BCO_M121', 'Correctieve opdracht %1% is uitgegeven aan persoon %2%'); +DEF_FAC_MESSAGE ('BCO_M122', 'Aantal uitgegeven correctieve opdrachten aan personen: %1%'); +DEF_FAC_MESSAGE ('BCO_M123', 'Er zijn geen personen meer beschikbaar voor correctieve opdracht %1%'); +DEF_FAC_MESSAGE ('BCO_M124', 'Correctieve opdracht %1% kon niet worden uitgegeven aan bestek %2%'); +DEF_FAC_MESSAGE ('BCO_M125', 'De werkopdrachten voor de planning worden aangemaakt'); +DEF_FAC_MESSAGE ('BCO_M126', 'Totale uren moet groter of gelijk zijn dan de uren preventief en uren storing'); +DEF_FAC_MESSAGE ('BCO_M127', 'Totale uren moet groter of gelijk zijn dan de uren correctief en uren storing'); +DEF_FAC_MESSAGE ('BCO_M128', 'Het element is niet ingevuld.'); +DEF_FAC_MESSAGE ('BCO_M129', 'Het onderdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('BCO_M130', 'Het deel is niet ingevuld.'); +DEF_FAC_MESSAGE ('BCO_M131', 'De maatregel wordt nog gebruikt in opdrachten.'); +DEF_FAC_MESSAGE ('BCO_M132', 'Correctieve opdracht %1% van bedrijf %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCO_M133', 'Correctieve opdracht %1% van bestek %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCO_M134', 'Correctieve opdracht %1% van functie %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCO_M135', 'Correctieve opdracht %1% van persoon %2% is ingetrokken'); +#ifdef AKZ +DEF_FAC_MESSAGE ('BCO_M136', 'Weekplanning niet mogelijk: er zijn opdrachten TV verklaard of AV verklaard.'); +#else +DEF_FAC_MESSAGE ('BCO_M136', 'Weekplanning niet mogelijk: er zijn opdrachten afgemeld of verwerkt.'); +#endif +DEF_FAC_MESSAGE ('BCO_M137', '%1% uitgegeven correctieve opdrachten zijn weer ingetrokken'); +DEF_FAC_MESSAGE ('BCO_M138', 'Er moeten 4 niet werkbare weken aangegeven worden.'); +DEF_FAC_MESSAGE ('BCO_M139', 'Aanmaken correctieve weekplanning'); +DEF_FAC_MESSAGE ('BCO_M140', 'Correctieve opdrachten worden bijgewerkt'); +DEF_FAC_MESSAGE ('BCO_M141', 'Bedrijven worden ingepland'); +DEF_FAC_MESSAGE ('BCO_M142', 'Bestekken worden ingepland'); +DEF_FAC_MESSAGE ('BCO_M143', 'Functies bij bedrijven worden ingepland'); +DEF_FAC_MESSAGE ('BCO_M144', 'Personeelsleden worden ingepland'); +DEF_FAC_MESSAGE ('BCO_M145', 'Correctieve planning voltooid.'); +DEF_FAC_MESSAGE ('BCO_M146', 'De week bestaat niet in het opgegeven jaar.'); +DEF_FAC_MESSAGE ('BCO_M147', 'Maatregel is niet ingevuld.'); + +/* BCP */ +DEF_FAC_MESSAGE ('bcp_toeg','Toegestane seizoenen'); +DEF_FAC_MESSAGE ('bcp_prevop','Preventieve opdracht'); +DEF_FAC_MESSAGE ('bcp_vprev','Preventieve opdracht verwerken'); +DEF_FAC_MESSAGE ('bcp_si','Soort installatie'); +DEF_FAC_MESSAGE ('bcp_verz','Verzamelopdracht'); + +DEF_FAC_MESSAGE ('bcp_m001','Verwijderen Frequentie'); +DEF_FAC_MESSAGE ('bcp_m002','Verwijderen frequentie '); +DEF_FAC_MESSAGE ('bcp_m003','Frequentie omschrijving is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m004','Aantal weken is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m005','Verwijderen Urgentie'); +DEF_FAC_MESSAGE ('bcp_m006','Verwijderen Urgentie '); +DEF_FAC_MESSAGE ('bcp_m007','Urgentie omschrijving is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m008','Urgentie getal is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m009','Deelsoort is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m010','Frequentie is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m011','Urgentie is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m012','Verzamelopdracht omschrijving is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m013','Aantal uren is niet correct ingevuld'); +DEF_FAC_MESSAGE ('bcp_m014','Materiaalkosten zijn niet correct ingevuld'); +DEF_FAC_MESSAGE ('bcp_m015','Verwijderen Verzamelopdracht'); +DEF_FAC_MESSAGE ('bcp_m016','Verwijderen verzamelopdracht '); +DEF_FAC_MESSAGE ('bcp_m017','Verwijderen Deelopdracht'); +DEF_FAC_MESSAGE ('bcp_m018','Verwijderen deelopdracht '); +DEF_FAC_MESSAGE ('bcp_m019','Installatiesoort is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m020','Verzamelopdracht is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m021','Deelopdracht omschrijving is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m022','Meetrapport omschrijving is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m023','Verwijderen Meetrapport'); +DEF_FAC_MESSAGE ('bcp_m024','Verwijderen meetrapport '); +DEF_FAC_MESSAGE ('bcp_m025','Verwijderen Meting'); +DEF_FAC_MESSAGE ('bcp_m026','Verwijderen meting '); +DEF_FAC_MESSAGE ('bcp_m027','Installatiesoort is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m028','Meetrapport is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m029','Meting omschrijving is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m030','Eenheid is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m031','Bedrijf of personeelslid is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m032','Datum is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m033','Uitvoerende is geen bedrijf of perslid'); +DEF_FAC_MESSAGE ('bcp_m034','Meterstand is niet ingevuld'); +DEF_FAC_MESSAGE ('bcp_m035','Geen meterstand gespecificeerd'); +DEF_FAC_MESSAGE ('bcp_m036','Verwijderen preventieve opdracht '); +DEF_FAC_MESSAGE ('bcp_m037','Verwijderen meterstand '); +DEF_FAC_MESSAGE ('bcp_m038','Samenstellen preventieve weekplanning'); +DEF_FAC_MESSAGE ('bcp_m039','Niet-verwerkte messages gevonden'); +#ifdef AKZ +DEF_FAC_MESSAGE ('bcp_m040','is TV verklaard maar niet AV verklaard'); +#else +DEF_FAC_MESSAGE ('bcp_m040','is afgemeld maar niet verwerkt'); +#endif +DEF_FAC_MESSAGE ('bcp_m041','Jaar kleiner dan nul'); +DEF_FAC_MESSAGE ('bcp_m042','Corrigeren Preventieve weekplanning'); +DEF_FAC_MESSAGE ('bcp_m043','Sector moet groter zijn dan 0 en kleiner dan 17.'); +DEF_FAC_MESSAGE ('bcp_m044','Het aantal uren wordt te groot'); +DEF_FAC_MESSAGE ('bcp_m045','De materiaalkosten worden te hoog'); +DEF_FAC_MESSAGE ('bcp_m046','Aantal weken moet tussen 1 en 480 liggen'); +DEF_FAC_MESSAGE ('bcp_m047','Urgentie moet een getal tussen 1 en 10 zijn.'); +DEF_FAC_MESSAGE ('bcp_m048','Verzamelopdracht is in geen enkel seizoen toegestaan'); +DEF_FAC_MESSAGE ('bcp_m049','Geen preventieve opdracht aangegeven'); +DEF_FAC_MESSAGE ('bcp_m050','Geen uurloon bekend'); +DEF_FAC_MESSAGE ('bcp_m051','Niet alle bijbehorende taken zijn verwijderd'); +DEF_FAC_MESSAGE ('bcp_m052','Niet alle bijbehorende deelopdrachten zijn verwijderd'); +DEF_FAC_MESSAGE ('bcp_m053','Preventieve Weekplanning'); +DEF_FAC_MESSAGE ('bcp_gvp' ,'Geen vrij personeelslid'); +#if defined(BEB) +DEF_FAC_MESSAGE ('BCP_M054','Installatiewaarde per gebouw/terrein/werk'); +#else +DEF_FAC_MESSAGE ('BCP_M054','Installatiewaarde per gebouw/terreinsector'); +#endif +DEF_FAC_MESSAGE ('BCP_M055','Vanaf jaar'); +DEF_FAC_MESSAGE ('BCP_M056','Jaartal niet (juist) ingevuld of te klein'); +DEF_FAC_MESSAGE ('BCP_M057','Discipline is niet ingevuld'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('BCP_M058','Object is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('BCP_M058','Locatie is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('BCP_M059','Teveel kolommen, pas het beginjaar aan'); +DEF_FAC_MESSAGE ('BCP_M060','Groot onderhoud'); +DEF_FAC_MESSAGE ('BCP_M061','Gebouw is niet ingevuld'); +DEF_FAC_MESSAGE ('BCP_M062','tot jaar'); +DEF_FAC_MESSAGE ('BCP_M063','Meerjarenplanning'); +DEF_FAC_MESSAGE ('BCP_M064','Dit jaat bevat geen nieuwe kwartalen meer'); +DEF_FAC_MESSAGE ('BCP_M065','Inflatiepercentage'); +DEF_FAC_MESSAGE ('BCP_M066','Prognose onderhoudskosten'); +DEF_FAC_MESSAGE ('BCP_M067', 'Opdrachtbon preventief onderhoud'); +DEF_FAC_MESSAGE ('BCP_M068', 'Verwijderen meterstand '); +DEF_FAC_MESSAGE ('BCP_M069', 'De datum van de meterstand is niet ingevuld.'); +DEF_FAC_MESSAGE ('BCP_M070', 'De meterstand is niet ingevuld.'); +DEF_FAC_MESSAGE ('BCP_M071', 'Er zijn geen in te vullen meterstanden meer.'); +DEF_FAC_MESSAGE ('BCP_M072', 'Dit is niet de meest recente planning van locatiegroep %1% en jaarweek %2%.'); +DEF_FAC_MESSAGE ('BCP_M073', 'Nieuwe preventieve opdracht %1% aangemaakt en heeft status ''%2%'''); +DEF_FAC_MESSAGE ('BCP_M074', 'Nieuwe taak %1% van verzamelopdracht %2% aangemaakt voor onroerendgoed %3%'); +DEF_FAC_MESSAGE ('BCP_M075', 'Preventieve opdracht %1% is verwijderd.'); +DEF_FAC_MESSAGE ('BCP_M076', 'Preventieve opdracht %1% krijgt opnieuw de status ''%2%'''); +DEF_FAC_MESSAGE ('BCP_M077', 'Aantal extra taken aangemaakt voor Gebouwen: %1%'); +#if defined(BEB) +DEF_FAC_MESSAGE ('BCP_M078', 'Aantal extra taken aangemaakt voor Terreinen/Werken: %1%'); +#else +DEF_FAC_MESSAGE ('BCP_M078', 'Aantal extra taken aangemaakt voor Terreinsectoren: %1%'); +#endif +DEF_FAC_MESSAGE ('BCP_M079', 'Taak %1% van verzamelopdracht %2% is verwijderd'); +DEF_FAC_MESSAGE ('BCP_M080', 'Taak %1% van verzamelopdracht %2% kon niet verwijderd worden'); +DEF_FAC_MESSAGE ('BCP_M081', 'Begin- %1% en/of einddatum %2% van bestek %3% klopt niet voor deze planning'); +DEF_FAC_MESSAGE ('BCP_M082', 'Bestek %1% heeft niet genoeg uren (%2%) beschikbaar'); +DEF_FAC_MESSAGE ('BCP_M083', 'Bestek %1% heeft niet genoeg materiaalkosten (%2%) beschikbaar'); +DEF_FAC_MESSAGE ('BCP_M084', 'Bestek %1% kan niet op locatie %2% gebuikt worden'); +DEF_FAC_MESSAGE ('BCP_M085', 'Bij deelsoort %1% is geen default uitvoerende aangegeven'); +DEF_FAC_MESSAGE ('BCP_M086', 'Preventieve opdracht %1% mag niet worden uitgegeven is dit seizoen'); +DEF_FAC_MESSAGE ('BCP_M087', 'Preventieve opdracht %1% is uitgegeven aan bedrijf %2%'); +DEF_FAC_MESSAGE ('BCP_M088', 'Aantal uitgegeven preventieve opdrachten aan bedrijven: %1%'); +DEF_FAC_MESSAGE ('BCP_M089', 'Preventieve opdracht %1% is uitgegeven aan bestek %2%'); +DEF_FAC_MESSAGE ('BCP_M090', 'Aantal uitgegeven preventieve opdrachten aan bestekken: %1%'); +DEF_FAC_MESSAGE ('BCP_M091', 'Preventieve opdracht %1% is uitgegeven aan functie %2%'); +DEF_FAC_MESSAGE ('BCP_M092', 'Aantal uitgegeven preventieve opdrachten aan functies bij bedrijven: %1%'); +DEF_FAC_MESSAGE ('BCP_M093', 'Preventieve opdracht %1% is uitgegeven aan persoon %2%'); +DEF_FAC_MESSAGE ('BCP_M094', 'Aantal uitgegeven preventieve opdrachten aan personen: %1%'); +DEF_FAC_MESSAGE ('BCP_M095', 'Er zijn geen personen meer beschikbaar voor preventieve opdracht %1%'); +#ifdef BCO +DEF_FAC_MESSAGE ('BCP_M096', 'Preventieve planning voor week %1% en objectgroep %2% wordt aangemaakt'); +#else +DEF_FAC_MESSAGE ('BCP_M096', 'Preventieve planning voor week %1% en locatiegroep %2% wordt aangemaakt'); +#endif +DEF_FAC_MESSAGE ('BCP_M097', 'Aantal nieuwe preventieve opdrachten aangemaakt: %1%'); +#ifdef AKZ +DEF_FAC_MESSAGE ('BCP_M098', 'Er zijn al opdrachten TV verklaard of AV verklaard voor deze week'); +#else +DEF_FAC_MESSAGE ('BCP_M098', 'Er zijn al opdrachten afgemeld of verwerkt voor deze week'); +#endif +DEF_FAC_MESSAGE ('BCP_M099', 'Er zijn nog lopende preventieve opdrachten.'); +DEF_FAC_MESSAGE ('BCP_M100', 'Preventieve opdracht %1% van bedrijf %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCP_M101', 'Preventieve opdracht %1% van bestek %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCP_M102', 'Preventieve opdracht %1% van functie %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCP_M103', 'Preventieve opdracht %1% van persoon %2% is ingetrokken'); +#ifdef AKZ +DEF_FAC_MESSAGE ('BCP_M104', 'Ingeplande opdrachten kunnen niet TV verklaard of AV verklaard worden.'); +DEF_FAC_MESSAGE ('BCP_M105', 'TV verklaren preventieve opdracht'); +DEF_FAC_MESSAGE ('BCP_M106', 'Preventieve opdracht %1% wordt TV verklaard. Doorgaan?'); +DEF_FAC_MESSAGE ('BCP_M107', 'Uitgegeven, TV- of AV verklaarde opdrachten kunnen alleen bekeken worden.'); +#else +DEF_FAC_MESSAGE ('BCP_M104', 'Ingeplande opdrachten kunnen niet afgemeld of verwerkt worden.'); +DEF_FAC_MESSAGE ('BCP_M105', 'Afmelden preventieve opdracht'); +DEF_FAC_MESSAGE ('BCP_M106', 'Preventieve opdracht %1% wordt afgemeld. Doorgaan?'); +DEF_FAC_MESSAGE ('BCP_M107', 'Uitgegeven, afgemelde of verwerkte opdrachten kunnen alleen bekeken worden.'); +#endif +DEF_FAC_MESSAGE ('BCP_M108', '%1% uitgegeven preventieve opdrachten zijn weer ingetrokken'); +DEF_FAC_MESSAGE ('BCP_M109', 'Preventieve opdracht %1% kan niet verwijderd worden.'); +DEF_FAC_MESSAGE ('BCP_M110', 'Aanmaken preventieve weekplanning'); +DEF_FAC_MESSAGE ('BCP_M111', 'Taken worden bijgewerkt'); +DEF_FAC_MESSAGE ('BCP_M112', 'Nieuwe preventieve opdrachten worden aangemaakt'); +DEF_FAC_MESSAGE ('BCP_M113', 'Preventieve opdrachten worden bijgewerkt'); +DEF_FAC_MESSAGE ('BCP_M114', 'Bedrijven worden ingepland'); +DEF_FAC_MESSAGE ('BCP_M115', 'Bestekken worden ingepland'); +DEF_FAC_MESSAGE ('BCP_M116', 'Functies bij bedrijven worden ingepland'); +DEF_FAC_MESSAGE ('BCP_M117', 'Personeelsleden worden ingepland'); +DEF_FAC_MESSAGE ('BCP_M118', 'Preventieve planning voltooid.'); +DEF_FAC_MESSAGE ('BCP_M119', 'Preventieve opdracht %1% verwijderd.'); +DEF_FAC_MESSAGE ('BCP_M120', 'Preventieve opdracht %1% kan niet verwijderd worden.'); + +/* INS */ +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('ins_m001', 'Omschrijving van de vakgroep is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('ins_m001', 'Omschrijving van de discipline is niet ingevuld.'); +#endif +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('ins_m002', 'De omschrijving van de vakgroep bestaat al.'); +#else +DEF_FAC_MESSAGE ('ins_m002', 'De omschrijving van de discipline bestaat al.'); +#endif +DEF_FAC_MESSAGE ('ins_m003', 'Omschrijving groepsoort is niet ingevuld '); +DEF_FAC_MESSAGE ('ins_m004', 'Omschrijving groepsoort bestaat al '); +DEF_FAC_MESSAGE ('ins_m005', 'Omschrijving deelsoort is niet ingevuld '); +DEF_FAC_MESSAGE ('ins_m006', 'Omschrijving deelsoort bestaat al '); +DEF_FAC_MESSAGE ('ins_m007', 'Omschrijving onderdeelsoort is niet ingevuld '); +DEF_FAC_MESSAGE ('ins_m008', 'Omschrijving onderdeelsoort bestaat al '); +DEF_FAC_MESSAGE ('ins_m009', 'Omschrijving elementsoort is niet ingevuld '); +DEF_FAC_MESSAGE ('ins_m010', 'Omschrijving elementsoort bestaat al '); +DEF_FAC_MESSAGE ('ins_m011', 'Er zijn nog deelsoorten bij de groepsoort '); +DEF_FAC_MESSAGE ('ins_m012', 'Er zijn nog onderdeelsoorten bij de deelsoort '); +DEF_FAC_MESSAGE ('ins_m013', 'Verwijderen is niet mogelijk omdat er nog delen bij de deelsoort zijn.'); +DEF_FAC_MESSAGE ('ins_m014', 'Er zijn nog elementsoorten bij de onderdeelsoort '); +DEF_FAC_MESSAGE ('ins_m015', 'Er zijn nog onderdelen bij de onderdeelsoort '); +DEF_FAC_MESSAGE ('ins_m016', 'Er zijn nog elementen bij de elementsoort '); +//DEF_FAC_MESSAGE ('ins_m017', 'Er zijn nog onderdelen bij dit deel '); +//DEF_FAC_MESSAGE ('ins_m018', 'Er zijn nog elementen bij dit onderdeel '); +DEF_FAC_MESSAGE ('ins_m019', 'Deelsoort van deel komt niet overeen met deelsoort van onderdeelsoort '); +DEF_FAC_MESSAGE ('ins_m020', 'Onderdeelsoort van onderdeel <> onderdeelsoort van elementsoort '); +DEF_FAC_MESSAGE ('ins_m021', 'Omschrijving deel is niet uniek '); +DEF_FAC_MESSAGE ('ins_m022', 'Omschrijving onderdeel is niet uniek '); +DEF_FAC_MESSAGE ('ins_m023', 'Omschrijving element is niet uniek '); +DEF_FAC_MESSAGE ('ins_m024', 'Plaats is niet ingevuld '); +DEF_FAC_MESSAGE ('ins_m030', 'Verwijderen groepsoort '); +DEF_FAC_MESSAGE ('ins_m031', 'Verwijderen deelsoort '); +DEF_FAC_MESSAGE ('ins_m032', 'Verwijderen onderdeelsoort '); +DEF_FAC_MESSAGE ('ins_m033', 'Verwijderen elementsoort '); +DEF_FAC_MESSAGE ('ins_m034', 'Verwijderen deel '); +DEF_FAC_MESSAGE ('ins_m035', 'Verwijderen onderdeel '); +DEF_FAC_MESSAGE ('ins_m036', 'Verwijderen element '); +DEF_FAC_MESSAGE ('ins_m040', 'Het aantal delen is niet ingevuld '); +DEF_FAC_MESSAGE ('ins_m041', 'Het aantal onderdelen is niet ingevuld '); +DEF_FAC_MESSAGE ('ins_m042', 'Het aantal elementen is niet ingevuld '); +DEF_FAC_MESSAGE ('ins_m050', 'Ruimte moet gekozen zijn.'); +DEF_FAC_MESSAGE ('ins_m051', 'Omschrijving ruimte en deel is niet ingevuld '); +DEF_FAC_MESSAGE ('ins_m060', 'Deel kopieren '); +DEF_FAC_MESSAGE ('ins_m061', 'Wilt u het deel kopieren?'); +DEF_FAC_MESSAGE ('ins_m062', 'Ruimte kopieren '); +DEF_FAC_MESSAGE ('ins_m063', 'Wilt u de gehele ruimte kopieren?'); +DEF_FAC_MESSAGE ('ins_m064', 'Bouwlaag kopieren '); +DEF_FAC_MESSAGE ('ins_m065', 'Wilt u de gehele bouwlaag kopieren ?'); +DEF_FAC_MESSAGE ('ins_m066', 'Gebouw kopieren '); +DEF_FAC_MESSAGE ('ins_m067', 'Wilt u het gehele gebouw kopieren ?'); +DEF_FAC_MESSAGE ('ins_m070', 'De layout van de bouwlagen correspondeert niet'); +DEF_FAC_MESSAGE ('ins_m071', 'De layout van de gebouwen correspondeert niet'); +DEF_FAC_MESSAGE ('ins_m075', 'Deze onderdeelsoort bevat nog onderdelen'); +DEF_FAC_MESSAGE ('ins_m076', 'Deze elementsoort bevat nog elementen'); +DEF_FAC_MESSAGE ('ins_m077', 'Verwijderen kan niet, er zijn nog bijbehorende soortgroepen.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('ins_m078', 'Verwijderen vakgroep '); +#else +DEF_FAC_MESSAGE ('ins_m078', 'Verwijderen discipline '); +#endif +DEF_FAC_MESSAGE ('ins_m080', 'Het rapport is gemaakt'); +DEF_FAC_MESSAGE ('ins_m081', 'De selectie heeft geen resultaat opgeleverd'); +DEF_FAC_MESSAGE ('ins_m082', 'Samengesteld overzicht'); +#if defined(MRA) +DEF_FAC_MESSAGE ('ins_m83', 'De ruimte of het systeemcluster bestaat niet.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('ins_m83', 'De ruimte of het terrein/werk bestaat niet.'); +#else +DEF_FAC_MESSAGE ('ins_m83', 'De ruimte of de terreinsector bestaat niet.'); +#endif // MRA +DEF_FAC_MESSAGE ('ins_m84', 'De plaats is van het verkeerde type.'); +DEF_FAC_MESSAGE ('ins_m85', 'Plaats bezit mogen niet beide ingevuld zijn.'); +DEF_FAC_MESSAGE ('ins_m86', 'De persoon of de afdeling bestaat niet.'); +DEF_FAC_MESSAGE ('ins_m87', 'Bezit is van het verkeerde type.'); +DEF_FAC_MESSAGE ('ins_m88', 'De ruimte of de werkplek bestaat niet.'); +DEF_FAC_MESSAGE ('ins_m89', 'De koppeling moet met ruimte of werkplek zijn.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('ins_m090', 'Object is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('ins_m090', 'Locatie is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('ins_m091', 'Gebouw moet gekozen zijn.'); +DEF_FAC_MESSAGE ('ins_m092', 'Ruimte bestaat niet.'); +DEF_FAC_MESSAGE ('ins_m093', 'Bouwlaag bestaat niet.'); +DEF_FAC_MESSAGE ('ins_m094', 'Gebouw bestaat niet.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('ins_m095', 'Systeemcluster bestaat niet.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('ins_m095', 'Terrein/Werk bestaat niet.'); +#else +DEF_FAC_MESSAGE ('ins_m095', 'Terreinsector bestaat niet.'); +#endif // MRA +DEF_FAC_MESSAGE ('ins_m096', 'Deel is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_M097', 'Onderdeelsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_M099', '%1% delen van de %2% gekopieerd.'); + +DEF_FAC_MESSAGE ('INS_M100', 'Actuele situatie'); +DEF_FAC_MESSAGE ('INS_M101', 'Geplande situatie'); +DEF_FAC_MESSAGE ('INS_M102', 'Verschil'); +DEF_FAC_MESSAGE ('INS_M103', 'Alleen totalen'); +DEF_FAC_MESSAGE ('INS_M104', 'Kosten'); +DEF_FAC_MESSAGE ('INS_M105', 'Rapportage installaties'); +DEF_FAC_MESSAGE ('INS_M106', 'Opmerkingen'); +DEF_FAC_MESSAGE ('INS_M107', 'Alle plaatsen afdrukken'); +DEF_FAC_MESSAGE ('INS_M108', 'Regio moet ingevuld zijn.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('INS_M109', 'Vakgroep moet ingevuld zijn.'); +#else +DEF_FAC_MESSAGE ('INS_M109', 'Discipline moet ingevuld zijn.'); +#endif +DEF_FAC_MESSAGE ('INS_M110', 'Inventarisatie Meldingsystemen'); +DEF_FAC_MESSAGE ('INS_M111', 'Pagina %1% geprint.'); +DEF_FAC_MESSAGE ('INS_M112', 'Voorbereiden pagina %1%.'); +DEF_FAC_MESSAGE ('INS_M113', 'Aantal moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_M114', '%1% deel van de %2% gekopieerd.'); +DEF_FAC_MESSAGE ('INS_M115', 'Ruimte mag niet ingevuld zijn.'); +#ifdef BCO +DEF_FAC_MESSAGE ('INS_M116', 'Bouwlaag mag niet ingevuld zijn.'); +#else +DEF_FAC_MESSAGE ('INS_M116', 'Verdieping mag niet ingevuld zijn.'); +#endif +DEF_FAC_MESSAGE ('INS_M117', 'Terreinsector kopieren '); +DEF_FAC_MESSAGE ('INS_M118', 'Wilt u de gehele terreinsector kopieren?'); +DEF_FAC_MESSAGE ('INS_M119', 'Deel (BEPERKT MET SELECTIE)'); +DEF_FAC_MESSAGE ('INS_M120', 'Een of meerdere waardes zijn niet goed geformuleerd'); +DEF_FAC_MESSAGE ('INS_M121', 'Aantal geselecteerde records: %1%'); +DEF_FAC_MESSAGE ('INS_M122', 'Niet alle gegevens zijn goed geimporteerd. Wilt u toch afsluiten?'); +DEF_FAC_MESSAGE ('INS_M123', 'Import Deel'); +DEF_FAC_MESSAGE ('INS_M124', 'De som van de ingevulde aantallen komt niet overeen met het totaal.'); +DEF_FAC_MESSAGE ('INS_M125', 'Importgegevens printen'); +DEF_FAC_MESSAGE ('INS_M126', 'Importgegevens'); +DEF_FAC_MESSAGE ('INS_M127', 'Doorgaan met importeren.'); +DEF_FAC_MESSAGE ('INS_M128', 'Resultaat van import:'); +DEF_FAC_MESSAGE ('INS_M129', ' - %1% delen toegevoegd.'); +DEF_FAC_MESSAGE ('INS_M130', ' - %1% delen gewijzigd.'); +DEF_FAC_MESSAGE ('INS_M131', ' - %1% delen verwijderd.'); +DEF_FAC_MESSAGE ('INS_M132', ' - %1% fouten gevonden.'); +DEF_FAC_MESSAGE ('INS_M133', 'Te verwijderen delen'); +DEF_FAC_MESSAGE ('INS_M134', 'Toe te voegen of te wijzigen delen'); +DEF_FAC_MESSAGE ('INS_M135', 'Er zijn nog te importeren gegevens over.'); +DEF_FAC_MESSAGE ('INS_M136', 'Niet herkende importgegevens'); +DEF_FAC_MESSAGE ('INS_M137', 'Geen bestaande deelgegevens verwijderen'); +DEF_FAC_MESSAGE ('INS_M138', 'Er is geen deel geselecteerd'); +/* Messages voor INS_KENMERK-zaken*/ +DEF_FAC_MESSAGE ('INS_M139', 'Het database-object bestaat niet.'); +DEF_FAC_MESSAGE ('INS_M140', 'De kolomnaam bestaat niet in het database-object.'); +DEF_FAC_MESSAGE ('INS_M141', 'De kolomtekst bestaat niet in het database-object.'); +DEF_FAC_MESSAGE ('INS_M142', 'Het veld ''Verplicht'' mag niet aangezet worden.'); +DEF_FAC_MESSAGE ('INS_M143', 'De waarde van het veld %1% mag niet langer zijn dan %2%.'); +DEF_FAC_MESSAGE ('INS_M144', 'De ingevulde waarde valt buiten de toegestane waardes.'); +DEF_FAC_MESSAGE ('INS_M145', 'De waarde van het veld %1% moet tussen %2% en %3% liggen.'); +DEF_FAC_MESSAGE ('INS_M146', 'De waarde van het veld %1% voldoet niet aan formaat %2%.'); +DEF_FAC_MESSAGE ('INS_M147', 'Verwijderen kenmerksoort'); +DEF_FAC_MESSAGE ('INS_M148', 'Verwijderen kenmerksoort %1%?'); +DEF_FAC_MESSAGE ('INS_M149', 'Het veld %1% is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_M150', 'Verwijderen kenmerksoort'); +DEF_FAC_MESSAGE ('INS_M151', 'Verwijderen koppeling tussen kenmerksoort %1% en installatiesoort %2%?'); +DEF_FAC_MESSAGE ('INS_M152', 'Koppeling kenmerksoort en installatiesoort'); +DEF_FAC_MESSAGE ('INS_M153', 'Het veld %1% is geen extern bestand.'); +DEF_FAC_MESSAGE ('INS_M154', '%1% %2% bestaat niet.'); +DEF_FAC_MESSAGE ('INS_M155', 'De waarde van %1% bestaat niet. De waarde wordt gewist.'); +DEF_FAC_MESSAGE ('INS_M156', 'Een systeemkenmerksoort mag niet verwijderd worden.'); +DEF_FAC_MESSAGE ('INS_M157', 'Van-naar koppeling Deel'); +DEF_FAC_MESSAGE ('INS_M158', 'Deel moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('INS_M159', 'Verwijderen van-naar koppeling'); +DEF_FAC_MESSAGE ('INS_M160', 'Welke van-naar koppeling moet verwijderd worden?'); +DEF_FAC_MESSAGE ('INS_M161', 'Er moet een deel geselecteerd worden.'); +DEF_FAC_MESSAGE ('INS_M162', 'Er moet een vorig en/of een volgend deel geselecteerd worden.'); +DEF_FAC_MESSAGE ('INS_M163', 'De van koppeling is leeggemaakt, moet deze verwijderd worden?'); +DEF_FAC_MESSAGE ('INS_M164', 'Het gebouw of de Terreinsector is niet ingevuld.'); +#if defined(CAD) +DEF_FAC_MESSAGE ('INS_M165', 'Er is geen AutoCAD symbool beschikbaar voor dit installatiedeel.'); +DEF_FAC_MESSAGE ('INS_M166', 'Geen AutoCadtekening beschikbaar voor dit installatiedeel.'); +#endif +DEF_FAC_MESSAGE ('BEV_M001', 'Matrixoverzicht installaties'); +DEF_FAC_MESSAGE ('BEV_M002', 'Inventarisatie deel'); +#if defined(BEB) +DEF_FAC_MESSAGE ('BEV_M003', 'Gebouw of terrein/werk moet ingevuld worden.'); +#else +DEF_FAC_MESSAGE ('BEV_M003', 'Gebouw of terreinsector moet ingevuld worden.'); +#endif +DEF_FAC_MESSAGE ('BEV_M004', 'Groepsoort moet ingevuld worden.'); +DEF_FAC_MESSAGE ('BEV_M005', 'Directie Gelderland'); +DEF_FAC_MESSAGE ('BEV_M006', 'DGW'||CHR(38)||'T'); +DEF_FAC_MESSAGE ('BEV_M007', 'STG-CONFIDENTIEEL'); +DEF_FAC_MESSAGE ('BEV_M008', 'Zie kantlijn'); +DEF_FAC_MESSAGE ('BEV_M009', 'Verwijderen categorie '); +DEF_FAC_MESSAGE ('BEV_M010', 'De code voor de categorie is niet ingevuld.'); +DEF_FAC_MESSAGE ('BEV_M011', 'Bouwlaag is wel ingevuld en ruimte niet.'); + +/* BEB_I-messages voor meldingsysteem */ +DEF_FAC_MESSAGE ('BEB_MI1', '1. Nadere inlichtingen'); +DEF_FAC_MESSAGE ('BEB_MI2', ' - Naam'); +DEF_FAC_MESSAGE ('BEB_MI3', ' - Mil. telefoonnummer'); +DEF_FAC_MESSAGE ('BEB_MI4', '2. Informatie meldingsysteem'); +DEF_FAC_MESSAGE ('BEB_MI5', 'a. Doel van meldsysteem'); +DEF_FAC_MESSAGE ('BEB_MI6', ' - Inbraak'); +DEF_FAC_MESSAGE ('BEB_MI7', ' - Brand melding/ontruiming'); +DEF_FAC_MESSAGE ('BEB_MI8', ' - Brandblusinstallatie/soort'); +DEF_FAC_MESSAGE ('BEB_MI9', ' - Toegangscontrole en leesprincipe'); +DEF_FAC_MESSAGE ('BEB_MI10', ' - Camera'); +DEF_FAC_MESSAGE ('BEB_MI11', ' - Gebouw beheersysteem (GBS)'); +DEF_FAC_MESSAGE ('BEB_MI12', ' - Installatie beheersysteem'); +DEF_FAC_MESSAGE ('BEB_MI13', ' - Storingsmelding'); +DEF_FAC_MESSAGE ('BEB_MI14', ' - Verlichting tbv. bewaking'); +DEF_FAC_MESSAGE ('BEB_MI15', ' - Anders ...'); +DEF_FAC_MESSAGE ('BEB_MI16', 'b. Aansluiting op systeem'); +DEF_FAC_MESSAGE ('BEB_MI17', ' - Welke gebouwen zijn aangesloten'); +DEF_FAC_MESSAGE ('BEB_MI18', ' - Waar is het centrale doormeldpunt'); +DEF_FAC_MESSAGE ('BEB_MI19', 'c. Langs welke weg wordt gemeld'); +DEF_FAC_MESSAGE ('BEB_MI20', ' - Openbare tel./plaatselijke net/mil.verb.net'); +DEF_FAC_MESSAGE ('BEB_MI21', 'd. Soort verbinding'); +DEF_FAC_MESSAGE ('BEB_MI22', ' - Koper/glasvezel/draadloos'); +DEF_FAC_MESSAGE ('BEB_MI23', 'e. Wat is soort/fabrikaat/type'); +DEF_FAC_MESSAGE ('BEB_MI24', ' - Meldsysteem'); +DEF_FAC_MESSAGE ('BEB_MI25', ' - Software'); +DEF_FAC_MESSAGE ('BEB_MI26', ' - Meldingspaneel'); +DEF_FAC_MESSAGE ('BEB_MI27', 'f. Eigendom/licentierechten hard- en software'); +DEF_FAC_MESSAGE ('BEB_MI28', ' - Eventuele afkoop/licentiekosten'); +DEF_FAC_MESSAGE ('BEB_MI29', 'g. Leeftijd systeem'); +DEF_FAC_MESSAGE ('BEB_MI30', ' - Welk jaar werd het systeem aangebracht'); +DEF_FAC_MESSAGE ('BEB_MI31', ' - Welk jaar laatste renovatie verricht'); +DEF_FAC_MESSAGE ('BEB_MI32', 'h. Geschatte technische levensduur vanvaf 1995'); +DEF_FAC_MESSAGE ('BEB_MI33', 'i. Zijn er onderhoudscontracten afgesoten'); +DEF_FAC_MESSAGE ('BEB_MI34', ' - Met welk bedrijf'); +DEF_FAC_MESSAGE ('BEB_MI35', ' - Indien onderhoudscontract, welk mil.obj.'); +DEF_FAC_MESSAGE ('BEB_MI36', ' - Wanneer kan dit contract worden beeindigd'); +DEF_FAC_MESSAGE ('BEB_MI37', 'j. Melding gekoppeld aan geautom.regsys.'); +DEF_FAC_MESSAGE ('BEB_MI38', ' - Met welke software'); + +/* MLD */ +#if defined(MRA) +DEF_FAC_MESSAGE ('OPENOPDR', 'Openstaande activiteit'); +#else +DEF_FAC_MESSAGE ('OPENOPDR', 'Openstaande opdracht'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('STDOPDR', 'Standaardactiviteit'); +#else +DEF_FAC_MESSAGE ('STDOPDR', 'Standaardopdracht'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('STDOPDR2', 'Standaardact.'); +#else +DEF_FAC_MESSAGE ('STDOPDR2', 'Standaardopdr.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m011', 'Verwijderen oorzaak'); +DEF_FAC_MESSAGE ('mld_m012', ' wordt gebruikt in meldingen. Doorgaan?'); +DEF_FAC_MESSAGE ('mld_m013', 'Verwijderen oorzaak '); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m014', 'Verwijderen Wijze van melding'); +#else +DEF_FAC_MESSAGE ('mld_m014', 'Verwijderen meldbron'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m015', ' wordt gebruikt in meldingen. Doorgaan?'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m016', 'Verwijderen wijze van melding '); +#else +DEF_FAC_MESSAGE ('mld_m016', 'Verwijderen meldbron '); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m017', 'Verwijderen bedrijf'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m018', ' wordt gebruikt in activiteiten. Doorgaan?'); +#else +DEF_FAC_MESSAGE ('mld_m018', ' wordt gebruikt in opdrachten. Doorgaan?'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m019', 'Verwijderen bedrijf '); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m020', 'Verwijderen standaardactiviteit'); +#else +DEF_FAC_MESSAGE ('mld_m020', 'Verwijderen standaardopdracht'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m021', ' wordt gebruikt in activiteiten. Doorgaan?'); +#else +DEF_FAC_MESSAGE ('mld_m021', ' wordt gebruikt in opdrachten. Doorgaan?'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m022', 'Verwijderen standaardactiviteit '); +#else +DEF_FAC_MESSAGE ('mld_m022', 'Verwijderen standaardopdracht '); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m055', 'Activiteit geheel gereed : Ja / Nee'); +#else +DEF_FAC_MESSAGE ('mld_m055', 'Opdracht gereed : Ja / Nee'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m056', 'Opdrachtbon meldingen'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m057', 'Signalering activiteiten te laat verwerkt'); +#else +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('mld_m057', 'Signalering opdrachten te laat administratief voltooid'); +#else +DEF_FAC_MESSAGE ('mld_m057', 'Signalering opdrachten te laat verwerkt'); +#endif +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m058', 'Overzicht openstaande activiteiten'); +#else +DEF_FAC_MESSAGE ('mld_m058', 'Overzicht openstaande opdrachten'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m059', 'Kostenoverzicht activiteiten'); +#else +DEF_FAC_MESSAGE ('mld_m059', 'Kostenoverzicht opdrachten'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m080', 'De datum moet van formaat DD-MM-JJ zijn.'); +DEF_FAC_MESSAGE ('mld_m081', 'Historisch overzicht'); +DEF_FAC_MESSAGE ('mld_m1', 'De omschrijving van de oorzaak is niet ingevuld.'); +DEF_FAC_MESSAGE ('mld_m10', 'De naam van het bedrijf bestaat al.'); +DEF_FAC_MESSAGE ('mld_m2', 'De omschrijving van de oorzaak bestaat al.'); +DEF_FAC_MESSAGE ('mld_m23', 'Het uurloon moet een positieve waarde bevatten.'); +DEF_FAC_MESSAGE ('mld_m24', 'Verwijderen melding'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m25', ' wordt gebruikt in activiteiten. Doorgaan?'); +#else +DEF_FAC_MESSAGE ('mld_m25', ' wordt gebruikt in opdrachten. Doorgaan?'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m26', 'Verwijderen melding '); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m27', 'Verwijderen activiteit'); +#else +DEF_FAC_MESSAGE ('mld_m27', 'Verwijderen opdracht'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m28', ' wordt gebruikt in activiteiten. Doorgaan?'); +#else +DEF_FAC_MESSAGE ('mld_m28', ' wordt gebruikt in opdrachten. Doorgaan?'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m29', 'Verwijderen activiteit '); +#else +DEF_FAC_MESSAGE ('mld_m29', 'Verwijderen opdracht '); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m3', 'De omschrijving van de wijze van melding is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m3', 'De omschrijving van de meldbron is niet ingevuld.'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m30', 'Verwijderen openstaande activiteit'); +#else +DEF_FAC_MESSAGE ('mld_m30', 'Verwijderen openstaande opdracht'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m31', ' wordt gebruikt in activiteiten. Doorgaan?'); +#else +DEF_FAC_MESSAGE ('mld_m31', ' wordt gebruikt in opdrachten. Doorgaan?'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m32', 'Verwijderen openstaande activiteit '); +#else +DEF_FAC_MESSAGE ('mld_m32', 'Verwijderen openstaande opdracht '); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m33', 'Afmelden openstaande activiteit'); +#else +DEF_FAC_MESSAGE ('mld_m33', 'Afmelden openstaande opdracht'); +#endif // MRA +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('mld_m34', ' wordt Technisch Voltooid verklaard. Doorgaan?'); +#else +DEF_FAC_MESSAGE ('mld_m34', ' wordt afgemeld. Doorgaan?'); +#endif +/* +DEF_FAC_MESSAGE ('mld_m35', 'Bedrijf en Personeelslid zijn beide ingevuld.'); +*/ +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m36', 'Het type activiteit is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m36', 'Het type opdracht is niet ingevuld.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m37', 'De uitvoerende is niet ingevuld.'); +DEF_FAC_MESSAGE ('mld_m38', 'De datum is niet ingevuld.'); +DEF_FAC_MESSAGE ('mld_m39', 'De kosten moeten een positieve waarde bevatten.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m4', 'De omschrijving van de wijze van melding bestaat al.'); +#else +DEF_FAC_MESSAGE ('mld_m4', 'De omschrijving van de meldbron bestaat al.'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m40', 'Gebouw of systeemcluster is niet ingevuld.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('mld_m40', 'Gebouw of terrein/werk is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m40', 'Gebouw of terreinsector is niet ingevuld.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m41', 'Het soort deel is niet ingevuld.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m42', 'De wijze van melding is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m42', 'De meldbron is niet ingevuld.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m43', 'De deelsoort moet ingevuld zijn.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m44', 'Gebouw, bouwlaag, ruimte of systeemcluster is niet ingevuld.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('mld_m44', 'Gebouw, bouwlaag, ruimte of terrein/werk is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m44', 'Gebouw, bouwlaag, ruimte of terreinsector is niet ingevuld.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m45', 'De soortdeel vervuiling is niet ingevuld.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m46', 'Standaardactiviteit of omschrijving is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m46', 'Standaardopdracht of omschrijving is niet ingevuld.'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m47', 'Standaardactiviteit, defect of omschrijving is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m47', 'Standaardopdracht, defect of omschrijving is niet ingevuld.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m48', 'Bedrijf of personeelslid is niet ingevuld.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m49', 'Type activiteit is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m49', 'Type opdracht is niet ingevuld.'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m5' , 'De afkorting van de standaardactiviteit is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m5' , 'De afkorting van de standaardopdracht is niet ingevuld.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m50', 'De termijn is niet ingevuld.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m52', 'Standaardactiviteit en defect zijn beide ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m52', 'Standaardopdracht en defect zijn beide ingevuld.'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m53', 'Gebouw, bouwlaag of ruimte en systeemcluster zijn beide ingevuld.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('mld_m53', 'Gebouw, bouwlaag of ruimte en terrein/werk zijn beide ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m53', 'Gebouw, bouwlaag of ruimte en terreinsector zijn beide ingevuld.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m54', 'Bij het soort deel installatie is geen default uitvoerende ingevuld.'); +DEF_FAC_MESSAGE ('mld_m55', 'De termijn moet positieve waarden bevatten.'); +DEF_FAC_MESSAGE ('mld_m56', 'De uren moet positieve waarden bevatten.'); +DEF_FAC_MESSAGE ('mld_m57', 'Het materiaal moet positieve waarden bevatten.'); +DEF_FAC_MESSAGE ('mld_m58', 'Het aantal dagen mag bij storing niet groter zijn dan 6.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m6', 'De afkorting van de standaardactiviteit bestaat al.'); +#else +DEF_FAC_MESSAGE ('mld_m6', 'De afkorting van de standaardopdracht bestaat al.'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m7', 'De omschrijving van de standaardactiviteit is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m7', 'De omschrijving van de standaardopdracht is niet ingevuld.'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m8', 'De omschrijving van de standaardactiviteit bestaat al.'); +#else +DEF_FAC_MESSAGE ('mld_m8', 'De omschrijving van de standaardopdracht bestaat al.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m9', 'De naam van het bedrijf is niet ingevuld.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m100', 'Activiteiten printen'); +#else +DEF_FAC_MESSAGE ('mld_m100', 'Opdrachten printen'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m101', 'Openstaande activiteiten'); +#else +DEF_FAC_MESSAGE ('mld_m101', 'Openstaande opdrachten'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m102', 'Verlate activiteiten'); +#else +DEF_FAC_MESSAGE ('mld_m102', 'Verlate opdrachten'); +#endif // MRA +#if defined(LEV) +DEF_FAC_MESSAGE ('mld_m103', 'Verwijderen rang'); +#else +DEF_FAC_MESSAGE ('mld_m103', 'Verwijderen functie personeelslid'); +#endif // LEV +DEF_FAC_MESSAGE ('mld_m104', ' wordt nog gebruikt bij personeelsleden. Doorgaan?'); +#if defined(LEV) +DEF_FAC_MESSAGE ('mld_m105', 'Verwijderen rang '); +#else +DEF_FAC_MESSAGE ('mld_m105', 'Verwijderen functie personeelslid '); +#endif // LEV +#if defined(LEV) +DEF_FAC_MESSAGE ('mld_m106', 'De omschrijving voor rang in niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m106', 'De omschrijving voor functie personeelslid in niet ingevuld.'); +#endif // LEV +#if defined(LEV) +DEF_FAC_MESSAGE ('mld_m107', 'Omschrijving voor de rang is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m107', 'Omschrijving voor de functie is niet ingevuld.'); +#endif // LEV +#if defined(LEV) +DEF_FAC_MESSAGE ('mld_m108', 'Omschrijving voor de rang bestaat al.'); +#else +DEF_FAC_MESSAGE ('mld_m108', 'Omschrijving voor de functie bestaat al.'); +#endif // LEV +DEF_FAC_MESSAGE ('mld_m109', 'Naam van de persoon is niet ingevuld.'); +DEF_FAC_MESSAGE ('mld_m110', 'Personeelnummer bestaat al.'); +DEF_FAC_MESSAGE ('mld_m111', 'Verwijderen personeelslid'); +DEF_FAC_MESSAGE ('mld_m113', 'Verwijderen personeelslid '); +DEF_FAC_MESSAGE ('mld_m114', 'Naam van de persoon is niet ingevuld.'); +DEF_FAC_MESSAGE ('mld_m115', 'Het personeelsnummer is niet ingevuld.'); +#if defined(LEV) +DEF_FAC_MESSAGE ('mld_m116', 'Rang is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m116', 'Functie van het personeelslid is niet ingevuld.'); +#endif // LEV +DEF_FAC_MESSAGE ('mld_m117', 'Er is geen meldingnummer opgegeven.'); +DEF_FAC_MESSAGE ('mld_m118', 'Groeperen op '); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m120', 'Er zijn geen verwerkte activiteiten.'); +#else +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('mld_m120', 'Er zijn geen administratief voltooide opdrachten.'); +#else +DEF_FAC_MESSAGE ('mld_m120', 'Er zijn geen verwerkte opdrachten.'); +#endif +#endif // MRA +DEF_FAC_MESSAGE ('mld_m121', 'Verwijderen bestelopdracht '); +DEF_FAC_MESSAGE ('mld_m122', ' bevat bestelregels. Doorgaan?'); +DEF_FAC_MESSAGE ('mld_m123', 'Verwijderen bestelregel '); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m124', 'Activiteit of omschrijving is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m124', 'Opdracht of omschrijving is niet ingevuld.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m125', 'Bedrijf is niet ingevuld.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('mld_m126', 'Object is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('mld_m126', 'Locatie is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('mld_m127', 'Hoofdcategorie of categorie is niet ingevuld.'); +DEF_FAC_MESSAGE ('mld_m128', 'Even geduld a.u.b.'); +#if defined(LEV) +DEF_FAC_MESSAGE ('mld_m129', 'Verwijderen is niet toegestaan, de rang komt nog voor bij personen.'); +#else +DEF_FAC_MESSAGE ('mld_m129', 'Verwijderen is niet toegestaan, de functie komt nog voor bij personen.'); +#endif // LEV +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('mld_m130', 'Alleen nog niet administratief voltooid verklaarde meldingen'); +#else +DEF_FAC_MESSAGE ('mld_m130', 'Alleen nog niet verwerkte meldingen'); +#endif +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m131', 'Bij deze melding is een verwerkte activiteit, verwijderen mag niet.'); +#else +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('mld_m131', 'Bij deze melding is een AV verklaarde opdracht, verwijderen mag niet.'); +#else +DEF_FAC_MESSAGE ('mld_m131', 'Bij deze melding is een verwerkte opdracht, verwijderen mag niet.'); +#endif +#endif // MRA +DEF_FAC_MESSAGE ('mld_m132', 'Er zijn gegevens van deze melding niet meer aanwezig.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m133', 'Activiteit invoeren'); +#else +DEF_FAC_MESSAGE ('mld_m133', 'Opdracht invoeren'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m134', 'Eerst activiteit invoeren?'); +#else +DEF_FAC_MESSAGE ('mld_m134', 'Eerst opdracht invoeren?'); +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m135', 'Verwerkte activiteit mag niet verwijderd worden.'); +#else +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('mld_m135', 'AV verklaarde opdracht mag niet verwijderd worden.'); +#else +DEF_FAC_MESSAGE ('mld_m135', 'Verwerkte opdracht mag niet verwijderd worden.'); +#endif +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m136', 'Afgemelde activiteiten kunnen niet afgemeld worden.'); +#else +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('mld_m136', 'Technisch voltooide opdrachten kunnen niet TV verklaard worden.'); +#else +DEF_FAC_MESSAGE ('mld_m136', 'Afgemelde opdrachten kunnen niet afgemeld worden.'); +#endif +#endif // MRA +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m137', 'Verwerkte activiteiten kunnen niet afgemeld of verwerkt worden.'); +#else +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('mld_m137', 'AV verklaarde opdrachten kunnen niet TV of AV verklaard worden.'); +#else +DEF_FAC_MESSAGE ('mld_m137', 'Verwerkte opdrachten kunnen niet afgemeld of verwerkt worden.'); +#endif +#endif // MRA +DEF_FAC_MESSAGE ('mld_m138', 'Deze melding bestaat niet.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m139', 'Bij deze melding is al een activiteit.'); +#else +DEF_FAC_MESSAGE ('mld_m139', 'Bij deze melding is al een opdracht.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m140', 'Printen/Verwerken'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m141', 'Opdrachtbon printen of activiteit verwerken'); +#else +DEF_FAC_MESSAGE ('mld_m141', 'Opdrachtbon printen of opdracht verwerken'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m142', 'Bij deze melding is de opdracht sanering al uitgegeven.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m143', 'Er is bij deze melding nog een uitgegeven activiteit.'); +#else +DEF_FAC_MESSAGE ('mld_m143', 'Er is bij deze melding nog een uitgegeven opdracht.'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m144', 'Storingsmelding'); +DEF_FAC_MESSAGE ('mld_m146', 'Het meldingnummer is niet ingevuld.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m147', 'Alleen nog niet verwerkte activiteiten'); +#else +DEF_FAC_MESSAGE ('mld_m147', 'Alleen nog niet verwerkte opdrachten'); +#endif // MRA +DEF_FAC_MESSAGE ('mld_m148', 'Storingsopdracht'); +DEF_FAC_MESSAGE ('mld_m149', 'Waarschuwing commandant'); +DEF_FAC_MESSAGE ('mld_m150', 'Het meldingnummer is niet ingevuld.'); +DEF_FAC_MESSAGE ('mld_m151', 'De begindatum is niet ingevuld.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m152', 'Er zijn nog uitgegeven activiteiten met deze kostenpost, verwijderen kan niet.'); +#elif defined(LEV)||defined(HUI) +DEF_FAC_MESSAGE ('mld_m152', 'Er zijn nog uitgegeven opdrachten met deze MZA, verwijderen kan niet.'); +#else +DEF_FAC_MESSAGE ('mld_m152', 'Er zijn nog uitgegeven opdrachten met deze kostenpost, verwijderen kan niet.'); +#endif // MRA +#if defined(LEV)||defined(HUI) +DEF_FAC_MESSAGE ('mld_m153', 'Verwijderen MZA '); +#else +DEF_FAC_MESSAGE ('mld_m153', 'Verwijderen kostenpost '); +#endif +DEF_FAC_MESSAGE ('mld_m154', 'Het budget is niet ingevuld.'); +DEF_FAC_MESSAGE ('mld_m155', 'Maximum aantal uren voor de persoon is reeds bereikt.'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m156', 'Er zijn gegevens van deze activiteit niet meer aanwezig.'); +#else +DEF_FAC_MESSAGE ('mld_m156', 'Er zijn gegevens van deze opdracht niet meer aanwezig.'); +#endif // MRA +DEF_FAC_MESSAGE ('MLD_M157', 'Er is geen default uitvoerende ingevuld.'); +DEF_FAC_MESSAGE ('MLD_M158', 'De opdracht komt nog op een werkopdracht voor.'); +DEF_FAC_MESSAGE ('MLD_M159', 'De opdracht van de bestelregel is niet goed.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('MLD_M160', 'Ingevoerde opdrachten kunnen niet TV of AV verklaard worden.'); +DEF_FAC_MESSAGE ('MLD_M163', 'Afgemelde of verwerkte opdrachten kunnen alleen bekeken worden.'); +#else +DEF_FAC_MESSAGE ('MLD_M160', 'Ingevoerde opdrachten kunnen niet afgemeld of verwerkt worden.'); +DEF_FAC_MESSAGE ('MLD_M163', 'Verwerkte opdrachten kunnen alleen bekeken worden.'); +#endif +DEF_FAC_MESSAGE ('MLD_M161', 'De uitvoerende van de opdracht is niet gevonden.'); +DEF_FAC_MESSAGE ('MLD_M162', 'De opdracht komt nog op een bestelopdracht voor.'); + +DEF_FAC_MESSAGE ('MLD_M164', 'Factuuradres'); +DEF_FAC_MESSAGE ('MLD_M165', 'Opdrachtgeveradres'); +DEF_FAC_MESSAGE ('MLD_M166', 'Afleveradres'); +DEF_FAC_MESSAGE ('MLD_M167', 'Verwijderen adres'); +DEF_FAC_MESSAGE ('MLD_M168', 'Verwijderen adres %1%?'); +DEF_FAC_MESSAGE ('MLD_M169', 'Factuuradres is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_M170', 'Opdrachtgeveradres is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_M171', 'Afleveradres is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_M172', 'Er is geen adrestype opgegeven.'); +DEF_FAC_MESSAGE ('MLD_M173', 'Verwijderen vrije dagen'); +DEF_FAC_MESSAGE ('MLD_M174', 'Verwijderen datum %1%?'); +#ifdef AKZ +DEF_FAC_MESSAGE ('MLD_M175', 'De velden ''TV verklaren'' en ''Geaccepteerd'' zijn beide ingevuld.'); +#else +DEF_FAC_MESSAGE ('MLD_M175', 'De velden ''Afgewezen'' en ''Geaccepteerd'' zijn beide ingevuld.'); +#endif +DEF_FAC_MESSAGE ('MLD_M176', 'Alle meldingen'); +DEF_FAC_MESSAGE ('MLD_M177', 'Verzonden meldingen'); +DEF_FAC_MESSAGE ('MLD_M178', 'Meldingen met overschreden acceptatietijd'); +DEF_FAC_MESSAGE ('MLD_M179', 'Afgewezen meldingen'); +DEF_FAC_MESSAGE ('MLD_M180', 'Geaccepteerde meldingen'); +DEF_FAC_MESSAGE ('MLD_M181', 'Nieuwe meldingen'); +DEF_FAC_MESSAGE ('MLD_M182', 'Te behandelen meldingen'); +/* 980502/KTH LOG1625 */ +/* DEF_FAC_MESSAGE ('MLD_M183', 'Geexporteerde meldingen'); */ +DEF_FAC_MESSAGE ('MLD_M184', 'U heeft niet genoeg rechten om deze functie te gebruiken.'); +#ifdef AKZ +DEF_FAC_MESSAGE ('MLD_M185', 'De geselecteerde meldingen hebben niet allemaal de status ''AV verklaard''.'); +#else +DEF_FAC_MESSAGE ('MLD_M185', 'De geselecteerde meldingen hebben niet allemaal de status ''Verwerkt''.'); +#endif +DEF_FAC_MESSAGE ('MLD_M186', 'Deze melding heeft geen opdrachten.'); +#ifdef AKZ +DEF_FAC_MESSAGE ('MLD_M187', 'AV verklaarde meldingen'); +#else +DEF_FAC_MESSAGE ('MLD_M187', 'Verwerkte meldingen'); +#endif +DEF_FAC_MESSAGE ('MLD_M188', 'Verwijderen standaard melding'); +DEF_FAC_MESSAGE ('MLD_M189', 'Verwijderen standaard melding %1%?'); +DEF_FAC_MESSAGE ('MLD_M190', 'Melding (BEPERKT MET SELECTIE)'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('MLD_M191', 'Meldingen TV verklaren mag alleen als er geen opdrachten bij de melding horen.'); +DEF_FAC_MESSAGE ('MLD_M192', 'Meldingen AV verklaren mag alleen als er geen opdrachten bij de melding horen.'); +DEF_FAC_MESSAGE ('MLD_M193', 'TV verklaarde meldingen'); +DEF_FAC_MESSAGE ('MLD_M194', 'TV verklaarde meldingen kunnen niet nogmaals TV verklaard worden.'); +DEF_FAC_MESSAGE ('MLD_M195', 'AV verklaarde meldingen kunnen niet meer TV verklaard worden.'); +DEF_FAC_MESSAGE ('MLD_M196', 'AV verklaarde meldingen kunnen niet nogmaals AV verklaard worden.'); +DEF_FAC_MESSAGE ('MLD_M197', 'TV verklaren meldingen'); +DEF_FAC_MESSAGE ('MLD_M198', 'TV verklaren melding(en) %1%?'); +DEF_FAC_MESSAGE ('MLD_M199', 'AV verklaren meldingen'); +DEF_FAC_MESSAGE ('MLD_M200', 'AV verklaren melding(en) %1%?'); +DEF_FAC_MESSAGE ('MLD_M201', 'Opdrachten kunnen alleen bij geaccepteerde of TV verklaarde meldingen horen.'); +DEF_FAC_MESSAGE ('MLD_M202', 'Alleen geaccepteerde meldingen kunnen TV verklaard worden.'); +DEF_FAC_MESSAGE ('MLD_M203', 'Alleen geaccepteerde of TV verklaarde meldingen kunnen AV verklaard worden.'); +DEF_FAC_MESSAGE ('MLD_M204', 'Alle opdrachten'); +DEF_FAC_MESSAGE ('MLD_M205', 'Ingevoerde opdrachten'); +DEF_FAC_MESSAGE ('MLD_M206', 'TV verklaarde opdrachten'); +DEF_FAC_MESSAGE ('MLD_M207', 'AV verklaarde opdrachten'); +#else +DEF_FAC_MESSAGE ('MLD_M191', 'Meldingen afmelden mag alleen als er geen opdrachten bij de melding horen.'); +DEF_FAC_MESSAGE ('MLD_M192', 'Meldingen verwerken mag alleen als er geen opdrachten bij de melding horen.'); +DEF_FAC_MESSAGE ('MLD_M193', 'Afgemelde meldingen'); +DEF_FAC_MESSAGE ('MLD_M194', 'Afgemelde meldingen kunnen niet nogmaals afgemeld worden.'); +DEF_FAC_MESSAGE ('MLD_M195', 'Verwerkte meldingen kunnen niet meer afgemeld worden.'); +DEF_FAC_MESSAGE ('MLD_M196', 'Verwerkte meldingen kunnen niet nogmaals verwerkt worden.'); +DEF_FAC_MESSAGE ('MLD_M197', 'Afmelden meldingen'); +DEF_FAC_MESSAGE ('MLD_M198', 'Afmelden melding(en) %1%?'); +DEF_FAC_MESSAGE ('MLD_M199', 'Verwerken meldingen'); +DEF_FAC_MESSAGE ('MLD_M200', 'Verwerken melding(en) %1%?'); +DEF_FAC_MESSAGE ('MLD_M201', 'Opdrachten kunnen alleen bij geaccepteerde of afgemelde meldingen horen.'); +DEF_FAC_MESSAGE ('MLD_M202', 'Alleen geaccepteerde meldingen kunnen afgemeld worden.'); +DEF_FAC_MESSAGE ('MLD_M203', 'Alleen geaccepteerde of afgemelde meldingen kunnen verwerkt worden.'); +DEF_FAC_MESSAGE ('MLD_M204', 'Alle opdrachten'); +DEF_FAC_MESSAGE ('MLD_M205', 'Ingevoerde opdrachten'); +DEF_FAC_MESSAGE ('MLD_M206', 'Afgemelde opdrachten'); +DEF_FAC_MESSAGE ('MLD_M207', 'Verwerkte opdrachten'); +#endif +DEF_FAC_MESSAGE ('MLD_M208', 'Er zijn afgewezen meldingen.'); +DEF_FAC_MESSAGE ('MLD_M209', 'Er zijn nieuwe meldingen.'); +DEF_FAC_MESSAGE ('MLD_M210', 'Er zijn meldingen met overschreden acceptatietijd.'); +DEF_FAC_MESSAGE ('MLD_M211', 'Te laat uitgevoerde meldingen'); +DEF_FAC_MESSAGE ('MLD_M212', 'Er zijn te laat uitgevoerde meldingen.'); + +/* 12-01-96 KTH Ervan uitgaande dat ze hierbij horen; worden bij MRA geupdate */ +DEF_FAC_MESSAGE ('MIL_1', 'Telefoonnummer 1'); +DEF_FAC_MESSAGE ('MIL_2', 'Telefoonnummer 2'); +DEF_FAC_MESSAGE ('MIL_3', 'Telefoonnummer 3'); +DEF_FAC_MESSAGE ('MIL_4', 'Telefoonnummer 4'); +DEF_FAC_MESSAGE ('MIL_5', 'Telefoonnummer 5'); +DEF_FAC_MESSAGE ('MRA_1', 'Telefoonnummer 1'); +DEF_FAC_MESSAGE ('MRA_2', 'Telefoonnummer 2'); +DEF_FAC_MESSAGE ('MRA_3', 'Telefoonnummer 3'); +DEF_FAC_MESSAGE ('MRA_4', 'Telefoonnummer 4'); +DEF_FAC_MESSAGE ('MRA_5', 'Telefoonnummer 5'); +DEF_FAC_MESSAGE ('ARB_1', 'Telefoonnummer 1'); +DEF_FAC_MESSAGE ('ARB_2', 'Telefoonnummer 2'); +DEF_FAC_MESSAGE ('ARB_3', 'Telefoonnummer 3'); +DEF_FAC_MESSAGE ('ARB_4', 'Telefoonnummer 4'); +DEF_FAC_MESSAGE ('ARB_5', 'Telefoonnummer 5'); + +/* MRA */ +DEF_FAC_MESSAGE ('mra_m001','Vervuilingsgraad'); +DEF_FAC_MESSAGE ('mra_m002','Omschrijving voor vervuilingsgraad is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m003','Verwijderen vervuilingsgraad '); +DEF_FAC_MESSAGE ('mra_m004','Compartiment'); +DEF_FAC_MESSAGE ('mra_m005','Verwijderen compartiment '); +DEF_FAC_MESSAGE ('mra_m006','Omschrijving voor compartiment is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m007','Stof '); +DEF_FAC_MESSAGE ('mra_m008','Verwijderen stof '); +DEF_FAC_MESSAGE ('mra_m009','Omschrijving compartiment is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m010','Omschrijving stof is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m011','Vervuilingsgraad bij stof'); +DEF_FAC_MESSAGE ('mra_m012','Verwijderen vervuilingsgraad bij stof '); +DEF_FAC_MESSAGE ('mra_m013','Stof is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m014','Vervuilingsgraad is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m015','Verwijderen eenheid '); +DEF_FAC_MESSAGE ('mra_m016','Omschrijving voor eenheid is niet ingevuld'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mra_m017','Verwijderen systeemcluster '); +#elif defined(BEB) +DEF_FAC_MESSAGE ('mra_m017','Verwijderen terrein/werk '); +#else +DEF_FAC_MESSAGE ('mra_m017','Verwijderen terreinsector '); +#endif // MRA +#ifdef INR +#if defined(MRA) +DEF_FAC_MESSAGE ('ALG_M195','Verwijderen systeemcluster %1% inclusief delen'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('ALG_M195','Verwijderen terrein/werk %1%, inclusief delen'); +#else +DEF_FAC_MESSAGE ('ALG_M195','Verwijderen terreinsector %1%, inclusief delen'); +#endif // MRA +#else +#if defined(MRA) +DEF_FAC_MESSAGE ('ALG_M195','Verwijderen systeemcluster %1%'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('ALG_M195','Verwijderen terrein/werk %1%'); +#else +DEF_FAC_MESSAGE ('ALG_M195','Verwijderen terreinsector %1%'); +#endif // MRA + +#endif // INR +#if defined(MRA) +DEF_FAC_MESSAGE ('mra_m018','Systeemcluster moet gekozen zijn.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('mra_m018','Terrein/werk moet gekozen zijn.'); +#else +DEF_FAC_MESSAGE ('mra_m018','Terreinsector moet gekozen zijn.'); +#endif // MRA +DEF_FAC_MESSAGE ('mra_m019','De omschrijving van de eenheid bestaat al'); +DEF_FAC_MESSAGE ('mra_m020','De omschrijving van de vervuilingsgraad bestaat al'); +DEF_FAC_MESSAGE ('mra_m021','De omschrijving van het compartiment bestaat al'); +DEF_FAC_MESSAGE ('mra_m022','De omschrijving van de stof bestaat al'); +#if defined(MRA) +DEF_FAC_MESSAGE ('mra_m023','De omschrijving van het systeemcluster bestaat al'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('mra_m023','De omschrijving van de terrein/werk bestaat al'); +#else +DEF_FAC_MESSAGE ('mra_m023','De omschrijving van de terreinsector bestaat al'); +#endif // MRA +DEF_FAC_MESSAGE ('mra_m024','De controlelijst is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m025','De controlelijst bestaat al'); +DEF_FAC_MESSAGE ('mra_m026','De deelsoort, onderdeelsoort of elementsoort bestaat niet'); +DEF_FAC_MESSAGE ('mra_m027','De omschrijving van het manco is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m028','De omschrijving van het manco bestaat al'); +DEF_FAC_MESSAGE ('mra_m029', 'De deelsoort komt nog voor in checklistvragen'); +DEF_FAC_MESSAGE ('mra_m030', 'De onderdeelsoort komt nog voor in checklistvragen'); +DEF_FAC_MESSAGE ('mra_m031', 'De elementsoort komt nog voor in checklistvragen'); +DEF_FAC_MESSAGE ('mra_m032', 'Verwijderen manco '); +DEF_FAC_MESSAGE ('mra_m033', 'Verwijderen checklistvraag '); +DEF_FAC_MESSAGE ('mra_m034', 'U moet een soort opgeven. '); +DEF_FAC_MESSAGE ('mra_m035', 'De omschrijving is niet ingevuld. '); +DEF_FAC_MESSAGE ('mra_m036', 'De controlelijst is niet ingevuld. '); + +/* 12-01-96 KTH waar zijn de andere nummers? */ + +DEF_FAC_MESSAGE ('mra_m51', 'Verwijderen manco bij checklistvraag'); +DEF_FAC_MESSAGE ('mra_m52', 'Manco bij checklistvraag wordt gebruikt. Doorgaan?'); +DEF_FAC_MESSAGE ('mra_m54', 'Checklistvraag is niet ingevuld.'); +DEF_FAC_MESSAGE ('mra_m55', 'Manco is niet ingevuld.'); +DEF_FAC_MESSAGE ('mra_m56', 'Verwijderen manco bij geinventariseerde checklistvraag '); +DEF_FAC_MESSAGE ('mra_m57', 'Er is een manco opgegeven. Aan deze checklistvraag kan niet voldaan zijn.'); +DEF_FAC_MESSAGE ('mra_m58', 'U moet hier Ja of Nee invullen.'); +DEF_FAC_MESSAGE ('mra_m037', 'Verwijderen checklistvraag bij gebouwsoort '); +DEF_FAC_MESSAGE ('mra_m038', 'Verwijderen checklistvraag bij ruimtesoort '); +DEF_FAC_MESSAGE ('mra_m039', 'Verwijderen checklistvraag '); +DEF_FAC_MESSAGE ('mra_m040', 'Verwijderen checklistvraag '); +DEF_FAC_MESSAGE ('mra_m041', 'Checklistvraag bij gebouwsoort'); +DEF_FAC_MESSAGE ('mra_m042', 'Checklistvraag bij ruimtesoort'); +DEF_FAC_MESSAGE ('mra_m043', 'Verwijderen proces '); +DEF_FAC_MESSAGE ('mra_m044', 'Proces is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m045', 'Checklistvraag bij proces'); +DEF_FAC_MESSAGE ('mra_m046', 'Verwijderen checklistvraag bij proces '); +DEF_FAC_MESSAGE ('mra_m070', 'Omschrijving eenheid is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m071', 'Omschrijving eenheid bestaat al'); +DEF_FAC_MESSAGE ('mra_m072', 'Omschrijving vervuilingsgraad is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m073', 'Omschrijving vervuilingsgraad bestaat al'); +DEF_FAC_MESSAGE ('mra_m074','Er bestaan nog stoffen bij dit compartiment'); +DEF_FAC_MESSAGE ('mra_m075','Omschrijving compartiment is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m076','Omschrijving compartiment bestaat al'); +DEF_FAC_MESSAGE ('mra_m077','Er bestaan nog vervuilingsgraden bij deze stof'); +DEF_FAC_MESSAGE ('mra_m078','Omschrijving stof is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m079','Omschrijving stof bestaat al'); +DEF_FAC_MESSAGE ('mra_m080','Er bestaan nog stoffen met deze vervuilingsgraad'); +DEF_FAC_MESSAGE ('mra_m083', 'Toelichting checklistvraag is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m084', 'Toelichting checklistvraag bestaat al'); +DEF_FAC_MESSAGE ('mra_m085', 'Omschrijving proces is niet ingevuld'); +DEF_FAC_MESSAGE ('mra_m086', 'Omschrijving proces bestaat al'); +DEF_FAC_MESSAGE ('mra_m087', 'Grenswaarde moet positief zijn'); +DEF_FAC_MESSAGE ('mra_m088', 'Bovengrens moet groter zijn dan ondergrens'); +DEF_FAC_MESSAGE ('mra_m089', 'Grenzen overlappen met een andere vervuilingsgraad'); + +DEF_FAC_MESSAGE ('mra_m090', 'Verwijderen hoofdcategorie '); +DEF_FAC_MESSAGE ('mra_m091', 'Omschrijving is niet ingevuld.'); +DEF_FAC_MESSAGE ('mra_m092', 'Verwijderen categorie '); +DEF_FAC_MESSAGE ('mra_m093', 'Hoofdcategorie is niet ingevuld.'); +DEF_FAC_MESSAGE ('mra_m094', 'Omschrijving is niet ingevuld.'); +DEF_FAC_MESSAGE ('mra_m095', 'Waarde mag niet nul zijn'); +DEF_FAC_MESSAGE ('mra_m096', 'Verwijderen vervuilingsgraad '); +DEF_FAC_MESSAGE ('mra_m097', 'Milieuchecklist bij proces'); +DEF_FAC_MESSAGE ('mra_m098', 'Arbochecklist bij proces'); +DEF_FAC_MESSAGE ('mra_m099', 'Rapportage mancolijst'); +DEF_FAC_MESSAGE ('mra_m100', 'Manco''s/Onroerendgoed'); +DEF_FAC_MESSAGE ('mra_m101', 'Manco''s/Checklistvraag'); +DEF_FAC_MESSAGE ('MRA_M102', 'Bij checklistvraag ''%1%'' zijn geen manco''s aangegeven.'); +DEF_FAC_MESSAGE ('MRA_M103', 'Deze functie is niet beschikbaar bij meerdere checklistvragen.'); +DEF_FAC_MESSAGE ('MRA_M104', 'De geselecteerde checklistvragen verwijderen?'); +DEF_FAC_MESSAGE ('MRA_M105', 'Rapport van checklistvragen en manco''s'); +DEF_FAC_MESSAGE ('MRA_M106', 'Rapport Mancolijst'); +DEF_FAC_MESSAGE ('MRA_M107', 'Overzicht Checklisten'); +DEF_FAC_MESSAGE ('MRA_M108', 'Rapport geinventariseerde checklist'); +DEF_FAC_MESSAGE ('MRA_M109', 'Checklist'); +DEF_FAC_MESSAGE ('MRA_M110', 'Ingevulde checklist'); + +DEF_FAC_MESSAGE ('ONRG_VOOR', 'Geinventariseerde checklistvraag '); +DEF_FAC_MESSAGE ('ONRG_MANC', 'Manco bij geinventariseerde checklistvraag'); +DEF_FAC_MESSAGE ('MRA_BEST_G', 'Proces bij gebouw'); +DEF_FAC_MESSAGE ('MRA_BEST_R', 'Proces bij ruimte'); +#if defined(MRA) +DEF_FAC_MESSAGE ('MRA_BEST_T', 'Proces bij systeemcluster'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('MRA_BEST_T', 'Proces bij terrein/werk'); +#else +DEF_FAC_MESSAGE ('MRA_BEST_T', 'Proces bij terreinsector'); +#endif // MRA +DEF_FAC_MESSAGE ('MANC_V_MIL', 'Manco bij milieuchecklist'); +DEF_FAC_MESSAGE ('MANC_V_ARB', 'Manco bij arbochecklist'); +DEF_FAC_MESSAGE ('MIL_VORS', 'Milieuchecklist'); +DEF_FAC_MESSAGE ('ARB_VORS', 'Arbochecklist'); + +/* PRS */ +DEF_FAC_MESSAGE ('prs_m001', 'De naam van de afdeling is niet ingevuld.'); +DEF_FAC_MESSAGE ('prs_m002', 'De naam van de afdeling bestaat reeds.'); +DEF_FAC_MESSAGE ('prs_m003', 'Verwijderen niet toegestaan, want er zijn nog afdelingen binnen deze afdeling.'); +DEF_FAC_MESSAGE ('prs_m004', 'Verwijderen niet toegestaan, want er zijn nog personen binnen deze afdeling.'); +DEF_FAC_MESSAGE ('prs_m005', 'Afdeling bestaat niet.'); +#if defined(LEV) +DEF_FAC_MESSAGE ('prs_m006', 'Omschrijving voor de rang is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('prs_m006', 'Omschrijving voor de functie is niet ingevuld.'); +#endif // LEV +#if defined(LEV) +DEF_FAC_MESSAGE ('prs_m007', 'Omschrijving voor de rang bestaat al.'); +#else +DEF_FAC_MESSAGE ('prs_m007', 'Omschrijving voor de functie bestaat al.'); +#endif // LEV +#if defined(LEV) +DEF_FAC_MESSAGE ('prs_m008', 'Verwijderen niet toegestaan, want er zijn nog personen met deze rang.'); +#else +DEF_FAC_MESSAGE ('prs_m008', 'Verwijderen niet toegestaan, want er zijn nog personen met deze functie.'); +#endif // LEV +#if defined(LEV) +DEF_FAC_MESSAGE ('prs_m009', 'Rang bestaat niet.'); +#else +DEF_FAC_MESSAGE ('prs_m009', 'Functie bestaat niet.'); +#endif // LEV +DEF_FAC_MESSAGE ('prs_m010', 'Naam van de persoon is niet ingevuld.'); +DEF_FAC_MESSAGE ('prs_m011', 'Persoon bestaat niet.'); +DEF_FAC_MESSAGE ('prs_m012', 'Personeelnummer bestaat al.'); +DEF_FAC_MESSAGE ('prs_m013', 'Personeelnummer bestaat niet.'); +#if defined(LEV) +DEF_FAC_MESSAGE ('prs_m014', 'Verwijderen is niet toegestaan, de rang komt nog voor bij personen.'); +#else +DEF_FAC_MESSAGE ('prs_m014', 'Verwijderen is niet toegestaan, de functie komt nog voor bij personen.'); +#endif // LEV +DEF_FAC_MESSAGE ('prs_m015', 'Verwijderen is niet toegestaan, er zijn nog personen bij deze afdeling.'); +DEF_FAC_MESSAGE ('prs_m016', 'De werkplek is nog in gebruik door afdelingen en/of personen.'); +DEF_FAC_MESSAGE ('prs_m017', 'Verwijderen afdeling '); +#if defined(LEV) +DEF_FAC_MESSAGE ('prs_m018', 'Verwijderen rang '); +#else +DEF_FAC_MESSAGE ('prs_m018', 'Verwijderen functie '); +#endif // LEV +DEF_FAC_MESSAGE ('prs_m019', 'Verwijderen persoon '); +#if defined(LEV) +DEF_FAC_MESSAGE ('prs_m020', 'De rang is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('prs_m020', 'De functie is niet ingevuld.'); +#endif // LEV +DEF_FAC_MESSAGE ('prs_m021', 'De ingangsdatum is niet ingevuld.'); +DEF_FAC_MESSAGE ('prs_m022', 'Verwijderen werkplek '); +DEF_FAC_MESSAGE ('prs_m023', 'De ruimte is niet ingevuld.'); +DEF_FAC_MESSAGE ('prs_m024', 'Het volgnummer van de werkplek is niet ingevuld.'); +DEF_FAC_MESSAGE ('prs_m025', 'De oppervlakte is niet ingevuld.'); +DEF_FAC_MESSAGE ('prs_m026', 'De oppervlakte van de werkplekken is groter dan de oppervlakte van de ruimte.'); +DEF_FAC_MESSAGE ('prs_m027', 'U kunt alleen een afdeling/persoon bij een werkplek verwijderen.'); +DEF_FAC_MESSAGE ('prs_m028', 'Afdeling/persoon bij werkplek'); +DEF_FAC_MESSAGE ('prs_m029', 'Verwijderen afdeling/persoon bij werkplek '); +DEF_FAC_MESSAGE ('prs_m030', 'De werkplek is niet ingevuld.'); +DEF_FAC_MESSAGE ('prs_m031', 'Persoon of Afdeling moet worden ingevuld.'); +DEF_FAC_MESSAGE ('prs_m032', 'Werkplekken bij afdeling/persoon'); +DEF_FAC_MESSAGE ('prs_m033', 'Verwijderen werkplek'); +DEF_FAC_MESSAGE ('prs_m034', 'Er zijn nog werkplekken bij deze ruimte, het soort mag niet veranderd worden.'); +DEF_FAC_MESSAGE ('prs_m035', 'Bij ruimtes van deze soort horen nog werkplekken, de wijziging mag niet.'); +DEF_FAC_MESSAGE ('prs_m036', 'Overzicht ruimtegebruik afdelingen'); +DEF_FAC_MESSAGE ('prs_m037', 'Totaal voor afdeling '); +DEF_FAC_MESSAGE ('prs_m038', 'Totaal voor alle genoemde afdelingen'); +DEF_FAC_MESSAGE ('prs_m039', 'Referentie naar de tekening is onbekend voor deze werkplek.'); +DEF_FAC_MESSAGE ('prs_m040', 'Referentie naar de database is onbekend voor de geselecteerde werkplek.'); +DEF_FAC_MESSAGE ('prs_m041', 'De oppervlakte moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('prs_m042', 'Het dienstverband moet tussen 0 en 100% liggen.'); +DEF_FAC_MESSAGE ('prs_m043', 'Geen van de betreffende ruimtes heeft een referentie naar de tekening.'); +DEF_FAC_MESSAGE ('prs_m044', 'Voor storing beschikbaar.'); +DEF_FAC_MESSAGE ('prs_m045', 'Niet verhuurbare ruimte'); +DEF_FAC_MESSAGE ('prs_m046', 'Gemeenschappelijke ruimte'); +DEF_FAC_MESSAGE ('prs_m047', 'Verhuurbare ruimte'); +DEF_FAC_MESSAGE ('prs_m048', 'Afdeling/persoon'); +DEF_FAC_MESSAGE ('prs_m049', 'U kunt alleen een afdeling/persoon bekijken.'); +DEF_FAC_MESSAGE ('prs_m050', 'Verwijderen afdeling/persoon'); +DEF_FAC_MESSAGE ('prs_m051', 'Bezetting is meer dan maximaal toegestaan.'); +DEF_FAC_MESSAGE ('PRS_M052', 'Inzetbaar voor storing'); +DEF_FAC_MESSAGE ('PRS_M053', 'Afdeling moet worden ingevuld'); +DEF_FAC_MESSAGE ('PRS_M054', 'Verwijderen mag niet, de slaapplaats is nog in gebruik.'); +#ifdef HUI +DEF_FAC_MESSAGE ('PRS_M055', 'Verwijderen mag niet, er is nog gekoppelde inventaris.'); +#else +DEF_FAC_MESSAGE ('PRS_M055', 'Verwijderen mag niet, er zijn nog gekoppelde artikelen.'); +#endif +DEF_FAC_MESSAGE ('PRS_M056', 'Deze ruimte kan geen werkplekken herbergen.'); +DEF_FAC_MESSAGE ('PRS_M057', 'Deze ruimte kan geen slaapplaatsen herbergen.'); +DEF_FAC_MESSAGE ('PRS_M058', 'Bevat slaapplaatsen'); +DEF_FAC_MESSAGE ('PRS_M059', 'Functie wordt nog default uitvoerende bij een deelsoort gebruikt.'); +#if defined(LEV) +DEF_FAC_MESSAGE ('PRS_M060', 'Er zijn nog rangen bij dit bedrijf'); +#else +DEF_FAC_MESSAGE ('PRS_M060', 'Er zijn nog functies bij dit bedrijf'); +#endif +DEF_FAC_MESSAGE ('PRS_M061', 'Verwijderen bestek '); +DEF_FAC_MESSAGE ('PRS_M062', 'Inclusief verlopen bestekken'); +DEF_FAC_MESSAGE ('PRS_M063', 'Het besteknummer is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_M064', 'De omschrijving van het bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_M065', 'De materiaalpost van het bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_M066', 'De begindatum van het bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_M067', 'De einddatum van het bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_M068', 'Er zijn nog uitgegeven opdrachten bij het bestek.'); +DEF_FAC_MESSAGE ('PRS_M069', 'De discipline van het bestek is aangegeven als default uitvoerende.'); +DEF_FAC_MESSAGE ('PRS_M070', 'Discipline bij bestek'); +DEF_FAC_MESSAGE ('PRS_M071', 'Verwijderen koppeling discipline en bestek'); +DEF_FAC_MESSAGE ('PRS_M072', 'Verwijderen koppeling tussen '); +DEF_FAC_MESSAGE ('PRS_M073', 'De uurprijs is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_M074', 'Het aantal uren is niet ingevuld.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('PRS_M075', 'Object bij bestek'); +DEF_FAC_MESSAGE ('PRS_M076', 'Verwijderen koppeling object en bestek'); +#else +DEF_FAC_MESSAGE ('PRS_M075', 'Locatie bij bestek'); +DEF_FAC_MESSAGE ('PRS_M076', 'Verwijderen koppeling locatie en bestek'); +#endif +DEF_FAC_MESSAGE ('PRS_M077', 'Verwijderen koppeling tussen '); +DEF_FAC_MESSAGE ('PRS_M078', 'Bedrijf is niet ingevuld'); +DEF_FAC_MESSAGE ('PRS_M079', 'Bestek kan niet als uitvoerende voor deze discipline gebruikt worden'); +DEF_FAC_MESSAGE ('PRS_M080', 'Uurloon uitvoerende is niet bekend'); +DEF_FAC_MESSAGE ('PRS_M081', 'Limiet voor materiaalkosten bij bestek wordt overschreden'); +DEF_FAC_MESSAGE ('PRS_M082', 'Limiet voor aantal uren bij discipline bij bestek wordt overschreden'); +DEF_FAC_MESSAGE ('PRS_M083', 'Er zijn nog bestekken van het bedrijf'); +DEF_FAC_MESSAGE ('PRS_M084', 'Er zijn nog uitgegeven opdrachten bij de functie'); +DEF_FAC_MESSAGE ('PRS_M085', 'Er zijn nog uitgegeven opdrachten bij de persoon'); +DEF_FAC_MESSAGE ('PRS_M086', 'Er zijn nog uitgegeven opdrachten bij het bedrijf'); +DEF_FAC_MESSAGE ('PRS_M087', 'Het bedrijf is aangegeven als default uitvoerende'); +DEF_FAC_MESSAGE ('PRS_M088', 'Er zijn nog opdrachten bij de discipline van het bestek'); +DEF_FAC_MESSAGE ('PRS_M089', 'Beperkt rapport'); +DEF_FAC_MESSAGE ('PRS_M090', 'Uitgebreid rapport'); +DEF_FAC_MESSAGE ('PRS_M091', 'Er zijn nog personen bij deze functie, wijzigen van bedrijf kan niet.'); +#ifdef BCO +DEF_FAC_MESSAGE ('PRS_M092', 'Er zijn nog opdrachten van het bestek bij dit object.'); +#else +DEF_FAC_MESSAGE ('PRS_M092', 'Er zijn nog opdrachten van het bestek bij deze locatie.'); +#endif +DEF_FAC_MESSAGE ('PRS_M093', 'File %1% bestaat niet.'); +DEF_FAC_MESSAGE ('PRS_M094', '%1% kan niet gestart worden.'); +DEF_FAC_MESSAGE ('PRS_M095', 'Verwijderen afdeling/persoon '); +DEF_FAC_MESSAGE ('PRS_M096', 'Het opgegeven bestek is verlopen.'); +#ifdef BCO +DEF_FAC_MESSAGE ('PRS_M097', 'Er zijn nog opdrachten van het bestek bij het oude object.'); +#else +DEF_FAC_MESSAGE ('PRS_M097', 'Er zijn nog opdrachten van het bestek bij de oude locatie.'); +#endif +#ifdef BCO +DEF_FAC_MESSAGE ('PRS_M098', 'Er zijn nog opdrachten van het bestek bij andere objecten.'); +#else +DEF_FAC_MESSAGE ('PRS_M098', 'Er zijn nog opdrachten van het bestek bij andere locaties.'); +#endif +#ifdef BCO +DEF_FAC_MESSAGE ('PRS_M099', 'Er zijn nog preventieve opdrachten van het bestek bij andere objecten.'); +#else +DEF_FAC_MESSAGE ('PRS_M099', 'Er zijn nog preventieve opdrachten van het bestek bij andere locaties.'); +#endif +DEF_FAC_MESSAGE ('PRS_M100', 'Referentie naar de database is onbekend voor de geselecteerde werkplek.'); +DEF_FAC_MESSAGE ('PRS_M101', 'Het bedrijf is leverancier omdat er nog bestelopdrachten bij horen.'); +DEF_FAC_MESSAGE ('PRS_M102', 'Het bedrijf is komt nog als default uitvoerende voor.'); +DEF_FAC_MESSAGE ('PRS_M103', 'Functie bij bedrijf is komt nog als default uitvoerende voor.'); +DEF_FAC_MESSAGE ('PRS_M104', 'Het bedrijf is als uitvoerende opgeveven bij openstaande opdrachten.'); +DEF_FAC_MESSAGE ('PRS_M105', 'Functie bij bedrijf is als uitvoerende opgeveven bij openstaande opdrachten.'); +DEF_FAC_MESSAGE ('PRS_M106', 'Het bedrijf heeft nog bestekken.'); +DEF_FAC_MESSAGE ('PRS_M107', 'Ongebruikte werkplekken overige ruimtes'); +DEF_FAC_MESSAGE ('PRS_M108', 'Bezetting moet positief zijn.'); +/* Meldingen voor Importeren Personen */ +DEF_FAC_MESSAGE ('PRS_M109', 'Importeren personen'); +DEF_FAC_MESSAGE ('PRS_M110', 'Alleen personen importeren'); +DEF_FAC_MESSAGE ('PRS_M111', 'Personen importeren en koppelen aan werkplekken'); +DEF_FAC_MESSAGE ('PRS_M112', 'Niet bestaande werkplekken automatisch aanmaken'); +DEF_FAC_MESSAGE ('PRS_M113', 'Telefoonnummers van personen importeren'); +DEF_FAC_MESSAGE ('PRS_M114', 'Afdelingen bij personen importeren'); +DEF_FAC_MESSAGE ('PRS_M115', 'Persoon ''%1% %2%'' komt vaker voor.'); +DEF_FAC_MESSAGE ('PRS_M116', 'Persoon ''%1% %2%'' toegevoegd.'); +DEF_FAC_MESSAGE ('PRS_M117', 'Persoon ''%1% %2%'' kan niet toegevoegd worden.'); +DEF_FAC_MESSAGE ('PRS_M118', 'Persoon ''%1% %2%'' gewijzigd.'); +DEF_FAC_MESSAGE ('PRS_M119', 'Persoon ''%1% %2%'' kan niet gewijzigd worden.'); +DEF_FAC_MESSAGE ('PRS_M120', 'Persoon ''%1% %2%'' blijft ongewijzigd.'); +DEF_FAC_MESSAGE ('PRS_M121', 'Aantal personen die dubbel voorkomen : %1%'); +DEF_FAC_MESSAGE ('PRS_M122', 'Aantal toegevoegde personen : %1%'); +DEF_FAC_MESSAGE ('PRS_M123', 'Aantal niet toegevoegde personen : %1%'); +DEF_FAC_MESSAGE ('PRS_M124', 'Aantal ongewijzigde personen : %1%'); +DEF_FAC_MESSAGE ('PRS_M125', 'Aantal gewijzigde personen : %1%'); +DEF_FAC_MESSAGE ('PRS_M126', 'Aantal toegevoegde werkplekken : %1%'); +DEF_FAC_MESSAGE ('PRS_M127', 'Aantal niet toegevoegde werkplekken : %1%'); +DEF_FAC_MESSAGE ('PRS_M128', 'Plaats ''%1% %2%'' van persoon ''%3% %4%'' niet gevonden.'); +DEF_FAC_MESSAGE ('PRS_M129', 'Plaats ''%1% %2%'' van persoon ''%3% %4%'' is geen werkruimte.'); +DEF_FAC_MESSAGE ('PRS_M130', 'Maximum aantal werkplekken in ruimte ''%1% %2%'' is bereikt.'); +DEF_FAC_MESSAGE ('PRS_M131', 'In ruimte ''%1% %2%'' kan geen werkplek toegevoegd worden voor persoon ''%3% %4%''.'); +DEF_FAC_MESSAGE ('PRS_M132', 'Werkplek ''%1% %2%'' kan niet gekoppeld worden aan persoon ''%3% %4%''.'); +DEF_FAC_MESSAGE ('PRS_M133', 'Aantal werkplekken gekoppeld : %1%'); +DEF_FAC_MESSAGE ('PRS_M134', 'Aantal werkplekken niet gekoppeld : %1%'); +DEF_FAC_MESSAGE ('PRS_M135', 'Nieuwe werkplek ''%1% %2%'' is gekoppeld worden aan persoon ''%3% %4%''.'); +DEF_FAC_MESSAGE ('PRS_M136', 'Resultaat import'); +DEF_FAC_MESSAGE ('PRS_M137', 'De import zal het volgende resultaat opleveren:'); +DEF_FAC_MESSAGE ('PRS_M138', 'Personen toegevoegd'); +DEF_FAC_MESSAGE ('PRS_M139', 'Personen niet toegevoegd'); +DEF_FAC_MESSAGE ('PRS_M140', 'Personen gewijzigd'); +DEF_FAC_MESSAGE ('PRS_M141', 'Personen ongewijzigd'); +DEF_FAC_MESSAGE ('PRS_M142', 'Werkplekken toegevoegd'); +DEF_FAC_MESSAGE ('PRS_M143', 'Werkplekken niet toegevoegd'); +DEF_FAC_MESSAGE ('PRS_M144', 'Werkplekken gekoppeld'); +DEF_FAC_MESSAGE ('PRS_M145', 'Werkplekken niet gekoppeld'); +DEF_FAC_MESSAGE ('PRS_M146', 'Logbestand:'); +DEF_FAC_MESSAGE ('PRS_M147', 'Personen dubbel'); +DEF_FAC_MESSAGE ('PRS_M148', 'Import doorgevoegd.'); +DEF_FAC_MESSAGE ('PRS_M149', 'Import geannuleerd.'); +DEF_FAC_MESSAGE ('PRS_M150', '''Benut opp. vanaf'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); +DEF_FAC_MESSAGE ('PRS_M151', '''Benut opp. t/m'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); +DEF_FAC_MESSAGE ('PRS_M152', '''Benut opp. t/m'' mag niet kleiner zijn dan ''Benut opp. vanaf''.'); +DEF_FAC_MESSAGE ('PRS_M153', '''Bezet(%) vanaf'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); +DEF_FAC_MESSAGE ('PRS_M154', '''Bezet(%) t/m'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); +DEF_FAC_MESSAGE ('PRS_M155', '''Bezet(%) t/m'' mag niet kleiner zijn dan ''Bezet(%) vanaf''.'); +DEF_FAC_MESSAGE ('PRS_M156', '''Norm(%) vanaf'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); +DEF_FAC_MESSAGE ('PRS_M157', '''Norm(%) t/m'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); +DEF_FAC_MESSAGE ('PRS_M158', '''Norm(%) t/m'' mag niet kleiner zijn dan ''Norm vanaf''. '); + + +/* SLE */ +DEF_FAC_MESSAGE ('sle_m1', 'Deze cylinder bestaat al.'); +DEF_FAC_MESSAGE ('sle_m2', 'Verwijderen cylinder '); +#if defined(MRA) +DEF_FAC_MESSAGE ('sle_m3', 'Het gebouw, de bouwlaag, de ruimte of het systeemcluster is niet ingevuld.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('sle_m3', 'Het gebouw, de bouwlaag, de ruimte of de terrein/werk is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('sle_m3', 'Het gebouw, de bouwlaag, de ruimte of de terreinsector is niet ingevuld.'); +#endif // MRA +DEF_FAC_MESSAGE ('sle_m4', 'De omschrijving van de cylinder is niet ingevuld.'); +DEF_FAC_MESSAGE ('sle_m5', 'Verwijderen sleutel '); +DEF_FAC_MESSAGE ('sle_m6', 'Sleutel bij cylinder'); +DEF_FAC_MESSAGE ('sle_m7', 'De omschrijving van de sleutel is niet ingevuld.'); +DEF_FAC_MESSAGE ('sle_m8', 'Het aantal sleutels is niet ingevuld.'); +DEF_FAC_MESSAGE ('sle_m9', 'Sleutels bij cylinder'); +DEF_FAC_MESSAGE ('sle_m10', 'Verwijderen cylinder bij sleutel '); +DEF_FAC_MESSAGE ('sle_m11', 'De sleutel is niet ingevuld.'); +DEF_FAC_MESSAGE ('sle_m12', 'De cylinder is niet ingevuld.'); +DEF_FAC_MESSAGE ('sle_m13', 'Het personeelslid is niet ingevuld.'); +DEF_FAC_MESSAGE ('sle_m17', 'Toegang'); +DEF_FAC_MESSAGE ('sle_m18', 'Sleutelbezit'); +DEF_FAC_MESSAGE ('sle_m19', 'Innemen sleutel '); +DEF_FAC_MESSAGE ('sle_m20', 'Verwijderen sleutel bij cylinder '); +DEF_FAC_MESSAGE ('sle_m21', 'Cylinders bij sleutel'); +DEF_FAC_MESSAGE ('sle_m22', 'De sleutels zijn allemaal uitgegeven.'); +DEF_FAC_MESSAGE ('sle_m23', 'De laatste cylinder van een ruimte kan niet verwijderd worden.'); +DEF_FAC_MESSAGE ('sle_m24', ' van '); +DEF_FAC_MESSAGE ('sle_m25', 'Deze sleutel is vaker uitgegeven dan er sleutels zijn.'); +DEF_FAC_MESSAGE ('SLE_M026', 'Importeren sleutels'); +DEF_FAC_MESSAGE ('SLE_M027', 'De directory van DATAKEY is niet ingevuld.'); +DEF_FAC_MESSAGE ('SLE_M028', 'DATAKEY-directory'); +DEF_FAC_MESSAGE ('SLE_M029', '1'); +DEF_FAC_MESSAGE ('SLE_M030', '2'); +DEF_FAC_MESSAGE ('SLE_M031', '3'); +DEF_FAC_MESSAGE ('SLE_M032', '4'); +DEF_FAC_MESSAGE ('SLE_M033', '5'); +DEF_FAC_MESSAGE ('SLE_M034', 'Er is geen geldig project ingevuld.'); +DEF_FAC_MESSAGE ('SLE_M035', 'De ingevulde directory bevat geen DATAKEY-bestanden.'); +DEF_FAC_MESSAGE ('SLE_M036', 'Project'); +DEF_FAC_MESSAGE ('SLE_M037', 'Resultaat van import: '); +DEF_FAC_MESSAGE ('SLE_M038', 'Is de extra omschrijving <%1%> voor het project goed?'); +DEF_FAC_MESSAGE ('SLE_M039', '- %1% sleutels toegevoegd.'); +DEF_FAC_MESSAGE ('SLE_M040', '- Het aantal van %1% sleutels gewijzigd.'); +DEF_FAC_MESSAGE ('SLE_M041', 'Projectomschrijving'); +DEF_FAC_MESSAGE ('SLE_M042', '- %1% sleutels niet toegevoegd.'); + +/* INV */ + /* DEF_FAC_MESSAGE ('inv_m010', 'Gebonden artikelen'); */ + /* DEF_FAC_MESSAGE ('inv_m011', 'Ongebonden artikelen'); */ + /* DEF_FAC_MESSAGE ('inv_m014', 'Artikel koppeling'); */ + /* DEF_FAC_MESSAGE ('inv_m020', 'Naar koppelscherm voor artikel '); */ + /* DEF_FAC_MESSAGE ('inv_m015', 'is niet in gebruik, waaraan wilt u het artikel koppelen?'); */ + /* DEF_FAC_MESSAGE ('inv_m021', 'Koppelen aan ruimte, afdeling of persoon?'); */ + /* DEF_FAC_MESSAGE ('inv_m022', 'Koppelen aan werkplek, afdeling of persoon?'); */ + /* DEF_FAC_MESSAGE ('inv_m003', 'Verwijderen groepsoort '); */ + /* DEF_FAC_MESSAGE ('inv_m005', 'De omschrijving voor de groepsoort is niet ingevuld.'); */ + /* DEF_FAC_MESSAGE ('inv_m006', 'De groepsoort is niet ingevuld.'); */ + /* DEF_FAC_MESSAGE ('inv_m007', 'De omschrijving voor de artikelsoort is niet ingevuld.'); */ + /* DEF_FAC_MESSAGE ('inv_m008', 'Verwijderen artikelsoort '); */ + /* DEF_FAC_MESSAGE ('inv_m012', 'Het artikelsoort is niet ingevuld.'); */ + /* DEF_FAC_MESSAGE ('inv_m031', 'Er zijn nog artikelen bij deze artikelsoort.'); */ + /* DEF_FAC_MESSAGE ('inv_m032', 'Er zijn artikelen bij deze artikelsoort. De koppeling mag niet gewijzigd worden.'); */ +DEF_FAC_MESSAGE ('inv_m001', 'Verwijderen vakgroep '); +DEF_FAC_MESSAGE ('inv_m002', 'De omschrijving van de vakgroep is niet ingevuld.'); +#ifdef HUI +DEF_FAC_MESSAGE ('inv_m003', 'Verwijderen artikeltype '); +#else +DEF_FAC_MESSAGE ('inv_m003', 'Verwijderen artikelgroep '); +#endif +DEF_FAC_MESSAGE ('inv_m004', 'De vakgroep is niet ingevuld.'); +#ifdef HUI +DEF_FAC_MESSAGE ('inv_m005', 'De omschrijving voor het artikeltype is niet ingevuld.'); +DEF_FAC_MESSAGE ('inv_m006', 'Het artikeltype is niet ingevuld.'); +DEF_FAC_MESSAGE ('inv_m007', 'De omschrijving voor het artikel is niet ingevuld.'); +DEF_FAC_MESSAGE ('inv_m008', 'Verwijderen artikel '); +DEF_FAC_MESSAGE ('inv_m009', 'Verwijderen inventaris '); +#else +DEF_FAC_MESSAGE ('inv_m005', 'De omschrijving voor de artikelgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('inv_m006', 'De artikelgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('inv_m007', 'De omschrijving voor het artikelsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('inv_m008', 'Verwijderen artikelsoort '); +DEF_FAC_MESSAGE ('inv_m009', 'Verwijderen artikel '); +#endif +DEF_FAC_MESSAGE ('inv_m010', 'In gebruik'); +DEF_FAC_MESSAGE ('inv_m011', 'Magazijn'); +#ifdef HUI +DEF_FAC_MESSAGE ('inv_m012', 'Het artikel is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('inv_m012', 'Het artikelsoort is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('inv_m013', 'De omschrijving is niet ingevuld.'); +#ifdef HUI +DEF_FAC_MESSAGE ('inv_m014', 'Inventaristoewijzing'); +DEF_FAC_MESSAGE ('inv_m015', 'is niet in gebruik, waaraan wilt u de inventaris toewijzen?'); +#else +DEF_FAC_MESSAGE ('inv_m014', 'Artikeltoewijzing'); +DEF_FAC_MESSAGE ('inv_m015', 'is niet in gebruik, waaraan wilt u het artikel toewijzen?'); +#endif +DEF_FAC_MESSAGE ('INV_M016', 'Eigenaar van inventaris'); +DEF_FAC_MESSAGE ('inv_m017', 'Inventaris bij persoon'); +DEF_FAC_MESSAGE ('inv_m018', 'Ontkoppelen of Verwijderen'); +DEF_FAC_MESSAGE ('inv_m019', 'ontkoppelen of verwijderen?'); +#ifdef HUI +DEF_FAC_MESSAGE ('inv_m020', 'Naar toewijzingsscherm voor inventaris '); +#else +DEF_FAC_MESSAGE ('inv_m020', 'Naar toewijzingsscherm voor artikel '); +#endif +DEF_FAC_MESSAGE ('inv_m021', 'Toewijzen aan ruimte, afdeling of persoon?'); +DEF_FAC_MESSAGE ('inv_m022', 'Toewijzen aan werkplek, afdeling of persoon?'); +DEF_FAC_MESSAGE ('inv_m023', 'De ruimte is niet ingevuld.'); +DEF_FAC_MESSAGE ('INV_M024', 'De plaats is niet ingevuld.'); +#ifdef HUI +DEF_FAC_MESSAGE ('inv_m025', 'De inventaris is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('inv_m025', 'Het artikel is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('inv_m026', 'Plaatsen inventaris'); +DEF_FAC_MESSAGE ('inv_m027', 'Verplaatsen inventaris'); +DEF_FAC_MESSAGE ('INV_M028', 'De eigenaar is niet ingevuld.'); +DEF_FAC_MESSAGE ('inv_m029', 'De persoon is niet ingevuld.'); +DEF_FAC_MESSAGE ('INV_M030', 'Inventaris in ruimte'); +#ifdef HUI +DEF_FAC_MESSAGE ('inv_m031', 'Deze inventaris wordt nog gebruikt.'); +DEF_FAC_MESSAGE ('inv_m032', 'Dize inventaris wordt gebruikt. De toewijzing mag niet gewijzigd worden.'); +#else +DEF_FAC_MESSAGE ('inv_m031', 'Dit artikel wordt nog gebruikt.'); +DEF_FAC_MESSAGE ('inv_m032', 'Dit artikel wordt gebruikt. De toewijzing mag niet gewijzigd worden.'); +#endif +DEF_FAC_MESSAGE ('inv_m033', 'Inventaris bij werkplek'); +#ifdef HUI +DEF_FAC_MESSAGE ('inv_m034', 'Er is geen AutoCAD symbool beschikbaar voor dit artikel.'); +#else +DEF_FAC_MESSAGE ('inv_m034', 'Er is geen AutoCAD symbool beschikbaar voor dit artikelsoort.'); +#endif +DEF_FAC_MESSAGE ('INV_M035', 'Overzicht inventaris'); +DEF_FAC_MESSAGE ('INV_M036', 'met prijzen'); +DEF_FAC_MESSAGE ('INV_M037', 'Verhuisformulier'); +DEF_FAC_MESSAGE ('INV_M038', 'Het registratienummer moet ingevuld worden.'); +DEF_FAC_MESSAGE ('INV_M039', 'De datum is niet ingevuld.'); +DEF_FAC_MESSAGE ('INV_M040', 'Gewenste verhuisdatum'); +DEF_FAC_MESSAGE ('INV_M041', 'Het artikelnummer is niet ingevuld.'); +DEF_FAC_MESSAGE ('INV_M042', 'Gereserveerd voor afvoer'); +#ifdef HUI +DEF_FAC_MESSAGE ('INV_M043', 'Inventaris moet gekozen zijn.'); +DEF_FAC_MESSAGE ('INV_M044', 'Aantal te verwijderen inventarissen'); +#else +DEF_FAC_MESSAGE ('INV_M043', 'Artikel moet gekozen zijn.'); +DEF_FAC_MESSAGE ('INV_M044', 'Aantal te verwijderen artikelen'); +#endif +DEF_FAC_MESSAGE ('INV_M045', 'Het te verwijderen aantal moet kleiner of gelijk zijn aan het aanwezige aantal.'); +DEF_FAC_MESSAGE ('INV_M046', 'Het aantal is niet ingevuld.'); +DEF_FAC_MESSAGE ('INV_M047', 'Bruikleen inventaris'); +#ifdef HUI +DEF_FAC_MESSAGE ('INV_M048', 'De inventaris is al van '); +DEF_FAC_MESSAGE ('INV_M049', 'Er is geen inventaris geselecteerd'); +DEF_FAC_MESSAGE ('INV_M050', 'De geselecteerd inventaris ontkoppelen of verwijderen?'); +#else +DEF_FAC_MESSAGE ('INV_M048', 'Het artikel is al van '); +DEF_FAC_MESSAGE ('INV_M049', 'Er zijn geen artikelen geselecteerd'); +DEF_FAC_MESSAGE ('INV_M050', 'De geselecteerd artikelen ontkoppelen of verwijderen?'); +#endif +DEF_FAC_MESSAGE ('INV_M051', 'Afvoeren of verwijderen'); +#ifdef HUI +DEF_FAC_MESSAGE ('INV_M052', 'De geselecteerd inventaris afvoeren of verwijderen?'); +DEF_FAC_MESSAGE ('INV_M053', 'De geselecteerd inventaris koppelen aan persoon'); +DEF_FAC_MESSAGE ('INV_M054', 'Referentie naar de database is onbekend voor de geselecteerde inventaris.'); +#else +DEF_FAC_MESSAGE ('INV_M052', 'De geselecteerd artikelen afvoeren of verwijderen?'); +DEF_FAC_MESSAGE ('INV_M053', 'De geselecteerd artikelen koppelen aan persoon'); +DEF_FAC_MESSAGE ('INV_M054', 'Referentie naar de database is onbekend voor het geselecteerde artikel.'); +#endif +DEF_FAC_MESSAGE ('INV_M055', 'Inventaris verhuizen'); +DEF_FAC_MESSAGE ('INV_M056', 'Verwerken van de verhuizing van de inventaris?'); +DEF_FAC_MESSAGE ('INV_M057', 'Inventaris wordt verhuisd...'); +DEF_FAC_MESSAGE ('INV_M058', 'Verhuisformulier printen?'); +DEF_FAC_MESSAGE ('INV_M059', 'Er zijn geen artikelen om te verhuizen.'); +DEF_FAC_MESSAGE ('INV_M060', 'Het aantal artikelen om te verhuizen zijn meer dan de beschikbare.'); +DEF_FAC_MESSAGE ('INV_M061', 'Eigenaar verwijderen'); +DEF_FAC_MESSAGE ('INV_M062', 'Eigenaar van artikel %1% verwijderen?'); +DEF_FAC_MESSAGE ('INV_M063', 'Eigenaar van de geselecteerde artikelen verwijderen?'); +DEF_FAC_MESSAGE ('INV_M064', 'Inclusief beschikbare artikelen'); +DEF_FAC_MESSAGE ('INV_M065', 'Import artikelen'); +DEF_FAC_MESSAGE ('INV_M066', ' - Aantal artikelen toegevoegd: %1%.'); +DEF_FAC_MESSAGE ('INV_M067', ' - Aantal artikelen mislukt: %1%.'); + +/* SCH */ +DEF_FAC_MESSAGE ('sch_m001','Verwijderen Schoonmaakniveau'); +DEF_FAC_MESSAGE ('sch_m002','Verwijderen schoonmaakniveau '); +DEF_FAC_MESSAGE ('sch_m003','Omschrijving is niet ingevuld.'); +DEF_FAC_MESSAGE ('sch_m004','Er is iets mis met globalen.'); +DEF_FAC_MESSAGE ('sch_m005','Geen records gevonden.'); +DEF_FAC_MESSAGE ('sch_m006','Verwijderen Activiteit'); +DEF_FAC_MESSAGE ('sch_m007','Verwijderen activiteit '); +DEF_FAC_MESSAGE ('sch_m010','Code is niet ingevuld.'); +DEF_FAC_MESSAGE ('sch_m011','Prijsprofiel is niet ingevuld.'); +DEF_FAC_MESSAGE ('sch_m012','Verwijderen Werkzaamheden'); +DEF_FAC_MESSAGE ('sch_m013','Verwijderen werkzaamheden '); +DEF_FAC_MESSAGE ('sch_m014','Niveau is niet ingevuld.'); +DEF_FAC_MESSAGE ('sch_m015','Verwijderen Schoonmaakniveau'); +DEF_FAC_MESSAGE ('sch_m016','Verwijderen schoonmaakniveau '); +DEF_FAC_MESSAGE ('sch_m017','Gebouw is niet ingevuld.'); +DEF_FAC_MESSAGE ('sch_m019','Correctiefactor is niet ingevuld.'); +DEF_FAC_MESSAGE ('sch_m020','Geen ruimtesoorten gedefinieerd'); +DEF_FAC_MESSAGE ('sch_m021',' bij ruimtesoort '); +DEF_FAC_MESSAGE ('sch_m022','Schoonmaakkosten'); +DEF_FAC_MESSAGE ('sch_m023','Schoonmaakprogramma'); +DEF_FAC_MESSAGE ('sch_m024','Schoonmaakkosten per gebouw en werkzaamheden'); +DEF_FAC_MESSAGE ('sch_m025','Schoonmaakkosten per gebouw, gespecificeerd per activiteit'); +DEF_FAC_MESSAGE ('sch_m026','Schoonmaakprogramma per gebouw, gespecificeerd per ruimte'); + +DEF_FAC_MESSAGE ('SCH_OG','Schoonmaakniveau van onroerend goed'); +DEF_FAC_MESSAGE ('SCH_ACT','Activiteit'); +DEF_FAC_MESSAGE ('SCH_PPM','Prijs per m2'); +DEF_FAC_MESSAGE ('SCH_PPR','Prijs per ruimte'); +DEF_FAC_MESSAGE ('SCH_NIVO','Schoonmaakniveau'); +DEF_FAC_MESSAGE ('SCH_NIVO2','Schoonmaakniveau'); +DEF_FAC_MESSAGE ('SCH_M027','Verwijderen niet toegestaan, er zijn nog ruimtes met deze vloersoort.'); +DEF_FAC_MESSAGE ('SCH_M028','Verwijderen niet toegestaan, er zijn nog werkzaamheden bij deze ruimtesoort.'); +DEF_FAC_MESSAGE ('SCH_M029','Verwijderen niet toegestaan, er zijn nog werkzaamheden bij deze vloersoort.'); +DEF_FAC_MESSAGE ('SCH_M030','Code van de frequentie is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_M031','Omschrijving van de frequentie is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_M032','Omschrijving van de vloersoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_M033','Verwijderen frequentie '); +DEF_FAC_MESSAGE ('SCH_M034','Verwijderen vloersoort '); +DEF_FAC_MESSAGE ('SCH_M035','De geselecteerde schoonmaakniveau''s verwijderen?'); +DEF_FAC_MESSAGE ('SCH_M036','Er zijn geen schoonmaakniveau''s geselecteerd'); +DEF_FAC_MESSAGE ('SCH_M037','De geselecteerde werkzaamheden verwijderen?'); +DEF_FAC_MESSAGE ('SCH_M038','Er zijn geen werkzaamheden geselecteerd'); +DEF_FAC_MESSAGE ('SCH_M039','Ruimtesoort of vloersoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_M040','Frequentie is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_M041','Activiteit is niet ingevuld.'); + +#if 0 +// ATT-messages zijn door INS-messages vervangen +/* ATT */ +DEF_FAC_MESSAGE ('ATT_M001', 'Dit is een disciplineattribuut; verwijderen hier niet toegestaan.'); +DEF_FAC_MESSAGE ('ATT_M002', 'Dit is een groepsoortattribuut; verwijderen hier niet toegestaan.'); +DEF_FAC_MESSAGE ('ATT_M003', 'Verwijderden attribuut '); +DEF_FAC_MESSAGE ('ATT_M004', 'Dit is een disciplineattribuut; wijzigen hier niet toegestaan.'); +DEF_FAC_MESSAGE ('ATT_M005', 'Dit is een groepsoortattribuut; wijzigen hier niet toegestaan.'); +DEF_FAC_MESSAGE ('ATT_M006', 'Label is niet ingevuld.'); +DEF_FAC_MESSAGE ('ATT_M007', 'Lengte is niet ingevuld.'); +DEF_FAC_MESSAGE ('ATT_M008', 'is niet ingevuld.'); +DEF_FAC_MESSAGE ('ATT_M009', 'is te groot of te klein.'); +DEF_FAC_MESSAGE ('ATT_M010', 'heeft niet het goede formaat.'); +DEF_FAC_MESSAGE ('ATT_M011', 'is te lang.'); +DEF_FAC_MESSAGE ('ATT_M012', 'Het maximum aantal attributen is bereikt.'); +DEF_FAC_MESSAGE ('ATT_M013', 'De tabelnaam is niet ingevuld.'); +DEF_FAC_MESSAGE ('ATT_M014', 'De kolomnaam is niet ingevuld'); +DEF_FAC_MESSAGE ('ATT_M015', 'De kolomtekst is niet ingevuld'); +DEF_FAC_MESSAGE ('ATT_M016', 'Het attribuutnummer is niet ingevuld'); +DEF_FAC_MESSAGE ('ATT_M017', 'De waarde %1% is te lang.'); +DEF_FAC_MESSAGE ('ATT_M018', 'De waarde %1% van veld %2% moet van het formaat ''%3%'' zijn.'); +DEF_FAC_MESSAGE ('ATT_M019', 'De waarde %1% van veld %2% valt buiten het toegestane bereik.'); +DEF_FAC_MESSAGE ('ATT_M020', 'De waarde van %1% is niet toegestaan.'); +DEF_FAC_MESSAGE ('ATT_M021', 'De tabel of kolom bestaan niet.'); +DEF_FAC_MESSAGE ('ATT_M022', 'Het attribuut wordt gebruikt.'); +#endif + +/* LEV */ +DEF_FAC_MESSAGE ('LEV_M001', 'Alleen volledig geleverde bestellingen mogen verwijderd worden.'); +DEF_FAC_MESSAGE ('LEV_M002', 'Verwijderen bestelling '); +DEF_FAC_MESSAGE ('LEV_M003', 'Er zijn gegevens van deze bestelling niet meer aanwezig.'); +DEF_FAC_MESSAGE ('LEV_M004', 'Het bedrijf moet ingevuld worden.'); +DEF_FAC_MESSAGE ('LEV_M005', 'Het MZA-nummer moet ingevuld worden.'); +DEF_FAC_MESSAGE ('LEV_M006', 'Het gebouw moet ingevuld worden.'); +DEF_FAC_MESSAGE ('LEV_M007', 'De contactpersoon moet ingevuld worden.'); +DEF_FAC_MESSAGE ('LEV_M008', 'Bij bestelregel '); +DEF_FAC_MESSAGE ('LEV_M009', ' moet de ruimte ingevuld worden.'); +#ifdef HUI +DEF_FAC_MESSAGE ('LEV_M010', ' moet de inventaris ingevuld worden.'); +DEF_FAC_MESSAGE ('LEV_M011', ' moet het aantal inventarissen ingevuld worden.'); +#else +DEF_FAC_MESSAGE ('LEV_M010', ' moet het artikel ingevuld worden.'); +DEF_FAC_MESSAGE ('LEV_M011', ' moet het aantal artikelen ingevuld worden.'); +#endif +DEF_FAC_MESSAGE ('LEV_M012', 'De leverdatum moet ingevuld worden.'); +DEF_FAC_MESSAGE ('LEV_M013', 'Het totaal van de bestellingen overschrijdt het budget.'); +DEF_FAC_MESSAGE ('LEV_M014', 'Wijzigen gebouw'); +DEF_FAC_MESSAGE ('LEV_M015', 'Wijzigen van het gebouw zal de ingevoerde bestelregels verwijderen. Doorgaan?'); +DEF_FAC_MESSAGE ('LEV_M016', 'Projectbestelling'); +DEF_FAC_MESSAGE ('LEV_M017', 'Er zijn geen bestelregels bij deze bestelling.'); +DEF_FAC_MESSAGE ('LEV_M018', 'BESTELLING'); +DEF_FAC_MESSAGE ('LEV_M019', 'Afvoerlijst maken?'); +DEF_FAC_MESSAGE ('LEV_M023', 'Verwijderen levering '); +DEF_FAC_MESSAGE ('LEV_M024', 'Bij leveringregel '); +DEF_FAC_MESSAGE ('LEV_M025', ' moet het bestelnummer ingevuld worden.'); +DEF_FAC_MESSAGE ('LEV_M026', 'Er zijn geen leveringregels bij deze levering.'); +DEF_FAC_MESSAGE ('LEV_M027', 'Toewijzen levering'); +DEF_FAC_MESSAGE ('LEV_M028', 'Scherm ''Levering toewijzen'' wordt opgestart...'); +DEF_FAC_MESSAGE ('LEV_M029', 'Aantal van de levering'); +#ifdef HUI +DEF_FAC_MESSAGE ('LEV_M030', ' is het aantal inventarissen groter dan bij de bestelling.'); +DEF_FAC_MESSAGE ('LEV_M032', ' is de inventaris niet opgegeven bij de bestelling.'); +#else +DEF_FAC_MESSAGE ('LEV_M030', ' is het aantal artikelen groter dan bij de bestelling.'); +DEF_FAC_MESSAGE ('LEV_M032', ' is het artikel niet opgegeven bij de bestelling.'); +#endif +DEF_FAC_MESSAGE ('LEV_M031', ' Aantal van de bestelling invullen?'); +DEF_FAC_MESSAGE ('LEV_M033', 'Er is geen leveringsregel ingevuld.'); +DEF_FAC_MESSAGE ('LEV_M034', 'Er is geen toewijzingengedaan.'); +DEF_FAC_MESSAGE ('LEV_M035', 'U kunt niet meer toewijzen dan er geleverd zijn.'); +DEF_FAC_MESSAGE ('LEV_M036', 'U kunt niet meer toewijzen dan er besteld zijn.'); +DEF_FAC_MESSAGE ('LEV_M037', 'Openstaande bestellingen.'); +#ifdef HUI +DEF_FAC_MESSAGE ('LEV_M038', ' is het aantal inventarissen niet in de ruimte aanwezig.'); +#else +DEF_FAC_MESSAGE ('LEV_M038', ' is het aantal artikelen niet in de ruimte aanwezig.'); +#endif +DEF_FAC_MESSAGE ('LEV_M039', 'AFVOERLIJST'); +DEF_FAC_MESSAGE ('LEV_M040', 'Af te voeren inventaris sinds vorige lijst'); +DEF_FAC_MESSAGE ('LEV_M041', 'Alle af te voeren inventaris'); +DEF_FAC_MESSAGE ('LEV_M042', 'per gebouw'); +DEF_FAC_MESSAGE ('LEV_M043', 'per ruimte'); +DEF_FAC_MESSAGE ('LEV_M044', 'Gebouw moet gekozen zijn.'); +DEF_FAC_MESSAGE ('LEV_M045', 'De afvoerregels bij deze bestelling worden verwerkt.'); +DEF_FAC_MESSAGE ('LEV_M046', 'Moeten de afvoerregels bij deze bestelling nu worden verwerkt?'); +#ifdef HUI +DEF_FAC_MESSAGE ('LEV_M047', 'Er is geen af te voeren inventaris.'); +#else +DEF_FAC_MESSAGE ('LEV_M047', 'Er zijn geen af te voeren artikelen.'); +#endif +DEF_FAC_MESSAGE ('LEV_M048', 'Moeten de ingevulde toewijzingen bewaard worden.'); +#if defined(LEV)||defined(HUI) +DEF_FAC_MESSAGE ('LEV_M049', 'Er zijn nog bestellingen met deze MZA. Verwijderen mag niet.'); +#else +DEF_FAC_MESSAGE ('LEV_M049', 'Er zijn nog bestellingen met deze kostenpost. Verwijderen mag niet.'); +#endif +DEF_FAC_MESSAGE ('LEV_M050', 'Alleen nog toe te wijzen leveringen'); +#ifdef HUI +DEF_FAC_MESSAGE ('LEV_M051', 'Deze inventaris kan niet toegewezen worden, verwijderen of in magazijn plaatsen?'); +#else +DEF_FAC_MESSAGE ('LEV_M051', 'Dit artikel kan niet toegewezen worden, verwijderen of in magazijn plaatsen?'); +#endif +DEF_FAC_MESSAGE ('LEV_M052', 'Inventaris geleverd'); +DEF_FAC_MESSAGE ('LEV_M053', 'Contactpersoon voor bestellingen, ruimteboekingen, etc.'); +DEF_FAC_MESSAGE ('LEV_M054', 'Volledig geleverd'); +DEF_FAC_MESSAGE ('LEV_M055', 'Volledig geleverde bestellingen'); +DEF_FAC_MESSAGE ('LEV_M056', 'Alle bestellingen'); +DEF_FAC_MESSAGE ('LEV_M057', 'De geselecteerde bestellingen verwijderen?'); +DEF_FAC_MESSAGE ('LEV_M058', 'Deze functie is niet toegestaan bij meerdere bestellingen.'); +DEF_FAC_MESSAGE ('LEV_M059', 'Bij bestelregel %1% is het aantal bestelde artikelen kleiner dan de geleverde.'); +DEF_FAC_MESSAGE ('LEV_M060', 'Opgave van af te voeren materiaal'); +DEF_FAC_MESSAGE ('LEV_M061', 'Afwerken afvoerlijst'); +DEF_FAC_MESSAGE ('LEV_M062', 'Het opgegeven aantal is groter dan het aantal artikelen.'); +DEF_FAC_MESSAGE ('LEV_M063', 'Bestelregel %1% mag niet leeg gemaakt worden.'); +DEF_FAC_MESSAGE ('LEV_M064', 'GEWIJZIGDE BESTELLING'); +DEF_FAC_MESSAGE ('LEV_M065', 'Er zijn geen gewijzigde bestelregels.'); +#ifdef LEV +DEF_FAC_MESSAGE ('LEV_M066', 'Er is te weinig inventaris om te verhuizen.'); +#else +DEF_FAC_MESSAGE ('LEV_M066', 'Er zijn te weinig delen om te verhuizen.'); +#endif +DEF_FAC_MESSAGE ('LEV_M067', 'Oud:'); +DEF_FAC_MESSAGE ('LEV_M068', 'Nieuw:'); +DEF_FAC_MESSAGE ('LEV_M069', ' is het aantal geleverde artikelen niet goed.'); +#ifdef HUI +DEF_FAC_MESSAGE ('LEV_M070', 'Afvoeren bestelde inventaris'); +#else +DEF_FAC_MESSAGE ('LEV_M070', 'Afvoeren bestelde artikelen'); +#endif +DEF_FAC_MESSAGE ('LEV_M071', 'Het totaal aantal is niet gelijk aan het af te voeren aantal.'); +DEF_FAC_MESSAGE ('LEV_M072', 'Het bestelnummer is niet ingevuld.'); +DEF_FAC_MESSAGE ('LEV_M073', 'De leverdatum ligt voor de huidige datum.'); + +/* HUI */ + +DEF_FAC_MESSAGE ('HUI_M001', 'Het aantal slaapplaatsen is groter dan de capaciteit van de ruimte.'); +DEF_FAC_MESSAGE ('HUI_M002', 'Alleen beschikbare slaapplaatsen'); +DEF_FAC_MESSAGE ('HUI_M003', 'Telefoonnr. Prive'); +DEF_FAC_MESSAGE ('HUI_M004', 'De slaapplaats moet ingevuld worden.'); +DEF_FAC_MESSAGE ('HUI_M005', 'De persoon moet ingevuld worden.'); +DEF_FAC_MESSAGE ('HUI_M006', 'De periode moet ingevuld worden.'); +DEF_FAC_MESSAGE ('HUI_M007', 'De einddatum moet groter zijn dan de begindatum.'); +DEF_FAC_MESSAGE ('HUI_M008', 'Bruikleenbewijs maken?'); +DEF_FAC_MESSAGE ('HUI_M009', 'Verwijderen boeking '); +DEF_FAC_MESSAGE ('HUI_M010', 'Ruimte moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('HUI_M011', 'Persoon moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('HUI_M012', 'Verwijderen slaapplaats '); +DEF_FAC_MESSAGE ('HUI_M013', 'Het volgnummer van de slaapplaats is niet ingevuld.'); +DEF_FAC_MESSAGE ('HUI_M014', ' is van '); +DEF_FAC_MESSAGE ('HUI_M015', ' tot '); +DEF_FAC_MESSAGE ('HUI_M016', ' geboekt door '); +DEF_FAC_MESSAGE ('HUI_M017', 'De reservering van '); +DEF_FAC_MESSAGE ('HUI_M018', 'De legering van '); +DEF_FAC_MESSAGE ('HUI_M019', ' afmelden?'); +DEF_FAC_MESSAGE ('HUI_M020', 'Alleen actuele legeringen'); +DEF_FAC_MESSAGE ('HUI_M021', ' bezet door '); +DEF_FAC_MESSAGE ('HUI_M022', 'Ruimte is bestemd voor eenheid '); +DEF_FAC_MESSAGE ('HUI_M023', ' en de persoon behoort tot eenheid '); +DEF_FAC_MESSAGE ('HUI_M024', 'Ruimte is bestemd voor '); +DEF_FAC_MESSAGE ('HUI_M025', ' en de persoon is een '); +DEF_FAC_MESSAGE ('HUI_M026', 'Opgeschoonde personen printen'); +DEF_FAC_MESSAGE ('HUI_M027', ' personen verwijderd. Bewaren?'); +DEF_FAC_MESSAGE ('HUI_M028', 'Met algemene inventaris'); +DEF_FAC_MESSAGE ('HUI_M029', 'Rapportage slaapplaatsen'); +DEF_FAC_MESSAGE ('HUI_M030', 'Overzicht bezetting slaapplaatsen '); +DEF_FAC_MESSAGE ('HUI_M031', 'Overzicht ruimteboekingen '); +DEF_FAC_MESSAGE ('HUI_M032', 'Overzicht te lang bezette slaapplaatsen '); +DEF_FAC_MESSAGE ('HUI_M033', 'Er zijn geen slaapplaatsen gevonden'); +DEF_FAC_MESSAGE ('HUI_M034', 'Verwijderen categorie '); +DEF_FAC_MESSAGE ('HUI_M035', 'De omschrijving van de categorie is niet ingevuld.'); +DEF_FAC_MESSAGE ('HUI_M036', 'Bruikleenbewijs legering'); +DEF_FAC_MESSAGE ('HUI_M037', 'Opnieuw aanmelden is niet toegestaan.'); +DEF_FAC_MESSAGE ('HUI_M038', 'Opnieuw reserveren is niet toegestaan.'); +DEF_FAC_MESSAGE ('HUI_M039', 'Uitprinten van het bruikleenbewijs alleen mogelijk bij status ''Bezet''.'); +DEF_FAC_MESSAGE ('HUI_M040', 'Opnieuw afmelden is niet toegestaan.'); +DEF_FAC_MESSAGE ('HUI_M041', 'Verwijderen frequentie '); +DEF_FAC_MESSAGE ('HUI_M042', 'De omschrijving is niet ingevuld.'); +DEF_FAC_MESSAGE ('HUI_M043', 'Het aantal dagen is niet ingevuld.'); +DEF_FAC_MESSAGE ('HUI_M044', 'Schoonmaakfrequentie onroerendgoed'); +DEF_FAC_MESSAGE ('HUI_M045', 'Verwijderen schoonmaakfrequentie'); +DEF_FAC_MESSAGE ('HUI_M046', 'Verwijderen schoonmaakfrequentie %1% van ruimte %2%'); +DEF_FAC_MESSAGE ('HUI_M047', 'Verwijder de geselecteerde schoonmaakfrequenties?'); +DEF_FAC_MESSAGE ('HUI_M048', 'De frequentie is niet ingevuld.'); +DEF_FAC_MESSAGE ('HUI_M049', 'Overzicht schoonmaken glas'); +DEF_FAC_MESSAGE ('HUI_M050', 'Overzicht schoonmaken ruimte'); +DEF_FAC_MESSAGE ('HUI_M051', 'De huidige frequenties van de ruimtes in %1% %2% overschrijven?'); +DEF_FAC_MESSAGE ('HUI_M052', 'De vakgroep ''Inventaris'' bestaat niet.'); +DEF_FAC_MESSAGE ('HUI_M053', 'Aanmelden reservering'); +DEF_FAC_MESSAGE ('HUI_M054', 'De reservering van %1% tot %2% aanmelden?'); +DEF_FAC_MESSAGE ('HUI_M055', 'Er zijn geen slaapplaatsen geselecteerd.'); +DEF_FAC_MESSAGE ('HUI_M056', 'Persoon verwijderen bij opschonen'); +DEF_FAC_MESSAGE ('HUI_M057', 'De geselecteerde reserveringen aanmelden?'); +DEF_FAC_MESSAGE ('HUI_M058', 'De geselecteerde reserveringen afmelden?'); +DEF_FAC_MESSAGE ('HUI_M059', 'Deze functie is alleen toegestaan bij beschikbare slaapplaatsen.'); +DEF_FAC_MESSAGE ('HUI_M060', 'De geselecteerde slaapplaatsen kunnen niet gereserveerd worden.'); +DEF_FAC_MESSAGE ('HUI_M061', 'De bruikleenbewijzen kunnen niet geprint worden.'); +DEF_FAC_MESSAGE ('HUI_M062', 'Reserveren/Aanmelden'); +DEF_FAC_MESSAGE ('HUI_M063', 'Afmelden'); + +/* DOOS IMPORT */ +DEF_FAC_MESSAGE ('DOO_M001', 'Importeren DOOS gegevens'); +DEF_FAC_MESSAGE ('DOO_M002', 'In de directory %1% staan niet de goede DOOS gegevens'); +DEF_FAC_MESSAGE ('DOO_M003', 'Bestand %1% kan niet geopend worden.'); +DEF_FAC_MESSAGE ('DOO_M004', 'Start DOOS_import voor dienstkring %1% vanuit directory %2%.'); +DEF_FAC_MESSAGE ('DOO_M005', 'Einde DOOS_import'); +DEF_FAC_MESSAGE ('DOO_M006', 'Fout gevonden bij inlezen van bestand %1% in record %2%'); +DEF_FAC_MESSAGE ('DOO_M007', 'Van bestand %1% %2% records ingelezen'); +DEF_FAC_MESSAGE ('DOO_M008', '%1% toegevoegd'); +DEF_FAC_MESSAGE ('DOO_M009', '%1% aangepast'); +DEF_FAC_MESSAGE ('DOO_M010', '%1% verwijderd'); +DEF_FAC_MESSAGE ('DOO_M011', '%1% kan niet toegevoegd worden [%2%]'); +DEF_FAC_MESSAGE ('DOO_M012', '%1% kan niet gewijzigd worden [%2%]'); +DEF_FAC_MESSAGE ('DOO_M013', '%1% kan niet verwijderd worden [%2%]'); +DEF_FAC_MESSAGE ('DOO_M014', 'Bestanden worden gekopieerd naar tijdelijke directory'); +DEF_FAC_MESSAGE ('DOO_M015', 'Gegevens uit bestand %1% reeds ingelezen: %2%'); +DEF_FAC_MESSAGE ('DOO_M016', 'Verwijder tijdelijke importgegevens'); +DEF_FAC_MESSAGE ('DOO_M017', 'Gegevens van %1% reeds ingelezen: %2%'); +DEF_FAC_MESSAGE ('DOO_M018', 'Overbodige gegevens uit %1% worden verwijderd'); +DEF_FAC_MESSAGE ('DOO_M019', 'Importeren is gereed'); + + +/* BIS */ + +#ifdef BIS + +DEF_FAC_MESSAGE ('bis_m001', 'Omschrijving voor de stofgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('bis_m002', 'Omschrijving voor de stofgroep bestaat al.'); +DEF_FAC_MESSAGE ('bis_m035', 'De omschrijving van de stofgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('bis_m068', 'Verwijderen Stofgroep '); +DEF_FAC_MESSAGE ('bis_m071', 'Verwijderen Stof '); + +DEF_FAC_MESSAGE ('bis_m073', 'Verwijderen Bijzonderheid '); +DEF_FAC_MESSAGE ('bis_m075', 'Verwijderen Eenheid '); +DEF_FAC_MESSAGE ('bis_m077', 'Verwijderen Geur '); +DEF_FAC_MESSAGE ('bis_m079', 'Verwijderen Geurgradatie '); +DEF_FAC_MESSAGE ('bis_m081', 'Verwijderen Kleur '); +DEF_FAC_MESSAGE ('bis_m083', 'Verwijderen Kleurgradatie '); +DEF_FAC_MESSAGE ('bis_m084', 'Verwijderen Analysepakket '); +DEF_FAC_MESSAGE ('bis_m085', 'Wilt u de wijzigingen bewaren ?'); +DEF_FAC_MESSAGE ('bis_m086', 'Verwijderen Analysemethode '); +DEF_FAC_MESSAGE ('bis_m087', 'Het boringtype is niet ingevuld.'); +DEF_FAC_MESSAGE ('bis_m088', 'De sublocatie moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('bis_m089', 'De einddiepte moet groter zijn dan de begindiepte.'); +DEF_FAC_MESSAGE ('bis_m090', 'Dit boringnummer is niet uniek voor boringtype ''grond''.'); +DEF_FAC_MESSAGE ('bis_m091', 'Het boringnummer is niet in overeenstemming met de sublocatie.'); + +DEF_FAC_MESSAGE ('bis_m134', 'Dit record is niet meer actueel.'); +DEF_FAC_MESSAGE ('bis_m195', 'Verwijderen Bijmenging '); +DEF_FAC_MESSAGE ('bis_m212', 'Er zijn nog stoffen gekoppeld aan deze stofgroep.'); + +#endif // BIS + +DEF_FAC_MESSAGE ('FAC_C_FAC_FUNCTIE_CODE' , 'De code van de functie is niet ingevuld.'); +DEF_FAC_MESSAGE ('FAC_C_FAC_FUNCTIE_OMSCHRIJVING', 'De omschrijving van de functie is niet ingevuld.'); +DEF_FAC_MESSAGE ('FAC_C_FAC_MESSAGE_TEXT' , 'De tekst van de melding is niet ingevuld.'); +DEF_FAC_MESSAGE ('FAC_C_FAC_ROL_ROLE' , 'Het veld ''ROLE'' van de rol is niet ingevuld.'); +DEF_FAC_MESSAGE ('FAC_C_FAC_ROL_OMSCHRIJVING' , 'De omschrijving van de rol is niet ingevuld.'); +DEF_FAC_MESSAGE ('FAC_C_FAC_VOLGNR' , 'Constraint FAC_C_FAC_VOLGNR violated'); +DEF_FAC_MESSAGE ('FAC_C_FAC_VOLGNR_PERIODE' , 'Constraint FAC_C_FAC_VOLGNR_PERIODE violated'); +DEF_FAC_MESSAGE ('FAC_C_FAC_VOLGNR_LAATSTE_DATUM', 'Constraint FAC_C_FAC_VOLGNR_LAATSTE_DATUM violated'); +DEF_FAC_MESSAGE ('FAC_U_FAC_RAPPORT' , 'Constraint FAC_U_FAC_RAPPORT violated'); + +/* 22-05-1998 KTH LOG#1821: Wijzigingen tbv tabel CAD_TEKENING geintroduceerd */ +#ifdef CAD +DEF_FAC_ENTITY ('CAD_TEKENING_OMSCHR', 'Tekening', NULL, NULL); +DEF_FAC_MESSAGE ('CAD_TEKENING' , 'Tekeninggegevens'); +DEF_FAC_MESSAGE ('cad_m001' , 'Verwijderen tekeninggegevens'); +DEF_FAC_MESSAGE ('cad_m002' , 'Verwijderen tekeninggegevens '); +DEF_FAC_MESSAGE ('cad_m003' , 'Geen contourtekening gevonden.'); +DEF_FAC_MESSAGE ('cad_m005' , 'Geen plattegrondtekening gevonden.'); + + +#ifdef AKZ +DEF_FAC_MESSAGE ('cad_m004' , 'Aangegeven dat het een Vakgroeptekening betreft, maar geen Vakgroep gekozen.'); +DEF_FAC_MESSAGE ('CAD_C_INS_DISCIPLINE_KEY' , 'De vakgroep behorende bij de tekening is niet ingevuld.'); +DEF_FAC_MESSAGE ('CAD_R_INS_DISCIPLINE_KEY' , 'De tekening refereert naar een ongeldige vakgroep.'); +DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE' , 'Het type tekening moet ingevuld worden.'); +DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE2' , 'Type tekening moet een Plattegrond-, een Contour - of een Vakgroeptekening zijn.'); +DEF_FAC_MESSAGE ('CAD_U_CAD_TEKENING' , 'De tekening is niet uniek voor de combinatie vakgroep, locatie en verdieping.'); +#else +DEF_FAC_MESSAGE ('cad_m004' , 'Aangegeven dat het een Disciplinetekening betreft, maar geen Discipline gekozen.'); +DEF_FAC_MESSAGE ('CAD_C_INS_DISCIPLINE_KEY' , 'De discipline behorende bij de tekening is niet ingevuld.'); +DEF_FAC_MESSAGE ('CAD_R_INS_DISCIPLINE_KEY' , 'De tekening refereert naar een ongeldige discipline.'); +DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE' , 'Het type tekening moet ingevuld worden.'); +DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE2' , 'Type tekening moet een Plattegrond-, een Contour - of een Disciplinetekening zijn.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('CAD_U_CAD_TEKENING' , 'De tekening is niet uniek voor de combinatie discipline, object en verdieping.'); +#else +DEF_FAC_MESSAGE ('CAD_U_CAD_TEKENING' , 'De tekening is niet uniek voor de combinatie discipline, locatie en verdieping.'); +#endif +#endif // AKZ +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('CAD_C_ALG_LOCATIE_KEY' , 'Het object behorende bij de tekening is niet ingevuld.'); +DEF_FAC_MESSAGE ('CAD_R_ALG_LOCATIE_KEY' , 'De tekening refereert naar een ongeldig object.'); +#else +DEF_FAC_MESSAGE ('CAD_C_ALG_LOCATIE_KEY' , 'De locatie behorende bij de tekening is niet ingevuld.'); +DEF_FAC_MESSAGE ('CAD_R_ALG_LOCATIE_KEY' , 'De tekening refereert naar een ongeldige locatie.'); +#endif +DEF_FAC_MESSAGE ('CAD_R_ALG_VERDIEPING_KEY' , 'De tekening refereert naar een ongeldige bouwlaag.'); +DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_FILENAAM' , 'De bestandsnaam van de tekening is niet ingevuld.'); +#endif // CAD + +DEF_FAC_MESSAGE ('ALG_C_ALG_BOUWDEEL_CODE', 'De code van het bouwdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_BOUWDEEL_OMSCHR', 'De omschrijving van het bouwdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_BOUWDEEL_UPPER', 'De omschrijving van het bouwdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_DISTRICT_OMSCHR', 'De omschrijving van het district is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_DISTRICT_UPPER', 'De omschrijving van het district is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_GEBOUW_CODE', 'De code van het gebouw is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_GEBOUW_INHOUD', 'De inhoud van het gebouw moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_GEBOUW_NAAM', 'De naam van het gebouw is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_GEBOUW_OMSCHRIJVING', 'De omschrijving van het gebouw is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_GEBOUW_UPPER', 'De omschrijving van het gebouw is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_GEBOUW_VLOEROPP', 'De oppervlakte van het gebouw moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_KOSTENPOST_BUDGET1', 'Het budget van de kostenpost is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_KOSTENPOST_BUDGET2', 'Het budget van de kostenpost moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_LOCATIE_CODE', 'De code van de locatie is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_LOCATIE_OMSCHRIJVING', 'De omschrijving van de locatie is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_LOCATIE_UPPER', 'De omschrijving van de locatie is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_OBJECTDEEL_CODE', 'De code van het objectdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_OBJECTDEEL_OMSCHR', 'De omschrijving van de objectdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_OBJECTDEEL_UPPER', 'De omschrijving van de objectdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_REGIO_OMSCHRIJVING', 'De omschrijving van de regio is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_REGIO_UPPER', 'De omschrijving van de regio is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_RUIMTE_INHOUD', 'De inhoud van de ruimte moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_RUIMTE_NR', 'Het nummer van de ruimte is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_RUIMTE_UPPER_NR', 'Het nummer van de ruimte is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_RUIMTE_VLOEROPP', 'De oppervlakte van de ruimte moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTGEBOUW_OMSCHR', 'De omschrijving van het gebouwsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTGEBOUW_UPPER', 'De omschrijving van het gebouwsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTRUIMTE_OMSCHR', 'De omschrijving van het ruimtesoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTRUIMTE_UPPER', 'De omschrijving van het ruimtesoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTTERREIN_OMSCHR', 'De omschrijving van het terreinsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTTERREIN_UPPER', 'De omschrijving van het terreinsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTVERDIEPING_OMSCHR', 'De omschrijving van het verdiepingsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTVERDIEPING_UPPER', 'De omschrijving van het verdiepingsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTVERDIEPING_VOLGNR', 'Het volgnummer van het verdiepingsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SYSTEEMCLUSTER_CODE', 'De code van de systeemcluster is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SYSTEEMCLUSTER_UPPER', 'De omschrijving van de systeemcluster is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SYSTEEMCLUST_OMSCHR', 'De omschrijving van de systeemcluster is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_TERREINSECTOR_CODE', 'De code van de terreinsector is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_TERREINSECTOR_NAAM', 'De naam van de terreinsector is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_TERREINSECTOR_OMSCHR', 'De omschrijving van de terreinsector is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_TERREINSECTOR_UPPER', 'De omschrijving van de terreinsector is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_VERDIEPING_OMSCHR', 'De omschrijving van de verdieping is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_VERDIEPING_UPPER', 'De omschrijving van de verdieping is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_VERDIEPING_VOLGNR', 'Het volgnummer van de verdieping is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_VERDIEPING_IN_BEWERK', 'Het veld ''IN BERWERKING'' mag alleen de waarde ''1'' bevatten.'); +DEF_FAC_MESSAGE ('ALG_C_PRS_BEVAT_WERKPLEK', 'Het veld ''BEVAT_WERKPLEK'' mag alleen de waarde ''1'' bevatten.'); +DEF_FAC_MESSAGE ('ALG_C_PRS_VERHUURBAAR', 'Het veld ''VERHUURBAAR'' mag alleen de waarde ''1'' bevatten.'); +DEF_FAC_MESSAGE ('ALG_C_PRS_WERKPLEK_VERHUURBAAR', 'Melding ALG_C_PRS_WERKPLEK_VERHUURBAAR'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTVLOER_OMSCHR', 'De omschrijving van de vloersoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTVLOER_UPPER', 'De omschrijving van de vloersoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_BOUWDEEL_KEY', 'Er zijn nog referenties van verdieping naar dit bouwdeel.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_DISTRICT_KEY', 'Er zijn nog referenties van locatie naar dit district.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_DISTRICT_KEY_2', 'Er zijn nog referenties van locatie naar dit district.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_GEBOUW_KEY', 'Er zijn nog referenties van bouwdeel naar dit gebouw.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_GEBOUW_KEY1', 'De referentie naar gebouw is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_GEBOUW_KEY2', 'Er zijn nog referenties van verdieping naar dit gebouw.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_LOCATIE_KEY', 'Er zijn nog referenties van objectdeel naar deze locatie.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_LOCATIE_KEY1', 'De referentie naar locatie is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_LOCATIE_KEY2', 'Er zijn nog referenties van terreinsector naar deze locatie.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_OBJECTDEEL_KEY', 'Er zijn nog referenties van systeemcluster naar dit objectdeel.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_REGIO_KEY', 'Er zijn nog referenties van district naar deze regio.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_SRTGEBOUW_KEY', 'Er zijn nog referenties van gebouw naar deze gebouwsoort.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_SRTRUIMTE_KEY', 'Er zijn nog referenties van ruimte naar deze ruimtesoort.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_SRTTERREIN_KEY', 'Er zijn nog referenties van terreinsector naar deze terreinsoort.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_SRTVERDIEPING_KEY1', 'Er zijn nog referenties van verdieping naar deze verdiepingsoort.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_SYSTEEMCLUSTER_KEY', 'Er zijn nog referenties van gebouw naar deze systeemcluster.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_TERREINS_SYSTCL_KEY', 'Er zijn nog referenties van terreinsector naar deze systeemcluster.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_VERDIEPING_KEY1', 'De referentie naar verdieping is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_VERDIEPING_KEY2', 'Er zijn nog referenties van ruimte naar deze verdieping.'); +DEF_FAC_MESSAGE ('ALG_R_GEBOUW_LOC_KEY1', 'De referentie naar locatie.'); +DEF_FAC_MESSAGE ('ALG_R_GEBOUW_LOC_KEY2', 'Er zijn nog referenties van gebouw naar deze locatie.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_SRTVLOER_KEY', 'Er zijn nog referenties van ruimte naar deze vloersoort.'); +DEF_FAC_MESSAGE ('ALG_R_AKZ_SCHNIVO_KEY', 'Er zijn nog referenties van ruimte naar deze vloersoort.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_BOUWDEEL_UPPER', 'De velden ''Gebouw'' en ''Omschrijving'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_DISTRICT_UPPER', 'De velden ''Regio'' en ''Omschrijving'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_GEBOUW_UPPER', 'De omschrijving is niet uniek binnen de Locatie.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_LOCATIE_CODE', 'Het veld ''Code'' is niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_LOCATIE_UPPER', 'De velden ''District'' en ''Omschrijving'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_OBJECTDEEL_UPPER', 'De velden ''Locatie'' en ''Omschrijving'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_REGIO_UPPER', 'Het veld''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_RUIMTE_UPPER_NR', 'De velden ''Verdieping'' en ''Nummer'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_SRTGEBOUW_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_SRTRUIMTE_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_SRTTERREIN_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_SRTVERDIEPING_VOLGNR', 'Het veld ''Volgnummer'' is niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_SYSTEEMCLUSTER_UPPER', 'De velden ''Objectdeel'' en ''Omschrijving'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_TERREINSECTOR_UPPER', 'De velden ''Locatie'' en ''Omschrijving'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_VERDIEPING_UPPER', 'De velden ''Gebouw'' en ''Omschrijving'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_VERDIEPING_VOLGNR', 'De velden ''Gebouw'' en ''Volgnummer'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_BOUW_UPPER', 'De omschrijving van het bouwdeel moet uniek zijn binnen het gebouw.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_SRTVLOER_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); + +/* AKZ */ +DEF_FAC_MESSAGE ('AKZ_C_GEBOUW_INTERNALORDERNR', 'Het ordernummer is niet ingevuld.'); +DEF_FAC_MESSAGE ('AKZ_C_TERREIN_INTERNALORDERNR', 'Het ordernummer is niet ingevuld.'); +DEF_FAC_MESSAGE ('AKZ_U_GEBOUW_INTERNALORDERNR', 'Het ordernummer is niet uniek binnen de gebouwen.'); +DEF_FAC_MESSAGE ('AKZ_U_TERREIN_INTERNALORDERNR', 'Het ordernummer is niet uniek binnen de terreinsectoren.'); +DEF_FAC_MESSAGE ('AKZ_U_GEBOUW_TERREIN_ORDERNR', 'Het ordernummer is niet uniek binnen de gebouwen en terreinsectoren.'); +DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_CODE', 'De schoonmaakcode is niet ingevuld.'); +DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_UPPER', 'De schoonmaakcode is niet ingevuld.'); +DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_OMSCHR', 'De omschrijving van de schoonmaakcode is niet ingevuld.'); +DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_KENGETAL', 'Het kengetal mag niet kleiner zijn dan nul.'); +DEF_FAC_MESSAGE ('AKZ_U_AKZ_SCHNIVO_UPPER', 'De schoonmaakcode is niet uniek.'); + + +DEF_FAC_MESSAGE ('INS_C_INS_ATTRIBUTE_KEY', 'Melding INS_C_INS_ATTRIBUTE_KEY'); +DEF_FAC_MESSAGE ('INS_C_INS_ATTRIBUTE_LABEL', 'Melding INS_C_INS_ATTRIBUTE_KEY'); +DEF_FAC_MESSAGE ('INS_C_INS_ATTRIBUTE_LENGTH', 'Melding INS_C_INS_ATTRIBUTE_LENGTH'); +DEF_FAC_MESSAGE ('INS_C_INS_ATTRIBUTE_REQUIRED', 'Melding INS_C_INS_ATTRIBUTE_REQUIRED'); +DEF_FAC_MESSAGE ('INS_C_INS_ATTRIBUTE_TOONBAAR', 'Melding INS_C_INS_ATTRIBUTE_TOONBAAR'); +DEF_FAC_MESSAGE ('INS_C_INS_ATTRIBUTE_TYPE', 'Melding INS_C_INS_ATTRIBUTE_TYPE'); +DEF_FAC_MESSAGE ('INS_C_INS_DEEL_OMSCHRIJVING', 'De omschrijving van het deel is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_DEEL_AANTAL1', 'Het aantal van het deel is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_DEEL_AANTAL2', 'Het aantal van het deel moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_C_INS_DEEL_BOUWJAAR', 'Het bouwjaar van het deel moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_C_INS_DEEL_LEVENSDUUR', 'De levensduur van het deel moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_C_INS_DEEL_MODULE', 'De module van het deel is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_DEEL_PRIJS', 'De prijs van het deel moet groter zijn dan 0.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('INS_C_INS_DISCIPLINE_MODULE', 'De module van de vakgroep is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('INS_C_INS_DISCIPLINE_MODULE', 'De module van de discipline is niet ingevuld.'); +#endif +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('INS_C_INS_DISCIPLINE_OMSCHR', 'De omschrijving van de vakgroep is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('INS_C_INS_DISCIPLINE_OMSCHR', 'De omschrijving van de discipline is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('INS_C_INS_ELEMENT_OMSCHRIJVING', 'De omschrijving van het element is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_ELEMENT_AANTAL1', 'Het aantal van het element is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_ELEMENT_AANTAL2', 'Het aantal van het element moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_C_INS_ELEMENT_BOUWJAAR', 'Het bouwjaar van het element moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_C_INS_ELEMENT_LEVENSDUUR', 'De levensduur van het element moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_C_INS_ELEMENT_PRIJS', 'De prijs van het element moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_C_INS_ONDERDEEL_OMSCHR', 'De omschrijving van het onderdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_ONDERDEEL_AANTAL1', 'Het aantal van het onderdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_ONDERDEEL_AANTAL2', 'Het aantal van het onderdeel moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_C_INS_ONDERDEEL_BOUWJAAR', 'Het bouwjaar van het onderdeel moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_C_INS_ONDERDEEL_LEVENSDUUR', 'De levensduur van het onderdeel moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_C_INS_ONDERDEEL_PRIJS', 'De prijs van het onderdeel moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTDEEL_MODULE', 'De module van de deelsoort is moet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTDEEL_OMSCHRIJVING', 'De omschrijving van de deelsoort is met ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTDEEL_UPPER', 'De omschrijving van de deelsoort is moet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTELEMENT_OMSCHR', 'De omschrijving van de elementsoort is met ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTELEMENT_UPPER', 'De omschrijving van de elementsoort is moet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTGROEP_MODULE', 'De module van de groepsoort is moet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTGROEP_OMSCHR', 'De omschrijving van de groepsoort is moet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTGROEP_UPPER', 'De omschrijving van de groepsoort is moet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTINST_TYPE', 'Het veld type mag alleen ''D'', ''G'' of ''S'' bevatten'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTONDERDEEL_OMSCHR', 'De omschrijving van de onderdeelsoort is moet ingevuld.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTONDERDEEL_UPPER', 'De omschrijving van de onderdeelsoort is moet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_DEEL_SRTDEEL_KEY1', 'De referentie naar deelsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_DEEL_SRTDEEL_KEY2', 'Er zijn nog referenties van deel naar deze deelsoort.'); +DEF_FAC_MESSAGE ('INS_R_ELEM_SRTELEMENT_KEY1', 'De referentie naar elementsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_ELEM_SRTELEMENT_KEY2', 'Er zijn nog referenties van element naar deze elementsoort.'); +DEF_FAC_MESSAGE ('INS_R_INS_DEEL_KEY1', 'De referentie naar deel is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_INS_DEEL_KEY2', 'Er zijn nog referenties van onderdeel naar dit deel.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('INS_R_INS_DISCIPLINE_KEY1', 'De referentie naar vakgroep is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('INS_R_INS_DISCIPLINE_KEY1', 'De referentie naar discipline is niet ingevuld.'); +#endif +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('INS_R_INS_DISCIPLINE_KEY2', 'Er zijn nog referenties van groepsoort naar deze vakgroep.'); +#else +DEF_FAC_MESSAGE ('INS_R_INS_DISCIPLINE_KEY2', 'Er zijn nog referenties van groepsoort naar deze discipline.'); +#endif +DEF_FAC_MESSAGE ('INS_R_INS_ONDERDEEL_KEY1', 'De referentie naar onderdeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_INS_ONDERDEEL_KEY2', 'Er zijn nog referenties van element naar dit onderdeel.'); +DEF_FAC_MESSAGE ('INS_R_INS_SRTDEEL_KEY1', 'De referentie naar deelsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_INS_SRTDEEL_KEY2', 'Er zijn nog referenties van onderdeelsoort naar deze deelsoort.'); +DEF_FAC_MESSAGE ('INS_R_INS_SRTGROEP_KEY1', 'De referentie naar groepsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_INS_SRTGROEP_KEY2', 'Er zijn nog referenties van deelsoort naar deze groepsoort.'); +DEF_FAC_MESSAGE ('INS_R_INS_SRTONDERDEEL_KEY1', 'De referentie naar onderdeelsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_INS_SRTONDERDEEL_KEY2', 'Er zijn nog referenties van elementsoort naar deze onderdeelsoort.'); +DEF_FAC_MESSAGE ('INS_R_OND_SRTONDERDEEL_KEY1', 'De referentie naar onderdeelsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_OND_SRTONDERDEEL_KEY2', 'Er zijn nog referenties van onderdeel naar deze onderdeelsoort.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('INS_R_INS_DEEL_DISCIPLINE1', 'De vakgroep is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('INS_R_INS_DEEL_DISCIPLINE1', 'De discipline is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('INS_R_INS_DEEL_LOCATIE1', 'De locatie is niet ingevuld.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('INS_R_INS_DEEL_DISCIPLINE2', 'Er zijn nog referenties van delen naar deze vakgroep.'); +#else +DEF_FAC_MESSAGE ('INS_R_INS_DEEL_DISCIPLINE2', 'Er zijn nog referenties van delen naar deze discipline.'); +#endif +DEF_FAC_MESSAGE ('INS_R_INS_DEEL_LOCATIE2', 'Er zijn nog referenties van delen naar deze locatie.'); +DEF_FAC_MESSAGE ('INS_U_INS_DEEL_UPPER', 'De velden ''Ruimte'', ''Deelsoort'' en ''Omschijving'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('INS_U_INS_DISCIPLINE_OMSCHR', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('INS_U_INS_ELEMENT_UPPER', 'De velden ''Elementsoort'', ''Onderdeel'' en ''Omschijving'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('INS_U_INS_ONDERDEEL_UPPER', 'De velden ''Onderdeelsoort'', ''Deel'' en ''Omschijving'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('INS_U_INS_SRTDEEL_ACADSYMBOL', 'De velden ''Acadsymbol'' en ''Tagvalue'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('INS_U_INS_SRTDEEL_UPPER', 'De velden ''Groepsoort'' en ''Omschrijving'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('INS_U_INS_SRTELEMENT_UPPER', 'De velden ''Onderdeelsoort'' en ''Omschrijving'' zijn niet uniek.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('INS_U_INS_SRTGROEP_UPPER', 'De velden ''Vakgroep'' en ''Omschrijving'' zijn niet uniek.'); +#else +DEF_FAC_MESSAGE ('INS_U_INS_SRTGROEP_UPPER', 'De velden ''Discipline'' en ''Omschrijving'' zijn niet uniek.'); +#endif +DEF_FAC_MESSAGE ('INS_U_INS_SRTONDERDEEL_UPPER', 'De velden ''Deelsoort'' en ''Omschrijving'' zijn niet uniek.'); +/* INS_KENMERK-constraint-messages*/ +DEF_FAC_MESSAGE ('INS_C_INS_KENMERK_NIVEAU1', 'Het niveau van het kenmerk moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('INS_C_INS_KENMERK_NIVEAU2', 'Het niveau mag alleen de waarde ''D'', ''G'' of ''S'' bevatten.'); +DEF_FAC_MESSAGE ('INS_C_INS_KENMERK_TOONBAAR', 'Het veld ''Toonbaar'' mag alleen de waardes ''NULL'' of ''1'' bevatten.'); +DEF_FAC_MESSAGE ('INS_C_INS_KENMERK_VERPLICHT', 'Het veld ''Verplicht'' mag alleen de waardes ''NULL'' of ''1'' bevatten.'); +DEF_FAC_MESSAGE ('INS_C_INS_REFSRTKENMERK_OMSCHR', 'De omschrijving moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('INS_C_INS_REFSRTKENM_KOLNAAM', 'De kolomnaam moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('INS_C_INS_REFSRTKENM_KOLOMTXT', 'De kolomteskt moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('INS_C_INS_REFSRTKENM_OBJNAAM', 'De objectnaam moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTKENMERK_DEC', 'De waarde van het veld ''Decimal'' moet tussen 0 en de maximale lengte liggen.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTKENMERK_KENMTYPE', 'De kenmetktype mag alleen de waardes ''C'', ''N'', ''D'', ''R'' of ''X'' bevatten.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTKENMERK_LENGTE', 'De lengte moet tussen 1 en 50 liggen.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTKENMERK_MAX_MIN', 'De minimale waarde moet kleiner zijn dan de maximale waarde.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTKENMERK_OMSCHR', 'De omschrijving van het kenmerksoort moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('INS_C_INS_SRTKENMERK_SYSTEEM', 'De waarde van het veld ''Systeem'' mag alleen de waardes ''NULL'' of ''1'' bevatten.'); +DEF_FAC_MESSAGE ('INS_R_INS_KENMERK_DEEL_KEY1', 'De referentie naar deel is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_INS_KENMERK_DEEL_KEY2', 'Er zijn nog kenmerkwaardes van deel ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_INS_KENMERK_KEY1', 'De referentie naar kenmerk is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_INS_KENMERK_KEY2', 'Er zijn nog waardes van het kenmerk ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_INS_REFSRTKENMERK_KEY1', 'Er zijn nog kenmerksoorten met deze referentiesoort.'); +DEF_FAC_MESSAGE ('INS_R_INS_REFSRTKENMERK_KEY2', 'De referentiesoort is niet ingevuld.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('INS_R_INS_SRTINSTALLATIE_KEY1', 'De vakgroep, groepsoort of deelsoort is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('INS_R_INS_SRTINSTALLATIE_KEY1', 'De discipline, groepsoort of deelsoort is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('INS_R_INS_SRTKENMERK_KEY1', 'De kenmerksoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_INS_SRTKENMERK_KEY2', 'Er zijn nog koppelingen van de kenmerksoort met installatiesoorten'); +DEF_FAC_MESSAGE ('INS_U_INS_REFSRTKENMERK_UPPER', 'De omschrijving van de referentiesoort moet uniek zijn.'); +DEF_FAC_MESSAGE ('INS_U_INS_SRTKENMERK_UPPER',' De omschrijving van de kenmerksoort moet uniek zijn'); +DEF_FAC_MESSAGE ('INS_U_INS_KENMERK', 'De koppeling tussen kenmerksoort en installatiesoort moet uniek zijn.'); +DEF_FAC_MESSAGE ('INS_U_INS_KENMERKDEEL', 'De waarde van een kenmerk moet uniek zijn per deel.'); +/* INS_DEELKOPPELING-messages*/ +DEF_FAC_MESSAGE ('INS_C_DEELKOPPELING_VAN_NAAR','De installatiedeel mag niet aan zichzelf gekoppeld worden.'); +DEF_FAC_MESSAGE ('INS_R_DEELKOPPELING_VAN_KEY1','De koppeling van het installatiedeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_DEELKOPPELING_VAN_KEY2','Er zijn nog koppelingen van het installatiedeel'); +DEF_FAC_MESSAGE ('INS_R_DEELKOPPELING_NAAR_KEY1','De koppeling naar het installatiedeel is niet ingevuld.'); +DEF_FAC_MESSAGE ('INS_R_DEELKOPPELING_NAAR_KEY2','Er zijn nog koppelingen naar het installatiedeel'); +DEF_FAC_MESSAGE ('INS_U_DEELKOPPELING_VAN_NAAR', 'De koppeling van 2 installatiedelen moet uniek zijn.'); + +DEF_FAC_MESSAGE ('MLD_C_ALG_ONROERENDGOED_KEYS', 'De plaats van de melding is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_ADRESSEN', 'Het type van het adres is niet aangegeven.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_ADRES_AFLEVERADRES', 'Het veld ''AFLEVERADRES'' mag alleen de waarde 1 bevatten.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_ADRES_FACTUURADRES', 'Het veld ''FACTUURADRES'' mag alleen de waarde 1 bevatten.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_ADRES_NAAM', 'De naam van het adres is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_ADRES_OPDRACHTADRES', 'Het veld ''OPDRACHTADRES'' mag alleen de waarde 1 bevatten.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_ADRES_UPPER', 'De naam van het adres is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_BESTELOPDR_ADMIN', 'De administratiekosten moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_BESTELOPDR_KMVERGOED', 'De kilometervegoeding moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_BESTELOPDR_LIMIET', 'De limiet moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_BESTELOPDR_MODULE', 'De module van de bestelopdracht in niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_BESTELOPDR_MONTBON', 'Het veld ''MONTEURSBON'' mag alleen de waarde ''J'' of ''N'' bevatten.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_BESTELOPDR_PRIJS', 'De prijs moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_BESTELOPDR_RAMING', 'De raming moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_BESTELOPDR_REIS', 'De reiskosten moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_BESTELOPDR_VERZEND', 'De verzend moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_BESTELOPDR_VOORRIJ', 'De voorrij moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_BESTELREGEL', 'De velden ''Opdracht'' en ''Omschrijving zijn niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_MELDBRON_OMSCHR', 'De omschrijving van de meldbron is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_MELDBRON_UPPER', 'De omschrijving van de meldbron is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_MELDING_DATUM', 'De datum van de melding is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_MELDING_MODULE', 'De module van de melding is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_OORZAAK_OMSCHRIJVING', 'De omschrijving van de oorzaak is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_OORZAAK_UPPER', 'De omschrijving van de oorzaak is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_OPDR_DAGEN1', 'De termijn van de opdracht is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_OPDR_DAGEN2', 'De termijn van de opdracht moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_OPDR_DATUMBEGIN', 'De begindatum van de opdracht is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_OPDR_KOSTEN', 'De totale kosten van de opdracht moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_OPDR_MATERIAAL', 'De materiaalkosten van de opdracht moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_OPDR_MODULE', 'De module van de opdracht is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_OPDR_UREN', 'De uren van de opdracht moer groter zijn dan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_STANDAARDOPDR_AFK', 'De afkorting van de standaardopdracht is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_STANDAARDOPDR_OMSCHR', 'De omschrijving van de standaardopdracht is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_STATUSOPDR_MODULE', 'De module van de opdrachtstatus is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_STATUSOPDR_OMSCHR', 'De omschrijving van de opdrachtstatus is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_STATUSOPDR_UPPER', 'De omschrijving van de opdrachtstatus is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_STDOPDR_AFK_UPPER', 'De afkorting van de standaardopdracht is niet ingevuld.'); +#ifdef AKZ +DEF_FAC_MESSAGE ('MLD_C_MLD_STDMELDING_OMSCHR', 'De omschrijving van de herkenningstekst is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_STDMELDING_UPPER', 'De omschrijving van de herkenningstekst is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('MLD_C_MLD_STDMELDING_OMSCHR', 'De omschrijving van de standaard melding is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_STDMELDING_UPPER', 'De omschrijving van de standaard melding is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('MLD_C_MLD_STDMELDING_URGENTIE', 'De urgentie moet groter of gelijk zijn aan 0.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('MLD_C_INS_DISCIPLINE_KEY', 'De vakgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_INS_DISCIPLINE_KEY2', 'De vakgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_STDMELDING_KEY', 'De herkenningstekst is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('MLD_C_INS_DISCIPLINE_KEY', 'De discipline is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_INS_DISCIPLINE_KEY2', 'De discipline is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_STDMELDING_KEY', 'De standaard melding is niet ingevuld.'); +#endif +DEF_FAC_MESSAGE ('MLD_C_MLD_TYPEOPDR_MODULE', 'De module van de opdrachttype is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_TYPEOPDR_OMSCHR', 'De omschrijving van de opdrachttype is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_TYPEOPDR_UPPER', 'De omschrijving van de opdrachttype is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_UITVOERENDE_KEYS', 'De uitvoerende van de opdracht in niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_VRIJE_DAGEN_DATUM', 'De datum is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_MELDING_UITVOERTIJD1', 'De uitvoertijd is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_MELDING_UITVOERTIJD2', 'De uitvoertijd moet groter of gelijk zijn aan 0.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_MELDING_UITVOERTIJD3', 'De uitvoertijd moet groter of gelijk zijn aan 0.'); +DEF_FAC_MESSAGE ('MLD_C_AFGEWEZEN_OPMERKING', 'De opmerking is niet ingevuld bij een afgewezen melding.'); +DEF_FAC_MESSAGE ('MLD_C_MLD_STDMELD_UITVOERTIJD', 'De uitvoertijd moet groter of gelijk zijn aan 0.'); +DEF_FAC_MESSAGE ('MLD_R_ALG_KOSTENPOST_KEY', 'Er zijn nog referenties van opdracht naar deze kostenpost. '); +DEF_FAC_MESSAGE ('MLD_R_ALG_LOCATIE_KEY1', 'De referentie naar locatie is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_R_ALG_LOCATIE_KEY2', 'Er zijn nog referenties van meldingen naar deze locatie.'); +DEF_FAC_MESSAGE ('MLD_R_BESTELOPDR_LOC_KEY1', 'De referentie naar locatie is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_R_BESTLOPDR_LOC_KEY2', 'Er zijn nog referenties van bestelopdrachten naar deze locatie.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_BESTELOPDR_AFLEVADR', 'Er zijn nog referenties van bestelopdrachten naar dit adres.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_BESTELOPDR_FACTADR', 'Er zijn nog referenties van bestelopdrachten naar dit adres.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_BESTELOPDR_KEY1', 'De referentie naar bestelopdracht is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_BESTELOPDR_KEY2', 'Er zijn nog referenties van bestelregels naar deze bestelopdracht.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_BESTELOPDR_OPDRADR', 'Er zijn nog referenties van bestelopdrachten naar dit adres.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_MELDBRON_KEY1', 'De referentie naar meldbron is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_MELDBRON_KEY2', 'Er zijn nog referenties van meldingen naar deze meldbron.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_MELDING_KEY1', 'De referentie naar melding is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_MELDING_KEY2', 'Er zijn nog referenties van opdrachten naar deze melding.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_OORZAAK_KEY', 'Er zijn nog referenties van meldingen naar deze oorzaak.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_STANDAARDOPDR_KEY', 'Er zijn nog referenties van opdrachten naar deze standaardopdracht.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_STATUSOPDR_KEY1', 'De referentie naar opdrachtstatus is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_STATUSOPDR_KEY2', 'Er zijn nog referenties van opdrachten naar deze opdrachtstatus.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_TYPEOPDR_KEY1', 'De referentie naar opdrachttype is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_R_MLD_TYPEOPDR_KEY2', 'Er zijn nog referenties van opdrachten naar dit opdrachttype.'); +DEF_FAC_MESSAGE ('MLD_R_PRS_BEDRIJF_KEY1', 'De referentie naar bedrijf is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_R_PRS_BEDRIJF_KEY2', 'Er zijn nog referenties van bestelopdrachten naar dit bedrijf.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('MLD_R_MLD_STDMELDING_KEY', 'Er zijn nog referenties van meldingen naar deze herkenningstekst.'); +DEF_FAC_MESSAGE ('MLD_R_INS_DISCIPLINE_KEY', 'Er zijn nog referenties van standaard meldingen naar deze vakgroep.'); +DEF_FAC_MESSAGE ('MLD_R_INS_DISCIPLINE_KEY2', 'Er zijn nog referenties van meldingen naar deze vakgroep.'); +#else +DEF_FAC_MESSAGE ('MLD_R_MLD_STDMELDING_KEY', 'Er zijn nog referenties van meldingen naar deze standaard melding.'); +DEF_FAC_MESSAGE ('MLD_R_INS_DISCIPLINE_KEY', 'Er zijn nog referenties van standaard meldingen naar deze discipline.'); +DEF_FAC_MESSAGE ('MLD_R_INS_DISCIPLINE_KEY2', 'Er zijn nog referenties van meldingen naar deze discipline.'); +#endif +DEF_FAC_MESSAGE ('MLD_U_BCP_MLD_OPDR_KEY', 'Het veld ''Opdracht'' is niet uniek.'); +DEF_FAC_MESSAGE ('MLD_U_MLD_MELDBRON_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('MLD_U_MLD_OORZAAK_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('MLD_U_MLD_STATUSOPDR_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('MLD_U_MLD_STDOPDR_AFK_UPPER', 'Het veld ''Afkorting'' is niet uniek.'); +DEF_FAC_MESSAGE ('MLD_U_MLD_TYPEOPDR_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +#ifdef AKZ +/* 980309/KTH #1515 */ +DEF_FAC_MESSAGE ('MLD_U_MLD_STDMELDING', 'De vakgroep en omschrijving moeten uniek zijn.'); +#else +DEF_FAC_MESSAGE ('MLD_U_MLD_STDMELDING', 'De discipline en omschrijving moeten uniek zijn.'); +#endif +DEF_FAC_MESSAGE ('MLD_U_MLD_VRIJE_DAGEN_DATUM', 'De datum moet uniek zijn.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_AFDELING_NAAM', 'De naam van de afdeling is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_AFDELING_UPPER', 'De naam van de afdeling is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BEDRIJF_CONTRACT', 'Het veld ''CONTRACT'' mag alleen de waarde 1 bevatten.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BEDRIJF_LEVERANCIER', 'Het veld ''LEVERANCIER'' mag alleen de waarde 1 bevatten.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BEDRIJF_NAAM', 'De naam van het bedrijf is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BEDRIJF_NAAM_UPPER', 'De naam van het bedrijf is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BEDRIJF_UITVOERENDE', 'Het veld ''UITVOERENDE'' mag alleen de waarde 1 bevatten.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BESTEK_BEGINDATUM', 'De begindatum van het bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BESTEK_DATUMS', 'De begindatum moet kleiner zijn dan de einddatum.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BESTEK_EINDDATUM', 'De einddatum van het bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BESTEK_MATERIAALP1', 'De materiaalpost van het bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BESTEK_MATERIAALP2', 'De materiaalpost van het bestek moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BESTEK_NR', 'Het nummer van het bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BESTEK_OMSCHRIJVING', 'De omschrijving van het bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_BESTEK_UPPER_NR', 'Het nummer van het bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_DISCBESTEK_UREN1', 'Het veld ''Uren'' van het disciplinebestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_DISCBESTEK_UREN2', 'Het veld ''Uren'' van het disciplinebestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_DISCBESTEK_UURPRIJS1', 'De uurprijs van het disciplinebestek moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_DISCBESTEK_UURPRIJS2', 'De uurprijs van het disciplinebestek moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLIDWP_BEZETTING1', 'Het bezettingspercentage van de werkplek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLIDWP_BEZETTING2', 'Het bezettingspercentage van de werkplek moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLIDWP_KOPPELING', 'De werkplek moet gekoppeld zijn aan een persoon of een afdeling.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLID_DATUMS', 'De ingangsdatum moet kleiner zijn dan de einddatum.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLID_DIENSTVERB', 'De dienstverband moet tussen 0 en 100 % liggen.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLID_INGANGSDATUM', 'De ingangsdatum is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLID_MODULE', 'De module van de persoon is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLID_NAAM', 'De naam van de persoon is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLID_OPP', 'De oppervlakte van de persoon moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLID_UPPER', 'De naam van de persoon is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_PERSLID_UURLOON', 'Het uurloon van de persoon moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_SRTPERSLID_OMSCHR', 'De omschrijving van de functie is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_SRTPERSLID_OPP', 'De oppervlakte van de functie moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_SRTPERSLID_UPPER', 'De omschrijving van de functie is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_WERKPLEK_MODULE', 'De module van de werkplek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_WERKPLEK_OPP', 'De oppervlakte van de werkplek moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_WERKPLEK_VASTOPP', 'Het veld ''VASTOPP'' mag alleen de waarde 1 bevatten.'); +DEF_FAC_MESSAGE ('PRS_C_PRS_WERKPLEK_VOLGNR', 'Het volgnummer van de werkplek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_R_ALG_LOCATIE_KEY1', 'De referentie naar locatie is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_R_ALG_LOCATIE_KEY2', 'Er zijn nog referenties van locatiebestekken naar locatie.'); +DEF_FAC_MESSAGE ('PRS_R_INS_DISCIPLINE_KEY1', 'De referentie naar discipline is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_R_INS_DISCIPLINE_KEY2', 'Er zijn nog referenties van disciplinebestekken naar discipline.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_AFDELING_KEY', 'Er zijn nog referenties van personen naar deze afdeling.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_AFDELING_PARENTKEY', 'Er zijn nog referenties van subafdelingen naar deze afdeling.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_ALG_RUIMTE_KEY1', 'De referentie naar ruimte is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_ALG_RUIMTE_KEY2', 'Er zijn nog referenties van werkplekken naar deze ruimte.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_BEDRIJF_KEY', 'Er zijn nog referenties van functies naar dit bedrijf.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_BEDRIJF_KEY1', 'De referentie naar bedrijf is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_BEDRIJF_KEY2', 'Er zijn nog referenties van bestekken naar dit bedrijf.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_BESTEK_KEY1', 'De referentie naar bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_BESTEK_KEY2', 'Er zijn nog referenties van disciplinebestekken naar dit bestek.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_LOCATIEBESTEK_KEY1', 'De referentie naar bestek is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_LOCATIEBESTEK_KEY2', 'Er zijn nog referenties van locatiebestekken naar dit bestek.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_PERSLID_KEY', 'Er zijn nog werkplekken gekoppeld aan deze persoon.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_PW_AFDELING_KEY', 'Er zijn nog werkplekken gekoppeld aan deze afdeling.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_SRTPERSLID_KEY1', 'De referentie naar functie is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_SRTPERSLID_KEY2', 'Er zijn nog personen met deze functie.'); +DEF_FAC_MESSAGE ('PRS_R_PRS_WERKPLEK_KEY', 'Er zijn nog personen of afdelingen gekoppeld aan deze werkplek.'); +DEF_FAC_MESSAGE ('PRS_U_PERSLIDWERKPLEK', 'De combinatie van persoon of afdeling en werkplek is niet uniek.'); +DEF_FAC_MESSAGE ('PRS_U_PRS_AFDELING_UPPER', 'Het veld ''Naam'' is niet uniek.'); +DEF_FAC_MESSAGE ('PRS_U_PRS_BEDRIJF_NAAM_UPPER', 'Het veld ''Naam'' is niet uniek.'); +DEF_FAC_MESSAGE ('PRS_U_PRS_BESTEK_UPPER_NR', 'Het veld ''Nummer'' is niet uniek.'); +DEF_FAC_MESSAGE ('PRS_U_PRS_DISCIPLINEBESTEK_KEY', 'De velden ''Bestek'' en ''Discipline'' is niet uniek.'); +DEF_FAC_MESSAGE ('PRS_U_PRS_LOCATIEBESTEK_KEY', 'De velden ''Bestek'' en ''Locatie'' is niet uniek.'); +DEF_FAC_MESSAGE ('PRS_U_PRS_PERSLID_NR', 'Het veld ''Nummer'' is niet uniek.'); +DEF_FAC_MESSAGE ('PRS_U_PRS_SRTPERSLID_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('PRS_U_PRS_WERKPLEK_VOLGNR', 'Het veld ''Volgnummer'' is niet uniek.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_ACTIVITEIT_CODE', 'De code van de activiteit is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_ACTIVITEIT_OMSCHR', 'De omschrijving van de activiteit is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_ACTIVITEIT_PRIJS', 'Het prijsprofiel mag alleen de waardes 1 of 2 bevatten.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_ALG_OG_KEY', 'De koppeling met onroerendgoed is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_FREQUENTIE_CODE', 'De code van de frequentie is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_FREQUENTIE_OMSCHR', 'De omschrijving van de frequentie is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_NIVO_OG_CORRECTIE', 'De correctiefactor moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_NIVO_OMSCHRIJVING', 'De omschrijving van het schoonmaakniveau is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_NIVO_UPPER', 'De omschrijving van het schoonmaakniveau is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_SRTRUIMTE_SRTVLOER', 'De ruimtesoort of vloersoort moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_SRTVLOER_OMSCHR', 'De omschrijving van de vloersoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_C_SCH_SRTVLOER_UPPER', 'De omschrijving van de vloersoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_R_SCH_ACTIVITEIT_KEY1', 'Er zijn nog referenties van werkzaamheden naar deze activiteit.'); +DEF_FAC_MESSAGE ('SCH_R_SCH_ACTIVITEIT_KEY2', 'De referentie naar activiteit is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_R_SCH_ALG_SRTRUIMTE_KEY1', 'Er zijn nog referenties van werkzaamheden naar deze ruimtesoort.'); +DEF_FAC_MESSAGE ('SCH_R_SCH_FREQUENTIE_KEY1', 'Er zijn nog referenties van werkzaamheden naar deze frequentie.'); +DEF_FAC_MESSAGE ('SCH_R_SCH_FREQUENTIE_KEY2', 'De referentie naar frequentie is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_R_SCH_NIVO_KEY1', 'Er is nog onroerendgoed gekoppeld aan dit schoonmaakniveau.'); +DEF_FAC_MESSAGE ('SCH_R_SCH_NIVO_KEY2', 'De referentie naar schoonmaakniveau is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_R_SCH_SRTVLOER_KEY', 'Er zijn nog referenties van werkzaamheden naar deze vloersoort.'); +DEF_FAC_MESSAGE ('SCH_R_WERKZ_NIVO_KEY1', 'Er zijn nog referenties van werkzaamheden naar dit schoonmaakniveau.'); +DEF_FAC_MESSAGE ('SCH_R_WERKZ_NIVO_KEY2', 'De referentie naar schoonmaakniveau is niet ingevuld.'); +DEF_FAC_MESSAGE ('SCH_U_SCH_ACTIVITEIT_CODE', 'Het veld ''Code'' is niet uniek.'); +DEF_FAC_MESSAGE ('SCH_U_SCH_FREQUENTIE_CODE', 'Het veld ''Code'' is niet uniek.'); +DEF_FAC_MESSAGE ('SCH_U_SCH_NIVO_OG_KEY', 'Het veld ''Onroerendgoed'' is niet uniek.'); +DEF_FAC_MESSAGE ('SCH_U_SCH_NIVO_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('SCH_U_SCH_SRTVLOER_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('SCH_U_SCH_WERKZAAMHEDEN_UNIQUE', 'De velden ''Niveau'', ''Ruimte'' ''Vloersoort en ''Activiteit'' is niet uniek.'); +DEF_FAC_MESSAGE ('SLE_C_SLE_ALG_ONRGOED_KEYS', 'De plaats van de cylinder is niet ingevuld.'); +DEF_FAC_MESSAGE ('SLE_C_SLE_SLEUTEL_AANTAL1', 'Het aantal sleutels is niet ingevuld.'); +DEF_FAC_MESSAGE ('SLE_C_SLE_SLEUTEL_AANTAL2', 'Het aantal sleutels moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('SLE_C_SLE_SLEUTEL_OMSCHRIJVING', 'De omschrijving van de sleutel is niet ingevuld.'); +DEF_FAC_MESSAGE ('SLE_C_SLE_SLEUTEL_UPPER', 'De omschrijving van de sleutel is niet ingevuld.'); +DEF_FAC_MESSAGE ('SLE_C_SLE_SLOT_OMSCHRIJVING', 'De omschrijving van de cyilinder is niet ingevuld.'); +DEF_FAC_MESSAGE ('SLE_C_SLE_SLOT_UPPER', 'De omschrijving van de cyilinder is niet ingevuld.'); +DEF_FAC_MESSAGE ('SLE_R_SLE_PRS_PERSLID_KEY1', 'De referentie naar persoon is niet ingevuld.'); +DEF_FAC_MESSAGE ('SLE_R_SLE_PRS_PERSLID_KEY2', 'Er zijn nog sleutels gekoppeld aan deze persoon.'); +DEF_FAC_MESSAGE ('SLE_R_SLE_SLEUTEL_KEY1', 'De referentie naar sleutel is niet ingevuld.'); +DEF_FAC_MESSAGE ('SLE_R_SLE_SLEUTEL_KEY2', 'Er zijn nog cylinders gekoppeld aan deze sleutel'); +DEF_FAC_MESSAGE ('SLE_R_SLE_SLOT_KEY1', 'De referentie naar cylinder is niet ingevuld.'); +DEF_FAC_MESSAGE ('SLE_R_SLE_SLOT_KEY2', 'Er zijn nog sleutels gekoppeld aan deze cylinder.'); +DEF_FAC_MESSAGE ('SLE_R_SP_SLEUTEL_KEY1', 'De referentie naar sleutel isniet ingevuld.'); +DEF_FAC_MESSAGE ('SLE_R_SP_SLEUTEL_KEY2', 'Er zijn nog personen gekoppeld aan deze sleutel'); +DEF_FAC_MESSAGE ('SLE_U_SLE_SLEUTEL_SLOT_KEY', 'De velden ''Cylinder'' en ''Sleutel'' zijn niet uniek.'); +DEF_FAC_MESSAGE ('SLE_U_SLE_SLEUTEL_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('SLE_U_SLE_SLOT_UPPER', 'De velden ''Plaats'' en ''Omschrijving'' is niet uniek.'); + +#ifdef BIS +/* BIS */ +DEF_FAC_MESSAGE ('BIS_C_BIS_STOFGROEP_OMSCHRIJ', 'De omschrijving van de stofgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOFGROEP_UPPER', 'De omschrijving van de stofgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_STOFGROEP_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOFGROEP_KEY', 'De stofgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOFGROEP_OG_HUMUS', 'Percentage ''Ondergrens humus'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOFGROEP_BG_HUMUS', 'Percentage ''Bovengrens humus'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOFGROEP_OB_HUMUS', 'Percentage ''Bovengrens humus'' moet groter/gelijk zijn aan ''Ondergrens humus.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOFGROEP_OG_LUTUM', 'Percentage ''Ondergrens lutum'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOFGROEP_BG_LUTUM', 'Percentage ''Bovengrens lutum'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOFGROEP_OB_LUTUM', 'Percentage ''Bovengrens lutum'' moet groter/gelijk zijn aan ''Ondergrens lutum.'); +DEF_FAC_MESSAGE ('BIS_R_BIS_STOFGROEP_KEY', 'De referentie naar stofgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOF_OMSCHRIJVING', 'De omschrijving van de stof is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOF_UPPER', 'De omschrijving van de stof is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_STOF_UPPER', 'Deze stof bestaat reeds in een andere stofgroep.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOF_S_GROND', 'De streefwaarde van grond mag niet kleiner zijn dan 0.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOF_I_GROND', 'De interventiewaarde van grond mag niet kleiner zijn dan 0.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOF_S_GRONDWATER', 'De streefwaarde van grondwater mag niet kleiner zijn dan 0.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOF_I_GRONDWATER', 'De interventiewaarde van grondwater mag niet kleiner zijn dan 0.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOF_A', 'De waarde van A mag niet kleiner zijn dan 0.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOF_B', 'De waarde van B mag niet kleiner zijn dan 0.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_STOF_C', 'De waarde van C mag niet kleiner zijn dan 0.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_STOFGROEP_KEY', 'De stof moet uniek zijn binnen een stofgroep.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_BIJMENGING_CODE', 'De code van de bijmenging is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_BIJMENGING_UPPER', 'De code van de bijmenging is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_BIJMENGING_NAAM', 'Het veld ''Omschrijving'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_BIJMENGING_UPPER','Het veld ''Code'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_BIJZONDERHEID_CODE', 'Het veld ''Code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_BIJZONDERHEID_UPPER', 'Het veld ''Code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_BIJZONDERHEID_OMSCHR', 'Het veld ''Omschrijving'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_BIJZONDERHEID_UPPER', 'Het veld ''Code'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_EENHEID_CODE', 'Het veld ''omschrijving'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_EENHEID_UPPER', 'De veld ''omschrijving'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_EENHEID_UPPER','Het veld ''omschrijving'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_GEUR_CODE', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_GEUR_UPPER', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_GEUR_OMSCHR', 'Het veld ''Omschrijving'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_GEUR_UPPER','Het veld ''Code'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_GEURGRADATIE_CODE', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_GEURGRADATIE_UPPER', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_GEURGRADATIE_OMSCHR', 'Het veld ''Omschrijving'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_GEURGRADATIE_UPPER','Het veld ''Code'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_KLEUR_CODE', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_KLEUR_UPPER', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_KLEUR_OMSCHR', 'Het veld ''Omschrijving'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_KLEUR_UPPER','Het veld ''Code'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_KLEURGRADATIE_CODE', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_KLEURGRADATIE_UPPER', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_KLEURGRADATIE_OMSCHR', 'Het veld ''Omschrijving'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_KLEURGRADATIE_UPPER','Het veld ''Code'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_ANALYSEPAKKET_CODE', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_ANALYSEPAKKET_UPPER', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_ANALYSEPAKKET_OMSCHR', 'Het veld ''Omschrijving'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_ANALYSEPAKKET_UPPER','Het veld ''Code'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_ANALYSEPAKSTOF_KEY','De primary key van ''BIS_ANALYSESTOF'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_ANALYSEPAKKETSTOF','Koppeling Analysepakket - Stof'); +DEF_FAC_MESSAGE ('BIS_C_BIS_ANALYSEMETHODE_CODE', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_ANALYSEMETHODE_UPPER', 'De veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_ANALYSEMETHODE_OMSCH', 'Het veld ''Omschrijving'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_EENHEID_KEY', 'Het veld ''Eenheid'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_ANALYSEMETHODE_UPPER', 'Het veld ''code'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_ANALYSEMETHODESTOF', 'Koppeling Analysemethode-Stof'); +DEF_FAC_MESSAGE ('BIS_C_BIS_ANALYSEMETHODE_KEY', 'Het veld ''Code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_STANALYSEMETHODE_KEY', 'Deze prioriteit is reeds gekoppeld aan bovengenoemde stof.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_ANALYSEMETHODE_KEY', 'Deze analysemethode is reeds gekoppeld aan bovengenoemde stof.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_ADVIESBUREAU', 'De naam van het adviesbureau moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('BIS_C_ONDERZOEK_SOORT_OMSCHR', 'Omschrijving is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_ALG_LOCATIE_KEY', 'De locatie moet gekozen zijn.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_PROJECT_NR', 'Het projectnummer moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('BIS_C_BORING_NUMMER', 'Het boringnummer moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('ALG_C_BIS_TERREINSECTOR_KEY', 'De sublocatie moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_BORINGNUMMER', 'Het boringnummer moet uniek zijn.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_BORINGKEY', 'De boring key mag niet NULL zijn.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_BORINGTYPE_KEY' , 'De boringtype key mag niet NULL zijn.'); +DEF_FAC_MESSAGE ('BIS_DIEPTE' , 'Diepte in meters'); +DEF_FAC_MESSAGE ('BIS_PEILBUIS' , 'Peilbuisgegevens'); +DEF_FAC_MESSAGE ('BIS_TOVNAP' , 'meter t.o.v. NAP'); +DEF_FAC_MESSAGE ('BIS_BODEMPROFKOP' , 'bodemprofiel gegevens boring '); +DEF_FAC_MESSAGE ('BIS_BODEMPROFIELTRAJECT' , 'Bodemprofieltrajecten '); +DEF_FAC_MESSAGE ('BIS_TRAJECTKOP' , 'trajecten van boring '); +DEF_FAC_MESSAGE ('BIS_SONDERINGKOP' ,'sonderingsgegevens van boring '); + + +DEF_FAC_MESSAGE ('BIS_C_BIS_TEXTUUR_CODE' , 'Het veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_TEXTUUR_UPPPER' , 'Het veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_TEXTUUR_UPPER' , 'Het veld ''code'' is niet uniek.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_TEXTUURGROOTTE_CODE' , 'Het veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_TEXTUURGROOTTE_UPPER', 'Het veld ''code'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_U_BIS_TEXTUURGROOTTE_UPPER' , 'Het veld ''code'' is niet uniek.'); + +DEF_FAC_MESSAGE ('BIS_C_BIS_GEUR_KEY' , 'Het veld ''Geur'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_GEURGRADATIE_KEY' , 'Het veld ''Geurgradatie'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_TEXTUUR_KEY' , 'Het veld ''Textuur'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_TEXTUURGROOTTE_KEY' , 'Het veld ''Textuurgrootte'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_BIJMENGING_KEY' , 'Het veld ''Bijmenging'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_BIJZONDERHEID_KEY' , 'Het veld ''Bijzonderheid'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_KLEUR_KEY' , 'Het veld ''Kleur'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_KLEURGRADATIE_KEY' , 'Het veld ''Kleurgradatie'' is niet ingevuld.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_BORING_BOORTYPE_KEY' , 'De referentie naar tabel ''bis_boring_boringtype'' is niet ingevuld'); +DEF_FAC_MESSAGE ('BIS_R_BIS_BODEMPROFIEL_KEY2' , 'De referentie naar tabel ''bis_bodemprofiel'' is niet ingevuld'); +DEF_FAC_MESSAGE ('BIS_C_BIS_TRAJECT_HUMUS' , 'Percentage ''humus'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); +DEF_FAC_MESSAGE ('BIS_C_BIS_TRAJECT_LUTUM' , 'Percentage ''lutum'' moet groter/gelijk 0 en kleiner/gelijk 100 zijn.'); + +#endif // BIS + +-- Dit hoeft niet meer, dit wordt in triggers opgelost. +--update fac_entity_name set fac_entity_system_name=Upper(fac_entity_system_name); +--update fac_message set fac_message_code=Upper(fac_message_code); + +#endif // FAC diff --git a/FAC/FAC_PAC.SRC b/FAC/FAC_PAC.SRC new file mode 100644 index 00000000..9459a3e4 --- /dev/null +++ b/FAC/FAC_PAC.SRC @@ -0,0 +1,269 @@ +#ifdef FAC + +/* FAC_P_FAC_VOLGNR: Tabel en functies voor volgnummers. + * + * Deze tabel is voor het simuleren van sequences die zich kunnen + * resetten om een bepaalde periode. + * + * De periode wordt aangegeven dmv. een TO_CHAR-formaat van een datum, + * bijv. 'YYYY' voor jaar of 'MM' voor maand. + * + * De functies voor deze volgnummers zitten in een package. Het volgnummer + * moet altijd via deze functies opgevraagd worden. + * + * De volgende functies zijn beschikbaar: + * - fac_volgnr_currval(soort) RETURN NUMBER: + * Vraag de huidige waarde van het volgnummer op. + * - fac_volgnr_nextval(soort) RETURN NUMBER: + * Vraag de waarde op van volgende volgnummer op. + * het volgnummer en de laatste opvraagdatum wordt dan aangepast. Als de + * huidige datum over de opgegeven periodegrens komt, dan wordt eerst het + * volgnummer gereset. + * - fac_volgnr_reset(soort): + * Indien nodig reset het volgnr. + * + * In SQL_PLUS kan de source opgevraagd worden uit tabel USER_SOURCE. + * Bij het creeren kan de de volgende error komen: + * DBA-00072: Package body created with compilation errors. + * De errors kunnen bekeken worden dmv. SHOW ERRORS; + * + * FAC_P_FAC_SAVE_RESTORE: Package voor het bewaren en teruggeven van primary keys binnen triggers. + * + * Gebruikt in: De status van de MLD_MELDING is afhankelijk van de minimale status van zijn opdrachten, of als + * er geen opdrachten kan dit door de gebruiker gezet worden. Als er een nieuwe opdrachten aangemaakt + * wordt, of als een opdracht van status veranderd of als een opdracht verwijderd wordt, heeft dit invloed + * op de status van de bijbehorende melding. Dit mechanisme is opgelost via de triggers van MLD_OPDR. + * + * De volgende functies zijn beschikbaar: + * - ResetSelectie(TableName) RETURN BOOLEAN: + * Verwijderd de vorige selectie van de Primary-keys van de tabel. Hou hier rekening met multi-user dmv. de + * huidige SessionId. Retourneerd of het gelukt (TRUE) is of niet (FALSE). + * Deze moet aangeroepen worden in de BEFORE-statement-trigger, + * bijvoorbeeld: BEFORE INSERT OR UPDATE OR DELETE ON mld_opdr. + * - SavePrimaryKey(TableName, PrimaryKey) RETURN BOOLEAN: + * Onthou de PrimaryKey-waarde, hou hiet ook rekening met multi-user dmv. de huidige SessionId. Retourneerd + * of het gelukt (TRUE) is of niet (FALSE). + * Deze moet aangeroepen worden in de BEFORE-row-trigger, + * bijvoorbeeld: BEFORE INSERT OR UPDATE ON mld_opdr FOR EACH ROW + * EN : BEFORE DELETE ON mld_opdr FOR EACH ROW + * - GetPrimaryKey(TableName, IndexNr) RETURN NUMBER: + * Geef de nth onthouden PrimaryKey terug, hou hiet ook rekening met multi-user dmv. de huidige SessionId. + * Het IndexNr begint met 1 en loopt door totdat er geen volgende PrimaryKey onthouden is. + * Retourneerd de gevonden PrimaryKey of NULL (als er geen volgende is). + * Deze moet aangeroepen worden in de AFTER-statement-trigger, + * bijvoorbeeld: AFTER INSERT OR UPDATE OR DELETE ON mld_opdr. + * + * LET OP: FAC_P_FAC_SAVE_RESTORE_UPDATE(Func, TableName) + * Voor het gebruik van GetPrimaryKey() is een #define FAC_P_FAC_SAVE_RESTORE_UPDATE(Func, TableName) + * gemaakt in COMSQL.H: Deze doorloopt alle onthouden PrimaryKeys van TableName en roept voor elk record + * de functie Func aan. Func krijgt 1 argument, nl. PrimaryKey en moet een BOOLEAN retourneren. + * + * Voorbeelden van het gebruik staan in MLD_TRI.SRC in de triggers MLD_T_MLD_OPDR_B_IUD, MLD_T_MLD_OPDR_B_IU, + * MLD_T_MLD_OPDR_B_D en MLD_T_MLD_OPDR_A_IUD. + * + * FAC_P_FAC_GEBRUIKER_OPSCHONEN: Procedure om de entries in FAC_GEBRUIKER-tabel op te schonen + * Er kunnen namelijk entries in blijven bestaan van users die al verwijderd zijn. + * + * + * Revivions: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * 15/04/1998 AH GetPrimaryKey() aangepast, SELECT DISTINCT fac_selectie_key ipv SELECT fac_selectie_key + * 08/04/1998 AH #1589, Nieuwe procedure FAC_P_FAC_GEBRUIKER_OPSCHONEN aangemaakt + * 01/04/1998 AH #1540, Nieuwe package FAC_P_FAC_SAVE_RESTORE toegevoegd voor het onthouden en teruggeven + * van primary-keys. + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 21-05-96 KTH - OR REPLACE toegevoegd aan package en package body + * - file hernoemd van FAC_PACK.SRC naar FAC_PAC.SRC + * 03-05-96 AH Creation. + */ + +CREATE OR REPLACE PACKAGE fac_p_fac_volgnr AS + FUNCTION fac_volgnr_currval( soort IN CHAR ) RETURN NUMBER; + FUNCTION fac_volgnr_nextval( soort IN CHAR ) RETURN NUMBER; + PROCEDURE fac_volgnr_reset( soort IN CHAR ); + +END fac_p_fac_volgnr; +/ + +CREATE OR REPLACE PACKAGE BODY fac_p_fac_volgnr AS + FUNCTION fac_volgnr_currval( soort IN CHAR ) RETURN NUMBER IS + volgnr NUMBER; + BEGIN + SELECT fac_volgnr + INTO volgnr + FROM fac_volgnrs + WHERE fac_volgnr_srt = soort; + RETURN volgnr; + EXCEPTION + WHEN NO_DATA_FOUND + THEN APPLICATION_ERROR(-20000, 'alg_m152'); + RETURN 0; + END fac_volgnr_currval; + + FUNCTION fac_volgnr_nextval( soort IN CHAR ) RETURN NUMBER IS + volgnr NUMBER; + BEGIN + fac_volgnr_reset(soort); + + SELECT fac_volgnr + 1 + INTO volgnr + FROM fac_volgnrs + WHERE fac_volgnr_srt = soort + FOR UPDATE OF fac_volgnr; + + UPDATE fac_volgnrs + SET fac_volgnr = volgnr, + fac_volgnr_laatste_datum = SYSDATE + WHERE fac_volgnr_srt = soort; + + RETURN volgnr; + EXCEPTION + WHEN NO_DATA_FOUND + THEN APPLICATION_ERROR(-20000, 'alg_m152'); + RETURN 0; + END fac_volgnr_nextval; + + PROCEDURE fac_volgnr_reset( soort IN CHAR ) IS + periode fac_volgnrs.fac_volgnr_periode%TYPE; + laatste_datum fac_volgnrs.fac_volgnr_laatste_datum%TYPE; + BEGIN + SELECT fac_volgnr_periode, fac_volgnr_laatste_datum + INTO periode, laatste_datum + FROM fac_volgnrs + WHERE fac_volgnr_srt = soort; + IF TO_CHAR(laatste_datum, periode) <> TO_CHAR(SYSDATE, periode) + THEN + UPDATE fac_volgnrs + SET fac_volgnr = 0, + fac_volgnr_laatste_datum = SYSDATE + WHERE fac_volgnr_srt = soort; + END IF; + EXCEPTION + WHEN NO_DATA_FOUND + THEN APPLICATION_ERROR(-20000, 'alg_m152'); + END fac_volgnr_reset; + +END fac_p_fac_volgnr; +/ + +CREATE OR REPLACE PACKAGE fac_p_fac_save_restore AS + -- Maak de vorige selectie van de tabel en de huidige sessie leeg. + FUNCTION ResetSelectie( TableName IN VARCHAR2 ) RETURN BOOLEAN; + -- Onthou de primary key van de tabel en de huidige sessie. + FUNCTION SavePrimaryKey( TableName IN VARCHAR2, PrimaryKey IN NUMBER ) RETURN BOOLEAN; + -- Geef de nth primary key van de tabel en de huidige sessie. IndexNr begint met 1. + FUNCTION GetPrimaryKey( TableName IN VARCHAR2, IndexNr IN NUMBER ) RETURN NUMBER; + + PRAGMA RESTRICT_REFERENCES (GetPrimaryKey,WNDS, WNPS); +END fac_p_fac_save_restore; +/ + +CREATE OR REPLACE PACKAGE BODY fac_p_fac_save_restore AS + FUNCTION GetSessionId RETURN VARCHAR2 IS + SessionId VARCHAR2(20); + BEGIN + SELECT USERENV('SESSIONID') + INTO SessionId + FROM DUAL; + + RETURN SessionId; + END; + + FUNCTION ResetSelectie( TableName IN VARCHAR2 ) RETURN BOOLEAN IS + SessionId VARCHAR2(20); + BEGIN + SessionId := GetSessionId; + + DELETE FROM fac_selectie + WHERE fac_selectie_node = SessionId + AND fac_selectie_tabel = TableName; + + RETURN TRUE; + EXCEPTION + WHEN OTHERS + THEN RETURN FALSE; + END; + + FUNCTION SavePrimaryKey( TableName IN VARCHAR2, PrimaryKey IN NUMBER ) RETURN BOOLEAN IS + SessionId VARCHAR2(20); + BEGIN + SessionId := GetSessionId; + + INSERT INTO fac_selectie (fac_selectie_node, + fac_selectie_tabel, + fac_selectie_key) + VALUES (SessionId, TableName, PrimaryKey); + + RETURN TRUE; + EXCEPTION + WHEN OTHERS + THEN RETURN FALSE; + END; + + -- Geef de nth Fac_Selectie_Key van de geselecteerde records + -- terug. IndexNr begint met 1. + FUNCTION GetPrimaryKey( TableName IN VARCHAR2, IndexNr IN NUMBER ) RETURN NUMBER IS + SessionId VARCHAR2(20); + CURSOR Selectie IS SELECT DISTINCT fac_selectie_key + FROM fac_selectie + WHERE fac_selectie_node = SessionId + AND fac_selectie_tabel = TableName + ORDER BY fac_selectie_key; + + SelectieRec Selectie%ROWTYPE; + TmpIndex NUMBER; + ReturnKey NUMBER(10); + BEGIN + SessionId := GetSessionId; + ReturnKey := NULL; + TmpIndex := 1; + FOR SelectieRec IN Selectie + LOOP + IF IndexNr = TmpIndex + THEN + ReturnKey := SelectieRec.fac_selectie_key; + EXIT; + END IF; + TmpIndex := TmpIndex + 1; + END LOOP; + RETURN ReturnKey; + END; + +END fac_p_fac_save_restore; +/ + +CREATE OR REPLACE PROCEDURE FAC_P_FAC_GEBRUIKER_OPSCHONEN IS +BEGIN + DELETE FROM fac_gebruiker + WHERE fac_gebruiker_username NOT IN (SELECT username + FROM all_users); + COMMIT; +END; +/ + +#endif // FAC diff --git a/FAC/FAC_SEQ.SRC b/FAC/FAC_SEQ.SRC new file mode 100644 index 00000000..1a5427a0 --- /dev/null +++ b/FAC/FAC_SEQ.SRC @@ -0,0 +1,57 @@ +#ifdef FAC // 13-03-96 AH + +/* + * System sequences for Facilitor + */ + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 30/01/1998 AH Extra sequences voor FAC_GEBRUIKER, FAC_FUNCTIE en FAC_ROL + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 29-05-96 EH Sequence voor fac_attribute verplaatst naar ins_seq. + * 21-05-96 EH Sequence voor fac_attribute toegevoegd. + * --- 01.14 --- + * 03-04-96 AH Sequence fac_s_fac_log_key en include fac_log.h toegevoegd + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 13-10-95 PF Creation + */ + + +#ifdef FAC_LOG +#include "fac_log.h" + +CREATE SEQUENCE fac_s_fac_log_key MINVALUE 1; +#endif // FAC_LOG + +CREATE SEQUENCE fac_s_fac_functie_key MINVALUE 1; +CREATE SEQUENCE fac_s_fac_gebruiker_key MINVALUE 1; +CREATE SEQUENCE fac_s_fac_rol_key MINVALUE 1; + +#endif diff --git a/FAC/FAC_TAB.SRC b/FAC/FAC_TAB.SRC new file mode 100644 index 00000000..82574035 --- /dev/null +++ b/FAC/FAC_TAB.SRC @@ -0,0 +1,269 @@ +#ifdef FAC // 13-03-96 AH +/* + * System tables for Facilitor + */ + +#include "comsql.h" + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 20/02/1998 AH In FAC_PRIVILEGE kan niet de macro CREATE_TABLE() gebruikt worden. + * 03/02/1998 AH FAC_GEBRUIKER_MODULE mag NULL zijn. + * 03/02/1998 AH FAC_PRIVILEGE en FAC_VOLGNR hebben nu ook privileges + * 30/01/1998 AH FAC_GEBRUIKER aangepast en FAC_FUNCTIE en FAC_ROL toegevoegd + * 13/11/1997 AH #1473, Constraintnamen toegevoegd en FAC_MESSAGE_CODE uitgebreid naar 30. + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * 07-11-96 AH LOG#976: FAC_GEBRUIKER-table toegevoegd + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * 26-07-96 AH In tabel fac_selectie kolom fac_selectie_tabel toegevoegd. + * 01-07-96 AH Tabel fac_selectie toegevoegd voor Multi_select. + * --- 01.18 --- + * --- 01.17 --- + * 26-06-96 KTH Tabel fac_form uitgebreid met kolom 'fac_form_type' en + * privilege veranderd naar BIBLIOTHEEK_PRIVILEGE + * 12-06-96 KTH Tabel fac_form toegevoegd voor Help-informatie per form + * --- 01.16 --- + * --- 01.15 --- + * 29-05-96 EH Tabel fac_attribute verplaatst naar ins_tab.src. + * 21-05-96 EH Tabel fac_attribute t.b.v. attributen toegevoegd. + * 03-05-96 AH FAC_VOLGNRS toegevoegd. + * 01-05-96 AH ..\COMSQL.H aangepast. + * 29-04-96 RW Privileges aangepast, de tabellen fac_entity_name, + * fac_message en fac_module hebben nu BIBLIOTHEEK_PRIVILEGE !! + * --- 01.14 --- + * 03-04-96 AH Table FAC_LOG en include fac_log.h toegevoegd + * --- 01.13 --- + * --- 01.12 --- + * 01-04-96 KTH Gebruik macros CREATE_TABLE()/CREATE_VIEW() + * #include "..\comsql.h" en table fac_privilege toegevoegd + * 15-03-96 AH Commentaar toegevoegd voor fac_rapport. + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 15-02-96 PF fac_entity_name uitgebreid met meervoud en lidwoord + * tbv help-file + * 01-02-96 AH De tabel fac_error toegevoegd voor last dbms_error_code + * in forms te kunnen resetten. Dit wordt gedaan door de trigger + * van fac_error. + * 20-12-95 PF fac_rapport_regel is nu 200 lang ipv 132 + * 13-10-95 PF Creation + */ + +/* gebruik hier geen CREATE_TABLE() macro */ +CREATE TABLE fac_privilege +( + object_name + VARCHAR2(30) + CONSTRAINT fac_k_object_name PRIMARY KEY, + security_level + NUMBER + DEFAULT 2 +); + +CREATE_TABLE(fac_volgnrs, BASIS_PRIVILEGE) +( + fac_volgnr_srt + VARCHAR2(30) + CONSTRAINT fac_k_fac_volgnr_srt PRIMARY KEY, + fac_volgnr + NUMBER + DEFAULT 0 + CONSTRAINT fac_c_fac_volgnr NOT NULL, + fac_volgnr_periode + VARCHAR2(10) + DEFAULT 'YYYY' + CONSTRAINT fac_c_fac_volgnr_periode NOT NULL, + fac_volgnr_laatste_datum + DATE + DEFAULT SYSDATE + CONSTRAINT fac_c_fac_volgnr_laatste_datum NOT NULL +); + +/* + * AH/Debug logging voor Triggers + * + * gebruik hier geen CREATE_TABLE() macro + */ +#ifdef FAC_LOG +#include "fac_log.h" + +CREATE_TABLE(fac_log, BASIS_PRIVILEGE) +( + fac_log_key + NUMBER(10) + CONSTRAINT fac_k_fac_log_key PRIMARY KEY, + fac_log_datum + VARCHAR2(20) + DEFAULT TO_CHAR(SYSDATE, 'DD-MM-YYYY HH:MI.SS'), + fac_log_message + VARCHAR2(80) +); +#endif // FAC_LOG + +/* Translation for application messages like ALG_M_01 */ +CREATE_TABLE (fac_message,BIBLIOTHEEK_PRIVILEGE) +( + fac_message_code + VARCHAR2(30) + CONSTRAINT fac_k_fac_message_code PRIMARY KEY, + fac_message_text + VARCHAR2(80) + NOT_NULL(fac_message_text, fac_c_fac_message_text) +); + +/* Translation from system entity names like REGIO to user names */ +CREATE_TABLE (fac_entity_name,BIBLIOTHEEK_PRIVILEGE) +( + fac_entity_system_name + VARCHAR2(30) + CONSTRAINT fac_k_fac_entity_system_name PRIMARY KEY, + fac_entity_user_name + VARCHAR2(15), + fac_entity_user_name_m + VARCHAR2(20), + fac_entity_user_name_pre + VARCHAR2(5) +); + +/* Translation from system entity names like REGIO to user names */ +CREATE_TABLE (fac_module,BIBLIOTHEEK_PRIVILEGE) +( + fac_module_name + VARCHAR2(30) + CONSTRAINT fac_k_fac_module_name PRIMARY KEY, + fac_module_version + VARCHAR2(10), + fac_module_date + VARCHAR2(8), + fac_module_remark + VARCHAR2(50) +); + +/* Temporary location of print-outs + * FAC_RAPPORT_SOORT: 0 - Header, 1 - Body, 2 - Footer. + */ +CREATE_TABLE (fac_rapport,BASIS_PRIVILEGE) +( + fac_rapport_node + VARCHAR2(12), + fac_rapport_volgnr + NUMBER(10), + fac_rapport_regel + VARCHAR2(200), + fac_rapport_soort + NUMBER(1), + CONSTRAINT fac_u_fac_rapport UNIQUE(fac_rapport_node, fac_rapport_volgnr, fac_rapport_soort) +); + +CREATE_TABLE (fac_error,BASIS_PRIVILEGE) +( + fac_error_code + NUMBER +); + +/* tabel waarin Help-informatie staat voor de Forms */ +CREATE_TABLE (fac_form,BIBLIOTHEEK_PRIVILEGE) +( + fac_form_name + VARCHAR2(16), + fac_form_type + VARCHAR2(1), + fac_form_parameter + VARCHAR2(16), + fac_form_sequence + VARCHAR2(6) + NOT_NULL(fac_form_sequence, fac_k_fac_form_sequence1) + CONSTRAINT fac_k_fac_form_sequence2 PRIMARY KEY, + fac_form_context + VARCHAR2(16) + NOT_NULL(fac_form_context, fac_c_fac_form_context) + CONSTRAINT fac_u_fac_form_context UNIQUE, + fac_form_opmerking + VARCHAR2(50) +); + +/* Tabel waarin de keys voor de multi_selectie worden bewaard. */ +CREATE_TABLE(fac_selectie, BASIS_PRIVILEGE) +( + fac_selectie_node + VARCHAR2(12), + fac_selectie_tabel + VARCHAR2(30), + fac_selectie_key + NUMBER(10) +); + +// Tabel voor de autorisatie van voorgedefinieerde functionaliteit in Forms +CREATE_TABLE(fac_functie, BIBLIOTHEEK_PRIVILEGE) +( + fac_functie_key + NUMBER(10) + CONSTRAINT fac_k_fac_functie_key PRIMARY KEY, + fac_functie_code + VARCHAR2(10) + NOT_NULL(fac_functie_code, fac_c_fac_functie_code), + fac_functie_omschrijving + VARCHAR2(30) + NOT_NULL(fac_functie_omschrijving, fac_c_fac_functie_omschrijving) +); + +// Tabel voor autorisatie van gebruikers +CREATE_TABLE(fac_gebruiker, BIBLIOTHEEK_PRIVILEGE) +( + fac_gebruiker_key + NUMBER(10) + CONSTRAINT fac_k_fac_gebruiker_key PRIMARY KEY, + fac_gebruiker_username + VARCHAR2(30) + NOT_NULL(fac_gebruiker_username, fac_c_fac_gebruiker_username), + fac_functie_key + NUMBER(10) + CONSTRAINT fac_r_fac_functie_key REFERENCES fac_functie(fac_functie_key), + fac_gebruiker_module + VARCHAR2(3) +-- NOT_NULL(fac_gebruiker_module, fac_c_fac_gebruiker_module) + , + fac_gebruiker_tabel + VARCHAR2(32), + fac_gebruiker_kolom + VARCHAR2(32), + fac_gebruiker_kolomkey + NUMBER(10), + fac_gebruiker_soort + VARCHAR2(1) +); + +// Tabel met de voorgedefinieerde ROLEs in de FCLT-database +// FAC_ROL_ROLE moet altijd UPPER zijn, dit wordt in trigger geregeld. +CREATE_TABLE(fac_rol, BIBLIOTHEEK_PRIVILEGE) +( + fac_rol_key + NUMBER(10) + CONSTRAINT fac_k_fac_rol_key PRIMARY KEY, + fac_rol_role + VARCHAR2(30) + NOT_NULL(fac_rol_role, fac_c_fac_rol_role), + fac_rol_omschrijving + VARCHAR2(30) + NOT_NULL(fac_rol_omschrijving, fac_c_fac_rol_omschrijving) +); + +#endif // FAC diff --git a/FAC/FAC_TRI.SRC b/FAC/FAC_TRI.SRC new file mode 100644 index 00000000..f553996f --- /dev/null +++ b/FAC/FAC_TRI.SRC @@ -0,0 +1,118 @@ +#ifdef FAC // 13-03-96 AH +/* + * System triggers for Facilitor + */ + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 25/02/1998 AH Nieuwe triggers toegevoegd in FAC_ENTITY en FAC_MESSAGE, maak van + * de code altijd UPPER() + * 30/01/1998 AH Triggers voor FAC_GEBRUIKER, FAC_FUNCTIE en FAC_ROL aangemaakt + * 13/11/1997 AH #1473, CREATE TRIGGER vervangen door CREATE_TRIGGER() + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 29-05-96 EH fac_t_fac_attribute_B_IU verplaatst naar ins_tri en hernoemd + * naar ins_t.. etc. + * 22-05-96 EH Trigger voor attributen aangepasat aan nieuwe naam. + * 21-05-96 EH Trigger voor attributen toegevoegd. + * --- 01.14 --- + * 03-04-96 AH Trigger fac_t_fac_log_B_IU en include fac_log.h toegevoegd + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 01-02-96 AH Trigger voor resetten van last dbms_error_code toegevoegd + * 13-10-95 PF Creation + */ + +#include "comsql.h" + +#define FAC_ERROR_CODE -20999 + +#ifdef FAC_LOG +#include "fac_log.h" + +CREATE_TRIGGER(fac_t_fac_log_B_IU) +BEFORE INSERT OR UPDATE ON fac_log +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(fac_log_key, fac_s_fac_log_key); +END; +/ + +#endif //FAC_LOG + +CREATE_TRIGGER(fac_t_fac_error_B_IU) +BEFORE INSERT OR UPDATE ON fac_error +FOR EACH ROW +BEGIN + APPLICATION_ERROR(FAC_ERROR_CODE, ''); +END; +/ + +CREATE_TRIGGER(fac_t_fac_functie_B_IU) +BEFORE INSERT OR UPDATE ON fac_functie +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(fac_functie_key, fac_s_fac_functie_key); +END; +/ + +CREATE_TRIGGER(fac_t_fac_gebruiker_B_IU) +BEFORE INSERT OR UPDATE ON fac_gebruiker +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(fac_gebruiker_key, fac_s_fac_gebruiker_key); +END; +/ + +CREATE_TRIGGER(fac_t_fac_rol_B_IU) +BEFORE INSERT OR UPDATE ON fac_rol +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(fac_rol_key, fac_s_fac_rol_key); + // FAC_ROL_ROLE moet altijd UPPER zijn. + UPDATE_UPPER(fac_rol_role, fac_rol_role); +END; +/ + +CREATE_TRIGGER(fac_t_fac_entity_name_B_IU) +BEFORE INSERT OR UPDATE ON fac_entity_name +FOR EACH ROW +BEGIN + UPDATE_UPPER(fac_entity_system_name, fac_entity_system_name); +END; +/ + +CREATE_TRIGGER(fac_t_fac_message_B_IU) +BEFORE INSERT OR UPDATE ON fac_message +FOR EACH ROW +BEGIN + UPDATE_UPPER(fac_message_code, fac_message_code); +END; +/ + +#endif // FAC diff --git a/FAC/FAC_VIE.SRC b/FAC/FAC_VIE.SRC new file mode 100644 index 00000000..5c76ff0a --- /dev/null +++ b/FAC/FAC_VIE.SRC @@ -0,0 +1,82 @@ +#ifdef FAC // 13-03-96 AH + +/* + * System views for Facilitor + */ + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * 28/04/1998 BIV De view FAC_V_FUNCTIE_DISCIPLINE zodanig gewijzigd dat alleen de NIET + * verwijderde vakgroepen zichtbaar zijn. + * --- 01.35 --- + * --- 01.34 --- + * 26/02/1998 AH De view voor USER_USERS is niet meer nodig, gebruik de Oracle-variabele USER + * voor het filteren op de huidige USER. + * 03/02/1998 AH Voor de GRANTS op INS_DISCIPLINE-view moet een extra view FAC_V_USER_USERS + * gebruikt worden. Een INSERT, UPDATE, DELETE-grant op SYS.USER_USERS gaat fout + * omdat dat volgens ORACLE niet mag. + * 30/01/1998 AH View FAC_V_FAC_FUNCTIE_DISCIPLINE aangemaakt dit is een UNION tussen FAC_FUNCTIE en + * INS_DISCIPLINE voor de verschillende te autoriseren functies en disciplines in FAC117. + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 29-05-96 EH Vieuws fac_v_attr_hulp, fac_v_attr_gegevens en + * fac_v_attr_key_gegevens verplaatst naar ins_vie en hernoemd + * naar ins_... etc. + * 21-05-96 EH Views t.b.v. attributen hier toegevoegd. + * 21-05-96 KTH #include "fac_pack.src" verwijderd: zit nu in fclt.src + * 03-05-96 AH #include "fac_pack.src" toegevoegd. + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 13-10-95 PF Creation + */ +#include "comsql.h" + +#if 0 +CREATE_VIEW(fac_v_user_users, HIDDEN_PRIVILEGE) +AS + SELECT * FROM user_users; +#endif + +CREATE_VIEW(fac_v_functie_discipline, BIBLIOTHEEK_PRIVILEGE) + (fac_functie_discipline_key, + fac_functie_discipline_type, + fac_functie_discipline_code, + fac_functie_discipline_omschr) AS + SELECT fac_functie_key, + 'F', + fac_functie_code, + fac_functie_omschrijving + FROM fac_functie + UNION + SELECT ins_discipline_key, + 'D', + 'INS', + ins_discipline_omschrijving + FROM ins_tab_discipline + WHERE ins_discipline_verwijder is NULL; + +#endif // FAC diff --git a/FCLT.SRC b/FCLT.SRC new file mode 100644 index 00000000..0b5b7ee6 --- /dev/null +++ b/FCLT.SRC @@ -0,0 +1,283 @@ +/* + * fclt.src + * + * History: + * + * --- 01.40 --- + * --- 01.39 --- + * 23-07-1998 KTH LOG#1938: volgorde van Views/Packages aangepast tbv CAD + * --- 01.38 --- + * --- 01.37 --- + * 22-05-1998 KTH LOG#1821: Module CAD toegevoegd (incl. CAD_PAC.SRC) + * --- 01.36 --- + * --- 01.35 --- + * 13-03-98 KTH Ook COMMIT boven FAC_ROL.SRC gezet tbv *_INI.SRC + * 12-03-98 KTH BIS-files toegevoegd + * --- 01.34 --- + * 27/02/1998 AH MLD_PAC.SRC toegevoegd + * 23/02/1998 AH AKZ-module toegevoegd. + * 02-02-98 KTH - FAC_ROL.SRC (ROLEs) toegevoegd + * - laatste SPOOL OFF gebeurt in FAC_ROL.SRC + * - header aangepast (naam en 1998) + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * 14-07-97 KTH Tekst bovenin toegevoegd welke verschijnt in CREA_.SQL + * 11-07-97 AH PRS_PAC.SRC toegevoegd + * 01-07-97 AH SCH_PAC.SRC toegevoegd + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * 08-04-97 AH LEV_PAC.SRC toegevoegd + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * 28-11-96 KTH bco_pac0.src toegevoegd VOOR aanmaken van views + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * 21-10-96 KTH BEB files toegevoegd + * 24-09-96 KTH Files voor modules BEV verwijderd + * --- 01.20 --- + * --- 01.19 --- + * 07-08-96 KTH bco\bco_pac.src toegevoegd + * 30-07-96 KTH Files voor modules BEV toegevoegd + * 16-07-96 KTH ins_pac.src toegevoegd (EH) + * --- 01.18 --- + * --- 01.17 --- + * 24-06-96 KTH Files *\*_uni.src toegevoegd + * 21-06-96 KTH Module HUI toegevoegd + * --- 01.16 --- + * --- 01.15 --- + * 22-05-96 KTH Packages verplaatst naar VOOR de triggers + * 21-05-96 KTH fac_pac.src en bcp_pac.src toegevoegd + * 01-05-96 KTH Modules ATT en LEV toegevoegd + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 05-04-96 KTH SCH toegevoegd + * ? AH Created + */ + +#include "modules.h" + +-- [CREA*.SQL] +-- +-- Script tbv het aanmaken van de Facilitor 2.0-omgeving in Oracle +-- +-- Copyright 1996,1997,1998 Dijkoraad IT bv +-- +-- + +SPOOL crea +PROMPT [CREA.LST] +PROMPT +PROMPT Copyright 1996,1997,1998 Dijkoraad IT bv +PROMPT +PROMPT Dit script is de gegenereerde list-file van CREA*.SQL welke +PROMPT is gebruikt om de Facilitor 2.0-omgeving in Oracle aan te +PROMPT maken. +PROMPT +PROMPT Dit script is gerund in user: +SHOW USER +PROMPT +PROMPT + +SET ECHO ON + +/* TABLES */ +#include "FAC\fac_tab.src" +#include "ALG\alg_tab.src" +#include "INS\ins_tab.src" +#include "PRS\prs_tab.src" +#include "MLD\mld_tab.src" +#include "BCO\bco_tab.src" +#include "BCP\bcp_tab.src" +#include "INV\inv_tab.src" +#include "MRA\mra_tab.src" +#include "SLE\sle_tab.src" +#include "SCH\sch_tab.src" +#include "LEV\lev_tab.src" +#include "ATT\att_tab.src" +#include "HUI\hui_tab.src" +#include "BEB\beb_tab.src" +#include "AKZ\akz_tab.src" +#include "BIS\bis_tab.src" +#include "CAD\cad_tab.src" + +COMMIT; + +/* UNIQUES */ +#include "FAC\fac_uni.src" +#include "ALG\alg_uni.src" +#include "INS\ins_uni.src" +#include "PRS\prs_uni.src" +#include "MLD\mld_uni.src" +#include "BCO\bco_uni.src" +#include "BCP\bcp_uni.src" +#include "INV\inv_uni.src" +#include "MRA\mra_uni.src" +#include "SLE\sle_uni.src" +#include "SCH\sch_uni.src" +#include "LEV\lev_uni.src" +#include "ATT\att_uni.src" +#include "HUI\hui_uni.src" +#include "BEB\beb_uni.src" +#include "AKZ\akz_uni.src" +#include "BIS\bis_uni.src" +#include "CAD\cad_uni.src" + +COMMIT; + +/* PACKAGES 1 + * + * 28-11-96/KTH + * Deze packages bevatten code welke in views worden gebruikt + */ +#include "BCO\bco_pac0.src" +#include "MLD\mld_pac.src" +#include "SCH\sch_pac.src" +#include "PRS\prs_pac.src" + +/* VIEWS 1 */ +#include "FAC\fac_vie.src" +#include "ALG\alg_vie.src" +#include "INS\ins_vie.src" +#include "PRS\prs_vie.src" +#include "MLD\mld_vie.src" +#include "BCO\bco_vie.src" +#include "BCP\bcp_vie.src" +#include "INV\inv_vie.src" +#include "MRA\mra_vie.src" +#include "SLE\sle_vie.src" +#include "SCH\sch_vie.src" +#include "LEV\lev_vie.src" +#include "ATT\att_vie.src" +#include "HUI\hui_vie.src" +#include "BEB\beb_vie.src" +#include "AKZ\akz_vie.src" +#include "BIS\bis_vie.src" + +#include "CAD\cad_vie1.src" + +COMMIT; + +/* PACKAGES 2 */ +/* 22-05-96/KTH + * Let op: Packages komen voor triggers want er zijn triggers + * die refereren naar packages. Ze komen na tables etc. want packages + * zullen refereren naar tables en views. + */ +#include "FAC\fac_pac.src" +#include "BCO\bco_pac.src" +#include "BCP\bcp_pac.src" +#include "INS\ins_pac.src" +#include "LEV\lev_pac.src" +#include "CAD\cad_pac.src" + +COMMIT; + +/* VIEWS 2 + * + * Deze views komen na de packages want ze gebruiken stored functions uit packages + */ +#include "CAD\cad_vie2.src" + +COMMIT; + +/* INDICES */ +#include "FAC\fac_ind.src" +#include "ALG\alg_ind.src" +#include "INS\ins_ind.src" +#include "PRS\prs_ind.src" +#include "MLD\mld_ind.src" +#include "BCO\bco_ind.src" +#include "BCP\bcp_ind.src" +#include "INV\inv_ind.src" +#include "MRA\mra_ind.src" +#include "SLE\sle_ind.src" +#include "SCH\sch_ind.src" +#include "LEV\lev_ind.src" +#include "ATT\att_ind.src" +#include "HUI\hui_ind.src" +#include "BEB\beb_ind.src" +#include "AKZ\akz_ind.src" +#include "BIS\bis_ind.src" +#include "CAD\cad_ind.src" + +COMMIT; + +/* SEQUENCES */ +#include "FAC\fac_seq.src" +#include "ALG\alg_seq.src" +#include "INS\ins_seq.src" +#include "PRS\prs_seq.src" +#include "MLD\mld_seq.src" +#include "BCO\bco_seq.src" +#include "BCP\bcp_seq.src" +#include "INV\inv_seq.src" +#include "MRA\mra_seq.src" +#include "SLE\sle_seq.src" +#include "SCH\sch_seq.src" +#include "LEV\lev_seq.src" +#include "ATT\att_seq.src" +#include "HUI\hui_seq.src" +#include "BEB\beb_seq.src" +#include "AKZ\akz_seq.src" +#include "BIS\bis_seq.src" +#include "CAD\cad_seq.src" + +COMMIT; + +/* TRIGGERS */ +#include "FAC\fac_tri.src" +#include "ALG\alg_tri.src" +#include "INS\ins_tri.src" +#include "PRS\prs_tri.src" +#include "MLD\mld_tri.src" +#include "BCO\bco_tri.src" +#include "BCP\bcp_tri.src" +#include "INV\inv_tri.src" +#include "MRA\mra_tri.src" +#include "SLE\sle_tri.src" +#include "SCH\sch_tri.src" +#include "LEV\lev_tri.src" +#include "ATT\att_tri.src" +#include "HUI\hui_tri.src" +#include "BEB\beb_tri.src" +#include "AKZ\akz_tri.src" +#include "BIS\bis_tri.src" +#include "CAD\cad_tri.src" + +COMMIT; + +/* INITIALISATIES */ +#include "FAC\fac_ini.src" +#include "ALG\alg_ini.src" +#include "INS\ins_ini.src" +#include "PRS\prs_ini.src" +#include "MLD\mld_ini.src" +#include "BCO\bco_ini.src" +#include "BCP\bcp_ini.src" +#include "INV\inv_ini.src" +#include "MRA\mra_ini.src" +#include "SLE\sle_ini.src" +#include "SCH\sch_ini.src" +#include "LEV\lev_ini.src" +#include "ATT\att_ini.src" +#include "HUI\hui_ini.src" +#include "BEB\beb_ini.src" +#include "AKZ\akz_ini.src" +#include "BIS\bis_ini.src" +#include "CAD\cad_ini.src" + +COMMIT; + +/* DIVERSEN */ +#include "FAC\fac_rol.src" /* ROLEs en GRANTs (hierin wordt ook geSPOOLed!) */ + +COMMIT; + +SET ECHO OFF +/* SPOOL OFF dit hoeft niet meer hier: gebeurt al in fac_rol.src */ diff --git a/INS/.gitignore b/INS/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/INS/INSSQL.H b/INS/INSSQL.H new file mode 100644 index 00000000..6125ba1a --- /dev/null +++ b/INS/INSSQL.H @@ -0,0 +1,264 @@ +#ifndef _INSSQL_H +#define _INSSQL_H + +/* Functies aanwezig: */ +/* CHECK_SRT_VERHUIZING() */ +/* CHECK_REFERENCE_PLAATS() */ +/* CHECK_KEY_REFERENCE() */ +/* CHECK_ATTRIBUTE() */ +/* CHECK_DISCIPLINE_ATT_VULLING() */ +/* CHECK_SRTGROEP_ATT_VULLING() */ +/* CHECK_SRTDEEL_ATT_VULLING() */ + +/* + * History + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * 16-04-98 AH INS_CHECK_NOG_REFERENCES aangemaakt: checkt niet de aanwezigviews + * vanwege 'mutating table'-problemen + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * 05-03-97 AH CHECK_ATTRIBUTE() aangepast voor gebruik van package-functie + * INS_P_INS_CHECK_ATTRIBUTE(), anders wordt de trigger te groot. + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 29-05-96 KTH attsql.h in deze file geintegreerd en fac_v_attribute_gegevens + * veranderd naar ins_v_attribute_gegevens + * --- 01.14 --- + * 21-03-96 AH CHECK_KEY_REFERENCE() toegevoegd, misschien beter in COMSQL.H ?? + * 19-03-96 AH CHECK_REFERENCE_PLAATS wordt niet gebruikt. + * 16-02-96 PF SET_VERWIJDER_CHILDREN en DELETE_CHILDREN naar COMSQL.H + */ + +#define CHECK_SRT_VERHUIZING(tabel, key_veld, ref_key, kindje_tabel, message) \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + IF (:new.key_veld = :old.key_veld) AND (:new.ref_key <> :old.ref_key) \ + THEN \ + SELECT 'x' INTO dummy \ + FROM kindje_tabel \ + WHERE kindje_tabel.key_veld = :old.key_veld; \ + APPLICATION_ERROR(-20000,message); \ + END IF; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + NULL; \ + WHEN TOO_MANY_ROWS THEN \ + APPLICATION_ERROR(-20000,message); \ + END + + +#define CHECK_REFERENCE_PLAATS(key_ruimte_veld, key_terrein_veld, message) \ + BEGIN \ + IF :new.key_ruimte_veld IS NULL \ + AND :new.key_terrein_veld IS NULL \ + THEN \ + APPLICATION_ERROR(-20000, message); \ + END IF; \ + END + +/* CHECK_KEY_REFERENCE: controleerd of een key in een tabel/view bestaat + */ +#define CHECK_KEY_REFERENCE(table, primary_key, ref_key, message) \ + DECLARE \ + dummy NUMBER(10); \ + BEGIN \ + SELECT primary_key \ + INTO dummy \ + FROM table \ + WHERE primary_key = ref_key; \ + EXCEPTION \ + WHEN NO_DATA_FOUND \ + THEN APPLICATION_ERROR(-20000, message); \ + END + +#if 1 // Nieuwe CHECK_ATTRIBUTE() +#define CHECK_ATTRIBUTE(fac_kolom, attribute_key) \ + IF (:old.fac_kolom <> :new.fac_kolom) \ + OR (:old.fac_kolom IS NOT NULL AND :new.fac_kolom IS NULL) \ + OR (:old.fac_kolom IS NULL AND :new.fac_kolom IS NOT NULL) \ + THEN \ + INS_P_INS_CHECK_ATTRIBUTE(:new.fac_kolom, :new.ins_srtdeel_key, \ + attribute_key); \ + END IF + +#else +#define CHECK_ATTRIBUTE(kolom_naam, attribuut_key) \ + DECLARE~ \ + tiep VARCHAR2(1); \ + format_mask VARCHAR2(100); \ + max_lengte NUMBER; \ + ware_lengte NUMBER; \ + verplicht NUMBER; \ + min_waarde NUMBER; \ + max_waarde NUMBER; \ + dec_waarde NUMBER; \ + ware_waarde NUMBER;~ \ + BEGIN~ \ + SELECT ins_attribute_type, ins_attribute_length, ins_attribute_required, \ + ins_attribute_min, ins_attribute_max, ins_attribute_dec \ + INTO tiep, max_lengte, verplicht, min_waarde, max_waarde, dec_waarde \ + FROM ins_v_attribute_gegevens \ + WHERE ins_srtdeel_key = :new.ins_srtdeel_key AND \ + ins_attribute_key = attribuut_key;~ \ +/* Al dan niet aanwezig */ \ + ~ \ + IF verplicht = 1 AND :new.kolom_naam IS NULL \ + THEN \ + APPLICATION_ERROR(-20004, to_char(attribuut_key)|| \ + to_char(:new.ins_srtdeel_key)||'att_m008');~ \ + ELSIF tiep = 'N' \ + THEN \ +/* Hier moet het number_format gecheckt worden */ \ + BEGIN~ \ + ware_waarde := to_number(:new.kolom_naam); \ + \ + IF ware_waarde < min_waarde OR ware_waarde > max_waarde \ + THEN \ +/* Te klein / te groot */ \ + APPLICATION_ERROR(-20004, to_char(attribuut_key)|| \ + to_char(:new.ins_srtdeel_key)||'att_m009');~ \ + ELSE \ +/* Bepaal het format_mask */ \ + IF dec_waarde IS NULL OR dec_waarde = 0 \ + THEN \ + format_mask := RPAD('9', max_lengte, '9');~ \ + ELSE \ + format_mask := RPAD('9', max_lengte - dec_waarde, '9')|| \ + 'D'||RPAD('9', dec_waarde, '9');~ \ + END IF; \ + ~ \ + :new.kolom_naam := LTRIM(to_char(ware_waarde, format_mask)); \ + IF INSTR(:new.kolom_naam, '#') <> 0 \ + THEN \ + APPLICATION_ERROR(-20004, to_char(attribuut_key)|| \ + to_char(:new.ins_srtdeel_key)||'att_m010');~ \ + END IF;~ \ + END IF;~ \ + EXCEPTION \ + WHEN others \ + THEN \ + APPLICATION_ERROR(-20004, to_char(attribuut_key)|| \ + to_char(:new.ins_srtdeel_key)||'att_m010');~ \ + END;~ \ + \ + ELSIF tiep = 'C' \ + THEN \ + ware_lengte := LENGTH(:new.kolom_naam); \ + IF ware_lengte > max_lengte \ + THEN \ + APPLICATION_ERROR(-20004, to_char(attribuut_key)|| \ + to_char(:new.ins_srtdeel_key)||'att_m011');~ \ + END IF;~ \ + END IF; \ + EXCEPTION \ + WHEN no_data_found THEN NULL; \ + END +#endif // CHECK_ATTRIBUTE() + + +#define CHECK_DISCIPLINE_ATT_VULLING(FacKolom, AttributeKey) \ + IF :old.ins_attribute_key = AttributeKey \ + THEN \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + SELECT 'X' \ + INTO dummy \ + FROM ins_v_aanwezigdeel INS_D, ins_srtdeel INS_SD, ins_srtgroep INS_SG \ + WHERE INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key \ + AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key \ + AND INS_SG.ins_discipline_key = :old.ins_srtinst_keys \ + AND INS_D.FacKolom IS NOT NULL; \ + APPLICATION_ERROR(-20003, 'att_m022'); \ + EXCEPTION \ + WHEN NO_DATA_FOUND \ + THEN NULL; \ + WHEN TOO_MANY_ROWS \ + THEN APPLICATION_ERROR(-20003, 'att_m022'); \ + END; \ + END IF + +#define CHECK_SRTGROEP_ATT_VULLING(FacKolom, AttributeKey) \ + IF :old.ins_attribute_key = AttributeKey \ + THEN \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + SELECT 'X' \ + INTO dummy \ + FROM ins_v_aanwezigdeel INS_D, ins_srtdeel INS_SD \ + WHERE INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key \ + AND INS_SD.ins_srtgroep_key = :old.ins_srtinst_keys \ + AND FacKolom IS NOT NULL; \ + APPLICATION_ERROR(-20003, 'att_m022'); \ + EXCEPTION \ + WHEN NO_DATA_FOUND \ + THEN NULL; \ + WHEN TOO_MANY_ROWS \ + THEN APPLICATION_ERROR(-20003, 'att_m022'); \ + END; \ + END IF + +#define CHECK_SRTDEEL_ATT_VULLING(FacKolom, AttributeKey) \ + IF :old.ins_attribute_key = AttributeKey \ + THEN \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + SELECT 'X' \ + INTO dummy \ + FROM ins_v_aanwezigdeel \ + WHERE ins_srtdeel_key = :old.ins_srtinst_keys \ + AND FacKolom IS NOT NULL; \ + APPLICATION_ERROR(-20003, 'att_m022'); \ + EXCEPTION \ + WHEN NO_DATA_FOUND \ + THEN NULL; \ + WHEN TOO_MANY_ROWS \ + THEN APPLICATION_ERROR(-20003, 'att_m022'); \ + END; \ + END IF + +#define INS_CHECK_NOG_REFERENCES(tabel,tabel_verwijder_veld,reference_view, \ + reference_verwijder_veld, key_veld, message) \ + DECLARE \ + dummy CHAR; \ + BEGIN \ + IF :new.tabel_verwijder_veld IS NOT NULLDATUM \ + THEN \ + SELECT 'x' INTO dummy \ + FROM reference_view \ + WHERE reference_view.key_veld = :old.key_veld \ + AND reference_view.reference_verwijder_veld IS NULL; \ + APPLICATION_ERROR(-20000,message); \ + END IF; \ + EXCEPTION \ + WHEN NO_DATA_FOUND THEN \ + NULL; \ + WHEN TOO_MANY_ROWS THEN \ + APPLICATION_ERROR(-20000,message); \ + END +#endif // _INSSQL_H diff --git a/INS/INS_IND.SRC b/INS/INS_IND.SRC new file mode 100644 index 00000000..3ec43ca7 --- /dev/null +++ b/INS/INS_IND.SRC @@ -0,0 +1,79 @@ +#ifdef INS // 13-03-96 AH + +/* REVISION: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * 26-06-1998 BIV - LOG#1906 Index ins_i_ins_deel3 toegevoegd. + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 17/02/1998 AH Indices voor INS_DEELKOPPELING toegevoegd. + * 04/02/1998 AH INS_DEEL heeft extra velden INS_DISCIPLINE_KEY en INS_ALG_LOCATIE_KEY + * 28/01/1998 AH INS_DISCIPLINE gewijzigd in INS_TAB_DISCIPLINE voor de autorisatie van + * disciplines. Extra INS_DEEL indices aangemaakt + * 13/01/1998 AH Indexen voor INS_KENMERK-zaken toegevoegd + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 18-01-96 RW complete remake + */ + +create index ins_i_ins_srtgroep1 on ins_srtgroep(ins_discipline_key); + +create index ins_i_ins_srtdeel1 on ins_srtdeel(ins_srtgroep_key); +create index ins_i_ins_srtdeel2 on ins_srtdeel(ins_srtdeel_omschrijving); + +create index ins_i_ins_discipline1 on ins_tab_discipline(ins_discipline_omschrijving); + +create index ins_i_ins_srtonderdeel1 on ins_srtonderdeel(ins_srtdeel_key); + +create index ins_i_ins_srtelement1 on ins_srtelement(ins_srtonderdeel_key); + +create index ins_i_ins_deel1 on ins_deel(ins_srtdeel_key); +create index ins_i_ins_deel2 on ins_deel(ins_alg_ruimte_key, ins_alg_ruimte_type); +create index ins_i_ins_deel3 on ins_deel(ins_deel_module); +create index ins_i_ins_deel4 on ins_deel(ins_discipline_key); +create index ins_i_ins_deel5 on ins_deel(ins_alg_locatie_key); + +create index ins_i_ins_srt_onderdeel1 on ins_onderdeel(ins_srtonderdeel_key); + +create index ins_i_ins_onderdeel1 on ins_onderdeel(ins_deel_key); + +create index ins_i_ins_element1 on ins_element(ins_srtelement_key); +create index ins_i_ins_element2 on ins_element(ins_onderdeel_key); + +/* Indices voor INS_KENMERK-zaken */ +CREATE INDEX ins_i_ins_refsrtkenmerk1 ON ins_srtkenmerk(ins_refsrtkenmerk_key); +CREATE INDEX ins_i_ins_srtkenmerk1 ON ins_kenmerk(ins_srtkenmerk_key); +CREATE INDEX ins_i_ins_srtinstallatie1 ON ins_kenmerk(ins_srtinstallatie_key); +CREATE INDEX ins_i_ins_kenmerk_deel1 ON ins_kenmerkdeel(ins_deel_key); +CREATE INDEX ins_i_ins_kenmerk_kenmerk1 ON ins_kenmerkdeel(ins_kenmerk_key); + +CREATE INDEX ins_i_ins_deelkoppeling1 ON ins_deelkoppeling(ins_deelkoppeling_van_key); +CREATE INDEX ins_i_ins_deelkoppeling2 ON ins_deelkoppeling(ins_deelkoppeling_naar_key); + +#endif // INS diff --git a/INS/INS_INI.SRC b/INS/INS_INI.SRC new file mode 100644 index 00000000..60d3532b --- /dev/null +++ b/INS/INS_INI.SRC @@ -0,0 +1,116 @@ +#ifdef INS // 13-03-96 AH + +/* + * INS tables for Facilitor: installation time population + */ + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * 01-07-1998 KTH Als vast andere INS_REFSRTKENMERKen in commentaar voorbereid + * --- 01.37 --- + * 20-05-98 KTH Gebruik macro _FAC_MODULE + * 20-05-1998 KTH LOG#1720: '#ifdef DATA AND NOT AKZ' is syntactisch onjuist + * 18-05-1998 BIV Log #1720 : Voor AKZ de default vulling weggehaald, dit wordt later overgenomen uit GMS 1. + * --- 01.36 --- + * --- 01.35 --- + * 01-04-98 KTH LOG#1583: default waarde PRS_PERSLID_NAAM in INS_REFSRTKENMERK + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * 28-07-97 AH Voor installaties met INB en DATA wordt nu INB_DATA.SQL geinclude. + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * 04-06-96 KTH Module INB (installaties-bibliotheek) geintroduceerd + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 03-04-96 KTH #ifdef om 'INSERT INTO fac_module...INR...' gezet + * 01-04-96 KTH 02.03 + * 19-03-96 KTH 02.02 + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 13-02-96 PF 02.01: Bibliotheekroutine-only entry in FAC_MODULE toegevoegd. + * NB: indien registratie van installaties niet gewenst is, + * moet INR uit de FAC_MODULE verwijderd worden! + * 13-02-96 PF 02.01: UNIQUE triggers vervangen door constraints + * 05-02-96 KTH Spool toegevoegd + * 17-01-96 PF Elektro en werktuigbouw als standaardvulling verwijderd [241] + * 03-01-96 PF Gebruik sysdate + * 06-12-95 PF Initialization of disciplines added + * 13-10-95 PF Creation + */ + +_FAC_MODULE('INS','Installaties (tabellen)') +#ifdef INR +_FAC_MODULE('INR','Installaties (registratie)') +#endif // INR +#ifdef INB +_FAC_MODULE('INB','Installaties (bibliotheek)') + +#ifdef DATA + +#ifndef AKZ +/* 980520/KTH LOG#1720: voor AKZ wordt geen default data toegepast */ +#include "ins\inb_data.sql" +#endif // not AKZ + +/* + * 01-04-98/KTH LOG#1583 + * + * Default waardes voor mogelijke referenties, aan te geven bij Kenmerksoort (INS_SRTKENMERK). + * Let op dat dit allemaal tussen '#ifdef ' staat! + */ +#ifdef ALG +/* + * KTH: voorlopig niet gebruikt (omdat AKZ eigen zaken heeft) +INSERT INTO ins_refsrtkenmerk(ins_refsrtkenmerk_omschrijving,ins_refsrtkenmerk_objectnaam, + ins_refsrtkenmerk_kolomnaam,ins_refsrtkenmerk_kolomtxt) + VALUES('Locatie','ALG_V_AANWEZIGLOCATIE','ALG_LOCATIE_KEY','ALG_LOCATIE_OMSCHRIJVING'); + +INSERT INTO ins_refsrtkenmerk(ins_refsrtkenmerk_omschrijving,ins_refsrtkenmerk_objectnaam, + ins_refsrtkenmerk_kolomnaam,ins_refsrtkenmerk_kolomtxt) + VALUES('Terreinsector','ALG_V_AANWEZIGTERREINSECTOR','ALG_TERREINSECTOR_KEY','ALG_TERREINSECTOR_CODE'); + +INSERT INTO ins_refsrtkenmerk(ins_refsrtkenmerk_omschrijving,ins_refsrtkenmerk_objectnaam, + ins_refsrtkenmerk_kolomnaam,ins_refsrtkenmerk_kolomtxt) + VALUES('Gebouw','ALG_V_AANWEZIGGEBOUW','ALG_GEBOUW_KEY','ALG_GEBOUW_CODE'); +*/ +#endif // ALG + +#ifdef PRS +INSERT INTO ins_refsrtkenmerk(ins_refsrtkenmerk_omschrijving,ins_refsrtkenmerk_objectnaam, + ins_refsrtkenmerk_kolomnaam,ins_refsrtkenmerk_kolomtxt) + VALUES('Persoon','PRS_V_AANWEZIGPERSLID','PRS_PERSLID_KEY','PRS_PERSLID_NAAM'); +/* + * KTH: voorlopig niet gebruikt (omdat AKZ eigen zaken heeft) +INSERT INTO ins_refsrtkenmerk(ins_refsrtkenmerk_omschrijving,ins_refsrtkenmerk_objectnaam, + ins_refsrtkenmerk_kolomnaam,ins_refsrtkenmerk_kolomtxt) + VALUES('Afdeling','PRS_V_AANWEZIGAFDELING','PRS_AFDELING_KEY','PRS_AFDELING_NAAM'); + +INSERT INTO ins_refsrtkenmerk(ins_refsrtkenmerk_omschrijving,ins_refsrtkenmerk_objectnaam, + ins_refsrtkenmerk_kolomnaam,ins_refsrtkenmerk_kolomtxt) + VALUES('Bedrijf','PRS_V_AANWEZIGBEDRIJF','PRS_BEDRIJF_KEY','PRS_BEDRIJF_NAAM'); +*/ +#endif // PRS + +#endif // DATA + +#endif // INB +#endif // INS diff --git a/INS/INS_PAC.SRC b/INS/INS_PAC.SRC new file mode 100644 index 00000000..8615d6c9 --- /dev/null +++ b/INS/INS_PAC.SRC @@ -0,0 +1,276 @@ +#ifdef INS + +/* CREATE PROCEDURE kopieer_deel + * + * Deze procedure kopieert een deel (installatiedeel) naar een bepaalde + * positie. Er wordt vanuit gegaan dat deze positie bestaat. Afhankelijk van + * of er al dan niet BCO gedefinieerd is worden de velden bco_deel_prevprint + * en bco_deel_documentatie meegekopieerd. + * + * NB. als er ooit velden worden toegevoegd aan ins_deel t.b.v. INS hoeft al- + * leen deze PROCEDURE aangepast te worden voor wat betreft het kopieren. + * + */ + +/* + * History + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * 29-04-1998 KTH AH heeft op 17-04-1998 waarschijnlijk INS_P_DELETE_DEELKOPPELING + * toegevoegd (en niet hier in de History bijgeschreven) + * --- 01.35 --- + * --- 01.34 --- + * 21/01/1998 AH De velden INS_DEEL_FABRIKAAT, INS_DEEL_TYPE, INS_DEEL_SERIENR, + * INS_DEEL_BOUWJAAR, INS_DEEL_CAPACITEIT, INS_DEEL_PRIJS en + * INS_DEEL_LEVENSDUUR verwijderd. + * 21/01/1998 AH INS_P_INS_CHECK_ATTRIBUTE() is ook overbodig. + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * 07-03-97 AH RABO: INS_P_INS_CHECK_ATTRIBUTE() toegevoegd, voor aanroep vanuit + * INS_T_INS_DEEL_B_IU. + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * 28-10-96 AH LOG#913: BCO_DEEL_DOCUMENTATIE wordt als VARCHAR2() gebruikt + * --- 01.20 --- + * 10-09-96 AH Kopieer_deel aangepast. BCO_DOCUMENTATIE wordt anders gebruikt. + * --- 01.19 --- + * 25-07-96 AH #elif // Geen BCO aangepast in #else + * 25-07-96 EH veld 'nieuw_deel_key' als argument toegevoegd aan ins_deel + * 25-07-96 EH Created + * --- 01.18 --- + * --- 01.17 --- + */ + +#ifdef BCO + +CREATE PROCEDURE kopieer_deel (deel_key NUMBER, + nieuw_deel_key NUMBER, + plaats_key NUMBER, + plaats_type VARCHAR2) AS + documentatie_veld ins_deel.bco_deel_documentatie%TYPE; +BEGIN + /* DEEL_DOCUMENT wordt eerst uit de tabel gehaald, omdat een LONG RAW + * niet via het normale INSERT INTO ... SELECT ... gedaan kan worden. + */ + SELECT bco_deel_documentatie INTO documentatie_veld + FROM ins_deel WHERE ins_deel_key = deel_key; + + INSERT INTO ins_deel (ins_deel_key, + ins_deel_module, + ins_srtdeel_key, + ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_deel_aantal, + ins_deel_omschrijving, + ins_deel_fabrikaat, + ins_deel_type, + ins_deel_serienr, + ins_deel_bouwjaar, + ins_deel_capaciteit, + ins_deel_prijs, + ins_deel_levensduur, + ins_deel_opmerking, + bco_deel_prevprint, + bco_deel_documentatie) + SELECT nieuw_deel_key, + ins_deel_module, + ins_srtdeel_key, + plaats_key, + plaats_type, + ins_deel_aantal, + ins_deel_omschrijving, + ins_deel_fabrikaat, + ins_deel_type, + ins_deel_serienr, + ins_deel_bouwjaar, + ins_deel_capaciteit, + ins_deel_prijs, + ins_deel_levensduur, + ins_deel_opmerking, + bco_deel_prevprint, + documentatie_veld + FROM ins_deel + WHERE ins_deel_key = deel_key; + END; +/ + +#else // Geen BCO + +CREATE PROCEDURE kopieer_deel (deel_key NUMBER, + nieuw_deel_key NUMBER, + plaats_key NUMBER, + plaats_type VARCHAR2) AS +BEGIN + INSERT INTO ins_deel (ins_deel_key, + ins_deel_module, + ins_srtdeel_key, + ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_deel_aantal, + ins_deel_omschrijving, + ins_deel_opmerking +/* 21/01/1998 AH De volgende velden zijn overbodig + , ins_deel_fabrikaat, + ins_deel_type, + ins_deel_serienr, + ins_deel_bouwjaar, + ins_deel_capaciteit, + ins_deel_prijs, + ins_deel_levensduur + */ + ) + SELECT nieuw_deel_key, + ins_deel_module, + ins_srtdeel_key, + plaats_key, + plaats_type, + ins_deel_aantal, + ins_deel_omschrijving, + ins_deel_opmerking +/* 21/01/1998 AH De volgende velden zijn overbodig + , ins_deel_fabrikaat, + ins_deel_type, + ins_deel_serienr, + ins_deel_bouwjaar, + ins_deel_capaciteit, + ins_deel_prijs, + ins_deel_levensduur + */ + FROM ins_deel + WHERE ins_deel_key = deel_key; + END; +/ + +#endif // al dan niet BCO + +CREATE OR REPLACE FUNCTION ins_p_delete_deelkoppeling( DeelKey IN NUMBER ) RETURN BOOLEAN IS + ReturnVal BOOLEAN; +BEGIN + DELETE FROM ins_deelkoppeling + WHERE ins_deelkoppeling_van_key = DeelKey + OR ins_deelkoppeling_naar_key = DeelKey; + ReturnVal := TRUE; + RETURN ReturnVal; +EXCEPTION + WHEN OTHERS + THEN RETURN FALSE; +END; +/ + +#if 0 // def ATT +CREATE PROCEDURE INS_P_INS_CHECK_ATTRIBUTE(FacKolom IN CHAR, + SrtdeelKey IN NUMBER, + AttributeKey IN NUMBER) AS + AttributeType ins_attribute.ins_attribute_type%TYPE; + FormatMask VARCHAR2(100); + MaxLengte ins_attribute.ins_attribute_length%TYPE; + WareLengte NUMBER(10); + Verplicht ins_attribute.ins_attribute_required%TYPE; + MinWaarde ins_attribute.ins_attribute_min%TYPE; + MaxWaarde ins_attribute.ins_attribute_max%TYPE; + DecWaarde ins_attribute.ins_attribute_dec%TYPE; + WareWaarde NUMBER(10); + CharWaarde VARCHAR2(50); + BEGIN + BEGIN + SELECT ins_attribute_type, + ins_attribute_length, + ins_attribute_required, + ins_attribute_min, + ins_attribute_max, + ins_attribute_dec + INTO AttributeType, + MaxLengte, + Verplicht, + MinWaarde, + MaxWaarde, + DecWaarde + FROM ins_v_attribute_gegevens + WHERE ins_srtdeel_key = SrtdeelKey + AND ins_attribute_key = AttributeKey; + EXCEPTION + /* Blijkbaar is het attribuutniet meer aanwezig */ + WHEN NO_DATA_FOUND + THEN RETURN; + END; + + /* Kijk of de waarde is ingevuld. */ + IF FacKolom IS NULL + THEN + /* Bij Verplicht een error geven, verder hoeft er + * niet gevontroleerd te worden. + */ + IF Verplicht = 1 + THEN + APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m008'); + ELSE + RETURN; + END IF; + END IF; + /* Controleer de ingevulde NUMBER-waarde */ + IF AttributeType = 'N' + THEN + BEGIN + /* Hier moet het number_format gecheckt worden */ + WareWaarde := TO_NUMBER(FacKolom); + + /* De waarde is te klein of te groot */ + IF WareWaarde < MinWaarde OR WareWaarde > MaxWaarde + THEN + APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m009'); + ELSE + /* Controleer het FormatMask */ + IF NVL(DecWaarde, 0) = 0 + THEN + FormatMask := RPAD('9', MaxLengte, '9'); + ELSE + FormatMask := RPAD('9', MaxLengte - DecWaarde, '9')|| + 'D'||RPAD('9', DecWaarde, '9'); + END IF; + + CharWaarde := LTRIM(TO_CHAR(WareWaarde, FormatMask)); + IF INSTR(CharWaarde, '#') <> 0 + THEN + APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m010'); + END IF; + END IF; + EXCEPTION + WHEN others + THEN + APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m010'); + END; + /* Controleer de ingevulde CHAR-waarde */ + ELSIF AttributeType = 'C' + THEN + WareLengte := LENGTH(FacKolom); + IF NVL(WareLengte, 0) > NVL(MaxLengte, 0) + THEN + APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m011'); + END IF; + /* Referenties worden (kunnen) niet gecontroleerd (worden) + ELSIF AttributeType = 'R' + THEN */ + END IF; + END; +/ +#endif // 0, ATT + +#endif // INS diff --git a/INS/INS_SEQ.SRC b/INS/INS_SEQ.SRC new file mode 100644 index 00000000..44919d2c --- /dev/null +++ b/INS/INS_SEQ.SRC @@ -0,0 +1,60 @@ +#ifdef INS // 13-03-96 AH + +/* Maakt de sequences voor INS + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 17/02/1998 AH Sequence voor INS_DEELKOPPELING toegevoegd + * 13/01/1998 AH Sequences voor INS_...KENMERK... toegevoegd + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * 18-03-97 AH INS_S_INS_IMPORT_KEY toegevoegd + * --- 01.25 --- + * --- 01.24 --- + * 02-12-96 AH Beginwaarde INS_S_INS_DISCIPLINE_KEY terug naar 1. + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 29-05-96 EH Sequence voor ins_attribute hier toegevoegd. (uit fac_seq.src). + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 18-01-96 AH De sequence ins_s_ins_discipline_key begint nu bij 3. + */ + + +CREATE SEQUENCE ins_s_ins_discipline_key MINVALUE 1; +CREATE SEQUENCE ins_s_ins_srtgroep_key MINVALUE 1; +CREATE SEQUENCE ins_s_ins_srtinst_keys MINVALUE 1; +CREATE SEQUENCE ins_s_ins_inst_keys MINVALUE 1; +CREATE SEQUENCE ins_s_ins_attribute_key MINVALUE 1; + +CREATE SEQUENCE ins_s_ins_import_key MINVALUE 1; + +/* Sequences voor INS_KENMERK-zaken */ +CREATE SEQUENCE ins_s_ins_refsrtkenmerk_key MINVALUE 1; +CREATE SEQUENCE ins_s_ins_srtkenmerk_key MINVALUE 1; +CREATE SEQUENCE ins_s_ins_kenmerk_key MINVALUE 1; +CREATE SEQUENCE ins_s_ins_kenmerkdeel_key MINVALUE 1; + +CREATE SEQUENCE ins_s_ins_deelkoppeling_key MINVALUE 1; + +#endif // INS diff --git a/INS/INS_TAB.SRC b/INS/INS_TAB.SRC new file mode 100644 index 00000000..74a9254c --- /dev/null +++ b/INS/INS_TAB.SRC @@ -0,0 +1,762 @@ +#ifdef INS + +/* REVISION + * + * --- 01.40 --- + * 03/09/1998 BIV #1993 ins_deel_parent_key toegevoegd aan ins_deel en + * tabellen ins_element en ins_srtelement zijn overbodig geworden... + * 31/08/1998 PF ins_srtdeel_cadlayer toegevoegd (hoorde al aanwezig te zijn) + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * 08/04/1998 AH AKZ-veld in INS_DISCIPLINE toegevoegd + * --- 01.34 --- + * 17/02/1998 AH INS_DEELKOPPELING-tabel toegevoegd voor VAN-NAAR-koppeling + * 04/02/1998 AH Voor Performance in INS_DEEL extra velden INS_DISICPLINE_KEY en + * INS_ALG_LOCATIE_KEY toegevoegd, deze worden in triggers gevuld. + * 04/02/1998 AH Privilege op INS_TAB_DISCIPLINE gewijzigd in BIBLIOTHEEK-privilege + * 28/01/1998 AH INS_DISCIPLINE gewijzigd in INS_TAB_DISCIPLINE voor de autorisatie van + * disciplines. INS_SRTGROEP aangepast: INS_DISCIPLINE-reference nu naar + * INS_TAB_DISCIPLINE, HIDDEN_PRIVILEGE gegeven. + * 21/01/1998 AH De velden INS_DEEL_FABRIKAAT, INS_DEEL_TYPE, INS_DEEL_SERIENR, + * INS_DEEL_BOUWJAAR, INS_DEEL_CAPACITEIT, INS_DEEL_PRIJS en + * INS_DEEL_LEVENSDUUR verwijderd. + * 12/01/1998 AH INS_KENMERK-zaken toegevoegd en INS_ATTRIBUTE zaken verwijderd. + * FAC-velden uit INS_DEEL verwijderd + * 12/11/1997 AH #1473, Constraintnamen toegevoegd + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * 18-03-97 AH Voor INS_DEEL_IMPORT een INS_IMPORT-tabel aangemaakt + * 07-03-97 AH INS_ATTRIBUTE_VOLGORDE hoeft niet tussen 0 en 9 te blijven + * 05-03-97 AH RABO: INS_SRTDEEL krijgt extra veld ACAD_TAGVALUE. Ook is het veld + * INS_SRTDEEL_ACADSYMBOL nodig. Vanuit INV_TAB naar hier verplaatst. + * ACADSYMBOL hoeft niet uniek te zijn, maar de combinatie TAGVALUE + * en ACADSYMBOL moet wel uniek zijn om vanuit ACAD een INS_SRTDEEL + * te identificeren. Dus ook UNIQUE toegevoegd in INS_UNI. + * --- 01.25 --- + * 06-01-97 AH LOG#1108, 40 chars voor LEV/HUI in INS_SRTDEEL_OMSCHRIJVING + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * 31-10-96 KTH LOG#950: check op aantal van INS_ONDERDEEL en INS_ELEMENT + * veranderd naar '>0' ipv. '>=0' + * 16-10-96 AH INS_DEEL_REALISATIE toegevoegd. + * 15-10-96 AH Nieuwe tijdelijke table TMP_INS_SRTDEEL toegevoegd nav. log 799 + * De record-group uit INS213 is een tijdelijke tabel geworden. + * 09-10-96 AH INS_SRTDEEL_PRIJS en INS_SRTDEEL_EENHEID toegevoegd aan + * INS_SRTDEEL + * 09-10-96 AH INS_SRTDEEL_VOLGNR aan INS_SRTDEEL toegevoegd voor BEV-schermen + * --- 01.20 --- + * 18-09-96 KTH ins_attribute krijgt BIBLIOTHEEK_PRIVILEGE + * 10-09-96 AH Unique op INS_SRTGROEP aangepast. INS_DISCIPLINE_KEY en UPPER + * Unique op INS_ONDERDEEL weer toegevoegd, Op INS_DEEL_KEY, + * INS_SRTONDERDEEL_KEY, INS_ONDERDEEL_UPPER, INS_ALG_ONROERENDGOED_KEY + * en INS_ONDERDEEL_VERWIJDER. + * --- 01.19 --- + * 16-08-96 AH INS_DEEL > 0 ipv. >= 0 + * 09-08-96 EH In verband met de 'nieuwe INS functionaliteit', plaatsen van + * onderdelen in ruimtes en zo, is besloten de uniciteit van + * onderdelen te verwijderen. ER ZIT DUS GEEN UNIQUE MEER OP + * ins_onderdeel. + * 05-07-96 EH Tabel ins_onderdeel uitgebreid met plaatsveld. + * --- 01.18 --- + * --- 01.17 --- + * 24-06-96 KTH De UNIQUEs op INS_DEEL en INS_SRTDEEL zijn verplaatst naar + * ins\ins_uni.src + * 07-06-96 EH De uniciteitstriggers voor de srtinst zijn aangepast; ze zijn + * nu uniek binnen hun MODULE, d.i., omschrijvingen kunnen zowel + * voor INS als voor INV gebruikt worden. + * --- 01.16 --- + * --- 01.15 --- + * 29-05-96 EH De tabel fac_attribute uit fac_tab.src hier toegevoegd en + * hernoemd naar ins_attribute. + * 21-05-96 EH De flexibele kolommen fac0 .. fac9 t.b.v. attributen zijn hier + * vast toegevoegd aan ins_deel. + * 08-05-96 AH UNIQUE in INS_DEEL aangepast. Nu alleen op DEEL_UPPER. Vervallen. + * 29-04-96 RW Privileges aangepast (van de ins_srt* tabellen) + * --- 01.14 --- + * 15-04-96 AH Default 'INS' voor INS_..._MODULE toegevoegd in tabellen + * INS_DISCPLINE, INS_SRTGROEP, INS_SRTDEEL en INS_DEEL. + * --- 01.13 --- + * --- 01.12 --- + * 01-04-96 KTH Gebruik CREATE_TABLE() + * 21-03-96 AH Contraint INS_C_INS_ALG_RUIMTE_KEY weggehaald. + * 19-03-96 AH Bij INS_DEEL het veld INS_ALG_RUIMTE_TYPE toegevoegd. + * 19-03-96 AH In de INS-tabbellen INS_..._MODULE toegevoegd, voor onderscheid + * INS en INV. Dit is niet nodig voor (Srt)Onderdeel en (Srt)Element. + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 13-02-96 PF UNIQUE toegevoegd aan de soort-tabellen, ter vervanging van de + * triggers + * 12-01-96 PF NULLDATUM + * 04-01-96 EH Constraint ruimte reference hard benoemd. + * 03-01-96 EH WIJZIGING TERUGGEDRAAID !!!!! (ins_deel) + * 02-01-96 EH tabel ins_deel licht gewijzigd. + * 06-12-95 EH alle #bco verwijderd + */ + + + +/* + Maakt de volgende tabellen aan: + ins_discipline + ins_srtgroep + ins_srtdeel + ins_srtonderdeel + ins_srtelement + ins_deel + ins_onderdeel + ins_element +*/ + +CREATE_TABLE(ins_tab_discipline,BIBLIOTHEEK_PRIVILEGE) +( + ins_discipline_key + NUMBER(10) + CONSTRAINT ins_k_ins_discipline_key PRIMARY KEY, + ins_discipline_module + VARCHAR2(3) + DEFAULT 'INS' + NOT_NULL(ins_discipline_module, ins_c_ins_discipline_module), + ins_discipline_omschrijving + VARCHAR2(30) + NOT_NULL(ins_discipline_omschrijving, ins_c_ins_discipline_omschr), + ins_discipline_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(ins_discipline_aanmaak, ins_c_ins_discipline_aanmaak), + ins_discipline_verwijder + DATE + DEFAULT NULLDATUM, +#ifdef AKZ + akz_kostensoort + VARCHAR2(7), +#endif + CONSTRAINT ins_u_ins_discipline_omschr UNIQUE (ins_discipline_omschrijving, + ins_discipline_verwijder, + ins_discipline_module) +); + +CREATE_TABLE(ins_srtgroep,BIBLIOTHEEK_PRIVILEGE) +( + ins_srtgroep_key + NUMBER(10) + CONSTRAINT ins_k_ins_srtgroep_key PRIMARY KEY, + ins_discipline_key + NUMBER(10) + NOT_NULL(ins_discipline_key, ins_r_ins_discipline_key1) + CONSTRAINT ins_r_ins_discipline_key2 REFERENCES ins_tab_discipline, + ins_srtgroep_module + VARCHAR2(3) + DEFAULT 'INS' + NOT_NULL(ins_srtgroep_module, ins_c_ins_srtgroep_module), + ins_srtgroep_omschrijving + VARCHAR2(30) + NOT_NULL(ins_srtgroep_omschrijving, ins_c_ins_srtgroep_omschr), + ins_srtgroep_upper + VARCHAR2(30) + NOT_NULL(ins_srtgroep_upper, ins_c_ins_srtgroep_upper), + ins_srtgroep_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(ins_srtgroep_aanmaak, ins_c_ins_srtgroep_aanmaak), + ins_srtgroep_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT ins_u_ins_srtgroep_upper UNIQUE(ins_discipline_key, ins_srtgroep_upper, ins_srtgroep_verwijder, ins_srtgroep_module) +); + +CREATE_TABLE(ins_srtdeel,BIBLIOTHEEK_PRIVILEGE) +( + ins_srtdeel_key + NUMBER(10) + CONSTRAINT ins_k_ins_srtdeel_key PRIMARY KEY, + ins_srtgroep_key + NUMBER(10) + NOT_NULL(ins_srtgroep_key, ins_r_ins_srtgroep_key1) + CONSTRAINT ins_r_ins_srtgroep_key2 REFERENCES ins_srtgroep, + ins_srtdeel_module + VARCHAR2(3) + DEFAULT 'INS' + NOT_NULL(ins_srtdeel_module, ins_c_ins_srtdeel_module), + ins_srtdeel_omschrijving +#if defined(LEV)||defined(HUI) + VARCHAR2(40) +#else + VARCHAR2(30) +#endif // LEV/HUI + NOT_NULL(ins_srtdeel_omschrijving, ins_c_ins_srtdeel_omschrijving), + ins_srtdeel_upper +#if defined(LEV)||defined(HUI) + VARCHAR2(40) +#else + VARCHAR2(30) +#endif // LEV/HUI + NOT_NULL(ins_srtdeel_upper, ins_c_ins_srtdeel_upper), + ins_srtdeel_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(ins_srtdeel_aanmaak, ins_c_ins_srtdeel_aanmaak), + ins_srtdeel_verwijder + DATE + DEFAULT NULLDATUM, + ins_srtdeel_volgnr + NUMBER(3), + ins_srtdeel_prijs + NUMBER(8,2), + ins_srtdeel_eenheid + VARCHAR2(15), + ins_srtdeel_acadsymbol /* ACADSYMBOL vanuit INV_TAB veplaatst */ + VARCHAR2(8), + ins_srtdeel_acad_tagvalue /* TAGVALUE vanuit ACAD */ + VARCHAR2(30), + ins_srtdeel_cadlayer + VARCHAR2(30) +/* 24-06-96/KTH: module-afhankelijke UNIQUE verplaatst naar ins_uni.src */ +/* UNIQUE(ins_srtdeel_upper,ins_srtdeel_verwijder, ins_srtdeel_module) */ +); + + +/* 03-09-1998/BIV log #1993 + Tabel ins_srtelement is overbodig geworden... + +CREATE_TABLE(ins_srtonderdeel,BIBLIOTHEEK_PRIVILEGE) +( + ins_srtonderdeel_key + NUMBER(10) + CONSTRAINT ins_k_ins_srtonderdeel_key PRIMARY KEY, + ins_srtdeel_key + NUMBER(10) + NOT_NULL(ins_srtdeel_key, ins_r_ins_srtdeel_key1) + CONSTRAINT ins_r_ins_srtdeel_key2 REFERENCES ins_srtdeel, + ins_srtonderdeel_omschrijving + VARCHAR2(30) + NOT_NULL(ins_srtonderdeel_omschrijving, ins_c_ins_srtonderdeel_omschr), + ins_srtonderdeel_upper + VARCHAR2(30) + NOT_NULL(ins_srtonderdeel_upper, ins_c_ins_srtonderdeel_upper), + ins_srtonderdeel_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(ins_srtonderdeel_aanmaak, ins_c_ins_srtonderdeel_aanmaak), + ins_srtonderdeel_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT ins_u_ins_srtonderdeel_upper UNIQUE(ins_srtdeel_key, ins_srtonderdeel_upper, ins_srtonderdeel_verwijder) +); +*/ + +/* 03-09-1998/BIV log #1993 + Tabel ins_srtelement is overbodig geworden... + +CREATE_TABLE(ins_srtelement,BIBLIOTHEEK_PRIVILEGE) +( + ins_srtelement_key + NUMBER(10) + CONSTRAINT ins_k_ins_srtelement_key PRIMARY KEY, + ins_srtonderdeel_key + NUMBER(10) + NOT_NULL(ins_srtonderdeel_key, ins_r_ins_srtonderdeel_key1) + CONSTRAINT ins_r_ins_srtonderdeel_key2 REFERENCES ins_srtonderdeel, + ins_srtelement_omschrijving + VARCHAR2(30) + NOT_NULL(ins_srtelement_omschrijving, ins_c_ins_srtelement_omschr), + ins_srtelement_upper + VARCHAR2(30) + NOT_NULL(ins_srtelement_upper, ins_c_ins_srtelement_upper), + ins_srtelement_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(ins_srtelement_aanmaak, ins_c_ins_srtelement_aanmaak), + ins_srtelement_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT ins_u_ins_srtelement_upper UNIQUE(ins_srtonderdeel_key, ins_srtelement_upper, ins_srtelement_verwijder) +); +*/ + +CREATE_TABLE(ins_deel,NORMAAL_PRIVILEGE) +( + ins_deel_key + NUMBER(10) + CONSTRAINT ins_k_ins_deel_key PRIMARY KEY, + ins_deel_module + VARCHAR2(3) + DEFAULT 'INS' + NOT_NULL(ins_deel_module, ins_c_ins_deel_module), + ins_srtdeel_key + NUMBER(10) + NOT_NULL(ins_srtdeel_key, ins_r_deel_srtdeel_key1) + CONSTRAINT ins_r_deel_srtdeel_key2 REFERENCES ins_srtdeel, + ins_alg_ruimte_key + NUMBER(10), + ins_alg_ruimte_type + VARCHAR2(1), +/* + * INS_ALG_RUIMTE_TYPE heeft de volgende waarden: + * 'R' : als INS_ALG_RUIMTE_KEY een ruimte aanduidt. + * 'T' : als INS_ALG_RUIMTE_KEY een terreinsector aanduidt. + * 'W' : als INS_ALG_RUIMTE_KEY een werkplek aanduidt. + * Dit wordt in de B_IU-trigger gecontroleerd. + */ + ins_deel_aantal + NUMBER(6) + DEFAULT 1 + NOT_NULL(ins_deel_aantal, ins_c_ins_deel_aantal1) + CONSTRAINT ins_c_ins_deel_aantal2 CHECK(ins_deel_aantal > 0), + ins_deel_omschrijving + VARCHAR2(30) + NOT_NULL(ins_deel_omschrijving, ins_c_ins_deel_omschrijving), + ins_deel_opmerking + VARCHAR2(320), + ins_deel_upper + VARCHAR2(30), + ins_deel_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(ins_deel_aanmaak, ins_c_ins_deel_aanmaak), + ins_deel_verwijder + DATE + DEFAULT NULLDATUM, + ins_discipline_key + NUMBER(10) + NOT_NULL(ins_discipline_key, ins_r_ins_deel_discipline1) + CONSTRAINT ins_r_ins_deel_discipline2 REFERENCES ins_tab_discipline(ins_discipline_key), + ins_alg_locatie_key + NUMBER(10) + NOT_NULL(ins_alg_locatie_key, ins_r_ins_deel_locatie1) + CONSTRAINT ins_r_ins_deel_locatie2 REFERENCES alg_locatie(alg_locatie_key), +/* 03/09/1988/BIV - # 1993 */ + ins_deel_parent_key + NUMBER(10) + CONSTRAINT ins_r_ins_deel_key REFERENCES ins_deel(ins_deel_key) +/* 21/01/1998 AH De volgende velden zijn overbodig. + ,ins_deel_fabrikaat + VARCHAR2(30), + ins_deel_type + VARCHAR2(30), + ins_deel_serienr + VARCHAR2(20), + ins_deel_bouwjaar + NUMBER(4) + CONSTRAINT ins_c_ins_deel_bouwjaar CHECK(ins_deel_bouwjaar >=0), + ins_deel_capaciteit + VARCHAR2(20), + ins_deel_prijs + NUMBER(11,2) + CONSTRAINT ins_c_ins_deel_prijs CHECK(ins_deel_prijs >=0), + ins_deel_levensduur + NUMBER(4) + CONSTRAINT ins_c_ins_deel_levensduur CHECK(ins_deel_levensduur >=0), + ins_deel_realisatie + VARCHAR2(6), +*/ +/* 21/01/1998 AH De volgende velden zijn overbodig. + Ingevoegd voor eventuele attributen + fac0 + VARCHAR2(50), + fac1 + VARCHAR2(50), + fac2 + VARCHAR2(50), + fac3 + VARCHAR2(50), + fac4 + VARCHAR2(50), + fac5 + VARCHAR2(50), + fac6 + VARCHAR2(50), + fac7 + VARCHAR2(50), + fac8 + VARCHAR2(50), + fac9 + VARCHAR2(50) */ +/* 24-06-96/KTH: module-afhankelijke UNIQUE verplaatst naar ins_uni.src */ +/* UNIQUE(ins_alg_ruimte_key, ins_srtdeel_key, ins_deel_upper, ins_deel_verwijder) */ +); + + +/* 03-09-1998/BIV log #1993 + Tabel ins_onderdeel is overbodig geworden... + +CREATE_TABLE(ins_onderdeel,NORMAAL_PRIVILEGE) +( + ins_onderdeel_key + NUMBER(10) + CONSTRAINT ins_k_ins_onderdeel_key PRIMARY KEY, + ins_srtonderdeel_key + NUMBER(10) + NOT_NULL(ins_srtonderdeel_key, ins_r_ond_srtonderdeel_key1) + CONSTRAINT ins_r_ond_srtonderdeel_key2 REFERENCES ins_srtonderdeel, + ins_deel_key + NUMBER(10) + NOT_NULL(ins_deel_key, ins_r_ins_deel_key1) + CONSTRAINT ins_r_ins_deel_key2 REFERENCES ins_deel, + ins_alg_onroerendgoed_key + NUMBER(10), + ins_onderdeel_aantal + NUMBER(6) + DEFAULT 1 + NOT_NULL(ins_onderdeel_aantal, ins_c_ins_onderdeel_aantal1) + CONSTRAINT ins_c_ins_onderdeel_aantal2 CHECK(ins_onderdeel_aantal > 0), + ins_onderdeel_omschrijving + VARCHAR2(30) + NOT_NULL(ins_onderdeel_omschrijving, ins_c_ins_onderdeel_omschr), + ins_onderdeel_fabrikaat + VARCHAR2(30), + ins_onderdeel_type + VARCHAR2(30), + ins_onderdeel_serienr + VARCHAR2(20), + ins_onderdeel_bouwjaar + NUMBER(4) + CONSTRAINT ins_c_ins_onderdeel_bouwjaar CHECK(ins_onderdeel_bouwjaar >=0), + ins_onderdeel_capaciteit + VARCHAR2(20), + ins_onderdeel_prijs + NUMBER(11,2) + CONSTRAINT ins_c_ins_onderdeel_prijs CHECK(ins_onderdeel_prijs >=0), + ins_onderdeel_levensduur + NUMBER(4) + CONSTRAINT ins_c_ins_onderdeel_levensduur CHECK(ins_onderdeel_levensduur >=0), + ins_onderdeel_opmerking + VARCHAR2(320), + ins_onderdeel_upper + VARCHAR2(30), + ins_onderdeel_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(ins_onderdeel_aanmaak, ins_c_ins_onderdeel_aanmaak), + ins_onderdeel_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT ins_u_ins_onderdeel_upper UNIQUE(ins_deel_key, ins_srtonderdeel_key, ins_onderdeel_upper, ins_alg_onroerendgoed_key, ins_onderdeel_verwijder) +); + +*/ + +/* 03-09-1998/BIV log #1993 + Tabel ins_element is overbodig geworden... + +CREATE_TABLE(ins_element,NORMAAL_PRIVILEGE) +( + ins_element_key + NUMBER(10) + CONSTRAINT ins_k_ins_element_key PRIMARY KEY, + ins_srtelement_key + NUMBER(10) + NOT_NULL(ins_srtelement_key, ins_r_elem_srtelement_key1) + CONSTRAINT ins_r_elem_srtelement_key2 REFERENCES ins_srtelement, + ins_onderdeel_key + NUMBER(10) + NOT_NULL(ins_onderdeel_key, ins_r_ins_onderdeel_key1) + CONSTRAINT ins_r_ins_onderdeel_key2 REFERENCES ins_onderdeel, + ins_element_aantal + NUMBER(6) + DEFAULT 1 + NOT_NULL(ins_element_aantal, ins_c_ins_element_aantal1) + CONSTRAINT ins_c_ins_element_aantal2 CHECK(ins_element_aantal > 0), + ins_element_omschrijving + VARCHAR2(30) + NOT_NULL(ins_element_omschrijving, ins_c_ins_element_omschrijving), + ins_element_fabrikaat + VARCHAR2(30), + ins_element_type + VARCHAR2(30), + ins_element_serienr + VARCHAR2(20), + ins_element_bouwjaar + NUMBER(4) + CONSTRAINT ins_c_ins_element_bouwjaar CHECK(ins_element_bouwjaar >=0), + ins_element_capaciteit + VARCHAR2(20), + ins_element_prijs + NUMBER(11,2) + CONSTRAINT ins_c_ins_element_prijs CHECK(ins_element_prijs >=0), + ins_element_levensduur + NUMBER(4) + CONSTRAINT ins_c_ins_element_levensduur CHECK(ins_element_levensduur >=0), + ins_element_opmerking + VARCHAR2(320), + ins_element_upper + VARCHAR2(30), + ins_element_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(ins_element_aanmaak, ins_c_ins_element_aanmaak), + ins_element_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT ins_u_ins_element_upper UNIQUE(ins_srtelement_key, ins_onderdeel_key, + ins_element_upper, ins_element_verwijder) +); + +*/ + +#if 0 // 14/01/1998 AH Hier wordt nu INS_KENMERK-tabellen voor gebruikt +/* Systeemtabel voor attributen */ +CREATE_TABLE(ins_attribute, BIBLIOTHEEK_PRIVILEGE) +( + ins_attribute_main_key + NUMBER(10) + CONSTRAINT ins_k_ins_attribute_main_key PRIMARY KEY, + ins_srtinst_keys + NUMBER(10), + ins_srtinst_type + VARCHAR2(1) + CONSTRAINT ins_c_ins_srtinst_type CHECK(ins_srtinst_type = 'D' OR + ins_srtinst_type = 'G' OR + ins_srtinst_type = 'S'), + ins_attribute_volgorde + NUMBER(2), + ins_attribute_key + NUMBER(1) + CONSTRAINT ins_c_ins_attribute_key CHECK(ins_attribute_key >= 0 AND + ins_attribute_key <= 9), + ins_attribute_label + VARCHAR(15) + NOT_NULL(ins_attribute_label, ins_c_ins_attribute_label), + ins_attribute_type + VARCHAR(1) + CONSTRAINT ins_c_ins_attribute_type CHECK(ins_attribute_type = 'N' OR + ins_attribute_type = 'C' OR + ins_attribute_type = 'R'), + ins_attribute_length + NUMBER(2) + NOT_NULL(ins_attribute_length, ins_c_ins_attribute_length), + ins_attribute_required + NUMBER(1) + CONSTRAINT ins_c_ins_attribute_required CHECK(ins_attribute_required = 0 OR + ins_attribute_required = 1), + ins_attribute_min + NUMBER(10), + ins_attribute_max + NUMBER(10), + ins_attribute_dec + NUMBER(2), + ins_attribute_table + VARCHAR2(30), + ins_attribute_column + VARCHAR2(30), + ins_attribute_column_txt + VARCHAR2(30), + ins_attribute_unit + VARCHAR2(10), + ins_attribute_toonbaar + NUMBER(1) + CONSTRAINT ins_c_ins_attribute_toonbaar CHECK(ins_attribute_toonbaar = 0 OR + ins_attribute_toonbaar = 1) +); +#endif // 0 + +/* Tijdelijke table voor INS213, omdat daar geen ruimte meer is voor een + * record-group. Deze tabel bevat de soortdelen voor de kolommen van de + * TPL-printout in INS213. + * Velden: + * - INS_SRTDEEL_KEY: de ins_srtdeel_key uit INS_SRTDEEL. + * - INS_SRTDEEL_OMSCHRIJVING: de omschrijving van het soortdeel uit INS_SRTDEEL. + * - INS_SRTDEEL_PRIJS: de prijs v/h soortdeel uit INS_SRTDEEL. + * - INS_SRTDEEL_EENHEID: de eenheid v/h soortdeel uit INS_SRTDEEL. + * - TOTAAL_AANTAL: Het totale aantal voor de gehele rapportage van alle bladen. + * - TOTAAL_KOSTEN: De totale kosten voor de gehele rapportage van alle bladen. + * - RECORD_KOSTEN: Het totale aantal voor een enkel district of locatie in + * de rapportage. + * - RECORD_KOSTEN: De totale kosten voor een enkel district of locatie in + * de rapportage. + */ +CREATE_TABLE(tmp_ins_srtdeel, BASIS_PRIVILEGE) +( + ins_srtdeel_key + NUMBER(10), + ins_srtdeel_omschrijving + VARCHAR2(80), + ins_srtdeel_prijs + NUMBER(8,2), + ins_srtdeel_eenheid + VARCHAR2(15), + ins_srtdeel_volgnr + NUMBER(3), + totaal_aantal + NUMBER(5), + totaal_kosten + NUMBER(20,2), + record_aantal + NUMBER(5), + record_kosten + NUMBER(20,2) +); + +CREATE_TABLE(ins_import, BASIS_PRIVILEGE) +( + ins_import_key + NUMBER(10) + CONSTRAINT ins_k_ins_import_key PRIMARY KEY, + alg_ruimte_acadkey + VARCHAR2(10), + ins_srtdeel_acadsymbol + VARCHAR2(8), + ins_srtdeel_acad_tagvalue + VARCHAR2(30) +); + +/* Tabellen voor INS_KENMERK-zaken */ +CREATE_TABLE(ins_refsrtkenmerk, BIBLIOTHEEK_PRIVILEGE) +( + ins_refsrtkenmerk_key + NUMBER(10) + CONSTRAINT ins_k_ins_refsrtkenmerk_key PRIMARY KEY, + ins_refsrtkenmerk_omschrijving + VARCHAR2(50) + NOT_NULL(ins_refsrtkenmerk_omschrijving, ins_c_ins_refsrtkenmerk_omschr), + ins_refsrtkenmerk_upper + VARCHAR2(50) + NOT_NULL(ins_refsrtkenmerk_upper, ins_c_ins_refsrtkenmerk_upper) + CONSTRAINT ins_u_ins_refsrtkenmerk_upper UNIQUE, + ins_refsrtkenmerk_objectnaam + VARCHAR2(30) + NOT_NULL(ins_refsrtkenmerk_objectnaam, ins_c_ins_refsrtkenm_objnaam), + ins_refsrtkenmerk_kolomnaam + VARCHAR2(30) + NOT_NULL(ins_refsrtkenmerk_kolomnaam, ins_c_ins_refsrtkenm_kolnaam), + ins_refsrtkenmerk_kolomtxt + VARCHAR2(30) + NOT_NULL(ins_refsrtkenmerk_kolomtxt, ins_c_ins_refsrtkenm_kolomtxt) +); + + +CREATE_TABLE(ins_srtkenmerk, BIBLIOTHEEK_PRIVILEGE) +( + ins_srtkenmerk_key + NUMBER(10) + CONSTRAINT ins_k_ins_srtkenmerk_key PRIMARY KEY, + ins_srtkenmerk_omschrijving + VARCHAR2(50) + NOT_NULL(ins_srtkenmerk_omschrijving, ins_c_ins_srtkenmerk_omschr), + ins_srtkenmerk_upper + VARCHAR2(50) + NOT_NULL(ins_srtkenmerk_upper, ins_c_ins_srtkenmerk_upper) + CONSTRAINT ins_u_ins_srtkenmerk_upper UNIQUE, + ins_srtkenmerk_dimensie + VARCHAR2(10), + ins_srtkenmerk_kenmerktype + VARCHAR2(1) + CONSTRAINT ins_c_ins_srtkenmerk_kenmtype CHECK(ins_srtkenmerk_kenmerktype = 'C' + OR ins_srtkenmerk_kenmerktype = 'N' + OR ins_srtkenmerk_kenmerktype = 'D' + OR ins_srtkenmerk_kenmerktype = 'R' + OR ins_srtkenmerk_kenmerktype = 'X'), + ins_srtkenmerk_systeem + NUMBER(1) + CONSTRAINT ins_c_ins_srtkenmerk_systeem CHECK(ins_srtkenmerk_systeem IS NULL + OR ins_srtkenmerk_systeem = 1), + ins_srtkenmerk_lengte + NUMBER(2) + CONSTRAINT ins_c_ins_srtkenmerk_lengte CHECK(ins_srtkenmerk_lengte >= 1 + AND ins_srtkenmerk_lengte <= 50), + ins_srtkenmerk_dec + NUMBER(2), + ins_srtkenmerk_nmin + NUMBER(10), + ins_srtkenmerk_nmax + NUMBER(10), + ins_refsrtkenmerk_key + NUMBER(10) + CONSTRAINT ins_r_ins_refsrtkenmerk_key1 REFERENCES ins_refsrtkenmerk(ins_refsrtkenmerk_key), + CONSTRAINT ins_c_ins_srtkenmerk_max_min CHECK(ins_srtkenmerk_nmax >= ins_srtkenmerk_nmin), + CONSTRAINT ins_r_ins_refsrtkenmerk_key2 CHECK(ins_srtkenmerk_kenmerktype <> 'R' + OR ins_refsrtkenmerk_key IS NOT NULL), + CONSTRAINT ins_c_ins_srtkenmerk_dec CHECK(ins_srtkenmerk_dec >= 0 + AND ins_srtkenmerk_dec <= ins_srtkenmerk_lengte) +); + +CREATE_TABLE(ins_kenmerk, BIBLIOTHEEK_PRIVILEGE) +( + ins_kenmerk_key + NUMBER(10) + CONSTRAINT ins_k_in_kenmerk_key PRIMARY KEY, + ins_srtkenmerk_key + NUMBER(10) + NOT_NULL(ins_srtkenmerk_key, ins_r_ins_srtkenmerk_key1) + CONSTRAINT ins_r_ins_srtkenmerk_key2 REFERENCES ins_srtkenmerk(ins_srtkenmerk_key), + ins_srtinstallatie_key + NUMBER(10), + ins_kenmerk_niveau + VARCHAR2(1) + NOT_NULL(ins_kenmerk_niveau, ins_c_ins_kenmerk_niveau1) + CONSTRAINT ins_c_ins_kenmerk_niveau2 CHECK(ins_kenmerk_niveau = 'D' + OR ins_kenmerk_niveau = 'G' + OR ins_kenmerk_niveau = 'S'), + ins_kenmerk_verplicht + NUMBER(1) + CONSTRAINT ins_c_ins_kenmerk_verplicht CHECK(ins_kenmerk_verplicht IS NULL + OR ins_kenmerk_verplicht = 1), + ins_kenmerk_toonbaar + NUMBER(1) + CONSTRAINT ins_c_ins_kenmerk_toonbaar CHECK(ins_kenmerk_toonbaar IS NULL + OR ins_kenmerk_toonbaar = 1), + ins_kenmerk_volgnummer + NUMBER(3), + CONSTRAINT ins_r_ins_srtinstallatie_key1 CHECK(ins_srtinstallatie_key IS NOT NULL + OR ins_kenmerk_niveau = 'D'), + CONSTRAINT ins_u_ins_kenmerk UNIQUE(ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau) +); + +/* De waarde mag in de tabel NULL zijn, maar om de database niet + * overbodig te vullen worden de NULL-records after-statement weer verwijderd. + */ +CREATE_TABLE(ins_kenmerkdeel, BIBLIOTHEEK_PRIVILEGE) +( + ins_kenmerkdeel_key + NUMBER(10) + CONSTRAINT ins_k_ins_kenmerkdeel_key PRIMARY KEY, + ins_deel_key + NUMBER(10) + NOT_NULL(ins_deel_key, ins_r_ins_kenmerk_deel_key1), + ins_kenmerk_key + NUMBER(10) + NOT_NULL(ins_kenmerk_key, ins_r_ins_kenmerk_key1) + CONSTRAINT ins_r_ins_kenmerk_key2 REFERENCES ins_kenmerk(ins_kenmerk_key), + ins_kenmerkdeel_waarde + VARCHAR2(255), + CONSTRAINT ins_u_ins_kenmerkdeel UNIQUE(ins_kenmerk_key, ins_deel_key) +); + +/* De velden aanmaak en verwijder zijn hier toegevoegd om het mechanisme van + * CASCADE verwijderen in triggers op te kunnen lossen. In de after-statement-trigger + * van INS_DEELKOPPELING worden de logisch-verwijderde deelkoppelingen echt verwijderd. + */ +CREATE_TABLE(ins_deelkoppeling, NORMAAL_PRIVILEGE) +( + ins_deelkoppeling_key + NUMBER(10) + CONSTRAINT ins_k_ins_deelkoppeling_key PRIMARY KEY, + ins_deelkoppeling_van_key + NUMBER(10) + NOT_NULL(ins_deelkoppeling_van_key, ins_r_deelkoppeling_van_key1) + CONSTRAINT ins_r_deelkoppeling_van_key2 REFERENCES ins_deel(ins_deel_key), + ins_deelkoppeling_naar_key + NUMBER(10) + NOT_NULL(ins_deelkoppeling_naar_key, ins_r_deelkoppeling_naar_key1) + CONSTRAINT ins_r_deelkoppeling_naar_key2 REFERENCES ins_deel(ins_deel_key), + ins_deelkoppeling_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(ins_deelkoppeling_aanmaak, ins_c_deelkoppeling_aanmaak), + ins_deelkoppeling_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT ins_c_deelkoppeling_van_naar CHECK(ins_deelkoppeling_van_key <> ins_deelkoppeling_naar_key), + CONSTRAINT ins_u_deelkoppeling_van_naar UNIQUE(ins_deelkoppeling_van_key, ins_deelkoppeling_naar_key) +); + +#endif // INS diff --git a/INS/INS_TRI.SRC b/INS/INS_TRI.SRC new file mode 100644 index 00000000..d108ecee --- /dev/null +++ b/INS/INS_TRI.SRC @@ -0,0 +1,1044 @@ +#ifdef INS // 13-03-96 AH + +#ifdef BCP + +#include "BCP\bcp.h" + +#endif + +/* CREA_TRI.SRC maakt de triggers aan voor INS */ + +/* + * History + * + * --- 01.40 --- + * xx/09/1998 KTH IS HIER NOG IETS GEWIJZIGD DOOR BIV TBV BV LOG#1993 ??? + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * 16/04/1998 AH #1582, Trigger INS_T_INS_DEEL_B_IU aangepast voor INS_DEELKOPPELING-zaken. + * Er wordt nu gebruik gemaakt van de package FAC_P_FAC_SAVE_RESTORE, dus ook de + * triggers INS_T_INS_DEEL_S_B_IU en INS_T_INS_DEEL_S_A_IU toegevoegd. + * 17/04/1998 AH #1593, Trigger INS_T_INS_SRTDEEL_B_IU, ook SrtOnderdeel en SrtElement, aangepast + * gebruiken nu niet e macro CHECK_NOG_REFERENCES maar INS_CHECK_NOG_REFERENCES(). + * Deze gebruikt geen aanwezigview voor INS_DEEL omdat deze de MUTATING-table error + * geeft. + * 16/04/1998 AH Trigger van INS_DISCIPLINE moet automatisch de autorisatie in FAC_GEBRUIKER toegvoegen + * voor de huidige gebruiker. + * --- 01.34 --- + * 17/02/1998 AH Triggers voor INS_DEELKOPPELING toegevoegd. INS_DEEL-trigger verwijderd + * ook de koppelingen in INS_DEELKOPPELING + * 04/02/1998 AH INS_DEEL heeft extra velden INS_DISCIPLINE_KEY en INS_ALG_LOCATIE_KEY + * deze worden in trigger gevuld. + * 28/01/1998 AH INS_DISCIPLINE-triggers gewijzigd in INS_TAB_DISICPLINE + * 28/01/1998 AH INS_SRTKENMERK mag niet verwijderd worden als INS_SRTKENMERK_SYSTEEM gezet is. + * 13/01/1998 AH Triggers voor de INS_...KENMERK...-tabellen toegevoegd + * FAC-velden uit INS_DEEL verwijderd. INS_ATTRIBUTE-zaken verwijderd + * 13/11/1997 AH #1473, CREATE TRIGGER vervangen door CREATE_TRIGGER() + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * 18-03-97 AH Trigger voor INS_IMPORT aangemaakt. + * 07-03-97 AH Bij het verwijderen van een attribute wordt gecontroleerd + * of het attribute gebruikt worden (ingevuld is). + * Cntrole bij Wijzigen moet in ATT011 gebeuren. + * 05-03-97 AH RABO: Check_Attribute controleerd nu via Package_functie. + * --- 01.25 --- + * 14-01-97 AH #1134, INS_DEEL koppelen aan locatie is nu niet meer mogelijk. + * LEV_AFVOERLIJST_TYPE neemt deze functionaliteit over. + * 10-01-97 AH #1134, LEV-gedeelte van INS_DEEL-trigger verwijderd en + * voorlopig in commentaar onderaan deze file gezet. + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * 21-10-96 AH LOG#841 '=' vervangen door ':=' + * 09-10-96 AH INS_T_SRTDEEL-trigger aangepast, als INV_SRTDEEL_PRIJS of + * INS_SRTDEEL_PRIJS veranderd, dan wijzigd de andere mee. + * --- 01.20 --- + * 10-09-96 AH INS_T_INS_DEEL_B_IU aangepast. Het deel mag niet verplaatst + * worden als er onderdelen zijn die INS_ALG_ONROERENDGOED_KEY + * niet leeg hebben. + * --- 01.19 --- + * 16-07-96 EH INS_T_INS_DEEL_B_IU gewijzigd zodat bij het verplaatsen van + * delen de positie van de bijbehorende onderdelen op NULL wordt + * gezet. + * 15-07-96 EH BCP-code verwijderd uit INS_T_INS_DEEL_B_IU. + * 08-07-96 EH Trigger ins_t_ins_deel aangepast voor 'anders' plaatsen delen. + * 27-06-96 AH INS_T_INS_DEEL_B_IU aangepast. Controle van ins_alg_ruimte_key + * wordt alleen gedaan wanneer deze veranderd of toegevoegd wordt. + * --- 01.18 --- + * --- 01.17 --- + * 13-06-96 AH INS_T_INS_DEEL_B_IU aangepast. Voor gebruik van HUI-slaapplaatsen + * moet de controle voor PRS_WERKPLEK aangepast worden. + * --- 01.16 --- + * 05-06-96 AH INS_T_INS_DEEL_B_IU aangepast. Kleine BUG in controle van + * INS_PRS_BEZIT_KEY + * 05-06-96 AH INS_T_INS_DEEL_B_IU aangepast. Bij INV kan nu INS_ALG_RUIMTE_KEY + * en INS_PRS_BEZIT_KEY beide ingevuld zijn. + * 29-05-96 AH INS_ALG_RUIMTE_TYPE kan ook 'L' bevatten in geval van 'INV' + * INS_ALG_RUIMTE_KEY bevat dan de ALG_LOCATIE_KEY. + * --- 01.15 --- + * 29-05-96 KTH #include "ALG\attsql.h" verdwijnt (zit nu in inssql.h) + * 29-05-96 EH Trigger ins_t_ins_attribute_B_IU toegevoegd vanuit fac_tri.src + * en fac_v... hernoemd naar ins_v... + * 23-05-96 RW INS_T_INS_SRTDEEL_B_IU aangepast. + * 23-05-96 AH INS_T_INS_DEEL_B_IU aangepast voor ALG_KOSTENPOST. + * 21-05-96 EH #ifdef ATT verwijderd uit de trigger ins_t_ins_deel_B_IU. + * 20-05-96 RW ins_deel_trigger gewijzigd voor BCP + * 07-05-96 EH ins_deel_trigger gewijzigd voor ATT. + * --- 01.14 --- + * 03-04-96 AH Gebruik van LOG() in triggers. + * --- 01.13 --- + * --- 01.12 --- + * 03-04-96 AH Kleine syntax-error '#endif;' in ins_t_ins_deel_b_iu + * 02-04-96 AH Trigger INS_T_INS_SRTDEEL_B_IU aangepast voor wijzigen + * koppeling R naar W of vv. Mag niet als er nog INS_DELEN + * zijn van deze INS_SRTDEEL. + * 02-04-96 AH Trigger INS_T_INS_SRTDEEL_B_IU aangepast voor verwijderen + * SRTDELEN. Restricted ook voor INV_V_AANWEZIGDELEN. + * 26-03-96 AH Trigegr INS_T_INS_SRTDEEL_B_IU aangepast voor + * INS_SRTDEEL_KOPPELING. Hier moet in INV-mode 'R' of 'W' staan + * 21-03-96 AH INS_T_INS_DEEL_B_IU aangepast voor INS_ALG_RUIMTE_KEY en -_TYPE + * en voor wijzigingen in tekening van INS_ALG_RUIMTE_KEY + * in INS_DEEL. INS_T_INS_SRTDEEL_B_IU aangepast voor wijzigingen + * in INS_SRTDEEL_ACADSYMBOL. + * 19-03-96 AH INS_T_INS_DEEL_B_IU aangepast voor INS_..._module. + * 13-03-96 AH NIEUWE OPZET SRC-files. + * + * 13-02-96 PF CHECK_SRT_REFERENCE: extra parameter (log 330) + * 13-02-96 PF De volgende triggers verwijderd, omdat deze met een UNIQUE + * constraint aan de tabellen zijn toegevoegd. + * ins_t_ins_discipline_A_IU + * ins_t_ins_srtgroep_A_IU + * ins_t_ins_srtdeel_A_IU + * ins_t_ins_srtonderdeel_A_IU + * ins_t_ins_srtelement_A_IU + * ins_t_ins_deel_A_IU + * ins_t_ins_onderdeel_A_IU + * ins_t_ins_element_A_IU + * 18-01-96 AH De triggers van Srtgroep_B_IU, Srtdeel_B_IU, SrtOnderdeel_B_IU, + * Deel_B_IU, Onderdeel_B_IU en aangepast voor #155. + * 18-01-96 AH De trigger INS_S_INS_DISCIPLINE_B_IU toegevoehd + * 02-01-96 EH CHECK_PLAATS toegevoegd voor (aangepaste) ins_deel + * 20-12-95 EH CHECK_SRT_VERHUIZING togevoegd 2x + * 06-12-95 EH Verwijzingen naar #bco verwijderd + */ + +#include "comsql.h" +#include "INS\inssql.h" +#include "ALG\algsql.h" +#include "FAC\fac_log.h" + +CREATE_TRIGGER(ins_t_ins_discipline_B_IU) +BEFORE INSERT OR UPDATE ON ins_tab_discipline +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_DISCIPLINE_B_IU'); + UPDATE_PRIMARY_KEY(ins_discipline_key,ins_s_ins_discipline_key); + SET_VERWIJDER_CHILDREN(ins_srtgroep, ins_discipline_key, ins_discipline_verwijder, + ins_srtgroep_verwijder); + /* De autorisatie van FAC_GEBRUIKER automatisch toevoegen voor de huidige gebruiker voor een nieuwe + * discipline. + */ + IF :old.ins_discipline_key IS NULL + AND :new.ins_discipline_key IS NOT NULL + THEN + BEGIN + INSERT INTO fac_gebruiker (fac_gebruiker_username, + fac_gebruiker_module, + fac_gebruiker_tabel, + fac_gebruiker_kolom, + fac_gebruiker_kolomkey) + VALUES(USER, 'INS', 'INS_DISCIPLINE', 'INS_DISCIPLINE_KEY', :new.ins_discipline_key); + EXCEPTION + WHEN OTHERS + THEN NULL; + END; + END IF; + LOG('Eind INS_T_INS_DISCIPLINE_B_IU'); +END; +/ + +CREATE_TRIGGER(ins_t_ins_srtgroep_B_IU) +BEFORE INSERT OR UPDATE ON ins_srtgroep +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_SRTGROEP_B_IU'); + UPDATE_PRIMARY_KEY(ins_srtgroep_key,ins_s_ins_srtgroep_key); + UPDATE_UPPER(ins_srtgroep_omschrijving,ins_srtgroep_upper); + SET_VERWIJDER_CHILDREN(ins_srtdeel, ins_srtgroep_key, ins_srtgroep_verwijder, + ins_srtdeel_verwijder); + LOG('Eind INS_T_INS_SRTGROEP_B_IU'); +END; +/ + +CREATE_TRIGGER(ins_t_ins_srtdeel_B_IU) +BEFORE INSERT OR UPDATE ON ins_srtdeel +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_SRTDEEL_B_IU'); + UPDATE_PRIMARY_KEY(ins_srtdeel_key,ins_s_ins_srtinst_keys); + UPDATE_UPPER(ins_srtdeel_omschrijving,ins_srtdeel_upper); + // 16/04/1998 AH #1593, Speciale CHECK_NOG_REFERENCE, maakt geen gebruik van AANWEZIG-views. + INS_CHECK_NOG_REFERENCES(ins_srtdeel,ins_srtdeel_verwijder,ins_deel, ins_deel_verwijder, + ins_srtdeel_key,'ins_m013'); + SET_VERWIJDER_CHILDREN(ins_srtonderdeel, ins_srtdeel_key, ins_srtdeel_verwijder, + ins_srtonderdeel_verwijder); +#ifdef INV + CHECK_NOG_REFERENCES(ins_srtdeel,ins_srtdeel_verwijder,inv_v_aanwezigdeel, + ins_srtdeel_key,'inv_m031'); + IF :new.ins_srtdeel_module = 'INV' + AND ((:new.ins_srtdeel_koppeling <> 'R' + AND :new.ins_srtdeel_koppeling <> 'W') + OR (:new.ins_srtdeel_koppeling IS NULL)) + THEN + APPLICATION_ERROR(-20000, 'ins_m89'); + END IF; + /* Als van het INS_SRTDEEL het acad symbool veranderd of nieuw wordt, + * dan moeten in alle tekeningen van verdiepingen waar artikelen voorkomen + * van deze soort het INV_DWGUPTODATE-veld gezet worden. + */ + IF (:old.ins_srtdeel_acadsymbol IS NULL + AND :new.ins_srtdeel_acadsymbol IS NOT NULL) + OR (:old.ins_srtdeel_acadsymbol IS NOT NULL + AND :new.ins_srtdeel_acadsymbol IS NULL) + OR (:old.ins_srtdeel_acadsymbol <> :new.ins_srtdeel_acadsymbol) + THEN + IF :old.ins_srtdeel_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT DISTINCT ALG_R.alg_verdieping_key + FROM inv_v_aanwezigdeel INV_D, + alg_ruimte ALG_R, + prs_werkplek PRS_W + WHERE ((ALG_R.alg_ruimte_key = INV_D.ins_alg_ruimte_key + AND INV_D.ins_alg_ruimte_type = 'R') + OR (INV_D.ins_alg_ruimte_type = 'W' + AND PRS_W.prs_werkplek_key = INV_D.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key)) + AND INV_D.ins_srtdeel_key = :old.ins_srtdeel_key), + inv_dwguptodate); + END IF; + END IF; + /* Van INS_SRTDEEL mag INS_SRTDEEL_koppeling niet gewijziged worden + * als er INS_DELEN zijn van deze INS_SRTDEEL-soort. Deze INS_DELEN + * zijn gekoppeld aan ruimtes of werkplekken. De koppeling mag + * niet gewijzigd worden. Dit geldt alleen voor wijzigen. + */ + IF :old.ins_srtdeel_koppeling <> :new.ins_srtdeel_koppeling + THEN + DECLARE + aantal NUMBER; + BEGIN + SELECT COUNT(*) + INTO aantal + FROM inv_v_aanwezigdeel + WHERE ins_srtdeel_key = :old.ins_srtdeel_key + AND ins_alg_ruimte_type = :old.ins_srtdeel_koppeling; + IF aantal > 0 + THEN + APPLICATION_ERROR(-20000, 'inv_m032'); + END IF; + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + END IF; + /* Voor INS-srtdelen moet de ins_srtdeel_upper uniek zijn, + * maar de uniek staat op INV_SRTDEEL_NR, INS_SRTDEEL_UPPER en + * INS_SRTDEEL_VERWIJDER. + * + * LET OP: Als inv_srtdeel-velden ook voor INS gebruikt gaan + * worden, dan moet dit gedeelte weg. + */ + IF :new.ins_srtdeel_module = 'INS' + THEN + :new.inv_srtdeel_nr := NULL; + END IF; + /* Als de prijs van INS of van INV veranderd, dan moet de andere prijs + * meeveranderen. + */ + IF NVL(:old.ins_srtdeel_prijs, -1) <> NVL(:new.ins_srtdeel_prijs, -1) + THEN + :new.inv_srtdeel_prijs := :new.ins_srtdeel_prijs; + ELSIF NVL(:old.inv_srtdeel_prijs, -1) <> NVL(:new.inv_srtdeel_prijs, -1) + THEN + :new.ins_srtdeel_prijs := :new.inv_srtdeel_prijs; + END IF; +#endif + LOG('Eind INS_T_INS_SRTDEEL_B_IU'); +END; +/ + +CREATE_TRIGGER(ins_t_ins_srtonderdeel_B_IU) +BEFORE INSERT OR UPDATE ON ins_srtonderdeel +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_SRTONDERDEEL_B_IU'); + UPDATE_PRIMARY_KEY(ins_srtonderdeel_key,ins_s_ins_srtinst_keys); + UPDATE_UPPER(ins_srtonderdeel_omschrijving,ins_srtonderdeel_upper); + // 16/04/1998 AH #1593, Speciale CHECK_NOG_REFERENCE, maakt geen gebruik van AANWEZIG-views. + INS_CHECK_NOG_REFERENCES(ins_srtonderdeel,ins_srtonderdeel_verwijder, + ins_onderdeel,ins_onderdeel_verwijder, ins_srtonderdeel_key,'ins_m015'); + CHECK_SRT_VERHUIZING(ins_srtonderdeel, ins_srtonderdeel_key, ins_srtdeel_key, + ins_onderdeel, 'ins_m075'); + SET_VERWIJDER_CHILDREN(ins_srtelement, ins_srtonderdeel_key, + ins_srtonderdeel_verwijder, ins_srtelement_verwijder); + LOG('Eind INS_T_INS_SRTONDERDEEL_B_IU'); +END; +/ + +CREATE_TRIGGER(ins_t_ins_srtelement_B_IU) +BEFORE INSERT OR UPDATE ON ins_srtelement +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_SRTELEMENT_B_IU'); + UPDATE_PRIMARY_KEY(ins_srtelement_key,ins_s_ins_srtinst_keys); + UPDATE_UPPER(ins_srtelement_omschrijving,ins_srtelement_upper); + // 16/04/1998 AH #1593, Speciale CHECK_NOG_REFERENCE, maakt geen gebruik van AANWEZIG-views. + INS_CHECK_NOG_REFERENCES(ins_srtelement,ins_srtelement_verwijder, + ins_element,ins_element_verwijder,ins_srtelement_key,'ins_m016'); + CHECK_SRT_VERHUIZING(ins_srtelement, ins_srtelement_key, ins_srtonderdeel_key, + ins_element, 'ins_m076'); + LOG('Eind INS_T_INS_SRTELEMENT_B_IU'); +END; +/ + +CREATE_TRIGGER(ins_t_ins_deel_S_B_IU) +BEFORE INSERT OR UPDATE ON ins_deel +DECLARE + Dummy BOOLEAN; +BEGIN + Dummy := fac_p_fac_save_restore.ResetSelectie('INS_DEEL'); +END; +/ + +CREATE_TRIGGER(ins_t_ins_deel_B_IU) +BEFORE INSERT OR UPDATE ON ins_deel +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_DEEL_B_IU'); + UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys); + UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper); + SET_VERWIJDER_CHILDREN(ins_onderdeel, ins_deel_key, ins_deel_verwijder, + ins_onderdeel_verwijder); + /* Verwijderen van INS_DEELKOPPELING-records gebeurt via FAC_P_FAC_SAVE_RESTORE-package. + * Hier hoeft alleen de INS_DEEL_KEY onthouden te worden. + * anders krijg je ORA-4094: Mutating-trigger-bla. + SET_VERWIJDER_CHILDREN2(ins_deelkoppeling, ins_deel_key, ins_deelkoppeling_van_key, ins_deel_verwijder, + ins_deelkoppeling_verwijder); + SET_VERWIJDER_CHILDREN2(ins_deelkoppeling, ins_deel_key, ins_deelkoppeling_naar_key, ins_deel_verwijder, + ins_deelkoppeling_verwijder); + */ + IF :new.ins_deel_verwijder IS NOT NULL + THEN + DECLARE + Dummy BOOLEAN; + BEGIN + Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_DEEL', :new.ins_deel_key); + END; + END IF; + + /* Vul het veld INS_DISCIPLINE van het huidige deel. */ + IF :old.ins_srtdeel_key IS NULL + OR :old.ins_srtdeel_key <> :new.ins_srtdeel_key + OR :old.ins_discipline_key IS NULL + THEN + BEGIN + SELECT INS_D.ins_discipline_key + INTO :new.ins_discipline_key + FROM ins_srtdeel INS_SD, + ins_srtgroep INS_SG, + ins_tab_discipline INS_D + WHERE INS_SD.ins_srtdeel_key = :new.ins_srtdeel_key + AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key + AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key; + EXCEPTION + WHEN NO_DATA_FOUND + THEN :new.ins_discipline_key := NULL; + END; + END IF; + /* Vul het veld INS_ALG_LOCATIE_KEY van het huidige deel */ + IF :old.ins_alg_ruimte_key IS NULL + OR :old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :new.ins_alg_locatie_key IS NULL + THEN + BEGIN + SELECT alg_locatie_key + INTO :new.ins_alg_locatie_key + FROM ins_v_alg_overzicht + WHERE alg_onroerendgoed_keys = :new.ins_alg_ruimte_key + AND alg_onroerendgoed_type = :new.ins_alg_ruimte_type; + EXCEPTION + WHEN NO_DATA_FOUND + THEN :new.ins_alg_locatie_key := NULL; + END; + END IF; + /* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn + * en wel met ruimte, verdieping, gebouw of terreinsector. + * Daarvoor moet ook het INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn + * (met 'R' of 'V' of 'G' of 'T'). + * Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een + * nieuw record geinsert wordt. + * + * + * IN INV-mode hoeft INS_ALG_RUIMTE_KEY niet ingevuld te zijn, maar + * als deze ingevuld is moet INS_ALG_RUIMTE_KEY met ruimte of werkplek + * gevuld zijn, daarvoor moet het veld INS_ALG_RUITMTE_KEY goed + * ingevuld zijn (met 'R' of 'W'). + * + * IN INV-mode kan het veld INS_PRS_BEZIT_KEY ook ingevuld zijn, maar + * INS_ALG_RUIMTE_KEY en INS_PRS_BEZIT_KEY kunnen niet beide ingevuld worden. + * INS_PRS_BEZIT_KEY kan de waarde perslid of afdeling bevatten en het + * veld INS_PRS_BEZIT_TYPE moet dan goed ingevuld zijn (met 'P' of 'A'). + * AH 05-06-96 Nu kunnen biede velden ingevuld zijn. + */ + IF :new.ins_deel_module = 'INS' + AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m092'); + ELSIF :new.ins_alg_ruimte_type = 'V' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigverdieping, alg_verdieping_key, + :new.ins_alg_ruimte_key, 'ins_m093'); + ELSIF :new.ins_alg_ruimte_type = 'G' + THEN + CHECK_KEY_REFERENCE(alg_v_aanweziggebouw, alg_gebouw_key, + :new.ins_alg_ruimte_key, 'ins_m094'); + ELSIF :new.ins_alg_ruimte_type = 'T' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigterreinsector, alg_terreinsector_key, + :new.ins_alg_ruimte_key, 'ins_m095'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + + IF NOT :old.ins_alg_ruimte_key IS NULL + THEN + /* Als er 'geplaatste' onderdelen bij dit deel horen, dan mag het + * deel neit verplaatst worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigonderdeel INS_O + WHERE INS_O.ins_deel_key = :new.ins_deel_key +/* log #1993 AND INS_O.ins_alg_onroerendgoed_key IS NOT NULL; */ + AND INS_O.ins_alg_ruimte_key IS NOT NULL; + APPLICATION_ERROR(-20000, 'ins_m100'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'ins_m100'); + END; +/* + UPDATE ins_onderdeel + SET ins_alg_onroerendgoed_key = NULL + WHERE ins_deel_key = :new.ins_deel_key; + */ + END IF; +#ifdef INV + ELSIF :new.ins_deel_module = 'INV' + AND ((:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + OR (:old.ins_prs_bezit_key <> :new.ins_prs_bezit_key + OR :old.ins_prs_bezit_key IS NULL)) + THEN +// IF :new.ins_alg_ruimte_key IS NOT NULL +// AND :new.ins_prs_bezit_key IS NOT NULL +// THEN +// APPLICATION_ERROR(-20000, 'ins_m85'); + IF :new.ins_alg_ruimte_key IS NOT NULL + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSIF :new.ins_alg_ruimte_type = 'W' + THEN + CHECK_KEY_REFERENCE(all_v_aanwezigwerkplek, prs_werkplek_key, + :new.ins_alg_ruimte_key, 'ins_m88'); +// 14-01-97 Koppelen aan Locatie is nu niet meer mogelijk +// ELSIF :new.ins_alg_ruimte_type = 'L' +// THEN +// CHECK_KEY_REFERENCE(alg_v_aanweziglocatie, alg_locatie_key, +// :new.ins_alg_ruimte_key, 'ins_m88'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + END IF; + IF :new.ins_prs_bezit_key IS NOT NULL + THEN + IF :new.ins_prs_bezit_type = 'P' + THEN + CHECK_KEY_REFERENCE(all_v_aanwezigperslid, prs_perslid_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSIF :new.ins_prs_bezit_type = 'A' + THEN + CHECK_KEY_REFERENCE(prs_v_aanwezigafdeling, prs_afdeling_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m86'); + END IF; + END IF; +#endif + END IF; +#ifdef INV + /* Als een INS_DEEL in INV-mode (red. een artikel) verwijderd, gekoppeld, + * ontkoppeld of verplaatst wordt van een ruimte of een werkplek, + * dan is de bijbehorende verdieping-tekening niet meer up to date en + * moet dus het INV_DWGUPTODATE-veld gezet worden. + * + * Als in INV-mode het INS_DEEL van INS_SRTDEEL veranderd, + * moet in het geval dit INS_SRTDEEL een ander ACADSYMBOL heeft + * het INV_DWGUPTODATE-veld van de verdiepingtekening ook gezet worden. + */ + IF :new.ins_deel_module = 'INV' + THEN + /* Verwijderen */ + IF :new.ins_deel_verwijder IS NOT NULL + /* Koppelen */ + OR (:old.ins_alg_ruimte_key IS NULL + AND :new.ins_alg_ruimte_key IS NOT NULL) + /* Ontkoppelen */ + OR (:old.ins_alg_ruimte_key IS NOT NULL + AND :new.ins_alg_ruimte_key IS NULL) + /* Verplaatsen */ + OR (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key) + /* Van INS_SRTDEEL veranderen. + * ACADSYMBOL is hierin nog niet verwerkt. + */ + OR (:old.ins_srtdeel_key <> :new.ins_srtdeel_key) + THEN + /* Voor de oude INS_ALG_RUIMTE_KEY */ + IF :old.ins_alg_ruimte_type = 'R' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :old.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :old.ins_alg_ruimte_type = 'W' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :old.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + /* Voor de nieuwe INS_ALG_RUIMTE_KEY*/ + IF :new.ins_alg_ruimte_type = 'R' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :new.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :new.ins_alg_ruimte_type = 'W' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :new.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + END IF; + END IF; +#endif // INV +#if 0 // #ifdef ATT 13/01/1998 AH Er zijn geen FAC-velden meer in INS_DEEL + /* Gedeelte t.b.v. eventuele attributen */ + DECLARE + nAttribs NUMBER(10); + BEGIN + /* Controleer eerst of er uberhaupt attributen zijn + * bij dit Srtdeel. + */ + SELECT count(*) + INTO nAttribs + FROM ins_v_attribute_gegevens + WHERE ins_srtdeel_key = :new.ins_srtdeel_key; + + /* Attributen aanwezig + */ + IF nAttribs <> 0 + THEN + CHECK_ATTRIBUTE(fac0, 0); + CHECK_ATTRIBUTE(fac1, 1); + CHECK_ATTRIBUTE(fac2, 2); + CHECK_ATTRIBUTE(fac3, 3); + CHECK_ATTRIBUTE(fac4, 4); + CHECK_ATTRIBUTE(fac5, 5); + CHECK_ATTRIBUTE(fac6, 6); + CHECK_ATTRIBUTE(fac7, 7); + CHECK_ATTRIBUTE(fac8, 8); + CHECK_ATTRIBUTE(fac9, 9); +#if 0 // Oude situatie maakt een te grote trigger aan. + IF (:old.fac0 <> :new.fac0) + OR (:old.fac0 IS NOT NULL AND :new.fac0 IS NULL) + OR (:old.fac0 IS NULL AND :new.fac0 IS NOT NULL) + THEN + INS_P_INS_CHECK_ATTRIBUTE(:new.fac0, :new.ins_srtdeel_key, 0); + END IF; + + IF :new.fac1 <> :old.fac1 OR :new.fac1 IS NULL OR :old.fac1 IS NULL THEN CHECK_ATTRIBUTE(fac1,1); END IF; + IF :new.fac2 <> :old.fac2 OR :new.fac2 IS NULL OR :old.fac2 IS NULL THEN CHECK_ATTRIBUTE(fac2,2); END IF; + IF :new.fac3 <> :old.fac3 OR :new.fac3 IS NULL OR :old.fac3 IS NULL THEN CHECK_ATTRIBUTE(fac3,3); END IF; + IF :new.fac4 <> :old.fac4 OR :new.fac4 IS NULL OR :old.fac4 IS NULL THEN CHECK_ATTRIBUTE(fac4,4); END IF; + IF :new.fac5 <> :old.fac5 OR :new.fac5 IS NULL OR :old.fac5 IS NULL THEN CHECK_ATTRIBUTE(fac5,5); END IF; + IF :new.fac6 <> :old.fac6 OR :new.fac6 IS NULL OR :old.fac6 IS NULL THEN CHECK_ATTRIBUTE(fac6,6); END IF; + IF :new.fac7 <> :old.fac7 OR :new.fac7 IS NULL OR :old.fac7 IS NULL THEN CHECK_ATTRIBUTE(fac7,7); END IF; + IF :new.fac8 <> :old.fac8 OR :new.fac8 IS NULL OR :old.fac8 IS NULL THEN CHECK_ATTRIBUTE(fac8,8); END IF; + IF :new.fac9 <> :old.fac9 OR :new.fac9 IS NULL OR :old.fac9 IS NULL THEN CHECK_ATTRIBUTE(fac9,9); END IF; +#endif // 0 + END IF; + END; +#endif // 0 (ATT) + LOG('Eind INS_T_INS_DEEL_B_IU'); +END; +/ + + +CREATE_TRIGGER(ins_t_ins_deel_S_A_IU) +AFTER INSERT OR UPDATE ON ins_deel +BEGIN + /* Verwijder de onthouden INS_DEELKOPPELING-records via functie 'ins_p_delete_deelkoppeling'. */ + FAC_P_FAC_SAVE_RESTORE_UPDATE(ins_p_delete_deelkoppeling, 'INS_DEEL'); +END; +/ + +CREATE_TRIGGER(ins_t_ins_onderdeel_B_IU) +BEFORE INSERT OR UPDATE ON ins_onderdeel +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_ONDERDEEL_B_IU'); + UPDATE_PRIMARY_KEY(ins_onderdeel_key,ins_s_ins_inst_keys); + UPDATE_UPPER(ins_onderdeel_omschrijving,ins_onderdeel_upper); + IF :old.ins_deel_key <> :new.ins_deel_key OR + :old.ins_deel_key IS NULL + THEN + CHECK_SRT_REFERENCE(ins_srtonderdeel,ins_deel,ins_srtonderdeel_key, + ins_deel_key,ins_srtdeel_key,'ins_m019',ins_onderdeel_verwijder); + END IF; + SET_VERWIJDER_CHILDREN(ins_element, ins_onderdeel_key, ins_onderdeel_verwijder, + ins_element_verwijder); + LOG('Eind INS_T_INS_ONDERDEEL_B_IU'); +END; +/ + +CREATE_TRIGGER(ins_t_ins_element_B_IU) +BEFORE INSERT OR UPDATE ON ins_element +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_ELEMENT_B_IU'); + UPDATE_PRIMARY_KEY(ins_element_key,ins_s_ins_inst_keys); + UPDATE_UPPER(ins_element_omschrijving,ins_element_upper); + CHECK_SRT_REFERENCE(ins_srtelement, ins_onderdeel, ins_srtelement_key, + ins_onderdeel_key, ins_srtonderdeel_key, 'ins_m020', + ins_element_verwijder); + LOG('Eind INS_T_INS_ELEMENT_B_IU'); +END; +/ + +#if 0 // 14/01/1998 AH INS_ATTRIBUTE is vervangen door INS_KENMERK +CREATE_TRIGGER(ins_t_ins_attribute_B_IU) +BEFORE INSERT OR UPDATE ON ins_attribute +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(ins_attribute_main_key, ins_s_ins_attribute_key); +END; +/ + +CREATE_TRIGGER(ins_t_ins_attribute_D_B) +BEFORE DELETE ON ins_attribute +FOR EACH ROW +BEGIN + IF :old.ins_srtinst_type = 'D' + THEN + CHECK_DISCIPLINE_ATT_VULLING(fac0, 0); + CHECK_DISCIPLINE_ATT_VULLING(fac1, 1); + CHECK_DISCIPLINE_ATT_VULLING(fac2, 2); + CHECK_DISCIPLINE_ATT_VULLING(fac3, 3); + CHECK_DISCIPLINE_ATT_VULLING(fac4, 4); + CHECK_DISCIPLINE_ATT_VULLING(fac5, 5); + CHECK_DISCIPLINE_ATT_VULLING(fac6, 6); + CHECK_DISCIPLINE_ATT_VULLING(fac7, 7); + CHECK_DISCIPLINE_ATT_VULLING(fac8, 8); + CHECK_DISCIPLINE_ATT_VULLING(fac9, 9); + ELSIF :old.ins_srtinst_type = 'G' + THEN + CHECK_SRTGROEP_ATT_VULLING(fac0, 0); + CHECK_SRTGROEP_ATT_VULLING(fac1, 1); + CHECK_SRTGROEP_ATT_VULLING(fac2, 2); + CHECK_SRTGROEP_ATT_VULLING(fac3, 3); + CHECK_SRTGROEP_ATT_VULLING(fac4, 4); + CHECK_SRTGROEP_ATT_VULLING(fac5, 5); + CHECK_SRTGROEP_ATT_VULLING(fac6, 6); + CHECK_SRTGROEP_ATT_VULLING(fac7, 7); + CHECK_SRTGROEP_ATT_VULLING(fac8, 8); + CHECK_SRTGROEP_ATT_VULLING(fac9, 9); + ELSIF :old.ins_srtinst_type = 'S' + THEN + CHECK_SRTDEEL_ATT_VULLING(fac0, 0); + CHECK_SRTDEEL_ATT_VULLING(fac1, 1); + CHECK_SRTDEEL_ATT_VULLING(fac2, 2); + CHECK_SRTDEEL_ATT_VULLING(fac3, 3); + CHECK_SRTDEEL_ATT_VULLING(fac4, 4); + CHECK_SRTDEEL_ATT_VULLING(fac5, 5); + CHECK_SRTDEEL_ATT_VULLING(fac6, 6); + CHECK_SRTDEEL_ATT_VULLING(fac7, 7); + CHECK_SRTDEEL_ATT_VULLING(fac8, 8); + CHECK_SRTDEEL_ATT_VULLING(fac9, 9); + END IF; +END; +/ +#endif // 0 + +CREATE_TRIGGER(ins_t_ins_import_B_IU) +BEFORE INSERT OR UPDATE ON ins_import +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(ins_import_key,ins_s_ins_import_key); +END; +/ + +/* Triggers voor INS_KENMERK-zaken toegevoegd */ +CREATE_TRIGGER(ins_t_ins_refsrtkenmerk_b_iu) +BEFORE INSERT OR UPDATE ON ins_refsrtkenmerk +FOR EACH ROW +DECLARE + ObjectType USER_OBJECTS.OBJECT_TYPE%TYPE; +BEGIN + UPDATE_PRIMARY_KEY(ins_refsrtkenmerk_key, ins_s_ins_refsrtkenmerk_key); + UPDATE_UPPER(ins_refsrtkenmerk_omschrijving, ins_refsrtkenmerk_upper); + + /* Controleer of de ingevulde tablenaam, kolomnaam en kolomtxt + * wel bestaan. + */ + IF :new.ins_refsrtkenmerk_objectnaam <> :old.ins_refsrtkenmerk_objectnaam + OR :old.ins_refsrtkenmerk_objectnaam IS NULL + THEN + BEGIN + SELECT OBJECT_TYPE + INTO ObjectType + FROM USER_OBJECTS + WHERE OBJECT_NAME = :new.ins_refsrtkenmerk_objectnaam; + EXCEPTION + WHEN NO_DATA_FOUND + THEN ObjectType := NULL; + END; + END IF; + IF ObjectType IS NULL + THEN + APPLICATION_ERROR(-20000, 'ins_m139'); + ELSIF ObjectType = 'TABLE' + OR ObjectType = 'VIEW' + THEN + /* Bij een TABLE of VIEW staan de kolommen in USER_TAB_COLUMNS + * Controleer of deze KOLOMNAAM en KOLOMTXT bestaan. + */ + DECLARE + Dummy VARCHAR2(30); + BEGIN + SELECT COLUMN_NAME + INTO Dummy + FROM USER_TAB_COLUMNS + WHERE TABLE_NAME = :new.ins_refsrtkenmerk_objectnaam + AND COLUMN_NAME = :new.ins_refsrtkenmerk_kolomnaam + AND DATA_TYPE = 'NUMBER'; + EXCEPTION + WHEN NO_DATA_FOUND + THEN APPLICATION_ERROR(-20000, 'ins_m140'); + END; + DECLARE + Dummy VARCHAR2(30); + BEGIN + SELECT COLUMN_NAME + INTO Dummy + FROM USER_TAB_COLUMNS + WHERE TABLE_NAME = :new.ins_refsrtkenmerk_objectnaam + AND COLUMN_NAME = :new.ins_refsrtkenmerk_kolomtxt + AND DATA_TYPE LIKE '%CHAR%'; + EXCEPTION + WHEN NO_DATA_FOUND + THEN APPLICATION_ERROR(-20000, 'ins_m141'); + END; + ELSIF ObjectType = 'SYNONYM' + THEN + /* Bij een SYNONYM kan er niet gecontroleerd worden + * of de ingevulde kolommen bestaan. + */ + NULL; + ELSE + APPLICATION_ERROR(-20000, 'ins_m139'); + END IF; + +END; +/ + +CREATE_TRIGGER(ins_t_ins_srtkenmerk_b_iu) +BEFORE INSERT OR UPDATE ON ins_srtkenmerk +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(ins_srtkenmerk_key, ins_s_ins_srtkenmerk_key); + UPDATE_UPPER(ins_srtkenmerk_omschrijving, ins_srtkenmerk_upper); + IF (:new.ins_srtkenmerk_kenmerktype = 'C' + OR :new.ins_srtkenmerk_kenmerktype = 'N') + AND :new.ins_srtkenmerk_lengte IS NULL + THEN + APPLICATION_ERROR(-20000, 'INS_C_INS_SRTKENMERK_LENGTE'); + END IF; +END; +/ + +CREATE_TRIGGER(ins_t_ins_srtkenmerk_b_d) +BEFORE DELETE ON ins_srtkenmerk +FOR EACH ROW +BEGIN + IF :new.ins_srtkenmerk_systeem IS NOT NULL + THEN + APPLICATION_ERROR(-20003, 'INS_M156'); + END IF; +END; +/ + +CREATE_TRIGGER(ins_t_ins_kenmerk_b_iu) +BEFORE INSERT OR UPDATE ON ins_kenmerk +FOR EACH ROW +BEGIN + /* Een kenmerk mag niet verplicht worden gemaakt als er al waardes ingevuld zijn. + * Als hij daarvoor niet verplicht was. + * Dit is alleen bij wijzigen te controleren, doordat + * de PrimaryKey niet NULL is. + */ + IF :new.ins_kenmerk_key IS NOT NULL + AND :new.ins_kenmerk_verplicht IS NOT NULL + AND :old.ins_kenmerk_verplicht IS NULL + THEN + DECLARE + Dummy CHAR; + BEGIN + SELECT 'X' + INTO Dummy + FROM ins_kenmerkdeel + WHERE ins_kenmerk_key = :new.ins_kenmerk_key; + APPLICATION_ERROR(-20004, 'ins_m142'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20004, 'ins_m142'); + END; + END IF; + + UPDATE_PRIMARY_KEY(ins_kenmerk_key, ins_s_ins_kenmerk_key); +END; +/ + +CREATE_TRIGGER(ins_t_ins_kenmerkdeel_b_iu) +BEFORE INSERT OR UPDATE ON ins_kenmerkdeel +FOR EACH ROW +BEGIN +/* Controleer eerst of de ingevulde waarde goed is. */ +IF :new.ins_kenmerkdeel_waarde <> :old.ins_kenmerkdeel_waarde +OR :old.ins_kenmerkdeel_waarde IS NULL +OR :new.ins_kenmerkdeel_waarde IS NULL +THEN +DECLARE + SrtKenmerkOmschr ins_srtkenmerk.ins_srtkenmerk_omschrijving%TYPE; + SrtKenmerkType ins_srtkenmerk.ins_srtkenmerk_kenmerktype%TYPE; + SrtKenmerkLengte ins_srtkenmerk.ins_srtkenmerk_lengte%TYPE; + SrtKenmerkDec ins_srtkenmerk.ins_srtkenmerk_dec%TYPE; + SrtKenmerkNMin ins_srtkenmerk.ins_srtkenmerk_nmin%TYPE; + SrtKenmerkNMax ins_srtkenmerk.ins_srtkenmerk_nmax%TYPE; + KenmerkVerplicht ins_kenmerk.ins_kenmerk_verplicht%TYPE; + RefSrtKenmerkKey NUMBER(10); + NumberWaarde NUMBER(15,5); + FormatMask VARCHAR2(60); + KenmerkDeelWaarde ins_kenmerkdeel.ins_kenmerkdeel_waarde%TYPE; +BEGIN + KenmerkDeelWaarde := :new.ins_kenmerkdeel_waarde; + + SELECT INS_SK.ins_srtkenmerk_omschrijving, + INS_SK.ins_srtkenmerk_kenmerktype, + INS_SK.ins_srtkenmerk_lengte, + INS_SK.ins_srtkenmerk_dec, + INS_SK.ins_srtkenmerk_nmin, + INS_SK.ins_srtkenmerk_nmax, + INS_SK.ins_refsrtkenmerk_key, + INS_K.ins_kenmerk_verplicht + INTO SrtKenmerkOmschr, + SrtKenmerkType, + SrtKenmerkLengte, + SrtKenmerkDec, + SrtKenmerkNMin, + SrtKenmerkNMax, + RefSrtKenmerkKey, + KenmerkVerplicht + FROM ins_srtkenmerk INS_SK, ins_kenmerk INS_K + WHERE INS_SK.ins_srtkenmerk_key = INS_K.ins_srtkenmerk_key + AND INS_K.ins_kenmerk_key = :new.ins_kenmerk_key; + + /* Controleer eerst of het verplichte veld ingevuld is */ + IF KenmerkVerplicht IS NOT NULL AND KenmerkDeelWaarde IS NULL + THEN + APPLICATION_ERROR(-20004, 'ins_m149,'||SrtKenmerkOmschr); + /* Kijk welk KenmerkType gebruikt wordt. + * Aan de hand daarvan moet een controle uitgevoerd worden. + */ + ELSIF SrtKenmerkType = 'C' /* Char */ + THEN + /* Controleer of de lengte te groot of goed is */ + IF LENGTH(KenmerkDeelWaarde) > SrtKenmerkLengte + THEN + APPLICATION_ERROR(-20004, 'ins_m143,'||SrtKenmerkOmschr||','||TO_CHAR(SrtKenmerkLengte)); + END IF; + ELSIF SrtKenmerkType = 'N' /* Number */ + THEN + /* Controleer of er een numerieke waarde ingevuld is */ + IF SrtKenmerkDec IS NULL OR SrtKenmerkDec = 0 + THEN + FormatMask := RPAD('9', SrtKenmerkLengte, '9'); + ELSE + FormatMask := RPAD('9', SrtKenmerkLengte - SrtKenmerkDec, '9')|| + 'D'||RPAD('9', SrtKenmerkDec, '9'); + END IF; + /* Controleer of er een numerieke waarde ingevuld is */ + BEGIN + NumberWaarde := TO_NUMBER(KenmerkDeelWaarde); + EXCEPTION + WHEN OTHERS + THEN FormatMask := REPLACE(FormatMask, '9', '#'); + FormatMask := REPLACE(FormatMask, '0', '#'); + FormatMask := REPLACE(FormatMask, 'D', '.'); + APPLICATION_ERROR(-20004,'ins_m146,'||SrtKenmerkOmschr||','||FormatMask); + END; + /* Controleer of de waarde binnen NMin en NMax ligt */ + IF (SrtKenmerkNMin IS NOT NULL + AND NumberWaarde < SrtKenmerkNMin) + OR (SrtKenmerkNMax IS NOT NULL + AND NumberWaarde > SrtKenmerkNMax) + THEN + APPLICATION_ERROR(-20004, 'ins_m145,'||SrtKenmerkOmschr||','|| + TO_CHAR(SrtKenmerkNMin)||','|| + TO_CHAR(SrtKenmerkNMax)); + ELSE + /* Controleer of de waarde aan het formaat voldoet */ + KenmerkDeelWaarde := LTRIM(to_char(NumberWaarde, FormatMask)); + IF INSTR(KenmerkDeelWaarde, '#') <> 0 + THEN + FormatMask := REPLACE(FormatMask, '9', '#'); + FormatMask := REPLACE(FormatMask, '0', '#'); + FormatMask := REPLACE(FormatMask, 'D', '.'); + APPLICATION_ERROR(-20004,'ins_m146,'||SrtKenmerkOmschr||','||FormatMask); + END IF; + END IF; + /* Zet de geconverteerde waarde terug */ + :new.ins_kenmerkdeel_waarde := KenmerkDeelWaarde; + ELSIF SrtKenmerkType = 'D' /* Datum */ + THEN + KenmerkDeelWaarde := TO_CHAR(TO_DATE(KenmerkDeelWaarde, 'DD-MM-YYYY'), 'DD-MM-YYYY'); + /* Zet de geconverteerde waarde terug */ + :new.ins_kenmerkdeel_waarde := KenmerkDeelWaarde; + END IF; +END; + + UPDATE_PRIMARY_KEY(ins_kenmerkdeel_key, ins_s_ins_kenmerkdeel_key); + +END IF; + +END; +/ + +/* Nadat de waardes ingevuld zijn worden de INS_KENMERKDEEL-records + * met NULL-waardes weer verwijderd. Ze zijn blijkbaar door de B_IU-trigger + * goedgekeurd, maar om de database niet overbodig te vullen worden ze weer verwijderd. + */ +CREATE_TRIGGER(ins_t_ins_kenmerkdeel_a_iu) +AFTER INSERT OR UPDATE ON ins_kenmerkdeel +BEGIN + DELETE FROM ins_kenmerkdeel + WHERE ins_kenmerkdeel_waarde IS NULL; +END; +/ + +CREATE_TRIGGER(ins_t_ins_deelkoppeling_b_iu) +BEFORE INSERT OR UPDATE ON ins_deelkoppeling +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(ins_deelkoppeling_key, ins_s_ins_deelkoppeling_key); +END; +/ + +/* Verwijder hier de INS_DEELKOPPELING-records echt die door het systeem + * logisch verwijderd zijn. + */ +CREATE_TRIGGER(ins_t_ins_deelkoppeling_a_iu) +AFTER INSERT OR UPDATE ON ins_deelkoppeling +BEGIN + DELETE FROM ins_deelkoppeling + WHERE ins_deelkoppeling_verwijder IS NOT NULL; +END; +/ + + +#endif // INS +#if 0 //def LEV +/* LEV-gedeelte van INS_DEEL-trigger. + */ + LOG('Begin voor gedeelte van LEV voor kostenpost'); + /* Bij het aanmaken van een leveringsregel wordt een INS_DEEL + * aangemaakt. Als OLD.lev_levering_key IS NULL en NEW.lev_levering_key + * IS NOT NULL dan wordt dit INS_DEEL nieuw aangemaakt, dus kunnen + * de kosten van deze levering bij ALG_KOSTENPOST_BESTEED geboekt worden. + * + * Bij het wijzigen van een leveringsregel kan niet bepaald worden of + * in het scherm EDIT-levering het aantal aangepast is of bij + * toekenning een aantal het INS_DEEL verhuisd naar een ander INS_DEEL. + * Deze stap is opgelost in het form EDIT-levering. + */ + IF :old.lev_levering_key IS NULL + AND :new.lev_levering_key IS NOT NULL + THEN + DECLARE + prijs INS_SRTDEEL.INV_SRTDEEL_PRIJS%TYPE; + BEGIN + SELECT NVL(INS_SD.inv_srtdeel_prijs, 0) + INTO prijs + FROM ins_srtdeel INS_SD + WHERE INS_SD.ins_srtdeel_key = :new.ins_srtdeel_key; + UPDATE alg_kostenpost + SET alg_kostenpost_besteed = NVL(alg_kostenpost_besteed, 0) + + NVL(:new.ins_deel_aantal, 0) * prijs + WHERE alg_kostenpost_key = (SELECT lev_alg_kostenpost_key + FROM lev_bestelling + WHERE lev_bestelling_key = :new.lev_bestelling_key); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + END IF; + LOG('Einde voor gedeelte van LEV voor kostenpost'); +#endif // 0 (LEV) diff --git a/INS/INS_VIE.SRC b/INS/INS_VIE.SRC new file mode 100644 index 00000000..de2e7c67 --- /dev/null +++ b/INS/INS_VIE.SRC @@ -0,0 +1,1457 @@ +#ifdef INS // 13-03-96 AH + +/* Maakt de views voor INS */ + +/* + * History + * + * --- 01.40 --- + * 07/09/1998 BIV #1993 - View INS_V_DEEL_ONDERDEEL toegevoegd. + * 03/09/1998 BIV #1993 - Alle views met INS_ONDERDEEL moeten voorwaarde "AND INS_DEEL_PARENT_KEY IS NOT NULL" + * bevatten en INS_ONDERDEEL wordt vervangen door INS_DEEL. + * 03/09/1998 BIV #1993 - Alle views met INS_DEEL moeten voorwaarde "AND INS_DEEL_PARENT_KEY IS NULL" bevatten... + * 03/09/1998 BIV #1993 - Views voor Element en SrtElement zijn vervallen. + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 26/02/1998 AH Gebruik ipv. de interne tabel USER_USERS de Oracle-variabele USER + * 23/02/1998 AH INS_V_KENMERK_GEGEVENS aangepast, view is verkeerd gedefinieerd met + * disciplines die niet geautoriseerd zijn. + * 17/02/1998 AH INS_V_DEELKOPPELING_GEGEVENS toegevoegd voor het scherm INS027. + * 04/02/1998 AH INS_DEEL heeft extra velden INS_DISCIPLINE_KEY en INS_ALG_LOCATIE_KEY + * voor de views INS_V_AANWEZIGDEEL en INS_V_DEEL_GEGEVENS + * INS_V_ALG_OVERZICHT heeft extr veld TYPE. + * 03/02/1998 AH Voor de GRANTS op INS_DISCIPLINE-view moet een extra view FAC_V_USER_USERS + * gebruikt worden. Een INSERT, UPDATE, DELETE-grant op SYS.USER_USERS gaat fout + * omdat dat volgens ORACLE niet mag. + * 30/01/1998 AH INS_DISCIPLINE aangepast, niewe kolommin in FAC_GEBRUIKER + * 29/01/1998 AH INS_V_DEEL_GEGEVENS aangepast voor performance. + * 28/01/1998 AH INS_DISCIPLINE-view aangemaakt. INS_V_AANWEZIG... aangepast, allemaal + * moeten ze kijken of er goede autorisatie voor INS_DISCIPLINE is. + * 21/01/1998 AH De velden INS_DEEL_FABRIKAAT, INS_DEEL_TYPE, INS_DEEL_SERIENR, + * INS_DEEL_BOUWJAAR, INS_DEEL_CAPACITEIT, INS_DEEL_PRIJS en + * INS_DEEL_LEVENSDUUR verwijderd. + * 13/01/1998 AH Views voor INS_KENMERK-zaken toegevoegd + * FAC-velden uit INS_DEEL verwijderd. INS_ATTRIBUTE-zaken verwijderd + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * 19-03-97 AH RABO:INS_V_INS_IMPORT_DEEL aangemaakt. + * 17-03-97 AH RABO: INS_V_DEEL_GEGEVENS uitgebreidt met FACx-velden + * 06-03-97 AH RABO: INS_V_ATTRIBUTE_GEGEVENS aangepast + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * 01-11-96 AH ALL_V_SRTDEEL_GEGEVENS aangepast voor INS012 + * --- 01.21 --- + * 10-10-96 AH INS_V_ALG_ONRGOED_REGIO en INS_V_ALG_ONRGOED_MET_DELEN-views + * toegevoegd. + * 04-10-96 AH ALL_V_AANWEZIGDEEL toegevoegd, module-veld toegevoegd aan + * INS_V_ALG_ONROERENDGOED-view + * 24-09-96 AH INS_V_ALG_ONROERENDGOED-view toegevoegd + * --- 01.20 --- + * 18-09-96 KTH BIBLIOTHEEK_PRIVILEGE voor: all_v_srtgroep_gegevens, + * all_v_srtdeel_gegevens, ins_v_allsrtinst, ins_v_attribute_- + * gegevens, ins_v_attr_hulp, ins_v_attr_key_gegevens, + * ins_v_srtdeel_gegevens, ins_v_srtelement_gegevens, + * ins_v_srtgroep_gegevens, ins_v_srtinst, ins_v_srtinst_- + * discipline en ins_v_srtonderdeel_gegevens + * 17-09-96 AH INS_V_ALLSRTINST toegevoegd, maakt gebruik van de tabellen + * ipv. de aanwezigviews + * --- 01.19 --- + * 19-08-96 PF Aan ins_v_element_gegevens ALG_RUIMTE_UPPER_NR toegevoegd + * 14-08-96 AH Views INS_V_ALG_OVERZICHT, INS_V_DEEL_GEGEVENS, + * INS_V_ONDERDEEL_GEGEVENS en INS_V_ELEMENT_GEGEVENS aangepast. + * 11-07-96 EH View ins_v_element_gegevens uitgebreid met tereinsector. + * 05-07-96 EH De view ins_v_onderdeel_gegevens aangepast om ook onderdelen + * te kunnen 'plaatsen'. + * 05-07-96 EH De view ins_v_deel_gegevens aangepast voor delen op terrein- + * sectoren en 'binnen' gebouwen. Ter ondersteuning de view + * ins_v_alg_overzicht aangemaakt. + * --- 01.18 --- + * --- 01.17 --- + * 10-06-96 EH in de view ins_v_attr_hulp ins_v.. vervangen door all_v + * 07-06-96 EH alg_locatie_key toegevoegd aan ins_v_onderdeel_gegevens + * --- 01.16 --- + * --- 01.15 --- + * 29-05-96 EH De views fac_v_attr_hulp, fac_v_attr_gegevens en + * fac_v_attr_key_gegevens vanuit fac_vie naar hier verplaatst + * en hernoemd naar ins_v.. etc. + * 08-05-96 EH De Views all_v_srtgroepgegevens, all_v_srtdeel_gegevens + * toegevoegd. + * 08-05-96 EH De Views all_v_aanwezigdiscipline, + * all_v_aanwezigsrtgroep en + * all_v_aanwezigsrtdeel toegevoegd. + * 29-04-96 RW Privileges aangepast + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 01-04-96 KTH Gebruik CREATE_VIEW() + * 21-03-96 AH De huidige INS-views uitgebreidt met INS_..._module + * 13-03-96 AH NIEUWE OPZET SRC-files. + * + * 17-01-96 AH View ins_v_srtinst_discipline toegevoegd + * 03-01-96 EH VIEWS ins_v_deel- en -onderdeel_gegevens opniew gewijzigd. + * 02-01-96 EH View ins_v_deel_gegevens, View ins_v_onderdeel_gegevens licht gewijzigd. + * 21-12-95 AH View ins_v_element_gegevens aangepast ins_deel_key toegevoegd. + * 20-12-95 PF View ins_v_onderdeel_gegevens: kolommen alg_verdieping_upper, + * alg_ruimte_nr, alg_gebouw_upper toegevoegd, want + * ins_v_element_gegevens gebruikt deze kennelijk + * (was safer dat die kolommen weggooien) + * 12-11-95 AH VIEW INS_V_INST toegevoegd, voor BCO_INSTMELDING-form BCO_514. + * 12-11-95 AH VIEW ins_v_element_gegevens uitgebreid voor form EDIT_514. + */ + + /* 20-12 EH:element-gegevens uitgebreid */ + +#include "comsql.h" + +CREATE_VIEW(ins_discipline, BIBLIOTHEEK_PRIVILEGE) +AS +SELECT INS_TD.* FROM fac_gebruiker FAC_G, ins_tab_discipline INS_TD +WHERE INS_TD.ins_discipline_module = 'INS' + AND INS_TD.ins_discipline_key = FAC_G.fac_gebruiker_kolomkey + AND FAC_G.fac_gebruiker_module = 'INS' + AND FAC_G.fac_gebruiker_tabel = 'INS_DISCIPLINE' + AND FAC_G.fac_gebruiker_kolom = 'INS_DISCIPLINE_KEY' + AND FAC_G.fac_gebruiker_username = USER; + +DEFINIEER_VIEW_AANWEZIG(ins_discipline, ins_discipline_verwijder, + ins_v_aanwezigdiscipline,BIBLIOTHEEK_PRIVILEGE) AND + ins_discipline_module = 'INS'; + +/* + * + * NB: 08-05-96 EH: De views all_v_aanwezigdiscipline, -srtgroep en -srtdeel + * geven een overzicht van wat er ECHT aanwezig is in de respectievelijke + * tabellen. Dus voor ALLE modules ('INS', 'INV' of nog anders). De views + * ins_v_aanwezigdiscipline en inv_v_aanwezigdiscipline geven een overzicht + * van de aanwezige records van die module. + * + * Hetzelfde geldt voor de gegevens_views voor srtgroep en srtdeel. + * + */ + +DEFINIEER_VIEW_AANWEZIG(ins_discipline, ins_discipline_verwijder, + all_v_aanwezigdiscipline,BIBLIOTHEEK_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(ins_srtgroep, ins_srtgroep_verwijder, + ins_v_aanwezigsrtgroep,BIBLIOTHEEK_PRIVILEGE) AND + ins_srtgroep_module = 'INS' AND + ins_discipline_key IN (SELECT ins_discipline_key FROM ins_v_aanwezigdiscipline); + +DEFINIEER_VIEW_AANWEZIG(ins_srtgroep, ins_srtgroep_verwijder, + all_v_aanwezigsrtgroep,BIBLIOTHEEK_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(ins_srtdeel, ins_srtdeel_verwijder, + ins_v_aanwezigsrtdeel,BIBLIOTHEEK_PRIVILEGE) AND + ins_srtdeel_module = 'INS' AND + ins_srtgroep_key IN (SELECT ins_srtgroep_key FROM ins_v_aanwezigsrtgroep); + +DEFINIEER_VIEW_AANWEZIG(ins_srtdeel, ins_srtdeel_verwijder, + all_v_aanwezigsrtdeel,BIBLIOTHEEK_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(ins_srtonderdeel, ins_srtonderdeel_verwijder, + ins_v_aanwezigsrtonderdeel,BIBLIOTHEEK_PRIVILEGE) AND + ins_srtdeel_key IN (SELECT ins_srtdeel_key FROM ins_v_aanwezigsrtdeel); + +/* 980903/BIV - # 1993 + View ins_srtelement is overbodig geworden... + +DEFINIEER_VIEW_AANWEZIG(ins_srtelement, ins_srtelement_verwijder, + ins_v_aanwezigsrtelement,BIBLIOTHEEK_PRIVILEGE) AND + ins_srtonderdeel_key IN (SELECT ins_srtonderdeel_key FROM ins_v_aanwezigsrtonderdeel); +*/ + +/* Views met ins_deel moeten voorwaarde : "WHERE ins_deel_parent_key IS NULL" bevatten... */ +DEFINIEER_VIEW_AANWEZIG(ins_deel, ins_deel_verwijder, + all_v_aanwezigdeel,NORMAAL_PRIVILEGE) AND + ins_deel_parent_key IS NULL; + +/* Views met ins_deel moeten voorwaarde : "AND ins_deel_parent_key IS NULL" bevatten... */ +DEFINIEER_VIEW_AANWEZIG(ins_deel, ins_deel_verwijder, + ins_v_aanwezigdeel,NORMAAL_PRIVILEGE) AND + ins_deel_module = 'INS' AND + ins_deel_parent_key IS NULL AND + ins_discipline_key IN (SELECT ins_discipline_key FROM ins_discipline); + +/* Originele code +DEFINIEER_VIEW_AANWEZIG(ins_onderdeel, ins_onderdeel_verwijder, + ins_v_aanwezigonderdeel,NORMAAL_PRIVILEGE) AND + ins_srtonderdeel_key IN (SELECT ins_srtonderdeel_key FROM ins_v_aanwezigsrtonderdeel); +*/ + +/* Views met ins_onderdeel moeten voorwaarde : "AND ins_deel_parent_key IS NOT NULL" bevatten... */ +DEFINIEER_VIEW_AANWEZIG(ins_deel, ins_deel_verwijder, + ins_v_aanwezigonderdeel,NORMAAL_PRIVILEGE) AND + ins_deel_parent_key IS NOT NULL AND + ins_srtdeel_key IN (SELECT ins_srtdeel_key FROM ins_v_aanwezigsrtdeel); + + +/* 980903/BIV - # 1993 + View ins_element is overbodig geworden... + +DEFINIEER_VIEW_AANWEZIG(ins_element, ins_element_verwijder, + ins_v_aanwezigelement,NORMAAL_PRIVILEGE) AND + ins_srtelement_key IN (SELECT ins_srtelement_key FROM ins_v_aanwezigsrtelement); + */ + +CREATE_VIEW(ins_v_srtgroep_gegevens,BIBLIOTHEEK_PRIVILEGE) AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, + ins_SG.ins_srtgroep_upper + FROM ins_v_aanwezigdiscipline ins_D, ins_v_aanwezigsrtgroep ins_SG + WHERE + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; + +CREATE_VIEW(all_v_srtgroep_gegevens,BIBLIOTHEEK_PRIVILEGE) AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, + ins_SG.ins_srtgroep_upper, ins_SG.ins_srtgroep_module + FROM all_v_aanwezigdiscipline ins_D, all_v_aanwezigsrtgroep ins_SG + WHERE + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; + +CREATE_VIEW(ins_v_srtdeel_gegevens,BIBLIOTHEEK_PRIVILEGE) AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, + ins_SG.ins_srtgroep_upper, ins_SD.ins_srtdeel_key, + ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper + FROM ins_v_aanwezigdiscipline ins_D, ins_v_aanwezigsrtgroep ins_SG, + ins_v_aanwezigsrtdeel ins_SD + WHERE + ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; + +CREATE_VIEW(all_v_srtdeel_gegevens,BIBLIOTHEEK_PRIVILEGE) AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, + ins_SG.ins_srtgroep_upper, ins_SD.ins_srtdeel_key, + ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper, + ins_SD.ins_srtdeel_module +#ifdef INV + , ins_SD.inv_srtdeel_nr +#endif + FROM all_v_aanwezigdiscipline ins_D, all_v_aanwezigsrtgroep ins_SG, + all_v_aanwezigsrtdeel ins_SD + WHERE + ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; + +CREATE_VIEW(ins_v_srtonderdeel_gegevens,BIBLIOTHEEK_PRIVILEGE) AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, + ins_SG.ins_srtgroep_upper, ins_SD.ins_srtdeel_key, + ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper, + ins_SOD.ins_srtonderdeel_key, ins_SOD.ins_srtonderdeel_omschrijving, + ins_SOD.ins_srtonderdeel_upper + FROM ins_v_aanwezigdiscipline ins_D, ins_v_aanwezigsrtgroep ins_SG, + ins_v_aanwezigsrtdeel ins_SD, ins_v_aanwezigsrtonderdeel ins_SOD + WHERE + ins_SD.ins_srtdeel_key = ins_SOD.ins_srtdeel_key AND + ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; + + +/* 980903/BIV - # 1993 + View ins_element is overbodig geworden... + +CREATE_VIEW(ins_v_srtelement_gegevens,BIBLIOTHEEK_PRIVILEGE) AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, + ins_SG.ins_srtgroep_upper, ins_SD.ins_srtdeel_key, + ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper, + ins_SOD.ins_srtonderdeel_key, ins_SOD.ins_srtonderdeel_omschrijving, + ins_SOD.ins_srtonderdeel_upper, ins_EL.ins_srtelement_key, + ins_EL.ins_srtelement_omschrijving, ins_EL.ins_srtelement_upper + FROM ins_v_aanwezigdiscipline ins_D, ins_v_aanwezigsrtgroep ins_SG, + ins_v_aanwezigsrtdeel ins_SD, ins_v_aanwezigsrtonderdeel ins_SOD, + ins_v_aanwezigsrtelement ins_EL + WHERE + ins_SOD.ins_srtonderdeel_key = ins_EL.ins_srtonderdeel_key AND + ins_SD.ins_srtdeel_key = ins_SOD.ins_srtdeel_key AND + ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; +*/ + +CREATE_VIEW(ins_v_alg_overzicht,NORMAAL_PRIVILEGE) +( + alg_onroerendgoed_keys, alg_onroerendgoed_type, + alg_locatie_key, + alg_gebouw_key, alg_gebouw_code, alg_gebouw_omschrijving, alg_gebouw_upper, + alg_verdieping_key, alg_verdieping_omschrijving, alg_verdieping_upper, + alg_verdieping_volgnr, + alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, + alg_terreinsector_key, alg_terreinsector_code, alg_terreinsector_omschrijving, alg_terreinsector_upper +) +AS + SELECT ALG_G.alg_gebouw_key, 'G', ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, ALG_G.alg_gebouw_code, ALG_G.alg_gebouw_omschrijving, ALG_G.alg_gebouw_upper, + to_number(NULL), NULL, NULL, to_number(NULL), + to_number(NULL), NULL, NULL, + to_number(NULL), NULL, NULL, NULL + FROM alg_gebouw ALG_G +UNION + SELECT ALG_V.alg_verdieping_key, 'V', ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, ALG_G.alg_gebouw_code, ALG_G.alg_gebouw_omschrijving, ALG_G.alg_gebouw_upper, + ALG_V.alg_verdieping_key, ALG_V.alg_verdieping_omschrijving, ALG_V.alg_verdieping_upper, + ALG_V.alg_verdieping_volgnr, + to_number(NULL), NULL, NULL, + to_number(NULL), NULL, NULL, NULL + FROM alg_verdieping ALG_V, alg_gebouw ALG_G + WHERE ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key +UNION + SELECT ALG_R.alg_ruimte_key, 'R', ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, ALG_G.alg_gebouw_code, ALG_G.alg_gebouw_omschrijving, ALG_G.alg_gebouw_upper, + ALG_V.alg_verdieping_key, ALG_V.alg_verdieping_omschrijving, ALG_V.alg_verdieping_upper, + ALG_V.alg_verdieping_volgnr, + ALG_R.alg_ruimte_key, ALG_R.alg_ruimte_nr, ALG_R.alg_ruimte_upper_nr, + to_number(NULL), NULL, NULL, NULL + FROM alg_ruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G + WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key AND + ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key +UNION + SELECT ALG_T.alg_terreinsector_key, 'T', ALG_T.alg_locatie_key, + to_number(NULL), NULL, NULL, NULL, + to_number(NULL), NULL, NULL, to_number(NULL), + to_number(NULL), NULL, NULL, + ALG_T.alg_terreinsector_key, ALG_T.alg_terreinsector_code, ALG_T.alg_terreinsector_omschrijving, ALG_T.alg_terreinsector_upper + FROM alg_terreinsector ALG_T; + +CREATE_VIEW(ins_v_deel_gegevens,NORMAAL_PRIVILEGE) +( + ins_discipline_key, ins_discipline_omschrijving, + ins_srtgroep_key, ins_srtgroep_omschrijving, ins_srtgroep_upper, + ins_srtdeel_key, ins_srtdeel_omschrijving, ins_srtdeel_upper, + alg_locatie_key, alg_gebouw_key, alg_gebouw_omschrijving, alg_gebouw_upper, + alg_verdieping_key, alg_verdieping_omschrijving, alg_verdieping_upper, + alg_verdieping_volgnr, + alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, + alg_terreinsector_key, alg_terreinsector_omschrijving, alg_terreinsector_upper, + ins_deel_key, ins_deel_omschrijving, ins_deel_upper, ins_deel_aantal, ins_deel_opmerking +/* 21/01/1998 AH De volgende velden zijn overbodig + ,ins_deel_fabrikaat, ins_deel_type, ins_deel_serienr, ins_deel_bouwjaar, + ins_deel_capaciteit, ins_deel_prijs, ins_deel_levensduur, + fac0, fac1, fac2, fac3, fac4, fac5, fac6, fac7, fac8, fac9 + */ +) +AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, ins_SG.ins_srtgroep_upper, + ins_SD.ins_srtdeel_key, ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper, + INS_DE.ins_alg_locatie_key, INS_AO.alg_gebouw_key, INS_AO.alg_gebouw_omschrijving, INS_AO.alg_gebouw_upper, + INS_AO.alg_verdieping_key, INS_AO.alg_verdieping_omschrijving, INS_AO.alg_verdieping_upper, + INS_AO.alg_verdieping_volgnr, + INS_AO.alg_ruimte_key, INS_AO.alg_ruimte_nr, INS_AO.alg_ruimte_upper_nr, + INS_AO.alg_terreinsector_key, INS_AO.alg_terreinsector_omschrijving, INS_AO.alg_terreinsector_upper, + ins_DE.ins_deel_key, ins_DE.ins_deel_omschrijving, ins_DE.ins_deel_upper, ins_DE.ins_deel_aantal, ins_DE.ins_deel_opmerking +/* 21/01/1998 AH De volgende velden zijn overbodig + , ins_DE.ins_deel_fabrikaat, ins_DE.ins_deel_type, ins_DE.ins_deel_serienr,ins_DE.ins_deel_bouwjaar, + ins_DE.ins_deel_capaciteit, ins_DE.ins_deel_prijs, ins_DE.ins_deel_levensduur, + INS_DE.fac0, INS_DE.fac1, INS_DE.fac2, INS_DE.fac3, INS_DE.fac4, + INS_DE.fac5, INS_DE.fac6, INS_DE.fac7, INS_DE.fac8, INS_DE.fac9 + */ + FROM ins_deel ins_DE, ins_tab_discipline ins_D, ins_v_alg_overzicht INS_AO, + ins_srtdeel ins_SD, ins_srtgroep ins_SG + WHERE + INS_DE.ins_deel_verwijder IS NULL AND + INS_DE.ins_deel_module = 'INS' AND + INS_DE.ins_deel_parent_key IS NULL AND + INS_AO.alg_onroerendgoed_keys = ins_DE.ins_alg_ruimte_key AND + INS_AO.alg_onroerendgoed_type = ins_DE.ins_alg_ruimte_type AND + INS_AO.alg_locatie_key = ins_DE.ins_alg_locatie_key AND + ins_SD.ins_srtdeel_key = ins_DE.ins_srtdeel_key AND + ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND + ins_D.ins_discipline_key = ins_DE.ins_discipline_key AND + ins_DE.ins_discipline_key IN (SELECT ins_discipline_key FROM ins_discipline); + /* 05/02/1998 AH Voor performance is de vorige regel toegevoegd. + * Deze regel staat hier omdat ander een lege regel in de view-tekst + * komt te staan. + */ + +CREATE_VIEW(ins_v_onderdeel_gegevens,NORMAAL_PRIVILEGE) +( + ins_discipline_key, ins_discipline_omschrijving, + ins_srtgroep_key, ins_srtgroep_omschrijving, ins_srtgroep_upper, + ins_srtdeel_key, ins_srtdeel_omschrijving, ins_srtdeel_upper, +-- ins_srtonderdeel_key, ins_srtonderdeel_omschrijving, ins_srtonderdeel_upper, + ins_deel_key, ins_deel_omschrijving, ins_deel_upper, + ins_onderdeel_key, ins_onderdeel_omschrijving, ins_onderdeel_upper, ins_onderdeel_aantal, +-- ins_onderdeel_fabrikaat, ins_onderdeel_type, +-- ins_onderdeel_serienr,ins_onderdeel_bouwjaar, ins_onderdeel_capaciteit, +-- ins_onderdeel_prijs, ins_onderdeel_levensduur, ins_onderdeel_opmerking, + alg_locatie_key, alg_gebouw_key, alg_gebouw_upper, alg_verdieping_key, + alg_verdieping_upper, alg_verdieping_omschrijving, alg_verdieping_volgnr, + alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, + alg_terreinsector_key, alg_terreinsector_upper +) +AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_D.ins_srtgroep_key, ins_D.ins_srtgroep_omschrijving, ins_D.ins_srtgroep_upper, + ins_D.ins_srtdeel_key, ins_D.ins_srtdeel_omschrijving, ins_D.ins_srtdeel_upper, +-- ins_SOD.ins_srtonderdeel_key, ins_SOD.ins_srtonderdeel_omschrijving, ins_SOD.ins_srtonderdeel_upper, + ins_D.ins_deel_key, ins_D.ins_deel_omschrijving, ins_D.ins_deel_upper, + ins_OD.ins_deel_key, ins_OD.ins_deel_omschrijving, ins_OD.ins_deel_upper, ins_OD.ins_deel_aantal, +-- ins_OD.ins_onderdeel_fabrikaat, ins_OD.ins_onderdeel_type, +-- ins_OD.ins_onderdeel_serienr, ins_OD.ins_onderdeel_bouwjaar, ins_OD.ins_onderdeel_capaciteit, +-- ins_OD.ins_onderdeel_prijs, ins_OD.ins_onderdeel_levensduur, ins_OD.ins_onderdeel_opmerking, + ins_D.alg_locatie_key, ins_D.alg_gebouw_key, ins_D.alg_gebouw_upper, ins_D.alg_verdieping_key, + ins_D.alg_verdieping_upper, ins_D.alg_verdieping_omschrijving, ins_D.alg_verdieping_volgnr, + ins_D.alg_ruimte_key, ins_D.alg_ruimte_nr, ins_D.alg_ruimte_upper_nr, + ins_D.alg_terreinsector_key, ins_D.alg_terreinsector_upper + FROM -- ins_v_aanwezigsrtonderdeel ins_SOD, + ins_v_aanwezigonderdeel ins_OD, + ins_v_deel_gegevens ins_D + WHERE +-- ins_SOD.ins_srtonderdeel_key = ins_OD.ins_srtonderdeel_key AND + ins_D.ins_deel_key = ins_OD.ins_deel_parent_key +UNION + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_D.ins_srtgroep_key, ins_D.ins_srtgroep_omschrijving, ins_D.ins_srtgroep_upper, + ins_D.ins_srtdeel_key, ins_D.ins_srtdeel_omschrijving, ins_D.ins_srtdeel_upper, +-- ins_SOD.ins_srtonderdeel_key, ins_SOD.ins_srtonderdeel_omschrijving, ins_SOD.ins_srtonderdeel_upper, + ins_D.ins_deel_key, ins_D.ins_deel_omschrijving, ins_D.ins_deel_upper, + ins_OD.ins_deel_key, ins_OD.ins_deel_omschrijving, ins_OD.ins_deel_upper, ins_OD.ins_deel_aantal, +-- ins_OD.ins_onderdeel_fabrikaat, ins_OD.ins_onderdeel_type, +-- ins_OD.ins_onderdeel_serienr, ins_OD.ins_onderdeel_bouwjaar, ins_OD.ins_onderdeel_capaciteit, +-- ins_OD.ins_onderdeel_prijs, ins_OD.ins_onderdeel_levensduur, ins_OD.ins_onderdeel_opmerking, + ins_AO.alg_locatie_key, ins_AO.alg_gebouw_key, ins_AO.alg_gebouw_upper, ins_AO.alg_verdieping_key, + ins_AO.alg_verdieping_upper, INS_AO.alg_verdieping_omschrijving, INS_AO.alg_verdieping_volgnr, + ins_AO.alg_ruimte_key, ins_AO.alg_ruimte_nr, ins_AO.alg_ruimte_upper_nr, + ins_AO.alg_terreinsector_key, ins_AO.alg_terreinsector_upper + FROM -- ins_v_aanwezigsrtonderdeel ins_SOD, + ins_v_aanwezigonderdeel ins_OD, + ins_v_deel_gegevens ins_D, + ins_v_alg_overzicht ins_AO + WHERE + -- ins_SOD.ins_srtonderdeel_key = ins_OD.ins_srtonderdeel_key AND + ins_D.ins_deel_key = ins_OD.ins_deel_parent_key AND + ins_AO.alg_locatie_key = ins_OD.ins_alg_locatie_key AND + ins_AO.alg_ruimte_key = ins_OD.ins_alg_ruimte_key; + + +/* 980903/BIV - # 1993 + View ins_srtelement is overbodig geworden... + +CREATE_VIEW(ins_v_element_gegevens,NORMAAL_PRIVILEGE) AS + SELECT ins_SE.ins_srtelement_key, + ins_OD.ins_onderdeel_key, + ins_OD.ins_onderdeel_omschrijving, + ins_OD.ins_onderdeel_upper, + ins_EL.ins_element_key, + ins_EL.ins_element_omschrijving, + ins_EL.ins_element_upper, + ins_EL.ins_element_aantal, + ins_EL.ins_element_fabrikaat, ins_EL.ins_element_type, + ins_EL.ins_element_serienr,ins_EL.ins_element_bouwjaar, + ins_EL.ins_element_capaciteit, ins_EL.ins_element_prijs, + ins_EL.ins_element_levensduur, ins_EL.ins_element_opmerking, + ins_OD.alg_gebouw_key, ins_OD.alg_verdieping_key, + ins_OD.alg_ruimte_key, ins_OD.alg_terreinsector_key, + ins_OD.alg_gebouw_upper, ins_OD.alg_verdieping_upper, + ins_OD.alg_verdieping_omschrijving, ins_OD.alg_verdieping_volgnr, + ins_OD.alg_ruimte_nr, ins_OD.alg_ruimte_upper_nr, + ins_OD.alg_terreinsector_upper, ins_OD.ins_deel_key, + ins_OD.ins_deel_upper, ins_OD.ins_deel_omschrijving + FROM ins_v_aanwezigsrtelement ins_SE, ins_v_onderdeel_gegevens ins_OD, + ins_v_aanwezigelement ins_EL + WHERE + ins_SE.ins_srtelement_key = ins_EL.ins_srtelement_key AND + ins_OD.ins_onderdeel_key = ins_EL.ins_onderdeel_key; +*/ +/* + View met alle sleutels van de gemeenschappelijke sequence + ins_s_ins_srtinst_keys +*/ +CREATE_VIEW(ins_v_srtinst,BIBLIOTHEEK_PRIVILEGE) (ins_srtinst_keys, + ins_srtdeel_key, + ins_srtonderdeel_key, + ins_srtelement_key, + ins_type) AS + SELECT ins_v_aanwezigsrtdeel.ins_srtdeel_key, + ins_v_aanwezigsrtdeel.ins_srtdeel_key, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + 'D' + FROM ins_v_aanwezigsrtdeel; + +/* 980903/BIV - # 1993 i.o.m. PF is onderstaande code komen te vervallen... + UNION + SELECT ins_v_aanwezigsrtonderdeel.ins_srtonderdeel_key, + ins_v_aanwezigsrtonderdeel.ins_srtdeel_key, + ins_v_aanwezigsrtonderdeel.ins_srtonderdeel_key, + TO_NUMBER(NULL), + 'O' + FROM ins_v_aanwezigsrtonderdeel + UNION + SELECT ins_v_aanwezigsrtelement.ins_srtelement_key, + ins_v_aanwezigsrtonderdeel.ins_srtdeel_key, + ins_v_aanwezigsrtelement.ins_srtonderdeel_key, + ins_v_aanwezigsrtelement.ins_srtelement_key, + 'E' + FROM ins_v_aanwezigsrtelement, ins_v_aanwezigsrtonderdeel + WHERE ins_v_aanwezigsrtelement.ins_srtonderdeel_key = + ins_v_aanwezigsrtonderdeel.ins_srtonderdeel_key; +*/ + + +CREATE_VIEW(ins_v_allsrtinst,BIBLIOTHEEK_PRIVILEGE) (ins_srtinst_keys, + ins_srtdeel_key, + ins_srtonderdeel_key, + ins_srtelement_key, + ins_type) AS + SELECT ins_srtdeel.ins_srtdeel_key, + ins_srtdeel.ins_srtdeel_key, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + 'D' + FROM ins_srtdeel; + +/* 980903/BIV - # 1993 i.o.m. PF is onderstaande code komen te vervallen... + + UNION + SELECT ins_srtonderdeel.ins_srtonderdeel_key, + ins_srtonderdeel.ins_srtdeel_key, + ins_srtonderdeel.ins_srtonderdeel_key, + TO_NUMBER(NULL), + 'O' + FROM ins_srtonderdeel + UNION + SELECT ins_srtelement.ins_srtelement_key, + ins_srtonderdeel.ins_srtdeel_key, + ins_srtelement.ins_srtonderdeel_key, + ins_srtelement.ins_srtelement_key, + 'E' + FROM ins_srtelement, ins_srtonderdeel + WHERE ins_srtelement.ins_srtonderdeel_key = + ins_srtonderdeel.ins_srtonderdeel_key; + +*/ +/* + * View met alle sleutels van de gemeenschappelijke sequence + * ins_s_ins_inst_keys + */ + +CREATE_VIEW(ins_v_inst,NORMAAL_PRIVILEGE) (ins_inst_keys, + ins_deel_key, + ins_onderdeel_key, + ins_element_key, + ins_type) AS + SELECT ins_v_aanwezigdeel.ins_deel_key, + ins_v_aanwezigdeel.ins_deel_key, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + 'D' + FROM ins_v_aanwezigdeel; + +/* 980903/BIV - # 1993 i.o.m. PF is onderstaande code komen te vervallen... + UNION + SELECT ins_v_aanwezigonderdeel.ins_onderdeel_key, + ins_v_aanwezigonderdeel.ins_deel_key, + ins_v_aanwezigonderdeel.ins_onderdeel_key, + TO_NUMBER(NULL), + 'O' + FROM ins_v_aanwezigonderdeel + UNION + SELECT ins_v_aanwezigelement.ins_element_key, + ins_v_aanwezigonderdeel.ins_onderdeel_key, + ins_v_aanwezigelement.ins_onderdeel_key, + ins_v_aanwezigelement.ins_element_key, + 'E' + FROM ins_v_aanwezigelement, ins_v_aanwezigonderdeel + WHERE ins_v_aanwezigelement.ins_onderdeel_key = + ins_v_aanwezigonderdeel.ins_onderdeel_key; +*/ + +/* 17-01-96 */ +CREATE_VIEW(ins_v_srtinst_discipline,BIBLIOTHEEK_PRIVILEGE) AS + SELECT INS_SI.ins_srtinst_keys, + INS_SG.ins_srtgroep_key, INS_SG.ins_srtgroep_omschrijving, + INS_SG.ins_srtgroep_upper, INS_D.ins_discipline_key, + INS_D.ins_discipline_omschrijving + FROM ins_v_srtinst INS_SI, ins_v_aanwezigsrtdeel INS_SD, + ins_v_aanwezigsrtgroep INS_SG, ins_v_aanwezigdiscipline INS_D + WHERE INS_SI.ins_srtdeel_key = INS_SD.ins_srtdeel_key + AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key + AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key; + +#if 0 // INS_ATTRIBUTE is vervangen door INS_KENMERK +/* Een interne view die de keys selecteert waar in attribute_gegevens de info + aan gekoppeld wordt */ + +CREATE_VIEW(ins_v_attr_hulp, BIBLIOTHEEK_PRIVILEGE) + (ins_discipline_key, + ins_srtgroep_key, + ins_srtdeel_key, + ins_attribute_main_key) AS + SELECT INS_A.ins_srtinst_keys, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A + WHERE INS_A.ins_srtinst_type = 'D' +UNION + SELECT TO_NUMBER(NULL), + INS_A.ins_srtinst_keys, + TO_NUMBER(NULL), + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A + WHERE INS_A.ins_srtinst_type = 'G' +UNION + SELECT TO_NUMBER(NULL), + INS_SG.ins_srtgroep_key, + TO_NUMBER(NULL), + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A, + ins_srtgroep INS_SG + WHERE INS_A.ins_srtinst_type = 'D' AND + INS_A.ins_srtinst_keys = INS_SG.ins_discipline_key +UNION + SELECT TO_NUMBER(NULL), + TO_NUMBER(NULL), + INS_A.ins_srtinst_keys, + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A + WHERE INS_A.ins_srtinst_type = 'S' +UNION + SELECT TO_NUMBER(NULL), + TO_NUMBER(NULL), + INS_SD.ins_srtdeel_key, + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A, + ins_srtdeel INS_SD + WHERE INS_A.ins_srtinst_type = 'G' AND + INS_A.ins_srtinst_keys = INS_SD.ins_srtgroep_key +UNION + SELECT TO_NUMBER(NULL), + TO_NUMBER(NULL), + INS_SDG.ins_srtdeel_key, + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A, + all_v_srtdeel_gegevens INS_SDG + WHERE INS_A.ins_srtinst_type = 'D' AND + INS_A.ins_srtinst_keys = INS_SDG.ins_discipline_key; + +CREATE_VIEW(ins_v_attribute_gegevens, BIBLIOTHEEK_PRIVILEGE) + (ins_discipline_key, + ins_srtgroep_key, + ins_srtdeel_key, + ins_srtinst_type, + ins_attribute_volgorde, + ins_attribute_key, + ins_attribute_main_key, + ins_attribute_label, + ins_attribute_type, + ins_attribute_length, + ins_attribute_required, + ins_attribute_min, + ins_attribute_max, + ins_attribute_dec, + ins_attribute_table, + ins_attribute_column, + ins_attribute_column_txt, + ins_attribute_unit, + ins_attribute_toonbaar) AS + SELECT INS_H.ins_discipline_key, + INS_H.ins_srtgroep_key, + INS_H.ins_srtdeel_key, + INS_A.ins_srtinst_type, + INS_A.ins_attribute_volgorde, + INS_A.ins_attribute_key, + INS_A.ins_attribute_main_key, + INS_A.ins_attribute_label, + INS_A.ins_attribute_type, + INS_A.ins_attribute_length, + INS_A.ins_attribute_required, + INS_A.ins_attribute_min, + INS_A.ins_attribute_max, + INS_A.ins_attribute_dec, + INS_A.ins_attribute_table, + INS_A.ins_attribute_column, + INS_A.ins_attribute_column_txt, + INS_A.ins_attribute_unit, + INS_A.ins_attribute_toonbaar + FROM ins_attribute INS_A, + ins_v_attr_hulp INS_H + WHERE INS_A.ins_attribute_main_key = ins_H.ins_attribute_main_key; + +/* Geeft een overzicht van de beschikbare attribute_keys op de verschillende + srt_inst niveaus */ + +CREATE_VIEW(ins_v_attr_key_gegevens, BIBLIOTHEEK_PRIVILEGE) + (ins_discipline_key, + ins_srtgroep_key, + ins_srtdeel_key, + ins_attribute_key) AS + SELECT INS_A.ins_srtinst_keys, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + INS_A.ins_attribute_key + FROM ins_attribute INS_A + WHERE INS_A.ins_srtinst_type = 'D' +UNION + SELECT INS_G.ins_discipline_key, + INS_A.ins_srtinst_keys, + TO_NUMBER(NULL), + INS_A.ins_attribute_key + FROM ins_attribute INS_A, + all_v_aanwezigsrtgroep INS_G + WHERE INS_A.ins_srtinst_type = 'G' AND + INS_A.ins_srtinst_keys = INS_G.ins_srtgroep_key +UNION + SELECT INS_SD.ins_discipline_key, + INS_SD.ins_srtgroep_key, + INS_A.ins_srtinst_keys, + INS_A.ins_attribute_key + FROM ins_attribute INS_A, + all_v_srtdeel_gegevens INS_SD + WHERE INS_A.ins_srtinst_type = 'S' AND + INS_A.ins_srtinst_keys = INS_SD.ins_srtdeel_key; +#endif // 0 + +// INS_V_ALG_ONROERENDGOED: overzicht van de onroerendgoed hierarchie voor +// 'INS' en 'INV'. INS_V_MODULE heeft de waardes 'INS', 'INV' en 'ALL' +// 'ALL' is voor de onroerendgoed-zaken die in beide modules gebruikt kunnen +// worden. +CREATE_VIEW(ins_v_alg_onroerendgoed, NORMAAL_PRIVILEGE) + (ins_v_module, + alg_onrgoed_keys, + alg_onrgoed_type, + alg_locatie_key, + alg_geb_ter_key, + alg_geb_ter_omschrijving, + alg_geb_ter_upper, + alg_verdieping_key, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_upper_nr) +AS +SELECT 'ALL', + alg_gebouw_key, + 'G', + alg_locatie_key, + alg_gebouw_key, + alg_gebouw_omschrijving, + alg_gebouw_upper, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL +FROM alg_v_aanweziggebouw +UNION +SELECT 'ALL', + ALG_R.alg_ruimte_key, + 'R', + ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_upper_nr +FROM alg_v_aanwezigruimte ALG_R, alg_verdieping ALG_V, + alg_gebouw ALG_G +WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key + AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key +UNION +SELECT 'INS', + alg_terreinsector_key, + 'T', + alg_locatie_key, + alg_terreinsector_key, + alg_terreinsector_omschrijving, + alg_terreinsector_upper, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL +FROM alg_v_aanwezigterreinsector; + +// INS_V_ALG_ONRGOED_REGIO: overzicht van de onroerendgoed hierarchie +// uitgeschreven tot en met ALG_REGIO voor +// 'INS' en 'INV'. INS_V_MODULE heeft de waardes 'INS', 'INV' en 'ALL' +// 'ALL' is voor de onroerendgoed-zaken die in beide modules gebruikt kunnen +// worden. +// De districten en regio's wordt bij locatie ui ALG_DISTRICT_KEY_2 gehaald. +CREATE_VIEW(ins_v_alg_onrgoed_regio, NORMAAL_PRIVILEGE) + (ins_v_module, + alg_onrgoed_keys, + alg_onrgoed_type, + alg_regio_key, + alg_regio_omschrijving, + alg_regio_upper, + alg_district_key, + alg_district_omschrijving, + alg_district_upper, + alg_locatie_key, + alg_locatie_omschrijving, + alg_locatie_upper, + alg_geb_ter_key, + alg_geb_ter_omschrijving, + alg_geb_ter_upper, + alg_verdieping_key, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_upper_nr) +AS +SELECT 'ALL', + ALG_G.alg_gebouw_key, + 'G', + ALG_RE.alg_regio_key, + ALG_RE.alg_regio_omschrijving, + ALG_RE.alg_regio_upper, + ALG_D.alg_district_key, + ALG_D.alg_district_omschrijving, + ALG_D.alg_district_upper, + ALG_G.alg_locatie_key, + ALG_L.alg_locatie_code||' '||ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL +FROM alg_v_aanweziggebouw ALG_G, + alg_locatie ALG_L, alg_district ALG_D, alg_regio ALG_RE +WHERE ALG_RE.alg_regio_key = ALG_D.alg_regio_key + AND ALG_D.alg_district_key = ALG_L.alg_district_key_2 + AND ALG_L.alg_locatie_key = ALG_G.alg_locatie_key +UNION +SELECT 'ALL', + ALG_R.alg_ruimte_key, + 'R', + ALG_RE.alg_regio_key, + ALG_RE.alg_regio_omschrijving, + ALG_RE.alg_regio_upper, + ALG_D.alg_district_key, + ALG_D.alg_district_omschrijving, + ALG_D.alg_district_upper, + ALG_G.alg_locatie_key, + ALG_L.alg_locatie_code||' '||ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_upper_nr +FROM alg_v_aanwezigruimte ALG_R, alg_verdieping ALG_V, + alg_gebouw ALG_G, alg_locatie ALG_L, + alg_district ALG_D, alg_regio ALG_RE +WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key + AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key + AND ALG_RE.alg_regio_key = ALG_D.alg_regio_key + AND ALG_D.alg_district_key = ALG_L.alg_district_key_2 + AND ALG_L.alg_locatie_key = ALG_G.alg_locatie_key +UNION +SELECT 'INS', + alg_terreinsector_key, + 'T', + ALG_RE.alg_regio_key, + ALG_RE.alg_regio_omschrijving, + ALG_RE.alg_regio_upper, + ALG_D.alg_district_key, + ALG_D.alg_district_omschrijving, + ALG_D.alg_district_upper, + ALG_T.alg_locatie_key, + ALG_L.alg_locatie_code||' '||ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code, + ALG_T.alg_terreinsector_key, + ALG_T.alg_terreinsector_omschrijving, + ALG_T.alg_terreinsector_upper, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL +FROM alg_v_aanwezigterreinsector ALG_T, + alg_locatie ALG_L, alg_district ALG_D, alg_regio ALG_RE +WHERE ALG_RE.alg_regio_key = ALG_D.alg_regio_key + AND ALG_D.alg_district_key = ALG_L.alg_district_key_2 + AND ALG_L.alg_locatie_key = ALG_T.alg_locatie_key; + +// INS_V_ALG_ONRGOED_MET_DELEN: overzicht van de onroerendgoed hierarchie +// uitgeschreven tot en met ALG_REGIO en alleen record die +// INS_DELEN hebben. De onrgoed-zaken die 'ALL' hebben selecteren ook de +// INS_DELEN uit ALL_V_AANWEZIGDEEL. De onrgoed-zaken die alleen 1 van de 2 +// modules hebben selecteren ook alleen de INS_DELEN uit die module. +// Voor 'INS' en 'INV'. INS_V_MODULE heeft de waardes 'INS', 'INV' en 'ALL' +// 'ALL' is voor de onroerendgoed-zaken die in beide modules gebruikt kunnen +// worden. +// De districten en regio's wordt bij locatie ui ALG_DISTRICT_KEY_2 gehaald. +CREATE_VIEW(ins_v_alg_onrgoed_met_delen, NORMAAL_PRIVILEGE) + (ins_v_module, + alg_onrgoed_keys, + alg_onrgoed_type, + alg_regio_key, + alg_regio_omschrijving, + alg_regio_upper, + alg_district_key, + alg_district_omschrijving, + alg_district_upper, + alg_locatie_key, + alg_locatie_omschrijving, + alg_locatie_upper, + alg_geb_ter_key, + alg_geb_ter_omschrijving, + alg_geb_ter_upper, + alg_verdieping_key, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_upper_nr) +AS +SELECT 'ALL', + ALG_G.alg_gebouw_key, + 'G', + ALG_RE.alg_regio_key, + ALG_RE.alg_regio_omschrijving, + ALG_RE.alg_regio_upper, + ALG_D.alg_district_key, + ALG_D.alg_district_omschrijving, + ALG_D.alg_district_upper, + ALG_G.alg_locatie_key, + ALG_L.alg_locatie_code||' '||ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL +FROM all_v_aanwezigdeel INS_D, alg_v_aanweziggebouw ALG_G, + alg_locatie ALG_L, alg_district ALG_D, alg_regio ALG_RE +WHERE ALG_RE.alg_regio_key = ALG_D.alg_regio_key + AND ALG_D.alg_district_key = ALG_L.alg_district_key_2 + AND ALG_L.alg_locatie_key = ALG_G.alg_locatie_key + AND INS_D.ins_alg_ruimte_type = 'G' + AND INS_D.ins_alg_ruimte_key = ALG_G.alg_gebouw_key +UNION +SELECT 'ALL', + ALG_R.alg_ruimte_key, + 'R', + ALG_RE.alg_regio_key, + ALG_RE.alg_regio_omschrijving, + ALG_RE.alg_regio_upper, + ALG_D.alg_district_key, + ALG_D.alg_district_omschrijving, + ALG_D.alg_district_upper, + ALG_G.alg_locatie_key, + ALG_L.alg_locatie_code||' '||ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_upper_nr +FROM all_v_aanwezigdeel INS_D, alg_v_aanwezigruimte ALG_R, alg_verdieping ALG_V, + alg_gebouw ALG_G, alg_locatie ALG_L, + alg_district ALG_D, alg_regio ALG_RE +WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key + AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key + AND ALG_RE.alg_regio_key = ALG_D.alg_regio_key + AND ALG_D.alg_district_key = ALG_L.alg_district_key_2 + AND ALG_L.alg_locatie_key = ALG_G.alg_locatie_key + AND INS_D.ins_alg_ruimte_type = 'R' + AND INS_D.ins_alg_ruimte_key = ALG_R.alg_ruimte_key +UNION +SELECT 'INS', + alg_terreinsector_key, + 'T', + ALG_RE.alg_regio_key, + ALG_RE.alg_regio_omschrijving, + ALG_RE.alg_regio_upper, + ALG_D.alg_district_key, + ALG_D.alg_district_omschrijving, + ALG_D.alg_district_upper, + ALG_T.alg_locatie_key, + ALG_L.alg_locatie_code||' '||ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code, + ALG_T.alg_terreinsector_key, + ALG_T.alg_terreinsector_omschrijving, + ALG_T.alg_terreinsector_upper, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL +FROM ins_v_aanwezigdeel INS_D, alg_v_aanwezigterreinsector ALG_T, + alg_locatie ALG_L, alg_district ALG_D, alg_regio ALG_RE +WHERE ALG_RE.alg_regio_key = ALG_D.alg_regio_key + AND ALG_D.alg_district_key = ALG_L.alg_district_key_2 + AND ALG_L.alg_locatie_key = ALG_T.alg_locatie_key + AND INS_D.ins_alg_ruimte_type = 'T' + AND INS_D.ins_alg_ruimte_key = ALG_T.alg_terreinsector_key; + +CREATE_VIEW(ins_v_ins_import_deel, BASIS_PRIVILEGE) +AS +SELECT INS_D.ins_deel_key, + INS_D.ins_deel_omschrijving, + INS_D.ins_deel_upper, + INS_D.ins_deel_aantal, + INS_D.ins_alg_ruimte_key, + INS_SD.ins_srtdeel_key, + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper +FROM ins_v_aanwezigdeel INS_D, ins_srtdeel INS_SD +WHERE INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key +UNION +SELECT TO_NUMBER(NULL), + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper, + 0, + -1, + INS_SD.ins_srtdeel_key, + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper +FROM ins_v_aanwezigsrtdeel INS_SD +WHERE INS_SD.ins_srtdeel_upper NOT IN (SELECT INS_D.ins_deel_upper + FROM ins_v_aanwezigdeel INS_D + WHERE INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key); + + +/* Views voor INS_KENMERK-zaken */ +CREATE_VIEW(ins_v_srtkenmerk_gegevens, BIBLIOTHEEK_PRIVILEGE) +AS + SELECT INS_SK.ins_srtkenmerk_key, + INS_SK.ins_srtkenmerk_omschrijving, + INS_SK.ins_srtkenmerk_dimensie, + INS_SK.ins_srtkenmerk_kenmerktype, + INS_SK.ins_srtkenmerk_systeem, + INS_SK.ins_srtkenmerk_lengte, + INS_SK.ins_srtkenmerk_dec, + INS_SK.ins_srtkenmerk_nmin, + INS_SK.ins_srtkenmerk_nmax, + INS_SK.ins_refsrtkenmerk_key, + INS_RSK.ins_refsrtkenmerk_omschrijving + FROM ins_srtkenmerk INS_SK, ins_refsrtkenmerk INS_RSK + WHERE INS_SK.ins_refsrtkenmerk_key = INS_RSK.ins_refsrtkenmerk_key (+); + +CREATE_VIEW(ins_v_srtdeel_kenmerk, BIBLIOTHEEK_PRIVILEGE) + (ins_kenmerk_key, + ins_srtkenmerk_key, + ins_srtinstallatie_key, + ins_kenmerk_niveau, + ins_kenmerk_verplicht, + ins_kenmerk_toonbaar, + ins_kenmerk_volgnummer, + ins_srtkenmerk_omschrijving, + ins_srtkenmerk_dimensie, + ins_srtkenmerk_kenmerktype, + ins_srtkenmerk_lengte, + ins_srtkenmerk_dec, + ins_srtkenmerk_nmin, + ins_srtkenmerk_nmax, + ins_refsrtkenmerk_key, + ins_srtdeel_key, + ins_srtdeel_omschrijving, + ins_srtdeel_upper, + ins_srtgroep_key, + ins_srtgroep_omschrijving, + ins_srtgroep_upper, + ins_discipline_key, + ins_discipline_omschrijving) AS + SELECT INS_K.ins_kenmerk_key, + INS_K.ins_srtkenmerk_key, + INS_K.ins_srtinstallatie_key, + INS_K.ins_kenmerk_niveau, + INS_K.ins_kenmerk_verplicht, + INS_K.ins_kenmerk_toonbaar, + INS_K.ins_kenmerk_volgnummer, + INS_SK.ins_srtkenmerk_omschrijving, + INS_SK.ins_srtkenmerk_dimensie, + INS_SK.ins_srtkenmerk_kenmerktype, + INS_SK.ins_srtkenmerk_lengte, + INS_SK.ins_srtkenmerk_dec, + INS_SK.ins_srtkenmerk_nmin, + INS_SK.ins_srtkenmerk_nmax, + INS_SK.ins_refsrtkenmerk_key, + INS_SD.ins_srtdeel_key, + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper, + INS_SG.ins_srtgroep_key, + INS_SG.ins_srtgroep_omschrijving, + INS_SG.ins_srtgroep_upper, + INS_D.ins_discipline_key, + INS_D.ins_discipline_omschrijving + FROM ins_kenmerk INS_K, ins_srtkenmerk INS_SK, + ins_v_aanwezigsrtdeel INS_SD, ins_srtgroep INS_SG, + ins_discipline INS_D + WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key + AND INS_K.ins_kenmerk_niveau = 'S' + AND INS_SD.ins_srtdeel_key = INS_K.ins_srtinstallatie_key + AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key + AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key + UNION + SELECT INS_K.ins_kenmerk_key, + INS_K.ins_srtkenmerk_key, + INS_K.ins_srtinstallatie_key, + INS_K.ins_kenmerk_niveau, + INS_K.ins_kenmerk_verplicht, + INS_K.ins_kenmerk_toonbaar, + INS_K.ins_kenmerk_volgnummer, + INS_SK.ins_srtkenmerk_omschrijving, + INS_SK.ins_srtkenmerk_dimensie, + INS_SK.ins_srtkenmerk_kenmerktype, + INS_SK.ins_srtkenmerk_lengte, + INS_SK.ins_srtkenmerk_dec, + INS_SK.ins_srtkenmerk_nmin, + INS_SK.ins_srtkenmerk_nmax, + INS_SK.ins_refsrtkenmerk_key, + INS_SD.ins_srtdeel_key, + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper, + INS_SG.ins_srtgroep_key, + INS_SG.ins_srtgroep_omschrijving, + INS_SG.ins_srtgroep_upper, + INS_D.ins_discipline_key, + INS_D.ins_discipline_omschrijving + FROM ins_kenmerk INS_K, ins_srtkenmerk INS_SK, + ins_v_aanwezigsrtdeel INS_SD, ins_v_aanwezigsrtgroep INS_SG, + ins_discipline INS_D + WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key + AND INS_K.ins_kenmerk_niveau = 'G' + AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key + AND INS_SG.ins_srtgroep_key = INS_K.ins_srtinstallatie_key + AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key + UNION + SELECT INS_K.ins_kenmerk_key, + INS_K.ins_srtkenmerk_key, + INS_K.ins_srtinstallatie_key, + INS_K.ins_kenmerk_niveau, + INS_K.ins_kenmerk_verplicht, + INS_K.ins_kenmerk_toonbaar, + INS_K.ins_kenmerk_volgnummer, + INS_SK.ins_srtkenmerk_omschrijving, + INS_SK.ins_srtkenmerk_dimensie, + INS_SK.ins_srtkenmerk_kenmerktype, + INS_SK.ins_srtkenmerk_lengte, + INS_SK.ins_srtkenmerk_dec, + INS_SK.ins_srtkenmerk_nmin, + INS_SK.ins_srtkenmerk_nmax, + INS_SK.ins_refsrtkenmerk_key, + INS_SD.ins_srtdeel_key, + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper, + INS_SG.ins_srtgroep_key, + INS_SG.ins_srtgroep_omschrijving, + INS_SG.ins_srtgroep_upper, + INS_D.ins_discipline_key, + INS_D.ins_discipline_omschrijving + FROM ins_kenmerk INS_K, ins_srtkenmerk INS_SK, + ins_v_aanwezigsrtdeel INS_SD, ins_v_aanwezigsrtgroep INS_SG, + ins_v_aanwezigdiscipline INS_D + WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key + AND INS_K.ins_kenmerk_niveau = 'D' + AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key + AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key + AND (INS_D.ins_discipline_key = INS_K.ins_srtinstallatie_key + OR INS_K.ins_srtinstallatie_key IS NULL); + +CREATE_VIEW(ins_v_kenmerk_gegevens, BIBLIOTHEEK_PRIVILEGE) + (ins_kenmerk_key, + ins_srtkenmerk_key, + ins_kenmerk_niveau, + ins_kenmerk_verplicht, + ins_kenmerk_toonbaar, + ins_kenmerk_volgnummer, + ins_srtkenmerk_omschrijving, + ins_srtkenmerk_dimensie, + ins_srtkenmerk_kenmerktype, + ins_srtkenmerk_lengte, + ins_srtkenmerk_dec, + ins_srtkenmerk_nmin, + ins_srtkenmerk_nmax, + ins_refsrtkenmerk_key, + ins_srtdeel_key, + ins_srtdeel_omschrijving, + ins_srtdeel_upper, + ins_srtgroep_key, + ins_srtgroep_omschrijving, + ins_srtgroep_upper, + ins_discipline_key, + ins_discipline_omschrijving) AS + SELECT INS_K.ins_kenmerk_key, + INS_K.ins_srtkenmerk_key, + INS_K.ins_kenmerk_niveau, + INS_K.ins_kenmerk_verplicht, + INS_K.ins_kenmerk_toonbaar, + INS_K.ins_kenmerk_volgnummer, + INS_SK.ins_srtkenmerk_omschrijving, + INS_SK.ins_srtkenmerk_dimensie, + INS_SK.ins_srtkenmerk_kenmerktype, + INS_SK.ins_srtkenmerk_lengte, + INS_SK.ins_srtkenmerk_dec, + INS_SK.ins_srtkenmerk_nmin, + INS_SK.ins_srtkenmerk_nmax, + INS_SK.ins_refsrtkenmerk_key, + INS_SD.ins_srtdeel_key, + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper, + INS_SG.ins_srtgroep_key, + INS_SG.ins_srtgroep_omschrijving, + INS_SG.ins_srtgroep_upper, + INS_D.ins_discipline_key, + INS_D.ins_discipline_omschrijving + FROM ins_kenmerk INS_K, ins_srtkenmerk INS_SK, + ins_v_aanwezigsrtdeel INS_SD, ins_srtgroep INS_SG, + ins_discipline INS_D + WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key + AND INS_K.ins_kenmerk_niveau = 'S' + AND INS_SD.ins_srtdeel_key = INS_K.ins_srtinstallatie_key + AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key + AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key + UNION + SELECT INS_K.ins_kenmerk_key, + INS_K.ins_srtkenmerk_key, + INS_K.ins_kenmerk_niveau, + INS_K.ins_kenmerk_verplicht, + INS_K.ins_kenmerk_toonbaar, + INS_K.ins_kenmerk_volgnummer, + INS_SK.ins_srtkenmerk_omschrijving, + INS_SK.ins_srtkenmerk_dimensie, + INS_SK.ins_srtkenmerk_kenmerktype, + INS_SK.ins_srtkenmerk_lengte, + INS_SK.ins_srtkenmerk_dec, + INS_SK.ins_srtkenmerk_nmin, + INS_SK.ins_srtkenmerk_nmax, + INS_SK.ins_refsrtkenmerk_key, + TO_NUMBER(NULL), + NULL, + NULL, + INS_SG.ins_srtgroep_key, + INS_SG.ins_srtgroep_omschrijving, + INS_SG.ins_srtgroep_upper, + INS_D.ins_discipline_key, + INS_D.ins_discipline_omschrijving + FROM ins_kenmerk INS_K, ins_srtkenmerk INS_SK, + ins_v_aanwezigsrtgroep INS_SG, + ins_discipline INS_D + WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key + AND INS_K.ins_kenmerk_niveau = 'G' + AND INS_SG.ins_srtgroep_key = INS_K.ins_srtinstallatie_key + AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key + UNION + SELECT INS_K.ins_kenmerk_key, + INS_K.ins_srtkenmerk_key, + INS_K.ins_kenmerk_niveau, + INS_K.ins_kenmerk_verplicht, + INS_K.ins_kenmerk_toonbaar, + INS_K.ins_kenmerk_volgnummer, + INS_SK.ins_srtkenmerk_omschrijving, + INS_SK.ins_srtkenmerk_dimensie, + INS_SK.ins_srtkenmerk_kenmerktype, + INS_SK.ins_srtkenmerk_lengte, + INS_SK.ins_srtkenmerk_dec, + INS_SK.ins_srtkenmerk_nmin, + INS_SK.ins_srtkenmerk_nmax, + INS_SK.ins_refsrtkenmerk_key, + TO_NUMBER(NULL), + NULL, + NULL, + TO_NUMBER(NULL), + NULL, + NULL, + INS_D.ins_discipline_key, + INS_D.ins_discipline_omschrijving + FROM ins_kenmerk INS_K, ins_srtkenmerk INS_SK, + ins_v_aanwezigdiscipline INS_D + WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key + AND INS_K.ins_kenmerk_niveau = 'D' + AND INS_K.ins_srtinstallatie_key = INS_D.ins_discipline_key + UNION + SELECT INS_K.ins_kenmerk_key, + INS_K.ins_srtkenmerk_key, + INS_K.ins_kenmerk_niveau, + INS_K.ins_kenmerk_verplicht, + INS_K.ins_kenmerk_toonbaar, + INS_K.ins_kenmerk_volgnummer, + INS_SK.ins_srtkenmerk_omschrijving, + INS_SK.ins_srtkenmerk_dimensie, + INS_SK.ins_srtkenmerk_kenmerktype, + INS_SK.ins_srtkenmerk_lengte, + INS_SK.ins_srtkenmerk_dec, + INS_SK.ins_srtkenmerk_nmin, + INS_SK.ins_srtkenmerk_nmax, + INS_SK.ins_refsrtkenmerk_key, + TO_NUMBER(NULL), + NULL, + NULL, + TO_NUMBER(NULL), + NULL, + NULL, + TO_NUMBER(NULL), + NULL + FROM ins_kenmerk INS_K, ins_srtkenmerk INS_SK + WHERE INS_K.ins_srtkenmerk_key = INS_SK.ins_srtkenmerk_key + AND INS_K.ins_kenmerk_niveau = 'D' + AND INS_K.ins_srtinstallatie_key IS NULL; + +CREATE_VIEW(ins_v_srtdeel_kenmerkdeel, BIBLIOTHEEK_PRIVILEGE) + (ins_kenmerk_key, + ins_srtkenmerk_key, + ins_kenmerk_niveau, + ins_kenmerk_verplicht, + ins_kenmerk_toonbaar, + ins_kenmerk_volgnummer, + ins_srtkenmerk_omschrijving, + ins_srtkenmerk_dimensie, + ins_srtkenmerk_kenmerktype, + ins_srtkenmerk_lengte, + ins_srtkenmerk_dec, + ins_srtkenmerk_nmin, + ins_srtkenmerk_nmax, + ins_refsrtkenmerk_key, + ins_srtdeel_key, + ins_srtgroep_key, + ins_discipline_key, + ins_kenmerkdeel_key, + ins_deel_key, + ins_kenmerkdeel_waarde) AS + SELECT INS_SDK.ins_kenmerk_key, + INS_SDK.ins_srtkenmerk_key, + INS_SDK.ins_kenmerk_niveau, + INS_SDK.ins_kenmerk_verplicht, + INS_SDK.ins_kenmerk_toonbaar, + INS_SDK.ins_kenmerk_volgnummer, + INS_SDK.ins_srtkenmerk_omschrijving, + INS_SDK.ins_srtkenmerk_dimensie, + INS_SDK.ins_srtkenmerk_kenmerktype, + INS_SDK.ins_srtkenmerk_lengte, + INS_SDK.ins_srtkenmerk_dec, + INS_SDK.ins_srtkenmerk_nmin, + INS_SDK.ins_srtkenmerk_nmax, + INS_SDK.ins_refsrtkenmerk_key, + INS_SDK.ins_srtdeel_key, + INS_SDK.ins_srtgroep_key, + INS_SDK.ins_discipline_key, + INS_KD.ins_kenmerkdeel_key, + INS_D.ins_deel_key, + INS_KD.ins_kenmerkdeel_waarde + FROM ins_v_aanwezigdeel INS_D, + ins_kenmerkdeel INS_KD, + ins_v_srtdeel_kenmerk INS_SDK + WHERE INS_D.ins_deel_key = INS_KD.ins_deel_key + AND INS_D.ins_srtdeel_key = INS_SDK.ins_srtdeel_key + AND INS_SDK.ins_kenmerk_key = INS_KD.ins_kenmerk_key + UNION + SELECT INS_SDK.ins_kenmerk_key, + INS_SDK.ins_srtkenmerk_key, + INS_SDK.ins_kenmerk_niveau, + INS_SDK.ins_kenmerk_verplicht, + INS_SDK.ins_kenmerk_toonbaar, + INS_SDK.ins_kenmerk_volgnummer, + INS_SDK.ins_srtkenmerk_omschrijving, + INS_SDK.ins_srtkenmerk_dimensie, + INS_SDK.ins_srtkenmerk_kenmerktype, + INS_SDK.ins_srtkenmerk_lengte, + INS_SDK.ins_srtkenmerk_dec, + INS_SDK.ins_srtkenmerk_nmin, + INS_SDK.ins_srtkenmerk_nmax, + INS_SDK.ins_refsrtkenmerk_key, + INS_SDK.ins_srtdeel_key, + INS_SDK.ins_srtgroep_key, + INS_SDK.ins_discipline_key, + TO_NUMBER(NULL), + INS_D.ins_deel_key, + NULL + FROM ins_v_aanwezigdeel INS_D, + ins_v_srtdeel_kenmerk INS_SDK + WHERE INS_D.ins_srtdeel_key = INS_SDK.ins_srtdeel_key + AND NOT EXISTS (SELECT INS_KD.ins_deel_key + FROM ins_kenmerkdeel INS_KD + WHERE INS_KD.ins_deel_key = INS_D.ins_deel_key + AND INS_KD.ins_kenmerk_key = INS_SDK.ins_kenmerk_key) + UNION + SELECT INS_SDK.ins_kenmerk_key, + INS_SDK.ins_srtkenmerk_key, + INS_SDK.ins_kenmerk_niveau, + INS_SDK.ins_kenmerk_verplicht, + INS_SDK.ins_kenmerk_toonbaar, + INS_SDK.ins_kenmerk_volgnummer, + INS_SDK.ins_srtkenmerk_omschrijving, + INS_SDK.ins_srtkenmerk_dimensie, + INS_SDK.ins_srtkenmerk_kenmerktype, + INS_SDK.ins_srtkenmerk_lengte, + INS_SDK.ins_srtkenmerk_dec, + INS_SDK.ins_srtkenmerk_nmin, + INS_SDK.ins_srtkenmerk_nmax, + INS_SDK.ins_refsrtkenmerk_key, + INS_SDK.ins_srtdeel_key, + INS_SDK.ins_srtgroep_key, + INS_SDK.ins_discipline_key, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL + FROM ins_v_srtdeel_kenmerk INS_SDK; + +CREATE_VIEW(ins_v_deelkoppeling_gegevens,NORMAAL_PRIVILEGE) +( + ins_deelkoppeling_key, + ins_deelkoppeling_van_key, + ins_deelkoppeling_naar_key, + ins_deel_van_omschrijving, + ins_srtdeel_van_key, + ins_alg_ruimte_van_key, + ins_alg_ruimte_van_type, + ins_deel_van_upper, + ins_deel_naar_omschrijving, + ins_srtdeel_naar_key, + ins_alg_ruimte_naar_key, + ins_alg_ruimte_naar_type, + ins_deel_naar_upper +) +AS + SELECT INS_DK.ins_deelkoppeling_key, + INS_DK.ins_deelkoppeling_van_key, + INS_DK.ins_deelkoppeling_naar_key, + INS_DE1.ins_deel_omschrijving, + INS_DE1.ins_srtdeel_key, + INS_DE1.ins_alg_ruimte_key, + INS_DE1.ins_alg_ruimte_type, + INS_DE1.ins_deel_upper, + INS_DE2.ins_deel_omschrijving, + INS_DE2.ins_srtdeel_key, + INS_DE2.ins_alg_ruimte_key, + INS_DE2.ins_alg_ruimte_type, + INS_DE2.ins_deel_upper + FROM ins_deel INS_DE1, ins_deel INS_DE2, ins_deelkoppeling INS_DK + WHERE INS_DK.ins_deelkoppeling_van_key = INS_DE1.ins_deel_key AND + INS_DK.ins_deelkoppeling_naar_key = INS_DE2.ins_deel_key AND + INS_DE1.ins_deel_parent_key IS NULL AND + INS_DE2.ins_deel_parent_key IS NULL; + +CREATE_VIEW(ins_v_deel_onderdeel,NORMAAL_PRIVILEGE) +( + ins_deel_key, ins_deel_omschrijving, + ins_onderdeel_key, ins_onderdeel_omschrijving, + ins_alg_ruimte_key, ins_alg_ruimte_type, + ins_srtdeel_key) +AS + SELECT D.ins_deel_key, D.ins_deel_omschrijving, + O.ins_deel_key, O.ins_deel_omschrijving, + O.ins_alg_ruimte_key, O.ins_alg_ruimte_type, + O.ins_srtdeel_key + FROM ins_v_aanwezigdeel D, ins_v_aanwezigonderdeel O + WHERE D.ins_deel_key = O.ins_deel_parent_key +UNION + SELECT D.ins_deel_key, D.ins_deel_omschrijving, + D.ins_deel_key, NULL, + D.ins_alg_ruimte_key, D.ins_alg_ruimte_type, + D.ins_srtdeel_key + FROM ins_v_aanwezigdeel D; + +#endif // INS diff --git a/MLD/.gitignore b/MLD/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/MLD/MLD_IND.SRC b/MLD/MLD_IND.SRC new file mode 100644 index 00000000..dfa93beb --- /dev/null +++ b/MLD/MLD_IND.SRC @@ -0,0 +1,70 @@ +#ifdef MLD // 13-03-96 AH +/* + * Revisie: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * 29-07-96 AH MLD_BEDRIJF -> PRS_BEDRIJF: MLD_BESTELOPDR.mld_bedrijf_key + * wordt mld_prs_bedrijf_key + * --- 01.18 --- + * --- 01.17 --- + * 24-06-96 KTH mld_i_mld_bestelregel2 verwijderd (gaf een 'ORA-01408: + * such column list already indexed') + * 13-06-96 EH Indices toegevoegd aan mld_opdr (mld_alg_kostenpost_key) + * en mld_bestelregel (mld_opdr_key). + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 24-01-96 AH BCO_BESTELOPDR en BCO_BESTELREGEL verplaatst naar MLD_... + * 18-01-96 RW Complete remake + */ + +create index mld_i_mld_melding1 on mld_melding(mld_melding_module); +create index mld_i_mld_melding2 on mld_melding(mld_ins_srtinst_keys); +create index mld_i_mld_melding3 on mld_melding(mld_meldbron_key); +create index mld_i_mld_melding4 on mld_melding(mld_oorzaak_key); +create index mld_i_mld_melding5 on mld_melding(mld_alg_onroerendgoed_keys); + +create index mld_i_mld_opdr1 on mld_opdr(mld_opdr_module); +create index mld_i_mld_opdr2 on mld_opdr(mld_melding_key); +create index mld_i_mld_opdr3 on mld_opdr(mld_uitvoerende_keys); +create index mld_i_mld_opdr4 on mld_opdr(mld_typeopdr_key); +create index mld_i_mld_opdr5 on mld_opdr(mld_statusopdr_key); +create index mld_i_mld_opdr6 on mld_opdr(mld_standaardopdr_key); +create index mld_i_mld_opdr7 on mld_opdr(mld_alg_kostenpost_key); + +create index mld_i_mld_typeopdr1 on mld_typeopdr(mld_typeopdr_module); + +create index mld_i_mld_statusopdr1 on mld_statusopdr(mld_statusopdr_module); +create index mld_i_mld_statusopdr2 on mld_statusopdr(mld_statusopdr_omschrijving); + +create index mld_i_mld_bestelopdr1 on mld_bestelopdr(mld_prs_bedrijf_key); +create index mld_i_mld_bestelopdr2 on mld_bestelopdr(mld_alg_locatie_key); + +create index mld_i_mld_bestelregel1 on mld_bestelregel(mld_bestelopdr_key); +/* create index mld_i_mld_bestelregel2 on mld_bestelregel(mld_opdr_key); */ + +#endif // MLD diff --git a/MLD/MLD_INI.SRC b/MLD/MLD_INI.SRC new file mode 100644 index 00000000..e6be575e --- /dev/null +++ b/MLD/MLD_INI.SRC @@ -0,0 +1,159 @@ +#ifdef MLD // 13-03-96 AH +/* + * MLD tables for Facilitor: installation time population + */ + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 20-05-98 KTH Gebruik macro _FAC_MODULE + * --- 01.36 --- + * --- 01.35 --- + * 16/04/1998 AH Meldbron default 'Onbekend' toegevoegd omdat voor AKZ het veld Meldbron + * niet wordt getoond en het veld WEL verplicht is (deze 'Onbekend' wordt + * dan gebruikt). + * 30/03/1998 AH #1541 In Status wordt bij AKZ 'TV-verklaard' ipv. 'Afgemeld' getoond. + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * 19-09-96 AH BCP-statussen voor planning zijn naar MLD_INI verhuisd + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 12-03-96 AH MLD_TYPEOPDR_MODULE 'MRA' opgesplitst in 'MRA' en 'MIL' + * 15-02-96 PF Vooronderzoek gewijzigd in Vooronderzoek/Calamiteit(#340) + * 05-02-96 KTH Spool toegevoegd + * 03-01-96 PF Gebruik sysdate + * 21-12-95 AH In mld_typeopdr zijn de MLD_TYPEDOPDR_OMSCHRIJVING + * verandert in ' ', bij MRA_TYPEOPDR en MLD_TYPEOPDR. + * 20-12-95 PF Twee typefouten verwerkt + * 18-12-95 AH Statusopdr_upper verandert van INGEVOERD, UITGEGEVEN, + * AFGEMELD, VERWERKT naar BCO_INGEVOERD, BCO_UITGEGEVEN + * enz en MLD_UITGEGEVEN enz. + * Ook is fac_entity_name verandert voor deze wijzigingen. + * 15-12-95 AH type's en stati toegevoegd. + * 13-10-95 PF Creation + */ + +/* Installation of modules should fill or update this one */ +_FAC_MODULE('MLD','Meldingen (standaard)') + +INSERT INTO mld_typeopdr (mld_typeopdr_key, mld_typeopdr_omschrijving, + mld_typeopdr_upper, mld_typeopdr_module) + VALUES (1, 'Correctief onderhoud', 'CORRECTIEF', 'BCO'); +INSERT INTO mld_typeopdr (mld_typeopdr_key, mld_typeopdr_omschrijving, + mld_typeopdr_upper, mld_typeopdr_module) + VALUES (2, 'Storing', 'STORING', 'BCO'); +INSERT INTO mld_typeopdr (mld_typeopdr_key, mld_typeopdr_omschrijving, + mld_typeopdr_upper, mld_typeopdr_module) + VALUES (3, 'Onderzoek', 'ONDERZOEK', 'MIL'); +INSERT INTO mld_typeopdr (mld_typeopdr_key, mld_typeopdr_omschrijving, + mld_typeopdr_upper, mld_typeopdr_module) + VALUES (4, 'Sanering', 'SANERING', 'MIL'); +INSERT INTO mld_typeopdr (mld_typeopdr_key, mld_typeopdr_omschrijving, + mld_typeopdr_upper, mld_typeopdr_module) + VALUES (5, ' ', 'MLD_TYPEOPDR', 'MLD'); +INSERT INTO mld_typeopdr (mld_typeopdr_key, mld_typeopdr_omschrijving, + mld_typeopdr_upper, mld_typeopdr_module) + VALUES (6, 'Vooronderzoek/Calamiteit', 'VOORONDERZOEK', 'MIL'); +INSERT INTO mld_typeopdr (mld_typeopdr_key, mld_typeopdr_omschrijving, + mld_typeopdr_upper, mld_typeopdr_module) + VALUES (7, ' ', 'MRA_TYPEOPDR', 'MRA'); + +/* LET OP de PRIMARY_KEY-waarde van de statussen, de waarde moet voor de + * Correctieve en Preventieve planning de goede volgorde van de statussen + * hebben, bv. volgorde van BCO-statussen zijn Ingevoerd, Uitgegeven, Afgemeld + * en Verwerkt, dus ook de key-waardes moeten in oplopende volgorde definieerd + * zijn. De waardes hoeven niet opeenvolgend te zijn. + * + */ +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (1, 'Ingevoerd', 'BCO_INGEVOERD', 'BCO'); +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (2, 'Uitgegeven', 'BCO_UITGEGEVEN', 'BCO'); +#ifdef AKZ +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (3, 'TV-verklaard', 'BCO_AFGEMELD', 'BCO'); +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (4, 'AV-verklaard', 'BCO_VERWERKT', 'BCO'); +#else +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (3, 'Afgemeld', 'BCO_AFGEMELD', 'BCO'); +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (4, 'Verwerkt', 'BCO_VERWERKT', 'BCO'); +#endif // AKZ + +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (5, 'Uitgegeven', 'MLD_UITGEGEVEN', 'MLD'); +#ifdef AKZ +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (6, 'TV-verklaard', 'MLD_AFGEMELD', 'MLD'); +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (7, 'AV-verklaard', 'MLD_VERWERKT', 'MLD'); +#else +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (6, 'Afgemeld', 'MLD_AFGEMELD', 'MLD'); +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (7, 'Verwerkt', 'MLD_VERWERKT', 'MLD'); +#endif // AKZ + +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (8, 'Ingepland', 'BCP_INGEPLAND', 'BCP'); +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (9, 'Uitgegeven', 'BCP_UITGEGEVEN', 'BCP'); +#ifdef AKZ +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (10, 'TV-verklaard', 'BCP_AFGEMELD', 'BCP'); +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (11, 'AV-verklaard', 'BCP_VERWERKT', 'BCP'); +#else +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (10, 'Afgemeld', 'BCP_AFGEMELD', 'BCP'); +INSERT INTO mld_statusopdr (mld_statusopdr_key, mld_statusopdr_omschrijving, + mld_statusopdr_upper, mld_statusopdr_module) + VALUES (11, 'Verwerkt', 'BCP_VERWERKT', 'BCP'); +#endif // AKZ + +/* Default hebben we een meldbron Onbekend omdat voor AKZ het veld Meldbron + * niet zichtbaar is en toch NOT NULL is + */ +INSERT INTO mld_meldbron (mld_meldbron_omschrijving) VALUES('Onbekend'); + +#endif // MLD diff --git a/MLD/MLD_PAC.SRC b/MLD/MLD_PAC.SRC new file mode 100644 index 00000000..44544a5f --- /dev/null +++ b/MLD/MLD_PAC.SRC @@ -0,0 +1,316 @@ +#ifdef MLD + +/* + * Revision: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * 03-05-1998 KTH LOG#1670: in MLD_P_UPDATE_MELDING_STATUS stond aantal keer geen + * 'WHERE MLD_O.mld_melding_key = MeldingKey' + * 02-05-1998 KTH - LOG#1625: geen status Geexporteerd meer voor Meldingen + * - aantal keer '--' vervangen door C-commentaar + * --- 01.35 --- + * 14/04/1998 AH Nieuwe functie MLD_P_BepaalBedrijfOpdrVolgnr() toegevoegd + * 31/03/1998 AH #1540, nieuwe functie MLD_P_UPDATE_MELDING_STATUS toegevoegd. + * --- 01.34 --- + * 27/02/1998 AH Creation. + */ + +#define INIT_BEGINWERKTIJD '08:00' +#define INIT_EINDWERKTIJD '17:00' + +CREATE OR REPLACE PACKAGE mld_p_mld_datumtijd AS + + PROCEDURE SetWerkTijden( BeginTijd IN DATE, EindTijd IN DATE ); + + FUNCTION DatumTijdPlusUitvoerTijd + ( BeginDatum IN DATE, + UitvoerTijd IN NUMBER, + UitvoerTijdType IN VARCHAR) RETURN DATE; + + /* gebruik 'PRAGMA RESTRICT_REFERENCES...' ivm vermijden + * 'ORA-06571: Function DatumTijdPlusUitvoerTijd does not guarantee + * not to update database' tgv functieaanroep in SLEECT statement van + * mld_v_mld_openmelding + * 'WNDS' writes no database state, zegt dat de functions niet de databse zal updaten. + * 'WNPS' writes no package state, zegt dat de functions niet de package zal updaten. + * 'RNDS' reads no database state, zegt dat de functions niet de databse zal lezen. + * 'RNPS' reads no package state, zegt dat de functions niet de package zal lezen. + */ + PRAGMA RESTRICT_REFERENCES (SetWerkTijden,WNDS, RNDS); + PRAGMA RESTRICT_REFERENCES (DatumTijdPlusUitvoerTijd, WNDS, WNPS); +END mld_p_mld_datumtijd; +/ + +CREATE OR REPLACE PACKAGE BODY mld_p_mld_datumtijd AS + + BeginWerkTijd DATE; + BeginWerkUur NUMBER(4,2); + EindWerkTijd DATE; + EindWerkUur NUMBER(4,2); + AantalWerkUren NUMBER(4,2); + + PROCEDURE InitWerkTijden IS + BEGIN + IF BeginWerkTijd IS NULL + THEN + BeginWerkTijd := TO_DATE(INIT_BEGINWERKTIJD, 'HH24:MI'); + END IF; + BeginWerkUur := TO_NUMBER(TO_CHAR(BeginWerkTijd, 'HH24.MI')); + IF EindWerkTijd IS NULL + THEN + EindWerkTijd := TO_DATE(INIT_EINDWERKTIJD, 'HH24:MI'); + END IF; + EindWerkUur := TO_NUMBER(TO_CHAR(EindWerkTijd, 'HH24.MI')); + AantalWerkUren := EindWerkUur - BeginWerkUur; + END; + + PROCEDURE SetWerkTijden( BeginTijd IN DATE, EindTijd IN DATE ) IS + BEGIN + BeginWerkTijd := NVL(BeginTijd,TO_DATE(INIT_BEGINWERKTIJD, 'HH24:MI')); + EindWerkTijd := NVL(EindTijd,TO_DATE(INIT_EINDWERKTIJD, 'HH24:MI')); + InitWerkTijden; + END; + +/* Bepaal een nieuwe datum van de begindatum waarbij de uitvoertijd is + * opgeteld. De uitvoertijd (UitvoerTijdType) kan in 'UREN' of in 'DAGEN' zijn. + * Er wordt rekening gehouden met Werkuren, BeginWerkTijd en EindWerkTijd en + * Weekenddagen (Zondag = 1, Zaterdag = 7) en Vrije dagen (MLD_VRIJE_DAGEN). + */ + + FUNCTION DatumTijdPlusUitvoerTijd + ( BeginDatum IN DATE, + UitvoerTijd IN NUMBER, + UitvoerTijdType IN VARCHAR) RETURN DATE IS + OldDatumGereed DATE; + NewDatumGereed DATE; + DagVdWeek NUMBER(3,0); + VrijeDagen NUMBER(3,0); + AantalWerkweken NUMBER(3,0); + AantaLDagenOver NUMBER(3,0); + BeginUur NUMBER(4,2); + EindUur NUMBER(4,2); + AantalDagen NUMBER; + NewUitvoerTijd NUMBER(4,2); + ReturnVal DATE; + BEGIN + IF UitvoerTijd IS NOT NULL + AND BeginDatum IS NOT NULL + AND UitvoerTijdType = 'DAGEN' + THEN + // log('>> Update DatumGereed <'||TO_CHAR(BeginDatum)||'>, UitvoerTijd <'||TO_CHAR(UitvoerTijd)||'>, Type <'||UitvoerTijdType||'>'); + OldDatumGereed := BeginDatum; + NewDatumGereed := OldDatumGereed; + AantalWerkweken := TRUNC(UitvoerTijd / 5); + AantalDagenOver := UitvoerTijd MOD 5; + // log('AantalWerkweken <'||TO_CHAR(AantalWerkweken)||'>, AantalDagenOver <'||TO_CHAR(AantalDagenOver)||'>'); + NewDatumGereed := NewDatumGereed + (AantalWerkweken * 7); + SELECT TO_NUMBER(TO_CHAR(NewDatumGereed, 'D')) + INTO DagVdWeek + FROM DUAL; + NewDatumGereed := NewDatumGereed + AantalDagenOver; + IF DagVdWeek + AantalDagenOver > 8 + THEN + NewDatumGereed := NewDatumGereed + 2; + END IF; + // log('Nieuwe DatumGereed voor LOOP <'||TO_CHAR(NewDatumGereed, 'DD-MM-YYYY')||'>'); + + // Bekijk hier of er tussenliggende weekenddagen en/of vrije dagen zijn. + LOOP + SELECT TO_NUMBER(TO_CHAR(NewDatumGereed, 'D')) + INTO DagVdWeek + FROM DUAL; + IF DagVdWeek = 1 OR DagVdWeek = 7 + THEN + NewDatumGereed := NewDatumGereed + 2; + // log('Nieuwe DatumGereed in Weekend <'||TO_CHAR(NewDatumGereed, 'DD-MM-YYYY')||'>'); + END IF; + // Selecteer het aantal vrije dagen + SELECT COUNT(*) + INTO VrijeDagen + FROM mld_vrije_dagen + WHERE mld_vrije_dagen_datum > OldDatumGereed + AND mld_vrije_dagen_datum <= NewDatumGereed; + IF VrijeDagen > 0 + THEN + // log('Aantal vrije dagen tussen <'||TO_CHAR(OldDatumGereed)||'> en <'||TO_CHAR(NewDatumGereed)||'>: <'||TO_CHAR(VrijeDagen)||'>'); + OldDatumGereed := NewDatumGereed; + NewDatumGereed := NewDatumGereed + VrijeDagen; + // log('Nieuwe DatumGereed in VrijeDagen <'||TO_CHAR(NewDatumGereed, 'DD-MM-YYYY')||'>'); + END IF; + IF DagVdWeek > 1 AND DagVdWeek < 7 + AND VrijeDagen = 0 + THEN + EXIT; + END IF; + END LOOP; + // log('Nieuwe DatumGereed na LOOP <'||TO_CHAR(NewDatumGereed, 'DD-MM-YYYY')||'>'); + + ReturnVal := NewDatumGereed; + ELSIF UitvoerTijd IS NOT NULL + AND BeginDatum IS NOT NULL + AND UitvoerTijdType = 'UREN' + THEN +// InitWerkTijden; + + // log('>> Update DatumGereed <'||TO_CHAR(BeginDatum, 'DD-MM-YYYY HH24:MI')||'>, UitvoerTijd <'||TO_CHAR(UitvoerTijd)||'>, Type <'||UitvoerTijdType||'>'); + BeginUur := TO_NUMBER(TO_CHAR(BeginDatum, 'HH24.MI')); + EindUur := BeginUur + UitvoerTijd; + AantalDagen := 0; + // log('BeginWerkUur <'||TO_CHAR(BeginWerkUur)||'>, EindWerkUur <'||TO_CHAR(EindWerkUur)||'>'); + // log('BeginUur <'||TO_CHAR(BeginUur)||'>, EindUur <'||TO_CHAR(EindUur)||'>'); + IF EindUur > EindWerkUur + THEN + NewUitvoerTijd := UitvoerTijd - (EindWerkUur - BeginUur); + AantalDagen := 1; + EindUur := BeginWerkUur + (NewUitvoerTijd MOD AantalWerkUren); + AantalDagen := AantalDagen + TRUNC(NewUitvoerTijd / AantalWerkUren); + // log('Nieuwe uitvoertijd <'||TO_CHAR(NewUitvoerTijd)||'>, Nieuwe EindUur <'||TO_CHAR(EindUur)||'>, Aantaldagen <'||TO_CHAR(AantalDagen)||'>'); + // log('Al besteed aan uren in deze dag <'||TO_CHAR(EindWerkUur - BeginUur)||'>, Aantal uren voor volgende dag <'||TO_CHAR(NewUitvoerTijd MOD AantalWerkUren)||'>'); + END IF; + IF AantalDagen > 0 + THEN + OldDatumGereed := TO_DATE(TO_CHAR(TRUNC(BeginDatum), 'DD-MM-YYYY')||' '||TO_CHAR(EindUur, '09.99'), 'DD-MM-YYYY HH24.MI'); + ReturnVal := DatumTijdPlusUitvoerTijd(OldDatumGereed, AantalDagen, 'DAGEN'); + // log('Nieuwe DatumGereed na Aantaldagen <'||TO_CHAR(ReturnVal, 'DD-MM-YYYY HH24:MI')||'>'); + ELSE + ReturnVal := TO_DATE(TO_CHAR(TRUNC(BeginDatum), 'DD-MM-YYYY')||' '||TO_CHAR(EindUur, '09.99'), 'DD-MM-YYYY HH24.MI'); + // log('Nieuwe DatumGereed zonder Aantaldagen <'||TO_CHAR(ReturnVal, 'DD-MM-YYYY HH24:MI')||'>'); + END IF; + ELSE + ReturnVal := NULL; + END IF; + RETURN ReturnVal; + END; + +END mld_p_mld_datumtijd; +/ + +/* Wijzig de status van de melding: + * 'GEACCEPTEERD': - Als er geen opdrachten bij de melding horen. + * - Als er een opdracht is die de status 'Ingevoerd' of 'Uitgegeven' heeft. + * 'AFGEMELD': - Als er opdrachten zijn die minimaal de status 'Afgemeld' hebben. + * 'VERWERKT': - Als er alleen opdrachten zijn die de status 'Verwerkt' hebben. + * + * Revisie: + * 980502/KTH LOG#1625: geen status Geexporteerd meer voor Meldingen; overal waar deze + * voorkwam in de procedure is die verwijderd + */ +CREATE OR REPLACE FUNCTION mld_p_update_melding_status( MeldingKey IN NUMBER ) RETURN BOOLEAN IS + Opdrachten NUMBER; + ReturnVal BOOLEAN; +BEGIN + SELECT COUNT(*) + INTO Opdrachten + FROM mld_opdr + WHERE mld_melding_key = MeldingKey; + /* Geen bijbehorende opdrachten */ + IF NVL(Opdrachten, 0) = 0 + THEN + UPDATE mld_melding + SET mld_melding_geaccepteerd = SYSDATE, + mld_melding_afgemeld = NULL, + mld_melding_verwerkt = NULL + WHERE mld_melding_key = MeldingKey; + ReturnVal := TRUE; + ELSE + SELECT COUNT(*) + INTO Opdrachten + FROM mld_opdr MLD_O, mld_statusopdr MLD_SO + WHERE MLD_O.mld_melding_key = MeldingKey /* 980503/KTH LOG#1670 */ + AND MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key + AND (MLD_SO.mld_statusopdr_upper LIKE '%INGEVOERD%' + OR MLD_SO.mld_statusopdr_upper LIKE '%UITGEGEVEN%'); + /* Bijbehorende opdrachten met status 'Ingevoerd' of 'Uitgegeven' */ + IF NVL(Opdrachten , 0) > 0 + THEN + UPDATE mld_melding + SET mld_melding_geaccepteerd = SYSDATE, + mld_melding_afgemeld = NULL, + mld_melding_verwerkt = NULL + WHERE mld_melding_key = MeldingKey; + ReturnVal := TRUE; + ELSE + SELECT COUNT(*) + INTO Opdrachten + FROM mld_opdr MLD_O, mld_statusopdr MLD_SO + WHERE MLD_O.mld_melding_key = MeldingKey /* 980503/KTH LOG#1670 */ + AND MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key + AND MLD_SO.mld_statusopdr_upper LIKE '%AFGEMELD%'; + /* Bijbehorende opdrachten met status 'Afgemeld' */ + IF NVL(Opdrachten , 0) > 0 + THEN + UPDATE mld_melding + SET mld_melding_afgemeld = SYSDATE, + mld_melding_verwerkt = NULL + WHERE mld_melding_key = MeldingKey; + ReturnVal := TRUE; + ELSE + SELECT COUNT(*) + INTO Opdrachten + FROM mld_opdr MLD_O, mld_statusopdr MLD_SO + WHERE MLD_O.mld_melding_key = MeldingKey /* 980503/KTH LOG#1670 */ + AND MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key + AND MLD_SO.mld_statusopdr_upper LIKE '%VERWERKT%'; + /* Bijbehorende opdrachten met status 'Verwerkt' */ + IF NVL(Opdrachten , 0) > 0 + THEN + UPDATE mld_melding + SET mld_melding_verwerkt = SYSDATE + WHERE mld_melding_key = MeldingKey; + ReturnVal := TRUE; + ELSE + ReturnVal := FALSE; + END IF; + END IF; + END IF; + END IF; + RETURN ReturnVal; +EXCEPTION + WHEN OTHERS + THEN RETURN FALSE; +END; +/ + +/* MLD_P_BepaalBedrijfOpdrVolgnr: Bepaal het volgnummer van de nieuwe opdracht voor het aangegeven bedrijf. + * Dit is het aantal opdrachten die het bedrijf dat jaar heeft gehad + 1. + */ +CREATE OR REPLACE FUNCTION MLD_P_BepaalBedrijfOpdrVolgnr(BedrijfKey IN NUMBER) RETURN NUMBER IS + ReturnVal NUMBER; + HuidigeJaar VARCHAR2(4); + UitvoerendeType VARCHAR2(1); +BEGIN + BEGIN + SELECT Type + INTO UItvoerendeType + FROM mld_v_uitvoerende + WHERE key = BedrijfKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN UitvoerendeType := NULL; + END; + IF UitvoerendeType = 'B' + THEN + HuidigeJaar := LTRIM(TO_CHAR(SYSDATE, 'YYYY')); + BEGIN + SELECT COUNT(mld_opdr_key) + 1 + INTO ReturnVal + FROM mld_opdr + WHERE mld_opdr_datumbegin >= TO_DATE('01-01-'||HuidigeJaar, 'DD-MM-YYYY') + AND mld_opdr_datumbegin <= TO_DATE('31-12-'||HuidigeJaar, 'DD-MM-YYYY'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN ReturnVal := 1; + END; + ELSE + ReturnVal := NULL; + END IF; + RETURN ReturnVal; +END; +/ + + +#endif // MLD diff --git a/MLD/MLD_SEQ.SRC b/MLD/MLD_SEQ.SRC new file mode 100644 index 00000000..3a325c59 --- /dev/null +++ b/MLD/MLD_SEQ.SRC @@ -0,0 +1,62 @@ +#ifdef MLD // 13-03-96 AH + +/* Maakt de sequences voor MLD + * + * Revisie: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * 09/04/1998 AH Melding en Opdracht-sequence met NOCACHE-optie. + * --- 01.34 --- + * 25/02/1998 AH Nieuwe tabel MLD_STDMELDING toegevoegd. + * 23/02/1998 AH Nieuwe sequence MLD_S_MLD_VRIJE_DAGEN toegevoegd. + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * 22-11-96 AH LOG#1073: MLD_S_MLD_ADRES_KEY toegevoegd + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * 29-07-96 AH MLD_BEDRIJF -> PRS_BEDRIJF. + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 22-05-96 AH MLD_BEDRIJF gekopieerd naar PRS... en MLD_KOSTENPOST + * naar ALG_KOSTENPOST verplaatst. + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 08-03-96 KTH MINVALUE van mld_s_mld_opdr_key veranderd van 500 naar 1 + * 08-03-96 AH Sequence voor mld_kostenpost aangemaakt. + * 26-02-96 AH Sequence van mld_opdr moet uit de pas met mld_melding. + * 24-01-96 AH BCO_BESTELOPDR en BCO_BESTELREGEL verplaatst naar MLD_... + */ + +CREATE SEQUENCE mld_s_mld_oorzaak_key MINVALUE 1; +CREATE SEQUENCE mld_s_mld_meldbron_key MINVALUE 1; +CREATE SEQUENCE mld_s_mld_standaardopdr_key MINVALUE 1; +CREATE SEQUENCE mld_s_mld_melding_key MINVALUE 1 NOCACHE; +CREATE SEQUENCE mld_s_mld_opdr_key MINVALUE 1 NOCACHE; +CREATE SEQUENCE mld_s_mld_bestelopdr_key MINVALUE 1; +CREATE SEQUENCE mld_s_mld_bestelregel_key MINVALUE 1; +CREATE SEQUENCE mld_s_mld_adres_key MINVALUE 1; + +CREATE SEQUENCE mld_s_mld_vrije_dagen_key MINVALUE 1; +CREATE SEQUENCE mld_s_mld_stdmelding_key MINVALUE 1; + +#endif // MLD diff --git a/MLD/MLD_TAB.SRC b/MLD/MLD_TAB.SRC new file mode 100644 index 00000000..c868e750 --- /dev/null +++ b/MLD/MLD_TAB.SRC @@ -0,0 +1,519 @@ +#ifdef MLD // 13-03-96 AH + +/* CREA_TAB.SRC + + Maakt de volgende tabellen aan: + mld_oorzaak + mld_meldbron + mld_standaardopdr + mld_bedrijf GEKOPIEERD naar PRS_BEDRIJF, MLD_BEDRIJF vervalt + mld_kostenpost VERPLAATST naar ALG_KOSTENPOST + mld_typeopdr + mld_statusopdr + mld_melding + mld_opdr + mld_bestelopdr + mld_bestelregel +*/ + +/* REVISION HISTORY + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * 02-05-1998 KTH LOG#1625: MLD_MELDING.MLD_MELDING_GEEXPORTEERD vervalt + * 28/04/1998 BIV MLD_OPDR_UURLOON toegevoegd in MLD_OPDR. + * --- 01.35 --- + * 14/04/1998 AH MLD_STDMELDING_UITVOERTIJD toegevoegd in MLD_STDMELDING. + * MLD_OPDR_BEDRIJFOPDR_VOLGNR toegevoegd in MLD_OPDR + * 09/04/1998 AH AKZ-veld in MLD_MELDING toegevoegd + * --- 01.34 --- + * 03/03/1998 AH In MLD_MELDING extra velden AFGEMELD, VERWERKT en GEPRINT toegevoegd. + * In MLD_OPDR extra velden CONTACTPERSOON en GEPRINT toegevoegd. + * 25/02/1998 AH Nieuwe tabel MLD_STDMELDING toegevoegd. + * 24/02/1998 AH Nieuwe velden in MLD_MELDING toegevoegd. + * 23/02/1998 AH Tabel MLD_VRIJE_DAGEN toegevoegd. + * 12/11/1997 AH #1473, Constraintnamen toegevoegd. Tevens uitgecommentarieerde MLD_BEDRIJF + * weggehaald. + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * 24-07-97 AH #1422, MLD_MELDING krijgt redundant veld MLD_ALG_LOCATIE_KEY + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * 12-12-96 AH LOG#1104: Voor PMK moet mld_opdr_omschrijving 1024 chars bevatten + * --- 01.24 --- + * 04-12-96 AH MLD_ADRES: Controle op ingevulde adres-soorten + * 02-12-96 AH BCO#042: MLD_BESTELREGEL_OMSCHRIJVING toegevoegd en + * CHECK() toegevoegd + * 22-11-96 AH LOG#1073: MLD_ADRES-table toegevoegd en MLD_BESTELOPDR-adressen + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * 16-08-96 AH MLD_BESTELOPDR: Fondsnr toegevoegd. + * 15-08-96 AH MLD_BESTELREGEL aangepast: MLD_OPDR_key nu BCP_MLD_OPDR_KEY + * in de trigger wordt de controle uitgevoerd, UNIQUE blijft + * gehandhaafd. + * 13-08-96 AH MLD_MELDING_MELDER_NAAM toegevoegd aan MLD_MELDING. + * 29-07-96 AH MLD_BEDRIJF -> PRS_BEDRIJF: MLD_BEDRIJF vervalt + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 22-05-96 AH ALG_KOSTENPOST heeft gevolgen voor MLD_OPDR. + * 22-05-96 AH MLD_BEDRIJF gekopieerd naar PRS... en MLD_KOSTENPOST + * naar ALG_KOSTENPOST verplaatst. + * 01-05-96 AH Privilege aangepast. + * 26-04-96 AH Velden leverancier_nr en overeenkomst_datum en .._nr aan + * MLD_BEDRIJF toegevoegd. + * 26-04-96 AH Velden datum en jaar aan MLD_KOSTENPOST toegevoegd. + * 22-04-96 AH CHECK_UNIQUE_OMSCHRIJVING in triggers weggehaald, hier UNIQUE's + * toegevoegd. + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 01-04-96 KTH Gebruik CREATE_TABLE() + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 11-03-96 AH In MLD_MELDING het veld MLD_MELDBRON_NR toegevoegd [#208]. + * 08-03-96 AH MLD_KOSTENPOST en in MLD_OPDR het veld + * MLD_KOSTENPOST_KEY aangemaakt. + * 26-02-96 AH In MLD_OPDR ON DELETE CASCADE toegevoegd op mld_melding_key + * 22-02-96 AH MLD_OPDR aangepast mld_opdr_kosten omhooggeschroefd. + * 05-02-96 AH MLD_BESTELREGEL aangepast, ON DELETE CASCADE. + * 01-02-96 AH MLD_BEDRIJF_ADRES is verkleint tot 35 karakters. + * 31-01-96 AH Bij opdracht wordt uren en materiaal default opt 0.00 gezet. + * 24-01-96 AH BCO_BESTELOPDR en BCO_BESTELREGEL verplaatst naar MLD_... + * 17-01-96 AH In MLD_MELDING het veld INS_SRTINST_KEYS op NULL gezet. + * 12-01-96 PF NULLDATUM! + * 14-12-95 PF Telefoon en faxnummers van 10 naar 20 lang + * 05-12-95 AH Kolom MLD_STANDAARD_AFKORTING veranderd in MLD_STANDAARD_AFK. + * 06-12-95 EH Verwijzingen naar MRA verwijderd; worden opgenomen in + * MRA module + */ +#include "comsql.h" + +CREATE_TABLE(mld_oorzaak,BIBLIOTHEEK_PRIVILEGE) +( + mld_oorzaak_key + NUMBER(10) + CONSTRAINT mld_k_mld_oorzaak_key PRIMARY KEY, + mld_oorzaak_omschrijving + VARCHAR2(30) + NOT_NULL(mld_oorzaak_omschrijving, mld_c_mld_oorzaak_omschrijving), + mld_oorzaak_upper + VARCHAR2(30) + NOT_NULL(mld_oorzaak_upper, mld_c_mld_oorzaak_upper), + mld_oorzaak_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(mld_oorzaak_aanmaak, mld_c_mld_oorzaak_aanmaak), + mld_oorzaak_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT mld_u_mld_oorzaak_upper UNIQUE(mld_oorzaak_upper, mld_oorzaak_verwijder) +); + +CREATE_TABLE(mld_meldbron,BIBLIOTHEEK_PRIVILEGE) +( + mld_meldbron_key + NUMBER(10) + CONSTRAINT mld_k_mld_meldbron_key PRIMARY KEY, + mld_meldbron_omschrijving + VARCHAR2(30) + NOT_NULL(mld_meldbron_omschrijving, mld_c_mld_meldbron_omschr), + mld_meldbron_upper + VARCHAR2(30) + NOT_NULL(mld_meldbron_upper, mld_c_mld_meldbron_upper), + mld_meldbron_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(mld_meldbron_aanmaak, mld_c_mld_meldbron_aanmaak), + mld_meldbron_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT mld_u_mld_meldbron_upper UNIQUE(mld_meldbron_upper, mld_meldbron_verwijder) +); + +CREATE_TABLE(mld_standaardopdr,BIBLIOTHEEK_PRIVILEGE) +( + mld_standaardopdr_key + NUMBER(10) + CONSTRAINT mld_k_mld_standaardopdr_key PRIMARY KEY, + mld_standaardopdr_omschrijving + VARCHAR2(320) + NOT_NULL(mld_standaardopdr_omschrijving, mld_c_mld_standaardopdr_omschr), + mld_standaardopdr_afk + VARCHAR2(30) + NOT_NULL(mld_standaardopdr_afk, mld_c_mld_standaardopdr_afk), + mld_standaardopdr_afk_upper + VARCHAR2(30) + NOT_NULL(mld_standaardopdr_afk_upper, mld_c_mld_stdopdr_afk_upper), + mld_standaardopdr_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(mld_standaardopdr_aanmaak, mdl_c_mld_stdopdr_aanmaak), + mld_standaardopdr_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT mld_u_mld_stdopdr_afk_upper UNIQUE(mld_standaardopdr_afk_upper, mld_standaardopdr_verwijder) +); + +CREATE_TABLE(mld_stdmelding,BIBLIOTHEEK_PRIVILEGE) +( + mld_stdmelding_key + NUMBER(10) + CONSTRAINT mld_k_mld_stdmelding_key PRIMARY KEY, + mld_ins_discipline_key + NUMBER(10) + NOT_NULL(mld_ins_discipline_key, mld_c_ins_discipline_key) + CONSTRAINT mld_r_ins_discipline_key REFERENCES ins_tab_discipline(ins_discipline_key), + mld_stdmelding_omschrijving + VARCHAR2(30) + NOT_NULL(mld_stdmelding_omschrijving, mld_c_mld_stdmelding_omschr), + mld_stdmelding_upper + VARCHAR2(30) + NOT_NULL(mld_stdmelding_upper, mld_c_mld_stdmelding_upper), + mld_stdmelding_urgentie + NUMBER(4,2) + CONSTRAINT mld_c_mld_srtmelding_urgentie CHECK(mld_stdmelding_urgentie >= 0), + mld_stdmelding_uitvoertijd + NUMBER(2) + CONSTRAINT mld_c_mld_stdmeld_uitvoertijd CHECK(mld_stdmelding_uitvoertijd >= 0), + CONSTRAINT mld_u_mld_stdmelding UNIQUE(mld_ins_discipline_key, mld_stdmelding_omschrijving) +); + +CREATE_TABLE(mld_typeopdr,BIBLIOTHEEK_PRIVILEGE) +( + mld_typeopdr_key + NUMBER(10) + CONSTRAINT mld_k_mld_typeopdr_key PRIMARY KEY, + mld_typeopdr_omschrijving + VARCHAR2(30) + NOT_NULL(mld_typeopdr_omschrijving, mld_c_mld_typeopdr_omschr), + mld_typeopdr_upper + VARCHAR2(30) + NOT_NULL(mld_typeopdr_upper, mld_c_mld_typeopdr_upper), + mld_typeopdr_module + VARCHAR2(3) + NOT_NULL(mld_typeopdr_module, mld_c_mld_typeopdr_module), + CONSTRAINT mld_u_mld_typeopdr_upper UNIQUE(mld_typeopdr_upper, mld_typeopdr_module) +); + + +CREATE_TABLE(mld_statusopdr,BIBLIOTHEEK_PRIVILEGE) +( + mld_statusopdr_key + NUMBER(10) + CONSTRAINT mld_k_mld_statusopdr_key PRIMARY KEY, + mld_statusopdr_omschrijving + VARCHAR2(30) + NOT_NULL(mld_statusopdr_omschrijving, mld_c_mld_statusopdr_omschr), + mld_statusopdr_upper + VARCHAR2(30) + NOT_NULL(mld_statusopdr_upper, mld_c_mld_statusopdr_upper), + mld_statusopdr_module + VARCHAR2(3) + NOT_NULL(mld_statusopdr_module, mld_c_mld_statusopdr_module), + CONSTRAINT mld_u_mld_statusopdr_upper UNIQUE(mld_statusopdr_upper, mld_statusopdr_module) +); + +CREATE_TABLE(mld_melding,NORMAAL_PRIVILEGE) +( + mld_melding_key + NUMBER(10) + CONSTRAINT mld_k_mld_melding_key PRIMARY KEY, + mld_melding_module + VARCHAR2(3) + NOT_NULL(mld_melding_module, mld_c_mld_melding_module), + mld_ins_discipline_key + NUMBER(10) + NOT_NULL(mld_ins_discipline_key, mld_c_ins_discipline_key2) + CONSTRAINT mld_r_ins_discipline_key2 REFERENCES ins_tab_discipline(ins_discipline_key), + mld_ins_srtinst_keys + NUMBER(10), + mld_meldbron_key + NUMBER(10) + NOT_NULL(mld_meldbron_key, mld_r_mld_meldbron_key1) + CONSTRAINT mld_r_mld_meldbron_key2 REFERENCES mld_meldbron, + mld_meldbron_nr + VARCHAR2(12), + mld_oorzaak_key + NUMBER(10) + CONSTRAINT mld_r_mld_oorzaak_key REFERENCES mld_oorzaak, + mld_alg_locatie_key + NUMBER(10) + NOT_NULL(mld_alg_locatie_key, mld_r_alg_locatie_key1) + CONSTRAINT mld_r_alg_locatie_key2 REFERENCES alg_locatie(alg_locatie_key), + mld_alg_onroerendgoed_keys + NUMBER(10) + NOT_NULL(mld_alg_onroerendgoed_keys, mld_c_alg_onroerendgoed_keys), + mld_melding_datum + DATE + NOT_NULL(mld_melding_datum, mld_c_mld_melding_datum), + mld_melding_omschrijving + VARCHAR2(320), + mld_melding_opmerking + VARCHAR2(320), + mld_melding_melder_naam + VARCHAR2(30), + mld_melding_username + VARCHAR2(30), + mld_melding_ingezien + DATE, + mld_melding_afgewezen + DATE, + mld_melding_geaccepteerd + DATE, + mld_melding_afgemeld + DATE, + mld_melding_verwerkt + DATE, + mld_stdmelding_key + NUMBER(10) + NOT_NULL(mld_stdmelding_key, mld_c_mld_stdmelding_key) + CONSTRAINT mld_r_mld_stdmelding_key REFERENCES mld_stdmelding, + mld_melding_uitvoertijd + NUMBER(2) + NOT_NULL(mld_melding_uitvoertijd, mld_c_mld_melding_uitvoertijd1) + CONSTRAINT mld_c_mld_melding_uitvoertijd2 CHECK(mld_melding_uitvoertijd >= 0), + mld_melding_uitvoertijd2 + NUMBER(2) + CONSTRAINT mld_c_mld_melding_uitvoertijd3 CHECK(mld_melding_uitvoertijd2 >= 0), + mld_melding_geprint + NUMBER(1) + CONSTRAINT mld_c_mld_melding_geprint CHECK(mld_melding_geprint IS NULL + OR mld_melding_geprint = 1), +#ifdef AKZ + akz_bewonersordernr + VARCHAR2(12), +#endif + CONSTRAINT mld_c_afgewezen_opmerking CHECK(mld_melding_afgewezen IS NULL + OR (mld_melding_afgewezen IS NOT NULL + AND mld_melding_opmerking IS NOT NULL)) +); + +CREATE_TABLE(mld_opdr,NORMAAL_PRIVILEGE) +( + mld_opdr_key + NUMBER(10) + CONSTRAINT mld_k_mld_opdr_key PRIMARY KEY, + mld_opdr_module + VARCHAR2(3) + NOT_NULL(mld_opdr_module, mld_c_mld_opdr_module), + mld_melding_key + NUMBER(10) + NOT_NULL(mld_melding_key, mld_r_mld_melding_key1) + CONSTRAINT mld_r_mld_melding_key2 REFERENCES mld_melding ON DELETE CASCADE, + mld_uitvoerende_keys + NUMBER(10) + NOT_NULL(mld_uitvoerende_keys, mld_c_mld_uitvoerende_keys), + mld_typeopdr_key + NUMBER(10) + NOT_NULL(mld_typeopdr_key, mld_r_mld_typeopdr_key1) + CONSTRAINT mld_r_mld_typeopdr_key2 REFERENCES mld_typeopdr, + mld_statusopdr_key + NUMBER(10) + NOT_NULL(mld_statusopdr_key, mld_r_mld_statusopdr_key1) + CONSTRAINT mld_r_mld_statusopdr_key2 REFERENCES mld_statusopdr, + mld_standaardopdr_key + NUMBER(10) + CONSTRAINT mld_r_mld_standaardopdr_key REFERENCES mld_standaardopdr, + mld_opdr_omschrijving + VARCHAR2(1024), + mld_opdr_datumbegin + DATE + NOT_NULL(mld_opdr_datumbegin, mld_c_mld_opdr_datumbegin), + mld_opdr_dagen + NUMBER(3) + NOT_NULL(mld_opdr_dagen, mld_c_mld_opdr_dagen1) + CONSTRAINT mld_c_mld_opdr_dagen2 CHECK(mld_opdr_dagen > 0), + mld_opdr_werkzaamheden + VARCHAR2(80), + mld_opdr_datumuitgevoerd + DATE, + mld_opdr_uren + NUMBER(5,2) + DEFAULT 0 + CONSTRAINT mld_c_mld_opdr_uren CHECK(mld_opdr_uren >= 0), + mld_opdr_materiaal + NUMBER(8,2) + DEFAULT 0 + CONSTRAINT mld_c_mld_opdr_materiaal CHECK(mld_opdr_materiaal >= 0), + mld_opdr_kosten + NUMBER(12,2) + DEFAULT 0 + CONSTRAINT mld_c_mld_opdr_kosten CHECK(mld_opdr_kosten >= 0), + mld_alg_kostenpost_key + NUMBER(10) + CONSTRAINT mld_r_alg_kostenpost_key REFERENCES alg_kostenpost(alg_kostenpost_key), + mld_opdr_contactpersoon + VARCHAR2(30), + mld_opdr_geprint + NUMBER(1) + CONSTRAINT mld_c_mld_opdr_geprint CHECK(mld_opdr_geprint IS NULL + OR mld_opdr_geprint = 1), + mld_opdr_bedrijfopdr_volgnr + NUMBER(10), + mld_opdr_uurloon + NUMBER(6,2) +); + + +CREATE_TABLE(mld_adres, NORMAAL_PRIVILEGE) +( + mld_adres_key + NUMBER(10) + CONSTRAINT mld_k_mld_adres_key PRIMARY KEY, + mld_adres_naam + VARCHAR2(30) + NOT_NULL(mld_adres_naam, mld_c_mld_adres_naam), + mld_adres_upper + VARCHAR2(30) + NOT_NULL(mld_adres_upper, mld_c_mld_adres_upper), + mld_adres_bezoek_adres + VARCHAR2(35), + mld_adres_bezoek_postcode + VARCHAR2(12), + mld_adres_bezoek_plaats + VARCHAR2(30), + mld_adres_bezoek_land + VARCHAR2(30), + mld_adres_post_adres + VARCHAR2(35), + mld_adres_gebouw_ruimte + VARCHAR2(30), + mld_adres_post_postcode + VARCHAR2(12), + mld_adres_post_plaats + VARCHAR2(30), + mld_adres_post_land + VARCHAR2(30), + mld_adres_contactpersoon + VARCHAR2(30), + mld_adres_contactpers_telefoon + VARCHAR2(15), + mld_adres_contactpers_fax + VARCHAR2(15), + mld_adres_contactpers_bureau + VARCHAR2(20), + mld_adres_telefoon + VARCHAR2(15), + mld_adres_fax + VARCHAR2(15), + mld_adres_factuuradres + NUMBER(1) + CONSTRAINT mld_c_mld_adres_factuuradres CHECK(mld_adres_factuuradres IS NULL + OR mld_adres_factuuradres = 1), + mld_adres_opdrachtadres + NUMBER(1) + CONSTRAINT mld_c_mld_adres_opdrachtadres CHECK(mld_adres_opdrachtadres IS NULL + OR mld_adres_opdrachtadres = 1), + mld_adres_afleveradres + NUMBER(1) + CONSTRAINT mld_c_mld_adres_afleveradres CHECK(mld_adres_afleveradres IS NULL + OR mld_adres_afleveradres = 1), + CONSTRAINT mld_c_mld_adressen CHECK(mld_adres_factuuradres IS NOT NULL + OR mld_adres_opdrachtadres IS NOT NULL + OR mld_adres_afleveradres IS NOT NULL) +); + +CREATE_TABLE(mld_bestelopdr,NORMAAL_PRIVILEGE) +( + mld_bestelopdr_key + NUMBER(10) + CONSTRAINT mld_k_mld_bestelopdr_key PRIMARY KEY, + mld_bestelopdr_module + VARCHAR2(3) + NOT_NULL(mld_bestelopdr_module, mld_c_mld_bestelopdr_module), + mld_prs_bedrijf_key + NUMBER(10) + NOT_NULL(mld_prs_bedrijf_key, mld_r_prs_bedrijf_key1) + CONSTRAINT mld_r_prs_bedrijf_key2 REFERENCES prs_bedrijf, + mld_alg_locatie_key + NUMBER(10) + NOT_NULL(mld_alg_locatie_key, mld_r_bestelopdr_loc_key1) + CONSTRAINT mld_r_bestlopdr_loc_key2 REFERENCES alg_locatie, + mld_bestelopdr_datum + DATE, + mld_bestelopdr_oplevdatum + DATE, + mld_bestelopdr_refnr + VARCHAR2(20), + mld_bestelopdr_fondsnr + VARCHAR2(20), + mld_bestelopdr_kmvergoed + NUMBER(5,2) + CONSTRAINT mld_c_mld_bestelopdr_kmvergoed CHECK(mld_bestelopdr_kmvergoed >=0), + mld_bestelopdr_reis + NUMBER(7,2) + CONSTRAINT mld_c_mld_bestelopdr_reis CHECK(mld_bestelopdr_reis >=0), + mld_bestelopdr_voorrij + NUMBER(7,2) + CONSTRAINT mld_c_mld_bestelopdr_voorrij CHECK(mld_bestelopdr_voorrij >=0), + mld_bestelopdr_admin + NUMBER(7,2) + CONSTRAINT mld_c_mld_bestelopdr_admin CHECK(mld_bestelopdr_admin >=0), + mld_bestelopdr_verzend + NUMBER(7,2) + CONSTRAINT mld_c_mld_bestelopdr_verzend CHECK(mld_bestelopdr_verzend >=0), + mld_bestelopdr_limiet + NUMBER(9,2) + CONSTRAINT mld_c_mld_bestelopdr_limiet CHECK(mld_bestelopdr_limiet >=0), + mld_bestelopdr_raming + NUMBER(9,2) + CONSTRAINT mld_c_mld_bestelopdr_raming CHECK(mld_bestelopdr_raming >=0), + mld_bestelopdr_prijs + NUMBER(9,2) + CONSTRAINT mld_c_mld_bestelopdr_prijs CHECK(mld_bestelopdr_prijs >=0), + mld_bestelopdr_montbon + VARCHAR2(1) + CONSTRAINT mld_c_mld_bestelopdr_montbon CHECK(mld_bestelopdr_montbon IN ('J','N')), + mld_bestelopdr_opdrachtadres + NUMBER(10) + CONSTRAINT mld_r_mld_bestelopdr_opdradr REFERENCES mld_adres(mld_adres_key), + mld_bestelopdr_factuuradres + NUMBER(10) + CONSTRAINT mld_r_mld_bestelopdr_factadr REFERENCES mld_adres(mld_adres_key), + mld_bestelopdr_afleveradres + NUMBER(10) + CONSTRAINT mld_r_mld_bestelopdr_aflevadr REFERENCES mld_adres(mld_adres_key) +); + +CREATE_TABLE(mld_bestelregel,NORMAAL_PRIVILEGE) +( + mld_bestelregel_key + NUMBER(10) + CONSTRAINT mld_k_mld_bestelregel_key PRIMARY KEY, + mld_bestelopdr_key + NUMBER(10) + NOT_NULL(mld_bestelopdr_key, mld_r_mld_bestelopdr_key1) + CONSTRAINT mld_r_mld_bestelopdr_key REFERENCES mld_bestelopdr ON DELETE CASCADE, + bcp_mld_opdr_key + NUMBER(10) + CONSTRAINT mld_u_bcp_mld_opdr_key UNIQUE, + mld_bestelregel_omschrijving + VARCHAR2(320), + CONSTRAINT mld_c_mld_bestelregel CHECK(bcp_mld_opdr_key IS NOT NULL + OR mld_bestelregel_omschrijving IS NOT NULL) +); + +CREATE_TABLE(mld_vrije_dagen, BIBLIOTHEEK_PRIVILEGE) +( + mld_vrije_dagen_key + NUMBER(10) + CONSTRAINT mld_k_mld_vrije_dagen_key PRIMARY KEY, + mld_vrije_dagen_datum + DATE + NOT_NULL(mld_vrije_dagen_datum, mld_c_mld_vrije_dagen_datum) + CONSTRAINT mld_u_mld_vrije_dagen_datum UNIQUE +); + +#endif // MLD diff --git a/MLD/MLD_TRI.SRC b/MLD/MLD_TRI.SRC new file mode 100644 index 00000000..2d540b15 --- /dev/null +++ b/MLD/MLD_TRI.SRC @@ -0,0 +1,483 @@ +#ifdef MLD // 13-03-96 AH + +/* CREA_TRI.SRC maakt de triggers aan voor MLD */ + +/* + * Revisie + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 25-05-1998 BIV LOG#1799: Trigger MLD_T_MLD_MELDING_B_UI zodaning aangepast dat hij geen foutmelding + * "TV-verklaarde opdrachten kunnen niet nogmaals TV-verklaard worden" onstaat, nadat een + * rapport is afgedrukt. + * --- 01.36 --- + * 02-05-1998 KTH LOG#1625: geen status Geexporteerd meer voor Meldingen, aangepast in + * MLD_T_MLD_MELDING_B_UI en MLD_T_MLD_OPDR_B_IU + * --- 01.35 --- + * 15/04/1998 AH Triggers MLD_OPDR_A_IUD en MLD_MELDING_B_IU aangepast voor gebrukt van Statussen + * Verwerkt en Geexporteerd. + * 14/04/1998 AH In MLD_OPDR_B_IU-trigger wordt het veld MLD_OPDR_BEDRIJFOPDR_VOLGNR gevuld via + * nieuwe StoredFunction MLD_P_BepaalBedrijfOpdrVolgnr(); + * 31/03/1998 AH #1540, Zet de status van de melding goed tov. de bijbehorende opdrachten. Dit gebeurt + * via de procedure MLD_P_UPDATE_MELDING_STATUS en package FAC_P_FAC_SAVE_RESTORE. + * Stap 1. In BEFORE-statement-trigger van MLD_OPDR worden de onhouden meldingen verwijderd. + * Stap 2. In BEFORE-row-trigger van MLD_OPDR wordt de huidige MLD_MELDING_KEY onthouden. + * Stap 3. In AFTER-statement-trigger van MLD_OPDR worden van de onthouden MLD_MELDING_KEYs + * de nieuwe status bepaald. + * 31/03/1998 AH #1540, Alle view waarin op MLD_STATUSOPDR_OMSCHRIJVING gecontroleerd wordt, wordt + * nu op MLD_STATUSOPDR_UPPER LIKE '%xx%' gecontroleerd. + * --- 01.34 --- + * 03/03/1998 AH Controles op MLD_MELDING_AFGEMELD en VERWERKT toegevoegd in + * MLD_T_MLD_MELDING_B_IU. + * 26/02/1998 AH Gebruik ipv. de tabel USER_USERS de SQL/Oracle Variabele USER + * 25/02/1998 AH Nieuwe tabel MLD_STDMELDING toegevoegd. + * 24/02/1998 AH Nieuwe functionalteit aan MLD_T_MLD_MELDING_B_IU toegevoegd. + * 23/02/1998 AH Nieuwe trigger MLD_T_MLD_VRIJE_DAGEN_B_IU toegevoegd + * 13/11/1997 AH #1473, CREATE TRIGGER vervangen door CREATE_TRIGGER() + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * 24-07-97 AH #1422, MLD_T_MLD_MELDING_B_IU vult het veld MLD_ALG_LOCATIE_KEY + * 23-07-97 AH #1415: In MLD_T_MLD_OPDR_B_IU mag ALG_KOSTENPOST niet gewijzigd worden, MUTATING-table + * enz... Dus is het gedeelte maar verplaatst naar MLD117/Verwerken. + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * 04-12-96 AH Reactie op wijziging: Opdracht mag NIET worden verwijderd indien + * er werk- en bestelopdrachten bij horen. + * 02-12-96 AH BCO#042: MLD_T_MLD_BESTELREGEL_B_IU aangepast. + * Controle op BCP_MLD_OPDR_KEY alleen als deze ingevuld is. + * 22-11-96 AH LOG#1073: MLD_ADRES-trigger aangmaakt + * 21-11-96 AH LOG#1072: Verwijderen MLD_OPDR mag ook werkregels en bestelregels + * verwijderen, om consistentie met BCP_PREVOPDR + * --- 01.23 --- + * 11-11-96 AH LOG#988: Verwijderen Mld-opdr mag niet als er nog een + * bestelopdracht bij hoort. + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * 15-08-96 AH MLD_T_MLD_BESTELREGEL_B_IU aangepast: controle of + * bcp_mld_opdr_key een MLD of BCP opdracht is. + * 09-08-96 AH MLD_T_MLD_OPDR_B_IU aangepast: Opdrachten mogen niet verwijderd + * worden als deze nog op werkopdrachten voorkomen. + * 07-08-96 AH MLD_T_MLD_OPDR_B_IU aangepast: Jaarweek kan niet in trigger + * bepaald worden. + * 29-07-96 AH MLD_BEDRIJF -> PRS_BEDRIJF: Trigger MLD_T_MLD_BEDRIJF_B_IU + * vervalt. + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 23-05-96 AH MLD_T_MLD_OPDR_B_IU aangepast voor ALG_KOSTENPOST. + * 22-05-96 AH MLD_BEDRIJF gekopieerd naar PRS... en MLD_KOSTENPOST + * naar ALG_KOSTENPOST verplaatst. + * 22-04-96 AH CHECK_UNIQUE_OMSCHRIJVING weggehaald, #367. + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 08-03-96 AH MLD_T_MLD_KOSTENPOST_B_IU aangemaakt. + * 26-02-96 AH MLD_T_MLD_MELDING_B_D verwijdert. In MLD_OPDR ON DELETE CASCADE + * op mld_meldign_key toegevoegd. + * 21-02-96 AH MLD_T_MLD_OPDR_B_D trigger toegevoegd. Verwerkte opdrachten + * mogen niet verwijderd worden. + * 19-02-96 AH MLD_T_MLD_MELDING_B_D trigger toegevoegd. Meldingen met + * verwerkte opdrachten mogen niet verwijderd worden. + * 24-01-96 AH BCO_BESTELOPDR en BCO_BESTELREGEL verplaatst naar MLD_... + * 02-01-96: AH + * + * In mld_t_mld_melding_B_IU is + * CHECK_REFERENCE_SRTINST(mld_ins_srtinst_keys, 'ins_m21'); + * eruit gehaald. + * + * 4-12-'95: AH + * + * Aanpassen van triggers in PRS. De tabellen moeten dezelfde + * sequences gebruiken. + * + * 6-12-'95: AH + * + * Triggers MLD_T_MLD_TYPEOPDR_B_IU en MLD_T_MLD_STATUSOPDR_B_IU + * zijn weggehaald, de tabellen worden via een script ingevuld en + * veranderen nooit. + */ +#include "comsql.h" + +CREATE_TRIGGER(mld_t_mld_oorzaak_B_IU) +BEFORE INSERT OR UPDATE ON mld_oorzaak +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_oorzaak_key,mld_s_mld_oorzaak_key); + UPDATE_UPPER(mld_oorzaak_omschrijving,mld_oorzaak_upper); +END; +/ + +CREATE_TRIGGER(mld_t_mld_meldbron_B_IU) +BEFORE INSERT OR UPDATE ON mld_meldbron +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_meldbron_key,mld_s_mld_meldbron_key); + UPDATE_UPPER(mld_meldbron_omschrijving,mld_meldbron_upper); +END; +/ + +CREATE_TRIGGER(mld_t_mld_standaardopdr_B_IU) +BEFORE INSERT OR UPDATE ON mld_standaardopdr +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_standaardopdr_key,mld_s_mld_standaardopdr_key); + UPDATE_UPPER(mld_standaardopdr_afk,mld_standaardopdr_afk_upper); +END; +/ + +CREATE_TRIGGER(mld_t_mld_stdmelding_B_IU) +BEFORE INSERT OR UPDATE ON mld_stdmelding +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_stdmelding_key,mld_s_mld_stdmelding_key); + UPDATE_UPPER(mld_stdmelding_omschrijving,mld_stdmelding_upper); +END; +/ + +#if 0 +CREATE_TRIGGER(mld_t_mld_bedrijf_B_IU) +BEFORE INSERT OR UPDATE ON mld_bedrijf +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_bedrijf_key,prs_s_prs_alluitvoerende_keys); + UPDATE_UPPER(mld_bedrijf_naam,mld_bedrijf_naam_upper); +END; +/ +#endif + + +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); + CHECK_REFERENCE_ONROERENDGOED(mld_alg_onroerendgoed_keys, 'alg_m090'); + /* 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 + 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; + /* Vul de username in van de huidige gebruiker. */ + SELECT USER + INTO :new.mld_melding_username + FROM DUAL; + + /* Controleer of de velden GEACCEPTEERD en AFGEWEZEN niet beide ingevuld zijn. */ + IF :new.mld_melding_afgewezen IS NOT NULL + AND :new.mld_melding_geaccepteerd IS NOT NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m175'); + END IF; + /* Controleer of de velden AFGEMELD en VERWERKT gevuld zijn, er mogen dan geen + * opdrachten van deze melding bestaan. + */ + IF :new.mld_melding_verwerkt IS NOT NULL + THEN + /* Alleen geaccepteerde of afgemelde meldingen mogen verwerkt worden */ + IF :old.mld_melding_geaccepteerd IS NULL + AND :old.mld_melding_afgemeld IS NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m203'); + /* Verwerkte meldingen mogen niet nogmaals verwerkt worden */ + ELSIF :old.mld_melding_verwerkt IS NOT NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m196'); + ELSE + /* Meldingen mogen alleen verwerkt worden als de bijbehorende opdrachten + * verwerkt zijn. + */ + 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 LIKE '%INGEVOERD%' + OR MLD_SO.mld_statusopdr_upper LIKE '%UITGEGEVEN%' + OR MLD_SO.mld_statusopdr_upper LIKE '%AFGEMELD%') + AND MLD_O.mld_melding_key = :new.mld_melding_key; + APPLICATION_ERROR(-20000, 'mld_m192'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'mld_m192'); + END; + END IF; + ELSIF :new.mld_melding_afgemeld IS NOT NULL + THEN + /* Alleen geaccepteerde meldingen mogen afgemeld worden */ + IF :old.mld_melding_geaccepteerd IS NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m202'); + /* Afgemelde meldingen mogen niet nogmaals afgemeld worden */ + ELSIF :old.mld_melding_afgemeld IS NOT NULL + AND (:old.mld_melding_afgemeld <> :new.mld_melding_afgemeld) + THEN + APPLICATION_ERROR(-20000, 'mld_m194'); + /* Verwerkte meldingen mogen niet (nogmaals) afgemeld worden */ + ELSIF :old.mld_melding_verwerkt IS NOT NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m195'); + ELSIF :old.mld_melding_afgemeld <> :new.mld_melding_afgemeld + THEN + /* Meldingen mogen alleen afgemeld worden als de bijbehorende opdrachten + * afgemeld of verwerkt zijn. + */ + 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 LIKE '%INGEVOERD%' + OR MLD_SO.mld_statusopdr_upper LIKE '%UITGEGEVEN%') + AND MLD_O.mld_melding_key = :new.mld_melding_key; + APPLICATION_ERROR(-20000, 'mld_m191'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'mld_m191'); + END; + END IF; + END IF; + /* Vul het veld UITVOERTIJD2 in als deze leeg is */ + IF :new.mld_melding_uitvoertijd2 IS NULL + THEN + :new.mld_melding_uitvoertijd2 := :new.mld_melding_uitvoertijd; + END IF; +END; +/ + +CREATE_TRIGGER(mld_t_mld_opdr_B_IUD) +BEFORE INSERT OR UPDATE OR DELETE ON mld_opdr +DECLARE + Dummy BOOLEAN; +BEGIN + Dummy := fac_p_fac_save_restore.ResetSelectie('MLD_MELDING'); +END; +/ + +CREATE_TRIGGER(mld_t_mld_opdr_B_IU) +BEFORE INSERT OR UPDATE ON mld_opdr +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_opdr_key, mld_s_mld_opdr_key); + /* Controleer of de opdracht bij een melding hoort die de goede status heeft, + * namelijk: GEACCEPTEERD of AFGEMELD (minimaal GEACCEPTEERD), + * anders mag de opdracht niet toegevoegd of gewijzigd worden. + */ + DECLARE + Dummy CHAR; + BEGIN + SELECT 'X' + INTO Dummy + FROM mld_melding + WHERE mld_melding_key = :new.mld_melding_key + AND mld_melding_geaccepteerd IS NOT NULL + AND mld_melding_verwerkt IS NULL; + EXCEPTION + WHEN NO_DATA_FOUND + THEN APPLICATION_ERROR(-20000, 'mld_m201'); + END; + CHECK_REFERENCE_UITVOERENDE(mld_uitvoerende_keys, 'ins_m22'); + /* UPDATE van ALG_KOSTENPOST verplaatst naar MLD117/Bewaren. + IF NOT :new.mld_alg_kostenpost_key IS NULL + AND :new.mld_opdr_module = 'MLD' + THEN + DECLARE + dummy NUMBER(10); + BEGIN + SELECT mld_statusopdr_key + INTO dummy + FROM mld_statusopdr + WHERE mld_statusopdr_omschrijving = 'Verwerkt' + AND mld_statusopdr_key = :new.mld_statusopdr_key; + UPDATE alg_kostenpost + SET alg_kostenpost_besteed = NVL(alg_kostenpost_besteed, 0) + + :new.mld_opdr_kosten - NVL(:old.mld_opdr_kosten, 0) + WHERE alg_kostenpost_key = :new.mld_alg_kostenpost_key; + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + END IF; + */ + + /* Onthou de MLD_MELDING_KY voor het aanpassen van de status van de melding. */ + DECLARE + Dummy BOOLEAN; + BEGIN + Dummy := fac_p_fac_save_restore.SavePrimaryKey('MLD_MELDING', :new.mld_melding_key); + END; + /* Bepaal het nieuwe bedrijfopdr_volgnr voor de huidige opdracht + * Doe dit alleen als de vorige waarde leeg was, anders wordt de oude waarde + * overschreven. + */ + IF :old.mld_opdr_bedrijfopdr_volgnr IS NULL + THEN + :new.mld_opdr_bedrijfopdr_volgnr := MLD_P_BepaalBedrijfOpdrVolgnr(:new.mld_uitvoerende_keys); + END IF; +END; +/ + +CREATE_TRIGGER(mld_t_mld_opdr_B_D) +BEFORE DELETE ON mld_opdr +FOR EACH ROW +BEGIN + /* Een verwerkte opdracht mag niet verwijderd worden */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_statusopdr MLD_S + WHERE :old.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_upper LIKE '%VERWERKT%'; + APPLICATION_ERROR(-20002, 'mld_m135'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; +#ifdef BCO + /* Een opdracht die voorkomt op een werkregel mag niet verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bco_werkregel + WHERE bcp_mld_opdr_key = :old.mld_opdr_key; + APPLICATION_ERROR(-20002, 'mld_m158'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'mld_m158'); + END; +#endif + /* Een opdracht komt nog voor in een bestelopdracht, mag niet verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_bestelregel + WHERE bcp_mld_opdr_key = :old.mld_opdr_key; + APPLICATION_ERROR(-20002, 'mld_m162'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'mld_m162'); + END; + + /* Onthou de MLD_MELDING_KY voor het aanpassen van de status van de melding. */ + DECLARE + Dummy BOOLEAN; + BEGIN + Dummy := fac_p_fac_save_restore.SavePrimaryKey('MLD_MELDING', :new.mld_melding_key); + END; +END; +/ + +CREATE_TRIGGER(mld_t_mld_opdr_A_IUD) +AFTER INSERT OR UPDATE OR DELETE ON mld_opdr +BEGIN + /* Pas de status van de onthouden meldingen aan. */ + FAC_P_FAC_SAVE_RESTORE_UPDATE(mld_p_update_melding_status, 'MLD_MELDING'); +END; +/ + +CREATE_TRIGGER(mld_t_mld_adres_B_IU) +BEFORE INSERT OR UPDATE ON mld_adres +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_adres_key, mld_s_mld_adres_key); + UPDATE_UPPER(mld_adres_naam, mld_adres_upper); +END; +/ +CREATE_TRIGGER(mld_t_mld_bestelopdr_B_IU) +BEFORE INSERT OR UPDATE ON mld_bestelopdr +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_bestelopdr_key, mld_s_mld_bestelopdr_key); +END; +/ + +CREATE_TRIGGER(mld_t_mld_bestelregel_B_IU) +BEFORE INSERT OR UPDATE ON mld_bestelregel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_bestelregel_key, mld_s_mld_bestelregel_key); + IF :new.bcp_mld_opdr_key IS NOT NULL + THEN + DECLARE + dummy CHAR; + BEGIN + dummy := NULL; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr + WHERE mld_opdr_key = :new.bcp_mld_opdr_key; + EXCEPTION + WHEN NO_DATA_FOUND + THEN dummy := NULL; + END; +#ifdef BCP + IF dummy IS NULL + THEN + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr + WHERE bcp_prevopdr_key = :new.bcp_mld_opdr_key; + EXCEPTION + WHEN NO_DATA_FOUND + THEN dummy := NULL; + END; + END IF; +#endif // BCP + IF dummy IS NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m159'); + END IF; + END; + END IF; +END; +/ + +CREATE_TRIGGER(mld_t_mld_vrije_dagen_b_iu) +BEFORE INSERT OR UPDATE ON mld_vrije_dagen +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_vrije_dagen_key, mld_s_mld_vrije_dagen_key); + /* Haal het tijdgedeelte van de ingevoerde datum af. */ + :new.mld_vrije_dagen_datum := TRUNC(:new.mld_vrije_dagen_datum); +END; +/ + + +#endif // MLD diff --git a/MLD/MLD_VIE.SRC b/MLD/MLD_VIE.SRC new file mode 100644 index 00000000..f9316d04 --- /dev/null +++ b/MLD/MLD_VIE.SRC @@ -0,0 +1,1094 @@ +#ifdef MLD // 13-03-96 AH + +/* Maakt de views voor MLD + * + * Revisie: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 22-05-1998 BIV Log#1770 : View MLD_V_MLD_OPENOPDR_GEGEVENS uitgebreidt met veld MLD_OPDR_BEDRIJFOPDR_VOLGNR + * uit tabel MLD_OPDR. + * 18-05-1998 BIV Log#1690 View MLD_V_MLD_OPENMELDING zodanig aangepast dat de ontvangende vakgroep + * alleen de meldingen van zijn eigen vakgroep te zien krijgt, behalve iemand die + * geautoriseerd is om ook meldingen in te voeren die kan dit n.l. voor elke vakgroep doen. + * --- 01.36 --- + * 02-05-1998 KTH LOG#1625: Melding kent geen status Geexporteerd meer: uit view + * MLD_V_MLD_OPENMELDING gehaald + * --- 01.35 --- + * 14/04/1998 AH Te laat uitgevoerde meldingen in MLD_V_MLD_OPENMELDING toegevoegd. + * 30/03/1998 AH #1540, Alle view waarin op MLD_STATUSOPDR_OMSCHRIJVING gecontroleerd wordt, wordt + * nu op MLD_STATUSOPDR_UPPER LIKE '%xx%' gecontroleerd. + * --- 01.34 --- + * 02/03/1998 AH MLD_V_MLD_OPENMELDING uitgebreid met extra velden voor de SELECTIE via + * MLD033.FMB + * MLD_V_MLD_MELDING_GEGEVENS view weer aangemaakt voor de selectie via MLD033. + * 27/02/1998 AH Overschreden-meldingen in MLD_V_MLD_OPENMELDING moet de FUNCTIE + * MLD_P_DatumTijdPlusUitvoerTijd() gebruiken. + * 26/02/1998 AH MLD_V_STDMELDING_GEGEVENS toegevoegd. + * 24/02/1998 AH MLD_V_MLD_OPENMELDING aangepast voor nieuwe functionaliteil van MLD + * Extra view MLD_V_INS_DISCIPLINE toegevoegd, view zonder autorisatie + * met aanwezigheid van discipline. + * 03/02/1998 AH mld_v_mld_openopdr_gegevens aangepast er werd INS () gebruikt ipv. IS () + * 29/01/1998 AH INS_DISCIPLINE-autorisatie in meldingen en opdrachten-views toegevoegd. + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * 20-11-96 AH LOG#1066: MLD_OPDR_KEY toegevoegd in MLD_V_OVZ + * --- 01.23 --- + * 12-11-96 AH MLD_V_OPENOPDR aangepast voor Historisch overzicht. + * Ook Ingevoerde opdrachten worden meegenomen. + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * 02-08-96 RW mld_v_alluitvoerende hernoemd naar mld_v_aanweziguitvoerende + * 02-08-96 RW mld_v_uitvoerende aangepast voor bestek en srtperslid + * 30-07-96 KTH mld_v_bestelopdr_gegevens verwees nog naar MLD_BEDRIJF + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 22-05-96 AH MLD_BEDRIJF gekopieerd naar PRS... en MLD_KOSTENPOST + * naar ALG_KOSTENPOST verplaatst. + * 29-04-96 RW Privileges aangepast + * 26-04-96 AH ..\comsql.h aangepast. + * 24-04-96 AH De view MLD_V_MLD_OPENOPDR_GEGEVENS moet ook Ingevoerd + * laten zien. + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 01-04-96 KTH Gebruik CREATE_VIEW() + * 14-03-96 AH De views MLD_V_TYPEOPDR, MLD_V_STATUSOPDR, + * MLD_V_MLD_MELDING_GEGEVENS, MLD_V_MLD_OPDR_GEGEVENS zijn + * vervallen. + * 13-03-96 AH NIEUWE OPZET SRC-files. + * + * 12-03-96 AH De view MLD_V_OVZ aangepast voor selectie op typeopdr [#204]. + * 08-03-96 AH De view MLD_V_UITVOERENDE aangepast, veld uurloon erbij. + * 08-03-96 AH De view MLD_V_AANWEZIGKOSTENPOST aangemaakt. + * 27-02-96 AH De view MLD_V_OVZ aangepast. ALG_GEBOUW en + * ALG_TERREINSECTOR moeten samen in de view meegenomen worden. + * 21-02-96 AH De view MLD_V_MLD_OPENOPDR_GEGEVENS aangepast voor + * nieuwe MLD_217.FMB + * 15-02-96 AH De view MLD_V_MLD_OPENMELDING toegevoegd voor MLD_215. + * In eerste tak van de UNION staan meldingen met opdrachten + * die Uitgegeven, Afgemeld of Ingevoerd als status hebben + * OF meldingen die nog geen opdracht hebben. Dit wordt aangegeven + * door mld_statussoort = 'OPEN' + * In de andere tak van de UNION staan meldingen met of zonder + * opdrachten. Dit wordt aangegeven door mld_statussoort = 'ALL'. + * 01-02-96 AH MLD_V_MELDING_OPENOPDR toegevoegd, om de openstaande en + * ingevoerde meldingen te kunnen tonen. + * 31-01-96 AH MLD_V_MLD_MELDING aangepast naast discipline wordt gebouw of + * terreinsector meegenomen, ook worden alleen de openstaande + * meldingen geselecteerd. Ook in MLD_V_MLD_OPENOPDR_GEGEVENS. + * 24-01-96 AH BCO_BESTELOPDR en BCO_BESTELREGEL verplaatst naar MLD_... + * 23-01-96 AH De view MLD_V_OVZ is aangepast voor het leeg zijn van + * INS_SRTINST_KEYS en ALG_ONROERENDGOED_KEY voor gebruik van + * ALG_TERREINSECTOR en MLD_V_ONROERENDGOED_LOCATIE aangepast. + * 19-01-96 AH De view MLD_V_ONROERENDGOED_LOCATIE veranderd voor ALG_TERREINSECTOR + * 17-01-96 AH Views MLD_V_MLD_MELDING_GEGEVENS, MLD_V_MLD_OPENOPDR_GEGEVENS, + * MLD_V_OVZ zijn gewijzigd. De view MLD_V_ONROERENDGOED_LOCATIE + * is toegevoegd. + * 29-11-95 AH View mld_v_uitvoerende is veranderd. + * Views aangemaakt voor de forms + * mld_215 : mld_v_mld_melding_gegevens, + * mld_216 : mld_v_mld_opdr_gegevens, + * mld_217 : mld_v_mld_openopdr_gegevens. + * 13-12-95 KTH MLD_V_OVZ toegevoegd + * 18-12-95 AH De views waar Ingevoerd, uitgegeven, afgemeld en verwerkt wordt + * gebruikt zijn verandert in de where-clause voor de nieuwe + * invulling vd. tabel mld_statusopdr. + */ + +#include "comsql.h" + +DEFINIEER_VIEW_AANWEZIG(mld_oorzaak, + mld_oorzaak_verwijder, + mld_v_aanwezigoorzaak, + BIBLIOTHEEK_PRIVILEGE); +DEFINIEER_VIEW_AANWEZIG(mld_meldbron, + mld_meldbron_verwijder, + mld_v_aanwezigmeldbron, + BIBLIOTHEEK_PRIVILEGE); +DEFINIEER_VIEW_AANWEZIG(mld_standaardopdr, + mld_standaardopdr_verwijder, + mld_v_aanwezigstandaardopdr, + BIBLIOTHEEK_PRIVILEGE); +#if 0 +DEFINIEER_VIEW_AANWEZIG(mld_bedrijf, + mld_bedrijf_verwijder, + mld_v_aanwezigbedrijf, + NORMAAL_PRIVILEGE); +#endif + +CREATE_VIEW(mld_v_openopdr,NORMAAL_PRIVILEGE) AS +SELECT * +FROM mld_opdr +WHERE mld_opdr.mld_statusopdr_key IN + (SELECT mld_statusopdr_key + FROM mld_statusopdr + WHERE mld_statusopdr.mld_statusopdr_upper LIKE '%UITGEGEVEN%' OR + mld_statusopdr.mld_statusopdr_upper LIKE '%AFGEMELD%' OR + mld_statusopdr.mld_statusopdr_upper LIKE '%INGEVOERD%'); + +/* + View met alle sleutels van de gemeenschappelijke sequence + prs_s_prs_uitvoerende_keys +*/ + +CREATE_VIEW(mld_v_aanweziguitvoerende,NORMAAL_PRIVILEGE) (mld_alluitvoerende_keys, + prs_bedrijf_key, + prs_perslid_key, + prs_srtperslid_key, + mld_type) AS + SELECT prs_v_uitvoerendebedrijf.prs_bedrijf_key, + prs_v_uitvoerendebedrijf.prs_bedrijf_key, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + 'B' + FROM prs_v_uitvoerendebedrijf + UNION + SELECT prs_v_aanwezigperslid.prs_perslid_key, + TO_NUMBER(NULL), + prs_v_aanwezigperslid.prs_perslid_key, + prs_v_aanwezigperslid.prs_srtperslid_key, + 'P' + FROM prs_v_aanwezigperslid + UNION + SELECT prs_v_aanwezigsrtperslid.prs_srtperslid_key, + prs_v_aanwezigsrtperslid.prs_bedrijf_key, + TO_NUMBER(NULL), + prs_v_aanwezigsrtperslid.prs_srtperslid_key, + 'S' + FROM prs_v_aanwezigsrtperslid + UNION + SELECT prs_disciplinebestek.prs_disciplinebestek_key, + prs_bestek.prs_bedrijf_key, + to_number(NULL), + to_number(NULL), + 'E' + FROM prs_disciplinebestek, prs_bestek + WHERE prs_disciplinebestek.prs_bestek_key = + prs_bestek.prs_bestek_key; + +/* + View met alle sleutels van de uitvoerenden + type: 'B' = bedrijf + 'P' = perslid + 'S' = srtperslid bij bedrijf + 'E' = bestek +*/ + +CREATE_VIEW(mld_v_uitvoerende,NORMAAL_PRIVILEGE) (key, naam, type) AS +SELECT B.prs_bedrijf_key, + B.prs_bedrijf_naam, + 'B' +FROM prs_bedrijf B +UNION +SELECT P.prs_perslid_key, + P.prs_perslid_naam, + 'P' +FROM prs_perslid P +UNION +SELECT S.prs_srtperslid_key, + S.prs_srtperslid_omschrijving, + 'S' +FROM prs_srtperslid S +WHERE prs_bedrijf_key IS NOT NULL +UNION +SELECT D.prs_disciplinebestek_key, + E.prs_bestek_nr, + 'E' +FROM prs_bestek E, prs_disciplinebestek D +WHERE D.prs_bestek_key = E.prs_bestek_key; + +/* + * View voor de form mld_215.fmb + */ +CREATE_VIEW(mld_v_onroerendgoed_locatie,NORMAAL_PRIVILEGE) ( alg_onroerendgoed_keys, + alg_onrgoed_omschrijving, + alg_locatie_key, + alg_gebouw_key, + alg_terreinsector_key, + type ) AS + SELECT ALG_O.alg_onroerendgoed_keys, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, + to_number(NULL), + 'G' + FROM alg_v_onroerendgoed ALG_O, alg_v_aanweziggebouw ALG_G + WHERE ALG_O.alg_gebouw_key = ALG_G.alg_gebouw_key + UNION + SELECT ALG_O.alg_onroerendgoed_keys, + ALG_T.alg_terreinsector_omschrijving, + ALG_T.alg_locatie_key, + to_number(NULL), + ALG_T.alg_terreinsector_key, + 'T' + FROM alg_v_onroerendgoed ALG_O, alg_v_aanwezigterreinsector ALG_T + WHERE ALG_O.alg_terreinsector_key = ALG_T.alg_terreinsector_key; + +DEFINIEER_VIEW_AANWEZIG(ins_tab_discipline, + ins_discipline_verwijder, + mld_v_ins_discipline, + NORMAAL_PRIVILEGE); + +CREATE_VIEW(mld_v_stdmelding_gegevens, NORMAAL_PRIVILEGE) AS + SELECT MLD_SM.mld_stdmelding_key, + MLD_SM.mld_ins_discipline_key, + MLD_D.ins_discipline_omschrijving, + MLD_SM.mld_stdmelding_omschrijving, + MLD_SM.mld_stdmelding_upper, + MLD_SM.mld_stdmelding_urgentie + FROM mld_stdmelding MLD_SM, mld_v_ins_discipline MLD_D + WHERE MLD_SM.mld_ins_discipline_key = MLD_D.ins_discipline_key; + +CREATE_VIEW(mld_v_mld_openmelding,NORMAAL_PRIVILEGE) (mld_melding_module, + mld_melding_key, + mld_ins_discipline_key, + mld_ins_srtinst_keys, + mld_alg_onroerendgoed_keys, + mld_melding_datum, + mld_melding_melder_naam, + mld_meldbron_key, + mld_oorzaak_key, + mld_stdmelding_key, + mld_melding_ingezien, + mld_melding_afgewezen, + mld_melding_geaccepteerd, + mld_melding_afgemeld, + mld_melding_verwerkt, + mld_statussoort ) AS + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'INGEVOERD' + FROM mld_melding MLD_M + WHERE mld_melding_ingezien IS NULL + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'INGEZIEN' + FROM mld_melding MLD_M + WHERE MLD_M.mld_melding_ingezien IS NOT NULL + AND MLD_M.mld_melding_afgewezen IS NULL + AND MLD_M.mld_melding_geaccepteerd IS NULL + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'OVERSCHREDEN' + FROM mld_melding MLD_M, + mld_stdmelding MLD_SM + WHERE MLD_M.mld_melding_afgewezen IS NULL + AND MLD_M.mld_melding_geaccepteerd IS NULL + AND MLD_M.mld_stdmelding_key = MLD_SM.mld_stdmelding_key + AND SYSDATE > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(MLD_M.mld_melding_datum, + MLD_SM.mld_stdmelding_urgentie, + 'UREN') + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'TE_LAAT' + FROM mld_melding MLD_M + WHERE MLD_M.mld_melding_afgewezen IS NULL + AND MLD_M.mld_melding_geaccepteerd IS NOT NULL + AND MLD_M.mld_melding_afgemeld IS NULL + AND SYSDATE > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(MLD_M.mld_melding_datum, + MLD_M.mld_melding_uitvoertijd, + 'DAGEN') + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'AFGEWEZEN' + FROM mld_melding MLD_M + WHERE MLD_M.mld_melding_afgewezen IS NOT NULL + AND MLD_M.mld_melding_geaccepteerd IS NULL + AND MLD_M.mld_melding_afgemeld IS NULL + AND MLD_M.mld_melding_verwerkt IS NULL + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'GEACCEPTEERD' + FROM mld_melding MLD_M + WHERE MLD_M.mld_melding_geaccepteerd IS NOT NULL + AND MLD_M.mld_melding_afgemeld IS NULL + AND MLD_M.mld_melding_verwerkt IS NULL + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'OPEN' + FROM mld_melding MLD_M, + mld_opdr MLD_O + WHERE MLD_M.mld_melding_key = MLD_O.mld_melding_key (+) + AND (MLD_O.mld_statusopdr_key IN + (SELECT mld_statusopdr_key + FROM mld_statusopdr MLD_S + WHERE MLD_S.mld_statusopdr_upper LIKE '%UITGEGEVEN' OR + MLD_S.mld_statusopdr_upper LIKE '%AFGEMELD' OR + MLD_S.mld_statusopdr_upper LIKE '%INGEVOERD') OR + MLD_O.mld_statusopdr_key IS NULL) + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'AFGEMELD' + FROM mld_melding MLD_M + WHERE (EXISTS (SELECT MLD_O.mld_opdr_key + FROM mld_opdr MLD_O, mld_statusopdr MLD_SO + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key + AND MLD_SO.mld_statusopdr_upper LIKE '%AFGEMELD') + OR (MLD_M.mld_melding_afgemeld IS NOT NULL + AND MLD_M.mld_melding_verwerkt IS NULL) + ) + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'VERWERKT' + FROM mld_melding MLD_M + WHERE ((EXISTS (SELECT MLD_O.mld_opdr_key + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_upper LIKE '%VERWERKT') + AND NOT EXISTS (SELECT MLD_O.mld_opdr_key + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_upper NOT LIKE '%VERWERKT') + ) + OR MLD_M.mld_melding_verwerkt IS NOT NULL + ) + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'ALL' + FROM mld_melding MLD_M, + mld_opdr MLD_O + WHERE MLD_M.mld_melding_key = MLD_O.mld_melding_key (+) + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + ); + +/* View om in mld_v_mld_melding_gegeevens de openstaande en + * ingevoerde meldingen te kunnen tonen + */ +CREATE_VIEW(mld_v_melding_openopdr,NORMAAL_PRIVILEGE) AS +SELECT * +FROM mld_opdr +WHERE mld_opdr.mld_statusopdr_key IN + (SELECT mld_statusopdr_key + FROM mld_statusopdr + WHERE mld_statusopdr.mld_statusopdr_upper LIKE '%UITGEGEVEN' OR + mld_statusopdr.mld_statusopdr_upper LIKE '%AFGEMELD' OR + mld_statusopdr.mld_statusopdr_upper LIKE '%INGEVOERD'); + +CREATE_VIEW(mld_v_mld_openopdr_gegevens,NORMAAL_PRIVILEGE) ( mld_opdr_module, + mld_opdr_key, + mld_melding_key, + mld_statusopdr_key, + mld_statusopdr_omschrijving, + mld_opdr_datumbegin, + mld_opdr_datumuitgevoerd, + mld_opdr_dagen, + mld_alg_onroerendgoed_keys, + mld_uitvoerende_keys, + mld_opdr_contactpersoon, + mld_opdr_geprint, + mld_statussoort, + mld_opdr_bedrijfopdr_volgnr) AS + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_O.mld_uitvoerende_keys, + MLD_O.mld_opdr_contactpersoon, + MLD_O.mld_opdr_geprint, + 'OPEN', + MLD_O.mld_opdr_bedrijfopdr_volgnr + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_upper LIKE '%UITGEGEVEN' + OR MLD_S.mld_statusopdr_upper LIKE '%AFGEMELD' + OR MLD_S.mld_statusopdr_upper LIKE '%INGEVOERD') + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + UNION + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_O.mld_uitvoerende_keys, + MLD_O.mld_opdr_contactpersoon, + MLD_O.mld_opdr_geprint, + 'ALL', + MLD_O.mld_opdr_bedrijfopdr_volgnr + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + UNION + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_O.mld_uitvoerende_keys, + MLD_O.mld_opdr_contactpersoon, + MLD_O.mld_opdr_geprint, + 'INGEVOERD', + MLD_O.mld_opdr_bedrijfopdr_volgnr + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_upper LIKE '%INGEVOERD' + OR MLD_S.mld_statusopdr_upper LIKE '%UITGEGEVEN') + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + UNION + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_O.mld_uitvoerende_keys, + MLD_O.mld_opdr_contactpersoon, + MLD_O.mld_opdr_geprint, + 'AFGEMELD', + MLD_O.mld_opdr_bedrijfopdr_volgnr + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_upper LIKE '%AFGEMELD' + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + UNION + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_O.mld_uitvoerende_keys, + MLD_O.mld_opdr_contactpersoon, + MLD_O.mld_opdr_geprint, + 'VERWERKT', + MLD_O.mld_opdr_bedrijfopdr_volgnr + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_upper LIKE '%VERWERKT' + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ); + +/* MLD VIEW ZONDER INS-referentie */ +CREATE_VIEW(mld_v_mld_melding_gegevens,NORMAAL_PRIVILEGE)( mld_melding_key, + mld_melding_datum, + mld_melding_module, + mld_meldbron_key, + mld_oorzaak_key, + mld_stdmelding_key, + mld_melding_omschrijving, + mld_melding_username, + mld_melding_melder_naam, + mld_melding_uitvoertijd, + ins_discipline_key, + ins_srtgroep_key, + ins_srtdeel_key, + alg_locatie_key, + alg_gebouw_key, + alg_verdieping_key, + alg_ruimte_key, + alg_terreinsector_key) AS + SELECT MLD_M.mld_melding_key, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_module, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_omschrijving, + MLD_M.mld_melding_username, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_melding_uitvoertijd, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + TO_NUMBER(NULL), + MLD_M.mld_alg_locatie_key, + ALG_O.alg_gebouw_key, + ALG_O.alg_verdieping_key, + ALG_O.alg_ruimte_key, + ALG_O.alg_terreinsector_key + FROM mld_melding MLD_M, + alg_v_onroerendgoed ALG_O + WHERE MLD_M.mld_alg_onroerendgoed_keys = ALG_O.alg_onroerendgoed_keys; + +REM Deze VIEW kan een error opleveren, geeft niet want volgende +REM CREATE-statement is dan wel goed gegaan. + +/* MLD VIEW MET INS-referentie + * In deze views worden velden van INS wel opgenomen, maar bij het + * ontbreken van de INS-module zijn deze velden leeg. Dit is niet mooi, + * maar kan niet anders voor de forms. + */ +CREATE_VIEW(mld_v_mld_melding_gegevens,NORMAAL_PRIVILEGE)( mld_melding_key, + mld_melding_datum, + mld_melding_module, + mld_meldbron_key, + mld_oorzaak_key, + mld_stdmelding_key, + mld_melding_omschrijving, + mld_melding_username, + mld_melding_melder_naam, + mld_melding_uitvoertijd, + ins_discipline_key, + ins_srtgroep_key, + ins_srtdeel_key, + alg_locatie_key, + alg_gebouw_key, + alg_verdieping_key, + alg_ruimte_key, + alg_terreinsector_key) AS + SELECT MLD_M.mld_melding_key, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_module, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_omschrijving, + MLD_M.mld_melding_username, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_melding_uitvoertijd, + MLD_M.mld_ins_discipline_key, + INS_SI.ins_srtgroep_key, + INS_SI.ins_srtinst_keys, + MLD_M.mld_alg_locatie_key, + ALG_O.alg_gebouw_key, + ALG_O.alg_verdieping_key, + ALG_O.alg_ruimte_key, + ALG_O.alg_terreinsector_key + FROM mld_melding MLD_M, + alg_v_onroerendgoed ALG_O, + ins_v_srtinst_discipline INS_SI + WHERE MLD_M.mld_alg_onroerendgoed_keys = ALG_O.alg_onroerendgoed_keys + AND MLD_M.mld_ins_srtinst_keys = INS_SI.ins_srtinst_keys (+); + +REM Deze VIEW kan een error opleveren, geeft niet want het vorige +REM CREATE-statement moet dan wel goed gaan. + + +/* MLD_V_OVZ MET Installaties */ +CREATE_VIEW(MLD_V_OVZ,NORMAAL_PRIVILEGE) (ALG_LOCATIE_KEY, ALG_LOCATIE_OMSCHRIJVING, + ALG_ONRGOED_KEY, ALG_GEBOUW_KEY, + ALG_TERREINSECTOR_KEY, ALG_ONRGOED_OMSCHRIJVING, + INS_DISCIPLINE_KEY, INS_DISCIPLINE_OMSCHRIJVING, + INS_SRTGROEP_KEY, INS_SRTGROEP_OMSCHRIJVING, + MLD_UITVOERENDE_KEYS, MLD_UITVOERENDE_OMSCHRIJVING, + MLD_MELDING_KEY, MLD_OPDR_KEY, MLD_OPDR_DATUMUITGEVOERD, + MLD_OPDR_WERKZAAMHEDEN, MLD_UREN, MLD_MATERIAAL, + MLD_KOSTEN, MLD_OPDR_MODULE, + MLD_TYPEOPDR_KEY, + MLD_TYPEOPDR_OMSCHRIJVING +#ifdef MRA + , MRA_HFDCATEGORIE_KEY, MRA_HFDCATEGORIE_OMSCHRIJVING, + MRA_SRTGROEPVERV_KEY, MRA_SRTGROEPVERV_OMSCHRIJVING +#endif + ) AS + SELECT ALG_L.ALG_LOCATIE_KEY, + ALG_L.ALG_LOCATIE_OMSCHRIJVING, + MLD_OL.ALG_ONROERENDGOED_KEYS, + MLD_OL.ALG_GEBOUW_KEY, + MLD_OL.ALG_TERREINSECTOR_KEY, + MLD_OL.ALG_ONRGOED_OMSCHRIJVING, +#ifdef INS + INS_D.INS_DISCIPLINE_KEY, + INS_D.INS_DISCIPLINE_OMSCHRIJVING, + INS_D.INS_SRTGROEP_KEY, + INS_D.INS_SRTGROEP_OMSCHRIJVING, +#else + to_number(NULL), + NULL, + to_number(NULL), + NULL, +#endif + MLD_U.KEY, + MLD_U.NAAM, + MLD_M.MLD_MELDING_KEY, + MLD_O.MLD_OPDR_KEY, + MLD_O.MLD_OPDR_DATUMUITGEVOERD, + MLD_O.MLD_OPDR_WERKZAAMHEDEN, + MLD_O.MLD_OPDR_UREN, + MLD_O.MLD_OPDR_MATERIAAL, + MLD_O.MLD_OPDR_KOSTEN, + MLD_O.MLD_OPDR_MODULE, + MLD_T.MLD_TYPEOPDR_KEY, + MLD_T.MLD_TYPEOPDR_OMSCHRIJVING +#ifdef MRA + , MRA_H.MRA_HFDCATEGORIE_KEY, + MRA_H.MRA_HFDCATEGORIE_OMSCHRIJVING, + MRA_SGV.MRA_SRTGROEPVERV_KEY, + MRA_SGV.MRA_SRTGROEPVERV_OMSCHRIJVING +#endif + FROM MLD_OPDR MLD_O, + MLD_MELDING MLD_M, + MLD_V_ONROERENDGOED_LOCATIE MLD_OL, + ALG_LOCATIE ALG_L, +#ifdef INS + INS_V_SRTINST_DISCIPLINE INS_D, +#endif + MLD_V_UITVOERENDE MLD_U, + MLD_STATUSOPDR MLD_S, + MLD_TYPEOPDR MLD_T +#ifdef MRA + , MRA_CATEGORIE MRA_C, + MRA_HFDCATEGORIE MRA_H, + MRA_SRTDEELVERV MRA_SDV, + MRA_SRTGROEPVERV MRA_SGV +#endif + WHERE MLD_O.MLD_MELDING_KEY = MLD_M.MLD_MELDING_KEY + AND MLD_M.MLD_ALG_ONROERENDGOED_KEYS = MLD_OL.ALG_ONROERENDGOED_KEYS + AND MLD_OL.alg_locatie_key = ALG_L.alg_locatie_key + AND MLD_O.MLD_UITVOERENDE_KEYS = MLD_U.KEY + AND MLD_O.MLD_STATUSOPDR_KEY = MLD_S.MLD_STATUSOPDR_KEY + AND MLD_S.MLD_STATUSOPDR_UPPER LIKE '%VERWERKT' + AND MLD_O.MLD_TYPEOPDR_KEY = MLD_T.MLD_TYPEOPDR_KEY +#ifdef INS + AND MLD_M.MLD_INS_SRTINST_KEYS = INS_D.INS_SRTINST_KEYS (+) +#endif +#ifdef MRA + AND MLD_M.MRA_CATEGORIE_KEY = MRA_C.MRA_CATEGORIE_KEY (+) + AND MRA_C.MRA_HFDCATEGORIE_KEY = MRA_H.MRA_HFDCATEGORIE_KEY (+) + AND MLD_M.MRA_SRTDEELVERV_KEY = MRA_SDV.MRA_SRTDEELVERV_KEY (+) + AND MRA_SDV.MRA_SRTGROEPVERV_KEY = MRA_SGV.MRA_SRTGROEPVERV_KEY (+) +#endif + ; + + +CREATE_VIEW(mld_v_bestelopdr_gegevens,NORMAAL_PRIVILEGE) AS + SELECT MLD_BO.mld_bestelopdr_key, MLD_BO.mld_bestelopdr_module, + MLD_BO.mld_bestelopdr_datum, + MLD_BO.mld_alg_locatie_key, MLD_BO.mld_prs_bedrijf_key, + PRS_B.prs_bedrijf_naam, ALG_L.alg_locatie_omschrijving + FROM mld_bestelopdr MLD_BO, prs_bedrijf PRS_B, + alg_v_aanweziglocatie ALG_L + WHERE MLD_BO.mld_prs_bedrijf_key = PRS_B.prs_bedrijf_key + AND MLD_BO.mld_alg_locatie_key = ALG_L.alg_locatie_key; + + + + + + + + + +#if 0 +/* DEZE VIEWS ZIJN WAARSCHIJNLIJK NIET MEER NODIG IN DE FORMS EN PLL's */ + +CREATE_VIEW(mld_v_typeopdr,NORMAAL_PRIVILEGE) AS +SELECT mld_typeopdr_key, mld_typeopdr_omschrijving, mld_typeopdr_upper +FROM mld_typeopdr +WHERE mld_typeopdr_module = 'MLD'; + +CREATE_VIEW(mld_v_statusopdr,NORMAAL_PRIVILEGE) AS +SELECT mld_statusopdr_key, mld_statusopdr_omschrijving, mld_statusopdr_upper +FROM mld_statusopdr +WHERE mld_statusopdr_module = 'MLD'; + +/* MLD VIEW MET INS-referentie + * In deze views worden velden van INS wel opgenomen, maar bij het + * ontbreken van de INS-module zijn deze velden leeg. Dit is niet mooi, + * maar kan niet anders voor de forms. + */ +CREATE_VIEW(mld_v_mld_melding_gegevens,NORMAAL_PRIVILEGE)( mld_melding_key, + mld_melding_datum, + mld_melding_module, + ins_discipline_key, + alg_locatie_key, + alg_locatie_code, + alg_locatie_omschrijving, + alg_locatie_upper, + alg_onrgoed_omschrijving) AS + SELECT MLD_M.mld_melding_key, MLD_M.mld_melding_datum, + MLD_M.mld_melding_module, + INS_SI.ins_discipline_key, ALG_L.alg_locatie_key, + ALG_L.alg_locatie_code, ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_upper, ALG_OL.alg_onrgoed_omschrijving + FROM mld_melding MLD_M, mld_v_melding_openopdr MLD_O, alg_v_onroerendgoed ALG_O, + mld_v_onroerendgoed_locatie ALG_OL, alg_v_aanweziglocatie ALG_L, + ins_v_srtinst_discipline INS_SI + WHERE MLD_M.mld_melding_key = MLD_O.mld_melding_key + AND MLD_M.mld_alg_onroerendgoed_keys = ALG_O.alg_onroerendgoed_keys + AND ALG_O.alg_onroerendgoed_keys = ALG_OL.alg_onroerendgoed_keys + AND ALG_OL.alg_locatie_key = ALG_L.alg_locatie_key + AND MLD_M.mld_ins_srtinst_keys = INS_SI.ins_srtinst_keys (+); + +REM Deze VIEW kan een error opleveren, geeft niet want het volgende +REM CREATE-statement moet dan wel goed gaan. + +/* MLD VIEW ZONDER INS-referentie */ +CREATE_VIEW(mld_v_mld_melding_gegevens,NORMAAL_PRIVILEGE)( mld_melding_key, + mld_melding_datum, + mld_melding_module, + ins_discipline_key, + alg_locatie_key, + alg_locatie_code, + alg_locatie_omschrijving, + alg_locatie_upper, + alg_onrgoed_omschrijving) AS + SELECT MLD_M.mld_melding_key, MLD_M.mld_melding_datum, + MLD_M.mld_melding_module, + to_number(NULL), ALG_L.alg_locatie_key, ALG_L.alg_locatie_code, + ALG_L.alg_locatie_omschrijving, ALG_L.alg_locatie_upper, + ALG_OL.alg_onrgoed_omschrijving + FROM mld_melding MLD_M, mld_v_melding_openopdr MLD_O, alg_v_onroerendgoed ALG_O, + mld_v_onroerendgoed_locatie ALG_OL, alg_v_aanweziglocatie ALG_L + WHERE MLD_M.mld_melding_key = MLD_O.mld_melding_key + AND MLD_M.mld_alg_onroerendgoed_keys = ALG_O.alg_onroerendgoed_keys + AND ALG_O.alg_onroerendgoed_keys = ALG_OL.alg_onroerendgoed_keys + AND ALG_OL.alg_locatie_key = ALG_L.alg_locatie_key; + +REM Deze VIEW kan een error opleveren, geeft niet want vorige +REM CREATE-statement is dan wel goed gegaan. + + +/* + View voor de form mld_216.fmb + */ +CREATE_VIEW(mld_v_mld_opdr_gegevens,NORMAAL_PRIVILEGE) AS + SELECT MLD_O.mld_opdr_key, MLD_O.mld_melding_key, + MLD_O.mld_opdr_module, + MLD_O.mld_typeopdr_key, MLD_O.mld_statusopdr_key, + MLD_O.mld_opdr_datumbegin, MLD_O.mld_opdr_dagen, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_T.mld_typeopdr_omschrijving, MLD_T.mld_typeopdr_upper, + MLD_T.mld_typeopdr_module, + MLD_S.mld_statusopdr_omschrijving, MLD_S.mld_statusopdr_upper, + MLD_S.mld_statusopdr_module + FROM mld_opdr MLD_O, mld_typeopdr MLD_T, mld_statusopdr MLD_S + WHERE MLD_O.mld_typeopdr_key = MLD_T.mld_typeopdr_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key +; + +/* + View voor de form mld_217.fmb + +CREATE_VIEW(mld_v_mld_openopdr_gegevens,NORMAAL_PRIVILEGE) AS + SELECT MLD_O.mld_opdr_key, MLD_O.mld_melding_key, + MLD_O.mld_opdr_module, + MLD_O.mld_statusopdr_key, MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_dagen, MLD_O.mld_opdr_datumuitgevoerd, + MLD_S.mld_statusopdr_omschrijving, + MLD_S.mld_statusopdr_upper, MLD_S.mld_statusopdr_module, + MLD_M.ins_discipline_key, MLD_M.alg_locatie_key, + MLD_M.alg_locatie_code, MLD_M.alg_locatie_omschrijving, + MLD_M.alg_locatie_upper, MLD_M.alg_onrgoed_omschrijving + FROM mld_v_openopdr MLD_O, mld_v_mld_melding_gegevens MLD_M, + mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key +AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key; + */ + +/* MLD_V_OVZ ZONDER Installaties */ +CREATE_VIEW(MLD_V_OVZ,NORMAAL_PRIVILEGE) (ALG_LOCATIE_KEY, ALG_LOCATIE_OMSCHRIJVING, + ALG_ONRGOED_KEY, ALG_GEBOUW_KEY, + ALG_TERREINSECTOR_KEY, ALG_ONRGOED_OMSCHRIJVING, + INS_DISCIPLINE_KEY, INS_DISCIPLINE_OMSCHRIJVING, + INS_SRTGROEP_KEY, INS_SRTGROEP_OMSCHRIJVING, + MLD_UITVOERENDE_KEYS, MLD_UITVOERENDE_OMSCHRIJVING, + MLD_MELDING_KEY, MLD_OPDR_DATUMUITGEVOERD, + MLD_OPDR_WERKZAAMHEDEN, MLD_UREN, MLD_MATERIAAL, + MLD_KOSTEN, MLD_OPDR_MODULE, + MLD_TYPEOPDR_KEY, + MLD_TYPEOPDR_OMSCHRIJVING) AS + SELECT ALG_L.ALG_LOCATIE_KEY, + ALG_L.ALG_LOCATIE_OMSCHRIJVING, + MLD_OL.ALG_ONROERENDGOED_KEYS, + MLD_OL.ALG_GEBOUW_KEY, + MLD_OL.ALG_TERREINSECTOR_KEY, + MLD_OL.ALG_ONRGOED_OMSCHRIJVING, + MLD_U.KEY, + MLD_U.NAAM, + MLD_M.MLD_MELDING_KEY, + MLD_O.MLD_OPDR_DATUMUITGEVOERD, + MLD_O.MLD_OPDR_WERKZAAMHEDEN, + MLD_O.MLD_OPDR_UREN, + MLD_O.MLD_OPDR_MATERIAAL, + MLD_O.MLD_OPDR_KOSTEN, + MLD_O.MLD_OPDR_MODULE, + MLD_T.MLD_TYPEOPDR_KEY, + MLD_T.MLD_TYPEOPDR_OMSCHRIJVING + FROM MLD_OPDR MLD_O, + MLD_MELDING MLD_M, + MLD_V_ONROERENDGOED_LOCATIE MLD_OL, + ALG_LOCATIE ALG_L, + MLD_V_UITVOERENDE MLD_U, + MLD_STATUSOPDR MLD_S, + MLD_TYPEOPDR MLD_T + WHERE MLD_O.MLD_MELDING_KEY = MLD_M.MLD_MELDING_KEY + AND MLD_M.MLD_ALG_ONROERENDGOED_KEYS = MLD_OL.ALG_ONROERENDGOED_KEYS + AND MLD_OL.alg_locatie_key = ALG_L.alg_locatie_key + AND MLD_O.MLD_UITVOERENDE_KEYS = MLD_U.KEY + AND MLD_O.MLD_STATUSOPDR_KEY = MLD_S.MLD_STATUSOPDR_KEY + AND MLD_S.MLD_STATUSOPDR_UPPER LIKE '%VERWERKT' + AND MLD_O.MLD_TYPEOPDR_KEY = MLD_T.MLD_TYPEOPDR_KEY; + +REM Deze VIEW kan een error opleveren, geeft niets want het vorige +REM CREATE-statement gaat dan wel goed. +#endif // 0 + +#endif // MLD diff --git a/MODULES.H b/MODULES.H new file mode 100644 index 00000000..76c30946 --- /dev/null +++ b/MODULES.H @@ -0,0 +1,420 @@ +/* + * MODULEDEFINITIES + * + * Beschikbare targets (in environment variable 'cust'): + * ALL - Alles (exclusief data) + * ACH - Akzo Chemicals Hengelo + * BCO - BCO + * DAT - Alleen data + * DYK - Dijkoraad + * IBG - Informatie Beheer Groep (Groningen) + * NAT - NATCO (Service Desk) + * PMK - Prinses Margriet Kazerne (DGW&T) (LET OP: 'DATA' STAAT UIT!) + * RHY - Rijkshogeschool IJselland (Deventer) + * SON - Sonneheerdt (Ermelo) + * RAB - Rabobank (Deventer) + * GMS - Akzo (Arnhem) + * + * Beschikbare modules voor targets: + * ALG - Algemeen (onroerend goed) + * AKZ - AKZO-specifieke importzaken + * ARB - ARBO (deel van MARS) + * ATT - Attributen module + * BCO - Correctief (NIET MEER VAN TOEPASSING: ZIE SM45!) + * BCP - Preventief (NIET MEER VAN TOEPASSING: ZIE SM45!) + * BEB - Bebis functionaliteit + * BIS - Bodem Informatie Systeem functionaliteit + * CAD - AutoCAD koppeling + * FAC - Basismodule (altijd aanwezig) + * HUI - Huismeester module + * INB - Installaties (bibliotheek) + * INR - Installaties (registratie) + * INS - Installaties (tabellen, ook voor INV nodig!) + * INV - Inventaris + * LEV - Leveringen + * MIL - Milieu (deel van MARS) + * MLD - Meldingen (basis) + * MRA - MARS (Milieu en ARBO Registratie Systeem) + * PRR - Personen (registratie) + * PRS - Personen (kleine basisset tbv. Meldingen) + * RAP - Rapport module (geen src voor nodig) + * SCH - Schoonmaak + * SLE - Sleutelplan + * + * COA - ContourA beschikbaar + * DATA - Data voor diverse modules inserten + * + * ACAD - een vorm van CAD beschikbaar (zie volgende lijst:) + * ACAD12 - AutoCAD versie 12 voor Windows beschikbaar + * ACAD13 - AutoCAD versie 13 voor Windows beschikbaar + * ACVQ - AutoCAD/VQ beschikbaar + * AVIEW - Autodesk View beschikbaar + * + * History: + * + * --- 01.40 --- + * --- 01.39 --- + * 31-07-98 PF INB voor ACH toegevoegd (voor CAD_TEKENING etc) + * --- 01.38 --- + * --- 01.37 --- + * 22-05-98 KTH LOG#1821: Module CAD bij ALL, ACH en GMS toegevoegd + * 14-05-98 KTH Module SCH bij GMS verwijderd (krijgen een eigen 'SCH') + * --- 01.36 --- + * 06-05-98 KTH Module BIS toegevoegd aan CUST=ALL + * --- 01.35 --- + * 12-03-98 KTH CUST=ACH toegevoegd met modules ALG,FAC,BIS + * --- 01.34 --- + * 26/02/1998 AH Bij CUST=ALL ook AKZ toegevoegd + * 19/02/1998 AH #define AKZ toegevoeg. + * 06/01/1998 AH Target GMS (Akzo) toegevoegd + * --- 01.33 --- + * 02-09-97 KTH Overbodig: + * - BCO: uitgecommentarieerd + * Tbv CAD-beschrijving in Help en Doc: + * - ALL: #defines ACAD12,ACAD13,ACVQ,AVIEW toegevoegd + * - DYK: #defines ACAD12,ACAD13 toegevoegd + * - IBG: #defines ACAD13,AVIEW toegevoegd (tbv Help/doc) + * - PMK: #define ACVQ toegevoegd + * - RHY: #define ACAD12 toegevoegd + * - SON: #define ACVQ toegevoegd + * - RAB: #defines ACAD13,AVIEW toegevoegd + * --- 01.32 --- + * 19-08-97 KTH Module ATT toegevoegd aan IBG (cf RAB) + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * 03-07-97 KTH Module ACAD toegevoegd aan IBG + * 23-04-96 KTH Target IBG toegevoegd: ALG,COA,DATA,FAC,INS,INB,INR,MLD,PRR, + * PRS,SCH + * --- 01.27 --- + * 16-04-97 KTH module DATA aan BBS toegevoegd + * --- 01.26 --- + * 14-04-97 AH RAB-target: ATT-module toegevoegd + * 01-04-97 AH RAB-target toegevoegd + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * 11-11-96/KTH DYK; verwijderd: BCO,BCP,INR,HUI,MRA (maw. SON+RHY funct.) + * --- 01.22 --- + * 08-11-96 KTH - Geen SCH voor NAT + * - commentaar betreffende PRR toegevoegd bij NAT + * --- 01.21 --- + * 21-10-96 KTH BEB aan customer ALL toegevoegd + * 16-10-96 KTH Customer BBS toegevoegd en module BEB + * 10-10-96 KTH _BUILDTAGS uitbreiden met MAN voor MANUAL (wordt overgelsagen + * voor Help) + * 09-10-96 KTH MANUAL en PICTURES defineren wanneer MAN gedefinieerd is + * 08-10-96 KTH - Module COA (ContourA) toegevoegd voor ALL,DYK en RHY + * - _CUSTHELPDIR overbodig + * 25-09-96 KTH _CUSTHELPDIR geintroduceerd voor Help + * 24-09-96 KTH Module BEV weer verwijderd + * 23-09-96 PF SCH aan NAT toegevoegd.. (tijdelijk?) + * --- 01.20 --- + * 17-09-96 KTH Modules ARB en MIL toegevoegd tbv. MARS-Help + * 16-09-96 KTH Module INR verwijderd voor PMK (MARS) + * 16-09-96 KTH #define ACAD toegevoegd waar relevant ivm. Help + * --- 01.19 --- + * 27-08-96 KTH Voor NAT: HUI bij buildtags erbij, ATT weg + * 30-07-96 KTH Module BEV toegevoegd + * --- 01.18 --- + * --- 01.17 --- + * 21-06-96 KTH Module HUI uit commentaar gehaald en toegevoegd aan DYK + * 10-06-96 KTH [#609] Modules HUI en RAP toegevoegd + * --- 01.16 --- + * 05-06-96 KTH Module ATT voor Dijkoraad uitgecommentarieerd (nog niet klaar) + * 04-06-96 KTH INB wordt installaties (bibliotheek) + * 03-06-96 PF ATT bij NAT verwijderd + * 03-06-96 KTH Target DYK (Dijkoraad) toegevoegd + * --- 01.15 --- + * 15-05-96 PF target NAT added + * 03-05-96 PF #elsif replaced by #elif + * 03-05-96 PF Remark: target replaced by cust in this file (line 4) + * 01-05-96 KTH - Modules ATT en LEV toegevoegd aan target ALL + * - #elsif gebruiken anders gaat het voor BCO 2 keer en krijg je + * alsnog DATA + * 22-04-96 KTH Define _BUILDTAGS toegevoegd voor precompile-slag voor Help + * 19-04-96 KTH - SCH toegevoegd aan RHY + * - alle uit te voeren defines definieren zichzelf weer + * ivm. mogelijk ongewenste tekst-substituties + * --- 01.14 --- + * 16-04-96 KTH - INR toegevoegd aan target PMK + * - DATA uit voor PMK + * 11-04-96 KTH Target BCO toegevoegd + * --- 01.13 --- + * --- 01.12 --- + * 03-04-96 KTH Target DAT toegevoegd + * 20-03-96 KTH Targets SON, RHY en PMK toegevoegd + */ + +#ifdef MAN + #define MANUAL MANUAL + #define PICTURES PICTURES +#endif + +/* ALL - Alle modules */ +#if defined(ALL)||defined(all) + #ifdef MAN + #define _BUILDTAGS MAN|ACAD|ACAD12|ACAD13|ACVQ|AVIEW|ALG|ATT|BCO|BCP|BEB|BIS|CAD|COA|FAC|HUI|INB|INR|INS|INV|LEV|MLD|MRA|PRR|PRS|RAP|SCH|SLE + #else + #define _BUILDTAGS ACAD|ACAD12|ACAD13|ACVQ|AVIEW|ALG|ATT|BCO|BCP|BEB|BIS|CAD|COA|FAC|HUI|INB|INR|INS|INV|LEV|MLD|MRA|PRR|PRS|RAP|SCH|SLE + #endif + #define ACAD ACAD + #define ACAD12 ACAD12 + #define ACAD13 ACAD13 + #define ACVQ ACVQ + #define AVIEW AVIEW + #define ALG ALG + #define ATT ATT + #define BCO BCO + #define BCP BCP + #define BEB BEB + #define BIS BIS + #define CAD CAD + #define COA COA + #define FAC FAC + #define HUI HUI + #define INB INB + #define INR INR + #define INS INS + #define INV INV + #define LEV LEV + #define MLD MLD + #define MRA MRA + #define PRR PRR + #define PRS PRS + #define RAP RAP + #define SCH SCH + #define SLE SLE + #define AKZ AKZ + /* #define DATA DATA */ + +/* ACH - Akzo Chemicals Hengelo */ +#elif defined(ACH)||defined(ach) + #ifdef MAN + #define _BUILDTAGS MAN|ALG|BIS|CAD|FAC + #else + #define _BUILDTAGS ALG|BIS|CAD|FAC + #endif + #define ALG ALG + #define CAD CAD + #define FAC FAC + #define BIS BIS + #define INS INS + #define DATA DATA + +/* BCO - BCO */ +/* #elif defined(BCO)||defined(bco) */ +/* #ifdef MAN */ +/* #define _BUILDTAGS MAN|ALG|BCO|BCP|FAC|INB|INR|INS|MLD|PRS */ +/* #else */ +/* #define _BUILDTAGS ALG|BCO|BCP|FAC|INB|INR|INS|MLD|PRS */ +/* #endif */ +/* #define ALG ALG */ +/* #define BCO BCO */ +/* #define BCP BCP */ +/* #define FAC FAC */ +/* #define INB INB */ +/* #define INR INR */ +/* #define INS INS */ +/* #define MLD MLD */ +/* #define PRS PRS */ +/* #define DATA DATA */ + +/* BBS - Bebis */ +#elif defined(BBS)||defined(bbs) + #ifdef MAN + #define _BUILDTAGS MAN|ALG|BEB|FAC|INB|INR|INS + #else + #define _BUILDTAGS ALG|BEB|FAC|INB|INR|INS + #endif + #define ALG ALG + #define BEB BEB + #define FAC FAC + #define INS INS + #define INR INR + #define INB INB + #define DATA DATA + +/* DAT - Data */ +#elif defined(DAT)||defined(dat) + #define DATA DATA + +/* DYK - Dijkoraad */ +#elif defined(DYK)||defined(dyk) + /* 11-11-96/KTH Verwijderd: BCO,BCP,INR,HUI,MRA (maw. SON+RHY funct.) */ + #ifdef MAN + #define _BUILDTAGS MAN|ACAD|ACAD12|ACAD13|ALG|ATT|COA|FAC|INB|INS|INV|MLD|PRR|PRS|SCH|SLE + #else + #define _BUILDTAGS ACAD|ACAD12|ACAD13|ALG|ATT|COA|FAC|INB|INS|INV|MLD|PRR|PRS|SCH|SLE + #endif + #define ACAD ACAD + #define ACAD12 ACAD12 + #define ACAD13 ACAD13 + #define ALG ALG +/* #define ATT ATT */ +/* #define BCO BCO */ +/* #define BCP BCP */ + #define COA COA + #define FAC FAC +/* #define HUI HUI */ + #define INB INB +/* #define INR INR */ + #define INS INS + #define INV INV +/* #define LEV LEV Kan (nog) niet tegelijk met BCO/BCP */ + #define MLD MLD +/* #define MRA MRA */ + #define PRR PRR + #define PRS PRS + #define SCH SCH + #define SLE SLE + #define DATA DATA + +/* GMS - Akzo Arnhem */ +#elif defined(GMS)||defined(gms) + #ifdef MAN + #define _BUILDTAGS MAN|ACAD|ACAD14|AVIEW|ALG|ATT|CAD|COA|FAC|INB|INR|INS|MLD|PRR|PRS|SLE + #else + #define _BUILDTAGS ACAD|ACAD14|AVIEW|ALG|ATT|CAD|COA|FAC|INB|INR|INS|MLD|PRR|PRS|SLE + #endif + #define ACAD ACAD + #define ACAD14 ACAD14 + #define AVIEW AVIEW + #define ALG ALG + #define AKZ AKZ /* inclusief de AKZ-specifieke 'SCH' */ + #define ATT ATT + #define CAD CAD + #define COA COA + #define FAC FAC + #define INB INB + #define INR INR + #define INS INS + #define MLD MLD + #define PRR PRR + #define PRS PRS + #define SLE SLE + #define DATA DATA + +/* IBG - Informatie Beheer Groep */ +#elif defined(IBG)||defined(ibg) + #ifdef MAN + #define _BUILDTAGS MAN|ACAD|ACAD13|AVIEW|ALG|ATT|COA|FAC|INB|INR|INS|MLD|PRR|PRS|SCH + #else + #define _BUILDTAGS ACAD|ACAD13|AVIEW|ALG|ATT|COA|FAC|INB|INR|INS|MLD|PRR|PRS|SCH + #endif + #define ACAD ACAD + #define ACAD13 ACAD13 + #define AVIEW AVIEW + #define ALG ALG + #define ATT ATT + #define COA COA + #define FAC FAC + #define INB INB + #define INR INR + #define INS INS + #define MLD MLD + #define PRR PRR + #define PRS PRS + #define SCH SCH + #define DATA DATA + +/* NAT - NatCo:ServiceDesk */ +#elif defined(NAT)||defined(nat) + #ifdef MAN + #define _BUILDTAGS MAN|ALG|FAC|HUI|INS|INV|LEV|PRS + #else + #define _BUILDTAGS ALG|FAC|HUI|INS|INV|LEV|PRS + #endif + #define ALG ALG + #define FAC FAC + #define HUI HUI + #define INS INS /* alleen tabellen voor INV */ + #define INV INV + #define LEV LEV + #define PRS PRS + /* 08-11-96/KTH + * Let op: geen PRR nodig, wordt met '#ifdef HUI' gerealiseerd, ervan + * uitgaande dat PRR-tabellen beschikbaar zijn wanneer PRS is gedefinieerd + */ + #define DATA DATA + +/* PMK - Prinses Margriet Kazerne */ +#elif defined(PMK)||defined(pmk) + #ifdef MAN + #define _BUILDTAGS MAN|ACAD|ACVQ|ARB|ALG|FAC|INB|INS|MIL|MLD|MRA|PRS + #else + #define _BUILDTAGS ACAD|ACVQ|ARB|ALG|FAC|INB|INS|MIL|MLD|MRA|PRS + #endif + #define ACAD ACAD + #define ACVQ ACVQ + #define ALG ALG + #define ARB ARB + #define FAC FAC + #define INB INB + #define INS INS + #define MLD MLD + #define MIL MIL + #define MRA MRA + #define PRS PRS + #define DATA DATA + +/* RHY - Rijkshogeschool IJselland */ +#elif defined(RHY)||defined(rhy) + #ifdef MAN + #define _BUILDTAGS MAN|ACAD|ACAD12|ALG|COA|FAC|INS|INV|PRR|PRS|SCH|SLE + #else + #define _BUILDTAGS ACAD|ACAD12|ALG|COA|FAC|INS|INV|PRR|PRS|SCH|SLE + #endif + #define ACAD ACAD + #define ACAD12 ACAD12 + #define ALG ALG + #define COA COA + #define FAC FAC + #define INS INS /* alleen tabellen voor INV */ + #define INV INV + #define PRR PRR + #define PRS PRS + #define SCH SCH + #define SLE SLE + #define DATA DATA + +/* SON - Sonneheerdt */ +#elif defined(SON)||defined(son) + #ifdef MAN + #define _BUILDTAGS MAN|ACAD|ACVQ|ALG|FAC|INB|INS|MLD|PRS + #else + #define _BUILDTAGS ACAD|ACVQ|ALG|FAC|INB|INS|MLD|PRS + #endif + #define ACAD ACAD + #define ACVQ ACVQ + #define ALG ALG + #define FAC FAC + #define INB INB /* geen registratie */ + #define INS INS + #define MLD MLD + #define PRS PRS + #define DATA DATA + +/* RAB - Rabobank */ +#elif defined(RAB)||defined(rab) + #ifdef MAN + #define _BUILDTAGS MAN|ACAD|ACAD13|AVIEW|ALG|ATT|FAC|INB|INR|INS|MLD|PRS|SLE + #else + #define _BUILDTAGS ACAD|ALG|ACAD13|AVIEW|ATT|FAC|INB|INR|INS|MLD|PRS|SLE + #endif + #define ACAD ACAD + #define ACAD13 ACAD13 + #define AVIEW AVIEW + #define ALG ALG + #define ATT ATT + #define FAC FAC + #define INB INB + #define INR INR + #define INS INS + #define MLD MLD + #define PRS PRS + #define SLE SLE + #define DATA DATA + +#endif diff --git a/PRS/.gitignore b/PRS/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/PRS/PRS_IND.SRC b/PRS/PRS_IND.SRC new file mode 100644 index 00000000..778cf8ce --- /dev/null +++ b/PRS/PRS_IND.SRC @@ -0,0 +1,47 @@ +#ifdef PRS // 13-03-96 AH + +/* + * Revisie: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 18-01-96 RW complete remake + */ + +create index prs_i_prs_afdeling1 on prs_afdeling(prs_afdeling_parentkey); + +create index prs_i_prs_perslid1 on prs_perslid(prs_srtperslid_key); +create index prs_i_prs_perslid2 on prs_perslid(prs_afdeling_key); + +create index prs_i_prs_perslidwerkplek1 on prs_perslidwerkplek(prs_perslid_key); +create index prs_i_prs_perslidwerkplek2 on prs_perslidwerkplek(prs_werkplek_key); + +#endif // PRS diff --git a/PRS/PRS_INI.SRC b/PRS/PRS_INI.SRC new file mode 100644 index 00000000..3c0e6113 --- /dev/null +++ b/PRS/PRS_INI.SRC @@ -0,0 +1,60 @@ +#ifdef PRS // 13-03-96 AH + +/* + * PRS tables for Facilitor: installation time population + */ + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 20-05-98 KTH Gebruik macro _FAC_MODULE + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 19/02/1998 AH Nieuwe #define AKZ gebruikt + * 11/02/1998 AH Record ONBEKEND voor PRS_SRTPERSLID toegevoegd voor AKZ_PRSIMPORT. + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 03-04-96 KTH #ifdef PRR om 'INSERT INTO fac_module...PRR...' gezet + * 01-04-96 KTH 02.03 + * 19-03-96 KTH 02.02 + * 08-03-96 KTH Module PRR toegevoegd (registratie-deel van PRS='grote PRS') + * 16-02-96 PF 02.01 + * 05-02-96 KTH Spool toegevoegd + * 03-01-96 PF Gebruik sysdate + * 20-12-95 PF Creation + */ + +_FAC_MODULE('PRS','Personen (standaard)') +#ifdef PRR +_FAC_MODULE('PRR','Personen (werkplekken)') +#endif // PRR + +#ifdef AKZ +INSERT INTO prs_srtperslid (prs_srtperslid_omschrijving) VALUES('Onbekend'); +#endif // AKZ + +#endif // PRS diff --git a/PRS/PRS_PAC.SRC b/PRS/PRS_PAC.SRC new file mode 100644 index 00000000..ce59d321 --- /dev/null +++ b/PRS/PRS_PAC.SRC @@ -0,0 +1,238 @@ +#ifdef PRS + +/* PRS_PAC.SRC + * + * Revisie: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * 14-07-97 AH Extra argument ArgEditMode toegevoegd. + * 10-07-97 AH Aangemaakt + */ + +/* Bepaal de oppervlakte van een werkplek + * Argumenten: + * - ArgWerkplekKey : De PRS_WERKPLEK_KEY. Als deze NULL is dan wordt de + * variabele oppervlakte berekend. + * - ArgRuimteKey : De PRS_ALG_RUIMTE_KEY, als deze bekand is. + * Als deze -1 is, dan wordt de ruimte opgezocht in PRS_WERKPLEK. + * LET OP: ArgWerkplekKey OF ArgRuimteKey moet gegeven zijn. + * - ArgRuimteBrutoVloerOpp : De ALG_RUIMTE_BRUTO_VLOEROPP, als deze bekend is, + * Als deze -1 is, dan wordt de bruto vloeropp. opgezocht in ALG_RUIMTE. + * - ArgWerkplekVastOpp : De PRS_WERKPLEK_VASTOPP die aangeeft of de werkpplek een + * vaste oppervlakte heeft. Als deze -1 is dan wordt deze opgezocht in PRS_WERKPLEK + * - ArgWerkplekOpp: De PRS_WERKPLEK_OPP, Als deze -1 is, dan wordt deze opgezocht + * in PRS_WERKPLEK. + * - ArgEditMode: Als in een mutatiestand (PRS114) een oppervlakte bepaald moet worden. + * De waardes zijn NULL, 'ADD' of 'CHANGE'. + * De volgende zaken moeten dan meegegeven worden: + * Bij 'ADD': ArgWerkplekKey = NULL, ArgRuimteKey, ArgWerkplekVastOpp, ArgEditType = 'ADD' + * Als (WerkplekVastOpp = NULL) dan wordt het aantal variabele werkplekken + * met 1 verhoogd. Dus de oppervlakte van deze variabele werkplek houdt rekening + * met deze nieuw toe te voegen werkplek. + * Als (WerkplekVastOpp <> NULL) dan wordt NULL geretourneerd, immers, de vast oppervlakte + * van de nieuwe werkplek is leeg. + * Bij 'CHANGE': ArgWerkplekKey = de te wijzigen werkplek, ArgRuimteKey, ArgWerkplekVastOpp, + * ArgEditType = 'CHANGE'. + * Als (WerkplekVastOpp = NULL) dan wordt het aantal variabele werkplekken met 1 + * verhoogd en de vaste oppervlakte van de te wijzigen werkplek wordt niet meegenomen + * in de WerkplekTotVastOpp. + * Als (WerkplekVastOpp <> NULL) dan wordt de vaste oppervlakte van de te wijzigen + * werkplek geretourneerd, als deze ingevuld was, anders NULL. + */ +CREATE OR REPLACE FUNCTION PRS_P_PRS_BepaalWerkplekOpp( ArgWerkplekKey IN NUMBER, + ArgRuimteKey IN NUMBER, + ArgRuimteBrutoVloerOpp IN NUMBER, + ArgWerkplekVastOpp IN NUMBER, + ArgWerkplekOpp IN NUMBER, + ArgEditMode IN CHAR ) RETURN NUMBER IS + + NewWerkplekOpp NUMBER(12,4); + WerkplekTotVastOpp NUMBER(12,4); + AantalVariabel NUMBER(3); + RuimteKey NUMBER(10); + RuimteBrutoVloerOpp alg_ruimte.alg_ruimte_bruto_vloeropp%TYPE; + WerkplekVastOpp prs_werkplek.prs_werkplek_vastopp%TYPE; + WerkplekOpp prs_werkplek.prs_werkplek_opp%TYPE; + ChangeWerkplekVastOpp prs_werkplek.prs_werkplek_vastopp%TYPE; + ChangeWerkplekOpp prs_werkplek.prs_werkplek_opp%TYPE; +BEGIN + /* Bij toevoegen moet alleen de bruto vloeropp van de ruimte bepaald worden */ + IF (NVL(ArgEditMode, 'LEEG/NULL') = 'ADD') + THEN + BEGIN + WerkplekVastOpp := ArgWerkplekVastOpp; + WerkplekOpp := NULL; + SELECT ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_bruto_vloeropp + INTO RuimteKey, + RuimteBrutoVloerOpp + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = ArgRuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN RETURN NULL; + END; + /* Bij wijzigen moeten de gegevens van de werkplek even bewaard worden en de bruto vloeropp van de + * ruimte moet bepaald worden. + */ + ELSIF (NVL(ArgEditMode, 'LEEG/NULL') = 'CHANGE') + THEN + WerkplekVastOpp := ArgWerkplekVastOpp; + WerkplekOpp := ArgWerkplekOpp; + BEGIN + SELECT PRS_W.prs_alg_ruimte_key, + ALG_R.alg_ruimte_bruto_vloeropp, + PRS_W.prs_werkplek_vastopp, + PRS_W.prs_werkplek_opp + INTO RuimteKey, + RuimteBrutoVloerOpp, + ChangeWerkplekVastOpp, + ChangeWerkplekOpp + FROM prs_werkplek PRS_W, alg_ruimte ALG_R + WHERE PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key + AND PRS_W.prs_werkplek_key = ArgWerkplekKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN RETURN NULL; + END; + ELSIF NVL(ArgRuimteKey, -1) = -1 + OR NVL(ArgRuimteBrutoVloerOpp, -1) = -1 + OR ArgWerkplekVastOpp = -1 + OR NVL(ArgWerkplekOpp, -1) = -1 + THEN + IF NVL(ArgWerkplekKey, 0) > 0 + THEN + BEGIN + SELECT PRS_W.prs_alg_ruimte_key, + ALG_R.alg_ruimte_bruto_vloeropp, + PRS_W.prs_werkplek_vastopp, + PRS_W.prs_werkplek_opp + INTO RuimteKey, + RuimteBrutoVloerOpp, + WerkplekVastOpp, + WerkplekOpp + FROM prs_werkplek PRS_W, alg_ruimte ALG_R + WHERE PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key + AND PRS_W.prs_werkplek_key = ArgWerkplekKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN RETURN NULL; + END; + ELSIF NVL(ArgRuimteKey, -1) > 0 + THEN + BEGIN + WerkplekVastOpp := NULL; + WerkplekOpp := NULL; + SELECT ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_bruto_vloeropp + INTO RuimteKey, + RuimteBrutoVloerOpp + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = ArgRuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN RETURN NULL; + END; + ELSE + RETURN NULL; + END IF; + ELSE + RuimteKey := ArgRuimteKey; + RuimteBrutoVloerOpp := ArgRuimteBrutoVloerOpp; + WerkplekVastOpp := ArgWerkplekVastOpp; + WerkplekOpp := ArgWerkplekOpp; + END IF; + // Retourneer de vaste oppervlakte van de te wijzigen werkplek. + IF NVL(ArgEditMode, 'LEEG/NULL') = 'CHANGE' + AND WerkplekVastOpp IS NOT NULL + THEN + NewWerkplekOpp := ChangeWerkplekOpp; + // Retourneer de pas bepaalde vaste oppervlakte van de werkplek. + ELSIF WerkplekVastOpp IS NOT NULL + THEN + NewWerkplekOpp := WerkplekOpp; + ELSE + // Neem de vaste werkplekoppervlakte van de te wijzigen werkplek niet mee. + IF NVL(ArgEditMode, 'LEEG/NULL') = 'CHANGE' + THEN + BEGIN + SELECT NVL(SUM(NVL(PRS_W.prs_werkplek_opp, 0)), 0) + INTO WerkplekTotVastOpp + FROM prs_v_aanwezigwerkplek PRS_W + WHERE PRS_W.prs_werkplek_vastopp IS NOT NULL + AND PRS_W.prs_werkplek_key <> ArgWerkplekKey + AND PRS_W.prs_alg_ruimte_key = RuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN WerkplekTotVastOpp := 0; + END; + ELSE + BEGIN + SELECT NVL(SUM(NVL(PRS_W.prs_werkplek_opp, 0)), 0) + INTO WerkplekTotVastOpp + FROM prs_v_aanwezigwerkplek PRS_W + WHERE PRS_W.prs_werkplek_vastopp IS NOT NULL + AND PRS_W.prs_alg_ruimte_key = RuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN WerkplekTotVastOpp := 0; + END; + END IF; + // Neem de te wijzigen werkplek niet mee in het aantal variabele werkplekken. + IF NVL(ArgEditMode, 'LEEG/NULL') = 'CHANGE' + THEN + BEGIN + SELECT COUNT(*) + INTO AantalVariabel + FROM prs_v_aanwezigwerkplek PRS_W + WHERE PRS_W.prs_werkplek_vastopp IS NULL + AND PRS_W.prs_werkplek_key <> ArgWerkplekKey + AND PRS_W.prs_alg_ruimte_key = RuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN AantalVariabel := 0; + END; + ELSE + BEGIN + SELECT COUNT(*) + INTO AantalVariabel + FROM prs_v_aanwezigwerkplek PRS_W + WHERE PRS_W.prs_werkplek_vastopp IS NULL + AND PRS_W.prs_alg_ruimte_key = RuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN AantalVariabel := 0; + END; + END IF; + // Bepaal de variabele oppervlakte van de werkplekken inclusief deze nieuwe variabele werkplek. + IF NVL(ArgEditMode, 'LEEG/NULL') = 'ADD' + OR NVL(ArgEditMode, 'LEEG/NULL') = 'CHANGE' + THEN + AantalVariabel := NVL(AantalVariabel, 0) + 1; + END IF; + IF AantalVariabel > 0 + THEN + NewWerkplekOpp := (RuimteBrutoVloerOpp - WerkplekTotVastOpp) / AantalVariabel; + ELSE + NewWerkplekOpp := (RuimteBrutoVloerOpp - WerkplekTotVastOpp); + END IF; + IF NVL(NewWerkplekOpp, 0) < 0 + THEN + NewWerkplekOpp := 0; + END IF; + END IF; + RETURN NewWerkplekOpp; +END; +/ + +#endif // PRS diff --git a/PRS/PRS_SEQ.SRC b/PRS/PRS_SEQ.SRC new file mode 100644 index 00000000..430b3519 --- /dev/null +++ b/PRS/PRS_SEQ.SRC @@ -0,0 +1,68 @@ +#ifdef PRS // 13-03-96 AH + +/* Maakt de sequences voor PRS + * + * Revisie: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * 09/04/1998 AH akz_s_akz_prsimport_log met NOCACHE-optie. + * --- 01.34 --- + * 19/02/1998 AH Nieuwe #define AKZ gebruikt + * 10/02/1998 AH Sequence voor AKZ_PRSIMPORT toegevoegd + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * 12-08-96 AH Serquence PRS_S_PRS_DISCIPLINEBESTEK_KEY verwijderd, + * disciplinebestek is een uitvoerende dus haalt zijn key uit + * PRS_S_PRS_ALLUITVOERENDE_KEYS. + * Sequence PRS_S_PRS_BESTEK_KEY toegevoegd. PRS_BESTEK is zelf + * geen uitvoerende. + * 29-07-96 KTH Sequences prs_s_prs_disciplinebestek_key en + * prs_s_prs_locatiebestek_key toegevoegd (vooralsnog #ifdef INS) + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 13-03-96 AH NIEUWE OPZET SRC-files. + * + */ + +CREATE SEQUENCE prs_s_prs_alluitvoerende_keys MINVALUE 1; +CREATE SEQUENCE prs_s_prs_afdeling_key MINVALUE 1; +CREATE SEQUENCE prs_s_prs_werkplek_key MINVALUE 1; +CREATE SEQUENCE prs_s_prs_perslidwerkplek_key MINVALUE 1; + +#ifdef INS +/* 29-07-96/KTH Vooralsnog zijn bestekken alleen #ifdef INS */ + +/* prs_DISCIPLIEbestek_key put uit prs_s_prs_alluitvoerende_keys omdat een + * DISCIPLINEbestek ook een uitvoerende kan zijn (AH) */ +CREATE SEQUENCE prs_s_prs_bestek_key MINVALUE 1; +CREATE SEQUENCE prs_s_prs_locatiebestek_key MINVALUE 1; +#endif // INS +#ifdef AKZ +CREATE SEQUENCE akz_s_akz_prsimport_key MINVALUE 1; +CREATE SEQUENCE akz_s_akz_prsimport_log MINVALUE 1 NOCACHE; +#endif // AKZ + +#endif // PRS diff --git a/PRS/PRS_TAB.SRC b/PRS/PRS_TAB.SRC new file mode 100644 index 00000000..13f3fcd0 --- /dev/null +++ b/PRS/PRS_TAB.SRC @@ -0,0 +1,617 @@ +#ifdef PRS // 13-03-96 AH + +/* CREA_TAB.SRC + * + * Maakt de volgende tabellen aan: + * prs_bedrijf + * prs_afdeling + * prs_srtperslid + * prs_perslid + * prs_werkplek + * prs_perslidwerkplek + * prs_bestek + * prs_disciplinebestek + * prs_locatiebestek + * + * History: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 22-05-1998 BIV LOG#1771: lengte van de velden 'Afdelingsnaam' + bijbehorende Upper vergroot + * naar 10 posities. + * 15-05-1998 KTH PRS_BEDRIJF_UITVOERENDE wordt 'DEFAULT 1' want bv GMS gebruikt hem + * alleen maar als 'Uitvoerende' + * --- 01.36 --- + * --- 01.35 --- + * 08/04/1998 AH Extra AKZ-velden in PRS_PERSLID. + * PRS_LEVERANCIER_NR in PRS_BEDRIJF van 5->6 kars. + * --- 01.34 --- + * 19/02/1998 AH Nieuwe #define AKZ gebruikt + * 10/02/1998 AH AKZ_PRSIMPORT toegevoegd voor import van Persoonsgegevens. + * 28/01/1998 AH PRS_DISCIPLINEBESTEK aangepast: INS_DISCIPLINE-reference nu naar + * INS_TAB_DISCIPLINE + * 12/11/1997 AH #1473, constraintnamen toegevoegd. + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * 10-07-97 AH #1376, CHECK op PRS_PERSLID_UURLOON toegevoegd, deze mag niet negatief zijn. + * 10-7-97 AH #1365, PRS_PERSLIDWERKPLEK_VERWIJDER-velden weggehaald. + * 5/27/97 AH #1254, Voor PERFORMANCE van PRS211 UNIQUE op PRS_WERKPLEK gewijzigd, kolommen verwisseld + * 5/26/97 AH #1255, Het VERWIJDER-veld in PRS_PERSLIDWERKPLEK mag niet meer gebruikt worden + * ivm. MUTATING TABLE-error bij cascade verwijderen van PRS_PERSLID, enz. Dit heeft + * geen gevolgen voor deze tabel. + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * 20-01-97 AH #1163, Unique op PRS_PERSLIDWERKPLEK verplaatst naar PRS_UNI.SRC + * 06-01-97 AH PRS_PERSLID_NR wordt CHAR(16) + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * 28-10-96 AH PRS_BESTEK_DOCUMENTATIE aangepast nu VARCHAR2(255) + * --- 01.20 --- + * 13-09-96 KTH - PRS_SRTPERSLID is een NORMAAL_PRIVILEGE voor MLD + * - PRS_%BESTEK% worden NORMAAL_PRIVILEGE (ipv. BIBLIOTHEEK) + * --- 01.19 --- + * 13-08-96 AH PRS_BESTEK aangepast: PRS_BESTEK_DOCUMENTATIE toegevoegd. + * 31-07-96 AH PRS_DISCBESTEK_URENBESTEED toegevoegd. + * 31-07-96 AH PRS_BESTEK : Aanmaak en verwijder-velden weggehaald, + PRS_BESTEK_UPPER_NR-veld toegevoegd. + * PRS_DISCIPLINEBESTEK: Delete-cascade op PRS_BESTEK. + * PRS_LOCATIEBESTEK: Delete-cascade op PRS_BESTEK. + * 31-07-96 AH PRS_BESTEK_FILENAME toegevoegd. + * 30-07-96 AH PRS_BESTEK_MATERIAALBESTEED toegevoegd. + * 30-07-96 KTH - Commentaar in PRS_BESTEK verplaatst naar ACHTER de velden + * maar op DEZELFDE regel (anders lege regels tussendoor) + * - PRS_BEDRIJF vooraan geplaatst ivm. reference in PRS_PERSLID + * 29-07-96 KTH Tabellen PRS_BESTEK, PRS_LOCATIEBESTEK en + * PRS_DISCIPLINEBESTEK toegevoegd (vooralsnog alleen #ifdef INS) + * 26-07-96 RW prs_srtperslid uitgebreid met prs_bedrijf_key + * 24-07-96 KTH Tabel PRS_BEDRIJF uitgebreid met 3 kolommen: + * PRS_BEDRIJF_CONTRACT, _LEVERANCIER, _UITVOERENDE en veranderd + * naar NORMAAL_PRIVILEGE + * --- 01.18 --- + * --- 01.17 --- + * 20-06-96 AH UNIQUE in PRS_WERKPLEK ook op PRS_WERKPLEK_MODULE. + * 06-06-96 AH In tabel PRS_WERKPLEK veld PRS_WERKPLEK_MODULE toegevoegd. + * --- 01.16 --- + * --- 01.15 --- + * 28-05-96 EH UNIQUE Constraint in prs_perslidwerkplek gewijzigd. + * 24-05-96 EH Reference naar 'prs_afdeling_key' toegevoegd aan + * prs_perslidwerkplek. + * 22-05-96 AH PRS_BEDRIJF tabel aangemaakt. + * 21-05-96 EH Altering tabel alg_srtruimte uitgebreid met veld + * 'prs_verhuurbaar' + * 01-05-96 AH Privilege tabel PRS_SRTPERSLID aangepast. + * 26-04-96 AH Velden module en telefoonnr aan PRS_PERSLID toegevoegd. + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 01-04-96 KTH Gebruik CREATE_TABLE() + * 22-03-96 AH PRS_WERKPLEK_VOLGNR wordt een NUMBER(3). + * 21-03-96 AH INS_DEEL.PRS_WERKPLEK_KEY weer weggehaald. + * 18-03-96 AH Table PRS_PERSLID unique aangepast. + * 15-03-96 KTH ins_deel.prs_werkplek_key toegevoegd + * 13-03-96 AH NIEUWE OPZET SRC-files. + * 12-03-96 AH Tabel ALG_VERDIEPING wordt aangepast voor PRS_DWGUPTODATE. + * 12-03-96 AH Tabel ALG_SRTRUIMTE wordt gealtered voor BEVAT_WERKPLEK. + * 06-03-96 AH PRS_WERKPLEK_OPP-veld anders gedefinieerd en CHECK aangepast. + * 05-03-96 AH PRS_PERSLIDWERKPLEK aangepast, hier ook aanmaak- en verwijder- + * velden. Anders werkt DELETE CASCADE niet. + * 29-02-96 AH In PRS_AFDELING is PRS_AFDELING_CODE uniek. + * PRS_AFDELING_OMSCHRIJVING is niet meer uniek + * 28-02-96 KTH Updates voor 'grote' PRS + * 16-02-96 PF UNIQUE constraints ipv triggers + * 02-02-96 AH UNIQUE op prs_afdeling verplaatst naar trigger. + * 12-01-96 PF NULLDATUM + * 21-12-95 KTH prs_srtperslid_key in prs_perslid moet NOT NULL zijn + * 20-12-95 KTH prs_perslid_voornaam veranderd naar VARCHAR2(15) + * prs_perslid_nr veranderd naar VARCHAR2(15) + * 20-12-95 KTH Created + */ + +CREATE_TABLE(prs_bedrijf,NORMAAL_PRIVILEGE) +( + prs_bedrijf_key + NUMBER(10) + CONSTRAINT prs_k_prs_bedrijf_key PRIMARY KEY, + prs_bedrijf_naam + VARCHAR2(30) + NOT_NULL(prs_bedrijf_naam, prs_c_prs_bedrijf_naam), + prs_bedrijf_naam_upper + VARCHAR2(30) + NOT_NULL(prs_bedrijf_naam_upper, prs_c_prs_bedrijf_naam_upper), + prs_bedrijf_post_adres + VARCHAR2(35), + prs_bedrijf_post_postcode + VARCHAR2(12), + prs_bedrijf_post_plaats + VARCHAR2(30), + prs_bedrijf_bezoek_adres + VARCHAR2(35), + prs_bedrijf_bezoek_postcode + VARCHAR2(12), + prs_bedrijf_bezoek_plaats + VARCHAR2(30), + prs_bedrijf_telefoon + VARCHAR2(20), + prs_bedrijf_fax + VARCHAR2(20), + prs_bedrijf_contact_persoon + VARCHAR2(30), + prs_bedrijf_contact_telefoon + VARCHAR2(20), + prs_bedrijf_contact_fax + VARCHAR2(20), + prs_bedrijf_opmerking + VARCHAR2(320), + prs_bedrijf_uurloon + NUMBER(6,2), + prs_leverancier_nr + VARCHAR2(6), + prs_overeenkomst_nr + VARCHAR2(10), + prs_overeenkomst_datum + DATE, + prs_bedrijf_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(prs_bedrijf_aanmaak, prs_c_prs_bedrijf_aanmaak), + prs_bedrijf_verwijder + DATE + DEFAULT NULLDATUM, + prs_bedrijf_leverancier /* bedrijf is leverancier (o.a. voor LEV) */ + NUMBER(1) + CONSTRAINT prs_c_prs_bedrijf_leverancier CHECK(prs_bedrijf_leverancier IS NULL + OR prs_bedrijf_leverancier = 1 ), + prs_bedrijf_uitvoerende /* bedrijf is uitvoerende in opdrachten */ + NUMBER(1) + DEFAULT 1 /* LOG#1691 */ + CONSTRAINT prs_c_prs_bedrijf_uitvoerende CHECK(prs_bedrijf_uitvoerende IS NULL + OR prs_bedrijf_uitvoerende = 1 ), + prs_bedrijf_contract /* een contract kan worden afgesloten met bedrijf */ + NUMBER(1) + CONSTRAINT prs_c_prs_bedrijf_contract CHECK(prs_bedrijf_contract IS NULL + OR prs_bedrijf_contract = 1 ), + CONSTRAINT prs_u_prs_bedrijf_naam_upper UNIQUE(prs_bedrijf_naam_upper, prs_bedrijf_verwijder) +); + +/* + * prs_afdeling + * prs_afdeling_key + * prs_afdeling_parentkey + * NULL betekent er is geen hogere afdeling + * prs_afdeling_code + * not null + * prs_afdeling_omschrijving + * prs_afdeling_upper + * prs_afdeling_aanmaak + * default systeemdatum + * prs_afdeling_verwijder + * default NULL + */ +CREATE_TABLE(prs_afdeling,NORMAAL_PRIVILEGE) +( + prs_afdeling_key + NUMBER(10) + CONSTRAINT prs_k_prs_afdeling_key PRIMARY KEY, + prs_afdeling_parentkey + NUMBER(10) + CONSTRAINT prs_r_prs_afdeling_parentkey REFERENCES prs_afdeling(prs_afdeling_key), + prs_afdeling_naam + VARCHAR2(8) + NOT_NULL(prs_afdeling_naam, prs_c_prs_afdeling_naam), + prs_afdeling_upper + VARCHAR2(8) + NOT_NULL(prs_afdeling_upper, prs_c_prs_afdeling_upper), + prs_afdeling_omschrijving + VARCHAR2(30), + prs_afdeling_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(prs_afdeling_aanmaak, prs_c_prs_afdeling_aanmaak), + prs_afdeling_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT prs_u_prs_afdeling_upper UNIQUE(prs_afdeling_upper, prs_afdeling_verwijder) +); + +/* + * prs_srtperslid + * prs_srtperslid_key + * prs_srtperslid_omschrijving + * prs_srtperslid_upper + * is prs_srtperslid_omschrijving in uppercase + * prs_srtperslid_opp + * prs_bedrijf_key (niet verplicht) + * prs_perslid_uurloon + * prs_srtperslid_aanmaak + * default systeemdatum + * prs_srtperslid_verwijder + * default NULL + */ + +/* 13-09-96/KTH + * Voor MLD is een functie een registratiescherm, anders niet (bibliotheek) + */ +#ifdef MLD +CREATE_TABLE(prs_srtperslid,NORMAAL_PRIVILEGE) +#else +CREATE_TABLE(prs_srtperslid,BIBLIOTHEEK_PRIVILEGE) +#endif +( + prs_srtperslid_key + NUMBER(10) + CONSTRAINT prs_k_prs_srtperslid_key PRIMARY KEY, + prs_srtperslid_omschrijving + VARCHAR2(30) + NOT_NULL(prs_srtperslid_omschrijving, prs_c_prs_srtperslid_omschr), + prs_srtperslid_upper + VARCHAR2(30) + NOT_NULL(prs_srtperslid_upper, prs_c_prs_srtperslid_upper), + prs_bedrijf_key + NUMBER(10) + CONSTRAINT prs_r_prs_bedrijf_key REFERENCES prs_bedrijf(prs_bedrijf_key), + prs_srtperslid_uurloon + NUMBER(6,2), + prs_srtperslid_opp + NUMBER(9,2) + CONSTRAINT prs_c_prs_srtperslid_opp CHECK(prs_srtperslid_opp >= 0), + prs_srtperslid_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(prs_srtperslid_aanmaak, prs_c_prs_srtperslid_aanmaak), + prs_srtperslid_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT prs_u_prs_srtperslid_upper UNIQUE(prs_srtperslid_upper, prs_srtperslid_verwijder) +); + +/* + * prs_werkplek + * prs_werkplek_key + * prs_werkplek_module + * 'PRR' of 'HUI' + * prs_werkplek_omschrijving + * prs_werkplek_volgnr + * kan worden opgenomen in multi record blok ipv. omschrijving + * en moet uniek zijn voor de betreffende ruimte + * prs_werkplek_vastopp + * prs_werkplek_opp + * prs_werkplek_aanmaak + * default systeemdatum + * prs_werkplek_verwijder + * default NULL + */ +CREATE_TABLE(prs_werkplek,NORMAAL_PRIVILEGE) +( + prs_werkplek_key + NUMBER(10) + CONSTRAINT prs_k_prs_werkplek_key PRIMARY KEY, + prs_werkplek_module + VARCHAR2(3) + NOT_NULL(prs_werkplek_module, prs_c_prs_werkplek_module), + prs_werkplek_volgnr + NUMBER(3) + NOT_NULL(prs_werkplek_volgnr, prs_c_prs_werkplek_volgnr), + prs_werkplek_omschrijving + VARCHAR2(30), + prs_werkplek_vastopp + NUMBER(1) + CONSTRAINT prs_c_prs_werkplek_vastopp CHECK(prs_werkplek_vastopp IS NULL + OR prs_werkplek_vastopp = 1), + prs_werkplek_opp + NUMBER(8,2) + CONSTRAINT prs_c_prs_werkplek_opp CHECK(prs_werkplek_opp >= 0 + OR prs_werkplek_opp IS NULL), + prs_alg_ruimte_key + NUMBER(10) + NOT_NULL(prs_alg_ruimte_key, prs_r_prs_alg_ruimte_key1) + CONSTRAINT prs_r_prs_alg_ruimte_key2 REFERENCES alg_ruimte(alg_ruimte_key), + prs_werkplek_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(prs_werkplek_aanmaak, prs_c_prs_werkplek_aanmaak), + prs_werkplek_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT prs_u_prs_werkplek_volgnr UNIQUE(prs_alg_ruimte_key, prs_werkplek_volgnr, prs_werkplek_module, prs_werkplek_verwijder) +); + +/* + * prs_perslid + * prs_perslid_key + * prs_srtperslid_key + * NULL betekent prs_perslid heeft geen prs_srtperslid + * prs_afdeling_key + * NULL betekent prs_perslid heeft geen prs_afdeling + * prs_perslid_naam + * achternaam + * prs_perslid_upper + * prs_perslid_naam in uppercase + * prs_perslid_voorletters + * prs_perslid_voornaam + * niet verplicht + * prs_perslid_titel + * 'Prof.Dr.Ir' of iets dergelijks, mag ook leeg zijn + * prs_perslid_nr + * personeelsnummer (moet uniek zijn) + * prs_perslid_dienstverband + * prs_perslid_opp + * prs_perslid_ingangsdatum + * prs_perslid_einddatum + * prs_perslid_uurloon + * uurloon, mag leeg zijn (oa. voor BCO) + * prs_perslid_aanmaak + * default systeemdatum + * prs_perslid_verwijder + * default NULL + * UNIEK is prs_perslid_nr die aanwezig is. Omdat prs_perslid_nr + * leeg mag zijn. + */ +CREATE_TABLE(prs_perslid,NORMAAL_PRIVILEGE) +( + prs_perslid_key + NUMBER(10) + CONSTRAINT prs_k_prs_perslid_key PRIMARY KEY, + prs_perslid_module + VARCHAR2(3) + NOT_NULL(prs_perslid_module, prs_c_prs_perslid_module), + prs_srtperslid_key + NUMBER(10) + NOT_NULL(prs_srtperslid_key, prs_r_prs_srtperslid_key1) + CONSTRAINT prs_r_prs_srtperslid_key2 REFERENCES prs_srtperslid(prs_srtperslid_key), + prs_afdeling_key + NUMBER(10) + CONSTRAINT prs_r_prs_afdeling_key REFERENCES prs_afdeling(prs_afdeling_key), + prs_perslid_naam + VARCHAR2(30) + NOT_NULL(prs_perslid_naam, prs_c_prs_perslid_naam), + prs_perslid_upper + VARCHAR2(30) + NOT_NULL(prs_perslid_upper, prs_c_prs_perslid_upper), + prs_perslid_voorletters + VARCHAR2(10), + prs_perslid_voornaam + VARCHAR2(30), + prs_perslid_titel + VARCHAR2(15), + prs_perslid_nr + VARCHAR2(16), + prs_perslid_dienstverband + NUMBER(3) + DEFAULT 100 + CONSTRAINT prs_c_prs_perslid_dienstverb CHECK(prs_perslid_dienstverband BETWEEN 0 AND 100), + prs_perslid_opp + NUMBER(9,2) + CONSTRAINT prs_c_prs_perslid_opp CHECK(prs_perslid_opp >= 0), + prs_perslid_ingangsdatum + DATE + DEFAULT SYSDATE + NOT_NULL(prs_perslid_ingangsdatum, prs_c_prs_perslid_ingangsdatum), + prs_perslid_einddatum + DATE, + prs_perslid_uurloon + NUMBER(6,2) + CONSTRAINT prs_c_prs_perslid_uurloon CHECK(NVL(prs_perslid_uurloon, 0) >= 0), + prs_perslid_telefoonnr + VARCHAR2(15), + prs_perslid_aanmaak + DATE + DEFAULT SYSDATE + NOT_NULL(prs_perslid_aanmaak, prs_c_prs_perslid_aanmaak), + prs_perslid_verwijder + DATE + DEFAULT NULLDATUM, +#ifdef AKZ + akz_companycode + NUMBER(6), + akz_kostenplaats + NUMBER(5), +#endif // AKZ + CONSTRAINT prs_u_prs_perslid_nr UNIQUE(prs_perslid_nr, prs_perslid_verwijder), + CONSTRAINT prs_c_prs_perslid_datums CHECK(prs_perslid_einddatum >= prs_perslid_ingangsdatum) +); + +/* + * prs_perslidwerkplek + * prs_perslidwerkplek_key + * prs_perslid_key + * prs_werkplek_key + * prs_perslidwerkplek_bezetting + * bezettingsgraad (percentage in range 0-100) + * + * 10-7-97 AH #1365, PRS_PERSLIDWERKPLEK_VERWIJDER-velden weggehaald. + * 5/26/97 AH #1255, Het VERWIJDER-veld in PRS_PERSLIDWERKPLEK mag niet meer gebruikt worden + * ivm. MUTATING TABLE-error bij cascade verwijderen van PRS_PERSLID, enz. Dit heeft + * geen gevolgen voor deze tabel. + */ +CREATE_TABLE(prs_perslidwerkplek,NORMAAL_PRIVILEGE) +( + prs_perslidwerkplek_key + NUMBER(10) + CONSTRAINT prs_k_prs_perslidwerkplek_key PRIMARY KEY, + prs_perslid_key + NUMBER(10) + CONSTRAINT prs_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key), + prs_afdeling_key + NUMBER(10) + CONSTRAINT prs_r_prs_pw_afdeling_key REFERENCES prs_afdeling(prs_afdeling_key), + prs_werkplek_key + NUMBER(10) + CONSTRAINT prs_r_prs_werkplek_key REFERENCES prs_werkplek(prs_werkplek_key), + prs_perslidwerkplek_bezetting + NUMBER(3) + DEFAULT 100 + NOT_NULL(prs_perslidwerkplek_bezetting, prs_c_prs_perslidwp_bezetting1) + CONSTRAINT prs_c_prs_perslidwp_bezetting2 CHECK(prs_perslidwerkplek_bezetting BETWEEN 0 AND 100), + CONSTRAINT prs_c_prs_perslidwp_koppeling CHECK( + (prs_perslid_key IS NULL AND prs_afdeling_key IS NOT NULL) OR + (prs_afdeling_key IS NULL AND prs_perslid_key IS NOT NULL) + ) +); + +ALTER TABLE alg_srtruimte +ADD +( + prs_bevat_werkplek + NUMBER(1) + CONSTRAINT alg_c_prs_bevat_werkplek CHECK(prs_bevat_werkplek IS NULL + OR prs_bevat_werkplek = 1 ), + prs_verhuurbaar + NUMBER(1) + CONSTRAINT alg_c_prs_verhuurbaar CHECK(prs_verhuurbaar IS NULL + OR prs_verhuurbaar = 1 ), + CONSTRAINT alg_c_prs_werkplek_verhuurbaar CHECK(NOT(prs_bevat_werkplek = 1 + AND prs_verhuurbaar IS NULL)) +); + +ALTER TABLE alg_verdieping +ADD +( + prs_dwguptodate + DATE + DEFAULT NULL +); + +#if 0 +ALTER TABLE ins_deel +ADD +( + prs_werkplek_key + NUMBER(10) +); +#endif + +/* + * 29-07-96/KTH + * De tabellen PRS_%BESTEK% zijn opgenomen in PRS omdat het waarschijnlijk + * is dat de gegevens in de toekomst geshared moeten gaan worden met andere + * modules. Evt. hadden ze ook kunnen staan INS of BCO. + * + * Deze tabellen zijn vooralsnog alleen nodig wanneer INS bestaat. + */ + +#ifdef INS +CREATE_TABLE(prs_bestek,NORMAAL_PRIVILEGE) +( + prs_bestek_key + NUMBER(10) + CONSTRAINT prs_k_prs_bestek_key PRIMARY KEY, + prs_bestek_nr + VARCHAR2(20) + NOT_NULL(prs_bestek_nr, prs_c_prs_bestek_nr), + prs_bestek_upper_nr + VARCHAR2(20) + NOT_NULL(prs_bestek_upper_nr, prs_c_prs_bestek_upper_nr), + prs_bestek_omschrijving /* pre_bestek_omschrijving is niet verplicht */ + VARCHAR2(30) + NOT_NULL(prs_bestek_omschrijving, prs_c_prs_bestek_omschrijving), + prs_bedrijf_key /* het bedrijf waarmee het bestek is overeengekomen */ + NUMBER(10) + NOT_NULL(prs_bedrijf_key, prs_r_prs_bedrijf_key1) + CONSTRAINT prs_r_prs_bedrijf_key2 REFERENCES prs_bedrijf(prs_bedrijf_key), + prs_bestek_materiaalpost /* de materiaalkosten over het hele bestek, */ + NUMBER(9,2) /* ongeacht discipline */ + NOT_NULL(prs_bestek_materiaalpost, prs_c_prs_bestek_materiaalp1) + CONSTRAINT prs_c_prs_bestek_materiaalp2 CHECK(prs_bestek_materiaalpost >= 0), + prs_bestek_materiaalbesteed /* de bestede materiaalkosten over het hele bestek, */ + NUMBER(9,2), /* ongeacht discipline */ + prs_bestek_begindatum /* de ingangsdatum van het bestek */ + DATE + DEFAULT SYSDATE + NOT_NULL(prs_bestek_begindatum, prs_c_prs_bestek_begindatum), + prs_bestek_einddatum /* de einddatum van het bestek */ + DATE + NOT_NULL(prs_bestek_einddatum, prs_c_prs_bestek_einddatum), + prs_bestek_documentatie + VARCHAR2(255), + CONSTRAINT prs_c_prs_bestek_datums CHECK(prs_bestek_begindatum <= prs_bestek_einddatum), /* kan 1 dag zijn */ + CONSTRAINT prs_u_prs_bestek_upper_nr UNIQUE(prs_bestek_upper_nr) +); + +CREATE_TABLE(prs_disciplinebestek,NORMAAL_PRIVILEGE) +( + prs_disciplinebestek_key + NUMBER(10) + CONSTRAINT prs_k_prs_disciplinebestek_key PRIMARY KEY, + prs_bestek_key + NUMBER(10) + NOT_NULL(prs_bestek_key, prs_r_prs_bestek_key1) + CONSTRAINT prs_r_prs_bestek_key2 REFERENCES prs_bestek(prs_bestek_key) ON DELETE CASCADE, + ins_discipline_key + NUMBER(10) + NOT_NULL(ins_discipline_key, prs_r_ins_discipline_key1) + CONSTRAINT prs_r_ins_discipline_key2 REFERENCES ins_tab_discipline, + prs_disciplinebestek_uurprijs + NUMBER(6,2) + NOT_NULL(prs_disciplinebestek_uurprijs, prs_c_prs_discbestek_uurprijs1) + CONSTRAINT prs_c_prs_discbestek_uurprijs2 CHECK (prs_disciplinebestek_uurprijs >= 0), + prs_disciplinebestek_uren + NUMBER(7,2) + NOT_NULL(prs_disciplinebestek_uren, prs_c_prs_discbestek_uren1) + CONSTRAINT prs_c_prs_discbestek_uren2 CHECK (prs_disciplinebestek_uren >= 0), + prs_discbestek_urenbesteed + NUMBER(7,2), + CONSTRAINT prs_u_prs_disciplinebestek_key UNIQUE(prs_bestek_key, ins_discipline_key) +); + +CREATE_TABLE(prs_locatiebestek,NORMAAL_PRIVILEGE) +( + prs_locatiebestek_key + NUMBER(10) + CONSTRAINT prs_k_prs_locatiebestek_key PRIMARY KEY, + prs_bestek_key + NUMBER(10) + NOT_NULL(prs_bestek_key, prs_r_locatiebestek_key1) + CONSTRAINT prs_r_prs_locatiebestek_key2 REFERENCES prs_bestek(prs_bestek_key) ON DELETE CASCADE, + alg_locatie_key + NUMBER(10) + NOT_NULL(alg_locatie_key, prs_r_alg_locatie_key1) + CONSTRAINT prs_r_alg_locatie_key2 REFERENCES alg_locatie, + CONSTRAINT prs_u_prs_locatiebestek_key UNIQUE(prs_bestek_key, alg_locatie_key) +); +#endif // INS + +#ifdef AKZ +CREATE_TABLE(akz_prsimport, BIBLIOTHEEK_PRIVILEGE) +( + akz_prsimport_key /* interne sleutel */ + NUMBER(10) + CONSTRAINT prs_k_akz_prsimport_key PRIMARY KEY, + akz_prsimport_nr /* registratie nummer */ + VARCHAR2(7), + akz_prsimport_naam /* achternaam */ + VARCHAR2(29), + akz_prsimport_gebouwcode + VARCHAR2(3), + akz_prsimport_verdiepingruimte /* verdieping en ruimte */ + VARCHAR2(7), + akz_prsimport_telefoonnr + NUMBER(4), + akz_prsimport_afdelingcode /* PRS_AFDELING_NAAM */ + VARCHAR2(10), + akz_prsimport_accountunit /* externe referentie */ + VARCHAR2(2), + akz_prsimport_kostenafdeling /* externe referentie */ + VARCHAR2(3) +); +#endif // AKZ + +/* Log #1771 : Veldlengte afdelingsnaam + bijbehorende veld upper vergroot naar 10 posities */ +ALTER TABLE prs_afdeling +MODIFY +( + prs_afdeling_naam + VARCHAR2(10), + prs_afdeling_upper + VARCHAR2(10) +); + +#endif // PRS diff --git a/PRS/PRS_TRI.SRC b/PRS/PRS_TRI.SRC new file mode 100644 index 00000000..fa9ec9ff --- /dev/null +++ b/PRS/PRS_TRI.SRC @@ -0,0 +1,1124 @@ +#ifdef PRS // 13-03-96 AH + +/* CREA_TRI.SRC maakt de triggers aan voor PRS */ + + +/* + * Revisie: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 19/02/1998 AH Nieuwe #define AKZ gebruikt + * 10/02/1998 AH Trigger voor AKZ_PRSIMPORT toegevoegd + * 13/11/1997 AH #1473, CREATE TRIGGER vervangen door CREATE_TRIGGER() + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * 10-7-97 AH #1365, PRS_PERSLIDWERKPLEK_VERWIJDER-velden weggehaald. + * 6/20/97 AH #1312: PRS_T_PRS_AFDELING_B_IU aangepast. De CASCADE-verwijderen van PRS_PERSLIDWERKPLEK + * verplaatst naar PRS011/Verwijderen. In de trigger een RESTRICTED toegevoegd om + * evt. fouten te kunnen voorkomen. + * 5/26/97 AH #1255: Het VERWIJDER-veld in PRS_PERSLIDWERKPLEK is overbodig en mag niet meer + * meer gebruikt worden. Hiervoor is een controle toegevoegd in + * PRS_T_PRS_PERSLIDWERKPLEK_B_IU. + * PRS_T_PRS_PERSLID_B_IU aangepast. De CASCADE-verwijderen van PRS_PERSLIDWERKPLEK + * verplaatst naar PRS013/Verwijderen. In de trigger een RESTRICTED toegevoegd om + * evt. fouten te kunnen voorkomen. + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * 10-12-96 AH PRS_BEDRIJF en PRS_LOCBESTEK-triggers gebruiken ten onrechte + * BCO_DEFAULTUITV_KEYS zonder BCO + * --- 01.24 --- + * 04-12-96 AH PRS_BEDRIJF: Checkbox 'Leverancier' mag niet uitgezet worden + * als er nog bestelopdrachten bij horen. + * Checkbox 'Uitvoerende' mag niet worden uitgezet als het bedrijf + * of een functie bij bedrijf nog als default uitvoerende bij een + * INS_SRTDEEL of als het bedrijf of functie bij bedrijf als + * Uitvoerende/Default uitvoerende bij een niet verwerkte opdracht + * voorkomt. + * --- 01.23 --- + * 15-11-96 AH De DELETE-code van locatiebestek is nu een FUNCTION geworden + * en wordt aangeroepen en in PRS021 en PRS023 bij Verwijderen + * De trigger PRS_T_PRS_LOCATIEBESTEK_B_D is verwijderd. + * 14-11-96 AH LOG#1035: PRS_T_PRS_LOCATIEBESTEK_B_IU en _B_D aangepast. + * 13-11-96 AH LOG#1035: PRS_T_PRS_DISCBESTEK_B_D aangepast, Als discipline- + * bestek als default uitvoerende is aangegeven bij mld_opdr + * of bij prevopdr dan mag deze ook niet verwijderd worden. + * Zelfde extra conditie geldt bij verwijderen LocatieBestek + * --- 01.22 --- + * --- 01.21 --- + * 28-10-96 AH LOG#914: PRS_T_PRS_LOCATIEBESTEK_B_D toegevoegd. Controle op + * uitgegeven opdrachten voor de locatie bij bestek. + * 28-10-96 AH LOG#910: In PRS_T_PRS_PERSLID_B_IU werd BCO_NIETBESCHIK verwijderd + * Deze codeis verplaatst naar Verwijderen in PRS013.FMB + * 25-10-96 AH LOG#906: PRS_T_PRS_SRTPERSLID_B_IU aangepast. + * 01-10-96 KTH prs_v_aanwezigperslidwerkplek wordt prs_perslidwerkplek ivm. + * mutating table prs_werkplek bij verwijderen van werkplekken + * --- 01.20 --- + * 16-09-96 AH PRS_T_PRS_BEDRIJF_B_IU aangepast: de bijbehorende functies + * worden mee verwijderd. Lopende bestekken Resticted, + * Uitgegeven opdrachten Restricten. + * PRS_T_PRS_SRTPERSLID_B_IU aangepast: Verwijderen met Uitgegeven + * opdrachten Restricted. + * PRS_T_PRS_PERSLID_B_IU aangepast: Verwijderen met Uitgegeven + * opdrachten Restricted. Verwijderen BCO_NIETBESCHIK cascade. + * PRS_T_PRS_DISCBESTEK_B_D aangepast: Verwijderen met opdrachten + * Restricted. + * --- 01.19 --- + * 20-08-96 AH In trigger voor SRTPERSLID #ifdef BCO toegevoegd + * 12-08-96 AH PRS_T_PRS_BESTEK_B_IU aangepast: Bestek_key komt uit + * PRS_S_PRS_BESTEK_KEY. Bestek is zelf geen uitvoerende. + * 01-08-96 RW Disciplinebestek is nu uitvoerende, sequence aangepast. + * 01-08-96 AH Logmelding 687 ifdef HUI in PRS_T_PRS_WERKPLEK_B_IU toegevoegd. + * 31-07-96 AH PRS_T_PRS_DISCBESTEK_B_IU toegevoegd. De koppeling tussen + * DISCIPLINE en BESTEK mag niet verwijderd worden als het + * bestek als default uitvoerende is aangegeven bij INS_SRTDEEL. + * 31-07-96 AH PRS_T_PRS_BESTEK_B_IU aangepast, PRS_BESTEK_UPPER_NR-update + * 30-07-96 KTH - THEN en END IF miste in prs_t_prs_srtperslid_B_IU + * - prs_t_prs_disciplinebestek_B_IU verkort naar + * prs_t_prs_discbestek_B_IU + * 29-07-96 KTH _B_IU-triggers voor PRS_BESTEK, PRS_DISCIPLINEBESTEK en + * PRS_LOCATIEBESTEK toegevoegd (vooralsnog #ifdef INS) + * 25-07-96 AH PRS_T_PRS_WERKPLEK_B_IU aangepast: ORA-4091 ...mutating.... + * opgelost. + * 25-07-96 AH PRS_T_PRS_PERSLID_B_IU en PRS_T_PRS_AFDELING_B_IU aangepast: + * Als een persoon/afdeling verwijderd + * wordt EN de persoon/afdeling heeft nog inventaris, dan wordt de inventaris + * ontkoppeld en evt. gemerged met inventaris die nog in die + * ruimte of werkplek of slaapplaats staat. + * 27-06-96 AH PRS_T_PRS_WERKPLEK_B_IU aangepast voor verwijderen + * werkplek/slaapplaats. Als er INS_DELEN geplaatst + * zijn, dan mag de werkplek/slaapplaats niet verwijderd worden. + * De PRS_DWGUPTODATE van de verdieping-tekening wordt NIET + * bijgewerkt, want er verdieping moet dan opgezocht worden + * en dat mag niet bij CASCADE-delete via ruimte of hoger in de + * OR-boom (ter voorkoming van ORA_4091 'Mutating-table'). + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 22-05-96 AH PRS_BEDRIJF toegevoegd. + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 03-04-96 AH PRS_PERSLID verwijderen -> INV_DELEN ontkoppelen. + * 03-04-96 AH PRS_AFDELING verwijderen -> INV_DELEN ontkoppelen. + * 03-04-96 AH PRS_WERKPLEK verwijderen -> INV_DELEN ontkoppelen. + * 19-03-96 AH Trigger PRS_T_PRS_WERKPLEK_B_IU aangepast voor PRS_DWGUPTODATE + * in ALG_VERDIEPING. + * 13-03-96 AH NIEUWE OPZET SRC-files. + * + * 05-03-96 AH PRS_T_PRS_PERSLID_B_IU aangepast voor "verwijderen" + * PRS_PERSLIDWERKPLEK. + * 20-02-96 PF Extra update-upper in prs_t_prs_afdeling_B_IU toegevoegd + * 16-02-96 PF UNIQUE-triggers verwijderd, nu via constraint: + * prs_t_prs_srtperslid_A_IU + * prs_t_prs_afdeling_A_IU + * 05-02-96 AH Trigger PRS_T_PRS_SRTPERSLID_B_IU aangepast, check verwijzing + * naar prs_perslid bij verwijderen. + * 02-02-96 AH Trigger PRS_T_PRS_AFDELING_A_IU aangepast, upper moet gechecked + * worden op aanwezig + * 31-01-96 AH De trigger van prs_t_srtperslid foutief gedefinieerd, + * CHECK_UNIQUE moet over de aanwezig-view. + * 20-12-95 KTH verwijzigen naar 'prs_m...' geintroduceerd + */ + +#include "comsql.h" +#include "ALG\algsql.h" + + + +CREATE OR REPLACE FUNCTION prs_t_prs_locatiebestek_B_D( bestek_key IN NUMBER, locatie_key IN NUMBER, + key_soort IN CHAR ) + RETURN VARCHAR2 AS + error_msg fac_message.fac_message_code%TYPE; +BEGIN + error_msg := NULL; +#ifdef MLD + /* Een LocatieBestek mag NIET verwijderd worden als: + * - Het (discipline)bestek als (default) uitvoerende is aangegeven bij + * een of meer opdrachten die betrekking hebben op de te verwijderen + * LocatieBestek. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, mld_opdr MLD_O, + mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL, + prs_locatiebestek PRS_LB + WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys + AND ((MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key + AND key_soort = 'B') + OR (MLD_OL.alg_locatie_key = locatie_key + AND key_soort = 'L')) + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys +#ifdef BCO + OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys +#endif // BCO + ) + AND PRS_DB.prs_bestek_key = PRS_LB.prs_bestek_key + AND PRS_DB.prs_bestek_key = bestek_key; + error_msg := 'prs_m092'; + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN error_msg := 'prs_m092'; + END; +#endif +#ifdef BCP + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P, + bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL, + prs_locatiebestek PRS_LB + WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys + AND ((MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key + AND key_soort = 'B') + OR (MLD_OL.alg_locatie_key = locatie_key + AND key_soort = 'L')) + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys) + AND PRS_LB.prs_bestek_key = PRS_DB.prs_bestek_key + AND PRS_DB.prs_bestek_key = bestek_key; + error_msg := 'prs_m092'; + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN error_msg := 'prs_m092'; + END; +#endif + RETURN error_msg; +END; +/ + +CREATE_TRIGGER(prs_t_prs_srtperslid_B_IU) +BEFORE INSERT OR UPDATE ON prs_srtperslid +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_srtperslid_key, prs_s_prs_alluitvoerende_keys); + UPDATE_UPPER(prs_srtperslid_omschrijving, prs_srtperslid_upper); + CHECK_NOG_REFERENCES(prs_perslid, prs_srtperslid_verwijder, + prs_v_aanwezigperslid, prs_srtperslid_key, 'prs_m014'); +#ifdef BCO + // Niet verwijderen als nog aangegeven als default uitvoerende + IF :new.prs_srtperslid_verwijder IS NOT NULLDATUM THEN + DECLARE + dummy CHAR(1); + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigsrtdeel + WHERE bco_defaultuitv_keys = :new.prs_srtperslid_key; + APPLICATION_ERROR(-20000, 'prs_m059'); + EXCEPTION + WHEN no_data_found + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m059'); + END; + END IF; + // 25-10-96 AH LOG#906 + // Als er personen bij deze functie zijn en er wordt geprobeerd de functie + // extern te maken, dan mogen er geen personen bij deze functie zijn. + IF :new.prs_bedrijf_key IS NOT NULL + AND :old.prs_bedrijf_key IS NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_v_aanwezigperslid + WHERE prs_srtperslid_key = :new.prs_srtperslid_key; + APPLICATION_ERROR(-20000, 'prs_m091'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m091'); + END; + END IF; +#endif // BCO +#ifdef MLD + // Niet verwijderen als nog MLD_OPDR's zijn met status 'Uitgegeven' en + // uitvoerende deze SRTPERSLID. + IF :new.prs_srtperslid_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND MLD_O.mld_uitvoerende_keys = :new.prs_srtperslid_key; + APPLICATION_ERROR(-20000, 'prs_m084'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m084'); + END; + END IF; +#endif // MLD +#ifdef BCP + // Niet verwijderen als nog BCP_PREVOPDR's zijn met status 'Uitgegeven' en + // uitvoerende deze SRTPERSLID. + IF :new.prs_srtperslid_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND BCP_P.bcp_mld_uitvoerende_keys = :new.prs_srtperslid_key; + APPLICATION_ERROR(-20000, 'prs_m084'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m084'); + END; + END IF; +#endif // BCP +END; +/ + +CREATE_TRIGGER(prs_t_prs_afdeling_B_IU) +BEFORE INSERT OR UPDATE ON prs_afdeling +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_afdeling_key, prs_s_prs_afdeling_key); + UPDATE_UPPER(prs_afdeling_naam, prs_afdeling_upper); + CHECK_NOG_REFERENCES(prs_perslid, prs_afdeling_verwijder, + prs_v_aanwezigperslid, prs_afdeling_key, 'prs_m015'); +/* 6/20/97/AH #1312, De CASCADE-verwijderen van + * PRS_PERSLIDWERKPLEK verplaatst naar PRS011/Verwijderen. In de trigger een + * RESTRICTED toegevoegd om evt. fouten te kunnen voorkomen. + */ + CHECK_NOG_REFERENCES(prs_perslid, prs_afdeling_verwijder, + prs_v_aanwezigperslidwerkplek, prs_afdeling_key, 'SYSTEM ERROR: In Afdeling, er zijn nog PRS_PERSLIDWERKPLEK-records'); +#ifdef INV + /* Ontkoppel de artikelen van de te verwijderen afdeling. + * De artikelen kunnen gekoppeld zijn aan een ruimte, werkplek of + * slaapplaats: + * - Als dit zo is, dan kan er een ander artikel al op die + * plek staan. Het artikel moet dan gemerged worden. + * - Als er geen ander artikel is dan kan gewoon PRS_BEZIT_KEY leeg gemaakt + * worden. + */ + IF :new.prs_afdeling_verwijder IS NOT NULL + THEN + DECLARE + CURSOR Cur1(afdeling_key IN NUMBER) IS (SELECT ins_deel_key, + ins_srtdeel_key, + ins_deel_omschrijving, + ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_prs_bezit_key, + ins_deel_aantal + FROM inv_v_aanwezigdeel + WHERE ins_prs_bezit_key = afdeling_key + AND ins_prs_bezit_type = 'A'); + Cur_rec Cur1%ROWTYPE; + deel_key NUMBER(10); + deel_omschrijving VARCHAR2(50); + ruimte_key NUMBER(10); + ruimte_type VARCHAR2(1); + BEGIN + /* Doorloop alle inventaris van de verwijderde afdeling */ + FOR Cur_rec IN Cur1(:old.prs_afdeling_key) + LOOP + BEGIN + /* Als er een koppeling met ruimte, werkplek of slaapplaats is + * dan mergen (aantal van INS_DEEL ophogen). + */ + SELECT ins_deel_key, + ins_alg_ruimte_key, + ins_alg_ruimte_type + INTO deel_key, + ruimte_key, + ruimte_type + FROM inv_v_aanwezigdeel + WHERE ins_srtdeel_key = Cur_rec.ins_srtdeel_key + AND NVL(ins_deel_omschrijving, ' ') = NVL(Cur_rec.ins_deel_omschrijving, ' ') + AND NVL(ins_alg_ruimte_key, -1) = NVL(Cur_rec.ins_alg_ruimte_key, -1) + AND NVL(ins_alg_ruimte_type, ' ') = NVL(Cur_rec.ins_alg_ruimte_type, ' ') + AND ins_prs_bezit_key IS NULL + AND ins_prs_bezit_type IS NULL; + UPDATE ins_deel + SET ins_deel_aantal = ins_deel_aantal + Cur_rec.ins_deel_aantal + WHERE ins_deel_key = deel_key; + UPDATE ins_deel + SET ins_deel_verwijder = SYSDATE + WHERE ins_deel_key = Cur_rec.ins_deel_key; + EXCEPTION + /* Ander kan gewoon PRS_BEZIT_KEY leeg gemaakt worden. */ + WHEN NO_DATA_FOUND + THEN UPDATE ins_deel + SET ins_prs_bezit_key = NULL, + ins_prs_bezit_type = NULL + WHERE ins_deel_key = Cur_rec.ins_deel_key; + END; + END LOOP; + END; + END IF; +#endif +END; +/ + +CREATE_TRIGGER(prs_t_prs_perslid_B_IU) +BEFORE INSERT OR UPDATE ON prs_perslid +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_perslid_key, prs_s_prs_alluitvoerende_keys); + UPDATE_UPPER(prs_perslid_naam, prs_perslid_upper); +/* + * 10-7-97 AH #1365, PRS_PERSLIDWERKPLEK_VERWIJDER-velden weggehaald. + * + * 5/26/97/AH #1255, PRS_T_PRS_PERSLID_B_IU aangepast. De CASCADE-verwijderen van + * PRS_PERSLIDWERKPLEK verplaatst naar PRS013/Verwijderen. In de trigger een + * RESTRICTED toegevoegd om evt. fouten te kunnen voorkomen. + */ + CHECK_NOG_REFERENCES(prs_perslid, prs_perslid_verwijder, + prs_v_aanwezigperslidwerkplek, prs_perslid_key, 'SYSTEM ERROR: In Perslid, er zijn nog PRS_PERSLIDWERKPLEK-records'); +#ifdef INV + /* Ontkoppel de artikelen van de te verwijderen persoon. + * De artikelen kunnen gekoppeld zijn aan een ruimte, werkplek of + * slaapplaats: + * - Als dit zo is, dan kan er een ander artikel al op die + * plek staan. Het artikel moet dan gemerged worden. + * - Als er geen ander artikel is dan kan gewoon PRS_BEZIT_KEY leeg gemaakt + * worden. + */ + IF :new.prs_perslid_verwijder IS NOT NULL + THEN + DECLARE + CURSOR Cur1(perslid_key IN NUMBER) IS (SELECT ins_deel_key, + ins_srtdeel_key, + ins_deel_omschrijving, + ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_prs_bezit_key, + ins_deel_aantal + FROM inv_v_aanwezigdeel + WHERE ins_prs_bezit_key = perslid_key + AND ins_prs_bezit_type = 'P'); + Cur_rec Cur1%ROWTYPE; + deel_key NUMBER(10); + deel_omschrijving VARCHAR2(50); + ruimte_key NUMBER(10); + ruimte_type VARCHAR2(1); + BEGIN + /* Doorloop alle inventaris van de verwijderde persoon */ + FOR Cur_rec IN Cur1(:old.prs_perslid_key) + LOOP + BEGIN + /* Als er een koppeling met ruimte, werkplek of slaapplaats is + * dan mergen (aantal van INS_DEEL ophogen). + */ + SELECT ins_deel_key, + ins_alg_ruimte_key, + ins_alg_ruimte_type + INTO deel_key, + ruimte_key, + ruimte_type + FROM inv_v_aanwezigdeel + WHERE ins_srtdeel_key = Cur_rec.ins_srtdeel_key + AND NVL(ins_deel_omschrijving, ' ') = NVL(Cur_rec.ins_deel_omschrijving, ' ') + AND NVL(ins_alg_ruimte_key, -1) = NVL(Cur_rec.ins_alg_ruimte_key, -1) + AND NVL(ins_alg_ruimte_type, ' ') = NVL(Cur_rec.ins_alg_ruimte_type, ' ') + AND ins_prs_bezit_key IS NULL + AND ins_prs_bezit_type IS NULL; + UPDATE ins_deel + SET ins_deel_aantal = ins_deel_aantal + Cur_rec.ins_deel_aantal + WHERE ins_deel_key = deel_key; + UPDATE ins_deel + SET ins_deel_verwijder = SYSDATE + WHERE ins_deel_key = Cur_rec.ins_deel_key; + EXCEPTION + /* Ander kan gewoon PRS_BEZIT_KEY leeg gemaakt worden. */ + WHEN NO_DATA_FOUND + THEN UPDATE ins_deel + SET ins_prs_bezit_key = NULL, + ins_prs_bezit_type = NULL + WHERE ins_deel_key = Cur_rec.ins_deel_key; + END; + END LOOP; + END; + END IF; +#endif // INV +#ifdef MLD + // Niet verwijderen als nog MLD_OPDR's zijn met status 'Uitgegeven' en + // uitvoerende deze PERSLID. + IF :new.prs_perslid_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND MLD_O.mld_uitvoerende_keys = :new.prs_perslid_key; + APPLICATION_ERROR(-20000, 'prs_m085'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m085'); + END; + END IF; +#endif // MLD +#ifdef BCP + // Niet verwijderen als nog BCP_PREVOPDR's zijn met status 'Uitgegeven' en + // uitvoerende deze PERSLID. + IF :new.prs_perslid_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND BCP_P.bcp_mld_uitvoerende_keys = :new.prs_perslid_key; + APPLICATION_ERROR(-20000, 'prs_m085'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m085'); + END; + END IF; +#endif // BCP +// 28-10-96/AH #910 +#if 0 //def BCO + // Verwijder ook de BCO_NIETBESCHIK van deze PERSLID + IF :new.prs_perslid_verwijder IS NOT NULLDATUM + THEN + DELETE FROM bco_nietbeschik + WHERE bco_prs_perslid_key = :new.prs_perslid_key; + END IF; +#endif // BCO +END; +/ + +CREATE_TRIGGER(prs_t_prs_werkplek_B_IU) +BEFORE INSERT OR UPDATE ON prs_werkplek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_werkplek_key, prs_s_prs_werkplek_key); + /* Een werkplek mag niet verwijderd worden als er nog personen + * aan gekoppeld zijn. + */ + IF :new.prs_werkplek_module = 'PRR' + THEN + /* 01-10-96/KTH + * prs_v_aanwezigperslidwerkplek wordt prs_perslidwerkplek ivm. + * mutating table prs_werkplek bij verwijderen werkplekken (RHY) + */ + CHECK_NOG_REFERENCES(prs_werkplek, prs_werkplek_verwijder, + prs_perslidwerkplek, prs_werkplek_key, 'prs_m016'); +#ifdef HUI + ELSIF :new.prs_werkplek_module = 'HUI' + AND :new.prs_werkplek_verwijder IS NOT NULL + THEN + /* + * 10-7-97 AH #1365, PRS_PERSLIDWERKPLEK_VERWIJDER-velden weggehaald. + * + * Een slaapplaats mag niet verwijderd worden als er nog + * lopende overnachtingen zijn, dus met hui_status 'geReserveerd' of + * 'Bezet' + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM prs_perslidwerkplek PRS_PW + WHERE PRS_PW.hui_status <> 'V' + AND PRS_PW.hui_einddatum >= :new.prs_werkplek_verwijder + AND PRS_PW.prs_werkplek_key = :new.prs_werkplek_key; + APPLICATION_ERROR(-20000, 'prs_m054'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m054'); + END; +#endif + END IF; +#if 0 +/* Dit mag niet worden uitgevoegd, omdat anders via CASCADE verwijderen + * de error 'ORA-4091 ALG_RUIMTE is mutating' komt. Het veld + * PRS_DWGUPTODATE kan dus niet bijgewerkt worden. + * Dit wordt nu geregeld in de forms PRS014 (verwijderen werkplek) en PRS114 + * (toevoegen of wijzigen). + */ + + /* Bij toevoegen verwijderen of verplaatsen van een + * werkplek moeten van de bijbehorende tekeningen de PRS_UPTODATE-velden + * aangepast worden. + */ + IF :old.prs_alg_ruimte_key <> :new.prs_alg_ruimte_key + OR :old.prs_alg_ruimte_key IS NULL + OR :new.prs_werkplek_verwijder IS NOT NULL + THEN + IF :old.prs_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT alg_verdieping_key + FROM alg_ruimte + WHERE alg_ruimte_key = :old.prs_alg_ruimte_key), + prs_dwguptodate); + END IF; + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT alg_verdieping_key + FROM alg_ruimte + WHERE alg_ruimte_key = :new.prs_alg_ruimte_key), + prs_dwguptodate); + END IF; +#endif +#ifdef INV + IF :new.prs_werkplek_verwijder IS NOT NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM inv_v_aanwezigdeel + WHERE ins_alg_ruimte_key = :new.prs_werkplek_key + AND ins_alg_ruimte_type = 'W'; + APPLICATION_ERROR(-20000, 'prs_m055'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m055'); + END; + END IF; +#endif +END; +/ + +CREATE_TRIGGER(prs_t_prs_perslidwerkplek_B_IU) +BEFORE INSERT OR UPDATE ON prs_perslidwerkplek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_perslidwerkplek_key, prs_s_prs_perslidwerkplek_key); + /* + * 10-7-97 AH #1365, PRS_PERSLIDWERKPLEK_VERWIJDER-velden weggehaald. + * + * 5/26/97 AH #1255, VERWIJDER-veld mag niet meer gebruikt worden ivm. MUTATING TABLE + * bij CASCADE van PRS_PERSLID, enz. Dus hier een controle toegevoegd + */ +END; +/ + + +CREATE_TRIGGER(prs_t_prs_bedrijf_B_IU) +BEFORE INSERT OR UPDATE ON prs_bedrijf +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_bedrijf_key,prs_s_prs_alluitvoerende_keys); + UPDATE_UPPER(prs_bedrijf_naam,prs_bedrijf_naam_upper); + SET_VERWIJDER_CHILDREN(prs_srtperslid, prs_bedrijf_key, + prs_bedrijf_verwijder, prs_srtperslid_verwijder); + + // Bedrijf mag niet verwijderd worden als er nog + // bestekken zijn van dit bedrijf. + IF :new.prs_bedrijf_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_bestek + WHERE prs_bedrijf_key = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'prs_m083'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m083'); + END; + END IF; +#ifdef BCO + // Niet verwijderen als nog aangegeven als default uitvoerende + IF :new.prs_bedrijf_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigsrtdeel + WHERE bco_defaultuitv_keys = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'prs_m087'); + EXCEPTION + WHEN no_data_found + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m087'); + END; + END IF; +#endif +#ifdef MLD + // Niet verwijderen als nog MLD_OPDR's zijn met status 'Uitgegeven' en + // uitvoerende dit bedrijf + IF :new.prs_bedrijf_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND MLD_O.mld_uitvoerende_keys = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'prs_m086'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m086'); + END; + END IF; +#endif // MLD +#ifdef BCP + // Niet verwijderen als nog BCP_PREVOPDR's zijn met status 'Uitgegeven' en + // uitvoerende dit bedrijf. + IF :new.prs_bedrijf_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND BCP_P.bcp_mld_uitvoerende_keys = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'prs_m086'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m086'); + END; + END IF; +#endif // BCP +#ifdef MLD + IF :old.prs_bedrijf_leverancier IS NOT NULL + AND :new.prs_bedrijf_leverancier IS NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_bestelopdr + WHERE mld_prs_bedrijf_key = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M101'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M101'); + END; + END IF; +#endif // MLD +#ifdef BCO + IF :old.prs_bedrijf_uitvoerende IS NOT NULL + AND :new.prs_bedrijf_uitvoerende IS NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigsrtdeel + WHERE bco_defaultuitv_keys = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M102'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M102'); + END; + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigsrtdeel INS_S, prs_v_aanwezigsrtperslid PRS_S + WHERE INS_S.bco_defaultuitv_keys = PRS_S.prs_srtperslid_key + AND PRS_S.prs_bedrijf_key =:new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M103'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M103'); + END; + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving <> 'Verwerkt' + AND (MLD_O.mld_uitvoerende_keys = :new.prs_bedrijf_key + OR MLD_O.bco_defaultuitv_keys = :new.prs_bedrijf_key); + APPLICATION_ERROR(-20000, 'PRS_M104'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M104'); + END; + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S, + prs_v_aanwezigsrtperslid PRS_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving <> 'Verwerkt' + AND (MLD_O.mld_uitvoerende_keys = PRS_S.prs_srtperslid_key + OR MLD_O.bco_defaultuitv_keys = PRS_S.prs_srtperslid_key) + AND PRS_S.prs_bedrijf_key = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M105'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M105'); + END; + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving <> 'Verwertk' + AND (BCP_P.bcp_mld_uitvoerende_keys = :new.prs_bedrijf_key + OR BCP_P.bcp_defaultuitv_keys = :new.prs_bedrijf_key); + APPLICATION_ERROR(-20000, 'PRS_M104'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M104'); + END; + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S, + prs_v_aanwezigsrtperslid PRS_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving <> 'Verwertk' + AND (BCP_P.bcp_mld_uitvoerende_keys = PRS_S.prs_srtperslid_key + OR BCP_P.bcp_defaultuitv_keys = PRS_S.prs_srtperslid_key) + AND PRS_S.prs_bedrijf_key = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M105'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M105'); + END; + END IF; + IF :old.prs_bedrijf_contract IS NOT NULL + AND :new.prs_bedrijf_contract IS NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_bestek + WHERE prs_bedrijf_key = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M106'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M106'); + END; + END IF; +#endif // BCO +END; +/ + +/* 29-07-96/KTH Vooralsnog zijn de bestektriggers alleen #ifdef INS */ +#ifdef INS +CREATE_TRIGGER(prs_t_prs_bestek_B_IU) +BEFORE INSERT OR UPDATE ON prs_bestek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_bestek_key,prs_s_prs_bestek_key); + UPDATE_UPPER(prs_bestek_nr, prs_bestek_upper_nr); +END; +/ + +CREATE_TRIGGER(prs_t_prs_discbestek_B_IU) +BEFORE INSERT OR UPDATE ON prs_disciplinebestek +FOR EACH ROW +BEGIN + /* AH Disciplinebestek is een uitvoerende, bestek niet meer. */ + UPDATE_PRIMARY_KEY(prs_disciplinebestek_key,prs_s_prs_alluitvoerende_keys); +END; +/ + +#ifdef BCO +CREATE_TRIGGER(prs_t_prs_discbestek_B_D) +BEFORE DELETE ON prs_disciplinebestek +FOR EACH ROW +BEGIN + /* Als het bestek al als default uitvoerende is aangegeven bij een + * INS_SRTDEEL, dan mag de koppeling tussen de discipline van het + * INS_SRTDEEL en het bestek niet verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigsrtdeel INS_D + WHERE INS_D.bco_defaultuitv_keys = :old.prs_disciplinebestek_key; + APPLICATION_ERROR(-20002, 'prs_m069'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m069'); + END; + // Mag niet verwijderd worden als er MLD_OPDR's zijn met als uitvoerende + // deze disicplinebestek + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr + WHERE mld_uitvoerende_keys = :old.prs_disciplinebestek_key +#ifdef BCO + OR bco_defaultuitv_keys = :old.prs_disciplinebestek_key +#endif // BCO + ; + APPLICATION_ERROR(-20002, 'prs_m088'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m088'); + END; +#ifdef BCP + // Mag niet verwijderd worden als er BCP_PREVOPDR's zijn met als uitvoerende + // deze disicplinebestek + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr + WHERE bcp_mld_uitvoerende_keys = :old.prs_disciplinebestek_key + OR bcp_mld_uitvoerende_keys = :old.prs_disciplinebestek_key; + APPLICATION_ERROR(-20002, 'prs_m088'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m088'); + END; +#endif // BCP +END; +/ +#endif + +CREATE_TRIGGER(prs_t_prs_locatiebestek_B_IU) +BEFORE INSERT OR UPDATE ON prs_locatiebestek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_locatiebestek_key,prs_s_prs_locatiebestek_key); +#if defined(MLD) || defined(BCP) + /* Een LocatieBestek mag NIET toegevoegd worden als: + * - Het (discipline)bestek als (default) uitvoerende is aangegeven bij + * een of meer opdrachten en als er nog geen LocatieBestek-records zijn + * voor het bestek. + * Uitzondering: Als er opdrachten zijn EN deze allemaal betrekking hebben + * op de toe te voegen locatie. + * Een LocatieBestek mag NIET worden gewijzigd als: + * - Het (discipline)bestek als (default) uitvoerende is aangegeven bij + * een of meer opdrachten die betrekking hebben op de te wijzigen + * LocatieBestek. + */ + // Toevoegen + IF :old.alg_locatie_key IS NULL + AND :new.alg_locatie_key IS NOT NULL + THEN +#ifdef MLD + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, + prs_disciplinebestek PRS_DB, + mld_melding MLD_M, + mld_v_onroerendgoed_locatie MLD_OL + WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key <> :new.alg_locatie_key + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys +#ifdef BCO + OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys +#endif + ) + AND PRS_DB.prs_bestek_key = :new.prs_bestek_key + AND NOT EXISTS (SELECT 'X' + FROM prs_locatiebestek PRS_LB + WHERE PRS_LB.prs_bestek_key = :new.prs_bestek_key + AND MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key + AND PRS_LB.alg_locatie_key <> :new.alg_locatie_key); + APPLICATION_ERROR(-20000, 'prs_m098'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m098'); + END; +#endif // MLD +#ifdef BCP + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P, + bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL + WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key <> :new.alg_locatie_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys) + AND PRS_DB.prs_bestek_key = :new.prs_bestek_key + AND NOT EXISTS (SELECT 'X' + FROM prs_locatiebestek PRS_LB + WHERE PRS_LB.prs_bestek_key = :new.prs_bestek_key + AND MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key + AND PRS_LB.alg_locatie_key <> :new.alg_locatie_key); + APPLICATION_ERROR(-20000, 'prs_m099'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m099'); + END; +#endif // BCP + // Wijzigen + ELSIF :old.alg_locatie_key IS NOT NULL + AND :new.alg_locatie_key IS NOT NULL + THEN +#ifdef MLD + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, mld_opdr MLD_O, + mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL + WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = :old.alg_locatie_key + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys +#ifdef BCO + OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys +#endif // BCO + ) + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20000, 'prs_m097'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m097'); + END; +#endif // MLD +#ifdef BCP + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P, + bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL + WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = :old.alg_locatie_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys) + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20000, 'prs_m097'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m097'); + END; +#endif // BCP + END IF; +#endif // MLD || BCP +END; +/ + +#endif // INS + +/* De trigger ALG_T_ALG_RUIMTE_B_IU moet aangepast worden. PRS_WERKPLEK moet + * ook verwijderd worden. + */ +#ifdef AKZ +CREATE_TRIGGER(akz_t_akz_prsimport_b_iu) +BEFORE INSERT OR UPDATE ON akz_prsimport +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(akz_prsimport_key, akz_s_akz_prsimport_key); +END; +/ +#endif // AKZ + +#endif // PRS diff --git a/SCH/.gitignore b/SCH/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/SCH/SCH_IND.SRC b/SCH/SCH_IND.SRC new file mode 100644 index 00000000..afc6eda5 --- /dev/null +++ b/SCH/SCH_IND.SRC @@ -0,0 +1,48 @@ +#ifdef SCH + +/* + * History + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * 10-7-97 AH #1364, Index op SCH_NIVO_OG(SCH_ALG_OG_KEY) is al gedefinieerd via de UNIQUE erop. + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * 01-04-96 RW Created + */ + +CREATE INDEX sch_i_sch_nivo_og_1 ON sch_nivo_og(sch_nivo_key); +//CREATE INDEX sch_i_sch_nivo_og_2 ON sch_nivo_og(sch_alg_og_key); + +CREATE INDEX sch_i_sch_werkzaamheden_1 ON sch_werkzaamheden(sch_nivo_key); +CREATE INDEX sch_i_sch_werkzaamheden_2 ON sch_werkzaamheden(sch_alg_srtruimte_key); +CREATE INDEX sch_i_sch_werkzaamheden_3 ON sch_werkzaamheden(sch_activiteit_key); +CREATE INDEX sch_i_sch_werkzaamheden_4 ON sch_werkzaamheden(sch_srtvloer_key); +CREATE INDEX sch_i_sch_werkzaamheden_5 ON sch_werkzaamheden(sch_frequentie_key); + +CREATE INDEX sch_i_alg_ruimte_1 ON alg_ruimte(sch_srtvloer_key); + +#endif // SCH diff --git a/SCH/SCH_INI.SRC b/SCH/SCH_INI.SRC new file mode 100644 index 00000000..6a1a4558 --- /dev/null +++ b/SCH/SCH_INI.SRC @@ -0,0 +1,61 @@ +#ifdef SCH // 19-04-96 KTH + +/* + * SCH tables for Facilitor: installation time population + */ + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * 20-05-98 KTH Gebruik macro _FAC_MODULE + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * 20-08-97 KTH LOG#1433: Vloersoorten cf CONTOUR.INI van Dijkoraad/RB + * --- 01.31 --- + * 31-07-97 AH Initiele waardes voor SCH_SRTVLOER toegevoegd + * --- 01.30 --- + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * 19-04-96 KTH Commentaarblok en #ifdef toegevoegd, versie=01.14 gezet + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 21-03-96 RW Creation + */ + +_FAC_MODULE('SCH','Schoonmaak') + +#ifdef DATA +/* 970820/KTH LOG#1433 Vloersoorten cf CONTOUR.INI van Dijkoraad/RB */ +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Beton'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Computervloer'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Linoleum'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Natuursteen'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Parket'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Siergrind'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Tapijt'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Vloertegels, glad'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Vloertegels, ruw'); +COMMIT; +#endif // DATA + +#endif // SCH diff --git a/SCH/SCH_PAC.SRC b/SCH/SCH_PAC.SRC new file mode 100644 index 00000000..16ced7ca --- /dev/null +++ b/SCH/SCH_PAC.SRC @@ -0,0 +1,88 @@ +#ifdef SCH + +/* SCH_PAC.SRC + * + * Revisie: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * 01-07-97 AH Aangemaakt + */ + +CREATE OR REPLACE FUNCTION SCH_P_SCH_BepaalFrequentieCode( SrtRuimteKey IN NUMBER, SrtVloerKey IN NUMBER, + ActiviteitKey IN NUMBER, NivoKey IN NUMBER) RETURN VARCHAR2 IS + FrequentieCode sch_frequentie.sch_frequentie_code%TYPE; +BEGIN + FrequentieCode := NULL; + IF FrequentieCode IS NULL + THEN + BEGIN + SELECT SCH_F.sch_frequentie_code + INTO FrequentieCode + FROM sch_frequentie SCH_F, sch_werkzaamheden SCH_W + WHERE SCH_F.sch_frequentie_key = SCH_W.sch_frequentie_key + AND SCH_W.sch_alg_srtruimte_key = SrtRuimteKey + AND SCH_W.sch_srtvloer_key = SrtVloerKey + AND SCH_W.sch_activiteit_key = ActiviteitKey + AND SCH_W.sch_nivo_key = NivoKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN FrequentieCode := NULL; + WHEN TOO_MANY_ROWS + THEN FrequentieCode := NULL; + END; + END IF; + IF FrequentieCode IS NULL + THEN + BEGIN + SELECT SCH_F.sch_frequentie_code + INTO FrequentieCode + FROM sch_frequentie SCH_F, sch_werkzaamheden SCH_W + WHERE SCH_F.sch_frequentie_key = SCH_W.sch_frequentie_key + AND SCH_W.sch_alg_srtruimte_key = SrtRuimteKey + AND SCH_W.sch_srtvloer_key IS NULL + AND SCH_W.sch_activiteit_key = ActiviteitKey + AND SCH_W.sch_nivo_key = NivoKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN FrequentieCode := NULL; + WHEN TOO_MANY_ROWS + THEN FrequentieCode := NULL; + END; + END IF; + IF FrequentieCode IS NULL + THEN + BEGIN + SELECT SCH_F.sch_frequentie_code + INTO FrequentieCode + FROM sch_frequentie SCH_F, sch_werkzaamheden SCH_W + WHERE SCH_F.sch_frequentie_key = SCH_W.sch_frequentie_key + AND SCH_W.sch_alg_srtruimte_key IS NULL + AND SCH_W.sch_srtvloer_key = SrtVloerKey + AND SCH_W.sch_activiteit_key = ActiviteitKey + AND SCH_W.sch_nivo_key = NivoKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN FrequentieCode := NULL; + WHEN TOO_MANY_ROWS + THEN FrequentieCode := NULL; + END; + END IF; + IF FrequentieCode IS NULL + THEN + FrequentieCode := '-'; + END IF; + RETURN FrequentieCode; +END; +/ + +#endif // SCH diff --git a/SCH/SCH_SEQ.SRC b/SCH/SCH_SEQ.SRC new file mode 100644 index 00000000..bd003234 --- /dev/null +++ b/SCH/SCH_SEQ.SRC @@ -0,0 +1,45 @@ +#ifdef SCH //21-03-96 RW + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * 6/26/97 AH #1326, Nieuwe SCH-functionaliteit toegevoegd volgens SCH_FO.TXT + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 21-03-96 RW Creation + */ + +CREATE SEQUENCE sch_s_sch_nivo_key MINVALUE 1; +CREATE SEQUENCE sch_s_sch_activiteit_key MINVALUE 1; +CREATE SEQUENCE sch_s_sch_werkzaamheden_key MINVALUE 1; + +CREATE SEQUENCE sch_s_sch_frequentie_key MINVALUE 1; +CREATE SEQUENCE sch_s_sch_srtvloer_key MINVALUE 1; + +#endif // SCH diff --git a/SCH/SCH_TAB.SRC b/SCH/SCH_TAB.SRC new file mode 100644 index 00000000..ae05dd82 --- /dev/null +++ b/SCH/SCH_TAB.SRC @@ -0,0 +1,191 @@ +#ifdef SCH //21-03-96 RW + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 20/11/1997 AH Extra constraint in SCH_WERKZAAMHEDEN toegevoegd. SCH_SRTVLOER_KEY of + * SCH_ALG_SRTRUIMTE_KEY moet ingevuld zijn. + * 12/11/1997 AH #1473, constraintnamen toegevoegd + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * 22-07-97 AH #1401: Grootte SCH_FREQUENTIE_CODE aangepast + * --- 01.30 --- + * 14-07-97 KTH #1396: Bibliotheek-privilege voor diverse tabellen + * 14-07-97 KTH Bij table-definities inspringen bij column-definities + * 6/26/97 AH #1326, Nieuwe SCH-functionaliteit toegevoegd volgens SCH_FO.TXT + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * 27-06-96 EH IN sch_nivo_og PRIMARY_KEY Constraint verwijderd. + * --- 01.18 --- + * --- 01.17 --- + * 26-06-96 EH In sch_werkzaamheden voor alg_srtruimte_key een NOT NULL in- + * gevoerd. + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 21-03-96 RW Creation + */ + +#include "comsql.h" + +/* Nivo van schoonmaken, bv Minimaal, Maximaal, uitgebreid, beperkt. */ +/* 14-07-97/KTH LOG#1396: BIBLIOTHEEK_PRIVILEGE ipv NORMAAL_PRIVILEGE */ +CREATE_TABLE(sch_nivo,BIBLIOTHEEK_PRIVILEGE) +( + sch_nivo_key + NUMBER(10) + CONSTRAINT sch_k_sch_nivo_key PRIMARY KEY, + sch_nivo_omschrijving + VARCHAR2(30) + NOT_NULL(sch_nivo_omschrijving, sch_c_sch_nivo_omschrijving), + sch_nivo_upper + VARCHAR2(30) + NOT_NULL(sch_nivo_upper, sch_c_sch_nivo_upper) + CONSTRAINT sch_u_sch_nivo_upper UNIQUE +); + +/* Schoonmaakactiviteiten, bv Stofzuigen, Asbakken legen.*/ +/* 14-07-97/KTH LOG#1396: BIBLIOTHEEK_PRIVILEGE ipv NORMAAL_PRIVILEGE */ +CREATE_TABLE(sch_activiteit,BIBLIOTHEEK_PRIVILEGE) +( + sch_activiteit_key + NUMBER(10) + CONSTRAINT sch_k_sch_activiteit_key PRIMARY KEY, + sch_activiteit_prijsprofiel /* 1 = prijsbepaling gaat per vierkante meter */ + NUMBER(1) /* 2 = prijsbepaling gaat per stuk */ + CONSTRAINT sch_c_sch_activiteit_prijs CHECK(sch_activiteit_prijsprofiel = 1 OR + sch_activiteit_prijsprofiel = 2), + sch_activiteit_code + VARCHAR2(10) + NOT_NULL(sch_activiteit_code, sch_c_sch_activiteit_code) + CONSTRAINT sch_u_sch_activiteit_code UNIQUE, + sch_activiteit_omschrijving + VARCHAR2(512) + NOT_NULL(sch_activiteit_omschrijving, sch_c_sch_activiteit_omschr), + sch_activiteit_volgnr /* Volgorde waarin de activiteit getoond wordt */ + NUMBER(3) /* Hoeft niet ingevuld te zijn */ +); + +CREATE_TABLE(sch_nivo_og,NORMAAL_PRIVILEGE) +( + sch_alg_og_key + NUMBER(10) + NOT_NULL(sch_alg_og_key, sch_c_sch_alg_og_key) + CONSTRAINT sch_u_sch_nivo_og_key UNIQUE, + sch_nivo_key + NUMBER(10) + NOT_NULL(sch_nivo_key, sch_r_sch_nivo_key1) + CONSTRAINT sch_r_sch_nivo_key2 REFERENCES sch_nivo(sch_nivo_key), + sch_nivo_og_correctiefactor + NUMBER(4,1) + DEFAULT 100, + CONSTRAINT sch_c_sch_nivo_og_correctie CHECK (sch_nivo_og_correctiefactor >=0 ) +); + +/* frequentie voor de werkzaamheden, bv. 4W 4 maal per week.*/ +/* 14-07-97/KTH LOG#1396: BIBLIOTHEEK_PRIVILEGE ipv NORMAAL_PRIVILEGE */ +CREATE_TABLE(sch_frequentie,BIBLIOTHEEK_PRIVILEGE) +( + sch_frequentie_key + NUMBER(10) + CONSTRAINT sch_k_sch_frequentie_key PRIMARY KEY, + sch_frequentie_code + VARCHAR2(3) + NOT_NULL(sch_frequentie_code, sch_c_sch_frequentie_code) + CONSTRAINT sch_u_sch_frequentie_code UNIQUE, + sch_frequentie_omschrijving + VARCHAR2(30) + NOT_NULL(sch_frequentie_omschrijving, sch_c_sch_frequentie_omschr) +); + +/* Vloerafwerking, bn. Steen of Tapijt.*/ +/* 14-07-97/KTH LOG#1396: BIBLIOTHEEK_PRIVILEGE ipv NORMAAL_PRIVILEGE */ +CREATE_TABLE(sch_srtvloer,BIBLIOTHEEK_PRIVILEGE) +( + sch_srtvloer_key + NUMBER(10) + CONSTRAINT sch_k_sch_srtvloer_key PRIMARY KEY, + sch_srtvloer_omschrijving + VARCHAR2(30) + NOT_NULL(sch_srtvloer_omschrijving, sch_c_sch_srtvloer_omschr), + sch_srtvloer_upper + VARCHAR2(30) + NOT_NULL(sch_srtvloer_upper, sch_c_sch_srtvloer_upper), + sch_srtvloer_aanmaak + DATE + DEFAULT SYSDATE, + sch_srtvloer_verwijder + DATE + DEFAULT NULL, + CONSTRAINT sch_u_sch_srtvloer_upper UNIQUE(sch_srtvloer_upper, sch_srtvloer_verwijder) +); + +/* werkzaamheden (bv. stofzuigen), voor een ruimtesoort, nivo en activiteit */ +/* 14-07-97/KTH LOG#1396: BIBLIOTHEEK_PRIVILEGE ipv NORMAAL_PRIVILEGE */ +CREATE_TABLE(sch_werkzaamheden,BIBLIOTHEEK_PRIVILEGE) +( + sch_werkzaamheden_key + NUMBER(10) + CONSTRAINT sch_k_sch_werkzaamheden_key PRIMARY KEY, + sch_nivo_key + NUMBER(10) + CONSTRAINT sch_r_werkz_nivo_key1 REFERENCES sch_nivo(sch_nivo_key) + NOT_NULL(sch_nivo_key, sch_r_werkz_nivo_key2), + sch_alg_srtruimte_key + NUMBER(10) + CONSTRAINT sch_r_sch_alg_srtruimte_key1 REFERENCES alg_srtruimte(alg_srtruimte_key), + sch_activiteit_key + NUMBER(10) + CONSTRAINT sch_r_sch_activiteit_key1 REFERENCES sch_activiteit(sch_activiteit_key) + NOT_NULL(sch_activiteit_key, sch_r_sch_activiteit_key2), + sch_werkzaamheden_kosten + NUMBER(8,2), +// AH, deze velden zijn overbodig vanaf versie 1.30, ze komen uit nu SCH_ACTIVITEIT +// sch_werkzaamheden_prijsprofiel /* 1 = prijsbepaling gaat per vierkante meter */ +// NUMBER(1), /* 2 = prijsbepaling gaat per stuk */ +// sch_werkzaamheden_omschrijving +// VARCHAR2(30) +// NOT NULL, +// sch_werkzaamheden_upper +// VARCHAR2(30) +// NOT NULL, + sch_frequentie_key + NUMBER(10) + CONSTRAINT sch_r_sch_frequentie_key1 REFERENCES sch_frequentie(sch_frequentie_key) + NOT_NULL(sch_frequentie_key, sch_r_sch_frequentie_key2), + sch_srtvloer_key /* mag null zijn. */ + NUMBER(10) + CONSTRAINT sch_r_sch_srtvloer_key REFERENCES sch_srtvloer(sch_srtvloer_key), + CONSTRAINT sch_c_sch_srtruimte_srtvloer CHECK(sch_alg_srtruimte_key IS NOT NULL OR + sch_srtvloer_key IS NOT NULL), + CONSTRAINT sch_u_sch_werkzaamheden_unique + UNIQUE(sch_nivo_key, sch_alg_srtruimte_key, sch_srtvloer_key, sch_activiteit_key) +); + +ALTER TABLE alg_ruimte +ADD +( + sch_srtvloer_key + NUMBER(10) + CONSTRAINT alg_r_sch_srtvloer_key REFERENCES sch_srtvloer(sch_srtvloer_key) +); + +#endif // SCH diff --git a/SCH/SCH_TRI.SRC b/SCH/SCH_TRI.SRC new file mode 100644 index 00000000..211d5927 --- /dev/null +++ b/SCH/SCH_TRI.SRC @@ -0,0 +1,90 @@ +#ifdef SCH //21-03-96 RW + +#include "comsql.h" + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * 13/11/1997 AH #1473, CREATE TRIGGER vervangen door CREATE_TRIGGER() + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * --- 01.30 --- + * 6/26/97 AH #1326, Nieuwe functionaliteit toegevoegd volgens SCH_FO.TXT + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 21-03-96 RW Creation + */ + +CREATE_TRIGGER(sch_t_sch_nivo_b_iu) +BEFORE INSERT OR UPDATE ON sch_nivo +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(sch_nivo_key, sch_s_sch_nivo_key); + UPDATE_UPPER(sch_nivo_omschrijving, sch_nivo_upper); +END; +/ + +CREATE_TRIGGER(sch_t_sch_activiteit_b_iu) +BEFORE INSERT OR UPDATE ON sch_activiteit +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(sch_activiteit_key, sch_s_sch_activiteit_key); + UPDATE_UPPER(sch_activiteit_code, sch_activiteit_code); +END; +/ + + +CREATE_TRIGGER(sch_t_sch_werkzaamheden_b_iu) +BEFORE INSERT OR UPDATE ON sch_werkzaamheden +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(sch_werkzaamheden_key, sch_s_sch_werkzaamheden_key); +END; +/ + +CREATE_TRIGGER(sch_t_sch_frequentie_b_iu) +BEFORE INSERT OR UPDATE ON sch_frequentie +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(sch_frequentie_key, sch_s_sch_frequentie_key); + UPDATE_UPPER(sch_frequentie_code, sch_frequentie_code); +END; +/ + +CREATE_TRIGGER(sch_t_sch_srtvloer_b_iu) +BEFORE INSERT OR UPDATE ON sch_srtvloer +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(sch_srtvloer_key, sch_s_sch_srtvloer_key); + UPDATE_UPPER(sch_srtvloer_omschrijving, sch_srtvloer_upper); + CHECK_NOG_REFERENCES(sch_srtvloer, sch_srtvloer_verwijder, alg_v_aanwezigruimte, + sch_srtvloer_key, 'sch_m027'); + CHECK_NOG_REFERENCES(sch_srtvloer, sch_srtvloer_verwijder, sch_werkzaamheden, + sch_srtvloer_key, 'sch_m029'); +END; +/ + +#endif // SCH diff --git a/SCH/SCH_VIE.SRC b/SCH/SCH_VIE.SRC new file mode 100644 index 00000000..7ec8352f --- /dev/null +++ b/SCH/SCH_VIE.SRC @@ -0,0 +1,290 @@ +#ifdef SCH + +/* REVISIONS: + * + * --- 01.40 --- + * --- 01.39 --- + * --- 01.38 --- + * --- 01.37 --- + * --- 01.36 --- + * --- 01.35 --- + * --- 01.34 --- + * --- 01.33 --- + * --- 01.32 --- + * --- 01.31 --- + * 23-07-97 AH #1405, SCH_V_WERKZAAMHEDEN_GEGEVENS aangepast, sch_activiteit_volgnr toegevoegd + * --- 01.30 --- + * 11-07-97 AH #1392, SCH_V_PROGRAMMA aangepast.Als er ruimtes zijn zonder srtvloer, srtruimte + * oid. dan moeten deze toch in het programma-overzicht (SCH213) komen te staan. + * 11-07-97 AH #1390, IN _SHC_V_NIVO_GEGEVENS hoeft de UNION met Gebouw niet te worden + * gedaan. + * 6/26/97 AH #1326, Nieuwe SCH-functionaliteit toegevoegd volgens SCH_FO.TXT + * SCH_V_WERKZAAMHEDEN_GEGEVENS aangepast voor nieuwe structuur. + * --- 01.29 --- + * --- 01.28 --- + * --- 01.27 --- + * --- 01.26 --- + * --- 01.25 --- + * --- 01.24 --- + * --- 01.23 --- + * --- 01.22 --- + * --- 01.21 --- + * --- 01.20 --- + * --- 01.19 --- + * --- 01.18 --- + * --- 01.17 --- + * --- 01.16 --- + * --- 01.15 --- + * --- 01.14 --- + * --- 01.13 --- + * --- 01.12 --- + * 21-03-96 RW Creation + */ + +DEFINIEER_VIEW_AANWEZIG(sch_srtvloer, sch_srtvloer_verwijder, + sch_v_aanwezigsrtvloer,NORMAAL_PRIVILEGE); + +/* De karakteristieke gegevens over de activiteit van werkzaamheden */ +CREATE_VIEW(sch_v_werkzaamheden_gegevens, NORMAAL_PRIVILEGE) + (sch_werkzaamheden_key, + sch_werkzaamheden_kosten, + sch_activiteit_code, + sch_activiteit_prijsprofiel, + sch_activiteit_volgnr, + sch_nivo_key, + sch_nivo_omschrijving, + alg_srtruimte_key, + alg_srtruimte_omschrijving, + alg_srtruimte_upper, + sch_srtvloer_key, + sch_srtvloer_omschrijving, + sch_srtvloer_upper, + sch_frequentie_key, + sch_frequentie_code) AS +SELECT SCH_W.sch_werkzaamheden_key, + SCH_W.sch_werkzaamheden_kosten, + SCH_A.sch_activiteit_code, + SCH_A.sch_activiteit_prijsprofiel, + SCH_A.sch_activiteit_volgnr, + SCH_N.sch_nivo_key, + SCH_N.sch_nivo_omschrijving, + SCH_W.sch_alg_srtruimte_key, + ALG_SR.alg_srtruimte_omschrijving, + ALG_SR.alg_srtruimte_upper, + SCH_W.sch_srtvloer_key, + SCH_SV.sch_srtvloer_omschrijving, + SCH_SV.sch_srtvloer_upper, + SCH_W.sch_frequentie_key, + SCH_F.sch_frequentie_code +FROM sch_werkzaamheden SCH_W, sch_activiteit SCH_A, sch_nivo SCH_N, + sch_v_aanwezigsrtvloer SCH_SV, alg_v_aanwezigsrtruimte ALG_SR, + sch_frequentie SCH_F +WHERE SCH_W.sch_activiteit_key = SCH_A.sch_activiteit_key + AND SCH_W.sch_nivo_key = SCH_N.sch_nivo_key + AND SCH_W.sch_frequentie_key = SCH_F.sch_frequentie_key + AND SCH_W.sch_srtvloer_key = SCH_SV.sch_srtvloer_key (+) + AND SCH_W.sch_alg_srtruimte_key = ALG_SR.alg_srtruimte_key (+); + + +CREATE_VIEW(sch_v_og, NORMAAL_PRIVILEGE) + (alg_og_key, + alg_locatie_key, + 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) AS +SELECT G.alg_gebouw_key, + G.alg_locatie_key, + G.alg_gebouw_key, + G.alg_gebouw_omschrijving, + G.alg_gebouw_upper, + to_number(NULL), + NULL, + 0, + to_number(NULL), + NULL, + ' ' +FROM alg_v_aanweziggebouw G +UNION +SELECT V.alg_verdieping_key, + G.alg_locatie_key, + G.alg_gebouw_key, + G.alg_gebouw_omschrijving, + G.alg_gebouw_upper, + V.alg_verdieping_key, + V.alg_verdieping_omschrijving, + V.alg_verdieping_volgnr, + to_number(NULL), + NULL, + ' ' +FROM alg_v_aanwezigverdieping V, alg_v_aanweziggebouw G +WHERE V.alg_gebouw_key = G.alg_gebouw_key +UNION +SELECT R.alg_ruimte_key, + G.alg_locatie_key, + G.alg_gebouw_key, + G.alg_gebouw_omschrijving, + G.alg_gebouw_upper, + V.alg_verdieping_key, + V.alg_verdieping_omschrijving, + V.alg_verdieping_volgnr, + R.alg_ruimte_key, + R.alg_ruimte_nr, + R.alg_ruimte_upper_nr +FROM alg_v_aanwezigruimte R, alg_v_aanwezigverdieping V, alg_v_aanweziggebouw G +WHERE R.alg_verdieping_key = V.alg_verdieping_key + AND V.alg_gebouw_key = G.alg_gebouw_key; + + +// 11-07-97 AH #1390, In SCH014 hoeft een leeg gebouw niet getoond te worden. +CREATE_VIEW(sch_v_nivo_gegevens, NORMAAL_PRIVILEGE) + (alg_locatie_key, + 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, + sch_nivo_key, + sch_nivo_omschrijving, + sch_alg_og_key) AS +SELECT C.alg_locatie_key, + C.alg_gebouw_key, + C.alg_gebouw_omschrijving, + C.alg_gebouw_upper, + C.alg_verdieping_key, + C.alg_verdieping_omschrijving, + C.alg_verdieping_volgnr, + C.alg_ruimte_key, + C.alg_ruimte_nr, + C.alg_ruimte_upper_nr, + A.sch_nivo_key, + A.sch_nivo_omschrijving, + B.sch_alg_og_key +FROM sch_nivo A, sch_nivo_og B, sch_v_og C +WHERE A.sch_nivo_key = B.sch_nivo_key + AND B.sch_alg_og_key = C.alg_og_key; + +CREATE_VIEW(sch_v_nivo_ruimte, NORMAAL_PRIVILEGE) + (sch_alg_og_key, + alg_gebouw_key, + alg_verdieping_key, + alg_ruimte_key, + sch_nivo_key, + sch_nivo_og_correctiefactor) AS +SELECT SCH_NO.sch_alg_og_key, + ALG_V.alg_gebouw_key, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + SCH_NO.sch_nivo_key, + SCH_NO.sch_nivo_og_correctiefactor +FROM sch_nivo_og SCH_NO, alg_verdieping ALG_V, + alg_v_aanwezigruimte ALG_R +WHERE ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key + AND SCH_NO.sch_alg_og_key = ALG_R.alg_ruimte_key +UNION +SELECT SCH_NO.sch_alg_og_key, + ALG_V.alg_gebouw_key, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + SCH_NO.sch_nivo_key, + SCH_NO.sch_nivo_og_correctiefactor +FROM sch_nivo_og SCH_NO, alg_verdieping ALG_V, + alg_v_aanwezigruimte ALG_R +WHERE ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key + AND SCH_NO.sch_alg_og_key = ALG_V.alg_verdieping_key + AND NOT EXISTS (SELECT sch_alg_og_key + FROM sch_nivo_og + WHERE sch_alg_og_key = ALG_R.alg_ruimte_key) +UNION +SELECT SCH_NO.sch_alg_og_key, + ALG_V.alg_gebouw_key, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + SCH_NO.sch_nivo_key, + SCH_NO.sch_nivo_og_correctiefactor +FROM sch_nivo_og SCH_NO, alg_verdieping ALG_V, + alg_v_aanwezigruimte ALG_R +WHERE ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key + AND SCH_NO.sch_alg_og_key = ALG_V.alg_gebouw_key + AND NOT EXISTS (SELECT sch_alg_og_key + FROM sch_nivo_og + WHERE sch_alg_og_key = ALG_V.alg_verdieping_key + OR sch_alg_og_key = ALG_R.alg_ruimte_key); + +CREATE_VIEW(sch_v_programma, 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, + ALG_R.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, + ALG_R.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, + sch_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.sch_srtvloer_key = SCH_SV.sch_srtvloer_key (+) + AND ALG_R.alg_ruimte_key = SCH_NR.alg_ruimte_key; + +#endif // SCH diff --git a/_UP/.gitignore b/_UP/.gitignore deleted file mode 100644 index e69de29b..00000000 diff --git a/_UP/111TO112.SQL b/_UP/111TO112.SQL new file mode 100644 index 00000000..311c8e66 --- /dev/null +++ b/_UP/111TO112.SQL @@ -0,0 +1,151 @@ +SPOOL 111to112 + +/* SLE-module: performance verbetering */ +DROP VIEW sle_v_slot_gegevens; + +CREATE VIEW sle_v_slot_gegevens ( sle_slot_key, + sle_slot_omschrijving, + sle_slot_upper, + sle_alg_onroerendgoed_keys, + alg_locatie_key, + alg_onroerendgoed_keys, + alg_onroerendgoed_omschrijving, + alg_onroerendgoed_upper, + alg_verdieping_key, + alg_verdieping_omschrijving, + alg_verdieping_upper, + alg_verdieping_volgnr, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_upper_nr, + alg_type ) AS + SELECT SLE_S.sle_slot_key, + SLE_S.sle_slot_omschrijving, + SLE_S.sle_slot_upper, + ALG_G.alg_gebouw_key, + ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + TO_NUMBER(NULL), + NULL, + NULL, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL, + 'G' + FROM sle_slot SLE_S, alg_gebouw ALG_G + WHERE SLE_S.sle_alg_onroerendgoed_keys = ALG_G.alg_gebouw_key + UNION + SELECT SLE_S.sle_slot_key, + SLE_S.sle_slot_omschrijving, + SLE_S.sle_slot_upper, + ALG_V.alg_verdieping_key, + ALG_V.alg_locatie_key, + ALG_V.alg_gebouw_key, + ALG_V.alg_gebouw_omschrijving, + ALG_V.alg_gebouw_upper, + ALG_V.alg_verdieping_key, + ALG_V.alg_verdieping_omschrijving, + ALG_V.alg_verdieping_upper, + ALG_V.alg_verdieping_volgnr, + TO_NUMBER(NULL), + NULL, + NULL, + 'V' + FROM sle_slot SLE_S, alg_v_verdieping_gegevens ALG_V + WHERE SLE_S.sle_alg_onroerendgoed_keys = ALG_V.alg_verdieping_key + UNION + SELECT SLE_S.sle_slot_key, + SLE_S.sle_slot_omschrijving, + SLE_S.sle_slot_upper, + ALG_R.alg_ruimte_key, + ALG_R.alg_locatie_key, + ALG_R.alg_gebouw_key, + ALG_R.alg_gebouw_omschrijving, + ALG_R.alg_gebouw_upper, + ALG_R.alg_verdieping_key, + ALG_R.alg_verdieping_omschrijving, + ALG_R.alg_verdieping_upper, + ALG_R.alg_verdieping_volgnr, + ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_upper_nr, + 'R' + FROM sle_slot SLE_S, alg_v_ruimte_gegevens ALG_R + WHERE ALG_R.alg_ruimte_key = SLE_S.sle_alg_onroerendgoed_keys + UNION + SELECT SLE_S.sle_slot_key, + SLE_S.sle_slot_omschrijving, + SLE_S.sle_slot_upper, + ALG_T.alg_terreinsector_key, + ALG_T.alg_locatie_key, + ALG_T.alg_terreinsector_key, + ALG_T.alg_terreinsector_omschrijving, + ALG_T.alg_terreinsector_upper, + TO_NUMBER(NULL), + NULL, + NULL, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL, + 'T' + FROM sle_slot SLE_S, alg_terreinsector ALG_T + WHERE SLE_S.sle_alg_onroerendgoed_keys = ALG_T.alg_terreinsector_key; + +/* systeemnamen in uppercase */ + +update fac_entity_name set fac_entity_system_name=Upper(fac_entity_system_name); +update fac_message set fac_message_code=Upper(fac_message_code); + + +/* MRA-module: andere uniciteit voorschriften */ +ALTER TABLE mra_voorschrift +DROP UNIQUE (mra_voorschrift_afk_upper); + +ALTER TABLE mra_voorschrift +ADD UNIQUE (mra_voorschrift_afk_upper, mra_voorschrift_module); + +/* MRA-module: Nieuwe fac_messages */ +DELETE FROM fac_message WHERE fac_message_code = 'MANC_VOOR'; + +INSERT INTO fac_message VALUES ('MANC_V_MIL', 'Manco bij milieuvoorschrift'); +INSERT INTO fac_message VALUES ('MANC_V_ARB', 'Manco bij arbovoorschrift'); +INSERT INTO fac_message VALUES ('MIL_VORS', 'Milieuvoorschrift'); +INSERT INTO fac_message VALUES ('ARB_VORS', 'Arbovoorschrift'); + +INSERT INTO fac_message VALUES ('mra_m097', 'Milieuvoorschrift bij bestemming'); +INSERT INTO fac_message VALUES ('mra_m098', 'Arbovoorschrift bij bestemming'); + +/* 04-04-96 AH In bestelopdrachten van SONNEHEERDT moet de + * MLD_BESTELOPDR_MODULE 'MLD' worden ipv. 'SON'. + */ +UPDATE mld_bestelopdr +SET mld_bestelopdr_module = 'MLD' +WHERE mld_bestelopdr_module = 'SON'; + +/* 04-04-96 AH Messages voor de SONNEHEERDT-bestelbon. + */ +insert into fac_message values('son_m001', 'STICHTING BEHEER SONNEHEERDT'); +insert into fac_message values('son_m002', 'Landelijk centrum voor blinden en slechtzienden'); +insert into fac_message values('son_m003', 'Dienst Gebouwen en Terreinen'); +insert into fac_message values('son_m004', 'Opdrachtbon met rekening meesturen. Op rekening WERKNUMMER vermelden.'); +insert into fac_message values('son_m005', 'Rekening in tweevoud zenden naar aangekruikt adres:'); + +/* 04-04-96 AH Opdrachtbon-kop accentueren. + */ +UPDATE fac_message +SET fac_message_text = 'OPDRACHTBON MELDINGEN' +WHERE fac_message_code = 'MLD_M056'; + +/* 05-04-96 AH Opdrachtnr. voor Opdrachtbon. + */ +insert into fac_entity_name values('MLD_OPDR_NR', 'Opdrachtnr.', NULL, 'het'); + +UPDATE fac_message +SET fac_message_text = 'Opdracht gereed : Ja / Nee' +WHERE fac_message_code = 'MLD_M055'; + +SPOOL OFF diff --git a/_UP/112TO113.SQL b/_UP/112TO113.SQL new file mode 100644 index 00000000..fdc65d7a --- /dev/null +++ b/_UP/112TO113.SQL @@ -0,0 +1,15 @@ +SPOOL 112to113 + +/* + * Update script van versie 01.12 naar 01.13 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * 09-04-96 KTH Lege file aangemaakt + */ + +/* geen SQL-wijzigingen voor 112to113 */ + +SPOOL OFF diff --git a/_UP/113TO114.SRC b/_UP/113TO114.SRC new file mode 100644 index 00000000..59f906a9 --- /dev/null +++ b/_UP/113TO114.SRC @@ -0,0 +1,294 @@ +SPOOL 113to114 + +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.13 naar 01.14 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * 16-04-96 EH 4 views voor MRA gewijzigd. + * 16-04-96 AH 113to114.sql renamed to 113to114.SRC + * 16-04-96 AH INS_..._MODULE wordt gevuld met 'INS' als het veld leeg is. + * Als dit veld nog niet bestaat moet deze toegevoegd worden in + * de tabellen INS_DISCIPLINE, INS_SRTGROEP, INS_SRTDEEL + * en INS_DEEL. + * 16-04-96 AH Update van FAC_MESSAGE 'fac_m002' voor 'BCO 2.0' + * 10-04-96 KTH INV entities + * 09-04-96 KTH PRS entities + * 09-04-96 KTH Lege file aangemaakt + */ + +/* PRS updates voor FAC (tbv. meervouden/lidwoorden voor HELP): */ +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID', 'Persoon', 'personen', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_MAXCORR'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_MAXCORR', 'Corr. uren', 'Corr. uren', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_MAXPREV'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_MAXPREV', 'Prev. uren', 'Prev. uren', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_MAXTOTAAL'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_MAXTOTAAL', 'Totale uren', 'Totale uren', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_NR'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_NR', 'Pers.nr', 'Pers.nrs', 'het'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_VOORLETTERS'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_VOORLETTERS', 'Voorletters', 'Voorletters', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_SRTPERSLID'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_SRTPERSLID', 'Functie van persoon', 'Functies van persoon', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='RAPPORT'; +INSERT INTO FAC_ENTITY_NAME VALUES ('RAPPORT', 'Rapporteren', NULL, 'het'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_INVENTARIS'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_INVENTARIS', 'Inventaris', 'Inventaris', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_DIENSTVERBAND'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_DIENSTVERBAND', 'Dienstverband', 'Dienstverbanden', 'het'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_FUNCOPP'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_FUNCOPP', 'Functie opp.', 'Functie opp.', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_OPP'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_OPP', 'Werkelijke opp.', 'Werkelijke opp.', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_INGANGSDATUM'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_INGANGSDATUM', 'Ingangsdatum', 'Ingangsdata', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_PERSLID_EINDDATUM'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_PERSLID_EINDDATUM', 'Einddatum', 'Einddata', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='PRS_WERKPLEK_OMSCHRIJVING'; +INSERT INTO FAC_ENTITY_NAME VALUES ('PRS_WERKPLEK_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); + +/* INV updates voor FAC (tbv. meervouden/lidwoorden voor HELP): */ +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DISCIPLINE_OMSCHRIJVING'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DISCIPLINE_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTGROEP_OMSCHRIJVING'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTGROEP_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTDEEL'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTDEEL', 'Artikelsoort', 'Artikelsoorten', 'het');DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTDEEL_OMSCHRIJVING'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTDEEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTDEEL_KOPPELING'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTDEEL_KOPPELING', 'Koppeling', 'Koppelingen', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTDEEL_KOPPELING_RUIMTE'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTDEEL_KOPPELING_RUIMTE', 'Ruimte', 'ruimtes', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_SRTDEEL_KOPPELING_WERKPLEK'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_SRTDEEL_KOPPELING_WERKPLEK', 'Werkplek', 'werkplekken', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_SERIENR'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_SERIENR', 'Serienr.', 'serienrs.', 'het'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_OMSCHRIJVING'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_OMSCHRIJVING', 'Omschrijving', 'omschrijvingen', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_TYPE'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_TYPE', 'Type', 'types', 'het'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_BOUWJAAR'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_BOUWJAAR', 'Bouwjaar', 'bouwjaren', 'het'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_PRIJS'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_PRIJS', 'Prijs', 'prijzen', 'de'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_AANTAL'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_AANTAL', 'Aantal', 'aantallen', 'het'); +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='INV_DEEL_OPMERKING'; +INSERT INTO FAC_ENTITY_NAME VALUES ('INV_DEEL_OPMERKING', 'Opmerking', 'opmerkingen', 'de'); + +DELETE FROM FAC_MESSAGE WHERE FAC_MESSAGE_CODE='MLD_M147'; +INSERT INTO fac_message VALUES ('MLD_M147', 'Alleen nog niet verwerkte activiteiten'); + +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='MRA_COMMANDANT_DATUM'; +INSERT INTO FAC_ENTITY_NAME VALUES ('MRA_COMMANDANT_DATUM', 'Waarschuw.KazCo', NULL, NULL); + +DELETE FROM FAC_ENTITY_NAME WHERE FAC_ENTITY_SYSTEM_NAME='MRA_SRTDEELVERV'; +INSERT INTO FAC_ENTITY_NAME VALUES ('MRA_SRTDEELVERV', 'Stof', 'Stoffen', 'de'); + +#ifdef MRA + +/* Module MRA */ + +DROP VIEW mra_v_geinvoorschr_brug; +DROP VIEW mra_v_geinvoorschr; +DROP VIEW mra_v_voorschrift_rapport; +DROP VIEW mra_v_ongein_rapport; + +INSERT INTO fac_privilege VALUES ('mra_v_geinvoorschr_brug', 2); +CREATE VIEW mra_v_geinvoorschr_brug (mra_onroerendgoed_keys, + mra_voorschrift_key, + mra_onrgoedvoorschr_key, + type, + mra_voorschrift_voldaan) AS + SELECT mra_GVH.alg_onrgoed_key, + mra_GVH.mra_voorschrift_key, + mra_OGV.mra_onrgoedvoorschr_key, + mra_GVH.type, + mra_OGV.mra_onrgoedvoorschr_voldaan + FROM mra_v_geinvoorschr_hulp mra_GVH, + mra_onrgoedvoorschr mra_OGV + WHERE mra_GVH.mra_voorschrift_key = mra_OGV.mra_voorschrift_key (+) AND + mra_OGV.mra_onroerendgoed_keys (+) = mra_GVH.alg_onrgoed_key AND + mra_OGV.mra_onrgoedvoorschr_type (+) = mra_GVH.type; + +INSERT INTO fac_privilege VALUES ('mra_v_geinvoorschr', 2); +CREATE VIEW mra_v_geinvoorschr (mra_onroerendgoed_keys, + mra_voorschrift_key, + type, + mra_onrgoedvoorschr_key, + mra_voorschrift_afk, + mra_voorschrift_afk_upper, + mra_voorschrift_module, + mra_voorschrift_voldaan) AS + SELECT mra_GVB.mra_onroerendgoed_keys, + mra_GVB.mra_voorschrift_key, + mra_GVB.type, + mra_GVB.mra_onrgoedvoorschr_key, + mra_V.mra_voorschrift_afk, + mra_V.mra_voorschrift_afk_upper, + mra_V.mra_voorschrift_module, + mra_GVB.mra_voorschrift_voldaan + FROM mra_voorschrift MRA_V, + mra_v_geinvoorschr_brug mra_GVB + WHERE mra_V.mra_voorschrift_key = mra_GVB.mra_voorschrift_key; + +INSERT INTO fac_privilege VALUES ('mra_v_voorschrift_rapport', 2); +CREATE VIEW mra_v_voorschrift_rapport +( + mra_onrgoedvoorschr_key, + mra_onrgoed_keys, + mra_voorschr_key, + mra_onrgoedvoorschr_voldaan, + type, + mra_onrgoedmanco_key, + mra_voorschr_afk, + mra_voorschrift_module, + mra_manco_omschrijving +) +AS + SELECT mra_OV.mra_onrgoedvoorschr_key, + mra_OV.mra_onroerendgoed_keys, + mra_OV.mra_voorschrift_key, + mra_OV.mra_onrgoedvoorschr_voldaan, + mra_OV.mra_onrgoedvoorschr_type, + mra_OM.mra_onrgoedmanco_key, + mra_V.mra_voorschrift_afk, + mra_V.mra_voorschrift_module, + mra_M.mra_manco_omschrijving + FROM mra_onrgoedvoorschr mra_OV, + mra_onrgoedmanco mra_OM, + mra_voorschrift mra_V, + mra_manco mra_M + WHERE mra_OM.mra_onrgoedvoorschr_key (+) = mra_OV.mra_onrgoedvoorschr_key AND + mra_OV.mra_voorschrift_key = mra_V.mra_voorschrift_key AND + mra_M.mra_manco_key (+) = mra_OM.mra_manco_key AND + mra_OV.mra_onrgoedvoorschr_voldaan = 0 +UNION + SELECT mra_OV.mra_onrgoedvoorschr_key, + mra_OV.mra_onroerendgoed_keys, + mra_OV.mra_voorschrift_key, + mra_OV.mra_onrgoedvoorschr_voldaan, + mra_OV.mra_onrgoedvoorschr_type, + to_number(NULL), + mra_V.mra_voorschrift_afk, + mra_V.mra_voorschrift_module, + NULL + FROM mra_onrgoedvoorschr mra_OV, + mra_voorschrift mra_V + WHERE mra_OV.mra_voorschrift_key = mra_V.mra_voorschrift_key AND + mra_OV.mra_onrgoedvoorschr_voldaan = 1; + + +INSERT INTO fac_privilege VALUES ('mra_v_ongein_rapport', 2); +CREATE VIEW mra_v_ongein_rapport +( + mra_onroerendgoed_keys, + mra_voorschrift_key, + mra_voorschrift_afk, + mra_voorschrift_module, + type, + mra_manco_omschrijving) +AS + SELECT mra_GV.mra_onroerendgoed_keys, + mra_GV.mra_voorschrift_key, + mra_GV.mra_voorschrift_afk, + mra_GV.mra_voorschrift_module, + mra_GV.type, + mra_M.mra_manco_omschrijving + FROM mra_v_geinvoorschr mra_GV, + mra_manco mra_M + WHERE mra_GV.mra_voorschrift_key = mra_M.mra_voorschrift_key (+) AND + mra_GV.mra_voorschrift_voldaan IS NULL; + +#endif + +#ifdef BCO + +UPDATE fac_message SET fac_message_text='BCO 2.0' +WHERE UPPER(fac_message_code)=UPPER('fac_m002'); + +#endif + +#ifdef INS + +ALTER TABLE INS_DISCIPLINE +ADD +( + INS_DISCIPLINE_MODULE + VARCHAR2(3) +); + +UPDATE INS_DISCIPLINE +SET INS_DISCIPLINE_MODULE = 'INS' +WHERE INS_DISCIPLINE_MODULE IS NULL; + +ALTER TABLE INS_DISCIPLINE +MODIFY +( + INS_DISCIPLINE_MODULE + NOT NULL +); + +ALTER TABLE INS_SRTGROEP +ADD +( + INS_SRTGROEP_MODULE + VARCHAR2(3) +); + +UPDATE INS_SRTGROEP +SET INS_SRTGROEP_MODULE = 'INS' +WHERE INS_SRTGROEP_MODULE IS NULL; + +ALTER TABLE INS_SRTGROEP +MODIFY +( + INS_SRTGROEP_MODULE + NOT NULL +); + +ALTER TABLE INS_SRTDEEL +ADD +( + INS_SRTDEEL_MODULE + VARCHAR2(3) +); + +UPDATE INS_SRTDEEL +SET INS_SRTDEEL_MODULE = 'INS' +WHERE INS_SRTDEEL_MODULE IS NULL; + +ALTER TABLE INS_SRTDEEL +MODIFY +( + INS_SRTDEEL_MODULE + NOT NULL +); + +ALTER TABLE INS_DEEL +ADD +( + INS_DEEL_MODULE + VARCHAR2(3) +); + +UPDATE INS_DEEL +SET INS_DEEL_MODULE = 'INS' +WHERE INS_DEEL_MODULE IS NULL; + +ALTER TABLE INS_DEEL +MODIFY +( + INS_DEEL_MODULE + NOT NULL +); + +#endif + +SPOOL OFF diff --git a/_UP/114TO115.SRC b/_UP/114TO115.SRC new file mode 100644 index 00000000..1d15c02e --- /dev/null +++ b/_UP/114TO115.SRC @@ -0,0 +1,1214 @@ +SPOOL 114to115 + +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.14 naar 01.15 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * 29-05-96 AH REM ALG_KOSTENPOST.... + * --- 01.16 --- + * 29-05-96 EH View inv_v_deel_gegevens aangepast. + * 28-05-96 EH View prs_v_werkplekperslid_gegevens gewijzigd. + * 28-05-96 EH fac_message prs_m032 gewijzigd. + * 28-05-96 EH fac_message prs_m051 toegevoegd. + * 28-05-96 EH fac_message prs_m050 toegevoegd. + * 28-05-96 EH fac_message prs_m049 toegevoegd. + * 28-05-96 EH fac_message prs_m048 toegevoegd. + * 28-05-96 EH fac_message prs_m028 gewijzigd. + * 28-05-96 EH fac_message prs_m027 gewijzigd. + * 28-05-96 EH UNIQUE Constraint in prs_perslidwerkplek gewijzigd. + * 24-05-96 EH vieuws prs_v_perslidwerkplek_gegevens en prs_v_aanwezigpers- + * lidwerkplek aangepast. + * 24-05-96 EH tabel prs_srtperslidwerkplek gewijzigd. + * 24-05-96 EH Message prs_m027 gewijzigd. + * 22-05-96 EH fac_entity 'PRS_PERSLIDWERKPLEK_BEZ' toegevoegd. + * 22-05-96 EH message prs_m033 gewijzigd. + * 22-05-96 PF Bug in naamgeving att/fac ook hier verbeterd + * 21-05-96 EH 3 prs_messages toegevoegd. + * 21-05-96 EH In geval van PRS veld 'prs_verhuurbaar' toevoegen aan alg_ + * srtruimte. + * 21-05-96 EH Creatie van ATT alsmede de wijziging in de tabel ins_deel en + * bijbehorende trigger. + * 20-05-96 RW ins_t_ins_deel_b_iu aangepast voor BCP. + * 20-05-96 AH MLD_KOSTENPOST_DATUM en .._JAAR toegevoegd. + * 15-05-96 AH INV-messages en entities toegevoegd. + * 15-05-96 EH Wijziging aangebracht in de tabel alg_locatie en de daarmee + * samenhangende aanwezigview. + * 14-05-96 AH + * 14-05-96 EH Vieuws all_v_aanwezigdiscipline, _srtgroep, srtdeel alsmede + * all_v_srtgroepgegevens en all_v_srtdeelgegevens. + * 14-05-96 KTH inv_m034 toegevoegd + * 10-05-96 KTH fac_m004 toegevoegd + * 08-05-96 AH UNIQUE op DEEL_UPPER. Vervalt. + * 06-05-96 RW Privileges zijn aangepast, kan echter niet in dit + * update-script gedaan worden. Voor BCO\BCP worden pas + * update-scripts gemaakt als het eenmaal opgeleverd is. + * 03-05-96 AH Entities en messages toegevoegd. + * 26-04-96 AH message ALG_M108 aangepast. + * 26-04-96 AH PRS_PERSLID aangepast voor _module en _telefoonnr + * 26-04-96 AH MLD_KOSTENPOST aangepast voor _module, _datum en _jaar. + * MLD_BEDRIJF aangepast voor leverancier_nr en overeenkomst_.. + * 26-04-96 AH INS_SRTDEEL aangepast voor velden _nr en _prijs. + * 24-04-96 AH View SLE_V_SLEUTEL_GEGEVENS aangepast voor volgorde in SLE012 + * 24-04-96 AH View MLD_V_MELDING_OPENOPDR_GEGEVENS aangepast voor status + * Ingevoerd. + * 24-04-96 AH View BCO_V_CORROPDR_LOCATIEGROEP aangepast voor Terreinsector. + * 24-04-96 AH INS-messages toegevoegd en vervangen. + * 22-04-96 AH FAC_MESSAGE voor PRS_PERSLID_STORING toegevoegd. + * 22-04-96 AH Typeveld van ALG_VERDIEPING_KEY aangemaakt in ALG_RUIMTE. + * 22-04-96 AH CHECK_UNIQUE_OMSCHRIJVING uit MLD gehaald. Entities en Msg's + * toegevoegd voor opdrachtbon van SON. + * 19-04-96 KTH Lege file aangemaakt + */ + +#include "comsql.h" + +#ifdef INS + +ALTER TABLE ins_deel +ADD( + fac0 + VARCHAR2(50), + fac1 + VARCHAR2(50), + fac2 + VARCHAR2(50), + fac3 + VARCHAR2(50), + fac4 + VARCHAR2(50), + fac5 + VARCHAR2(50), + fac6 + VARCHAR2(50), + fac7 + VARCHAR2(50), + fac8 + VARCHAR2(50), + fac9 + VARCHAR2(50) +); + + +CREATE_TABLE(fac_attribute, NORMAAL_PRIVILEGE) +( + fac_attribute_key + NUMBER(10) + PRIMARY KEY, + ins_srtinst_keys + NUMBER(10), + ins_srtinst_type + VARCHAR2(1) + CHECK(ins_srtinst_type = 'D' OR + ins_srtinst_type = 'G' OR + ins_srtinst_type = 'S'), + ins_attribute_volgorde + NUMBER(1) + CHECK(ins_attribute_volgorde >= 0 OR + ins_attribute_volgorde <= 9), + ins_attribute_key + NUMBER(1) + CHECK(ins_attribute_key >= 0 OR + ins_attribute_key <= 9), + ins_attribute_label + VARCHAR(15) + NOT NULL, + ins_attribute_type + VARCHAR(1) + CHECK(ins_attribute_type = 'N' OR + ins_attribute_type = 'C' OR + ins_attribute_type = 'R'), + ins_attribute_length + NUMBER(2) + NOT NULL, + ins_attribute_required + NUMBER(1) + CHECK(ins_attribute_required = 0 OR + ins_attribute_required = 1), + ins_attribute_min + NUMBER(10), + ins_attribute_max + NUMBER(10), + ins_attribute_dec + NUMBER(2), + ins_attribute_table + VARCHAR2(30), + ins_attribute_column + VARCHAR2(30), + ins_attribute_column_txt + VARCHAR2(30), + ins_attribute_unit + VARCHAR2(10), + ins_attribute_toonbaar + NUMBER(1) + CHECK(ins_attribute_toonbaar = 0 OR + ins_attribute_toonbaar = 1) +); + +CREATE_VIEW(fac_v_attr_hulp, NORMAAL_PRIVILEGE) + (ins_discipline_key, + ins_srtgroep_key, + ins_srtdeel_key, + fac_attribute_key) AS + SELECT FAC_A.ins_srtinst_keys, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + FAC_A.fac_attribute_key + FROM fac_attribute FAC_A + WHERE FAC_A.ins_srtinst_type = 'D' +UNION + SELECT TO_NUMBER(NULL), + FAC_A.ins_srtinst_keys, + TO_NUMBER(NULL), + FAC_A.fac_attribute_key + FROM fac_attribute FAC_A + WHERE FAC_A.ins_srtinst_type = 'G' +UNION + SELECT TO_NUMBER(NULL), + INS_SG.ins_srtgroep_key, + TO_NUMBER(NULL), + FAC_A.fac_attribute_key + FROM fac_attribute FAC_A, + ins_srtgroep INS_SG + WHERE FAC_A.ins_srtinst_type = 'D' AND + FAC_A.ins_srtinst_keys = INS_SG.ins_discipline_key +UNION + SELECT TO_NUMBER(NULL), + TO_NUMBER(NULL), + FAC_A.ins_srtinst_keys, + FAC_A.fac_attribute_key + FROM fac_attribute FAC_A + WHERE FAC_A.ins_srtinst_type = 'S' +UNION + SELECT TO_NUMBER(NULL), + TO_NUMBER(NULL), + INS_SD.ins_srtdeel_key, + FAC_A.fac_attribute_key + FROM fac_attribute FAC_A, + ins_srtdeel INS_SD + WHERE FAC_A.ins_srtinst_type = 'G' AND + FAC_A.ins_srtinst_keys = INS_SD.ins_srtgroep_key +UNION + SELECT TO_NUMBER(NULL), + TO_NUMBER(NULL), + INS_SDG.ins_srtdeel_key, + FAC_A.fac_attribute_key + FROM fac_attribute FAC_A, + ins_v_srtdeel_gegevens INS_SDG + WHERE FAC_A.ins_srtinst_type = 'D' AND + FAC_A.ins_srtinst_keys = INS_SDG.ins_discipline_key; + +CREATE_VIEW(fac_v_attribute_gegevens, NORMAAL_PRIVILEGE) + (ins_discipline_key, + ins_srtgroep_key, + ins_srtdeel_key, + ins_srtinst_type, + ins_attribute_volgorde, + ins_attribute_key, + ins_attribute_label, + ins_attribute_type, + ins_attribute_length, + ins_attribute_required, + ins_attribute_min, + ins_attribute_max, + ins_attribute_dec, + ins_attribute_table, + ins_attribute_column, + ins_attribute_column_txt, + ins_attribute_unit, + ins_attribute_toonbaar) AS + SELECT FAC_H.ins_discipline_key, + FAC_H.ins_srtgroep_key, + FAC_H.ins_srtdeel_key, + FAC_A.ins_srtinst_type, + FAC_A.ins_attribute_volgorde, + FAC_A.ins_attribute_key, + FAC_A.ins_attribute_label, + FAC_A.ins_attribute_type, + FAC_A.ins_attribute_length, + FAC_A.ins_attribute_required, + FAC_A.ins_attribute_min, + FAC_A.ins_attribute_max, + FAC_A.ins_attribute_dec, + FAC_A.ins_attribute_table, + FAC_A.ins_attribute_column, + FAC_A.ins_attribute_column_txt, + FAC_A.ins_attribute_unit, + FAC_A.ins_attribute_toonbaar + FROM fac_attribute FAC_A, + fac_v_attr_hulp FAC_H + WHERE FAC_A.fac_attribute_key = FAC_H.fac_attribute_key; + +/* Geeft een overzicht van de beschikbare attribute_keys op de verschillende + srt_inst niveaus */ + +CREATE_VIEW(fac_v_attr_key_gegevens, NORMAAL_PRIVILEGE) + (ins_discipline_key, + ins_srtgroep_key, + ins_srtdeel_key, + ins_attribute_key) AS + SELECT FAC_A.ins_srtinst_keys, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + FAC_A.ins_attribute_key + FROM fac_attribute FAC_A + WHERE FAC_A.ins_srtinst_type = 'D' +UNION + SELECT INS_G.ins_discipline_key, + FAC_A.ins_srtinst_keys, + TO_NUMBER(NULL), + FAC_A.ins_attribute_key + FROM fac_attribute FAC_A, + all_v_aanwezigsrtgroep INS_G + WHERE FAC_A.ins_srtinst_type = 'G' AND + FAC_A.ins_srtinst_keys = INS_G.ins_srtgroep_key +UNION + SELECT INS_SD.ins_discipline_key, + INS_SD.ins_srtgroep_key, + FAC_A.ins_srtinst_keys, + FAC_A.ins_attribute_key + FROM fac_attribute FAC_A, + all_v_srtdeel_gegevens INS_SD + WHERE FAC_A.ins_srtinst_type = 'S' AND + FAC_A.ins_srtinst_keys = INS_SD.ins_srtdeel_key; + + +CREATE SEQUENCE fac_s_fac_attribute_key MINVALUE 1; + +CREATE TRIGGER FAC_t_fac_attribute_B_IU +BEFORE INSERT OR UPDATE ON fac_attribute +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(fac_attribute_key, FAC_s_fac_attribute_key); +END; +/ + +UPDATE fac_message +SET fac_message_text = 'Datum moet van formaat DD-MM-JJJJ zijn.' +where UPPER(fac_message_code) = UPPER('alg_m108'); + +INSERT INTO fac_entity_name VALUES('YES', 'Ja', NULL, NULL); +INSERT INTO fac_entity_name VALUES('NO', 'Nee', NULL, NULL); + +INSERT INTO fac_message VALUES('ALG_M152', 'Interne fout in table volgnummer: Ontbrekende soort'); + +INSERT INTO fac_message VALUES('fac_m004', 'Er is een probleem opgetreden bij het opstarten van '); + +INSERT INTO fac_message VALUES('inv_m034', 'Er is geen AutoCAD symbool beschikbaar voor dit artikelsoort.'); + +INSERT INTO fac_entity_name VALUES('PRS_PERSLID_REGISTRATIE_NR', 'Registratienr.', 'Registratienummers', 'het'); + +DELETE FROM fac_entity_name +WHERE UPPER(fac_entity_system_name) = 'INV_SRTDEEL_NR'; + +INSERT INTO fac_entity_name VALUES('INV_SRTDEEL_NR', 'Artikelnr.', 'Artikelnummers', 'het'); + +INSERT INTO fac_entity_name VALUES('INV_SRTDEEL_PRIJS', 'Prijs', 'Prijzen', 'de'); +INSERT INTO fac_entity_name VALUES('INV_TOTAAL', 'Totaal', 'Totalen', 'het'); + +INSERT INTO fac_message VALUES('INV_M035', 'Overzicht inventaris'); +INSERT INTO fac_message VALUES('INV_M036', 'met prijzen'); + +INSERT INTO fac_entity_name VALUES('MLD_KOSTENPOST_DATUM', 'Uitgiftedatum', 'Uitgiftedata', 'de'); +INSERT INTO fac_entity_name VALUES('MLD_KOSTENPOST_JAAR', 'Jaar', 'Jaren', 'het'); + +INSERT INTO fac_entity_name VALUES('PRS_PERSLIDWERKPLEK_BEZ', 'Bezetting', NULL, NULL); + +INSERT INTO fac_message VALUES('PRS_M045', 'Niet verhuurbare ruimte.'); +INSERT INTO fac_message VALUES('PRS_M046', 'Gemeenschappelijke ruimte.'); +INSERT INTO fac_message VALUES('PRS_M047', 'Verhuurbare ruimte.'); + +DELETE FROM fac_message WHERE fac_message_code = 'PRS_M033'; +DELETE FROM fac_message WHERE fac_message_code = 'PRS_M027'; +DELETE FROM fac_message WHERE fac_message_code = 'PRS_M028'; +DELETE FROM fac_message WHERE fac_message_code = 'PRS_M031'; +DELETE FROM fac_message WHERE fac_message_code = 'PRS_M032'; + +INSERT INTO fac_message VALUES('PRS_M033', 'Verwijderen werkplek'); +INSERT INTO fac_message VALUES('PRS_M027', 'U kunt alleen een afdeling/persoon bij een werkplek verwijderen.'); +INSERT INTO fac_message VALUES('PRS_M031', 'Persoon of Afdeling moet worden ingevuld.'); +INSERT INTO fac_message VALUES('PRS_M028', 'Afdeling/persoon bij werkplek'); +INSERT INTO fac_message VALUES('PRS_M048', 'Afdeling/persoon'); +INSERT INTO fac_message VALUES('PRS_M049', 'U kunt alleen een afdeling/persoon bekijken'); +INSERT INTO fac_message VALUES('PRS_M050', 'Verwijderen afdeling/persoon'); +INSERT INTO fac_message VALUES('PRS_M051', 'Bezetting is meer dan maximaal toegestaan'); +INSERT INTO fac_message VALUES('PRS_M032', 'Werkplekken bij afdeling/persoon'); + +#ifdef ALG + +ALTER TABLE alg_ruimte +MODIFY +( + alg_verdieping_key + NUMBER(10) +); + +ALTER TABLE alg_locatie +ADD +( + alg_locatie_verantw + VARCHAR2(30), + alg_locatie_verantw_tel + VARCHAR2(15) +); + +DROP VIEW alg_v_aanweziglocatie; + +CREATE VIEW alg_v_aanweziglocatie +AS + SELECT * FROM alg_locatie + WHERE alg_locatie.alg_locatie_verwijder IS NULL; + +#endif + +#ifdef MLD +DROP TRIGGER mld_t_mld_oorzaak_A_IU; + +ALTER TABLE mld_oorzaak +ADD +( + UNIQUE(mld_oorzaak_upper, mld_oorzaak_verwijder) +); + +DROP TRIGGER mld_t_mld_meldbron_A_IU; + +ALTER TABLE mld_meldbron +ADD +( + UNIQUE(mld_meldbron_upper, mld_meldbron_verwijder) +); + +DROP TRIGGER mld_t_mld_standaardopdr_A_IU; + +ALTER TABLE mld_standaardopdr +ADD +( + UNIQUE(mld_standaardopdr_afk_upper, mld_standaardopdr_verwijder) +); + +DROP TRIGGER mld_t_mld_bedrijf_A_IU; + +ALTER TABLE mld_bedrijf +ADD +( + UNIQUE(mld_bedrijf_naam_upper, mld_bedrijf_verwijder) +); + +UPDATE fac_message +SET fac_message_text = 'Opdracht gereed : Ja / Nee' +WHERE UPPER(fac_message_code) = UPPER('mld_m055'); + +INSERT INTO fac_entity_name VALUES('MLD_OPDR_NR', 'Opdrachtnr.', NULL, 'het'); + + +DROP VIEW mld_v_mld_openopdr_gegevens; +CREATE VIEW mld_v_mld_openopdr_gegevens ( mld_opdr_module, + mld_opdr_key, + mld_melding_key, + mld_statusopdr_key, + mld_statusopdr_omschrijving, + mld_opdr_datumbegin, + mld_opdr_datumuitgevoerd, + mld_opdr_dagen, + mld_alg_onroerendgoed_keys, + mld_statussoort ) AS + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + 'OPEN' + FROM mld_v_melding_openopdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + UNION + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + 'ALL' + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key; + + +ALTER TABLE mld_kostenpost +ADD +( + mld_kostenpost_module + VARCHAR2(3), + mld_kostenpost_datum /* Datum toekenning budget */ + DATE, + mld_kostenpost_jaar /* Jaar waarin het budget geldig is */ + NUMBER(4) +); + +UPDATE mld_kostenpost +SET mld_kostenpost_module = 'MLD'; + +ALTER TABLE mld_kostenpost +MODIFY +( + mld_kostenpost_module + NOT NULL +); + +ALTER TABLE mld_bedrijf +ADD +( + mld_leverancier_nr + VARCHAR2(5), + mld_overeenkomst_nr + VARCHAR2(10), + mld_overeenkomst_datum + DATE +); + +#endif + +INSERT INTO fac_message VALUES('PRS_M044', 'Voor storing beschikbaar.'); + +UPDATE fac_message +SET fac_message_text = 'Wilt u het deel of de gehele ruimte kopieren?' +WHERE UPPER(fac_message_code) = UPPER('ins_m061'); + +UPDATE fac_message +SET fac_message_text = 'Wilt u de gehele ruimte kopieren?' +WHERE UPPER(fac_message_code) = UPPER('ins_m063'); + +INSERT INTO fac_message VALUES ('INS_M090', 'Locatie is niet ingevuld ! '); +INSERT INTO fac_message VALUES ('INS_M091', 'Gebouw is niet ingevuld ! '); + +#ifdef BCO +DROP VIEW bco_v_corropdr_locatiegroep; +CREATE VIEW bco_v_corropdr_locatiegroep (bco_locatiegroep_key, + alg_locatie_key, + mld_opdr_key) AS + SELECT ALG_L.bco_locatiegroep_key, + ALG_L.alg_locatie_key, + MLD_O.mld_opdr_key + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL, + alg_locatie ALG_L + WHERE MLD_O.mld_opdr_module = 'BCO' /* [70] */ + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_M.mld_alg_onroerendgoed_keys = + MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = ALG_L.alg_locatie_key; +#endif + +#ifdef SLE +DROP VIEW sle_v_sleutel_gegevens; +CREATE VIEW sle_v_sleutel_gegevens (sle_sleutel_key, + sle_sleutel_omschrijving, + sle_sleutel_upper, + sle_sleutel_aantal, + sle_sleutel_slot_key, + sle_slot_key, + sle_slot_omschrijving, + sle_slot_upper, + sle_sleutel_module + ) AS + SELECT SLE_S.sle_sleutel_key, + SLE_S.sle_sleutel_omschrijving, + SLE_S.sle_sleutel_upper, + SLE_S.sle_sleutel_aantal, + SLE_SS.sle_sleutel_slot_key, + SLE_SS.sle_slot_key, + SLE_SLOT.sle_slot_omschrijving, + SLE_SLOT.sle_slot_upper, + 'SLE011' + FROM sle_sleutel SLE_S, sle_sleutel_slot SLE_SS, sle_slot SLE_SLOT + WHERE SLE_S.sle_sleutel_key = SLE_SS.sle_sleutel_key + AND SLE_SS.sle_slot_key = SLE_SLOT.sle_slot_key + UNION + SELECT sle_sleutel_key, + sle_sleutel_omschrijving, + sle_sleutel_upper, + sle_sleutel_aantal, + to_number(NULL), + to_number(NULL), + NULL, + NULL, + NULL + FROM sle_sleutel; +#endif + +#ifdef INV + +ALTER TABLE ins_srtdeel +ADD +( + inv_srtdeel_nr + VARCHAR2(16), + inv_srtdeel_prijs + NUMBER(8,2) +); + +CREATE_VIEW(inv_v_deel_gegevens,NORMAAL_PRIVILEGE) AS + SELECT INV_D.ins_discipline_key, INV_D.ins_discipline_omschrijving, + INV_SG.ins_srtgroep_key, INV_SG.ins_srtgroep_omschrijving, + INV_SG.ins_srtgroep_upper, INV_SD.ins_srtdeel_key, + INV_SD.ins_srtdeel_omschrijving, INV_SD.ins_srtdeel_upper, + INV_SD.inv_srtdeel_nr, + INV_DEEL.ins_deel_key, INV_DEEL.ins_deel_aantal, + INV_DEEL.ins_deel_omschrijving, INV_DEEL.ins_deel_upper, + INV_DEEL.ins_deel_serienr, INV_DEEL.ins_alg_ruimte_key, + INV_DEEL.ins_alg_ruimte_type, INV_DEEL.ins_prs_bezit_key, + INV_DEEL.ins_prs_bezit_type + FROM inv_v_aanwezigdiscipline INV_D, inv_v_aanwezigsrtgroep INV_SG, + inv_v_aanwezigsrtdeel INV_SD, inv_v_aanwezigdeel INV_DEEL + WHERE INV_SG.ins_srtgroep_key = INV_SD.ins_srtgroep_key + AND INV_D.ins_discipline_key = INV_SG.ins_discipline_key + AND INV_DEEL.ins_srtdeel_key = INV_SD.ins_srtdeel_key; +#endif + +#ifdef PRS +ALTER TABLE prs_perslid +ADD +( + prs_perslid_module + VARCHAR2(3), + prs_perslid_telefoonnr + VARCHAR2(15) +); + +UPDATE prs_perslid +SET prs_perslid_module = 'PRS' + +ALTER TABLE prs_perslid +MODIFY +( + prs_perslid_module + NOT NULL +); + +ALTER TABLE alg_srtruimte +ADD +( + prs_verhuurbaar + NUMBER(1) + CHECK(prs_verhuurbaar IS NULL OR prs_verhuurbaar = 1 ), + CHECK(NOT(prs_bevat_werkplek = 1 AND prs_verhuurbaar IS NULL)) +); + +ALTER TABLE prs_perslidwerkplek +MODIFY +( + prs_perslid_key + NULL +); + +ALTER TABLE prs_perslidwerkplek +ADD +( + prs_afdeling_key + NUMBER(10) + REFERENCES prs_afdeling(prs_afdeling_key) +); + +ALTER TABLE prs_perslidwerkplek +DROP + UNIQUE(prs_perslid_key, prs_werkplek_key, prs_perslidwerkplek_verwijder); + +ALTER TABLE prs_perslidwerkplek +ADD +( + UNIQUE(prs_perslid_key, prs_afdeling_key, + prs_werkplek_key, prs_perslidwerkplek_verwijder) +); + +DROP VIEW prs_v_perslidwerkplek_gegevens; +DROP VIEW prs_v_aanwezigperslidwerkplek; + +DEFINIEER_VIEW_AANWEZIG(prs_perslidwerkplek, + prs_perslidwerkplek_verwijder, + prs_v_aanwezigperslidwerkplek, + NORMAAL_PRIVILEGE); + +CREATE_VIEW(prs_v_perslidwerkplek_gegevens,NORMAAL_PRIVILEGE) AS + SELECT PRS_W.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr, + PRS_W.prs_werkplek_omschrijving, + PRS_W.prs_werkplek_opp, + PRS_W.alg_ruimte_key, + PRS_W.alg_ruimte_nr, + PRS_W.alg_ruimte_upper_nr, + PRS_W.alg_verdieping_key, + PRS_W.alg_verdieping_volgnr, + PRS_W.alg_verdieping_omschrijving, + PRS_W.alg_gebouw_key, + PRS_W.alg_gebouw_omschrijving, + PRS_W.alg_gebouw_upper, + PRS_W.alg_locatie_key, + PRS_PW.prs_perslidwerkplek_key, + PRS_PW.prs_perslid_key, + PRS_PW.prs_afdeling_key + FROM prs_v_werkplek_gegevens PRS_W, prs_v_aanwezigperslidwerkplek PRS_PW + WHERE PRS_W.prs_werkplek_key = PRS_PW.prs_werkplek_key (+); + +CREATE_VIEW(prs_v_werkplekperslid_gegevens,NORMAAL_PRIVILEGE) + ( prs_perslidwerkplek_key, + prs_perslid_key, + prs_afdeling_key, + prs_naam, + prs_werkplek_key, + prs_werkplek_volgnr, + prs_werkplek_opp, + alg_locatie_key, + alg_gebouw_omschrijving, + alg_gebouw_upper, + alg_verdieping_volgnr, + alg_verdieping_omschrijving, + alg_ruimte_nr, + alg_ruimte_upper_nr ) AS + SELECT PRS_PW.prs_perslidwerkplek_key, + PRS_PW.prs_perslid_key, + to_number(NULL), + PRS_P.prs_perslid_naam||' '||prs_perslid_voorletters, + PRS_PW.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr, + PRS_W.prs_werkplek_opp, + PRS_W.alg_locatie_key, + PRS_W.alg_gebouw_omschrijving, + PRS_W.alg_gebouw_upper, + PRS_W.alg_verdieping_volgnr, + PRS_W.alg_verdieping_omschrijving, + PRS_W.alg_ruimte_nr, + PRS_W.alg_ruimte_upper_nr + FROM prs_v_aanwezigperslidwerkplek PRS_PW, prs_perslid PRS_P, + prs_v_werkplek_gegevens PRS_W + WHERE PRS_PW.prs_perslid_key = PRS_P.prs_perslid_key + AND PRS_PW.prs_werkplek_key = PRS_W.prs_werkplek_key +UNION + SELECT PRS_PW.prs_perslidwerkplek_key, + to_number(NULL), + PRS_PW.prs_afdeling_key, + '['||PRS_A.prs_afdeling_naam||']', + PRS_PW.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr, + PRS_W.prs_werkplek_opp, + PRS_W.alg_locatie_key, + PRS_W.alg_gebouw_omschrijving, + PRS_W.alg_gebouw_upper, + PRS_W.alg_verdieping_volgnr, + PRS_W.alg_verdieping_omschrijving, + PRS_W.alg_ruimte_nr, + PRS_W.alg_ruimte_upper_nr + FROM prs_v_aanwezigperslidwerkplek PRS_PW, prs_afdeling PRS_A, + prs_v_werkplek_gegevens PRS_W + WHERE PRS_PW.prs_afdeling_key = PRS_A.prs_afdeling_key + AND PRS_PW.prs_werkplek_key = PRS_W.prs_werkplek_key; +#endif + +#ifdef INS + +INSERT INTO fac_privilege VALUES ('all_v_aanwezigdiscipline', 3); +CREATE VIEW all_v_aanwezigdiscipline AS SELECT * FROM ins_discipline WHERE ins_discipline.ins_discipline_verwijder IS NULL; + +INSERT INTO fac_privilege VALUES ('all_v_aanwezigsrtgroep', 3); +CREATE VIEW all_v_aanwezigsrtgroep AS SELECT * FROM ins_srtgroep WHERE ins_srtgroep.ins_srtgroep_verwijder IS NULL; + +INSERT INTO fac_privilege VALUES ('all_v_aanwezigsrtdeel', 3); +CREATE VIEW all_v_aanwezigsrtdeel AS SELECT * FROM ins_srtdeel WHERE ins_srtdeel.ins_srtdeel_verwijder IS NULL; + +CREATE_VIEW(all_v_srtgroep_gegevens,NORMAAL_PRIVILEGE) AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, + ins_SG.ins_srtgroep_upper, ins_SG.ins_srtgroep_module + FROM all_v_aanwezigdiscipline ins_D, all_v_aanwezigsrtgroep ins_SG + WHERE + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; + +CREATE_VIEW(all_v_srtdeel_gegevens,NORMAAL_PRIVILEGE) AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, + ins_SG.ins_srtgroep_upper, ins_SD.ins_srtdeel_key, + ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper, + ins_SD.ins_srtdeel_module + FROM all_v_aanwezigdiscipline ins_D, all_v_aanwezigsrtgroep ins_SG, + all_v_aanwezigsrtdeel ins_SD + WHERE + ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; + +DROP TRIGGER ins_t_ins_deel_B_IU; + +CREATE TRIGGER ins_t_ins_deel_B_IU +BEFORE INSERT OR UPDATE ON ins_deel +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_DEEL_B_IU'); + UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys); + UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper); + SET_VERWIJDER_CHILDREN(ins_onderdeel, ins_deel_key, ins_deel_verwijder, + ins_onderdeel_verwijder); + + /* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn + * en wel met ruimte of terreinsector, daarvoor moet ook het + * INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn (met 'R' of 'T'). + * Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een + * nieuw record geinsert wordt. + * + * IN INV-mode hoeft INS_ALG_RUIMTE_KEY niet ingevuld te zijn, maar + * als deze ingevuld is moet INS_ALG_RUIMTE_KEY met ruimte of werkplek + * gevuld zijn, daarvoor moet het veld INS_ALG_RUITMTE_KEY goed + * ingevuld zijn (met 'R' of 'W'). + * + * IN INV-mode kan het veld INS_PRS_BEZIT_KEY ook ingevuld zijn, maar + * INS_ALG_RUIMTE_KEY en INS_PRS_BEZIT_KEY kunnen niet beide ingevuld worden. + * INS_PRS_BEZIT_KEY kan de waarde perslid of afdeling bevatten en het + * veld INS_PRS_BEZIT_TYPE moet dan goed ingevuld zijn (met 'P' of 'A'). + */ + IF :new.ins_deel_module = 'INS' + AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m83'); + ELSIF :new.ins_alg_ruimte_type = 'T' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigterreinsector, alg_terreinsector_key, + :new.ins_alg_ruimte_key, 'ins_m83'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; +#ifdef INV + ELSIF :new.ins_deel_module = 'INV' + AND (:new.ins_alg_ruimte_key IS NOT NULL + OR :new.ins_prs_bezit_key IS NOT NULL ) + THEN + IF :new.ins_alg_ruimte_key IS NOT NULL + AND :new.ins_prs_bezit_key IS NOT NULL + THEN + APPLICATION_ERROR(-20000, 'ins_m85'); + ELSIF :new.ins_alg_ruimte_key IS NOT NULL + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSIF :new.ins_alg_ruimte_type = 'W' + THEN + CHECK_KEY_REFERENCE(prs_v_aanwezigwerkplek, prs_werkplek_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + ELSIF :new.ins_prs_bezit_key IS NOT NULL + THEN + IF :new.ins_prs_bezit_type = 'P' + THEN + CHECK_KEY_REFERENCE(prs_v_aanwezigperslid, prs_perslid_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSIF :new.ins_prs_bezit_type = 'A' + THEN + CHECK_KEY_REFERENCE(prs_v_aanwezigafdeling, prs_afdeling_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m86'); + END IF; + ELSE + APPLICATION_ERROR(-20000, 'ins_m87'); + END IF; +#endif + END IF; +#ifdef INV + /* Als een INS_DEEL in INV-mode (red. een artikel) verwijderd, gekoppeld, + * ontkoppeld of verplaatst wordt van een ruimte of een werkplek, + * dan is de bijbehorende verdieping-tekening niet meer up to date en + * moet dus het INV_DWGUPTODATE-veld gezet worden. + * + * Als in INV-mode het INS_DEEL van INS_SRTDEEL veranderd, + * moet in het geval dit INS_SRTDEEL een ander ACADSYMBOL heeft + * het INV_DWGUPTODATE-veld van de verdiepingtekening ook gezet worden. + */ + IF :new.ins_deel_module = 'INV' + THEN + /* Verwijderen */ + IF :new.ins_deel_verwijder IS NOT NULL + /* Koppelen */ + OR (:old.ins_alg_ruimte_key IS NULL + AND :new.ins_alg_ruimte_key IS NOT NULL) + /* Ontkoppelen */ + OR (:old.ins_alg_ruimte_key IS NOT NULL + AND :new.ins_alg_ruimte_key IS NULL) + /* Verplaatsen */ + OR (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key) + /* Van INS_SRTDEEL veranderen. + * ACADSYMBOL is hierin nog niet verwerkt. + */ + OR (:old.ins_srtdeel_key <> :new.ins_srtdeel_key) + THEN + /* Voor de oude INS_ALG_RUIMTE_KEY */ + IF :old.ins_alg_ruimte_type = 'R' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :old.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :old.ins_alg_ruimte_type = 'W' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :old.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + /* Voor de nieuwe INS_ALG_RUIMTE_KEY*/ + IF :new.ins_alg_ruimte_type = 'R' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :new.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :new.ins_alg_ruimte_type = 'W' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :new.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + END IF; + END IF; +#endif // INV + +/* Gedeelte t.b.v. eventuele attribuutjes */ + + DECLARE dummy NUMBER; + + SELECT count(*) INTO dummy + FROM fac_v_attribute_gegevens + WHERE ins_srtdeel_key = :new.ins_srtdeel_key; + + IF dummy <> 0 /* attributen aanwezig */ + THEN + IF :new.fac0 <> :old.fac0 OR :new.fac0 IS NULL OR :old.fac0 IS NULL + THEN +/* + * Trigger t.b.v. de 'flexibele' velden in ins_deel + */ + CHECK_ATTRIBUTE(fac0,0); + END IF; + + IF :new.fac1 <> :old.fac1 OR :new.fac1 IS NULL OR :old.fac1 IS NULL THEN CHECK_ATTRIBUTE(fac1,1); END IF; + IF :new.fac2 <> :old.fac2 OR :new.fac2 IS NULL OR :old.fac2 IS NULL THEN CHECK_ATTRIBUTE(fac2,2); END IF; + IF :new.fac3 <> :old.fac3 OR :new.fac3 IS NULL OR :old.fac3 IS NULL THEN CHECK_ATTRIBUTE(fac3,3); END IF; + IF :new.fac4 <> :old.fac4 OR :new.fac4 IS NULL OR :old.fac4 IS NULL THEN CHECK_ATTRIBUTE(fac4,4); END IF; + IF :new.fac5 <> :old.fac5 OR :new.fac5 IS NULL OR :old.fac5 IS NULL THEN CHECK_ATTRIBUTE(fac5,5); END IF; + IF :new.fac6 <> :old.fac6 OR :new.fac6 IS NULL OR :old.fac6 IS NULL THEN CHECK_ATTRIBUTE(fac6,6); END IF; + IF :new.fac7 <> :old.fac7 OR :new.fac7 IS NULL OR :old.fac7 IS NULL THEN CHECK_ATTRIBUTE(fac7,7); END IF; + IF :new.fac8 <> :old.fac8 OR :new.fac8 IS NULL OR :old.fac8 IS NULL THEN CHECK_ATTRIBUTE(fac8,8); END IF; + IF :new.fac9 <> :old.fac9 OR :new.fac9 IS NULL OR :old.fac9 IS NULL THEN CHECK_ATTRIBUTE(fac9,9); END IF; + + END IF; + +/* Einde attributen */ + +#ifdef BCP + + /* Procedure Taak */ + IF :new.ins_deel_module = 'INS' AND :new.ins_alg_ruimte_type = 'R' + THEN + DECLARE + + /* zoek taak bij nGebouw en bij deelsoort */ + CURSOR c1(nGebouw NUMBER, nSrtdeel NUMBER) IS + SELECT A.bcp_taak_key, B.bcp_verzamel_key + FROM bcp_v_aanwezigtaak A, bcp_v_aanwezigverzamel B + WHERE A.bcp_verzamel_key = B.bcp_verzamel_key + AND B.bcp_ins_srtdeel_key = nSrtdeel + AND A.bcp_alg_gebouw_key = nGebouw; + + Rec c1%ROWTYPE; + + /* zoek alle verzamelopdrachten bij een deelsoort */ + CURSOR c2(nSrtdeel NUMBER) IS + SELECT bcp_verzamel_key + FROM bcp_v_aanwezigverzamel + WHERE bcp_ins_srtdeel_key = nSrtdeel; + + Rec2 c2%ROWTYPE; + + nGebouw NUMBER(10); + nOudGebouw NUMBER(10); + nVerzamel NUMBER(10); + nUren NUMBER(10); + nMateriaal NUMBER(12); + nFreqWeken NUMBER(2); + nSector NUMBER(2); + nStartweek NUMBER(4); + nStartwerkweek NUMBER(4); + nJaar NUMBER(4); + nWeek NUMBER(4); + nWerkweek NUMBER(4); + nTaak NUMBER(10); + nStatus NUMBER(10); + nFactor NUMBER(10); + teller NUMBER(10); + teller2 NUMBER(10); + totaal NUMBER(10); + aant NUMBER(10); + nStatusUpper VARCHAR2(30); + verzamel_veranderd BOOLEAN; + taken_veranderd BOOLEAN; + nOthing BOOLEAN; + + BEGIN + + /* zoek gebouw en sector bij ruimte waar deel is */ + SELECT A.alg_gebouw_key, A.bco_gebouw_sector + INTO nGebouw, nSector + FROM alg_v_aanweziggebouw A, alg_v_aanwezigverdieping B, alg_v_aanwezigruimte C + WHERE A.alg_gebouw_key = B.alg_gebouw_key + AND B.alg_verdieping_key = C.alg_verdieping_key + AND C.alg_ruimte_key = :new.ins_alg_ruimte_key; + + IF NOT :old.ins_srtdeel_key IS NULL THEN + SELECT A.alg_gebouw_key + INTO nOudGebouw + FROM alg_v_aanweziggebouw A, alg_v_aanwezigverdieping B, alg_v_aanwezigruimte C + WHERE A.alg_gebouw_key = B.alg_gebouw_key + AND B.alg_verdieping_key = C.alg_verdieping_key + AND C.alg_ruimte_key = :old.ins_alg_ruimte_key; + END IF; + + /* bepalen of de taken en eventueel de verzamelopdrachten van + het deel veranderd zijn. */ + IF (:new.ins_srtdeel_key = :old.ins_srtdeel_key) AND (nGebouw = nOudGebouw) THEN + verzamel_veranderd := FALSE; + taken_veranderd := FALSE; + ELSIF (:new.ins_srtdeel_key = :old.ins_srtdeel_key) THEN + verzamel_veranderd := TRUE; + taken_veranderd := FALSE; + ELSE + verzamel_veranderd := TRUE; + taken_veranderd := TRUE; + END IF; + + IF taken_veranderd THEN + + /* alleen de taken bij oud_deel updaten als er een oud_deel is */ + IF (NOT :old.ins_srtdeel_key IS NULL) + AND (NOT nOudGebouw IS NULL) + AND (NOT :old.ins_deel_verwijder = NULLDATUM) + THEN + OPEN c1(nOudGebouw, :old.ins_srtdeel_key); + LOOP + FETCH c1 INTO Rec; + EXIT WHEN c1%NOTFOUND; + + nTaak := Rec.bcp_taak_key; + + SELECT bcp_taak_aantal, bcp_ins_deel_aantal + INTO totaal, teller + FROM bcp_v_aanwezigtaak + WHERE bcp_taak_key = nTaak; + + IF (teller = 1) THEN + + UPDATE bcp_taak + SET bcp_taak_verwijder = SYSDATE + WHERE bcp_taak_key = nTaak; + + ELSIF (teller > 1) THEN + + /* bepaal aantal van het te verwijderen deel ...*/ + aant := :old.ins_deel_aantal; + + /* ... en pas de taak aan */ + UPDATE bcp_taak + SET bcp_taak_uren = (totaal-aant)/totaal * bcp_taak_uren, + bcp_taak_materiaal = (totaal-aant)/totaal * bcp_taak_materiaal, + bcp_ins_deel_aantal = bcp_ins_deel_aantal-1, + bcp_taak_aantal = bcp_taak_aantal - :old.ins_deel_aantal + WHERE bcp_taak_key = nTaak; + END IF; + END LOOP; + CLOSE c1; + END IF; /* einde: CHANGE? */ + + /* nu passen we het nieuwe deel in de taken in, + (nog steeds taken_veranderd=TRUE) */ + + IF (NOT :new.ins_srtdeel_key IS NULL) + AND (NOT nGebouw IS NULL) + AND (NOT :new.ins_deel_verwijder = NULLDATUM) + THEN + OPEN c2(:new.ins_srtdeel_key); + LOOP + FETCH c2 INTO Rec2; + EXIT WHEN c2%NOTFOUND; + nVerzamel := Rec2.bcp_verzamel_key; + + /* zoek of er een taak is bij de verzamelopdracht + en betreffende het gebouw */ + BEGIN + SELECT bcp_taak_key + INTO nTaak + FROM bcp_v_aanwezigtaak + WHERE bcp_verzamel_key = nVerzamel + AND bcp_alg_gebouw_key = nGebouw; + EXCEPTION + WHEN NO_DATA_FOUND THEN + nTaak:= NULL; + END; + + IF (nTaak IS NULL) THEN /* geen taak bij verzamel gevonden */ + + SELECT A.bcp_verzamel_uren, A.bcp_verzamel_materiaal, B.bcp_frequentie_weken + INTO nUren, nMateriaal, nFreqWeken + FROM bcp_verzamel A, bcp_frequentie B + WHERE A.bcp_frequentie_key = B.bcp_frequentie_key + AND A.bcp_verzamel_key = nVerzamel; + + nJaar := mod(to_number(to_char(SYSDATE, 'YYYY')),100); + + nStartweek := bcp_f_bcp4deel.bepaal_startweek(nSector, nFreqWeken, nVerzamel, nJaar); + + INSERT INTO bcp_taak(bcp_verzamel_key, + bcp_alg_gebouw_key, + bcp_taak_uren, + bcp_taak_materiaal, + bcp_taak_eersteweek, + bcp_taak_aantal, + bcp_ins_deel_aantal) + VALUES(nVerzamel, + nGebouw, + nUren * :new.ins_deel_aantal, + nMateriaal * :new.ins_deel_aantal, + nStartweek, + :new.ins_deel_aantal, + 1); + + SELECT bcp_taak_key + INTO nTaak + FROM bcp_v_aanwezigtaak + WHERE bcp_verzamel_key = nVerzamel + AND bcp_alg_gebouw_key = nGebouw; + + nStatus := bcp_f_bcp4deel.bepaalstatusopdrkey('BCP_STATUSOPDR_INGEPLAND'); + + nWeek := to_number(to_char(SYSDATE, 'YY') || to_char(SYSDATE,'WW')); + nOthing := bcp_f_bcp4deel.bcp_jaarweek2jaarwerkweek(nWeek, nWerkweek); + + nOthing := bcp_f_bcp4deel.bcp_jaarweek2jaarwerkweek(nStartweek, nStartwerkweek); + + INSERT INTO bcp_prevopdr(bcp_taak_key, + bcp_mld_statusopdr_key, + bcp_prevopdr_ingepland, + bcp_prevopdr_ingepland2) + + VALUES(nTaak, + nStatus, + nStartweek, + nStartwerkweek); + + ELSE /* Taak gevonden, bij elke gevonden verzamelopdracht + is er precies eentje, dus uniek */ + + SELECT bcp_taak_aantal, bcp_ins_deel_aantal, + bcp_taak_uren, bcp_taak_materiaal + INTO teller, teller2, nUren, nMateriaal + FROM bcp_v_aanwezigtaak A + WHERE A.bcp_taak_key = nTaak; + + nFactor := (teller + :new.ins_deel_aantal)/teller; + + IF (nUren * nFactor > 999.99) THEN + APPLICATION_ERROR(-20000,'bcp_m044'); + END IF; + + IF (nMateriaal * nFactor > 999999.99) THEN + APPLICATION_ERROR(-20000,'bcp_m045'); + END IF; + + UPDATE bcp_taak + SET bcp_taak_uren = bcp_taak_uren * nFactor, + bcp_taak_materiaal = bcp_taak_materiaal * NFactor, + bcp_taak_aantal = teller2 + :new.ins_deel_aantal, + bcp_ins_deel_aantal = teller + 1 + WHERE bcp_taak_key = nTaak; + END IF; + END LOOP; + CLOSE c2; + END IF; + + ELSE /* taken niet veranderd, alleen uren & materiaal even updaten */ + + OPEN c1(nOudGebouw, :old.ins_srtdeel_key); + LOOP + FETCH c1 INTO Rec; + EXIT WHEN c1%NOTFOUND; + + nTaak := Rec.bcp_taak_key; + + SELECT bcp_taak_uren, bcp_taak_materiaal, bcp_taak_aantal + INTO nUren, nMateriaal, teller + FROM bcp_v_aanwezigtaak + WHERE bcp_taak_key = nTaak; + + /* factor is (totaal-oud+nieuw)/totaal */ + nFactor := (teller + :new.ins_deel_aantal - :old.ins_deel_aantal)/teller; + + IF (nUren * nFactor > 999.99) THEN + APPLICATION_ERROR(-20000,'bcp_m044'); + END IF; + + IF (nMateriaal * nFactor > 999999.99) THEN + APPLICATION_ERROR(-20000,'bcp_m045'); + END IF; + + UPDATE bcp_taak + SET bcp_taak_uren = bcp_taak_uren * nFactor, + bcp_taak_materiaal = bcp_taak_materiaal * NFactor, + bcp_taak_aantal = teller + :new.ins_deel_aantal - :old.ins_deel_aantal + WHERE bcp_taak_key = nTaak; + END LOOP; /* taken voor update */ + CLOSE c1; + END IF; /* einde: taken_veranderd */ + END; + END IF; +#endif + LOG('Eind INS_T_INS_DEEL_B_IU'); +END; +/ + + +#endif + +#if MLD + +REM ORA-.... LET OP: MLD_KOSTENPOST is gewijzigd. +REM ERROR Het is nu ALG_KOSTENPOST. Verplaatst de records van +REM MLD_KOSTENPOST naar ALG_KOSTENPOST. + +#endif + +SPOOL OFF diff --git a/_UP/115TO116.SRC b/_UP/115TO116.SRC new file mode 100644 index 00000000..d1db0fb9 --- /dev/null +++ b/_UP/115TO116.SRC @@ -0,0 +1,866 @@ +SPOOL 115to116 + +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.15 naar 01.16 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * 05-06-96 KTH SPOOL-filenaam gecorrigeerd (was nog 114to115) + * 05-06-96 AH PRS-entities toegevoegd + * 04-06-96 EH View prs_v_werkplek_gegevens intern aangepast (Performance) + * 03-06-96 EH 2 entities voor PRS toegevoegd. + * 03-06-96 AH INV_SRTDEEL-entity is Artikelsoort geworden. + * 31-05-96 AH LEV-message tegevoegd. + * 31-05-96 AH INS_T_INS_DEEL_B_IU aangepast voor INV/LEV. INS_Alg_ruimte_key + * kan ook 'L' (locaties) bevatten. + * 31-05-96 AH Voor LEV is de UNIQUE op INS_DEEL veranderd. + * 31-05-96 AH INV-entities en messages toegevoegd + * 31-05-96 AH Views INV_V_DEEL_GEGEVENS, INV_V_DEEL_PLAATS_GEGEVENS + * en INV_V_DEEL_BEZIT_GEGEVENS aangepast + * 31-05-96 AH Vakgroep, Artikelgroep en Artikelsoort aangepast in + * entities en messages + * 29-05-96 EH Aan de view prs_v_werkplekperslidgegevens persleden weer hun + * afdeling teruggegeven. + * 29-05-96 EH Lege file aangemaakt + */ + +#include "comsql.h" + +#ifdef PRS + +CREATE OR REPLACE VIEW prs_v_werkplek_gegevens AS + SELECT PRS_W.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr, + PRS_W.prs_werkplek_omschrijving, + PRS_W.prs_werkplek_opp, + ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_upper_nr, + ALG_R.alg_ruimte_bruto_vloeropp, + ALG_V.alg_verdieping_key, + ALG_V.alg_verdieping_volgnr, + ALG_V.alg_verdieping_omschrijving, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + ALG_G.alg_locatie_key + FROM prs_v_aanwezigwerkplek PRS_W, alg_ruimte ALG_R, + alg_verdieping ALG_V, alg_gebouw ALG_G + WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key + AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key + AND PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key; + +CREATE_VIEW(prs_v_werkplekperslid_gegevens,NORMAAL_PRIVILEGE) + ( prs_perslidwerkplek_key, + prs_perslid_key, + prs_afdeling_key, + prs_naam, + prs_werkplek_key, + prs_werkplek_volgnr, + prs_werkplek_opp, + alg_locatie_key, + alg_gebouw_omschrijving, + alg_gebouw_upper, + alg_verdieping_volgnr, + alg_verdieping_omschrijving, + alg_ruimte_nr, + alg_ruimte_upper_nr ) AS + SELECT PRS_PW.prs_perslidwerkplek_key, + PRS_PW.prs_perslid_key, + PRS_P.prs_afdeling_key, + PRS_P.prs_perslid_naam||' '||prs_perslid_voorletters, + PRS_PW.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr, + PRS_W.prs_werkplek_opp, + PRS_W.alg_locatie_key, + PRS_W.alg_gebouw_omschrijving, + PRS_W.alg_gebouw_upper, + PRS_W.alg_verdieping_volgnr, + PRS_W.alg_verdieping_omschrijving, + PRS_W.alg_ruimte_nr, + PRS_W.alg_ruimte_upper_nr + FROM prs_v_aanwezigperslidwerkplek PRS_PW, prs_perslid PRS_P, + prs_v_werkplek_gegevens PRS_W + WHERE PRS_PW.prs_perslid_key = PRS_P.prs_perslid_key + AND PRS_PW.prs_werkplek_key = PRS_W.prs_werkplek_key +UNION + SELECT PRS_PW.prs_perslidwerkplek_key, + to_number(NULL), + PRS_PW.prs_afdeling_key, + '['||PRS_A.prs_afdeling_naam||']', + PRS_PW.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr, + PRS_W.prs_werkplek_opp, + PRS_W.alg_locatie_key, + PRS_W.alg_gebouw_omschrijving, + PRS_W.alg_gebouw_upper, + PRS_W.alg_verdieping_volgnr, + PRS_W.alg_verdieping_omschrijving, + PRS_W.alg_ruimte_nr, + PRS_W.alg_ruimte_upper_nr + FROM prs_v_aanwezigperslidwerkplek PRS_PW, prs_afdeling PRS_A, + prs_v_werkplek_gegevens PRS_W + WHERE PRS_PW.prs_afdeling_key = PRS_A.prs_afdeling_key + AND PRS_PW.prs_werkplek_key = PRS_W.prs_werkplek_key; + +#endif //PRS + +DEF_FAC_ENTITY ('PRS_RAFRAP_PERC', 'Perc.', NULL, NULL); +DEF_FAC_ENTITY ('PRS_RAFRAP_OPP', 'Opp. (m2)', NULL, NULL); +DEF_FAC_ENTITY ('PRS_OGWRAP_BUTTON', 'Overzicht', NULL, NULL); + +DEF_FAC_ENTITY ('INV_SRTDEEL', 'Artikel', 'Artikelen', 'het'); + + +DEF_FAC_MESSAGE ('inv_m001', 'Verwijderen vakgroep '); +DEF_FAC_MESSAGE ('inv_m002', 'De omschrijving van de vakgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('inv_m004', 'De vakgroep is niet ingevuld.'); +DEF_FAC_MESSAGE ('inv_m007', 'De omschrijving voor het artikelsoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('inv_m008', 'Verwijderen artikelsoort '); +DEF_FAC_MESSAGE ('inv_m012', 'Het artikelsoort is niet ingevuld.'); + +#ifdef INV +CREATE_VIEW(inv_v_deel_gegevens,NORMAAL_PRIVILEGE) AS + SELECT INV_D.ins_discipline_key, INV_D.ins_discipline_omschrijving, + INV_SG.ins_srtgroep_key, INV_SG.ins_srtgroep_omschrijving, + INV_SG.ins_srtgroep_upper, INV_SD.ins_srtdeel_key, + INV_SD.ins_srtdeel_omschrijving, INV_SD.ins_srtdeel_upper, + INV_SD.inv_srtdeel_nr, + INV_DEEL.ins_deel_key, INV_DEEL.ins_deel_aantal, + INV_DEEL.ins_deel_omschrijving, INV_DEEL.ins_deel_upper, + INV_DEEL.ins_deel_serienr, INV_DEEL.ins_alg_ruimte_key, + INV_DEEL.ins_alg_ruimte_type, INV_DEEL.ins_prs_bezit_key, + INV_DEEL.ins_prs_bezit_type +#ifdef LEV + , INV_DEEL.lev_afvoerlijst_datum +#endif + FROM inv_v_aanwezigdiscipline INV_D, inv_v_aanwezigsrtgroep INV_SG, + inv_v_aanwezigsrtdeel INV_SD, inv_v_aanwezigdeel INV_DEEL + WHERE INV_SG.ins_srtgroep_key = INV_SD.ins_srtgroep_key + AND INV_D.ins_discipline_key = INV_SG.ins_discipline_key + AND INV_DEEL.ins_srtdeel_key = INV_SD.ins_srtdeel_key; + +CREATE_VIEW(inv_v_deel_plaats_gegevens,NORMAAL_PRIVILEGE) + (ins_deel_key, ins_deel_omschrijving, + ins_deel_upper, ins_deel_aantal, + ins_alg_ruimte_key, + ins_alg_ruimte_type, ins_srtdeel_key, +#ifdef INV + inv_srtdeel_nr, +#endif + ins_srtdeel_omschrijving, ins_srtdeel_upper, + alg_locatie_key, 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_omschrijving, + alg_ruimte_upper_nr, + prs_werkplek_key, prs_werkplek_volgnr) AS + SELECT INV_D.ins_deel_key, + INV_D.ins_deel_omschrijving, + INV_D.ins_deel_upper, + INV_D.ins_deel_aantal, + INV_D.ins_alg_ruimte_key, + INV_D.ins_alg_ruimte_type, + INV_SD.ins_srtdeel_key, +#ifdef INV + INV_SD.inv_srtdeel_nr, +#endif + INV_SD.ins_srtdeel_omschrijving, + INV_SD.ins_srtdeel_upper, + ALG_G.alg_locatie_key, + 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_omschrijving, + ALG_R.alg_ruimte_upper_nr, + TO_NUMBER(NULL), + TO_NUMBER(NULL) + FROM inv_v_aanwezigdeel INV_D, ins_srtdeel INV_SD, + alg_gebouw ALG_G, alg_verdieping ALG_V, + alg_ruimte ALG_R + WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key + AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key + AND INV_SD.ins_srtdeel_key = INV_D.ins_srtdeel_key + AND ALG_R.alg_ruimte_key = INV_D.ins_alg_ruimte_key + AND INV_D.ins_alg_ruimte_type = 'R' + UNION + SELECT INV_D.ins_deel_key, + INV_D.ins_deel_omschrijving, + INV_D.ins_deel_upper, + INV_D.ins_deel_aantal, + INV_D.ins_alg_ruimte_key, + INV_D.ins_alg_ruimte_type, + INV_SD.ins_srtdeel_key, +#ifdef INV + INV_SD.inv_srtdeel_nr, +#endif + INV_SD.ins_srtdeel_omschrijving, + INV_SD.ins_srtdeel_upper, + ALG_G.alg_locatie_key, + 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_omschrijving, + ALG_R.alg_ruimte_upper_nr, + PRS_W.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr + FROM inv_v_aanwezigdeel INV_D, ins_srtdeel INV_SD, + alg_gebouw ALG_G, alg_verdieping ALG_V, + alg_ruimte ALG_R, prs_werkplek PRS_W + WHERE 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 = PRS_W.prs_alg_ruimte_key + AND INV_SD.ins_srtdeel_key = INV_D.ins_srtdeel_key + AND PRS_W.prs_werkplek_key = INV_D.ins_alg_ruimte_key + AND INV_D.ins_alg_ruimte_type = 'W'; + + +CREATE_VIEW(inv_v_deel_bezit_gegevens,NORMAAL_PRIVILEGE) + (ins_discipline_key, ins_srtgroep_key, + ins_srtdeel_key, ins_srtdeel_omschrijving, + ins_srtdeel_upper, +#ifdef INV + inv_srtdeel_nr, +#endif + ins_deel_key, + ins_deel_omschrijving, ins_deel_upper, + ins_deel_aantal, + ins_alg_ruimte_key, ins_alg_ruimte_type, + ins_prs_bezit_key, ins_prs_bezit_type, + prs_afdeling_key, prs_afdeling_naam, + prs_afdeling_omschrijving, + prs_afdeling_upper, prs_perslid_key, + prs_perslid_naam, prs_perslid_upper) AS + SELECT INV_D.ins_discipline_key, + INV_D.ins_srtgroep_key, + INV_D.ins_srtdeel_key, + INV_D.ins_srtdeel_omschrijving, + INV_D.ins_srtdeel_upper, +#ifdef INV + INV_D.inv_srtdeel_nr, +#endif + INV_D.ins_deel_key, + INV_D.ins_deel_omschrijving, + INV_D.ins_deel_upper, + INV_D.ins_deel_aantal, + INV_D.ins_alg_ruimte_key, + INV_D.ins_alg_ruimte_type, + INV_D.ins_prs_bezit_key, + INV_D.ins_prs_bezit_type, + PRS_A.prs_afdeling_key, + PRS_A.prs_afdeling_naam, + PRS_A.prs_afdeling_omschrijving, + PRS_A.prs_afdeling_upper, + TO_NUMBER(NULL), + NULL, + NULL + FROM inv_v_deel_gegevens INV_D, prs_v_aanwezigafdeling PRS_A + WHERE INV_D.ins_prs_bezit_type = 'A' + AND INV_D.ins_prs_bezit_key = PRS_A.prs_afdeling_key + UNION + SELECT INV_D.ins_discipline_key, + INV_D.ins_srtgroep_key, + INV_D.ins_srtdeel_key, + INV_D.ins_srtdeel_omschrijving, + INV_D.ins_srtdeel_upper, +#ifdef INV + INV_D.inv_srtdeel_nr, +#endif + INV_D.ins_deel_key, + INV_D.ins_deel_omschrijving, + INV_D.ins_deel_upper, + INV_D.ins_deel_aantal, + INV_D.ins_alg_ruimte_key, + INV_D.ins_alg_ruimte_type, + INV_D.ins_prs_bezit_key, + INV_D.ins_prs_bezit_type, + PRS_A.prs_afdeling_key, + PRS_A.prs_afdeling_naam, + PRS_A.prs_afdeling_omschrijving, + PRS_A.prs_afdeling_upper, + PRS_P.prs_perslid_key, + PRS_P.prs_perslid_naam||' '||PRS_P.prs_perslid_voorletters, + PRS_P.prs_perslid_upper||' '||UPPER(PRS_P.prs_perslid_voorletters) + FROM inv_v_deel_gegevens INV_D, prs_v_aanwezigafdeling PRS_A, + prs_v_aanwezigperslid PRS_P + WHERE INV_D.ins_prs_bezit_type = 'P' + AND INV_D.ins_prs_bezit_key = PRS_P.prs_perslid_key + AND PRS_P.prs_afdeling_key = PRS_A.prs_afdeling_key; + +CREATE TRIGGER ins_t_ins_deel_B_IU +BEFORE INSERT OR UPDATE ON ins_deel +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_DEEL_B_IU'); + UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys); + UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper); + SET_VERWIJDER_CHILDREN(ins_onderdeel, ins_deel_key, ins_deel_verwijder, + ins_onderdeel_verwijder); + + /* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn + * en wel met ruimte of terreinsector, daarvoor moet ook het + * INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn (met 'R' of 'T'). + * Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een + * nieuw record geinsert wordt. + * + * IN INV-mode hoeft INS_ALG_RUIMTE_KEY niet ingevuld te zijn, maar + * als deze ingevuld is moet INS_ALG_RUIMTE_KEY met ruimte of werkplek + * gevuld zijn, daarvoor moet het veld INS_ALG_RUITMTE_KEY goed + * ingevuld zijn (met 'R' of 'W'). + * + * IN INV-mode kan het veld INS_PRS_BEZIT_KEY ook ingevuld zijn, maar + * INS_ALG_RUIMTE_KEY en INS_PRS_BEZIT_KEY kunnen niet beide ingevuld worden. + * INS_PRS_BEZIT_KEY kan de waarde perslid of afdeling bevatten en het + * veld INS_PRS_BEZIT_TYPE moet dan goed ingevuld zijn (met 'P' of 'A'). + */ + IF :new.ins_deel_module = 'INS' + AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m83'); + ELSIF :new.ins_alg_ruimte_type = 'T' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigterreinsector, alg_terreinsector_key, + :new.ins_alg_ruimte_key, 'ins_m83'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; +#ifdef INV + ELSIF :new.ins_deel_module = 'INV' + AND (:new.ins_alg_ruimte_key IS NOT NULL + OR :new.ins_prs_bezit_key IS NOT NULL ) + THEN + IF :new.ins_alg_ruimte_key IS NOT NULL + AND :new.ins_prs_bezit_key IS NOT NULL + THEN + APPLICATION_ERROR(-20000, 'ins_m85'); + ELSIF :new.ins_alg_ruimte_key IS NOT NULL + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSIF :new.ins_alg_ruimte_type = 'W' + THEN + CHECK_KEY_REFERENCE(prs_v_aanwezigwerkplek, prs_werkplek_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSIF :new.ins_alg_ruimte_type = 'L' + THEN + CHECK_KEY_REFERENCE(alg_v_aanweziglocatie, alg_locatie_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + ELSIF :new.ins_prs_bezit_key IS NOT NULL + THEN + IF :new.ins_prs_bezit_type = 'P' + THEN + CHECK_KEY_REFERENCE(prs_v_aanwezigperslid, prs_perslid_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSIF :new.ins_prs_bezit_type = 'A' + THEN + CHECK_KEY_REFERENCE(prs_v_aanwezigafdeling, prs_afdeling_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m86'); + END IF; + ELSE + APPLICATION_ERROR(-20000, 'ins_m87'); + END IF; +#endif + END IF; +#ifdef INV + /* Als een INS_DEEL in INV-mode (red. een artikel) verwijderd, gekoppeld, + * ontkoppeld of verplaatst wordt van een ruimte of een werkplek, + * dan is de bijbehorende verdieping-tekening niet meer up to date en + * moet dus het INV_DWGUPTODATE-veld gezet worden. + * + * Als in INV-mode het INS_DEEL van INS_SRTDEEL veranderd, + * moet in het geval dit INS_SRTDEEL een ander ACADSYMBOL heeft + * het INV_DWGUPTODATE-veld van de verdiepingtekening ook gezet worden. + */ + IF :new.ins_deel_module = 'INV' + THEN + /* Verwijderen */ + IF :new.ins_deel_verwijder IS NOT NULL + /* Koppelen */ + OR (:old.ins_alg_ruimte_key IS NULL + AND :new.ins_alg_ruimte_key IS NOT NULL) + /* Ontkoppelen */ + OR (:old.ins_alg_ruimte_key IS NOT NULL + AND :new.ins_alg_ruimte_key IS NULL) + /* Verplaatsen */ + OR (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key) + /* Van INS_SRTDEEL veranderen. + * ACADSYMBOL is hierin nog niet verwerkt. + */ + OR (:old.ins_srtdeel_key <> :new.ins_srtdeel_key) + THEN + /* Voor de oude INS_ALG_RUIMTE_KEY */ + IF :old.ins_alg_ruimte_type = 'R' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :old.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :old.ins_alg_ruimte_type = 'W' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :old.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + /* Voor de nieuwe INS_ALG_RUIMTE_KEY*/ + IF :new.ins_alg_ruimte_type = 'R' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :new.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :new.ins_alg_ruimte_type = 'W' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :new.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + END IF; + END IF; +#endif // INV + +/* Gedeelte t.b.v. eventuele attribuutjes */ + + DECLARE dummy NUMBER; + BEGIN + SELECT count(*) INTO dummy + FROM ins_v_attribute_gegevens + WHERE ins_srtdeel_key = :new.ins_srtdeel_key; + + IF dummy <> 0 /* attributen aanwezig */ + THEN + IF :new.fac0 <> :old.fac0 OR :new.fac0 IS NULL OR :old.fac0 IS NULL + THEN +/* + * Trigger t.b.v. de 'flexibele' velden in ins_deel + */ + CHECK_ATTRIBUTE(fac0,0); + END IF; + + IF :new.fac1 <> :old.fac1 OR :new.fac1 IS NULL OR :old.fac1 IS NULL THEN CHECK_ATTRIBUTE(fac1,1); END IF; + IF :new.fac2 <> :old.fac2 OR :new.fac2 IS NULL OR :old.fac2 IS NULL THEN CHECK_ATTRIBUTE(fac2,2); END IF; + IF :new.fac3 <> :old.fac3 OR :new.fac3 IS NULL OR :old.fac3 IS NULL THEN CHECK_ATTRIBUTE(fac3,3); END IF; + IF :new.fac4 <> :old.fac4 OR :new.fac4 IS NULL OR :old.fac4 IS NULL THEN CHECK_ATTRIBUTE(fac4,4); END IF; + IF :new.fac5 <> :old.fac5 OR :new.fac5 IS NULL OR :old.fac5 IS NULL THEN CHECK_ATTRIBUTE(fac5,5); END IF; + IF :new.fac6 <> :old.fac6 OR :new.fac6 IS NULL OR :old.fac6 IS NULL THEN CHECK_ATTRIBUTE(fac6,6); END IF; + IF :new.fac7 <> :old.fac7 OR :new.fac7 IS NULL OR :old.fac7 IS NULL THEN CHECK_ATTRIBUTE(fac7,7); END IF; + IF :new.fac8 <> :old.fac8 OR :new.fac8 IS NULL OR :old.fac8 IS NULL THEN CHECK_ATTRIBUTE(fac8,8); END IF; + IF :new.fac9 <> :old.fac9 OR :new.fac9 IS NULL OR :old.fac9 IS NULL THEN CHECK_ATTRIBUTE(fac9,9); END IF; + + END IF; + END; + +/* Einde attributen */ + +#ifdef BCP + + /* Procedure Taak */ + IF :new.ins_deel_module = 'INS' AND :new.ins_alg_ruimte_type = 'R' + THEN + DECLARE + + /* zoek taak bij nGebouw en bij deelsoort */ + CURSOR c1(nGebouw NUMBER, nSrtdeel NUMBER) IS + SELECT A.bcp_taak_key, B.bcp_verzamel_key + FROM bcp_v_aanwezigtaak A, bcp_v_aanwezigverzamel B + WHERE A.bcp_verzamel_key = B.bcp_verzamel_key + AND B.bcp_ins_srtdeel_key = nSrtdeel + AND A.bcp_alg_gebouw_key = nGebouw; + + Rec c1%ROWTYPE; + + /* zoek alle verzamelopdrachten bij een deelsoort */ + CURSOR c2(nSrtdeel NUMBER) IS + SELECT bcp_verzamel_key + FROM bcp_v_aanwezigverzamel + WHERE bcp_ins_srtdeel_key = nSrtdeel; + + Rec2 c2%ROWTYPE; + + nGebouw NUMBER(10); + nOudGebouw NUMBER(10); + nVerzamel NUMBER(10); + nUren NUMBER(10); + nMateriaal NUMBER(12); + nFreqWeken NUMBER(2); + nSector NUMBER(2); + nStartweek NUMBER(4); + nStartwerkweek NUMBER(4); + nJaar NUMBER(4); + nWeek NUMBER(4); + nWerkweek NUMBER(4); + nTaak NUMBER(10); + nStatus NUMBER(10); + nFactor NUMBER(10); + teller NUMBER(10); + teller2 NUMBER(10); + totaal NUMBER(10); + aant NUMBER(10); + nStatusUpper VARCHAR2(30); + verzamel_veranderd BOOLEAN; + taken_veranderd BOOLEAN; + nOthing BOOLEAN; + + BEGIN + + /* zoek gebouw en sector bij ruimte waar deel is */ + SELECT A.alg_gebouw_key, A.bco_gebouw_sector + INTO nGebouw, nSector + FROM alg_v_aanweziggebouw A, alg_v_aanwezigverdieping B, alg_v_aanwezigruimte C + WHERE A.alg_gebouw_key = B.alg_gebouw_key + AND B.alg_verdieping_key = C.alg_verdieping_key + AND C.alg_ruimte_key = :new.ins_alg_ruimte_key; + + IF NOT :old.ins_srtdeel_key IS NULL THEN + SELECT A.alg_gebouw_key + INTO nOudGebouw + FROM alg_v_aanweziggebouw A, alg_v_aanwezigverdieping B, alg_v_aanwezigruimte C + WHERE A.alg_gebouw_key = B.alg_gebouw_key + AND B.alg_verdieping_key = C.alg_verdieping_key + AND C.alg_ruimte_key = :old.ins_alg_ruimte_key; + END IF; + + /* bepalen of de taken en eventueel de verzamelopdrachten van + het deel veranderd zijn. */ + IF (:new.ins_srtdeel_key = :old.ins_srtdeel_key) AND (nGebouw = nOudGebouw) THEN + verzamel_veranderd := FALSE; + taken_veranderd := FALSE; + ELSIF (:new.ins_srtdeel_key = :old.ins_srtdeel_key) THEN + verzamel_veranderd := TRUE; + taken_veranderd := FALSE; + ELSE + verzamel_veranderd := TRUE; + taken_veranderd := TRUE; + END IF; + + IF taken_veranderd THEN + + /* alleen de taken bij oud_deel updaten als er een oud_deel is */ + IF (NOT :old.ins_srtdeel_key IS NULL) + AND (NOT nOudGebouw IS NULL) + AND (NOT :old.ins_deel_verwijder = NULLDATUM) + THEN + OPEN c1(nOudGebouw, :old.ins_srtdeel_key); + LOOP + FETCH c1 INTO Rec; + EXIT WHEN c1%NOTFOUND; + + nTaak := Rec.bcp_taak_key; + + SELECT bcp_taak_aantal, bcp_ins_deel_aantal + INTO totaal, teller + FROM bcp_v_aanwezigtaak + WHERE bcp_taak_key = nTaak; + + IF (teller = 1) THEN + + UPDATE bcp_taak + SET bcp_taak_verwijder = SYSDATE + WHERE bcp_taak_key = nTaak; + + ELSIF (teller > 1) THEN + + /* bepaal aantal van het te verwijderen deel ...*/ + aant := :old.ins_deel_aantal; + + /* ... en pas de taak aan */ + UPDATE bcp_taak + SET bcp_taak_uren = (totaal-aant)/totaal * bcp_taak_uren, + bcp_taak_materiaal = (totaal-aant)/totaal * bcp_taak_materiaal, + bcp_ins_deel_aantal = bcp_ins_deel_aantal-1, + bcp_taak_aantal = bcp_taak_aantal - :old.ins_deel_aantal + WHERE bcp_taak_key = nTaak; + END IF; + END LOOP; + CLOSE c1; + END IF; /* einde: CHANGE? */ + + /* nu passen we het nieuwe deel in de taken in, + (nog steeds taken_veranderd=TRUE) */ + + IF (NOT :new.ins_srtdeel_key IS NULL) + AND (NOT nGebouw IS NULL) + AND (NOT :new.ins_deel_verwijder = NULLDATUM) + THEN + OPEN c2(:new.ins_srtdeel_key); + LOOP + FETCH c2 INTO Rec2; + EXIT WHEN c2%NOTFOUND; + nVerzamel := Rec2.bcp_verzamel_key; + + /* zoek of er een taak is bij de verzamelopdracht + en betreffende het gebouw */ + BEGIN + SELECT bcp_taak_key + INTO nTaak + FROM bcp_v_aanwezigtaak + WHERE bcp_verzamel_key = nVerzamel + AND bcp_alg_gebouw_key = nGebouw; + EXCEPTION + WHEN NO_DATA_FOUND THEN + nTaak:= NULL; + END; + + IF (nTaak IS NULL) THEN /* geen taak bij verzamel gevonden */ + + SELECT A.bcp_verzamel_uren, A.bcp_verzamel_materiaal, B.bcp_frequentie_weken + INTO nUren, nMateriaal, nFreqWeken + FROM bcp_verzamel A, bcp_frequentie B + WHERE A.bcp_frequentie_key = B.bcp_frequentie_key + AND A.bcp_verzamel_key = nVerzamel; + + nJaar := mod(to_number(to_char(SYSDATE, 'YYYY')),100); + + nStartweek := bcp_f_bcp4deel.bepaal_startweek(nSector, nFreqWeken, nVerzamel, nJaar); + + INSERT INTO bcp_taak(bcp_verzamel_key, + bcp_alg_gebouw_key, + bcp_taak_uren, + bcp_taak_materiaal, + bcp_taak_eersteweek, + bcp_taak_aantal, + bcp_ins_deel_aantal) + VALUES(nVerzamel, + nGebouw, + nUren * :new.ins_deel_aantal, + nMateriaal * :new.ins_deel_aantal, + nStartweek, + :new.ins_deel_aantal, + 1); + + SELECT bcp_taak_key + INTO nTaak + FROM bcp_v_aanwezigtaak + WHERE bcp_verzamel_key = nVerzamel + AND bcp_alg_gebouw_key = nGebouw; + + nStatus := bcp_f_bcp4deel.bepaalstatusopdrkey('BCP_STATUSOPDR_INGEPLAND'); + + nWeek := to_number(to_char(SYSDATE, 'YY') || to_char(SYSDATE,'WW')); + nOthing := bcp_f_bcp4deel.bcp_jaarweek2jaarwerkweek(nWeek, nWerkweek); + + nOthing := bcp_f_bcp4deel.bcp_jaarweek2jaarwerkweek(nStartweek, nStartwerkweek); + + INSERT INTO bcp_prevopdr(bcp_taak_key, + bcp_mld_statusopdr_key, + bcp_prevopdr_ingepland, + bcp_prevopdr_ingepland2) + + VALUES(nTaak, + nStatus, + nStartweek, + nStartwerkweek); + + ELSE /* Taak gevonden, bij elke gevonden verzamelopdracht + is er precies eentje, dus uniek */ + + SELECT bcp_taak_aantal, bcp_ins_deel_aantal, + bcp_taak_uren, bcp_taak_materiaal + INTO teller, teller2, nUren, nMateriaal + FROM bcp_v_aanwezigtaak A + WHERE A.bcp_taak_key = nTaak; + + nFactor := (teller + :new.ins_deel_aantal)/teller; + + IF (nUren * nFactor > 999.99) THEN + APPLICATION_ERROR(-20000,'bcp_m044'); + END IF; + + IF (nMateriaal * nFactor > 999999.99) THEN + APPLICATION_ERROR(-20000,'bcp_m045'); + END IF; + + UPDATE bcp_taak + SET bcp_taak_uren = bcp_taak_uren * nFactor, + bcp_taak_materiaal = bcp_taak_materiaal * NFactor, + bcp_taak_aantal = teller2 + :new.ins_deel_aantal, + bcp_ins_deel_aantal = teller + 1 + WHERE bcp_taak_key = nTaak; + END IF; + END LOOP; + CLOSE c2; + END IF; + + ELSE /* taken niet veranderd, alleen uren & materiaal even updaten */ + + OPEN c1(nOudGebouw, :old.ins_srtdeel_key); + LOOP + FETCH c1 INTO Rec; + EXIT WHEN c1%NOTFOUND; + + nTaak := Rec.bcp_taak_key; + + SELECT bcp_taak_uren, bcp_taak_materiaal, bcp_taak_aantal + INTO nUren, nMateriaal, teller + FROM bcp_v_aanwezigtaak + WHERE bcp_taak_key = nTaak; + + /* factor is (totaal-oud+nieuw)/totaal */ + nFactor := (teller + :new.ins_deel_aantal - :old.ins_deel_aantal)/teller; + + IF (nUren * nFactor > 999.99) THEN + APPLICATION_ERROR(-20000,'bcp_m044'); + END IF; + + IF (nMateriaal * nFactor > 999999.99) THEN + APPLICATION_ERROR(-20000,'bcp_m045'); + END IF; + + UPDATE bcp_taak + SET bcp_taak_uren = bcp_taak_uren * nFactor, + bcp_taak_materiaal = bcp_taak_materiaal * NFactor, + bcp_taak_aantal = teller + :new.ins_deel_aantal - :old.ins_deel_aantal + WHERE bcp_taak_key = nTaak; + END LOOP; /* taken voor update */ + CLOSE c1; + END IF; /* einde: taken_veranderd */ + END; + END IF; +#endif +#ifdef LEV + LOG('Begin voor gedeelte van LEV voor kostenpost'); + /* Bij het aanmaken van een leveringsregel wordt een INS_DEEL + * aangemaakt. Als OLD.lev_levering_key IS NULL en NEW.lev_levering_key + * IS NOT NULL dan wordt dit INS_DEEL nieuw aangemaakt, dus kunnen + * de kosten van deze levering bij ALG_KOSTENPOST_BESTEED geboekt worden. + * + * Bij het wijzigen van een leveringsregel kan niet bepaald worden of + * in het scherm EDIT-levering het aantal aangepast is of bij + * toekenning een aantal het INS_DEEL verhuisd naar een ander INS_DEEL. + * Deze stap is opgelost in het form EDIT-levering. + */ + IF :old.lev_levering_key IS NULL + AND :new.lev_levering_key IS NOT NULL + THEN + DECLARE + prijs INS_SRTDEEL.INV_SRTDEEL_PRIJS%TYPE; + BEGIN + SELECT NVL(INS_SD.inv_srtdeel_prijs, 0) + INTO prijs + FROM ins_srtdeel INS_SD + WHERE INS_SD.ins_srtdeel_key = :new.ins_srtdeel_key; + UPDATE alg_kostenpost + SET alg_kostenpost_besteed = NVL(alg_kostenpost_besteed, 0) + + NVL(:new.ins_deel_aantal, 0) * prijs + WHERE alg_kostenpost_key = (SELECT lev_alg_kostenpost_key + FROM lev_bestelling + WHERE lev_bestelling_key = :new.lev_bestelling_key); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + END IF; + LOG('Einde voor gedeelte van LEV voor kostenpost'); +#endif + LOG('Eind INS_T_INS_DEEL_B_IU'); +END; +/ + +#endif // INV + +DEF_FAC_ENTITY ('INV_VERHUIS_DATUM', 'Verhuisdatum', 'Verhuisdata', 'de'); +DEF_FAC_ENTITY ('INV_VERHUIS_VAN', 'Van', NULL, NULL); +DEF_FAC_ENTITY ('INV_VERHUIS_NAAR', 'Naar', NULL, NULL); +DEF_FAC_ENTITY ('INV_VERHUIS_BIJZONDERHEDEN', 'Bijzonderheden', NULL, 'de'); + +DEF_FAC_MESSAGE ('INV_M037', 'Verhuisformulier'); +DEF_FAC_MESSAGE ('INV_M038', 'Het registratienummer moet ingevuld worden.'); +DEF_FAC_MESSAGE ('INV_M039', 'De datum is niet ingevuld.'); +DEF_FAC_MESSAGE ('INV_M040', 'Gewenste verhuisdatum'); +DEF_FAC_MESSAGE ('INV_M041', 'Het artikelnummer is niet ingevuld.'); +DEF_FAC_MESSAGE ('INV_M042', 'Gereserveerd voor afvoer'); +DEF_FAC_MESSAGE ('INV_M043', 'Artikel moet gekozen zijn.'); +DEF_FAC_MESSAGE ('INV_M044', 'Aantal te verwijderen artikelen'); +DEF_FAC_MESSAGE ('INV_M045', 'Het te verwijderen aantal moet kleiner of gelijk zijn aan het aantal delen.'); + +#ifdef LEV + +ALTER TABLE ins_deel +DROP + UNIQUE(ins_alg_ruimte_key, ins_srtdeel_key, ins_deel_upper, + lev_levering_key, lev_bestelling_key, ins_deel_verwijder); + +ALTER TABLE ins_deel +ADD + UNIQUE(ins_alg_ruimte_key, ins_srtdeel_key, ins_deel_upper, + lev_levering_key, lev_bestelling_key, lev_afvoerlijst_datum, + ins_deel_verwijder); + +#endif // LEV + +INSERT INTO fac_message VALUES('LEV_M050', 'Alleen nog toe te wijzen leveringen'); + +UPDATE fac_entity_name +SET fac_entity_user_name = 'Artikelsoort', + fac_entity_user_name_m = 'Artikelsoorten', + fac_entity_user_name_pre = 'het' +WHERE fac_entity_system_name = 'INV_SRTDEEL'; + +UPDATE fac_message +SET fac_message_text = 'Verwijderen vakgroep ' +WHERE fac_message_code = 'INV_M001'; + +UPDATE fac_message +SET fac_message_text = 'De omschrijving van de vakgroep is niet ingevuld.' +WHERE fac_message_code = 'INV_M002'; + +UPDATE fac_message +SET fac_message_text = 'De vakgroep is niet ingevuld.' +WHERE fac_message_code = 'INV_M004'; + +UPDATE fac_message +SET fac_message_text = 'De omschrijving voor het artikelsoort is niet ingevuld.' +WHERE fac_message_code = 'INV_M007'; + +UPDATE fac_message +SET fac_message_text = 'Verwijderen artikelsoort ' +WHERE fac_message_code = 'INV_M008'; + +UPDATE fac_message +SET fac_message_text = 'Het artikelsoort is niet ingevuld.' +WHERE fac_message_code = 'INV_M012'; + +DEF_FAC_ENTITY ('PRS_PERSLID_ELCONR', 'Elconr.', 'Elconummers', 'het'); +DEF_FAC_ENTITY ('PRS_PERSLID_EENHEID', 'Eenheid', 'Eenheden', 'de'); +DEF_FAC_ENTITY ('PRS_PERSLID_RANG', 'Rang', 'Rangen', 'de'); +SPOOL OFF diff --git a/_UP/116TO117.SRC b/_UP/116TO117.SRC new file mode 100644 index 00000000..ac945c53 --- /dev/null +++ b/_UP/116TO117.SRC @@ -0,0 +1,335 @@ +SPOOL 116to117 + +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.16 naar 01.17 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * 25-06-96 EH Entities ALG_VERDIEPING_OPP en ALG_GEBOUW_OPP toegevoegd. + * 25-06-96 EH View prevopdr_gegevens aangepast; view openprevopdr_gegevens + * verwijderd (redundant). + * 21-06-96 AH INV-messages 028 en 016 aangepast. + * 21-06-96 EH Message prs_m053 toegevoegd. + * 20-06-96 AH UNIQUE op PRS_WERKPLEK uitgebreid met PRS_WERKPLEK_MODULE. + * 19-06-96 EH Entity 'ALG_TERREINSECTOR_B' (voor button) toegevoegd. + * 13-06-96 EH De volgende indices toegevoegd: + * - mld_alg_kostenpost_key aan mld_opdr + * - mld_opdr_key aan mld_bestelregel + * - mld_opdr_key aan bco_werkregel + * - mld_statusopdr_key aan bcp_prevopdr + * - bcp_prevopdr_key aan bco_werkregel + * - mra_eenheid aan mld_melding + * - mra_veroorzaker aan mld_melding + * 13-06-96 EH Indices voor LEV toegevoegd. + * 13-06-96 EH Indices voor SLE toegevoegd. + * 13-06-96 AH INV_M024 en INV_M030 saangepast. + * 10-06-96 EH Fac_message SCH_NIVO2 toegevoegd. + * 10-06-96 EH In ins_v_attr_hulp ins_v_.. veranderd in all_v ... + * 10-06-96 AH PRS_M052 toegevoegd. + * 07-06-96 KTH fac_privilege.object_name moeten UPPERs zijn (zie COMSQL.H) + * 07-06-96 EH alg_locatie_key toegevoegd aan ins_v_onderdeel_gegevens + * 07-06-96 EH UNIQUE constraint op srtinst tabellen uitgebreid. + * 06-06-96 AH PRS_WERKPLEK_MODULE toegevoegd. + * 05-06-96 KTH Lege file aangemaakt. + */ + +#include "comsql.h" + +update fac_privilege set object_name=UPPER(object_name); + +DEF_FAC_MESSAGE ('SCH_NIVO2','Schoonmaakniveau'); +DEF_FAC_MESSAGE ('PRS_M053', 'Afdeling moet worden ingevuld'); + +DEF_FAC_ENTITY ('ALG_VERDIEPING_OPP', 'Netto vloeropp.', NULL, NULL); +DEF_FAC_ENTITY ('ALG_GEBOUW_OPP', 'Netto vloeropp.', NULL, NULL); + +#ifdef PRS +ALTER TABLE prs_werkplek +ADD +( prs_werkplek_module + VARCHAR2(3) + DEFAULT 'PRR'); + +UPDATE prs_werkplek +SET prs_werkplek_module = 'PRR'; + +ALTER TABLE prs_werkplek +MODIFY +( + prs_werkplek_module + NOT NULL +); +#endif + +#ifdef SLE + +CREATE INDEX sle_i_sle_sleutel_perslid1 ON sle_sleutel_perslid(sle_prs_perslid_key); +CREATE INDEX sle_i_sle_sleutel_perslid2 ON sle_sleutel_perslid(sle_sleutel_key); + +CREATE INDEX sle_i_sle_sleutel_slot1 ON sle_sleutel_slot(sle_sleutel_key); +CREATE INDEX sle_i_sle_sleutel_slot2 ON sle_sleutel_slot(sle_slot_key); + +CREATE INDEX sle_i_sle_slot ON sle_slot(sle_alg_onroerendgoed_keys); + +#endif + +#ifdef LEV + +CREATE INDEX lev_i_lev_bestelling1 ON lev_bestelling (lev_alg_kostenpost_key); +CREATE INDEX lev_i_lev_bestelling2 ON lev_bestelling (lev_prs_bedrijf_key); +CREATE INDEX lev_i_lev_bestelling3 ON lev_bestelling (lev_prs_perslid_key); +CREATE INDEX lev_i_lev_bestelling4 ON lev_bestelling (lev_alg_gebouw_key); + +CREATE INDEX lev_i_lev_bestelregel1 ON lev_bestelregel (lev_bestelling_key); +CREATE INDEX lev_i_lev_bestelregel2 ON lev_bestelregel (lev_ins_srtdeel_key); +CREATE INDEX lev_i_lev_bestelregel3 ON lev_bestelregel (lev_alg_ruimte_key); + +CREATE INDEX lev_i_lev_levering ON lev_levering (lev_prs_bedrijf_key); + +#endif + +#ifdef MLD + +CREATE INDEX mld_i_mld_opdr7 on mld_opdr(mld_alg_kostenpost_key); +CREATE INDEX mld_i_mld_bestelregel2 on mld_bestelregel(mld_opdr_key); + +#endif + +#ifdef BCO + +CREATE INDEX bco_i_bco_werkregel2 on bco_werkregel(bco_mld_opdr_key); + +#endif + +#ifdef BCP + +CREATE INDEX bcp_i_bcp_prevopdr4 on bcp_prevopdr(bcp_mld_statusopdr_key); +CREATE INDEX bcp_i_bco_werkregel1 on bco_werkregel(bcp_prevopdr_key); + +CREATE_VIEW(bcp_v_prevopdr_gegevens,NORMAAL_PRIVILEGE) + ( bcp_prevopdr_key, + bcp_prevopdr_status, + bcp_prevopdr_jaarweek, + bcp_prevopdr_discipline, + bcp_prevopdr_locatie) AS +SELECT BCP_P.bcp_prevopdr_key, + MLD_S.mld_statusopdr_omschrijving, + BCP_P.bcp_prevopdr_week, + INS_D.ins_discipline_omschrijving, + ALG_L.alg_locatie_omschrijving +FROM bcp_prevopdr BCP_P, + mld_statusopdr MLD_S, + bcp_taak BCP_T, + bcp_v_aanwezigverzamel BCP_V, + ins_v_aanwezigsrtdeel INS_SD, + ins_srtgroep INS_SG, + ins_discipline INS_D, + alg_v_aanweziggebouw ALG_G, + alg_locatie ALG_L +WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND BCP_T.bcp_verzamel_key = BCP_V.bcp_verzamel_key + AND BCP_V.bcp_ins_srtdeel_key = INS_SD.ins_srtdeel_key + AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key + AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key + AND BCP_T.bcp_alg_gebouw_key = ALG_G.alg_gebouw_key + AND ALG_G.alg_locatie_key = ALG_L.alg_locatie_key; + +DROP VIEW bcp_v_openprevopdr_gegevens; +#endif + +#ifdef MRA + +CREATE INDEX mra_i_mra_melding2 on mld_melding(mra_melding_melder_eenheid); +CREATE INDEX mra_i_mra_melding3 on mld_melding(mra_melding_veroorzaker); + +#endif + +#ifdef INS + +ALTER TABLE ins_discipline +DROP + UNIQUE(ins_discipline_omschrijving, ins_discipline_verwijder); + +ALTER TABLE ins_srtgroep +DROP + UNIQUE(ins_srtgroep_upper, ins_srtgroep_verwijder); + +ALTER TABLE ins_srtdeel +DROP + UNIQUE(ins_srtdeel_upper, ins_srtdeel_verwijder); + +ALTER TABLE ins_discipline +ADD +( + UNIQUE(ins_discipline_omschrijving, ins_discipline_verwijder, + ins_discipline_module) +); + +ALTER TABLE ins_srtgroep +ADD +( + UNIQUE(ins_srtgroep_upper, ins_srtgroep_verwijder, ins_srtgroep_module) +); + +ALTER TABLE ins_srtdeel +ADD +( + UNIQUE(ins_srtdeel_upper,ins_srtdeel_verwijder, ins_srtdeel_module) +); + +DROP VIEW ins_v_onderdeel_gegevens; + +CREATE VIEW ins_v_onderdeel_gegevens +( + ins_srtdeel_key, ins_srtdeel_omschrijving, + ins_srtdeel_upper, ins_srtonderdeel_key, + ins_srtonderdeel_omschrijving, ins_srtonderdeel_upper, + ins_deel_key, ins_deel_omschrijving, + ins_deel_upper, ins_onderdeel_key, + ins_onderdeel_omschrijving, ins_onderdeel_aantal, + ins_onderdeel_fabrikaat, ins_onderdeel_type, + ins_onderdeel_serienr,ins_onderdeel_bouwjaar, + ins_onderdeel_capaciteit, ins_onderdeel_prijs, + ins_onderdeel_levensduur, ins_onderdeel_opmerking, + ins_onderdeel_upper, alg_locatie_key, + alg_gebouw_key, alg_gebouw_upper, alg_verdieping_key, + alg_verdieping_upper, alg_ruimte_key, alg_ruimte_nr, + plaatsdeel_omschrijving +) +AS + SELECT ins_D.ins_srtdeel_key, ins_D.ins_srtdeel_omschrijving, + ins_D.ins_srtdeel_upper, ins_SOD.ins_srtonderdeel_key, + ins_SOD.ins_srtonderdeel_omschrijving, ins_SOD.ins_srtonderdeel_upper, + ins_D.ins_deel_key, ins_D.ins_deel_omschrijving, + ins_D.ins_deel_upper, ins_OD.ins_onderdeel_key, + ins_OD.ins_onderdeel_omschrijving, ins_OD.ins_onderdeel_aantal, + ins_OD.ins_onderdeel_fabrikaat, ins_OD.ins_onderdeel_type, + ins_OD.ins_onderdeel_serienr,ins_OD.ins_onderdeel_bouwjaar, + ins_OD.ins_onderdeel_capaciteit, ins_OD.ins_onderdeel_prijs, + ins_OD.ins_onderdeel_levensduur, ins_OD.ins_onderdeel_opmerking, + ins_OD.ins_onderdeel_upper, ins_D.alg_locatie_key, + ins_D.alg_gebouw_key, ins_D.alg_gebouw_upper, + ins_D.alg_verdieping_key, ins_D.alg_verdieping_upper, + ins_D.alg_ruimte_key, ins_D.alg_ruimte_nr, + ins_D.plaatsdeel_omschrijving + FROM ins_v_aanwezigsrtonderdeel ins_SOD, + ins_v_aanwezigonderdeel ins_OD, + ins_v_deel_gegevens ins_D + WHERE + ins_SOD.ins_srtonderdeel_key = ins_OD.ins_srtonderdeel_key AND + ins_D.ins_deel_key = ins_OD.ins_deel_key; + +CREATE_VIEW(ins_v_attr_hulp, NORMAAL_PRIVILEGE) + (ins_discipline_key, + ins_srtgroep_key, + ins_srtdeel_key, + ins_attribute_main_key) AS + SELECT INS_A.ins_srtinst_keys, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A + WHERE INS_A.ins_srtinst_type = 'D' +UNION + SELECT TO_NUMBER(NULL), + INS_A.ins_srtinst_keys, + TO_NUMBER(NULL), + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A + WHERE INS_A.ins_srtinst_type = 'G' +UNION + SELECT TO_NUMBER(NULL), + INS_SG.ins_srtgroep_key, + TO_NUMBER(NULL), + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A, + ins_srtgroep INS_SG + WHERE INS_A.ins_srtinst_type = 'D' AND + INS_A.ins_srtinst_keys = INS_SG.ins_discipline_key +UNION + SELECT TO_NUMBER(NULL), + TO_NUMBER(NULL), + INS_A.ins_srtinst_keys, + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A + WHERE INS_A.ins_srtinst_type = 'S' +UNION + SELECT TO_NUMBER(NULL), + TO_NUMBER(NULL), + INS_SD.ins_srtdeel_key, + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A, + ins_srtdeel INS_SD + WHERE INS_A.ins_srtinst_type = 'G' AND + INS_A.ins_srtinst_keys = INS_SD.ins_srtgroep_key +UNION + SELECT TO_NUMBER(NULL), + TO_NUMBER(NULL), + INS_SDG.ins_srtdeel_key, + INS_A.ins_attribute_main_key + FROM ins_attribute INS_A, + all_v_srtdeel_gegevens INS_SDG + WHERE INS_A.ins_srtinst_type = 'D' AND + INS_A.ins_srtinst_keys = INS_SDG.ins_discipline_key; +#endif + +INSERT INTO fac_message VALUES('PRS_M052', 'Inzetbaar voor storing'); + +DELETE FROM fac_message +WHERE UPPER(fac_message_code) = 'INV_M024'; +INSERT INTO fac_message VALUES('INV_M024', 'De plaats is niet ingevuld.'); + +DELETE FROM fac_message +WHERE UPPER(fac_message_code) = 'INV_M030'; +INSERT INTO fac_message VALUES('INV_M030', 'Inventaris in ruimte'); + +DELETE FROM fac_message +WHERE UPPER(fac_message_code) = 'INV_M028'; +INSERT INTO fac_message VALUES('INV_M028', 'De eigenaar is niet ingevuld.'); + +DELETE FROM fac_message +WHERE UPPER(fac_message_code) = 'INV_M016'; +INSERT INTO fac_message VALUES('INV_M016', 'Eigenaar van inventaris'); + +#if defined(PMK)||defined(pmk) + +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_B', 'Syst. cluster', Null, Null); + +#else + +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_B', 'Terreinsector', 'Terreinsectoren', 'de'); + +#endif + +#ifdef PRS + +ALTER TABLE prs_werkplek +DROP UNIQUE(prs_werkplek_volgnr, prs_alg_ruimte_key, prs_werkplek_verwijder); + +ALTER TABLE prs_werkplek +ADD UNIQUE(prs_werkplek_module, prs_werkplek_volgnr, prs_alg_ruimte_key, prs_werkplek_verwijder); + +#endif + +#ifdef LEV + +ALTER TABLE ins_deel +DROP + UNIQUE(ins_alg_ruimte_key, ins_srtdeel_key, ins_deel_upper, + lev_levering_key, lev_bestelling_key, lev_afvoerlijst_datum, + ins_deel_verwijder); + +ALTER TABLE ins_deel +ADD + UNIQUE(ins_alg_ruimte_key, ins_prs_bezit_key, ins_srtdeel_key, ins_deel_upper, + lev_levering_key, lev_bestelling_key, lev_afvoerlijst_datum, + ins_deel_verwijder); +#endif + +SPOOL OFF diff --git a/_UP/117TO118.SRC b/_UP/117TO118.SRC new file mode 100644 index 00000000..4e6433e2 --- /dev/null +++ b/_UP/117TO118.SRC @@ -0,0 +1,1037 @@ +SPOOL 117to118 + +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.17 naar 01.18 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * 25-07-96 AH HUI_M037 - HUI_M040 en HUI_SLAAPRUIMTE toegevoegd. + * 25-07-96 AH INV_DEEL_BEZIT aangepast in Eigenaar. INV_DEEL_OVERDRAGEN + * en ALG_M157 toegevoegd. INV_M048 en INV_M047 aangepast. + * 23-07-96 AH PRS_M045 - PRS_M047 De '.' weggehaald, + * PRS_M058, ALG_M155, ALG_M156 toegevoegd. + * 17-07-96 RW In ALG_GEBOUW twee columns toegevoegd: alg_gebouw_naam/code. + De trigger vult alg_gebouw_omschrijving met code || '-' || naam, + en alg_gebouw_upper met UPPER(code). + * 16-07-96 EH De trigger INS_T_INS_DEEL_B_IU gewijzigd: + * - Anders plaatsen delen mogelijk gemaakt. + * - BCP code verwijderd. + * - Bij verplaatsen delen onderdelen wijzigen -> plaats leeg. + * 16-07-96 EH De view ins_v_deel_gegevens aangepast voor delen op terrein- + * sectoren en 'binnen' gebouwen. Ter ondersteuning de view + * ins_v_alg_overzicht aangemaakt. Tevens de vieuws ins_v_onder- + * deel_gegevens en ins_v_element_gegevens om dezelfde reden + * aangepast. + * 16-07-96 EH Aan ins_onderdeel een plaatsveld toegevoegd. + * 16-07-96 EH De STORED PROCEDURE kopieer_deel toegevoegd. + * 16-07-96 EH Aan de triggers op alg_gebouw, alg_verdieping, alg_ruimte en + * alg_terreinsector de trigger SET_VERWIJDER_CHILDREN toegevoegd. + * Deze verwijderd bij verwijderen ook alle delen. + * 08-07-96 EH ins_deel trigger aangepast. + * 08-07-96 EH 4 messages t.b.v. INS (92-95) toegevoegd. + * 02-07-96 AH LEV_MAGAZIJN-entity en LEV_M051-messgae toegevoegd. + * 02-07-96 AH LEV_V_LEV_BESTELREGEL_BEDRAG aangepast, + * Gebruik INV_V_AANWEZIGSRTDEEL ipv. INS_V_AANWEZIGSRTDEEL. + * 28-06-96 AH PRS_T_PRS_WERKPLEK_B_IU aangepast voor verwijderen + * werkplek/slaapplaats. Als er INS_DELEN geplaatst + * zijn, dan mag de werkplek/slaapplaats niet verwijderd worden. + * De PRS_DWGUPTODATE van de verdieping-tekening wordt NIET + * bijgewerkt, want er verdieping moet dan opgezocht worden + * en dat mag niet bij CASCADE-delete via ruimte of hoger in de + * OR-boom (ter voorkoming van ORA_4091 'Mutating-table'). + * 28-06-96 AH View toegevoegd voor HUI012 + * 28-06-96 AH INS_T_INS_DEEL_B_IU aangepast. Controle van ins_alg_ruimte_key + * wordt alleen gedaan wanneer deze veranderd of toegevoegd wordt. + * 28-06-96 AH ALG_T_ALG_RUIMTE_B_IU aangepast. Als er artikelen in de + * ruimte geplaatst zijn dan mag de ruimte niet verwijderd worden. + * Verwijder ook de werkplekken/slaapplaatsen van de ruimte. + * 27-06-96 EH Primary_key constraint verwijderd uit sch_nivo_og. + * 26-06-96 EH Messages sch_001 en sch_002 gewijzigd. + * 26-06-96 EH Lege file aangemaakt. + */ + +#include "comsql.h" +#include "algsql.h" + +DELETE FROM fac_message WHERE fac_message_code = 'SCH_M001'; +DELETE FROM fac_message WHERE fac_message_code = 'SCH_M002'; +DELETE FROM fac_message WHERE fac_message_code = 'SCH_M015'; +DELETE FROM fac_message WHERE fac_message_code = 'SCH_M016'; + +DEF_FAC_MESSAGE ('SCH_M001','Verwijderen Schoonmaakniveau'); +DEF_FAC_MESSAGE ('SCH_M002','Verwijderen schoonmaakniveau '); +DEF_FAC_MESSAGE ('SCH_M015','Verwijderen Schoonmaakniveau'); +DEF_FAC_MESSAGE ('SCH_M016','Verwijderen schoonmaakniveau '); +DEF_FAC_MESSAGE ('ins_m092', 'Ruimte bestaat niet.'); +DEF_FAC_MESSAGE ('ins_m093', 'Verdieping bestaat niet.'); +DEF_FAC_MESSAGE ('ins_m094', 'Gebouw bestaat niet.'); +DEF_FAC_MESSAGE ('ins_m095', 'Terreinsector bestaat niet.'); +DEF_FAC_MESSAGE ('ins_m096', 'Deel is niet ingevuld.'); + +#ifdef SCH + +ALTER TABLE sch_nivo_og + DROP PRIMARY KEY; + +#endif +#ifdef ALG +CREATE TRIGGER alg_t_alg_gebouw_B_IU +BEFORE INSERT OR UPDATE ON alg_gebouw +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_gebouw_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_gebouw_omschrijving, alg_gebouw_upper); + LAAT_VERDIEPING_VERVALLEN_VOOR_GEBOUW('alg_m54'); +#ifdef MRA + IF :new.alg_gebouw_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key; + END IF; + IF :new.alg_srtgebouw_key <> :old.alg_srtgebouw_key + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key AND + mra_voorschrift_key IN (SELECT mra_voorschrift_key + FROM mra_srtgebouwvoorschr + WHERE mra_srtgebouw_key = :old.alg_srtgebouw_key) + AND mra_onrgoedvoorschr_type = 'G'; + + END IF; +#endif // MRA +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_gebouw_key, + alg_gebouw_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +END; +/ + +CREATE TRIGGER alg_t_alg_verdieping_B_IU +BEFORE INSERT OR UPDATE ON alg_verdieping +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_verdieping_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_verdieping_omschrijving, alg_verdieping_upper); + LAAT_RUIMTE_VERVALLEN_VOOR_VERDIEPING('alg_m55'); +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_verdieping_key, + alg_verdieping_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +END; +/ + +CREATE TRIGGER alg_t_alg_ruimte_B_IU +BEFORE INSERT OR UPDATE ON alg_ruimte +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_ruimte_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_ruimte_nr, alg_ruimte_upper_nr); +#ifdef MRA + /* Delete CASCADE op MRA_ONRGOEDVOORSCHR en MRA_ONRGOEDBESTEMMING + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key; + END IF; + IF :new.alg_srtruimte_key <> :old.alg_srtruimte_key + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key AND + mra_voorschrift_key IN (SELECT mra_voorschrift_key + FROM mra_srtruimtevoorschr + WHERE mra_srtruimte_key = :old.alg_srtruimte_key) + AND mra_onrgoedvoorschr_type = 'R'; + END IF; +#endif // MRA +#ifdef PRS + /* Als de soort ruimte veranderd wordt en er zijn werkplekken in de ruimte + * dan moet het veld PRS_BEVAT_WERKPLEKKEN de waarde 1 bevatten in de + * nieuwe soort ruimte. + */ + IF :old.alg_ruimte_key IS NOT NULL + AND :new.alg_ruimte_verwijder IS NULL + AND :old.alg_srtruimte_key <> :new.alg_srtruimte_key + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM alg_srtruimte ALG_SR_1, + alg_srtruimte ALG_SR_2, + all_v_aanwezigwerkplek PRS_W + WHERE ALG_SR_1.alg_srtruimte_key = :old.alg_srtruimte_key + AND ALG_SR_1.prs_bevat_werkplek = 1 + AND ALG_SR_2.alg_srtruimte_key = :new.alg_srtruimte_key + AND ALG_SR_2.prs_bevat_werkplek IS NULL + AND PRS_W.prs_alg_ruimte_key = :new.alg_ruimte_key; + APPLICATION_ERROR(-20000, 'prs_m034'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m034'); + END; + END IF; +#endif +#ifdef INV + /* Als er een INV-deel bestaat in de te verwijderen ruimte + * dan mag de ruimte niet verwijderd worden. + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM inv_v_aanwezigdeel + WHERE ins_alg_ruimte_key = :new.alg_ruimte_key + AND ins_alg_ruimte_type = 'R'; + APPLICATION_ERROR(-20000, 'prs_m055'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m055'); + END; + END IF; +#endif +#ifdef PRS + /* Als de ruimte verwijderd wordt, dan moeten ook de bijbehorende + * werkplekken/slaapplaatsen verwijderd worden. + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + UPDATE prs_werkplek + SET prs_werkplek_verwijder = SYSDATE + WHERE prs_alg_ruimte_key = :new.alg_ruimte_key + AND prs_werkplek_verwijder IS NULL; + END IF; +#endif +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_ruimte_key, + alg_ruimte_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +END; +/ + +CREATE TRIGGER alg_t_alg_terreinsector_B_IU +BEFORE INSERT OR UPDATE ON alg_terreinsector +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_terreinsector_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_terreinsector_omschrijving,alg_terreinsector_upper); +#ifdef MRA + IF :new.alg_terreinsector_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_terreinsector_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_terreinsector_key; + END IF; +#endif // MRA +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_terreinsector_key, + alg_terreinsector_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +END; +/ + +#endif // ALG + +#ifdef INS + +ALTER TABLE ins_onderdeel +ADD +( + ins_alg_onroerendgoed_key + NUMBER(10) +); + +CREATE_VIEW(ins_v_alg_overzicht,NORMAAL_PRIVILEGE) +( + alg_onroerendgoed_keys, alg_locatie_key, + alg_gebouw_key, alg_gebouw_omschrijving, alg_gebouw_upper, + alg_verdieping_key, alg_verdieping_omschrijving, alg_verdieping_upper, + alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, + alg_terreinsector_key, alg_terreinsector_omschrijving, alg_terreinsector_upper +) +AS + SELECT ALG_G.alg_gebouw_key, ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, ALG_G.alg_gebouw_omschrijving, ALG_G.alg_gebouw_upper, + to_number(NULL), NULL, NULL, + to_number(NULL), NULL, NULL, + to_number(NULL), NULL, NULL + FROM alg_gebouw ALG_G +UNION + SELECT ALG_V.alg_verdieping_key, ALG_G.alg_locatie_key, + 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_upper, + to_number(NULL), NULL, NULL, + to_number(NULL), NULL, NULL + FROM alg_verdieping ALG_V, alg_gebouw ALG_G + WHERE ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key +UNION + SELECT ALG_R.alg_ruimte_key, ALG_G.alg_locatie_key, + 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_upper, + ALG_R.alg_ruimte_key, ALG_R.alg_ruimte_nr, ALG_R.alg_ruimte_upper_nr, + to_number(NULL), NULL, NULL + FROM alg_ruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G + WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key AND + ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key +UNION + SELECT ALG_T.alg_terreinsector_key, ALG_T.alg_locatie_key, + to_number(NULL), NULL, NULL, + to_number(NULL), NULL, NULL, + to_number(NULL), NULL, NULL, + ALG_T.alg_terreinsector_key, ALG_T.alg_terreinsector_omschrijving, ALG_T.alg_terreinsector_upper + FROM alg_terreinsector ALG_T; + +CREATE_VIEW(ins_v_deel_gegevens,NORMAAL_PRIVILEGE) +( + ins_discipline_key, ins_discipline_omschrijving, + ins_srtgroep_key, ins_srtgroep_omschrijving, ins_srtgroep_upper, + ins_srtdeel_key, ins_srtdeel_omschrijving, ins_srtdeel_upper, + alg_locatie_key, alg_gebouw_key, alg_gebouw_omschrijving, alg_gebouw_upper, + alg_verdieping_key, alg_verdieping_omschrijving, alg_verdieping_upper, + alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, + alg_terreinsector_key, alg_terreinsector_omschrijving, alg_terreinsector_upper, + ins_deel_key, ins_deel_omschrijving, ins_deel_upper, ins_deel_aantal, + ins_deel_fabrikaat, ins_deel_type, ins_deel_serienr, ins_deel_bouwjaar, + ins_deel_capaciteit, ins_deel_prijs, ins_deel_levensduur, ins_deel_opmerking +) +AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, ins_SG.ins_srtgroep_upper, + ins_SD.ins_srtdeel_key, ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper, + INS_AO.alg_locatie_key, INS_AO.alg_gebouw_key, INS_AO.alg_gebouw_omschrijving, INS_AO.alg_gebouw_upper, + INS_AO.alg_verdieping_key, INS_AO.alg_verdieping_omschrijving, INS_AO.alg_verdieping_upper, + INS_AO.alg_ruimte_key, INS_AO.alg_ruimte_nr, INS_AO.alg_ruimte_upper_nr, + INS_AO.alg_terreinsector_key, INS_AO.alg_terreinsector_omschrijving, INS_AO.alg_terreinsector_upper, + ins_DE.ins_deel_key, ins_DE.ins_deel_omschrijving, ins_DE.ins_deel_upper, ins_DE.ins_deel_aantal, + ins_DE.ins_deel_fabrikaat, ins_DE.ins_deel_type, ins_DE.ins_deel_serienr,ins_DE.ins_deel_bouwjaar, + ins_DE.ins_deel_capaciteit, ins_DE.ins_deel_prijs, ins_DE.ins_deel_levensduur, ins_DE.ins_deel_opmerking + FROM ins_v_aanwezigdiscipline ins_D, ins_v_aanwezigsrtgroep ins_SG, + ins_v_aanwezigsrtdeel ins_SD, ins_v_alg_overzicht INS_AO, + ins_v_aanwezigdeel ins_DE + WHERE + INS_AO.alg_onroerendgoed_keys = ins_DE.ins_alg_ruimte_key AND + ins_SD.ins_srtdeel_key = ins_DE.ins_srtdeel_key AND + ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; + +CREATE_VIEW(ins_v_onderdeel_gegevens,NORMAAL_PRIVILEGE) +( + ins_discipline_key, ins_discipline_omschrijving, + ins_srtgroep_key, ins_srtgroep_omschrijving, ins_srtgroep_upper, + ins_srtdeel_key, ins_srtdeel_omschrijving, ins_srtdeel_upper, + ins_srtonderdeel_key, ins_srtonderdeel_omschrijving, ins_srtonderdeel_upper, + ins_deel_key, ins_deel_omschrijving, ins_deel_upper, + ins_onderdeel_key, ins_onderdeel_omschrijving, ins_onderdeel_upper, + ins_onderdeel_aantal, ins_onderdeel_fabrikaat, ins_onderdeel_type, + ins_onderdeel_serienr,ins_onderdeel_bouwjaar, ins_onderdeel_capaciteit, + ins_onderdeel_prijs, ins_onderdeel_levensduur, ins_onderdeel_opmerking, + alg_locatie_key, alg_gebouw_key, alg_gebouw_upper, alg_verdieping_key, + alg_verdieping_upper, alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, + alg_terreinsector_key, alg_terreinsector_upper +) +AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_D.ins_srtgroep_key, ins_D.ins_srtgroep_omschrijving, ins_D.ins_srtgroep_upper, + ins_D.ins_srtdeel_key, ins_D.ins_srtdeel_omschrijving, ins_D.ins_srtdeel_upper, + ins_SOD.ins_srtonderdeel_key, ins_SOD.ins_srtonderdeel_omschrijving, ins_SOD.ins_srtonderdeel_upper, + ins_D.ins_deel_key, ins_D.ins_deel_omschrijving, ins_D.ins_deel_upper, + ins_OD.ins_onderdeel_key, ins_OD.ins_onderdeel_omschrijving, ins_OD.ins_onderdeel_upper, + ins_OD.ins_onderdeel_aantal, ins_OD.ins_onderdeel_fabrikaat, ins_OD.ins_onderdeel_type, + ins_OD.ins_onderdeel_serienr, ins_OD.ins_onderdeel_bouwjaar, ins_OD.ins_onderdeel_capaciteit, + ins_OD.ins_onderdeel_prijs, ins_OD.ins_onderdeel_levensduur, ins_OD.ins_onderdeel_opmerking, + ins_D.alg_locatie_key, ins_D.alg_gebouw_key, ins_D.alg_gebouw_upper, ins_D.alg_verdieping_key, + ins_D.alg_verdieping_upper, ins_D.alg_ruimte_key, ins_D.alg_ruimte_nr, ins_D.alg_ruimte_upper_nr, + ins_D.alg_terreinsector_key, ins_D.alg_terreinsector_upper + FROM ins_v_aanwezigsrtonderdeel ins_SOD, + ins_v_aanwezigonderdeel ins_OD, + ins_v_deel_gegevens ins_D + WHERE + ins_SOD.ins_srtonderdeel_key = ins_OD.ins_srtonderdeel_key AND + ins_D.ins_deel_key = ins_OD.ins_deel_key AND + ins_OD.ins_alg_onroerendgoed_key IS NULL +UNION + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_D.ins_srtgroep_key, ins_D.ins_srtgroep_omschrijving, ins_D.ins_srtgroep_upper, + ins_D.ins_srtdeel_key, ins_D.ins_srtdeel_omschrijving, ins_D.ins_srtdeel_upper, + ins_SOD.ins_srtonderdeel_key, ins_SOD.ins_srtonderdeel_omschrijving, ins_SOD.ins_srtonderdeel_upper, + ins_D.ins_deel_key, ins_D.ins_deel_omschrijving, ins_D.ins_deel_upper, + ins_OD.ins_onderdeel_key, ins_OD.ins_onderdeel_omschrijving, ins_OD.ins_onderdeel_upper, + ins_OD.ins_onderdeel_aantal, ins_OD.ins_onderdeel_fabrikaat, ins_OD.ins_onderdeel_type, + ins_OD.ins_onderdeel_serienr, ins_OD.ins_onderdeel_bouwjaar, ins_OD.ins_onderdeel_capaciteit, + ins_OD.ins_onderdeel_prijs, ins_OD.ins_onderdeel_levensduur, ins_OD.ins_onderdeel_opmerking, + ins_AO.alg_locatie_key, ins_AO.alg_gebouw_key, ins_AO.alg_gebouw_upper, ins_AO.alg_verdieping_key, + ins_AO.alg_verdieping_upper, ins_AO.alg_ruimte_key, ins_AO.alg_ruimte_nr, ins_AO.alg_ruimte_upper_nr, + ins_AO.alg_terreinsector_key, ins_AO.alg_terreinsector_upper + FROM ins_v_aanwezigsrtonderdeel ins_SOD, + ins_v_aanwezigonderdeel ins_OD, + ins_v_deel_gegevens ins_D, + ins_v_alg_overzicht ins_AO + WHERE + ins_SOD.ins_srtonderdeel_key = ins_OD.ins_srtonderdeel_key AND + ins_D.ins_deel_key = ins_OD.ins_deel_key AND + ins_AO.alg_onroerendgoed_keys = ins_OD.ins_alg_onroerendgoed_key AND + ins_OD.ins_alg_onroerendgoed_key IS NOT NULL; + +CREATE_VIEW(ins_v_element_gegevens,NORMAAL_PRIVILEGE) AS + SELECT ins_SE.ins_srtelement_key, + ins_OD.ins_onderdeel_key, ins_OD.ins_onderdeel_upper, + ins_EL.ins_element_key, + ins_EL.ins_element_omschrijving, + ins_EL.ins_element_upper, + ins_EL.ins_element_aantal, + ins_EL.ins_element_fabrikaat, ins_EL.ins_element_type, + ins_EL.ins_element_serienr,ins_EL.ins_element_bouwjaar, + ins_EL.ins_element_capaciteit, ins_EL.ins_element_prijs, + ins_EL.ins_element_levensduur, ins_EL.ins_element_opmerking, + ins_OD.alg_gebouw_key, ins_OD.alg_verdieping_key, + ins_OD.alg_ruimte_key, ins_OD.alg_terreinsector_key, + ins_OD.alg_gebouw_upper, ins_OD.alg_verdieping_upper, + ins_OD.alg_ruimte_nr, ins_OD.alg_terreinsector_upper, + ins_OD.ins_deel_key, ins_OD.ins_deel_upper + FROM ins_v_aanwezigsrtelement ins_SE, ins_v_onderdeel_gegevens ins_OD, + ins_v_aanwezigelement ins_EL + WHERE + ins_SE.ins_srtelement_key = ins_EL.ins_srtelement_key AND + ins_OD.ins_onderdeel_key = ins_EL.ins_onderdeel_key; + +#ifdef BCO // Binnen INS voor aanmaken STORED PROCEDURE +CREATE PROCEDURE kopieer_deel (deel_key NUMBER, + plaats_key NUMBER, + plaats_type VARCHAR2) AS + documentatie_veld VARCHAR2(32767); +BEGIN + SELECT bco_deel_documentatie INTO documentatie_veld + FROM ins_deel WHERE ins_deel_key = deel_key; + + INSERT INTO ins_deel (ins_deel_module, + ins_srtdeel_key, + ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_deel_aantal, + ins_deel_omschrijving, + ins_deel_fabrikaat, + ins_deel_type, + ins_deel_serienr, + ins_deel_bouwjaar, + ins_deel_capaciteit, + ins_deel_prijs, + ins_deel_levensduur, + ins_deel_opmerking, + bco_deel_prevprint, + bco_deel_documentatie) + SELECT 'INS', + ins_srtdeel_key, + plaats_key, + plaats_type, + ins_deel_aantal, + ins_deel_omschrijving, + ins_deel_fabrikaat, + ins_deel_type, + ins_deel_serienr, + ins_deel_bouwjaar, + ins_deel_capaciteit, + ins_deel_prijs, + ins_deel_levensduur, + ins_deel_opmerking, + bco_deel_prevprint, + documentatie_veld + FROM ins_deel + WHERE ins_deel_key = deel_key; + END; +/ +#elif // Geen BCO + +CREATE PROCEDURE kopieer_deel (deel_key NUMBER, + plaats_key NUMBER, + plaats_type VARCHAR2) AS +BEGIN + INSERT INTO ins_deel (ins_deel_module, + ins_srtdeel_key, + ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_deel_aantal, + ins_deel_omschrijving, + ins_deel_fabrikaat, + ins_deel_type, + ins_deel_serienr, + ins_deel_bouwjaar, + ins_deel_capaciteit, + ins_deel_prijs, + ins_deel_levensduur, + ins_deel_opmerking) + SELECT 'INS', + ins_srtdeel_key, + plaats_key, + plaats_type, + ins_deel_aantal, + ins_deel_omschrijving, + ins_deel_fabrikaat, + ins_deel_type, + ins_deel_serienr, + ins_deel_bouwjaar, + ins_deel_capaciteit, + ins_deel_prijs, + ins_deel_levensduur, + ins_deel_opmerking + FROM ins_deel + WHERE ins_deel_key = deel_key; + END; +/ +#endif // al dan niet BCO + +CREATE TRIGGER ins_t_ins_deel_B_IU +BEFORE INSERT OR UPDATE ON ins_deel +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_DEEL_B_IU'); + UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys); + UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper); + SET_VERWIJDER_CHILDREN(ins_onderdeel, ins_deel_key, ins_deel_verwijder, + ins_onderdeel_verwijder); + + /* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn + * en wel met ruimte, verdieping, gebouw of terreinsector. + * Daarvoor moet ook het INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn + * (met 'R' of 'V' of 'G' of 'T'). + * Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een + * nieuw record geinsert wordt. + * + * + * IN INV-mode hoeft INS_ALG_RUIMTE_KEY niet ingevuld te zijn, maar + * als deze ingevuld is moet INS_ALG_RUIMTE_KEY met ruimte of werkplek + * gevuld zijn, daarvoor moet het veld INS_ALG_RUITMTE_KEY goed + * ingevuld zijn (met 'R' of 'W'). + * + * IN INV-mode kan het veld INS_PRS_BEZIT_KEY ook ingevuld zijn, maar + * INS_ALG_RUIMTE_KEY en INS_PRS_BEZIT_KEY kunnen niet beide ingevuld worden. + * INS_PRS_BEZIT_KEY kan de waarde perslid of afdeling bevatten en het + * veld INS_PRS_BEZIT_TYPE moet dan goed ingevuld zijn (met 'P' of 'A'). + * AH 05-06-96 Nu kunnen biede velden ingevuld zijn. + */ + IF :new.ins_deel_module = 'INS' + AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m092'); + ELSIF :new.ins_alg_ruimte_type = 'V' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigverdieping, alg_verdieping_key, + :new.ins_alg_ruimte_key, 'ins_m093'); + ELSIF :new.ins_alg_ruimte_type = 'G' + THEN + CHECK_KEY_REFERENCE(alg_v_aanweziggebouw, alg_gebouw_key, + :new.ins_alg_ruimte_key, 'ins_m094'); + ELSIF :new.ins_alg_ruimte_type = 'T' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigterreinsector, alg_terreinsector_key, + :new.ins_alg_ruimte_key, 'ins_m095'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + + IF NOT :old.ins_alg_ruimte_key IS NULL + THEN + UPDATE ins_onderdeel + SET ins_alg_onroerendgoed_key = NULL + WHERE ins_deel_key = :new.ins_deel_key; + END IF; +#ifdef INV + ELSIF :new.ins_deel_module = 'INV' + AND ((:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + OR (:old.ins_prs_bezit_key <> :new.ins_prs_bezit_key + OR :old.ins_prs_bezit_key IS NULL)) + THEN +// IF :new.ins_alg_ruimte_key IS NOT NULL +// AND :new.ins_prs_bezit_key IS NOT NULL +// THEN +// APPLICATION_ERROR(-20000, 'ins_m85'); + IF :new.ins_alg_ruimte_key IS NOT NULL + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSIF :new.ins_alg_ruimte_type = 'W' + THEN + CHECK_KEY_REFERENCE(all_v_aanwezigwerkplek, prs_werkplek_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSIF :new.ins_alg_ruimte_type = 'L' + THEN + CHECK_KEY_REFERENCE(alg_v_aanweziglocatie, alg_locatie_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + END IF; + IF :new.ins_prs_bezit_key IS NOT NULL + THEN + IF :new.ins_prs_bezit_type = 'P' + THEN + CHECK_KEY_REFERENCE(all_v_aanwezigperslid, prs_perslid_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSIF :new.ins_prs_bezit_type = 'A' + THEN + CHECK_KEY_REFERENCE(prs_v_aanwezigafdeling, prs_afdeling_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m86'); + END IF; + END IF; +#endif + END IF; +#ifdef INV + /* Als een INS_DEEL in INV-mode (red. een artikel) verwijderd, gekoppeld, + * ontkoppeld of verplaatst wordt van een ruimte of een werkplek, + * dan is de bijbehorende verdieping-tekening niet meer up to date en + * moet dus het INV_DWGUPTODATE-veld gezet worden. + * + * Als in INV-mode het INS_DEEL van INS_SRTDEEL veranderd, + * moet in het geval dit INS_SRTDEEL een ander ACADSYMBOL heeft + * het INV_DWGUPTODATE-veld van de verdiepingtekening ook gezet worden. + */ + IF :new.ins_deel_module = 'INV' + THEN + /* Verwijderen */ + IF :new.ins_deel_verwijder IS NOT NULL + /* Koppelen */ + OR (:old.ins_alg_ruimte_key IS NULL + AND :new.ins_alg_ruimte_key IS NOT NULL) + /* Ontkoppelen */ + OR (:old.ins_alg_ruimte_key IS NOT NULL + AND :new.ins_alg_ruimte_key IS NULL) + /* Verplaatsen */ + OR (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key) + /* Van INS_SRTDEEL veranderen. + * ACADSYMBOL is hierin nog niet verwerkt. + */ + OR (:old.ins_srtdeel_key <> :new.ins_srtdeel_key) + THEN + /* Voor de oude INS_ALG_RUIMTE_KEY */ + IF :old.ins_alg_ruimte_type = 'R' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :old.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :old.ins_alg_ruimte_type = 'W' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :old.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + /* Voor de nieuwe INS_ALG_RUIMTE_KEY*/ + IF :new.ins_alg_ruimte_type = 'R' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :new.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :new.ins_alg_ruimte_type = 'W' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :new.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + END IF; + END IF; +#endif // INV + +/* Gedeelte t.b.v. eventuele attribuutjes */ + + DECLARE dummy NUMBER; + BEGIN + SELECT count(*) INTO dummy + FROM ins_v_attribute_gegevens + WHERE ins_srtdeel_key = :new.ins_srtdeel_key; + + IF dummy <> 0 /* attributen aanwezig */ + THEN + IF :new.fac0 <> :old.fac0 OR :new.fac0 IS NULL OR :old.fac0 IS NULL + THEN +/* + * Trigger t.b.v. de 'flexibele' velden in ins_deel + */ + CHECK_ATTRIBUTE(fac0,0); + END IF; + + IF :new.fac1 <> :old.fac1 OR :new.fac1 IS NULL OR :old.fac1 IS NULL THEN CHECK_ATTRIBUTE(fac1,1); END IF; + IF :new.fac2 <> :old.fac2 OR :new.fac2 IS NULL OR :old.fac2 IS NULL THEN CHECK_ATTRIBUTE(fac2,2); END IF; + IF :new.fac3 <> :old.fac3 OR :new.fac3 IS NULL OR :old.fac3 IS NULL THEN CHECK_ATTRIBUTE(fac3,3); END IF; + IF :new.fac4 <> :old.fac4 OR :new.fac4 IS NULL OR :old.fac4 IS NULL THEN CHECK_ATTRIBUTE(fac4,4); END IF; + IF :new.fac5 <> :old.fac5 OR :new.fac5 IS NULL OR :old.fac5 IS NULL THEN CHECK_ATTRIBUTE(fac5,5); END IF; + IF :new.fac6 <> :old.fac6 OR :new.fac6 IS NULL OR :old.fac6 IS NULL THEN CHECK_ATTRIBUTE(fac6,6); END IF; + IF :new.fac7 <> :old.fac7 OR :new.fac7 IS NULL OR :old.fac7 IS NULL THEN CHECK_ATTRIBUTE(fac7,7); END IF; + IF :new.fac8 <> :old.fac8 OR :new.fac8 IS NULL OR :old.fac8 IS NULL THEN CHECK_ATTRIBUTE(fac8,8); END IF; + IF :new.fac9 <> :old.fac9 OR :new.fac9 IS NULL OR :old.fac9 IS NULL THEN CHECK_ATTRIBUTE(fac9,9); END IF; + + END IF; + END; + +/* Einde attributen */ + +#ifdef LEV + LOG('Begin voor gedeelte van LEV voor kostenpost'); + /* Bij het aanmaken van een leveringsregel wordt een INS_DEEL + * aangemaakt. Als OLD.lev_levering_key IS NULL en NEW.lev_levering_key + * IS NOT NULL dan wordt dit INS_DEEL nieuw aangemaakt, dus kunnen + * de kosten van deze levering bij ALG_KOSTENPOST_BESTEED geboekt worden. + * + * Bij het wijzigen van een leveringsregel kan niet bepaald worden of + * in het scherm EDIT-levering het aantal aangepast is of bij + * toekenning een aantal het INS_DEEL verhuisd naar een ander INS_DEEL. + * Deze stap is opgelost in het form EDIT-levering. + */ + IF :old.lev_levering_key IS NULL + AND :new.lev_levering_key IS NOT NULL + THEN + DECLARE + prijs INS_SRTDEEL.INV_SRTDEEL_PRIJS%TYPE; + BEGIN + SELECT NVL(INS_SD.inv_srtdeel_prijs, 0) + INTO prijs + FROM ins_srtdeel INS_SD + WHERE INS_SD.ins_srtdeel_key = :new.ins_srtdeel_key; + UPDATE alg_kostenpost + SET alg_kostenpost_besteed = NVL(alg_kostenpost_besteed, 0) + + NVL(:new.ins_deel_aantal, 0) * prijs + WHERE alg_kostenpost_key = (SELECT lev_alg_kostenpost_key + FROM lev_bestelling + WHERE lev_bestelling_key = :new.lev_bestelling_key); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + END IF; + LOG('Einde voor gedeelte van LEV voor kostenpost'); +#endif + LOG('Eind INS_T_INS_DEEL_B_IU'); +END; +/ + +#endif // INS + + +INSERT INTO fac_entity_name VALUES('HUI_BESTEMD_VOOR', 'Bestemd voor', NULL, NULL); + +DELETE FROM fac_message +WHERE fac_message_code = 'HUI_M020'; +INSERT INTO fac_message VALUES('HUI_M020', 'Alleen actuele overnachtingen'); + +DELETE FROM fac_message +WHERE fac_message_code = 'HUI_M002'; +INSERT INTO fac_message VALUES('HUI_M002', 'Alleen beschikbare slaapplaatsen'); + +DELETE FROM fac_message +WHERE fac_message_code = 'INV_M045'; +INSERT INTO fac_message VALUES('INV_M045', 'Het te verwijderen aantal moet kleiner of gelijk zijn aan het aanwezige aantal.'); + +INSERT INTO fac_message VALUES('HUI_M036', 'Bruikleenbewijs overnachting'); + +#ifdef HUI +CREATE_VIEW(hui_v_ruimteboeking_gegevens, NORMAAL_PRIVILEGE) + (hui_ruimteboeking_key, + alg_locatie_key, + alg_gebouw_key, + alg_verdieping_key, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_upper_nr, + alg_ruimte_omschrijving, + prs_huismeester_key, + prs_perslid_key, + prs_perslid_nr, + prs_perslid_naam, + hui_ruimteboeking_begindatum, + hui_ruimteboeking_einddatum) AS + SELECT HUI_R.hui_ruimteboeking_key, + ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_upper_nr, + ALG_R.alg_ruimte_omschrijving, + ALG_R.prs_huismeester_key, + PRS_P.prs_perslid_key, + PRS_P.prs_perslid_nr, + PRS_P.prs_perslid_naam||' '||PRS_P.prs_perslid_voorletters, + HUI_R.hui_ruimteboeking_begindatum, + HUI_R.hui_ruimteboeking_einddatum + FROM alg_gebouw ALG_G, alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R, + prs_perslid PRS_P, hui_ruimteboeking HUI_R + WHERE 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 = HUI_R.hui_alg_ruimte_key + AND PRS_P.prs_perslid_key = HUI_R.hui_prs_perslid_key; +#endif + +#ifdef PRS + +CREATE TRIGGER prs_t_prs_werkplek_B_IU +BEFORE INSERT OR UPDATE ON prs_werkplek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_werkplek_key, prs_s_prs_werkplek_key); + /* Een werkplek mag niet verwijderd worden als er nog personen + * aan gekoppeld zijn. + */ + IF :new.prs_werkplek_module = 'PRR' + THEN + CHECK_NOG_REFERENCES(prs_werkplek, prs_werkplek_verwijder, + prs_v_aanwezigperslidwerkplek, prs_werkplek_key, 'prs_m016'); + ELSIF :new.prs_werkplek_module = 'HUI' + AND :new.prs_werkplek_verwijder IS NOT NULL + THEN + /* Een slaapplaats mag niet verwijderd worden als er nog + * lopende overnachtingen zijn, dus met hui_status 'geReserveerd' of + * 'Bezet' + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM hui_v_aanwezigperslidwerkplek PRS_PW + WHERE PRS_PW.hui_status <> 'V' + AND PRS_PW.hui_einddatum >= :new.prs_werkplek_verwijder + AND PRS_PW.prs_werkplek_key = :new.prs_werkplek_key; + APPLICATION_ERROR(-20000, 'prs_m054'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m054'); + END; + END IF; +#if 0 +/* Dit mag niet worden uitgevoegd, omdat anders via CASCADE verwijderen + * de error 'ORA-4091 ALG_RUIMTE is mutating' komt. Het veld + * PRS_DWGUPTODATE kan dus niet bijgewerkt worden. + * Dit wordt nu geregeld in de forms PRS014 (verwijderen werkplek) en PRS114 + * (toevoegen of wijzigen). + */ + + /* Bij toevoegen verwijderen of verplaatsen van een + * werkplek moeten van de bijbehorende tekeningen de PRS_UPTODATE-velden + * aangepast worden. + */ + IF :old.prs_alg_ruimte_key <> :new.prs_alg_ruimte_key + OR :old.prs_alg_ruimte_key IS NULL + OR :new.prs_werkplek_verwijder IS NOT NULL + THEN + IF :old.prs_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT alg_verdieping_key + FROM alg_ruimte + WHERE alg_ruimte_key = :old.prs_alg_ruimte_key), + prs_dwguptodate); + END IF; + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT alg_verdieping_key + FROM alg_ruimte + WHERE alg_ruimte_key = :new.prs_alg_ruimte_key), + prs_dwguptodate); + END IF; +#endif +#ifdef INV + IF :new.prs_werkplek_verwijder IS NOT NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM inv_v_aanwezigdeel + WHERE ins_alg_ruimte_key = :new.prs_werkplek_key + AND ins_alg_ruimte_type = 'W'; + APPLICATION_ERROR(-20000, 'prs_m055'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m055'); + END; + END IF; +#endif +END; +/ +#endif + +#ifdef LEV +CREATE OR REPLACE VIEW lev_v_lev_bestelregel_bedrag + (lev_bestelling_key, + lev_bestelling_nr, + lev_bestelregel_key, + lev_bestelregel_nr, + lev_ins_srtdeel_key, + lev_bestelregel_aantal, + lev_bestelregel_prijs) AS + SELECT LEV_B.lev_bestelling_key, + LEV_B.lev_bestelling_nr, + LEV_BR.lev_bestelregel_key, + LEV_BR.lev_bestelregel_nr, + LEV_BR.lev_ins_srtdeel_key, + LEV_BR.lev_bestelregel_aantal, + LEV_BR.lev_bestelregel_aantal * NVL(INS_SD.inv_srtdeel_prijs, 0) + FROM lev_bestelling LEV_B, lev_bestelregel LEV_BR, + inv_v_aanwezigsrtdeel INS_SD + WHERE INS_SD.ins_srtdeel_key = LEV_BR.lev_ins_srtdeel_key + AND LEV_BR.lev_bestelling_key = LEV_B.lev_bestelling_key; +#endif + + +INSERT INTO fac_message VALUES('LEV_M051', 'Dit artikel kan niet toegewezen worden, verwijderen of in magazijn plaatsen?'); + +INSERT INTO fac_entity_name VALUES('LEV_MAGAZIJN', 'Magazijn', 'Magazijnen', 'het'); + +/* 17-07-96 RW aanpassing alg_gebouw_omschrijving = _code || ' - ' || _naam */ +ALTER TABLE alg_gebouw + ADD alg_gebouw_code VARCHAR2(10) NOT NULL; + +ALTER TABLE alg_gebouw + ADD alg_gebouw_naam VARCHAR2(30) NOT NULL; + +DROP TRIGGER alg_t_alg_gebouw_B_IU; + +CREATE TRIGGER alg_t_alg_gebouw_B_IU +BEFORE INSERT OR UPDATE ON alg_gebouw +FOR EACH ROW +BEGIN + IF :new.alg_gebouw_key IS NULL THEN SELECT alg_s_alg_onroerendgoed_keys.nextval INTO :new.alg_gebouw_key FROM DUAL; END IF; + SELECT UPPER(:new.alg_gebouw_code) INTO :new.alg_gebouw_upper FROM DUAL; + :new.alg_gebouw_omschrijving := SUBSTRB(:new.alg_gebouw_code ||' - '|| :new.alg_gebouw_naam,1,30); + BEGIN IF :new.alg_gebouw_verwijder IS NOT NULL THEN UPDATE alg_verdieping SET alg_verdieping_verwijder = SYSDATE WHERE alg_verdieping.alg_gebouw_key = :new.alg_gebouw_key; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN raise_application_error(-20000, 'alg_m54'); WHEN TOO_MANY_ROWS THEN raise_application_error(-20000, 'alg_m54'); END; +END; +/ + +DEFINIEER_VIEW_AANWEZIG(alg_gebouw, alg_gebouw_verwijder, + alg_v_aanweziggebouw,NORMAAL_PRIVILEGE) AND + alg_locatie_key IN (SELECT alg_locatie_key + FROM alg_v_aanweziglocatie); + +DROP VIEW alg_v_gebouw_gegevens; + +CREATE_VIEW(alg_v_gebouw_gegevens,NORMAAL_PRIVILEGE) AS + SELECT ALG_L.alg_locatie_key, ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code, ALG_L.alg_locatie_upper, + ALG_L.alg_locatie_tekening, + ALG_G.alg_gebouw_key, ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_naam, + ALG_G.alg_gebouw_acadkey, + ALG_G.alg_gebouw_upper, ALG_S.alg_srtgebouw_key, + ALG_S.alg_srtgebouw_omschrijving + FROM alg_locatie ALG_L, alg_v_aanweziggebouw ALG_G, + alg_v_aanwezigsrtgebouw ALG_S + WHERE ALG_L.alg_locatie_key = ALG_G.alg_locatie_key AND + ALG_G.alg_srtgebouw_key = ALG_S.alg_srtgebouw_key (+); + +ALTER TABLE alg_terreinsector + ADD alg_terreinsector_code VARCHAR2(10) NOT NULL; + +ALTER TABLE alg_terreinsector + ADD alg_terreinsector_naam VARCHAR2(30) NOT NULL; + +DROP TRIGGER alg_t_alg_terreinsector_B_IU; + +CREATE TRIGGER alg_t_alg_terreinsector_B_IU +BEFORE INSERT OR UPDATE ON alg_terreinsector +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_terreinsector_key, alg_s_alg_onroerendgoed_keys); + :new.alg_terreinsector_omschrijving := SUBSTRB(:new.alg_terreinsector_code ||' - '|| :new.alg_terreinsector_naam,1,30); + UPDATE_UPPER(alg_terreinsector_code,alg_terreinsector_upper); +#ifdef MRA + IF :new.alg_terreinsector_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_terreinsector_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_terreinsector_key; + END IF; +#endif // MRA +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_terreinsector_key, + alg_terreinsector_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +END; +/ + + +DEFINIEER_VIEW_AANWEZIG(alg_terreinsector, alg_terreinsector_verwijder, + alg_v_aanwezigterreinsector,NORMAAL_PRIVILEGE) AND + alg_locatie_key IN (SELECT alg_locatie_key + FROM alg_v_aanweziglocatie); + +DELETE FROM fac_message +WHERE fac_message_code = 'PRS_M045' + OR fac_message_code = 'PRS_M046' + OR fac_message_code = 'PRS_M047'; + + +INSERT INTO fac_message VALUES('PRS_M045', 'Niet verhuurbare ruimte'); +INSERT INTO fac_message VALUES('PRS_M046', 'Gemeenschappelijke ruimte'); +INSERT INTO fac_message VALUES('PRS_M047', 'Verhuurbare ruimte'); + +INSERT INTO fac_message VALUES('PRS_M058', 'Bevat slaapplaatsen'); + +INSERT INTO fac_message VALUES('ALG_M155', 'De omschrijving van de kostenpost is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M156', 'Het jaar van de kostenpost is niet ingevuld.'); + +DELETE FROM FAC_ENTITY_NAME +WHERE FAC_ENTITY_SYSTEM_NAME = 'INV_DEEL_BEZIT'; + +INSERT INTO FAC_ENTITY_NAME VALUES('INV_DEEL_BEZIT', 'Eigenaar', NULL, NULL); +INSERT INTO FAC_ENTITY_NAME VALUES('INV_DEEL_OVERDRAGEN', 'Overdragen', NULL, NULL); + +INSERT INTO FAC_MESSAGE VALUES('ALG_M157', 'Doorgaan?'); + +DELETE FROM fac_message +WHERE fac_message_code = 'INV_M048' + OR fac_message_code = 'INV_M047'; + +INSERT INTO FAC_MESSAGE VALUES('INV_M047', 'Eigenaar van inventaris'); +INSERT INTO FAC_MESSAGE VALUES('INV_M048', 'Het artikel is al van '); + +INSERT INTO fac_entity_name VALUES('HUI_SLAAPRUIMTE', 'Slaapruimte', 'Slaapruimtes', 'de'); + +INSERT INTO fac_message VALUES('HUI_M037', 'Opnieuw aanmelden is niet toegestaan.'); +INSERT INTO fac_message VALUES('HUI_M038', 'Opnieuw reserveren is niet toegestaan.'); +INSERT INTO fac_message VALUES('HUI_M039', 'Uitprinten van het bruikleenbewijs is niet toegestaan.'); +INSERT INTO fac_message VALUES('HUI_M040', 'Opnieuw afmelden is niet toegestaan.'); diff --git a/_UP/118TO119.SRC b/_UP/118TO119.SRC new file mode 100644 index 00000000..fd4aa95a --- /dev/null +++ b/_UP/118TO119.SRC @@ -0,0 +1,1517 @@ +SPOOL 118to119 + +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.18 naar 01.19 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * 21-08-96 AH HUI_V_OVERNACHTING_GEGEVENS aangepast. + * 20-08-96 AH PER_KWARTAAL en PER_JAAR toegevoegd en BCP_M063 aangepast. + * MLD_BESTELOPDR_FONDSNR toegevoegd + * 20-08-96 AH Unique op INS_DEEL aangepast, PRS_BEDRIJF_UURLOON toegevoegd. + * 16-08-96 AH INS_DEEL en MLD_BESTELOPDR aangepast + * 15-08-96 AH MLD_BESTELREGEL aangepast: Kolom BCP_MLD_OPDR_KEY toegevoegd. + * Tevens NOT NULL van MLD_OPDR_KEY gehaald. + * 15-08-96 AH INS_V_...GEGEVENS aangepast, PRS_V_PRS_DISCLOCBESTEK toegevoegd. + * 15-08-96 AH BCP_V_METERSTAND_GEGEVENS toegevoegd. + * 15-08-96 AH BCO_messages en -entities toegevoegd. + * 15-08-96 AH BCO_DEFECTSRTINST_KEY ipv. BCO_DEFECT_KEY in MLD_OPDR + * BCO_DEFECTSRTINST krijgt Verwijder-velden. + * 09-08-96 EH Unique constraint op ins_onderdeel verwijderd. + * 08-08-96 AH BCO_defaultuitv_keys toegevoegd aan MLD_OPDR + * 07-08-96 AH BCO_M106 - BCO_M108 toegevoegd + * 07-08-96 AH BCO_V_BCP_BCO_OPDR_GEGEVENS en BCO_V_BCO_WERKREGEL_GEGEVENS + * toegevoegd. + * 06-08-96 AH BCO-entities en messages toegevoegd. MLD_OPDR_AFMELDEN toegevoegd. + * 05-08-96 AH BCO_WERKREGEL_POSTNR: wordt nu 'Volgnr.' + * 01-08-96 AH PRS_BESTEK-velden, -triggers en -views toegevoegd. + * PRS_BESTEK_..._AANMAAK en -VERWIJDER weggehaald. + * 01-08-96 AH PRS_BESTEK-entities en -messages toegevoegd. + * 31-07-96 KTH bco_terreinsector_sector aan alg_terreinsector toevoegen + * 30-07-96 KTH Bestek-tabellen toegevoegd, 3 soorten bedrijven gemaakt + * met bijbehorende views + * 29-07-96 AH FAC_SELECTIE_TABEL-veld toegevoegd aan FAC_SELECTIE. + * Messages 'MSELECT' 'ALG_M159' en 'ALG_M160' toegevoegd. + * 26-07-96 RW Created, prs_bedrijf toegevoegd aan prs_srtperslid + */ + +#ifdef BCO +/* 31-07-96/KTH ook terreinsectoren moeten nu in een sector vallen */ +ALTER TABLE alg_terreinsector +ADD +( + bco_terreinsector_sector + NUMBER(2) + CHECK(bco_terreinsector_sector between 1 AND 16) +); +#endif // BCO + +/* + * 29-07-96/KTH + * De tabellen PRS_BESTEK% zijn opgenomen in PRS omdat het waarschijnlijk + * is dat de gegevens in de toekomst geshared moeten gaan worden met andere + * modules. Evt. hadden ze ook kunnen staan INS of BCO. + * + * Deze tabellen zijn vooralsnog alleen nodig wanneer INS bestaat. + */ + +ALTER TABLE prs_bedrijf +ADD +( + prs_bedrijf_leverancier /* bedrijf is leverancier (o.a. voor LEV) */ + NUMBER(1) + CHECK(prs_bedrijf_leverancier IS NULL OR prs_bedrijf_leverancier = 1 ), + prs_bedrijf_uitvoerende /* bedrijf is uitvoerende in opdrachten */ + NUMBER(1) + CHECK(prs_bedrijf_uitvoerende IS NULL OR prs_bedrijf_uitvoerende = 1 ), + prs_bedrijf_contract /* een contract kan worden afgesloten met bedrijf */ + NUMBER(1) + CHECK(prs_bedrijf_contract IS NULL OR prs_bedrijf_contract = 1 ), +); + +/* 24-07-96/KTH Alle bedrijven die UITVOERENDE zijn */ +DEFINIEER_VIEW_AANWEZIG(prs_bedrijf, + prs_bedrijf_verwijder, + prs_v_uitvoerendebedrijf, + NORMAAL_PRIVILEGE) AND prs_bedrijf_uitvoerende = 1; +/* 24-07-96/KTH Alle bedrijven die LEVERANCIER zijn */ +DEFINIEER_VIEW_AANWEZIG(prs_bedrijf, + prs_bedrijf_verwijder, + prs_v_leverancierbedrijf, + NORMAAL_PRIVILEGE) AND prs_bedrijf_leverancier = 1; +/* 24-07-96/KTH Alle bedrijven waamee een CONTRACT kan worden afgesloten */ +DEFINIEER_VIEW_AANWEZIG(prs_bedrijf, + prs_bedrijf_verwijder, + prs_v_contractbedrijf, + NORMAAL_PRIVILEGE) AND prs_bedrijf_contract = 1; + +#ifdef INS +/* 29-07-96/KTH Vooralsnog zijn bestekken alleen #ifdef INS */ + +/* prs_bestek_key put uit prs_s_prs_alluitvoerende_keys omdat een + * bestek ook een uitvoerende kan zijn */ +CREATE SEQUENCE prs_s_prs_disciplinebestek_key MINVALUE 1; +CREATE SEQUENCE prs_s_prs_locatiebestek_key MINVALUE 1; + +CREATE_TABLE(prs_bestek,BIBLIOTHEEK_PRIVILEGE) +( + prs_bestek_key + NUMBER(10) + PRIMARY KEY, + prs_bestek_nr + VARCHAR2(20) + NOT NULL, + /* pre_bestek_omschrijving is geen verplicht veld */ + prs_bestek_omschrijving + VARCHAR2(30) + NOT NULL, + /* het bedrijf waarmee het bestek is overeengekomen */ + prs_bedrijf_key + NUMBER(10) + NOT NULL + REFERENCES prs_bedrijf, + /* de materiaalkosten over het hele bestek, ongeacht discipline */ + prs_bestek_materiaalpost + NUMBER(9,2) + NOT NULL + CHECK(prs_bestek_materiaalpost >= 0), + /* de ingangsdatum van het bestek */ + prs_bestek_begindatum + DATE + DEFAULT SYSDATE + NOT NULL, + /* de einddatum van het bestek */ + prs_bestek_einddatum + DATE + NOT NULL, + prs_bestek_aanmaak + DATE + DEFAULT SYSDATE + NOT NULL, + prs_bestek_verwijder + DATE + DEFAULT NULLDATUM, + /* gebruik in CHECK '<=' omdat een bestek voor 1 dag kan gelden */ + CHECK(prs_bestek_begindatum <= prs_bestek_einddatum), + UNIQUE(prs_bestek_nr, prs_bestek_verwijder) +); + +CREATE_TABLE(prs_disciplinebestek,BIBLIOTHEEK_PRIVILEGE) +( + prs_disciplinebestek_key + NUMBER(10) + PRIMARY KEY, + prs_bestek_key + NUMBER(10) + NOT NULL + REFERENCES prs_bestek, + ins_discipline_key + NUMBER(10) + NOT NULL + REFERENCES ins_discipline, + prs_disciplinebestek_uurprijs + NUMBER(5,2) + NOT NULL + CHECK (prs_disciplinebestek_uurprijs >= 0), + prs_disciplinebestek_uren + NUMBER(7,2) + NOT NULL + CHECK (prs_disciplinebestek_uren >= 0), + prs_disciplinebestek_aanmaak + DATE + DEFAULT SYSDATE + NOT NULL, + prs_disciplinebestek_verwijder + DATE + DEFAULT NULLDATUM, + /* de combinatie bestek-discipline mag maar 1 keer bestaan */ + UNIQUE(prs_bestek_key, ins_discipline_key, prs_disciplinebestek_verwijder) +); + +CREATE_TABLE(prs_locatiebestek,BIBLIOTHEEK_PRIVILEGE) +( + prs_locatiebestek_key + NUMBER(10) + PRIMARY KEY, + prs_bestek_key + NUMBER(10) + NOT NULL + REFERENCES prs_bestek, + alg_locatie_key + NUMBER(10) + NOT NULL + REFERENCES alg_locatie, + prs_locatiebestek_aanmaak + DATE + DEFAULT SYSDATE + NOT NULL, + prs_locatiebestek_verwijder + DATE + DEFAULT NULLDATUM, + /* de combinatie bestek-locatie mag maar 1 keer bestaan */ + UNIQUE(prs_bestek_key, alg_locatie_key, prs_locatiebestek_verwijder) +); + +/* 29-07-96/KTH Vooralsnog zijn de bestektriggers alleen #ifdef INS */ +CREATE TRIGGER prs_t_prs_bestek_B_IU +BEFORE INSERT OR UPDATE ON prs_bestek +FOR EACH ROW +BEGIN + /* een bestek is ook een uitvoerende: prs_s_prs_alluitvoerende_keys */ + UPDATE_PRIMARY_KEY(prs_bestek_key,prs_s_prs_alluitvoerende_keys); + /* een prs_bestek mag niet worden verwijderd als er reeds opdrachten + * zijn waarbij als uitvoerende dit bestek is opgegeven */ + /* ... */ +END; +/ + +CREATE TRIGGER prs_t_prs_disciplinebestek_B_IU +BEFORE INSERT OR UPDATE ON prs_disciplinebestek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_disciplinebestek_key,prs_s_prs_disciplinebestek_key); + /* een prs_disciplinebestek mag niet worden verwijderd als er reeds + * opdrachten zijn waarbij als uitvoerende dit bestek is opgegeven en de + * daarbij horende discipline in prs_disciplinebestek voorkomt + */ + /* ... */ +END; +/ + +CREATE TRIGGER prs_t_prs_locatiebestek_B_IU +BEFORE INSERT OR UPDATE ON prs_locatiebestek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_locatiebestek_key,prs_s_prs_locatiebestek_key); + /* een prs_objectbestek mag niet worden verwijderd als er reeds + * opdrachten voor deze locatie zijn en waarbij als uitvoerende dit bestek + * is opgegeven + */ + /* ... */ +END; +/ + +/* 29-07-96/KTH Bestek-views gedefinieerd (voorlopig #ifdef INS) */ +DEFINIEER_VIEW_AANWEZIG(prs_bestek, + prs_bestek_verwijder, + prs_v_aanwezigbestek, + BIBLIOTHEEK_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(prs_disciplinebestek, + prs_disciplinebestek_verwijder, + prs_v_aanwezigdisciplinebestek, + BIBLIOTHEEK_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(prs_locatiebestek, + prs_locatiebestek_verwijder, + prs_v_aanweziglocatiebestek, + BIBLIOTHEEK_PRIVILEGE); + +ALTER TABLE ins_onderdeel +DROP UNIQUE (ins_srtonderdeel_key, + ins_deel_key, + ins_onderdeel_upper, + ins_onderdeel_verwijder); + +#endif // INS + + + +ALTER TABLE prs_srtperslid +ADD +( + prs_bedrijf_key + NUMBER(10) + REFERENCES prs_bedrijf, + prs_srtperslid_uurloon + NUMBER(6,2) +); + +ALTER TABLE fac_selectie +ADD +( + fac_selectie_tabel + VARCHAR2(30) +); + + +INSERT INTO fac_message VALUES('ALG_M159', 'De geselecteerde ruimtes verwijderen'); +INSERT INTO fac_message VALUES('ALG_M160', 'Er zijn geen ruimtes geselecteerd.'); + +INSERT INTO fac_message VALUES('MSELECT', 'Wijzigen meerdere'); + +INSERT INTO fac_entity_name VALUES('PRS_BEDRIJF_UITVOERENDE', 'Uitvoerende', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_BEDRIJF_LEVERANCIER', 'Leverancier', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_BEDRIJF_CONTRACT', 'Contract', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_BESTEK', 'Bestek', 'Bestekken', 'het'); +INSERT INTO fac_entity_name VALUES('PRS_BESTEK_NR', 'Besteknummer', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_BESTEK_OMSCHRIJVING', 'Omschrijving', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_BESTEK_MATERIAALPOST', 'Materiaalpost', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_BESTEK_BEGINDATUM', 'Begindatum', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_BESTEK_EINDDATUM', 'Einddatum', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_BESTEK_FILENAME', 'Documentnaam', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_BESTEK_MATERIAALBESTEED', 'Besteed', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_BESTEK_MATERIAALGERAAMD', 'Geraamd', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_BESTEK_MATERIAALRESTANT', 'Restant', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_DISCIPLINEBESTEK_UREN', 'Uren', NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRS_DISCIPLINEBESTEK_UURPRIJS', 'Uurprijs', NULL, NULL); + +INSERT INTO fac_message VALUES('PRS_M061', 'Verwijderen bestek '); +INSERT INTO fac_message VALUES('PRS_M062', 'Inclusief verlopen bestekken'); +INSERT INTO fac_message VALUES('PRS_M063', 'Het besteknummer is niet ingevuld.'); +INSERT INTO fac_message VALUES('PRS_M064', 'De omschrijving van het bestek is niet ingevuld.'); +INSERT INTO fac_message VALUES('PRS_M065', 'De materiaalpost van het bestek is niet ingevuld.'); +INSERT INTO fac_message VALUES('PRS_M066', 'De begindatum van het bestek is niet ingevuld.'); +INSERT INTO fac_message VALUES('PRS_M067', 'De einddatum van het bestek is niet ingevuld.'); +INSERT INTO fac_message VALUES('PRS_M068', 'Het bestek mag niet verwijderd worden.'); +INSERT INTO fac_message VALUES('PRS_M069', 'De koppeling tussen discipline en bestek mag niet verwijderd worden.'); +INSERT INTO fac_message VALUES('PRS_M070', 'Discipline bij bestek'); +INSERT INTO fac_message VALUES('PRS_M071', 'Verwijderen koppeling discipline en bestek'); +INSERT INTO fac_message VALUES('PRS_M072', 'Verwijderen koppeling tussen '); +INSERT INTO fac_message VALUES('PRS_M073', 'De uurprijs is niet ingevuld.'); +INSERT INTO fac_message VALUES('PRS_M074', 'Het aantal uren is niet ingevuld.'); +INSERT INTO fac_message VALUES('PRS_M075', 'Locatie bij bestek'); +INSERT INTO fac_message VALUES('PRS_M076', 'Verwijderen koppeling locatie en bestek'); +INSERT INTO fac_message VALUES('PRS_M077', 'Verwijderen koppeling tussen '); + +#if defined(INS)&&defined(PRS) +DROP TABLE prs_locatiebestek; +DROP TABLE prs_disciplinebestek; +DROP TABLE prs_bestek; + +CREATE_TABLE(prs_bestek,BIBLIOTHEEK_PRIVILEGE) +( + prs_bestek_key + NUMBER(10) + PRIMARY KEY, + prs_bestek_nr + VARCHAR2(20) + NOT NULL, + prs_bestek_upper_nr + VARCHAR2(20) + NOT NULL, + prs_bestek_omschrijving /* pre_bestek_omschrijving is niet verplicht */ + VARCHAR2(30) + NOT NULL, + prs_bedrijf_key /* het bedrijf waarmee het bestek is overeengekomen */ + NUMBER(10) + NOT NULL + REFERENCES prs_bedrijf, + prs_bestek_materiaalpost /* de materiaalkosten over het hele bestek, */ + NUMBER(9,2) /* ongeacht discipline */ + NOT NULL + CHECK(prs_bestek_materiaalpost >= 0), + prs_bestek_materiaalbesteed /* de bestede materiaalkosten over het hele bestek, */ + NUMBER(9,2), /* ongeacht discipline */ + prs_bestek_begindatum /* de ingangsdatum van het bestek */ + DATE + DEFAULT SYSDATE + NOT NULL, + prs_bestek_einddatum /* de einddatum van het bestek */ + DATE + NOT NULL, + prs_bestek_filename + VARCHAR2(12), + CHECK(prs_bestek_begindatum <= prs_bestek_einddatum), /* kan 1 dag zijn */ + UNIQUE(prs_bestek_upper_nr) +); + +CREATE_TABLE(prs_disciplinebestek,BIBLIOTHEEK_PRIVILEGE) +( + prs_disciplinebestek_key + NUMBER(10) + PRIMARY KEY, + prs_bestek_key + NUMBER(10) + NOT NULL + REFERENCES prs_bestek(prs_bestek_key) ON DELETE CASCADE, + ins_discipline_key + NUMBER(10) + NOT NULL + REFERENCES ins_discipline, + prs_disciplinebestek_uurprijs + NUMBER(6,2) + NOT NULL + CHECK (prs_disciplinebestek_uurprijs >= 0), + prs_disciplinebestek_uren + NUMBER(7,2) + NOT NULL + CHECK (prs_disciplinebestek_uren >= 0), + prs_discbestek_urenbesteed + NUMBER(7,2), + UNIQUE(prs_bestek_key, ins_discipline_key) +); + +CREATE_TABLE(prs_locatiebestek,BIBLIOTHEEK_PRIVILEGE) +( + prs_locatiebestek_key + NUMBER(10) + PRIMARY KEY, + prs_bestek_key + NUMBER(10) + NOT NULL + REFERENCES prs_bestek(prs_bestek_key) ON DELETE CASCADE, + alg_locatie_key + NUMBER(10) + NOT NULL + REFERENCES alg_locatie, + UNIQUE(prs_bestek_key, alg_locatie_key) +); + + +CREATE_VIEW(prs_v_openstaand_bestek, NORMAAL_PRIVILEGE) +AS + SELECT * FROM prs_bestek + WHERE prs_bestek_begindatum < SYSDATE + AND prs_bestek_einddatum > SYSDATE; + +#ifdef MLD +CREATE_VIEW(prs_v_mld_bestek_geraamd, NORMAAL_PRIVILEGE) + (prs_bestek_key, + prs_bestek_geraamd + ) AS + SELECT PRS_B.prs_bestek_key, + SUM(NVL(MLD_O.mld_opdr_materiaal, 0)) + FROM prs_bestek PRS_B, mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + OR MLD_S.mld_statusopdr_omschrijving = 'Afgemeld') + AND PRS_B.prs_bestek_key = MLD_O.mld_uitvoerende_keys + GROUP BY PRS_B.prs_bestek_key; +#endif // MLD + +#ifdef BCP +CREATE_VIEW(prs_v_bcp_bestek_geraamd, NORMAAL_PRIVILEGE) + (prs_bestek_key, + prs_bestek_geraamd + ) AS + SELECT PRS_B.prs_bestek_key, + SUM(NVL(BCP_P.bcp_prevopdr_materiaal, 0)) + FROM prs_bestek PRS_B, bcp_v_aanwezigprevopdr BCP_P, + mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + OR MLD_S.mld_statusopdr_omschrijving = 'Afgemeld') + AND PRS_B.prs_bestek_key = BCP_P.bcp_mld_uitvoerende_keys + GROUP BY PRS_B.prs_bestek_key; +#endif // BCP + +CREATE_VIEW(prs_v_prs_bestek_gegevens, NORMAAL_PRIVILEGE) + (prs_bestek_key, + prs_bestek_nr, + prs_bestek_upper_nr, + prs_bestek_omschrijving, + prs_bestek_materiaalpost, + prs_bestek_materiaalbesteed, + prs_bestek_materiaalgeraamd, + prs_bestek_begindatum, + prs_bestek_einddatum) AS + SELECT PRS_B.prs_bestek_key, + PRS_B.prs_bestek_nr, + PRS_B.prs_bestek_upper_nr, + PRS_B.prs_bestek_omschrijving, + PRS_B.prs_bestek_materiaalpost, + PRS_B.prs_bestek_materiaalbesteed, + SUM( +#ifdef MLD + NVL(MLD_B.prs_bestek_geraamd, 0) +#else + 0 +#endif + + +#ifdef BCP + NVL(BCP_B.prs_bestek_geraamd, 0) +#else + 0 +#endif + ), + PRS_B.prs_bestek_begindatum, + PRS_B.prs_bestek_einddatum + FROM prs_bestek PRS_B +#ifdef MLD + , prs_v_mld_bestek_geraamd MLD_B +#endif +#ifdef BCP + , prs_v_bcp_bestek_geraamd BCP_B +#endif + WHERE PRS_B.prs_bestek_key IS NOT NULL +#ifdef MLD + AND MLD_B.prs_bestek_key (+) = PRS_B.prs_bestek_key +#endif +#ifdef BCP + AND BCP_B.prs_bestek_key (+) = PRS_B.prs_bestek_key +#endif + GROUP BY PRS_B.prs_bestek_key, + PRS_B.prs_bestek_nr, + PRS_B.prs_bestek_upper_nr, + PRS_B.prs_bestek_omschrijving, + PRS_B.prs_bestek_materiaalpost, + PRS_B.prs_bestek_materiaalbesteed, + PRS_B.prs_bestek_begindatum, + PRS_B.prs_bestek_einddatum; + +#ifdef MLD +CREATE_VIEW(prs_v_mld_discbestek_geraamd, NORMAAL_PRIVILEGE) + (prs_disciplinebestek_key, + ins_discipline_key, + prs_bestek_key, + prs_discbestek_geraamd + ) AS + SELECT PRS_DB.prs_disciplinebestek_key, + PRS_DB.ins_discipline_key, + PRS_DB.prs_bestek_key, + SUM(NVL(MLD_O.mld_opdr_uren, 0)) + FROM prs_disciplinebestek PRS_DB, mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + OR MLD_S.mld_statusopdr_omschrijving = 'Afgemeld') + AND PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys + GROUP BY PRS_DB.prs_disciplinebestek_key, + PRS_DB.ins_discipline_key, + PRS_DB.prs_bestek_key; +#endif // MLD + +#ifdef BCP +CREATE_VIEW(prs_v_bcp_discbestek_geraamd, NORMAAL_PRIVILEGE) + (prs_disciplinebestek_key, + ins_discipline_key, + prs_bestek_key, + prs_discbestek_geraamd + ) AS + SELECT PRS_DB.prs_disciplinebestek_key, + PRS_DB.ins_discipline_key, + PRS_DB.prs_bestek_key, + SUM(NVL(BCP_P.bcp_prevopdr_uren, 0)) + FROM prs_disciplinebestek PRS_DB, bcp_v_aanwezigprevopdr BCP_P, + mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + OR MLD_S.mld_statusopdr_omschrijving = 'Afgemeld') + AND PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + GROUP BY PRS_DB.prs_disciplinebestek_key, + PRS_DB.ins_discipline_key, + PRS_DB.prs_bestek_key; +#endif // BCP + +CREATE_VIEW(prs_v_prs_discbestek_gegevens, NORMAAL_PRIVILEGE) + (prs_disciplinebestek_key, + ins_discipline_key, + ins_discipline_omschrijving, + prs_bestek_key, + prs_bestek_nr, + prs_bestek_upper_nr, + prs_bestek_omschrijving, + prs_bestek_begindatum, + prs_bestek_einddatum, + prs_disciplinebestek_uurprpijs, + prs_disciplinebestek_uren, + prs_discbestek_urenbesteed, + prs_discbestek_urengeraamd) AS + SELECT PRS_DB.prs_disciplinebestek_key, + PRS_DB.ins_discipline_key, + INS_D.ins_discipline_omschrijving, + PRS_B.prs_bestek_key, + PRS_B.prs_bestek_nr, + PRS_B.prs_bestek_upper_nr, + PRS_B.prs_bestek_omschrijving, + PRS_B.prs_bestek_begindatum, + PRS_B.prs_bestek_einddatum, + PRS_DB.prs_disciplinebestek_uurprijs, + PRS_DB.prs_disciplinebestek_uren, + PRS_DB.prs_discbestek_urenbesteed, + SUM( +#ifdef MLD + NVL(MLD_DB.prs_discbestek_geraamd, 0) +#else + 0 +#endif + + +#ifdef BCP + NVL(BCP_DB.prs_discbestek_geraamd, 0) +#else + 0 +#endif + ) + FROM prs_disciplinebestek PRS_DB, ins_discipline INS_D, prs_bestek PRS_B +#ifdef MLD + , prs_v_mld_discbestek_geraamd MLD_DB +#endif +#ifdef BCP + , prs_v_bcp_discbestek_geraamd BCP_DB +#endif + WHERE PRS_DB.ins_discipline_key = INS_D.ins_discipline_key + AND PRS_DB.prs_bestek_key = PRS_B.prs_bestek_key +#ifdef MLD + AND MLD_DB.prs_disciplinebestek_key (+) = PRS_DB.prs_disciplinebestek_key +#endif +#ifdef BCP + AND BCP_DB.prs_disciplinebestek_key (+) = PRS_DB.prs_disciplinebestek_key +#endif + GROUP BY PRS_DB.prs_disciplinebestek_key, + PRS_DB.ins_discipline_key, + INS_D.ins_discipline_omschrijving, + PRS_B.prs_bestek_key, + PRS_B.prs_bestek_nr, + PRS_B.prs_bestek_upper_nr, + PRS_B.prs_bestek_omschrijving, + PRS_B.prs_bestek_begindatum, + PRS_B.prs_bestek_einddatum, + PRS_DB.prs_disciplinebestek_uurprijs, + PRS_DB.prs_disciplinebestek_uren, + PRS_DB.prs_discbestek_urenbesteed; + + +CREATE_VIEW(prs_v_uurloon_uitvoerende, NORMAAL_PRIVILEGE) + (prs_uitvoerende_key,uurloon) AS + +SELECT P.prs_perslid_key, P.prs_perslid_uurloon +FROM prs_v_aanwezigperslid P +WHERE P.prs_perslid_uurloon IS NOT NULL +UNION +SELECT P.prs_perslid_key, S.prs_srtperslid_uurloon +FROM prs_v_aanwezigperslid P, prs_v_aanwezigsrtperslid S +WHERE P.prs_perslid_uurloon IS NULL + AND P.prs_srtperslid_key = S.prs_srtperslid_key + AND S.prs_srtperslid_uurloon IS NOT NULL + AND S.prs_bedrijf_key IS NULL +UNION +SELECT B.prs_bedrijf_key, B.prs_bedrijf_uurloon +FROM prs_v_aanwezigbedrijf B +WHERE B.prs_bedrijf_uurloon IS NOT NULL +UNION +SELECT E.prs_disciplinebestek_key, E.prs_disciplinebestek_uurprijs +FROM prs_disciplinebestek E +WHERE E.prs_disciplinebestek_uurprijs IS NOT NULL +UNION +SELECT E.prs_disciplinebestek_key, B.prs_bedrijf_uurloon +FROM prs_disciplinebestek E, prs_bestek A, prs_v_aanwezigbedrijf B +WHERE E.prs_disciplinebestek_uurprijs IS NULL + AND E.prs_bestek_key = A.prs_bestek_key + AND A.prs_bedrijf_key = B.prs_bedrijf_key + AND B.prs_bedrijf_uurloon IS NOT NULL; + +CREATE_VIEW(prs_v_prs_locbestek_gegevens, NORMAAL_PRIVILEGE) + (prs_locatiebestek_key, + prs_bestek_key, + prs_bestek_nr, + prs_bestek_upper_nr, + prs_bestek_omschrijving, + prs_bestek_begindatum, + prs_bestek_einddatum, + alg_locatie_key, + alg_locatie_omschrijving, + alg_locatie_upper) AS + SELECT PRS_LB.prs_locatiebestek_key, + PRS_LB.prs_bestek_key, + PRS_B.prs_bestek_nr, + PRS_B.prs_bestek_upper_nr, + PRS_B.prs_bestek_omschrijving, + PRS_B.prs_bestek_begindatum, + PRS_B.prs_bestek_einddatum, + PRS_LB.alg_locatie_key, + ALG_L.alg_locatie_code||' '||ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_code||' '||ALG_L.alg_locatie_upper + FROM prs_locatiebestek PRS_LB, prs_bestek PRS_B, alg_locatie ALG_L + WHERE ALG_L.alg_locatie_key = PRS_LB.alg_locatie_key + AND PRS_B.prs_bestek_key = PRS_LB.prs_bestek_key; + +CREATE TRIGGER prs_t_prs_bestek_B_IU +BEFORE INSERT OR UPDATE ON prs_bestek +FOR EACH ROW +BEGIN + /* een bestek is ook een uitvoerende: prs_s_prs_alluitvoerende_keys */ + UPDATE_PRIMARY_KEY(prs_bestek_key,prs_s_prs_alluitvoerende_keys); + UPDATE_UPPER(prs_bestek_nr, prs_bestek_upper_nr); +END; +/ + +#if 0 //defined(MLD)||defined(BCP) +/* 31-07-96 AH: Als een bestek verwijderd wordt, dan kan disicplinebestek + * dit nog tegenhouden. Deze wordt nl. als uitveorende en defaultuitvoerende + * opgegeven, niet het bestek. + */ +/* een prs_bestek mag niet worden verwijderd als er reeds opdrachten + * zijn waarbij als uitvoerende dit bestek is opgegeven + */ +CREATE TRIGGER prs_t_prs_bestek_B_D +BEFORE DELETE ON prs_bestek +FOR EACH ROW +BEGIN +#ifdef MLD + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, prs_disciplinebestek PRS_DB + WHERE MLD_O.mld_uitvoerende_keys = PRS_DB.prs_disciplinebestek_key + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20002, 'prs_m068'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m068'); + END; +#endif +#ifdef BCP + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, prs_disciplinebestek PRS_DB + WHERE BCP_P.bcp_mld_uitvoerende_keys = PRS_DB.prs_disciplinebestek_key + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20002, 'prs_m068'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m068'); + END; +#endif +END; +/ +#endif // 0 (defined(MLD)||defined(BCP)) + +CREATE TRIGGER prs_t_prs_discbestek_B_IU +BEFORE INSERT OR UPDATE ON prs_disciplinebestek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_disciplinebestek_key,prs_s_prs_disciplinebestek_key); +END; +/ + +#ifdef BCO +CREATE TRIGGER prs_t_prs_discbestek_B_D +BEFORE DELETE ON prs_disciplinebestek +FOR EACH ROW +BEGIN + /* Als het bestek al als default uitvoerende is aangegeven bij een + * INS_SRTDEEL, dan mag de koppeling tussen de discipline van het + * INS_SRTDEEL en het bestek niet verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigsrtdeel INS_D + WHERE INS_D.bco_defaultuitv_keys = :old.prs_disciplinebestek_key; + APPLICATION_ERROR(-20002, 'prs_m069'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m069'); + END; +END; +/ +#endif + +CREATE TRIGGER prs_t_prs_locatiebestek_B_IU +BEFORE INSERT OR UPDATE ON prs_locatiebestek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_locatiebestek_key,prs_s_prs_locatiebestek_key); +END; +/ + +DROP TABLE bco_maatregel; +DROP TABLE bco_defect; +DROP TABLE bco_defectsrtinst; + +CREATE_TABLE(bco_maatregel,NORMAAL_PRIVILEGE) +( + bco_maatregel_key + NUMBER(10) + PRIMARY KEY, + bco_maatregel_omschrijving + VARCHAR2(320) + NOT NULL, + bco_maatregel_afk + VARCHAR2(40) + NOT NULL, + bco_maatregel_afk_upper + VARCHAR2(40) + NOT NULL, + UNIQUE(bco_maatregel_afk_upper) +); + +CREATE_TABLE(bco_defect,BIBLIOTHEEK_PRIVILEGE) +( + bco_defect_key + NUMBER(10) + PRIMARY KEY, + bco_defect_omschrijving + VARCHAR2(30) + NOT NULL, + bco_defect_upper + VARCHAR2(30) + NOT NULL, + bco_defect_aanmaak + DATE + DEFAULT SYSDATE + NOT NULL, + bco_defect_verwijder + DATE + DEFAULT NULLDATUM, + UNIQUE(bco_defect_upper) +); + +/* + Tabel koppelt maatregel bij defect bij soort installatie; + de tabelnaam is niet helemaal correct, de kolomnamen bco_maatregel_uren + en bco_maatregel_materiaal ook niet. Dit is echter historisch zo gegroeid. +*/ + +CREATE_TABLE(bco_defectsrtinst,BIBLIOTHEEK_PRIVILEGE) +( + bco_defectsrtinst_key + NUMBER(10) + PRIMARY KEY, + bco_defect_key + NUMBER(10) + NOT NULL + REFERENCES bco_defect, + bco_ins_srtinst_keys + NUMBER(10) + NOT NULL, + bco_maatregel_key + NUMBER(10) + NOT NULL + REFERENCES bco_maatregel, + bco_maatregel_uren + NUMBER(6,2) + CHECK(bco_maatregel_uren >=0), + bco_maatregel_materiaal + NUMBER(8,2) + CHECK(bco_maatregel_materiaal >=0), + UNIQUE(bco_defect_key, bco_ins_srtinst_keys, bco_maatregel_key) +); + +DROP VIEW bco_v_aanwezigdefect; + +DEFINIEER_VIEW_AANWEZIG(bco_defect, bco_defect_verwijder, + bco_v_aanwezigdefect,BIBLIOTHEEK_PRIVILEGE); + +DELETE FROM fac_entity_user +WHERE fac_entity_system_name = 'BCO_WERKREGEL_POSTNR'; + +DEF_FAC_ENTITY ('BCO_WERKREGEL_POSTNR', 'Volgnr.', 'Volgnummers', 'het'); + +#endif // INS && PRS + +DELETE FROM fac_entity_name +WHERE fac_entity_system_name = 'BCO_WERKREGEL'; +INSERT INTO fac_entity_name VALUES('BCO_WERKREGEL', 'Werkregel', 'Werkregels', 'de'); + +INSERT INTO fac_entity_name VALUES('BCO_WERKOPDR_OMSCHRIJVING', 'Werkopdrachtnr.', NULL, 'de'); +INSERT INTO fac_entity_name VALUES('BCO_WERKOPDR_WEEK', 'Week', 'Weken', 'de'); +INSERT INTO fac_entity_name VALUES('BCO_WERKOPDR_CORRECTIEF', 'Correctief', NULL, NULL); +INSERT INTO fac_entity_name VALUES('BCO_WERKOPDR_PREVENTIEF', 'Preventief', NULL, NULL); +INSERT INTO fac_entity_name VALUES('BCO_WERKOPDR_STORING', 'Storing', NULL, NULL); +INSERT INTO fac_entity_name VALUES('BCO_WERKOPDR_SAMENSTELLEN', 'Samenstellen', NULL, NULL); +INSERT INTO fac_entity_name VALUES('BCO_WERKREGEL_ORIGINEEL', 'Origineel', NULL, NULL); +INSERT INTO fac_entity_name VALUES('MLD_OPDR_AFMELDEN', 'Afmelden', NULL, NULL); + +INSERT INTO fac_message VALUES('BCO_M097', 'Inclusief verwerkte werkopdrachten'); +INSERT INTO fac_message VALUES('BCO_M098', 'Verwijderen werkopdracht '); +INSERT INTO fac_message VALUES('BCO_M099', 'De werkopdracht mag niet verwijderd worden.'); +INSERT INTO fac_message VALUES('BCO_M100', 'De werkopdracht mag niet verwijderd worden.'); +INSERT INTO fac_message VALUES('BCO_M101', 'De opdracht kan niet afgemeld worden.'); +INSERT INTO fac_message VALUES('BCO_M102', 'De opdracht kan niet verwerkt worden.'); +INSERT INTO fac_message VALUES('BCO_M103', 'Samenstellen van nieuwe werkopdrachten?'); +INSERT INTO fac_message VALUES('BCO_M104', ' werkopdracht(en) aangemaakt.'); + +INSERT INTO fac_message VALUES('BCP_M067', 'Opdrachtbon preventief onderhoud'); + +#ifdef BCO +CREATE_VIEW(bco_v_bcp_bco_opdr_gegevens, NORMAAL_PRIVILEGE) + (bcp_bco_opdr_module, + bcp_bco_opdr_key, + bcp_bco_opdr_uren, + bcp_bco_uitvoerende_keys, + bcp_bco_uitvoerende_sortering, + bcp_bco_uitvoerende_type, + bcp_bco_opdr_week) AS +SELECT BCO_O.bcp_bco_opdr_module, + BCO_O.bcp_bco_opdr_key, + BCO_O.bcp_bco_opdr_uren, + BCO_O.bcp_bco_uitvoerende_keys, + '1', + MLD_U.type, + BCO_O.bcp_bco_opdr_week +FROM bco_v_bcp_bco_opdr BCO_O, mld_statusopdr MLD_S, mld_v_uitvoerende MLD_U +WHERE MLD_S.mld_statusopdr_key = BCO_O.bcp_bco_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND BCO_O.bcp_bco_uitvoerende_keys = MLD_U.key + AND MLD_U.type = 'P' +UNION +SELECT BCO_O.bcp_bco_opdr_module, + BCO_O.bcp_bco_opdr_key, + BCO_O.bcp_bco_opdr_uren, + BCO_O.bcp_bco_uitvoerende_keys, + '2', + MLD_U.type, + BCO_O.bcp_bco_opdr_week +FROM bco_v_bcp_bco_opdr BCO_O, mld_statusopdr MLD_S, mld_v_uitvoerende MLD_U +WHERE MLD_S.mld_statusopdr_key = BCO_O.bcp_bco_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND BCO_O.bcp_bco_uitvoerende_keys = MLD_U.key + AND (MLD_U.type = 'B' OR MLD_U.type = 'E' OR MLD_U.type = 'S'); + +CREATE_VIEW(bco_v_bco_werkregel_gegevens, NORMAAL_PRIVILEGE) + (bco_werkregel_key, + bco_werkregel_postnr, + bco_werkopdr_key, + bco_werkopdr_omschrijving, + bco_org_werkopdr_key, + bcp_bco_opdr_key, + bco_werkregel_printen, + bcp_bco_opdr_module, + bcp_bco_statusopdr_key) AS +SELECT BCO_WR.bco_werkregel_key, + BCO_WR.bco_werkregel_postnr, + BCO_WR.bco_werkopdr_key, + BCO_W.bco_werkopdr_omschrijving, + BCO_WR.bco_org_werkopdr_key, + BCO_O.bcp_bco_opdr_key, + BCO_WR.bco_werkregel_printen, + BCO_O.bcp_bco_opdr_module, + BCO_O.bcp_bco_statusopdr_key +FROM bco_werkregel BCO_WR, bco_werkopdr BCO_W, bco_v_bcp_bco_opdr BCO_O +WHERE BCO_W.bco_werkopdr_key = BCO_WR.bco_werkopdr_key + AND BCO_O.bcp_bco_opdr_key = BCO_WR.bcp_mld_opdr_key; + +ALTER TABLE mld_opdr +ADD +( + bco_defaultuitv_keys + NUMBER(10) +); + + + +INSERT INTO fac_message VALUES('BCO_M106', 'Overzicht werkzaamheden Personen/Bedrijven'); +INSERT INTO fac_message VALUES('BCO_M107', 'Uitvoerende persoon'); +INSERT INTO fac_message VALUES('BCO_M108', 'Uitvoerende bedrijf'); + +ALTER TABLE bco_defectsrtinst +DROP UNIQUE(bco_defect_key, bco_ins_srtinst_keys, bco_maatregel_key); + +ALTER TABLE bco_defectsrtinst +ADD +( + bco_defectsrtinst_aanmaak + DATE + DEFAULT SYSDATE + NOT NULL, + bco_defectsrtinst_verwijder + DATE + DEFAULT NULL, + UNIQUE(bco_defect_key, bco_ins_srtinst_keys, bco_defectsrtinst_verwijder) +); + +INSERT INTO fac_privilege VALUES (UPPER('bco_v_aanwezigdefectsrtinst'), 3); +CREATE OR REPLACE VIEW bco_v_aanwezigdefectsrtinst AS SELECT * FROM bco_defectsrtinst WHERE bco_defectsrtinst.bco_defectsrtinst_verwijder IS NULL; + +CREATE OR REPLACE VIEW bco_v_defectsrtinst_gegevens AS + SELECT BCO_DI.bco_defectsrtinst_key, BCO_DI.bco_defect_key, + BCO_DI.bco_ins_srtinst_keys, BCO_D.bco_defect_omschrijving, + BCO_D.bco_defect_upper, INS_SI.ins_srtdeel_key, + INS_SI.ins_srtonderdeel_key, INS_SI.ins_srtelement_key + FROM bco_v_aanwezigdefectsrtinst BCO_DI, bco_v_aanwezigdefect BCO_D, + ins_v_srtinst INS_SI + WHERE BCO_DI.bco_defect_key = BCO_D.bco_defect_key + AND BCO_DI.bco_ins_srtinst_keys = INS_SI.ins_srtinst_keys; + +DROP TRIGGER bco_t_bco_maatregel_B_IU; +CREATE TRIGGER bco_t_bco_maatregel_B_IU +BEFORE INSERT OR UPDATE ON bco_maatregel +FOR EACH ROW +BEGIN +IF :new.bco_maatregel_key IS NULL THEN SELECT bco_s_bco_maatregel_key.nextval INTO :new.bco_maatregel_key FROM DUAL; END IF; +SELECT UPPER(:new.bco_maatregel_afk) INTO :new.bco_maatregel_afk_upper FROM DUAL; + IF (:old.bco_maatregel_werkopdr = 1) + AND (:new.bco_maatregel_werkopdr IS NULL) + THEN + DECLARE + dummy VARCHAR2(1); + BEGIN + SELECT 'X' + INTO dummy + FROM bco_defectsrtinst + WHERE bco_maatregel_key = :new.bco_maatregel_key; + raise_application_error(-20000,'bco_m097'); + EXCEPTION + WHEN NO_DATA_FOUND THEN NULL; + END; + END IF; + IF :new.bco_maatregel_verwijder IS NOT NULL + THEN + NULL; +-- raise_application_error(-20000, 'bco_m109'); + END IF; + BEGIN IF :new.bco_maatregel_verwijder IS NOT NULL THEN UPDATE bco_defectsrtinst SET bco_defectsrtinst_verwijder = SYSDATE WHERE bco_defectsrtinst.bco_maatregel_key = :new.bco_maatregel_key AND bco_defectsrtinst_verwijder IS NULL; END IF; END; +END; +/ + + +DROP TRIGGER bco_t_bco_defect_B_IU; +CREATE TRIGGER bco_t_bco_defect_B_IU +BEFORE INSERT OR UPDATE ON bco_defect +FOR EACH ROW +BEGIN + IF :new.bco_defect_key IS NULL THEN SELECT bco_s_bco_defect_key.nextval INTO :new.bco_defect_key FROM DUAL; END IF; + SELECT UPPER(:new.bco_defect_omschrijving) INTO :new.bco_defect_upper FROM DUAL; + + BEGIN IF :new.bco_defect_verwijder IS NOT NULL THEN UPDATE bco_defectsrtinst SET bco_defectsrtinst_verwijder = SYSDATE WHERE bco_defectsrtinst.bco_defect_key = :new.bco_defect_key AND bco_defectsrtinst_verwijder IS NULL; END IF; END; +END; +/ + +DROP TRIGGER bco_t_bco_defectsrtinst_B_IU; +CREATE TRIGGER bco_t_bco_defectsrtinst_B_IU +BEFORE INSERT OR UPDATE ON bco_defectsrtinst +FOR EACH ROW +BEGIN +IF :new.bco_defectsrtinst_key IS NULL THEN SELECT bco_s_bco_defectsrtinst_key.nextval INTO :new.bco_defectsrtinst_key FROM DUAL; END IF; +DECLARE dummy CHAR; BEGIN SELECT 'X' INTO dummy FROM ins_v_aanwezigsrtdeel WHERE ins_srtdeel_key = :new.bco_ins_srtinst_keys; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN SELECT 'X' INTO dummy FROM ins_v_aanwezigsrtonderdeel WHERE ins_srtonderdeel_key = :new.bco_ins_srtinst_keys; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN SELECT 'X' INTO dummy FROM ins_v_aanwezigsrtelement WHERE ins_srtelement_key = :new.bco_ins_srtinst_keys; EXCEPTION WHEN NO_DATA_FOUND THEN raise_application_error(-20000, 'ins_m21'); END; END; END; +END; +/ + +ALTER TABLE mld_opdr +ADD +( + bco_defectsrtinst_key + NUMBER(10), + REFERENCES bco_defectsrtinst(bco_defectsrtinst_key) +); +#endif // BCO + +INSERT INTO fac_message VALUES('BCO_M109', 'De maatregel mag niet verwijderd worden.'); + +INSERT INTO fac_entity_name VALUES('ALG_BL_RUIMTE', 'Bl/Ruimte', NULL, NULL); +INSERT INTO fac_entity_name VALUES('BCP_METERSTAND_DATUM', 'Datum', NULL, NULL); +INSERT INTO fac_entity_name VALUES('BCP_METERSTAND_STAND', 'Stand', NULL, NULL); + +INSERT INTO fac_message VALUES('BCP_M068', 'Verwijderen meterstand '); +INSERT INTO fac_message VALUES('BCP_M069', 'De datum vam de meterstand is niet ingevuld.'); +INSERT INTO fac_message VALUES('BCP_M070', 'De meterstand van de meterstand is niet ingevuld.'); +INSERT INTO fac_message VALUES('BCP_M071', 'Er zijn geen in te vullen meterstanden meer.'); + +#ifdef BCP +CREATE OR REPLACE VIEW bcp_v_meterstand_gegevens( bcp_meterstand_key, + bcp_meterstand_datum, + bcp_meterstand_stand, + bcp_prevopdr_key, + ins_inst_key, + ins_inst_type, + alg_verdieping_omschrijving, + alg_verdieping_volgnr, + alg_ruimte_nr, + alg_ruimte_upper_nr, + ins_deel_omschrijving, + ins_deel_upper, + ins_onderdeel_omschrijving, + ins_onderdeel_upper, + ins_element_omschrijving, + ins_element_upper + ) AS +SELECT BCP_M.bcp_meterstand_key, + BCP_M.bcp_meterstand_datum, + BCP_M.bcp_meterstand_stand, + BCP_M.bcp_prevopdr_key, + INS_I.ins_inst_keys, + INS_I.ins_type, + INS_D.alg_verdieping_omschrijving, + INS_D.alg_verdieping_volgnr, + INS_D.alg_ruimte_nr, + INS_D.alg_ruimte_upper_nr, + INS_D.ins_deel_omschrijving, + INS_D.ins_deel_upper, + NULL, + NULL, + NULL, + NULL +FROM bcp_meterstand BCP_M, bcp_prevopdr BCP_P, bcp_taak BCP_T, + ins_v_inst INS_I, ins_v_deel_gegevens INS_D +WHERE BCP_M.bcp_prevopdr_key = BCP_P.bcp_prevopdr_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND INS_I.ins_inst_keys = BCP_M.bcp_ins_inst_keys + AND INS_I.ins_type = 'D' + AND INS_I.ins_inst_keys = INS_D.ins_deel_key +UNION +SELECT BCP_M.bcp_meterstand_key, + BCP_M.bcp_meterstand_datum, + BCP_M.bcp_meterstand_stand, + BCP_M.bcp_prevopdr_key, + INS_I.ins_inst_keys, + INS_I.ins_type, + INS_O.alg_verdieping_omschrijving, + INS_O.alg_verdieping_volgnr, + INS_O.alg_ruimte_nr, + INS_O.alg_ruimte_upper_nr, + INS_O.ins_deel_omschrijving, + INS_O.ins_deel_upper, + INS_O.ins_onderdeel_omschrijving, + INS_O.ins_onderdeel_upper, + NULL, + NULL +FROM bcp_meterstand BCP_M, bcp_prevopdr BCP_P, bcp_taak BCP_T, + ins_v_inst INS_I, ins_v_onderdeel_gegevens INS_O +WHERE BCP_M.bcp_prevopdr_key = BCP_P.bcp_prevopdr_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND INS_I.ins_inst_keys = BCP_M.bcp_ins_inst_keys + AND INS_I.ins_type = 'O' + AND INS_I.ins_inst_keys = INS_O.ins_onderdeel_key +UNION +SELECT BCP_M.bcp_meterstand_key, + BCP_M.bcp_meterstand_datum, + BCP_M.bcp_meterstand_stand, + BCP_M.bcp_prevopdr_key, + INS_I.ins_inst_keys, + INS_I.ins_type, + INS_E.alg_verdieping_omschrijving, + INS_E.alg_verdieping_volgnr, + INS_E.alg_ruimte_nr, + INS_E.alg_ruimte_upper_nr, + INS_E.ins_deel_omschrijving, + INS_E.ins_deel_upper, + INS_E.ins_onderdeel_omschrijving, + INS_E.ins_onderdeel_upper, + INS_E.ins_element_omschrijving, + INS_E.ins_element_upper +FROM bcp_meterstand BCP_M, bcp_prevopdr BCP_P, bcp_taak BCP_T, + ins_v_inst INS_I, ins_v_element_gegevens INS_E +WHERE BCP_M.bcp_prevopdr_key = BCP_P.bcp_prevopdr_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND INS_I.ins_inst_keys = BCP_M.bcp_ins_inst_keys + AND INS_I.ins_type = 'E' + AND INS_I.ins_inst_keys = INS_E.ins_element_key; +#endif // BCP + +#ifdef INS +CREATE_VIEW(ins_v_alg_overzicht,NORMAAL_PRIVILEGE) +( + alg_onroerendgoed_keys, alg_locatie_key, + alg_gebouw_key, alg_gebouw_omschrijving, alg_gebouw_upper, + alg_verdieping_key, alg_verdieping_omschrijving, alg_verdieping_upper, + alg_verdieping_volgnr, + alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, + alg_terreinsector_key, alg_terreinsector_omschrijving, alg_terreinsector_upper +) +AS + SELECT ALG_G.alg_gebouw_key, ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, ALG_G.alg_gebouw_omschrijving, ALG_G.alg_gebouw_upper, + to_number(NULL), NULL, NULL, to_number(NULL), + to_number(NULL), NULL, NULL, + to_number(NULL), NULL, NULL + FROM alg_gebouw ALG_G +UNION + SELECT ALG_V.alg_verdieping_key, ALG_G.alg_locatie_key, + 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_upper, + ALG_V.alg_verdieping_volgnr, + to_number(NULL), NULL, NULL, + to_number(NULL), NULL, NULL + FROM alg_verdieping ALG_V, alg_gebouw ALG_G + WHERE ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key +UNION + SELECT ALG_R.alg_ruimte_key, ALG_G.alg_locatie_key, + 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_upper, + ALG_V.alg_verdieping_volgnr, + ALG_R.alg_ruimte_key, ALG_R.alg_ruimte_nr, ALG_R.alg_ruimte_upper_nr, + to_number(NULL), NULL, NULL + FROM alg_ruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G + WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key AND + ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key +UNION + SELECT ALG_T.alg_terreinsector_key, ALG_T.alg_locatie_key, + to_number(NULL), NULL, NULL, + to_number(NULL), NULL, NULL, to_number(NULL), + to_number(NULL), NULL, NULL, + ALG_T.alg_terreinsector_key, ALG_T.alg_terreinsector_omschrijving, ALG_T.alg_terreinsector_upper + FROM alg_terreinsector ALG_T; + +CREATE_VIEW(ins_v_deel_gegevens,NORMAAL_PRIVILEGE) +( + ins_discipline_key, ins_discipline_omschrijving, + ins_srtgroep_key, ins_srtgroep_omschrijving, ins_srtgroep_upper, + ins_srtdeel_key, ins_srtdeel_omschrijving, ins_srtdeel_upper, + alg_locatie_key, alg_gebouw_key, alg_gebouw_omschrijving, alg_gebouw_upper, + alg_verdieping_key, alg_verdieping_omschrijving, alg_verdieping_upper, + alg_verdieping_volgnr, + alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, + alg_terreinsector_key, alg_terreinsector_omschrijving, alg_terreinsector_upper, + ins_deel_key, ins_deel_omschrijving, ins_deel_upper, ins_deel_aantal, + ins_deel_fabrikaat, ins_deel_type, ins_deel_serienr, ins_deel_bouwjaar, + ins_deel_capaciteit, ins_deel_prijs, ins_deel_levensduur, ins_deel_opmerking +) +AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, ins_SG.ins_srtgroep_upper, + ins_SD.ins_srtdeel_key, ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper, + INS_AO.alg_locatie_key, INS_AO.alg_gebouw_key, INS_AO.alg_gebouw_omschrijving, INS_AO.alg_gebouw_upper, + INS_AO.alg_verdieping_key, INS_AO.alg_verdieping_omschrijving, INS_AO.alg_verdieping_upper, + INS_AO.alg_verdieping_volgnr, + INS_AO.alg_ruimte_key, INS_AO.alg_ruimte_nr, INS_AO.alg_ruimte_upper_nr, + INS_AO.alg_terreinsector_key, INS_AO.alg_terreinsector_omschrijving, INS_AO.alg_terreinsector_upper, + ins_DE.ins_deel_key, ins_DE.ins_deel_omschrijving, ins_DE.ins_deel_upper, ins_DE.ins_deel_aantal, + ins_DE.ins_deel_fabrikaat, ins_DE.ins_deel_type, ins_DE.ins_deel_serienr,ins_DE.ins_deel_bouwjaar, + ins_DE.ins_deel_capaciteit, ins_DE.ins_deel_prijs, ins_DE.ins_deel_levensduur, ins_DE.ins_deel_opmerking + FROM ins_v_aanwezigdiscipline ins_D, ins_v_aanwezigsrtgroep ins_SG, + ins_v_aanwezigsrtdeel ins_SD, ins_v_alg_overzicht INS_AO, + ins_v_aanwezigdeel ins_DE + WHERE + INS_AO.alg_onroerendgoed_keys = ins_DE.ins_alg_ruimte_key AND + ins_SD.ins_srtdeel_key = ins_DE.ins_srtdeel_key AND + ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; + +CREATE_VIEW(ins_v_onderdeel_gegevens,NORMAAL_PRIVILEGE) +( + ins_discipline_key, ins_discipline_omschrijving, + ins_srtgroep_key, ins_srtgroep_omschrijving, ins_srtgroep_upper, + ins_srtdeel_key, ins_srtdeel_omschrijving, ins_srtdeel_upper, + ins_srtonderdeel_key, ins_srtonderdeel_omschrijving, ins_srtonderdeel_upper, + ins_deel_key, ins_deel_omschrijving, ins_deel_upper, + ins_onderdeel_key, ins_onderdeel_omschrijving, ins_onderdeel_upper, + ins_onderdeel_aantal, ins_onderdeel_fabrikaat, ins_onderdeel_type, + ins_onderdeel_serienr,ins_onderdeel_bouwjaar, ins_onderdeel_capaciteit, + ins_onderdeel_prijs, ins_onderdeel_levensduur, ins_onderdeel_opmerking, + alg_locatie_key, alg_gebouw_key, alg_gebouw_upper, alg_verdieping_key, + alg_verdieping_upper, alg_verdieping_omschrijving, alg_verdieping_volgnr, + alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, + alg_terreinsector_key, alg_terreinsector_upper +) +AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_D.ins_srtgroep_key, ins_D.ins_srtgroep_omschrijving, ins_D.ins_srtgroep_upper, + ins_D.ins_srtdeel_key, ins_D.ins_srtdeel_omschrijving, ins_D.ins_srtdeel_upper, + ins_SOD.ins_srtonderdeel_key, ins_SOD.ins_srtonderdeel_omschrijving, ins_SOD.ins_srtonderdeel_upper, + ins_D.ins_deel_key, ins_D.ins_deel_omschrijving, ins_D.ins_deel_upper, + ins_OD.ins_onderdeel_key, ins_OD.ins_onderdeel_omschrijving, ins_OD.ins_onderdeel_upper, + ins_OD.ins_onderdeel_aantal, ins_OD.ins_onderdeel_fabrikaat, ins_OD.ins_onderdeel_type, + ins_OD.ins_onderdeel_serienr, ins_OD.ins_onderdeel_bouwjaar, ins_OD.ins_onderdeel_capaciteit, + ins_OD.ins_onderdeel_prijs, ins_OD.ins_onderdeel_levensduur, ins_OD.ins_onderdeel_opmerking, + ins_D.alg_locatie_key, ins_D.alg_gebouw_key, ins_D.alg_gebouw_upper, ins_D.alg_verdieping_key, + ins_D.alg_verdieping_upper, ins_D.alg_verdieping_omschrijving, ins_D.alg_verdieping_volgnr, + ins_D.alg_ruimte_key, ins_D.alg_ruimte_nr, ins_D.alg_ruimte_upper_nr, + ins_D.alg_terreinsector_key, ins_D.alg_terreinsector_upper + FROM ins_v_aanwezigsrtonderdeel ins_SOD, + ins_v_aanwezigonderdeel ins_OD, + ins_v_deel_gegevens ins_D + WHERE + ins_SOD.ins_srtonderdeel_key = ins_OD.ins_srtonderdeel_key AND + ins_D.ins_deel_key = ins_OD.ins_deel_key AND + ins_OD.ins_alg_onroerendgoed_key IS NULL +UNION + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_D.ins_srtgroep_key, ins_D.ins_srtgroep_omschrijving, ins_D.ins_srtgroep_upper, + ins_D.ins_srtdeel_key, ins_D.ins_srtdeel_omschrijving, ins_D.ins_srtdeel_upper, + ins_SOD.ins_srtonderdeel_key, ins_SOD.ins_srtonderdeel_omschrijving, ins_SOD.ins_srtonderdeel_upper, + ins_D.ins_deel_key, ins_D.ins_deel_omschrijving, ins_D.ins_deel_upper, + ins_OD.ins_onderdeel_key, ins_OD.ins_onderdeel_omschrijving, ins_OD.ins_onderdeel_upper, + ins_OD.ins_onderdeel_aantal, ins_OD.ins_onderdeel_fabrikaat, ins_OD.ins_onderdeel_type, + ins_OD.ins_onderdeel_serienr, ins_OD.ins_onderdeel_bouwjaar, ins_OD.ins_onderdeel_capaciteit, + ins_OD.ins_onderdeel_prijs, ins_OD.ins_onderdeel_levensduur, ins_OD.ins_onderdeel_opmerking, + ins_AO.alg_locatie_key, ins_AO.alg_gebouw_key, ins_AO.alg_gebouw_upper, ins_AO.alg_verdieping_key, + ins_AO.alg_verdieping_upper, INS_AO.alg_verdieping_omschrijving, INS_AO.alg_verdieping_volgnr, + ins_AO.alg_ruimte_key, ins_AO.alg_ruimte_nr, ins_AO.alg_ruimte_upper_nr, + ins_AO.alg_terreinsector_key, ins_AO.alg_terreinsector_upper + FROM ins_v_aanwezigsrtonderdeel ins_SOD, + ins_v_aanwezigonderdeel ins_OD, + ins_v_deel_gegevens ins_D, + ins_v_alg_overzicht ins_AO + WHERE + ins_SOD.ins_srtonderdeel_key = ins_OD.ins_srtonderdeel_key AND + ins_D.ins_deel_key = ins_OD.ins_deel_key AND + ins_AO.alg_onroerendgoed_keys = ins_OD.ins_alg_onroerendgoed_key AND + ins_OD.ins_alg_onroerendgoed_key IS NOT NULL; + +CREATE_VIEW(ins_v_element_gegevens,NORMAAL_PRIVILEGE) AS + SELECT ins_SE.ins_srtelement_key, + ins_OD.ins_onderdeel_key, + ins_OD.ins_onderdeel_omschrijving, + ins_OD.ins_onderdeel_upper, + ins_EL.ins_element_key, + ins_EL.ins_element_omschrijving, + ins_EL.ins_element_upper, + ins_EL.ins_element_aantal, + ins_EL.ins_element_fabrikaat, ins_EL.ins_element_type, + ins_EL.ins_element_serienr,ins_EL.ins_element_bouwjaar, + ins_EL.ins_element_capaciteit, ins_EL.ins_element_prijs, + ins_EL.ins_element_levensduur, ins_EL.ins_element_opmerking, + ins_OD.alg_gebouw_key, ins_OD.alg_verdieping_key, + ins_OD.alg_ruimte_key, ins_OD.alg_terreinsector_key, + ins_OD.alg_gebouw_upper, ins_OD.alg_verdieping_upper, + ins_OD.alg_verdieping_omschrijving, ins_OD.alg_verdieping_volgnr, + ins_OD.alg_ruimte_nr, ins_OD.alg_terreinsector_upper, + ins_OD.ins_deel_key, ins_OD.ins_deel_upper, + ins_OD.ins_deel_omschrijving + FROM ins_v_aanwezigsrtelement ins_SE, ins_v_onderdeel_gegevens ins_OD, + ins_v_aanwezigelement ins_EL + WHERE + ins_SE.ins_srtelement_key = ins_EL.ins_srtelement_key AND + ins_OD.ins_onderdeel_key = ins_EL.ins_onderdeel_key; +#endif //INS + +INSERT INTO fac_entity_name VALUES('PRS_BESTEK_DOCUMENTATIE', 'Documentatie', NULL, NULL); + +INSERT INTO fac_message VALUES('MLD_M157', 'Er is geen default uitvoerende ingevuld.'); +INSERT INTO fac_message VALUES('MLD_M158', 'De opdracht komt nog op een werkopdracht voor.'); + +#ifdef PRS +CREATE OR REPLACE VIEW prs_v_prs_disclocbestek +AS +SELECT PRS_DB.prs_disciplinebestek_key, + PRS_DB.ins_discipline_key, + PRS_DB.prs_disciplinebestek_uren, + PRS_DB.prs_discbestek_urenbesteed, + PRS_B.prs_bestek_key, + PRS_B.prs_bestek_nr, + PRS_B.prs_bestek_upper_nr, + PRS_B.prs_bestek_omschrijving, + PRS_B.prs_bestek_materiaalpost, + PRS_B.prs_bestek_materiaalbesteed, + PRS_B.prs_bestek_begindatum, + PRS_B.prs_bestek_einddatum, + PRS_LB.prs_locatiebestek_key, + ALG_L.alg_locatie_key +FROM prs_bestek PRS_B, prs_disciplinebestek PRS_DB, + prs_locatiebestek PRS_LB, alg_v_aanweziglocatie ALG_L +WHERE PRS_B.prs_bestek_key = PRS_DB.prs_bestek_key + AND PRS_B.prs_bestek_key = PRS_LB.prs_bestek_key (+) + AND ((ALG_L.alg_locatie_key = PRS_LB.alg_locatie_key) + OR (PRS_LB.prs_locatiebestek_key IS NULL)); +#endif // PRS + +#ifdef MLD +ALTER TABLE mld_bestelregel +MODIFY +( + mld_opdr_key + NULL +); + +ALTER TABLE mld_bestelregel +ADD +( + bcp_mld_opdr_key + NUMBER(10) + NOT NULL + UNIQUE +); + +DROP TRIGGER mld_t_mld_bestelregel_B_IU; +CREATE TRIGGER mld_t_mld_bestelregel_B_IU +BEFORE INSERT OR UPDATE ON mld_bestelregel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_bestelregel_key, mld_s_mld_bestelregel_key); + DECLARE + dummy CHAR; + BEGIN + dummy := NULL; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr + WHERE mld_opdr_key = :new.bcp_mld_opdr_key; + EXCEPTION + WHEN NO_DATA_FOUND + THEN dummy := NULL; + END; +#ifdef BCP + IF dummy IS NULL + THEN + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr + WHERE bcp_prevopdr_key = :new.bcp_mld_opdr_key; + EXCEPTION + WHEN NO_DATA_FOUND + THEN dummy := NULL; + END; + END IF; +#endif // BCP + IF dummy IS NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m159'); + END IF; + END; +END; +/ +#endif + +#ifdef MLD + +ALTER TABLE mld_bestelopdr +ADD +( + mld_bestelopdr_fondsnr + VARCHAR2(20) +); + +#endif +#ifdef INS +ALTER TABLE ins_deel +MODIFY +( + ins_deel_aantal + CHECK(ins_deel_aantal > 0) +); +#endif + +#if !defined(LEV) +ALTER TABLE ins_deel +DROP + UNIQUE(ins_alg_ruimte_key, + ins_srtdeel_key, ins_deel_upper, + ins_deel_module, ins_deel_verwijder); + +ALTER TABLE ins_deel +ADD + UNIQUE(ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_srtdeel_key, ins_deel_upper, + ins_deel_module, ins_deel_verwijder); +#else +ALTER TABLE ins_deel +DROP + UNIQUE(ins_alg_ruimte_key, + ins_prs_bezit_key, + ins_srtdeel_key, ins_deel_upper, + lev_levering_key, lev_bestelling_key, lev_afvoerlijst_datum, + ins_deel_module, ins_deel_verwijder); + +ALTER TABLE ins_deel +ADD + UNIQUE(ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_prs_bezit_key, + ins_prs_bezit_type, + ins_srtdeel_key, ins_deel_upper, + lev_levering_key, lev_bestelling_key, lev_afvoerlijst_datum, + ins_deel_module, ins_deel_verwijder); +#endif // LEV + +INSERT INTO fac_entity_name VALUES('PRS_BEDRIJF_UURLOON', 'Uurloon', 'Uurlonen', 'het'); +INSERT INTO FAC_ENTITY_NAME VALUES('PER_KWARTAAL', 'Per kwartaal', NULL, NULL); +INSERT INTO FAC_ENTITY_NAME VALUES('PER_JAAR', 'Per jaar', NULL, NULL); + +DELETE FROM fac_message +WHERE fac_message_code = 'BCP_M063'; +INSERT INTO fac_message VALUES('BCP_M063', 'Meerjarenplanning'); + +INSERT INTO fac_entity_name VALUES('MLD_BESTELOPDR_FONDSNR', 'Fondsnr.', NULL, 'het'); + +#ifdef HUI +CREATE OR REPLACE VIEW HUI_V_OVERNACHTING_GEGEVENS +AS +SELECT ALG_G.alg_locatie_key, + 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.hui_categorie_key, + ALG_R.hui_eenheid, + ALG_R.hui_geslacht, + HUI_W.prs_werkplek_key, + HUI_W.prs_werkplek_module, + HUI_W.prs_werkplek_volgnr, + HUI_PW.prs_perslidwerkplek_key, + HUI_PW.hui_status, + HUI_PW.hui_begindatum, + HUI_PW.hui_einddatum, + HUI_PW.prs_perslid_key +FROM hui_v_aanwezigwerkplek HUI_W, + alg_ruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G, + hui_v_aanwezigperslidwerkplek HUI_PW +WHERE HUI_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key + AND ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key + AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key + AND HUI_W.prs_werkplek_key = HUI_PW.prs_werkplek_key +UNION +SELECT ALG_G.alg_locatie_key, + 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.hui_categorie_key, + ALG_R.hui_eenheid, + ALG_R.hui_geslacht, + HUI_W.prs_werkplek_key, + HUI_W.prs_werkplek_module, + HUI_W.prs_werkplek_volgnr, + TO_NUMBER(NULL), + NULL, + TO_DATE(NULL), + TO_DATE(NULL), + TO_NUMBER(NULL) +FROM hui_v_aanwezigwerkplek HUI_W, + alg_ruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G +WHERE HUI_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key + AND ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key + AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key; + +#endif diff --git a/_UP/120TO121.SRC b/_UP/120TO121.SRC new file mode 100644 index 00000000..6ea17271 --- /dev/null +++ b/_UP/120TO121.SRC @@ -0,0 +1,1640 @@ +SPOOL 120to121 + +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.20 naar 01.21 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * 06-11-96 KTH (hoort bij 01.21, was vergeten?!:) + * - INS_DEEL_REALISATIE toegevoegd + * - INS_SRTDEEL_PRIJS en INS_SRTDEEL_EENHEID toegevoegd + * ------ 01.21 ----- + * 31-10-96 AH LOG#952: ALG_M0193 toegevoegd + * 31-10-96 AH LOG#917 en #944: BEB_MI.. aangepast en PRS_M095 toegevoegd + * 30-10-96 AH LOG#933, #942: ALG_M192 en PRS_M094 toegevoegd + * 30-10-96 AH LOG#944: PRS_M019 aangepast + * 30-10-96 AH LOG#938 en #940: BCO_M097, BCO_M131 en BCO_M56 aangepast + * 29-10-96 AH LOG#923: BEV_M011 toegevoegd + * 29-10-96 AH LOG#924: INS_M111 - 112 teogevoegd + * 29-10-96 AH LOG#920: ALG_M188 - 191 toegevoegd + * 29-10-96 AH LOG#919: INS_M110 en BEB_MI4 aangepast + * 29-10-96 AH LOG#918: INS_M107 aangepast. BEV_PRINT_TOTAAL en .._VERSIE toegevoegd + * 29-10-96 AH LOG#917: 'Wlke' typ-fout + * 29-10-96 AH LOG#916: Klantindeling -> NATCO-indeling; + * 29-10-96 AH LOG#915: Terreinsector vervangen door Terrein/Werk voor BEB + * 28-10-96 AH LOG#913: PROCEDURE Kopieer_deel aangepast voor BCO, PRS_M093 + * toegevoegd + * 28-10-96 AH LOG#913: PRS_BESTEK_DOCUMENTATIE en INS_DEEL_DOCUMENTATIE aangepast + * naar VARCHAR2(255). + * 28-10-96 AH LOG#914: PRS_T_PRS_LOCATIEBESTEK_B_D toegevoegd en PRS_M092 + * 28-10-96 AH LOG#912: PRS_V_MLD_BESTEK_GERAAMD en PRS_V_BCP_BESTEK_GERAAMD + * aangepast. + * 28-10-96 AH LOG#910: PRS_T_PRS_PERSLID_B_IU aangepast. + * 25-10-96 AH LOG#906: PRS_M091 toegevoegd + * 25-10-96 AH NUMBER_VELDEN: Message ALG_M105 aangepast + * 25-10-96 AH LOG#900: ALG_M187 toegevoegd + * 24-10-96 AH LOG#890: INS_M017 en INS_M018 verwijderd + * 24-10-96 AH LOG#887: unique op bcp_meterstand aangepast + * 24-10-96 AH LOG#884: BCP_M046 aangepast. + * 24-10-96 AH LOG#877: BCP_M099 toegevoegd voor trigger-melding. + * BCP_T_BCP_VERZAMEL_B_IU aangepast. + * BCP_T_BCP_TAAK_B_IU aangepast + * BCP_METING aangepast REFERENCE ON DELETE CASCADE. + * 23-10-96 AH LOG#858: BCO_M131 toegevoegd, BCO_T_BCO_MAATREGEL_B_IU angepast. + * 22-10-96 AH LOG#864: ALG_108 aangepast, Datum-format foutmelding krijgt + * argumenten mee. + * 22-10-96 AH LOG#853: BCO_M55 en BCO_M56 aangepast + * 22-10-96 AH LOG#867: BCO_M54 en BCO_M59aangepast + * 21-10-96 AH LOG#845: ALG_M186 INS_DEEL_REALISATIE en FAC_FORM INS125 toegevoegd + * 21-10-96 AH LOG#842: ALG_triggers aangepast + * 18-10-96 AH LOG#839: ALG-entities en messages toegevoegd + * 18-10-96 AH LOG#838:Alg IND, SEQ, TAB, VIE, TRI aangepast + * 18-10-96 AH LOG#836 BEB = 30 toegevoegd en nieuwe forms INS124, INS213, INS214 + * BEB011, BEB111 + * 18-10-96 KTH LOG#834: REFERENCE naar bco_locatiegroep in prs_perslid + * 18-10-96 AH LOG#835: toevoegen van BEB-entities en messages + * 17-10-96 KTH LOG#806: verwijder veld in constraint van BCP_VERZAMEL + * 16-10-96 KTH Include modules.h + * 09-10-96 AH INS_SRTDEEL_VOLGNR aan INS_SRTDEEL toegevoegd, INS_SRTDEEL- + * Views worden gereplaced. + * 04-10-96 AH INS023 en INS123 in module 'INS' toegevoegd + * 04-10-96 AH BEV-entities en -messages toegevoegd + * 04-10-96 AH INS_V_ALGONROERENDGOED en ALL_V_AANWEZIGDEEL toegevoegd + * 02-10-96 AH PRS_M089 en PRS_M090 toegevoegd + * 02-10-96 AH Aan FAC_FORM SLE015 en SLE115 toegevoegd + * 02-10-96 AH View SLE_V_SLEUTEL_PERSLID_GEGEVENS toegevoegd + * 01-10-96 KTH Trigger prs_t_prs_werkplek_B_IU gaf mutating table prs_werkplek + * bij verwijderen van werkplekken (aangemeld door RHY, 01.17) + * 24-09-96 AH View INS_V_ALG_ONROERENDGOED toegevoegd + * 24-09-96 KTH Created + */ + +#include +PROMPT Upgrading van versie 120 naar 121... + +#ifdef PRR +PROMPT Dropping old trigger prs_t_prs_werkplek_B_IU... + +DROP TRIGGER prs_t_prs_werkplek_B_IU; + +PROMPT Creating new trigger prs_t_prs_werkplek_B_IU... + +CREATE TRIGGER prs_t_prs_werkplek_B_IU +BEFORE INSERT OR UPDATE ON prs_werkplek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_werkplek_key, prs_s_prs_werkplek_key); + /* Een werkplek mag niet verwijderd worden als er nog personen + * aan gekoppeld zijn. + */ + IF :new.prs_werkplek_module = 'PRR' + THEN + /* 01-10-96/KTH + * prs_v_aanwezigperslidwerkplek wordt prs_perslidwerkplek ivm. + * mutating table prs_werkplek bij verwijderen werkplekken (RHY) + */ + CHECK_NOG_REFERENCES(prs_werkplek, prs_werkplek_verwijder, + prs_perslidwerkplek, prs_werkplek_key, 'prs_m016'); +#ifdef HUI + ELSIF :new.prs_werkplek_module = 'HUI' + AND :new.prs_werkplek_verwijder IS NOT NULL + THEN + /* Een slaapplaats mag niet verwijderd worden als er nog + * lopende overnachtingen zijn, dus met hui_status 'geReserveerd' of + * 'Bezet' + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM prs_perslidwerkplek PRS_PW + WHERE PRS_PW.hui_status <> 'V' + AND PRS_PW.prs_perslidwerkplek_verwijder IS NULL + AND PRS_PW.hui_einddatum >= :new.prs_werkplek_verwijder + AND PRS_PW.prs_werkplek_key = :new.prs_werkplek_key; + APPLICATION_ERROR(-20000, 'prs_m054'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m054'); + END; +#endif + END IF; +#if 0 +/* Dit mag niet worden uitgevoegd, omdat anders via CASCADE verwijderen + * de error 'ORA-4091 ALG_RUIMTE is mutating' komt. Het veld + * PRS_DWGUPTODATE kan dus niet bijgewerkt worden. + * Dit wordt nu geregeld in de forms PRS014 (verwijderen werkplek) en PRS114 + * (toevoegen of wijzigen). + */ + + /* Bij toevoegen verwijderen of verplaatsen van een + * werkplek moeten van de bijbehorende tekeningen de PRS_UPTODATE-velden + * aangepast worden. + */ + IF :old.prs_alg_ruimte_key <> :new.prs_alg_ruimte_key + OR :old.prs_alg_ruimte_key IS NULL + OR :new.prs_werkplek_verwijder IS NOT NULL + THEN + IF :old.prs_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT alg_verdieping_key + FROM alg_ruimte + WHERE alg_ruimte_key = :old.prs_alg_ruimte_key), + prs_dwguptodate); + END IF; + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT alg_verdieping_key + FROM alg_ruimte + WHERE alg_ruimte_key = :new.prs_alg_ruimte_key), + prs_dwguptodate); + END IF; +#endif +#ifdef INV + IF :new.prs_werkplek_verwijder IS NOT NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM inv_v_aanwezigdeel + WHERE ins_alg_ruimte_key = :new.prs_werkplek_key + AND ins_alg_ruimte_type = 'W'; + APPLICATION_ERROR(-20000, 'prs_m055'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m055'); + END; + END IF; +#endif +END; +/ + +#endif // PRR + +#ifdef INS +CREATE_VIEW(ins_v_alg_onroerendgoed, NORMAAL_PRIVILEGE) + (alg_onrgoed_keys, + alg_onrgoed_type, + alg_locatie_key, + alg_geb_ter_key, + alg_geb_ter_omschrijving, + alg_geb_ter_upper, + alg_verdieping_key, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_upper_nr) +AS +SELECT alg_gebouw_key, + 'G', + alg_locatie_key, + alg_gebouw_key, + alg_gebouw_omschrijving, + alg_gebouw_upper, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL +FROM alg_v_aanweziggebouw +UNION +SELECT ALG_R.alg_ruimte_key, + 'R', + ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_upper_nr +FROM alg_v_aanwezigruimte ALG_R, alg_verdieping ALG_V, + alg_gebouw ALG_G +WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key + AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key +UNION +SELECT alg_terreinsector_key, + 'T', + alg_locatie_key, + alg_terreinsector_key, + alg_terreinsector_omschrijving, + alg_terreinsector_upper, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL +FROM alg_v_aanwezigterreinsector; +#endif +#ifdef SLE +CREATE_VIEW(sle_v_sleutel_perslid_gegevens, NORMAAL_PRIVILEGE) + (sle_sleutel_perslid_key, + prs_perslid_key, + prs_perslid_naam, + prs_perslid_upper, + sle_sleutel_key, + sle_sleutel_omschrijving, + sle_sleutel_upper) +AS +SELECT SLE_SP.sle_sleutel_perslid_key, + PRS_P.prs_perslid_key, + PRS_P.prs_perslid_naam||' '||PRS_P.prs_perslid_voorletters, + PRS_P.prs_perslid_upper||' '||PRS_P.prs_perslid_voorletters, + SLE_SP.sle_sleutel_key, + SLE_S.sle_sleutel_omschrijving, + SLE_S.sle_sleutel_upper +FROM sle_sleutel_perslid SLE_SP, prs_perslid PRS_P, + sle_sleutel SLE_S +WHERE PRS_P.prs_perslid_key = SLE_SP.sle_prs_perslid_key + AND SLE_S.sle_sleutel_key = SLE_SP.sle_sleutel_key; + + +DEF_FAC_FORM('SLE015', NULL, NULL ,'270150','SLE_SLE015', 'Overzichtscherm Sleutelbezit (vanuit Perslid)'); +DEF_FAC_FORM('SLE115', NULL, NULL ,'271150','SLE_SLE115', 'Mutatiescherm Sleutelbezit'); +#endif + +DEF_FAC_MESSAGE ('PRS_M089', 'Beperkt rapport'); +DEF_FAC_MESSAGE ('PRS_M090', 'Uitgebreid rapport'); + +#ifdef INS +DEFINIEER_VIEW_AANWEZIG(ins_deel, ins_deel_verwijder, + all_v_aanwezigdeel,NORMAAL_PRIVILEGE); + +CREATE_VIEW(ins_v_alg_onroerendgoed, NORMAAL_PRIVILEGE) + (ins_v_module, + alg_onrgoed_keys, + alg_onrgoed_type, + alg_locatie_key, + alg_geb_ter_key, + alg_geb_ter_omschrijving, + alg_geb_ter_upper, + alg_verdieping_key, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_upper_nr) +AS +SELECT 'ALL', + alg_gebouw_key, + 'G', + alg_locatie_key, + alg_gebouw_key, + alg_gebouw_omschrijving, + alg_gebouw_upper, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL +FROM alg_v_aanweziggebouw +UNION +SELECT 'ALL', + ALG_R.alg_ruimte_key, + 'R', + ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_upper_nr +FROM alg_v_aanwezigruimte ALG_R, alg_verdieping ALG_V, + alg_gebouw ALG_G +WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key + AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key +UNION +SELECT 'INS', + alg_terreinsector_key, + 'T', + alg_locatie_key, + alg_terreinsector_key, + alg_terreinsector_omschrijving, + alg_terreinsector_upper, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL, + NULL +FROM alg_v_aanwezigterreinsector; +#endif // INS + +INSERT INTO fac_entity_name VALUES('BEV_VOORZIENINGEN', 'Voorzieningen', 'Voorzieningen', 'de'); +INSERT INTO fac_entity_name VALUES('BEV_LEGENDA_KOLOM_NR', 'Kolom', 'Kolommen', 'de'); +INSERT INTO fac_entity_name VALUES('BEV_INVENTARISATIE', 'Inventarisatie', NULL, NULL); +INSERT INTO fac_entity_name VALUES('BEV_DETAIL', 'Detail', NULL, NULL); +INSERT INTO fac_entity_name VALUES('BEV_INVULLEN', 'Invullen', NULL, NULL); + +INSERT INTO fac_entity_name VALUES('BEV_DISCIPLINE', 'Discipline', 'Disciplines', 'de'); +INSERT INTO fac_entity_name VALUES('BEV_DISCIPLINE_OMSCHRIJVING', 'Omschrijving', NULL, 'de'); +INSERT INTO fac_entity_name VALUES('BEV_SRTGROEP', 'Groepsoort', 'Groepsoorten', 'de'); +INSERT INTO fac_entity_name VALUES('BEV_SRTGROEP_OMSCHRIJVING', 'Omschrijving', NULL, 'de'); +INSERT INTO fac_entity_name VALUES('BEV_SRTDEEL', 'Deelsoort', 'Deelsoorten', 'de'); +INSERT INTO fac_entity_name VALUES('BEV_SRTDEEL_OMSCHRIJVING', 'Omschrijving', NULL, 'de'); +INSERT INTO fac_entity_name VALUES('BEV_SRTDEEL_VOLGNR', 'Volgnr.', NULL, 'het'); +INSERT INTO fac_entity_name VALUES('BEV_PRINT_PAGINA', 'Pagina', 'Pagina''s', 'de'); +INSERT INTO fac_entity_name VALUES('BEV_PRINT_VERSIE', 'Versie', 'Versies', 'de'); +INSERT INTO fac_entity_name VALUES('BEV_PRINT_DATUM', 'Datum', 'Data', 'de'); +INSERT INTO fac_entity_name VALUES('BEV_PRINT_TOTAAL', 'TOTAAL', NULL, NULL); +INSERT INTO fac_entity_name VALUES('BEV_VULLING_VERSIE', 'REGIS 1.00', NULL, NULL); + +INSERT INTO fac_message VALUES('BEV_M001', 'Matrixoverzicht installaties'); +INSERT INTO fac_message VALUES('BEV_M002', 'Inventarisatie deel'); +INSERT INTO fac_message VALUES('BEV_M003', 'Gebouw of terreinsector moet ingevuld worden.'); +INSERT INTO fac_message VALUES('BEV_M004', 'Groepsoort moet ingevuld worden.'); +INSERT INTO fac_message VALUES('BEV_M005', 'Directie Gelderland'); +INSERT INTO fac_message VALUES('BEV_M006', 'DGW'||CHR(38)||'T'); +INSERT INTO fac_message VALUES('BEV_M007', 'STD_CONFIDENTIEEL'); + +#ifdef INR +DEF_FAC_FORM('INS023', NULL, 'MODULE' ,'170230','INS_INS023','Matrixoverzicht installaties'); +DEF_FAC_FORM('INS123', NULL, 'MODULE' ,'171230','INS_INS123','Wijzigen installaties'); +#endif // INR + +#ifdef INS +ALTER TABLE ins_srtdeel +ADD +( + ins_srtdeel_volgnr + NUMBER(3), + ins_srtdeel_prijs + NUMBER(8,2), + ins_srtdeel_eenheid + VARCHAR2(15) +); + +DEFINIEER_VIEW_AANWEZIG(ins_srtdeel, ins_srtdeel_verwijder, + ins_v_aanwezigsrtdeel,BIBLIOTHEEK_PRIVILEGE) AND + ins_srtdeel_module = 'INS'; + +DEFINIEER_VIEW_AANWEZIG(ins_srtdeel, ins_srtdeel_verwijder, + all_v_aanwezigsrtdeel,BIBLIOTHEEK_PRIVILEGE); + +#endif + +#ifdef FAC +DEF_FAC_FORM('ALG021', NULL, NULL ,'110210','ALG_ALG021','Overzichtscherm Objectdeel'); +DEF_FAC_FORM('ALG022', NULL, NULL ,'110220','ALG_ALG022','Overzichtscherm Systeemcluster'); +DEF_FAC_FORM('ALG023', NULL, NULL ,'110230','ALG_ALG023','Overzichtscherm Bouwdeel'); +DEF_FAC_FORM('ALG024', NULL, NULL ,'110240','ALG_ALG024','Overzichtscherm Gebouw/Terreinsector bij systeemcluster'); +DEF_FAC_FORM('ALG025', NULL, NULL ,'110250','ALG_ALG025','Overzichtscherm Verdieping bij bouwdeel'); +DEF_FAC_FORM('ALG026', NULL, NULL ,'110260','ALG_ALG026','Overzichtscherm Object bij garnizioen'); +DEF_FAC_FORM('ALG121', NULL, NULL ,'111210','ALG_ALG121','Mutatiescherm Objectdeel'); +DEF_FAC_FORM('ALG122', NULL, NULL ,'111220','ALG_ALG122','Mutatiescherm Systeemcluster'); +DEF_FAC_FORM('ALG123', NULL, NULL ,'111230','ALG_ALG123','Mutatiescherm Bouwdeel'); +DEF_FAC_FORM('ALG124', NULL, NULL ,'111240','ALG_ALG124','Mutatiescherm Gebouw/Terreinsector bij systeemcluster'); +DEF_FAC_FORM('ALG125', NULL, NULL ,'111250','ALG_ALG125','Mutatiescherm Verdieping bij bouwdeel'); +DEF_FAC_FORM('ALG126', NULL, NULL ,'111260','ALG_ALG126','Mutatiescherm Object bij garnizoen'); +#endif + +#ifdef BCP +PROMPT Dropping constraint BCP_VERZAMEL_PROFILE from BCP_VERZAMEL... +ALTER TABLE bcp_verzamel + DROP CONSTRAINT bcp_verzamel_profile; + +PROMPT Creating new constraint BCP_VERZAMEL_PROFILE to BCP_VERZAMEL... +ALTER TABLE bcp_verzamel + ADD CONSTRAINT bcp_verzamel_profile + UNIQUE(bcp_ins_srtdeel_key, bcp_frequentie_key, + bcp_urgentie_key, bcp_verzamel_verwijder); +#endif // BCP + +DELETE FROM fac_message +WHERE fac_message_code = 'BEV_M007'; +DEF_FAC_MESSAGE ('BEV_M007', 'STG-CONFIDENTIEEL'); +DEF_FAC_MESSAGE ('BEV_M008', 'Zie kantlijn'); +DEF_FAC_MESSAGE ('BEV_M009', 'Verwijderen categorie '); +DEF_FAC_MESSAGE ('BEV_M010', 'De code voor de categorie is niet ingevuld.'); + +-- BEB_I-messages voor meldingsysteem +DEF_FAC_MESSAGE ('BEB_MI1', '1. Nadere inlichtingen'); +DEF_FAC_MESSAGE ('BEB_MI2', ' - Naam'); +DEF_FAC_MESSAGE ('BEB_MI3', ' - Mil. telefoonnummer'); +DEF_FAC_MESSAGE ('BEB_MI4', '2. Informatie meldingssysteem'); +DEF_FAC_MESSAGE ('BEB_MI5', 'a. Doel van meldsysteem'); +DEF_FAC_MESSAGE ('BEB_MI6', ' - Inbraak'); +DEF_FAC_MESSAGE ('BEB_MI7', ' - Brand melding/ontruiming'); +DEF_FAC_MESSAGE ('BEB_MI8', ' - Brandblusinstallatie/soort'); +DEF_FAC_MESSAGE ('BEB_MI9', ' - Toegangscontrole en leesprincipe'); +DEF_FAC_MESSAGE ('BEB_MI10', ' - Camera'); +DEF_FAC_MESSAGE ('BEB_MI11', ' - Gebouw beheersysteem (GBS)'); +DEF_FAC_MESSAGE ('BEB_MI12', ' - Installatie beheersysteem'); +DEF_FAC_MESSAGE ('BEB_MI13', ' - Storingsmelding'); +DEF_FAC_MESSAGE ('BEB_MI14', ' - Verlichting tbv. bewaking'); +DEF_FAC_MESSAGE ('BEB_MI15', ' - Anders ...'); +DEF_FAC_MESSAGE ('BEB_MI16', 'b. Aansluiting op systeem'); +DEF_FAC_MESSAGE ('BEB_MI17', ' - Welke gebouwen zijn aangesloten'); +DEF_FAC_MESSAGE ('BEB_MI18', ' - Waar is het centrale doormeldpunt'); +DEF_FAC_MESSAGE ('BEB_MI19', 'c. Langs wlke weg wordt gemeld'); +DEF_FAC_MESSAGE ('BEB_MI20', ' - Openbare tel./plaatselijke net/mil.verb.net'); +DEF_FAC_MESSAGE ('BEB_MI21', 'd. Soort verbinding'); +DEF_FAC_MESSAGE ('BEB_MI22', ' - Koper/glasvezel/draadloos'); +DEF_FAC_MESSAGE ('BEB_MI23', 'e. Wat is soort/fabrikaat/type'); +DEF_FAC_MESSAGE ('BEB_MI24', ' - Meldsysteem'); +DEF_FAC_MESSAGE ('BEB_MI25', ' - Software'); +DEF_FAC_MESSAGE ('BEB_MI26', ' - Meldingspaneel'); +DEF_FAC_MESSAGE ('BEB_MI27', 'f. Eigendom/licentierechten hard- en software'); +DEF_FAC_MESSAGE ('BEB_MI28', ' - Eventuele afkoop/licentiekosten'); +DEF_FAC_MESSAGE ('BEB_MI29', 'g. Leeftijd systeem'); +DEF_FAC_MESSAGE ('BEB_MI30', ' - Wlke jaar werd het systeem aangebracht'); +DEF_FAC_MESSAGE ('BEB_MI31', ' - Wlke jaar laatste renovatie verricht'); +DEF_FAC_MESSAGE ('BEB_MI32', 'h. Geschatte tehnische levensduur vanvaf 1995'); +DEF_FAC_MESSAGE ('BEB_MI33', 'i. Zijn er onderhoudscontracten afgesoten'); +DEF_FAC_MESSAGE ('BEB_MI34', ' - Met welk bedrijf'); +DEF_FAC_MESSAGE ('BEB_MI35', ' - Indien onderhoudscontract, welk mil.obj.'); +DEF_FAC_MESSAGE ('BEB_MI36', ' - Wanneer kan dit contract worden beeindigd'); +DEF_FAC_MESSAGE ('BEB_MI37', 'j. Melding gekoppeld aan geautom.regsys.'); +DEF_FAC_MESSAGE ('BEB_MI38', ' - Met welke software'); +DEF_FAC_ENTITY ('BEV_PRINT_KOSTEN', 'TOTAAL BEDRAG', NULL, NULL); +DEF_FAC_ENTITY ('BEV_PRINT_SOM_KOSTEN', 'SOM TOTAAL', NULL, NULL); +DEF_FAC_ENTITY ('BEV_PRINT_OPMERKING', 'Opmerking', NULL, NULL); +DEF_FAC_ENTITY ('INS_SRTDEEL_PRIJS', 'Prijs', NULL, NULL); +DEF_FAC_ENTITY ('INS_SRTDEEL_EENHEID', 'Eenheid', NULL, NULL); + +DEF_FAC_MESSAGE ('INS_M100', 'Actuele situatie'); +DEF_FAC_MESSAGE ('INS_M101', 'Geplande situatie'); +DEF_FAC_MESSAGE ('INS_M102', 'Verschil'); +DEF_FAC_MESSAGE ('INS_M103', 'Alleen totalen'); +DEF_FAC_MESSAGE ('INS_M104', 'Kosten'); +DEF_FAC_MESSAGE ('INS_M105', 'Rapportage installaties'); +DEF_FAC_MESSAGE ('INS_M106', 'Opmerkingen'); +DEF_FAC_MESSAGE ('INS_M107', 'Alleen records met installaties'); +DEF_FAC_MESSAGE ('INS_M108', 'Regio moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('INS_M109', 'Discipline moet ingevuld zijn.'); +DEF_FAC_MESSAGE ('INS_M110', 'Inventarisatie Meldingssystemen'); + +#ifdef BCO +PROMPT De reference naar BCO_LOCATIEGROEP moet nog in PRS_PERSLID gelegd worden! +PROMPT Het is niet in het UPDATE-SCRIPT opgenomen. +#endif //BCO + +#ifdef BEB +DEF_FAC_FORM('INS124', NULL, 'MODULE' ,'171240','INS124','Wijzigen meldingssysteem'); +DEF_FAC_FORM('INS213', NULL, 'MODULE' ,'172130','INS213','Matrixrapport'); +DEF_FAC_FORM('INS214', NULL, 'MODULE' ,'172140','INS214','Rapport meldingssysteem'); +#endif // INR +#ifdef BEB +DEF_FAC_FORM('BEB011', NULL, NULL,'300110','BEB_BEB011','Overzichtscherm Categorie'); +DEF_FAC_FORM('BEB111', NULL, NULL,'301110','BEB_BEB111','Mutatiescherm Categorie'); +#endif + +#ifdef ALG + +ALTER TABLE alg_regio +ADD +( + alg_regio_module + VARCHAR2(3) +); + +ALTER TABLE alg_regio +DROP UNIQUE(alg_regio_upper, alg_regio_verwijder); + +ALTER TABLE alg_regio +ADD UNIQUE(alg_regio_upper, alg_regio_module, alg_regio_verwijder); + +ALTER TABLE alg_district +ADD +( + alg_district_module + VARCHAR2(3) +); + +ALTER TABLE alg_district +DROP UNIQUE(alg_regio_key, alg_district_upper,alg_district_verwijder); + +ALTER TABLE alg_district +ADD UNIQUE(alg_regio_key, alg_district_upper, alg_district_module, alg_district_verwijder); + +ALTER TABLE alg_locatie +ADD +( + alg_district_key_2 + NUMBER(10) + REFERENCES alg_district(alg_district_key) +); + +CREATE TABLE alg_objectdeel +( + alg_objectdeel_key + NUMBER(10) + PRIMARY KEY, + alg_locatie_key + NUMBER(10) + REFERENCES alg_locatie(alg_locatie_key), + alg_objectdeel_omschrijving + VARCHAR2(30) + NOT NULL, + alg_objectdeel_upper + VARCHAR2(30) + NOT NULL, + alg_objectdeel_aanmaak + DATE + DEFAULT SYSDATE + NOT NULL, + alg_objectdeel_verwijder + DATE + DEFAULT NULL, + UNIQUE(alg_locatie_key, alg_objectdeel_upper, alg_objectdeel_verwijder) +); + +CREATE TABLE alg_systeemcluster +( + alg_systeemcluster_key + NUMBER(10) + PRIMARY KEY, + alg_objectdeel_key + NUMBER(10) + REFERENCES alg_objectdeel(alg_objectdeel_key), + alg_systeemclust_omschrijving + VARCHAR2(30) + NOT NULL, + alg_systeemcluster_upper + VARCHAR2(30) + NOT NULL, + alg_systeemcluster_aanmaak + DATE + DEFAULT SYSDATE + NOT NULL, + alg_systeemcluster_verwijder + DATE + DEFAULT NULL, + UNIQUE(alg_objectdeel_key, alg_systeemcluster_upper, alg_systeemcluster_verwijder) +); + +ALTER TABLE alg_gebouw +ADD +( + alg_systeemcluster_key + NUMBER(10) + REFERENCES alg_systeemcluster(alg_systeemcluster_key) +); + +ALTER TABLE alg_terreinsector +ADD +( + alg_systeemcluster_key + NUMBER(10) + REFERENCES alg_systeemcluster(alg_systeemcluster_key) +); + +CREATE TABLE alg_bouwdeel +( + alg_bouwdeel_key + NUMBER(10) + PRIMARY KEY, + alg_gebouw_key + NUMBER(10) + REFERENCES alg_gebouw(alg_gebouw_key), + alg_bouwdeel_omschrijving + VARCHAR2(30) + NOT NULL, + alg_bouwdeel_upper + VARCHAR2(30) + NOT NULL, + alg_bouwdeel_aanmaak + DATE + DEFAULT SYSDATE + NOT NULL, + alg_bouwdeel_verwijder + DATE + DEFAULT NULL, + UNIQUE(alg_gebouw_key, alg_bouwdeel_upper, alg_bouwdeel_verwijder) +); + +ALTER TABLE alg_verdieping +ADD +( + alg_bouwdeel_key + NUMBER(10) + REFERENCES alg_bouwdeel(alg_bouwdeel_key) +); + +CREATE OR REPLACE VIEW alg_v_aanwezigobjectdeel +AS + SELECT * FROM alg_objectdeel + WHERE alg_objectdeel_verwijder IS NULL; + +CREATE OR REPLACE VIEW alg_v_aanwezigsysteemclust +AS + SELECT * FROM alg_systeemcluster + WHERE alg_systeemcluster_verwijder IS NULL; + +CREATE OR REPLACE VIEW alg_v_aanwezigbouwdeel +AS + SELECT * FROM alg_bouwdeel + WHERE alg_bouwdeel_verwijder IS NULL; + +CREATE SEQUENCE alg_s_alg_objectdeel_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_systeemcluster_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_bouwdeel_key MINVALUE 1; + +CREATE INDEX alg_i_alg_objectdeel1 ON alg_objectdeel(alg_locatie_key); +CREATE INDEX alg_i_alg_systeemcluster1 ON alg_systeemcluster(alg_objectdeel_key); +CREATE INDEX alg_i_alg_gebouw3 ON alg_gebouw(alg_systeemcluster_key); +CREATE INDEX alg_i_alg_terreinsector2 ON alg_terreinsector(alg_systeemcluster_key); +CREATE INDEX alg_i_alg_bouwdeel1 ON alg_bouwdeel(alg_gebouw_key); +CREATE INDEX alg_i_alg_verdieping2 ON alg_verdieping(alg_bouwdeel_key); + + +CREATE TRIGGER alg_t_alg_objectdeel_B_IU +BEFORE INSERT OR UPDATE ON alg_objectdeel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_objectdeel_key, alg_s_alg_objectdeel_key); + UPDATE_UPPER(alg_objectdeel_omschrijving, alg_objectdeel_upper); +// Restricted/Cascade +// CHECK_REFERENCES(alg_locatie, alg_district_key, alg_district_verwijder, alg_locatie_verwijder); +END; +/ + +CREATE TRIGGER alg_t_alg_systeemcluster_B_IU +BEFORE INSERT OR UPDATE ON alg_systeemcluster +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_systeemcluster_key, alg_s_alg_systeemcluster_key); + UPDATE_UPPER(alg_systeemclust_omschrijving, alg_systeemcluster_upper); +// Restricted/Cascade +// CHECK_REFERENCES(alg_locatie, alg_district_key, alg_district_verwijder, alg_locatie_verwijder); +END; +/ + +CREATE TRIGGER alg_t_alg_bouwdeel_B_IU +BEFORE INSERT OR UPDATE ON alg_bouwdeel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_bouwdeel_key, alg_s_alg_bouwdeel_key); + UPDATE_UPPER(alg_bouwdeel_omschrijving, alg_bouwdeel_upper); +// Restricted/Cascade +// CHECK_REFERENCES(alg_locatie, alg_district_key, alg_district_verwijder, alg_locatie_verwijder); +END; +/ +#endif + +INSERT INTO fac_entity_name VALUES('ALG_OBJECTDEEL', 'Objectdeel', 'Objectdelen', 'het'); +INSERT INTO fac_entity_name VALUES('ALG_OBJECTDEEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +INSERT INTO fac_entity_name VALUES('ALG_SYSTEEMCLUSTER', 'Syst.cluster', 'Syst.clusters', 'de'); +INSERT INTO fac_entity_name VALUES('ALG_SYSTEEMCLUST_OMSCHRIJVING', 'Omschrijving', 'Omschrinvingen', 'de'); +INSERT INTO fac_entity_name VALUES('ALG_BOUWDEEL', 'Bouwdeel', 'Bouwdelen', 'het'); +INSERT INTO fac_entity_name VALUES('ALG_BOUWDEEL_OMSCHRIJVING', 'Omshrijving', 'Omschrijvingen', 'de'); +INSERT INTO fac_entity_name VALUES('RMC_ALG_REGIO', 'RMC', 'RMC''s', 'de'); +INSERT INTO fac_entity_name VALUES('RMC_ALG_DISTRICT', 'Garnizoen', 'Garnizoenen', 'het'); +INSERT INTO fac_entity_name VALUES('RMC_ALG_REGIO', 'RMC', 'RMC''s', 'de'); +INSERT INTO fac_entity_name VALUES('RMC_ALG_DISTRICT', 'Garnizoen', 'Garnizoenen', 'het'); +INSERT INTO fac_entity_name VALUES('RMC_MENU_LABEL', 'Klantindeling', NULL, 'de'); + + +INSERT INTO fac_message VALUES('ALG_M162', 'Verwijderen objectdeel '); +INSERT INTO fac_message VALUES('ALG_M163', 'Verwijderen systeemcluster '); +INSERT INTO fac_message VALUES('ALG_M164', 'Gebouw/Terreinsector bij systeemcluster'); +INSERT INTO fac_message VALUES('ALG_M165', 'Verwijderen gebouw/terreinsector bij systeemcluster '); +INSERT INTO fac_message VALUES('ALG_M166', 'Bouwlaag bij bouwdeel'); +INSERT INTO fac_message VALUES('ALG_M167', 'Verwijderen bouwlaag bij bouwdeel '); +INSERT INTO fac_message VALUES('ALG_M168', 'De omschrijving van het objectdeel is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M169', 'Het objectdeel is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M170', 'De omschrijving van de systeemcluster is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M171', 'Het gebouw is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M172', 'De omschrijving van het bouwdeel is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M173', 'De systeemcluster is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M174', 'Gebouw of terreinsector is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M175', 'Gebouw en terreinsector kunnen niet beide ingevuld worden.'); +INSERT INTO fac_message VALUES('ALG_M176', 'Bouwdeel is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M177', 'Bouwlaag is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M178', 'Verwijderen bouwdeel '); +INSERT INTO fac_message VALUES('ALG_M179', 'De RMC is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M180', 'Object bij garnizoen'); +INSERT INTO fac_message VALUES('ALG_M181', 'Verwijderen object bij garnizoen '); + +INSERT INTO fac_message VALUES('RMC_M001', 'Verwijderen RMC '); +INSERT INTO fac_message VALUES('RMC_M002', 'Verwijderen Garnizoen '); +INSERT INTO fac_message VALUES('RMC_M003', 'De omschrijving voor de RMC is niet ingevuld.'); +INSERT INTO fac_message VALUES('RMC_M004', 'De RMC is niet ingevuld.'); +INSERT INTO fac_message VALUES('RMC_M005', 'De omschrijving voor het garnizoen is niet ingevuld.'); + +#ifdef ALG + +CREATE TRIGGER alg_t_alg_locatie_B_IU +BEFORE INSERT OR UPDATE ON alg_locatie +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_locatie_key, alg_s_alg_locatie_key); + UPDATE_UPPER(alg_locatie_code, alg_locatie_code); + UPDATE_UPPER(alg_locatie_omschrijving, alg_locatie_upper); + CHECK_NOG_REFERENCES(alg_locatie, alg_locatie_verwijder, alg_v_aanwezigobjectdeel, + alg_locatie_key, 'alg_m185'); +END; +/ + +CREATE TRIGGER alg_t_alg_objectdeel_B_IU +BEFORE INSERT OR UPDATE ON alg_objectdeel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_objectdeel_key, alg_s_alg_objectdeel_key); + UPDATE_UPPER(alg_objectdeel_omschrijving, alg_objectdeel_upper); + SET_VERWIJDER_CHILDREN(alg_systeemcluster, alg_objectdeel_key, alg_objectdeel_verwijder, + alg_systeemcluster_verwijder); +END; +/ + +CREATE TRIGGER alg_t_alg_systeemcluster_B_IU +BEFORE INSERT OR UPDATE ON alg_systeemcluster +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_systeemcluster_key, alg_s_alg_systeemcluster_key); + UPDATE_UPPER(alg_systeemclust_omschrijving, alg_systeemcluster_upper); + CHECK_NOG_REFERENCES(alg_systeemcluster, alg_systeemcluster_verwijder, + alg_v_aanweziggebouw, alg_systeemcluster_key, 'alg_m182'); +END; +/ + +CREATE TRIGGER alg_t_alg_bouwdeel_B_IU +BEFORE INSERT OR UPDATE ON alg_bouwdeel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_bouwdeel_key, alg_s_alg_bouwdeel_key); + UPDATE_UPPER(alg_bouwdeel_omschrijving, alg_bouwdeel_upper); + CHECK_NOG_REFERENCES(alg_bouwdeel, alg_bouwdeel_verwijder, + alg_v_aanwezigverdieping, alg_bouwdeel_key, 'alg_m183'); +END; +/ + +CREATE TRIGGER alg_t_alg_gebouw_B_IU +BEFORE INSERT OR UPDATE ON alg_gebouw +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_gebouw_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_gebouw_code, alg_gebouw_upper); + :new.alg_gebouw_omschrijving := SUBSTRB(:new.alg_gebouw_code ||' - '|| :new.alg_gebouw_naam,1,30); + CHECK_NOG_REFERENCES(alg_gebouw, alg_gebouw_verwijder, alg_v_aanwezigbouwdeel, + alg_gebouw_key, 'alg_m184'); + LAAT_VERDIEPING_VERVALLEN_VOOR_GEBOUW('alg_m54'); +#ifdef MRA + IF :new.alg_gebouw_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key; + END IF; + IF :new.alg_srtgebouw_key <> :old.alg_srtgebouw_key + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key AND + mra_voorschrift_key IN (SELECT mra_voorschrift_key + FROM mra_srtgebouwvoorschr + WHERE mra_srtgebouw_key = :old.alg_srtgebouw_key) + AND mra_onrgoedvoorschr_type = 'G'; + + END IF; +#endif // MRA +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_gebouw_key, + alg_gebouw_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +END; +/ + +#endif // ALG + +INSERT INTO fac_message VALUES('ALG_M182', 'Er zijn nog gebouw gekoppeld aan het systeemcluster.'); +INSERT INTO fac_message VALUES('ALG_M183', 'Er zijn nog bouwlagen gekoppeld aan het bouwdeel.'); +INSERT INTO fac_message VALUES('ALG_M184', 'Er zijn nog bouwdelen gekoppeld aan het gebouw.'); +INSERT INTO fac_message VALUES('ALG_M185', 'Er zijn nog objectdelen gekoppeld aan het object.'); + +DEF_FAC_ENTITY ('INS_DEEL_REALISATIE', 'Realisatie', NULL, NULL); +DEF_FAC_MESSAGE ('ALG_M186', 'Het veld moet van formaat MMJJJJ zijn.'); + +#ifdef BEB +DEF_FAC_FORM('INS125', NULL, 'MODULE ,'171250','INS_INS125','Mutatiescherm Deel (BEB)'); +#endif +DELETE FROM fac_message +WHERE fac_message_code = 'BCO_M54' + OR fac_message_code = 'BCO_M59'; +DEF_FAC_MESSAGE ('BCO_M54', 'Het jaar of de week is niet correct ingevuld.'); +DEF_FAC_MESSAGE ('BCO_M59', 'Het jaar of de week is niet correct ingevuld.'); + +DELETE FROM fac_message +WHERE fac_message_code = 'BCO_M55' + OR fac_message_code = 'BCO_M56' + OR fac_message_code = 'ALG_M108'; +INSERT INTO FAC_MESSAGE VALUES('BCO_M55', 'Verwijderen record'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M56', 'Verwijderen record jaarweek %1% van persoon %2%'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M108', 'Datum %1% moet van formaat %2% zijn.'); + +DEF_FAC_MESSAGE ('BCO_M131', 'De maatregel wordt nog gebruikt een opdracht.'); + +#ifdef BCO +CREATE TRIGGER bco_t_bco_maatregel_B_IU +BEFORE INSERT OR UPDATE ON bco_maatregel +FOR EACH ROW +BEGIN +UPDATE_PRIMARY_KEY(bco_maatregel_key, bco_s_bco_maatregel_key); +UPDATE_UPPER(bco_maatregel_afk, bco_maatregel_afk_upper); + /* BCO_MAATREGEL_WERKOPDR: 1 maatregel mag niet gekoppeld worden + * aan een defectsrtinst. + * IS NULL, maatregel mag gekoppeld worden + * aan een defectsrtinst. + */ + IF (:old.bco_maatregel_werkopdr IS NULL + AND :new.bco_maatregel_werkopdr = 1) + THEN + DECLARE + dummy VARCHAR2(1); + BEGIN + SELECT 'X' + INTO dummy + FROM bco_defectsrtinst + WHERE bco_maatregel_key = :new.bco_maatregel_key; + APPLICATION_ERROR(-20000,'bco_m097'); + EXCEPTION + WHEN NO_DATA_FOUND THEN NULL; + END; + ELSIF (:old.bco_maatregel_werkopdr = 1 + AND :new.bco_maatregel_werkopdr IS NULL) + THEN + DECLARE + dummy VARCHAR2(1); + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr + WHERE bco_maatregel_key = :new.bco_maatregel_key; + APPLICATION_ERROR(-20000,'bco_m131'); + EXCEPTION + WHEN NO_DATA_FOUND THEN NULL; + END; + END IF; + IF :new.bco_maatregel_verwijder IS NOT NULL + THEN + NULL; +-- APPLICATION_ERROR(-20000, 'bco_m109'); + END IF; + SET_VERWIJDER_CHILDREN(bco_defectsrtinst, bco_maatregel_key, + bco_maatregel_verwijder, bco_defectsrtinst_verwijder); +END; +/ +#endif // BCO + +INSERT INTO fac_message VALUES('BCP_M099', 'Er zijn nog lopende preventieve opdrachten.'); + +#ifdef BCP +DROP TRIGGER bcp_t_bcp_verzamel_B_IU; +CREATE TRIGGER bcp_t_bcp_verzamel_B_IU +BEFORE INSERT OR UPDATE ON bcp_verzamel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(bcp_verzamel_key, bcp_s_bcp_verzamel_key); + UPDATE_UPPER(bcp_verzamel_omschrijving, bcp_verzamel_upper); + // LOG#877 + //CHECK_NOG_REFERENCES(bcp_verzamel, bcp_verzamel_verwijder, + // bcp_v_aanwezigtaak, bcp_verzamel_key, 'bcp_m051'); + //CHECK_NOG_REFERENCES(bcp_verzamel, bcp_verzamel_verwijder, + // bcp_v_aanwezigdeelopdr, bcp_verzamel_key, 'bcp_m052'); + SET_VERWIJDER_CHILDREN(bcp_taak, bcp_verzamel_key, bcp_verzamel_verwijder, + bcp_taak_verwijder); + SET_VERWIJDER_CHILDREN(bcp_deelopdr, bcp_verzamel_key, bcp_verzamel_verwijder, + bcp_deelopdr_verwijder); + // Meetrapporten worden nu in BCP013 verwijderd. + // Alternatief staat in LOG#886 +END; +/ + +DROP TRIGGER bcp_t_bcp_taak_B_IU; +CREATE TRIGGER bcp_t_bcp_taak_B_IU +BEFORE INSERT OR UPDATE ON bcp_taak +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(bcp_taak_key, bcp_s_bcp_taak_key); + // LOG#877, Een taak mag alleen verwijderd worden als de bijbehorende + // BCP_PREVOPDR's de status 'Verwerkt' hebben. + IF :new.bcp_taak_verwijder IS NOT NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S + WHERE (MLD_S.mld_statusopdr_upper = 'BCP_INGEPLAND' + OR MLD_S.mld_statusopdr_upper = 'BCP_UITGEGEVEN' + OR MLD_S.mld_statusopdr_upper = 'BCP_AFGEMELD') + AND MLD_S.mld_statusopdr_key = BCP_P.bcp_mld_statusopdr_key + AND BCP_P.bcp_taak_key = :new.bcp_taak_key; + APPLICATION_ERROR(-20000, 'bcp_m099'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'bcp_m099'); + END; + END IF; +END; +/ +// Update ON DELETE CASCADE van Meting +CREATE TABLE OLD_bcp_meetrapport +AS SELECT * FROM bcp_meetrapport; + +CREATE TABLE OLD_bcp_meting +AS SELECT * FROM bcp_meting; + +DROP TABLE bcp_meting; +DROP TABLE bcp_meetrapport; + +CREATE TABLE bcp_meetrapport +( + bcp_meetrapport_key + NUMBER(10) + PRIMARY KEY, + bcp_verzamel_key + NUMBER(10) + NOT NULL + REFERENCES bcp_verzamel, + bcp_meetrapport_omschrijving + VARCHAR2(30) + NOT NULL, + bcp_meetrapport_upper + VARCHAR2(30) + NOT NULL, + bcp_meetrapport_kolom1 + VARCHAR2(20), + bcp_meetrapport_kolom2 + VARCHAR2(20), + bcp_meetrapport_kolom3 + VARCHAR2(20), + UNIQUE(bcp_verzamel_key, bcp_meetrapport_upper) +); + +CREATE TABLE bcp_meting +( + bcp_meting_key + NUMBER(10) + PRIMARY KEY, + bcp_meetrapport_key + NUMBER(10) + NOT NULL + REFERENCES bcp_meetrapport ON DELETE CASCADE, + bcp_ins_srtinst_keys + NUMBER(10) + NOT NULL, + bcp_meting_omschrijving + VARCHAR2(30) + NOT NULL, + bcp_meting_upper + VARCHAR2(30) + NOT NULL, + bcp_meting_eenheid + VARCHAR2(15), + UNIQUE(bcp_meetrapport_key,bcp_meting_upper) +); + +CREATE TRIGGER bcp_t_bcp_meetrapport_B_IU +BEFORE INSERT OR UPDATE ON bcp_meetrapport +FOR EACH ROW +BEGIN +IF :new.bcp_meetrapport_key IS NULL THEN SELECT bcp_s_bcp_meetrapport_key.nextval INTO :new.bcp_meetrapport_key FROM DUAL; END IF; +:new.bcp_meetrapport_upper := UPPER(:new.bcp_meetrapport_omschrijving); +END; +/ + +CREATE TRIGGER bcp_t_bcp_meting_B_IU +BEFORE INSERT OR UPDATE ON bcp_meting +FOR EACH ROW +BEGIN +IF :new.bcp_meting_key IS NULL THEN SELECT bcp_s_bcp_meting_key.nextval INTO :new.bcp_meting_key FROM DUAL; END IF; +:new.bcp_meting_upper := UPPER(:new.bcp_meting_omschrijving); +DECLARE dummy CHAR; BEGIN SELECT 'X' INTO dummy FROM ins_v_aanwezigsrtdeel WHERE ins_srtdeel_key = :new.bcp_ins_srtinst_keys; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN SELECT 'X' INTO dummy FROM ins_v_aanwezigsrtonderdeel WHERE ins_srtonderdeel_key = :new.bcp_ins_srtinst_keys; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN SELECT 'X' INTO dummy FROM ins_v_aanwezigsrtelement WHERE ins_srtelement_key = :new.bcp_ins_srtinst_keys; EXCEPTION WHEN NO_DATA_FOUND THEN raise_application_error(-20000, 'ins_m21'); END; END; END; +END; +/ + +INSERT INTO bcp_meetrapport +SELECT * FROM old_bcp_meetrapport; + +INSERT INTO bcp_meting +SELECT * FROM old_bcp_meting; + +DROP TABLE old_bcp_meting; +DROP TABLE old_bcp_meetrapport; + +#endif // BCP + +DEF_FAC_MESSAGE ('bcp_m046','Aantal weken moet tussen 1 en 480 liggen'); + +#ifdef BCP +ALTER TABLE bcp_meterstand +DROP UNIQUE(bcp_prevopdr_key, bcp_ins_inst_keys); + +ALTER TABLE bcp_meterstand +ADD UNIQUE(bcp_prevopdr_key, bcp_deelopdr_key, bcp_ins_inst_keys); +#endif // BCP + +DELETE FROM fac_message +WHERE fac_message_code = 'INS_M017' + OR fac_message_code = 'INS_M018'; + +DEF_FAC_MESSAGE ('ALG_M187', 'De waarde mag niet gewijzigd worden.'); +DEF_FAC_MESSAGE ('ALG_M105', 'Waarde %1% voldoen niet aan formaat %2%.'); +DEF_FAC_MESSAGE ('PRS_M091', 'Er zijn nog personen bij deze functie, wijzigen van bedrijf kan niet.'); + +#ifdef PRS +DROP TRIGGER prs_t_prs_srtperslid_B_IU; +CREATE TRIGGER prs_t_prs_srtperslid_B_IU +BEFORE INSERT OR UPDATE ON prs_srtperslid +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_srtperslid_key, prs_s_prs_alluitvoerende_keys); + UPDATE_UPPER(prs_srtperslid_omschrijving, prs_srtperslid_upper); + CHECK_NOG_REFERENCES(prs_perslid, prs_srtperslid_verwijder, + prs_v_aanwezigperslid, prs_srtperslid_key, 'prs_m014'); +#ifdef BCO + // Niet verwijderen als nog aangegeven als default uitvoerende + IF :new.prs_srtperslid_verwijder IS NOT NULLDATUM THEN + DECLARE + dummy CHAR(1); + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigsrtdeel + WHERE bco_defaultuitv_keys = :new.prs_srtperslid_key; + APPLICATION_ERROR(-20000, 'prs_m059'); + EXCEPTION + WHEN no_data_found + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m059'); + END; + END IF; + // 25-10-96 AH LOG#906 + // Als er personen bij deze functie zijn en er wordt geprobeerd de functie + // extern te maken, dan mogen er geen personen bij deze functie zijn. + IF :new.prs_bedrijf_key IS NOT NULL + AND :old.prs_bedrijf_key IS NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_v_aanwezigperslid + WHERE prs_srtperslid_key = :new.prs_srtperslid_key; + APPLICATION_ERROR(-20000, 'prs_m091'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m091'); + END; + END IF; +#endif // BCO +#ifdef MLD + // Niet verwijderen als nog MLD_OPDR's zijn met status 'Uitgegeven' en + // uitvoerende deze SRTPERSLID. + IF :new.prs_srtperslid_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND MLD_O.mld_uitvoerende_keys = :new.prs_srtperslid_key; + APPLICATION_ERROR(-20000, 'prs_m084'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m084'); + END; + END IF; +#endif // MLD +#ifdef BCP + // Niet verwijderen als nog BCP_PREVOPDR's zijn met status 'Uitgegeven' en + // uitvoerende deze SRTPERSLID. + IF :new.prs_srtperslid_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND BCP_P.bcp_mld_uitvoerende_keys = :new.prs_srtperslid_key; + APPLICATION_ERROR(-20000, 'prs_m084'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m084'); + END; + END IF; +#endif // BCP +END; +/ + +DROP TRIGGER prs_t_prs_perslid_B_IU; +CREATE TRIGGER prs_t_prs_perslid_B_IU +BEFORE INSERT OR UPDATE ON prs_perslid +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_perslid_key, prs_s_prs_alluitvoerende_keys); + UPDATE_UPPER(prs_perslid_naam, prs_perslid_upper); + SET_VERWIJDER_CHILDREN(prs_perslidwerkplek, prs_perslid_key, + prs_perslid_verwijder, prs_perslidwerkplek_verwijder); +#ifdef INV + /* Ontkoppel de artikelen van de te verwijderen persoon. + * De artikelen kunnen gekoppeld zijn aan een ruimte, werkplek of + * slaapplaats: + * - Als dit zo is, dan kan er een ander artikel al op die + * plek staan. Het artikel moet dan gemerged worden. + * - Als er geen ander artikel is dan kan gewoon PRS_BEZIT_KEY leeg gemaakt + * worden. + */ + IF :new.prs_perslid_verwijder IS NOT NULL + THEN + DECLARE + CURSOR Cur1(perslid_key IN NUMBER) IS (SELECT ins_deel_key, + ins_srtdeel_key, + ins_deel_omschrijving, + ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_prs_bezit_key, + ins_deel_aantal + FROM inv_v_aanwezigdeel + WHERE ins_prs_bezit_key = perslid_key + AND ins_prs_bezit_type = 'P'); + Cur_rec Cur1%ROWTYPE; + deel_key NUMBER(10); + deel_omschrijving VARCHAR2(50); + ruimte_key NUMBER(10); + ruimte_type VARCHAR2(1); + BEGIN + /* Doorloop alle inventaris van de verwijderde persoon */ + FOR Cur_rec IN Cur1(:old.prs_perslid_key) + LOOP + BEGIN + /* Als er een koppeling met ruimte, werkplek of slaapplaats is + * dan mergen (aantal van INS_DEEL ophogen). + */ + SELECT ins_deel_key, + ins_alg_ruimte_key, + ins_alg_ruimte_type + INTO deel_key, + ruimte_key, + ruimte_type + FROM inv_v_aanwezigdeel + WHERE ins_srtdeel_key = Cur_rec.ins_srtdeel_key + AND NVL(ins_deel_omschrijving, ' ') = NVL(Cur_rec.ins_deel_omschrijving, ' ') + AND NVL(ins_alg_ruimte_key, -1) = NVL(Cur_rec.ins_alg_ruimte_key, -1) + AND NVL(ins_alg_ruimte_type, ' ') = NVL(Cur_rec.ins_alg_ruimte_type, ' ') + AND ins_prs_bezit_key IS NULL + AND ins_prs_bezit_type IS NULL; + UPDATE ins_deel + SET ins_deel_aantal = ins_deel_aantal + Cur_rec.ins_deel_aantal + WHERE ins_deel_key = deel_key; + UPDATE ins_deel + SET ins_deel_verwijder = SYSDATE + WHERE ins_deel_key = Cur_rec.ins_deel_key; + EXCEPTION + /* Ander kan gewoon PRS_BEZIT_KEY leeg gemaakt worden. */ + WHEN NO_DATA_FOUND + THEN UPDATE ins_deel + SET ins_prs_bezit_key = NULL, + ins_prs_bezit_type = NULL + WHERE ins_deel_key = Cur_rec.ins_deel_key; + END; + END LOOP; + END; + END IF; +#endif // INV +#ifdef MLD + // Niet verwijderen als nog MLD_OPDR's zijn met status 'Uitgegeven' en + // uitvoerende deze PERSLID. + IF :new.prs_perslid_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND MLD_O.mld_uitvoerende_keys = :new.prs_perslid_key; + APPLICATION_ERROR(-20000, 'prs_m085'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m085'); + END; + END IF; +#endif // MLD +#ifdef BCP + // Niet verwijderen als nog BCP_PREVOPDR's zijn met status 'Uitgegeven' en + // uitvoerende deze PERSLID. + IF :new.prs_perslid_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND BCP_P.bcp_mld_uitvoerende_keys = :new.prs_perslid_key; + APPLICATION_ERROR(-20000, 'prs_m085'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m085'); + END; + END IF; +#endif // BCP +// 28-10-96/AH #910 +#if 0 //def BCO + // Verwijder ook de BCO_NIETBESCHIK van deze PERSLID + IF :new.prs_perslid_verwijder IS NOT NULLDATUM + THEN + DELETE FROM bco_nietbeschik + WHERE bco_prs_perslid_key = :new.prs_perslid_key; + END IF; +#endif // BCO +END; +/ + +#endif // PRS + +#ifdef MLD +CREATE_VIEW(prs_v_mld_bestek_geraamd, NORMAAL_PRIVILEGE) + (prs_bestek_key, + prs_bestek_geraamd + ) AS + SELECT PRS_B.prs_bestek_key, + SUM(NVL(MLD_O.mld_opdr_materiaal, 0)) + FROM prs_bestek PRS_B, prs_disciplinebestek PRS_DB, + mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + OR MLD_S.mld_statusopdr_omschrijving = 'Afgemeld') + AND PRS_B.prs_bestek_key = PRS_DB.prs_bestek_key + AND PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys + GROUP BY PRS_B.prs_bestek_key; +#endif // MLD + +#ifdef BCP +CREATE_VIEW(prs_v_bcp_bestek_geraamd, NORMAAL_PRIVILEGE) + (prs_bestek_key, + prs_bestek_geraamd + ) AS + SELECT PRS_B.prs_bestek_key, + SUM(NVL(BCP_P.bcp_prevopdr_materiaal, 0)) + FROM prs_bestek PRS_B, prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P, + mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + OR MLD_S.mld_statusopdr_omschrijving = 'Afgemeld') + AND PRS_B.prs_bestek_key = PRS_DB.prs_bestek_key + AND PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + AND BCP_P.bcp_prevopdr_verwijder IS NULL + GROUP BY PRS_B.prs_bestek_key; +#endif // BCP + +#ifdef INS +CREATE_VIEW(prs_v_prs_bestek_gegevens, NORMAAL_PRIVILEGE) + (prs_bestek_key, + prs_bestek_nr, + prs_bestek_upper_nr, + prs_bestek_omschrijving, + prs_bestek_materiaalpost, + prs_bestek_materiaalbesteed, + prs_bestek_materiaalgeraamd, + prs_bestek_begindatum, + prs_bestek_einddatum) AS + SELECT PRS_B.prs_bestek_key, + PRS_B.prs_bestek_nr, + PRS_B.prs_bestek_upper_nr, + PRS_B.prs_bestek_omschrijving, + PRS_B.prs_bestek_materiaalpost, + PRS_B.prs_bestek_materiaalbesteed, + SUM( +#ifdef MLD + NVL(MLD_B.prs_bestek_geraamd, 0) +#else + 0 +#endif + + +#ifdef BCP + NVL(BCP_B.prs_bestek_geraamd, 0) +#else + 0 +#endif + ), + PRS_B.prs_bestek_begindatum, + PRS_B.prs_bestek_einddatum + FROM prs_bestek PRS_B +#ifdef MLD + , prs_v_mld_bestek_geraamd MLD_B +#endif +#ifdef BCP + , prs_v_bcp_bestek_geraamd BCP_B +#endif + WHERE PRS_B.prs_bestek_key IS NOT NULL +#ifdef MLD + AND MLD_B.prs_bestek_key (+) = PRS_B.prs_bestek_key +#endif +#ifdef BCP + AND BCP_B.prs_bestek_key (+) = PRS_B.prs_bestek_key +#endif + GROUP BY PRS_B.prs_bestek_key, + PRS_B.prs_bestek_nr, + PRS_B.prs_bestek_upper_nr, + PRS_B.prs_bestek_omschrijving, + PRS_B.prs_bestek_materiaalpost, + PRS_B.prs_bestek_materiaalbesteed, + PRS_B.prs_bestek_begindatum, + PRS_B.prs_bestek_einddatum; +#endif // INS + +#ifdef BCO +DEF_FAC_MESSAGE ('PRS_M092', 'Er zijn nog opdrachten bij dit object.'); +#else +DEF_FAC_MESSAGE ('PRS_M092', 'Er zijn nog opdrachten bij deze locatie.'); +#endif + +#ifdef PRS +CREATE TRIGGER prs_t_prs_locatiebestek_B_D +BEFORE DELETE ON prs_locatiebestek +FOR EACH ROW +BEGIN +#ifdef MLD + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, mld_opdr MLD_O, + mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL, + mld_statusopdr MLD_S + WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = :old.alg_locatie_key + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_S.mld_statusopdr_key = MLD_O.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20002, 'prs_m092'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m092'); + END; +#endif +#ifdef BCP + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P, + bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL, + mld_statusopdr MLD_S + WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = :old.alg_locatie_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND MLD_S.mld_statusopdr_key = BCP_P.bcp_mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20002, 'prs_m092'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m092'); + END; +#endif +#if !defined(MLD) && !defined(BCP) + NULL; +#endif +END; +/ +#endif + +#ifdef PRS +UPDATE prs_bestek +SET prs_bestek_documentatie = NULL; + +ALTER TABLE prs_bestek +MODIFY +( + prs_bestek_documentatie + VARCHAR2(255) +); +#endif +#ifdef INS +UPDATE ins_deel +SET bco_deel_documentatie = NULL; + +ALTER TABLE ins_deel +MODIFY +( + bco_deel_documentatie + VARCHAR2(255) +); + +REM 06-11-96/KTH achteraf toegevoegd, bleek vergeten door AH?! +ALTER TABLE ins_deel +ADD +( + ins_deel_realisatie + VARCHAR2(6) +); + +#endif +#ifdef BCO +DROP PROCEDURE kopieer_deel; +CREATE PROCEDURE kopieer_deel (deel_key NUMBER, + nieuw_deel_key NUMBER, + plaats_key NUMBER, + plaats_type VARCHAR2) AS + documentatie_veld ins_deel.bco_deel_documentatie%TYPE; +BEGIN + + SELECT bco_deel_documentatie INTO documentatie_veld + FROM ins_deel WHERE ins_deel_key = deel_key; + + INSERT INTO ins_deel (ins_deel_key, + ins_deel_module, + ins_srtdeel_key, + ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_deel_aantal, + ins_deel_omschrijving, + ins_deel_fabrikaat, + ins_deel_type, + ins_deel_serienr, + ins_deel_bouwjaar, + ins_deel_capaciteit, + ins_deel_prijs, + ins_deel_levensduur, + ins_deel_opmerking, + bco_deel_prevprint, + bco_deel_documentatie) + SELECT nieuw_deel_key, + ins_deel_module, + ins_srtdeel_key, + plaats_key, + plaats_type, + ins_deel_aantal, + ins_deel_omschrijving, + ins_deel_fabrikaat, + ins_deel_type, + ins_deel_serienr, + ins_deel_bouwjaar, + ins_deel_capaciteit, + ins_deel_prijs, + ins_deel_levensduur, + ins_deel_opmerking, + bco_deel_prevprint, + documentatie_veld + FROM ins_deel + WHERE ins_deel_key = deel_key; + END; +/ +#endif // BCO +DEF_FAC_MESSAGE ('PRS_M093', 'File %1% bestaat niet.'); + +#ifdef BEB + +DELETE FROM fac_entity_name +WHERE fac_entity_system_name in + ('ALG_TERREINSECTOR', + 'ALG_TERREINSECTOR_B', + 'ALG_TERREINSECTOR_CODE', + 'ALG_TERREINSECTOR_NAAM'); + +INSERT INTO FAC_ENTITY_NAME VALUES('ALG_TERREINSECTOR', 'Terrein/Werk', 'Terreinen/Werken', 'het'); +INSERT INTO FAC_ENTITY_NAME VALUES('ALG_TERREINSECTOR_B', 'Terrein/Werk', 'Terreinen/Werken', 'het'); +INSERT INTO FAC_ENTITY_NAME VALUES('ALG_TERREINSECTOR_CODE','Terreincode', 'Terreincodes', 'de'); +INSERT INTO FAC_ENTITY_NAME VALUES('ALG_TERREINSECTOR_NAAM','Terreinnaam', 'Terreinnamen', 'de'); + +DELETE FROM fac_message +WHERE fac_message_code IN + ('ALG_M090', + 'ALG_M125', + 'ALG_M126', + 'ALG_M164', + 'ALG_M165', + 'ALG_M175', + 'ALG_M174', + 'BCP_M054', + 'BCP_M078', + 'INS_M83', + 'INS_M095', + 'BEV_M003', + 'MLD_M40', + 'MLD_M44', + 'MLD_M53', + 'MRA_M017', + 'MRA_M018', + 'MRA_M023', + 'MRA_BEST_T', + 'SLE_M3'); + + + +INSERT INTO FAC_MESSAGE VALUES('ALG_M090', 'Het gebouw, de bouwlaag, de ruimte of het terrein/werk bestaat niet.'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M125', 'Omschrijving voor het terrein/werk is niet ingevuld.' ); +INSERT INTO FAC_MESSAGE VALUES('ALG_M126', 'Omschrijving voor het terrein/werk bestaat al.'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M164', 'Gebouw/Terrein/Werk bij systeemcluster'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M165', 'Verwijderen gebouw/terrein/werk bij systeemcluster '); +INSERT INTO FAC_MESSAGE VALUES('ALG_M175', 'Gebouw en terrein/werk kunnen niet beide ingevuld worden.'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M174', 'Gebouw of terrein/werk is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('BCP_M054','Installatiewaarde per gebouw/terrein/werk'); +INSERT INTO FAC_MESSAGE VALUES('BCP_M078', 'Aantal extra taken aangemaakt voor Terreinen/Werken: %1%'); +INSERT INTO FAC_MESSAGE VALUES('INS_M83', 'De ruimte of het terrein/werk bestaat niet.'); +INSERT INTO FAC_MESSAGE VALUES('INS_M095', 'Terrein/Werk bestaat niet.'); +INSERT INTO FAC_MESSAGE VALUES('BEV_M003', 'Gebouw of terrein/werk moet ingevuld worden.'); +INSERT INTO FAC_MESSAGE VALUES('MLD_M40', 'Gebouw of terrein/werk is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('MLD_M44', 'Gebouw, bouwlaag, ruimte of terrein/werk is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('MLD_M53', 'Gebouw, bouwlaag of ruimte en terrein/werk zijn beide ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('MRA_M017','Verwijderen terrein/werk '); +INSERT INTO FAC_MESSAGE VALUES('MRA_M018','Omschrijving terrein/werk is niet ingevuld'); +INSERT INTO FAC_MESSAGE VALUES('MRA_M023','De omschrijving van de terrein/werk bestaat al'); +INSERT INTO FAC_MESSAGE VALUES('MRA_BEST_T', 'Bestemming bij terrein/werk'); +INSERT INTO FAC_MESSAGE VALUES('SLE_M3', 'Het gebouw, de bouwlaag, de ruimte of de terrein/werk is niet ingevuld.'); +#endif + +DELETE FROM fac_entity_name +WHERE fac_entity_system_name = 'RMC_MENU_LABEL'; +INSERT INTO FAC_ENTITY_NAME VALUES('RMC_MENU_LABEL', 'NATCO-indeling', NULL, 'de'); + +DELETE FROM fac_message +WHERE fac_message_code IN ('BEB_MI19', + 'BEB_MI30', + 'BEB_MI31'); + +INSERT INTO FAC_MESSAGE VALUES('BEB_MI19', 'c. Langs welke weg wordt gemeld'); +INSERT INTO FAC_MESSAGE VALUES('BEB_MI30', ' - Welke jaar werd het systeem aangebracht'); +INSERT INTO FAC_MESSAGE VALUES('BEB_MI31', ' - Welke jaar laatste renovatie verricht'); + +DELETE FROM fac_message +WHERE fac_message_code IN ('INS_M107'); + +INSERT INTO FAC_MESSAGE VALUES('INS_M107', 'Alle plaatsen afdrukken'); +INSERT INTO FAC_ENTITY_NAME VALUES('BEV_PRINT_TOTAAL', 'TOTAAL', NULL, NULL); +INSERT INTO FAC_ENTITY_NAME VALUES('BEV_VULLING_VERSIE', 'REGIS 1.00', NULL, NULL); + +DELETE FROM fac_message +WHERE fac_message_code IN ('INS_M110', 'BEB_MI4'); + +INSERT INTO FAC_MESSAGE VALUES('INS_M110', 'Inventarisatie Meldingsystemen'); +INSERT INTO FAC_MESSAGE VALUES('BEB_MI4', '2. Informatie meldingsysteem'); + +DEF_FAC_MESSAGE ('ALG_M188', 'Object %1% behoort nu tot garnizoen %2%. Doorgaan?'); +DEF_FAC_MESSAGE ('ALG_M189', 'Gebouw %1% behoort nu tot systeemcluster %2%. Doorgaan?'); +DEF_FAC_MESSAGE ('ALG_M190', 'Terrein/Werk %1% behoort nu tot systeemcluster %2%. Doorgaan?'); +DEF_FAC_MESSAGE ('ALG_M191', 'Bouwlaag %1% behoort nu tot bouwdeel %2%. Doorgaan?'); +INSERT INTO FAC_MESSAGE VALUES('INS_M111', 'Pagina %1% geprint.'); +INSERT INTO FAC_MESSAGE VALUES('INS_M112', 'Voorbereiden pagina %1%.'); +INSERT INTO FAC_MESSAGE VALUES('BEV_M011', 'Bouwlaag is wel ingevuld en ruimte niet.'); + +DELETE FROM fac_message +WHERE fac_message_code in ('BCO_M131', + 'BCO_M097', 'BCO_M56'); + +INSERT INTO FAC_MESSAGE VALUES('BCO_M131', 'De maatregel wordt nog gebruikt in opdrachten.'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M097', 'De maatregel wordt nog gebruikt bij defecten.'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M56', 'Verwijderen jaarweek %1% van persoon %2%?'); + +DELETE FROM fac_message +WHERE fac_message_code in ('PRS_M019'); + + +INSERT INTO FAC_MESSAGE VALUES('PRS_M019', 'Verwijderen persoon '); + +DEF_FAC_MESSAGE ('PRS_M094', '%1% kan niet gestart worden.'); +DEF_FAC_MESSAGE ('ALG_M192', 'Het huidge record is gewijzigd door iemand anders'); + +DELETE FROM fac_message +WHERE fac_message_code in ('BEB_MI30', BEB_MI31', 'BEB_MI32'); + +INSERT INTO FAC_MESSAGE VALUES('BEB_MI30', ' - Welk jaar werd het systeem aangebracht'); +INSERT INTO FAC_MESSAGE VALUES('BEB_MI31', ' - Welk jaar laatste renovatie verricht'); +INSERT INTO FAC_MESSAGE VALUES('BEB_MI32', 'h. Geschatte technische levensduur vanvaf 1995'); +INSERT INTO FAC_MESSAGE VALUES('PRS_M095', 'Verwijderen afdeling/persoon '); +INSERT INTO FAC_MESSAGE VALUES('ALG_M193', 'Het garnizoen is niet ingevuld.'); + +PROMPT Vergeet niet te committen! diff --git a/_UP/121TO122.SRC b/_UP/121TO122.SRC new file mode 100644 index 00000000..76222de3 --- /dev/null +++ b/_UP/121TO122.SRC @@ -0,0 +1,254 @@ +SPOOL 121to122 + +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.21 naar 01.22 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * 08-11-96 AH INV_DEEL_GEBRUIK voor HUI-module heet 'Plaats' + * 08-11-96 AH LOG#965, 970: Messages aangepast en toegevoegd + * 07-11-96 AH LOG#985: ALG_RUIMTE-velden toeegevoegd, + * HUI_V_OVERNACHTING_GEGEVENS aangepast + * 07-11-96 AH LOG#976: FAC_GEBRUIKER-table toegevoegd + * HUI_V_AANWEZIGHUISMEESTER aangepast + * 06-11-96 AH LOG#823: INV_M049 - 053 en ALG_M194 toegevoegd + * 05-11-96 AH LOG#979: BCP_M100 - 103 toegevoegd + * 05-11-96 AH LOG#979: BCO_M132 - 135 toegevoegd + * 04-11-96 AH LOG#968: INS_M099 gekopieerd naar INS_M114 voor enkelvoud + * LOG#970: INS_M115 en 116 toegevoegd + * 04-11-96 AH INS_M113 toegevoegd + * 01-11-96 AH ALL_V_SRTDEEL_GEGEVENS aangepast voor INS012 + * 01-11-96 AH LOG#828: HUI_V_RUIMTEBOEKING_GEGEVENS aangepast + * 01-11-96 AH LOG#831: LEV_POSTADRES toegevoegd + * ------ 01.21 ----- + */ + +#include +PROMPT Upgrading van versie 121 naar 122... + +DEF_FAC_ENTITY ('LEV_POSTADRES', 'Factuuradres', NULL, NULL); + +#ifdef HUI +CREATE_VIEW(hui_v_ruimteboeking_gegevens, NORMAAL_PRIVILEGE) + (hui_ruimteboeking_key, + alg_locatie_key, + alg_gebouw_key, + alg_gebouw_code, + alg_verdieping_key, + alg_verdieping_omschrijving, + alg_verdieping_volgnr, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_upper_nr, + alg_ruimte_omschrijving, + prs_huismeester_key, + prs_perslid_key, + prs_perslid_nr, + prs_perslid_naam, + hui_ruimteboeking_begindatum, + hui_ruimteboeking_einddatum) AS + SELECT HUI_R.hui_ruimteboeking_key, + ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_code, + 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.prs_huismeester_key, + PRS_P.prs_perslid_key, + PRS_P.prs_perslid_nr, + PRS_P.prs_perslid_naam||' '||PRS_P.prs_perslid_voorletters, + HUI_R.hui_ruimteboeking_begindatum, + HUI_R.hui_ruimteboeking_einddatum + FROM alg_gebouw ALG_G, alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R, + prs_perslid PRS_P, hui_ruimteboeking HUI_R + WHERE 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 = HUI_R.hui_alg_ruimte_key + AND PRS_P.prs_perslid_key = HUI_R.hui_prs_perslid_key; + +#endif +#ifdef INS +CREATE_VIEW(all_v_srtdeel_gegevens,BIBLIOTHEEK_PRIVILEGE) AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, + ins_SG.ins_srtgroep_upper, ins_SD.ins_srtdeel_key, + ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper, + ins_SD.ins_srtdeel_module +#ifdef INV + , ins_SD.inv_srtdeel_nr +#endif + FROM all_v_aanwezigdiscipline ins_D, all_v_aanwezigsrtgroep ins_SG, + all_v_aanwezigsrtdeel ins_SD + WHERE + ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; + +#endif + +DEF_FAC_MESSAGE ('INS_M113', 'Aantal moet groter zijn dan 0.'); +DEF_FAC_MESSAGE ('INS_M114', '%1% deel van de %2% gekopieerd.'); +DEF_FAC_MESSAGE ('INS_M115', 'Ruimte mag niet ingevuld zijn.'); +#ifdef BCO +DEF_FAC_MESSAGE ('INS_M116', 'Bouwlaag mag niet ingevuld zijn.'); +#else +DEF_FAC_MESSAGE ('INS_M116', 'Verdieping mag niet ingevuld zijn.'); +#endif + +DEF_FAC_MESSAGE ('BCO_M132', 'Correctieve opdracht %1% van bedrijf %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCO_M133', 'Correctieve opdracht %1% van bestek %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCO_M134', 'Correctieve opdracht %1% van functie bij bedrijf %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCO_M135', 'Correctieve opdracht %1% van persoon %2% is ingetrokken'); + +DEF_FAC_MESSAGE ('BCP_M100', 'Preventieve opdracht %1% van bedrijf %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCP_M101', 'Preventieve opdracht %1% van bestek %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCP_M102', 'Preventieve opdracht %1% van functie bij bedrijf %2% is ingetrokken'); +DEF_FAC_MESSAGE ('BCP_M103', 'Preventieve opdracht %1% van persoon %2% is ingetrokken'); + +INSERT INTO FAC_MESSAGE VALUES('BCP_M103', 'Preventieve opdracht %1% van persoon %2% is ingetrokken'); +INSERT INTO FAC_MESSAGE VALUES('INV_M049', 'Er zijn geen artikelen geselecteerd'); +INSERT INTO FAC_MESSAGE VALUES('INV_M050', 'De geselecteerd artikelen ontkoppelen of verwijderen?'); +INSERT INTO FAC_MESSAGE VALUES('INV_M051', 'Afvoeren of verwijderen'); +INSERT INTO FAC_MESSAGE VALUES('INV_M052', 'De geselecteerd artikelen afvoeren of verwijderen?'); +INSERT INTO FAC_MESSAGE VALUES('INV_M053', 'De geselecteerd artikelen koppelen aan persoon'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M194', 'Deze functie is niet toegestaan met meerdere geselecteerde records'); + +#ifdef FAC +// Table voor autorisatie +CREATE_TABLE(fac_gebruiker, BASIS_PRIVILEGE) +( + FAC_USERNAME + VARCHAR2(30) + NOT NULL, + FAC_MODULE + VARCHAR2(3) + NOT NULL, + FAC_TABEL + VARCHAR2(32), + FAC_KOLOM + VARCHAR2(32), + FAC_KEY + NUMBER(10), + FAC_SOORT + VARCHAR2(1) +); + +#endif +#ifdef HUI +CREATE_VIEW(hui_v_aanwezighuismeester, NORMAAL_PRIVILEGE) +AS + SELECT HUI_P.* + FROM hui_v_aanwezigperslid HUI_P, fac_gebruiker FAC_G + WHERE fac_module = 'HUI' + AND fac_tabel = 'PRS_PERSLID' + AND fac_kolom = 'PRS_PERSLID_KEY' + AND fac_key = HUI_P.prs_perslid_key; + +CREATE OR REPLACE VIEW hui_v_overnachting_gegevens +AS +SELECT ALG_G.alg_locatie_key, + 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.prs_huismeester_key, + ALG_R.hui_categorie_key, + ALG_R.hui_eenheid, + ALG_R.hui_geslacht, + HUI_W.prs_werkplek_key, + HUI_W.prs_werkplek_module, + HUI_W.prs_werkplek_volgnr, + HUI_PW.prs_perslidwerkplek_key, + HUI_PW.hui_status, + HUI_PW.hui_begindatum, + HUI_PW.hui_einddatum, + HUI_PW.prs_perslid_key +FROM hui_v_aanwezigwerkplek HUI_W, + alg_ruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G, + hui_v_aanwezigperslidwerkplek HUI_PW +WHERE HUI_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key + AND ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key + AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key + AND HUI_W.prs_werkplek_key = HUI_PW.prs_werkplek_key +UNION +SELECT ALG_G.alg_locatie_key, + 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.prs_huismeester_key, + ALG_R.hui_categorie_key, + ALG_R.hui_eenheid, + ALG_R.hui_geslacht, + HUI_W.prs_werkplek_key, + HUI_W.prs_werkplek_module, + HUI_W.prs_werkplek_volgnr, + TO_NUMBER(NULL), + NULL, + TO_DATE(NULL), + TO_DATE(NULL), + TO_NUMBER(NULL) +FROM hui_v_aanwezigwerkplek HUI_W, + alg_ruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G +WHERE HUI_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key + AND ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key + AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key; +#endif +#ifdef ALG +ALTER TABLE alg_ruimte +ADD +( + alg_ruimte_vloer_omschrijving + VARCHAR2(15), + alg_ruimte_opp_gevelglas + NUMBER(8,2), + alg_ruimte_opp_separatieglas + NUMBER(8,2), + alg_ruimte_opp_gevelbekleding + NUMBER(8,2) +); +#endif + +INSERT INTO FAC_MESSAGE VALUES('INS_M117', 'Terreinsector kopieren '); +INSERT INTO FAC_MESSAGE VALUES('INS_M118', 'Wilt u de gehele terreinsector kopieren?'); + +DELETE FROM fac_message +WHERE fac_message_code IN ('INS_M061', 'INS_M050', 'INS_M091', 'MRA_M018', + 'ALG_M079', 'ALG_M082', 'ALG_M085', 'ALG_M159'); +INSERT INTO FAC_MESSAGE VALUES('INS_M061', 'Wilt u het deel kopieren?'); +INSERT INTO FAC_MESSAGE VALUES('INS_M050', 'Ruimte moet gekozen zijn.'); +INSERT INTO FAC_MESSAGE VALUES('INS_M091', 'Gebouw moet gekozen zijn.'); +INSERT INTO FAC_MESSAGE VALUES('MRA_M018','Terreinsector moet gekozen zijn.'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M079', 'Verwijderen Gebouw %1%, inclusief delen'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M082', 'Verwijderen Bouwlaag %1%, inclusief delen'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M085', 'Verwijderen Ruimte %1%, inclusief delen'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M159', 'De geselecteerde ruimtes, inclusief delen verwijderen'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M195','Verwijderen terreinsector %1%, inclusief delen'); + +#ifdef HUI +DELETE FROM fac_entity_name +WHERE fac_entity_system_name = 'INV_DEEL_GEBRUIK'; + +INSERT INTO FAC_ENTITY_NAME VALUES('INV_DEEL_GEBRUIK', 'Plaats', NULL, 'het'); +#endif + +PROMPT Vergeet niet te committen! diff --git a/_UP/122TO123.SRC b/_UP/122TO123.SRC new file mode 100644 index 00000000..9ead4f84 --- /dev/null +++ b/_UP/122TO123.SRC @@ -0,0 +1,833 @@ +SPOOL 122to123 + +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.22 naar 01.23 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * --- 01.23 --- + * 18-11-96 AH HUI_M051 toegevoegd + * 18-11-96 AG LOG#1034: BCO_M136, BCO_M137 toegevoegd, BCO_M113/114 aangepast + * 18-11-96 AG LOG#1043: Messages voor BCO_COMMENTAAR aangepast + * 18-11-96 AH LOG#985: HUI215/216 toegevoegd + * 15-11-96 AH LOG#985: Hui-frequentie zaken toegevoegd + ALG_V_RUIMTE_GEGEVENS + *+18-11-96 aangepast + * 15-11-96 AH De DELETE-code van locatiebestek is nu een FUNCTION geworden + * en wordt aangeroepen en in PRS021 en PRS023 bij Verwijderen + * PRS_T_PRS_LOCATIEBESTEK_B_D-trigger is verwijderd + * 14-11-96 AH LOG#1043: BCO_COMMENTAAR te klein tekst-veld en Objectgroep + * en Jaarweek opslaan, + * 14-11-96 AH LOG#1035: PRS_T_PRS_LOCATIEBESTEK_B_IU en _B_D aangepast. + * 14-11-96 AH LOG#1035: PRS_M092 aangepast, PRS_M097 - PRS_M099 toegevoegd + * 13-11-96 AH LOG#1035: PRS_T_PRS_DISCBESTEK_B_D aangepast, Als discipline- + * bestek als default uitvoerende is aangegeven bij mld_opdr + * of bij prevopdr dan mag deze ook niet verwijderd worden. + * Zelfde extra conditie geldt bij verwijderen LocatieBestek + * 13-11-96 AH LOG#1035: PRS_M088 aangepast + * 13-11-96 AH LOG#1033: MLD_M55 aangepast. + * 13-11-96 AH LOG#1021: MLD_M163, BCP_M104, BCP_M105, BCP_M106, BCP_M107 toegevoegd + * 12-11-96 AH LOG#1019: PRS_M096 toegevoegd + * 12-11-96 AH MLD_V_OPENOPDR aangepast voor Historisch overzicht. + * Ook Ingevoerde opdrachten worden meegenomen. + * 12-11-96 AH LOG#1012: BCO_V_INSTMELDING_GEGEVENS aangepast + * 12-11-96 AH LOG#1006: BCO_V_BCP_BCO_OPDR aangepast, ook locatie_key meenemen + * 12-11-96 AH LOG#999, 1000: BCP_M070 en BCP_M069 aangepast + * 11-11-96 AH LOG#991: MLD_M135 aangepast + * 11-11-96 AH LOG#988: opgelost in mld_t_mld_opdr_b_d en + * bcp_t_bcp_prevopdr_b_d + * ------ 01.22 ----- + */ + +#include +#include +PROMPT Upgrading van versie 122 naar 123... + +#ifdef MLD +CREATE OR REPLACE TRIGGER mld_t_mld_opdr_b_d +BEFORE DELETE ON mld_opdr +FOR EACH ROW +BEGIN + /* Een verwerkte opdracht mag niet verwijderd worden */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_statusopdr MLD_S + WHERE :old.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Verwerkt'; + APPLICATION_ERROR(-20002, 'mld_m135'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; +#ifdef BCO + /* Een opdracht die voorkomt op een werkregel mag niet verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bco_werkregel + WHERE bcp_mld_opdr_key = :old.mld_opdr_key; + APPLICATION_ERROR(-20002, 'mld_m158'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'mld_m158'); + END; +#endif + /* Een opdracht komt nog voor in een bestelopdracht, mag niet verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_bestelregel + WHERE bcp_mld_opdr_key = :old.mld_opdr_key; + APPLICATION_ERROR(-20002, 'mld_m162'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'mld_m162'); + END; +END; +/ +#endif // MLD +#ifdef BCP +CREATE OR REPLACE TRIGGER bcp_t_bcp_prevopdr_b_d +BEFORE DELETE ON bcp_prevopdr +FOR EACH ROW +BEGIN + /* Een verwerkte opdracht mag niet verwijderd worden */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_statusopdr MLD_S + WHERE :old.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Verwerkt'; + APPLICATION_ERROR(-20002, 'mld_m135'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + /* Een opdracht die voorkomt op een werkregel mag niet verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bco_werkregel + WHERE bcp_mld_opdr_key = :old.bcp_prevopdr_key; + APPLICATION_ERROR(-20002, 'mld_m158'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'mld_m158'); + END; + /* Een opdracht komt nog voor in een bestelopdracht, mag niet verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_bestelregel + WHERE bcp_mld_opdr_key = :old.bcp_prevopdr_key; + APPLICATION_ERROR(-20002, 'mld_m162'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'mld_m162'); + END; +END; +/ +#endif // BCP +DEF_FAC_MESSAGE ('MLD_M162', 'De opdracht komt nog op een bestelopdracht voor.'); + +DELETE FROM fac_message +WHERE fac_message_code in ('MLD_M135', 'BCP_M069', 'BCP_M070'); + +#if defined(MRA) +DEF_FAC_MESSAGE ('mld_m135', 'Verwerkte activiteit mag niet verwijderd worden.'); +#else +DEF_FAC_MESSAGE ('mld_m135', 'Verwerkte opdracht mag niet verwijderd worden.'); +#endif // MRA +DEF_FAC_MESSAGE ('BCP_M069', 'De datum van de meterstand is niet ingevuld.'); +DEF_FAC_MESSAGE ('BCP_M070', 'De meterstand is niet ingevuld.'); + +#ifdef BCO +CREATE_VIEW (bco_v_bcp_bco_opdr, NORMAAL_PRIVILEGE) + ( bcp_bco_opdr_key, + bcp_bco_opdr_module, + bcp_bco_uitvoerende_keys, + bcp_bco_statusopdr_key, + bcp_bco_opdr_uren, + bcp_bco_opdr_materiaal, + bcp_bco_opdr_kosten, + bcp_bco_opdr_werkzaamheden, + bcp_bco_opdr_week, + alg_locatie_key) AS +SELECT MLD_O.mld_opdr_key, + 'BCO', + MLD_O.mld_uitvoerende_keys, + MLD_O.mld_statusopdr_key, + MLD_O.mld_opdr_uren, + MLD_O.mld_opdr_materiaal, + MLD_O.mld_opdr_kosten, + MLD_O.mld_opdr_werkzaamheden, + MLD_O.bco_opdr_weekuitgifte, + MLD_OL.alg_locatie_key +FROM mld_opdr MLD_O, mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL +WHERE MLD_OL.alg_onroerendgoed_keys = MLD_M.mld_alg_onroerendgoed_keys + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_opdr_module = 'BCO' +UNION +SELECT BCP_P.bcp_prevopdr_key, + 'BCP', + BCP_P.bcp_mld_uitvoerende_keys, + BCP_P.bcp_mld_statusopdr_key, + BCP_P.bcp_prevopdr_uren, + BCP_P.bcp_prevopdr_materiaal, + BCP_P.bcp_prevopdr_kosten, + BCP_P.bcp_prevopdr_werkzaamheden, + BCP_P.bcp_prevopdr_week, + MLD_OL.alg_locatie_key +FROM bcp_prevopdr BCP_P, bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL +WHERE MLD_OL.alg_onroerendgoed_keys = BCP_T.bcp_alg_gebouw_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key; + +CREATE_VIEW(bco_v_instmelding_gegevens,NORMAAL_PRIVILEGE) (bco_instmelding_key, + bco_mld_melding_key, + ins_srtdeel_omschrijving, + ins_srtdeel_upper, + ins_deel_omschrijving, + ins_deel_upper, + ins_onderdeel_omschrijving, + ins_onderdeel_upper, + ins_element_omschrijving, + ins_element_upper) AS + SELECT BCO_I.bco_instmelding_key, + BCO_I.bco_mld_melding_key, + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper, + INS_D.ins_deel_omschrijving, + INS_D.ins_deel_upper, + NULL, + NULL, + NULL, + NULL + FROM bco_instmelding BCO_I, ins_v_inst INS_I, ins_v_aanwezigsrtdeel INS_SD, + ins_v_aanwezigdeel INS_D + WHERE BCO_I.bco_ins_inst_keys = INS_I.ins_inst_keys + AND INS_I.ins_type = 'D' + AND INS_I.ins_inst_keys = INS_D.ins_deel_key + AND INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key + UNION + SELECT BCO_I.bco_instmelding_key, + BCO_I.bco_mld_melding_key, + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper, + INS_D.ins_deel_omschrijving, + INS_D.ins_deel_upper, + INS_O.ins_onderdeel_omschrijving, + INS_O.ins_onderdeel_upper, + NULL, + NULL + FROM bco_instmelding BCO_I, ins_v_inst INS_I, ins_v_aanwezigsrtdeel INS_SD, + ins_v_aanwezigdeel INS_D, ins_v_aanwezigonderdeel INS_O + WHERE BCO_I.bco_ins_inst_keys = INS_I.ins_inst_keys + AND INS_I.ins_type = 'O' + AND INS_I.ins_inst_keys = INS_O.ins_onderdeel_key + AND INS_O.ins_deel_key = INS_D.ins_deel_key + AND INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key + UNION + SELECT BCO_I.bco_instmelding_key, + BCO_I.bco_mld_melding_key, + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper, + INS_D.ins_deel_omschrijving, + INS_D.ins_deel_upper, + INS_O.ins_onderdeel_omschrijving, + INS_O.ins_onderdeel_upper, + INS_E.ins_element_omschrijving, + INS_E.ins_element_upper + FROM bco_instmelding BCO_I, ins_v_inst INS_I, ins_v_aanwezigsrtdeel INS_SD, + ins_v_aanwezigdeel INS_D, ins_v_aanwezigonderdeel INS_O, + ins_v_aanwezigelement INS_E + WHERE BCO_I.bco_ins_inst_keys = INS_I.ins_inst_keys + AND INS_I.ins_type = 'E' + AND INS_I.ins_inst_keys = INS_E.ins_element_key + AND INS_E.ins_onderdeel_key = INS_O.ins_onderdeel_key + AND INS_O.ins_deel_key = INS_D.ins_deel_key + AND INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key; + +#endif // BCO +#ifdef MLD +CREATE_VIEW(mld_v_openopdr,NORMAAL_PRIVILEGE) AS +SELECT * +FROM mld_opdr +WHERE mld_opdr.mld_statusopdr_key IN + (SELECT mld_statusopdr_key + FROM mld_statusopdr + WHERE mld_statusopdr.mld_statusopdr_omschrijving = 'Uitgegeven' OR + mld_statusopdr.mld_statusopdr_omschrijving = 'Afgemeld' OR + mld_statusopdr.mld_statusopdr_omschrijving = 'Ingevoerd'); +#endif // MLD +DEF_FAC_MESSAGE ('PRS_M096', 'Het opgegeven bestek is verlopen.'); +DEF_FAC_MESSAGE ('MLD_M163', 'Afgemelde of verwerkte opdrachten kunnen alleen bekeken worden.'); +DEF_FAC_MESSAGE ('BCP_M104', 'Ingeplande opdrachten kunnen niet afgemeld of verwerkt worden.'); +DEF_FAC_MESSAGE ('BCP_M105', 'Afmelden preventieve opdracht'); +DEF_FAC_MESSAGE ('BCP_M106', 'Preventieve opdracht %1% wordt afgemeld. Doorgaan?'); +DEF_FAC_MESSAGE ('BCP_M107', 'Uitgegeven, afgemelde of verwerkte opdrachten kunnen alleen bekeken worden.'); +DELETE FROM fac_message +WHERE fac_message_code IN ( 'MLD_M55', 'PRS_M088'); +DEF_FAC_MESSAGE ('mld_m55', 'De termijn moet positieve waarden bevatten.'); +DEF_FAC_MESSAGE ('PRS_M088', 'Er zijn nog opdrachten bij de discipline van het bestek'); + +#ifdef INS +DROP TRIGGER prs_t_prs_discbestek_B_D; +CREATE TRIGGER prs_t_prs_discbestek_B_D +BEFORE DELETE ON prs_disciplinebestek +FOR EACH ROW +BEGIN + /* Als het bestek al als default uitvoerende is aangegeven bij een + * INS_SRTDEEL, dan mag de koppeling tussen de discipline van het + * INS_SRTDEEL en het bestek niet verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigsrtdeel INS_D + WHERE INS_D.bco_defaultuitv_keys = :old.prs_disciplinebestek_key; + APPLICATION_ERROR(-20002, 'prs_m069'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m069'); + END; + // Mag niet verwijderd worden als er MLD_OPDR's zijn met als uitvoerende + // deze disicplinebestek + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr + WHERE mld_uitvoerende_keys = :old.prs_disciplinebestek_key +#ifdef BCO + OR bco_defaultuitv_keys = :old.prs_disciplinebestek_key +#endif // BCO + ; + APPLICATION_ERROR(-20002, 'prs_m088'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m088'); + END; +#ifdef BCP + // Mag niet verwijderd worden als er BCP_PREVOPDR's zijn met als uitvoerende + // deze disicplinebestek + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr + WHERE bcp_mld_uitvoerende_keys = :old.prs_disciplinebestek_key + OR bcp_mld_uitvoerende_keys = :old.prs_disciplinebestek_key; + APPLICATION_ERROR(-20002, 'prs_m088'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m088'); + END; +#endif // BCP +END; +/ + +DROP TRIGGER prs_t_prs_locatiebestek_B_IU; +CREATE TRIGGER prs_t_prs_locatiebestek_B_IU +BEFORE INSERT OR UPDATE ON prs_locatiebestek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_locatiebestek_key,prs_s_prs_locatiebestek_key); +#if defined(MLD) || defined(BCP) + /* Een LocatieBestek mag NIET toegevoegd worden als: + * - Het (discipline)bestek als (default) uitvoerende is aangegeven bij + * een of meer opdrachten en als er nog geen LocatieBestek-records zijn + * voor het bestek. + * Uitzondering: Als er opdrachten zijn EN deze allemaal betrekking hebben + * op de toe te voegen locatie. + * Een LocatieBestek mag NIET worden gewijzigd als: + * - Het (discipline)bestek als (default) uitvoerende is aangegeven bij + * een of meer opdrachten die betrekking hebben op de te wijzigen + * LocatieBestek. + */ + // Toevoegen + IF :old.alg_locatie_key IS NULL + AND :new.alg_locatie_key IS NOT NULL + THEN +#ifdef MLD + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, + prs_disciplinebestek PRS_DB, + mld_melding MLD_M, + mld_v_onroerendgoed_locatie MLD_OL + WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key <> :new.alg_locatie_key + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys + OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys) + AND PRS_DB.prs_bestek_key = :new.prs_bestek_key + AND NOT EXISTS (SELECT 'X' + FROM prs_locatiebestek PRS_LB + WHERE PRS_LB.prs_bestek_key = :new.prs_bestek_key + AND MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key + AND PRS_LB.alg_locatie_key <> :new.alg_locatie_key); + APPLICATION_ERROR(-20000, 'prs_m098'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m098'); + END; +#endif // MLD +#ifdef BCP + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P, + bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL + WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key <> :new.alg_locatie_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys) + AND PRS_DB.prs_bestek_key = :new.prs_bestek_key + AND NOT EXISTS (SELECT 'X' + FROM prs_locatiebestek PRS_LB + WHERE PRS_LB.prs_bestek_key = :new.prs_bestek_key + AND MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key + AND PRS_LB.alg_locatie_key <> :new.alg_locatie_key); + APPLICATION_ERROR(-20000, 'prs_m099'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m099'); + END; +#endif // BCP + // Wijzigen + ELSIF :old.alg_locatie_key IS NOT NULL + AND :new.alg_locatie_key IS NOT NULL + THEN +#ifdef MLD + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, mld_opdr MLD_O, + mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL + WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = :old.alg_locatie_key + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys +#ifdef BCO + OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys +#endif // BCO + ) + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20000, 'prs_m097'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m097'); + END; +#endif // MLD +#ifdef BCP + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P, + bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL + WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = :old.alg_locatie_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys) + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20000, 'prs_m097'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m097'); + END; +#endif // BCP + END IF; +#endif // MLD || BCP +END; +/ + +DROP TRIGGER prs_t_prs_locatiebestek_B_D; +CREATE TRIGGER prs_t_prs_locatiebestek_B_D +BEFORE DELETE ON prs_locatiebestek +FOR EACH ROW +BEGIN +#ifdef MLD + /* Een LocatieBestek mag NIET verwijderd worden als: + * - Het (discipline)bestek als (default) uitvoerende is aangegeven bij + * een of meer opdrachten die betrekking hebben op de te verwijderen + * LocatieBestek. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, mld_opdr MLD_O, + mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL + WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = :old.alg_locatie_key + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys +#ifdef BCO + OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys +#endif // BCO + ) + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20002, 'prs_m092'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m092'); + END; +#endif +#ifdef BCP + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P, + bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL + WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = :old.alg_locatie_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys) + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20002, 'prs_m092'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'prs_m092'); + END; +#endif +#if !defined(MLD) && !defined(BCP) + NULL; +#endif +END; +/ +#endif // INS + +DELETE FROM fac_message +WHERE fac_message_code = 'PRS_M092'; +#ifdef BCO +DEF_FAC_MESSAGE ('PRS_M092', 'Er zijn nog opdrachten van het bestek bij dit object.'); +DEF_FAC_MESSAGE ('PRS_M097', 'Er zijn nog opdrachten van het bestek bij het oude object.'); +DEF_FAC_MESSAGE ('PRS_M098', 'Er zijn nog opdrachten van het bestek bij andere objecten.'); +DEF_FAC_MESSAGE ('PRS_M099', 'Er zijn nog preventieve opdrachten van het bestek bij andere objecten.'); +#else +DEF_FAC_MESSAGE ('PRS_M092', 'Er zijn nog opdrachten van het bestek bij deze locatie.'); +DEF_FAC_MESSAGE ('PRS_M097', 'Er zijn nog opdrachten van het bestek bij de oude locatie.'); +DEF_FAC_MESSAGE ('PRS_M098', 'Er zijn nog opdrachten van het bestek bij andere locaties.'); +DEF_FAC_MESSAGE ('PRS_M099', 'Er zijn nog preventieve opdrachten van het bestek bij andere locaties.'); +#endif +#ifdef BCO +ALTER TABLE bco_commentaar +ADD +( + bco_commentaar_jaarweek + NUMBER(6), + bco_locatiegroep_key + NUMBER(10) +); + + +ALTER TABLE bco_commentaar +MODIFY +( + bco_commentaar_tekst + VARCHAR2(200) +); +#endif // BCO + +#ifdef PRS +CREATE OR REPLACE FUNCTION prs_t_prs_locatiebestek_B_D( bestek_key IN NUMBER, locatie_key IN NUMBER, + key_soort IN CHAR ) + RETURN VARCHAR2 AS + error_msg fac_message.fac_message_code%TYPE; +BEGIN + error_msg := NULL; +#ifdef MLD + /* Een LocatieBestek mag NIET verwijderd worden als: + * - Het (discipline)bestek als (default) uitvoerende is aangegeven bij + * een of meer opdrachten die betrekking hebben op de te verwijderen + * LocatieBestek. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, mld_opdr MLD_O, + mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL, + prs_locatiebestek PRS_LB + WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys + AND ((MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key + AND key_soort = 'B') + OR (MLD_OL.alg_locatie_key = locatie_key + AND key_soort = 'L')) + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys +#ifdef BCO + OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys +#endif // BCO + ) + AND PRS_DB.prs_bestek_key = PRS_LB.prs_bestek_key + AND PRS_DB.prs_bestek_key = bestek_key; + error_msg := 'prs_m092'; + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN error_msg := 'prs_m092'; + END; +#endif +#ifdef BCP + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P, + bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL, + prs_locatiebestek PRS_LB + WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys + AND ((MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key + AND key_soort = 'B') + OR (MLD_OL.alg_locatie_key = locatie_key + AND key_soort = 'L')) + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys) + AND PRS_LB.prs_bestek_key = PRS_DB.prs_bestek_key + AND PRS_DB.prs_bestek_key = bestek_key; + error_msg := 'prs_m092'; + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN error_msg := 'prs_m092'; + END; +#endif + RETURN error_msg; +END; +/ +DROP TRIGGER prs_t_prs_locatiebestek_B_D; + +#endif // PRS + +DEF_FAC_FORM('HUI015', NULL, NULL ,'150150','HUI_HUI015','Overzichtscherm Frequentie'); +DEF_FAC_FORM('HUI115', NULL, NULL ,'151150','HUI_HUI115','Mutatiescherm Frequentie'); +DEF_FAC_FORM('HUI016', NULL, NULL ,'150160','HUI_HUI016','Overzichtscherm Schoonmaakfreq. onrgoed'); +DEF_FAC_FORM('HUI116', NULL, NULL ,'151160','HUI_HUI116','Mutatiescherm Schoonmaakfreq. onrgoed'); +DEF_FAC_ENTITY ('HUI_FREQUENTIE', 'Frequentie', 'Frequenties', 'de'); +DEF_FAC_ENTITY ('HUI_FREQUENTIE_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); +DEF_FAC_ENTITY ('HUI_FREQUENTIE_DAGEN', 'Dagen', NULL, 'de'); +DEF_FAC_MESSAGE ('HUI_M041', 'Verwijderen frequentie '); +DEF_FAC_MESSAGE ('HUI_M042', 'De omschrijving is niet ingevuld.'); +DEF_FAC_MESSAGE ('HUI_M043', 'Het aantal dagen is niet ingevuld.'); +DEF_FAC_MESSAGE ('HUI_M044', 'Schoonmaakfrequentie onroerendgoed'); +DEF_FAC_MESSAGE ('HUI_M045', 'Verwijderen schoonmaakfrequentie'); +DEF_FAC_MESSAGE ('HUI_M046', 'Verwijderen schoonmaakfrequentie %1% van ruimte %2%'); +DEF_FAC_MESSAGE ('HUI_M047', 'Verwijder de geselecteerde schoonmaakfrequenties?'); +DEF_FAC_MESSAGE ('HUI_M048', 'De frequentie is niet ingevuld.'); +DEF_FAC_MESSAGE ('HUI_M049', 'Overzicht schoonmaken glas'); +DEF_FAC_MESSAGE ('HUI_M050', 'Overzicht schoonmaken ruimte'); +DEF_FAC_ENTITY ('ALG_RUIMTE_VLOER_OMSCHRIJVING', 'Vloerbedekking', NULL, NULL); +DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_GEVELGLAS', 'Gevelglas', NULL, NULL); +DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_EENHEID', '(m2)', NULL, NULL); +DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_SEPARATIEGLAS', 'Separatieglas', NULL, NULL); +DEF_FAC_ENTITY ('ALG_RUIMTE_OPP_GEVELBEKLEDING', 'Gevelbekleding', NULL, NULL); +DEF_FAC_ENTITY ('ALG_RUIMTE_VLOEROPP_PER_WEEK', 'Per week', NULL, NULL); + +#ifdef HUI +CREATE_TABLE(hui_frequentie, NORMAAL_PRIVILEGE) +( + hui_frequentie_key + NUMBER(10) + NOT NULL + PRIMARY KEY, + hui_frequentie_omschrijving + VARCHAR2(30) + NOT NULL, + hui_frequentie_upper + VARCHAR2(30) + NOT NULL + UNIQUE, + hui_frequentie_dagen + NUMBER(3) + NOT NULL +); + +CREATE_TABLE(hui_onroerendgoed_frequentie, NORMAAL_PRIVILEGE) +( + hui_frequentie_key + NUMBER(10) + NOT NULL + REFERENCES hui_frequentie(hui_frequentie_key), + hui_alg_onroerendgoed_keys + NUMBER(10) + NOT NULL, + hui_alg_onroerendgoed_type + VARCHAR2(1) + NOT NULL, + UNIQUE(hui_alg_onroerendgoed_keys) +); + +CREATE SEQUENCE hui_s_hui_frequentie_key MINVALUE 1; + +CREATE TRIGGER hui_t_hui_frequentie_b_iu +BEFORE INSERT OR UPDATE ON hui_frequentie +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(hui_frequentie_key, hui_s_hui_frequentie_key); + UPDATE_UPPER(hui_frequentie_omschrijving, hui_frequentie_upper); +END; +/ + +CREATE_VIEW(hui_v_frequentie_gegevens, NORMAAL_PRIVILEGE) +AS +SELECT HUI_OF.hui_alg_onroerendgoed_keys, + HUI_OF.hui_alg_onroerendgoed_type, + HUI_OF.hui_frequentie_key, + HUI_F.hui_frequentie_omschrijving, + HUI_F.hui_frequentie_upper, + ALG_G.alg_gebouw_key, + ALG_G.alg_locatie_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 +FROM hui_onroerendgoed_frequentie HUI_OF, hui_frequentie HUI_F, + alg_gebouw ALG_G, alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R +WHERE 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 = HUI_OF.hui_alg_onroerendgoed_keys + AND HUI_OF.hui_frequentie_key = HUI_F.hui_frequentie_key; + +#endif // HUI +#ifdef ALG +CREATE_VIEW(alg_v_ruimte_gegevens,NORMAAL_PRIVILEGE) AS + SELECT ALG_L.alg_locatie_key, ALG_L.alg_district_key, + ALG_L.alg_locatie_omschrijving, ALG_L.alg_locatie_code, + ALG_L.alg_locatie_upper, + ALG_G.alg_gebouw_key, ALG_G.alg_srtgebouw_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_upper, + ALG_V.alg_verdieping_volgnr, + ALG_V.alg_verdieping_tekening, ALG_R.alg_ruimte_key, + ALG_S.alg_srtruimte_key, ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_acadkey, + ALG_R.alg_ruimte_omschrijving, ALG_R.alg_ruimte_upper_nr, + ALG_S.alg_srtruimte_omschrijving, + ALG_R.alg_ruimte_vloer_omschrijving, + ALG_R.alg_ruimte_bruto_vloeropp, + ALG_R.alg_ruimte_opp_gevelglas, + ALG_R.alg_ruimte_opp_separatieglas, + ALG_R.alg_ruimte_opp_gevelbekleding +#ifdef HUI + , ALG_R.prs_huismeester_key +#endif + FROM alg_locatie ALG_L, alg_gebouw ALG_G, + alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R, + alg_v_aanwezigsrtruimte ALG_S + WHERE + ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key AND + ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key AND + ALG_L.alg_locatie_key = ALG_G.alg_locatie_key AND + ALG_R.alg_srtruimte_key = ALG_S.alg_srtruimte_key (+); +#endif // ALG +DEF_FAC_FORM('HUI215', NULL, NULL ,'152150','HUI_HUI215','Rapport schoonmaak glas'); +DEF_FAC_FORM('HUI216', NULL, NULL ,'152160','HUI_HUI216','Rapport schoonmaak ruimte'); + +DELETE FROM fac_message +WHERE fac_message_code IN ('BCP_M082', + 'BCP_M083', + 'BCP_M073', + 'BCP_M074', + 'BCP_M091', + 'BCP_M097', + 'BCP_M102', + 'BCO_M119', + 'BCO_M134'); + +INSERT INTO FAC_MESSAGE VALUES('BCP_M073', 'Nieuwe preventieve opdracht %1% aangemaakt en heeft status ''%2%'''); +INSERT INTO FAC_MESSAGE VALUES('BCP_M074', 'Nieuwe taak %1% van verzamelopdracht %2% aangemaakt voor onroerendgoed %3%'); +INSERT INTO FAC_MESSAGE VALUES('BCP_M082', 'Bestek %1% heeft niet genoeg uren (%2%) beschikbaar'); +INSERT INTO FAC_MESSAGE VALUES('BCP_M083', 'Bestek %1% heeft niet genoeg materiaalkosten (%2%) beschikbaar'); +INSERT INTO FAC_MESSAGE VALUES('BCP_M091', 'Preventieve opdracht %1% is uitgegeven aan functie %2%'); +INSERT INTO FAC_MESSAGE VALUES('BCP_M097', 'Aantal nieuwe preventieve opdrachten aangemaakt: %1%'); +INSERT INTO FAC_MESSAGE VALUES('BCP_M102', 'Preventieve opdracht %1% van functie %2% is ingetrokken'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M119', 'Correctieve opdracht %1% is uitgegeven aan functie %2%'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M134', 'Correctieve opdracht %1% van functie %2% is ingetrokken'); + +DEF_FAC_MESSAGE ('BCO_M136', 'Er zijn opdrachten van deze weekplanning afgemeld of verwerkt.'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M137', '%1% uitgegeven correctieve opdrachten zijn weer ingetrokken'); + +DELETE FROM fac_message +WHERE fac_message_code IN ('BCO_M113', 'BCO_M114'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M113', 'Correctieve opdracht %1% is ingetrokken, deze is langer dan 2 weken uitgegeven.'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M114', '%1% correctieve opdrachten ingetrokken, ze zijn langer dan 2 weken uitgegeven.'); +DEF_FAC_MESSAGE ('HUI_M051', 'De huidige frequenties van de ruimtes in %1% %2% overschrijven?'); + +PROMPT Vergeet niet te committen! diff --git a/_UP/123TO124.SRC b/_UP/123TO124.SRC new file mode 100644 index 00000000..453d9727 --- /dev/null +++ b/_UP/123TO124.SRC @@ -0,0 +1,1351 @@ +SPOOL 123to124 + +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.23 naar 01.24 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * --- 01.24 --- + * 04-12-96 AH Controle op MLD_ADRES + MLD_M172 toegevoegd + * 04-12-96 AH PRS_M059 + BCO_M113 + MLD_T_MLD_OPDR_B_D aangepast. + * 03-12-96 AH BCO_M147 toegevoegd en BCO_M116/118/120/122 aangepast + * 03-12-96 AH ControleerGoedJaarweek toegevoegd en gebruik in NIETWERKBAAR + * en NIETBESCHIK toegevoegd + * 03-12-96 AH BCO_COMMENTAAR krijgt primary key + * 03-12-96 AH BCO_V_CORROPDR_BEDRIJF aangepast. Bij bestekken gaat het om + * Contractbedrijven ipv. UitvoerendeBedrijven. + * BCO_V_PERSLID_CORROPDR aangepast Naam voor Voorletters + * BCP_V_PERSLID aangepast. Naam voor Voorletters + * 03-12-96 AH BCO_M136, BCP_M076 aangepast + * 03-12-96 AH BCP_V_PREVOPDR_GEGEVENS aangepast. + * 03-12-96 AH MLD_BESTELREGEL aangepast + * 02-12-96 AH MLD_M124, BCO_M126 en 127 aangepast, PRS_SRTBEDRIJF toegevoegd + * 02-12-96 AH BCO_NIETBESCHIK_UREN aangepast. + * 29-11-96 AH Extra velden voor BEBIS en Entities en messages toegevoegd. + * En schermen toegevoegd in FAC_FORM + * 27-11-96 AH LOG#1081: BCP_M119-120 toegevoegd, BCP_T_BCP_TAAK_B_IU-verwijder- + * controle weggehaald. + * 27-11-96 AH LOG#1068: UNIQUE op BCO_NIETBESCHIK en trigger aangepast + * 26-11-96 AH LOG#1080: Functie BepaalEinWeek toegevoegd + * 26-11-96 AH LOG#1080: BCO_V_CORROPDR_ORDER aangemaakt voor de ordering op + * eindweek in de planning + * 26-11-96 AH LOG#1079: BCP_M110 - BCP_M118, BCO_M139 - 145 toegevoegd + * 25-11-96 AH LOG#1074: BCO_M138 toegevoegd + * 22-11-96 AH LOG#1073: MLD_ADRES-table toegevoegd en MLD_BESTELOPDR-adressen + * 22-11-96 AH LOG#1073: MLD_S_MLD_ADRES_KEY toegevoegd + * 22-11-96 AH LOG#1073: MLD022 en MLD122 toegevoegd voor BCO + * 22-11-96 AH LOG#1073: MLD_ADRES entities en messages toegevoegd + * 21-11-96 AH LOG#1072: Verwijderen MLD_OPDR mag ook werkregels en bestelregels + * verwijderen, om consistentie met BCP_PREVOPDR + * BCP_M109 toegevoegd + * 20-11-96 AH LOG#1069: BCP_V_PREVOPDR_BEDRIJF aangepast voor Bestek en + * zijn Contractbedrijf, BCP_V_DEFAULTUITV aangepast. + * 20-11-96 AH LOG#1066: BCP_V_HISTORISCH_OVZ aangepast, BCP_PREVOPDR_KEY + * toegevoegd + * 20-11-96 AH LOG#1066: MLD_OPDR_KEY toegevoegd in MLD_V_OVZ + * 19-11-96 AH LOG#1057: BCO_M126 en 127 aangepast + * 19-11-96 PF Update van fac_module toegevoegd + * 19-11-96 AH LOG#1034: BCP_M108 toegevoegd + * --- 01.23 --- + */ + +#include +#include +PROMPT Upgrading van versie 123 naar 124... + +DEF_FAC_MESSAGE ('BCP_M108', '%1% uitgegeven preventieve opdrachten zijn weer ingetrokken'); + + + + + +UPDATE fac_module SET fac_module_version='01.24*', + fac_module_date=to_char(sysdate, 'YYYYMMDD'); + +DELETE FROM fac_message +WHERE fac_message_code IN ('BCO_M126', + 'BCO_M127'); + +INSERT INTO FAC_MESSAGE VALUES('BCO_M126', 'Totale uren moet groter zijn dan de preventieve uren plus de storingsuren'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M127', 'Totale uren moet groter zijn dan de correctieve uren plus de storingsuren'); +#ifdef MLD +CREATE_VIEW(MLD_V_OVZ,NORMAAL_PRIVILEGE) (ALG_LOCATIE_KEY, ALG_LOCATIE_OMSCHRIJVING, + ALG_ONRGOED_KEY, ALG_GEBOUW_KEY, + ALG_TERREINSECTOR_KEY, ALG_ONRGOED_OMSCHRIJVING, + INS_DISCIPLINE_KEY, INS_DISCIPLINE_OMSCHRIJVING, + INS_SRTGROEP_KEY, INS_SRTGROEP_OMSCHRIJVING, + MLD_UITVOERENDE_KEYS, MLD_UITVOERENDE_OMSCHRIJVING, + MLD_MELDING_KEY, MLD_OPDR_KEY, MLD_OPDR_DATUMUITGEVOERD, + MLD_OPDR_WERKZAAMHEDEN, MLD_UREN, MLD_MATERIAAL, + MLD_KOSTEN, MLD_OPDR_MODULE, + MLD_TYPEOPDR_KEY, + MLD_TYPEOPDR_OMSCHRIJVING +#ifdef MRA + , MRA_HFDCATEGORIE_KEY, MRA_HFDCATEGORIE_OMSCHRIJVING, + MRA_SRTGROEPVERV_KEY, MRA_SRTGROEPVERV_OMSCHRIJVING +#endif + ) AS + SELECT ALG_L.ALG_LOCATIE_KEY, + ALG_L.ALG_LOCATIE_OMSCHRIJVING, + MLD_OL.ALG_ONROERENDGOED_KEYS, + MLD_OL.ALG_GEBOUW_KEY, + MLD_OL.ALG_TERREINSECTOR_KEY, + MLD_OL.ALG_ONRGOED_OMSCHRIJVING, +#ifdef INS + INS_D.INS_DISCIPLINE_KEY, + INS_D.INS_DISCIPLINE_OMSCHRIJVING, + INS_D.INS_SRTGROEP_KEY, + INS_D.INS_SRTGROEP_OMSCHRIJVING, +#else + to_number(NULL), + NULL, + to_number(NULL), + NULL, +#endif + MLD_U.KEY, + MLD_U.NAAM, + MLD_M.MLD_MELDING_KEY, + MLD_O.MLD_OPDR_KEY, + MLD_O.MLD_OPDR_DATUMUITGEVOERD, + MLD_O.MLD_OPDR_WERKZAAMHEDEN, + MLD_O.MLD_OPDR_UREN, + MLD_O.MLD_OPDR_MATERIAAL, + MLD_O.MLD_OPDR_KOSTEN, + MLD_O.MLD_OPDR_MODULE, + MLD_T.MLD_TYPEOPDR_KEY, + MLD_T.MLD_TYPEOPDR_OMSCHRIJVING +#ifdef MRA + , MRA_H.MRA_HFDCATEGORIE_KEY, + MRA_H.MRA_HFDCATEGORIE_OMSCHRIJVING, + MRA_SGV.MRA_SRTGROEPVERV_KEY, + MRA_SGV.MRA_SRTGROEPVERV_OMSCHRIJVING +#endif + FROM MLD_OPDR MLD_O, + MLD_MELDING MLD_M, + MLD_V_ONROERENDGOED_LOCATIE MLD_OL, + ALG_LOCATIE ALG_L, +#ifdef INS + INS_V_SRTINST_DISCIPLINE INS_D, +#endif + MLD_V_UITVOERENDE MLD_U, + MLD_STATUSOPDR MLD_S, + MLD_TYPEOPDR MLD_T +#ifdef MRA + , MRA_CATEGORIE MRA_C, + MRA_HFDCATEGORIE MRA_H, + MRA_SRTDEELVERV MRA_SDV, + MRA_SRTGROEPVERV MRA_SGV +#endif + WHERE MLD_O.MLD_MELDING_KEY = MLD_M.MLD_MELDING_KEY + AND MLD_M.MLD_ALG_ONROERENDGOED_KEYS = MLD_OL.ALG_ONROERENDGOED_KEYS + AND MLD_OL.alg_locatie_key = ALG_L.alg_locatie_key + AND MLD_O.MLD_UITVOERENDE_KEYS = MLD_U.KEY + AND MLD_O.MLD_STATUSOPDR_KEY = MLD_S.MLD_STATUSOPDR_KEY + AND MLD_S.MLD_STATUSOPDR_OMSCHRIJVING = 'Verwerkt' + AND MLD_O.MLD_TYPEOPDR_KEY = MLD_T.MLD_TYPEOPDR_KEY +#ifdef INS + AND MLD_M.MLD_INS_SRTINST_KEYS = INS_D.INS_SRTINST_KEYS (+) +#endif +#ifdef MRA + AND MLD_M.MRA_CATEGORIE_KEY = MRA_C.MRA_CATEGORIE_KEY (+) + AND MRA_C.MRA_HFDCATEGORIE_KEY = MRA_H.MRA_HFDCATEGORIE_KEY (+) + AND MLD_M.MRA_SRTDEELVERV_KEY = MRA_SDV.MRA_SRTDEELVERV_KEY (+) + AND MRA_SDV.MRA_SRTGROEPVERV_KEY = MRA_SGV.MRA_SRTGROEPVERV_KEY (+) +#endif + ; +#endif // MLD +#ifdef BCP +CREATE_VIEW(bcp_v_historisch_ovz,NORMAAL_PRIVILEGE) + (alg_locatie_key, alg_locatie_omschrijving, + alg_onrgoed_key, alg_gebouw_key, + alg_terreinsector_key, alg_onrgoed_omschrijving, + ins_discipline_key, ins_discipline_omschrijving, + ins_srtgroep_key, ins_srtgroep_omschrijving, + bcp_mld_uitvoerende_keys, mld_uitvoerende_omschrijving, + bcp_prevopdr_key, bcp_prevopdr_datumgereed, + bcp_prevopdr_werkzaamheden, bcp_uren, bcp_materiaal, + bcp_kosten) AS + SELECT ALG_L.alg_locatie_key, + ALG_L.alg_locatie_omschrijving, + MLD_OL.alg_onroerendgoed_keys, + MLD_OL.alg_gebouw_key, + MLD_OL.alg_terreinsector_key, + MLD_OL.alg_onrgoed_omschrijving, + INS_D.ins_discipline_key, + INS_D.ins_discipline_omschrijving, + INS_SG.ins_srtgroep_key, + INS_SG.ins_srtgroep_omschrijving, + MLD_U.key, + MLD_U.naam, + BCP_P.bcp_prevopdr_key, + BCP_P.bcp_prevopdr_datumgereed, + BCP_P.bcp_prevopdr_werkzaamheden, + BCP_P.bcp_prevopdr_uren, + BCP_P.bcp_prevopdr_materiaal, + BCP_P.bcp_prevopdr_kosten + FROM bcp_prevopdr BCP_P, + mld_v_uitvoerende MLD_U, + bcp_taak bcp_T, + bcp_verzamel BCP_V, + ins_srtdeel INS_SD, + ins_srtgroep INS_SG, + ins_discipline INS_D, + mld_v_onroerendgoed_locatie MLD_OL, + alg_locatie ALG_L, + mld_statusopdr MLD_S + WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = ALG_L.alg_locatie_key + AND BCP_P.bcp_mld_uitvoerende_keys = MLD_U.key + AND BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Verwerkt' + AND BCP_P.bcp_taak_key= BCP_T.bcp_taak_key + AND BCP_T.bcp_verzamel_key = BCP_V.bcp_verzamel_key + AND BCP_V.bcp_ins_srtdeel_key = INS_SD.ins_srtdeel_key + AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key + AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key; + +CREATE_VIEW(bcp_v_defaultuitv,NORMAAL_PRIVILEGE) (bcp_bco_defaultuitv_key, + naam, + type) AS + SELECT key, naam, type + FROM bco_v_defaultuitv; + +CREATE_VIEW(bcp_v_prevopdr_bedrijf,NORMAAL_PRIVILEGE) + (bcp_uitv_omschrijving, + bcp_bedrijf_omschrijving, + bcp_mld_uitvoerende_keys, + prs_bedrijf_key, + bcp_prevopdr_somuren, + bcp_locatiegroep_key, + bcp_prevopdr_week) AS + SELECT PRS_S.prs_srtperslid_omschrijving, + PRS_U.prs_bedrijf_naam, + PRS_S.prs_srtperslid_key, + PRS_U.prs_bedrijf_key, + BCP_S.bcp_prevopdr_somuren, + BCP_O.bco_locatiegroep_key, + BCP_P.bcp_prevopdr_week + FROM prs_v_uitvoerendebedrijf PRS_U, + prs_srtperslid PRS_S, + bcp_v_aanwezigprevopdr BCP_P, + bcp_v_aanwezigtaak BCP_T, + bcp_v_onrgoed_op_locgroep BCP_O, + bcp_v_prevopdr_somuren BCP_S + WHERE BCP_P.bcp_taak_key = BCP_T.bcp_taak_key AND + BCP_T.bcp_alg_gebouw_key = BCP_O.alg_onrgoed_key AND + BCP_O.bco_locatiegroep_key = BCP_S.bcp_locatiegroep_key AND + BCP_P.bcp_prevopdr_week = BCP_S.bcp_prevopdr_week AND + BCP_P.bcp_mld_uitvoerende_keys = BCP_S.bcp_mld_uitvoerende_keys AND + BCP_P.bcp_mld_uitvoerende_keys = PRS_S.prs_srtperslid_key AND + PRS_U.prs_bedrijf_key = PRS_S.prs_bedrijf_key +UNION + SELECT PRS_E.prs_bestek_omschrijving, + PRS_U.prs_bedrijf_naam, + PRS_D.prs_disciplinebestek_key, + PRS_U.prs_bedrijf_key, + BCP_S.bcp_prevopdr_somuren, + BCP_O.bco_locatiegroep_key, + BCP_P.bcp_prevopdr_week + FROM prs_v_contractbedrijf PRS_U, + prs_disciplinebestek PRS_D, + prs_bestek PRS_E, + bcp_v_aanwezigprevopdr BCP_P, + bcp_v_aanwezigtaak BCP_T, + bcp_v_onrgoed_op_locgroep BCP_O, + bcp_v_prevopdr_somuren BCP_S + WHERE BCP_P.bcp_taak_key = BCP_T.bcp_taak_key AND + BCP_T.bcp_alg_gebouw_key = BCP_O.alg_onrgoed_key AND + BCP_O.bco_locatiegroep_key = BCP_S.bcp_locatiegroep_key AND + BCP_P.bcp_prevopdr_week = BCP_S.bcp_prevopdr_week AND + BCP_P.bcp_mld_uitvoerende_keys = BCP_S.bcp_mld_uitvoerende_keys AND + BCP_P.bcp_mld_uitvoerende_keys = PRS_D.prs_disciplinebestek_key AND + PRS_D.prs_bestek_key = PRS_E.prs_bestek_key AND + PRS_U.prs_bedrijf_key = PRS_E.prs_bedrijf_key +UNION + SELECT NULL, + PRS_U.prs_bedrijf_naam, + PRS_U.prs_bedrijf_key, + PRS_U.prs_bedrijf_key, + BCP_S.bcp_prevopdr_somuren, + BCP_O.bco_locatiegroep_key, + BCP_P.bcp_prevopdr_week + FROM prs_v_uitvoerendebedrijf PRS_U, + bcp_v_aanwezigprevopdr BCP_P, + bcp_v_aanwezigtaak BCP_T, + bcp_v_onrgoed_op_locgroep BCP_O, + bcp_v_prevopdr_somuren BCP_S + WHERE BCP_P.bcp_taak_key = BCP_T.bcp_taak_key AND + BCP_T.bcp_alg_gebouw_key = BCP_O.alg_onrgoed_key AND + BCP_O.bco_locatiegroep_key = BCP_S.bcp_locatiegroep_key AND + BCP_P.bcp_prevopdr_week = BCP_S.bcp_prevopdr_week AND + BCP_P.bcp_mld_uitvoerende_keys = BCP_S.bcp_mld_uitvoerende_keys AND + BCP_P.bcp_mld_uitvoerende_keys = PRS_U.prs_bedrijf_key; + +CREATE OR REPLACE TRIGGER bcp_t_bcp_prevopdr_b_d +BEFORE DELETE ON bcp_prevopdr +FOR EACH ROW +BEGIN + /* Een verwerkte opdracht mag niet verwijderd worden */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_statusopdr MLD_S + WHERE :old.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Verwerkt'; + APPLICATION_ERROR(-20002, 'mld_m135'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + /* Een opdracht die voorkomt op een werkregel mag NU OOK verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + DELETE FROM bco_werkregel + WHERE bcp_mld_opdr_key = :old.bcp_prevopdr_key; + END; + /* Een opdracht komt nog voor in een bestelopdracht, mag NU OOK verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + DELETE FROM mld_bestelregel + WHERE bcp_mld_opdr_key = :old.bcp_prevopdr_key; + END; +END; +/ +#endif // BCP + +#ifdef MLD +CREATE OR REPLACE TRIGGER mld_t_mld_opdr_b_d +BEFORE DELETE ON mld_opdr +FOR EACH ROW +BEGIN + /* Een verwerkte opdracht mag niet verwijderd worden */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_statusopdr MLD_S + WHERE :old.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Verwerkt'; + APPLICATION_ERROR(-20002, 'mld_m135'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; +#ifdef BCO + /* Een opdracht die voorkomt op een werkregel mag NU OOK verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + DELETE FROM bco_werkregel + WHERE bcp_mld_opdr_key = :old.mld_opdr_key; + END; +#endif + /* Een opdracht komt nog voor in een bestelopdracht, mag NU OOK verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + DELETE FROM mld_bestelregel + WHERE bcp_mld_opdr_key = :old.mld_opdr_key; + END; +END; +/ + +#endif +DEF_FAC_MESSAGE ('BCP_M109', 'Preventieve opdracht %1% kan niet verwijderd worden.'); +DEF_FAC_FORM('MLD022', NULL, NULL ,'210220','MLD_MLD022','Overzichtscherm Adres'); +DEF_FAC_FORM('MLD122', NULL, NULL ,'211220','MLD_MLD122','Mutatiescherm Adres'); +DEF_FAC_MESSAGE ('MLD_M164', 'Factuuradres'); +DEF_FAC_MESSAGE ('MLD_M165', 'Opdrachtgeveradres'); +DEF_FAC_MESSAGE ('MLD_M166', 'Afleveradres'); +DEF_FAC_MESSAGE ('MLD_M167', 'Verwijderen adres'); +DEF_FAC_MESSAGE ('MLD_M168', 'Verwijderen adres %1%?'); +DEF_FAC_MESSAGE ('MLD_M169', 'Factuuradres is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_M170', 'Opdrachtgeveradres is niet ingevuld.'); +DEF_FAC_MESSAGE ('MLD_M171', 'Afleveradres is niet ingevuld.'); +DEF_FAC_ENTITY ('MLD_ADRES', 'Adres', 'Adressen', 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_NAAM', 'Naam', 'Namen', 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_BEZOEK', 'Bezoek', NULL, 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_BEZOEK_ADRES', 'Adres', 'Adressen', 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_GEBOUW_RUIMTE', 'Gebouw/Ruimte', , 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_BEZOEK_POSTCODE', 'Postcode', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_BEZOEK_PLAATS', 'Plaats', 'Plaatsen', 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_BEZOEK_LAND', 'Land', 'Landen', 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_POST', 'Post', NULL, 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_POST_ADRES', 'Adres', 'Adressen', 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_POST_POSTCODE', 'Postcode', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_POST_PLAATS', 'Plaats', 'Plaatsen', 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_POST_LAND', 'Land', 'Landen', 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_CONTACTPERSOON', 'Contactpersoon', NULL, 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_CONTACTPERS_TELEFOON', 'Telefoon', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_CONTACTPERS_FAX', 'Fax', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_CONTACTPERS_BUREAU', 'Bureau', NULL, 'het'); +DEF_FAC_ENTITY ('MLD_ADRES_TELEFOON', 'Telefoon', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_ADRES_FAX', 'Fax', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_OPDRGEVER', 'Opdrachtgever', NULL, 'de'); +DEF_FAC_ENTITY ('MLD_BESTELOPDR_AANVRAGER', 'Aanvrager', NULL, 'de'); + +#ifdef MLD +CREATE_TABLE(mld_adres, NORMAAL_PRIVILEGE) +( + mld_adres_key + NUMBER(10) + PRIMARY KEY, + mld_adres_naam + VARCHAR2(30) + NOT NULL, + mld_adres_upper + VARCHAR2(30) + NOT NULL, + mld_adres_bezoek_adres + VARCHAR2(35), + mld_adres_bezoek_postcode + VARCHAR2(12), + mld_adres_bezoek_plaats + VARCHAR2(30), + mld_adres_bezoek_land + VARCHAR2(30), + mld_adres_post_adres + VARCHAR2(35), + mld_adres_gebouw_ruimte + VARCHAR2(30), + mld_adres_post_postcode + VARCHAR2(12), + mld_adres_post_plaats + VARCHAR2(30), + mld_adres_post_land + VARCHAR2(30), + mld_adres_contactpersoon + VARCHAR2(30), + mld_adres_contactpers_telefoon + VARCHAR2(15), + mld_adres_contactpers_fax + VARCHAR2(15), + mld_adres_contactpers_bureau + VARCHAR2(20), + mld_adres_telefoon + VARCHAR2(15), + mld_adres_fax + VARCHAR2(15), + mld_adres_factuuradres + NUMBER(1) + CHECK(mld_adres_factuuradres IS NULL + OR mld_adres_factuuradres = 1), + mld_adres_opdrachtadres + NUMBER(1) + CHECK(mld_adres_opdrachtadres IS NULL + OR mld_adres_opdrachtadres = 1), + mld_adres_afleveradres + NUMBER(1) + CHECK(mld_adres_afleveradres IS NULL + OR mld_adres_afleveradres = 1) +); + +ALTER TABLE mld_bestelopdr +ADD +( + mld_bestelopdr_factuuradres + NUMBER(10) + REFERENCES mld_adres(mld_adres_key), + mld_bestelopdr_afleveradres + NUMBER(10) + REFERENCES mld_adres(mld_adres_key) +); + +CREATE SEQUENCE mld_s_mld_adres_key MINVALUE 1; + +CREATE TRIGGER mld_t_mld_adres_B_IU +BEFORE INSERT OR UPDATE ON mld_adres +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_adres_key, mld_s_mld_adres_key); + UPDATE_UPPER(mld_adres_naam, mld_adres_upper); +END; +/ +#endif // MLD +DEF_FAC_MESSAGE ('BCO_M138', 'Er moeten 4 niet werkbare weken aangegeven worden.'); +DEF_FAC_MESSAGE ('BCP_M110', 'Aanmaken preventieve weekplanning'); +DEF_FAC_MESSAGE ('BCP_M111', 'Taken worden bijgewerkt'); +DEF_FAC_MESSAGE ('BCP_M112', 'Nieuwe preventieve opdrachten worden aangemaakt'); +DEF_FAC_MESSAGE ('BCP_M113', 'Preventieve opdrachten worden bijgewerkt'); +DEF_FAC_MESSAGE ('BCP_M114', 'Bedrijven worden ingepland'); +DEF_FAC_MESSAGE ('BCP_M115', 'Bestekken worden ingepland'); +DEF_FAC_MESSAGE ('BCP_M116', 'Functies bij bedrijven worden ingepland'); +DEF_FAC_MESSAGE ('BCP_M117', 'Personeelsleden worden ingepland'); +DEF_FAC_MESSAGE ('BCP_M118', 'Preventieve planning voltooid.'); +DEF_FAC_MESSAGE ('BCO_M139', 'Aanmaken correctieve weekplanning'); +DEF_FAC_MESSAGE ('BCO_M140', 'Correctieve opdrachten worden bijgewerkt'); +DEF_FAC_MESSAGE ('BCO_M141', 'Bedrijven worden ingepland'); +DEF_FAC_MESSAGE ('BCO_M142', 'Bestekken worden ingepland'); +DEF_FAC_MESSAGE ('BCO_M143', 'Functies bij bedrijven worden ingepland'); +DEF_FAC_MESSAGE ('BCO_M144', 'Personeelsleden worden ingepland'); +DEF_FAC_MESSAGE ('BCO_M145', 'Correctieve planning voltooid.'); + +#ifdef BCO +/* Bepaal de JAARWEEK van Jaarweek + aantak_weken, rekening houdend met + * jaargrenzen. Er wordt geen rekening gehouden met BCO_NIETWERKBAAR. + */ +CREATE OR REPLACE FUNCTION BCO_BepaalEindWeek(jaarweek IN NUMBER, weken IN NUMBER) RETURN NUMBER +IS + jaar NUMBER; + week NUMBER; + aantal_weken NUMBER; + eind_jaarweek NUMBER; +BEGIN + jaar := TO_NUMBER(SUBSTR(TO_CHAR(jaarweek), 1, 4)); + week := TO_NUMBER(SUBSTR(TO_CHAR(jaarweek), 5, 2)); + /* Bepaal het maximum aantal weken van het opgegeven jaar. + * Als 31-december in week 1 valt, dan zijn er 52 weken in het opgegeven + * jaar. Anders zijn er 53 weken in het opgegeven jaar. + */ + aantal_weken := to_number(to_char(to_date('31-12-'||TO_CHAR(jaar), 'DD-MM-YYYY'), 'IW')); + IF aantal_weken = 1 + THEN + aantal_weken := 52; + END IF; + week := week + weken; + /* Als het nieuwe weeknummer over het aantal weken heen gaat + * moet het jaar 1 groter worden en weeknr kleiner worden + */ + IF week > aantal_weken + THEN + jaar := jaar + 1; + week := week - aantal_weken; + END IF; + eind_jaarweek := TO_NUMBER(LTRIM(TO_CHAR(jaar, '0999'))||LTRIM(TO_CHAR(week,'09'))); + RETURN eind_jaarweek; +END; +/ +CREATE_VIEW(bco_v_corropdr_order, NORMAAL_PRIVILEGE) + (mld_opdr_key, + mld_opdr_module, + bco_opdr_eindweek) AS +SELECT mld_opdr_key, + mld_opdr_module, + BCO_BepaalEindWeek(bco_opdr_weekingave, (mld_opdr_dagen/7)) +FROM mld_opdr +WHERE mld_opdr_module = 'BCO'; + + +ALTER TABLE bco_nietbeschik +ADD + UNIQUE(bco_prs_perslid_key, bco_nietbeschik_week, bco_nietbeschik_datum); + +CREATE OR REPLACE TRIGGER bco_t_bco_nietbeschik_B_IU +BEFORE INSERT OR UPDATE ON bco_nietbeschik +FOR EACH ROW +BEGIN +UPDATE_PRIMARY_KEY(bco_nietbeschik_key, bco_s_bco_nietbeschik_key); +IF NOT :new.bco_nietbeschik_datum IS NULL +THEN + :new.bco_nietbeschik_datum := TRUNC(:new.bco_nietbeschik_datum); +END IF; +END; +/ + +CREATE OR REPLACE TRIGGER bcp_t_bcp_taak_B_IU +BEFORE INSERT OR UPDATE ON bcp_taak +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(bcp_taak_key, bcp_s_bcp_taak_key); +END; +/ +#endif // BCO +DEF_FAC_MESSAGE ('BCP_M119', 'Preventieve opdracht %1% verwijderd.'); +DEF_FAC_MESSAGE ('BCP_M120', 'Preventieve opdracht %1% kan niet verwijderd worden.'); +DELETE FROM fac_entity_name +WHERE fac_entity_system_name = 'MLD_BESTELOPDR_BCO_LETTER'; + +INSERT INTO FAC_ENTITY_NAME VALUES('MLD_BESTELOPDR_BCO_LETTER', NULL, NULL, NULL); + +#ifdef ALG +ALTER TABLE alg_regio +ADD +( + alg_regio_land + VARCHAR2(15), + alg_regio_tekening + VARCHAR2(32) +); + +ALTER TABLE alg_district +ADD +( + alg_district_code + VARCHAR2(1) +#ifdef BEB + NOT NULL +#endif + , + alg_district_acadkey + VARCHAR2(10) +); + +ALTER TABLE alg_locatie +ADD +( + alg_locatie_gemeente + VARCHAR2(30), + alg_locatie_provincie + VARCHAR2(15), + alg_locatie_oppervlak + NUMBER(10,2), + alg_locatie_omtrek + NUMBER(8,2) +); + + +ALTER TABLE alg_objectdeel +( + alg_objectdeel_code + VARCHAR2(5) + NOT NULL, + alg_objectdeel_acadkey + VARCHAR2(10), + alg_objectdeel_oppervlak + NUMBER(10,2), + alg_objectdeel_omtrek + NUMBER(8,2) +); + + +ALTER TABLE alg_systeemcluster +( + alg_systeemcluster_code + VARCHAR2(5) + NOT NULL, + alg_systeemcluster_acadkey + VARCHAR2(10), + alg_systeemcluster_oppervlak + NUMBER(10,2), + alg_systeemcluster_omtrek + NUMBER(8,2) +); + +ALTER TABLE alg_gebouw +ADD +( + alg_gebouw_omtrek + NUMBER(8,2) +); + +CREATE_TABLE(alg_srtterrein,NORMAAL_PRIVILEGE) +( + alg_srtterrein_key + NUMBER(10) + PRIMARY KEY, + alg_srtterrein_omschrijving + VARCHAR2(30) + NOT NULL, + alg_srtterrein_upper + VARCHAR2(30) + NOT NULL, + alg_srtterrein_aanmaak + DATE + DEFAULT SYSDATE + NOT NULL, + alg_srtterrein_verwijder + DATE + DEFAULT NULL, + UNIQUE(alg_srtterrein_upper, alg_srtterrein_verwijder) +); + +ALTER TABLE alg_terreinsector +ADD +( + alg_srtterrein_key + NUMBER(10) + REFERENCES alg_srtterrein(alg_srtterrein_key), + alg_terreinsector_acadkey + VARCHAR2(10), + alg_terreinsector_oppervlak + NUMBER(10,2), + alg_terreinsector_omtrek + NUMBER(8,2), + alg_terreinsector_opmerking + VARCHAR2(50) +); + +ALTER TABLE alg_bouwdeel +( + alg_bouwdeel_code + VARCHAR2(2) + NOT NULL +); + +CREATE_TABLE(alg_srtverdieping,NORMAAL_PRIVILEGE) +( + alg_srtverdieping_key + NUMBER(10) + PRIMARY KEY, + alg_srtverdieping_omschrijving + VARCHAR2(30) + NOT NULL, + alg_srtverdieping_upper + VARCHAR2(30) + NOT NULL, + alg_srtverdieping_volgnr + NUMBER(3) + NOT NULL, + alg_srtverdieping_aanmaak + DATE + DEFAULT SYSDATE + NOT NULL, + alg_srtverdieping_verwijder + DATE + DEFAULT NULL, + UNIQUE(alg_srtverdieping_volgnr, alg_srtverdieping_verwijder) +); + +ALTER TABLE alg_verdieping +ADD +( + alg_srtverdieping_key + NUMBER(10) + REFERENCES alg_srtverdieping(alg_srtverdieping_key) +#ifdef BEB + NOT NULL +#endif +); + +ALTER TABLE alg_ruimte +ADD +( + alg_ruimte_omtrek + NUMBER(8,2) +); + +CREATE SEQUENCE alg_s_alg_srtterrein_key MINVALUE 1; +CREATE SEQUENCE alg_s_alg_srtverdieping_key MINVALUE 1; + +DEFINIEER_VIEW_AANWEZIG(alg_regio, alg_regio_verwijder, + alg_v_aanwezigregio,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_district, alg_district_verwijder, + alg_v_aanwezigdistrict,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_locatie, alg_locatie_verwijder, + alg_v_aanweziglocatie,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_srtgebouw, alg_srtgebouw_verwijder, + alg_v_aanwezigsrtgebouw,BIBLIOTHEEK_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_gebouw, alg_gebouw_verwijder, + alg_v_aanweziggebouw,NORMAAL_PRIVILEGE) AND + alg_locatie_key IN (SELECT alg_locatie_key + FROM alg_v_aanweziglocatie); + +DEFINIEER_VIEW_AANWEZIG(alg_verdieping, alg_verdieping_verwijder, + alg_v_aanwezigverdieping,NORMAAL_PRIVILEGE) AND + alg_gebouw_key IN (SELECT alg_gebouw_key + FROM alg_v_aanweziggebouw); + +DEFINIEER_VIEW_AANWEZIG(alg_srtruimte, alg_srtruimte_verwijder, + alg_v_aanwezigsrtruimte,BIBLIOTHEEK_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_ruimte, alg_ruimte_verwijder, + alg_v_aanwezigruimte,NORMAAL_PRIVILEGE) AND + alg_verdieping_key IN (SELECT alg_verdieping_key + FROM alg_v_aanwezigverdieping); + +DEFINIEER_VIEW_AANWEZIG(alg_terreinsector, alg_terreinsector_verwijder, + alg_v_aanwezigterreinsector,NORMAAL_PRIVILEGE) AND + alg_locatie_key IN (SELECT alg_locatie_key + FROM alg_v_aanweziglocatie); +DEFINIEER_VIEW_AANWEZIG(alg_objectdeel, alg_objectdeel_verwijder, + alg_v_aanwezigobjectdeel,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_systeemcluster, alg_systeemcluster_verwijder, + alg_v_aanwezigsysteemcluster,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_bouwdeel, alg_bouwdeel_verwijder, + alg_v_aanwezigbouwdeel,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_srtterrein, alg_srtterrein_verwijder, + alg_v_aanwezigsrtterrein,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_srtverdieping, alg_srtverdieping_verwijder, + alg_v_aanwezigsrtverdieping,NORMAAL_PRIVILEGE); + +CREATE OR REAPLCE TRIGGER alg_t_alg_district_B_IU +BEFORE INSERT OR UPDATE ON alg_district +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_district_key, alg_s_alg_district_key); + UPDATE_UPPER(alg_district_code, alg_district_code); + UPDATE_UPPER(alg_district_omschrijving, alg_district_upper); + SET_VERWIJDER_CHILDREN(alg_locatie, alg_district_key, alg_district_verwijder, alg_locatie_verwijder); +END; +/ + +CREATE OR REPLACE TRIGGER alg_t_alg_terreinsector_B_IU +BEFORE INSERT OR UPDATE ON alg_terreinsector +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_terreinsector_key, alg_s_alg_onroerendgoed_keys); + :new.alg_terreinsector_omschrijving := SUBSTRB(:new.alg_terreinsector_code ||' - '|| :new.alg_terreinsector_naam,1,30); + UPDATE_UPPER(alg_terreinsector_code,alg_terreinsector_upper); +#ifdef MRA + IF :new.alg_terreinsector_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_terreinsector_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_terreinsector_key; + END IF; +#endif // MRA +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_terreinsector_key, + alg_terreinsector_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +END; +/ + +CREATE OR REPLACE TRIGGER alg_t_alg_verdieping_B_IU +BEFORE INSERT OR UPDATE ON alg_verdieping +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_verdieping_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_verdieping_omschrijving, alg_verdieping_upper); + LAAT_RUIMTE_VERVALLEN_VOOR_VERDIEPING('alg_m55'); +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_verdieping_key, + alg_verdieping_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS + /* Voor BEB: ALG_VERDIEPING_Volgnr = ALG_SRTVERDIEPING_VOLGNR */ + IF NOT :new.alg_srtverdieping_key IS NULL + THEN + SELECT alg_srtverdieping_volgnr + INTO :new.alg_verdieping_volgnr + FROM alg_srtverdieping + WHERE alg_srtverdieping_key = :new.alg_srtverdieping_key; + END IF; +END; +/ + +CREATE OR REPLACE TRIGGER alg_t_alg_objectdeel_B_IU +BEFORE INSERT OR UPDATE ON alg_objectdeel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_objectdeel_key, alg_s_alg_objectdeel_key); + UPDATE_UPPER(alg_objectdeel_code, alg_objectdeel_code); + UPDATE_UPPER(alg_objectdeel_omschrijving, alg_objectdeel_upper); + SET_VERWIJDER_CHILDREN(alg_systeemcluster, alg_objectdeel_key, alg_objectdeel_verwijder, + alg_systeemcluster_verwijder); +END; +/ + +CREATE OR REPLACE TRIGGER alg_t_alg_systeemcluster_B_IU +BEFORE INSERT OR UPDATE ON alg_systeemcluster +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_systeemcluster_key, alg_s_alg_systeemcluster_key); + UPDATE_UPPER(alg_systeemcluster_code, alg_systeemcluster_code); + UPDATE_UPPER(alg_systeemclust_omschrijving, alg_systeemcluster_upper); + CHECK_NOG_REFERENCES(alg_systeemcluster, alg_systeemcluster_verwijder, + alg_v_aanweziggebouw, alg_systeemcluster_key, 'alg_m182'); +END; +/ + +CREATE OR REPLACE TRIGGER alg_t_alg_bouwdeel_B_IU +BEFORE INSERT OR UPDATE ON alg_bouwdeel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_bouwdeel_key, alg_s_alg_bouwdeel_key); + UPDATE_UPPER(alg_bouwdeel_code, alg_bouwdeel_code); + UPDATE_UPPER(alg_bouwdeel_omschrijving, alg_bouwdeel_upper); + CHECK_NOG_REFERENCES(alg_bouwdeel, alg_bouwdeel_verwijder, + alg_v_aanwezigverdieping, alg_bouwdeel_key, 'alg_m183'); +END; +/ + +CREATE TRIGGER alg_t_alg_srtterrein_B_IU +BEFORE INSERT OR UPDATE ON alg_srtterrein +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_srtterrein_key, alg_s_alg_srtterrein_key); + UPDATE_UPPER(alg_srtterrein_omschrijving, alg_srtterrein_upper); + CHECK_NOG_REFERENCES(alg_srtterrein, alg_srtterrein_verwijder, + alg_v_aanwezigterreinsector, alg_srtterrein_key, 'alg_m196'); +END; +/ + +CREATE TRIGGER alg_t_alg_srtverdieping_B_IU +BEFORE INSERT OR UPDATE ON alg_srtverdieping +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_srtverdieping_key, alg_s_alg_srtverdieping_key); + UPDATE_UPPER(alg_srtverdieping_omschrijving, alg_srtverdieping_upper); + CHECK_NOG_REFERENCES(alg_srtverdieping, alg_srtverdieping_verwijder, + alg_v_aanwezigverdieping, alg_srtverdieping_key, 'alg_m204'); +END; +/ + +#endif +DEF_FAC_ENTITY ('ALG_REGIO_LAND', 'Land', 'Landen', 'het'); +DEF_FAC_ENTITY ('ALG_REGIO_TEKENING', 'Tekening', 'Tekeningen', 'de'); +DEF_FAC_ENTITY ('ALG_DISTRICT_CODE', 'Districtcode', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_DISTRICT_ACADKEY', 'Acadkey', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_GEMEENTE', 'Gemeente', 'Gemeentes', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_PROVINCIE', 'Provincie', 'Provincies', 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_ACADKEY', 'Acadkey', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_OPPERVLAK', 'Oppervlakte', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_LOCATIE_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_OBJECTDEEL_CODE', 'Objectdeelcode', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_OBJECTDEEL_ACADKEY', 'Acadkey', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_OBJECTDEEL_OPPERVLAK', 'Oppervlakte', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_OBJECTDEEL_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SYSTEEMCLUSTER_CODE', 'Code', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SYSTEEMCLUSTER_ACADKEY', 'Acadkey', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SYSTEEMCLUSTER_OPPERVLAK', 'Oppervlakte', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SYSTEEMCLUSTER_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_GEBOUW_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_ACADKEY', 'Acadkey', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_OPPERVLAK', 'Oppervlakte', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_TERREINSECTOR_OPMERKING', 'Opmerking', NULL, 'de'); +#if defined(BEB) +DEF_FAC_ENTITY ('ALG_SRTTERREIN', 'Terrein/Werksoort', NULL, 'de'); +#else +DEF_FAC_ENTITY ('ALG_SRTTERREIN', 'Terreinsectorsoort', NULL, 'de'); +#endif +DEF_FAC_ENTITY ('ALG_SRTTERREIN_OMSCHRIJVING', 'Omschrijving', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_BOUWDEEL_CODE', 'Bouwdeelcode', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_RUIMTE_OMTREK', 'Omtrek', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SRTVERDIEPING', 'Verdiepingsoort', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SRTVERDIEPING_OMSCHRIJVING', 'Omschrijving', NULL, 'de'); +DEF_FAC_ENTITY ('ALG_SRTVERDIEPING_VOLGNR', 'Volgnummer', NULL, 'de'); + +#if defined(BEB) +DEF_FAC_MESSAGE ('ALG_M196', 'Er zijn nog terreinen/werken gekoppeld aan het terrein/werksoort.'); +#else +DEF_FAC_MESSAGE ('ALG_M196', 'Er zijn nog terreinsectoren gekoppeld aan het terreinsoort.'); +#endif +#if defined(BEB) +DEF_FAC_MESSAGE ('ALG_M197', 'De dienstkringcode is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('ALG_M197', 'De districtcode is niet ingevuld.'); +#endif +#if defined(BEB) +DEF_FAC_MESSAGE ('ALG_M198', 'Verwijderen Terrein/Werksoort'); +DEF_FAC_MESSAGE ('ALG_M199', 'Verwijderen Terrein/Werksoort %1%?'); +#else +DEF_FAC_MESSAGE ('ALG_M198', 'Verwijderen Terreinsoort'); +DEF_FAC_MESSAGE ('ALG_M199', 'Verwijderen Terreinsoort %1%?'); +#endif +DEF_FAC_MESSAGE ('ALG_M200', 'Objectcode is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M201', 'Systeemclustercode is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M202', 'Bouwdeelcode is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M203', 'Omschrijving is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M204', 'Er zijn nog verdieping gekoppeld aan de verdiepingsoort.'); +DEF_FAC_MESSAGE ('ALG_M205', 'Omschrijving is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M206', 'Volgnummer is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_M207', 'Verwijderen verdiepingsoort'); +DEF_FAC_MESSAGE ('ALG_M208', 'Verwijderen verdiepingsoort %1%?'); +DEF_FAC_MESSAGE ('ALG_M209', 'Verdiepingsoort is niet ingevuld.'); + +DEF_FAC_MESSAGE ('RMC_M006', 'De garnizoencode is niet ingevuld.'); + +DEF_FAC_FORM('ALG027', NULL, NULL ,'110270','ALG_ALG027','Overzichtscherm Terreinsoort'); +DEF_FAC_FORM('ALG028', NULL, NULL ,'110280','ALG_ALG028','Overzichtscherm Verdiepingsoort'); +DEF_FAC_FORM('ALG127', NULL, NULL ,'111270','ALG_ALG127','Mutatiescherm Terreinsoort'); +DEF_FAC_FORM('ALG128', NULL, NULL ,'111280','ALG_ALG128','Mutatiescherm Verdiepingsoort'); + +#ifdef BCO +ALTER TABLE bco_nietbeschik +MODIFY +( + bco_nietbeschik_uren + NUMBER(5,2) +); +ALTER TABLE bco_nietbeschik +ADD + CHECK(bco_nietbeschik_uren IS NULL OR bco_nietbeschik_uren >= 0); +#endif +DELETE FROM fac_message +WHERE fac_message_code IN ('BCO_M126', 'BCO_M127', 'MLD_M124', 'BCP_M076'); + +INSERT INTO FAC_MESSAGE VALUES('BCO_M126', 'Totale uren moet groter of gelijk zijn dan de uren preventief en uren storing'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M127', 'Totale uren moet groter of gelijk zijn dan de uren correctief en uren storing'); +DEF_FAC_MESSAGE ('BCP_M076', 'Preventieve opdracht %1% krijgt opnieuw de status ''%2%'''); +#if defined(MRA) +DEF_FAC_MESSAGE ('MLD_M124', 'Activiteit of omschrijving is niet ingevuld.'); +#else +DEF_FAC_MESSAGE ('MLD_M124', 'Opdracht of omschrijving is niet ingevuld.'); +#endif // MRA +DEF_FAC_ENTITY ('PRS_SRTBEDRIJF', 'Bedrijfsoort', 'Bedrijfsoorten', 'het'); + +#ifdef MLD +DROP TABLE mld_bestelregel; +CREATE_TABLE(mld_bestelregel,NORMAAL_PRIVILEGE) +( + mld_bestelregel_key + NUMBER(10) + PRIMARY KEY, + mld_bestelopdr_key + NUMBER(10) + NOT NULL + REFERENCES mld_bestelopdr ON DELETE CASCADE, + bcp_mld_opdr_key + NUMBER(10) + UNIQUE, + mld_bestelregel_omschrijving + VARCHAR2(320), + CHECK(bcp_mld_opdr_key IS NOT NULL OR + mld_bestelregel_omschrijving IS NOT NULL) +); + +CREATE TRIGGER mld_t_mld_bestelregel_B_IU +BEFORE INSERT OR UPDATE ON mld_bestelregel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(mld_bestelregel_key, mld_s_mld_bestelregel_key); + IF :new.bcp_mld_opdr_key IS NOT NULL + THEN + DECLARE + dummy CHAR; + BEGIN + dummy := NULL; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr + WHERE mld_opdr_key = :new.bcp_mld_opdr_key; + EXCEPTION + WHEN NO_DATA_FOUND + THEN dummy := NULL; + END; +#ifdef BCP + IF dummy IS NULL + THEN + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr + WHERE bcp_prevopdr_key = :new.bcp_mld_opdr_key; + EXCEPTION + WHEN NO_DATA_FOUND + THEN dummy := NULL; + END; + END IF; +#endif // BCP + IF dummy IS NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m159'); + END IF; + END; + END IF; +END; +/ + +#endif +#ifdef BCP +CREATE_VIEW(bcp_v_prevopdr_gegevens,NORMAAL_PRIVILEGE) + (bcp_prevopdr_key, + bcp_prevopdr_status, + bcp_prevopdr_status_key, + bcp_prevopdr_jaarweek, + bcp_prevopdr_discipline, + bcp_prevopdr_discipline_key, + bcp_prevopdr_locatie, + bcp_prevopdr_locatie_key) AS +SELECT BCP_P.bcp_prevopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_S.mld_statusopdr_key, + BCP_P.bcp_prevopdr_week, + INS_D.ins_discipline_omschrijving, + INS_D.ins_discipline_key, + ALG_L.alg_locatie_omschrijving, + ALG_L.alg_locatie_key +FROM bcp_prevopdr BCP_P, + mld_statusopdr MLD_S, + bcp_taak BCP_T, + bcp_verzamel BCP_V, + ins_srtdeel INS_SD, + ins_srtgroep INS_SG, + ins_discipline INS_D, + bcp_v_onrgoed_op_locgroep BCP_L, + alg_locatie ALG_L +WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND BCP_T.bcp_verzamel_key = BCP_V.bcp_verzamel_key + AND BCP_V.bcp_ins_srtdeel_key = INS_SD.ins_srtdeel_key + AND INS_SD.ins_srtgroep_key = INS_SG.ins_srtgroep_key + AND INS_SG.ins_discipline_key = INS_D.ins_discipline_key + AND BCP_T.bcp_alg_gebouw_key = BCP_L.alg_onrgoed_key + AND BCP_L.alg_locatie_key = ALG_L.alg_locatie_key; +#endif +DELETE FROM fac_message +WHERE fac_message_code = 'BCO_M136'; +INSERT INTO FAC_MESSAGE VALUES('BCO_M136', 'Weekplanning niet mogelijk: er zijn opdrachten afgemeld of verwerkt.'); +#ifdef BCO +CREATE_VIEW(bco_v_corropdr_bedrijf,NORMAAL_PRIVILEGE) + (bco_uitv_omschrijving, + bco_bedrijf_omschrijving, + mld_uitvoerende_keys, + prs_bedrijf_key, + mld_opdr_uren, + bco_locatiegroep_key, + bco_opdr_weekuitgifte) AS + SELECT PRS_S.prs_srtperslid_omschrijving, + PRS_U.prs_bedrijf_naam, + PRS_S.prs_srtperslid_key, + PRS_U.prs_bedrijf_key, + BCO_S.bco_opdr_somuren, + BCO_S.bco_locatiegroep_key, + BCO_S.bco_opdr_weekuitgifte + FROM bco_v_corropdr_somuren BCO_S, + prs_srtperslid PRS_S, + prs_v_uitvoerendebedrijf PRS_U + WHERE BCO_S.mld_uitvoerende_keys = PRS_S.prs_srtperslid_key AND + PRS_S.prs_bedrijf_key = PRS_U.prs_bedrijf_key +UNION + SELECT PRS_E.prs_bestek_omschrijving, + PRS_U.prs_bedrijf_naam, + PRS_D.prs_disciplinebestek_key, + PRS_U.prs_bedrijf_key, + BCO_S.bco_opdr_somuren, + BCO_S.bco_locatiegroep_key, + BCO_S.bco_opdr_weekuitgifte + FROM bco_v_corropdr_somuren BCO_S, + prs_v_contractbedrijf PRS_U, + prs_disciplinebestek PRS_D, + prs_bestek PRS_E + WHERE BCO_S.mld_uitvoerende_keys = PRS_D.prs_disciplinebestek_key AND + PRS_D.prs_bestek_key = PRS_E.prs_bestek_key AND + PRS_E.prs_bedrijf_key = PRS_U.prs_bedrijf_key +UNION + SELECT NULL, + PRS_U.prs_bedrijf_naam, + PRS_U.prs_bedrijf_key, + PRS_U.prs_bedrijf_key, + BCO_S.bco_opdr_somuren, + BCO_S.bco_locatiegroep_key, + BCO_S.bco_opdr_weekuitgifte + FROM bco_v_corropdr_somuren BCO_S, + prs_v_uitvoerendebedrijf PRS_U + WHERE BCO_S.mld_uitvoerende_keys = PRS_U.prs_bedrijf_key; + +CREATE_VIEW (bco_v_perslid_corropdr,NORMAAL_PRIVILEGE) + (prs_perslid_key, + key, + prs_srtperslid_key, + naam, + soort, + locatiegroep_key, + bco_locatiegroep_key) AS + SELECT PRS_P.prs_perslid_key, + PRS_P.prs_perslid_key, + PRS_P.prs_srtperslid_key, + PRS_P.prs_perslid_naam||' '||PRS_P.prs_perslid_voorletters, + PRS_S.prs_srtperslid_omschrijving, + PRS_P.bco_locatiegroep_key, + PRS_P.bco_locatiegroep_key + FROM prs_v_aanwezigperslid PRS_P, + prs_v_aanwezigsrtperslid PRS_S + WHERE PRS_P.prs_srtperslid_key = PRS_S.prs_srtperslid_key; + +#endif +#ifdef BCP +CREATE_VIEW(bcp_v_perslid,NORMAAL_PRIVILEGE) (key, + naam, + soort, + locatiegroep_key) AS + SELECT P.prs_perslid_key, + P.prs_perslid_naam||' '||P.prs_perslid_voorletters, + S.prs_srtperslid_omschrijving, + P.bco_locatiegroep_key + FROM prs_v_aanwezigperslid P, + prs_srtperslid S + WHERE P.prs_srtperslid_key = S.prs_srtperslid_key; + +#endif +#ifdef BCO +DROP TABLE bco_commentaar; +CREATE TABLE bco_commentaar +( + bco_commentaar_key + NUMBER(10) + PRIMARY KEY, + bco_commentaar_tijd + DATE + DEFAULT SYSDATE, + bco_commentaar_jaarweek + NUMBER(6), + bco_locatiegroep_key + NUMBER(10), + bco_commentaar_source + VARCHAR2(2) + NOT NULL, + bco_commentaar_tekst + VARCHAR2(200) + NOT NULL, + bco_commentaar_type + VARCHAR2(1) +); +CREATE SEQUENCE bco_s_bco_commentaar_key MINVALUE 1; + + +CREATE TRIGGER bco_t_bco_commentaar_B_IU +BEFORE INSERT OR UPDATE ON bco_commentaar +FOR EACH ROW +BEGIN +IF :new.bco_commentaar_key IS NULL THEN SELECT bco_s_bco_commentaar_key.nextval INTO :new.bco_commentaar_key FROM DUAL; END IF; +END; +/ + +CREATE OR REPLACE FUNCTION ControleerGoedJaarweek(jaarweek IN NUMBER) RETURN BOOLEAN +IS + jaar NUMBER; + week NUMBER; + aantal_weken NUMBER; +BEGIN + jaar := TO_NUMBER(SUBSTR(TO_CHAR(jaarweek), 1, 4)); + week := TO_NUMBER(SUBSTR(TO_CHAR(jaarweek), 5, 2)); + /* Bepaal het maximum aantal weken van het opgegeven jaar. + * Als 31-december in week 1 valt, dan zijn er 52 weken in het opgegeven + * jaar. Anders zijn er 53 weken in het opgegeven jaar. + */ + aantal_weken := to_number(to_char(to_date('31-12-'||TO_CHAR(jaar), 'DD-MM-YYYY'), 'IW')); + IF aantal_weken = 1 + THEN + aantal_weken := 52; + END IF; + IF week <= aantal_weken + AND LENGTH(TO_CHAR(jaarweek)) = 6 + AND week > 0 + THEN + RETURN TRUE; + ELSE + RETURN FALSE; + END IF; +END; +/ + +CREATE OR REPLACE TRIGGER bco_t_bco_nietwerkbaar_B_IU +BEFORE INSERT OR UPDATE ON bco_nietwerkbaar +FOR EACH ROW +BEGIN +IF :new.bco_nietwerkbaar_key IS NULL THEN SELECT bco_s_bco_nietwerkbaar_key.nextval INTO :new.bco_nietwerkbaar_key FROM DUAL; END IF; +IF (:old.bco_nietwerkbaar_week IS NULL + OR :old.bco_nietwerkbaar_week <> :new.bco_nietwerkbaar_week) +AND NOT ControleerGoedJaarweek(:new.bco_nietwerkbaar_week) +THEN + raise_application_error(-20000, 'bco_m146'); +END IF; +END; +/ + +CREATE OR REPLACE TRIGGER bco_t_bco_nietbeschik_B_IU +BEFORE INSERT OR UPDATE ON bco_nietbeschik +FOR EACH ROW +BEGIN +IF :new.bco_nietbeschik_key IS NULL THEN SELECT bco_s_bco_nietbeschik_key.nextval INTO :new.bco_nietbeschik_key FROM DUAL; END IF; +IF (:old.bco_nietbeschik_week IS NULL + OR :old.bco_nietbeschik_week <> :new.bco_nietbeschik_week) +AND NOT ControleerGoedJaarweek(:new.bco_nietbeschik_week) +THEN + raise_application_error(-20000, 'bco_m146'); +END IF; +IF NOT :new.bco_nietbeschik_datum IS NULL +THEN + :new.bco_nietbeschik_datum := TRUNC(:new.bco_nietbeschik_datum); +END IF; +END; +/ +#endif +INSERT INTO FAC_MESSAGE VALUES('BCO_M146', 'De week bestaat niet in het opgegeven jaar.'); +DELETE FROM fac_message +WHERE fac_message_code IN ('BCO_M116', + 'BCO_M118', + 'BCO_M120', + 'BCO_M122', + 'PRS_M059', + 'BCO_M113'); + + +INSERT INTO FAC_MESSAGE VALUES('BCO_M116', 'Aantal uitgegeven correctieve opdrachten aan bedrijven: %1%'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M118', 'Aantal uitgegeven correctieve opdrachten aan bestekken: %1%'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M120', 'Aantal uitgegeven correctieve opdrachten aan functies bij bedrijven: %1%'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M122', 'Aantal uitgegeven correctieve opdrachten aan personen: %1%'); +INSERT INTO FAC_MESSAGE VALUES('BCO_M147', 'Maatregel is niet ingevuld.'); +DEF_FAC_MESSAGE ('PRS_M059', 'Functie wordt nog default uitvoerende bij een deelsoort gebruikt.'); +DEF_FAC_MESSAGE ('BCO_M113', 'Correctieve opdracht %1% is ingetrokken, deze is langer dan 2 weken uitgegeven.'); +#ifdef MLD +CREATE OR REPLACE TRIGGER mld_t_mld_opdr_b_d +BEFORE DELETE ON mld_opdr +FOR EACH ROW +BEGIN + /* Een verwerkte opdracht mag niet verwijderd worden */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_statusopdr MLD_S + WHERE :old.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Verwerkt'; + APPLICATION_ERROR(-20002, 'mld_m135'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; +#ifdef BCO + /* Een opdracht die voorkomt op een werkregel mag niet verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bco_werkregel + WHERE bcp_mld_opdr_key = :old.mld_opdr_key; + APPLICATION_ERROR(-20002, 'mld_m158'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'mld_m158'); + END; +#endif + /* Een opdracht komt nog voor in een bestelopdracht, mag niet verwijderd worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_bestelregel + WHERE bcp_mld_opdr_key = :old.mld_opdr_key; + APPLICATION_ERROR(-20002, 'mld_m162'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20002, 'mld_m162'); + END; +END; +/ + +ALTER TABLE mld_adres +ADD + CHECK(mld_adres_factuuradres IS NOT NULL + OR mld_adres_opdrachtadres IS NOT NULL + OR mld_adres_afleveradres IS NOT NULL); +#endif +DEF_FAC_MESSAGE ('MLD_M172', 'Er is geen adrestype opgegeven.'); + +PROMPT Vergeet niet te committen! diff --git a/_UP/124TO125.SRC b/_UP/124TO125.SRC new file mode 100644 index 00000000..41275848 --- /dev/null +++ b/_UP/124TO125.SRC @@ -0,0 +1,1652 @@ +SPOOL 124to125 + +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.24 naar 01.25 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * 22-01-97 AH BESTELLING_OPEN/ALL/VOL toegevoegd voor LEV011/PrintButton + * HUI_RESERVERING toegevoegd en HUI_OVERNACHTING weer aangepast + * LEV_M067 + 68 toegevoegd + * 22-01-97 AH IMPORT, INV022 toegevoegd + * 22-01-97 AH IMPORT ARTIKEL: INV_M065 - 67 toegevoegd. + * 22-01-97 AH #1122, FAC016 toegevoegd + * 21-01-97 AH #1165, HUI_M026 en 027 aangepast, HUI_M057 - 061 toegevoegd + * 21-01-97 AH #1165, View HUI_V_TIJDELIJKPERSLID aangepast voor checkbox. + * HUI_V_AANWEZIGPERSLID en HUI_V_AANWEZIGHUISMEESTER moeten opnieuw + * aangemaakt worden. + * 20-01-97 AH #1165, HUI_PERSLID_OPSCHONEN toegevoegd + * 20-01-97 AH #1163, HUI_BEZETTING toegevoegd, HUI_OVERNACHTING aangepast + * HUI_M053 - 55 toegevoegd + * 20-01-97 AH #1163, Voor HUI unique op PRS_PERLSIDWERKPLEK aangepast + * 20-01-97 AH #1161, Artikelsleutelnr. toevoegen in INS_ATTRIBUTE + * 20-01-97 AH LEV_M066 toegevoegd + * 17-01-97 AH #1155, ALG_RUIMTE/HUI_CAPACITEIT aangepast in N(4) + * 17-01-97 AH #1134, INV017 toegevoegd voor inventaris met eigenaar. + * 17-01-97 AH #1117, INV_M061 en 064 toegevoegd + * 15-01-97 AH #1127, LEV_TOEWIJZING heeft ON DELETE CASCADE gekregen + * 15-01-97 AH #1112, LEV_M063 - 65 toegevoegd + * 15-01-97 AH #1134, LEV016 toegevoegd voor afvoeren inventaris. + * 15-01-97 AH #1117, INV_V_DEEL_PLAATS_PERSLID toegevoegd voor INV017. + * 14-01-97 AH #1134, INV_V_DEEL_PLAATS_GEGEVENS: LEV_AFVOERLIJST_TYPE toegevoegd + * 10-01-97 AH #1134, LEV_AFVOERLIJST_DATUM veranderd in LEV_AFVOERLIJST_TYPE + * 10-01-97 AH #1134, Afvoerlijst_type in INS_DEEL toegevoegd + * LEV_LEVERING_KEY/LEV_BESTELLING_KEY/AFVOERLIJST_DATUM verwijderrd. + * 10-01-97 AH #1134: Unique voor LEV aangepast. + * LEV_LEVERING_KEY/BESTELLING_KEY/AFVOERLIJST_DATUM zijn + * veranderd in LEV_AFVOERLIJST_TYPE. + * 14-01-97 AH #1134, INS_DEEL koppelen aan locatie is nu niet meer mogelijk. + * LEV_AFVOERLIJST_TYPE neemt deze functionaliteit over. + * 10-01-97 AH #1134, LEV-gedeelte van INS_DEEL-trigger verwijderd en + * voorlopig in commentaar onderaan deze file gezet. + * 14-01-97 AH #1134, LEV_M060 - 062 toegevoegd + * 14-01-97 AH #1134, LEV_AFVOERLIJST... toegevoegd + * 10-01-97 AH #1124, INV_DEEL_VERHUIZEN, INV_M059, INV_M060 toegevoegd + * 10-01-97 AH #1127, LEV_LEVERREGEL, LEV_TOEWIJZING, LEV_M059 toegevoegd + * 10-01-97 AH #1127, LEV_TOEGEWEZEN, LEV_GELEVERD, LEV_M059 toegevoegd + * 09-01-97 AH #1122, FAC_Printer-entities en messages toegevoegd + * 08-01-97 AH #1124, INV_M055 - 58 toegevoegd + * 08-01-97 AH #1118, Kostenpost heet voor LEV/HUI MZA + * 08-01-97 AH #1116, INV_DETAIL toegevoegd + * 08-01-97 AH LEV_M053 - LEV_M058 toegevoegd, LEV_M013 + 028 aangepast + * 06-01-97 AH INS_SRTDEEL_OMSCHRIJVING/UPPER vergroot naar 40 voor LEV/HUI + * 06-01-97 AH PRS_PERSLID_NR aangepast en LEV_CONTACTPERSLID toegevoegd + * 23-12-96 AH MRA_V_GEINVOORSCHR_HULP uit elkaar getrokken en via een extra UNION + * weer aan elkaar gekoppeld. + * 17-12-96 AH LOG#1104: Voor PMK moet mld_opdr_omschrijving 1024 chars bevatten + * 17-12-96 AH Delete-triggers voor MRA_VOORSCHRIFT, MRA_MANCO, MRA_ONRGOEDVOORSCHR + * MRA_ONRGOEDBESTEMMING, MRA_BESTEMMINGVOORSCHR, MRA_SRTGEBOUWVOORSCHR + * MRA_SRTRUIMTEVOORSCHR weggehaald. + * 17-12-96 AH Views waar mra_onrgoedvoorschr_type werd gebruikt, deze kolommen + * weggehaald. + * 17-12-96 AH View MRA_V_ONGEIN_RAPPORT aangepast, MRA_MANCO_KEY toegevoegd. + * 17-12-96 AH MRA_ONRGOEDVOORSCHR_TYPE weggehaald, Unique op VoorschriftKey en + * OnrgoedKey. + * 17-12-96 AH MRA_ONRGOEDMANCO aangepast, Reference en Cascade om MRA_MANCO_KEY. + * 17-12-96 AH MRA_ONRGOEDVOORSCHR aangepast, Reference en Cascade om MRA_VOORSCHRIFT_KEY. + * 17-12-96 AH ALG_T_ALG_GEBOUW_B_IU, ALG_T_ALG_RUIMTE_B_IU aangepast voor MRA + * 17-12-96 AH MRA-entities, MRA_M105-107 toegevoegd + * 10-12-96 AH PRS_BEDRIJF en PRS_LOCBESTEK-triggers gebruiken ten onrechte + * BCO_DEFAULTUITV_KEYS zonder BCO + * 10-12-96 AH MRA_MANCO_TOELICHTING toegevoegd en andere MRA-velden aangepast. + * 05-12-96 AH INV_DEEL_BEZIT heet in HUI-mode 'Bruikleen'. HUI_M052 toegevoeg.d + * Voor HUI heet 'Artikelgroep': 'Artikeltype', 'Artikelsoort': + * 'Artikel'. + * 05-12-96 AH LOG#1090: Unique op INS_SRTDEEL aangepast ALLEEN voor LEV + * --- 01.24 --- + */ + +#include +#include +PROMPT Upgrading van versie 124 naar 125... + +#ifdef LEV +ALTER TABLE ins_srtdeel +DROP + UNIQUE(inv_srtdeel_nr, ins_srtdeel_upper, ins_srtdeel_module, ins_srtdeel_verwijder); +ALTER TABLE ins_srtdeel +ADD + UNIQUE(inv_srtdeel_nr, ins_srtdeel_module, ins_srtdeel_verwijder); +#endif + +#ifdef HUI +DELETE FROM fac_entity_name +WHERE fac_entity_system_name = 'INV_DEEL_BEZIT'; + +INSERT INTO FAC_ENTITY_NAME VALUES('INV_DEEL_BEZIT', 'Bruikleen', NULL, 'het'); +#endif +DEF_FAC_MESSAGE ('HUI_M052', 'De vakgroep ''Inventaris'' bestaat niet.'); + +#ifdef HUI +UPDATE fac_entity_name +SET fac_entity_user_name = REPLACE(fac_entity_user_name, 'rtikelgroep', 'rtikeltype'), + fac_entity_user_name_m = REPLACE(fac_entity_user_name, 'rtikelgroep', 'rtikeltype') +WHERE UPPER(fac_entity_user_name) LIKE UPPER('%rtikelgroep%'); + +UPDATE fac_message +SET fac_message_text = REPLACE(fac_message_text, 'rtikelgroep', 'rtikeltype') +WHERE UPPER(fac_message_text) LIKE UPPER('%rtikelgroep%'); + +UPDATE fac_entity_name +SET fac_entity_user_name = REPLACE(fac_entity_user_name, 'rtikelsoort', 'rtikel'), + fac_entity_user_name_m = REPLACE(fac_entity_user_name, 'rtikelsoort', 'rtikel') +WHERE UPPER(fac_entity_user_name) LIKE UPPER('%rtikelsoort%'); + +UPDATE fac_message +SET fac_message_text = REPLACE(fac_message_text, 'rtikelsoort', 'rtikel') +WHERE UPPER(fac_message_text) LIKE UPPER('%rtikelsoort%'); + +DELETE FROM fac_entity_name +WHERE fac_entity_system_name = 'INV_DEEL'; + +INSERT INTO FAC_ENTITY_NAME VALUES('INV_DEEL', 'Inventaris', 'Inventarissen', 'de'); + +DELETE FROM fac_message +WHERE fac_message_code in ('PRS_M055', + 'INV_M015', + 'INV_M008', + 'INV_M020', + 'INV_M025' , + 'INV_M031' , + 'INV_M032' , + 'INV_M034' , + 'INV_M043' , + 'INV_M044' , + 'INV_M048' , + 'INV_M049' , + 'INV_M050' , + 'INV_M052' , + 'INV_M053' , + 'INV_M054' , + 'LEV_M010' , + 'LEV_M011' , + 'LEV_M030' , + 'LEV_M038' , + 'LEV_M047', + 'LEV_M051'); + +INSERT INTO FAC_MESSAGE VALUES('PRS_M055', 'Verwijderen mag niet, er is nog gekoppelde inventaris.'); +INSERT INTO FAC_MESSAGE VALUES('INV_M015', 'is niet in gebruik, waaraan wilt u de inventaris toewijzen?'); +INSERT INTO FAC_MESSAGE VALUES('INV_M008', 'Verwijderen inventaris '); +INSERT INTO FAC_MESSAGE VALUES('INV_M020', 'Naar toewijzingsscherm voor inventaris '); +INSERT INTO FAC_MESSAGE VALUES('INV_M025', 'De inventaris is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('INV_M031', 'Deze inventaris wordt nog gebruikt.'); +INSERT INTO FAC_MESSAGE VALUES('INV_M032', 'Dize inventaris wordt gebruikt. De toewijzing mag niet gewijzigd worden.'); +INSERT INTO FAC_MESSAGE VALUES('INV_M034', 'Er is geen AutoCAD symbool beschikbaar voor dit artikel.'); +INSERT INTO FAC_MESSAGE VALUES('INV_M043', 'Inventaris moet gekozen zijn.'); +INSERT INTO FAC_MESSAGE VALUES('INV_M044', 'Aantal te verwijderen inventarissen'); +INSERT INTO FAC_MESSAGE VALUES('INV_M048', 'De inventaris is al van '); +INSERT INTO FAC_MESSAGE VALUES('INV_M049', 'Er is geen inventaris geselecteerd'); +INSERT INTO FAC_MESSAGE VALUES('INV_M050', 'De geselecteerd inventaris ontkoppelen of verwijderen?'); +INSERT INTO FAC_MESSAGE VALUES('INV_M052', 'De geselecteerd inventaris afvoeren of verwijderen?'); +INSERT INTO FAC_MESSAGE VALUES('INV_M053', 'De geselecteerd inventaris koppelen aan persoon'); +INSERT INTO FAC_MESSAGE VALUES('INV_M054', 'Referentie naar de database is onbekend voor de geselecteerde inventaris.'); +INSERT INTO FAC_MESSAGE VALUES('LEV_M010', ' moet de inventaris ingevuld worden.'); +INSERT INTO FAC_MESSAGE VALUES('LEV_M011', ' moet het aantal inventarissen ingevuld worden.'); +INSERT INTO FAC_MESSAGE VALUES('LEV_M030', ' is het aantal inventarissen groter dan bij de bestelling.'); +INSERT INTO FAC_MESSAGE VALUES('LEV_M038', ' is het aantal inventarissen niet in de ruimte aanwezig.'); +INSERT INTO FAC_MESSAGE VALUES('LEV_M047', 'Er is geen af te voeren inventaris.'); +INSERT INTO FAC_MESSAGE VALUES('LEV_M051', 'Deze inventaris kan niet toegewezen worden, verwijderen of in magazijn plaatsen?'); +#endif // HUI + +#ifdef MRA +ALTER TABLE mra_manco +MODIFY +( + mra_manco_omschrijving + VARCHAR2(80), + mra_manco_upper + VARCHAR2(80) +); + +ALTER TABLE mra_manco +ADD +( + mra_manco_toelichting + VARCHAR2(2000) +); + +INSERT INTO fac_entity_name VALUES('MRA_MANCO_TOELICHTING', 'Toelichting', NULL, 'de'); +#endif // MRA + +#ifdef PRS +CREATE TRIGGER prs_t_prs_bedrijf_B_IU +BEFORE INSERT OR UPDATE ON prs_bedrijf +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_bedrijf_key,prs_s_prs_alluitvoerende_keys); + UPDATE_UPPER(prs_bedrijf_naam,prs_bedrijf_naam_upper); + SET_VERWIJDER_CHILDREN(prs_srtperslid, prs_bedrijf_key, + prs_bedrijf_verwijder, prs_srtperslid_verwijder); + + // Bedrijf mag niet verwijderd worden als er nog + // bestekken zijn van dit bedrijf. + IF :new.prs_bedrijf_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_bestek + WHERE prs_bedrijf_key = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'prs_m083'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m083'); + END; + END IF; +#ifdef BCO + // Niet verwijderen als nog aangegeven als default uitvoerende + IF :new.prs_bedrijf_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigsrtdeel + WHERE bco_defaultuitv_keys = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'prs_m087'); + EXCEPTION + WHEN no_data_found + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m087'); + END; + END IF; +#endif +#ifdef MLD + // Niet verwijderen als nog MLD_OPDR's zijn met status 'Uitgegeven' en + // uitvoerende dit bedrijf + IF :new.prs_bedrijf_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND MLD_O.mld_uitvoerende_keys = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'prs_m086'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m086'); + END; + END IF; +#endif // MLD +#ifdef BCP + // Niet verwijderen als nog BCP_PREVOPDR's zijn met status 'Uitgegeven' en + // uitvoerende dit bedrijf. + IF :new.prs_bedrijf_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND BCP_P.bcp_mld_uitvoerende_keys = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'prs_m086'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m086'); + END; + END IF; +#endif // BCP +#ifdef MLD + IF :old.prs_bedrijf_leverancier IS NOT NULL + AND :new.prs_bedrijf_leverancier IS NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_bestelopdr + WHERE mld_prs_bedrijf_key = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M101'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M101'); + END; + END IF; +#endif // MLD +#ifdef BCO + IF :old.prs_bedrijf_uitvoerende IS NOT NULL + AND :new.prs_bedrijf_uitvoerende IS NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigsrtdeel + WHERE bco_defaultuitv_keys = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M102'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M102'); + END; + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigsrtdeel INS_S, prs_v_aanwezigsrtperslid PRS_S + WHERE INS_S.bco_defaultuitv_keys = PRS_S.prs_srtperslid_key + AND PRS_S.prs_bedrijf_key =:new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M103'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M103'); + END; + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving <> 'Verwerkt' + AND (MLD_O.mld_uitvoerende_keys = :new.prs_bedrijf_key + OR MLD_O.bco_defaultuitv_keys = :new.prs_bedrijf_key); + APPLICATION_ERROR(-20000, 'PRS_M104'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M104'); + END; + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S, + prs_v_aanwezigsrtperslid PRS_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving <> 'Verwerkt' + AND (MLD_O.mld_uitvoerende_keys = PRS_S.prs_srtperslid_key + OR MLD_O.bco_defaultuitv_keys = PRS_S.prs_srtperslid_key) + AND PRS_S.prs_bedrijf_key = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M105'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M105'); + END; + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving <> 'Verwertk' + AND (BCP_P.bcp_mld_uitvoerende_keys = :new.prs_bedrijf_key + OR BCP_P.bcp_defaultuitv_keys = :new.prs_bedrijf_key); + APPLICATION_ERROR(-20000, 'PRS_M104'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M104'); + END; + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S, + prs_v_aanwezigsrtperslid PRS_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving <> 'Verwertk' + AND (BCP_P.bcp_mld_uitvoerende_keys = PRS_S.prs_srtperslid_key + OR BCP_P.bcp_defaultuitv_keys = PRS_S.prs_srtperslid_key) + AND PRS_S.prs_bedrijf_key = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M105'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M105'); + END; + END IF; + IF :old.prs_bedrijf_contract IS NOT NULL + AND :new.prs_bedrijf_contract IS NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_bestek + WHERE prs_bedrijf_key = :new.prs_bedrijf_key; + APPLICATION_ERROR(-20000, 'PRS_M106'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'PRS_M106'); + END; + END IF; +#endif // BCO +END; +/ + +CREATE TRIGGER prs_t_prs_locatiebestek_B_IU +BEFORE INSERT OR UPDATE ON prs_locatiebestek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_locatiebestek_key,prs_s_prs_locatiebestek_key); +#if defined(MLD) || defined(BCP) + /* Een LocatieBestek mag NIET toegevoegd worden als: + * - Het (discipline)bestek als (default) uitvoerende is aangegeven bij + * een of meer opdrachten en als er nog geen LocatieBestek-records zijn + * voor het bestek. + * Uitzondering: Als er opdrachten zijn EN deze allemaal betrekking hebben + * op de toe te voegen locatie. + * Een LocatieBestek mag NIET worden gewijzigd als: + * - Het (discipline)bestek als (default) uitvoerende is aangegeven bij + * een of meer opdrachten die betrekking hebben op de te wijzigen + * LocatieBestek. + */ + // Toevoegen + IF :old.alg_locatie_key IS NULL + AND :new.alg_locatie_key IS NOT NULL + THEN +#ifdef MLD + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, + prs_disciplinebestek PRS_DB, + mld_melding MLD_M, + mld_v_onroerendgoed_locatie MLD_OL + WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key <> :new.alg_locatie_key + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys +#ifdef BCO + OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys +#endif + ) + AND PRS_DB.prs_bestek_key = :new.prs_bestek_key + AND NOT EXISTS (SELECT 'X' + FROM prs_locatiebestek PRS_LB + WHERE PRS_LB.prs_bestek_key = :new.prs_bestek_key + AND MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key + AND PRS_LB.alg_locatie_key <> :new.alg_locatie_key); + APPLICATION_ERROR(-20000, 'prs_m098'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m098'); + END; +#endif // MLD +#ifdef BCP + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P, + bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL + WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key <> :new.alg_locatie_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys) + AND PRS_DB.prs_bestek_key = :new.prs_bestek_key + AND NOT EXISTS (SELECT 'X' + FROM prs_locatiebestek PRS_LB + WHERE PRS_LB.prs_bestek_key = :new.prs_bestek_key + AND MLD_OL.alg_locatie_key = PRS_LB.alg_locatie_key + AND PRS_LB.alg_locatie_key <> :new.alg_locatie_key); + APPLICATION_ERROR(-20000, 'prs_m099'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m099'); + END; +#endif // BCP + // Wijzigen + ELSIF :old.alg_locatie_key IS NOT NULL + AND :new.alg_locatie_key IS NOT NULL + THEN +#ifdef MLD + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, mld_opdr MLD_O, + mld_melding MLD_M, mld_v_onroerendgoed_locatie MLD_OL + WHERE MLD_M.mld_alg_onroerendgoed_keys = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = :old.alg_locatie_key + AND MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND (PRS_DB.prs_disciplinebestek_key = MLD_O.mld_uitvoerende_keys +#ifdef BCO + OR PRS_DB.prs_disciplinebestek_key = MLD_O.bco_defaultuitv_keys +#endif // BCO + ) + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20000, 'prs_m097'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m097'); + END; +#endif // MLD +#ifdef BCP + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM prs_disciplinebestek PRS_DB, bcp_prevopdr BCP_P, + bcp_taak BCP_T, mld_v_onroerendgoed_locatie MLD_OL + WHERE BCP_T.bcp_alg_gebouw_key = MLD_OL.alg_onroerendgoed_keys + AND MLD_OL.alg_locatie_key = :old.alg_locatie_key + AND BCP_P.bcp_taak_key = BCP_T.bcp_taak_key + AND (PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_mld_uitvoerende_keys + OR PRS_DB.prs_disciplinebestek_key = BCP_P.bcp_defaultuitv_keys) + AND PRS_DB.prs_bestek_key = :old.prs_bestek_key; + APPLICATION_ERROR(-20000, 'prs_m097'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m097'); + END; +#endif // BCP + END IF; +#endif // MLD || BCP +END; +/ + +#endif +DEF_FAC_ENTITY ('MRA_BIBLIOTHEEK', 'Bibliotheek', NULL, 'de'); +DEF_FAC_ENTITY ('MRA_SORTERING', 'Sortering', NULL, NULL); +DEF_FAC_ENTITY ('MRA_RAPPORT', 'Rapport', NULL, 'het'); +DEF_FAC_ENTITY ('MRA_FORMULIER', 'Formulier', NULL, 'het'); +DEF_FAC_ENTITY ('MRA_MANCOLIJST', 'Mancolijst', NULL, 'de'); +DEF_FAC_ENTITY ('MRA_VOORSCHRIFT_MODULE', 'Type voorschift', NULL, NULL); +DEF_FAC_ENTITY ('MRA_RAPPORT_SOORT', 'Soort rapport', NULL, NULL); +DEF_FAC_MESSAGE ('MRA_M099', 'Rapportage mancolijst'); +DEF_FAC_MESSAGE ('MRA_M100', 'Onroerendgoed'); +DEF_FAC_MESSAGE ('MRA_M101', 'Voorschrift/Manco'); +DEF_FAC_MESSAGE ('MRA_M102', 'Bij voorschrift ''%1%'' zijn geen manco''s aangegeven.'); +DEF_FAC_MESSAGE ('MRA_M103', 'Deze functie is niet beschikbaar bij meerdere voorschriften.'); +DEF_FAC_MESSAGE ('MRA_M104', 'De geselecteerde voorschriften verwijderen?'); +DEF_FAC_MESSAGE ('MRA_M105', 'Rapport van voorschriften en manco''s'); +DEF_FAC_MESSAGE ('MRA_M106', 'Rapport Mancolijst'); +DEF_FAC_MESSAGE ('MRA_M107', 'Overzicht Voorschriften'); + +#ifdef ALG +CREATE OR REPLACE TRIGGER alg_t_alg_gebouw_B_IU +BEFORE INSERT OR UPDATE ON alg_gebouw +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_gebouw_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_gebouw_code, alg_gebouw_upper); + :new.alg_gebouw_omschrijving := SUBSTRB(:new.alg_gebouw_code ||' - '|| :new.alg_gebouw_naam,1,30); + CHECK_NOG_REFERENCES(alg_gebouw, alg_gebouw_verwijder, alg_v_aanwezigbouwdeel, + alg_gebouw_key, 'alg_m184'); + LAAT_VERDIEPING_VERVALLEN_VOOR_GEBOUW('alg_m54'); +#ifdef MRA + IF :new.alg_gebouw_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key; + END IF; +#if 0 // Verwijderen van MRA_ONRGOEDVOORSCHR-records gebeurt niet meer in trigger. + IF :new.alg_srtgebouw_key <> :old.alg_srtgebouw_key + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key AND + mra_voorschrift_key IN (SELECT mra_voorschrift_key + FROM mra_srtgebouwvoorschr + WHERE mra_srtgebouw_key = :old.alg_srtgebouw_key) + AND mra_onrgoedvoorschr_type = 'G'; + + END IF; +#endif +#endif // MRA +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_gebouw_key, + alg_gebouw_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +END; +/ + +CREATE OR REPLACE TRIGGER alg_t_alg_ruimte_B_IU +BEFORE INSERT OR UPDATE ON alg_ruimte +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_ruimte_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_ruimte_nr, alg_ruimte_upper_nr); +#ifdef MRA + /* Delete CASCADE op MRA_ONRGOEDVOORSCHR en MRA_ONRGOEDBESTEMMING + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key; + END IF; +#if 0 // MRA_ONRGOEDVOORSCHR-records worden niet meer verwijderd in de trigger. + IF :new.alg_srtruimte_key <> :old.alg_srtruimte_key + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key AND + mra_voorschrift_key IN (SELECT mra_voorschrift_key + FROM mra_srtruimtevoorschr + WHERE mra_srtruimte_key = :old.alg_srtruimte_key) + AND mra_onrgoedvoorschr_type = 'R'; + END IF; +#endif +#endif // MRA +#ifdef PRS + /* Als de soort ruimte veranderd wordt en er zijn werkplekken in de ruimte + * dan moet het veld PRS_BEVAT_WERKPLEKKEN de waarde 1 bevatten in de + * nieuwe soort ruimte. + */ + IF :old.alg_ruimte_key IS NOT NULL + AND :new.alg_ruimte_verwijder IS NULL + AND :old.alg_srtruimte_key <> :new.alg_srtruimte_key + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM alg_srtruimte ALG_SR_1, + alg_srtruimte ALG_SR_2, + all_v_aanwezigwerkplek PRS_W + WHERE ALG_SR_1.alg_srtruimte_key = :old.alg_srtruimte_key + AND ALG_SR_1.prs_bevat_werkplek = 1 + AND ALG_SR_2.alg_srtruimte_key = :new.alg_srtruimte_key + AND ALG_SR_2.prs_bevat_werkplek IS NULL + AND PRS_W.prs_alg_ruimte_key = :new.alg_ruimte_key; + APPLICATION_ERROR(-20000, 'prs_m034'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m034'); + END; + END IF; +#endif +#ifdef INV + /* Als er een INV-deel bestaat in de te verwijderen ruimte + * dan mag de ruimte niet verwijderd worden. + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM inv_v_aanwezigdeel + WHERE ins_alg_ruimte_key = :new.alg_ruimte_key + AND ins_alg_ruimte_type = 'R'; + APPLICATION_ERROR(-20000, 'prs_m055'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m055'); + END; + END IF; +#endif +#ifdef PRS + /* Als de ruimte verwijderd wordt, dan moeten ook de bijbehorende + * werkplekken/slaapplaatsen verwijderd worden. + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + UPDATE prs_werkplek + SET prs_werkplek_verwijder = SYSDATE + WHERE prs_alg_ruimte_key = :new.alg_ruimte_key + AND prs_werkplek_verwijder IS NULL; + END IF; +#endif +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_ruimte_key, + alg_ruimte_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +END; +/ + + +#endif //ALG +#ifdef MRA + +ALTER TABLE mra_onrgoedvoorschr +DROP UNIQUE(mra_voorschrift_key, mra_onroerendgoed_keysm, mra_onrgoedvoorschr_type); + +ALTER TABLE mra_onrgoedvoorschr +ADD UNIQUE(mra_voorschrift_key, mra_onroerendgoed_keys); + +PROMPT References in MRA_ONRGOEDVOORSCHR toevoegen op VoorschriftKey met DELETE CASCADE +PROMPT References in MRA_ONRGOEDMANCO toevoegen op MancoKey met DELETE CASCADE + +CREATE_VIEW(mra_v_geinvoorschr_brug,NORMAAL_PRIVILEGE) (mra_onroerendgoed_keys, + mra_voorschrift_key, + mra_onrgoedvoorschr_key, + type, + mra_voorschrift_voldaan) AS + SELECT mra_GVH.alg_onrgoed_key, + mra_GVH.mra_voorschrift_key, + mra_OGV.mra_onrgoedvoorschr_key, + mra_GVH.type, + mra_OGV.mra_onrgoedvoorschr_voldaan + FROM mra_v_geinvoorschr_hulp mra_GVH, + mra_onrgoedvoorschr mra_OGV + WHERE mra_GVH.mra_voorschrift_key = mra_OGV.mra_voorschrift_key (+) AND + mra_OGV.mra_onroerendgoed_keys (+) = mra_GVH.alg_onrgoed_key; + +CREATE_VIEW(mra_v_geinvoorschr,NORMAAL_PRIVILEGE) (mra_onroerendgoed_keys, + mra_voorschrift_key, + mra_onrgoedvoorschr_key, + mra_voorschrift_afk, + mra_voorschrift_afk_upper, + mra_voorschrift_module, + mra_voorschrift_voldaan) AS + SELECT DISTINCT mra_GVB.mra_onroerendgoed_keys, + mra_GVB.mra_voorschrift_key, + mra_GVB.mra_onrgoedvoorschr_key, + mra_V.mra_voorschrift_afk, + mra_V.mra_voorschrift_afk_upper, + mra_V.mra_voorschrift_module, + mra_GVB.mra_voorschrift_voldaan + FROM mra_voorschrift MRA_V, + mra_v_geinvoorschr_brug mra_GVB + WHERE mra_V.mra_voorschrift_key = mra_GVB.mra_voorschrift_key; + +CREATE_VIEW(mra_v_voorschrift_rapport,NORMAAL_PRIVILEGE) +( + mra_onrgoedvoorschr_key, + mra_onrgoed_keys, + mra_voorschr_key, + mra_onrgoedvoorschr_voldaan, + mra_onrgoedmanco_key, + mra_voorschr_afk, + mra_voorschrift_module, + mra_manco_omschrijving +) +AS + SELECT mra_OV.mra_onrgoedvoorschr_key, + mra_OV.mra_onroerendgoed_keys, + mra_OV.mra_voorschrift_key, + mra_OV.mra_onrgoedvoorschr_voldaan, + mra_OM.mra_onrgoedmanco_key, + mra_V.mra_voorschrift_afk, + mra_V.mra_voorschrift_module, + mra_M.mra_manco_omschrijving + FROM mra_onrgoedvoorschr mra_OV, + mra_onrgoedmanco mra_OM, + mra_voorschrift mra_V, + mra_manco mra_M + WHERE mra_OM.mra_onrgoedvoorschr_key (+) = mra_OV.mra_onrgoedvoorschr_key AND + mra_OV.mra_voorschrift_key = mra_V.mra_voorschrift_key AND + mra_M.mra_manco_key (+) = mra_OM.mra_manco_key AND + mra_OV.mra_onrgoedvoorschr_voldaan = 0 +UNION + SELECT mra_OV.mra_onrgoedvoorschr_key, + mra_OV.mra_onroerendgoed_keys, + mra_OV.mra_voorschrift_key, + mra_OV.mra_onrgoedvoorschr_voldaan, + to_number(NULL), + mra_V.mra_voorschrift_afk, + mra_V.mra_voorschrift_module, + NULL + FROM mra_onrgoedvoorschr mra_OV, + mra_voorschrift mra_V + WHERE mra_OV.mra_voorschrift_key = mra_V.mra_voorschrift_key AND + mra_OV.mra_onrgoedvoorschr_voldaan = 1; + +CREATE_VIEW(mra_v_ongein_rapport,NORMAAL_PRIVILEGE) (mra_onroerendgoed_keys, + mra_voorschrift_key, + mra_voorschrift_afk, + mra_voorschrift_module, + mra_manco_omschrijving, + mra_manco_key) +AS + SELECT mra_GV.mra_onroerendgoed_keys, + mra_GV.mra_voorschrift_key, + mra_GV.mra_voorschrift_afk, + mra_GV.mra_voorschrift_module, + mra_M.mra_manco_omschrijving, + mra_M.mra_manco_key + FROM mra_v_geinvoorschr mra_GV, + mra_manco mra_M + WHERE mra_GV.mra_voorschrift_key = mra_M.mra_voorschrift_key (+) AND + mra_GV.mra_voorschrift_voldaan IS NULL; + +DROP TRIGGER mra_t_mra_manco_A_D; +DROP TRIGGER mra_t_srtruimtevoorschr_A_D; +DROP TRIGGER mra_t_srtgebouwvoorschr_A_D; +DROP TRIGGER mra_t_bestemmingvoorschr_A_D; +DROP TRIGGER mra_t_onrgoedbestemming_A_D; + +#endif // MRA +#ifdef MLD +ALTER TABLE mld_opdr +MODIFY +( + mld_opdr_omschrijving + VARCHAR2(1024) +); +#endif + +#ifdef MRA +DELETE CASCADE van MRA_BESTEMMING_KEY halen in de tabel MRA_ONRGOEDBESTEMMING. + +CREATE_VIEW(mra_v_gebouwvoorschrift, NORMAAL_PRIVILEGE) + (alg_gebouw_key, mra_voorschrift_key, type) AS + SELECT alg_G.alg_gebouw_key, + mra_V.mra_voorschrift_key, + 'G' + FROM mra_voorschrift mra_V, + mra_srtgebouwvoorschr mra_SGV, + alg_v_aanweziggebouw alg_G + WHERE mra_V.mra_voorschrift_key = mra_SGV.mra_voorschrift_key AND + mra_SGV.mra_srtgebouw_key = alg_G.alg_srtgebouw_key +UNION + SELECT alg_G.alg_gebouw_key, + mra_V.mra_voorschrift_key, + 'B' + FROM mra_voorschrift mra_V, + mra_onrgoedbestemming mra_OGB, + mra_bestemmingvoorschr mra_BV, + alg_v_aanweziggebouw alg_G + WHERE mra_V.mra_voorschrift_key = mra_BV.mra_voorschrift_key AND + mra_BV.mra_bestemming_key = mra_OGB.mra_bestemming_key AND + alg_G.alg_gebouw_key = mra_OGB.mra_onroerendgoed_keys; + +CREATE_VIEW(mra_v_ruimtevoorschrift, NORMAAL_PRIVILEGE) + (alg_ruimte_key, mra_voorschrift_key, type) AS + SELECT alg_R.alg_ruimte_key, + mra_V.mra_voorschrift_key, + 'R' + FROM mra_voorschrift mra_V, + mra_srtruimtevoorschr mra_SRV, + alg_v_aanwezigruimte alg_R + WHERE mra_V.mra_voorschrift_key = mra_SRV.mra_voorschrift_key AND + mra_SRV.mra_srtruimte_key = alg_R.alg_srtruimte_key +UNION + SELECT alg_R.alg_ruimte_key, + mra_V.mra_voorschrift_key, + 'B' + FROM mra_voorschrift mra_V, + mra_onrgoedbestemming mra_OGB, + mra_bestemmingvoorschr mra_BV, + alg_v_aanwezigruimte alg_R + WHERE mra_V.mra_voorschrift_key = mra_BV.mra_voorschrift_key AND + mra_BV.mra_bestemming_key = mra_OGB.mra_bestemming_key AND + alg_R.alg_ruimte_key = mra_OGB.mra_onroerendgoed_keys; + +CREATE_VIEW(mra_v_terreinsectorvoorschrift, NORMAAL_PRIVILEGE) + (alg_terreinsector_key, mra_voorschrift_key, type) AS + SELECT alg_T.alg_terreinsector_key, + mra_V.mra_voorschrift_key, + 'B' + FROM mra_voorschrift mra_V, + mra_onrgoedbestemming mra_OGB, + mra_bestemmingvoorschr mra_BV, + alg_v_aanwezigterreinsector alg_T + WHERE mra_V.mra_voorschrift_key = mra_BV.mra_voorschrift_key AND + mra_BV.mra_bestemming_key = mra_OGB.mra_bestemming_key AND + alg_T.alg_terreinsector_key = mra_OGB.mra_onroerendgoed_keys; + +CREATE_VIEW(mra_v_geinvoorschr_hulp,NORMAAL_PRIVILEGE) + (alg_onrgoed_key, mra_voorschrift_key, type) AS + SELECT alg_gebouw_key, + mra_voorschrift_key, + type + FROM mra_v_gebouwvoorschrift +UNION + SELECT alg_ruimte_key, + mra_voorschrift_key, + type + FROM mra_v_ruimtevoorschrift +UNION + SELECT alg_terreinsector_key, + mra_voorschrift_key, + type + FROM mra_v_terreinsectorvoorschrift; +#endif // MRA + +#ifdef PRS +#if defined(LEV) ||defined(HUI) +ALTER TABLE prs_perslid +ADD +( + lev_contactperslid + NUMBER(1) + CHECK(lev_contactperslid IS NULL + OR lev_contactperslid = 1) +); +#endif +ALTER TABLE prs_perslid +MODIFY +( + prs_perslid_nr + VARCHAR2(16) +); +#endif // PRS +INSERT INTO FAC_MESSAGE VALUES('LEV_M053', 'Contactpersoon voor bestellingen, ruimteboekingen, etc.'); + +#if defined(LEV) || defined(HUI) +ALTER TABLE ins_srtdeel +MODIFY +( + ins_srtdeel_omschrijving + VARCHAR2(40), + ins_srtdeel_upper + VARCHAR2(40) +); +#endif +DEF_FAC_MESSAGE ('LEV_M054', 'Volledig geleverd'); +DELETE FROM fac_message +WHERE fac_message_code IN ('LEV_M013', 'LEV_M028'); + +INSERT INTO FAC_MESSAGE VALUES('LEV_M013', 'Het totaal van de bestellingen overschrijdt het budget.'); +DEF_FAC_MESSAGE ('LEV_M055', 'Volledig geleverde bestellingen'); +DEF_FAC_MESSAGE ('LEV_M056', 'Alle bestellingen'); +DEF_FAC_MESSAGE ('LEV_M057', 'De geselecteerde bestellingen verwijderen?'); +DEF_FAC_MESSAGE ('LEV_M058', 'Deze functie is niet toegestaan bij meerdere bestellingen.'); +INSERT INTO FAC_MESSAGE VALUES('LEV_M028', 'Scherm ''Levering toewijzen'' wordt opgestart...'); +DEF_FAC_ENTITY ('INV_DETAIL', 'Wijzigen', NULL, NULL); + +#if defined(LEV)||defined(HUI) +DELETE FROM fac_entity_name +WHERE fac_entity_system_name = 'MLD_KOSTENPOST'; + +INSERT INTO FAC_ENTITY_NAME VALUES('MLD_KOSTENPOST', 'MZA', 'MZA''s', 'het'); + +DELETE FROM fac_message +WHERE fac_message_code IN ('ALG_M155', 'ALG_M156', 'LEV_M049', 'MLD_M152', 'MLD_M153'); + +INSERT INTO FAC_MESSAGE VALUES('ALG_M155', 'De omschrijving van het MZA is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('ALG_M156', 'Het jaar van het MZA is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('LEV_M049', 'Er zijn nog bestellingen met deze MZA. Verwijderen mag niet.'); +INSERT INTO FAC_MESSAGE VALUES('MLD_M152', 'Er zijn nog uitgegeven opdrachten met deze MZA, verwijderen kan niet.'); +INSERT INTO FAC_MESSAGE VALUES('MLD_M153', 'Verwijderen MZA '); +#endif +DEF_FAC_MESSAGE ('INV_M055', 'Inventaris verhuizen'); +DEF_FAC_MESSAGE ('INV_M056', 'Verwerken van de verhuizing van de inventaris?'); +DEF_FAC_MESSAGE ('INV_M057', 'Inventaris wordt verhuisd...'); +DEF_FAC_MESSAGE ('INV_M058', 'Verhuisformulier printen?'); +DEF_FAC_ENTITY ('FAC_PRINTER_DESTINATION', 'Uitvoer', NULL, NULL); +DEF_FAC_ENTITY ('FAC_PRINTER_SCHERM', 'Scherm', NULL, NULL); +DEF_FAC_ENTITY ('FAC_PRINTER_PRINTER', 'Printer', NULL, NULL); +DEF_FAC_ENTITY ('FAC_PRINTER_FILE', 'Bestand', NULL, NULL); +DEF_FAC_ENTITY ('FAC_PRINTER_FILENAME', 'Bestandsnaam', NULL, NULL); +DEF_FAC_MESSAGE ('fac_m007', 'Uitvoer Printer'); +DEF_FAC_MESSAGE ('fac_m008', 'Bestandsnaam is niet ingevuld.'); +DEF_FAC_MESSAGE ('fac_m009', 'Bestandsnaam is ongeldig.'); +DEF_FAC_ENTITY ('LEV_TOEGEWEZEN', 'Toegewezen', NULL, NULL); +DEF_FAC_ENTITY ('LEV_GELEVERD', 'Geleverd', NULL, NULL); +DEF_FAC_MESSAGE ('LEV_M059', 'Bij bestelregel %1% is het aantal bestelde artikelen kleiner dan de geleverde.'); +#ifdef LEV +CREATE_TABLE(lev_leverregel, NORMAAL_PRIVILEGE) +( + lev_leverregel_key + NUMBER(10) + PRIMARY KEY, + lev_levering_key + NUMBER(10) + REFERENCES lev_levering(lev_levering_key) ON DELETE CASCADE, + lev_ins_srtdeel_key + NUMBER(10) + REFERENCES ins_srtdeel(ins_srtdeel_key), + lev_bestelling_key + NUMBER(10) + REFERENCES lev_bestelling(lev_bestelling_key), + lev_leverregel_aantal + NUMBER(3) + NOT NULL, + lev_leverregel_toegewezen + NUMBER(3) +); + +CREATE_TABLE(lev_toewijzing, NORMAAL_PRIVILEGE) +( + lev_toewijzing_key + NUMBER(10) + PRIMARY KEY, + lev_leverregel_key + NUMBER(10) + REFERENCES lev_leverregel(lev_leverregel_key) ON DELETE CASCADE, + lev_bestelregel_key + NUMBER(10) + REFERENCES lev_bestelregel(lev_bestelregel_key) ON DELETE CASCADE, + lev_toewijzing_aantal + NUMBER(3) + NOT NULL +); + +CREATE SEQUENCE lev_s_lev_leverregel_key MINVALUE 1; +CREATE SEQUENCE lev_s_lev_toewijzing_key MINVALUE 1; + +CREATE TRIGGER lev_t_lev_leverregel_B_IU +BEFORE INSERT OR UPDATE ON lev_leverregel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(lev_leverregel_key, lev_s_lev_leverregel_key); +END; +/ + +CREATE TRIGGER lev_t_lev_toewijzing_B_IU +BEFORE INSERT OR UPDATE ON lev_toewijzing +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(lev_toewijzing_key, lev_s_lev_toewijzing_key); +END; +/ +#endif //LEV +DEF_FAC_ENTITY ('INV_DEEL_VERHUIZEN', 'Verhuizen', NULL, NULL); +DEF_FAC_MESSAGE ('INV_M059', 'Er zijn geen artikelen om te verhuizen.'); +DEF_FAC_MESSAGE ('INV_M060', 'Het aantal artikelen om te verhuizen zijn meer dan de beschikbare.'); +DEF_FAC_ENTITY ('LEV_AFVOERLIJST_00', 'Bruikbaar', NULL, NULL); +DEF_FAC_ENTITY ('LEV_AFVOERLIJST_015', 'Onherstelbaar', NULL, NULL); +DEF_FAC_ENTITY ('LEV_AFVOERLIJST_02', 'Herstelbaar', NULL, NULL); +DEF_FAC_ENTITY ('LEV_AFVOERLIJST_B', 'Via bestelling', NULL, NULL); +DEF_FAC_ENTITY ('LEV_AFVOER_CATEGORIE', 'Afvoercategorie', NULL, NULL); +DEF_FAC_MESSAGE ('LEV_M060', 'Opgave van af te voeren materiaal'); +DEF_FAC_MESSAGE ('LEV_M061', 'Afwerken afvoerlijst'); +DEF_FAC_MESSAGE ('LEV_M062', 'Het opgegeven aantal is groter dan het aantal artikelen.'); +#ifdef INS +ALTER TABLE ins_deel +ADD +( + lev_afvoerlijst_type + VARCHAR2(3) +); + + +CREATE TRIGGER ins_t_ins_deel_B_IU +BEFORE INSERT OR UPDATE ON ins_deel +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_DEEL_B_IU'); + UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys); + UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper); + SET_VERWIJDER_CHILDREN(ins_onderdeel, ins_deel_key, ins_deel_verwijder, + ins_onderdeel_verwijder); + + /* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn + * en wel met ruimte, verdieping, gebouw of terreinsector. + * Daarvoor moet ook het INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn + * (met 'R' of 'V' of 'G' of 'T'). + * Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een + * nieuw record geinsert wordt. + * + * + * IN INV-mode hoeft INS_ALG_RUIMTE_KEY niet ingevuld te zijn, maar + * als deze ingevuld is moet INS_ALG_RUIMTE_KEY met ruimte of werkplek + * gevuld zijn, daarvoor moet het veld INS_ALG_RUITMTE_KEY goed + * ingevuld zijn (met 'R' of 'W'). + * + * IN INV-mode kan het veld INS_PRS_BEZIT_KEY ook ingevuld zijn, maar + * INS_ALG_RUIMTE_KEY en INS_PRS_BEZIT_KEY kunnen niet beide ingevuld worden. + * INS_PRS_BEZIT_KEY kan de waarde perslid of afdeling bevatten en het + * veld INS_PRS_BEZIT_TYPE moet dan goed ingevuld zijn (met 'P' of 'A'). + * AH 05-06-96 Nu kunnen biede velden ingevuld zijn. + */ + IF :new.ins_deel_module = 'INS' + AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m092'); + ELSIF :new.ins_alg_ruimte_type = 'V' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigverdieping, alg_verdieping_key, + :new.ins_alg_ruimte_key, 'ins_m093'); + ELSIF :new.ins_alg_ruimte_type = 'G' + THEN + CHECK_KEY_REFERENCE(alg_v_aanweziggebouw, alg_gebouw_key, + :new.ins_alg_ruimte_key, 'ins_m094'); + ELSIF :new.ins_alg_ruimte_type = 'T' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigterreinsector, alg_terreinsector_key, + :new.ins_alg_ruimte_key, 'ins_m095'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + + IF NOT :old.ins_alg_ruimte_key IS NULL + THEN + /* Als er 'geplaatste' onderdelen bij dit deel horen, dan mag het + * deel neit verplaatst worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigonderdeel INS_O + WHERE INS_O.ins_deel_key = :new.ins_deel_key + AND INS_O.ins_alg_onroerendgoed_key IS NOT NULL; + APPLICATION_ERROR(-20000, 'ins_m100'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'ins_m100'); + END; +/* + UPDATE ins_onderdeel + SET ins_alg_onroerendgoed_key = NULL + WHERE ins_deel_key = :new.ins_deel_key; + */ + END IF; +#ifdef INV + ELSIF :new.ins_deel_module = 'INV' + AND ((:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + OR (:old.ins_prs_bezit_key <> :new.ins_prs_bezit_key + OR :old.ins_prs_bezit_key IS NULL)) + THEN +// IF :new.ins_alg_ruimte_key IS NOT NULL +// AND :new.ins_prs_bezit_key IS NOT NULL +// THEN +// APPLICATION_ERROR(-20000, 'ins_m85'); + IF :new.ins_alg_ruimte_key IS NOT NULL + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSIF :new.ins_alg_ruimte_type = 'W' + THEN + CHECK_KEY_REFERENCE(all_v_aanwezigwerkplek, prs_werkplek_key, + :new.ins_alg_ruimte_key, 'ins_m88'); +// 14-01-97 Koppelen aan Locatie is nu niet meer mogelijk +// ELSIF :new.ins_alg_ruimte_type = 'L' +// THEN +// CHECK_KEY_REFERENCE(alg_v_aanweziglocatie, alg_locatie_key, +// :new.ins_alg_ruimte_key, 'ins_m88'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + END IF; + IF :new.ins_prs_bezit_key IS NOT NULL + THEN + IF :new.ins_prs_bezit_type = 'P' + THEN + CHECK_KEY_REFERENCE(all_v_aanwezigperslid, prs_perslid_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSIF :new.ins_prs_bezit_type = 'A' + THEN + CHECK_KEY_REFERENCE(prs_v_aanwezigafdeling, prs_afdeling_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m86'); + END IF; + END IF; +#endif + END IF; +#ifdef INV + /* Als een INS_DEEL in INV-mode (red. een artikel) verwijderd, gekoppeld, + * ontkoppeld of verplaatst wordt van een ruimte of een werkplek, + * dan is de bijbehorende verdieping-tekening niet meer up to date en + * moet dus het INV_DWGUPTODATE-veld gezet worden. + * + * Als in INV-mode het INS_DEEL van INS_SRTDEEL veranderd, + * moet in het geval dit INS_SRTDEEL een ander ACADSYMBOL heeft + * het INV_DWGUPTODATE-veld van de verdiepingtekening ook gezet worden. + */ + IF :new.ins_deel_module = 'INV' + THEN + /* Verwijderen */ + IF :new.ins_deel_verwijder IS NOT NULL + /* Koppelen */ + OR (:old.ins_alg_ruimte_key IS NULL + AND :new.ins_alg_ruimte_key IS NOT NULL) + /* Ontkoppelen */ + OR (:old.ins_alg_ruimte_key IS NOT NULL + AND :new.ins_alg_ruimte_key IS NULL) + /* Verplaatsen */ + OR (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key) + /* Van INS_SRTDEEL veranderen. + * ACADSYMBOL is hierin nog niet verwerkt. + */ + OR (:old.ins_srtdeel_key <> :new.ins_srtdeel_key) + THEN + /* Voor de oude INS_ALG_RUIMTE_KEY */ + IF :old.ins_alg_ruimte_type = 'R' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :old.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :old.ins_alg_ruimte_type = 'W' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :old.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + /* Voor de nieuwe INS_ALG_RUIMTE_KEY*/ + IF :new.ins_alg_ruimte_type = 'R' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :new.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :new.ins_alg_ruimte_type = 'W' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :new.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + END IF; + END IF; +#endif // INV +#ifdef ATT +/* Gedeelte t.b.v. eventuele attribuutjes */ + + DECLARE dummy NUMBER; + BEGIN + SELECT count(*) INTO dummy + FROM ins_v_attribute_gegevens + WHERE ins_srtdeel_key = :new.ins_srtdeel_key; + + IF dummy <> 0 /* attributen aanwezig */ + THEN + IF :new.fac0 <> :old.fac0 OR :new.fac0 IS NULL OR :old.fac0 IS NULL + THEN +/* + * Trigger t.b.v. de 'flexibele' velden in ins_deel + */ + CHECK_ATTRIBUTE(fac0,0); + END IF; + + IF :new.fac1 <> :old.fac1 OR :new.fac1 IS NULL OR :old.fac1 IS NULL THEN CHECK_ATTRIBUTE(fac1,1); END IF; + IF :new.fac2 <> :old.fac2 OR :new.fac2 IS NULL OR :old.fac2 IS NULL THEN CHECK_ATTRIBUTE(fac2,2); END IF; + IF :new.fac3 <> :old.fac3 OR :new.fac3 IS NULL OR :old.fac3 IS NULL THEN CHECK_ATTRIBUTE(fac3,3); END IF; + IF :new.fac4 <> :old.fac4 OR :new.fac4 IS NULL OR :old.fac4 IS NULL THEN CHECK_ATTRIBUTE(fac4,4); END IF; + IF :new.fac5 <> :old.fac5 OR :new.fac5 IS NULL OR :old.fac5 IS NULL THEN CHECK_ATTRIBUTE(fac5,5); END IF; + IF :new.fac6 <> :old.fac6 OR :new.fac6 IS NULL OR :old.fac6 IS NULL THEN CHECK_ATTRIBUTE(fac6,6); END IF; + IF :new.fac7 <> :old.fac7 OR :new.fac7 IS NULL OR :old.fac7 IS NULL THEN CHECK_ATTRIBUTE(fac7,7); END IF; + IF :new.fac8 <> :old.fac8 OR :new.fac8 IS NULL OR :old.fac8 IS NULL THEN CHECK_ATTRIBUTE(fac8,8); END IF; + IF :new.fac9 <> :old.fac9 OR :new.fac9 IS NULL OR :old.fac9 IS NULL THEN CHECK_ATTRIBUTE(fac9,9); END IF; + + END IF; + END; + +/* Einde attributen */ +#endif // ATT + LOG('Eind INS_T_INS_DEEL_B_IU'); +END; +/ +#endif // INS +#ifdef INV +CREATE_VIEW(inv_v_deel_gegevens,NORMAAL_PRIVILEGE) AS + SELECT INV_D.ins_discipline_key, INV_D.ins_discipline_omschrijving, + INV_SG.ins_srtgroep_key, INV_SG.ins_srtgroep_omschrijving, + INV_SG.ins_srtgroep_upper, INV_SD.ins_srtdeel_key, + INV_SD.ins_srtdeel_omschrijving, INV_SD.ins_srtdeel_upper, + INV_SD.inv_srtdeel_nr, + INV_DEEL.ins_deel_key, INV_DEEL.ins_deel_aantal, + INV_DEEL.ins_deel_omschrijving, INV_DEEL.ins_deel_upper, + INV_DEEL.ins_deel_serienr, INV_DEEL.ins_alg_ruimte_key, + INV_DEEL.ins_alg_ruimte_type, INV_DEEL.ins_prs_bezit_key, + INV_DEEL.ins_prs_bezit_type +#ifdef LEV + , INV_DEEL.lev_afvoerlijst_type +#endif + FROM inv_v_aanwezigdiscipline INV_D, inv_v_aanwezigsrtgroep INV_SG, + inv_v_aanwezigsrtdeel INV_SD, inv_v_aanwezigdeel INV_DEEL + WHERE INV_SG.ins_srtgroep_key = INV_SD.ins_srtgroep_key + AND INV_D.ins_discipline_key = INV_SG.ins_discipline_key + AND INV_DEEL.ins_srtdeel_key = INV_SD.ins_srtdeel_key; + +CREATE_VIEW(inv_v_deel_plaats_gegevens,NORMAAL_PRIVILEGE) + (ins_deel_key, ins_deel_omschrijving, + ins_deel_upper, ins_deel_aantal, + ins_alg_ruimte_key, + ins_alg_ruimte_type, ins_srtdeel_key, +#ifdef INV + inv_srtdeel_nr, +#endif + ins_srtdeel_omschrijving, ins_srtdeel_upper, + alg_locatie_key, 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_omschrijving, + alg_ruimte_upper_nr, +#ifdef HUI + prs_huismeester_key, +#endif + prs_werkplek_key, + prs_werkplek_volgnr, + prs_werkplek_module +#ifdef LEV + , lev_afvoerlijst_type +#endif + ) AS + SELECT INV_D.ins_deel_key, + INV_D.ins_deel_omschrijving, + INV_D.ins_deel_upper, + INV_D.ins_deel_aantal, + INV_D.ins_alg_ruimte_key, + INV_D.ins_alg_ruimte_type, + INV_SD.ins_srtdeel_key, +#ifdef INV + INV_SD.inv_srtdeel_nr, +#endif + INV_SD.ins_srtdeel_omschrijving, + INV_SD.ins_srtdeel_upper, + ALG_G.alg_locatie_key, + 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_omschrijving, + ALG_R.alg_ruimte_upper_nr, +#ifdef HUI + ALG_R.prs_huismeester_key, +#endif + TO_NUMBER(NULL), + TO_NUMBER(NULL), + NULL +#ifdef LEV + , INV_D.lev_afvoerlijst_type +#endif + FROM inv_v_aanwezigdeel INV_D, ins_srtdeel INV_SD, + alg_gebouw ALG_G, alg_verdieping ALG_V, + alg_ruimte ALG_R + WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key + AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key + AND INV_SD.ins_srtdeel_key = INV_D.ins_srtdeel_key + AND ALG_R.alg_ruimte_key = INV_D.ins_alg_ruimte_key + AND INV_D.ins_alg_ruimte_type = 'R' + UNION + SELECT INV_D.ins_deel_key, + INV_D.ins_deel_omschrijving, + INV_D.ins_deel_upper, + INV_D.ins_deel_aantal, + INV_D.ins_alg_ruimte_key, + INV_D.ins_alg_ruimte_type, + INV_SD.ins_srtdeel_key, +#ifdef INV + INV_SD.inv_srtdeel_nr, +#endif + INV_SD.ins_srtdeel_omschrijving, + INV_SD.ins_srtdeel_upper, + ALG_G.alg_locatie_key, + 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_omschrijving, + ALG_R.alg_ruimte_upper_nr, +#ifdef HUI + ALG_R.prs_huismeester_key, +#endif + PRS_W.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr, + PRS_W.prs_werkplek_module +#ifdef LEV + , INV_D.lev_afvoerlijst_type +#endif + FROM inv_v_aanwezigdeel INV_D, ins_srtdeel INV_SD, + alg_gebouw ALG_G, alg_verdieping ALG_V, + alg_ruimte ALG_R, prs_werkplek PRS_W + WHERE 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 = PRS_W.prs_alg_ruimte_key + AND INV_SD.ins_srtdeel_key = INV_D.ins_srtdeel_key + AND PRS_W.prs_werkplek_key = INV_D.ins_alg_ruimte_key + AND INV_D.ins_alg_ruimte_type = 'W'; + +CREATE_VIEW(inv_v_deel_plaats_perslid,NORMAAL_PRIVILEGE) + (ins_deel_key, ins_deel_omschrijving, + ins_deel_upper, ins_deel_aantal, + ins_alg_ruimte_key, + ins_alg_ruimte_type, ins_srtdeel_key, + inv_srtdeel_nr, + ins_srtdeel_omschrijving, ins_srtdeel_upper, + alg_locatie_key, 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_omschrijving, + alg_ruimte_upper_nr, +#ifdef HUI + prs_huismeester_key, +#endif + prs_werkplek_key, + prs_werkplek_volgnr, + prs_werkplek_module, + prs_perslid_key, + prs_perslid_naam, + prs_perslid_voorletters, + prs_perslid_upper, + prs_perslid_nr +#ifdef LEV + , lev_afvoerlijst_type +#endif + ) AS + SELECT INV_D.ins_deel_key, + INV_D.ins_deel_omschrijving, + INV_D.ins_deel_upper, + INV_D.ins_deel_aantal, + INV_D.ins_alg_ruimte_key, + INV_D.ins_alg_ruimte_type, + INV_D.ins_srtdeel_key, + INV_D.inv_srtdeel_nr, + INV_D.ins_srtdeel_omschrijving, + INV_D.ins_srtdeel_upper, + INV_D.alg_locatie_key, + INV_D.alg_gebouw_key, + INV_D.alg_gebouw_omschrijving, + INV_D.alg_gebouw_upper, + INV_D.alg_verdieping_key, + INV_D.alg_verdieping_omschrijving, + INV_D.alg_verdieping_volgnr, + INV_D.alg_ruimte_key, + INV_D.alg_ruimte_nr, + INV_D.alg_ruimte_omschrijving, + INV_D.alg_ruimte_upper_nr, +#ifdef HUI + INV_D.prs_huismeester_key, +#endif + INV_D.prs_werkplek_key, + INV_D.prs_werkplek_volgnr, + INV_D.prs_werkplek_module, + INS_D.ins_prs_bezit_key, + PRS_P.prs_perslid_naam, + PRS_P.prs_perslid_voorletters, + PRS_P.prs_perslid_upper, + PRS_P.prs_perslid_nr +#ifdef LEV + , INV_D.lev_afvoerlijst_type +#endif + FROM inv_v_deel_plaats_gegevens INV_D, + ins_deel INS_D, + prs_perslid PRS_P + WHERE INS_D.ins_prs_bezit_key = PRS_P.prs_perslid_key (+) + AND INV_D.ins_deel_key = INS_D.ins_deel_key; +#endif // INV +#ifdef LEV +ALTER TABLE ins_deel +DROP + UNIQUE(ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_prs_bezit_key, + ins_prs_bezit_type, + ins_srtdeel_key, ins_deel_upper, + lev_levering_key, lev_bestelling_key, lev_afvoerlijst_datum, + ins_deel_module, ins_deel_verwijder); + +ALTER TABLE ins_deel +ADD + UNIQUE(ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_prs_bezit_key, + ins_prs_bezit_type, + ins_srtdeel_key, ins_deel_upper, + lev_afvoerlijst_type, + ins_deel_module, ins_deel_verwijder); +#endif // LEV +DEF_FAC_FORM('LEV016', NULL, NULL ,'200160','LEV_LEV016','Afwerken afvoerlijst'); +DEF_FAC_MESSAGE ('LEV_M063', 'Bestelregel %1% mag niet leeg gemaakt worden.'); +DEF_FAC_MESSAGE ('LEV_M064', 'GEWIJZIGDE BESTELLING'); +DEF_FAC_MESSAGE ('LEV_M065', 'Er zijn geen gewijzigd bestelregels.'); +DEF_FAC_MESSAGE ('INV_M061', 'Eigenaar verwijderen'); +DEF_FAC_MESSAGE ('INV_M062', 'Eigenaar van artikel %1% verwijderen?'); +DEF_FAC_MESSAGE ('INV_M063', 'Eigenaar van de geselecteerde artikelen verwijderen?'); +DEF_FAC_MESSAGE ('INV_M064', 'Inclusief beschikbare artikelen'); +DEF_FAC_FORM('INV017', NULL, NULL ,'190170','INV_INV017' ,'Overzichtscherm Eigenaar bij inventaris'); + +#ifdef HUI +ALTER TABLE alg_ruimte +MODIFY +( + hui_capaciteit + NUMBER(4) +); +#endif +#ifdef LEV +DEF_FAC_MESSAGE ('LEV_M066', 'Er is te weinig inventaris om te verhuizen.'); +INSERT INTO INS_ATTRIBUTE ( + ins_srtinst_keys, ins_srtinst_type, ins_attribute_volgorde, + ins_attribute_key, ins_attribute_label, ins_attribute_type, + ins_attribute_length, ins_attribute_required, ins_attribute_min, + ins_attribute_dec, ins_attribute_toonbaar + ) + SELECT ins_discipline_key, 'D', 3, 3, 'Sleutelnr.','C',15,0,0,0,1 + FROM ins_discipline + WHERE ins_discipline_omschrijving = 'Inventaris'; +#else +DEF_FAC_MESSAGE ('LEV_M066', 'Er zijn te weinig delen om te verhuizen.'); +#endif +DELETE FROM fac_entity_name +WHERE fac_entity_system_name IN ('PRS_PERSLID_EENHEID'); + +DEF_FAC_ENTITY ('PRS_PERSLID_EENHEID', 'Onderdeel', 'Onderdelen', 'het'); +DEF_FAC_ENTITY ('HUI_BEZETTING', 'Bezetting', NULL, NULL); +DEF_FAC_MESSAGE ('HUI_M053', 'Aanmelden reservering'); +DEF_FAC_MESSAGE ('HUI_M054', 'De reservering van %1% tot %2% aanmelden?'); +DEF_FAC_MESSAGE ('HUI_M055', 'Er zijn geen slaapplaatsen geselecteerd.'); + +#ifdef HUI +ALTER TABLE prs_perslidwerkplek +DROP + UNIQUE(prs_perslid_key, prs_afdeling_key, + prs_werkplek_key, prs_perslidwerkplek_verwijder); + +ALTER TABLE prs_perslidwerkplek +ADD + UNIQUE(prs_perslid_key, prs_afdeling_key, + prs_werkplek_key, prs_perslidwerkplek_verwijder, + hui_begindatum, hui_einddatum); + +ALTER TABLE prs_perslid +ADD +( + hui_perslid_opschonen + NUMBER(1) + CHECK(hui_perslid_opschonen IS NULL OR hui_perslid_opschonen = 1) +); + +DEFINIEER_VIEW_AANWEZIG(prs_perslid, + prs_perslid_verwijder, + hui_v_aanwezigperslid, + NORMAAL_PRIVILEGE); + +CREATE_VIEW(hui_v_aanwezighuismeester, NORMAAL_PRIVILEGE) +AS + SELECT HUI_P.* + FROM hui_v_aanwezigperslid HUI_P, fac_gebruiker FAC_G + WHERE fac_module = 'HUI' + AND fac_tabel = 'PRS_PERSLID' + AND fac_kolom = 'PRS_PERSLID_KEY' + AND fac_key = HUI_P.prs_perslid_key; + +CREATE_VIEW(hui_v_tijdelijkperslid, NORMAAL_PRIVILEGE) + (prs_perslid_key, + hui_overnachting_einddatum, + hui_ruimteboeking_einddatum) AS + SELECT PRS_P.prs_perslid_key, + PRS_PW.hui_einddatum, + HUI_R.hui_ruimteboeking_einddatum + FROM hui_v_aanwezigperslid PRS_P, prs_perslidwerkplek PRS_PW, + hui_ruimteboeking HUI_R + WHERE PRS_P.prs_perslid_key = PRS_PW.prs_perslid_key (+) + AND PRS_P.prs_perslid_key = HUI_R.hui_prs_perslid_key (+) + AND PRS_P.hui_perslid_opschonen = 1; +-- AND SUBSTR(PRS_P.prs_perslid_nr, 1, 8) = TO_CHAR(PRS_P.prs_perslid_aanmaak, 'YY.MM.DD'); +#endif // HUI +DELETE FROM fac_message +WHERE fac_message_code IN ('HUI_M026', 'HUI_M027'); + +DEF_FAC_MESSAGE ('HUI_M026', 'Opgeschoonde personen printen'); +DEF_FAC_MESSAGE ('HUI_M027', ' personen verwijderd. Bewaren?'); +DEF_FAC_MESSAGE ('HUI_M057', 'De geselecteerde reserveringen aanmelden?'); +DEF_FAC_MESSAGE ('HUI_M058', 'De geselecteerde reserveringen afmelden?'); +DEF_FAC_MESSAGE ('HUI_M059', 'Deze functie is alleen toegestaan bij beschikbare slaapplaatsen.'); +DEF_FAC_MESSAGE ('HUI_M060', 'De geselecteerde slaapplaatsen kunnen niet gereserveerd worden.'); +DEF_FAC_MESSAGE ('HUI_M061', 'De bruikleenbewijzen kunnen niet geprint worden.'); +DEF_FAC_FORM('FAC016' , NULL, NULL ,'100160','FAC_FAC016' ,'Printen naar File, Scherm of Printer'); +DEF_FAC_FORM('INV022', NULL, NULL ,'190220','INV_INV022','Import artikelen'); +DEF_FAC_MESSAGE ('INV_M065', 'Import artikelen'); +DEF_FAC_MESSAGE ('INV_M066', ' - Aantal artikelen toegevoegd: %1%.'); +DEF_FAC_MESSAGE ('INV_M067', ' - Aantal artikelen mislukt: %1%.'); +DEF_FAC_ENTITY ('BESTELLING_OPEN', 'Openstaand', NULL, NULL); +DEF_FAC_ENTITY ('BESTELLING_ALL', 'Alle', NULL, NULL); +DEF_FAC_ENTITY ('BESTELLING_VOL', 'Volledig', NULL, NULL); +DEF_FAC_MESSAGE ('LEV_M067', 'Oud:'); +DEF_FAC_MESSAGE ('LEV_M068', 'Nieuw:'); +DEF_FAC_ENTITY ('HUI_OVERNACHTING', 'Overnachting', 'Overnachtingen', 'de'); +DEF_FAC_ENTITY ('HUI_RESERVERING', 'Reservering', 'Reserveringen', 'de'); +#ifdef HUI +DEF_FAC_ENTITY ('INV_DEEL_BEZIT', 'Bruikleen', NULL, 'het'); +#else +DEF_FAC_ENTITY ('INV_DEEL_BEZIT', 'Eigenaar', 'Eigenaren', 'de'); +#endif + +PROMPT Vergeet niet te committen! diff --git a/_UP/125TO126.SRC b/_UP/125TO126.SRC new file mode 100644 index 00000000..53a20fc4 --- /dev/null +++ b/_UP/125TO126.SRC @@ -0,0 +1,1255 @@ +SPOOL 125to126 +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.25 naar 01.26 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * 10-04-97 AH #1235, Afvoerlijst printen gewijzigd. Nu in LEV016 + * module-parameter toegevoegd. LEV012 vervalt. + * 08-04-97 AH #1234, Gewijzigde functionaliteit van LEV_LEVERING en LEV_TOEWIJZING + * Tabellen LEV_LEVERING/LEV_LEVERREGEL gewijzigd, LEV_TOEWIJZING + * vervalt. + * 09-04-97 AH Niet alleen de positieve bestelregel_aantallen moeten meegenomen + * worden. Ook de negatieve. + * 09-04-97 AH #1234, Extra LEV-messages toegevoegd + * 09-04-97 AH #1234, Het form LEV114 vervalt en LEV115 komt erbij. + * 08-04-97 AH #1229. LEV_P_BEPAAL_LEV_BESTELSTATUS toegevoegd + * 08-04-97 AH #1229, LEV_BESTELLING_BTW en LEV_BESTELREGEL_TOTAAL toegevoegd + * 07-04-97 AH #1225: HUI_V_AANWEZIGHUISMEESTER aangepast. + * 07-04-97 AH #1227: HUI_M062/063 toegevoegd + * 07-04-97 AH #1223, View HUI_V_RUIMTEBOEKING_GEGEVENS uitgebreid met + * ALG_SRTRUIMTE_KEY + * 26-03-97 AH RABO: INS_M136+137 toegevoegd. + * 19-03-97 AH RABO:INS_V_INS_IMPORT_DEEL aangemaakt. + * 17-03-97 AH RABO: INS_V_DEEL_GEGEVENS uitgebreidt met FACx-velden + * 18-03-97 AH Voor INS_DEEL_IMPORT een INS_IMPORT-tabel aangemaakt + * 20-03-97 AH RABO: INS024, 025, 026 toegevoegd + * 20-03-97 AH RABO: INS_M119/120 toegevoegd, INS_DEEL_OPHEFFEN, INS_DEEL_COUNT + * toegevoegd. INS_M121-135 toegevoegd. INS_IMPORT-entities teogevoegd + * en INS_DEEL-entities toegevoegd + * 10-03-97 AH RABO: ATT_M012 - ATT_M022, INS_SRTDEEL_ACAD_TAGVALUE toegevoegd + * INS-zaken en ATT-zaken gewijzigd, INS126 teogevoegd + * 11-02-97 AH Sleutelnr. staat op verkeerde plaats op het scherm INV114 + * Nu op plaats 1 + * 11-02-97 AH DOOS_IMP: Doos zaken toegevoegd + * 29-01-97 AH #1186, Omdat MRA_V_GEINVOORSCHR een SELECT DISTINCT doet over alle + * velden van MRA_VOORSCHRIFT, komt er en ORA-1467-error bij printen + * van Checklist. De view MRA_V_GEINVOORSCHR is nu aangepast door + * er nog maar een view tussen te schuiven, die de DISTINCT zoekt + * MRA_V_GEINVOORSCHR zoekt de rest er wel bij. Deze view heet + * MRA_V_GEINVOORSCHR_BRUG2 + * 27-01-97 AH Creation. + */ + +#ifdef MRA +CREATE OR REPLACE VIEW mra_v_geinvoorschr (mra_onroerendgoed_keys, + mra_voorschrift_key, + mra_onrgoedvoorschr_key, + mra_voorschrift_afk, + mra_voorschrift_afk_upper, + mra_voorschrift_omschrijving, + mra_voorschrift_module, + mra_voorschrift_voldaan) AS + SELECT DISTINCT mra_GVB.mra_onroerendgoed_keys, + mra_GVB.mra_voorschrift_key, + mra_GVB.mra_onrgoedvoorschr_key, + mra_V.mra_voorschrift_afk, + mra_V.mra_voorschrift_afk_upper, + mra_V.mra_voorschrift_omschrijving, + mra_V.mra_voorschrift_module, + mra_GVB.mra_voorschrift_voldaan + FROM mra_voorschrift MRA_V, + mra_v_geinvoorschr_brug mra_GVB + WHERE mra_V.mra_voorschrift_key = mra_GVB.mra_voorschrift_key; + +CREATE OR REPLACE VIEW mra_v_ongein_rapport (mra_onroerendgoed_keys, + mra_voorschrift_key, + mra_voorschrift_afk, + mra_voorschrift_afk_upper, + mra_voorschrift_omschrijving, + mra_voorschrift_module, + mra_manco_omschrijving, + mra_manco_toelichting, + mra_manco_key) +AS + SELECT mra_GV.mra_onroerendgoed_keys, + mra_GV.mra_voorschrift_key, + mra_GV.mra_voorschrift_afk, + mra_GV.mra_voorschrift_afk_upper, + mra_GV.mra_voorschrift_omschrijving, + mra_GV.mra_voorschrift_module, + mra_M.mra_manco_omschrijving, + mra_M.mra_manco_toelichting, + mra_M.mra_manco_key + FROM mra_v_geinvoorschr mra_GV, + mra_manco mra_M + WHERE mra_GV.mra_voorschrift_key = mra_M.mra_voorschrift_key (+) AND + mra_GV.mra_voorschrift_voldaan IS NULL; + +CREATE OR REPLACE VIEW mra_v_voorschrift_rapport +( + mra_onrgoedvoorschr_key, + mra_onrgoed_keys, + mra_voorschr_key, + mra_onrgoedvoorschr_voldaan, + mra_onrgoedmanco_key, + mra_voorschr_afk, + mra_voorschr_afk_upper, + mra_voorschr_omschrijving, + mra_voorschrift_module, + mra_manco_omschrijving, + mra_manco_toelichting +) +AS + SELECT mra_OV.mra_onrgoedvoorschr_key, + mra_OV.mra_onroerendgoed_keys, + mra_OV.mra_voorschrift_key, + mra_OV.mra_onrgoedvoorschr_voldaan, + mra_OM.mra_onrgoedmanco_key, + mra_V.mra_voorschrift_afk, + mra_V.mra_voorschrift_afk_upper, + mra_V.mra_voorschrift_omschrijving, + mra_V.mra_voorschrift_module, + mra_M.mra_manco_omschrijving, + mra_M.mra_manco_toelichting + FROM mra_onrgoedvoorschr mra_OV, + mra_onrgoedmanco mra_OM, + mra_voorschrift mra_V, + mra_manco mra_M + WHERE mra_OM.mra_onrgoedvoorschr_key (+) = mra_OV.mra_onrgoedvoorschr_key AND + mra_OV.mra_voorschrift_key = mra_V.mra_voorschrift_key AND + mra_M.mra_manco_key (+) = mra_OM.mra_manco_key AND + mra_OV.mra_onrgoedvoorschr_voldaan = 0 +UNION + SELECT mra_OV.mra_onrgoedvoorschr_key, + mra_OV.mra_onroerendgoed_keys, + mra_OV.mra_voorschrift_key, + mra_OV.mra_onrgoedvoorschr_voldaan, + to_number(NULL), + mra_V.mra_voorschrift_afk, + mra_V.mra_voorschrift_afk_upper, + mra_V.mra_voorschrift_omschrijving, + mra_V.mra_voorschrift_module, + NULL, + NULL + FROM mra_onrgoedvoorschr mra_OV, + mra_voorschrift mra_V + WHERE mra_OV.mra_voorschrift_key = mra_V.mra_voorschrift_key AND + mra_OV.mra_onrgoedvoorschr_voldaan = 1; + +DELETE FROM fac_entity_name +WHERE fac_entity_system_name IN ('MRA_VOORSCHRIFT', + 'MRA_VOORSCHRIFT_OMSCHRIJVING', + 'MRA_VOORSCHRIFT_AFK', + 'MRA_VOORSCHRIFT_MODULE', + 'MRA_RAPPORT', + 'MRA_FORMULIER', + 'MRA_MANCOLIJST', + 'MRA_VOORSCHRIFT_BUTTON', + 'MRA_BESTEMMING', + 'MRA_SUB_BESTEMMING'); + +INSERT INTO FAC_ENTITY_NAME VALUES('MRA_VOORSCHRIFT', 'Checklist', 'Checlisten', 'het'); +INSERT INTO FAC_ENTITY_NAME VALUES('MRA_VOORSCHRIFT_OMSCHRIJVING', 'Toelichting', 'Toelichtingen', 'de'); +INSERT INTO FAC_ENTITY_NAME VALUES('MRA_VOORSCHRIFT_AFK', 'Checklistvraag', 'Checklistvragen', 'de'); +INSERT INTO FAC_ENTITY_NAME VALUES('MRA_VOORSCHRIFT_MODULE', 'Type checklist', NULL, NULL); +INSERT INTO FAC_ENTITY_NAME VALUES('MRA_RAPPORT', 'Rapport', NULL, 'het'); +INSERT INTO FAC_ENTITY_NAME VALUES('MRA_FORMULIER', 'Checklist', NULL, 'het'); +INSERT INTO FAC_ENTITY_NAME VALUES('MRA_MANCOLIJST', 'Mancolijst', NULL, 'de'); +INSERT INTO FAC_ENTITY_NAME VALUES('MRA_VOORSCHRIFT_BUTTON', 'Checklist', NULL, NULL); +INSERT INTO FAC_ENTITY_NAME VALUES('MRA_BESTEMMING', 'Proces', 'Processen', 'de'); +INSERT INTO FAC_ENTITY_NAME VALUES('MRA_SUB_BESTEMMING', 'Sub-proces', 'Sub-processen', 'de'); + +DELETE FROM fac_message +WHERE fac_message_code IN ('MRA_M100', + 'MRA_M101', + 'MRA_M107', + 'MRA_M029', + 'MRA_M030', + 'MRA_M031', + 'MRA_M033', + 'MRA_M51', + 'MRA_M52', + 'MRA_M54', + 'MRA_M56', + 'MRA_M57', + 'MRA_M037', + 'MRA_M038', + 'MRA_M039', + 'MRA_M040', + 'MRA_M041', + 'MRA_M042', + 'MRA_M043', + 'MRA_M044', + 'MRA_M045', + 'MRA_M046', + 'MRA_M083', + 'MRA_M084', + 'MRA_M085', + 'MRA_M086', + 'MRA_M097', + 'MRA_M098', + 'MRA_M102', + 'MRA_M103', + 'MRA_M104', + 'MRA_M105', + 'ONRG_VOOR', + 'ONRG_MANC', + 'MRA_BEST_G', + 'MRA_BEST_R', + 'MRA_BEST_T', + 'MANC_V_MIL', + 'MANC_V_ARB', + 'MIL_VORS', + 'ARB_VORS'); + +INSERT INTO FAC_MESSAGE VALUES('MRA_M100', 'Manco''s/Onroerendgoed'); +INSERT INTO FAC_MESSAGE VALUES('MRA_M101', 'Manco''s/Checklistvraag'); +INSERT INTO FAC_MESSAGE VALUES('MRA_M107', 'Overzicht Checklisten'); +INSERT INTO FAC_MESSAGE VALUES('MRA_M108', 'Rapport geinventariseerde checklist'); +INSERT INTO FAC_MESSAGE VALUES('MRA_M109', 'Checklist'); +INSERT INTO FAC_MESSAGE VALUES('MRA_M110', 'Ingevulde checklist'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M029', 'De deelsoort komt nog voor in checklistvragen'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M030', 'De onderdeelsoort komt nog voor in checklistvragen'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M031', 'De elementsoort komt nog voor in checklistvragen'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M033', 'Verwijderen checlistvraag '); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M51', 'Verwijderen manco bij checklistvraag'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M52', 'Manco bij checklistvraag wordt gebruikt. Doorgaan?'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M54', 'Checlistvraag is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M56', 'Verwijderen manco bij geinventariseerde checklistvraag '); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M57', 'Er is een manco opgegeven. Aan deze checklistvraag kan niet voldaan zijn.'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M037', 'Verwijderen checklistvraag bij gebouwsoort '); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M038', 'Verwijderen checklistvraag bij ruimtesoort '); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M039', 'Verwijderen checklistvraag '); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M040', 'Verwijderen checklistvraag '); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M041', 'Checklistvraag bij gebouwsoort'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M042', 'Checklistvraag bij ruimtesoort'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M043', 'Verwijderen proces '); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M044', 'Proces is niet ingevuld'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M045', 'Checklistvraag bij proces'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M046', 'Verwijderen checklistvraag bij proces '); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M083', 'Toelichting checklistvraag is niet ingevuld'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M084', 'Toelichting checklistvraag bestaat al'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M085', 'Omschrijving proces is niet ingevuld'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M086', 'Omschrijving proces bestaat al'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M097', 'Milieuchecklist bij proces'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M098', 'Arbovchecklist bij proces'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M102', 'Bij checklistvraag ''%1%'' zijn geen manco''s aangegeven.'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M103', 'Deze functie is niet beschikbaar bij meerdere checklistvragen.'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M104', 'De geselecteerde checklistvragen verwijderen?'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_M105', 'Rapport van checklistvragen en manco''s'); +INSERT INTO FAC_MESSAGE VALUES ('ONRG_VOOR', 'Geinventariseerde checklistvraag '); +INSERT INTO FAC_MESSAGE VALUES ('ONRG_MANC', 'Manco bij geinventariseerde checklistvraag'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_BEST_G', 'Proces bij gebouw'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_BEST_R', 'Proces bij ruimte'); +INSERT INTO FAC_MESSAGE VALUES ('MRA_BEST_T', 'Proces bij systeemcluster'); +INSERT INTO FAC_MESSAGE VALUES ('MANC_V_MIL', 'Manco bij milieuchecklist'); +INSERT INTO FAC_MESSAGE VALUES ('MANC_V_ARB', 'Manco bij arbovchecklist'); +INSERT INTO FAC_MESSAGE VALUES ('MIL_VORS', 'Milieuchecklist'); +INSERT INTO FAC_MESSAGE VALUES ('ARB_VORS', 'Arbochecklist'); + +CREATE_VIEW(mra_v_geinvoorschr_brug2,NORMAAL_PRIVILEGE) + (mra_onroerendgoed_keys, + mra_voorschrift_key, + mra_onrgoedvoorschr_key, + mra_voorschrift_voldaan) AS + SELECT DISTINCT mra_GVB.mra_onroerendgoed_keys, + mra_GVB.mra_voorschrift_key, + mra_GVB.mra_onrgoedvoorschr_key, + mra_GVB.mra_voorschrift_voldaan + FROM mra_v_geinvoorschr_brug mra_GVB; + +CREATE_VIEW(mra_v_geinvoorschr,NORMAAL_PRIVILEGE) + (mra_onroerendgoed_keys, + mra_voorschrift_key, + mra_onrgoedvoorschr_key, + mra_voorschrift_afk, + mra_voorschrift_afk_upper, + mra_voorschrift_omschrijving, + mra_voorschrift_module, + mra_voorschrift_voldaan) AS + SELECT mra_GVB.mra_onroerendgoed_keys, + mra_GVB.mra_voorschrift_key, + mra_GVB.mra_onrgoedvoorschr_key, + mra_V.mra_voorschrift_afk, + mra_V.mra_voorschrift_afk_upper, + mra_V.mra_voorschrift_omschrijving, + mra_V.mra_voorschrift_module, + mra_GVB.mra_voorschrift_voldaan + FROM mra_voorschrift MRA_V, + mra_v_geinvoorschr_brug2 mra_GVB + WHERE mra_V.mra_voorschrift_key = mra_GVB.mra_voorschrift_key; + +#endif // MRA + +#ifdef ALG +CREATE_TABLE(DOOS_alt_object_1, BASIS_PRIVILEGE) +( + CODE + VARCHAR2(10), + OMSCHRIJVING + VARCHAR2(108) +); + +CREATE_TABLE(DOOS_alt_object_2, BASIS_PRIVILEGE) +( + CODE + VARCHAR2(10), + OMSCHRIJVING + VARCHAR2(108) +); + +CREATE_TABLE(DOOS_alt_object_3, BASIS_PRIVILEGE) +( + CODE + VARCHAR2(10), + OMSCHRIJVING + VARCHAR2(108), + alg_srtgebouw_key + NUMBER(10) +); + +CREATE_TABLE(DOOS_adressen, BASIS_PRIVILEGE) +( + ADRESCODE + VARCHAR2(10), + NAAM + VARCHAR2(50), + ADRES + VARCHAR2(25), + POSTCODE + VARCHAR2(8), + PLAATS + VARCHAR2(20), + P_ADRES + VARCHAR2(25), + P_POSTCODE + VARCHAR2(8), + P_PLAATS + VARCHAR2(20) +); + +CREATE_TABLE(DOOS_inventarisatie, BASIS_PRIVILEGE) +( + OBJECT + VARCHAR2(12), + ONDERDEEL + VARCHAR2(8), + LOCATIE + VARCHAR2(6), + LOCATIE_NUMMER + VARCHAR2(5), + HOEVEELHEID + NUMBER(10), + EENHEID + VARCHAR2(2), + LOCATIE_verdieping + VARCHAR2(3), + LOCATIE_srtruimte + VARCHAR2(3), + alg_gebouw_key + NUMBER(10), + alg_verdieping_key + NUMBER(10), + alg_srtruimte_key + NUMBER(10) +); + +CREATE_TABLE(DOOS_locaties, BASIS_PRIVILEGE) +( + OBJECT + VARCHAR2(12), + CODE + VARCHAR2(6), + NIVEAU + NUMBER(1), + OMSCHRIJVING + VARCHAR2(108), + VORIGE_CODE + VARCHAR2(6), + LAATSTE_CODE + VARCHAR2(6), + alg_verdieping_key + NUMBER(10), + alg_srtruimte_key + NUMBER(10) +); + +CREATE_TABLE(DOOS_objecten, BASIS_PRIVILEGE) +( + CODE + VARCHAR2(12), + NIVEAU + NUMBER(1), + OMSCHRIJVING + VARCHAR2(108), + VORIGE_CODE + VARCHAR2(12), + LAATSTE_CODE + VARCHAR2(12), + AANTAL_2 + NUMBER, + ALT_OBJECT_3 + VARCHAR2(10), + alg_district_key + NUMBER(10), + alg_locatie_key + NUMBER(10), + alg_gebouw_key + NUMBER(10) +); + +CREATE INDEX DOOS_i_alt_object_3_1 ON DOOS_alt_object_3(CODE); +CREATE INDEX DOOS_i_alt_object_3_2 ON DOOS_alt_object_3(alg_srtgebouw_key); + +CREATE INDEX DOOS_i_adressen_1 ON DOOS_adressen(ADRESCODE); + +CREATE INDEX DOOS_i_inventarisatie_1 ON DOOS_inventarisatie(OBJECT); +CREATE INDEX DOOS_i_inventarisatie_2 ON DOOS_inventarisatie(LOCATIE); +CREATE INDEX DOOS_i_inventarisatie_3 ON DOOS_inventarisatie(alg_gebouw_key); +CREATE INDEX DOOS_i_inventarisatie_4 ON DOOS_inventarisatie(alg_verdieping_key); +CREATE INDEX DOOS_i_inventarisatie_5 ON DOOS_inventarisatie(alg_srtruimte_key); +CREATE INDEX DOOS_i_inventarisatie_6 ON DOOS_inventarisatie(LOCATIE_verdieping); +CREATE INDEX DOOS_i_inventarisatie_7 ON DOOS_inventarisatie(LOCATIE_srtruimte); + +CREATE INDEX DOOS_i_locaties_1 ON DOOS_locaties(CODE); +CREATE INDEX DOOS_i_locaties_2 ON DOOS_locaties(alg_verdieping_key); +CREATE INDEX DOOS_i_locaties_3 ON DOOS_locaties(alg_srtruimte_key); + +CREATE INDEX DOOS_i_objecten_1 ON DOOS_objecten(CODE); +CREATE INDEX DOOS_i_objecten_2 ON DOOS_objecten(NIVEAU); +CREATE INDEX DOOS_i_objecten_3 ON DOOS_objecten(alg_district_key); +CREATE INDEX DOOS_i_objecten_4 ON DOOS_objecten(alg_locatie_key); +CREATE INDEX DOOS_i_objecten_5 ON DOOS_objecten(alg_gebouw_key); +CREATE INDEX DOOS_i_objecten_6 ON DOOS_objecten(ALT_OBJECT_3); + +CREATE OR REPLACE FUNCTION DOOS_BepaalVerdiepingVolgnr( code IN VARCHAR2 ) RETURN NUMBER IS + Volgnr alg_verdieping.alg_verdieping_volgnr%TYPE; +BEGIN + VolgNr := NULL; + IF UPPER(SUBSTR(code, 2, 2)) = 'ZL' + THEN + VolgNr := 98; + ELSIF UPPER(SUBSTR(code, 2, 2)) = 'DB' + THEN + VolgNr := 99; + ELSIF UPPER(SUBSTR(code, 2, 1)) = 'K' + THEN + VolgNr := 0 - TO_NUMBER(SUBSTR(code, 3, 1)); + ELSE + VolgNr := TO_NUMBER(SUBSTR(code, 2, 2)); + END IF; + RETURN Volgnr; +END; +/ + +CREATE_VIEW(DOOS_v_VerdiepingVolgnr, BASIS_PRIVILEGE) + (CODE, + alg_verdieping_volgnr) AS + SELECT D_L.CODE, + DOOS_BepaalVerdiepingVolgnr(D_L.CODE) + FROM DOOS_Locaties D_L + WHERE D_L.VORIGE_CODE = '4'; +#endif // ALG + +DEF_FAC_ENTITY ('FAC_DIRECTORY', 'Directory', NULL, NULL); + +DEF_FAC_MESSAGE ('ALG_M210', 'District is niet ingevuld.'); +DEF_FAC_MESSAGE ('FAC_M010', 'Directory is niet ingevuld.'); +DEF_FAC_MESSAGE ('FAC_M011', 'Directory is ongeldig.'); + +DEF_FAC_MESSAGE ('DOO_M001', 'Importeren DOOS gegevens'); +DEF_FAC_MESSAGE ('DOO_M002', 'In de directory %1% staan niet de goede DOOS gegevens'); +DEF_FAC_MESSAGE ('DOO_M003', 'Bestand %1% kan niet geopend worden.'); +DEF_FAC_MESSAGE ('DOO_M004', 'Start DOOS_import voor dienstkring %1% vanuit directory %2%.'); +DEF_FAC_MESSAGE ('DOO_M005', 'Einde DOOS_import'); +DEF_FAC_MESSAGE ('DOO_M006', 'Fout gevonden bij inlezen van bestand %1% in record %2%'); +DEF_FAC_MESSAGE ('DOO_M007', 'Van bestand %1% %2% records ingelezen'); +DEF_FAC_MESSAGE ('DOO_M008', '%1% toegevoegd'); +DEF_FAC_MESSAGE ('DOO_M009', '%1% aangepast'); +DEF_FAC_MESSAGE ('DOO_M010', '%1% verwijderd'); +DEF_FAC_MESSAGE ('DOO_M011', '%1% kan niet toegevoegd worden [%2%]'); +DEF_FAC_MESSAGE ('DOO_M012', '%1% kan niet gewijzigd worden [%2%]'); +DEF_FAC_MESSAGE ('DOO_M013', '%1% kan niet verwijderd worden [%2%]'); +DEF_FAC_MESSAGE ('DOO_M014', 'Bestanden worden gekopieerd naar tijdelijke directory'); +DEF_FAC_MESSAGE ('DOO_M015', 'Gegevens uit bestand %1% reeds ingelezen: %2%'); +DEF_FAC_MESSAGE ('DOO_M016', 'Verwijder tijdelijke importgegevens'); +DEF_FAC_MESSAGE ('DOO_M017', 'Gegevens van %1% reeds ingelezen: %2%'); +DEF_FAC_MESSAGE ('DOO_M018', 'Overbodige gegevens uit %1% worden verwijderd'); +DEF_FAC_MESSAGE ('DOO_M019', 'Importeren is gereed'); + +#ifdef BEB +DEF_FAC_FORM('ALG029', NULL, NULL ,'110290','ALG_ALG029','Import DOOS gegevens'); +#endif +#ifdef LEV +DELETE FROM INS_ATTRIBUTE +WHERE INS_ATTRIBUTE_KEY = 3; + +INSERT INTO INS_ATTRIBUTE ( + ins_srtinst_keys, ins_srtinst_type, ins_attribute_volgorde, + ins_attribute_key, ins_attribute_label, ins_attribute_type, + ins_attribute_length, ins_attribute_required, ins_attribute_min, + ins_attribute_dec, ins_attribute_toonbaar + ) + SELECT ins_discipline_key, 'D', 1, 3, 'Sleutelnr.','C',15,0,0,0,1 + FROM ins_discipline + WHERE ins_discipline_omschrijving = 'Inventaris'; + +#endif // LEV +DEF_FAC_ENTITY ('INS_SRTDEEL_ACAD_TAGVALUE', 'Tagvalue', NULL, NULL); +DEF_FAC_MESSAGE ('ATT_M012', 'Het maximum aantal attributen is bereikt.'); +DEF_FAC_MESSAGE ('ATT_M013', 'De tabelnaam is niet ingevuld.'); +DEF_FAC_MESSAGE ('ATT_M014', 'De kolomnaam is niet ingevuld'); +DEF_FAC_MESSAGE ('ATT_M015', 'De kolomtekst is niet ingevuld'); +DEF_FAC_MESSAGE ('ATT_M016', 'Het attribuutnummer is niet ingevuld'); +DEF_FAC_MESSAGE ('ATT_M017', 'De waarde %1% is te lang.'); +DEF_FAC_MESSAGE ('ATT_M018', 'De waarde %1% van veld %2% moet van het formaat ''%3%'' zijn.'); +DEF_FAC_MESSAGE ('ATT_M019', 'De waarde %1% van veld %2% valt buiten het toegestane bereik.'); +DEF_FAC_MESSAGE ('ATT_M020', 'De waarde van %1% is niet toegestaan.'); +DEF_FAC_MESSAGE ('ATT_M021', 'De tabel of kolom bestaan niet.'); +DEF_FAC_MESSAGE ('ATT_M022', 'Het attribuut wordt gebruikt.'); + +#ifdef INS +// Evt. ACADSYMBOL toegevoegd als deze niet bestaat +ALTER TABLE ins_srtdeel +ADD +{ + ins_srtdeel_acadsymbol + VARCHAR2(8) +}; +PROMPT Als INS_SRTDEEL_ACADSYMBOL een ORA-error geeft bestaat deze al +PROMPT Dan moet de error genegeerd worden. + +ALTER TABLE ins_srtdeel +ADD +{ + ins_srtdeel_acad_tagvalue /* TAGVALUE vanuit ACAD */ + VARCHAR2(30) +}; + +ALTER TABLE ins_srtdeel +ADD + UNIQUE(ins_srtdeel_acadsymbol, ins_srtdeel_acad_tagvalue, ins_srtdeel_verwijder); + +#ifdef ATT +CREATE PROCEDURE INS_P_INS_CHECK_ATTRIBUTE(FacKolom IN CHAR, + SrtdeelKey IN NUMBER, + AttributeKey IN NUMBER) AS + AttributeType ins_attribute.ins_attribute_type%TYPE; + FormatMask VARCHAR2(100); + MaxLengte ins_attribute.ins_attribute_length%TYPE; + WareLengte NUMBER(10); + Verplicht ins_attribute.ins_attribute_required%TYPE; + MinWaarde ins_attribute.ins_attribute_min%TYPE; + MaxWaarde ins_attribute.ins_attribute_max%TYPE; + DecWaarde ins_attribute.ins_attribute_dec%TYPE; + WareWaarde NUMBER(10); + CharWaarde VARCHAR2(50); + BEGIN + BEGIN + SELECT ins_attribute_type, + ins_attribute_length, + ins_attribute_required, + ins_attribute_min, + ins_attribute_max, + ins_attribute_dec + INTO AttributeType, + MaxLengte, + Verplicht, + MinWaarde, + MaxWaarde, + DecWaarde + FROM ins_v_attribute_gegevens + WHERE ins_srtdeel_key = SrtdeelKey + AND ins_attribute_key = AttributeKey; + EXCEPTION + /* Blijkbaar is het attribuutniet meer aanwezig */ + WHEN NO_DATA_FOUND + THEN RETURN; + END; + + /* Kijk of de waarde is ingevuld. */ + IF FacKolom IS NULL + THEN + /* Bij Verplicht een error geven, verder hoeft er + * niet gevontroleerd te worden. + */ + IF Verplicht = 1 + THEN + APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m008'); + ELSE + RETURN; + END IF; + END IF; + /* Controleer de ingevulde NUMBER-waarde */ + IF AttributeType = 'N' + THEN + BEGIN + /* Hier moet het number_format gecheckt worden */ + WareWaarde := TO_NUMBER(FacKolom); + + /* De waarde is te klein of te groot */ + IF WareWaarde < MinWaarde OR WareWaarde > MaxWaarde + THEN + APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m009'); + ELSE + /* Controleer het FormatMask */ + IF NVL(DecWaarde, 0) = 0 + THEN + FormatMask := RPAD('9', MaxLengte, '9'); + ELSE + FormatMask := RPAD('9', MaxLengte - DecWaarde, '9')|| + 'D'||RPAD('9', DecWaarde, '9'); + END IF; + + CharWaarde := LTRIM(TO_CHAR(WareWaarde, FormatMask)); + IF INSTR(CharWaarde, '#') <> 0 + THEN + APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m010'); + END IF; + END IF; + EXCEPTION + WHEN others + THEN + APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m010'); + END; + /* Controleer de ingevulde CHAR-waarde */ + ELSIF AttributeType = 'C' + THEN + WareLengte := LENGTH(FacKolom); + IF NVL(WareLengte, 0) > NVL(MaxLengte, 0) + THEN + APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m011'); + END IF; + /* Referenties worden (kunnen) niet gecontroleerd (worden) + ELSIF AttributeType = 'R' + THEN */ + END IF; + END; +/ +#endif // ATT + +CREATE OR REPLACE TRIGGER ins_t_ins_deel_B_IU +BEFORE INSERT OR UPDATE ON ins_deel +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_DEEL_B_IU'); + UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys); + UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper); + SET_VERWIJDER_CHILDREN(ins_onderdeel, ins_deel_key, ins_deel_verwijder, + ins_onderdeel_verwijder); + + /* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn + * en wel met ruimte, verdieping, gebouw of terreinsector. + * Daarvoor moet ook het INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn + * (met 'R' of 'V' of 'G' of 'T'). + * Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een + * nieuw record geinsert wordt. + * + * + * IN INV-mode hoeft INS_ALG_RUIMTE_KEY niet ingevuld te zijn, maar + * als deze ingevuld is moet INS_ALG_RUIMTE_KEY met ruimte of werkplek + * gevuld zijn, daarvoor moet het veld INS_ALG_RUITMTE_KEY goed + * ingevuld zijn (met 'R' of 'W'). + * + * IN INV-mode kan het veld INS_PRS_BEZIT_KEY ook ingevuld zijn, maar + * INS_ALG_RUIMTE_KEY en INS_PRS_BEZIT_KEY kunnen niet beide ingevuld worden. + * INS_PRS_BEZIT_KEY kan de waarde perslid of afdeling bevatten en het + * veld INS_PRS_BEZIT_TYPE moet dan goed ingevuld zijn (met 'P' of 'A'). + * AH 05-06-96 Nu kunnen biede velden ingevuld zijn. + */ + IF :new.ins_deel_module = 'INS' + AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m092'); + ELSIF :new.ins_alg_ruimte_type = 'V' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigverdieping, alg_verdieping_key, + :new.ins_alg_ruimte_key, 'ins_m093'); + ELSIF :new.ins_alg_ruimte_type = 'G' + THEN + CHECK_KEY_REFERENCE(alg_v_aanweziggebouw, alg_gebouw_key, + :new.ins_alg_ruimte_key, 'ins_m094'); + ELSIF :new.ins_alg_ruimte_type = 'T' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigterreinsector, alg_terreinsector_key, + :new.ins_alg_ruimte_key, 'ins_m095'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + + IF NOT :old.ins_alg_ruimte_key IS NULL + THEN + /* Als er 'geplaatste' onderdelen bij dit deel horen, dan mag het + * deel neit verplaatst worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigonderdeel INS_O + WHERE INS_O.ins_deel_key = :new.ins_deel_key + AND INS_O.ins_alg_onroerendgoed_key IS NOT NULL; + APPLICATION_ERROR(-20000, 'ins_m100'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'ins_m100'); + END; +/* + UPDATE ins_onderdeel + SET ins_alg_onroerendgoed_key = NULL + WHERE ins_deel_key = :new.ins_deel_key; + */ + END IF; +#ifdef INV + ELSIF :new.ins_deel_module = 'INV' + AND ((:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + OR (:old.ins_prs_bezit_key <> :new.ins_prs_bezit_key + OR :old.ins_prs_bezit_key IS NULL)) + THEN +// IF :new.ins_alg_ruimte_key IS NOT NULL +// AND :new.ins_prs_bezit_key IS NOT NULL +// THEN +// APPLICATION_ERROR(-20000, 'ins_m85'); + IF :new.ins_alg_ruimte_key IS NOT NULL + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSIF :new.ins_alg_ruimte_type = 'W' + THEN + CHECK_KEY_REFERENCE(all_v_aanwezigwerkplek, prs_werkplek_key, + :new.ins_alg_ruimte_key, 'ins_m88'); +// 14-01-97 Koppelen aan Locatie is nu niet meer mogelijk +// ELSIF :new.ins_alg_ruimte_type = 'L' +// THEN +// CHECK_KEY_REFERENCE(alg_v_aanweziglocatie, alg_locatie_key, +// :new.ins_alg_ruimte_key, 'ins_m88'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + END IF; + IF :new.ins_prs_bezit_key IS NOT NULL + THEN + IF :new.ins_prs_bezit_type = 'P' + THEN + CHECK_KEY_REFERENCE(all_v_aanwezigperslid, prs_perslid_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSIF :new.ins_prs_bezit_type = 'A' + THEN + CHECK_KEY_REFERENCE(prs_v_aanwezigafdeling, prs_afdeling_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m86'); + END IF; + END IF; +#endif + END IF; +#ifdef INV + /* Als een INS_DEEL in INV-mode (red. een artikel) verwijderd, gekoppeld, + * ontkoppeld of verplaatst wordt van een ruimte of een werkplek, + * dan is de bijbehorende verdieping-tekening niet meer up to date en + * moet dus het INV_DWGUPTODATE-veld gezet worden. + * + * Als in INV-mode het INS_DEEL van INS_SRTDEEL veranderd, + * moet in het geval dit INS_SRTDEEL een ander ACADSYMBOL heeft + * het INV_DWGUPTODATE-veld van de verdiepingtekening ook gezet worden. + */ + IF :new.ins_deel_module = 'INV' + THEN + /* Verwijderen */ + IF :new.ins_deel_verwijder IS NOT NULL + /* Koppelen */ + OR (:old.ins_alg_ruimte_key IS NULL + AND :new.ins_alg_ruimte_key IS NOT NULL) + /* Ontkoppelen */ + OR (:old.ins_alg_ruimte_key IS NOT NULL + AND :new.ins_alg_ruimte_key IS NULL) + /* Verplaatsen */ + OR (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key) + /* Van INS_SRTDEEL veranderen. + * ACADSYMBOL is hierin nog niet verwerkt. + */ + OR (:old.ins_srtdeel_key <> :new.ins_srtdeel_key) + THEN + /* Voor de oude INS_ALG_RUIMTE_KEY */ + IF :old.ins_alg_ruimte_type = 'R' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :old.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :old.ins_alg_ruimte_type = 'W' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :old.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + /* Voor de nieuwe INS_ALG_RUIMTE_KEY*/ + IF :new.ins_alg_ruimte_type = 'R' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :new.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :new.ins_alg_ruimte_type = 'W' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :new.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + END IF; + END IF; +#endif // INV +#ifdef ATT + /* Gedeelte t.b.v. eventuele attributen */ + DECLARE + nAttribs NUMBER(10); + BEGIN + /* Controleer eerst of er uberhaupt attributen zijn + * bij dit Srtdeel. + */ + SELECT count(*) + INTO nAttribs + FROM ins_v_attribute_gegevens + WHERE ins_srtdeel_key = :new.ins_srtdeel_key; + + /* Attributen aanwezig + */ + IF nAttribs <> 0 + THEN + CHECK_ATTRIBUTE(fac0, 0); + CHECK_ATTRIBUTE(fac1, 1); + CHECK_ATTRIBUTE(fac2, 2); + CHECK_ATTRIBUTE(fac3, 3); + CHECK_ATTRIBUTE(fac4, 4); + CHECK_ATTRIBUTE(fac5, 5); + CHECK_ATTRIBUTE(fac6, 6); + CHECK_ATTRIBUTE(fac7, 7); + CHECK_ATTRIBUTE(fac8, 8); + CHECK_ATTRIBUTE(fac9, 9); + END IF; + END; +#endif // ATT + LOG('Eind INS_T_INS_DEEL_B_IU'); +END; +/ + +#ifdef ATT +CREATE TRIGGER ins_t_ins_attribute_D_B +BEFORE DELETE ON ins_attribute +FOR EACH ROW +BEGIN + IF :old.ins_srtinst_type = 'D' + THEN + CHECK_DISCIPLINE_ATT_VULLING(fac0, 0); + CHECK_DISCIPLINE_ATT_VULLING(fac1, 1); + CHECK_DISCIPLINE_ATT_VULLING(fac2, 2); + CHECK_DISCIPLINE_ATT_VULLING(fac3, 3); + CHECK_DISCIPLINE_ATT_VULLING(fac4, 4); + CHECK_DISCIPLINE_ATT_VULLING(fac5, 5); + CHECK_DISCIPLINE_ATT_VULLING(fac6, 6); + CHECK_DISCIPLINE_ATT_VULLING(fac7, 7); + CHECK_DISCIPLINE_ATT_VULLING(fac8, 8); + CHECK_DISCIPLINE_ATT_VULLING(fac9, 9); + ELSIF :old.ins_srtinst_type = 'G' + THEN + CHECK_SRTGROEP_ATT_VULLING(fac0, 0); + CHECK_SRTGROEP_ATT_VULLING(fac1, 1); + CHECK_SRTGROEP_ATT_VULLING(fac2, 2); + CHECK_SRTGROEP_ATT_VULLING(fac3, 3); + CHECK_SRTGROEP_ATT_VULLING(fac4, 4); + CHECK_SRTGROEP_ATT_VULLING(fac5, 5); + CHECK_SRTGROEP_ATT_VULLING(fac6, 6); + CHECK_SRTGROEP_ATT_VULLING(fac7, 7); + CHECK_SRTGROEP_ATT_VULLING(fac8, 8); + CHECK_SRTGROEP_ATT_VULLING(fac9, 9); + ELSIF :old.ins_srtinst_type = 'S' + THEN + CHECK_SRTDEEL_ATT_VULLING(fac0, 0); + CHECK_SRTDEEL_ATT_VULLING(fac1, 1); + CHECK_SRTDEEL_ATT_VULLING(fac2, 2); + CHECK_SRTDEEL_ATT_VULLING(fac3, 3); + CHECK_SRTDEEL_ATT_VULLING(fac4, 4); + CHECK_SRTDEEL_ATT_VULLING(fac5, 5); + CHECK_SRTDEEL_ATT_VULLING(fac6, 6); + CHECK_SRTDEEL_ATT_VULLING(fac7, 7); + CHECK_SRTDEEL_ATT_VULLING(fac8, 8); + CHECK_SRTDEEL_ATT_VULLING(fac9, 9); + END IF; +END; +/ + +CREATE_VIEW(ins_v_attribute_gegevens, BIBLIOTHEEK_PRIVILEGE) + (ins_discipline_key, + ins_srtgroep_key, + ins_srtdeel_key, + ins_srtinst_type, + ins_attribute_volgorde, + ins_attribute_key, + ins_attribute_main_key, + ins_attribute_label, + ins_attribute_type, + ins_attribute_length, + ins_attribute_required, + ins_attribute_min, + ins_attribute_max, + ins_attribute_dec, + ins_attribute_table, + ins_attribute_column, + ins_attribute_column_txt, + ins_attribute_unit, + ins_attribute_toonbaar) AS + SELECT INS_H.ins_discipline_key, + INS_H.ins_srtgroep_key, + INS_H.ins_srtdeel_key, + INS_A.ins_srtinst_type, + INS_A.ins_attribute_volgorde, + INS_A.ins_attribute_key, + INS_A.ins_attribute_main_key, + INS_A.ins_attribute_label, + INS_A.ins_attribute_type, + INS_A.ins_attribute_length, + INS_A.ins_attribute_required, + INS_A.ins_attribute_min, + INS_A.ins_attribute_max, + INS_A.ins_attribute_dec, + INS_A.ins_attribute_table, + INS_A.ins_attribute_column, + INS_A.ins_attribute_column_txt, + INS_A.ins_attribute_unit, + INS_A.ins_attribute_toonbaar + FROM ins_attribute INS_A, + ins_v_attr_hulp INS_H + WHERE INS_A.ins_attribute_main_key = ins_H.ins_attribute_main_key; + +#endif // ATT + +#endif // INS + +DEF_FAC_FORM('INS126', NULL, NULL ,'171260','INS_INS126','Mutatiescherm Deel (met ATT)'); +DEF_FAC_FORM('INS024', NULL, NULL ,'170240','INS_INS024','Selectie Deel met attributen'); +DEF_FAC_FORM('INS025', NULL, NULL ,'170250','INS_INS025','Importeren Deel via ACAD'); +DEF_FAC_FORM('INS026', NULL, NULL ,'170260','INS_INS026','Corrigeren Import Deel '); + +DEF_FAC_ENTITY ('INS_DEEL_OPHEFFEN', 'Opheffen', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEEL_COUNT', 'Aantal', NULL, NULL); +DEF_FAC_ENTITY ('INS_IMPORT_RECORD', 'Te importeren', NULL, NULL); +DEF_FAC_ENTITY ('INS_IMPORT_INVUL', 'Nieuw', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEEL_FCLT', 'Database', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEEL_ACAD', 'Tekening', NULL, NULL); +DEF_FAC_ENTITY ('INS_DEEL_VERSCHIL', 'Verschil', NULL, NULL); + +DEF_FAC_MESSAGE ('INS_M119', 'Deel (BEPERKT MET SELECTIE)'); +DEF_FAC_MESSAGE ('INS_M120', 'Een of meerdere waardes zijn niet goed geformuleerd'); +DEF_FAC_MESSAGE ('INS_M121', 'Aantal geselecteerrde records: %1%'); +DEF_FAC_MESSAGE ('INS_M122', 'Niet alle gegevens zijn goed geimporteerd. Wilt u toch afsluiten?'); +DEF_FAC_MESSAGE ('INS_M123', 'Import Deel'); +DEF_FAC_MESSAGE ('INS_M124', 'De som van de ingevulde aantallen komt niet overeen met het totaal.'); +DEF_FAC_MESSAGE ('INS_M125', 'Alleen importgegevens printen'); +DEF_FAC_MESSAGE ('INS_M126', 'Importgegevens'); +DEF_FAC_MESSAGE ('INS_M127', 'Doorgaan met importeren.'); +DEF_FAC_MESSAGE ('INS_M128', 'Resultaat van import:'); +DEF_FAC_MESSAGE ('INS_M129', ' - %1% delen toegevoegd.'); +DEF_FAC_MESSAGE ('INS_M130', ' - %1% delen gewijzigd.'); +DEF_FAC_MESSAGE ('INS_M131', ' - %1% delen verwijderd.'); +DEF_FAC_MESSAGE ('INS_M132', ' - %1% fouten gevonden.'); +DEF_FAC_MESSAGE ('INS_M133', 'Te verwijderen delen'); +DEF_FAC_MESSAGE ('INS_M134', 'Toe te voegen of te wijzigen delen'); +DEF_FAC_MESSAGE ('INS_M135', 'Er zijn nog te importeren gegevens over.'); +DEF_FAC_MESSAGE ('INS_M136', 'Niet herkende importgegevens'); +DEF_FAC_MESSAGE ('INS_M137', 'Geen bestaande deelgegevens verwijderen'); + +#ifdef INS +CREATE_TABLE(ins_import, BASIS_PRIVILEGE) +( + ins_import_key + NUMBER(10) + PRIMARY KEY, + alg_ruimte_acadkey + VARCHAR2(10), + ins_srtdeel_acadsymbol + VARCHAR2(8), + ins_srtdeel_acad_tagvalue + VARCHAR2(30) +); + +CREATE SEQUENCE ins_s_ins_import_key MINVALUE 1; + +CREATE_VIEW(ins_v_deel_gegevens,NORMAAL_PRIVILEGE) +( + ins_discipline_key, ins_discipline_omschrijving, + ins_srtgroep_key, ins_srtgroep_omschrijving, ins_srtgroep_upper, + ins_srtdeel_key, ins_srtdeel_omschrijving, ins_srtdeel_upper, + alg_locatie_key, alg_gebouw_key, alg_gebouw_omschrijving, alg_gebouw_upper, + alg_verdieping_key, alg_verdieping_omschrijving, alg_verdieping_upper, + alg_verdieping_volgnr, + alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr, + alg_terreinsector_key, alg_terreinsector_omschrijving, alg_terreinsector_upper, + ins_deel_key, ins_deel_omschrijving, ins_deel_upper, ins_deel_aantal, + ins_deel_fabrikaat, ins_deel_type, ins_deel_serienr, ins_deel_bouwjaar, + ins_deel_capaciteit, ins_deel_prijs, ins_deel_levensduur, ins_deel_opmerking, + fac0, fac1, fac2, fac3, fac4, fac5, fac6, fac7, fac8, fac9 +) +AS + SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving, + ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, ins_SG.ins_srtgroep_upper, + ins_SD.ins_srtdeel_key, ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper, + INS_AO.alg_locatie_key, INS_AO.alg_gebouw_key, INS_AO.alg_gebouw_omschrijving, INS_AO.alg_gebouw_upper, + INS_AO.alg_verdieping_key, INS_AO.alg_verdieping_omschrijving, INS_AO.alg_verdieping_upper, + INS_AO.alg_verdieping_volgnr, + INS_AO.alg_ruimte_key, INS_AO.alg_ruimte_nr, INS_AO.alg_ruimte_upper_nr, + INS_AO.alg_terreinsector_key, INS_AO.alg_terreinsector_omschrijving, INS_AO.alg_terreinsector_upper, + ins_DE.ins_deel_key, ins_DE.ins_deel_omschrijving, ins_DE.ins_deel_upper, ins_DE.ins_deel_aantal, + ins_DE.ins_deel_fabrikaat, ins_DE.ins_deel_type, ins_DE.ins_deel_serienr,ins_DE.ins_deel_bouwjaar, + ins_DE.ins_deel_capaciteit, ins_DE.ins_deel_prijs, ins_DE.ins_deel_levensduur, ins_DE.ins_deel_opmerking, + INS_DE.fac0, INS_DE.fac1, INS_DE.fac2, INS_DE.fac3, INS_DE.fac4, + INS_DE.fac5, INS_DE.fac6, INS_DE.fac7, INS_DE.fac8, INS_DE.fac9 + FROM ins_v_aanwezigdiscipline ins_D, ins_v_aanwezigsrtgroep ins_SG, + ins_v_aanwezigsrtdeel ins_SD, ins_v_alg_overzicht INS_AO, + ins_v_aanwezigdeel ins_DE + WHERE + INS_AO.alg_onroerendgoed_keys = ins_DE.ins_alg_ruimte_key AND + ins_SD.ins_srtdeel_key = ins_DE.ins_srtdeel_key AND + ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND + ins_D.ins_discipline_key = ins_SG.ins_discipline_key; + +CREATE_VIEW(ins_v_ins_import_deel, BASIS_PRIVILEGE) +AS +SELECT INS_D.ins_deel_key, + INS_D.ins_deel_omschrijving, + INS_D.ins_deel_upper, + INS_D.ins_deel_aantal, + INS_D.ins_alg_ruimte_key, + INS_SD.ins_srtdeel_key, + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper +FROM ins_v_aanwezigdeel INS_D, ins_srtdeel INS_SD +WHERE INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key +UNION +SELECT TO_NUMBER(NULL), + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper, + 0, + -1, + INS_SD.ins_srtdeel_key, + INS_SD.ins_srtdeel_omschrijving, + INS_SD.ins_srtdeel_upper +FROM ins_v_aanwezigsrtdeel INS_SD +WHERE INS_SD.ins_srtdeel_upper NOT IN (SELECT INS_D.ins_deel_upper + FROM ins_v_aanwezigdeel INS_D + WHERE INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key); + +CREATE TRIGGER ins_t_ins_import_B_IU +BEFORE INSERT OR UPDATE ON ins_import +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(ins_import_key,ins_s_ins_import_key); +END; +/ + +#endif // INS +#ifdef HUI +CREATE OR REPLACE VIEW hui_v_ruimteboeking_gegevens + (hui_ruimteboeking_key, + alg_locatie_key, + alg_gebouw_key, + alg_gebouw_code, + alg_verdieping_key, + alg_verdieping_omschrijving, + alg_verdieping_volgnr, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_upper_nr, + alg_ruimte_omschrijving, + alg_srtruimte_key, + prs_huismeester_key, + prs_perslid_key, + prs_perslid_nr, + prs_perslid_naam, + hui_ruimteboeking_begindatum, + hui_ruimteboeking_einddatum) AS + SELECT HUI_R.hui_ruimteboeking_key, + ALG_G.alg_locatie_key, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_code, + 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_srtruimte_key, + ALG_R.prs_huismeester_key, + PRS_P.prs_perslid_key, + PRS_P.prs_perslid_nr, + PRS_P.prs_perslid_naam||' '||PRS_P.prs_perslid_voorletters, + HUI_R.hui_ruimteboeking_begindatum, + HUI_R.hui_ruimteboeking_einddatum + FROM alg_gebouw ALG_G, alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R, + prs_perslid PRS_P, hui_ruimteboeking HUI_R + WHERE 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 = HUI_R.hui_alg_ruimte_key + AND PRS_P.prs_perslid_key = HUI_R.hui_prs_perslid_key; + +CREATE OR REPLACE VIEW hui_v_aanwezighuismeester +AS + SELECT DISTINCT HUI_P.* + FROM hui_v_aanwezigperslid HUI_P, fac_gebruiker FAC_G + WHERE fac_module = 'HUI' + AND fac_tabel = 'PRS_PERSLID' + AND fac_kolom = 'PRS_PERSLID_KEY' + AND fac_key = HUI_P.prs_perslid_key; + +#endif // HUI + +DEF_FAC_MESSAGE ('HUI_M062', 'Reserveren/Aanmelden'); +DEF_FAC_MESSAGE ('HUI_M063', 'Afmelden'); +DEF_FAC_ENTITY ('LEV_BESTELLING_BTW', 'BTW-bedrag', 'BTW-bedragen', 'het'); +DEF_FAC_ENTITY ('LEV_BESTELREGEL_TOTAAL', 'Bedrag', 'Bedragen', 'het'); + +#ifdef LEV +CREATE OR REPLACE PROCEDURE lev_p_bepaal_lev_bestelstatus( Bestelling IN NUMBER ) IS + + CURSOR bestelregel_cursor IS SELECT lev_bestelregel_aantal, + lev_bestelregel_geleverd + FROM lev_bestelregel + WHERE lev_bestelling_key = Bestelling; + bestelregel_rec bestelregel_cursor%ROWTYPE; + new_bestelstatus lev_bestelling.lev_bestelstatus%TYPE; + ProjectBestelling lev_bestelling.lev_isprojectbestelling%TYPE; + Gebouw NUMBER(10); + +BEGIN + -- Default is de bestelling 'Besteld'. + new_bestelstatus := NULL; + FOR bestelregel_rec IN bestelregel_cursor + LOOP + -- Als er geen geleverde artikelen zijn, dan is de bestelstatus: + -- 'Deels geleverd' als er andere regels wel geleverde artikelen hebben. + -- 'Besteld' als er geen andere regels geleverde artikelen hebben. + IF NVL(bestelregel_rec.lev_bestelregel_aantal, 0) <> 0 + AND NVL(bestelregel_rec.lev_bestelregel_geleverd, 0) = 0 + THEN + IF new_bestelstatus IS NULL + OR new_bestelstatus = 'B' + THEN + new_bestelstatus := 'B'; + ELSE + new_bestelstatus := 'D'; + EXIT; + END IF; + -- Als er wel geleverde artikelen zijn, maar niet allemaal, dan wordt de + -- bestelstatus 'Deels geleverd'. + ELSIF (NVL(bestelregel_rec.lev_bestelregel_aantal, 0) > 0 + AND NVL(bestelregel_rec.lev_bestelregel_aantal, 0) > + NVL(bestelregel_rec.lev_bestelregel_geleverd, 0)) + OR (NVL(bestelregel_rec.lev_bestelregel_aantal, 0) < 0 + AND NVL(bestelregel_rec.lev_bestelregel_aantal, 0) < + NVL(bestelregel_rec.lev_bestelregel_geleverd, 0)) + THEN + new_bestelstatus := 'D'; + EXIT; + ELSIF NVL(bestelregel_rec.lev_bestelregel_aantal, 0) <> 0 + AND NVL(bestelregel_rec.lev_bestelregel_aantal, 0) = + NVL(bestelregel_rec.lev_bestelregel_geleverd, 0) + THEN + IF new_bestelstatus IS NULL + OR new_bestelstatus = 'V' + THEN + new_bestelstatus := 'V'; + ELSE + new_bestelstatus := 'D'; + EXIT; + END IF; + END IF; + END LOOP; + IF NOT new_bestelstatus IS NULL + THEN + UPDATE lev_bestelling + SET lev_bestelstatus = new_bestelstatus + WHERE lev_bestelling_key = Bestelling; + IF new_bestelstatus ='V' + THEN + BEGIN + SELECT lev_isprojectbestelling, + lev_alg_gebouw_key + INTO ProjectBestelling, + Gebouw + FROM lev_bestelling + WHERE lev_bestelling_key = Bestelling; + EXCEPTION + WHEN NO_DATA_FOUND + THEN ProjectBestelling := NULL; + END; + IF NOT ProjectBestelling IS NULL + THEN + UPDATE alg_gebouw + SET lev_levering_datum = SYSDATE + WHERE alg_gebouw_key = Gebouw; + END IF; + END IF; + COMMIT; + END IF; +END; +/ + +PROMPT !!LET OP Nieuwe tabel-structuur van LEV_LEVERING/LEV_LEVERREGEL +PROMPT LEV_TOEWIJZING vervalt. Zie CREA_... +#endif //LEV + +#ifdef LEV +DELETE FROM fac_form +WHERE fac_form_name IN ('LEV012','LEV115','LEV016'); + +DEF_FAC_FORM('LEV115', NULL, NULL ,'201150','LEV_LEV115','Afvoeren bestelde inventaris'); +DEF_FAC_FORM('LEV016', NULL, 'MODULE' ,'200160','PRINT_LEV016','Printen afvoerlijst'); +DEF_FAC_FORM('LEV016', NULL, 'MODULE' ,'200161','VERWERK_LEV016','Afwerken afvoerlijst'); +#endif + +DEF_FAC_MESSAGE ('LEV_M069', ' is het aantal geleverde artikelen niet goed.'); +#ifdef HUI +DEF_FAC_MESSAGE ('LEV_M070', 'Afvoeren bestelde inventaris'); +#else +DEF_FAC_MESSAGE ('LEV_M070', 'Afvoeren bestelde artikelen'); +#endif +DEF_FAC_MESSAGE ('LEV_M071', 'Het totaal aantal is niet gelijk aan het af te voeren aantal.'); + + +PROMPT Vergeet niet te committen! +SPOOL OFF diff --git a/_UP/126TO127.SRC b/_UP/126TO127.SRC new file mode 100644 index 00000000..82fa0b15 --- /dev/null +++ b/_UP/126TO127.SRC @@ -0,0 +1,413 @@ +SPOOL 126to127 +/* + * [V:\SQL\_UPDATE] + * + * Update script van versie 01.26 naar 01.27 + * + * Dit script wordt geprecompileerd dus is het mogelijk (verplicht) + * om #ifdef's te gebruiken voor de diverse modules. + * + * History: + * + * 22-04-97 KTH Toevoegingen nav QA-test 1.27 en bugfixes door AH + * 16-04-97 AH BEBIS: CREATE TABLE's gebruikte ipv. CREATE_TABLE() + * ALG_SRTTERREIN en ALG_SRTVERDIEPING-entities aangepast. + * BEB_INI bevatte de tabel RAGIS_PRIJZEN. Deze zijn verwijderd. + * 11-04-97 KTH Aangemaakt + */ + + +/* 16-04-97 AH BEBIS */ +INSERT INTO fac_privilege VALUES (UPPER('alg_objectdeel'), 2); +INSERT INTO fac_privilege VALUES (UPPER('alg_systeemcluster'), 2); +INSERT INTO fac_privilege VALUES (UPPER('alg_bouwdeel'), 2); + +DELETE FROM fac_entity_name +WHERE fac_entity_system_name in ('ALG_SRTTERREIN', + 'ALG_SRTVERDIEPING', + 'ALG_SRTVERDIEPING_VOLGNR'); + +#if defined(BEB) +DEF_FAC_ENTITY ('ALG_SRTTERREIN', 'Terrein/Werksrt', 'Terrein/Werksoorten', 'de'); +#else +DEF_FAC_ENTITY ('ALG_SRTTERREIN', 'Terreinsoort', 'Terreinsoorten', 'de'); +#endif +DEF_FAC_ENTITY ('ALG_SRTVERDIEPING', 'Verdiepingsoort', 'Verdiepingsoorten', 'de'); +DEF_FAC_ENTITY ('ALG_SRTVERDIEPING_VOLGNR', 'Volgnummer', 'Volgnummers', 'het'); + +#ifdef BEB +DELETE FROM ins_srtdeel +WHERE ins_srtdeel_module = 'INS' +AND ins_srtgroep_key in (SELECT ins_srtgroep_key FROM ins_srtgroep + WHERE (ins_srtgroep_upper='BOUWKUNDE' + OR ins_srtgroep_upper='ELEKTROTECHNIEK')); +/* Bouwkunde delen */ + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 40 , 1 ,'m2', SUBSTR(INITCAP('STRAATWERK'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 150 , 2 ,'m2', SUBSTR(INITCAP('ASFALTERING'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 20, 3 ,'m2', SUBSTR(INITCAP('GRAAFWERK 70cm DIEP'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 200, 4 ,'m2', SUBSTR(INITCAP('STEENSMETSELWERK'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 200, 5 ,'m2', SUBSTR(INITCAP('« STEENSMETSELWERK'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 200, 6 ,'m2', SUBSTR(INITCAP('GEVELOPENING DICHTMETSELEN STEENS'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 150, 7 ,'m2', SUBSTR(INITCAP('GEVELOPENING DICHTMETSELEN « STEENS'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 150, 8 ,'m2', SUBSTR(INITCAP('METALEN BEPLATING AANBRENGEN VLOER'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 150, 9 ,'m2', SUBSTR(INITCAP('METALEN BEPLATING AANBRENGEN WAND'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 150, 10 ,'m2', SUBSTR(INITCAP('METALEN BEPLATING AANBRENGEN PLAFOND'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 500, 11 ,'m2', SUBSTR(INITCAP('VENTILATIE-OPENING BEVEILIGEN'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 300, 12 ,'m2', SUBSTR(INITCAP('BRAAKWEREND GLAS AANBRENGEN'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 300, 13 ,'m2', SUBSTR(INITCAP('GELUIDSWEREND GLAS AANBRENGEN'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 300, 14 ,'m2', SUBSTR(INITCAP('SLAGWEREND GLAS AANBRENGEN'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 6000, 15 ,' ', SUBSTR(INITCAP('ROLDEUR AANBRENGEN'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 6000, 16 ,' ', SUBSTR(INITCAP('BRAAKWERENDE DEUR TYPE A AANBRENGEN'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 115, 17 ,' ', SUBSTR(INITCAP('GAASHEK HOOG MET PUNTDRAAD'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 110, 18 ,' ', SUBSTR(INITCAP('GAASHEK HOOG ZONDER PUNTDRAAD'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 20000, 19 ,' ', SUBSTR(INITCAP('ELEK. BED. ROLHEK'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 8000, 20 ,' ', SUBSTR(INITCAP('ELEK. BED. KLAPHEK'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 500, 21 ,' ', SUBSTR(INITCAP('SLOT TYPE A'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 500, 22 ,' ', SUBSTR(INITCAP('SLOT TYPE B'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 500, 23 ,' ', SUBSTR(INITCAP('SLOT TYPE C'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 30000, 24 ,' ', SUBSTR(INITCAP('TOURNIQUET'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 50000, 25 ,' ', SUBSTR(INITCAP('TOURNIQUET MET FIETS'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 25000, 26 ,' ', SUBSTR(INITCAP('ELEK. BED. SLAGBOOM'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 1000, 27 ,' ', SUBSTR(INITCAP('LOOPHEK'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 80000, 28 ,' ', SUBSTR(INITCAP('HARMONICAPOORT'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 2500, 29 ,' ', SUBSTR(INITCAP('DRAAIHEK 1 VLEUGEL'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 5000, 30 ,' ', SUBSTR(INITCAP('DRAAIHEK 2 VLEUGELS'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 3000, 31 ,' ', SUBSTR(INITCAP('VERKEERSLICHTEN R/G'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 150, 32 ,' ', SUBSTR(INITCAP('STREKMETAAL'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 500, 33 ,' ', SUBSTR(INITCAP('SANDWITCHPANEEL'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 500, 34 ,' ', SUBSTR(INITCAP('ROLKAMMEN'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', NULL, 35 ,' ', SUBSTR(INITCAP('SLOTKAST'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='BOUWKUNDE' AND ins_srtgroep_module='INS'; + + +/* Elektrotechniek delen */ +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 15000, 1 , ' ', SUBSTR(INITCAP('VOERTUIGZUIL TYPE A'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 10000, 2 , ' ', SUBSTR(INITCAP('VOERTUIGZUIL TYPE B'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 1000, 3 , ' ', SUBSTR(INITCAP('SLUITLUS/OOG'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 100, 4 , ' ', SUBSTR(INITCAP('OPEN/DICHT SIGNALERING'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 0, 5 , ' ', SUBSTR(INITCAP('INLUISTERMICROFOON'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', NULL, 6 , ' ', SUBSTR(INITCAP('DOWNLOOK CAMERA'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 100, 7 , ' ', SUBSTR(INITCAP('SCHAKEL- OF CONTACTMAT.'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 200, 9 , ' ', SUBSTR(INITCAP('GLASBREUKMELDER'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 9000, 11, ' ', SUBSTR(INITCAP('VOETGANGERSZUIL TYPE A'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 5000, 12, ' ', SUBSTR(INITCAP('VOETGANGERSZUIL TYPE B'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 500, 13, ' ', SUBSTR(INITCAP('ACTIEF INFRAROOD MELDER'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 0, 14, ' ', SUBSTR(INITCAP('INFRAROOD ZUIL'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 500, 15, ' ', SUBSTR(INITCAP('TRILCONTACT'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 50, 16, 'mtr', SUBSTR(INITCAP('E-FLEXKABEL'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 400, 18, ' ', SUBSTR(INITCAP('COMBIMELDER'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 1000, 19, ' ', SUBSTR(INITCAP('SLUITLUS'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 5000, 20, ' ', SUBSTR(UPPER('CSSE'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 4000, 21, ' ', SUBSTR(INITCAP('KAARTLEZER'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 5000, 22, ' ', SUBSTR(INITCAP('PINCODESLOT/KAARTLEES COMB.'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 2000, 23, ' ', SUBSTR(UPPER('CCTV'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 17000, 24, ' ', SUBSTR(INITCAP('VIDEOMOTION'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 6000, 25, ' ', SUBSTR(INITCAP('TIMELAPS RECORDER'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 200, 26, ' ', SUBSTR(INITCAP('OPTISCHE SIGNAALGEVER'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 200, 27, ' ', SUBSTR(INITCAP('SCHRIKVERLICHTING'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 1000, 29, ' ', SUBSTR(INITCAP('LICHTMAST'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 1500, 30, ' ', SUBSTR(INITCAP('INTERCOM'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 200, 31, ' ', SUBSTR(INITCAP('AKOESTISCHE SIGNAALGEVER'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 175, 32, 'mtr', SUBSTR(INITCAP('LEAKY COAX-KABEL'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 300, 33, 'mtr', SUBSTR(INITCAP('TAUT-WIRE'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 400, 34, ' ', SUBSTR(INITCAP('PIN-CODESLOT'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 200, 35, ' ', SUBSTR(INITCAP('OPSLOTSIGNALERING'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 500, 36, ' ', SUBSTR(INITCAP('SLEUTELSCHERPSTELSLOT'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 200, 37, ' ', SUBSTR(INITCAP('ELEK. SLOT/ONTGRENDELING'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +INSERT INTO ins_srtdeel(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_prijs, ins_srtdeel_volgnr, ins_srtdeel_eenheid, ins_srtdeel_omschrijving) +SELECT ins_srtgroep_key, 'INS', 500, 38, ' ', SUBSTR(INITCAP('GORDIJNMELDER'),1,30) +FROM ins_srtgroep WHERE ins_srtgroep_upper='ELEKTROTECHNIEK' AND ins_srtgroep_module='INS'; + +UPDATE ins_srtdeel + SET ins_srtdeel_omschrijving=SUBSTR(REPLACE(ins_srtdeel_omschrijving,'«','1/2'),1,30), + ins_srtdeel_upper=SUBSTR(REPLACE(ins_srtdeel_upper,'«','1/2'),1,30); + +#endif /* BEB */ + +/* de rest hieronder is nav BBS2.0.1.27 QA-test/KTH dd 21-04-97 */ + +DELETE FROM fac_entity_name +WHERE fac_entity_system_name IN ('CLOSE', + 'SAVE', + 'NEXT', + 'CANCEL', + 'PRINT', + 'ALG_SYSTEEMCLUSTER', + 'ALG_BOUWDEEL_OMSCHRIJVING'); + +INSERT INTO fac_entity_name VALUES('CLOSE', 'Sluiten',NULL, NULL); +INSERT INTO fac_entity_name VALUES('SAVE', 'Bewaren',NULL, NULL); +INSERT INTO fac_entity_name VALUES('NEXT', 'Volgende...',NULL, NULL); +INSERT INTO fac_entity_name VALUES('CANCEL', 'Annuleren',NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRINT', 'Printen',NULL, NULL); +INSERT INTO fac_entity_name VALUES('ALG_SYSTEEMCLUSTER', 'Syst.cluster', 'Syst.clusters', 'het'); +INSERT INTO fac_entity_name VALUES('ALG_BOUWDEEL_OMSCHRIJVING', 'Omschrijving', 'Omschrijvingen', 'de'); + +INSERT INTO fac_entity_name VALUES('PRINT_VORIGE', '<<',NULL, NULL); +INSERT INTO fac_entity_name VALUES('PRINT_VOLGENDE', '>>',NULL, NULL); + + +#ifdef BEB +DELETE FROM fac_entity_name +WHERE fac_entity_system_name IN ('ALG_DISTRICT_CODE'); + +INSERT INTO fac_entity_name VALUES('ALG_DISTRICT_CODE', 'Dienstkringcode', NULL, 'de'); +DELETE FROM fac_message +WHERE fac_message_code IN ('ALG_M210', + 'ALG_M204'); + +INSERT INTO fac_message VALUES('ALG_M210', 'Dienstkring is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M204', 'Er zijn nog bouwlagen gekoppeld aan de verdiepingsoort.'); +#endif + +DELETE FROM fac_message +WHERE fac_message_code IN ('ALG_M170', + 'ALG_M173', + 'FAC_M005', + 'FAC_M007'); + +INSERT INTO fac_message VALUES('ALG_M170', 'De omschrijving van het systeemcluster is niet ingevuld.'); +INSERT INTO fac_message VALUES('ALG_M173', 'Het systeemcluster is niet ingevuld.'); +INSERT INTO fac_message VALUES('INS_M138', 'Er is geen deel geselecteerd'); +INSERT INTO fac_message VALUES('FAC_M007', 'Uitvoer Rapportage'); +INSERT INTO fac_message VALUES('FAC_M005', 'Copyright (c) 1996-1997, Seki-Riesewijk B.V.'); + +COMMIT; + +ALTER TABLE beb_categorie +ADD UNIQUE(beb_categorie_code); + +DROP SEQUENCE beb_s_beb_categorie_key; +CREATE SEQUENCE beb_s_beb_categorie_key MINVALUE 1; + +INSERT into beb_categorie (beb_categorie_code) VALUES ('OG'); +INSERT into beb_categorie (beb_categorie_code) VALUES ('VG'); +INSERT into beb_categorie (beb_categorie_code) VALUES ('BG1'); +INSERT into beb_categorie (beb_categorie_code) VALUES ('BG2'); + +UPDATE fac_form +SET fac_form_context = 'INS_INS124', + fac_form_parameter = NULL +WHERE fac_form_name = 'INS124'; + +UPDATE fac_form +SET fac_form_parameter = NULL +WHERE fac_form_name = 'INS125'; + +UPDATE fac_form +SET fac_form_context = 'INS_INS213', + fac_form_parameter = NULL +WHERE fac_form_name = 'INS213'; + +UPDATE fac_form +SET fac_form_context = 'INS_INS214', + fac_form_parameter = NULL +WHERE fac_form_name = 'INS214'; + +COMMIT; + +PROMPT Vergeet niet te committen! +SPOOL OFF diff --git a/_UP/127TO128.SRC b/_UP/127TO128.SRC new file mode 100644 index 00000000..bdb60534 --- /dev/null +++ b/_UP/127TO128.SRC @@ -0,0 +1,84 @@ +SPOOL 127to128 +-- +-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\127TO128.SQL] +-- +-- Update script van Facilitor 2.0 versie 1.27 naar 1.28 +-- +-- Dit script wordt geprecompileerd dus is het mogelijk (verplicht) +-- om #ifdef's te gebruiken voor de diverse modules. +-- +-- Revisie: +-- +-- 22-04-97 KTH Aangemaakt +-- + +-- LOG#.... Bugfixes lijst 970424.TXT en 970505.txt van KTH + +#ifdef HUI +DELETE FROM fac_entity_name +WHERE fac_entity_system_name = 'INV_SRTDEEL'; + +DEF_FAC_ENTITY ('INV_SRTDEEL', 'Artikel', 'Artikelen', 'het'); +#endif + +DELETE FROM fac_message +WHERE fac_message_code IN ('INV_M005', 'INV_M006', 'LEV_M026'); + +DEF_FAC_MESSAGE ('INV_M005', 'De omschrijving voor het artikeltype is niet ingevuld.'); +DEF_FAC_MESSAGE ('INV_M006', 'Het artikeltype is niet ingevuld.'); +DEF_FAC_MESSAGE ('LEV_M026', 'Er zijn geen leveringregels bij deze levering.'); + +-- 05-05-97 AH LEV_LEVERREGEL boekt niets op ALG_KOSTENPOST_BESTEED +-- In LEV_T_LEV_LEVERREGEL_B_IU aangepast. +CREATE OR REPLACE TRIGGER lev_t_lev_leverregel_B_IU +BEFORE INSERT OR UPDATE ON lev_leverregel +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(lev_leverregel_key, lev_s_lev_leverregel_key); + /* Ver het veld ALG_KOSTENPOST_BESTEED bij met aantal_geleverd*Prijs. + * Wijzigen van een leverregel is eigenlijk niet mogelijk, maar toch + * gedeeltelijk aangepast. + * Hier wordt bij wijzigen geen rekening gehouden met : + * - Wijzigen van INS_SRTDEEL_KEY. + * - Wijzigen van de prijs van INS_SRTDEEL + */ + IF :old.lev_leverregel_aantal IS NULL + OR (:old.lev_leverregel_aantal <> :new.lev_leverregel_aantal) + THEN + DECLARE + Kostenpost NUMBER(10); + ExtraBesteed alg_kostenpost.alg_kostenpost_besteed%TYPE; + Prijs ins_srtdeel.inv_srtdeel_prijs%TYPE; + BEGIN + SELECT ALG_K.alg_kostenpost_key + INTO Kostenpost + FROM lev_bestelregel LEV_BR, lev_bestelling LEV_B, + alg_kostenpost ALG_K + WHERE LEV_BR.lev_bestelling_key = LEV_B.lev_bestelling_key + AND LEV_B.lev_alg_kostenpost_key = ALG_K.alg_kostenpost_key + AND LEV_BR.lev_bestelregel_key = :new.lev_bestelregel_key; + SELECT inv_srtdeel_prijs + INTO Prijs + FROM inv_v_aanwezigsrtdeel + WHERE ins_srtdeel_key = :new.lev_ins_srtdeel_key; + ExtraBesteed := (:new.lev_leverregel_aantal - NVL(:old.lev_leverregel_aantal,0)) + * NVL(Prijs, 0); + UPDATE alg_kostenpost + SET alg_kostenpost_besteed = NVL(alg_kostenpost_besteed, 0) + + ExtraBesteed + WHERE alg_kostenpost_key = Kostenpost; + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + END IF; +END; +/ + +DEF_FAC_MESSAGE ('LEV_M072', 'Het bestelnummer is niet ingevuld.'); + + +COMMIT; + +PROMPT Vergeet niet te committen! +SPOOL OFF diff --git a/_UP/128TO129.SQL b/_UP/128TO129.SQL new file mode 100644 index 00000000..e548f3a2 --- /dev/null +++ b/_UP/128TO129.SQL @@ -0,0 +1,70 @@ +SPOOL 128to129 +-- +-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\128TO129.SQL] +-- +-- Update script van Facilitor 2.0 versie 1.28 naar 1.29 +-- +-- Dit script wordt geprecompileerd dus is het mogelijk (verplicht) +-- om #ifdef's te gebruiken voor de diverse modules. +-- +-- Revisie: +-- +-- 11-07-97 AH Fouten in dit script gevonden door MvK, nl. LEV_M072 bestond al en +-- DROP UNIQUE(INV_SRDEEL_NR) mist een T UNIQUE(INV_SRTDEEL_NR). +-- 09-07-1997 AH #1362, LEV_M026 gewijzigd in dit script, was al in FAC_INI gebeurt. +-- 08-07-1997 AH #1352, LEV_M072 toegevoegd +-- 7/2/97 AH #1347, Teskt bij INV021 aangepast in 'Bruikleen inventaris' +-- 07-07-1997 AH #1339, LEV_M073 toegevoegd +-- 7/2/97 AH #1353: 'Overnachting' moet zijn 'Legering' +-- 7/2/97 AH #1347: INV_M047 aangepast in 'Bruikleen inventeris' +-- 7/1/97 AH #1345, UNIQUE op INV_SRTDEEL_NR verplaatst naar UNIQUE op INV_SRTDEEL_NR en INS_SRTDEEL_VERWIJDER. +-- 7/2/97 AH #1354, UNIQUE op PRS_LEVERANCIER_NR toegevoegd. + + +-- LOG#1347 +UPDATE FAC_FORM +SET fac_form_opmerking = 'Bruikleen inventaris' +WHERE fac_form_name = 'INV021'; + +-- LOG#1353, #1347, #1362 +DELETE FROM fac_message +WHERE fac_message_code IN ('INV_M047', 'HUI_M018', + 'HUI_M020', + 'HUI_M036', + 'LEV_M026'); + +DELETE FROM fac_entity_name +WHERE fac_entity_system_name = 'HUI_OVERNACHTING'; + +INSERT INTO FAC_ENTITY_NAME VALUES('HUI_OVERNACHTING', 'Legering', 'Legeringen', 'de'); +INSERT INTO FAC_MESSAGE VALUES('INV_M047', 'Bruikleen inventaris'); +INSERT INTO FAC_MESSAGE VALUES('HUI_M018', 'De legering van '); +INSERT INTO FAC_MESSAGE VALUES('HUI_M020', 'Alleen actuele legeringen'); +INSERT INTO FAC_MESSAGE VALUES('HUI_M036', 'Bruikleenbewijs legering'); +INSERT INTO FAC_MESSAGE VALUES('LEV_M026', 'Er zijn geen leveringregels bij deze levering.'); + +-- LOG#1352 +--INSERT INTO FAC_MESSAGE VALUES('LEV_M072', 'Het bestelnummer is niet ingevuld.'); +-- LOG#1339 +INSERT INTO FAC_MESSAGE VALUES('LEV_M073', 'De leverdatum ligt voor de huidige datum.'); + + +-- LOG#1345 +ALTER TABLE ins_srtdeel +DROP unique(INV_SRTDEEL_NR); + +ALTER TABLE ins_srtdeel +ADD CONSTRAINT ins_c_ins_srtdeel_nr_unique UNIQUE(inv_srtdeel_nr, ins_srtdeel_verwijder); + +-- LOG#1354 +ALTER TABLE prs_bedrijf +ADD CONSTRAINT prs_c_prs_leverancier_unique UNIQUE(prs_leverancier_nr, prs_bedrijf_verwijder); + +-- werk vervolgens het versienummer en de datum bij (van alle interne modules) +UPDATE fac_module + SET fac_module_version='01.29', + fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD'); + +COMMIT; + +SPOOL OFF diff --git a/_UP/128TO129.SRC b/_UP/128TO129.SRC new file mode 100644 index 00000000..bee76b28 --- /dev/null +++ b/_UP/128TO129.SRC @@ -0,0 +1,72 @@ +SPOOL 128to129 +-- +-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\128TO129.SQL] +-- +-- Update script van Facilitor 2.0 versie 1.28 naar 1.29 +-- +-- Dit script wordt geprecompileerd dus is het mogelijk (verplicht) +-- om #ifdef's te gebruiken voor de diverse modules. +-- +-- Revisie: +-- +-- 01.28SD -> 01.29SD +-- 09-07-1997 AH #1362, LEV_M026 gewijzigd in dit script, was al in FAC_INI gebeurt. +-- 08-07-1997 AH #1352, LEV_M072 toegevoegd +-- 7/2/97 AH #1347, Tekst bij INV021 aangepast in 'Bruikleen inventaris' +-- 07-07-1997 AH #1339, LEV_M073 toegevoegd +-- 7/2/97 AH #1353: 'Overnachting' moet zijn 'Legering' +-- 7/2/97 AH #1347: INV_M047 aangepast in 'Bruikleen inventeris' +-- 7/1/97 AH #1345, UNIQUE op INV_SRTDEEL_NR verplaatst naar UNIQUE op INV_SRTDEEL_NR en INS_SRTDEEL_VERWIJDER. +-- 7/2/97 AH #1354, UNIQUE op PRS_LEVERANCIER_NR toegevoegd. +-- 06-05-97 KTH Aangemaakt +-- + + +-- LOG#1347 +UPDATE FAC_FORM +SET fac_form_opmerking = 'Bruikleen inventaris' +WHERE fac_form_name = 'INV021'; + +-- LOG#1353, #1347, #1362 +DELETE FROM fac_message +WHERE fac_message_code IN ('INV_M047', 'HUI_M018', + 'HUI_M020', + 'HUI_M036', + 'LEV_M026'); + +DELETE FROM fac_entity_name +WHERE fac_entity_system_name = 'HUI_OVERNACHTING'; + +INSERT INTO FAC_ENTITY_NAME VALUES('HUI_OVERNACHTING', 'Legering', 'Legeringen', 'de'); +INSERT INTO FAC_MESSAGE VALUES('INV_M047', 'Bruikleen inventaris'); +INSERT INTO FAC_MESSAGE VALUES('HUI_M018', 'De legering van '); +INSERT INTO FAC_MESSAGE VALUES('HUI_M020', 'Alleen actuele legeringen'); +INSERT INTO FAC_MESSAGE VALUES('HUI_M036', 'Bruikleenbewijs legering'); +INSERT INTO FAC_MESSAGE VALUES('LEV_M026', 'Er zijn geen leveringregels bij deze levering.'); + +-- LOG#1352,1380 +--INSERT INTO FAC_MESSAGE VALUES('LEV_M072', 'Het bestelnummer is niet ingevuld.'); +-- LOG#1339 +INSERT INTO FAC_MESSAGE VALUES('LEV_M073', 'De leverdatum ligt voor de huidige datum.'); + + +-- LOG#1345,1380 +ALTER TABLE ins_srtdeel +DROP unique(INV_SRTDEEL_NR); + +ALTER TABLE ins_srtdeel +ADD CONSTRAINT ins_c_ins_srtdeel_nr_unique UNIQUE(inv_srtdeel_nr, ins_srtdeel_verwijder); + +-- LOG#1354 +ALTER TABLE prs_bedrijf +ADD CONSTRAINT prs_c_prs_leverancier_unique UNIQUE(prs_leverancier_nr, prs_bedrijf_verwijder); + +-- werk vervolgens het versienummer en de datum bij (van alle interne modules) +UPDATE fac_module + SET fac_module_version='01.29', + fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD'); + +-- LOG#... + +PROMPT Vergeet niet te committen! +SPOOL OFF diff --git a/_UP/129TO130.SRC b/_UP/129TO130.SRC new file mode 100644 index 00000000..b8ed9a84 --- /dev/null +++ b/_UP/129TO130.SRC @@ -0,0 +1,1739 @@ +SPOOL 129to130 +-- +-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\129TO130.SQL] +-- +-- Update script van Facilitor 2.0 versie 1.29 naar 1.30 +-- + +/* + * 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. + * + * Revisie: + * + * 14-07-97 AH PRS_P_PRS_BepaalWerkplekOpp heeft extra argument ArgEditMode toegevoegd, PRS_V_WERKPLEK_GEGEVENS + * ook aangepast. + * 13-07-97 KTH - '#ifdef 0' om revisielijst gevoegd: niet tonen in 129to130.SQL + * - #1367: typefouten uit MESSAGE gehaald en #ifdef PRR verwijderd + * - LOG#1367 aangepast voor diverse CUSTs + * - intro aan script toegevoegd tbv verifieren vorige versienr + * 11-07-97 AH #1392, SCH_V_PROGRAMMA aangepast.Als er ruimtes zijn zonder srtvloer, srtruimte + * oid. dan moeten deze toch in het programma-overzicht (SCH213) komen te staan. + * 11-07-97 AH #1390, IN _SCH_V_NIVO_GEGEVENS hoeft de UNION met Gebouw niet te worden + * gedaan. + * 11-07-97 AH #1381, PRS_M108 toegevoegd,PRS_PERSLIDWERKPLEK_OPP, PRS_PERSLIDWERKPLEK_BEZETTING, + * PRS_PERSLIDWERKPLEK_NORM toegevoegd + * 11-07-97 AH #1379, View PRS_V_WERKPLEK_BEZETTING toegevoegd en PRS_V_PERSLIDWERKPLEK_GEGEVENS + * aangepast, gebruik makend van de nieuwe view. + * 10-07-97 AH #1377, Stored Proc PRS_P_PRS_BepaalWerkplekOpp toegevoegd in + * PRS_V_WERKPLEK_GEGEVENS + * 11-07-97 AH #1377, Nieuwe Stored-function PRS_P_PRS_BepaalWerkplekOpp toegevoegd + * 10-07-97 AH #1376, CHECK op PRS_PERSLID_UURLOON toegevoegd, deze mag niet negatief zijn. + * 10-07-97 AH #1377, PRS_M016 aangepast alleen voor PRR + * 10-07-97 AH #1367, ALG_M211 - ALG_M214 toegevoegd voor meldingen Restricted verwijderen + * van Regio, District en Locatie + * 10-07-97 AH #1367, Aanwezig-views van ALG_GEBOUW, ALG_TERREINSECTOR, ALG_VERDIEPING en ALG_RUIMTE + * veranderd, deze hoeven niet meer te controleren of de locatie aanwezig is. + * 10-07-97 AH #1367, Restricted verwijderen op Regio/District en Locatie. In triggers + * ALG_T_ALG_REGIO_B_IU, ALG_T_ALG_DISTRICT_B_IU en ALG_T_ALG_LOCATIE_B_IU + * 7/1/97 AH Extra functionaliteit voor SCH/IBG + * 6/25/97 AH Bugfixes voor RHY0117p3 doorgevoerd + * --- 01.29 --- + */ + +#include "..\modules.h" +#include "..\comsql.h" + +set heading off + +clear screen + +/* + * 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 + */ + +PROMPT *********************************************************************** +PROMPT +PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.29 naar 01.30 +PROMPT +SELECT 'De huidige versie van Facilitor zou moeten zijn 01.29 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 heading on + +INSERT INTO FAC_MESSAGE VALUES('SCH_M027','Verwijderden niet toegestaan, er zijn nog ruimtes met deze vloersoort.'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M028','Verwijderen niet toegestaan, er zijn nog werkzaamheden bij deze ruimtesoort.'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M029','Verwijderen niet toegestaan, er zijn nog werkzaamheden bij deze vloersoort.'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M030','Code van de frequentie is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M031','Omschrijving van de frequentie is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M032','Omschrijving van de vloersoort is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M033','Verwijderen frequentie '); +INSERT INTO FAC_MESSAGE VALUES('SCH_M034','Verwijderen vloersoort '); +INSERT INTO FAC_MESSAGE VALUES('SCH_M035','De geselecteerde schoonmaaknivo''s verwijderen?'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M036','Er zijn geen schoonmaaknivo''s geselecteerd'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M037','De geselecteerde erkzaamheden verwijderen?'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M038','Er zijn geen werkzaamheden geselecteerd'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M039','Ruimtesoort of vloersoort is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M040','Frequentie is niet ingevuld.'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M041','Activiteit is niet ingevuld.'); + +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_FREQUENTIE','Frequentie','Frequenties','de'); +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_FREQUENTIE_CODE','Code','Codes','de'); +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_FREQUENTIE_OMSCHRIJVING','Omschrijving','Omschrijvingen','de'); +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_SRTVLOER','Vloersoort','Vloersoorten','de'); +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_SRTVLOER_OMSCHRIJVING','Omschrijving','Omschrijvingen','de'); +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_ACTIVITEIT_CODE','Code','Codes','de'); +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_ACTIVITEIT_OMSCHRIJVING','Omschrijving','Omschrijvingen','de'); +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_ACTIVITEIT_VOLGNR','Volgnummer','Volgnummers','het'); +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_NIVO_SHORT','Niveau','Niveaus','het'); + +INSERT INTO FAC_FORM VALUES('SCH015', NULL, NULL ,'260150','SCH_SCH015','Overzichtscherm Frequentie'); +INSERT INTO FAC_FORM VALUES('SCH016', NULL, NULL ,'260160','SCH_SCH016','Overzichtscherm Vloersoort'); +INSERT INTO FAC_FORM VALUES('SCH115', NULL, NULL ,'261150','SCH_SCH115','Mutatiescherm Frequentie'); +INSERT INTO FAC_FORM VALUES('SCH116', NULL, NULL ,'261160','SCH_SCH116','Mutatiescherm Vloersoort'); +DELETE FROM fac_form WHERE fac_form_name = 'SCH212'; +INSERT INTO FAC_FORM VALUES('SCH213', NULL, NULL ,'262130','SCH_SCH213','Rapport Schoonmaakprogramma IBG'); + +INSERT INTO FAC_ENTITY_NAME VALUES('PRS_RAPPORT_TYPE', 'Type', 'Types', 'het'); +INSERT INTO FAC_ENTITY_NAME VALUES('PRS_RAPPORT_RUIMTE_OPP', 'Bruto Opp.', NULL, 'de'); +INSERT INTO FAC_ENTITY_NAME VALUES('PRS_RAPPORT_WERKPLEK_OPP', 'Werkplek Opp.', NULL, 'de'); +INSERT INTO FAC_ENTITY_NAME VALUES('PRS_RAPPORT_BENUT_OPP', 'Benut Opp.', NULL, 'de'); +INSERT INTO FAC_ENTITY_NAME VALUES('PRS_RAPPORT_PERCENTAGE_OPP', 'Percentage', NULL, 'het'); + +INSERT INTO FAC_MESSAGE VALUES('PRS_M107', 'Ongebruikte werkplekken overige ruimtes'); + +#ifdef SCH +/* LOG#1326 */ +DROP TABLE sch_werkzaamheden; +DROP TABLE sch_nivo_og; +DROP TABLE sch_nivo; +DROP TABLE sch_activiteit; +DROP TABLE sch_frequentie; +DROP TABLE sch_srtvloer; + +/* Nivo van schoonmaken, bv Minimaal, Maximaal, uitgebreid, beperkt. */ +CREATE_TABLE(sch_nivo,NORMAAL_PRIVILEGE) +( + sch_nivo_key + NUMBER(10) + PRIMARY KEY, + sch_nivo_omschrijving + VARCHAR2(30) + NOT NULL, + sch_nivo_upper + VARCHAR2(30) + NOT NULL + CONSTRAINT sch_c_sch_nivo_unique UNIQUE +); + +CREATE_TABLE(sch_activiteit,NORMAAL_PRIVILEGE) +( + sch_activiteit_key + NUMBER(10) + PRIMARY KEY, + sch_activiteit_prijsprofiel /* 1 = prijsbepaling gaat per vierkante meter */ + NUMBER(1) /* 2 = prijsbepaling gaat per stuk */ + CONSTRAINT sch_c_sch_activiteit_check CHECK(sch_activiteit_prijsprofiel = 1 OR + sch_activiteit_prijsprofiel = 2), + sch_activiteit_code + VARCHAR2(10) + NOT NULL + CONSTRAINT sch_c_sch_activiteit_unique UNIQUE, + sch_activiteit_omschrijving + VARCHAR2(512) + NOT NULL, + sch_activiteit_volgnr /* Volgorde waarin de activiteit getoond wordt.*/ + NUMBER(3) /* Hoeft niet ingevuld te zijn.*/ +); + +CREATE_TABLE(sch_nivo_og,NORMAAL_PRIVILEGE) +( + sch_alg_og_key + NUMBER(10) + NOT NULL + CONSTRAINT sch_c_sch_nivo_og_unique UNIQUE, + sch_nivo_key + NUMBER(10) + REFERENCES sch_nivo + NOT NULL, + sch_nivo_og_correctiefactor + NUMBER(4,1) + DEFAULT 100, + CONSTRAINT sch_c_sch_nivo_og_check CHECK (sch_nivo_og_correctiefactor >=0 ) +); + +/* frequentie voor de werkzaamheden, bv. 4W 4 maal per week.*/ +CREATE_TABLE(sch_frequentie,NORMAAL_PRIVILEGE) +( + sch_frequentie_key + NUMBER(10) + PRIMARY KEY, + sch_frequentie_code + VARCHAR2(4) + NOT NULL + CONSTRAINT sch_c_sch_frequentie_unique UNIQUE, + sch_frequentie_omschrijving + VARCHAR2(30) + NOT NULL +); + +/* Vloerafwerking, bn. Steen of Tapijt.*/ +CREATE_TABLE(sch_srtvloer,NORMAAL_PRIVILEGE) +( + sch_srtvloer_key + NUMBER(10) + PRIMARY KEY, + sch_srtvloer_omschrijving + VARCHAR2(30) + NOT NULL, + sch_srtvloer_upper + VARCHAR2(30) + NOT NULL, + sch_srtvloer_aanmaak + DATE + DEFAULT SYSDATE, + sch_srtvloer_verwijder + DATE + DEFAULT NULL, + CONSTRAINT sch_c_sch_srtvloer_unique UNIQUE(sch_srtvloer_upper, sch_srtvloer_verwijder) +); + +/* werkzaamheden (bv. stofzuigen), voor een ruimtesoort, nivo en activiteit */ +CREATE_TABLE(sch_werkzaamheden,NORMAAL_PRIVILEGE) +( + sch_werkzaamheden_key + NUMBER(10) + PRIMARY KEY, + sch_nivo_key + NUMBER(10) + REFERENCES sch_nivo + NOT NULL, + sch_alg_srtruimte_key + NUMBER(10) + REFERENCES alg_srtruimte, + sch_activiteit_key + NUMBER(10) + REFERENCES sch_activiteit + NOT NULL, + sch_werkzaamheden_kosten + NUMBER(8,2), +// Deze velden zijn overbodig, komen uit SCH_ACTIVITEIT +// sch_werkzaamheden_prijsprofiel /* 1 = prijsbepaling gaat per vierkante meter */ +// NUMBER(1), /* 2 = prijsbepaling gaat per stuk */ +// sch_werkzaamheden_omschrijving +// VARCHAR2(30) +// NOT NULL, +// sch_werkzaamheden_upper +// VARCHAR2(30) +// NOT NULL, + sch_frequentie_key + NUMBER(10) + REFERENCES sch_frequentie(sch_frequentie_key) + NOT NULL, + sch_srtvloer_key /* mag null zijn. */ + NUMBER(10) + REFERENCES sch_srtvloer(sch_srtvloer_key), + CONSTRAINT sch_c_sch_werkzaamheden_unique + UNIQUE(sch_nivo_key, sch_alg_srtruimte_key, sch_srtvloer_key, sch_activiteit_key) +); + +ALTER TABLE alg_ruimte +ADD +( + sch_srtvloer_key + NUMBER(10) + REFERENCES sch_srtvloer(sch_srtvloer_key) +); + +/* view opnieuw aanmaken vanwege de nieuw toegevoegde column */ +CREATE OR REPLACE VIEW alg_v_aanwezigruimte AS SELECT * FROM alg_ruimte WHERE alg_ruimte.alg_ruimte_verwijder IS NULL AND + alg_verdieping_key IN (SELECT alg_verdieping_key + FROM alg_v_aanwezigverdieping); + +CREATE INDEX sch_i_sch_nivo_og_1 ON sch_nivo_og(sch_nivo_key); +CREATE INDEX sch_i_sch_nivo_og_2 ON sch_nivo_og(sch_alg_og_key); + +CREATE INDEX sch_i_sch_werkzaamheden_1 ON sch_werkzaamheden(sch_nivo_key); +CREATE INDEX sch_i_sch_werkzaamheden_2 ON sch_werkzaamheden(sch_alg_srtruimte_key); +CREATE INDEX sch_i_sch_werkzaamheden_3 ON sch_werkzaamheden(sch_activiteit_key); +CREATE INDEX sch_i_sch_werkzaamheden_4 ON sch_werkzaamheden(sch_srtvloer_key); +CREATE INDEX sch_i_sch_werkzaamheden_5 ON sch_werkzaamheden(sch_frequentie_key); + +CREATE INDEX sch_i_alg_ruimte_1 ON alg_ruimte(sch_srtvloer_key); + +CREATE SEQUENCE sch_s_sch_frequentie_key MINVALUE 1; +CREATE SEQUENCE sch_s_sch_srtvloer_key MINVALUE 1; + +CREATE OR REPLACE FUNCTION SCH_P_SCH_BepaalFrequentieCode( SrtRuimteKey IN NUMBER, SrtVloerKey IN NUMBER, + ActiviteitKey IN NUMBER, NivoKey IN NUMBER) RETURN VARCHAR2 IS + FrequentieCode sch_frequentie.sch_frequentie_code%TYPE; +BEGIN + FrequentieCode := NULL; + IF FrequentieCode IS NULL + THEN + BEGIN + SELECT SCH_F.sch_frequentie_code + INTO FrequentieCode + FROM sch_frequentie SCH_F, sch_werkzaamheden SCH_W + WHERE SCH_F.sch_frequentie_key = SCH_W.sch_frequentie_key + AND SCH_W.sch_alg_srtruimte_key = SrtRuimteKey + AND SCH_W.sch_srtvloer_key = SrtVloerKey + AND SCH_W.sch_activiteit_key = ActiviteitKey + AND SCH_W.sch_nivo_key = NivoKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN FrequentieCode := NULL; + WHEN TOO_MANY_ROWS + THEN FrequentieCode := NULL; + END; + END IF; + IF FrequentieCode IS NULL + THEN + BEGIN + SELECT SCH_F.sch_frequentie_code + INTO FrequentieCode + FROM sch_frequentie SCH_F, sch_werkzaamheden SCH_W + WHERE SCH_F.sch_frequentie_key = SCH_W.sch_frequentie_key + AND SCH_W.sch_alg_srtruimte_key = SrtRuimteKey + AND SCH_W.sch_srtvloer_key IS NULL + AND SCH_W.sch_activiteit_key = ActiviteitKey + AND SCH_W.sch_nivo_key = NivoKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN FrequentieCode := NULL; + WHEN TOO_MANY_ROWS + THEN FrequentieCode := NULL; + END; + END IF; + IF FrequentieCode IS NULL + THEN + BEGIN + SELECT SCH_F.sch_frequentie_code + INTO FrequentieCode + FROM sch_frequentie SCH_F, sch_werkzaamheden SCH_W + WHERE SCH_F.sch_frequentie_key = SCH_W.sch_frequentie_key + AND SCH_W.sch_alg_srtruimte_key IS NULL + AND SCH_W.sch_srtvloer_key = SrtVloerKey + AND SCH_W.sch_activiteit_key = ActiviteitKey + AND SCH_W.sch_nivo_key = NivoKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN FrequentieCode := NULL; + WHEN TOO_MANY_ROWS + THEN FrequentieCode := NULL; + END; + END IF; + IF FrequentieCode IS NULL + THEN + FrequentieCode := '-'; + END IF; + RETURN FrequentieCode; +END; +/ + +DEFINIEER_VIEW_AANWEZIG(sch_srtvloer, sch_srtvloer_verwijder, + sch_v_aanwezigsrtvloer,NORMAAL_PRIVILEGE); + +/* De karakteristieke gegevens over de activiteit van werkzaamheden */ +CREATE_VIEW(sch_v_werkzaamheden_gegevens, NORMAAL_PRIVILEGE) + (sch_werkzaamheden_key, + sch_werkzaamheden_kosten, + sch_activiteit_code, + sch_activiteit_prijsprofiel, + sch_nivo_key, + sch_nivo_omschrijving, + alg_srtruimte_key, + alg_srtruimte_omschrijving, + alg_srtruimte_upper, + sch_srtvloer_key, + sch_srtvloer_omschrijving, + sch_srtvloer_upper, + sch_frequentie_key, + sch_frequentie_code) AS +SELECT SCH_W.sch_werkzaamheden_key, + SCH_W.sch_werkzaamheden_kosten, + SCH_A.sch_activiteit_code, + SCH_A.sch_activiteit_prijsprofiel, + SCH_N.sch_nivo_key, + SCH_N.sch_nivo_omschrijving, + SCH_W.sch_alg_srtruimte_key, + ALG_SR.alg_srtruimte_omschrijving, + ALG_SR.alg_srtruimte_upper, + SCH_W.sch_srtvloer_key, + SCH_SV.sch_srtvloer_omschrijving, + SCH_SV.sch_srtvloer_upper, + SCH_W.sch_frequentie_key, + SCH_F.sch_frequentie_code +FROM sch_werkzaamheden SCH_W, sch_activiteit SCH_A, sch_nivo SCH_N, + sch_v_aanwezigsrtvloer SCH_SV, alg_v_aanwezigsrtruimte ALG_SR, + sch_frequentie SCH_F +WHERE SCH_W.sch_activiteit_key = SCH_A.sch_activiteit_key + AND SCH_W.sch_nivo_key = SCH_N.sch_nivo_key + AND SCH_W.sch_frequentie_key = SCH_F.sch_frequentie_key + AND SCH_W.sch_srtvloer_key = SCH_SV.sch_srtvloer_key (+) + AND SCH_W.sch_alg_srtruimte_key = ALG_SR.alg_srtruimte_key (+); + + +CREATE_VIEW(sch_v_og, NORMAAL_PRIVILEGE) + (alg_og_key, + alg_locatie_key, + 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) AS +SELECT G.alg_gebouw_key, + G.alg_locatie_key, + G.alg_gebouw_key, + G.alg_gebouw_omschrijving, + G.alg_gebouw_upper, + to_number(NULL), + NULL, + 0, + to_number(NULL), + NULL, + ' ' +FROM alg_v_aanweziggebouw G +UNION +SELECT V.alg_verdieping_key, + G.alg_locatie_key, + G.alg_gebouw_key, + G.alg_gebouw_omschrijving, + G.alg_gebouw_upper, + V.alg_verdieping_key, + V.alg_verdieping_omschrijving, + V.alg_verdieping_volgnr, + to_number(NULL), + NULL, + ' ' +FROM alg_v_aanwezigverdieping V, alg_v_aanweziggebouw G +WHERE V.alg_gebouw_key = G.alg_gebouw_key +UNION +SELECT R.alg_ruimte_key, + G.alg_locatie_key, + G.alg_gebouw_key, + G.alg_gebouw_omschrijving, + G.alg_gebouw_upper, + V.alg_verdieping_key, + V.alg_verdieping_omschrijving, + V.alg_verdieping_volgnr, + R.alg_ruimte_key, + R.alg_ruimte_nr, + R.alg_ruimte_upper_nr +FROM alg_v_aanwezigruimte R, alg_v_aanwezigverdieping V, alg_v_aanweziggebouw G +WHERE R.alg_verdieping_key = V.alg_verdieping_key + AND V.alg_gebouw_key = G.alg_gebouw_key; + + +CREATE_VIEW(sch_v_nivo_gegevens, NORMAAL_PRIVILEGE) + (alg_locatie_key, + 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, + sch_nivo_key, + sch_nivo_omschrijving, + sch_alg_og_key) AS +SELECT C.alg_locatie_key, + C.alg_gebouw_key, + C.alg_gebouw_omschrijving, + C.alg_gebouw_upper, + C.alg_verdieping_key, + C.alg_verdieping_omschrijving, + C.alg_verdieping_volgnr, + C.alg_ruimte_key, + C.alg_ruimte_nr, + C.alg_ruimte_upper_nr, + A.sch_nivo_key, + A.sch_nivo_omschrijving, + B.sch_alg_og_key +FROM sch_nivo A, sch_nivo_og B, sch_v_og C +WHERE A.sch_nivo_key = B.sch_nivo_key + AND B.sch_alg_og_key = C.alg_og_key +UNION +SELECT alg_locatie_key, + alg_gebouw_key, + alg_gebouw_omschrijving, + alg_gebouw_upper, + to_number(NULL), + NULL, + to_number(NULL), + to_number(NULL), + NULL, + NULL, + to_number(NULL), + NULL, + to_number(NULL) +FROM alg_v_aanweziggebouw +WHERE alg_gebouw_key NOT IN (SELECT sch_alg_og_key + FROM sch_nivo_og); + +CREATE_VIEW(sch_v_nivo_ruimte, NORMAAL_PRIVILEGE) + (sch_alg_og_key, + alg_gebouw_key, + alg_verdieping_key, + alg_ruimte_key, + sch_nivo_key, + sch_nivo_og_correctiefactor) AS +SELECT SCH_NO.sch_alg_og_key, + ALG_V.alg_gebouw_key, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + SCH_NO.sch_nivo_key, + SCH_NO.sch_nivo_og_correctiefactor +FROM sch_nivo_og SCH_NO, alg_verdieping ALG_V, + alg_v_aanwezigruimte ALG_R +WHERE ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key + AND SCH_NO.sch_alg_og_key = ALG_R.alg_ruimte_key +UNION +SELECT SCH_NO.sch_alg_og_key, + ALG_V.alg_gebouw_key, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + SCH_NO.sch_nivo_key, + SCH_NO.sch_nivo_og_correctiefactor +FROM sch_nivo_og SCH_NO, alg_verdieping ALG_V, + alg_v_aanwezigruimte ALG_R +WHERE ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key + AND SCH_NO.sch_alg_og_key = ALG_V.alg_verdieping_key + AND NOT EXISTS (SELECT sch_alg_og_key + FROM sch_nivo_og + WHERE sch_alg_og_key = ALG_R.alg_ruimte_key) +UNION +SELECT SCH_NO.sch_alg_og_key, + ALG_V.alg_gebouw_key, + ALG_V.alg_verdieping_key, + ALG_R.alg_ruimte_key, + SCH_NO.sch_nivo_key, + SCH_NO.sch_nivo_og_correctiefactor +FROM sch_nivo_og SCH_NO, alg_verdieping ALG_V, + alg_v_aanwezigruimte ALG_R +WHERE ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key + AND SCH_NO.sch_alg_og_key = ALG_V.alg_gebouw_key + AND NOT EXISTS (SELECT sch_alg_og_key + FROM sch_nivo_og + WHERE sch_alg_og_key = ALG_V.alg_verdieping_key + OR sch_alg_og_key = ALG_R.alg_ruimte_key); + +CREATE_VIEW(sch_v_programma, 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, + ALG_R.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, + ALG_R.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, + sch_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.sch_srtvloer_key = SCH_SV.sch_srtvloer_key + AND ALG_R.alg_ruimte_key = SCH_NR.alg_ruimte_key; +#endif // SCH + +#ifdef ALG +CREATE OR REPLACE TRIGGER alg_t_alg_gebouw_B_IU +BEFORE INSERT OR UPDATE ON alg_gebouw +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_gebouw_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_gebouw_code, alg_gebouw_upper); + :new.alg_gebouw_omschrijving := SUBSTRB(:new.alg_gebouw_code ||' - '|| :new.alg_gebouw_naam,1,30); + CHECK_NOG_REFERENCES(alg_gebouw, alg_gebouw_verwijder, alg_v_aanwezigbouwdeel, + alg_gebouw_key, 'alg_m184'); + LAAT_VERDIEPING_VERVALLEN_VOOR_GEBOUW('alg_m54'); +#ifdef MRA + IF :new.alg_gebouw_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key; + END IF; +#if 0 // Verwijderen van MRA_ONRGOEDVOORSCHR-records gebeurt niet meer in trigger. + IF :new.alg_srtgebouw_key <> :old.alg_srtgebouw_key + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_gebouw_key AND + mra_voorschrift_key IN (SELECT mra_voorschrift_key + FROM mra_srtgebouwvoorschr + WHERE mra_srtgebouw_key = :old.alg_srtgebouw_key) + AND mra_onrgoedvoorschr_type = 'G'; + + END IF; +#endif +#endif // MRA +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_gebouw_key, + alg_gebouw_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +#ifdef SCH + IF :new.alg_gebouw_verwijder IS NOT NULL + THEN + BEGIN + DELETE FROM sch_nivo_og + WHERE sch_alg_og_key = :new.alg_gebouw_key; + END; + END IF; +#endif // SCH +END; +/ + +CREATE OR REPLACE TRIGGER alg_t_alg_verdieping_B_IU +BEFORE INSERT OR UPDATE ON alg_verdieping +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_verdieping_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_verdieping_omschrijving, alg_verdieping_upper); + LAAT_RUIMTE_VERVALLEN_VOOR_VERDIEPING('alg_m55'); +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_verdieping_key, + alg_verdieping_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS + /* Voor BEB: ALG_VERDIEPING_Volgnr = ALG_SRTVERDIEPING_VOLGNR */ + IF NOT :new.alg_srtverdieping_key IS NULL + THEN + SELECT alg_srtverdieping_volgnr + INTO :new.alg_verdieping_volgnr + FROM alg_srtverdieping + WHERE alg_srtverdieping_key = :new.alg_srtverdieping_key; + END IF; +#ifdef SCH + IF :new.alg_verdieping_verwijder IS NOT NULL + THEN + BEGIN + DELETE FROM sch_nivo_og + WHERE sch_alg_og_key = :new.alg_verdieping_key; + END; + END IF; +#endif // SCH +END; +/ + +CREATE OR REPLACE TRIGGER alg_t_alg_srtruimte_B_IU +BEFORE INSERT OR UPDATE ON alg_srtruimte +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_srtruimte_key, alg_s_alg_srtruimte_key); + UPDATE_UPPER(alg_srtruimte_omschrijving, alg_srtruimte_upper); + CHECK_NOG_REFERENCES(alg_srtruimte, alg_srtruimte_verwijder, + alg_v_aanwezigruimte, alg_srtruimte_key, 'alg_m041'); +#ifdef PRS + IF :old.alg_srtruimte_key IS NOT NULL + AND :old.prs_bevat_werkplek = 1 AND :new.prs_bevat_werkplek IS NULL + THEN + DECLARE + dummy NUMBER; + BEGIN + SELECT COUNT(PRS_W.prs_werkplek_key) + INTO dummy + FROM alg_v_aanwezigruimte ALG_R, prs_v_aanwezigwerkplek PRS_W + WHERE ALG_R.alg_srtruimte_key = :old.alg_srtruimte_key + AND PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key; + IF dummy > 0 + THEN + APPLICATION_ERROR(-20000, 'prs_m035'); + END IF; + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + END; + END IF; +#endif +#ifdef SCH + DECLARE + dummy CHAR; + BEGIN + IF :new.alg_srtruimte_verwijder IS NOT NULLDATUM + THEN + SELECT 'x' INTO dummy + FROM sch_werkzaamheden + WHERE sch_werkzaamheden.sch_alg_srtruimte_key = :old.alg_srtruimte_key; + APPLICATION_ERROR(-20000,'sch_m028'); + END IF; + EXCEPTION + WHEN NO_DATA_FOUND THEN + NULL; + WHEN TOO_MANY_ROWS THEN + APPLICATION_ERROR(-20000,'sch_m028'); + END; +#endif // SCH +END; +/ + +CREATE OR REPLACE TRIGGER alg_t_alg_ruimte_B_IU +BEFORE INSERT OR UPDATE ON alg_ruimte +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_ruimte_key, alg_s_alg_onroerendgoed_keys); + UPDATE_UPPER(alg_ruimte_nr, alg_ruimte_upper_nr); +#ifdef MRA + /* Delete CASCADE op MRA_ONRGOEDVOORSCHR en MRA_ONRGOEDBESTEMMING + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key; + DELETE FROM mra_onrgoedbestemming + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key; + END IF; +#if 0 // MRA_ONRGOEDVOORSCHR-records worden niet meer verwijderd in de trigger. + IF :new.alg_srtruimte_key <> :old.alg_srtruimte_key + THEN + DELETE FROM mra_onrgoedvoorschr + WHERE mra_onroerendgoed_keys = :old.alg_ruimte_key AND + mra_voorschrift_key IN (SELECT mra_voorschrift_key + FROM mra_srtruimtevoorschr + WHERE mra_srtruimte_key = :old.alg_srtruimte_key) + AND mra_onrgoedvoorschr_type = 'R'; + END IF; +#endif +#endif // MRA +#ifdef PRS + /* Als de soort ruimte veranderd wordt en er zijn werkplekken in de ruimte + * dan moet het veld PRS_BEVAT_WERKPLEKKEN de waarde 1 bevatten in de + * nieuwe soort ruimte. + */ + IF :old.alg_ruimte_key IS NOT NULL + AND :new.alg_ruimte_verwijder IS NULL + AND :old.alg_srtruimte_key <> :new.alg_srtruimte_key + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM alg_srtruimte ALG_SR_1, + alg_srtruimte ALG_SR_2, + all_v_aanwezigwerkplek PRS_W + WHERE ALG_SR_1.alg_srtruimte_key = :old.alg_srtruimte_key + AND ALG_SR_1.prs_bevat_werkplek = 1 + AND ALG_SR_2.alg_srtruimte_key = :new.alg_srtruimte_key + AND ALG_SR_2.prs_bevat_werkplek IS NULL + AND PRS_W.prs_alg_ruimte_key = :new.alg_ruimte_key; + APPLICATION_ERROR(-20000, 'prs_m034'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m034'); + END; + END IF; +#endif +#ifdef INV + /* Als er een INV-deel bestaat in de te verwijderen ruimte + * dan mag de ruimte niet verwijderd worden. + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'x' + INTO dummy + FROM inv_v_aanwezigdeel + WHERE ins_alg_ruimte_key = :new.alg_ruimte_key + AND ins_alg_ruimte_type = 'R'; + APPLICATION_ERROR(-20000, 'prs_m055'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m055'); + END; + END IF; +#endif +#ifdef PRS + /* Als de ruimte verwijderd wordt, dan moeten ook de bijbehorende + * werkplekken/slaapplaatsen verwijderd worden. + */ + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + UPDATE prs_werkplek + SET prs_werkplek_verwijder = SYSDATE + WHERE prs_alg_ruimte_key = :new.alg_ruimte_key + AND prs_werkplek_verwijder IS NULL; + END IF; +#endif +#ifdef INS + SET_VERWIJDER_CHILDREN_DEEL(ins_deel, alg_ruimte_key, + alg_ruimte_verwijder, ins_deel_verwijder, ins_alg_ruimte_key); +#endif // INS +#ifdef SCH + IF :new.alg_ruimte_verwijder IS NOT NULL + THEN + BEGIN + DELETE FROM sch_nivo_og + WHERE sch_alg_og_key = :new.alg_ruimte_key; + END; + END IF; +#endif // SCH +END; +/ + +/* LOG#1367 */ +DEFINIEER_VIEW_AANWEZIG(alg_gebouw, alg_gebouw_verwijder, + alg_v_aanweziggebouw,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_verdieping, alg_verdieping_verwijder, + alg_v_aanwezigverdieping,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_srtruimte, alg_srtruimte_verwijder, + alg_v_aanwezigsrtruimte,BIBLIOTHEEK_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_ruimte, alg_ruimte_verwijder, + alg_v_aanwezigruimte,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_terreinsector, alg_terreinsector_verwijder, + alg_v_aanwezigterreinsector,NORMAAL_PRIVILEGE); + +/* LOG#1367 */ +CREATE OR REPLACE TRIGGER alg_t_alg_regio_B_IU +BEFORE INSERT OR UPDATE ON alg_regio +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_regio_key, alg_s_alg_regio_key); + UPDATE_UPPER(alg_regio_omschrijving, alg_regio_upper); + // 10-07-97 AH #1367, Restricted verwijderen op district + //SET_VERWIJDER_CHILDREN(alg_district, alg_regio_key, alg_regio_verwijder, alg_district_verwijder); + CHECK_NOG_REFERENCES(alg_regio, alg_regio_verwijder, alg_v_aanwezigdistrict, + alg_regio_key, 'alg_m211'); +END; +/ + +CREATE OR REPLACE TRIGGER alg_t_alg_district_B_IU +BEFORE INSERT OR UPDATE ON alg_district +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_district_key, alg_s_alg_district_key); + UPDATE_UPPER(alg_district_code, alg_district_code); + UPDATE_UPPER(alg_district_omschrijving, alg_district_upper); + // 10-07-97 AH #1367, Restricted verwijderen op locatie + //SET_VERWIJDER_CHILDREN(alg_locatie, alg_district_key, alg_district_verwijder, alg_locatie_verwijder); + CHECK_NOG_REFERENCES(alg_district, alg_district_verwijder, alg_v_aanweziglocatie, + alg_district_key, 'alg_m212'); +END; +/ + +CREATE OR REPLACE TRIGGER alg_t_alg_locatie_B_IU +BEFORE INSERT OR UPDATE ON alg_locatie +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_locatie_key, alg_s_alg_locatie_key); + UPDATE_UPPER(alg_locatie_code, alg_locatie_code); + UPDATE_UPPER(alg_locatie_omschrijving, alg_locatie_upper); + // 10-07-97 AH #1367, Restricted verwijderen op Gebouw en Terreinsector + CHECK_NOG_REFERENCES(alg_locatie, alg_locatie_verwijder, alg_v_aanweziggebouw, + alg_locatie_key, 'alg_m213'); + CHECK_NOG_REFERENCES(alg_locatie, alg_locatie_verwijder, alg_v_aanwezigterreinsector, + alg_locatie_key, 'alg_m214'); + CHECK_NOG_REFERENCES(alg_locatie, alg_locatie_verwijder, alg_v_aanwezigobjectdeel, + alg_locatie_key, 'alg_m185'); +END; +/ +#endif // ALG + +/* LOG#1367 */ +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('ALG_M211', 'Er zijn nog dienstkringen gekoppeld aan de directie.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('ALG_M211', 'Er zijn nog garnizoenen gekoppeld aan het RMC.'); +#else +DEF_FAC_MESSAGE ('ALG_M211', 'Er zijn nog districten gekoppeld aan de regio.'); +#endif +#if defined(BCO)||defined(BEB) +DEF_FAC_MESSAGE ('ALG_M212', 'Er zijn nog objecten gekoppeld aan de dienstkring.'); +#elif defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('ALG_M212', 'Er zijn nog objecten gekoppeld aan het garnizoen.'); +#else +DEF_FAC_MESSAGE ('ALG_M212', 'Er zijn nog locaties gekoppeld aan het district.'); +#endif +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('ALG_M213', 'Er zijn nog gebouwen gekoppeld aan het object.'); +#else +DEF_FAC_MESSAGE ('ALG_M213', 'Er zijn nog gebouwen gekoppeld aan de locatie.'); +#endif +#if defined(MRA) +DEF_FAC_MESSAGE ('ALG_M214', 'Er zijn nog systeemclusters gekoppeld aan het object.'); +#elif defined(BEB) +DEF_FAC_MESSAGE ('ALG_M214', 'Er zijn nog terreinen/werken gekoppeld aan het object.'); +#else +DEF_FAC_MESSAGE ('ALG_M214', 'Er zijn nog terreinsectoren gekoppeld aan de locatie.'); +#endif + +/* LOG#1377 */ +DELETE FROM fac_message +WHERE fac_message_code = 'PRS_M016'; +DEF_FAC_MESSAGE ('PRS_M016', 'De werkplek is nog in gebruik door afdelingen en/of personen.'); + +#ifdef PRS +/* PRS_TAB.SRC */ +ALTER TABLE prs_werkplek +DROP UNIQUE(prs_werkplek_module, prs_werkplek_volgnr, prs_alg_ruimte_key, prs_werkplek_verwijder); + +ALTER TABLE prs_werkplek +ADD UNIQUE(prs_alg_ruimte_key, prs_werkplek_volgnr, prs_werkplek_module, prs_werkplek_verwijder); + +/* PRS_VIE.SRC */ +CREATE_VIEW(prs_v_aanwezigperslidwerkplek, NORMAAL_PRIVILEGE) AS +SELECT * FROM prs_perslidwerkplek WHERE prs_werkplek_key IN + (SELECT prs_werkplek_key + FROM prs_v_aanwezigwerkplek); + +/* PRS_TRI.SRC */ +CREATE OR REPLACE TRIGGER prs_t_prs_afdeling_B_IU +BEFORE INSERT OR UPDATE ON prs_afdeling +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_afdeling_key, prs_s_prs_afdeling_key); + UPDATE_UPPER(prs_afdeling_naam, prs_afdeling_upper); + CHECK_NOG_REFERENCES(prs_perslid, prs_afdeling_verwijder, + prs_v_aanwezigperslid, prs_afdeling_key, 'prs_m015'); +/* 6/20/97/AH #1312, De CASCADE-verwijderen van + * PRS_PERSLIDWERKPLEK verplaatst naar PRS011/Verwijderen. In de trigger een + * RESTRICTED toegevoegd om evt. fouten te kunnen voorkomen. + */ + CHECK_NOG_REFERENCES(prs_perslid, prs_afdeling_verwijder, + prs_v_aanwezigperslidwerkplek, prs_afdeling_key, 'SYSTEM ERROR: In Afdeling, er zijn nog PRS_PERSLIDWERKPLEK-records'); +#ifdef INV + /* Ontkoppel de artikelen van de te verwijderen afdeling. + * De artikelen kunnen gekoppeld zijn aan een ruimte, werkplek of + * slaapplaats: + * - Als dit zo is, dan kan er een ander artikel al op die + * plek staan. Het artikel moet dan gemerged worden. + * - Als er geen ander artikel is dan kan gewoon PRS_BEZIT_KEY leeg gemaakt + * worden. + */ + IF :new.prs_afdeling_verwijder IS NOT NULL + THEN + DECLARE + CURSOR Cur1(afdeling_key IN NUMBER) IS (SELECT ins_deel_key, + ins_srtdeel_key, + ins_deel_omschrijving, + ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_prs_bezit_key, + ins_deel_aantal + FROM inv_v_aanwezigdeel + WHERE ins_prs_bezit_key = afdeling_key + AND ins_prs_bezit_type = 'A'); + Cur_rec Cur1%ROWTYPE; + deel_key NUMBER(10); + deel_omschrijving VARCHAR2(50); + ruimte_key NUMBER(10); + ruimte_type VARCHAR2(1); + BEGIN + /* Doorloop alle inventaris van de verwijderde afdeling */ + FOR Cur_rec IN Cur1(:old.prs_afdeling_key) + LOOP + BEGIN + /* Als er een koppeling met ruimte, werkplek of slaapplaats is + * dan mergen (aantal van INS_DEEL ophogen). + */ + SELECT ins_deel_key, + ins_alg_ruimte_key, + ins_alg_ruimte_type + INTO deel_key, + ruimte_key, + ruimte_type + FROM inv_v_aanwezigdeel + WHERE ins_srtdeel_key = Cur_rec.ins_srtdeel_key + AND NVL(ins_deel_omschrijving, ' ') = NVL(Cur_rec.ins_deel_omschrijving, ' ') + AND NVL(ins_alg_ruimte_key, -1) = NVL(Cur_rec.ins_alg_ruimte_key, -1) + AND NVL(ins_alg_ruimte_type, ' ') = NVL(Cur_rec.ins_alg_ruimte_type, ' ') + AND ins_prs_bezit_key IS NULL + AND ins_prs_bezit_type IS NULL; + UPDATE ins_deel + SET ins_deel_aantal = ins_deel_aantal + Cur_rec.ins_deel_aantal + WHERE ins_deel_key = deel_key; + UPDATE ins_deel + SET ins_deel_verwijder = SYSDATE + WHERE ins_deel_key = Cur_rec.ins_deel_key; + EXCEPTION + /* Ander kan gewoon PRS_BEZIT_KEY leeg gemaakt worden. */ + WHEN NO_DATA_FOUND + THEN UPDATE ins_deel + SET ins_prs_bezit_key = NULL, + ins_prs_bezit_type = NULL + WHERE ins_deel_key = Cur_rec.ins_deel_key; + END; + END LOOP; + END; + END IF; +#endif +END; +/ + +CREATE OR REPLACE TRIGGER prs_t_prs_perslid_B_IU +BEFORE INSERT OR UPDATE ON prs_perslid +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_perslid_key, prs_s_prs_alluitvoerende_keys); + UPDATE_UPPER(prs_perslid_naam, prs_perslid_upper); +#if 1 +/* 5/26/97/AH #1255, PRS_T_PRS_PERSLID_B_IU aangepast. De CASCADE-verwijderen van + * PRS_PERSLIDWERKPLEK verplaatst naar PRS013/Verwijderen. In de trigger een + * RESTRICTED toegevoegd om evt. fouten te kunnen voorkomen. + */ + CHECK_NOG_REFERENCES(prs_perslid, prs_perslid_verwijder, + prs_v_aanwezigperslidwerkplek, prs_perslid_key, 'SYSTEM ERROR: In Perslid, er zijn nog PRS_PERSLIDWERKPLEK-records'); +#else + SET_VERWIJDER_CHILDREN(prs_perslidwerkplek, prs_perslid_key, + prs_perslid_verwijder, prs_perslidwerkplek_verwijder); +#endif // 1 +#ifdef INV + /* Ontkoppel de artikelen van de te verwijderen persoon. + * De artikelen kunnen gekoppeld zijn aan een ruimte, werkplek of + * slaapplaats: + * - Als dit zo is, dan kan er een ander artikel al op die + * plek staan. Het artikel moet dan gemerged worden. + * - Als er geen ander artikel is dan kan gewoon PRS_BEZIT_KEY leeg gemaakt + * worden. + */ + IF :new.prs_perslid_verwijder IS NOT NULL + THEN + DECLARE + CURSOR Cur1(perslid_key IN NUMBER) IS (SELECT ins_deel_key, + ins_srtdeel_key, + ins_deel_omschrijving, + ins_alg_ruimte_key, + ins_alg_ruimte_type, + ins_prs_bezit_key, + ins_deel_aantal + FROM inv_v_aanwezigdeel + WHERE ins_prs_bezit_key = perslid_key + AND ins_prs_bezit_type = 'P'); + Cur_rec Cur1%ROWTYPE; + deel_key NUMBER(10); + deel_omschrijving VARCHAR2(50); + ruimte_key NUMBER(10); + ruimte_type VARCHAR2(1); + BEGIN + /* Doorloop alle inventaris van de verwijderde persoon */ + FOR Cur_rec IN Cur1(:old.prs_perslid_key) + LOOP + BEGIN + /* Als er een koppeling met ruimte, werkplek of slaapplaats is + * dan mergen (aantal van INS_DEEL ophogen). + */ + SELECT ins_deel_key, + ins_alg_ruimte_key, + ins_alg_ruimte_type + INTO deel_key, + ruimte_key, + ruimte_type + FROM inv_v_aanwezigdeel + WHERE ins_srtdeel_key = Cur_rec.ins_srtdeel_key + AND NVL(ins_deel_omschrijving, ' ') = NVL(Cur_rec.ins_deel_omschrijving, ' ') + AND NVL(ins_alg_ruimte_key, -1) = NVL(Cur_rec.ins_alg_ruimte_key, -1) + AND NVL(ins_alg_ruimte_type, ' ') = NVL(Cur_rec.ins_alg_ruimte_type, ' ') + AND ins_prs_bezit_key IS NULL + AND ins_prs_bezit_type IS NULL; + UPDATE ins_deel + SET ins_deel_aantal = ins_deel_aantal + Cur_rec.ins_deel_aantal + WHERE ins_deel_key = deel_key; + UPDATE ins_deel + SET ins_deel_verwijder = SYSDATE + WHERE ins_deel_key = Cur_rec.ins_deel_key; + EXCEPTION + /* Ander kan gewoon PRS_BEZIT_KEY leeg gemaakt worden. */ + WHEN NO_DATA_FOUND + THEN UPDATE ins_deel + SET ins_prs_bezit_key = NULL, + ins_prs_bezit_type = NULL + WHERE ins_deel_key = Cur_rec.ins_deel_key; + END; + END LOOP; + END; + END IF; +#endif // INV +#ifdef MLD + // Niet verwijderen als nog MLD_OPDR's zijn met status 'Uitgegeven' en + // uitvoerende deze PERSLID. + IF :new.prs_perslid_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND MLD_O.mld_uitvoerende_keys = :new.prs_perslid_key; + APPLICATION_ERROR(-20000, 'prs_m085'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m085'); + END; + END IF; +#endif // MLD +#ifdef BCP + // Niet verwijderen als nog BCP_PREVOPDR's zijn met status 'Uitgegeven' en + // uitvoerende deze PERSLID. + IF :new.prs_perslid_verwijder IS NOT NULLDATUM + THEN + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM bcp_prevopdr BCP_P, mld_statusopdr MLD_S + WHERE BCP_P.bcp_mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_omschrijving = 'Uitgegeven' + AND BCP_P.bcp_mld_uitvoerende_keys = :new.prs_perslid_key; + APPLICATION_ERROR(-20000, 'prs_m085'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'prs_m085'); + END; + END IF; +#endif // BCP +// 28-10-96/AH #910 +#if 0 //def BCO + // Verwijder ook de BCO_NIETBESCHIK van deze PERSLID + IF :new.prs_perslid_verwijder IS NOT NULLDATUM + THEN + DELETE FROM bco_nietbeschik + WHERE bco_prs_perslid_key = :new.prs_perslid_key; + END IF; +#endif // BCO +END; +/ + +CREATE OR REPLACE TRIGGER prs_t_prs_perslidwerkplek_B_IU +BEFORE INSERT OR UPDATE ON prs_perslidwerkplek +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(prs_perslidwerkplek_key, prs_s_prs_perslidwerkplek_key); + /* 5/26/97 AH #1255, VERWIJDER-veld mag niet meer gebruikt worden ivm. MUTATING TABLE + * bij CASCADE van PRS_PERSLID, enz. Dus hier een comntrole toegevoegd + */ + IF :new.prs_perslidwerkplek_verwijder IS NOT NULL + THEN + APPLICATION_ERROR(-20000, 'SYSTEM ERROR: In PRS_PERSLIDWERKPLEK: VERWIJDER niet gebruiken.'); + END IF; +END; +/ + +#ifdef HUI +/* 13-07-97/KTH #1365: PRS_PERSLIDWERKPLEK_VERWIJDER-velden weggehaald */ +CREATE_VIEW(hui_v_aanwezigperslidwerkplek, NORMAAL_PRIVILEGE) AS +SELECT * FROM prs_perslidwerkplek WHERE prs_werkplek_key IN + (SELECT prs_werkplek_key + FROM hui_v_aanwezigwerkplek); +#endif // HUI + +/* LOG#1376 */ +ALTER TABLE prs_perslid +ADD CONSTRAINT prs_c_prs_perslid_uurloon CHECK(NVL(prs_perslid_uurloon, 0) >= 0); + +/* LOG#1377 */ +/* 14-07-97 AH Extra argument ArgEditMode toegevoegd */ +CREATE OR REPLACE FUNCTION PRS_P_PRS_BepaalWerkplekOpp( ArgWerkplekKey IN NUMBER, + ArgRuimteKey IN NUMBER, + ArgRuimteBrutoVloerOpp IN NUMBER, + ArgWerkplekVastOpp IN NUMBER, + ArgWerkplekOpp IN NUMBER, + ArgEditMode IN CHAR ) RETURN NUMBER IS + + NewWerkplekOpp NUMBER(12,4); + WerkplekTotVastOpp NUMBER(12,4); + AantalVariabel NUMBER(3); + RuimteKey NUMBER(10); + RuimteBrutoVloerOpp alg_ruimte.alg_ruimte_bruto_vloeropp%TYPE; + WerkplekVastOpp prs_werkplek.prs_werkplek_vastopp%TYPE; + WerkplekOpp prs_werkplek.prs_werkplek_opp%TYPE; + ChangeWerkplekVastOpp prs_werkplek.prs_werkplek_vastopp%TYPE; + ChangeWerkplekOpp prs_werkplek.prs_werkplek_opp%TYPE; +BEGIN + /* Bij toevoegen moet alleen de bruto vloeropp van de ruimte bepaald worden */ + IF (NVL(ArgEditMode, 'LEEG/NULL') = 'ADD') + THEN + BEGIN + WerkplekVastOpp := ArgWerkplekVastOpp; + WerkplekOpp := NULL; + SELECT ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_bruto_vloeropp + INTO RuimteKey, + RuimteBrutoVloerOpp + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = ArgRuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN RETURN NULL; + END; + /* Bij wijzigen moeten de gegevens van de werkplek even bewaard worden en de bruto vloeropp van de + * ruimte moet bepaald worden. + */ + ELSIF (NVL(ArgEditMode, 'LEEG/NULL') = 'CHANGE') + THEN + WerkplekVastOpp := ArgWerkplekVastOpp; + WerkplekOpp := ArgWerkplekOpp; + BEGIN + SELECT PRS_W.prs_alg_ruimte_key, + ALG_R.alg_ruimte_bruto_vloeropp, + PRS_W.prs_werkplek_vastopp, + PRS_W.prs_werkplek_opp + INTO RuimteKey, + RuimteBrutoVloerOpp, + ChangeWerkplekVastOpp, + ChangeWerkplekOpp + FROM prs_werkplek PRS_W, alg_ruimte ALG_R + WHERE PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key + AND PRS_W.prs_werkplek_key = ArgWerkplekKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN RETURN NULL; + END; + ELSIF NVL(ArgRuimteKey, -1) = -1 + OR NVL(ArgRuimteBrutoVloerOpp, -1) = -1 + OR ArgWerkplekVastOpp = -1 + OR NVL(ArgWerkplekOpp, -1) = -1 + THEN + IF NVL(ArgWerkplekKey, 0) > 0 + THEN + BEGIN + SELECT PRS_W.prs_alg_ruimte_key, + ALG_R.alg_ruimte_bruto_vloeropp, + PRS_W.prs_werkplek_vastopp, + PRS_W.prs_werkplek_opp + INTO RuimteKey, + RuimteBrutoVloerOpp, + WerkplekVastOpp, + WerkplekOpp + FROM prs_werkplek PRS_W, alg_ruimte ALG_R + WHERE PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key + AND PRS_W.prs_werkplek_key = ArgWerkplekKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN RETURN NULL; + END; + ELSIF NVL(ArgRuimteKey, -1) > 0 + THEN + BEGIN + WerkplekVastOpp := NULL; + WerkplekOpp := NULL; + SELECT ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_bruto_vloeropp + INTO RuimteKey, + RuimteBrutoVloerOpp + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = ArgRuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN RETURN NULL; + END; + ELSE + RETURN NULL; + END IF; + ELSE + RuimteKey := ArgRuimteKey; + RuimteBrutoVloerOpp := ArgRuimteBrutoVloerOpp; + WerkplekVastOpp := ArgWerkplekVastOpp; + WerkplekOpp := ArgWerkplekOpp; + END IF; + // Retourneer de vaste oppervlakte van de te wijzigen werkplek. + IF NVL(ArgEditMode, 'LEEG/NULL') = 'CHANGE' + AND WerkplekVastOpp IS NOT NULL + THEN + NewWerkplekOpp := ChangeWerkplekOpp; + // Retourneer de pas bepaalde vaste oppervlakte van de werkplek. + ELSIF WerkplekVastOpp IS NOT NULL + THEN + NewWerkplekOpp := WerkplekOpp; + ELSE + // Neem de vaste werkplekoppervlakte van de te wijzigen werkplek niet mee. + IF NVL(ArgEditMode, 'LEEG/NULL') = 'CHANGE' + THEN + BEGIN + SELECT NVL(SUM(NVL(PRS_W.prs_werkplek_opp, 0)), 0) + INTO WerkplekTotVastOpp + FROM prs_v_aanwezigwerkplek PRS_W + WHERE PRS_W.prs_werkplek_vastopp IS NOT NULL + AND PRS_W.prs_werkplek_key <> ArgWerkplekKey + AND PRS_W.prs_alg_ruimte_key = RuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN WerkplekTotVastOpp := 0; + END; + ELSE + BEGIN + SELECT NVL(SUM(NVL(PRS_W.prs_werkplek_opp, 0)), 0) + INTO WerkplekTotVastOpp + FROM prs_v_aanwezigwerkplek PRS_W + WHERE PRS_W.prs_werkplek_vastopp IS NOT NULL + AND PRS_W.prs_alg_ruimte_key = RuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN WerkplekTotVastOpp := 0; + END; + END IF; + // Neem de te wijzigen werkplek niet mee in het aantal variabele werkplekken. + IF NVL(ArgEditMode, 'LEEG/NULL') = 'CHANGE' + THEN + BEGIN + SELECT COUNT(*) + INTO AantalVariabel + FROM prs_v_aanwezigwerkplek PRS_W + WHERE PRS_W.prs_werkplek_vastopp IS NULL + AND PRS_W.prs_werkplek_key <> ArgWerkplekKey + AND PRS_W.prs_alg_ruimte_key = RuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN AantalVariabel := 0; + END; + ELSE + BEGIN + SELECT COUNT(*) + INTO AantalVariabel + FROM prs_v_aanwezigwerkplek PRS_W + WHERE PRS_W.prs_werkplek_vastopp IS NULL + AND PRS_W.prs_alg_ruimte_key = RuimteKey; + EXCEPTION + WHEN NO_DATA_FOUND + THEN AantalVariabel := 0; + END; + END IF; + // Bepaal de variabele oppervlakte van de werkplekken inclusief deze nieuwe variabele werkplek. + IF NVL(ArgEditMode, 'LEEG/NULL') = 'ADD' + OR NVL(ArgEditMode, 'LEEG/NULL') = 'CHANGE' + THEN + AantalVariabel := NVL(AantalVariabel, 0) + 1; + END IF; + IF AantalVariabel > 0 + THEN + NewWerkplekOpp := (RuimteBrutoVloerOpp - WerkplekTotVastOpp) / AantalVariabel; + ELSE + NewWerkplekOpp := (RuimteBrutoVloerOpp - WerkplekTotVastOpp); + END IF; + IF NVL(NewWerkplekOpp, 0) < 0 + THEN + NewWerkplekOpp := 0; + END IF; + END IF; + RETURN NewWerkplekOpp; +END; +/ + +CREATE_VIEW(prs_v_werkplek_gegevens,NORMAAL_PRIVILEGE) + (prs_werkplek_key, + prs_werkplek_volgnr, + prs_werkplek_omschrijving, + prs_werkplek_opp, + prs_werkplek_module, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_upper_nr, + alg_ruimte_bruto_vloeropp, + alg_verdieping_key, + alg_verdieping_volgnr, + alg_verdieping_omschrijving, + alg_gebouw_key, + alg_gebouw_code, + alg_gebouw_omschrijving, + alg_gebouw_upper, + alg_locatie_key) AS + SELECT PRS_W.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr, + PRS_W.prs_werkplek_omschrijving, +// Voor HUI-module heeft de oppervlakte geen zin. +#ifdef HUI + NULL, +#else + PRS_P_PRS_BepaalWerkplekOpp(PRS_W.prs_werkplek_key, ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_bruto_vloeropp, + PRS_W.prs_werkplek_vastopp, PRS_W.prs_werkplek_opp, NULL), +#endif + PRS_W.prs_werkplek_module, + ALG_R.alg_ruimte_key, + ALG_R.alg_ruimte_nr, + ALG_R.alg_ruimte_upper_nr, + ALG_R.alg_ruimte_bruto_vloeropp, + ALG_V.alg_verdieping_key, + ALG_V.alg_verdieping_volgnr, + ALG_V.alg_verdieping_omschrijving, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_code, + ALG_G.alg_gebouw_omschrijving, + ALG_G.alg_gebouw_upper, + ALG_G.alg_locatie_key + FROM all_v_aanwezigwerkplek PRS_W, alg_ruimte ALG_R, + alg_verdieping ALG_V, alg_gebouw ALG_G + WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key + AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key + AND PRS_W.prs_alg_ruimte_key = ALG_R.alg_ruimte_key; + +/* View om te bepalen wat het totale bezettingspercentage van een werkplek is */ +CREATE_VIEW(prs_v_werkplek_bezetting, NORMAAL_PRIVILEGE) + (prs_werkplek_key, + prs_werkplek_bezetting) AS + SELECT PRS_W.prs_werkplek_key, + NVL(SUM(PRS_PW.prs_perslidwerkplek_bezetting), 0) + FROM prs_werkplek PRS_W, prs_perslidwerkplek PRS_PW + WHERE PRS_W.prs_werkplek_key = PRS_PW.prs_werkplek_key (+) + GROUP BY PRS_W.prs_werkplek_key; + +/* LOG#1379 */ +/* View om alle werkplekken te koppelen aan persleden, met autojoin. */ +CREATE_VIEW(prs_v_perslidwerkplek_gegevens,NORMAAL_PRIVILEGE) + (prs_werkplek_key, + prs_werkplek_volgnr, + prs_werkplek_omschrijving, + prs_werkplek_opp, + alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_upper_nr, + alg_verdieping_key, + alg_verdieping_volgnr, + alg_verdieping_omschrijving, + alg_gebouw_key, + alg_gebouw_code, + alg_gebouw_omschrijving, + alg_gebouw_upper, + alg_locatie_key, + prs_perslidwerkplek_key, + prs_afdeling_key, + prs_perslid_key, + prs_afd_perslid_naam, + prs_afd_perslid_upper, + prs_perslidwerkplek_bezetting) AS + SELECT PRS_W.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr, + PRS_W.prs_werkplek_omschrijving, + PRS_W.prs_werkplek_opp, + PRS_W.alg_ruimte_key, + PRS_W.alg_ruimte_nr, + PRS_W.alg_ruimte_upper_nr, + PRS_W.alg_verdieping_key, + PRS_W.alg_verdieping_volgnr, + PRS_W.alg_verdieping_omschrijving, + PRS_W.alg_gebouw_key, + PRS_W.alg_gebouw_code, + PRS_W.alg_gebouw_omschrijving, + PRS_W.alg_gebouw_upper, + PRS_W.alg_locatie_key, + PRS_PW.prs_perslidwerkplek_key, + PRS_PW.prs_afdeling_key, + TO_NUMBER(NULL), + '['||PRS_A.prs_afdeling_naam||']', + PRS_A.prs_afdeling_upper, + PRS_PW.prs_perslidwerkplek_bezetting + FROM prs_v_werkplek_gegevens PRS_W, prs_v_aanwezigperslidwerkplek PRS_PW, + prs_afdeling PRS_A + WHERE PRS_W.prs_werkplek_key = PRS_PW.prs_werkplek_key + AND PRS_PW.prs_afdeling_key IS NOT NULL + AND PRS_PW.prs_afdeling_key = PRS_A.prs_afdeling_key + UNION + SELECT PRS_W.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr, + PRS_W.prs_werkplek_omschrijving, + PRS_W.prs_werkplek_opp, + PRS_W.alg_ruimte_key, + PRS_W.alg_ruimte_nr, + PRS_W.alg_ruimte_upper_nr, + PRS_W.alg_verdieping_key, + PRS_W.alg_verdieping_volgnr, + PRS_W.alg_verdieping_omschrijving, + PRS_W.alg_gebouw_key, + PRS_W.alg_gebouw_code, + PRS_W.alg_gebouw_omschrijving, + PRS_W.alg_gebouw_upper, + PRS_W.alg_locatie_key, + PRS_PW.prs_perslidwerkplek_key, + TO_NUMBER(NULL), + PRS_PW.prs_perslid_key, + PRS_P.prs_perslid_naam||', '||PRS_P.prs_perslid_voorletters, + PRS_P.prs_perslid_upper, + PRS_PW.prs_perslidwerkplek_bezetting + FROM prs_v_werkplek_gegevens PRS_W, prs_v_aanwezigperslidwerkplek PRS_PW, + prs_perslid PRS_P + WHERE PRS_W.prs_werkplek_key = PRS_PW.prs_werkplek_key + AND PRS_PW.prs_perslid_key IS NOT NULL + AND PRS_PW.prs_perslid_key = PRS_P.prs_perslid_key + UNION + SELECT PRS_W.prs_werkplek_key, + PRS_W.prs_werkplek_volgnr, + PRS_W.prs_werkplek_omschrijving, + PRS_W.prs_werkplek_opp, + PRS_W.alg_ruimte_key, + PRS_W.alg_ruimte_nr, + PRS_W.alg_ruimte_upper_nr, + PRS_W.alg_verdieping_key, + PRS_W.alg_verdieping_volgnr, + PRS_W.alg_verdieping_omschrijving, + PRS_W.alg_gebouw_key, + PRS_W.alg_gebouw_code, + PRS_W.alg_gebouw_omschrijving, + PRS_W.alg_gebouw_upper, + PRS_W.alg_locatie_key, + TO_NUMBER(NULL), + TO_NUMBER(NULL), + TO_NUMBER(NULL), + '[Beschikbaar]', + '[BESCHIKBAAR]', + 100 - PRS_WB.prs_werkplek_bezetting + FROM prs_v_werkplek_gegevens PRS_W, prs_v_werkplek_bezetting PRS_WB + WHERE PRS_W.prs_werkplek_key = PRS_WB.prs_werkplek_key + AND PRS_WB.prs_werkplek_bezetting < 100; +#endif // PRS + +/* LOG#1381 */ +DEF_FAC_MESSAGE ('PRS_M108', 'Bezetting moet positief zijn.'); +DEF_FAC_ENTITY ('PRS_PERSLIDWERKPLEK_OPP', 'Opp.(m2)', NULL, 'de'); +DEF_FAC_ENTITY ('PRS_PERSLIDWERKPLEK_BEZETTING', 'Bez.(%)', NULL, 'de'); +DEF_FAC_ENTITY ('PRS_PERSLIDWERKPLEK_NORM', 'Norm(%)', 'Normen', 'de'); + +#ifdef SCH +CREATE OR REPLACE TRIGGER sch_t_sch_nivo_b_iu +BEFORE INSERT OR UPDATE ON sch_nivo +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(sch_nivo_key, sch_s_sch_nivo_key); + UPDATE_UPPER(sch_nivo_omschrijving, sch_nivo_upper); +END; +/ + +CREATE OR REPLACE TRIGGER sch_t_sch_activiteit_b_iu +BEFORE INSERT OR UPDATE ON sch_activiteit +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(sch_activiteit_key, sch_s_sch_activiteit_key); + UPDATE_UPPER(sch_activiteit_code, sch_activiteit_code); +END; +/ + + +CREATE OR REPLACE TRIGGER sch_t_sch_werkzaamheden_b_iu +BEFORE INSERT OR UPDATE ON sch_werkzaamheden +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(sch_werkzaamheden_key, sch_s_sch_werkzaamheden_key); +END; +/ + +CREATE OR REPLACE TRIGGER sch_t_sch_frequentie_b_iu +BEFORE INSERT OR UPDATE ON sch_frequentie +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(sch_frequentie_key, sch_s_sch_frequentie_key); + UPDATE_UPPER(sch_frequentie_code, sch_frequentie_code); +END; +/ + +CREATE OR REPLACE TRIGGER sch_t_sch_srtvloer_b_iu +BEFORE INSERT OR UPDATE ON sch_srtvloer +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(sch_srtvloer_key, sch_s_sch_srtvloer_key); + UPDATE_UPPER(sch_srtvloer_omschrijving, sch_srtvloer_upper); + CHECK_NOG_REFERENCES(sch_srtvloer, sch_srtvloer_verwijder, alg_v_aanwezigruimte, + sch_srtvloer_key, 'sch_m027'); + CHECK_NOG_REFERENCES(sch_srtvloer, sch_srtvloer_verwijder, sch_werkzaamheden, + sch_srtvloer_key, 'sch_m029'); +END; +/ + +/* LOG#1390 */ +CREATE_VIEW(sch_v_nivo_gegevens, NORMAAL_PRIVILEGE) + (alg_locatie_key, + 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, + sch_nivo_key, + sch_nivo_omschrijving, + sch_alg_og_key) AS +SELECT C.alg_locatie_key, + C.alg_gebouw_key, + C.alg_gebouw_omschrijving, + C.alg_gebouw_upper, + C.alg_verdieping_key, + C.alg_verdieping_omschrijving, + C.alg_verdieping_volgnr, + C.alg_ruimte_key, + C.alg_ruimte_nr, + C.alg_ruimte_upper_nr, + A.sch_nivo_key, + A.sch_nivo_omschrijving, + B.sch_alg_og_key +FROM sch_nivo A, sch_nivo_og B, sch_v_og C +WHERE A.sch_nivo_key = B.sch_nivo_key + AND B.sch_alg_og_key = C.alg_og_key; + +/* LOG#1392 */ +CREATE_VIEW(sch_v_programma, 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, + ALG_R.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, + ALG_R.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, + sch_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.sch_srtvloer_key = SCH_SV.sch_srtvloer_key (+) + AND ALG_R.alg_ruimte_key = SCH_NR.alg_ruimte_key; + +#endif // SCH + +/* LOG#... */ + +/* werk vervolgens het versienummer en de datum bij (van alle interne modules) */ +UPDATE fac_module + SET fac_module_version='01.30', + fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD'); + +COMMIT; + +prompt +prompt Eventuele 'ORA-00001'-fouten mbt 'INSERT INTO fac_privilege' kunnen +prompt worden genegeerd. +prompt + +SPOOL OFF diff --git a/_UP/130TO131.SRC b/_UP/130TO131.SRC new file mode 100644 index 00000000..11556d24 --- /dev/null +++ b/_UP/130TO131.SRC @@ -0,0 +1,271 @@ +set echo on +SPOOL 130to131 +-- +-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\130TO131.SQL] +-- +-- Update script van Facilitor 2.0 versie 1.30 naar 1.31 +-- + +/* + * 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. + * + * Revisie: + * + * dd-mm-yy xxx LOG#yyyy: + * + * 31-07-97 AH Initiele waardes voor SCH_SRTVLOER toegevoegd + * 29-07-97 AH LOG#1400, ALG_IMPORT_RUIMTENR nu 10 ipv 6 + * 28-07-97 AH IMPORT_SRTVLOER: In ALG_IMPORT-table moet ALG_IMPORT_VLOER-kolom toegevoegd + * worden + * 24-07-97 AH #1422, MLD_MELDING krijgt redundant veld MLD_ALG_LOCATIE_KEY + * 23-07-97 AH #1415: In MLD_T_MLD_OPDR_B_IU mag ALG_KOSTENPOST niet gewijzigd worden, MUTATING-table + * enz... Dus is het gedeelte maar verplaatst naar MLD117/Verwerken. + * 23-07-97 AH #1411, sch_m027 aangepast + * 23-07-97 AH #1407, SCH_M035, M036, M037 aangepast + * 23-07-97 AH #1405: SCH_ACTIVITEIT_PPM, .._SHORT en SCH_ACTIVITEIT_PPR, .._SHORT toegevoegd + * SCH_V_WERKZAAMHEDEN_GEGEVENS aangepast, sch_activiteit_volgnr toegevoegd + * 22-07-97 AH #1401: Grootte SCH_FREQUENTIE_CODE aangepast + * --- 01.30 --- + */ + +#include "..\modules.h" +#include "..\comsql.h" + +set heading off + +clear screen + +/* + * 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. + */ + +PROMPT *********************************************************************** +PROMPT +PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.30 naar 01.31 +PROMPT +SELECT 'De huidige versie van Facilitor zou moeten zijn 01.30 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 heading on + +/* LOG#1401 , Doe de update via een tussentabel */ +CREATE TABLE tmp_frequentie AS +SELECT * from sch_frequentie; + +ALTER TABLE sch_frequentie +MODIFY +( + sch_frequentie_code + NULL +); + +ALTER TABLE sch_frequentie +DROP CONSTRAINT sch_c_sch_frequentie_unique; + +UPDATE sch_frequentie +SET sch_frequentie_code = NULL; + +ALTER TABLE sch_frequentie +MODIFY +( + sch_frequentie_code + VARCHAR2(3) +); + +UPDATE sch_frequentie SCH_F +SET SCH_F.sch_frequentie_code = (SELECT substr(TMP_F.sch_frequentie_code, 1, 3) + FROM tmp_frequentie TMP_F + WHERE TMP_F.sch_frequentie_key = SCH_F.sch_frequentie_key); + +ALTER TABLE sch_frequentie +MODIFY +( + sch_frequentie_code + NOT NULL +); + +ALTER TABLE sch_frequentie +ADD CONSTRAINT sch_c_sch_frequentie_unique UNIQUE(sch_frequentie_code); + +DROP TABLE tmp_frequentie; + +COMMIT; + +/* LOG#1405 */ +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_ACTIVITEIT_PPM_SHORT','m2',NULL,NULL); +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_ACTIVITEIT_PPR_SHORT','ruimte',NULL,NULL); +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_ACTIVITEIT_PPM','per m2',NULL,NULL); +INSERT INTO FAC_ENTITY_NAME VALUES('SCH_ACTIVITEIT_PPR','per ruimte',NULL,NULL); + +DELETE FROM FAC_MESSAGE +WHERE FAC_MESSAGE_CODE = 'SCH_PPM'; +INSERT INTO FAC_MESSAGE VALUES('SCH_PPM','Prijs per m2'); + +CREATE OR REPLACE VIEW sch_v_werkzaamheden_gegevens + (sch_werkzaamheden_key, + sch_werkzaamheden_kosten, + sch_activiteit_code, + sch_activiteit_prijsprofiel, + sch_activiteit_volgnr, + sch_nivo_key, + sch_nivo_omschrijving, + alg_srtruimte_key, + alg_srtruimte_omschrijving, + alg_srtruimte_upper, + sch_srtvloer_key, + sch_srtvloer_omschrijving, + sch_srtvloer_upper, + sch_frequentie_key, + sch_frequentie_code) AS +SELECT SCH_W.sch_werkzaamheden_key, + SCH_W.sch_werkzaamheden_kosten, + SCH_A.sch_activiteit_code, + SCH_A.sch_activiteit_prijsprofiel, + SCH_A.sch_activiteit_volgnr, + SCH_N.sch_nivo_key, + SCH_N.sch_nivo_omschrijving, + SCH_W.sch_alg_srtruimte_key, + ALG_SR.alg_srtruimte_omschrijving, + ALG_SR.alg_srtruimte_upper, + SCH_W.sch_srtvloer_key, + SCH_SV.sch_srtvloer_omschrijving, + SCH_SV.sch_srtvloer_upper, + SCH_W.sch_frequentie_key, + SCH_F.sch_frequentie_code +FROM sch_werkzaamheden SCH_W, sch_activiteit SCH_A, sch_nivo SCH_N, + sch_v_aanwezigsrtvloer SCH_SV, alg_v_aanwezigsrtruimte ALG_SR, + sch_frequentie SCH_F +WHERE SCH_W.sch_activiteit_key = SCH_A.sch_activiteit_key + AND SCH_W.sch_nivo_key = SCH_N.sch_nivo_key + AND SCH_W.sch_frequentie_key = SCH_F.sch_frequentie_key + AND SCH_W.sch_srtvloer_key = SCH_SV.sch_srtvloer_key (+) + AND SCH_W.sch_alg_srtruimte_key = ALG_SR.alg_srtruimte_key (+); + + +/* LOG#1407 */ +DELETE FROM FAC_MESSAGE +WHERE FAC_MESSAGE_CODE IN ('SCH_M035','SCH_M036','SCH_M037'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M035','De geselecteerde schoonmaakniveau''s verwijderen?'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M036','Er zijn geen schoonmaakniveau''s geselecteerd'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M037','De geselecteerde werkzaamheden verwijderen?'); + +/* LOG#1411 */ +DELETE FROM FAC_MESSAGE +WHERE FAC_MESSAGE_CODE IN ('SCH_M027'); +INSERT INTO FAC_MESSAGE VALUES('SCH_M027','Verwijderen niet toegestaan, er zijn nog ruimtes met deze vloersoort.'); + +/* LOG#1415 */ +CREATE OR REPLACE TRIGGER mld_t_mld_opdr_B_IU +BEFORE INSERT OR UPDATE ON mld_opdr +FOR EACH ROW +BEGIN + IF :new.mld_opdr_key IS NULL THEN SELECT mld_s_mld_opdr_key.nextval INTO :new.mld_opdr_key FROM DUAL; END IF; + DECLARE dummy CHAR; BEGIN IF :new.mld_uitvoerende_keys IS NOT NULL THEN SELECT 'X' INTO dummy FROM mld_v_uitvoerende WHERE key = :new.mld_uitvoerende_keys; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN raise_application_error(-20000, 'ins_m22'); END; + +END; +/ + +/* LOG#1422 voeg nieuwe column toe aan tabel mld_melding + * (deze wordt verderop nog NOT NULL) + */ +ALTER TABLE mld_melding +ADD +( + mld_alg_locatie_key + NUMBER(10) + REFERENCES alg_locatie(alg_locatie_key) +); + +/* vul de nieuwe column voor alle reeds bestaande meldingen mbt + * gebouwen, verdiepingen en ruimtes + */ +UPDATE mld_melding +SET mld_alg_locatie_key = (SELECT alg_locatie_key + FROM mld_v_onroerendgoed_locatie + WHERE alg_onroerendgoed_keys = mld_alg_onroerendgoed_keys); + + + +/* zet tenslotte de NOT NULL constraint op de column */ +ALTER TABLE mld_melding +MODIFY +( + mld_alg_locatie_key + NOT NULL +); + +CREATE OR REPLACE TRIGGER mld_t_mld_melding_B_IU +BEFORE INSERT OR UPDATE ON mld_melding +FOR EACH ROW +BEGIN + IF :new.mld_melding_key IS NULL THEN SELECT mld_s_mld_melding_key.nextval INTO :new.mld_melding_key FROM DUAL; END IF; + DECLARE dummy CHAR; BEGIN SELECT 'X' INTO dummy FROM alg_v_aanweziggebouw WHERE alg_gebouw_key = :new.mld_alg_onroerendgoed_keys; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN SELECT 'X' INTO dummy FROM alg_v_aanwezigverdieping WHERE alg_verdieping_key = :new.mld_alg_onroerendgoed_keys; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN SELECT 'X' INTO dummy FROM alg_v_aanwezigruimte WHERE alg_ruimte_key = :new.mld_alg_onroerendgoed_keys; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN SELECT 'X' INTO dummy FROM alg_v_aanwezigterreinsector WHERE alg_terreinsector_key = :new.mld_alg_onroerendgoed_keys; EXCEPTION WHEN NO_DATA_FOUND THEN raise_application_error(-20000,'alg_m090'); END; END; END; END; + + IF :old.mld_alg_onroerendgoed_keys IS NULL + OR :old.mld_alg_onroerendgoed_keys <> :new.mld_alg_onroerendgoed_keys + THEN + 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; +END; +/ + +/* IMPORT_SRTVLOER */ +ALTER TABLE alg_import +ADD +( + alg_import_vloer + VARCHAR2(30) +); + +/* LOG#1400 */ +alter table alg_import +modify (alg_import_ruimtenr varchar2(10)); + +/* Initiele waardes voor SCH_SRTVLOER */ +#ifdef SCH +#ifdef DATA +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Beton'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Natuursteen'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Vloertegels,glad'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Vloertegels,ruw'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Parket'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Linoleum'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Siergrind'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Tapijt'); +#endif // DATA +#endif // SCH + + +/* LOG#... */ +/* werk vervolgens het versienummer en de datum bij (van alle interne modules) */ +UPDATE fac_module + SET fac_module_version='01.31', + fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD'); + +COMMIT; + +SPOOL OFF diff --git a/_UP/131TO132.SRC b/_UP/131TO132.SRC new file mode 100644 index 00000000..95467a2a --- /dev/null +++ b/_UP/131TO132.SRC @@ -0,0 +1,558 @@ +set echo on +SPOOL 131to132 +-- +-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\131TO132.SQL] +-- +-- Update script van Facilitor 2.0 versie 1.31 naar 1.32 +-- + +/* + * 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. + * + * Revisie: + * + * dd-mm-yy xxx LOG#yyyy: + * + * --- 01.32 --- + * 20-08-97 KTH LOG#1433: default vloersoorten cf CONTOUR.INI van Dijkoraad + * LOG#1434: default ruimtesoorten tbv IBG + * --- 01.31 --- + */ + +#include "..\modules.h" +#include "..\comsql.h" + +set heading off + +clear screen + +/* + * 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. + */ + +PROMPT *********************************************************************** +PROMPT +PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.31 naar 01.32 +PROMPT +SELECT 'De huidige versie van Facilitor zou moeten zijn 01.31 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 heading on + +/* LOG#1433: initiele waardes voor SCH_SRTVLOER aanpassen */ +#ifdef SCH +#ifdef DATA +/* verwijder eerst de reeds aanwezige vloersoorten... */ +DELETE FROM sch_srtvloer; +/* ...en maak de juiste vloersoorten opnieuw aan */ +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Beton'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Computervloer'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Linoleum'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Natuursteen'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Parket'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Siergrind'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Tapijt'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Vloertegels, glad'); +INSERT INTO sch_srtvloer (sch_srtvloer_omschrijving) VALUES ('Vloertegels, ruw'); +COMMIT; +#endif // DATA +#endif // SCH + +#ifdef ALG +#ifdef DATA +#ifdef IBG +/* 20-08-97/KTH LOG#1434: Voor IBG de Ruimtesoorten voordefinieren */ +DELETE FROM alg_srtruimte; +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Accuruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Aircoruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Archiefruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Berging'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Berging rijwielen/bromfietsen'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Bibliotheek'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Brandslanghaspelkast'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Buffet'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('BZB-ruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('CV-ruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Computerruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Concierge'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Containerruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Couverteerruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte dames'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte heren'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Filterruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Gang'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Gang/portaal'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Garderobe'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Hal'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Hydrofoorruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Input'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Installatieruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Instructieruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kantine'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kantoorruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kast'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Ketelhuis'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Keuken'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte dames'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte heren'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kluis'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koekoek'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koelmachineruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koeltoren'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Laagspanningsruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Leidingen'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Lift'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Liftmachinekamer'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Lorrie'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Luchtbehandelingsruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Magazijn'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast elektra'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast gas'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast ptt'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Noodstroomaggregaat'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onbekend'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onderhoud'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onderzoekruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Operatorruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Opslagruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Output'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Patio'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Pauzeruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Portaal'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Portier'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Postkamer'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Printerruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Provisieruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Rekencentrum'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Reproruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Schacht'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Schakelruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Snijkamer'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Spoelkeuken'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Spreekkamer'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Tekenruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Technischeruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet dames'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet heren'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet invaliden'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Urinoir'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte dames'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte heren'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Traforuimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Trappenhuis'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Uitgifte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Ventilatorruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Vergaderruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Verkeersruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Vouwruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Wachtruimte'); +INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Werkkast'); +COMMIT; +#endif // IBG +#endif // DATA +#endif // ALG + +#ifdef ATT +/* 20-08-97/KTH Voor IBG0131 is ATT niet aanwezig, in IBG0132 wel, + * creeer daarom de procedure INS_P_INS_CHECK_ATTRIBUTE (evt opnieuw) + */ +CREATE OR REPLACE PROCEDURE INS_P_INS_CHECK_ATTRIBUTE(FacKolom IN CHAR, + SrtdeelKey IN NUMBER, + AttributeKey IN NUMBER) AS + AttributeType ins_attribute.ins_attribute_type%TYPE; + FormatMask VARCHAR2(100); + MaxLengte ins_attribute.ins_attribute_length%TYPE; + WareLengte NUMBER(10); + Verplicht ins_attribute.ins_attribute_required%TYPE; + MinWaarde ins_attribute.ins_attribute_min%TYPE; + MaxWaarde ins_attribute.ins_attribute_max%TYPE; + DecWaarde ins_attribute.ins_attribute_dec%TYPE; + WareWaarde NUMBER(10); + CharWaarde VARCHAR2(50); + BEGIN + BEGIN + SELECT ins_attribute_type, + ins_attribute_length, + ins_attribute_required, + ins_attribute_min, + ins_attribute_max, + ins_attribute_dec + INTO AttributeType, + MaxLengte, + Verplicht, + MinWaarde, + MaxWaarde, + DecWaarde + FROM ins_v_attribute_gegevens + WHERE ins_srtdeel_key = SrtdeelKey + AND ins_attribute_key = AttributeKey; + EXCEPTION + + WHEN NO_DATA_FOUND + THEN RETURN; + END; + + + IF FacKolom IS NULL + THEN + + IF Verplicht = 1 + THEN + raise_application_error(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m008'); + ELSE + RETURN; + END IF; + END IF; + + IF AttributeType = 'N' + THEN + BEGIN + + WareWaarde := TO_NUMBER(FacKolom); + + + IF WareWaarde < MinWaarde OR WareWaarde > MaxWaarde + THEN + raise_application_error(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m009'); + ELSE + + IF NVL(DecWaarde, 0) = 0 + THEN + FormatMask := RPAD('9', MaxLengte, '9'); + ELSE + FormatMask := RPAD('9', MaxLengte - DecWaarde, '9')|| + 'D'||RPAD('9', DecWaarde, '9'); + END IF; + + CharWaarde := LTRIM(TO_CHAR(WareWaarde, FormatMask)); + IF INSTR(CharWaarde, '#') <> 0 + THEN + raise_application_error(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m010'); + END IF; + END IF; + EXCEPTION + WHEN others + THEN + raise_application_error(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m010'); + END; + + ELSIF AttributeType = 'C' + THEN + WareLengte := LENGTH(FacKolom); + IF NVL(WareLengte, 0) > NVL(MaxLengte, 0) + THEN + raise_application_error(-20004, TO_CHAR(AttributeKey)|| + TO_CHAR(SrtdeelKey)||'att_m011'); + END IF; + + END IF; + END; +/ + +#endif // ATT + +#ifdef INS +/* 20-08-97/KTH Voor IBG0131 is ATT niet aanwezig, in IBG0132 wel + * maak daarom de trigger opnieuw aan incl het ATT-deel + */ +CREATE OR REPLACE TRIGGER ins_t_ins_deel_B_IU +BEFORE INSERT OR UPDATE ON ins_deel +FOR EACH ROW +BEGIN + LOG('Begin INS_T_INS_DEEL_B_IU'); + UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys); + UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper); + SET_VERWIJDER_CHILDREN(ins_onderdeel, ins_deel_key, ins_deel_verwijder, + ins_onderdeel_verwijder); + + /* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn + * en wel met ruimte, verdieping, gebouw of terreinsector. + * Daarvoor moet ook het INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn + * (met 'R' of 'V' of 'G' of 'T'). + * Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een + * nieuw record geinsert wordt. + * + * + * IN INV-mode hoeft INS_ALG_RUIMTE_KEY niet ingevuld te zijn, maar + * als deze ingevuld is moet INS_ALG_RUIMTE_KEY met ruimte of werkplek + * gevuld zijn, daarvoor moet het veld INS_ALG_RUITMTE_KEY goed + * ingevuld zijn (met 'R' of 'W'). + * + * IN INV-mode kan het veld INS_PRS_BEZIT_KEY ook ingevuld zijn, maar + * INS_ALG_RUIMTE_KEY en INS_PRS_BEZIT_KEY kunnen niet beide ingevuld worden. + * INS_PRS_BEZIT_KEY kan de waarde perslid of afdeling bevatten en het + * veld INS_PRS_BEZIT_TYPE moet dan goed ingevuld zijn (met 'P' of 'A'). + * AH 05-06-96 Nu kunnen biede velden ingevuld zijn. + */ + IF :new.ins_deel_module = 'INS' + AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m092'); + ELSIF :new.ins_alg_ruimte_type = 'V' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigverdieping, alg_verdieping_key, + :new.ins_alg_ruimte_key, 'ins_m093'); + ELSIF :new.ins_alg_ruimte_type = 'G' + THEN + CHECK_KEY_REFERENCE(alg_v_aanweziggebouw, alg_gebouw_key, + :new.ins_alg_ruimte_key, 'ins_m094'); + ELSIF :new.ins_alg_ruimte_type = 'T' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigterreinsector, alg_terreinsector_key, + :new.ins_alg_ruimte_key, 'ins_m095'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + + IF NOT :old.ins_alg_ruimte_key IS NULL + THEN + /* Als er 'geplaatste' onderdelen bij dit deel horen, dan mag het + * deel neit verplaatst worden. + */ + DECLARE + dummy CHAR; + BEGIN + SELECT 'X' + INTO dummy + FROM ins_v_aanwezigonderdeel INS_O + WHERE INS_O.ins_deel_key = :new.ins_deel_key + AND INS_O.ins_alg_onroerendgoed_key IS NOT NULL; + APPLICATION_ERROR(-20000, 'ins_m100'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'ins_m100'); + END; +/* + UPDATE ins_onderdeel + SET ins_alg_onroerendgoed_key = NULL + WHERE ins_deel_key = :new.ins_deel_key; + */ + END IF; +#ifdef INV + ELSIF :new.ins_deel_module = 'INV' + AND ((:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key + OR :old.ins_alg_ruimte_key IS NULL) + OR (:old.ins_prs_bezit_key <> :new.ins_prs_bezit_key + OR :old.ins_prs_bezit_key IS NULL)) + THEN +// IF :new.ins_alg_ruimte_key IS NOT NULL +// AND :new.ins_prs_bezit_key IS NOT NULL +// THEN +// APPLICATION_ERROR(-20000, 'ins_m85'); + IF :new.ins_alg_ruimte_key IS NOT NULL + THEN + IF :new.ins_alg_ruimte_type = 'R' + THEN + CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key, + :new.ins_alg_ruimte_key, 'ins_m88'); + ELSIF :new.ins_alg_ruimte_type = 'W' + THEN + CHECK_KEY_REFERENCE(all_v_aanwezigwerkplek, prs_werkplek_key, + :new.ins_alg_ruimte_key, 'ins_m88'); +// 14-01-97 Koppelen aan Locatie is nu niet meer mogelijk +// ELSIF :new.ins_alg_ruimte_type = 'L' +// THEN +// CHECK_KEY_REFERENCE(alg_v_aanweziglocatie, alg_locatie_key, +// :new.ins_alg_ruimte_key, 'ins_m88'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m84'); + END IF; + END IF; + IF :new.ins_prs_bezit_key IS NOT NULL + THEN + IF :new.ins_prs_bezit_type = 'P' + THEN + CHECK_KEY_REFERENCE(all_v_aanwezigperslid, prs_perslid_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSIF :new.ins_prs_bezit_type = 'A' + THEN + CHECK_KEY_REFERENCE(prs_v_aanwezigafdeling, prs_afdeling_key, + :new.ins_prs_bezit_key, 'ins_m86'); + ELSE + APPLICATION_ERROR(-20000, 'ins_m86'); + END IF; + END IF; +#endif + END IF; +#ifdef INV + /* Als een INS_DEEL in INV-mode (red. een artikel) verwijderd, gekoppeld, + * ontkoppeld of verplaatst wordt van een ruimte of een werkplek, + * dan is de bijbehorende verdieping-tekening niet meer up to date en + * moet dus het INV_DWGUPTODATE-veld gezet worden. + * + * Als in INV-mode het INS_DEEL van INS_SRTDEEL veranderd, + * moet in het geval dit INS_SRTDEEL een ander ACADSYMBOL heeft + * het INV_DWGUPTODATE-veld van de verdiepingtekening ook gezet worden. + */ + IF :new.ins_deel_module = 'INV' + THEN + /* Verwijderen */ + IF :new.ins_deel_verwijder IS NOT NULL + /* Koppelen */ + OR (:old.ins_alg_ruimte_key IS NULL + AND :new.ins_alg_ruimte_key IS NOT NULL) + /* Ontkoppelen */ + OR (:old.ins_alg_ruimte_key IS NOT NULL + AND :new.ins_alg_ruimte_key IS NULL) + /* Verplaatsen */ + OR (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key) + /* Van INS_SRTDEEL veranderen. + * ACADSYMBOL is hierin nog niet verwerkt. + */ + OR (:old.ins_srtdeel_key <> :new.ins_srtdeel_key) + THEN + /* Voor de oude INS_ALG_RUIMTE_KEY */ + IF :old.ins_alg_ruimte_type = 'R' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :old.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :old.ins_alg_ruimte_type = 'W' + AND :old.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :old.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + /* Voor de nieuwe INS_ALG_RUIMTE_KEY*/ + IF :new.ins_alg_ruimte_type = 'R' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM alg_ruimte ALG_R + WHERE ALG_R.alg_ruimte_key = :new.ins_alg_ruimte_key), + inv_dwguptodate); + ELSIF :new.ins_alg_ruimte_type = 'W' + AND :new.ins_alg_ruimte_key IS NOT NULL + THEN + SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key, + (SELECT ALG_R.alg_verdieping_key + FROM prs_v_aanwezigwerkplek PRS_W, + alg_ruimte ALG_R + WHERE PRS_W.prs_werkplek_key = :new.ins_alg_ruimte_key + AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key), + inv_dwguptodate); + END IF; + END IF; + END IF; +#endif // INV +#ifdef ATT + /* Gedeelte t.b.v. eventuele attributen */ + DECLARE + nAttribs NUMBER(10); + BEGIN + /* Controleer eerst of er uberhaupt attributen zijn + * bij dit Srtdeel. + */ + SELECT count(*) + INTO nAttribs + FROM ins_v_attribute_gegevens + WHERE ins_srtdeel_key = :new.ins_srtdeel_key; + + /* Attributen aanwezig + */ + IF nAttribs <> 0 + THEN + CHECK_ATTRIBUTE(fac0, 0); + CHECK_ATTRIBUTE(fac1, 1); + CHECK_ATTRIBUTE(fac2, 2); + CHECK_ATTRIBUTE(fac3, 3); + CHECK_ATTRIBUTE(fac4, 4); + CHECK_ATTRIBUTE(fac5, 5); + CHECK_ATTRIBUTE(fac6, 6); + CHECK_ATTRIBUTE(fac7, 7); + CHECK_ATTRIBUTE(fac8, 8); + CHECK_ATTRIBUTE(fac9, 9); +#if 0 // Oude situatie maakt een te grote trigger aan. + IF (:old.fac0 <> :new.fac0) + OR (:old.fac0 IS NOT NULL AND :new.fac0 IS NULL) + OR (:old.fac0 IS NULL AND :new.fac0 IS NOT NULL) + THEN + INS_P_INS_CHECK_ATTRIBUTE(:new.fac0, :new.ins_srtdeel_key, 0); + END IF; + + IF :new.fac1 <> :old.fac1 OR :new.fac1 IS NULL OR :old.fac1 IS NULL THEN CHECK_ATTRIBUTE(fac1,1); END IF; + IF :new.fac2 <> :old.fac2 OR :new.fac2 IS NULL OR :old.fac2 IS NULL THEN CHECK_ATTRIBUTE(fac2,2); END IF; + IF :new.fac3 <> :old.fac3 OR :new.fac3 IS NULL OR :old.fac3 IS NULL THEN CHECK_ATTRIBUTE(fac3,3); END IF; + IF :new.fac4 <> :old.fac4 OR :new.fac4 IS NULL OR :old.fac4 IS NULL THEN CHECK_ATTRIBUTE(fac4,4); END IF; + IF :new.fac5 <> :old.fac5 OR :new.fac5 IS NULL OR :old.fac5 IS NULL THEN CHECK_ATTRIBUTE(fac5,5); END IF; + IF :new.fac6 <> :old.fac6 OR :new.fac6 IS NULL OR :old.fac6 IS NULL THEN CHECK_ATTRIBUTE(fac6,6); END IF; + IF :new.fac7 <> :old.fac7 OR :new.fac7 IS NULL OR :old.fac7 IS NULL THEN CHECK_ATTRIBUTE(fac7,7); END IF; + IF :new.fac8 <> :old.fac8 OR :new.fac8 IS NULL OR :old.fac8 IS NULL THEN CHECK_ATTRIBUTE(fac8,8); END IF; + IF :new.fac9 <> :old.fac9 OR :new.fac9 IS NULL OR :old.fac9 IS NULL THEN CHECK_ATTRIBUTE(fac9,9); END IF; +#endif // 0 + END IF; + END; +#endif // ATT + LOG('Eind INS_T_INS_DEEL_B_IU'); +END; +/ + +#endif // INS + +#ifdef ATT +/* 20-08-97/KTH Voor IBG0131 is ATT niet aanwezig, in IBG0132 wel, + * vul daarom de waarden in fac_form en fac_module aan + */ +INSERT INTO fac_form VALUES( NULL , NULL, NULL ,'120000','ATT_MODULE','Attributen Module'); + +INSERT INTO fac_form VALUES('ATT011', NULL, 'MODULE','120110','INS_ATT011','Overzichtscherm Attributen (INS)'); +INSERT INTO fac_form VALUES('ATT111', NULL, 'MODULE','121110','INS_ATT111','Mutatiescherm Attributen (INS)'); + +INSERT INTO fac_module VALUES ('ATT','01.32',TO_CHAR(SYSDATE,'YYYYMMDD'),'Attributen'); +#endif // ATT + +/* LOG#... */ + +/* werk vervolgens het versienummer en de datum bij (van alle interne modules) */ +UPDATE fac_module + SET fac_module_version='01.32', + fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD'); + +COMMIT; + +SPOOL OFF diff --git a/_UP/132TO133.SRC b/_UP/132TO133.SRC new file mode 100644 index 00000000..0ba51f66 --- /dev/null +++ b/_UP/132TO133.SRC @@ -0,0 +1,94 @@ +set echo on +SPOOL 132to133 +-- +-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\132TO133.SQL] +-- +-- Update script van Facilitor 2.0 versie 1.32 naar 1.33 +-- + +/* + * 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. + * + * Revisie: + * + * dd-mm-yy xxx LOG#yyyy: + * + * 08-09-97 AH ATT_CHAR, ATT_NUMBER en ATT_REFERENCE toegevoegd voor MAN. + * 02-09-97 AH #1449, INS_INS115 kanweg als ATT-module is geinstalleerd. INS_INS126 wordt dan + * gebruikt. + * 01-09-97 AH #1454, INS_SRTDEEL_ACADSYMBOL moet met de UPPER gevuld worden. + * --- 01.32 --- + */ + +#include "..\modules.h" +#include "..\comsql.h" + +set heading off + +clear screen + +/* + * 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. + */ + +PROMPT *********************************************************************** +PROMPT +PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.32 naar 01.33 +PROMPT +SELECT 'De huidige versie van Facilitor zou moeten zijn 01.32 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 heading on + +/* denk aan #ifdef constructies! */ + +#ifdef INS +/* LOG#1454 */ +UPDATE ins_srtdeel +SET ins_srtdeel_acadsymbol = UPPER(ins_srtdeel_acadsymbol); + +#endif + +#ifdef ATT +/* LOG#1449 */ +DELETE FROM fac_form +WHERE fac_form_name = 'INS115'; +#endif + +/* LOG#... */ +INSERT INTO FAC_ENTITY_NAME VALUES('ATT_CHAR','Karakter','Karakters', 'de'); +INSERT INTO FAC_ENTITY_NAME VALUES('ATT_NUMBER','Numeriek',NULL, NULL); +INSERT INTO FAC_ENTITY_NAME VALUES('ATT_REFERENCE','Referentie','Referenties', 'de'); + +/* LOG#... */ + +/* werk vervolgens het versienummer en de datum bij (van alle interne modules) */ +UPDATE fac_module + SET fac_module_version='01.33', + fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD'); + +COMMIT; + + +SPOOL OFF diff --git a/_UP/136TO137.SRC b/_UP/136TO137.SRC new file mode 100644 index 00000000..2e050dbe --- /dev/null +++ b/_UP/136TO137.SRC @@ -0,0 +1,913 @@ +set echo on +SPOOL 136to137 +-- +-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\136TO137.SQL] +-- +-- Update script van Facilitor 2.0 versie 1.36 naar 1.37 +-- + +/* + * 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. + * + * Revisie: + * + * dd-mm-yy xxx LOG#yyyy: + * + * --- 01.37 --- + * 22-05-1998 KTH LOG#1821: Nieuwe CAD-zaken toegevoegd + * 15-05-1998 KTH - LOG#983: FAC_M025 toegevoegd tbv het tonen van USERNAME in FAC012 + * - LOG#1691: DEFAULT 1 gedefinieerd voor PRS_BEDRIJF_UITVOERENDE + * - LOG#1594: INS_M013 hergeformuleerd + * - LOG#1717: FAC_MESSAGE 'MENU_MLD_HERKTEKST' toegevoegd + * --- 01.36 --- + */ + +/* +#include "..\modules.h" +#include "..\comsql.h" +*/ +#include "modules.h" +#include "comsql.h" + +set heading off + +clear screen + +/* + * 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. + */ + +PROMPT *********************************************************************** +PROMPT +PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.36 naar 01.37 +PROMPT +SELECT 'De huidige versie van Facilitor zou moeten zijn 01.36 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 heading on + +/* denk aan #ifdef constructies! */ + +/* PLAATS HIERTUSSEN DE UPDATES */ + + + +#ifdef AKZ //13-05-1998 BIV + +CREATE_TABLE(alg_srtvloer,BIBLIOTHEEK_PRIVILEGE) +( + alg_srtvloer_key + NUMBER(10) + CONSTRAINT alg_k_alg_srtvloer_key PRIMARY KEY, + alg_srtvloer_omschrijving + VARCHAR2(30) + NOT_NULL(alg_srtvloer_omschrijving, alg_c_alg_srtvloer_omschr), + alg_srtvloer_upper + VARCHAR2(30) + NOT_NULL(alg_srtvloer_upper, alg_c_alg_srtvloer_upper), + alg_srtvloer_aanmaak + DATE + DEFAULT SYSDATE, + alg_srtvloer_verwijder + DATE + DEFAULT NULL, + CONSTRAINT alg_u_alg_srtvloer_upper UNIQUE(alg_srtvloer_upper, alg_srtvloer_verwijder) +); + + +CREATE_TABLE(akz_schnivo,BIBLIOTHEEK_PRIVILEGE) +( + akz_schnivo_key + NUMBER(10) + CONSTRAINT akz_k_akz_schnivo_key PRIMARY KEY, + akz_schnivo_code + VARCHAR2(10) + NOT_NULL(akz_schnivo_code, akz_c_akz_schnivo_code), + akz_schnivo_upper + VARCHAR2(10) + NOT_NULL(akz_schnivo_upper, akz_c_akz_schnivo_upper), + akz_schnivo_omschrijving + VARCHAR2(30) + NOT_NULL(akz_schnivo_omschrijving, akz_c_akz_schnivo_omschr), + akz_schnivo_document + VARCHAR2(256), + akz_schnivo_kengetal + NUMBER(8,2) + CONSTRAINT akz_c_akz_schnivo_kengetal CHECK(akz_schnivo_kengetal > 0), + akz_schnivo_aanmaak + DATE + DEFAULT SYSDATE + CONSTRAINT alg_c_alg_schnivo_aanmaak NOT NULL, + akz_schnivo_verwijder + DATE + DEFAULT NULLDATUM, + CONSTRAINT akz_u_akz_schnivo_upper UNIQUE (akz_schnivo_upper, akz_schnivo_verwijder) +); + + +ALTER TABLE alg_ruimte +ADD +( + akz_schnivo_key + NUMBER(10) + CONSTRAINT alg_r_akz_schnivo_key REFERENCES akz_schnivo(akz_schnivo_key), + alg_srtvloer_key + NUMBER(10) + CONSTRAINT alg_r_alg_srtvloer_key REFERENCES alg_srtvloer(alg_srtvloer_key) +); + + +DEFINIEER_VIEW_AANWEZIG(alg_srtvloer, alg_srtvloer_verwijder, + alg_v_aanwezigsrtvloer,NORMAAL_PRIVILEGE); + +DEFINIEER_VIEW_AANWEZIG(alg_ruimte, alg_ruimte_verwijder, + alg_v_aanwezigruimte,NORMAAL_PRIVILEGE); + +CREATE SEQUENCE alg_s_alg_srtvloer_key MINVALUE 1; + +CREATE_TRIGGER(alg_t_alg_srtvloer_B_IU) +BEFORE INSERT OR UPDATE ON alg_srtvloer +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(alg_srtvloer_key, alg_s_alg_srtvloer_key); + UPDATE_UPPER(alg_srtvloer_omschrijving, alg_srtvloer_upper); + CHECK_NOG_REFERENCES(alg_srtvloer, alg_srtvloer_verwijder, alg_v_aanwezigruimte, + alg_srtvloer_key, 'alg_m220'); + +END; +/ + +DEFINIEER_VIEW_AANWEZIG(akz_schnivo, akz_schnivo_verwijder, + akz_v_aanwezigschnivo,BIBLIOTHEEK_PRIVILEGE); + +CREATE SEQUENCE akz_s_akz_schnivo_key MINVALUE 1; + +CREATE_TRIGGER(akz_t_akz_schnivo_B_IU) +BEFORE INSERT OR UPDATE ON akz_schnivo +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(akz_schnivo_key, akz_s_akz_schnivo_key); + UPDATE_UPPER(akz_schnivo_code, akz_schnivo_upper); + CHECK_NOG_REFERENCES(akz_schnivo, akz_schnivo_verwijder, + akz_v_aanwezigruimte, akz_schnivo_key, 'akz_m013'); +END; +/ + + +CREATE_VIEW(mld_v_mld_openmelding,NORMAAL_PRIVILEGE) (mld_melding_module, + mld_melding_key, + mld_ins_discipline_key, + mld_ins_srtinst_keys, + mld_alg_onroerendgoed_keys, + mld_melding_datum, + mld_melding_melder_naam, + mld_meldbron_key, + mld_oorzaak_key, + mld_stdmelding_key, + mld_melding_ingezien, + mld_melding_afgewezen, + mld_melding_geaccepteerd, + mld_melding_afgemeld, + mld_melding_verwerkt, + mld_statussoort ) AS + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'INGEVOERD' + FROM mld_melding MLD_M + WHERE mld_melding_ingezien IS NULL + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'INGEZIEN' + FROM mld_melding MLD_M + WHERE MLD_M.mld_melding_ingezien IS NOT NULL + AND MLD_M.mld_melding_afgewezen IS NULL + AND MLD_M.mld_melding_geaccepteerd IS NULL + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'OVERSCHREDEN' + FROM mld_melding MLD_M, + mld_stdmelding MLD_SM + WHERE MLD_M.mld_melding_afgewezen IS NULL + AND MLD_M.mld_melding_geaccepteerd IS NULL + AND MLD_M.mld_stdmelding_key = MLD_SM.mld_stdmelding_key + AND SYSDATE > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(MLD_M.mld_melding_datum, + MLD_SM.mld_stdmelding_urgentie, + 'UREN') + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'TE_LAAT' + FROM mld_melding MLD_M + WHERE MLD_M.mld_melding_afgewezen IS NULL + AND MLD_M.mld_melding_geaccepteerd IS NOT NULL + AND MLD_M.mld_melding_afgemeld IS NULL + AND SYSDATE > mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(MLD_M.mld_melding_datum, + MLD_M.mld_melding_uitvoertijd, + 'DAGEN') + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'AFGEWEZEN' + FROM mld_melding MLD_M + WHERE MLD_M.mld_melding_afgewezen IS NOT NULL + AND MLD_M.mld_melding_geaccepteerd IS NULL + AND MLD_M.mld_melding_afgemeld IS NULL + AND MLD_M.mld_melding_verwerkt IS NULL + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'GEACCEPTEERD' + FROM mld_melding MLD_M + WHERE MLD_M.mld_melding_geaccepteerd IS NOT NULL + AND MLD_M.mld_melding_afgemeld IS NULL + AND MLD_M.mld_melding_verwerkt IS NULL + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'OPEN' + FROM mld_melding MLD_M, + mld_opdr MLD_O + WHERE MLD_M.mld_melding_key = MLD_O.mld_melding_key (+) + AND (MLD_O.mld_statusopdr_key IN + (SELECT mld_statusopdr_key + FROM mld_statusopdr MLD_S + WHERE MLD_S.mld_statusopdr_upper LIKE '%UITGEGEVEN' OR + MLD_S.mld_statusopdr_upper LIKE '%AFGEMELD' OR + MLD_S.mld_statusopdr_upper LIKE '%INGEVOERD') OR + MLD_O.mld_statusopdr_key IS NULL) + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'AFGEMELD' + FROM mld_melding MLD_M + WHERE (EXISTS (SELECT MLD_O.mld_opdr_key + FROM mld_opdr MLD_O, mld_statusopdr MLD_SO + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key + AND MLD_SO.mld_statusopdr_upper LIKE '%AFGEMELD') + OR (MLD_M.mld_melding_afgemeld IS NOT NULL + AND MLD_M.mld_melding_verwerkt IS NULL) + ) + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'VERWERKT' + FROM mld_melding MLD_M + WHERE ((EXISTS (SELECT MLD_O.mld_opdr_key + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_upper LIKE '%VERWERKT') + AND NOT EXISTS (SELECT MLD_O.mld_opdr_key + FROM mld_opdr MLD_O, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_upper NOT LIKE '%VERWERKT') + ) + OR MLD_M.mld_melding_verwerkt IS NOT NULL + ) + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) + UNION + SELECT DISTINCT MLD_M.mld_melding_module, + MLD_M.mld_melding_key, + MLD_M.mld_ins_discipline_key, + MLD_M.mld_ins_srtinst_keys, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_M.mld_melding_datum, + MLD_M.mld_melding_melder_naam, + MLD_M.mld_meldbron_key, + MLD_M.mld_oorzaak_key, + MLD_M.mld_stdmelding_key, + MLD_M.mld_melding_ingezien, + MLD_M.mld_melding_afgewezen, + MLD_M.mld_melding_geaccepteerd, + MLD_M.mld_melding_afgemeld, + MLD_M.mld_melding_verwerkt, + 'ALL' + FROM mld_melding MLD_M, + mld_opdr MLD_O + WHERE MLD_M.mld_melding_key = MLD_O.mld_melding_key (+) + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + AND (EXISTS (SELECT fac_gebruiker_kolomkey + FROM fac_gebruiker + WHERE fac_gebruiker_kolomkey = MLD_M.mld_ins_discipline_key) + OR EXISTS (SELECT FAC_F.fac_functie_key + FROM fac_functie FAC_F, fac_gebruiker FAC_G + WHERE FAC_F.fac_functie_code ='MLD_INVOER' + AND FAC_F.fac_functie_key = FAC_G.fac_functie_key)) +); + +/* Log #1771 : Veldlengte afdelingsnaam + bijbehorende veld upper vergroot naar 10 posities */ +ALTER TABLE prs_afdeling +MODIFY +( + prs_afdeling_naam + VARCHAR2(10), + prs_afdeling_upper + VARCHAR2(10) +); + + +/* 22-05-1998 BIV Log#1770 : View MLD_V_MLD_OPENOPDR_GEGEVENS uitgebreidt met veld MLD_OPDR_BEDRIJFOPDR_VOLGNR */ + +CREATE_VIEW(mld_v_mld_openopdr_gegevens,NORMAAL_PRIVILEGE) ( mld_opdr_module, + mld_opdr_key, + mld_melding_key, + mld_statusopdr_key, + mld_statusopdr_omschrijving, + mld_opdr_datumbegin, + mld_opdr_datumuitgevoerd, + mld_opdr_dagen, + mld_alg_onroerendgoed_keys, + mld_uitvoerende_keys, + mld_opdr_contactpersoon, + mld_opdr_geprint, + mld_statussoort, + mld_opdr_bedrijfopdr_volgnr) AS + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_O.mld_uitvoerende_keys, + MLD_O.mld_opdr_contactpersoon, + MLD_O.mld_opdr_geprint, + 'OPEN', + MLD_O.mld_opdr_bedrijfopdr_volgnr + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_upper LIKE '%UITGEGEVEN' + OR MLD_S.mld_statusopdr_upper LIKE '%AFGEMELD' + OR MLD_S.mld_statusopdr_upper LIKE '%INGEVOERD') + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + UNION + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_O.mld_uitvoerende_keys, + MLD_O.mld_opdr_contactpersoon, + MLD_O.mld_opdr_geprint, + 'ALL', + MLD_O.mld_opdr_bedrijfopdr_volgnr + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + UNION + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_O.mld_uitvoerende_keys, + MLD_O.mld_opdr_contactpersoon, + MLD_O.mld_opdr_geprint, + 'INGEVOERD', + MLD_O.mld_opdr_bedrijfopdr_volgnr + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND (MLD_S.mld_statusopdr_upper LIKE '%INGEVOERD' + OR MLD_S.mld_statusopdr_upper LIKE '%UITGEGEVEN') + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + UNION + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_O.mld_uitvoerende_keys, + MLD_O.mld_opdr_contactpersoon, + MLD_O.mld_opdr_geprint, + 'AFGEMELD', + MLD_O.mld_opdr_bedrijfopdr_volgnr + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_upper LIKE '%AFGEMELD' + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) + ) + UNION + SELECT MLD_O.mld_opdr_module, + MLD_O.mld_opdr_key, + MLD_O.mld_melding_key, + MLD_O.mld_statusopdr_key, + MLD_S.mld_statusopdr_omschrijving, + MLD_O.mld_opdr_datumbegin, + MLD_O.mld_opdr_datumuitgevoerd, + MLD_O.mld_opdr_dagen, + MLD_M.mld_alg_onroerendgoed_keys, + MLD_O.mld_uitvoerende_keys, + MLD_O.mld_opdr_contactpersoon, + MLD_O.mld_opdr_geprint, + 'VERWERKT', + MLD_O.mld_opdr_bedrijfopdr_volgnr + FROM mld_opdr MLD_O, mld_melding MLD_M, mld_statusopdr MLD_S + WHERE MLD_O.mld_melding_key = MLD_M.mld_melding_key + AND MLD_O.mld_statusopdr_key = MLD_S.mld_statusopdr_key + AND MLD_S.mld_statusopdr_upper LIKE '%VERWERKT' + AND (MLD_M.mld_ins_srtinst_keys IS NULL + OR MLD_M.mld_ins_srtinst_keys IN (SELECT ins_srtinst_keys + FROM ins_v_srtinst) +); + + +/* Log#1799 - Een TV-verklaarde melding printen levert een melding op dat de melding niet opnieuw + * TV-verklaard kan worden. + */ + +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); + CHECK_REFERENCE_ONROERENDGOED(mld_alg_onroerendgoed_keys, 'alg_m090'); + /* 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 + 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; + /* Vul de username in van de huidige gebruiker. */ + SELECT USER + INTO :new.mld_melding_username + FROM DUAL; + + /* Controleer of de velden GEACCEPTEERD en AFGEWEZEN niet beide ingevuld zijn. */ + IF :new.mld_melding_afgewezen IS NOT NULL + AND :new.mld_melding_geaccepteerd IS NOT NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m175'); + END IF; + /* Controleer of de velden AFGEMELD en VERWERKT gevuld zijn, er mogen dan geen + * opdrachten van deze melding bestaan. + */ + IF :new.mld_melding_verwerkt IS NOT NULL + THEN + /* Alleen geaccepteerde of afgemelde meldingen mogen verwerkt worden */ + IF :old.mld_melding_geaccepteerd IS NULL + AND :old.mld_melding_afgemeld IS NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m203'); + /* Verwerkte meldingen mogen niet nogmaals verwerkt worden */ + ELSIF :old.mld_melding_verwerkt IS NOT NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m196'); + ELSE + /* Meldingen mogen alleen verwerkt worden als de bijbehorende opdrachten + * verwerkt zijn. + */ + 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 LIKE '%INGEVOERD%' + OR MLD_SO.mld_statusopdr_upper LIKE '%UITGEGEVEN%' + OR MLD_SO.mld_statusopdr_upper LIKE '%AFGEMELD%') + AND MLD_O.mld_melding_key = :new.mld_melding_key; + APPLICATION_ERROR(-20000, 'mld_m192'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'mld_m192'); + END; + END IF; + ELSIF :new.mld_melding_afgemeld IS NOT NULL + THEN + /* Alleen geaccepteerde meldingen mogen afgemeld worden */ + IF :old.mld_melding_geaccepteerd IS NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m202'); + /* Afgemelde meldingen mogen niet nogmaals afgemeld worden */ + ELSIF :old.mld_melding_afgemeld IS NOT NULL + AND (:old.mld_melding_afgemeld <> :new.mld_melding_afgemeld) + THEN + APPLICATION_ERROR(-20000, 'mld_m194'); + /* Verwerkte meldingen mogen niet (nogmaals) afgemeld worden */ + ELSIF :old.mld_melding_verwerkt IS NOT NULL + THEN + APPLICATION_ERROR(-20000, 'mld_m195'); + ELSIF :old.mld_melding_afgemeld <> :new.mld_melding_afgemeld + THEN + /* Meldingen mogen alleen afgemeld worden als de bijbehorende opdrachten + * afgemeld of verwerkt zijn. + */ + 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 LIKE '%INGEVOERD%' + OR MLD_SO.mld_statusopdr_upper LIKE '%UITGEGEVEN%') + AND MLD_O.mld_melding_key = :new.mld_melding_key; + APPLICATION_ERROR(-20000, 'mld_m191'); + EXCEPTION + WHEN NO_DATA_FOUND + THEN NULL; + WHEN TOO_MANY_ROWS + THEN APPLICATION_ERROR(-20000, 'mld_m191'); + END; + END IF; + END IF; + /* Vul het veld UITVOERTIJD2 in als deze leeg is */ + IF :new.mld_melding_uitvoertijd2 IS NULL + THEN + :new.mld_melding_uitvoertijd2 := :new.mld_melding_uitvoertijd; + END IF; +END; +/ + + +/* ALG */ +DEF_FAC_ENTITY ('ALG_SRTVLOER','Vloersoort','Vloersoorten','de'); +DEF_FAC_ENTITY ('ALG_SRTVLOER_OMSCHRIJVING','Omschrijving','Omschrijvingen','de'); + +DEF_FAC_MESSAGE ('ALG_M220', 'Verwijderen niet toegestaan, er zijn nog ruimtes met deze vloersoort.'); +DEF_FAC_MESSAGE ('ALG_M221', 'Verwijderen vloersoort '); +DEF_FAC_MESSAGE ('ALG_M222', 'Schoonmaakkosten per gebouw'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTVLOER_OMSCHR', 'De omschrijving van de vloersoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_C_ALG_SRTVLOER_UPPER', 'De omschrijving van de vloersoort is niet ingevuld.'); +DEF_FAC_MESSAGE ('ALG_R_ALG_SRTVLOER_KEY', 'Er zijn nog referenties van ruimte naar deze vloersoort.'); +DEF_FAC_MESSAGE ('ALG_U_ALG_SRTVLOER_UPPER', 'Het veld ''Omschrijving'' is niet uniek.'); + +/* AKZ */ + +DEF_FAC_ENTITY ('AKZ_NIVO', 'Omschrijving', NULL, NULL); +DEF_FAC_ENTITY ('AKZ_NIVO_CODE', 'Code', NULL, NULL); +DEF_FAC_ENTITY ('AKZ_NIVO_KENGETAL', 'Kengetal', NULL, NULL); +DEF_FAC_ENTITY ('AKZ_NIVO_DOCUMENT', 'Document', NULL, NULL); + +DEF_FAC_MESSAGE ('AKZ_M013','Verwijderen niet toegestaan, dit schoonmaakniveau is nog actief.'); +DEF_FAC_MESSAGE ('AKZ_SCHNIVO', 'Schoonmaakniveau'); +DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_CODE', 'De schoonmaakcode is niet ingevuld.'); +DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_UPPER', 'De schoonmaakcode is niet ingevuld.'); +DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_OMSCHR', 'De omschrijving van de schoonmaakcode is niet ingevuld.'); +DEF_FAC_MESSAGE ('AKZ_U_AKZ_SCHNIVO_UPPER', 'De schoonmaakcode is niet uniek.'); +DEF_FAC_MESSAGE ('AKZ_C_AKZ_SCHNIVO_KENGETAL', 'Het kengetal mag niet kleiner zijn dan nul.'); + +#endif // AKZ + + +-- LOG#1729 +INSERT INTO fac_entity_name VALUES ('MENU_INS_ONDERDEELSRT' ,'O'||CHR(38)||'nderdeelsoort' , NULL, NULL); +-- LOG#1817 +INSERT INTO fac_entity_name VALUES ('MENU_ALG_RUIMTE' ,'R'||CHR(38)||'uimte' , NULL, NULL); + + +-- LOG#1691 +ALTER TABLE prs_bedrijf +MODIFY prs_bedrijf_uitvoerende default 1; +UPDATE prs_bedrijf +SET prs_bedrijf_uitvoerende = 1; + +-- LOG#983 +DEF_FAC_MESSAGE ('FAC_M025', 'Gebruiker ''%1%'''); + +-- LOG#1594 +UPDATE fac_message +SET fac_message_text='Verwijderen is niet mogelijk omdat er nog delen bij de deelsoort zijn.' +WHERE fac_message_code='INS_M013'; + +/* werk vervolgens het versienummer en de datum bij (van alle interne modules) */ +UPDATE fac_module + SET fac_module_version='01.37', + fac_module_date=TO_CHAR(SYSDATE,'YYYYMMDD'); + +-- LOG#1717 +DEF_FAC_MESSAGE ('MENU_MLD_HERKTEKST' ,CHR(38)||'Herkenningstekst', NULL, NULL); + +-- LOG#1821 +#ifdef CAD +CREATE_TABLE(cad_tekening, NORMAAL_PRIVILEGE) +( + cad_tekening_key + NUMBER(10) + CONSTRAINT cad_k_cad_tekening_key PRIMARY KEY, + ins_discipline_key + NUMBER(10) + NOT_NULL(ins_discipline_key, cad_c_ins_discipline_key) + CONSTRAINT cad_r_ins_discipline_key REFERENCES ins_tab_discipline(ins_discipline_key), + alg_locatie_key + NUMBER(10) + NOT_NULL(alg_locatie_key, cad_c_alg_locatie_key) + CONSTRAINT cad_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key), + alg_verdieping_key /* is optioneel NULL */ + NUMBER(10) + CONSTRAINT cad_r_alg_verdieping_key REFERENCES alg_verdieping(alg_verdieping_key), + cad_tekening_filenaam /* excl. leading PATH (komt uit INI-file), incl. extension */ + VARCHAR2(256) + NOT_NULL(cad_tekening_filenaam, cad_c_cad_tekening_filenaam), + cad_tekening_geimporteerd /* geeft aan of de tekening al is geimporteerd: */ + DATE /* NULL indien niet, anders datum van importeren */ + DEFAULT NULLDATUM, + CONSTRAINT cad_u_cad_tekening UNIQUE(ins_discipline_key,alg_locatie_key,alg_verdieping_key) +); + +CREATE_VIEW(cad_v_cad_aanwezigtekening, NORMAAL_PRIVILEGE) AS + SELECT * FROM cad_tekening C_T + WHERE C_T.ins_discipline_key IN (SELECT ins_discipline_key + FROM ins_discipline); + +CREATE INDEX cad_i_cad_tekening1 ON cad_tekening(ins_discipline_key); +CREATE INDEX cad_i_cad_tekening2 ON cad_tekening(alg_locatie_key); +CREATE INDEX cad_i_cad_tekening3 ON cad_tekening(alg_verdieping_key); + +CREATE SEQUENCE cad_s_cad_tekening_key MINVALUE 1; + +CREATE_TRIGGER(cad_t_cad_tekening_B_IU) +BEFORE INSERT OR UPDATE ON cad_tekening +FOR EACH ROW +BEGIN + UPDATE_PRIMARY_KEY(cad_tekening_key, cad_s_cad_tekening_key); +END; +/ + +INSERT INTO fac_entity_name VALUES ('CAD_TEKENING_OMSCHR', 'Tekening', NULL, NULL); + + +_FAC_MODULE('CAD','AutoCAD koppeling') + + + +#ifdef AKZ +DEF_FAC_MESSAGE ('CAD_C_INS_DISCIPLINE_KEY' , 'De vakgroep behorende bij de tekening is niet ingevuld.'); +DEF_FAC_MESSAGE ('CAD_R_INS_DISCIPLINE_KEY' , 'De tekening refereert naar een ongeldige vakgroep.'); +DEF_FAC_MESSAGE ('CAD_U_CAD_TEKENING' , 'De tekening is niet uniek voor de combinatie vakgroep, locatie en verdieping.'); +#else +DEF_FAC_MESSAGE ('CAD_C_INS_DISCIPLINE_KEY' , 'De discipline behorende bij de tekening is niet ingevuld.'); +DEF_FAC_MESSAGE ('CAD_R_INS_DISCIPLINE_KEY' , 'De tekening refereert naar een ongeldige discipline.'); +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('CAD_U_CAD_TEKENING' , 'De tekening is niet uniek voor de combinatie discipline, object en verdieping.'); +#else +DEF_FAC_MESSAGE ('CAD_U_CAD_TEKENING' , 'De tekening is niet uniek voor de combinatie discipline, locatie en verdieping.'); +#endif +#endif // AKZ +#if defined(BCO)||defined(BEB)||defined(LEV)||defined(MRA) +DEF_FAC_MESSAGE ('CAD_C_ALG_LOCATIE_KEY' , 'Het object behorende bij de tekening is niet ingevuld.'); +DEF_FAC_MESSAGE ('CAD_R_ALG_LOCATIE_KEY' , 'De tekening refereert naar een ongeldig object.'); +#else +DEF_FAC_MESSAGE ('CAD_C_ALG_LOCATIE_KEY' , 'De locatie behorende bij de tekening is niet ingevuld.'); +DEF_FAC_MESSAGE ('CAD_R_ALG_LOCATIE_KEY' , 'De tekening refereert naar een ongeldige locatie.'); +#endif +DEF_FAC_MESSAGE ('CAD_R_ALG_VERDIEPING_KEY' , 'De tekening refereert naar een ongeldige bouwlaag.'); +DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_FILENAAM' , 'De bestandsnaam van de tekening is niet ingevuld.'); +#endif // CAD + +COMMIT; + +SPOOL OFF diff --git a/_UP/138TO139.SRC b/_UP/138TO139.SRC new file mode 100644 index 00000000..badd9aa8 --- /dev/null +++ b/_UP/138TO139.SRC @@ -0,0 +1,376 @@ +set echo on +SPOOL 138to139 +-- +-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\138TO139.SQL] +-- +-- Update script van Facilitor 2.0 versie 1.38 naar 1.39 +-- + +/* + * 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. + * + * Revisie: + * + * --- 01.39 --- + * *** LET OP: een deel van dit updatescript is reeds opgeleverd! *** + */ + +#include "modules.h" +#include "comsql.h" + +set heading off + +clear screen + +/* + * 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. + */ + +PROMPT *********************************************************************** +PROMPT +PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.38 naar 01.39 +PROMPT +SELECT 'De huidige versie van Facilitor zou moeten zijn 01.38 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 heading on + +/* denk aan #ifdef constructies! */ + +/* PLAATS HIERTUSSEN DE UPDATES */ + + + +#ifdef CAD + +-- Voeg veld cadlayer toe aan tabel ins_srtdeel +ALTER TABLE ins_srtdeel + ADD ins_srtdeel_cadlayer VARCHAR2(30); + +-- Voeg veld type-tekening toe +ALTER TABLE cad_tekening +ADD +(cad_tekening_type + VARCHAR2(3) + NOT_NULL (cad_tekening_type, cad_c_cad_tekening_type) + CONSTRAINT cad_c_cad_tekening_type2 CHECK(cad_tekening_type = 'P' + OR cad_tekening_type = 'C' + OR cad_tekening_type = 'D') +); + +CREATE_VIEW(cad_v_cad_aanwezigtekening, NORMAAL_PRIVILEGE) AS + SELECT * FROM cad_tekening C_T + WHERE C_T.ins_discipline_key IN (SELECT ins_discipline_key + FROM ins_discipline) + OR C_T.ins_discipline_key IS NULL; + +CREATE_VIEW(cad_v_cad_tekening_gegevens, NORMAAL_PRIVILEGE) + (cad_tekening_key, + alg_locatie_key, + alg_locatie_code, + alg_gebouw_key, + alg_gebouw_code, + alg_verdieping_key, + alg_verdieping_omschrijving, + ins_discipline_key, + ins_discipline_omschrijving) AS + SELECT C_T.cad_tekening_key, + C_T.alg_locatie_key, + ALG_L.alg_locatie_code, + ALG_G.alg_gebouw_key, + ALG_G.alg_gebouw_code, + C_T.alg_verdieping_key, + ALG_V.alg_verdieping_omschrijving, + C_T.ins_discipline_key, + INS_D.ins_discipline_omschrijving + FROM alg_locatie ALG_L, + alg_verdieping ALG_V, + alg_gebouw ALG_G, + ins_discipline INS_D, + cad_v_cad_aanwezigtekening C_T + WHERE C_T.alg_locatie_key = ALG_L.alg_locatie_key + AND C_T.alg_verdieping_key = ALG_V.alg_verdieping_key (+) + AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key (+) + AND C_T.ins_discipline_key = INS_D.ins_discipline_key (+); + +CREATE_VIEW(cad_v_plattegrond, CAD_PRIVILEGE) AS + SELECT * FROM cad_tekening + WHERE UPPER(cad_tekening_type) = 'P'; + +CREATE_VIEW(cad_v_contour, CAD_PRIVILEGE) AS + SELECT * FROM cad_tekening + WHERE UPPER(cad_tekening_type) = 'C'; + +CREATE_VIEW(cad_v_discipline, CAD_PRIVILEGE) AS + SELECT * FROM cad_tekening + WHERE UPPER(cad_tekening_type) = 'D'; + +/* 29-06-1998 KTH LOG#1905 + * Views die door de AutoCAD Map-user FCLTCAD worden geraadpleegd. + * Bij die user heet de SYNONYM ernaar toe wellicht anders. + */ + +CREATE_VIEW(cad_v_alg_gebouw, CAD_PRIVILEGE) + (alg_gebouw_key, + alg_gebouw_cadlabel, + alg_gebouw_code) AS + SELECT alg_gebouw_key, + alg_gebouw_code, + alg_gebouw_code + FROM alg_v_aanweziggebouw; + +CREATE_VIEW(cad_v_alg_ruimte, CAD_PRIVILEGE) + (alg_ruimte_key, + alg_ruimte_cadlabel, + alg_ruimte_nr, + alg_verdieping_key) AS + SELECT alg_ruimte_key, + alg_ruimte_nr, + alg_ruimte_nr, + alg_verdieping_key + FROM alg_v_aanwezigruimte; + +/* View met ALLE tekeningen, ongeacht de autorisatie; minimale kolommen, gebruikt in CAD_PAC.SRC */ +CREATE_VIEW(cad_v_cad_tekening, CAD_PRIVILEGE) AS + SELECT ins_discipline_key, + alg_locatie_key, + alg_verdieping_key, + cad_tekening_type, + cad_tekening_filenaam + FROM cad_tekening C_T; + +#ifdef INS +/* 29-06-1998 KTH LOG#1905 + * View CAD_V_INS_DEEL wordt door de AutoCAD Map-user FCLTCAD geraadpleegd. + * Bij die user heet de SYNONYM ernaar toe wellicht anders. + */ +#ifdef AKZ +/* voor AKZ wordt alleen het laatste stuk van de omschrijving gebruikt */ +CREATE_VIEW(cad_v_ins_deel, CAD_PRIVILEGE) + (ins_deel_key, + ins_deel_cadlabel, + ins_deel_upper) AS + SELECT ins_deel_key, + SUBSTR(ins_deel_upper, LENGTH(ins_deel_upper)-5), /* laatste 5 karakters */ + ins_deel_upper + FROM ins_deel + WHERE ins_deel_verwijder IS NULL; /* alleen de logisch aanwezige delen */ +#else +CREATE_VIEW(cad_v_ins_deel, CAD_PRIVILEGE) + (ins_deel_key, + ins_deel_cadlabel, + ins_deel_upper) AS + SELECT ins_deel_key, + ins_deel_upper, + ins_deel_upper + FROM ins_deel + WHERE D.ins_deel_verwijder IS NULL; /* alleen de logisch aanwezige delen */ + + +CREATE OR REPLACE PACKAGE cad AS + FUNCTION cad_f_deel_get_locatie(key IN NUMBER) RETURN NUMBER; + FUNCTION cad_f_deel_get_verdieping(key IN NUMBER) RETURN NUMBER; + FUNCTION cad_f_deel_get_discipline(key IN NUMBER) RETURN NUMBER; + FUNCTION cad_f_deel_get_tekeningnaam(key IN NUMBER) RETURN VARCHAR2; + FUNCTION cad_f_ruimte_get_tekeningnaam(key IN NUMBER) RETURN VARCHAR2; + PROCEDURE cad_p_ruimte_update_opp(key IN NUMBER, VloerOpp IN NUMBER); + + /* garandeer dat de functies de database-state en package-state niet beinvloeden + * (anders kunnen ze niet zondermeer in een view worden gebruikt) + */ + + PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_locatie, WNDS, WNPS); + PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_verdieping, WNDS, WNPS); + PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_discipline, WNDS, WNPS); + PRAGMA RESTRICT_REFERENCES (cad_f_deel_get_tekeningnaam, WNDS, WNPS); + PRAGMA RESTRICT_REFERENCES (cad_f_ruimte_get_tekeningnaam, WNDS, WNPS); +END cad; + + +CREATE OR REPLACE PACKAGE BODY cad AS + + FUNCTION cad_f_deel_get_locatie(Key IN NUMBER) RETURN NUMBER IS + locatie_key NUMBER(10); + BEGIN + SELECT ins_alg_locatie_key + INTO locatie_key + FROM all_v_aanwezigdeel + /* FROM ins_deel -- de tabel i.o.m. PF view gebruiken */ + WHERE ins_deel_key = Key; + RETURN locatie_key; + EXCEPTION + WHEN NO_DATA_FOUND THEN + RETURN NULL; + END cad_f_deel_get_locatie; + + FUNCTION cad_f_deel_get_verdieping(Key IN NUMBER) RETURN NUMBER IS + verdieping_key NUMBER(10); + BEGIN + SELECT ALG_G.alg_verdieping_key + INTO verdieping_key + FROM alg_ruimte ALG_G, ins_deel INS_D /* de tabel! */ + WHERE INS_D.ins_deel_key = Key + AND INS_D.ins_alg_ruimte_key = ALG_G.alg_ruimte_key; + RETURN verdieping_key; + EXCEPTION + WHEN NO_DATA_FOUND THEN + RETURN NULL; + END cad_f_deel_get_verdieping; + + FUNCTION cad_f_deel_get_discipline(Key IN NUMBER) RETURN NUMBER IS + discipline_key NUMBER(10); + BEGIN + SELECT ins_discipline_key + INTO discipline_key + FROM all_v_aanwezigdeel + /* FROM ins_deel -- de tabel! */ + WHERE ins_deel_key = Key; + RETURN discipline_key; + EXCEPTION + WHEN NO_DATA_FOUND THEN + RETURN NULL; + END cad_f_deel_get_discipline; + + FUNCTION cad_f_deel_get_tekeningnaam(Key IN NUMBER) RETURN VARCHAR2 IS + tekeningnaam VARCHAR2(256); + locatie_key NUMBER(10); + verdieping_key NUMBER(10); + discipline_key NUMBER(10); + BEGIN + locatie_key := cad_f_deel_get_locatie(Key); + verdieping_key := cad_f_deel_get_verdieping(Key); + discipline_key := cad_f_deel_get_discipline(Key); + + IF (locatie_key IS NOT NULL AND + verdieping_key IS NOT NULL AND + discipline_key IS NOT NULL) THEN + BEGIN + SELECT cad_tekening_filenaam + INTO tekeningnaam + FROM cad_v_cad_tekening /* ja deze! */ + WHERE alg_locatie_key = locatie_key + AND alg_verdieping_key = verdieping_key + AND ins_discipline_key = discipline_key; + RETURN tekeningnaam; + EXCEPTION + WHEN NO_DATA_FOUND THEN + /* raise_application_error(-20000, 'ins_m166'); */ + RETURN NULL; + END; + ELSE + RETURN NULL; + END IF; + END cad_f_deel_get_tekeningnaam; + + FUNCTION cad_f_ruimte_get_tekeningnaam(Key IN NUMBER) RETURN VARCHAR2 IS + tekeningnaam VARCHAR2(256); + locatie_key NUMBER(10); + verdieping_key NUMBER(10); + BEGIN + SELECT alg_locatie_key, alg_verdieping_key + INTO locatie_key, verdieping_key + FROM alg_v_ruimte_gegevens + WHERE alg_ruimte_key = Key; + + IF (locatie_key IS NOT NULL AND + verdieping_key IS NOT NULL) THEN + BEGIN + SELECT cad_tekening_filenaam + INTO tekeningnaam + FROM cad_v_cad_tekening /* ja deze! */ + WHERE alg_locatie_key = locatie_key + AND alg_verdieping_key = verdieping_key + AND cad_tekening_type = 'C'; + RETURN tekeningnaam; + EXCEPTION + WHEN NO_DATA_FOUND THEN + /* raise_application_error(-20000, 'ins_m166'); */ + RETURN NULL; + END; + ELSE + RETURN NULL; + END IF; + END cad_f_ruimte_get_tekeningnaam; + + /* + * CAD_P_RUIMTE_UPDATE_OPP wordt aangeroepen vanuit AutoCAD + * en wijzigt de vloeroppervlakte van een opgegeven ruimte + * + * Merk op dat een eventuele EXCEPTION hier niet expliciet wordt afgevangen! + */ + + PROCEDURE cad_p_ruimte_update_opp(Key IN NUMBER, VloerOpp IN NUMBER) IS + BEGIN + /* alleen indien het een logisch aanwezige ruimte betreft passen we de opp aan */ + + UPDATE alg_v_aanwezigruimte + SET alg_ruimte_bruto_vloeropp = VloerOpp + WHERE alg_ruimte_key = Key; + COMMIT; + END cad_p_ruimte_update_opp; + +END cad; + +/* View met tekening bij ins_deel_key, ongeacht de autorisatie, gebruikt CAD_PAC.SRC + * Wordt vanuit AutoCAD gebruikt. + */ +CREATE_VIEW(cad_v_ins_deel_tekening, CAD_PRIVILEGE) AS + SELECT ins_deel_key, + cad.cad_f_deel_get_tekeningnaam(ins_deel_key) cad_tekeningnaam + FROM ins_deel; + +/* View met tekening bij alg_ruimte_key, ongeacht de autorisatie, gebruikt CAD_PAC.SRC + * Wordt vanuit AutoCAD gebruikt. + */ +CREATE_VIEW(cad_v_alg_ruimte_tekening, CAD_PRIVILEGE) AS + SELECT alg_ruimte_key, + cad.cad_f_ruimte_get_tekeningnaam(alg_ruimte_key) cad_tekeningnaam + FROM alg_ruimte; + +DEF_FAC_ENTITY ('INS_PLAATS_GRAFISCH', 'Grafisch', NULL, NULL); +DEF_FAC_ENTITY ('ALG_PLAATS_GRAFISCH', 'Grafisch', NULL, NULL); + +DEF_FAC_MESSAGE ('ALG_M226', 'Dit programma-onderdeel ondersteunt niet de multi-select mogelijkheid.'); +DEF_FAC_MESSAGE ('CAD_M003', 'Geen contourtekening gevonden.'); +DEF_FAC_MESSAGE ('INS_M165', 'Er is geen AutoCAD symbool beschikbaar voor dit installatiedeel.'); +DEF_FAC_MESSAGE ('INS_M166', 'Geen AutoCadtekening beschikbaar voor dit installatiedeel.'); + +#ifdef AKZ +DEF_FAC_MESSAGE ('cad_m004' , 'Aangegeven dat het een Vakgroeptekening betreft, maar geen Vakgroep gekozen.'); +DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE' , 'Het type tekening moet ingevuld worden.'); +DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE2' , 'Type tekening moet een Plattegrond-, een Contour - of een Vakgroeptekening zijn.'); +#else +DEF_FAC_MESSAGE ('cad_m004' , 'Aangegeven dat het een Disciplinetekening betreft, maar geen Discipline gekozen.'); +DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE' , 'Het type tekening moet ingevuld worden.'); +DEF_FAC_MESSAGE ('CAD_C_CAD_TEKENING_TYPE2' , 'Type tekening moet een Plattegrond-, een Contour - of een Disciplinetekening zijn.'); +#endif // AKZ + +#endif CAD +/************************************************************************************************************* + * Het bovenstaande script is op 06/08/1998 door PF geinstalleerd bij de AKZO * * + *************************************************************************************************************/ + +COMMIT; + +SPOOL OFF diff --git a/_UP/139TO140.SRC b/_UP/139TO140.SRC new file mode 100644 index 00000000..590c97c7 --- /dev/null +++ b/_UP/139TO140.SRC @@ -0,0 +1,70 @@ +set echo on +SPOOL 139to140 +-- +-- [Z:\PROJECT\SM44\SRC\SQL\_UPDATE\139TO140.SQL] +-- +-- Update script van Facilitor 2.0 versie 1.39 naar 1.40 +-- + +/* + * 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. + * + * Revisie: + * + * --- 01.40 --- + + ********* IS NIETS INGEZET DOOR BIV ?!?!?!?!?! *********** + + * + */ + +#include "modules.h" +#include "comsql.h" + +set heading off + +clear screen + +/* + * 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. + */ + +PROMPT *********************************************************************** +PROMPT +PROMPT UPGRADE SCRIPT van Facilitor 2.0 versie 01.39 naar 01.40 +PROMPT +SELECT 'De huidige versie van Facilitor zou moeten zijn 01.39 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 heading on + +/* denk aan #ifdef constructies! */ + +/* PLAATS HIERTUSSEN DE UPDATES */ + + + +COMMIT; + +SPOOL OFF diff --git a/_UP/DIRINFO b/_UP/DIRINFO new file mode 100644 index 00000000..4abf3307 --- /dev/null +++ b/_UP/DIRINFO @@ -0,0 +1,3 @@ +111to112 KTH Lang niet volledig script +112to113 KTH Betrof geen SQL-wijzigingen (script is leeg) +113to114 KTH ...