Files
Database/_UP/118TO119.SRC
1998-09-23 08:56:36 +00:00

1518 lines
57 KiB
Plaintext

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