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

1256 lines
50 KiB
Plaintext

SPOOL 125to126
/*
* [V:\SQL\_UPDATE]
*
* Update script van versie 01.25 naar 01.26
*
* Dit script wordt geprecompileerd dus is het mogelijk (verplicht)
* om #ifdef's te gebruiken voor de diverse modules.
*
* History:
*
* 10-04-97 AH #1235, Afvoerlijst printen gewijzigd. Nu in LEV016
* module-parameter toegevoegd. LEV012 vervalt.
* 08-04-97 AH #1234, Gewijzigde functionaliteit van LEV_LEVERING en LEV_TOEWIJZING
* Tabellen LEV_LEVERING/LEV_LEVERREGEL gewijzigd, LEV_TOEWIJZING
* vervalt.
* 09-04-97 AH Niet alleen de positieve bestelregel_aantallen moeten meegenomen
* worden. Ook de negatieve.
* 09-04-97 AH #1234, Extra LEV-messages toegevoegd
* 09-04-97 AH #1234, Het form LEV114 vervalt en LEV115 komt erbij.
* 08-04-97 AH #1229. LEV_P_BEPAAL_LEV_BESTELSTATUS toegevoegd
* 08-04-97 AH #1229, LEV_BESTELLING_BTW en LEV_BESTELREGEL_TOTAAL toegevoegd
* 07-04-97 AH #1225: HUI_V_AANWEZIGHUISMEESTER aangepast.
* 07-04-97 AH #1227: HUI_M062/063 toegevoegd
* 07-04-97 AH #1223, View HUI_V_RUIMTEBOEKING_GEGEVENS uitgebreid met
* ALG_SRTRUIMTE_KEY
* 26-03-97 AH RABO: INS_M136+137 toegevoegd.
* 19-03-97 AH RABO:INS_V_INS_IMPORT_DEEL aangemaakt.
* 17-03-97 AH RABO: INS_V_DEEL_GEGEVENS uitgebreidt met FACx-velden
* 18-03-97 AH Voor INS_DEEL_IMPORT een INS_IMPORT-tabel aangemaakt
* 20-03-97 AH RABO: INS024, 025, 026 toegevoegd
* 20-03-97 AH RABO: INS_M119/120 toegevoegd, INS_DEEL_OPHEFFEN, INS_DEEL_COUNT
* toegevoegd. INS_M121-135 toegevoegd. INS_IMPORT-entities teogevoegd
* en INS_DEEL-entities toegevoegd
* 10-03-97 AH RABO: ATT_M012 - ATT_M022, INS_SRTDEEL_ACAD_TAGVALUE toegevoegd
* INS-zaken en ATT-zaken gewijzigd, INS126 teogevoegd
* 11-02-97 AH Sleutelnr. staat op verkeerde plaats op het scherm INV114
* Nu op plaats 1
* 11-02-97 AH DOOS_IMP: Doos zaken toegevoegd
* 29-01-97 AH #1186, Omdat MRA_V_GEINVOORSCHR een SELECT DISTINCT doet over alle
* velden van MRA_VOORSCHRIFT, komt er en ORA-1467-error bij printen
* van Checklist. De view MRA_V_GEINVOORSCHR is nu aangepast door
* er nog maar een view tussen te schuiven, die de DISTINCT zoekt
* MRA_V_GEINVOORSCHR zoekt de rest er wel bij. Deze view heet
* MRA_V_GEINVOORSCHR_BRUG2
* 27-01-97 AH Creation.
*/
#ifdef MRA
CREATE OR REPLACE VIEW mra_v_geinvoorschr (mra_onroerendgoed_keys,
mra_voorschrift_key,
mra_onrgoedvoorschr_key,
mra_voorschrift_afk,
mra_voorschrift_afk_upper,
mra_voorschrift_omschrijving,
mra_voorschrift_module,
mra_voorschrift_voldaan) AS
SELECT DISTINCT mra_GVB.mra_onroerendgoed_keys,
mra_GVB.mra_voorschrift_key,
mra_GVB.mra_onrgoedvoorschr_key,
mra_V.mra_voorschrift_afk,
mra_V.mra_voorschrift_afk_upper,
mra_V.mra_voorschrift_omschrijving,
mra_V.mra_voorschrift_module,
mra_GVB.mra_voorschrift_voldaan
FROM mra_voorschrift MRA_V,
mra_v_geinvoorschr_brug mra_GVB
WHERE mra_V.mra_voorschrift_key = mra_GVB.mra_voorschrift_key;
CREATE OR REPLACE VIEW mra_v_ongein_rapport (mra_onroerendgoed_keys,
mra_voorschrift_key,
mra_voorschrift_afk,
mra_voorschrift_afk_upper,
mra_voorschrift_omschrijving,
mra_voorschrift_module,
mra_manco_omschrijving,
mra_manco_toelichting,
mra_manco_key)
AS
SELECT mra_GV.mra_onroerendgoed_keys,
mra_GV.mra_voorschrift_key,
mra_GV.mra_voorschrift_afk,
mra_GV.mra_voorschrift_afk_upper,
mra_GV.mra_voorschrift_omschrijving,
mra_GV.mra_voorschrift_module,
mra_M.mra_manco_omschrijving,
mra_M.mra_manco_toelichting,
mra_M.mra_manco_key
FROM mra_v_geinvoorschr mra_GV,
mra_manco mra_M
WHERE mra_GV.mra_voorschrift_key = mra_M.mra_voorschrift_key (+) AND
mra_GV.mra_voorschrift_voldaan IS NULL;
CREATE OR REPLACE VIEW mra_v_voorschrift_rapport
(
mra_onrgoedvoorschr_key,
mra_onrgoed_keys,
mra_voorschr_key,
mra_onrgoedvoorschr_voldaan,
mra_onrgoedmanco_key,
mra_voorschr_afk,
mra_voorschr_afk_upper,
mra_voorschr_omschrijving,
mra_voorschrift_module,
mra_manco_omschrijving,
mra_manco_toelichting
)
AS
SELECT mra_OV.mra_onrgoedvoorschr_key,
mra_OV.mra_onroerendgoed_keys,
mra_OV.mra_voorschrift_key,
mra_OV.mra_onrgoedvoorschr_voldaan,
mra_OM.mra_onrgoedmanco_key,
mra_V.mra_voorschrift_afk,
mra_V.mra_voorschrift_afk_upper,
mra_V.mra_voorschrift_omschrijving,
mra_V.mra_voorschrift_module,
mra_M.mra_manco_omschrijving,
mra_M.mra_manco_toelichting
FROM mra_onrgoedvoorschr mra_OV,
mra_onrgoedmanco mra_OM,
mra_voorschrift mra_V,
mra_manco mra_M
WHERE mra_OM.mra_onrgoedvoorschr_key (+) = mra_OV.mra_onrgoedvoorschr_key AND
mra_OV.mra_voorschrift_key = mra_V.mra_voorschrift_key AND
mra_M.mra_manco_key (+) = mra_OM.mra_manco_key AND
mra_OV.mra_onrgoedvoorschr_voldaan = 0
UNION
SELECT mra_OV.mra_onrgoedvoorschr_key,
mra_OV.mra_onroerendgoed_keys,
mra_OV.mra_voorschrift_key,
mra_OV.mra_onrgoedvoorschr_voldaan,
to_number(NULL),
mra_V.mra_voorschrift_afk,
mra_V.mra_voorschrift_afk_upper,
mra_V.mra_voorschrift_omschrijving,
mra_V.mra_voorschrift_module,
NULL,
NULL
FROM mra_onrgoedvoorschr mra_OV,
mra_voorschrift mra_V
WHERE mra_OV.mra_voorschrift_key = mra_V.mra_voorschrift_key AND
mra_OV.mra_onrgoedvoorschr_voldaan = 1;
DELETE FROM fac_entity_name
WHERE fac_entity_system_name IN ('MRA_VOORSCHRIFT',
'MRA_VOORSCHRIFT_OMSCHRIJVING',
'MRA_VOORSCHRIFT_AFK',
'MRA_VOORSCHRIFT_MODULE',
'MRA_RAPPORT',
'MRA_FORMULIER',
'MRA_MANCOLIJST',
'MRA_VOORSCHRIFT_BUTTON',
'MRA_BESTEMMING',
'MRA_SUB_BESTEMMING');
INSERT INTO FAC_ENTITY_NAME VALUES('MRA_VOORSCHRIFT', 'Checklist', 'Checlisten', 'het');
INSERT INTO FAC_ENTITY_NAME VALUES('MRA_VOORSCHRIFT_OMSCHRIJVING', 'Toelichting', 'Toelichtingen', 'de');
INSERT INTO FAC_ENTITY_NAME VALUES('MRA_VOORSCHRIFT_AFK', 'Checklistvraag', 'Checklistvragen', 'de');
INSERT INTO FAC_ENTITY_NAME VALUES('MRA_VOORSCHRIFT_MODULE', 'Type checklist', NULL, NULL);
INSERT INTO FAC_ENTITY_NAME VALUES('MRA_RAPPORT', 'Rapport', NULL, 'het');
INSERT INTO FAC_ENTITY_NAME VALUES('MRA_FORMULIER', 'Checklist', NULL, 'het');
INSERT INTO FAC_ENTITY_NAME VALUES('MRA_MANCOLIJST', 'Mancolijst', NULL, 'de');
INSERT INTO FAC_ENTITY_NAME VALUES('MRA_VOORSCHRIFT_BUTTON', 'Checklist', NULL, NULL);
INSERT INTO FAC_ENTITY_NAME VALUES('MRA_BESTEMMING', 'Proces', 'Processen', 'de');
INSERT INTO FAC_ENTITY_NAME VALUES('MRA_SUB_BESTEMMING', 'Sub-proces', 'Sub-processen', 'de');
DELETE FROM fac_message
WHERE fac_message_code IN ('MRA_M100',
'MRA_M101',
'MRA_M107',
'MRA_M029',
'MRA_M030',
'MRA_M031',
'MRA_M033',
'MRA_M51',
'MRA_M52',
'MRA_M54',
'MRA_M56',
'MRA_M57',
'MRA_M037',
'MRA_M038',
'MRA_M039',
'MRA_M040',
'MRA_M041',
'MRA_M042',
'MRA_M043',
'MRA_M044',
'MRA_M045',
'MRA_M046',
'MRA_M083',
'MRA_M084',
'MRA_M085',
'MRA_M086',
'MRA_M097',
'MRA_M098',
'MRA_M102',
'MRA_M103',
'MRA_M104',
'MRA_M105',
'ONRG_VOOR',
'ONRG_MANC',
'MRA_BEST_G',
'MRA_BEST_R',
'MRA_BEST_T',
'MANC_V_MIL',
'MANC_V_ARB',
'MIL_VORS',
'ARB_VORS');
INSERT INTO FAC_MESSAGE VALUES('MRA_M100', 'Manco''s/Onroerendgoed');
INSERT INTO FAC_MESSAGE VALUES('MRA_M101', 'Manco''s/Checklistvraag');
INSERT INTO FAC_MESSAGE VALUES('MRA_M107', 'Overzicht Checklisten');
INSERT INTO FAC_MESSAGE VALUES('MRA_M108', 'Rapport geinventariseerde checklist');
INSERT INTO FAC_MESSAGE VALUES('MRA_M109', 'Checklist');
INSERT INTO FAC_MESSAGE VALUES('MRA_M110', 'Ingevulde checklist');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M029', 'De deelsoort komt nog voor in checklistvragen');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M030', 'De onderdeelsoort komt nog voor in checklistvragen');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M031', 'De elementsoort komt nog voor in checklistvragen');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M033', 'Verwijderen checlistvraag ');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M51', 'Verwijderen manco bij checklistvraag');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M52', 'Manco bij checklistvraag wordt gebruikt. Doorgaan?');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M54', 'Checlistvraag is niet ingevuld.');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M56', 'Verwijderen manco bij geinventariseerde checklistvraag ');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M57', 'Er is een manco opgegeven. Aan deze checklistvraag kan niet voldaan zijn.');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M037', 'Verwijderen checklistvraag bij gebouwsoort ');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M038', 'Verwijderen checklistvraag bij ruimtesoort ');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M039', 'Verwijderen checklistvraag ');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M040', 'Verwijderen checklistvraag ');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M041', 'Checklistvraag bij gebouwsoort');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M042', 'Checklistvraag bij ruimtesoort');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M043', 'Verwijderen proces ');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M044', 'Proces is niet ingevuld');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M045', 'Checklistvraag bij proces');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M046', 'Verwijderen checklistvraag bij proces ');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M083', 'Toelichting checklistvraag is niet ingevuld');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M084', 'Toelichting checklistvraag bestaat al');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M085', 'Omschrijving proces is niet ingevuld');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M086', 'Omschrijving proces bestaat al');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M097', 'Milieuchecklist bij proces');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M098', 'Arbovchecklist bij proces');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M102', 'Bij checklistvraag ''%1%'' zijn geen manco''s aangegeven.');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M103', 'Deze functie is niet beschikbaar bij meerdere checklistvragen.');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M104', 'De geselecteerde checklistvragen verwijderen?');
INSERT INTO FAC_MESSAGE VALUES ('MRA_M105', 'Rapport van checklistvragen en manco''s');
INSERT INTO FAC_MESSAGE VALUES ('ONRG_VOOR', 'Geinventariseerde checklistvraag ');
INSERT INTO FAC_MESSAGE VALUES ('ONRG_MANC', 'Manco bij geinventariseerde checklistvraag');
INSERT INTO FAC_MESSAGE VALUES ('MRA_BEST_G', 'Proces bij gebouw');
INSERT INTO FAC_MESSAGE VALUES ('MRA_BEST_R', 'Proces bij ruimte');
INSERT INTO FAC_MESSAGE VALUES ('MRA_BEST_T', 'Proces bij systeemcluster');
INSERT INTO FAC_MESSAGE VALUES ('MANC_V_MIL', 'Manco bij milieuchecklist');
INSERT INTO FAC_MESSAGE VALUES ('MANC_V_ARB', 'Manco bij arbovchecklist');
INSERT INTO FAC_MESSAGE VALUES ('MIL_VORS', 'Milieuchecklist');
INSERT INTO FAC_MESSAGE VALUES ('ARB_VORS', 'Arbochecklist');
CREATE_VIEW(mra_v_geinvoorschr_brug2,NORMAAL_PRIVILEGE)
(mra_onroerendgoed_keys,
mra_voorschrift_key,
mra_onrgoedvoorschr_key,
mra_voorschrift_voldaan) AS
SELECT DISTINCT mra_GVB.mra_onroerendgoed_keys,
mra_GVB.mra_voorschrift_key,
mra_GVB.mra_onrgoedvoorschr_key,
mra_GVB.mra_voorschrift_voldaan
FROM mra_v_geinvoorschr_brug mra_GVB;
CREATE_VIEW(mra_v_geinvoorschr,NORMAAL_PRIVILEGE)
(mra_onroerendgoed_keys,
mra_voorschrift_key,
mra_onrgoedvoorschr_key,
mra_voorschrift_afk,
mra_voorschrift_afk_upper,
mra_voorschrift_omschrijving,
mra_voorschrift_module,
mra_voorschrift_voldaan) AS
SELECT mra_GVB.mra_onroerendgoed_keys,
mra_GVB.mra_voorschrift_key,
mra_GVB.mra_onrgoedvoorschr_key,
mra_V.mra_voorschrift_afk,
mra_V.mra_voorschrift_afk_upper,
mra_V.mra_voorschrift_omschrijving,
mra_V.mra_voorschrift_module,
mra_GVB.mra_voorschrift_voldaan
FROM mra_voorschrift MRA_V,
mra_v_geinvoorschr_brug2 mra_GVB
WHERE mra_V.mra_voorschrift_key = mra_GVB.mra_voorschrift_key;
#endif // MRA
#ifdef ALG
CREATE_TABLE(DOOS_alt_object_1, BASIS_PRIVILEGE)
(
CODE
VARCHAR2(10),
OMSCHRIJVING
VARCHAR2(108)
);
CREATE_TABLE(DOOS_alt_object_2, BASIS_PRIVILEGE)
(
CODE
VARCHAR2(10),
OMSCHRIJVING
VARCHAR2(108)
);
CREATE_TABLE(DOOS_alt_object_3, BASIS_PRIVILEGE)
(
CODE
VARCHAR2(10),
OMSCHRIJVING
VARCHAR2(108),
alg_srtgebouw_key
NUMBER(10)
);
CREATE_TABLE(DOOS_adressen, BASIS_PRIVILEGE)
(
ADRESCODE
VARCHAR2(10),
NAAM
VARCHAR2(50),
ADRES
VARCHAR2(25),
POSTCODE
VARCHAR2(8),
PLAATS
VARCHAR2(20),
P_ADRES
VARCHAR2(25),
P_POSTCODE
VARCHAR2(8),
P_PLAATS
VARCHAR2(20)
);
CREATE_TABLE(DOOS_inventarisatie, BASIS_PRIVILEGE)
(
OBJECT
VARCHAR2(12),
ONDERDEEL
VARCHAR2(8),
LOCATIE
VARCHAR2(6),
LOCATIE_NUMMER
VARCHAR2(5),
HOEVEELHEID
NUMBER(10),
EENHEID
VARCHAR2(2),
LOCATIE_verdieping
VARCHAR2(3),
LOCATIE_srtruimte
VARCHAR2(3),
alg_gebouw_key
NUMBER(10),
alg_verdieping_key
NUMBER(10),
alg_srtruimte_key
NUMBER(10)
);
CREATE_TABLE(DOOS_locaties, BASIS_PRIVILEGE)
(
OBJECT
VARCHAR2(12),
CODE
VARCHAR2(6),
NIVEAU
NUMBER(1),
OMSCHRIJVING
VARCHAR2(108),
VORIGE_CODE
VARCHAR2(6),
LAATSTE_CODE
VARCHAR2(6),
alg_verdieping_key
NUMBER(10),
alg_srtruimte_key
NUMBER(10)
);
CREATE_TABLE(DOOS_objecten, BASIS_PRIVILEGE)
(
CODE
VARCHAR2(12),
NIVEAU
NUMBER(1),
OMSCHRIJVING
VARCHAR2(108),
VORIGE_CODE
VARCHAR2(12),
LAATSTE_CODE
VARCHAR2(12),
AANTAL_2
NUMBER,
ALT_OBJECT_3
VARCHAR2(10),
alg_district_key
NUMBER(10),
alg_locatie_key
NUMBER(10),
alg_gebouw_key
NUMBER(10)
);
CREATE INDEX DOOS_i_alt_object_3_1 ON DOOS_alt_object_3(CODE);
CREATE INDEX DOOS_i_alt_object_3_2 ON DOOS_alt_object_3(alg_srtgebouw_key);
CREATE INDEX DOOS_i_adressen_1 ON DOOS_adressen(ADRESCODE);
CREATE INDEX DOOS_i_inventarisatie_1 ON DOOS_inventarisatie(OBJECT);
CREATE INDEX DOOS_i_inventarisatie_2 ON DOOS_inventarisatie(LOCATIE);
CREATE INDEX DOOS_i_inventarisatie_3 ON DOOS_inventarisatie(alg_gebouw_key);
CREATE INDEX DOOS_i_inventarisatie_4 ON DOOS_inventarisatie(alg_verdieping_key);
CREATE INDEX DOOS_i_inventarisatie_5 ON DOOS_inventarisatie(alg_srtruimte_key);
CREATE INDEX DOOS_i_inventarisatie_6 ON DOOS_inventarisatie(LOCATIE_verdieping);
CREATE INDEX DOOS_i_inventarisatie_7 ON DOOS_inventarisatie(LOCATIE_srtruimte);
CREATE INDEX DOOS_i_locaties_1 ON DOOS_locaties(CODE);
CREATE INDEX DOOS_i_locaties_2 ON DOOS_locaties(alg_verdieping_key);
CREATE INDEX DOOS_i_locaties_3 ON DOOS_locaties(alg_srtruimte_key);
CREATE INDEX DOOS_i_objecten_1 ON DOOS_objecten(CODE);
CREATE INDEX DOOS_i_objecten_2 ON DOOS_objecten(NIVEAU);
CREATE INDEX DOOS_i_objecten_3 ON DOOS_objecten(alg_district_key);
CREATE INDEX DOOS_i_objecten_4 ON DOOS_objecten(alg_locatie_key);
CREATE INDEX DOOS_i_objecten_5 ON DOOS_objecten(alg_gebouw_key);
CREATE INDEX DOOS_i_objecten_6 ON DOOS_objecten(ALT_OBJECT_3);
CREATE OR REPLACE FUNCTION DOOS_BepaalVerdiepingVolgnr( code IN VARCHAR2 ) RETURN NUMBER IS
Volgnr alg_verdieping.alg_verdieping_volgnr%TYPE;
BEGIN
VolgNr := NULL;
IF UPPER(SUBSTR(code, 2, 2)) = 'ZL'
THEN
VolgNr := 98;
ELSIF UPPER(SUBSTR(code, 2, 2)) = 'DB'
THEN
VolgNr := 99;
ELSIF UPPER(SUBSTR(code, 2, 1)) = 'K'
THEN
VolgNr := 0 - TO_NUMBER(SUBSTR(code, 3, 1));
ELSE
VolgNr := TO_NUMBER(SUBSTR(code, 2, 2));
END IF;
RETURN Volgnr;
END;
/
CREATE_VIEW(DOOS_v_VerdiepingVolgnr, BASIS_PRIVILEGE)
(CODE,
alg_verdieping_volgnr) AS
SELECT D_L.CODE,
DOOS_BepaalVerdiepingVolgnr(D_L.CODE)
FROM DOOS_Locaties D_L
WHERE D_L.VORIGE_CODE = '4';
#endif // ALG
DEF_FAC_ENTITY ('FAC_DIRECTORY', 'Directory', NULL, NULL);
DEF_FAC_MESSAGE ('ALG_M210', 'District is niet ingevuld.');
DEF_FAC_MESSAGE ('FAC_M010', 'Directory is niet ingevuld.');
DEF_FAC_MESSAGE ('FAC_M011', 'Directory is ongeldig.');
DEF_FAC_MESSAGE ('DOO_M001', 'Importeren DOOS gegevens');
DEF_FAC_MESSAGE ('DOO_M002', 'In de directory %1% staan niet de goede DOOS gegevens');
DEF_FAC_MESSAGE ('DOO_M003', 'Bestand %1% kan niet geopend worden.');
DEF_FAC_MESSAGE ('DOO_M004', 'Start DOOS_import voor dienstkring %1% vanuit directory %2%.');
DEF_FAC_MESSAGE ('DOO_M005', 'Einde DOOS_import');
DEF_FAC_MESSAGE ('DOO_M006', 'Fout gevonden bij inlezen van bestand %1% in record %2%');
DEF_FAC_MESSAGE ('DOO_M007', 'Van bestand %1% %2% records ingelezen');
DEF_FAC_MESSAGE ('DOO_M008', '%1% toegevoegd');
DEF_FAC_MESSAGE ('DOO_M009', '%1% aangepast');
DEF_FAC_MESSAGE ('DOO_M010', '%1% verwijderd');
DEF_FAC_MESSAGE ('DOO_M011', '%1% kan niet toegevoegd worden [%2%]');
DEF_FAC_MESSAGE ('DOO_M012', '%1% kan niet gewijzigd worden [%2%]');
DEF_FAC_MESSAGE ('DOO_M013', '%1% kan niet verwijderd worden [%2%]');
DEF_FAC_MESSAGE ('DOO_M014', 'Bestanden worden gekopieerd naar tijdelijke directory');
DEF_FAC_MESSAGE ('DOO_M015', 'Gegevens uit bestand %1% reeds ingelezen: %2%');
DEF_FAC_MESSAGE ('DOO_M016', 'Verwijder tijdelijke importgegevens');
DEF_FAC_MESSAGE ('DOO_M017', 'Gegevens van %1% reeds ingelezen: %2%');
DEF_FAC_MESSAGE ('DOO_M018', 'Overbodige gegevens uit %1% worden verwijderd');
DEF_FAC_MESSAGE ('DOO_M019', 'Importeren is gereed');
#ifdef BEB
DEF_FAC_FORM('ALG029', NULL, NULL ,'110290','ALG_ALG029','Import DOOS gegevens');
#endif
#ifdef LEV
DELETE FROM INS_ATTRIBUTE
WHERE INS_ATTRIBUTE_KEY = 3;
INSERT INTO INS_ATTRIBUTE (
ins_srtinst_keys, ins_srtinst_type, ins_attribute_volgorde,
ins_attribute_key, ins_attribute_label, ins_attribute_type,
ins_attribute_length, ins_attribute_required, ins_attribute_min,
ins_attribute_dec, ins_attribute_toonbaar
)
SELECT ins_discipline_key, 'D', 1, 3, 'Sleutelnr.','C',15,0,0,0,1
FROM ins_discipline
WHERE ins_discipline_omschrijving = 'Inventaris';
#endif // LEV
DEF_FAC_ENTITY ('INS_SRTDEEL_ACAD_TAGVALUE', 'Tagvalue', NULL, NULL);
DEF_FAC_MESSAGE ('ATT_M012', 'Het maximum aantal attributen is bereikt.');
DEF_FAC_MESSAGE ('ATT_M013', 'De tabelnaam is niet ingevuld.');
DEF_FAC_MESSAGE ('ATT_M014', 'De kolomnaam is niet ingevuld');
DEF_FAC_MESSAGE ('ATT_M015', 'De kolomtekst is niet ingevuld');
DEF_FAC_MESSAGE ('ATT_M016', 'Het attribuutnummer is niet ingevuld');
DEF_FAC_MESSAGE ('ATT_M017', 'De waarde %1% is te lang.');
DEF_FAC_MESSAGE ('ATT_M018', 'De waarde %1% van veld %2% moet van het formaat ''%3%'' zijn.');
DEF_FAC_MESSAGE ('ATT_M019', 'De waarde %1% van veld %2% valt buiten het toegestane bereik.');
DEF_FAC_MESSAGE ('ATT_M020', 'De waarde van %1% is niet toegestaan.');
DEF_FAC_MESSAGE ('ATT_M021', 'De tabel of kolom bestaan niet.');
DEF_FAC_MESSAGE ('ATT_M022', 'Het attribuut wordt gebruikt.');
#ifdef INS
// Evt. ACADSYMBOL toegevoegd als deze niet bestaat
ALTER TABLE ins_srtdeel
ADD
{
ins_srtdeel_acadsymbol
VARCHAR2(8)
};
PROMPT Als INS_SRTDEEL_ACADSYMBOL een ORA-error geeft bestaat deze al
PROMPT Dan moet de error genegeerd worden.
ALTER TABLE ins_srtdeel
ADD
{
ins_srtdeel_acad_tagvalue /* TAGVALUE vanuit ACAD */
VARCHAR2(30)
};
ALTER TABLE ins_srtdeel
ADD
UNIQUE(ins_srtdeel_acadsymbol, ins_srtdeel_acad_tagvalue, ins_srtdeel_verwijder);
#ifdef ATT
CREATE PROCEDURE INS_P_INS_CHECK_ATTRIBUTE(FacKolom IN CHAR,
SrtdeelKey IN NUMBER,
AttributeKey IN NUMBER) AS
AttributeType ins_attribute.ins_attribute_type%TYPE;
FormatMask VARCHAR2(100);
MaxLengte ins_attribute.ins_attribute_length%TYPE;
WareLengte NUMBER(10);
Verplicht ins_attribute.ins_attribute_required%TYPE;
MinWaarde ins_attribute.ins_attribute_min%TYPE;
MaxWaarde ins_attribute.ins_attribute_max%TYPE;
DecWaarde ins_attribute.ins_attribute_dec%TYPE;
WareWaarde NUMBER(10);
CharWaarde VARCHAR2(50);
BEGIN
BEGIN
SELECT ins_attribute_type,
ins_attribute_length,
ins_attribute_required,
ins_attribute_min,
ins_attribute_max,
ins_attribute_dec
INTO AttributeType,
MaxLengte,
Verplicht,
MinWaarde,
MaxWaarde,
DecWaarde
FROM ins_v_attribute_gegevens
WHERE ins_srtdeel_key = SrtdeelKey
AND ins_attribute_key = AttributeKey;
EXCEPTION
/* Blijkbaar is het attribuutniet meer aanwezig */
WHEN NO_DATA_FOUND
THEN RETURN;
END;
/* Kijk of de waarde is ingevuld. */
IF FacKolom IS NULL
THEN
/* Bij Verplicht een error geven, verder hoeft er
* niet gevontroleerd te worden.
*/
IF Verplicht = 1
THEN
APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)||
TO_CHAR(SrtdeelKey)||'att_m008');
ELSE
RETURN;
END IF;
END IF;
/* Controleer de ingevulde NUMBER-waarde */
IF AttributeType = 'N'
THEN
BEGIN
/* Hier moet het number_format gecheckt worden */
WareWaarde := TO_NUMBER(FacKolom);
/* De waarde is te klein of te groot */
IF WareWaarde < MinWaarde OR WareWaarde > MaxWaarde
THEN
APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)||
TO_CHAR(SrtdeelKey)||'att_m009');
ELSE
/* Controleer het FormatMask */
IF NVL(DecWaarde, 0) = 0
THEN
FormatMask := RPAD('9', MaxLengte, '9');
ELSE
FormatMask := RPAD('9', MaxLengte - DecWaarde, '9')||
'D'||RPAD('9', DecWaarde, '9');
END IF;
CharWaarde := LTRIM(TO_CHAR(WareWaarde, FormatMask));
IF INSTR(CharWaarde, '#') <> 0
THEN
APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)||
TO_CHAR(SrtdeelKey)||'att_m010');
END IF;
END IF;
EXCEPTION
WHEN others
THEN
APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)||
TO_CHAR(SrtdeelKey)||'att_m010');
END;
/* Controleer de ingevulde CHAR-waarde */
ELSIF AttributeType = 'C'
THEN
WareLengte := LENGTH(FacKolom);
IF NVL(WareLengte, 0) > NVL(MaxLengte, 0)
THEN
APPLICATION_ERROR(-20004, TO_CHAR(AttributeKey)||
TO_CHAR(SrtdeelKey)||'att_m011');
END IF;
/* Referenties worden (kunnen) niet gecontroleerd (worden)
ELSIF AttributeType = 'R'
THEN */
END IF;
END;
/
#endif // ATT
CREATE OR REPLACE TRIGGER ins_t_ins_deel_B_IU
BEFORE INSERT OR UPDATE ON ins_deel
FOR EACH ROW
BEGIN
LOG('Begin INS_T_INS_DEEL_B_IU');
UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys);
UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper);
SET_VERWIJDER_CHILDREN(ins_onderdeel, ins_deel_key, ins_deel_verwijder,
ins_onderdeel_verwijder);
/* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn
* en wel met ruimte, verdieping, gebouw of terreinsector.
* Daarvoor moet ook het INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn
* (met 'R' of 'V' of 'G' of 'T').
* Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een
* nieuw record geinsert wordt.
*
*
* IN INV-mode hoeft INS_ALG_RUIMTE_KEY niet ingevuld te zijn, maar
* als deze ingevuld is moet INS_ALG_RUIMTE_KEY met ruimte of werkplek
* gevuld zijn, daarvoor moet het veld INS_ALG_RUITMTE_KEY goed
* ingevuld zijn (met 'R' of 'W').
*
* IN INV-mode kan het veld INS_PRS_BEZIT_KEY ook ingevuld zijn, maar
* INS_ALG_RUIMTE_KEY en INS_PRS_BEZIT_KEY kunnen niet beide ingevuld worden.
* INS_PRS_BEZIT_KEY kan de waarde perslid of afdeling bevatten en het
* veld INS_PRS_BEZIT_TYPE moet dan goed ingevuld zijn (met 'P' of 'A').
* AH 05-06-96 Nu kunnen biede velden ingevuld zijn.
*/
IF :new.ins_deel_module = 'INS'
AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
OR :old.ins_alg_ruimte_key IS NULL)
THEN
IF :new.ins_alg_ruimte_type = 'R'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key,
:new.ins_alg_ruimte_key, 'ins_m092');
ELSIF :new.ins_alg_ruimte_type = 'V'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigverdieping, alg_verdieping_key,
:new.ins_alg_ruimte_key, 'ins_m093');
ELSIF :new.ins_alg_ruimte_type = 'G'
THEN
CHECK_KEY_REFERENCE(alg_v_aanweziggebouw, alg_gebouw_key,
:new.ins_alg_ruimte_key, 'ins_m094');
ELSIF :new.ins_alg_ruimte_type = 'T'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigterreinsector, alg_terreinsector_key,
:new.ins_alg_ruimte_key, 'ins_m095');
ELSE
APPLICATION_ERROR(-20000, 'ins_m84');
END IF;
IF NOT :old.ins_alg_ruimte_key IS NULL
THEN
/* Als er 'geplaatste' onderdelen bij dit deel horen, dan mag het
* deel neit verplaatst worden.
*/
DECLARE
dummy CHAR;
BEGIN
SELECT 'X'
INTO dummy
FROM ins_v_aanwezigonderdeel INS_O
WHERE INS_O.ins_deel_key = :new.ins_deel_key
AND INS_O.ins_alg_onroerendgoed_key IS NOT NULL;
APPLICATION_ERROR(-20000, 'ins_m100');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN APPLICATION_ERROR(-20000, 'ins_m100');
END;
/*
UPDATE ins_onderdeel
SET ins_alg_onroerendgoed_key = NULL
WHERE ins_deel_key = :new.ins_deel_key;
*/
END IF;
#ifdef INV
ELSIF :new.ins_deel_module = 'INV'
AND ((:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
OR :old.ins_alg_ruimte_key IS NULL)
OR (:old.ins_prs_bezit_key <> :new.ins_prs_bezit_key
OR :old.ins_prs_bezit_key IS NULL))
THEN
// IF :new.ins_alg_ruimte_key IS NOT NULL
// AND :new.ins_prs_bezit_key IS NOT NULL
// THEN
// APPLICATION_ERROR(-20000, 'ins_m85');
IF :new.ins_alg_ruimte_key IS NOT NULL
THEN
IF :new.ins_alg_ruimte_type = 'R'
THEN
CHECK_KEY_REFERENCE(alg_v_aanwezigruimte, alg_ruimte_key,
:new.ins_alg_ruimte_key, 'ins_m88');
ELSIF :new.ins_alg_ruimte_type = 'W'
THEN
CHECK_KEY_REFERENCE(all_v_aanwezigwerkplek, prs_werkplek_key,
:new.ins_alg_ruimte_key, 'ins_m88');
// 14-01-97 Koppelen aan Locatie is nu niet meer mogelijk
// ELSIF :new.ins_alg_ruimte_type = 'L'
// THEN
// CHECK_KEY_REFERENCE(alg_v_aanweziglocatie, alg_locatie_key,
// :new.ins_alg_ruimte_key, 'ins_m88');
ELSE
APPLICATION_ERROR(-20000, 'ins_m84');
END IF;
END IF;
IF :new.ins_prs_bezit_key IS NOT NULL
THEN
IF :new.ins_prs_bezit_type = 'P'
THEN
CHECK_KEY_REFERENCE(all_v_aanwezigperslid, prs_perslid_key,
:new.ins_prs_bezit_key, 'ins_m86');
ELSIF :new.ins_prs_bezit_type = 'A'
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigafdeling, prs_afdeling_key,
:new.ins_prs_bezit_key, 'ins_m86');
ELSE
APPLICATION_ERROR(-20000, 'ins_m86');
END IF;
END IF;
#endif
END IF;
#ifdef INV
/* Als een INS_DEEL in INV-mode (red. een artikel) verwijderd, gekoppeld,
* ontkoppeld of verplaatst wordt van een ruimte of een werkplek,
* dan is de bijbehorende verdieping-tekening niet meer up to date en
* moet dus het INV_DWGUPTODATE-veld gezet worden.
*
* Als in INV-mode het INS_DEEL van INS_SRTDEEL veranderd,
* moet in het geval dit INS_SRTDEEL een ander ACADSYMBOL heeft
* het INV_DWGUPTODATE-veld van de verdiepingtekening ook gezet worden.
*/
IF :new.ins_deel_module = 'INV'
THEN
/* Verwijderen */
IF :new.ins_deel_verwijder IS NOT NULL
/* Koppelen */
OR (:old.ins_alg_ruimte_key IS NULL
AND :new.ins_alg_ruimte_key IS NOT NULL)
/* Ontkoppelen */
OR (:old.ins_alg_ruimte_key IS NOT NULL
AND :new.ins_alg_ruimte_key IS NULL)
/* Verplaatsen */
OR (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key)
/* Van INS_SRTDEEL veranderen.
* ACADSYMBOL is hierin nog niet verwerkt.
*/
OR (:old.ins_srtdeel_key <> :new.ins_srtdeel_key)
THEN
/* Voor de oude INS_ALG_RUIMTE_KEY */
IF :old.ins_alg_ruimte_type = 'R'
AND :old.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM alg_ruimte ALG_R
WHERE ALG_R.alg_ruimte_key = :old.ins_alg_ruimte_key),
inv_dwguptodate);
ELSIF :old.ins_alg_ruimte_type = 'W'
AND :old.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM prs_v_aanwezigwerkplek PRS_W,
alg_ruimte ALG_R
WHERE PRS_W.prs_werkplek_key = :old.ins_alg_ruimte_key
AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key),
inv_dwguptodate);
END IF;
/* Voor de nieuwe INS_ALG_RUIMTE_KEY*/
IF :new.ins_alg_ruimte_type = 'R'
AND :new.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM alg_ruimte ALG_R
WHERE ALG_R.alg_ruimte_key = :new.ins_alg_ruimte_key),
inv_dwguptodate);
ELSIF :new.ins_alg_ruimte_type = 'W'
AND :new.ins_alg_ruimte_key IS NOT NULL
THEN
SET_DWGUPTODATE(alg_verdieping, alg_verdieping_key,
(SELECT ALG_R.alg_verdieping_key
FROM prs_v_aanwezigwerkplek PRS_W,
alg_ruimte ALG_R
WHERE PRS_W.prs_werkplek_key = :new.ins_alg_ruimte_key
AND ALG_R.alg_ruimte_key = PRS_W.prs_alg_ruimte_key),
inv_dwguptodate);
END IF;
END IF;
END IF;
#endif // INV
#ifdef ATT
/* Gedeelte t.b.v. eventuele attributen */
DECLARE
nAttribs NUMBER(10);
BEGIN
/* Controleer eerst of er uberhaupt attributen zijn
* bij dit Srtdeel.
*/
SELECT count(*)
INTO nAttribs
FROM ins_v_attribute_gegevens
WHERE ins_srtdeel_key = :new.ins_srtdeel_key;
/* Attributen aanwezig
*/
IF nAttribs <> 0
THEN
CHECK_ATTRIBUTE(fac0, 0);
CHECK_ATTRIBUTE(fac1, 1);
CHECK_ATTRIBUTE(fac2, 2);
CHECK_ATTRIBUTE(fac3, 3);
CHECK_ATTRIBUTE(fac4, 4);
CHECK_ATTRIBUTE(fac5, 5);
CHECK_ATTRIBUTE(fac6, 6);
CHECK_ATTRIBUTE(fac7, 7);
CHECK_ATTRIBUTE(fac8, 8);
CHECK_ATTRIBUTE(fac9, 9);
END IF;
END;
#endif // ATT
LOG('Eind INS_T_INS_DEEL_B_IU');
END;
/
#ifdef ATT
CREATE TRIGGER ins_t_ins_attribute_D_B
BEFORE DELETE ON ins_attribute
FOR EACH ROW
BEGIN
IF :old.ins_srtinst_type = 'D'
THEN
CHECK_DISCIPLINE_ATT_VULLING(fac0, 0);
CHECK_DISCIPLINE_ATT_VULLING(fac1, 1);
CHECK_DISCIPLINE_ATT_VULLING(fac2, 2);
CHECK_DISCIPLINE_ATT_VULLING(fac3, 3);
CHECK_DISCIPLINE_ATT_VULLING(fac4, 4);
CHECK_DISCIPLINE_ATT_VULLING(fac5, 5);
CHECK_DISCIPLINE_ATT_VULLING(fac6, 6);
CHECK_DISCIPLINE_ATT_VULLING(fac7, 7);
CHECK_DISCIPLINE_ATT_VULLING(fac8, 8);
CHECK_DISCIPLINE_ATT_VULLING(fac9, 9);
ELSIF :old.ins_srtinst_type = 'G'
THEN
CHECK_SRTGROEP_ATT_VULLING(fac0, 0);
CHECK_SRTGROEP_ATT_VULLING(fac1, 1);
CHECK_SRTGROEP_ATT_VULLING(fac2, 2);
CHECK_SRTGROEP_ATT_VULLING(fac3, 3);
CHECK_SRTGROEP_ATT_VULLING(fac4, 4);
CHECK_SRTGROEP_ATT_VULLING(fac5, 5);
CHECK_SRTGROEP_ATT_VULLING(fac6, 6);
CHECK_SRTGROEP_ATT_VULLING(fac7, 7);
CHECK_SRTGROEP_ATT_VULLING(fac8, 8);
CHECK_SRTGROEP_ATT_VULLING(fac9, 9);
ELSIF :old.ins_srtinst_type = 'S'
THEN
CHECK_SRTDEEL_ATT_VULLING(fac0, 0);
CHECK_SRTDEEL_ATT_VULLING(fac1, 1);
CHECK_SRTDEEL_ATT_VULLING(fac2, 2);
CHECK_SRTDEEL_ATT_VULLING(fac3, 3);
CHECK_SRTDEEL_ATT_VULLING(fac4, 4);
CHECK_SRTDEEL_ATT_VULLING(fac5, 5);
CHECK_SRTDEEL_ATT_VULLING(fac6, 6);
CHECK_SRTDEEL_ATT_VULLING(fac7, 7);
CHECK_SRTDEEL_ATT_VULLING(fac8, 8);
CHECK_SRTDEEL_ATT_VULLING(fac9, 9);
END IF;
END;
/
CREATE_VIEW(ins_v_attribute_gegevens, BIBLIOTHEEK_PRIVILEGE)
(ins_discipline_key,
ins_srtgroep_key,
ins_srtdeel_key,
ins_srtinst_type,
ins_attribute_volgorde,
ins_attribute_key,
ins_attribute_main_key,
ins_attribute_label,
ins_attribute_type,
ins_attribute_length,
ins_attribute_required,
ins_attribute_min,
ins_attribute_max,
ins_attribute_dec,
ins_attribute_table,
ins_attribute_column,
ins_attribute_column_txt,
ins_attribute_unit,
ins_attribute_toonbaar) AS
SELECT INS_H.ins_discipline_key,
INS_H.ins_srtgroep_key,
INS_H.ins_srtdeel_key,
INS_A.ins_srtinst_type,
INS_A.ins_attribute_volgorde,
INS_A.ins_attribute_key,
INS_A.ins_attribute_main_key,
INS_A.ins_attribute_label,
INS_A.ins_attribute_type,
INS_A.ins_attribute_length,
INS_A.ins_attribute_required,
INS_A.ins_attribute_min,
INS_A.ins_attribute_max,
INS_A.ins_attribute_dec,
INS_A.ins_attribute_table,
INS_A.ins_attribute_column,
INS_A.ins_attribute_column_txt,
INS_A.ins_attribute_unit,
INS_A.ins_attribute_toonbaar
FROM ins_attribute INS_A,
ins_v_attr_hulp INS_H
WHERE INS_A.ins_attribute_main_key = ins_H.ins_attribute_main_key;
#endif // ATT
#endif // INS
DEF_FAC_FORM('INS126', NULL, NULL ,'171260','INS_INS126','Mutatiescherm Deel (met ATT)');
DEF_FAC_FORM('INS024', NULL, NULL ,'170240','INS_INS024','Selectie Deel met attributen');
DEF_FAC_FORM('INS025', NULL, NULL ,'170250','INS_INS025','Importeren Deel via ACAD');
DEF_FAC_FORM('INS026', NULL, NULL ,'170260','INS_INS026','Corrigeren Import Deel ');
DEF_FAC_ENTITY ('INS_DEEL_OPHEFFEN', 'Opheffen', NULL, NULL);
DEF_FAC_ENTITY ('INS_DEEL_COUNT', 'Aantal', NULL, NULL);
DEF_FAC_ENTITY ('INS_IMPORT_RECORD', 'Te importeren', NULL, NULL);
DEF_FAC_ENTITY ('INS_IMPORT_INVUL', 'Nieuw', NULL, NULL);
DEF_FAC_ENTITY ('INS_DEEL_FCLT', 'Database', NULL, NULL);
DEF_FAC_ENTITY ('INS_DEEL_ACAD', 'Tekening', NULL, NULL);
DEF_FAC_ENTITY ('INS_DEEL_VERSCHIL', 'Verschil', NULL, NULL);
DEF_FAC_MESSAGE ('INS_M119', 'Deel (BEPERKT MET SELECTIE)');
DEF_FAC_MESSAGE ('INS_M120', 'Een of meerdere waardes zijn niet goed geformuleerd');
DEF_FAC_MESSAGE ('INS_M121', 'Aantal geselecteerrde records: %1%');
DEF_FAC_MESSAGE ('INS_M122', 'Niet alle gegevens zijn goed geimporteerd. Wilt u toch afsluiten?');
DEF_FAC_MESSAGE ('INS_M123', 'Import Deel');
DEF_FAC_MESSAGE ('INS_M124', 'De som van de ingevulde aantallen komt niet overeen met het totaal.');
DEF_FAC_MESSAGE ('INS_M125', 'Alleen importgegevens printen');
DEF_FAC_MESSAGE ('INS_M126', 'Importgegevens');
DEF_FAC_MESSAGE ('INS_M127', 'Doorgaan met importeren.');
DEF_FAC_MESSAGE ('INS_M128', 'Resultaat van import:');
DEF_FAC_MESSAGE ('INS_M129', ' - %1% delen toegevoegd.');
DEF_FAC_MESSAGE ('INS_M130', ' - %1% delen gewijzigd.');
DEF_FAC_MESSAGE ('INS_M131', ' - %1% delen verwijderd.');
DEF_FAC_MESSAGE ('INS_M132', ' - %1% fouten gevonden.');
DEF_FAC_MESSAGE ('INS_M133', 'Te verwijderen delen');
DEF_FAC_MESSAGE ('INS_M134', 'Toe te voegen of te wijzigen delen');
DEF_FAC_MESSAGE ('INS_M135', 'Er zijn nog te importeren gegevens over.');
DEF_FAC_MESSAGE ('INS_M136', 'Niet herkende importgegevens');
DEF_FAC_MESSAGE ('INS_M137', 'Geen bestaande deelgegevens verwijderen');
#ifdef INS
CREATE_TABLE(ins_import, BASIS_PRIVILEGE)
(
ins_import_key
NUMBER(10)
PRIMARY KEY,
alg_ruimte_acadkey
VARCHAR2(10),
ins_srtdeel_acadsymbol
VARCHAR2(8),
ins_srtdeel_acad_tagvalue
VARCHAR2(30)
);
CREATE SEQUENCE ins_s_ins_import_key MINVALUE 1;
CREATE_VIEW(ins_v_deel_gegevens,NORMAAL_PRIVILEGE)
(
ins_discipline_key, ins_discipline_omschrijving,
ins_srtgroep_key, ins_srtgroep_omschrijving, ins_srtgroep_upper,
ins_srtdeel_key, ins_srtdeel_omschrijving, ins_srtdeel_upper,
alg_locatie_key, alg_gebouw_key, alg_gebouw_omschrijving, alg_gebouw_upper,
alg_verdieping_key, alg_verdieping_omschrijving, alg_verdieping_upper,
alg_verdieping_volgnr,
alg_ruimte_key, alg_ruimte_nr, alg_ruimte_upper_nr,
alg_terreinsector_key, alg_terreinsector_omschrijving, alg_terreinsector_upper,
ins_deel_key, ins_deel_omschrijving, ins_deel_upper, ins_deel_aantal,
ins_deel_fabrikaat, ins_deel_type, ins_deel_serienr, ins_deel_bouwjaar,
ins_deel_capaciteit, ins_deel_prijs, ins_deel_levensduur, ins_deel_opmerking,
fac0, fac1, fac2, fac3, fac4, fac5, fac6, fac7, fac8, fac9
)
AS
SELECT ins_D.ins_discipline_key, ins_D.ins_discipline_omschrijving,
ins_SG.ins_srtgroep_key, ins_SG.ins_srtgroep_omschrijving, ins_SG.ins_srtgroep_upper,
ins_SD.ins_srtdeel_key, ins_SD.ins_srtdeel_omschrijving, ins_SD.ins_srtdeel_upper,
INS_AO.alg_locatie_key, INS_AO.alg_gebouw_key, INS_AO.alg_gebouw_omschrijving, INS_AO.alg_gebouw_upper,
INS_AO.alg_verdieping_key, INS_AO.alg_verdieping_omschrijving, INS_AO.alg_verdieping_upper,
INS_AO.alg_verdieping_volgnr,
INS_AO.alg_ruimte_key, INS_AO.alg_ruimte_nr, INS_AO.alg_ruimte_upper_nr,
INS_AO.alg_terreinsector_key, INS_AO.alg_terreinsector_omschrijving, INS_AO.alg_terreinsector_upper,
ins_DE.ins_deel_key, ins_DE.ins_deel_omschrijving, ins_DE.ins_deel_upper, ins_DE.ins_deel_aantal,
ins_DE.ins_deel_fabrikaat, ins_DE.ins_deel_type, ins_DE.ins_deel_serienr,ins_DE.ins_deel_bouwjaar,
ins_DE.ins_deel_capaciteit, ins_DE.ins_deel_prijs, ins_DE.ins_deel_levensduur, ins_DE.ins_deel_opmerking,
INS_DE.fac0, INS_DE.fac1, INS_DE.fac2, INS_DE.fac3, INS_DE.fac4,
INS_DE.fac5, INS_DE.fac6, INS_DE.fac7, INS_DE.fac8, INS_DE.fac9
FROM ins_v_aanwezigdiscipline ins_D, ins_v_aanwezigsrtgroep ins_SG,
ins_v_aanwezigsrtdeel ins_SD, ins_v_alg_overzicht INS_AO,
ins_v_aanwezigdeel ins_DE
WHERE
INS_AO.alg_onroerendgoed_keys = ins_DE.ins_alg_ruimte_key AND
ins_SD.ins_srtdeel_key = ins_DE.ins_srtdeel_key AND
ins_SG.ins_srtgroep_key = ins_SD.ins_srtgroep_key AND
ins_D.ins_discipline_key = ins_SG.ins_discipline_key;
CREATE_VIEW(ins_v_ins_import_deel, BASIS_PRIVILEGE)
AS
SELECT INS_D.ins_deel_key,
INS_D.ins_deel_omschrijving,
INS_D.ins_deel_upper,
INS_D.ins_deel_aantal,
INS_D.ins_alg_ruimte_key,
INS_SD.ins_srtdeel_key,
INS_SD.ins_srtdeel_omschrijving,
INS_SD.ins_srtdeel_upper
FROM ins_v_aanwezigdeel INS_D, ins_srtdeel INS_SD
WHERE INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key
UNION
SELECT TO_NUMBER(NULL),
INS_SD.ins_srtdeel_omschrijving,
INS_SD.ins_srtdeel_upper,
0,
-1,
INS_SD.ins_srtdeel_key,
INS_SD.ins_srtdeel_omschrijving,
INS_SD.ins_srtdeel_upper
FROM ins_v_aanwezigsrtdeel INS_SD
WHERE INS_SD.ins_srtdeel_upper NOT IN (SELECT INS_D.ins_deel_upper
FROM ins_v_aanwezigdeel INS_D
WHERE INS_D.ins_srtdeel_key = INS_SD.ins_srtdeel_key);
CREATE TRIGGER ins_t_ins_import_B_IU
BEFORE INSERT OR UPDATE ON ins_import
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(ins_import_key,ins_s_ins_import_key);
END;
/
#endif // INS
#ifdef HUI
CREATE OR REPLACE VIEW hui_v_ruimteboeking_gegevens
(hui_ruimteboeking_key,
alg_locatie_key,
alg_gebouw_key,
alg_gebouw_code,
alg_verdieping_key,
alg_verdieping_omschrijving,
alg_verdieping_volgnr,
alg_ruimte_key,
alg_ruimte_nr,
alg_ruimte_upper_nr,
alg_ruimte_omschrijving,
alg_srtruimte_key,
prs_huismeester_key,
prs_perslid_key,
prs_perslid_nr,
prs_perslid_naam,
hui_ruimteboeking_begindatum,
hui_ruimteboeking_einddatum) AS
SELECT HUI_R.hui_ruimteboeking_key,
ALG_G.alg_locatie_key,
ALG_G.alg_gebouw_key,
ALG_G.alg_gebouw_code,
ALG_V.alg_verdieping_key,
ALG_V.alg_verdieping_omschrijving,
ALG_V.alg_verdieping_volgnr,
ALG_R.alg_ruimte_key,
ALG_R.alg_ruimte_nr,
ALG_R.alg_ruimte_upper_nr,
ALG_R.alg_ruimte_omschrijving,
ALG_R.alg_srtruimte_key,
ALG_R.prs_huismeester_key,
PRS_P.prs_perslid_key,
PRS_P.prs_perslid_nr,
PRS_P.prs_perslid_naam||' '||PRS_P.prs_perslid_voorletters,
HUI_R.hui_ruimteboeking_begindatum,
HUI_R.hui_ruimteboeking_einddatum
FROM alg_gebouw ALG_G, alg_verdieping ALG_V, alg_v_aanwezigruimte ALG_R,
prs_perslid PRS_P, hui_ruimteboeking HUI_R
WHERE ALG_G.alg_gebouw_key = ALG_V.alg_gebouw_key
AND ALG_V.alg_verdieping_key = ALG_R.alg_verdieping_key
AND ALG_R.alg_ruimte_key = HUI_R.hui_alg_ruimte_key
AND PRS_P.prs_perslid_key = HUI_R.hui_prs_perslid_key;
CREATE OR REPLACE VIEW hui_v_aanwezighuismeester
AS
SELECT DISTINCT HUI_P.*
FROM hui_v_aanwezigperslid HUI_P, fac_gebruiker FAC_G
WHERE fac_module = 'HUI'
AND fac_tabel = 'PRS_PERSLID'
AND fac_kolom = 'PRS_PERSLID_KEY'
AND fac_key = HUI_P.prs_perslid_key;
#endif // HUI
DEF_FAC_MESSAGE ('HUI_M062', 'Reserveren/Aanmelden');
DEF_FAC_MESSAGE ('HUI_M063', 'Afmelden');
DEF_FAC_ENTITY ('LEV_BESTELLING_BTW', 'BTW-bedrag', 'BTW-bedragen', 'het');
DEF_FAC_ENTITY ('LEV_BESTELREGEL_TOTAAL', 'Bedrag', 'Bedragen', 'het');
#ifdef LEV
CREATE OR REPLACE PROCEDURE lev_p_bepaal_lev_bestelstatus( Bestelling IN NUMBER ) IS
CURSOR bestelregel_cursor IS SELECT lev_bestelregel_aantal,
lev_bestelregel_geleverd
FROM lev_bestelregel
WHERE lev_bestelling_key = Bestelling;
bestelregel_rec bestelregel_cursor%ROWTYPE;
new_bestelstatus lev_bestelling.lev_bestelstatus%TYPE;
ProjectBestelling lev_bestelling.lev_isprojectbestelling%TYPE;
Gebouw NUMBER(10);
BEGIN
-- Default is de bestelling 'Besteld'.
new_bestelstatus := NULL;
FOR bestelregel_rec IN bestelregel_cursor
LOOP
-- Als er geen geleverde artikelen zijn, dan is de bestelstatus:
-- 'Deels geleverd' als er andere regels wel geleverde artikelen hebben.
-- 'Besteld' als er geen andere regels geleverde artikelen hebben.
IF NVL(bestelregel_rec.lev_bestelregel_aantal, 0) <> 0
AND NVL(bestelregel_rec.lev_bestelregel_geleverd, 0) = 0
THEN
IF new_bestelstatus IS NULL
OR new_bestelstatus = 'B'
THEN
new_bestelstatus := 'B';
ELSE
new_bestelstatus := 'D';
EXIT;
END IF;
-- Als er wel geleverde artikelen zijn, maar niet allemaal, dan wordt de
-- bestelstatus 'Deels geleverd'.
ELSIF (NVL(bestelregel_rec.lev_bestelregel_aantal, 0) > 0
AND NVL(bestelregel_rec.lev_bestelregel_aantal, 0) >
NVL(bestelregel_rec.lev_bestelregel_geleverd, 0))
OR (NVL(bestelregel_rec.lev_bestelregel_aantal, 0) < 0
AND NVL(bestelregel_rec.lev_bestelregel_aantal, 0) <
NVL(bestelregel_rec.lev_bestelregel_geleverd, 0))
THEN
new_bestelstatus := 'D';
EXIT;
ELSIF NVL(bestelregel_rec.lev_bestelregel_aantal, 0) <> 0
AND NVL(bestelregel_rec.lev_bestelregel_aantal, 0) =
NVL(bestelregel_rec.lev_bestelregel_geleverd, 0)
THEN
IF new_bestelstatus IS NULL
OR new_bestelstatus = 'V'
THEN
new_bestelstatus := 'V';
ELSE
new_bestelstatus := 'D';
EXIT;
END IF;
END IF;
END LOOP;
IF NOT new_bestelstatus IS NULL
THEN
UPDATE lev_bestelling
SET lev_bestelstatus = new_bestelstatus
WHERE lev_bestelling_key = Bestelling;
IF new_bestelstatus ='V'
THEN
BEGIN
SELECT lev_isprojectbestelling,
lev_alg_gebouw_key
INTO ProjectBestelling,
Gebouw
FROM lev_bestelling
WHERE lev_bestelling_key = Bestelling;
EXCEPTION
WHEN NO_DATA_FOUND
THEN ProjectBestelling := NULL;
END;
IF NOT ProjectBestelling IS NULL
THEN
UPDATE alg_gebouw
SET lev_levering_datum = SYSDATE
WHERE alg_gebouw_key = Gebouw;
END IF;
END IF;
COMMIT;
END IF;
END;
/
PROMPT !!LET OP Nieuwe tabel-structuur van LEV_LEVERING/LEV_LEVERREGEL
PROMPT LEV_TOEWIJZING vervalt. Zie CREA_...
#endif //LEV
#ifdef LEV
DELETE FROM fac_form
WHERE fac_form_name IN ('LEV012','LEV115','LEV016');
DEF_FAC_FORM('LEV115', NULL, NULL ,'201150','LEV_LEV115','Afvoeren bestelde inventaris');
DEF_FAC_FORM('LEV016', NULL, 'MODULE' ,'200160','PRINT_LEV016','Printen afvoerlijst');
DEF_FAC_FORM('LEV016', NULL, 'MODULE' ,'200161','VERWERK_LEV016','Afwerken afvoerlijst');
#endif
DEF_FAC_MESSAGE ('LEV_M069', ' is het aantal geleverde artikelen niet goed.');
#ifdef HUI
DEF_FAC_MESSAGE ('LEV_M070', 'Afvoeren bestelde inventaris');
#else
DEF_FAC_MESSAGE ('LEV_M070', 'Afvoeren bestelde artikelen');
#endif
DEF_FAC_MESSAGE ('LEV_M071', 'Het totaal aantal is niet gelijk aan het af te voeren aantal.');
PROMPT Vergeet niet te committen!
SPOOL OFF