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

1653 lines
66 KiB
Plaintext

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 <modules.h>
#include <comsql.h>
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!